{"version":3,"sources":["../static/js/main.08f5d3d8.js","../webpack/bootstrap 4d033d1986c64d8577fb","../node_modules/tslib/tslib.es6.js","../node_modules/vega-dataflow/index.js","../node_modules/vega-lite/build/src/util.js","../node_modules/vega-lite/build/src/log.js","../node_modules/d3-scale-chromatic/src/colors.js","../node_modules/d3-geo/src/math.js","../node_modules/vega-lite/build/src/channel.js","../node_modules/vega-lite/build/src/fielddef.js","../node_modules/d3-scale-chromatic/src/ramp.js","../node_modules/vega-lite/build/src/scale.js","../node_modules/vega-parser/src/util.js","../node_modules/vega-lite/build/src/compile/data/dataflow.js","../node_modules/vega-parser/src/parsers/marks/roles.js","../node_modules/vega-lite/build/src/compile/model.js","../node_modules/vega-parser/src/parsers/encode/encode-util.js","../node_modules/vega-lite/build/src/mark.js","../node_modules/vega-lite/build/src/compile/selection/selection.js","../node_modules/d3-time/src/interval.js","../node_modules/vega-parser/src/parsers/guides/constants.js","../node_modules/vega-parser/src/parsers/marks/marktypes.js","../node_modules/vega-lite/build/src/compile/common.js","../node_modules/vega-lite/build/src/type.js","../node_modules/vega-parser/src/transforms.js","../node_modules/vega-parser/src/parsers/guides/guide-util.js","../node_modules/vega-lite/build/src/compile/split.js","../node_modules/vega-lite/build/src/encoding.js","../node_modules/vega-lite/build/src/vega.schema.js","../node_modules/d3-selection/src/selection/index.js","../node_modules/vega-parser/src/parsers/guides/guide-mark.js","../node_modules/vega-lite/build/src/compile/mark/mixins.js","../node_modules/d3-geo/src/projection/index.js","../node_modules/vega-lite/build/src/sort.js","../node_modules/d3-time/src/duration.js","../node_modules/vega-scenegraph/src/util/visit.js","../node_modules/vega-scenegraph/src/Bounds.js","../node_modules/vega-scenegraph/src/marks/index.js","../node_modules/vega-scenegraph/src/path/shapes.js","../node_modules/vega-scenegraph/src/util/canvas/pick.js","../node_modules/d3-geo/src/noop.js","../node_modules/vega-parser/src/parsers/expression.js","../node_modules/vega-lite/build/src/data.js","../node_modules/vega-statistics/src/random.js","../node_modules/d3-shape/src/constant.js","../node_modules/vega-scenegraph/src/bound/boundStroke.js","../node_modules/vega-scenegraph/src/util/dom.js","../node_modules/d3-scale/src/array.js","../node_modules/d3-geo/src/stream.js","../node_modules/vega-lite/build/src/compile/mark/valueref.js","../node_modules/d3-array/src/ascending.js","../node_modules/d3-scale/src/linear.js","../node_modules/d3-geo/src/adder.js","../node_modules/d3-force/src/constant.js","../node_modules/vega-lite/build/src/spec.js","../node_modules/vega-lite/build/src/compile/data/calculate.js","../node_modules/vega-util/src/accessor.js","../node_modules/vega-dataflow/src/util/UniqueList.js","../node_modules/vega-transforms/src/util/AggregateOps.js","../node_modules/d3-array/src/number.js","../node_modules/vega-view-transforms/src/constants.js","../node_modules/d3-shape/src/math.js","../node_modules/d3-shape/src/offset/none.js","../node_modules/d3-shape/src/order/none.js","../node_modules/vega-scenegraph/src/bound/boundContext.js","../node_modules/vega-encode/src/ticks.js","../node_modules/d3-interpolate/src/color.js","../node_modules/d3-geo/src/cartesian.js","../node_modules/d3-geo/src/projection/azimuthal.js","../node_modules/d3-hierarchy/src/treemap/dice.js","../node_modules/d3-voronoi/src/Diagram.js","../node_modules/vega-parser/src/DataScope.js","../node_modules/vega-runtime/src/expression.js","../node_modules/vega-lite/build/src/aggregate.js","../node_modules/vega-lite/build/src/bin.js","../node_modules/vega-lite/build/src/timeunit.js","../node_modules/vega-lite/build/src/predicate.js","../node_modules/vega-lite/build/src/compile/scale/domain.js","../node_modules/vega-lite/build/src/compile/layoutsize/parse.js","../node_modules/d3-selection/src/creator.js","../node_modules/d3-selection/src/point.js","../node_modules/vega-util/src/splitAccessPath.js","../node_modules/vega-util/src/stringValue.js","../node_modules/vega-dataflow/src/Operator.js","../node_modules/vega-dataflow/src/Pulse.js","../node_modules/d3-shape/src/curve/linear.js","../node_modules/d3-shape/src/noop.js","../node_modules/d3-shape/src/curve/basis.js","../node_modules/d3-shape/src/curve/cardinal.js","../node_modules/vega-scenegraph/src/path/parse.js","../node_modules/vega-scenegraph/src/util/canvas/draw.js","../node_modules/vega-scenegraph/src/util/canvas/stroke.js","../node_modules/vega-scenegraph/src/util/svg/translateItem.js","../node_modules/vega-scenegraph/src/util/svg/clip.js","../node_modules/vega-scenegraph/src/util/text.js","../node_modules/vega-scenegraph/src/Renderer.js","../node_modules/d3-interpolate/src/number.js","../node_modules/d3-scale/src/continuous.js","../node_modules/d3-format/src/exponent.js","../node_modules/d3-geo/src/rotation.js","../node_modules/d3-geo/src/clip/rectangle.js","../node_modules/d3-geo/src/transform.js","../node_modules/d3-hierarchy/src/treemap/slice.js","../node_modules/vega-hierarchy/src/HierarchyLayout.js","../node_modules/vega-view/src/render-size.js","../node_modules/vega-parser/src/parsers/spec.js","../node_modules/vega-parser/src/parsers/expression/scale.js","../node_modules/vega-parser/src/parsers/expression/prefixes.js","../node_modules/vega-parser/src/parsers/encode/entry.js","../node_modules/vega-parser/src/parsers/encode/expression.js","../node_modules/vega-parser/src/parsers/mark.js","../node_modules/vega-lite/build/src/compositemark/index.js","../node_modules/vega-lite/build/src/datetime.js","../node_modules/vega-lite/build/src/compile/buildmodel.js","../node_modules/vega-lite/build/src/compile/data/parse.js","../node_modules/vega-lite/build/src/compile/layoutsize/assemble.js","../node_modules/vega-lite/build/src/compile/resolve.js","../node_modules/vega-lite/build/src/compile/data/facet.js","../node_modules/vega-lite/build/src/compile/data/source.js","../node_modules/vega-lite/build/src/compile/data/timeunit.js","../node_modules/vega-lite/build/src/compile/selection/transforms/scales.js","../node_modules/object-assign/index.js","../node_modules/react/index.js","../node_modules/d3-selection/src/namespace.js","../node_modules/d3-selection/src/namespaces.js","../node_modules/d3-selection/src/selector.js","../node_modules/d3-selection/src/window.js","../node_modules/d3-selection/src/selection/on.js","../node_modules/d3-selection/src/sourceEvent.js","../node_modules/vega-util/src/isArray.js","../node_modules/vega-util/src/array.js","../node_modules/vega-util/src/isFunction.js","../node_modules/vega-dataflow/src/ChangeSet.js","../node_modules/vega-dataflow/src/Tuple.js","../node_modules/d3-dsv/src/dsv.js","../node_modules/topojson-client/src/transform.js","../node_modules/topojson-client/src/feature.js","../node_modules/d3-time-format/src/defaultLocale.js","../node_modules/vega-transforms/src/Aggregate.js","../node_modules/d3-array/src/quantile.js","../node_modules/d3-shape/src/line.js","../node_modules/d3-shape/src/point.js","../node_modules/d3-shape/src/curve/catmullRom.js","../node_modules/d3-shape/src/order/ascending.js","../node_modules/vega-scenegraph/src/path/render.js","../node_modules/vega-scenegraph/src/marks/markItemPath.js","../node_modules/vega-scenegraph/src/util/canvas/fill.js","../node_modules/vega-scenegraph/src/util/svg/translate.js","../node_modules/vega-scenegraph/src/util/pickPath.js","../node_modules/vega-scenegraph/src/marks/markMultiItemPath.js","../node_modules/vega-scenegraph/src/Handler.js","../node_modules/vega-scenegraph/src/util/point.js","../node_modules/vega-scenegraph/src/util/tags.js","../node_modules/vega-encode/src/scale-types.js","../node_modules/d3-collection/src/map.js","../node_modules/d3-interpolate/src/value.js","../node_modules/d3-color/src/color.js","../node_modules/d3-color/src/define.js","../node_modules/d3-interpolate/src/basis.js","../node_modules/d3-scale/src/constant.js","../node_modules/d3-format/src/formatDecimal.js","../node_modules/d3-geo/src/identity.js","../node_modules/d3-geo/src/projection/conicEqualArea.js","../node_modules/d3-geo/src/projection/conic.js","../node_modules/d3-geo/src/projection/fit.js","../node_modules/d3-geo/src/projection/mercator.js","../node_modules/d3-force/src/jiggle.js","../node_modules/d3-quadtree/src/quad.js","../node_modules/d3-timer/src/timer.js","../node_modules/d3-hierarchy/src/hierarchy/index.js","../node_modules/d3-hierarchy/src/accessors.js","../node_modules/d3-hierarchy/src/treemap/squarify.js","../node_modules/d3-voronoi/src/RedBlackTree.js","../node_modules/d3-voronoi/src/Edge.js","../node_modules/vega-view/src/render-headless.js","../node_modules/vega-parser/src/parsers/signal.js","../node_modules/vega-parser/src/parsers/expression/ast.js","../node_modules/vega-parser/src/parsers/expression/data.js","../node_modules/vega-parser/src/parsers/guides/guide-group.js","../node_modules/vega-parser/src/parsers/transform.js","../node_modules/vega-lite/build/src/logical.js","../node_modules/vega-lite/build/src/axis.js","../node_modules/vega-lite/build/src/legend.js","../node_modules/vega-lite/build/src/selection.js","../node_modules/vega-lite/build/src/stack.js","../node_modules/vega-lite/build/src/transform.js","../node_modules/vega-lite/build/src/compile/data/aggregate.js","../node_modules/vega-lite/build/src/compile/data/filterinvalid.js","../node_modules/vega-lite/build/src/compile/data/formatparse.js","../node_modules/vega-lite/build/src/compile/data/stack.js","../node_modules/vega-lite/build/src/compile/selection/interval.js","../node_modules/vega-lite/build/src/compile/selection/transforms/nearest.js","../node_modules/react-scripts/node_modules/promise/lib/core.js","../node_modules/webpack/buildin/global.js","../node_modules/fbjs/lib/invariant.js","../node_modules/fbjs/lib/emptyObject.js","../node_modules/fbjs/lib/emptyFunction.js","../node_modules/d3-selection/src/select.js","../node_modules/d3-selection/src/selectorAll.js","../node_modules/d3-selection/src/matcher.js","../node_modules/d3-selection/src/selection/enter.js","../node_modules/d3-selection/src/selection/sparse.js","../node_modules/d3-selection/src/selection/style.js","../node_modules/vega-util/src/accessors.js","../node_modules/vega-util/src/field.js","../node_modules/vega-util/src/error.js","../node_modules/vega-util/src/isObject.js","../node_modules/vega-util/src/isString.js","../node_modules/vega-util/src/peek.js","../node_modules/vega-util/src/toNumber.js","../node_modules/vega-util/src/isDate.js","../node_modules/vega-util/src/isNumber.js","../node_modules/vega-util/src/repeat.js","../node_modules/vega-dataflow/src/Parameters.js","../node_modules/vega-dataflow/src/EventStream.js","../node_modules/vega-loader/src/type.js","../node_modules/vega-loader/src/formats/index.js","../node_modules/vega-loader/src/formats/json.js","../node_modules/topojson-client/src/bbox.js","../node_modules/topojson-client/src/identity.js","../node_modules/topojson-client/src/stitch.js","../node_modules/topojson-client/src/untransform.js","../node_modules/d3-time-format/src/locale.js","../node_modules/d3-time-format/src/isoFormat.js","../node_modules/vega-dataflow/src/MultiPulse.js","../node_modules/vega-transforms/src/util/AggregateKeys.js","../node_modules/vega-transforms/src/util/TupleStore.js","../node_modules/vega-statistics/src/numbers.js","../node_modules/d3-array/src/bisect.js","../node_modules/d3-array/src/bisector.js","../node_modules/d3-array/src/pairs.js","../node_modules/d3-array/src/deviation.js","../node_modules/d3-array/src/variance.js","../node_modules/d3-array/src/extent.js","../node_modules/d3-array/src/array.js","../node_modules/d3-array/src/range.js","../node_modules/d3-array/src/ticks.js","../node_modules/d3-array/src/threshold/sturges.js","../node_modules/d3-array/src/min.js","../node_modules/d3-array/src/transpose.js","../node_modules/vega-statistics/src/quartiles.js","../node_modules/vega-statistics/src/normal.js","../node_modules/vega-transforms/src/util/SortedList.js","../node_modules/vega-transforms/src/Facet.js","../node_modules/vega-transforms/src/Subflow.js","../node_modules/vega-transforms/src/util/util.js","../node_modules/vega-transforms/src/util/WindowOps.js","../node_modules/vega-scenegraph/src/GroupItem.js","../node_modules/vega-scenegraph/src/Item.js","../node_modules/vega-scenegraph/src/ResourceLoader.js","../node_modules/vega-scenegraph/src/util/serialize.js","../node_modules/vega-scenegraph/src/bound/boundMark.js","../node_modules/vega-scenegraph/src/bound/boundItem.js","../node_modules/vega-scenegraph/src/path/curves.js","../node_modules/d3-shape/src/area.js","../node_modules/d3-shape/src/curve/radial.js","../node_modules/d3-shape/src/lineRadial.js","../node_modules/d3-shape/src/pointRadial.js","../node_modules/d3-shape/src/array.js","../node_modules/d3-shape/src/symbol/circle.js","../node_modules/d3-shape/src/symbol/cross.js","../node_modules/d3-shape/src/symbol/diamond.js","../node_modules/d3-shape/src/symbol/star.js","../node_modules/d3-shape/src/symbol/square.js","../node_modules/d3-shape/src/symbol/triangle.js","../node_modules/d3-shape/src/symbol/wye.js","../node_modules/d3-shape/src/curve/cardinalClosed.js","../node_modules/d3-shape/src/curve/cardinalOpen.js","../node_modules/vega-scenegraph/src/path/symbols.js","../node_modules/vega-scenegraph/src/path/rectangle.js","../node_modules/vega-scenegraph/src/path/trail.js","../node_modules/vega-scenegraph/src/util/canvas/color.js","../node_modules/vega-scenegraph/src/CanvasHandler.js","../node_modules/vega-scenegraph/src/util/events.js","../node_modules/vega-scenegraph/src/CanvasRenderer.js","../node_modules/vega-scenegraph/src/SVGHandler.js","../node_modules/vega-scenegraph/src/SVGRenderer.js","../node_modules/vega-scenegraph/src/util/svg/metadata.js","../node_modules/vega-scenegraph/src/util/svg/styles.js","../node_modules/vega-scenegraph/src/SVGStringRenderer.js","../node_modules/vega-scale/src/bandSpace.js","../node_modules/d3-scale/src/ordinal.js","../node_modules/d3-color/src/math.js","../node_modules/d3-interpolate/src/rgb.js","../node_modules/d3-interpolate/src/basisClosed.js","../node_modules/d3-interpolate/src/constant.js","../node_modules/d3-interpolate/src/array.js","../node_modules/d3-interpolate/src/date.js","../node_modules/d3-interpolate/src/object.js","../node_modules/d3-interpolate/src/string.js","../node_modules/d3-scale/src/number.js","../node_modules/d3-format/src/locale.js","../node_modules/d3-format/src/formatSpecifier.js","../node_modules/d3-format/src/formatPrefixAuto.js","../node_modules/d3-scale/src/nice.js","../node_modules/d3-scale/src/time.js","../node_modules/vega-encode/src/legend-types.js","../node_modules/d3-contour/src/contours.js","../node_modules/d3-contour/src/array.js","../node_modules/d3-contour/src/constant.js","../node_modules/vega-geo/src/constants.js","../node_modules/d3-geo/src/area.js","../node_modules/d3-geo/src/circle.js","../node_modules/d3-geo/src/compose.js","../node_modules/d3-geo/src/clip/antimeridian.js","../node_modules/d3-geo/src/clip/index.js","../node_modules/d3-geo/src/clip/buffer.js","../node_modules/d3-geo/src/clip/rejoin.js","../node_modules/d3-geo/src/pointEqual.js","../node_modules/d3-geo/src/polygonContains.js","../node_modules/d3-geo/src/clip/circle.js","../node_modules/d3-geo/src/distance.js","../node_modules/d3-geo/src/length.js","../node_modules/d3-geo/src/path/bounds.js","../node_modules/d3-geo/src/projection/albers.js","../node_modules/d3-geo/src/projection/equirectangular.js","../node_modules/d3-force/src/simulation.js","../node_modules/vega-hierarchy/src/lookup.js","../node_modules/d3-hierarchy/src/pack/siblings.js","../node_modules/d3-hierarchy/src/pack/enclose.js","../node_modules/d3-hierarchy/src/constant.js","../node_modules/d3-hierarchy/src/treemap/round.js","../node_modules/d3-voronoi/src/Cell.js","../node_modules/d3-voronoi/src/Circle.js","../node_modules/vega-crossfilter/src/arrays.js","../node_modules/vega-view/src/element.js","../node_modules/vega-view/src/initialize-renderer.js","../node_modules/vega-view/src/trap.js","../node_modules/vega-parser/src/parsers/signal-updates.js","../node_modules/vega-parser/src/parsers/expression/codegen.js","../node_modules/vega-expression/src/ast.js","../node_modules/vega-expression/src/constants.js","../node_modules/vega-expression/src/functions.js","../node_modules/vega-parser/src/parsers/expression/arrays.js","../node_modules/vega-parser/src/parsers/stream.js","../node_modules/vega-parser/src/parsers/scale.js","../node_modules/vega-parser/src/parsers/encode/field.js","../node_modules/vega-parser/src/parsers/encode/scale.js","../node_modules/vega-parser/src/parsers/encode/set.js","../node_modules/vega-parser/src/parsers/marks/role.js","../node_modules/vega-parser/src/parsers/marks/data.js","../node_modules/vega-parser/src/parsers/trigger.js","../node_modules/vega-parser/src/Scope.js","../node_modules/vega-parser/src/config.js","../node_modules/vega-runtime/src/dataflow.js","../node_modules/vega-runtime/src/parameters.js","../node_modules/vega-runtime/src/util.js","../node_modules/vega-lite/build/src/compositemark/boxplot.js","../node_modules/vega-lite/build/src/config.js","../node_modules/vega-lite/build/src/title.js","../node_modules/vega-lite/build/src/toplevelprops.js","../node_modules/vega-lite/build/src/compile/baseconcat.js","../node_modules/vega-lite/build/src/compile/axis/assemble.js","../node_modules/vega-lite/build/src/compile/header/index.js","../node_modules/vega-lite/build/src/header.js","../node_modules/vega-lite/build/src/compile/legend/assemble.js","../node_modules/vega-lite/build/src/compile/legend/parse.js","../node_modules/vega-lite/build/src/compile/data/optimize.js","../node_modules/vega-lite/build/src/compile/scale/properties.js","../node_modules/vega-lite/build/src/compile/scale/range.js","../node_modules/vega-lite/build/src/compile/selection/multi.js","../node_modules/vega-lite/build/src/compile/data/bin.js","../node_modules/vega-lite/build/src/compile/data/filter.js","../node_modules/vega-lite/build/src/compile/data/geojson.js","../node_modules/vega-lite/build/src/compile/data/geopoint.js","../node_modules/vega-lite/build/src/compile/data/identifier.js","../node_modules/vega-lite/build/src/compile/data/lookup.js","../node_modules/vega-lite/build/src/compile/data/window.js","../node_modules/vega-lite/build/src/compile/facet.js","../node_modules/vega-lite/build/src/compile/data/assemble.js","../node_modules/vega-lite/build/src/compile/repeater.js","../node_modules/vega-lite/build/src/compile/axis/parse.js","../node_modules/vega-lite/build/src/compile/axis/config.js","../node_modules/vega-lite/build/src/compile/unit.js","../node_modules/vega-tooltip/build/Handler.js","../node_modules/vega-tooltip/build/defaults.js","../node_modules/vega-tooltip/build/formatValue.js","../node_modules/vega-tooltip/build/position.js","../node_modules/react-scripts/config/polyfills.js","../node_modules/react-scripts/node_modules/promise/lib/rejection-tracking.js","../node_modules/asap/browser-raw.js","../node_modules/react-scripts/node_modules/promise/lib/es6-extensions.js","../node_modules/react-scripts/node_modules/whatwg-fetch/fetch.js","index.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react-dom/index.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/fbjs/lib/ExecutionEnvironment.js","../node_modules/fbjs/lib/getActiveElement.js","../node_modules/fbjs/lib/shallowEqual.js","../node_modules/fbjs/lib/containsNode.js","../node_modules/fbjs/lib/isTextNode.js","../node_modules/fbjs/lib/isNode.js","DatasetteVega.js","../node_modules/vega-embed/build/src/embed.js","../node_modules/d3-selection/src/selection/select.js","../node_modules/d3-selection/src/selection/selectAll.js","../node_modules/d3-selection/src/selection/filter.js","../node_modules/d3-selection/src/selection/data.js","../node_modules/d3-selection/src/constant.js","../node_modules/d3-selection/src/selection/exit.js","../node_modules/d3-selection/src/selection/merge.js","../node_modules/d3-selection/src/selection/order.js","../node_modules/d3-selection/src/selection/sort.js","../node_modules/d3-selection/src/selection/call.js","../node_modules/d3-selection/src/selection/nodes.js","../node_modules/d3-selection/src/selection/node.js","../node_modules/d3-selection/src/selection/size.js","../node_modules/d3-selection/src/selection/empty.js","../node_modules/d3-selection/src/selection/each.js","../node_modules/d3-selection/src/selection/attr.js","../node_modules/d3-selection/src/selection/property.js","../node_modules/d3-selection/src/selection/classed.js","../node_modules/d3-selection/src/selection/text.js","../node_modules/d3-selection/src/selection/html.js","../node_modules/d3-selection/src/selection/raise.js","../node_modules/d3-selection/src/selection/lower.js","../node_modules/d3-selection/src/selection/append.js","../node_modules/d3-selection/src/selection/insert.js","../node_modules/d3-selection/src/selection/remove.js","../node_modules/d3-selection/src/selection/clone.js","../node_modules/d3-selection/src/selection/datum.js","../node_modules/d3-selection/src/selection/dispatch.js","../node_modules/d3-selection/src/local.js","../node_modules/json-stringify-pretty-compact/index.js","../node_modules/semver/semver.js","../node_modules/process/browser.js","../node_modules/vega-lib/index.js","../node_modules/vega-util/src/logger.js","../node_modules/vega-util/src/transform.js","../node_modules/vega-util/src/compare.js","../node_modules/vega-util/src/constant.js","../node_modules/vega-util/src/debounce.js","../node_modules/vega-util/src/extend.js","../node_modules/vega-util/src/extentIndex.js","../node_modules/vega-util/src/fastmap.js","../node_modules/vega-util/src/inherits.js","../node_modules/vega-util/src/isBoolean.js","../node_modules/vega-util/src/isRegExp.js","../node_modules/vega-util/src/key.js","../node_modules/vega-util/src/merge.js","../node_modules/vega-util/src/pad.js","../node_modules/vega-util/src/toBoolean.js","../node_modules/vega-util/src/toDate.js","../node_modules/vega-util/src/toString.js","../node_modules/vega-util/src/toSet.js","../node_modules/vega-util/src/truncate.js","../node_modules/vega-util/src/visitArray.js","../node_modules/vega-dataflow/src/dataflow/Dataflow.js","../node_modules/vega-dataflow/src/dataflow/add.js","../node_modules/vega-dataflow/src/dataflow/connect.js","../node_modules/vega-dataflow/src/dataflow/events.js","../node_modules/vega-dataflow/src/dataflow/load.js","../node_modules/vega-loader/src/loader.js","../node_modules/vega-loader/src/read.js","../node_modules/vega-loader/src/formats/dsv.js","../node_modules/d3-dsv/src/csv.js","../node_modules/d3-dsv/src/tsv.js","../node_modules/buffer/index.js","../node_modules/base64-js/index.js","../node_modules/ieee754/index.js","../node_modules/isarray/index.js","../node_modules/vega-loader/src/formats/topojson.js","../node_modules/topojson-client/src/reverse.js","../node_modules/topojson-client/src/mesh.js","../node_modules/topojson-client/src/bisect.js","../node_modules/d3-time/src/millisecond.js","../node_modules/d3-time/src/second.js","../node_modules/d3-time/src/minute.js","../node_modules/d3-time/src/hour.js","../node_modules/d3-time/src/day.js","../node_modules/d3-time/src/week.js","../node_modules/d3-time/src/month.js","../node_modules/d3-time/src/year.js","../node_modules/d3-time/src/utcMinute.js","../node_modules/d3-time/src/utcHour.js","../node_modules/d3-time/src/utcDay.js","../node_modules/d3-time/src/utcWeek.js","../node_modules/d3-time/src/utcMonth.js","../node_modules/d3-time/src/utcYear.js","../node_modules/d3-time-format/src/isoParse.js","../node_modules/vega-dataflow/src/dataflow/on.js","../node_modules/vega-dataflow/src/dataflow/rank.js","../node_modules/vega-dataflow/src/dataflow/run.js","../node_modules/vega-dataflow/src/dataflow/update.js","../node_modules/vega-dataflow/src/util/Heap.js","../node_modules/vega-dataflow/src/Transform.js","../node_modules/vega-dataflow/src/register.js","../node_modules/vega-statistics/src/bin.js","../node_modules/vega-statistics/src/bootstrapCI.js","../node_modules/d3-array/src/constant.js","../node_modules/d3-array/src/identity.js","../node_modules/d3-array/src/max.js","../node_modules/d3-array/src/mean.js","../node_modules/d3-array/src/median.js","../node_modules/d3-array/src/merge.js","../node_modules/d3-array/src/permute.js","../node_modules/d3-array/src/sum.js","../node_modules/vega-statistics/src/integer.js","../node_modules/vega-statistics/src/kde.js","../node_modules/vega-statistics/src/mixture.js","../node_modules/vega-statistics/src/uniform.js","../node_modules/vega-transforms/src/Bin.js","../node_modules/vega-transforms/src/Collect.js","../node_modules/vega-transforms/src/Compare.js","../node_modules/vega-transforms/src/CountPattern.js","../node_modules/vega-transforms/src/Cross.js","../node_modules/vega-transforms/src/Density.js","../node_modules/vega-transforms/src/util/Distributions.js","../node_modules/vega-transforms/src/Expression.js","../node_modules/vega-transforms/src/Extent.js","../node_modules/vega-transforms/src/Field.js","../node_modules/vega-transforms/src/Filter.js","../node_modules/vega-transforms/src/Flatten.js","../node_modules/vega-transforms/src/Fold.js","../node_modules/vega-transforms/src/Formula.js","../node_modules/vega-transforms/src/Generate.js","../node_modules/vega-transforms/src/Impute.js","../node_modules/vega-transforms/src/JoinAggregate.js","../node_modules/vega-transforms/src/Key.js","../node_modules/vega-transforms/src/Load.js","../node_modules/vega-transforms/src/Lookup.js","../node_modules/vega-transforms/src/MultiExtent.js","../node_modules/vega-transforms/src/MultiValues.js","../node_modules/vega-transforms/src/Params.js","../node_modules/vega-transforms/src/Pivot.js","../node_modules/vega-transforms/src/PreFacet.js","../node_modules/vega-transforms/src/Project.js","../node_modules/vega-transforms/src/Proxy.js","../node_modules/vega-transforms/src/Relay.js","../node_modules/vega-transforms/src/Sample.js","../node_modules/vega-transforms/src/Sequence.js","../node_modules/vega-transforms/src/Sieve.js","../node_modules/vega-transforms/src/TupleIndex.js","../node_modules/vega-transforms/src/Values.js","../node_modules/vega-transforms/src/Window.js","../node_modules/vega-transforms/src/util/WindowState.js","../node_modules/vega-view-transforms/src/Bound.js","../node_modules/vega-scenegraph/src/Gradient.js","../node_modules/vega-canvas/src/domCanvas.js","../node_modules/vega-scenegraph/src/Scenegraph.js","../node_modules/vega-scenegraph/src/marks/arc.js","../node_modules/d3-shape/src/arc.js","../node_modules/d3-path/src/path.js","../node_modules/d3-shape/src/descending.js","../node_modules/d3-shape/src/identity.js","../node_modules/d3-shape/src/symbol.js","../node_modules/d3-shape/src/curve/basisClosed.js","../node_modules/d3-shape/src/curve/basisOpen.js","../node_modules/d3-shape/src/curve/bundle.js","../node_modules/d3-shape/src/curve/catmullRomClosed.js","../node_modules/d3-shape/src/curve/catmullRomOpen.js","../node_modules/d3-shape/src/curve/linearClosed.js","../node_modules/d3-shape/src/curve/monotone.js","../node_modules/d3-shape/src/curve/natural.js","../node_modules/d3-shape/src/curve/step.js","../node_modules/vega-scenegraph/src/path/arc.js","../node_modules/vega-scenegraph/src/util/canvas/gradient.js","../node_modules/vega-scenegraph/src/marks/area.js","../node_modules/vega-scenegraph/src/marks/group.js","../node_modules/vega-scenegraph/src/marks/image.js","../node_modules/vega-scenegraph/src/marks/line.js","../node_modules/vega-scenegraph/src/marks/path.js","../node_modules/vega-scenegraph/src/marks/rect.js","../node_modules/vega-scenegraph/src/marks/rule.js","../node_modules/vega-scenegraph/src/marks/shape.js","../node_modules/vega-scenegraph/src/marks/symbol.js","../node_modules/vega-scenegraph/src/marks/text.js","../node_modules/vega-scenegraph/src/marks/trail.js","../node_modules/vega-scenegraph/src/util/resolveItem.js","../node_modules/vega-scenegraph/src/util/canvas/clip.js","../node_modules/vega-scenegraph/src/util/canvas/resize.js","../node_modules/vega-scenegraph/src/modules.js","../node_modules/vega-scenegraph/src/bound/boundClip.js","../node_modules/vega-scenegraph/src/util/equal.js","../node_modules/vega-view-transforms/src/Identifier.js","../node_modules/vega-view-transforms/src/Mark.js","../node_modules/vega-view-transforms/src/Overlap.js","../node_modules/vega-view-transforms/src/Render.js","../node_modules/vega-view-transforms/src/ViewLayout.js","../node_modules/vega-view-transforms/src/gridLayout.js","../node_modules/vega-encode/src/AxisTicks.js","../node_modules/vega-scale/src/scales.js","../node_modules/vega-scale/src/invertRange.js","../node_modules/vega-scale/src/invertRangeExtent.js","../node_modules/vega-scale/src/scaleBand.js","../node_modules/d3-collection/src/nest.js","../node_modules/d3-collection/src/set.js","../node_modules/d3-scale/src/identity.js","../node_modules/d3-color/src/lab.js","../node_modules/d3-color/src/cubehelix.js","../node_modules/d3-interpolate/src/round.js","../node_modules/d3-interpolate/src/transform/index.js","../node_modules/d3-interpolate/src/transform/parse.js","../node_modules/d3-interpolate/src/transform/decompose.js","../node_modules/d3-interpolate/src/zoom.js","../node_modules/d3-interpolate/src/hsl.js","../node_modules/d3-interpolate/src/lab.js","../node_modules/d3-interpolate/src/hcl.js","../node_modules/d3-interpolate/src/cubehelix.js","../node_modules/d3-interpolate/src/piecewise.js","../node_modules/d3-interpolate/src/quantize.js","../node_modules/d3-scale/src/tickFormat.js","../node_modules/d3-format/src/defaultLocale.js","../node_modules/d3-format/src/formatGroup.js","../node_modules/d3-format/src/formatNumerals.js","../node_modules/d3-format/src/formatTrim.js","../node_modules/d3-format/src/formatTypes.js","../node_modules/d3-format/src/formatRounded.js","../node_modules/d3-format/src/identity.js","../node_modules/d3-format/src/precisionFixed.js","../node_modules/d3-format/src/precisionPrefix.js","../node_modules/d3-format/src/precisionRound.js","../node_modules/d3-scale/src/log.js","../node_modules/d3-scale/src/pow.js","../node_modules/d3-scale/src/quantile.js","../node_modules/d3-scale/src/quantize.js","../node_modules/d3-scale/src/threshold.js","../node_modules/d3-scale/src/utcTime.js","../node_modules/vega-scale/src/scaleBin.js","../node_modules/vega-scale/src/scaleSequential.js","../node_modules/vega-scale/src/interpolate.js","../node_modules/vega-scale/src/schemes.js","../node_modules/vega-scale/src/palettes.js","../node_modules/d3-scale-chromatic/src/categorical/category10.js","../node_modules/d3-scale-chromatic/src/categorical/Accent.js","../node_modules/d3-scale-chromatic/src/categorical/Dark2.js","../node_modules/d3-scale-chromatic/src/categorical/Paired.js","../node_modules/d3-scale-chromatic/src/categorical/Pastel1.js","../node_modules/d3-scale-chromatic/src/categorical/Pastel2.js","../node_modules/d3-scale-chromatic/src/categorical/Set1.js","../node_modules/d3-scale-chromatic/src/categorical/Set2.js","../node_modules/d3-scale-chromatic/src/categorical/Set3.js","../node_modules/d3-scale-chromatic/src/diverging/BrBG.js","../node_modules/d3-scale-chromatic/src/diverging/PRGn.js","../node_modules/d3-scale-chromatic/src/diverging/PiYG.js","../node_modules/d3-scale-chromatic/src/diverging/PuOr.js","../node_modules/d3-scale-chromatic/src/diverging/RdBu.js","../node_modules/d3-scale-chromatic/src/diverging/RdGy.js","../node_modules/d3-scale-chromatic/src/diverging/RdYlBu.js","../node_modules/d3-scale-chromatic/src/diverging/RdYlGn.js","../node_modules/d3-scale-chromatic/src/diverging/Spectral.js","../node_modules/d3-scale-chromatic/src/sequential-multi/BuGn.js","../node_modules/d3-scale-chromatic/src/sequential-multi/BuPu.js","../node_modules/d3-scale-chromatic/src/sequential-multi/GnBu.js","../node_modules/d3-scale-chromatic/src/sequential-multi/OrRd.js","../node_modules/d3-scale-chromatic/src/sequential-multi/PuBuGn.js","../node_modules/d3-scale-chromatic/src/sequential-multi/PuBu.js","../node_modules/d3-scale-chromatic/src/sequential-multi/PuRd.js","../node_modules/d3-scale-chromatic/src/sequential-multi/RdPu.js","../node_modules/d3-scale-chromatic/src/sequential-multi/YlGnBu.js","../node_modules/d3-scale-chromatic/src/sequential-multi/YlGn.js","../node_modules/d3-scale-chromatic/src/sequential-multi/YlOrBr.js","../node_modules/d3-scale-chromatic/src/sequential-multi/YlOrRd.js","../node_modules/d3-scale-chromatic/src/sequential-single/Blues.js","../node_modules/d3-scale-chromatic/src/sequential-single/Greens.js","../node_modules/d3-scale-chromatic/src/sequential-single/Greys.js","../node_modules/d3-scale-chromatic/src/sequential-single/Purples.js","../node_modules/d3-scale-chromatic/src/sequential-single/Reds.js","../node_modules/d3-scale-chromatic/src/sequential-single/Oranges.js","../node_modules/d3-scale-chromatic/src/sequential-multi/cubehelix.js","../node_modules/d3-scale-chromatic/src/sequential-multi/rainbow.js","../node_modules/d3-scale-chromatic/src/sequential-multi/sinebow.js","../node_modules/d3-scale-chromatic/src/sequential-multi/viridis.js","../node_modules/vega-scale/src/timeInterval.js","../node_modules/vega-encode/src/DataJoin.js","../node_modules/vega-encode/src/Encode.js","../node_modules/vega-encode/src/LegendEntries.js","../node_modules/vega-encode/src/labels.js","../node_modules/vega-encode/src/LinkPath.js","../node_modules/vega-encode/src/Pie.js","../node_modules/vega-encode/src/Scale.js","../node_modules/vega-encode/src/SortItems.js","../node_modules/vega-encode/src/Stack.js","../node_modules/vega-geo/src/Contour.js","../node_modules/d3-contour/src/ascending.js","../node_modules/d3-contour/src/area.js","../node_modules/d3-contour/src/contains.js","../node_modules/d3-contour/src/noop.js","../node_modules/d3-contour/src/density.js","../node_modules/d3-contour/src/blur.js","../node_modules/vega-geo/src/GeoJSON.js","../node_modules/vega-geo/src/GeoPath.js","../node_modules/vega-projection/src/projections.js","../node_modules/d3-geo/src/bounds.js","../node_modules/d3-geo/src/centroid.js","../node_modules/d3-geo/src/constant.js","../node_modules/d3-geo/src/clip/line.js","../node_modules/d3-geo/src/graticule.js","../node_modules/d3-geo/src/path/index.js","../node_modules/d3-geo/src/path/area.js","../node_modules/d3-geo/src/path/centroid.js","../node_modules/d3-geo/src/path/context.js","../node_modules/d3-geo/src/path/measure.js","../node_modules/d3-geo/src/path/string.js","../node_modules/d3-geo/src/projection/resample.js","../node_modules/d3-geo/src/projection/cylindricalEqualArea.js","../node_modules/d3-geo/src/projection/albersUsa.js","../node_modules/d3-geo/src/projection/azimuthalEqualArea.js","../node_modules/d3-geo/src/projection/azimuthalEquidistant.js","../node_modules/d3-geo/src/projection/conicConformal.js","../node_modules/d3-geo/src/projection/conicEquidistant.js","../node_modules/d3-geo/src/projection/gnomonic.js","../node_modules/d3-geo/src/projection/identity.js","../node_modules/d3-geo/src/projection/naturalEarth1.js","../node_modules/d3-geo/src/projection/orthographic.js","../node_modules/d3-geo/src/projection/stereographic.js","../node_modules/d3-geo/src/projection/transverseMercator.js","../node_modules/vega-geo/src/GeoPoint.js","../node_modules/vega-geo/src/GeoShape.js","../node_modules/vega-geo/src/Graticule.js","../node_modules/vega-geo/src/Projection.js","../node_modules/vega-force/src/Force.js","../node_modules/d3-force/src/center.js","../node_modules/d3-force/src/collide.js","../node_modules/d3-quadtree/src/quadtree.js","../node_modules/d3-quadtree/src/add.js","../node_modules/d3-quadtree/src/cover.js","../node_modules/d3-quadtree/src/data.js","../node_modules/d3-quadtree/src/extent.js","../node_modules/d3-quadtree/src/find.js","../node_modules/d3-quadtree/src/remove.js","../node_modules/d3-quadtree/src/root.js","../node_modules/d3-quadtree/src/size.js","../node_modules/d3-quadtree/src/visit.js","../node_modules/d3-quadtree/src/visitAfter.js","../node_modules/d3-quadtree/src/x.js","../node_modules/d3-quadtree/src/y.js","../node_modules/d3-force/src/link.js","../node_modules/d3-force/src/manyBody.js","../node_modules/d3-dispatch/src/dispatch.js","../node_modules/d3-timer/src/interval.js","../node_modules/d3-force/src/x.js","../node_modules/d3-force/src/y.js","../node_modules/vega-hierarchy/src/Nest.js","../node_modules/d3-hierarchy/src/cluster.js","../node_modules/d3-hierarchy/src/hierarchy/count.js","../node_modules/d3-hierarchy/src/hierarchy/each.js","../node_modules/d3-hierarchy/src/hierarchy/eachBefore.js","../node_modules/d3-hierarchy/src/hierarchy/eachAfter.js","../node_modules/d3-hierarchy/src/hierarchy/sum.js","../node_modules/d3-hierarchy/src/hierarchy/sort.js","../node_modules/d3-hierarchy/src/hierarchy/path.js","../node_modules/d3-hierarchy/src/hierarchy/ancestors.js","../node_modules/d3-hierarchy/src/hierarchy/descendants.js","../node_modules/d3-hierarchy/src/hierarchy/leaves.js","../node_modules/d3-hierarchy/src/hierarchy/links.js","../node_modules/d3-hierarchy/src/pack/index.js","../node_modules/d3-hierarchy/src/array.js","../node_modules/d3-hierarchy/src/partition.js","../node_modules/d3-hierarchy/src/stratify.js","../node_modules/d3-hierarchy/src/tree.js","../node_modules/d3-hierarchy/src/treemap/index.js","../node_modules/d3-hierarchy/src/treemap/binary.js","../node_modules/d3-hierarchy/src/treemap/sliceDice.js","../node_modules/d3-hierarchy/src/treemap/resquarify.js","../node_modules/vega-hierarchy/src/Pack.js","../node_modules/vega-hierarchy/src/Partition.js","../node_modules/vega-hierarchy/src/Stratify.js","../node_modules/vega-hierarchy/src/Tree.js","../node_modules/vega-hierarchy/src/TreeLinks.js","../node_modules/vega-hierarchy/src/Treemap.js","../node_modules/vega-voronoi/src/Voronoi.js","../node_modules/d3-voronoi/src/voronoi.js","../node_modules/d3-voronoi/src/constant.js","../node_modules/d3-voronoi/src/point.js","../node_modules/d3-voronoi/src/Beach.js","../node_modules/vega-wordcloud/src/Wordcloud.js","../node_modules/vega-wordcloud/src/CloudLayout.js","../node_modules/vega-crossfilter/src/CrossFilter.js","../node_modules/vega-crossfilter/src/Bitmaps.js","../node_modules/vega-crossfilter/src/Dimension.js","../node_modules/vega-crossfilter/src/SortedIndex.js","../node_modules/vega-crossfilter/src/ResolveFilter.js","../node_modules/vega-lib/package.json","../node_modules/vega-view/src/View.js","../node_modules/vega-view/src/cursor.js","../node_modules/vega-view/src/data.js","../node_modules/vega-view/src/events.js","../node_modules/vega-view/src/events-extend.js","../node_modules/vega-view/src/hover.js","../node_modules/vega-view/src/finalize.js","../node_modules/vega-view/src/initialize.js","../node_modules/vega-view/src/bind.js","../node_modules/vega-view/src/initialize-handler.js","../node_modules/vega-view/src/render-to-image-url.js","../node_modules/vega-view/src/render-to-canvas.js","../node_modules/vega-view/src/render-to-svg.js","../node_modules/vega-view/src/runtime.js","../node_modules/vega-parser/src/parse.js","../node_modules/vega-parser/src/parsers/view.js","../node_modules/vega-parser/src/parsers/autosize.js","../node_modules/vega-parser/src/parsers/padding.js","../node_modules/vega-expression/src/parser.js","../node_modules/vega-expression/src/codegen.js","../node_modules/vega-parser/src/parsers/expression/format.js","../node_modules/vega-parser/src/parsers/expression/quarter.js","../node_modules/vega-parser/src/parsers/expression/log.js","../node_modules/vega-parser/src/parsers/expression/inscope.js","../node_modules/vega-parser/src/parsers/expression/pinch.js","../node_modules/vega-parser/src/parsers/expression/window.js","../node_modules/vega-parser/src/parsers/expression/flush.js","../node_modules/vega-parser/src/parsers/expression/merge.js","../node_modules/vega-parser/src/parsers/expression/scale-gradient.js","../node_modules/vega-parser/src/parsers/expression/geo.js","../node_modules/vega-parser/src/parsers/expression/shape.js","../node_modules/vega-parser/src/parsers/expression/tree.js","../node_modules/vega-parser/src/parsers/expression/encode.js","../node_modules/vega-parser/src/parsers/expression/modify.js","../node_modules/vega-parser/src/parsers/expression/selection.js","../node_modules/vega-parser/src/parsers/update.js","../node_modules/vega-event-selector/src/event-selector.js","../node_modules/vega-parser/src/parsers/projection.js","../node_modules/vega-parser/src/parsers/legend.js","../node_modules/vega-parser/src/parsers/guides/legend-gradient.js","../node_modules/vega-parser/src/parsers/encode.js","../node_modules/vega-parser/src/parsers/encode/adjust-spatial.js","../node_modules/vega-parser/src/parsers/encode/color.js","../node_modules/vega-parser/src/parsers/encode/gradient.js","../node_modules/vega-parser/src/parsers/encode/property.js","../node_modules/vega-parser/src/parsers/encode/rule.js","../node_modules/vega-parser/src/parsers/guides/legend-gradient-discrete.js","../node_modules/vega-parser/src/parsers/guides/legend-gradient-labels.js","../node_modules/vega-parser/src/parsers/guides/legend-symbol-groups.js","../node_modules/vega-parser/src/parsers/guides/legend-title.js","../node_modules/vega-parser/src/parsers/marks/clip.js","../node_modules/vega-parser/src/parsers/marks/definition.js","../node_modules/vega-parser/src/parsers/marks/interactive.js","../node_modules/vega-parser/src/parsers/marks/facet.js","../node_modules/vega-parser/src/parsers/marks/subflow.js","../node_modules/vega-parser/src/parsers/title.js","../node_modules/vega-parser/src/parsers/data.js","../node_modules/vega-parser/src/parsers/axis.js","../node_modules/vega-parser/src/parsers/guides/axis-config.js","../node_modules/vega-parser/src/parsers/guides/axis-domain.js","../node_modules/vega-parser/src/parsers/guides/axis-grid.js","../node_modules/vega-parser/src/parsers/guides/axis-ticks.js","../node_modules/vega-parser/src/parsers/guides/axis-labels.js","../node_modules/vega-parser/src/parsers/guides/axis-title.js","../node_modules/vega-runtime/src/operator.js","../node_modules/vega-runtime/src/stream.js","../node_modules/vega-runtime/src/update.js","../node_modules/vega-runtime/src/context.js","../node_modules/vega-runtime/src/state.js","../node_modules/vega-view/src/scale.js","../node_modules/vega-view/src/size.js","../node_modules/vega-view/src/state.js","../node_modules/vega-view/src/timer.js","../node_modules/vega-view/src/tooltip.js","../node_modules/vega-lite/build/src/index.js","../node_modules/json-stable-stringify/index.js","../node_modules/jsonify/index.js","../node_modules/jsonify/lib/parse.js","../node_modules/jsonify/lib/stringify.js","../node_modules/vega-lite/build/src/compositemark/common.js","../node_modules/vega-lite/build/src/compositemark/errorbar.js","../node_modules/vega-lite/build/src/compile/compile.js","../node_modules/vega-lite/build/src/guide.js","../node_modules/vega-lite/build/src/compile/concat.js","../node_modules/vega-lite/build/src/compile/legend/component.js","../node_modules/vega-lite/build/src/compile/legend/encode.js","../node_modules/vega-lite/build/src/compile/legend/properties.js","../node_modules/vega-lite/build/src/compile/projection/assemble.js","../node_modules/vega-lite/build/src/compile/projection/parse.js","../node_modules/vega-lite/build/src/projection.js","../node_modules/vega-lite/build/src/compile/projection/component.js","../node_modules/vega-lite/build/src/compile/scale/assemble.js","../node_modules/vega-lite/build/src/compile/data/optimizers.js","../node_modules/vega-lite/build/src/compile/scale/parse.js","../node_modules/vega-lite/build/src/compile/scale/component.js","../node_modules/vega-lite/build/src/compile/scale/type.js","../node_modules/vega-lite/build/src/compile/selection/single.js","../node_modules/vega-lite/build/src/compile/selection/transforms/transforms.js","../node_modules/vega-lite/build/src/compile/selection/transforms/inputs.js","../node_modules/vega-lite/build/src/compile/selection/transforms/project.js","../node_modules/vega-lite/build/src/compile/selection/transforms/toggle.js","../node_modules/vega-lite/build/src/compile/selection/transforms/translate.js","../node_modules/vega-lite/build/src/compile/selection/transforms/zoom.js","../node_modules/vega-lite/build/src/compile/data/index.js","../node_modules/vega-lite/build/src/compile/layer.js","../node_modules/vega-lite/build/src/compile/axis/component.js","../node_modules/vega-lite/build/src/compile/axis/encode.js","../node_modules/vega-lite/build/src/compile/axis/properties.js","../node_modules/vega-lite/build/src/compile/mark/init.js","../node_modules/vega-lite/build/src/compile/mark/mark.js","../node_modules/vega-lite/build/src/compile/mark/area.js","../node_modules/vega-lite/build/src/compile/mark/bar.js","../node_modules/vega-lite/build/src/compile/mark/geoshape.js","../node_modules/vega-lite/build/src/compile/mark/line.js","../node_modules/vega-lite/build/src/compile/mark/point.js","../node_modules/vega-lite/build/src/compile/mark/rect.js","../node_modules/vega-lite/build/src/compile/mark/rule.js","../node_modules/vega-lite/build/src/compile/mark/text.js","../node_modules/vega-lite/build/src/compile/mark/tick.js","../node_modules/vega-lite/build/src/compile/repeat.js","../node_modules/vega-lite/build/src/validate.js","../node_modules/vega-lite/build/package.json","../node_modules/vega-schema-url-parser/index.js","../node_modules/vega-themes/build/theme-excel.js","../node_modules/vega-themes/build/theme-ggplot2.js","../node_modules/vega-themes/build/theme-quartz.js","../node_modules/vega-themes/build/theme-vox.js","../node_modules/vega-themes/build/theme-dark.js","../node_modules/vega-themes/build/theme-fivethirtyeight.js","../node_modules/vega-tooltip/build/style.js","../node_modules/vega-embed/build/src/post.js","../node_modules/vega-embed/build/src/style.js","../node_modules/vega-embed/build/src/util.js"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","__WEBPACK_IMPORTED_MODULE_0__src_accessor__","__WEBPACK_IMPORTED_MODULE_1__src_accessors__","__WEBPACK_IMPORTED_MODULE_2__src_logger__","__WEBPACK_IMPORTED_MODULE_3__src_transform__","__WEBPACK_IMPORTED_MODULE_4__src_array__","__WEBPACK_IMPORTED_MODULE_5__src_compare__","__WEBPACK_IMPORTED_MODULE_6__src_constant__","__WEBPACK_IMPORTED_MODULE_7__src_debounce__","__WEBPACK_IMPORTED_MODULE_8__src_error__","__WEBPACK_IMPORTED_MODULE_9__src_extend__","__WEBPACK_IMPORTED_MODULE_10__src_extentIndex__","__WEBPACK_IMPORTED_MODULE_11__src_fastmap__","__WEBPACK_IMPORTED_MODULE_12__src_field__","__WEBPACK_IMPORTED_MODULE_13__src_inherits__","__WEBPACK_IMPORTED_MODULE_14__src_isArray__","__WEBPACK_IMPORTED_MODULE_15__src_isBoolean__","__WEBPACK_IMPORTED_MODULE_16__src_isDate__","__WEBPACK_IMPORTED_MODULE_17__src_isFunction__","__WEBPACK_IMPORTED_MODULE_18__src_isNumber__","__WEBPACK_IMPORTED_MODULE_19__src_isObject__","__WEBPACK_IMPORTED_MODULE_20__src_isRegExp__","__WEBPACK_IMPORTED_MODULE_21__src_isString__","__WEBPACK_IMPORTED_MODULE_22__src_key__","__WEBPACK_IMPORTED_MODULE_23__src_merge__","__WEBPACK_IMPORTED_MODULE_24__src_pad__","__WEBPACK_IMPORTED_MODULE_25__src_peek__","__WEBPACK_IMPORTED_MODULE_26__src_repeat__","__WEBPACK_IMPORTED_MODULE_27__src_splitAccessPath__","__WEBPACK_IMPORTED_MODULE_28__src_stringValue__","__WEBPACK_IMPORTED_MODULE_29__src_toBoolean__","__WEBPACK_IMPORTED_MODULE_30__src_toDate__","__WEBPACK_IMPORTED_MODULE_31__src_toNumber__","__WEBPACK_IMPORTED_MODULE_32__src_toString__","__WEBPACK_IMPORTED_MODULE_33__src_toSet__","__WEBPACK_IMPORTED_MODULE_34__src_truncate__","__WEBPACK_IMPORTED_MODULE_35__src_visitArray__","__extends","b","__","this","constructor","extendStatics","create","__rest","e","t","indexOf","getOwnPropertySymbols","length","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","rejected","result","done","then","apply","__generator","body","verb","v","op","f","TypeError","_","y","label","ops","pop","trys","push","g","sent","throw","return","Symbol","iterator","__assign","setPrototypeOf","__proto__","Array","assign","arguments","__WEBPACK_IMPORTED_MODULE_1__src_ChangeSet__","__WEBPACK_IMPORTED_MODULE_2__src_dataflow_Dataflow__","__WEBPACK_IMPORTED_MODULE_3__src_EventStream__","__WEBPACK_IMPORTED_MODULE_4__src_Parameters__","__WEBPACK_IMPORTED_MODULE_5__src_Pulse__","__WEBPACK_IMPORTED_MODULE_6__src_MultiPulse__","__WEBPACK_IMPORTED_MODULE_7__src_Operator__","__WEBPACK_IMPORTED_MODULE_8__src_Transform__","__WEBPACK_IMPORTED_MODULE_9__src_Tuple__","__WEBPACK_IMPORTED_MODULE_10__src_register__","pick","obj","props","copy","_i","props_1","prop","omit","__WEBPACK_IMPORTED_MODULE_0_tslib__","props_2","hash","a","__WEBPACK_IMPORTED_MODULE_2_vega_util__","str","__WEBPACK_IMPORTED_MODULE_1_json_stable_stringify___default","h","charCodeAt","contains","array","item","without","excludedItems","filter","union","other","concat","some","arr","k","every","flatten","arrays","mergeDeep","dest","src","_a","src_1","deepMerge_","undefined","unique","values","results","u","values_1","val","differ","dict","key","hasIntersection","isNumeric","num","isNaN","differArray","sort","vals","x","_vals","flagKeys","keys","duplicate","JSON","parse","stringify","isBoolean","varName","alphanumericS","replace","match","logicalExpr","cb","__WEBPACK_IMPORTED_MODULE_3__logical__","not","and","map","join","or","deleteNestedProperty","orderedProps","shift","titlecase","charAt","toUpperCase","substr","accessPathWithDatum","path","datum","pieces","prefixes","prefix","slice","flatAccessWithDatum","replacePathInField","removePathFromField","accessPathDepth","__WEBPACK_IMPORTED_MODULE_1_json_stable_stringify__","set","newLogger","current","reset","main","warn","debug","message","__WEBPACK_IMPORTED_MODULE_0_vega_util__","__WEBPACK_IMPORTED_MODULE_1__util__","LocalLogger","warns","infos","debugs","level","args","info","cannotProjectOnChannelWithoutField","channel","nearestNotSupportForContinuous","mark","selectionNotFound","noSuchRepeatedValue","field","cannotSetTitleAnchor","type","unrecognizedParse","differentParse","local","ancestor","invalidTransformIgnored","transform","encodingOverridden","channels","projectionOverridden","opt","parentProjection","projection","primitiveChannelDef","invalidFieldType","nonZeroScaleUsedWithLengthMark","scaleType","zeroFalse","invalidFieldTypeForCountAggregate","aggregate","invalidAggregate","emptyOrInvalidFieldType","newType","droppingColor","fill","stroke","emptyFieldDef","fieldDef","latLongDeprecated","newChannel","incompatibleChannel","markOrFacet","when","invalidEncodingChannel","facetChannelShouldBeDiscrete","discreteChannelCannotEncode","lineWithRange","hasX2","hasY2","orientOverridden","original","actual","cannotUseScalePropertyWithNonColor","unaggregateDomainHasNoEffectForRawField","unaggregateDomainWithNonSharedDomainOp","unaggregatedDomainWithLogScale","cannotApplySizeToNonOrientedMark","rangeStepDropped","scaleTypeNotWorkWithChannel","defaultScaleType","scaleTypeNotWorkWithFieldDef","scalePropertyNotWorkWithScaleType","propName","scaleTypeNotWorkWithMark","mergeConflictingProperty","propertyOf","v1","v2","toString","independentScaleMeansIndependentGuide","domainSortDropped","cannotStackRangedMark","cannotStackNonLinearScale","stackNonSummativeAggregate","invalidTimeUnit","unitName","dayReplacedWithDate","fullTimeUnit","droppedDay","INVALID_SPEC","FIT_NON_SINGLE","CANNOT_FIX_RANGE_STEP_WITH_FIT","SCALE_BINDINGS_CONTINUOUS","CONCAT_CANNOT_SHARE_AXIS","REPEAT_CANNOT_SHARE_AXIS","NO_FIELDS_NEEDS_AS","LINE_WITH_VARYING_SIZE","BAR_WITH_POINT_SCALE_AND_RANGESTEP_NULL","CANNOT_UNION_CUSTOM_DOMAIN_WITH_FIELD_DOMAIN","UNABLE_TO_MERGE_DOMAINS","MORE_THAN_ONE_SORT","INVALID_CHANNEL_FOR_AXIS","specifier","colors","acos","pi","Math","asin","halfPi","haversin","sin","epsilon","epsilon2","quarterPi","tau","degrees","radians","abs","atan","atan2","cos","ceil","exp","log","pow","sign","sqrt","tan","PI","floor","isColorChannel","isChannel","CHANNEL_INDEX","isScaleChannel","SCALE_CHANNEL_INDEX","supportMark","getSupportedMark","COLOR","FILL","STROKE","DETAIL","KEY","TOOLTIP","HREF","ORDER","OPACITY","ROW","COLUMN","point","tick","rule","circle","square","bar","rect","line","trail","area","text","geoshape","X","Y","LATITUDE","LONGITUDE","X2","Y2","LATITUDE2","LONGITUDE2","SIZE","SHAPE","TEXT","rangeType","Error","Channel","GEOPOSITION_CHANNEL_INDEX","GEOPOSITION_CHANNELS","CHANNELS","SINGLE_DEF_CHANNELS","UNIT_CHANNELS","NONPOSITION_CHANNELS","POSITION_SCALE_CHANNELS","NONPOSITION_SCALE_CHANNELS","SCALE_CHANNELS","longitude","longitude2","latitude","latitude2","UNIT_CHANNEL_INDEX","x2","y2","color","opacity","size","shape","order","detail","tooltip","href","FACET_CHANNEL_INDEX","row","column","SINGLE_DEF_CHANNEL_INDEX","NONPOSITION_CHANNEL_INDEX","POSITION_SCALE_CHANNEL_INDEX","NONPOSITION_SCALE_CHANNEL_INDEX","isConditionalSelection","isRepeatRef","__WEBPACK_IMPORTED_MODULE_1_vega_util__","toFieldDefBase","timeUnit","bin","isConditionalDef","channelDef","condition","hasConditionalFieldDef","isFieldDef","hasConditionalValueDef","isValueDef","isStringFieldDef","isScaleFieldDef","isOpFieldDef","vgField","suffix","isCount","fn","nofn","__WEBPACK_IMPORTED_MODULE_3__bin__","binSuffix","String","expr","__WEBPACK_IMPORTED_MODULE_9__util__","isDiscrete","__WEBPACK_IMPORTED_MODULE_6__log__","isContinuous","verbalTitleFormatter","config","countTitle","__WEBPACK_IMPORTED_MODULE_7__timeunit__","functionalTitleFormatter","setTitleFormatter","formatter","titleFormatter","resetTitleFormatter","defaultTitleFormatter","title","defaultType","__WEBPACK_IMPORTED_MODULE_4__channel__","getFieldDef","normalize","primitiveType","normalizeFieldDef","__WEBPACK_IMPORTED_MODULE_2__aggregate__","fieldDefWithoutAggregate","normalizeBin","fullType","__WEBPACK_IMPORTED_MODULE_8__type__","channelCompatibility","compatible","warning","maxbins","COMPATIBLE","isNumberFieldDef","isTimeFieldDef","valueExpr","_b","time","undefinedIfExprNotRequired","__WEBPACK_IMPORTED_MODULE_5__datetime__","valueArray","signal","fieldTitle","__WEBPACK_IMPORTED_MODULE_0__src_bisect__","__WEBPACK_IMPORTED_MODULE_1__src_ascending__","__WEBPACK_IMPORTED_MODULE_2__src_bisector__","__WEBPACK_IMPORTED_MODULE_6__src_extent__","__WEBPACK_IMPORTED_MODULE_10__src_threshold_sturges__","__WEBPACK_IMPORTED_MODULE_11__src_max__","__WEBPACK_IMPORTED_MODULE_12__src_mean__","__WEBPACK_IMPORTED_MODULE_13__src_median__","__WEBPACK_IMPORTED_MODULE_14__src_merge__","__WEBPACK_IMPORTED_MODULE_15__src_min__","__WEBPACK_IMPORTED_MODULE_17__src_permute__","__WEBPACK_IMPORTED_MODULE_18__src_quantile__","__WEBPACK_IMPORTED_MODULE_19__src_range__","__WEBPACK_IMPORTED_MODULE_22__src_sum__","__WEBPACK_IMPORTED_MODULE_23__src_ticks__","__WEBPACK_IMPORTED_MODULE_25__src_variance__","__WEBPACK_IMPORTED_MODULE_0_d3_interpolate__","scheme","scaleCompatible","scaleType1","scaleType2","scaleCategory1","SCALE_CATEGORY_INDEX","scaleCategory2","scaleTypePrecedence","SCALE_PRECEDENCE_INDEX","hasDiscreteDomain","DISCRETE_DOMAIN_INDEX","isBinScale","BIN_SCALES_INDEX","hasContinuousDomain","CONTINUOUS_DOMAIN_INDEX","isContinuousToContinuous","CONTINUOUS_TO_CONTINUOUS_INDEX","isExtendedScheme","isSelectionDomain","domain","scaleTypeSupportProperty","__WEBPACK_IMPORTED_MODULE_5__util__","channelScalePropertyIncompatability","__WEBPACK_IMPORTED_MODULE_2__channel__","__WEBPACK_IMPORTED_MODULE_3__log__","scaleTypeSupportDataType","specifiedType","fieldDefType","__WEBPACK_IMPORTED_MODULE_4__type__","ORDINAL","NOMINAL","TEMPORAL","ScaleType","TIME","UTC","SEQUENTIAL","QUANTITATIVE","BIN_LINEAR","BIN_ORDINAL","LINEAR","LOG","POW","SQRT","QUANTILE","QUANTIZE","channelSupportScaleType","getSupportedScaleType","SCALE_TYPE_INDEX","generateScaleTypeIndexKey","SCALE_TYPES","CONTINUOUS_TO_CONTINUOUS_SCALES","CONTINUOUS_DOMAIN_SCALES","DISCRETE_DOMAIN_SCALES","TIME_SCALE_TYPES","defaultScaleConfig","SCALE_PROPERTIES","NON_TYPE_DOMAIN_RANGE_VEGA_SCALE_PROPERTIES","THRESHOLD","POINT","BAND","linear","bin-linear","utc","sequential","ordinal","bin-ordinal","band","textXRangeStep","rangeStep","pointPadding","bandPaddingInner","facetSpacing","minBandSize","minFontSize","maxFontSize","minOpacity","maxOpacity","minSize","minStrokeWidth","maxStrokeWidth","SCALE_PROPERTY_INDEX","range","reverse","round","clamp","nice","base","exponent","interpolate","zero","padding","paddingInner","paddingOuter","NON_TYPE_DOMAIN_RANGE_VEGA_SCALE_PROPERTY_INDEX","index","CHANNELS_1","_c","SCALE_TYPES_1","_d","_e","Entry","params","parent","id","entry","operator","ref","$ref","refs","fieldRef","$field","$name","compareRef","fields","orders","$compare","$order","keyRef","flat","$key","$flat","sortKey","Descending","aggrField","isSignal","hasSignal","specValue","defaultValue","deref","tupleidRef","keyFieldRef","Ascending","Scope","View","$tupleid","DataFlowNode","OutputNode","debugName","_children","_parent","clone","producedFields","dependentFields","addChild","numChildren","child","removeChild","oldChild","splice","remove","insertAsParentOf","swapWithParent","newParent","_super","source","refCounts","_this","_source","_name","cloneObj","getSource","isRequired","setSource","MarkRole","FrameRole","ScopeRole","AxisRole","AxisDomainRole","AxisGridRole","AxisLabelRole","AxisTickRole","AxisTitleRole","LegendRole","LegendBandRole","LegendEntryRole","LegendGradientRole","LegendLabelRole","LegendSymbolRole","LegendTitleRole","TitleRole","isUnitModel","model","isFacetModel","isRepeatModel","isConcatModel","isLayerModel","Model","ModelWithField","__WEBPACK_IMPORTED_MODULE_3__encoding__","__WEBPACK_IMPORTED_MODULE_4__fielddef__","__WEBPACK_IMPORTED_MODULE_5__log__","__WEBPACK_IMPORTED_MODULE_6__scale__","__WEBPACK_IMPORTED_MODULE_7__spec__","__WEBPACK_IMPORTED_MODULE_8__title__","__WEBPACK_IMPORTED_MODULE_9__toplevelprops__","__WEBPACK_IMPORTED_MODULE_10__transform__","__WEBPACK_IMPORTED_MODULE_11__util__","__WEBPACK_IMPORTED_MODULE_12__vega_schema__","__WEBPACK_IMPORTED_MODULE_13__axis_assemble__","__WEBPACK_IMPORTED_MODULE_14__header_index__","__WEBPACK_IMPORTED_MODULE_15__layoutsize_assemble__","__WEBPACK_IMPORTED_MODULE_16__legend_assemble__","__WEBPACK_IMPORTED_MODULE_17__legend_parse__","__WEBPACK_IMPORTED_MODULE_18__projection_assemble__","__WEBPACK_IMPORTED_MODULE_19__projection_parse__","__WEBPACK_IMPORTED_MODULE_20__scale_assemble__","__WEBPACK_IMPORTED_MODULE_21__scale_domain__","__WEBPACK_IMPORTED_MODULE_22__scale_parse__","__WEBPACK_IMPORTED_MODULE_23__split__","NameMap","nameMap","rename","oldName","newName","has","spec","parentGivenName","repeater","children","correctDataNames","from","data","lookupDataSource","facet","scaleNameMap","projectionNameMap","layoutSizeNameMap","description","transforms","layout","component","sources","outputNodes","outputNodeRefCounts","isFaceted","layoutSize","layoutHeaders","scale","axis","legend","selection","scales","axes","legends","getSizeSignalRef","initSize","width","height","parseScale","parseLayoutSize","renameTopLevelLayoutSize","parseSelection","parseProjection","parseData","parseAxisAndHeader","parseLegend","parseMarkGroup","getName","renameLayoutSize","assembleGroupStyle","assembleLayoutSize","assembleLayout","align","bounds","center","spacing","assembleDefaultLayout","assembleHeaderMarks","headerMarks","HEADER_CHANNELS_1","HEADER_CHANNELS_2","assembleAxes","assembleLegends","assembleProjections","assembleTitle","nonMark","anchor","assembleGroup","signals","group","assembleSelectionSignals","marks","assembleMarks","hasDescendantWithFieldOnChannel","channelHasField","requestDataName","fullName","sizeType","scaleComponent","merged","scaleName","node","getSizeName","oldSizeName","renameScale","renameProjection","originalScaleName","projectionName","getScaleComponent","localScaleComponent","getSelectionComponent","variableName","origName","sel","reduceFieldDef","init","getMapping","acc","cd","forEachFieldDef","encoder","addEncode","update","extendEncode","encode","extra","skip","encoders","role","style","scope","enc","$encode","applyDefaults","__WEBPACK_IMPORTED_MODULE_0__encode__","enter","__WEBPACK_IMPORTED_MODULE_1__marks_roles__","defaultEncode","forEach","isMark","MARK_INDEX","isPathMark","isMarkDef","isPrimitiveMark","PRIMITIVE_MARK_INDEX","Mark","AREA","BAR","LINE","TICK","TRAIL","RECT","RULE","GEOSHAPE","CIRCLE","SQUARE","PRIMITIVE_MARKS","STROKE_CONFIG","FILL_CONFIG","FILL_STROKE_CONFIG","VL_ONLY_MARK_CONFIG_PROPERTIES","VL_ONLY_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX","defaultMarkConfig","defaultBarConfig","defaultTickConfig","binSpacing","continuousBandSize","thickness","parseUnitSelection","selDefs","selCmpts","selectionConfig","name_1","selDef","cfg","encodings","__WEBPACK_IMPORTED_MODULE_6__util__","selCmpt","events","on","__WEBPACK_IMPORTED_MODULE_1_vega_event_selector__","__WEBPACK_IMPORTED_MODULE_11__transforms_transforms__","txCompiler","assembleUnitSelectionSignals","forEachSelection","selCompiler","modifyExpr","MODIFY","TUPLE","STORE","facetModel","getFacetModel","name_2","unshift","assembleTopLevelSignals","needsUnit","topLevelSignals","assembleUnitSelectionData","assembleUnitSelectionMarks","assembleLayerSelectionMarks","__WEBPACK_IMPORTED_MODULE_7__model__","selectionPredicate","selections","dfnode","vname","store","raw","tunode","empty","stores","compiler","predicate","predicateStr","isRawSelectionDomain","domainRaw","SELECTION_DOMAIN","selectionScaleDomain","selDomain","__WEBPACK_IMPORTED_MODULE_4__log__","encoding","project","scaleDomain","name_3","__WEBPACK_IMPORTED_MODULE_10__single__","__WEBPACK_IMPORTED_MODULE_9__multi__","__WEBPACK_IMPORTED_MODULE_8__interval__","requiresSelectionId","identifier","proj","__WEBPACK_IMPORTED_MODULE_5__selection__","channelSignalName","sgNames","_signalNames","basename","counter","positionalProjections","xi","yi","__WEBPACK_IMPORTED_MODULE_3__channel__","newInterval","floori","offseti","count","interval","date","Date","d0","d1","offset","start","stop","previous","test","setTime","end","t0","t1","isFinite","__WEBPACK_IMPORTED_MODULE_0__src_Bounds__","__WEBPACK_IMPORTED_MODULE_1__src_Gradient__","__WEBPACK_IMPORTED_MODULE_2__src_GroupItem__","__WEBPACK_IMPORTED_MODULE_3__src_ResourceLoader__","__WEBPACK_IMPORTED_MODULE_4__src_Item__","__WEBPACK_IMPORTED_MODULE_5__src_Scenegraph__","__WEBPACK_IMPORTED_MODULE_6__src_Handler__","__WEBPACK_IMPORTED_MODULE_7__src_Renderer__","__WEBPACK_IMPORTED_MODULE_8__src_CanvasHandler__","__WEBPACK_IMPORTED_MODULE_9__src_CanvasRenderer__","__WEBPACK_IMPORTED_MODULE_10__src_SVGHandler__","__WEBPACK_IMPORTED_MODULE_11__src_SVGRenderer__","__WEBPACK_IMPORTED_MODULE_12__src_SVGStringRenderer__","__WEBPACK_IMPORTED_MODULE_13__src_modules__","__WEBPACK_IMPORTED_MODULE_14__src_marks_index__","__WEBPACK_IMPORTED_MODULE_15__src_bound_boundClip__","__WEBPACK_IMPORTED_MODULE_16__src_bound_boundContext__","__WEBPACK_IMPORTED_MODULE_17__src_bound_boundStroke__","__WEBPACK_IMPORTED_MODULE_18__src_bound_boundItem__","__WEBPACK_IMPORTED_MODULE_19__src_bound_boundMark__","__WEBPACK_IMPORTED_MODULE_20__src_path_curves__","__WEBPACK_IMPORTED_MODULE_21__src_path_symbols__","__WEBPACK_IMPORTED_MODULE_22__src_path_rectangle__","__WEBPACK_IMPORTED_MODULE_23__src_path_trail__","__WEBPACK_IMPORTED_MODULE_24__src_path_parse__","__WEBPACK_IMPORTED_MODULE_25__src_path_render__","__WEBPACK_IMPORTED_MODULE_26__src_util_point__","__WEBPACK_IMPORTED_MODULE_27__src_util_dom__","__WEBPACK_IMPORTED_MODULE_28__src_util_tags__","__WEBPACK_IMPORTED_MODULE_29__src_util_text__","__WEBPACK_IMPORTED_MODULE_30__src_util_svg_clip__","__WEBPACK_IMPORTED_MODULE_31__src_util_equal__","__WEBPACK_IMPORTED_MODULE_32__src_util_serialize__","__WEBPACK_IMPORTED_MODULE_33__src_util_visit__","Top","Left","Right","Bottom","Center","Vertical","Start","End","Index","Label","Offset","Perc","Perc2","Size","Value","GuideLabelStyle","GuideTitleStyle","GroupTitleStyle","Symbols","Gradient","Discrete","LegendScales","Skip","interactive","GroupMark","RectMark","RuleMark","SymbolMark","TextMark","applyMarkConfig","propsList","propsList_2","getMarkConfig","markDef","getStyles","markSpecificConfig","styles","styles_1","styleConfig","formatSignalRef","specifiedFormat","format","numberFormat","binFormatExpression","__WEBPACK_IMPORTED_MODULE_3__fielddef__","formatExpr","isUTCScale","__WEBPACK_IMPORTED_MODULE_4__scale__","timeFormatExpression","shortTimeLabels","timeFormat","getSpecifiedOrDefaultValue","specifiedValue","__WEBPACK_IMPORTED_MODULE_6__type__","numberFormatExpr","startField","endField","timeFormatConfig","alwaysReturn","__WEBPACK_IMPORTED_MODULE_5__timeunit__","sortParams","orderDef","fieldRefOption","reduce","orderChannelDef","mergeTitleFieldDefs","f1","f2","fdToMerge","merged_1","fieldDef1","__WEBPACK_IMPORTED_MODULE_7__util__","mergeTitle","title1","title2","mergeTitleComponent","explicit","binRequiresRange","console","guideEncodeEntry","valueDef","__WEBPACK_IMPORTED_MODULE_8__mark_mixins__","isType","TYPE_INDEX","getFullName","toLowerCase","Type","GEOJSON","quantitative","temporal","nominal","geojson","__WEBPACK_IMPORTED_MODULE_0__util__","Aggregate","AxisTicks","Bound","Collect","Compare","DataJoin","Encode","Expression","Facet","Field","Key","LegendEntries","Load","MultiExtent","MultiValues","Overlap","Params","PreFacet","Projection","Proxy","Relay","Render","Scale","Sieve","SortItems","ViewLayout","Values","lookup","isVertical","configVal","direction","__WEBPACK_IMPORTED_MODULE_0__constants__","gradientLength","gradientWidth","gradientThickness","gradientHeight","entryColumns","columns","symbolDirection","getEncoding","getStyle","makeExplicit","makeImplicit","tieBreakByComparing","compare","diff","defaultTieBreaker","__WEBPACK_IMPORTED_MODULE_1__log__","mergeValuesWithExplicit","tieBreaker","__WEBPACK_IMPORTED_MODULE_2__util__","Split","implicit","combine","getWithExplicit","setWithExplicit","copyKeyFromSplit","copyKeyFromObject","copyAll","isAggregate","normalizeEncoding","normalizedEncoding","defs","__WEBPACK_IMPORTED_MODULE_5__type__","newEncoding","isRanged","fieldDefs","def","mapping","r","r1","isVgSignalRef","isVgRangeStep","isDataRefUnionedDomain","isFieldRefUnionDomain","isDataRefDomain","VG_MARK_CONFIGS","VG_MARK_CONFIG_INDEX","fillOpacity","strokeCap","strokeWidth","strokeOpacity","strokeDash","strokeDashOffset","strokeJoin","strokeMiterLimit","tension","orient","baseline","dir","dx","dy","ellipsis","limit","radius","theta","angle","font","fontSize","fontWeight","fontStyle","cursor","cornerRadius","Selection","groups","parents","_groups","_parents","document","documentElement","root","__WEBPACK_IMPORTED_MODULE_0__select__","__WEBPACK_IMPORTED_MODULE_1__selectAll__","__WEBPACK_IMPORTED_MODULE_2__filter__","__WEBPACK_IMPORTED_MODULE_3__data__","__WEBPACK_IMPORTED_MODULE_4__enter__","__WEBPACK_IMPORTED_MODULE_5__exit__","__WEBPACK_IMPORTED_MODULE_6__merge__","__WEBPACK_IMPORTED_MODULE_7__order__","__WEBPACK_IMPORTED_MODULE_8__sort__","__WEBPACK_IMPORTED_MODULE_9__call__","__WEBPACK_IMPORTED_MODULE_10__nodes__","__WEBPACK_IMPORTED_MODULE_11__node__","__WEBPACK_IMPORTED_MODULE_12__size__","__WEBPACK_IMPORTED_MODULE_13__empty__","__WEBPACK_IMPORTED_MODULE_14__each__","__WEBPACK_IMPORTED_MODULE_15__attr__","__WEBPACK_IMPORTED_MODULE_16__style__","__WEBPACK_IMPORTED_MODULE_17__property__","__WEBPACK_IMPORTED_MODULE_18__classed__","__WEBPACK_IMPORTED_MODULE_19__text__","__WEBPACK_IMPORTED_MODULE_20__html__","__WEBPACK_IMPORTED_MODULE_21__raise__","__WEBPACK_IMPORTED_MODULE_22__lower__","__WEBPACK_IMPORTED_MODULE_23__append__","__WEBPACK_IMPORTED_MODULE_24__insert__","__WEBPACK_IMPORTED_MODULE_25__remove__","__WEBPACK_IMPORTED_MODULE_26__clone__","__WEBPACK_IMPORTED_MODULE_27__datum__","__WEBPACK_IMPORTED_MODULE_28__on__","__WEBPACK_IMPORTED_MODULE_29__dispatch__","select","selectAll","exit","merge","nodes","each","attr","classed","html","raise","lower","append","insert","dispatch","__WEBPACK_IMPORTED_MODULE_1__encode_encode_util__","dataRef","extras","valueOnly","filled","markType","configValue","__WEBPACK_IMPORTED_MODULE_8__common__","transparentIfNeeded","colorVgChannel","fillStrokeMarkDefAndConfig","nonPosition","vgChannel","baseEncodeEntry","ignore","markDefProperties","__WEBPACK_IMPORTED_MODULE_7__vega_schema__","valueIfDefined","validPredicate","vgRef","defined","invalidValues","__WEBPACK_IMPORTED_MODULE_5__scale__","defaultRef","wrapCondition","cDef","__WEBPACK_IMPORTED_MODULE_10__valueref__","refFn","valueRef","conditions","vgConditions","conditionValueRef","__WEBPACK_IMPORTED_MODULE_2__fielddef__","__WEBPACK_IMPORTED_MODULE_9__selection_selection__","__WEBPACK_IMPORTED_MODULE_4__predicate__","textCommon","bandPosition","sizeChannel","centeredBandPositionMixins","centeredBandPosition","defaultPosRef","defaultSizeRef","centerChannel","pointPosition","binnedPosition","stack","pointPosition2","baseChannel","__WEBPACK_IMPORTED_MODULE_0__src_color__","__WEBPACK_IMPORTED_MODULE_1__src_lab__","__WEBPACK_IMPORTED_MODULE_2__src_cubehelix__","transformRotate","rotate","__WEBPACK_IMPORTED_MODULE_7__transform__","stream","scaleTranslate","invert","scaleTranslateRotate","alpha","cosAlpha","__WEBPACK_IMPORTED_MODULE_5__math__","sinAlpha","ai","bi","ci","fi","projectionMutator","projectAt","projectRotateTransform","recenter","lambda","phi","__WEBPACK_IMPORTED_MODULE_6__rotation__","deltaLambda","deltaPhi","deltaGamma","projectTransform","__WEBPACK_IMPORTED_MODULE_3__compose__","projectResample","__WEBPACK_IMPORTED_MODULE_9__resample__","delta2","cache","cacheStream","y0","x1","y1","preclip","__WEBPACK_IMPORTED_MODULE_0__clip_antimeridian__","x0","postclip","__WEBPACK_IMPORTED_MODULE_4__identity__","transformRadians","clipAngle","__WEBPACK_IMPORTED_MODULE_1__clip_circle__","clipExtent","__WEBPACK_IMPORTED_MODULE_2__clip_rectangle__","translate","precision","fitExtent","extent","__WEBPACK_IMPORTED_MODULE_8__fit__","fitSize","fitWidth","fitHeight","isSortField","isSortArray","durationSecond","durationMinute","durationHour","durationDay","durationWeek","zindex","zorder","scene","zdirty","zitems","items","output","visit","visitor","pickVisit","hit","__WEBPACK_IMPORTED_MODULE_0__src_value__","__WEBPACK_IMPORTED_MODULE_1__src_array__","__WEBPACK_IMPORTED_MODULE_2__src_basis__","__WEBPACK_IMPORTED_MODULE_3__src_basisClosed__","__WEBPACK_IMPORTED_MODULE_4__src_date__","__WEBPACK_IMPORTED_MODULE_5__src_number__","__WEBPACK_IMPORTED_MODULE_6__src_object__","__WEBPACK_IMPORTED_MODULE_7__src_round__","__WEBPACK_IMPORTED_MODULE_8__src_string__","__WEBPACK_IMPORTED_MODULE_9__src_transform_index__","__WEBPACK_IMPORTED_MODULE_10__src_zoom__","__WEBPACK_IMPORTED_MODULE_11__src_rgb__","__WEBPACK_IMPORTED_MODULE_12__src_hsl__","__WEBPACK_IMPORTED_MODULE_13__src_lab__","__WEBPACK_IMPORTED_MODULE_14__src_hcl__","__WEBPACK_IMPORTED_MODULE_15__src_cubehelix__","__WEBPACK_IMPORTED_MODULE_16__src_piecewise__","__WEBPACK_IMPORTED_MODULE_17__src_quantize__","Bounds","clear","Number","MAX_VALUE","add","expand","cx","cy","intersect","encloses","alignsWith","intersects","__WEBPACK_IMPORTED_MODULE_0__arc__","__WEBPACK_IMPORTED_MODULE_1__area__","__WEBPACK_IMPORTED_MODULE_2__group__","__WEBPACK_IMPORTED_MODULE_3__image__","__WEBPACK_IMPORTED_MODULE_4__line__","__WEBPACK_IMPORTED_MODULE_5__path__","__WEBPACK_IMPORTED_MODULE_6__rect__","__WEBPACK_IMPORTED_MODULE_7__rule__","__WEBPACK_IMPORTED_MODULE_8__shape__","__WEBPACK_IMPORTED_MODULE_9__symbol__","__WEBPACK_IMPORTED_MODULE_10__text__","__WEBPACK_IMPORTED_MODULE_11__trail__","arc","image","symbol","w","ts","xw","yh","sa","startAngle","ea","endAngle","pa","padAngle","ir","innerRadius","outerRadius","cr","__WEBPACK_IMPORTED_MODULE_1__symbols__","context","arcShape","interp","areahShape","areavShape","curve","__WEBPACK_IMPORTED_MODULE_0__curves__","lineShape","rectangle","rectShape","symbolShape","trailShape","__WEBPACK_IMPORTED_MODULE_2__rectangle__","__WEBPACK_IMPORTED_MODULE_3__trail__","__WEBPACK_IMPORTED_MODULE_4_d3_shape__","trueFunc","gx","gy","pixelRatio","__WEBPACK_IMPORTED_MODULE_0__visit__","hitPath","lw","lc","isArray","isPointInStroke","lineWidth","lineCap","isPointInPath","pickPath","noop","__WEBPACK_IMPORTED_MODULE_0__expression_codegen__","__WEBPACK_IMPORTED_MODULE_1_vega_expression__","preamble","ast","gen","err","callee","visitors","globals","signalName","getSignal","signalRef","$expr","code","$fields","$params","isUrlData","isInlineData","isNamedData","MAIN","RAW","__WEBPACK_IMPORTED_MODULE_0__src_bin__","__WEBPACK_IMPORTED_MODULE_1__src_bootstrapCI__","__WEBPACK_IMPORTED_MODULE_2__src_quartiles__","__WEBPACK_IMPORTED_MODULE_3__src_random__","__WEBPACK_IMPORTED_MODULE_4__src_integer__","__WEBPACK_IMPORTED_MODULE_5__src_kde__","__WEBPACK_IMPORTED_MODULE_6__src_mixture__","__WEBPACK_IMPORTED_MODULE_7__src_normal__","__WEBPACK_IMPORTED_MODULE_8__src_uniform__","setRandom","random","__WEBPACK_IMPORTED_MODULE_0__src_path__","domCreate","doc","tag","ns","createElement","createElementNS","domFind","el","childNodes","tagName","domChild","ownerDocument","insertBefore","domClear","curr","cssClass","marktype","__WEBPACK_IMPORTED_MODULE_0__src_bandSpace__","__WEBPACK_IMPORTED_MODULE_1__src_scales__","__WEBPACK_IMPORTED_MODULE_2__src_interpolate__","__WEBPACK_IMPORTED_MODULE_3__src_schemes__","__WEBPACK_IMPORTED_MODULE_4__src_timeInterval__","__WEBPACK_IMPORTED_MODULE_5_d3_scale__","streamGeometry","geometry","streamGeometryType","streamLine","coordinates","closed","coordinate","lineStart","lineEnd","streamPolygon","polygonStart","polygonEnd","streamObjectType","Feature","FeatureCollection","features","Sphere","sphere","Point","MultiPoint","LineString","MultiLineString","Polygon","MultiPolygon","GeometryCollection","geometries","position","fieldChannel","midPoint","position2","aFieldDef","a2fieldDef","getOffset","offsetChannel","markDefOffsetValue","side","mixins","bandRef","binMidSignal","impute","textDef","mid","sizeRef","mult","domainDefinitelyIncludeZero","domains","getDefaultRef","NaN","linearish","ticks","__WEBPACK_IMPORTED_MODULE_0_d3_array__","tickFormat","__WEBPACK_IMPORTED_MODULE_3__tickFormat__","i0","i1","__WEBPACK_IMPORTED_MODULE_2__continuous__","__WEBPACK_IMPORTED_MODULE_1_d3_interpolate__","Adder","adder","bv","av","temp","valueOf","__WEBPACK_IMPORTED_MODULE_0__src_cluster__","__WEBPACK_IMPORTED_MODULE_1__src_hierarchy_index__","__WEBPACK_IMPORTED_MODULE_2__src_pack_index__","__WEBPACK_IMPORTED_MODULE_5__src_partition__","__WEBPACK_IMPORTED_MODULE_6__src_stratify__","__WEBPACK_IMPORTED_MODULE_7__src_tree__","__WEBPACK_IMPORTED_MODULE_8__src_treemap_index__","__WEBPACK_IMPORTED_MODULE_9__src_treemap_binary__","__WEBPACK_IMPORTED_MODULE_10__src_treemap_dice__","__WEBPACK_IMPORTED_MODULE_11__src_treemap_slice__","__WEBPACK_IMPORTED_MODULE_12__src_treemap_sliceDice__","__WEBPACK_IMPORTED_MODULE_13__src_treemap_squarify__","__WEBPACK_IMPORTED_MODULE_14__src_treemap_resquarify__","isFacetSpec","isUnitSpec","isLayerSpec","isRepeatSpec","isConcatSpec","isVConcatSpec","isHConcatSpec","normalizeFacet","normalizeLayer","normalizeRepeat","normalizeVConcat","normalizeHConcat","hasRow","__WEBPACK_IMPORTED_MODULE_4__encoding__","hasColumn","normalizeFacetedUnit","normalizeNonFacetUnit","subspec","rest","mergeEncoding","parentEncoding","overriden","__WEBPACK_IMPORTED_MODULE_8__util__","mergeProjection","layer","mergedEncoding","mergedProjection","vconcat","hconcat","outerSpec","isNonFacetUnitSpecWithPrimitiveMark","__WEBPACK_IMPORTED_MODULE_6__mark__","getPointOverlay","markConfig","getLineOverlay","normalizeRangedUnit","normalizePathOverlay","__WEBPACK_IMPORTED_MODULE_3__compositemark__","hasX","hasY","normalizedSpec","dropLineAndPoint","pointOverlay","lineOverlay","stackProps","__WEBPACK_IMPORTED_MODULE_7__stack__","overlayEncoding","stackFieldChannel","accumulate","pureFieldDef","fieldDefIndex","childSpec","isStacked","sortArrayIndexField","__WEBPACK_IMPORTED_MODULE_1__fielddef__","CalculateNode","__WEBPACK_IMPORTED_MODULE_2__predicate__","__WEBPACK_IMPORTED_MODULE_3__sort__","__WEBPACK_IMPORTED_MODULE_4__util__","__WEBPACK_IMPORTED_MODULE_5__dataflow__","parseAllForSortIndex","field_1","timeUnit_1","calculate","sortValue","equal","as","out","assemble","accessorName","fname","accessorFields","UniqueList","idFunc","$","list","ids","idx","__WEBPACK_IMPORTED_MODULE_0__src_loader__","__WEBPACK_IMPORTED_MODULE_1__src_read__","__WEBPACK_IMPORTED_MODULE_2__src_type__","__WEBPACK_IMPORTED_MODULE_3__src_formats_index__","__WEBPACK_IMPORTED_MODULE_0__src_defaultLocale__","measureName","createMeasure","AggregateOps","measure","rem","compareIndex","agg","collect","helper","req","compileMeasures","all","ctr","Function","ValidAggregateOps","__count__","missing","valid","sum","mean","average","variance","variancep","stdev","stdevp","stderr","distinct","ci0","ci1","median","q1","q3","argmin","argmax","min","max","TopLeft","TopRight","BottomLeft","BottomRight","Group","RowHeader","RowFooter","RowTitle","ColHeader","ColFooter","ColTitle","Padding","Fit","FitX","FitY","Pad","None","All","Each","Flush","Column","Row","series","j","s0","s1","circleThreshold","beginPath","closePath","moveTo","lineTo","quadraticCurveTo","bezierCurveTo","x3","y3","ccw","xmin","xmax","ymin","ymax","Infinity","tickCount","__WEBPACK_IMPORTED_MODULE_1_vega_scale__","validTicks","lo","hi","endpoints","tickValues","__WEBPACK_IMPORTED_MODULE_3_d3_format__","__WEBPACK_IMPORTED_MODULE_0__scale_types__","variablePrecision","sourceFormat","targetFormat","trimZeroes","decimalChar","dec","rightmostDigit","lastIndexOf","__WEBPACK_IMPORTED_MODULE_1__src_identity__","__WEBPACK_IMPORTED_MODULE_2__src_linear__","__WEBPACK_IMPORTED_MODULE_3__src_log__","__WEBPACK_IMPORTED_MODULE_4__src_ordinal__","__WEBPACK_IMPORTED_MODULE_5__src_pow__","__WEBPACK_IMPORTED_MODULE_6__src_quantile__","__WEBPACK_IMPORTED_MODULE_7__src_quantize__","__WEBPACK_IMPORTED_MODULE_8__src_threshold__","__WEBPACK_IMPORTED_MODULE_9__src_time__","__WEBPACK_IMPORTED_MODULE_10__src_utcTime__","exponential","hue","__WEBPACK_IMPORTED_MODULE_0__constant__","gamma","nogamma","__WEBPACK_IMPORTED_MODULE_2__src_formatSpecifier__","__WEBPACK_IMPORTED_MODULE_3__src_precisionFixed__","__WEBPACK_IMPORTED_MODULE_4__src_precisionPrefix__","__WEBPACK_IMPORTED_MODULE_5__src_precisionRound__","spherical","cartesian","__WEBPACK_IMPORTED_MODULE_0__math__","cosPhi","cartesianDot","cartesianCross","cartesianAddInPlace","cartesianScale","vector","cartesianNormalizeInPlace","azimuthalRaw","azimuthalInvert","z","sc","cc","triangleArea","lexicographic","Diagram","sites","site","edges","cells","beaches","__WEBPACK_IMPORTED_MODULE_4__RedBlackTree__","circles","__WEBPACK_IMPORTED_MODULE_2__Circle__","__WEBPACK_IMPORTED_MODULE_0__Beach__","__WEBPACK_IMPORTED_MODULE_1__Cell__","__WEBPACK_IMPORTED_MODULE_3__Edge__","polygons","cell","polygon","halfedges","triangles","e1","left","right","links","edge","target","find","that","_found","d2","vx","vy","DataScope","input","aggr","fieldKey","addSortField","ds","optype","counts","pulse","countsRef","sortRef","__WEBPACK_IMPORTED_MODULE_1__transforms__","fromEntries","entries","groupby","tuplesRef","extentRef","domainRef","valuesRef","lookupRef","indataRef","expression","ctx","functions","bind","operatorExpression","parameterExpression","eventExpression","handlerExpression","encodeExpression","isAggregateOp","AGGREGATE_OP_INDEX","isCountingAggregateOp","COUNTING_OPS","AGGREGATE_OPS","SUM_OPS","SHARED_DOMAIN_OPS","SHARED_DOMAIN_OP_INDEX","binToString","isBinParams","autoMaxBins","__WEBPACK_IMPORTED_MODULE_1__channel__","isLocalSingleTimeUnit","LOCAL_SINGLE_TIMEUNIT_INDEX","isUtcSingleTimeUnit","UTC_SINGLE_TIMEUNIT_INDEX","isUTCTimeUnit","UTC_TIMEUNIT_INDEX","getLocalTimeUnit","isTimeUnit","TIMEUNIT_INDEX","convert","unit","isUTC","TIMEUNIT_PARTS_1","TIMEUNIT_PARTS","timeUnitPart","containsTimeUnit","TimeUnit","DAY","QUARTER","dateMethods","getDateMethod_1","getDateMethod","setDateMethod","singleUnit","isUtc","rawSetDateMethod","SET_DATE_METHOD","getTimeUnitParts","parts","part","SECONDS","fieldExpr","func","__WEBPACK_IMPORTED_MODULE_3__util__","dateExpr","tu","__WEBPACK_IMPORTED_MODULE_1__datetime__","formatExpression","dateComponents","hasYear","YEAR","MONTH","DATE","timeComponents","HOURS","MINUTES","MILLISECONDS","dateTimeComponents","normalizeTimeUnit","__WEBPACK_IMPORTED_MODULE_2__log__","TIMEUNITS","YEARMONTH","YEARMONTHDATE","YEARMONTHDATEHOURS","YEARMONTHDATEHOURSMINUTES","YEARMONTHDATEHOURSMINUTESSECONDS","MONTHDATE","HOURSMINUTES","HOURSMINUTESSECONDS","MINUTESSECONDS","SECONDSMILLISECONDS","YEARQUARTER","QUARTERMONTH","YEARQUARTERMONTH","UTCYEAR","UTCMONTH","UTCDAY","UTCDATE","UTCHOURS","UTCMINUTES","UTCSECONDS","UTCMILLISECONDS","UTCYEARMONTH","UTCYEARMONTHDATE","UTCYEARMONTHDATEHOURS","UTCYEARMONTHDATEHOURSMINUTES","UTCYEARMONTHDATEHOURSMINUTESSECONDS","UTCMONTHDATE","UTCHOURSMINUTES","UTCHOURSMINUTESSECONDS","UTCMINUTESSECONDS","UTCSECONDSMILLISECONDS","UTCQUARTER","UTCYEARQUARTER","UTCQUARTERMONTH","UTCYEARQUARTERMONTH","year","quarter","month","day","hours","minutes","seconds","milliseconds","utcyear","utcquarter","utcmonth","utcday","utcdate","utchours","utcminutes","utcseconds","utcmilliseconds","LOCAL_MULTI_TIMEUNIT_INDEX","yearquarter","yearquartermonth","yearmonth","yearmonthdate","yearmonthdatehours","yearmonthdatehoursminutes","yearmonthdatehoursminutesseconds","quartermonth","monthdate","hoursminutes","hoursminutesseconds","minutesseconds","secondsmilliseconds","UTC_MULTI_TIMEUNIT_INDEX","utcyearquarter","utcyearquartermonth","utcyearmonth","utcyearmonthdate","utcyearmonthdatehours","utcyearmonthdatehoursminutes","utcyearmonthdatehoursminutesseconds","utcquartermonth","utcmonthdate","utchoursminutes","utchoursminutesseconds","utcminutesseconds","utcsecondsmilliseconds","isSelectionPredicate","isFieldEqualPredicate","isFieldLTPredicate","lt","isFieldLTEPredicate","lte","isFieldGTPredicate","gt","isFieldGTEPredicate","gte","isFieldRangePredicate","isFieldOneOfPredicate","oneOf","in","isFieldPredicate","filterOp","__WEBPACK_IMPORTED_MODULE_2__compile_selection_selection__","fieldFilterExpression","predicateValueExpr","predicateValuesExpr","useInRange","__WEBPACK_IMPORTED_MODULE_4__timeunit__","upper","exprs","normalizePredicate","parseScaleDomain","__WEBPACK_IMPORTED_MODULE_15__model__","parseUnitScaleDomain","parseNonUnitScaleDomain","specifiedScales","localScaleComponents","__WEBPACK_IMPORTED_MODULE_10__util__","specifiedScale","specifiedDomain","parseDomainForChannel","localScaleCmpt","__WEBPACK_IMPORTED_MODULE_8__scale__","__WEBPACK_IMPORTED_MODULE_16__selection_selection__","facetParent","domains_1","__WEBPACK_IMPORTED_MODULE_11__vega_schema__","__WEBPACK_IMPORTED_MODULE_14__data_optimize__","childComponent","dr","__WEBPACK_IMPORTED_MODULE_7__log__","normalizeUnaggregatedDomain","scaleConfig","canUseUnaggregatedDomain","reason","useUnaggregatedDomain","parseSingleChannelDomain","mapDomainToDataSignal","__WEBPACK_IMPORTED_MODULE_6__fielddef__","__WEBPACK_IMPORTED_MODULE_5__data__","domainSort","__WEBPACK_IMPORTED_MODULE_12__common__","__WEBPACK_IMPORTED_MODULE_9__sort__","__WEBPACK_IMPORTED_MODULE_13__data_calculate__","mergeDomains","uniqueDomains","sorts","sort_1","simpleSorts","allData","getFieldFromDomain","nonUnionDomain","assembleDomain","parseLayerLayoutSize","parseChildrenLayoutSize","layoutSizeCmpt","parseNonUnitLayoutSizeForChannel","parseConcatLayoutSize","sizeTypeToMerge","isVConcat","mergedSize","childSize","scaleResolve","__WEBPACK_IMPORTED_MODULE_2__split__","parseUnitLayoutSize","layoutSizeComponent","defaultUnitSize","__WEBPACK_IMPORTED_MODULE_0__scale__","__WEBPACK_IMPORTED_MODULE_1__vega_schema__","view","hasProjection","parseRepeatLayoutSize","creatorInherit","uri","namespaceURI","__WEBPACK_IMPORTED_MODULE_1__namespaces__","creatorFixed","fullname","space","__WEBPACK_IMPORTED_MODULE_0__namespace__","event","svg","ownerSVGElement","createSVGPoint","clientX","clientY","matrixTransform","getScreenCTM","inverse","getBoundingClientRect","clientLeft","top","clientTop","__WEBPACK_IMPORTED_MODULE_0__error__","substring","q","__WEBPACK_IMPORTED_MODULE_0__isArray__","__WEBPACK_IMPORTED_MODULE_1__isObject__","__WEBPACK_IMPORTED_MODULE_2__isString__","Operator","react","OP_ID","stamp","rank","qrank","flags","_update","parameters","flag","bit","state","__WEBPACK_IMPORTED_MODULE_0__Parameters__","__WEBPACK_IMPORTED_MODULE_1__util_UniqueList__","NO_PARAMS","targets","_targets","modified","self","deps","argops","argval","_argval","_argops","marshall","mod","evaluate","StopPropagation","run","rv","__WEBPACK_IMPORTED_MODULE_1__src_millisecond__","__WEBPACK_IMPORTED_MODULE_2__src_second__","__WEBPACK_IMPORTED_MODULE_3__src_minute__","__WEBPACK_IMPORTED_MODULE_4__src_hour__","__WEBPACK_IMPORTED_MODULE_5__src_day__","__WEBPACK_IMPORTED_MODULE_6__src_week__","__WEBPACK_IMPORTED_MODULE_7__src_month__","__WEBPACK_IMPORTED_MODULE_8__src_year__","__WEBPACK_IMPORTED_MODULE_9__src_utcMinute__","__WEBPACK_IMPORTED_MODULE_10__src_utcHour__","__WEBPACK_IMPORTED_MODULE_11__src_utcDay__","__WEBPACK_IMPORTED_MODULE_12__src_utcWeek__","__WEBPACK_IMPORTED_MODULE_13__src_utcMonth__","__WEBPACK_IMPORTED_MODULE_14__src_utcYear__","Pulse","dataflow","addFilter","materialize","__WEBPACK_IMPORTED_MODULE_0__Tuple__","ADD","REM","MOD","ADD_REM","ADD_MOD","ALL","REFLOW","SOURCE","NO_SOURCE","NO_FIELDS","fork","addAll","addF","remF","modF","srcF","runAfter","changed","reflow","len","modifies","__WEBPACK_IMPORTED_MODULE_0__src_domCanvas__","Linear","_context","areaStart","_line","areaEnd","_point","_x0","_x1","_y0","_y1","Basis","_k","_x2","_y2","Cardinal","custom","cardinal","cmdlen","regexp","pathstr","chunks","parsed","param","cmd","split","trim","drawAll","__WEBPACK_IMPORTED_MODULE_2__visit__","drawPath","drawOne","__WEBPACK_IMPORTED_MODULE_0__fill__","__WEBPACK_IMPORTED_MODULE_1__stroke__","__WEBPACK_IMPORTED_MODULE_0__color__","Empty","globalAlpha","strokeStyle","lineJoin","miterLimit","setLineDash","lineDashOffset","__WEBPACK_IMPORTED_MODULE_0__translate__","resetSVGClipId","clip_id","renderer","clip","_defs","clipping","estimateWidth","currFontHeight","estimate","textValue","measureWidth","measureText","useCanvas","use","__WEBPACK_IMPORTED_MODULE_0_vega_canvas__","getContext","textMetrics","truncate","rtl","fontFamily","quote","fontVariant","canvas","Renderer","loader","_el","_bgcolor","_loader","__WEBPACK_IMPORTED_MODULE_0__ResourceLoader__","initialize","origin","scaleFactor","resize","element","firstChild","background","bgcolor","_width","_height","_origin","_scale","dirty","render","_call","_render","renderAsync","_ready","_load","method","ready","redraw","sanitizeURL","loadImage","__WEBPACK_IMPORTED_MODULE_0__src_nest__","__WEBPACK_IMPORTED_MODULE_2__src_map__","deinterpolateLinear","__WEBPACK_IMPORTED_MODULE_3__constant__","deinterpolateClamp","deinterpolate","reinterpolateClamp","reinterpolate","bimap","r0","polymap","continuous","rescale","piecewise","__WEBPACK_IMPORTED_MODULE_2__array__","__WEBPACK_IMPORTED_MODULE_4__number__","rangeRound","__WEBPACK_IMPORTED_MODULE_0__formatDecimal__","__WEBPACK_IMPORTED_MODULE_0__src_projections__","rotationIdentity","__WEBPACK_IMPORTED_MODULE_1__math__","rotateRadians","__WEBPACK_IMPORTED_MODULE_0__compose__","rotationLambda","rotationPhiGamma","forwardRotationLambda","rotation","cosDeltaPhi","sinDeltaPhi","cosDeltaGamma","sinDeltaGamma","forward","clipRectangle","visible","to","a1","corner","comparePoint","compareIntersection","ca","activeStream","polygonInside","winding","a0","ring","b0","b1","bufferStream","segments","clean","startInside","cleanInside","__WEBPACK_IMPORTED_MODULE_4_d3_array__","__WEBPACK_IMPORTED_MODULE_3__rejoin__","clipStream","linePoint","first","v_","x_","y_","x__","y__","v__","rejoin","clipMin","clipMax","__WEBPACK_IMPORTED_MODULE_2__line__","__WEBPACK_IMPORTED_MODULE_1__buffer__","transformer","methods","TransformStream","HierarchyLayout","__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__","setParams","setFields","_viewWidth","_viewHeight","bottom","resizeRenderer","_renderer","_background","_handler","_resizeListeners","handler","error","__WEBPACK_IMPORTED_MODULE_0__signal_updates__","__WEBPACK_IMPORTED_MODULE_1__scale__","__WEBPACK_IMPORTED_MODULE_2__projection__","__WEBPACK_IMPORTED_MODULE_3__legend__","__WEBPACK_IMPORTED_MODULE_4__signal__","__WEBPACK_IMPORTED_MODULE_5__title__","__WEBPACK_IMPORTED_MODULE_6__data__","__WEBPACK_IMPORTED_MODULE_7__mark__","__WEBPACK_IMPORTED_MODULE_8__axis__","__WEBPACK_IMPORTED_MODULE_9_vega_util__","preprocessed","projections","parseLambdas","getScale","__WEBPACK_IMPORTED_MODULE_3_vega_util__","addScaleDependency","__WEBPACK_IMPORTED_MODULE_1__prefixes__","scaleRef","scaleVisitor","__WEBPACK_IMPORTED_MODULE_0__ast__","bandwidth","bandspace","__WEBPACK_IMPORTED_MODULE_2_vega_scale__","invertRange","invertExtent","indexPrefix","scalePrefix","dataPrefix","__WEBPACK_IMPORTED_MODULE_0__src_event_selector__","__WEBPACK_IMPORTED_MODULE_1__field__","__WEBPACK_IMPORTED_MODULE_2__scale__","__WEBPACK_IMPORTED_MODULE_3__gradient__","__WEBPACK_IMPORTED_MODULE_4__property__","__WEBPACK_IMPORTED_MODULE_5__expression__","__WEBPACK_IMPORTED_MODULE_6_vega_util__","gradient","__WEBPACK_IMPORTED_MODULE_0__expression__","parseOverlap","overlap","tol","bound","__WEBPACK_IMPORTED_MODULE_14__util__","tolerance","boundTolerance","boundScale","boundOrient","__WEBPACK_IMPORTED_MODULE_16__transforms__","__WEBPACK_IMPORTED_MODULE_0__marks_clip__","__WEBPACK_IMPORTED_MODULE_1__marks_definition__","__WEBPACK_IMPORTED_MODULE_2__marks_interactive__","__WEBPACK_IMPORTED_MODULE_3__marks_data__","__WEBPACK_IMPORTED_MODULE_4__marks_facet__","__WEBPACK_IMPORTED_MODULE_5__marks_subflow__","__WEBPACK_IMPORTED_MODULE_6__marks_role__","__WEBPACK_IMPORTED_MODULE_7__marks_marktypes__","__WEBPACK_IMPORTED_MODULE_8__marks_roles__","__WEBPACK_IMPORTED_MODULE_9__encode_encode_util__","__WEBPACK_IMPORTED_MODULE_11__trigger__","__WEBPACK_IMPORTED_MODULE_12__spec__","__WEBPACK_IMPORTED_MODULE_13__DataScope__","__WEBPACK_IMPORTED_MODULE_15_vega_util__","sieve","joinRef","markRef","encodeRef","layoutRef","boundRef","nested","markdef","$context","markpath","tx","metadata","generates","changes","objectProperty","legendMargin","operators","pushState","popState","addData","toggle","normalizer","normalizerRegistry","__WEBPACK_IMPORTED_MODULE_1__mark__","COMPOSITE_MARK_STYLES","VL_ONLY_COMPOSITE_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX","__WEBPACK_IMPORTED_MODULE_2__boxplot__","__WEBPACK_IMPORTED_MODULE_3__errorbar__","isDateTime","normalizeQuarter","normalizeMonth","lowerM","monthIndex","MONTHS","shortM","shortMonthIndex","SHORT_MONTHS","normalizeDay","lowerD","dayIndex","DAYS","shortD","shortDayIndex","SHORT_DAYS","dateTimeExpr","units","SUNDAY_YEAR","buildModel","unitSize","fit","__WEBPACK_IMPORTED_MODULE_1__spec__","__WEBPACK_IMPORTED_MODULE_3__facet__","__WEBPACK_IMPORTED_MODULE_4__layer__","__WEBPACK_IMPORTED_MODULE_6__unit__","__WEBPACK_IMPORTED_MODULE_5__repeat__","__WEBPACK_IMPORTED_MODULE_2__concat__","__WEBPACK_IMPORTED_MODULE_0__log__","parseRoot","__WEBPACK_IMPORTED_MODULE_20__source__","facetRoot","parseTransformArray","head","ancestorParse","lookupCounter","__WEBPACK_IMPORTED_MODULE_3__transform__","__WEBPACK_IMPORTED_MODULE_9__calculate__","__WEBPACK_IMPORTED_MODULE_14__formatparse__","makeImplicitFromFilterTransform","__WEBPACK_IMPORTED_MODULE_12__filter__","__WEBPACK_IMPORTED_MODULE_8__bin__","makeFromTransform","__WEBPACK_IMPORTED_MODULE_22__timeunit__","__WEBPACK_IMPORTED_MODULE_7__aggregate__","__WEBPACK_IMPORTED_MODULE_6__selection_selection__","__WEBPACK_IMPORTED_MODULE_17__identifier__","__WEBPACK_IMPORTED_MODULE_19__lookup__","make","window_1","__WEBPACK_IMPORTED_MODULE_23__window__","_f","_g","__WEBPACK_IMPORTED_MODULE_21__stack__","_h","_j","__WEBPACK_IMPORTED_MODULE_18__index__","parseNothing","__WEBPACK_IMPORTED_MODULE_5__model__","parentIsLayer","makeFromEncoding","makeImplicitFromEncoding","__WEBPACK_IMPORTED_MODULE_15__geojson__","parseAll","__WEBPACK_IMPORTED_MODULE_16__geopoint__","rawName","__WEBPACK_IMPORTED_MODULE_1__data__","__WEBPACK_IMPORTED_MODULE_10__dataflow__","__WEBPACK_IMPORTED_MODULE_13__filterinvalid__","mainName","facetName","makeFromFacet","__WEBPACK_IMPORTED_MODULE_11__facet__","assembleLayoutSignals","sizeSignals","__WEBPACK_IMPORTED_MODULE_2__model__","stepSignal","sizeExpr","cardinality","defaultScaleResolve","__WEBPACK_IMPORTED_MODULE_3__model__","__WEBPACK_IMPORTED_MODULE_0__channel__","parseGuideResolve","channelScaleResolve","guide","FacetNode","__WEBPACK_IMPORTED_MODULE_6__sort__","__WEBPACK_IMPORTED_MODULE_8__scale_domain__","sortField","sortIndexField","childModel","getChildIndependentFieldsWithStep","childIndependentFieldsWithStep","childScaleComponent","assembleRowColumnData","crossedDataName","childChannel","SourceNode","__WEBPACK_IMPORTED_MODULE_3__dataflow__","_data","url","defaultExtension","exec","hasName","_hash","TimeUnitNode","__WEBPACK_IMPORTED_MODULE_2__timeunit__","__WEBPACK_IMPORTED_MODULE_4__dataflow__","formula","timeUnitComponent","__WEBPACK_IMPORTED_MODULE_3__scale__","__WEBPACK_IMPORTED_MODULE_4__selection__","scaleBindings","toObject","propIsEnumerable","propertyIsEnumerable","test1","getOwnPropertyNames","test2","fromCharCode","test3","letter","symbols","__WEBPACK_IMPORTED_MODULE_0__namespaces__","xhtml","xlink","xml","xmlns","none","selector","querySelector","defaultView","filterContextListener","listener","contextListener","related","relatedTarget","compareDocumentPosition","event1","event0","__data__","parseTypenames","typenames","onRemove","typename","__on","removeEventListener","capture","onAdd","wrap","filterEvents","addEventListener","mouseenter","mouseleave","__WEBPACK_IMPORTED_MODULE_0__selection_on__","sourceEvent","isChangeSet","changeset","remp","modp","modify","tuple","tuples","cur","isTuple","tupleid","TUPLE_ID_KEY","setid","ingest","TUPLE_ID","derive","rederive","objectConverter","customConverter","inferColumns","rows","columnSet","EOL","EOF","QUOTE","NEWLINE","RETURN","delimiter","parseRows","token","eof","eol","I","N","DELIMITER","formatValue","formatRows","formatRow","reFormat","RegExp","__WEBPACK_IMPORTED_MODULE_0__identity__","kx","ky","feature","topology","bbox","properties","points","arcs","transformPoint","__WEBPACK_IMPORTED_MODULE_0__reverse__","__WEBPACK_IMPORTED_MODULE_1__transform__","defaultLocale","definition","locale","__WEBPACK_IMPORTED_MODULE_0__locale__","timeParse","utcFormat","utcParse","dateTime","periods","days","shortDays","months","shortMonths","__WEBPACK_IMPORTED_MODULE_3_vega_dataflow__","_adds","_mods","_alen","_mlen","_drop","_cross","_dims","_dnames","_measures","_countOnly","_counts","_prev","_inputs","_outputs","__WEBPACK_IMPORTED_MODULE_0__util_AggregateKeys__","__WEBPACK_IMPORTED_MODULE_1__util_AggregateOps__","__WEBPACK_IMPORTED_MODULE_2__util_TupleStore__","__WEBPACK_IMPORTED_MODULE_4_vega_util__","Definition","null","default","drop","cross","dims","generate","inputVisit","inputMap","inputs","outputs","dname","cellkey","mname","outname","newcell","newtuple","measures","names","celltuple","adds","mods","prev","__WEBPACK_IMPORTED_MODULE_0__number__","valueof","value0","__WEBPACK_IMPORTED_MODULE_0_d3_path__","__WEBPACK_IMPORTED_MODULE_1__constant__","__WEBPACK_IMPORTED_MODULE_2__curve_linear__","__WEBPACK_IMPORTED_MODULE_3__point__","buffer","defined0","_l01_a","_l01_2a","_l12_a","_l12_2a","_l23_a","_l23_2a","CatmullRom","_alpha","__WEBPACK_IMPORTED_MODULE_1__cardinal__","x23","y23","catmullRom","__WEBPACK_IMPORTED_MODULE_0__none__","sums","drawArc","coords","seg","bez","tempX","tempY","tempControlX","tempControlY","controlX","controlY","__WEBPACK_IMPORTED_MODULE_0__bound_boundStroke__","__WEBPACK_IMPORTED_MODULE_1__bound_boundContext__","__WEBPACK_IMPORTED_MODULE_2__util_canvas_draw__","__WEBPACK_IMPORTED_MODULE_3__util_canvas_pick__","__WEBPACK_IMPORTED_MODULE_4__util_svg_translateItem__","emit","draw","fillStyle","pickArea","pickLine","pickTrail","dd","tip","Handler","customLoader","customTooltip","_active","_handlers","__WEBPACK_IMPORTED_MODULE_2_vega_loader__","_tooltip","defaultTooltip","setAttribute","__WEBPACK_IMPORTED_MODULE_0__util_dom__","__WEBPACK_IMPORTED_MODULE_1__util_resolveItem__","_obj","_scene","off","_handlerIndex","handlers","eventName","handleHref","sanitize","MouseEvent","dispatchEvent","catch","handleTooltip","show","getItemBoundingClientRect","itemBounds","openTag","closeTag","Log","Pow","Utc","Sqrt","Band","Time","Ordinal","Quantile","Quantize","Threshold","BinLinear","BinOrdinal","Sequential","Map","__WEBPACK_IMPORTED_MODULE_0_d3_color__","__WEBPACK_IMPORTED_MODULE_1__rgb__","__WEBPACK_IMPORTED_MODULE_3__date__","__WEBPACK_IMPORTED_MODULE_5__object__","__WEBPACK_IMPORTED_MODULE_6__string__","__WEBPACK_IMPORTED_MODULE_7__constant__","Color","reHex3","parseInt","Rgb","reHex6","rgbn","reRgbInteger","reRgbPercent","reRgbaInteger","rgba","reRgbaPercent","reHslPercent","hsla","reHslaPercent","named","rgbConvert","rgb","hex","Hsl","hslConvert","hsl","hsl2rgb","m1","m2","darker","brighter","__WEBPACK_IMPORTED_MODULE_0__define__","reI","reN","reP","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","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","displayable","extend","factory","basis","v0","v3","t2","t3","toExponential","coefficient","__WEBPACK_IMPORTED_MODULE_0__src_area__","__WEBPACK_IMPORTED_MODULE_1__src_bounds__","__WEBPACK_IMPORTED_MODULE_2__src_centroid__","__WEBPACK_IMPORTED_MODULE_10__src_graticule__","__WEBPACK_IMPORTED_MODULE_13__src_path_index__","__WEBPACK_IMPORTED_MODULE_14__src_projection_albers__","__WEBPACK_IMPORTED_MODULE_15__src_projection_albersUsa__","__WEBPACK_IMPORTED_MODULE_16__src_projection_azimuthalEqualArea__","__WEBPACK_IMPORTED_MODULE_17__src_projection_azimuthalEquidistant__","__WEBPACK_IMPORTED_MODULE_18__src_projection_conicConformal__","__WEBPACK_IMPORTED_MODULE_19__src_projection_conicEqualArea__","__WEBPACK_IMPORTED_MODULE_20__src_projection_conicEquidistant__","__WEBPACK_IMPORTED_MODULE_21__src_projection_equirectangular__","__WEBPACK_IMPORTED_MODULE_22__src_projection_gnomonic__","__WEBPACK_IMPORTED_MODULE_23__src_projection_identity__","__WEBPACK_IMPORTED_MODULE_25__src_projection_mercator__","__WEBPACK_IMPORTED_MODULE_26__src_projection_naturalEarth1__","__WEBPACK_IMPORTED_MODULE_27__src_projection_orthographic__","__WEBPACK_IMPORTED_MODULE_28__src_projection_stereographic__","__WEBPACK_IMPORTED_MODULE_29__src_projection_transverseMercator__","conicEqualAreaRaw","sy0","__WEBPACK_IMPORTED_MODULE_2__cylindricalEqualArea__","r0y","__WEBPACK_IMPORTED_MODULE_1__conic__","conicProjection","phi0","phi1","__WEBPACK_IMPORTED_MODULE_1__index__","parallels","fitBounds","__WEBPACK_IMPORTED_MODULE_0__stream__","__WEBPACK_IMPORTED_MODULE_1__path_bounds__","mercatorRaw","mercatorProjection","reclip","__WEBPACK_IMPORTED_MODULE_1__rotation__","__WEBPACK_IMPORTED_MODULE_2__index__","now","clockNow","setFrame","clearNow","clock","clockSkew","Timer","_time","_next","timer","callback","delay","restart","timerFlush","frame","taskHead","wake","clockLast","timeout","nap","poke","pokeDelay","taskTail","sleep","clearTimeout","setTimeout","clearInterval","setInterval","performance","window","requestAnimationFrame","hierarchy","childs","Node","valued","defaultChildren","depth","eachBefore","computeHeight","node_copy","copyData","__WEBPACK_IMPORTED_MODULE_0__count__","__WEBPACK_IMPORTED_MODULE_1__each__","__WEBPACK_IMPORTED_MODULE_2__eachBefore__","__WEBPACK_IMPORTED_MODULE_3__eachAfter__","__WEBPACK_IMPORTED_MODULE_4__sum__","__WEBPACK_IMPORTED_MODULE_5__sort__","__WEBPACK_IMPORTED_MODULE_6__path__","__WEBPACK_IMPORTED_MODULE_7__ancestors__","__WEBPACK_IMPORTED_MODULE_8__descendants__","__WEBPACK_IMPORTED_MODULE_9__leaves__","__WEBPACK_IMPORTED_MODULE_10__links__","eachAfter","ancestors","descendants","leaves","optional","required","squarifyRatio","ratio","nodeValue","sumValue","minValue","maxValue","newRatio","minRatio","beta","dice","__WEBPACK_IMPORTED_MODULE_0__dice__","__WEBPACK_IMPORTED_MODULE_1__slice__","squarify","RedBlackTree","RedBlackNode","U","C","L","R","RedBlackRotateLeft","tree","RedBlackRotateRight","RedBlackFirst","after","grandpa","uncle","sibling","createEdge","__WEBPACK_IMPORTED_MODULE_0__Diagram__","setEdgeEnd","createBorderEdge","vertex","clipEdge","ax","ay","bx","by","connectEdge","fm","fb","lx","ly","rx","ry","fx","fy","clipEdges","__WEBPACK_IMPORTED_MODULE_0__initialize_renderer__","__WEBPACK_IMPORTED_MODULE_1_vega_scenegraph__","headless","runAsync","_scenegraph","outerError","OUTER_INVALID","addSignal","addBinding","Literal","Identifier","dataVisitor","dataName","getData","indata","indataVisitor","indexName","setdata","df","__WEBPACK_IMPORTED_MODULE_0__marks_marktypes__","parseParameters","pdef","parseParameter","parseIndexParameter","parseSubParameters","projectionRef","parameterValue","isExpr","isField","isCompare","outerExpr","exprRef","outerField","isData","parseSubParameter","__WEBPACK_IMPORTED_MODULE_2__transforms__","proxy","isLogicalOr","isLogicalAnd","isLogicalNot","forEachLeaf","subop","normalizeLogicalOperand","isAxisProperty","AXIS_PROPERTIES_INDEX","AXIS_PARTS","AXIS_PROPERTY_TYPE","VG_AXIS_PROPERTIES","AXIS_PROPERTIES","grid","gridScale","labels","labelFlush","labelOverlap","minExtent","maxExtent","COMMON_AXIS_PROPERTIES_INDEX","labelBound","labelPadding","tickSize","titlePadding","labelAngle","titleMaxLength","VG_AXIS_PROPERTIES_INDEX","defaultLegendConfig","LEGEND_PROPERTIES","VG_LEGEND_PROPERTIES","COMMON_LEGEND_PROPERTY_INDEX","entryPadding","VG_LEGEND_PROPERTY_INDEX","SELECTION_ID","defaultConfig","single","multi","zoom","isStackOffset","STACK_OFFSET_INDEX","potentialStackedChannel","xDef","yDef","stackConfig","STACKABLE_MARKS","stackedFieldDef","stackedField","dimensionChannel","dimensionDef","dimensionField","stackBy","STACK_BY_DEFAULT_MARKS","__WEBPACK_IMPORTED_MODULE_7__scale__","__WEBPACK_IMPORTED_MODULE_1__aggregate__","groupbyChannel","isFilter","isLookup","isWindow","isCalculate","isBin","isStack","normalizeTransform","__WEBPACK_IMPORTED_MODULE_0__logical__","__WEBPACK_IMPORTED_MODULE_1__predicate__","addDimension","__WEBPACK_IMPORTED_MODULE_5__common__","mergeMeasures","parentMeasures","childMeasures","AggregateNode","__WEBPACK_IMPORTED_MODULE_6__dataflow__","dimensions","fd","meas","addDimensions","FilterInvalidNode","__WEBPACK_IMPORTED_MODULE_3__mark__","aggregator","filters","vegaFilters","parseExpression","ParseNode","__WEBPACK_IMPORTED_MODULE_3__datetime__","__WEBPACK_IMPORTED_MODULE_6__logical__","__WEBPACK_IMPORTED_MODULE_7__predicate__","__WEBPACK_IMPORTED_MODULE_10__model__","__WEBPACK_IMPORTED_MODULE_11__split__","__WEBPACK_IMPORTED_MODULE_12__dataflow__","_parse","makeWithAncestors","parsedAs","assembleFormatParse","formatParse","assembleTransforms","onlyNested","getStackByFields","_field","isValidAsArray","StackNode","__WEBPACK_IMPORTED_MODULE_4__common__","_stack","stackTransform","sortFields","sortOrder","normalizedAs","stackField","facetby","stackProperties","dimensionFieldDef","stackby","getGroupbyFields","channelSignals","__WEBPACK_IMPORTED_MODULE_6__selection__","hasScales","__WEBPACK_IMPORTED_MODULE_7__transforms_scales__","scaleStr","coord","evt","between","SCALE_TRIGGER","BRUSH","intervals","tupleTriggers","scaleTriggers","filterExpr_1","cs","toNum","vgStroke","__WEBPACK_IMPORTED_MODULE_2__selection__","nearest","cellDef","isVoronoi","exists","getThen","ex","LAST_ERROR","IS_ERROR","tryCallOne","tryCallTwo","_75","_83","_18","_38","doResolve","safeThen","onFulfilled","onRejected","res","handle","deferred","_47","handleResolved","asap","promise","ret","newValue","finale","_71","_44","eval","invariant","validateFormat","argIndex","framesToPop","emptyObject","makeEmptyFunction","arg","emptyFunction","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","__WEBPACK_IMPORTED_MODULE_0__selection_index__","querySelectorAll","matcher","matches","vendorMatches","webkitMatchesSelector","msMatchesSelector","mozMatchesSelector","oMatchesSelector","EnterNode","__WEBPACK_IMPORTED_MODULE_0__sparse__","_enter","appendChild","styleRemove","removeProperty","styleConstant","priority","setProperty","styleFunction","styleValue","getPropertyValue","__WEBPACK_IMPORTED_MODULE_0__window__","getComputedStyle","identity","one","truthy","falsy","__WEBPACK_IMPORTED_MODULE_0__accessor__","__WEBPACK_IMPORTED_MODULE_1__splitAccessPath__","__WEBPACK_IMPORTED_MODULE_2__stringValue__","reps","Parameters","CACHE","writable","force","EventStream","receive","STREAM_ID","_filter","_apply","__WEBPACK_IMPORTED_MODULE_0__util_UniqueList__","consume","_consume","trg","preventDefault","stopPropagation","throttle","pause","debounce","active","inferType","typeTests","isValid","typeList","inferTypes","types","isDate","isNumber","isInteger","typeParsers","boolean","integer","number","string","unknown","__WEBPACK_IMPORTED_MODULE_0__dsv__","__WEBPACK_IMPORTED_MODULE_1__json__","__WEBPACK_IMPORTED_MODULE_2__topojson__","formats","dsv","csv","tsv","json","topojson","Buffer","isBuffer","parseJSON","__WEBPACK_IMPORTED_MODULE_0__transform__","bboxPoint","bboxGeometry","objects","ends","p1","p0","dp","flush","fragmentByEnd","fragmentByStart","stitchedArcs","fragments","emptyIndex","fg","gf","localDate","H","M","S","setFullYear","utcDate","setUTCFullYear","newYear","formatLocale","newFormat","pad","pads","newParse","newDate","week","parseSpecifier","Q","V","getUTCDay","__WEBPACK_IMPORTED_MODULE_0_d3_time__","getUTCFullYear","getUTCMonth","getUTCDate","getDay","getFullYear","getMonth","getDate","W","Z","parses","parsePeriod","periodRe","periodLookup","parseShortWeekday","shortWeekdayRe","shortWeekdayLookup","parseWeekday","weekdayRe","weekdayLookup","parseShortMonth","shortMonthRe","shortMonthLookup","parseMonth","monthRe","monthLookup","parseLocaleDateTime","locale_dateTime","parseLocaleDate","locale_date","parseLocaleTime","locale_time","formatShortWeekday","locale_shortWeekdays","formatWeekday","locale_weekdays","formatShortMonth","locale_shortMonths","formatMonth","locale_months","formatPeriod","locale_periods","getHours","formatUTCShortWeekday","formatUTCWeekday","formatUTCShortMonth","formatUTCMonth","formatUTCPeriod","getUTCHours","formatRe","formatLookup","A","B","formatDayOfMonth","formatMicroseconds","formatHour24","formatHour12","formatDayOfYear","formatMilliseconds","formatMonthNumber","formatMinutes","formatUnixTimestamp","formatUnixTimestampSeconds","formatSeconds","formatWeekdayNumberMonday","formatWeekNumberSunday","formatWeekNumberISO","formatWeekdayNumberSunday","formatWeekNumberMonday","formatYear","formatFullYear","formatZone","%","formatLiteralPercent","utcFormats","formatUTCDayOfMonth","formatUTCMicroseconds","formatUTCHour24","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","formatUTCMonthNumber","formatUTCMinutes","formatUTCSeconds","formatUTCWeekdayNumberMonday","formatUTCWeekNumberSunday","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCFullYear","formatUTCZone","parseDayOfMonth","parseMicroseconds","parseHour24","parseDayOfYear","parseMilliseconds","parseMonthNumber","parseMinutes","parseUnixTimestamp","parseUnixTimestampSeconds","parseSeconds","parseWeekdayNumberMonday","parseWeekNumberSunday","parseWeekNumberISO","parseWeekdayNumberSunday","parseWeekNumberMonday","parseYear","parseFullYear","parseZone","parseLiteralPercent","requote","requoteRe","numberRe","percentRe","getMilliseconds","getMinutes","getSeconds","getTimezoneOffset","getUTCMilliseconds","getUTCMinutes","getUTCSeconds","dow","-","0","formatIsoNative","toISOString","isoSpecifier","__WEBPACK_IMPORTED_MODULE_0__defaultLocale__","MultiPulse","pulses","__WEBPACK_IMPORTED_MODULE_0__Pulse__","multikey","groupkey","TupleStore","_key","__WEBPACK_IMPORTED_MODULE_1_vega_statistics__","_add","_rem","_ext","_get","_q","quartile","q2","_ci","numbers","bisectRight","bisectLeft","__WEBPACK_IMPORTED_MODULE_0__ascending__","__WEBPACK_IMPORTED_MODULE_1__bisector__","ascendingBisect","ascendingComparator","pair","__WEBPACK_IMPORTED_MODULE_0__variance__","delta","tickIncrement","power","LN10","e10","e5","e2","tickStep","step0","step1","LN2","__WEBPACK_IMPORTED_MODULE_0__min__","matrix","transpose","__WEBPACK_IMPORTED_MODULE_0__numbers__","__WEBPACK_IMPORTED_MODULE_1_d3_array__","__WEBPACK_IMPORTED_MODULE_0__random__","mu","sigma","dist","sample","rds","pdf","cdf","icdf","SQRT2","cnt","resort","__WEBPACK_IMPORTED_MODULE_1_vega_dataflow__","_keys","__WEBPACK_IMPORTED_MODULE_0__Subflow__","activate","flow","subflow","flows","sf","_group","connect","rekey","delete","k0","k1","cleanThreshold","Subflow","fieldNames","WindowOp","WindowOps","ValidWindowOps","row_number","dense_rank","drank","percent_rank","cume_dist","cume","ntile","lag","lead","first_value","last_value","nth_value","nth","GroupItem","__WEBPACK_IMPORTED_MODULE_0__Item__","Item","__WEBPACK_IMPORTED_MODULE_0__Bounds__","ResourceLoader","_pending","__WEBPACK_IMPORTED_MODULE_1_vega_loader__","increment","decrement","pending","Image","img","onload","loaded","onerror","accept","poll","sceneToJSON","indent","sceneFromJSON","__WEBPACK_IMPORTED_MODULE_0__bound_boundMark__","__WEBPACK_IMPORTED_MODULE_1__boundItem__","__WEBPACK_IMPORTED_MODULE_2__marks_index__","DUMMY","hasItems","__WEBPACK_IMPORTED_MODULE_1__marks_index__","curves","orientation","__WEBPACK_IMPORTED_MODULE_0_d3_shape__","basis-closed","basis-open","bundle","cardinal-open","cardinal-closed","catmull-rom","catmull-rom-closed","catmull-rom-open","linear-closed","monotone","horizontal","vertical","natural","step-after","step-before","__WEBPACK_IMPORTED_MODULE_0__src_arc__","__WEBPACK_IMPORTED_MODULE_1__src_area__","__WEBPACK_IMPORTED_MODULE_2__src_line__","__WEBPACK_IMPORTED_MODULE_8__src_symbol__","__WEBPACK_IMPORTED_MODULE_16__src_curve_basisClosed__","__WEBPACK_IMPORTED_MODULE_17__src_curve_basisOpen__","__WEBPACK_IMPORTED_MODULE_18__src_curve_basis__","__WEBPACK_IMPORTED_MODULE_19__src_curve_bundle__","__WEBPACK_IMPORTED_MODULE_20__src_curve_cardinalClosed__","__WEBPACK_IMPORTED_MODULE_21__src_curve_cardinalOpen__","__WEBPACK_IMPORTED_MODULE_22__src_curve_cardinal__","__WEBPACK_IMPORTED_MODULE_23__src_curve_catmullRomClosed__","__WEBPACK_IMPORTED_MODULE_24__src_curve_catmullRomOpen__","__WEBPACK_IMPORTED_MODULE_25__src_curve_catmullRom__","__WEBPACK_IMPORTED_MODULE_26__src_curve_linearClosed__","__WEBPACK_IMPORTED_MODULE_27__src_curve_linear__","__WEBPACK_IMPORTED_MODULE_28__src_curve_monotone__","__WEBPACK_IMPORTED_MODULE_29__src_curve_natural__","__WEBPACK_IMPORTED_MODULE_30__src_curve_step__","__WEBPACK_IMPORTED_MODULE_3__line__","__WEBPACK_IMPORTED_MODULE_4__point__","x0z","y0z","arealine","lineX0","lineY0","lineY1","lineX1","Radial","_curve","curveRadial","radial","curveRadialLinear","__WEBPACK_IMPORTED_MODULE_0__linear__","lineRadial","__WEBPACK_IMPORTED_MODULE_0__curve_radial__","tan30","tan30_2","kr","sqrt3","CardinalClosed","__WEBPACK_IMPORTED_MODULE_0__noop__","_x3","_x4","_x5","_y3","_y4","_y5","CardinalOpen","__WEBPACK_IMPORTED_MODULE_0__cardinal__","builtins","customSymbol","__WEBPACK_IMPORTED_MODULE_0__parse__","__WEBPACK_IMPORTED_MODULE_1__render__","halfSqrt3","diamond","triangle-up","triangle-down","triangle-right","triangle-left","rectangleX","rectangleY","rectangleWidth","rectangleHeight","constant","w2","r2","ux","uy","ud","__WEBPACK_IMPORTED_MODULE_0__gradient__","CanvasHandler","__WEBPACK_IMPORTED_MODULE_0__Handler__","_down","_touch","_first","move","moveEvent","overEvent","outEvent","pickEvent","fire","inactive","__WEBPACK_IMPORTED_MODULE_2__util_events__","__WEBPACK_IMPORTED_MODULE_3__util_point__","__WEBPACK_IMPORTED_MODULE_4__util_dom__","__WEBPACK_IMPORTED_MODULE_5_vega_util__","_canvas","DOMMouseScroll","mousemove","dragover","mouseout","dragleave","mousedown","click","touchstart","changedTouches","touchmove","touchend","touch","vegaType","Events","TooltipShowEvent","TooltipHideEvent","HrefEvent","CanvasRenderer","__WEBPACK_IMPORTED_MODULE_0__Renderer__","_redraw","_dirty","__WEBPACK_IMPORTED_MODULE_1__Bounds__","clipToBounds","tempBounds","__WEBPACK_IMPORTED_MODULE_3__util_dom__","__WEBPACK_IMPORTED_MODULE_4__util_canvas_clip__","__WEBPACK_IMPORTED_MODULE_5__util_canvas_resize__","__WEBPACK_IMPORTED_MODULE_6_vega_canvas__","__WEBPACK_IMPORTED_MODULE_7_vega_util__","save","restore","clearRect","fillRect","SVGHandler","_hrefHandler","_tooltipHandler","__WEBPACK_IMPORTED_MODULE_1__util_dom__","_svg","SVGRenderer","_dirtyID","_root","updateGradient","grad","__WEBPACK_IMPORTED_MODULE_2__util_dom__","stops","updateClipping","mask","dirtyParents","recurse","lastChild","__WEBPACK_IMPORTED_MODULE_5__util_visit__","__values__","bg","hasSiblings","previousSibling","nextSibling","setStyle","setAttributeNS","removeAttributeNS","removeAttribute","loc","location","__WEBPACK_IMPORTED_MODULE_3__util_tags__","__WEBPACK_IMPORTED_MODULE_4__util_text__","__WEBPACK_IMPORTED_MODULE_6__util_svg_clip__","__WEBPACK_IMPORTED_MODULE_7__util_svg_metadata__","__WEBPACK_IMPORTED_MODULE_8__util_svg_styles__","class","viewBox","innerHTML","_dirtyCheck","_dirtyAll","_resetDefs","updateDefs","isDirty","mdef","parentNode","process","isGroup","mark_extras","foreground","textContent","version","xmlns:xlink","styleProperties","SVGStringRenderer","_text","foot","prefixed","applyStyles","escape_text","buildDefs","stop-color","attributes","_hrefs","markGroup","clip-path","__WEBPACK_IMPORTED_MODULE_0_d3_collection__","__WEBPACK_IMPORTED_MODULE_1__array__","deg2rad","rad2deg","rgbSpline","spline","rgbBasis","rgbBasisClosed","__WEBPACK_IMPORTED_MODULE_1__basis__","__WEBPACK_IMPORTED_MODULE_2__basisClosed__","__WEBPACK_IMPORTED_MODULE_3__color__","rgbGamma","__WEBPACK_IMPORTED_MODULE_0__basis__","__WEBPACK_IMPORTED_MODULE_0__value__","nb","na","reA","reB","am","bm","bs","lastIndex","__WEBPACK_IMPORTED_MODULE_0__exponent__","__WEBPACK_IMPORTED_MODULE_1__formatGroup__","__WEBPACK_IMPORTED_MODULE_2__formatNumerals__","__WEBPACK_IMPORTED_MODULE_3__formatSpecifier__","__WEBPACK_IMPORTED_MODULE_4__formatTrim__","__WEBPACK_IMPORTED_MODULE_5__formatTypes__","__WEBPACK_IMPORTED_MODULE_6__formatPrefixAuto__","__WEBPACK_IMPORTED_MODULE_7__identity__","valuePrefix","valueSuffix","formatType","valueNegative","maybeSuffix","decimal","comma","numerals","currency","percent","formatPrefix","grouping","thousands","formatSpecifier","FormatSpecifier","re","prefixExponent","calendar","hour","minute","second","millisecond","formatMillisecond","formatSecond","formatMinute","formatHour","formatDay","formatWeek","tickInterval","tickIntervals","durationYear","__WEBPACK_IMPORTED_MODULE_5__continuous__","durationMonth","__WEBPACK_IMPORTED_MODULE_4__array__","__WEBPACK_IMPORTED_MODULE_6__nice__","__WEBPACK_IMPORTED_MODULE_2_d3_time__","__WEBPACK_IMPORTED_MODULE_3_d3_time_format__","__WEBPACK_IMPORTED_MODULE_2__ascending__","__WEBPACK_IMPORTED_MODULE_3__area__","__WEBPACK_IMPORTED_MODULE_4__constant__","__WEBPACK_IMPORTED_MODULE_5__contains__","__WEBPACK_IMPORTED_MODULE_6__noop__","cases","contours","tz","threshold","contour","holes","isorings","smooth","hole","stitch","startIndex","endIndex","smoothLinear","xt","yt","_0","_1","thresholds","areaRingStart","areaStream","areaPointFirst","areaRingEnd","areaPoint","lambda00","phi00","lambda0","cosPhi0","sinPhi0","dLambda","sdLambda","adLambda","sinPhi","areaRingSum","__WEBPACK_IMPORTED_MODULE_0__adder__","__WEBPACK_IMPORTED_MODULE_2__noop__","__WEBPACK_IMPORTED_MODULE_3__stream__","areaSum","areaRing","circleStream","cosRadius","__WEBPACK_IMPORTED_MODULE_2__math__","sinRadius","circleRadius","__WEBPACK_IMPORTED_MODULE_0__cartesian__","compose","clipAntimeridianLine","sign0","lambda1","sign1","clipAntimeridianIntersect","cosPhi1","sinLambda0Lambda1","clipAntimeridianInterpolate","__WEBPACK_IMPORTED_MODULE_0__index__","validSegment","segment","__WEBPACK_IMPORTED_MODULE_0__buffer__","__WEBPACK_IMPORTED_MODULE_1__rejoin__","__WEBPACK_IMPORTED_MODULE_3__polygonContains__","pointVisible","clipLine","sink","pointLine","pointRing","ringSink","ringStart","ringEnd","ringSegments","ringBuffer","polygonStarted","lines","Intersection","link","__WEBPACK_IMPORTED_MODULE_0__pointEqual__","subject","isSubject","__WEBPACK_IMPORTED_MODULE_1__cartesian__","normal","point0","sinPhi1","point1","absDelta","antimeridian","intersection","phiArc","__WEBPACK_IMPORTED_MODULE_1__circle__","__WEBPACK_IMPORTED_MODULE_3__pointEqual__","__WEBPACK_IMPORTED_MODULE_4__index__","c0","v00","point2","smallRadius","notHemisphere","two","pb","n1","n2","n2n2","n1n2","determinant","c1","c2","n1xn2","uu","polar","meridian","__WEBPACK_IMPORTED_MODULE_0__length__","lengthLineStart","lengthStream","lengthPointFirst","lengthLineEnd","lengthPoint","cosDelta","sinDelta","lengthSum","boundsPoint","boundsStream","__WEBPACK_IMPORTED_MODULE_0__conicEqualArea__","equirectangularRaw","__WEBPACK_IMPORTED_MODULE_0__src_quadtree__","__WEBPACK_IMPORTED_MODULE_0_d3_dispatch__","__WEBPACK_IMPORTED_MODULE_1_d3_collection__","__WEBPACK_IMPORTED_MODULE_2_d3_timer__","initialAngle","simulation","alphaMin","stepper","alphaTarget","alphaDecay","forces","velocityDecay","initializeNodes","initializeForce","closest","__WEBPACK_IMPORTED_MODULE_0__src_timer__","__WEBPACK_IMPORTED_MODULE_2__src_interval__","place","a2","b2","score","ab","packEnclose","aa","sj","sk","pack","__WEBPACK_IMPORTED_MODULE_0__enclose__","extendBasis","enclosesWeakAll","enclosesNot","encloseBasis2","encloseBasis3","enclosesWeak","encloseBasis","encloseBasis1","x21","y21","r21","r3","a3","b3","c3","d3","xa","xb","ya","yb","__WEBPACK_IMPORTED_MODULE_0__array__","constantZero","createCell","__WEBPACK_IMPORTED_MODULE_1__Diagram__","cellHalfedgeAngle","va","vb","cellHalfedgeStart","cellHalfedgeEnd","sortCellHalfedges","clipCells","iCell","iHalfedge","nHalfedges","startX","startY","endX","endY","nCells","cover","__WEBPACK_IMPORTED_MODULE_0__Edge__","dc","v01","v11","v10","Circle","__WEBPACK_IMPORTED_MODULE_0__RedBlackTree__","attachCircle","lArc","rArc","lSite","cSite","rSite","ha","hc","circlePool","before","firstCircle","detachCircle","array8","Uint8Array","array16","Uint16Array","array32","Uint32Array","__WEBPACK_IMPORTED_MODULE_0__render_size__","__WEBPACK_IMPORTED_MODULE_0__src_parse__","__WEBPACK_IMPORTED_MODULE_5__src_parsers_expression_codegen__","__WEBPACK_IMPORTED_MODULE_9_d3_format__","__WEBPACK_IMPORTED_MODULE_10_d3_time_format__","__WEBPACK_IMPORTED_MODULE_1__update__","expressionFunction","functionContext","astVisitors","codeGenerator","thisPrefix","buildFunctions","codegen","eventFunctions","eventPrefix","codegenParams","__WEBPACK_IMPORTED_MODULE_2_vega_statistics__","__WEBPACK_IMPORTED_MODULE_4_d3_color__","__WEBPACK_IMPORTED_MODULE_5_d3_array__","__WEBPACK_IMPORTED_MODULE_6__format__","__WEBPACK_IMPORTED_MODULE_7__arrays__","__WEBPACK_IMPORTED_MODULE_8__quarter__","__WEBPACK_IMPORTED_MODULE_9__log__","__WEBPACK_IMPORTED_MODULE_10__inscope__","__WEBPACK_IMPORTED_MODULE_11__pinch__","__WEBPACK_IMPORTED_MODULE_12__window__","__WEBPACK_IMPORTED_MODULE_13__flush__","__WEBPACK_IMPORTED_MODULE_14__merge__","__WEBPACK_IMPORTED_MODULE_15__scale__","__WEBPACK_IMPORTED_MODULE_16__scale_gradient__","__WEBPACK_IMPORTED_MODULE_17__geo__","__WEBPACK_IMPORTED_MODULE_18__shape__","__WEBPACK_IMPORTED_MODULE_19__data__","__WEBPACK_IMPORTED_MODULE_20__tree__","__WEBPACK_IMPORTED_MODULE_21__encode__","__WEBPACK_IMPORTED_MODULE_22__modify__","__WEBPACK_IMPORTED_MODULE_23__selection__","isObject","isRegExp","isString","toBoolean","toDate","toNumber","peek","lab","hcl","sequence","monthFormat","monthAbbrevFormat","dayFormat","dayAbbrevFormat","inScope","clampRange","pinchDistance","pinchAngle","screen","containerSize","windowSize","span","inrange","pathShape","panLinear","panLog","panPow","zoomLinear","zoomLog","zoomPow","blacklist","whitelist","fieldvar","globalvar","constants","__WEBPACK_IMPORTED_MODULE_1__src_parser__","__WEBPACK_IMPORTED_MODULE_2__src_codegen__","__WEBPACK_IMPORTED_MODULE_3__src_functions__","__WEBPACK_IMPORTED_MODULE_4__src_constants__","ASTNode","elements","consequent","alternate","argument","E","LOG2E","LOG10E","SQRT1_2","MIN_VALUE","fncall","cast","datetime","timezoneoffset","indexof","lastindexof","parseFloat","if","parseStream","mergeStream","nestedStream","eventStream","eventSource","streamParameters","addStream","markname","markrole","filterMark","isOrdinal","ordinalTypes","isDiscretizing","discreteTypes","continuousTypes","isQuantile","initScale","allTypes","addScale","parseScaleRange","parseScaleInterpolate","parseScaleNice","parseLiteral","parseArray","dataLookupError","explicitDomain","multipleDomain","singularDomain","domainMin","domainMax","parseSort","dom","ordinalMultipleDomain","quantileMultipleDomain","numericMultipleDomain","FIELD_REF_ID","coll","$ingest","addDataPipeline","multidomain","extents","interpolateGamma","schemeExtent","schemeCount","hasBandwidth","__WEBPACK_IMPORTED_MODULE_2__expression_prefixes__","__WEBPACK_IMPORTED_MODULE_0__marktypes__","__WEBPACK_IMPORTED_MODULE_1__roles__","getDataRef","trigger","bindings","lambdas","streams","updates","eventConfig","_id","_subid","_nextsub","_encode","_lookup","_markpath","Subscope","propertyLambda","arrayLambda","objectLambda","__WEBPACK_IMPORTED_MODULE_0__DataScope__","__WEBPACK_IMPORTED_MODULE_2__parsers_expression__","__WEBPACK_IMPORTED_MODULE_3__transforms__","isSubscope","toRuntime","finish","vref","addUpdate","annotate","cmp","stable","check","sig","addScaleProj","addProjection","projectionType","dataScope","defaults","autosize","allow","defaultColor","defaultStrokeWidth","defaultFont","guide-label","guide-title","group-title","defaultSymbolSize","lightGray","domainWidth","domainColor","gridWidth","gridColor","labelLimit","tickColor","tickOffset","tickRound","tickWidth","titleAlign","axisBand","gridAlign","columnPadding","rowPadding","gradientDirection","gradientStrokeColor","gradientStrokeWidth","gradientLabelOffset","labelAlign","labelBaseline","labelOffset","symbolType","symbolSize","symbolOffset","symbolStrokeWidth","symbolBaseFillColor","symbolBaseStrokeColor","titleBaseline","titleLimit","category","heatmap","ramp","diverging","configs","__WEBPACK_IMPORTED_MODULE_0__src_dataflow__","__WEBPACK_IMPORTED_MODULE_1__src_context__","__WEBPACK_IMPORTED_MODULE_0__operator__","__WEBPACK_IMPORTED_MODULE_1__stream__","__WEBPACK_IMPORTED_MODULE_2__update__","PARSERS","getOperator","getExpression","__WEBPACK_IMPORTED_MODULE_1__expression__","getKey","getField","getCompare","__WEBPACK_IMPORTED_MODULE_2_vega_dataflow__","getEncode","$output","getSubflow","$subflow","subctx","__WEBPACK_IMPORTED_MODULE_0__dataflow__","getTupleId","canonicalType","isOperator","isCollect","isBoxPlotDef","filterUnsupportedChannels","__WEBPACK_IMPORTED_MODULE_2__encoding__","supportedChannels","BOXPLOT","normalizeBoxPlot","kIQRScalar","box","boxOrient","boxParams","continuousAxisChannelDef","continuousAxis","encodingWithoutContinuousAxis","encodingWithoutSizeColorAndContinuousAxis","sizeMixins","__WEBPACK_IMPORTED_MODULE_6__common__","continuousAxisScaleAndAxis","boxWhisker","boxMid","boxContinousAxis","continuousAxisWithoutAggregate","isMinMax","postAggregateCalculates","bins","timeUnits","transformedField","BOXPLOT_STYLES","VL_ONLY_BOXPLOT_CONFIG_PROPERTY_INDEX","initConfig","stripAndRedirectConfig","VL_ONLY_CONFIG_PROPERTIES_1","VL_ONLY_CONFIG_PROPERTIES","VL_ONLY_GUIDE_CONFIG_1","__WEBPACK_IMPORTED_MODULE_4__guide__","VL_ONLY_GUIDE_CONFIG_2","VL_ONLY_MARK_CONFIG_PROPERTIES_1","MARK_STYLES_1","MARK_STYLES","VL_ONLY_MARK_CONFIG_PROPERTIES_2","vlOnlyMarkSpecificConfigs","VL_ONLY_ALL_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX","vlOnlyMarkSpecificConfigs_1","redirectConfig","toProp","propConfig","__WEBPACK_IMPORTED_MODULE_9__title__","defaultViewConfig","__WEBPACK_IMPORTED_MODULE_2__compositemark__","__WEBPACK_IMPORTED_MODULE_3__compositemark_index__","__WEBPACK_IMPORTED_MODULE_5__legend__","__WEBPACK_IMPORTED_MODULE_8__selection__","axisX","axisY","axisLeft","axisRight","axisTop","axisBottom","extractTitleConfig","titleConfig","titleMarkConfig","extractCompositionLayout","_normalizeAutoSize","normalizeAutoSize","topLevelAutosize","configAutosize","isUnitOrLayer","extractTopLevelProperties","TOP_LEVEL_PROPERTIES","BaseConcatModel","__WEBPACK_IMPORTED_MODULE_2__data_parse__","__WEBPACK_IMPORTED_MODULE_3__layoutsize_assemble__","__WEBPACK_IMPORTED_MODULE_4__model__","assembleSelectionTopLevelSignals","sg","assembleSelectionData","db","layoutSizeEncodeEntry","assembleAxis","axisCmpt","kind","header","propType","__WEBPACK_IMPORTED_MODULE_2__axis__","mainExtracted","AXIS_PARTS_1","hasAxisPart","titleString","axisComponents","getHeaderType","getTitleGroup","textOrient","facetFieldDef","getHeaderProperties","__WEBPACK_IMPORTED_MODULE_3__header__","getHeaderGroups","layoutHeader","HEADER_TYPES_1","HEADER_TYPES","headerType","headerCmpt","getHeaderGroup","getSort","__WEBPACK_IMPORTED_MODULE_4__sort__","__WEBPACK_IMPORTED_MODULE_7__data_calculate__","hasAxes","sizeSignal","propertiesMap","properties_1","HEADER_CHANNELS","HEADER_TITLE_PROPERTIES_MAP","HEADER_LABEL_PROPERTIES_MAP","HEADER_TITLE_PROPERTIES","HEADER_LABEL_PROPERTIES","titleAnchor","titleAngle","titleColor","titleFont","titleFontSize","titleFontWeight","labelColor","labelFont","labelFontSize","legendComponentIndex","legendByDomain","domainHash","mergedLegendComponent","__WEBPACK_IMPORTED_MODULE_1__parse__","legendCmpt","__WEBPACK_IMPORTED_MODULE_6__model__","parseUnitLegend","parseNonUnitLegend","legendComponent","__WEBPACK_IMPORTED_MODULE_3__type__","parseLegendForChannel","getLegendDefWithScale","__WEBPACK_IMPORTED_MODULE_9__component__","__WEBPACK_IMPORTED_MODULE_2__legend__","getProperty","legendEncoding","legendEncode","legendEncodingPart","__WEBPACK_IMPORTED_MODULE_10__encode__","specifiedLegend","specifiedTitle","__WEBPACK_IMPORTED_MODULE_11__properties__","__WEBPACK_IMPORTED_MODULE_7__resolve__","mergeLegendComponent","mergedLegend","childLegend","mergedOrient","childOrient","typeMerged","VG_LEGEND_PROPERTIES_1","mergedValueWithExplicit","__WEBPACK_IMPORTED_MODULE_8__split__","cloneSubtree","__WEBPACK_IMPORTED_MODULE_4__facet__","copy_1","FACET_SCALE_PREFIX","moveFacetDown","moveMainDownToFacet","__WEBPACK_IMPORTED_MODULE_0__data__","removeUnnecessaryNodes","__WEBPACK_IMPORTED_MODULE_5__filterinvalid__","getLeaves","roots","optimizeDataflow","dataComponent","__WEBPACK_IMPORTED_MODULE_6__optimizers__","parseScaleProperty","parseUnitScaleProperty","parseNonUnitScaleProperty","mergedScaleCmpt","sType","supportedByScaleType","channelIncompatability","getDefaultValue","scalePadding","scalePaddingInner","__WEBPACK_IMPORTED_MODULE_6__range__","valueWithExplicit","childValueWithExplicit","__WEBPACK_IMPORTED_MODULE_5__split__","barConfig","continuousPadding","paddingValue","paddingInnerValue","bandPaddingOuter","parseUnitScaleRange","__WEBPACK_IMPORTED_MODULE_8__properties__","sizeSpecified","xyRangeSteps","getXYRangeStep","rangeWithExplicit","parseRangeForChannel","xScale","xRange","__WEBPACK_IMPORTED_MODULE_5__vega_schema__","yScale","yRange","noRangeStep","RANGE_PROPERTIES_1","RANGE_PROPERTIES","__WEBPACK_IMPORTED_MODULE_7__split__","parseScheme","defaultRange","sizeRangeMin","sizeRangeMax","maxBandSize","minXYRangeStep","maxSize","pointStep","__WEBPACK_IMPORTED_MODULE_3__transforms_nearest__","rangeFormula","formulaAs","binKey","__WEBPACK_IMPORTED_MODULE_2__bin__","getSignalsFromModel","extentSignal","isBinTransform","createBinComponent","binComponent","BinNode","__WEBPACK_IMPORTED_MODULE_7__dataflow__","binComponentIndex","binTrans","FilterNode","GeoJSONNode","__WEBPACK_IMPORTED_MODULE_2__type__","geoJsonCounter","GeoPointNode","IdentifierNode","__WEBPACK_IMPORTED_MODULE_1__selection__","__WEBPACK_IMPORTED_MODULE_2__dataflow__","LookupNode","__WEBPACK_IMPORTED_MODULE_4__source__","secondary","fromSource","fromOutputName","fromOutputNode","foreign","asName","WindowTransformNode","__WEBPACK_IMPORTED_MODULE_2__sort__","windowFieldDef","getDefaultName","ignorePeers","facetSortFieldName","FacetModel","__WEBPACK_IMPORTED_MODULE_7__sort__","__WEBPACK_IMPORTED_MODULE_9__vega_schema__","__WEBPACK_IMPORTED_MODULE_10__axis_assemble__","__WEBPACK_IMPORTED_MODULE_11__buildmodel__","__WEBPACK_IMPORTED_MODULE_12__data_assemble__","__WEBPACK_IMPORTED_MODULE_14__data_parse__","__WEBPACK_IMPORTED_MODULE_15__header_index__","__WEBPACK_IMPORTED_MODULE_16__layoutsize_parse__","__WEBPACK_IMPORTED_MODULE_17__model__","__WEBPACK_IMPORTED_MODULE_18__repeater__","__WEBPACK_IMPORTED_MODULE_19__resolve__","__WEBPACK_IMPORTED_MODULE_20__scale_domain__","initFacet","normalizedFacet","parseHeader","mergeChildAxis","makeHeaderComponent","headerChannel","axisComponent","mainAxis","getHeaderLayoutMixins","layoutMixins","layoutHeaderComponent","headerComponent","bandType","columnDistinctSignal","getCardinalityAggregateForChild","assembleFacet","outputName","headerSortFields","headerSortOrder","makeWalkTree","walkTree","dataSource","__WEBPACK_IMPORTED_MODULE_15__source__","newData","__WEBPACK_IMPORTED_MODULE_10__formatparse__","__WEBPACK_IMPORTED_MODULE_7__facet__","datasetIndex","__WEBPACK_IMPORTED_MODULE_8__filter__","__WEBPACK_IMPORTED_MODULE_5__calculate__","__WEBPACK_IMPORTED_MODULE_12__geopoint__","__WEBPACK_IMPORTED_MODULE_11__geojson__","__WEBPACK_IMPORTED_MODULE_3__aggregate__","__WEBPACK_IMPORTED_MODULE_14__lookup__","__WEBPACK_IMPORTED_MODULE_18__window__","__WEBPACK_IMPORTED_MODULE_13__identifier__","__WEBPACK_IMPORTED_MODULE_9__filterinvalid__","__WEBPACK_IMPORTED_MODULE_4__bin__","__WEBPACK_IMPORTED_MODULE_17__timeunit__","__WEBPACK_IMPORTED_MODULE_16__stack__","source_1","assembleFacetData","assembleRootData","datasets","sourceIndex","whereTo","data_1","data_2","replaceRepeaterInFacet","replaceRepeater","replaceRepeaterInEncoding","replaceRepeat","repeat","replaceRepeaterInFieldDef","replaceRepeaterInChannelDef","parseUnitAxis","parseAxis","parseLayerAxis","axisCount","__WEBPACK_IMPORTED_MODULE_5__resolve__","mergeAxisComponents","_l","oppositeOrient","OPPOSITE_ORIENT","mergedAxisCmpts","childAxisCmpts","length_1","mergeAxisComponent","VG_AXIS_PROPERTIES_1","__WEBPACK_IMPORTED_MODULE_0__axis__","__WEBPACK_IMPORTED_MODULE_6__split__","getFieldDefTitle","channel2","fieldDef2","__WEBPACK_IMPORTED_MODULE_7__component__","__WEBPACK_IMPORTED_MODULE_8__config__","axisEncoding","axisEncode","axisEncodingPart","__WEBPACK_IMPORTED_MODULE_9__encode__","specifiedAxis","__WEBPACK_IMPORTED_MODULE_10__properties__","fieldDefTitle","getAxisConfig","configTypes","configTypes_1","configType","UnitModel","__WEBPACK_IMPORTED_MODULE_4__mark__","__WEBPACK_IMPORTED_MODULE_5__stack__","__WEBPACK_IMPORTED_MODULE_7__axis_parse__","__WEBPACK_IMPORTED_MODULE_8__data_parse__","__WEBPACK_IMPORTED_MODULE_9__layoutsize_assemble__","__WEBPACK_IMPORTED_MODULE_10__layoutsize_parse__","__WEBPACK_IMPORTED_MODULE_11__mark_init__","__WEBPACK_IMPORTED_MODULE_12__mark_mark__","__WEBPACK_IMPORTED_MODULE_13__model__","__WEBPACK_IMPORTED_MODULE_14__repeater__","__WEBPACK_IMPORTED_MODULE_15__selection_selection__","parentGivenSize","specifiedAxes","specifiedLegends","specifiedProjection","initScales","initAxes","initLegend","isGeoShapeMark","hasGeoPosition","_axis","axisSpec","_legend","toSpec","excludeConfig","excludeData","__WEBPACK_IMPORTED_MODULE_1__defaults__","__WEBPACK_IMPORTED_MODULE_2__formatValue__","__WEBPACK_IMPORTED_MODULE_3__position__","options","elementId","tooltip_handler","disableDefaultStyle","getElementById","styleId","classList","theme","maxDepth","offsetX","offsetY","escapeHTML","createDefaultStyle","__WEBPACK_IMPORTED_MODULE_0__style__","EL_ID","DEFAULT_OPTIONS","valueToHtml","content","keys_1","replacer","pos","calculatePosition","tooltipBox","innerWidth","innerHeight","enable","disable","enabled","onUnhandled","allRejections","matchWhitelist","rejections","DEFAULT_WHITELIST","displayId","logged","logError","onHandled","_56","cls","ReferenceError","RangeError","global","rawAsap","task","queue","requestFlush","flushing","currentIndex","capacity","scan","newLength","makeRequestCallFromTimer","handleTimer","timeoutHandle","intervalHandle","BrowserMutationObserver","MutationObserver","WebKitMutationObserver","observer","createTextNode","observe","characterData","valuePromise","TRUE","FALSE","NULL","UNDEFINED","ZERO","EMPTYSTRING","remaining","race","normalizeName","normalizeValue","iteratorFor","support","iterable","Headers","headers","consumed","bodyUsed","fileReaderReady","reader","readBlobAsArrayBuffer","blob","FileReader","readAsArrayBuffer","readBlobAsText","readAsText","readArrayBufferAsText","buf","chars","bufferClone","byteLength","Body","_initBody","_bodyInit","_bodyText","Blob","isPrototypeOf","_bodyBlob","formData","FormData","_bodyFormData","searchParams","URLSearchParams","arrayBuffer","isDataView","_bodyArrayBuffer","ArrayBuffer","isArrayBufferView","decode","normalizeMethod","upcased","Request","credentials","mode","referrer","form","bytes","decodeURIComponent","parseHeaders","rawHeaders","Response","bodyInit","status","ok","statusText","fetch","viewClasses","DataView","isView","oldValue","response","redirectStatuses","redirect","request","xhr","XMLHttpRequest","getAllResponseHeaders","responseURL","responseText","ontimeout","open","withCredentials","responseType","setRequestHeader","send","polyfill","__WEBPACK_IMPORTED_MODULE_0_react__","__WEBPACK_IMPORTED_MODULE_0_react___default","__WEBPACK_IMPORTED_MODULE_1_react_dom__","__WEBPACK_IMPORTED_MODULE_1_react_dom___default","__WEBPACK_IMPORTED_MODULE_2__index_css__","__WEBPACK_IMPORTED_MODULE_3__DatasetteVega__","matchesCurrentHostAndPath","currentHostAndPath","hostname","port","pathname","onFragmentChange","getElementsByTagName","action","visTool","jsonUrl","NODE_ENV","PUBLIC_URL","REACT_APP_STAGE","search","jsonEl","getAttribute","table","base_url","ev","altKey","ctrlKey","metaKey","shiftKey","defaultPrevented","nodeName","linkedHostQuery","linkedHostAndPath","protocol","D","encodeURIComponent","F","updater","G","K","defaultProps","$$typeof","_owner","J","escape","=",":","keyPrefix","T","O","for","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","isReactComponent","setState","forceUpdate","isPureReactComponent","__self","__source","Children","toArray","only","createRef","Component","PureComponent","createContext","_calculateChangedBits","_defaultValue","_currentValue","_currentValue2","_changedBits","_changedBits2","Provider","Consumer","forwardRef","Fragment","StrictMode","unstable_AsyncMode","unstable_Profiler","cloneElement","createFactory","isValidElement","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentOwner","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","ia","_hasCaughtError","_caughtError","ka","_hasRethrowError","_rethrowError","la","ma","oa","extractEvents","eventTypes","phasedRegistrationNames","qa","registrationName","ra","dependencies","ta","ua","za","currentTarget","invokeGuardedCallbackAndCatchFirstError","Aa","Ba","Da","_dispatchListeners","_dispatchInstances","isPropagationStopped","isPersistent","release","Ea","Fa","Ha","stateNode","wa","disabled","Ia","Ca","rethrowCaughtError","Ja","Na","Oa","Pa","Ma","Ra","Sa","dispatchConfig","Ta","_targetInst","Ua","Va","Xa","Ya","Za","eb","bb","lb","kb","canUseDOM","mb","_fallbackText","_startText","nativeEvent","Interface","isDefaultPrevented","returnValue","rb","eventPool","sb","destructor","qb","getPooled","Db","keyCode","Eb","Gb","which","Cb","Ab","Hb","Fb","wb","char","zb","Nb","Jb","restoreControlledState","Ob","Lb","Mb","Pb","Qb","Sb","Tb","Ub","Wb","Vb","Yb","Xb","Zb","srcElement","correspondingUseElement","nodeType","$b","ac","bc","getOwnPropertyDescriptor","getValue","setValue","stopTracking","_valueTracker","checked","tc","uc","displayName","pc","mc","ic","kc","pendingProps","jc","rc","qc","vc","_debugOwner","_debugSource","fileName","lineNumber","Ac","zc","xc","wc","Bc","acceptsBooleans","Cc","attributeName","attributeNamespace","mustUseProperty","propertyName","Ec","Fc","Gc","defaultChecked","_wrapperState","initialChecked","Hc","Ic","initialValue","controlled","Jc","Kc","Lc","Mc","activeElement","Oc","Nc","change","Rc","Sc","Tc","Vc","Pc","detachEvent","Wc","Qc","Xc","attachEvent","Yc","Zc","$c","getModifierState","ed","jd","effectTag","kd","ld","md","nd","rd","charCode","Cd","bubbled","captured","isInteractive","Ad","Bd","Gd","targetInst","containerInfo","topLevelType","Id","Hd","Ed","Kd","Ld","Md","Fd","Rd","Qd","Pd","Od","Sd","Td","Ud","contentEditable","ae","$d","Xd","da","selectionStart","selectionEnd","getSelection","anchorNode","anchorOffset","focusNode","focusOffset","Zd","Wd","Yd","xe","ba","ye","ze","selected","defaultSelected","Ae","wasMultiple","multiple","Be","dangerouslySetInnerHTML","Ce","De","Ee","Ge","He","Ke","Ne","Le","Pe","Oe","Qe","is","Se","blur","focus","jb","Te","Fe","Ue","Ve","Re","__html","Je","onClick","onclick","We","Xe","Ye","Ze","cf","autoFocus","hf","jf","mf","lf","kf","pf","qf","of","nf","rf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","childContextTypes","tf","uf","vf","getChildContext","wf","__reactInternalMemoizedMergedChildContext","xf","yf","memoizedState","updateQueue","memoizedProps","lastEffect","firstEffect","nextEffect","expirationTime","zf","Af","Bf","Cf","Df","pendingChildren","implementation","Ef","earliestPendingTime","latestPendingTime","earliestSuspendedTime","latestSuspendedTime","latestPingedTime","pendingCommitExpirationTime","finishedWork","pendingContext","hydrate","remainingExpirationTime","firstBatch","nextScheduledRoot","Hf","If","isDisabled","supportsFiber","inject","Ff","onCommitFiberRoot","Gf","onCommitFiberUnmount","Jf","Kf","Mf","baseState","firstUpdate","lastUpdate","firstCapturedUpdate","lastCapturedUpdate","firstCapturedEffect","lastCapturedEffect","Nf","Of","payload","Pf","Qf","Rf","Sf","Tf","Lf","Uf","Vf","Wf","Xf","ag","$f","Zf","Yf","gg","cg","ig","eg","dg","jg","kg","lg","qg","shouldComponentUpdate","rg","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","pg","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","ug","_stringRef","vg","wg","gc","tg","nc","Jd","Cg","Dg","Eg","Bg","Ag","zg","Fg","Gg","Hg","Ig","yg","xg","Jg","Kg","ec","Lg","Mg","Qg","Rg","_reactInternalFiber","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","hidden","unstable_observedBits","Sg","Wg","Tg","Ug","Vg","Xg","suppressReactErrorLogging","Yg","Zg","$g","componentWillUnmount","ah","bh","ch","dh","eh","fh","gh","componentDidCatch","hh","Set","componentStack","ih","jh","vh","qh","rh","sh","uh","wh","xh","ph","lh","zh","mh","Ah","Bh","th","getDerivedStateFromCatch","og","Ch","mg","nh","ng","oh","Dh","Eh","Fh","Gh","ef","kh","Hh","Ih","Th","Kh","Lh","ff","Uh","Jh","Qh","Vh","Wh","Xh","Yh","Ph","Mh","Zh","$h","Rh","_onComplete","Nh","Oh","_expirationTime","_defer","af","rangeCount","Wa","bf","focusedElem","selectionRange","ja","mi","__reactInternalSnapshotBeforeUpdate","fa","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","scrollTop","hg","oc","wi","Ng","Og","yc","Pg","zi","timeRemaining","Sh","di","ei","gi","ii","ji","ki","findFiberByHostInstance","findHostInstanceByFiber","ni","oi","_callbacks","_hasChildren","_didComplete","_didCommit","_onCommit","qi","_internalRoot","ri","si","hasAttribute","ti","_reactRootContainer","legacy_renderSubtreeIntoContainer","ui","invokeGuardedCallback","hasCaughtError","clearCaughtError","plugins","eventNameDispatchConfigs","registrationNameModules","registrationNameDependencies","possibleRegistrationNames","injectEventPluginOrder","injectEventPluginsByName","Ga","Ka","injection","getListener","runEventsInBatch","runExtractedEventsInBatch","La","Qa","precacheFiberNode","getClosestInstanceFromNode","getInstanceFromNode","getNodeFromInstance","getFiberCurrentPropsFromNode","updateFiberProps","$a","accumulateTwoPhaseDispatches","accumulateTwoPhaseDispatchesSkipTarget","accumulateEnterLeaveDispatches","accumulateDirectDispatches","animationend","animationiteration","animationstart","transitionend","animation","transition","gb","hb","ib","ob","eventPhase","bubbles","cancelable","timeStamp","isTrusted","cancelBubble","persist","tb","ub","documentMode","Bb","beforeInput","compositionEnd","compositionStart","compositionUpdate","Ib","Kb","injectFiberControlledHostComponent","Rb","enqueueStateRestore","needsStateRestore","restoreStateIfNeeded","datetime-local","email","password","tel","fc","Dc","tabIndex","Uc","ad","_isInputEventSupported","bd","Alt","Control","Meta","Shift","screenX","screenY","pageX","pageY","button","buttons","fromElement","toElement","gd","pointerId","pressure","tiltX","tiltY","pointerType","isPrimary","hd","mouseEnter","mouseLeave","pointerEnter","pointerLeave","parentWindow","od","animationName","elapsedTime","pseudoElement","pd","clipboardData","qd","sd","Esc","Spacebar","Up","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","td","8","9","12","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","45","46","112","113","114","115","116","117","118","119","120","121","122","123","144","145","224","vd","dataTransfer","wd","touches","targetTouches","xd","yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","zd","Dd","isInteractiveTopLevelEventType","Nd","_enabled","setEnabled","isEnabled","trapBubbledEvent","trapCapturedEvent","Vd","be","onSelect","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","ce","de","ee","fe","ge","he","ie","je","ke","le","me","ne","oe","pe","qe","se","didTimeout","ue","scheduledCallback","postMessage","te","timeoutTime","ve","we","mathml","Ie","MSApp","execUnsafeLocalFunction","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","lineClamp","lineHeight","orphans","tabSize","widows","zIndex","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","Me","menuitem","br","col","embed","hr","keygen","meta","track","wbr","$e","setInitialProperties","diffProperties","updateProperties","diffHydratedProperties","diffHydratedText","warnForUnmatchedText","warnForDeletedHydratableElement","warnForDeletedHydratableText","warnForInsertedHydratedElement","warnForInsertedHydratedText","li","updateContainerAtExpirationTime","createContainer","updateContainer","flushRoot","requestWork","computeUniqueAsyncExpiration","batchedUpdates","unbatchedUpdates","deferredUpdates","syncUpdates","interactiveUpdates","flushInteractiveUpdates","flushControlled","flushSync","getPublicRootInstance","findHostInstance","findHostInstanceWithNoPortals","injectIntoDevTools","commit","unmount","createBatch","vi","createPortal","findDOMNode","unstable_renderSubtreeIntoContainer","unmountComponentAtNode","unstable_createPortal","unstable_batchedUpdates","unstable_deferredUpdates","unstable_interactiveUpdates","unstable_flushControlled","EventPluginHub","EventPluginRegistry","EventPropagators","ReactControlledComponent","ReactDOMComponentTree","ReactDOMEventListener","unstable_createRoot","bundleType","rendererPackageName","Ai","Bi","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","canUseViewport","isInWorker","getActiveElement","shallowEqual","objA","objB","keysA","keysB","containsNode","outerNode","innerNode","isTextNode","isNode","_defineProperty","_classCallCheck","instance","Constructor","_possibleConstructorReturn","_inherits","subClass","superClass","__WEBPACK_IMPORTED_MODULE_1_vega_embed__","__WEBPACK_IMPORTED_MODULE_2__DatasetteVega_css__","_createClass","defineProperties","descriptor","protoProps","staticProps","serialize","unserialize","escapeString","DatasetteVega","_Component","getPrototypeOf","x_column","x_type","y_column","y_type","color_column","size_column","markOptions","typeOptions","chartRef","_this2","lastEv","renderGraph","_this3","onpopstate","onPopStateChange","initialState","urlState","_ref","lastPopEv","serializeState","x_bin","y_bin","prevState","_this4","onChangeSelect","className","option","onChange","toggleAxis","overflow","showChart","isTooltipHandler","viewSource","sourceHeader","sourceFooter","footer","win","write","NAMES","guessMode","providedMode","$schema","__WEBPACK_IMPORTED_MODULE_6_vega_schema_url_parser___default","library","__WEBPACK_IMPORTED_MODULE_3_semver__","VERSION","isLoader","actions","i18n","logLevel","ID","vgSpec","div","runtime","wrapper","ctrl","_loop_1","ext","editorUrl_1","export","png","compiled","editor","I18N","vega","Warn","load","defaultStyle","innerText","__WEBPACK_IMPORTED_MODULE_10__style__","__WEBPACK_IMPORTED_MODULE_7_vega_themes__","PREPROCESSOR","__WEBPACK_IMPORTED_MODULE_1_d3_selection__","onBeforeParse","__WEBPACK_IMPORTED_MODULE_8_vega_tooltip__","hover","SVG_CIRCLES","i18nExportAction","toImageURL","SOURCE_ACTION","__WEBPACK_IMPORTED_MODULE_2_json_stringify_pretty_compact___default","COMPILED_ACTION","editorUrl","EDITOR_ACTION","__WEBPACK_IMPORTED_MODULE_9__post__","__WEBPACK_IMPORTED_MODULE_2_json_stringify_pretty_compact__","__WEBPACK_IMPORTED_MODULE_4_vega_lib__","__WEBPACK_IMPORTED_MODULE_5_vega_lite__","__WEBPACK_IMPORTED_MODULE_6_vega_schema_url_parser__","vl","vega-lite","vgjson","vljson","compile","PNG_ACTION","SVG_ACTION","__WEBPACK_IMPORTED_MODULE_8__src_select__","__WEBPACK_IMPORTED_MODULE_17__src_selection_on__","__WEBPACK_IMPORTED_MODULE_1__selector__","subgroups","subnode","subgroup","__WEBPACK_IMPORTED_MODULE_1__selectorAll__","__WEBPACK_IMPORTED_MODULE_1__matcher__","bindIndex","groupLength","dataLength","__WEBPACK_IMPORTED_MODULE_1__enter__","bindKey","keyValue","nodeByKeyValue","keyValues","__WEBPACK_IMPORTED_MODULE_2__constant__","enterGroup","updateGroup","_exit","groups0","groups1","m0","merges","group0","group1","ascending","compareNode","sortgroups","sortgroup","attrRemove","attrRemoveNS","attrConstant","attrConstantNS","attrFunction","attrFunctionNS","getAttributeNS","propertyRemove","propertyConstant","propertyFunction","classArray","ClassList","_node","_names","classedAdd","classedRemove","classedTrue","classedFalse","classedFunction","textRemove","textConstant","textFunction","htmlRemove","htmlConstant","htmlFunction","__WEBPACK_IMPORTED_MODULE_0__creator__","constantNull","selection_cloneShallow","cloneNode","selection_cloneDeep","deep","CustomEvent","createEvent","initEvent","dispatchConstant","dispatchFunction","Local","nextId","addMargin","maxLength","_stringify","currentIndent","reserved","toJSON","prettified","prettify","delimiters","nextIndent","keyPart","tokens","{","[","}","]",",","stringOrChar","loose","SemVer","MAX_LENGTH","LOOSE","FULL","er","major","minor","patch","MAX_SAFE_INTEGER","prerelease","build","inc","version1","version2","eq","compareIdentifiers","anum","numeric","bnum","rcompareIdentifiers","compareLoose","rcompare","rsort","neq","Comparator","comp","semver","ANY","Range","parseRange","toComparators","parseComparator","replaceCarets","replaceTildes","replaceXRanges","replaceStars","isX","replaceTilde","TILDELOOSE","TILDE","pr","replaceCaret","CARETLOOSE","CARET","replaceXRange","XRANGELOOSE","XRANGE","gtlt","xM","xm","xp","anyX","STAR","hyphenReplace","$0","fM","fp","fpr","tM","tm","tp","tpr","testSet","allowed","satisfies","maxSatisfying","versions","maxSV","rangeObj","minSatisfying","minSV","validRange","ltr","outside","gtr","hilo","gtfn","ltefn","ltfn","ecomp","comparators","high","low","comparator","coerce","COERCE","NODE_DEBUG","SEMVER_SPEC_VERSION","NUMERICIDENTIFIER","NUMERICIDENTIFIERLOOSE","NONNUMERICIDENTIFIER","MAINVERSION","MAINVERSIONLOOSE","PRERELEASEIDENTIFIER","PRERELEASEIDENTIFIERLOOSE","PRERELEASE","PRERELEASELOOSE","BUILDIDENTIFIER","BUILD","FULLPLAIN","LOOSEPLAIN","GTLT","XRANGEIDENTIFIERLOOSE","XRANGEIDENTIFIER","XRANGEPLAIN","XRANGEPLAINLOOSE","LONETILDE","TILDETRIM","LONECARET","CARETTRIM","COMPARATORLOOSE","COMPARATOR","COMPARATORTRIM","HYPHENRANGE","HYPHENRANGELOOSE","compareMain","comparePre","rangeTmp","sameDirectionIncreasing","sameDirectionDecreasing","sameSemVer","differentDirectionsInclusive","oppositeDirectionsLessThan","oppositeDirectionsGreaterThan","comps","compRe","thisComparators","thisComparator","rangeComparators","rangeComparator","defaultSetTimout","defaultClearTimeout","runTimeout","fun","cachedSetTimeout","runClearTimeout","marker","cachedClearTimeout","cleanUpNextTick","draining","currentQueue","queueIndex","drainQueue","nextTick","browser","env","argv","addListener","once","removeListener","removeAllListeners","prependListener","prependOnceListener","listeners","binding","cwd","chdir","umask","__WEBPACK_IMPORTED_MODULE_2_vega_transforms__","__WEBPACK_IMPORTED_MODULE_3_vega_view_transforms__","__WEBPACK_IMPORTED_MODULE_4_vega_encode__","__WEBPACK_IMPORTED_MODULE_5_vega_geo__","__WEBPACK_IMPORTED_MODULE_6_vega_force__","__WEBPACK_IMPORTED_MODULE_7_vega_hierarchy__","__WEBPACK_IMPORTED_MODULE_8_vega_voronoi__","__WEBPACK_IMPORTED_MODULE_9_vega_wordcloud__","__WEBPACK_IMPORTED_MODULE_10_vega_crossfilter__","__WEBPACK_IMPORTED_MODULE_11__package_json__","__WEBPACK_IMPORTED_MODULE_12_vega_statistics__","__WEBPACK_IMPORTED_MODULE_13_vega_loader__","__WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__","__WEBPACK_IMPORTED_MODULE_15_vega_scale__","__WEBPACK_IMPORTED_MODULE_16_vega_projection__","__WEBPACK_IMPORTED_MODULE_17_vega_view__","__WEBPACK_IMPORTED_MODULE_18_vega_parser__","__WEBPACK_IMPORTED_MODULE_19_vega_runtime__","Info","Debug","pan","lift","ground","__WEBPACK_IMPORTED_MODULE_1__peek__","__WEBPACK_IMPORTED_MODULE_2__toNumber__","__WEBPACK_IMPORTED_MODULE_0__accessors__","__WEBPACK_IMPORTED_MODULE_2__isFunction__","__WEBPACK_IMPORTED_MODULE_3__splitAccessPath__","__WEBPACK_IMPORTED_MODULE_4__stringValue__","ord","__WEBPACK_IMPORTED_MODULE_0__isFunction__","tid","proto","__WEBPACK_IMPORTED_MODULE_2__splitAccessPath__","__WEBPACK_IMPORTED_MODULE_3__stringValue__","array0","array1","n0","__WEBPACK_IMPORTED_MODULE_0__repeat__","padchar","defaultParser","__WEBPACK_IMPORTED_MODULE_1__isNumber__","__WEBPACK_IMPORTED_MODULE_0__isDate__","parser","Dataflow","_log","__WEBPACK_IMPORTED_MODULE_12_vega_util__","_clock","_rank","__WEBPACK_IMPORTED_MODULE_11_vega_loader__","_touched","__WEBPACK_IMPORTED_MODULE_10__util_UniqueList__","_pulses","_pulse","_heap","__WEBPACK_IMPORTED_MODULE_9__util_Heap__","_postrun","logMethod","__WEBPACK_IMPORTED_MODULE_0__add__","__WEBPACK_IMPORTED_MODULE_1__connect__","__WEBPACK_IMPORTED_MODULE_2__events__","__WEBPACK_IMPORTED_MODULE_3__load__","__WEBPACK_IMPORTED_MODULE_4__on__","__WEBPACK_IMPORTED_MODULE_5__rank__","__WEBPACK_IMPORTED_MODULE_6__run__","__WEBPACK_IMPORTED_MODULE_7__update__","__WEBPACK_IMPORTED_MODULE_8__ChangeSet__","rerank","_enqueue","_getPulse","__WEBPACK_IMPORTED_MODULE_0__Operator__","targetRank","__WEBPACK_IMPORTED_MODULE_0__EventStream__","__WEBPACK_IMPORTED_MODULE_0_vega_loader__","loadPending","requests","localFile","file","http","isFile","hasProtocol","loadFile","protocol_re","baseURL","startsWith","fileProtocol","fs","defaultProtocol","filename","readFile","query","dateParse","parsers","__WEBPACK_IMPORTED_MODULE_0__type__","pattern","__WEBPACK_IMPORTED_MODULE_1__formats_index__","schema","delimitedFormat","delim","__WEBPACK_IMPORTED_MODULE_0_d3_dsv__","__WEBPACK_IMPORTED_MODULE_0__src_dsv__","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","encodingOrOffset","allocUnsafe","fromArrayBuffer","fromString","fromObject","assertSize","alloc","isEncoding","fromArrayLike","byteOffset","isnan","SlowBuffer","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","arrayIndexOf","read","indexSize","readUInt16BE","arrLength","valLength","foundIndex","found","hexWrite","strLen","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","base64","fromByteArray","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","decodeCodePointsArray","codePoints","MAX_ARGUMENTS_LENGTH","toHex","checkOffset","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","ieee754","writeDouble","base64clean","stringtrim","INVALID_BASE64_RE","leadSurrogate","byteArray","toByteArray","dst","INSPECT_MAX_BYTES","foo","subarray","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","includes","_arr","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","getLens","b64","validLen","lens","placeHoldersLen","_byteLength","tmp","Arr","curByte","revLookup","tripletToBase64","encodeChunk","uint8","extraBytes","len2","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","rt","__WEBPACK_IMPORTED_MODULE_0__json__","__WEBPACK_IMPORTED_MODULE_1_topojson_client__","mesh","__WEBPACK_IMPORTED_MODULE_1__src_feature__","__WEBPACK_IMPORTED_MODULE_2__src_mesh__","meshArcs","extractArcs","__WEBPACK_IMPORTED_MODULE_1__stitch__","extract0","geomsByArc","geom","extract1","extract2","extract3","geoms","__WEBPACK_IMPORTED_MODULE_0__feature__","__WEBPACK_IMPORTED_MODULE_0__interval__","__WEBPACK_IMPORTED_MODULE_1__duration__","setHours","setDate","weekday","sunday","monday","thursday","tuesday","wednesday","friday","saturday","setMonth","utcMinute","setUTCSeconds","utcHour","setUTCMinutes","utcDay","setUTCHours","setUTCDate","utcWeekday","utcSunday","utcMonday","utcThursday","utcTuesday","utcWednesday","utcFriday","utcSaturday","utcMonth","setUTCMonth","utcYear","parseIsoNative","__WEBPACK_IMPORTED_MODULE_0__isoFormat__","__WEBPACK_IMPORTED_MODULE_1__defaultLocale__","onStream","SKIP","__WEBPACK_IMPORTED_MODULE_1__ChangeSet__","onOperator","dt","__WEBPACK_IMPORTED_MODULE_2__util_UniqueList__","_onrun","postrun","invokeCallback","enqueue","getPulse","__WEBPACK_IMPORTED_MODULE_1__MultiPulse__","NO_OPT","Heap","siftdown","pidx","siftup","ridx","cidx","last","retval","pushpop","Transform","__WEBPACK_IMPORTED_MODULE_0__src_Aggregate__","__WEBPACK_IMPORTED_MODULE_1__src_Bin__","__WEBPACK_IMPORTED_MODULE_2__src_Collect__","__WEBPACK_IMPORTED_MODULE_3__src_Compare__","__WEBPACK_IMPORTED_MODULE_4__src_CountPattern__","__WEBPACK_IMPORTED_MODULE_5__src_Cross__","__WEBPACK_IMPORTED_MODULE_6__src_Density__","__WEBPACK_IMPORTED_MODULE_7__src_Expression__","__WEBPACK_IMPORTED_MODULE_8__src_Extent__","__WEBPACK_IMPORTED_MODULE_9__src_Facet__","__WEBPACK_IMPORTED_MODULE_10__src_Field__","__WEBPACK_IMPORTED_MODULE_11__src_Filter__","__WEBPACK_IMPORTED_MODULE_12__src_Flatten__","__WEBPACK_IMPORTED_MODULE_13__src_Fold__","__WEBPACK_IMPORTED_MODULE_14__src_Formula__","__WEBPACK_IMPORTED_MODULE_15__src_Generate__","__WEBPACK_IMPORTED_MODULE_16__src_Impute__","__WEBPACK_IMPORTED_MODULE_17__src_JoinAggregate__","__WEBPACK_IMPORTED_MODULE_18__src_Key__","__WEBPACK_IMPORTED_MODULE_19__src_Load__","__WEBPACK_IMPORTED_MODULE_20__src_Lookup__","__WEBPACK_IMPORTED_MODULE_21__src_MultiExtent__","__WEBPACK_IMPORTED_MODULE_22__src_MultiValues__","__WEBPACK_IMPORTED_MODULE_23__src_Params__","__WEBPACK_IMPORTED_MODULE_24__src_Pivot__","__WEBPACK_IMPORTED_MODULE_25__src_PreFacet__","__WEBPACK_IMPORTED_MODULE_26__src_Project__","__WEBPACK_IMPORTED_MODULE_27__src_Proxy__","__WEBPACK_IMPORTED_MODULE_28__src_Relay__","__WEBPACK_IMPORTED_MODULE_29__src_Sample__","__WEBPACK_IMPORTED_MODULE_30__src_Sequence__","__WEBPACK_IMPORTED_MODULE_31__src_Sieve__","__WEBPACK_IMPORTED_MODULE_32__src_Subflow__","__WEBPACK_IMPORTED_MODULE_33__src_TupleIndex__","__WEBPACK_IMPORTED_MODULE_34__src_Values__","__WEBPACK_IMPORTED_MODULE_35__src_Window__","minstep","eps","maxb","logb","divide","steps","__WEBPACK_IMPORTED_MODULE_1__random__","__WEBPACK_IMPORTED_MODULE_2_d3_array__","samples","__WEBPACK_IMPORTED_MODULE_1__number__","__WEBPACK_IMPORTED_MODULE_2__quantile__","indexes","permutes","estimateBandwidth","__WEBPACK_IMPORTED_MODULE_1__quartiles__","__WEBPACK_IMPORTED_MODULE_3_d3_array__","__WEBPACK_IMPORTED_MODULE_0__normal__","__WEBPACK_IMPORTED_MODULE_2__random__","kernel","dists","weights","distributions","Bin","_bins","__WEBPACK_IMPORTED_MODULE_0__util_SortedList__","CountPattern","tokenize","tcase","case","_parameterCheck","_match","_stop","_finish","stopwords","_tuples","Cross","Density","__WEBPACK_IMPORTED_MODULE_0__util_Distributions__","function","mixture","distribution","FUNCTION","Distributions","FIELD","DISTRIBUTIONS","__WEBPACK_IMPORTED_MODULE_0_vega_statistics__","kde","uniform","Extent","Filter","revisit","isMod","Flatten","__WEBPACK_IMPORTED_MODULE_0__util_util__","maxlen","Fold","fnames","Formula","initonly","Generate","Impute","Methods","partition","keyvals","gVals","gKey","kMap","gMap","kVal","fName","kName","gNames","_impute","JoinAggregate","__WEBPACK_IMPORTED_MODULE_0__Aggregate__","Lookup","Pivot","aggregateParams","pivotKeys","_transform","__WEBPACK_IMPORTED_MODULE_0__Facet__","Project","lut","Sample","cap","Sequence","TupleIndex","Window","__WEBPACK_IMPORTED_MODULE_5_vega_dataflow__","processPartition","__WEBPACK_IMPORTED_MODULE_7_d3_array__","setWindow","adjustRange","bisect","__WEBPACK_IMPORTED_MODULE_2__util_SortedList__","__WEBPACK_IMPORTED_MODULE_3__util_WindowOps__","__WEBPACK_IMPORTED_MODULE_4__util_WindowState__","WindowState","visitInputs","windows","countOnly","__WEBPACK_IMPORTED_MODULE_0__AggregateOps__","__WEBPACK_IMPORTED_MODULE_2__WindowOps__","__WEBPACK_IMPORTED_MODULE_1__TupleStore__","wind","__WEBPACK_IMPORTED_MODULE_0__src_Bound__","__WEBPACK_IMPORTED_MODULE_1__src_Identifier__","__WEBPACK_IMPORTED_MODULE_2__src_Mark__","__WEBPACK_IMPORTED_MODULE_3__src_Overlap__","__WEBPACK_IMPORTED_MODULE_4__src_Render__","__WEBPACK_IMPORTED_MODULE_5__src_ViewLayout__","boundItem","__WEBPACK_IMPORTED_MODULE_2_vega_scenegraph__","rebound","markBounds","gradient_id","domCanvas","domImage","Scenegraph","__WEBPACK_IMPORTED_MODULE_2__util_serialize__","createMark","__WEBPACK_IMPORTED_MODULE_1__GroupItem__","__WEBPACK_IMPORTED_MODULE_0__path_shapes__","__WEBPACK_IMPORTED_MODULE_1__markItemPath__","arcInnerRadius","arcOuterRadius","arcStartAngle","arcEndAngle","arcPadAngle","x10","y10","x32","y32","cornerTangents","cw","x01","y01","ox","oy","x11","y11","x00","y00","cx0","cy0","cx1","cy1","dx0","dy0","dx1","dy1","a01","a11","a00","a10","da0","da1","ap","rp","padRadius","rc0","rc1","centroid","Path","tauEpsilon","arcTo","l01_2","x20","y20","l21_2","l20_2","l21","l01","t01","t21","__WEBPACK_IMPORTED_MODULE_1__symbol_circle__","__WEBPACK_IMPORTED_MODULE_2__symbol_cross__","__WEBPACK_IMPORTED_MODULE_3__symbol_diamond__","__WEBPACK_IMPORTED_MODULE_4__symbol_star__","__WEBPACK_IMPORTED_MODULE_5__symbol_square__","__WEBPACK_IMPORTED_MODULE_6__symbol_triangle__","__WEBPACK_IMPORTED_MODULE_7__symbol_wye__","__WEBPACK_IMPORTED_MODULE_8__constant__","BasisClosed","BasisOpen","Bundle","_basis","_beta","_x","_y","CatmullRomClosed","__WEBPACK_IMPORTED_MODULE_0__cardinalClosed__","__WEBPACK_IMPORTED_MODULE_1__noop__","__WEBPACK_IMPORTED_MODULE_2__catmullRom__","CatmullRomOpen","__WEBPACK_IMPORTED_MODULE_0__cardinalOpen__","__WEBPACK_IMPORTED_MODULE_1__catmullRom__","LinearClosed","slope3","h0","h1","slope2","MonotoneX","MonotoneY","ReflectContext","monotoneX","monotoneY","_t0","Natural","controlPoints","px","py","Step","_t","stepBefore","stepAfter","large","sweep","rotateX","segmentCache","sin_th","cos_th","pl","sfactor_sq","sfactor","th0","th1","th_arc","segs","th2","th3","bezier","bezierCache","cos_th0","sin_th0","cos_th1","sin_th1","th_half","sin_th_h2","linearGradient","createLinearGradient","addColorStop","__WEBPACK_IMPORTED_MODULE_1__util_pickPath__","__WEBPACK_IMPORTED_MODULE_2__markMultiItemPath__","__WEBPACK_IMPORTED_MODULE_7__util_svg_translateItem__","StrokeOffset","noBound","__WEBPACK_IMPORTED_MODULE_1__bound_boundStroke__","backgroundPath","__WEBPACK_IMPORTED_MODULE_2__util_visit__","__WEBPACK_IMPORTED_MODULE_4__util_canvas_fill__","__WEBPACK_IMPORTED_MODULE_3__util_canvas_stroke__","pickMark","hitBackground","__WEBPACK_IMPORTED_MODULE_5__util_canvas_pick__","getImage","imageXOffset","imageYOffset","aspect","__WEBPACK_IMPORTED_MODULE_2__util_svg_translate__","__WEBPACK_IMPORTED_MODULE_0__util_visit__","ar0","ar1","drawImage","__WEBPACK_IMPORTED_MODULE_1__util_canvas_pick__","xOffset","yOffset","__WEBPACK_IMPORTED_MODULE_6__util_svg_translateItem__","pathCache","__WEBPACK_IMPORTED_MODULE_2__path_parse__","__WEBPACK_IMPORTED_MODULE_3__path_render__","__WEBPACK_IMPORTED_MODULE_4__util_canvas_draw__","__WEBPACK_IMPORTED_MODULE_1__path_shapes__","__WEBPACK_IMPORTED_MODULE_1__util_visit__","__WEBPACK_IMPORTED_MODULE_2__util_canvas_pick__","__WEBPACK_IMPORTED_MODULE_1__util_text__","textAlign","__WEBPACK_IMPORTED_MODULE_6__util_svg_translate__","noRotate","__WEBPACK_IMPORTED_MODULE_3__util_canvas_fill__","fillText","__WEBPACK_IMPORTED_MODULE_5__util_canvas_stroke__","strokeText","ix","iy","__WEBPACK_IMPORTED_MODULE_4__util_canvas_pick__","__WEBPACK_IMPORTED_MODULE_0__marks_index__","__WEBPACK_IMPORTED_MODULE_1__point__","devicePixelRatio","inDOM","HTMLElement","setTransform","renderModule","RenderType","__WEBPACK_IMPORTED_MODULE_0__CanvasHandler__","__WEBPACK_IMPORTED_MODULE_1__CanvasRenderer__","__WEBPACK_IMPORTED_MODULE_2__SVGHandler__","__WEBPACK_IMPORTED_MODULE_3__SVGRenderer__","__WEBPACK_IMPORTED_MODULE_4__SVGStringRenderer__","Canvas","PNG","SVG","__WEBPACK_IMPORTED_MODULE_1__boundContext__","clipBounds","sceneEqual","pathEqual","TOLERANCE","objectEqual","__WEBPACK_IMPORTED_MODULE_0__path_parse__","getCounter","_signals","COUNTER_NAME","scenegraph","Init","hasOverlap","hasBounds","boundTest","parity","greedy","layoutGroup","viewBounds","__WEBPACK_IMPORTED_MODULE_3_vega_scenegraph__","xBounds","yBounds","isYAxis","axisLayout","leftWidth","legendPreprocess","margin","legendLayout","titleLayout","viewSizeLayout","axisIndices","indices","axisTitleLayout","AxisOffset","auto","legendGroupLayout","axisBounds","legendEntryLayout","widths","viewWidth","viewHeight","_autosize","_resizeView","__WEBPACK_IMPORTED_MODULE_1__gridLayout__","extractGroups","views","rowheaders","rowfooters","colheaders","colfooters","rowtitle","coltitle","bboxFlush","bboxFull","boundFlush","boundFull","offsetValue","gridLayout","alignCol","alignRow","padCol","padRow","ncols","nrows","xExtent","xMax","yExtent","yMax","headerBand","footerBand","titleBand","layoutTitle","stride","back","__WEBPACK_IMPORTED_MODULE_0__src_AxisTicks__","__WEBPACK_IMPORTED_MODULE_1__src_DataJoin__","__WEBPACK_IMPORTED_MODULE_2__src_Encode__","__WEBPACK_IMPORTED_MODULE_3__src_LegendEntries__","__WEBPACK_IMPORTED_MODULE_4__src_LinkPath__","__WEBPACK_IMPORTED_MODULE_5__src_Pie__","__WEBPACK_IMPORTED_MODULE_6__src_Scale__","__WEBPACK_IMPORTED_MODULE_7__src_SortItems__","__WEBPACK_IMPORTED_MODULE_8__src_Stack__","__WEBPACK_IMPORTED_MODULE_9__src_ticks__","__WEBPACK_IMPORTED_MODULE_0__ticks__","__WEBPACK_IMPORTED_MODULE_0__invertRange__","__WEBPACK_IMPORTED_MODULE_1__invertRangeExtent__","__WEBPACK_IMPORTED_MODULE_2__scaleBand__","__WEBPACK_IMPORTED_MODULE_3__scaleBin__","__WEBPACK_IMPORTED_MODULE_4__scaleSequential__","quantile","quantize","__WEBPACK_IMPORTED_MODULE_0__bandSpace__","ordinalRange","__WEBPACK_IMPORTED_MODULE_2_d3_scale__","pointish","createObject","setObject","createMap","__WEBPACK_IMPORTED_MODULE_0__map__","setMap","createResult","setResult","sortValues","rollup","valuesByKey","sortKeys","nest","__WEBPACK_IMPORTED_MODULE_2__number__","__WEBPACK_IMPORTED_MODULE_1__linear__","labConvert","Lab","Hcl","__WEBPACK_IMPORTED_MODULE_1__color__","rgb2lrgb","xyz2lab","Yn","Xn","Zn","lab2xyz","lrgb2rgb","hclConvert","cubehelixConvert","Cubehelix","BC_DA","ED","EB","bl","cubehelix","cosh","sinh","interpolateTransform","pxComma","pxParen","degParen","skewX","translateX","translateY","scaleX","scaleY","interpolateTransformCss","interpolateTransformSvg","parseCss","__WEBPACK_IMPORTED_MODULE_0__decompose__","cssNode","cssRoot","cssView","parseSvg","svgNode","baseVal","consolidate","tanh","rho","ux0","uy0","w0","ux1","uy1","w1","coshr0","duration","hslLong","hclLong","cubehelixGamma","cubehelixLong","interpolator","__WEBPACK_IMPORTED_MODULE_1_d3_format__","__WEBPACK_IMPORTED_MODULE_0__formatPrefixAuto__","__WEBPACK_IMPORTED_MODULE_1__formatRounded__","toFixed","toPrecision","pow10","powp","logp","log10","log2","reflect","logs","pows","__WEBPACK_IMPORTED_MODULE_4__continuous__","__WEBPACK_IMPORTED_MODULE_3__nice__","quantiles","__WEBPACK_IMPORTED_MODULE_2__linear__","__WEBPACK_IMPORTED_MODULE_0__time__","__WEBPACK_IMPORTED_MODULE_1_d3_time_format__","binLinear","setDomain","__WEBPACK_IMPORTED_MODULE_1_d3_scale__","binOrdinal","interpolateRange","scaleFraction","lerp","schemes","__WEBPACK_IMPORTED_MODULE_1_d3_scale_chromatic__","discretized","schemeDiscretized","schemeArray","__WEBPACK_IMPORTED_MODULE_2_d3_interpolate__","__WEBPACK_IMPORTED_MODULE_0__palettes__","blueorange","category10","accent","dark2","paired","pastel1","pastel2","set1","set2","set3","category20","category20b","category20c","tableau10","tableau20","viridis","magma","inferno","plasma","rainbow","sinebow","blueOrange","__WEBPACK_IMPORTED_MODULE_0__src_categorical_category10__","__WEBPACK_IMPORTED_MODULE_1__src_categorical_Accent__","__WEBPACK_IMPORTED_MODULE_2__src_categorical_Dark2__","__WEBPACK_IMPORTED_MODULE_3__src_categorical_Paired__","__WEBPACK_IMPORTED_MODULE_4__src_categorical_Pastel1__","__WEBPACK_IMPORTED_MODULE_5__src_categorical_Pastel2__","__WEBPACK_IMPORTED_MODULE_6__src_categorical_Set1__","__WEBPACK_IMPORTED_MODULE_7__src_categorical_Set2__","__WEBPACK_IMPORTED_MODULE_8__src_categorical_Set3__","__WEBPACK_IMPORTED_MODULE_9__src_diverging_BrBG__","__WEBPACK_IMPORTED_MODULE_10__src_diverging_PRGn__","__WEBPACK_IMPORTED_MODULE_11__src_diverging_PiYG__","__WEBPACK_IMPORTED_MODULE_12__src_diverging_PuOr__","__WEBPACK_IMPORTED_MODULE_13__src_diverging_RdBu__","__WEBPACK_IMPORTED_MODULE_14__src_diverging_RdGy__","__WEBPACK_IMPORTED_MODULE_15__src_diverging_RdYlBu__","__WEBPACK_IMPORTED_MODULE_16__src_diverging_RdYlGn__","__WEBPACK_IMPORTED_MODULE_17__src_diverging_Spectral__","__WEBPACK_IMPORTED_MODULE_18__src_sequential_multi_BuGn__","__WEBPACK_IMPORTED_MODULE_19__src_sequential_multi_BuPu__","__WEBPACK_IMPORTED_MODULE_20__src_sequential_multi_GnBu__","__WEBPACK_IMPORTED_MODULE_21__src_sequential_multi_OrRd__","__WEBPACK_IMPORTED_MODULE_22__src_sequential_multi_PuBuGn__","__WEBPACK_IMPORTED_MODULE_23__src_sequential_multi_PuBu__","__WEBPACK_IMPORTED_MODULE_24__src_sequential_multi_PuRd__","__WEBPACK_IMPORTED_MODULE_25__src_sequential_multi_RdPu__","__WEBPACK_IMPORTED_MODULE_26__src_sequential_multi_YlGnBu__","__WEBPACK_IMPORTED_MODULE_27__src_sequential_multi_YlGn__","__WEBPACK_IMPORTED_MODULE_28__src_sequential_multi_YlOrBr__","__WEBPACK_IMPORTED_MODULE_29__src_sequential_multi_YlOrRd__","__WEBPACK_IMPORTED_MODULE_30__src_sequential_single_Blues__","__WEBPACK_IMPORTED_MODULE_31__src_sequential_single_Greens__","__WEBPACK_IMPORTED_MODULE_32__src_sequential_single_Greys__","__WEBPACK_IMPORTED_MODULE_33__src_sequential_single_Purples__","__WEBPACK_IMPORTED_MODULE_34__src_sequential_single_Reds__","__WEBPACK_IMPORTED_MODULE_35__src_sequential_single_Oranges__","__WEBPACK_IMPORTED_MODULE_36__src_sequential_multi_cubehelix__","__WEBPACK_IMPORTED_MODULE_37__src_sequential_multi_rainbow__","__WEBPACK_IMPORTED_MODULE_38__src_sequential_multi_sinebow__","__WEBPACK_IMPORTED_MODULE_39__src_sequential_multi_viridis__","__WEBPACK_IMPORTED_MODULE_0__colors__","__WEBPACK_IMPORTED_MODULE_1__ramp__","warm","cool","pi_1_3","pi_2_3","timeInterval","utcInterval","defaultItemCreate","isExit","reenter","__WEBPACK_IMPORTED_MODULE_0__labels__","__WEBPACK_IMPORTED_MODULE_1__legend_types__","__WEBPACK_IMPORTED_MODULE_2__ticks__","__WEBPACK_IMPORTED_MODULE_4_vega_scale__","fraction","perc","perc2","labelValues","quantizeSymbols","quantileSymbols","thresholdSymbols","binSymbols","labelFormat","__WEBPACK_IMPORTED_MODULE_0__legend_types__","formatRange","formatDiscrete","formatPoint","labelFraction","__WEBPACK_IMPORTED_MODULE_1__scale_types__","adjust","sourceX","sourceY","targetX","targetY","LinkPath","sx","sy","ty","lineR","sr","tr","rr","arcR","curveR","orthoX","orthoY","orthoR","ss","diagonalX","diagonalY","diagonalR","mr","Paths","line-radial","arc-radial","curve-radial","orthogonal-horizontal","orthogonal-vertical","orthogonal-radial","diagonal-horizontal","diagonal-vertical","diagonal-radial","Pie","configureDomain","rawDomain","INCLUDE_ZERO","INCLUDE_PAD","padDomain","domainMid","domainCheck","__WEBPACK_IMPORTED_MODULE_3__scale_types__","domainImplicit","frac","configureRange","configureRangeStep","configureScheme","__WEBPACK_IMPORTED_MODULE_5_d3_interpolate__","flip","outer","inner","discrete","DEFAULT_COUNT","adjustScheme","Stack","stackCenter","stackNormalize","stackZero","lastPos","lastNeg","__WEBPACK_IMPORTED_MODULE_0__src_Contour__","__WEBPACK_IMPORTED_MODULE_1__src_GeoJSON__","__WEBPACK_IMPORTED_MODULE_2__src_GeoPath__","__WEBPACK_IMPORTED_MODULE_3__src_GeoPoint__","__WEBPACK_IMPORTED_MODULE_4__src_GeoShape__","__WEBPACK_IMPORTED_MODULE_5__src_Graticule__","__WEBPACK_IMPORTED_MODULE_6__src_Projection__","Contour","__WEBPACK_IMPORTED_MODULE_3_d3_contour__","CONTOUR_PARAMS","DENSITY_PARAMS","__WEBPACK_IMPORTED_MODULE_0__src_contours__","__WEBPACK_IMPORTED_MODULE_1__src_density__","ringContains","pj","xj","yj","segmentContains","collinear","within","defaultX","defaultY","defaultWeight","__WEBPACK_IMPORTED_MODULE_2__blur__","__WEBPACK_IMPORTED_MODULE_4__contours__","density","values0","Float32Array","values1","weight","transformPolygon","transformRing","cellSize","blurX","blurY","GeoJSON","_features","_points","lon","lat","GeoPath","initPath","pointRadius","__WEBPACK_IMPORTED_MODULE_1_vega_projection__","__WEBPACK_IMPORTED_MODULE_0_d3_geo__","projectionProperties","getProjectionPath","defaultPath","albers","albersusa","azimuthalequalarea","azimuthalequidistant","conicconformal","conicequalarea","conicequidistant","equirectangular","gnomonic","mercator","naturalEarth1","orthographic","stereographic","transversemercator","ranges","__WEBPACK_IMPORTED_MODULE_2__cartesian__","__WEBPACK_IMPORTED_MODULE_3__math__","equatorial","inflection","phii","lambda2","lambdai","boundsLineStart","boundsLineEnd","boundsRingPoint","deltaSum","boundsRingStart","boundsRingEnd","rangeCompare","rangeContains","__WEBPACK_IMPORTED_MODULE_4__stream__","deltaMax","centroidPoint","centroidPointCartesian","W0","X0","Y0","Z0","centroidLineStart","centroidStream","centroidLinePointFirst","z0","centroidLinePoint","W1","X1","Y1","Z1","centroidLineEnd","centroidRingStart","centroidRingPointFirst","centroidRingEnd","centroidRingPoint","cz","Z2","__WEBPACK_IMPORTED_MODULE_2__stream__","graticuleX","graticuleY","graticule","DX","DY","outline","extentMajor","extentMinor","stepMajor","stepMinor","__WEBPACK_IMPORTED_MODULE_2__area__","__WEBPACK_IMPORTED_MODULE_3__bounds__","__WEBPACK_IMPORTED_MODULE_4__centroid__","__WEBPACK_IMPORTED_MODULE_5__context__","__WEBPACK_IMPORTED_MODULE_6__measure__","__WEBPACK_IMPORTED_MODULE_7__string__","contextStream","projectionStream","centroidPointFirstLine","centroidPointLine","centroidPointFirstRing","centroidPointRing","PathContext","_radius","lengthRing","PathString","_string","_circle","resampleNone","__WEBPACK_IMPORTED_MODULE_2__transform__","resample","resampleLineTo","phi2","dx2","dy2","dz","cosMinDistance","resampleStream","ringPoint","b00","c00","cylindricalEqualAreaRaw","multiplex","__WEBPACK_IMPORTED_MODULE_1__albers__","__WEBPACK_IMPORTED_MODULE_2__conicEqualArea__","__WEBPACK_IMPORTED_MODULE_3__fit__","albersUsa","lower48Point","alaskaPoint","hawaiiPoint","lower48","alaska","hawaii","pointStream","__WEBPACK_IMPORTED_MODULE_1__azimuthal__","azimuthalEqualAreaRaw","cxcy","azimuthalEquidistantRaw","tany","conicConformalRaw","__WEBPACK_IMPORTED_MODULE_2__mercator__","conicEquidistantRaw","nx","__WEBPACK_IMPORTED_MODULE_2__equirectangular__","gnomonicRaw","__WEBPACK_IMPORTED_MODULE_1__identity__","__WEBPACK_IMPORTED_MODULE_0__clip_rectangle__","reflectX","reflectY","naturalEarth1Raw","phi4","orthographicRaw","stereographicRaw","transverseMercatorRaw","__WEBPACK_IMPORTED_MODULE_1__mercator__","GeoPoint","xy","GeoShape","shapeGenerator","Graticule","__WEBPACK_IMPORTED_MODULE_2_d3_geo__","collectGeoJSON","__WEBPACK_IMPORTED_MODULE_2_vega_projection__","__WEBPACK_IMPORTED_MODULE_0__src_Force__","Force","rerun","sim","__WEBPACK_IMPORTED_MODULE_2_d3_force__","stopped","setup","ForceParams","Forces","getForce","numForces","ForceMap","setForceParam","collide","nbody","ForceConfig","ForceOutput","iters","iterations","static","__WEBPACK_IMPORTED_MODULE_0__src_center__","__WEBPACK_IMPORTED_MODULE_1__src_collide__","__WEBPACK_IMPORTED_MODULE_2__src_link__","__WEBPACK_IMPORTED_MODULE_3__src_manyBody__","__WEBPACK_IMPORTED_MODULE_5__src_simulation__","__WEBPACK_IMPORTED_MODULE_6__src_x__","__WEBPACK_IMPORTED_MODULE_7__src_y__","__WEBPACK_IMPORTED_MODULE_1__jiggle__","__WEBPACK_IMPORTED_MODULE_2_d3_quadtree__","quad","rj","strength","ri2","visitAfter","prepare","radii","quadtree","Quadtree","__WEBPACK_IMPORTED_MODULE_10__x__","__WEBPACK_IMPORTED_MODULE_11__y__","leaf_copy","leaf","__WEBPACK_IMPORTED_MODULE_1__cover__","__WEBPACK_IMPORTED_MODULE_2__data__","__WEBPACK_IMPORTED_MODULE_3__extent__","__WEBPACK_IMPORTED_MODULE_4__find__","__WEBPACK_IMPORTED_MODULE_5__remove__","__WEBPACK_IMPORTED_MODULE_6__root__","__WEBPACK_IMPORTED_MODULE_7__size__","__WEBPACK_IMPORTED_MODULE_8__visit__","__WEBPACK_IMPORTED_MODULE_9__visitAfter__","treeProto","removeAll","ym","yp","xz","yz","__WEBPACK_IMPORTED_MODULE_0__quad__","quads","retainer","nodeById","nodeId","__WEBPACK_IMPORTED_MODULE_2_d3_collection__","defaultStrength","distances","strengths","bias","initializeStrength","initializeDistance","distance","__WEBPACK_IMPORTED_MODULE_3__simulation__","theta2","distanceMax2","distanceMin2","distanceMin","distanceMax","__WEBPACK_IMPORTED_MODULE_0__src_dispatch__","Dispatch","__WEBPACK_IMPORTED_MODULE_0__timer__","total","elapsed","__WEBPACK_IMPORTED_MODULE_0__src_Nest__","__WEBPACK_IMPORTED_MODULE_1__src_Pack__","__WEBPACK_IMPORTED_MODULE_2__src_Partition__","__WEBPACK_IMPORTED_MODULE_3__src_Stratify__","__WEBPACK_IMPORTED_MODULE_4__src_Tree__","__WEBPACK_IMPORTED_MODULE_5__src_TreeLinks__","__WEBPACK_IMPORTED_MODULE_6__src_Treemap__","Nest","__WEBPACK_IMPORTED_MODULE_0__lookup__","__WEBPACK_IMPORTED_MODULE_3_d3_collection__","__WEBPACK_IMPORTED_MODULE_4_d3_hierarchy__","treesource","defaultSeparation","meanX","meanXReduce","maxY","maxYReduce","leafLeft","leafRight","cluster","previousNode","separation","nodeSize","leastCommonAncestor","aNodes","bNodes","defaultRadius","radiusLeaf","packChildren","__WEBPACK_IMPORTED_MODULE_0__siblings__","translateChild","__WEBPACK_IMPORTED_MODULE_1__accessors__","shuffle","__WEBPACK_IMPORTED_MODULE_0__treemap_round__","__WEBPACK_IMPORTED_MODULE_1__treemap_dice__","positionNode","defaultId","defaultParentId","parentId","__WEBPACK_IMPORTED_MODULE_1__hierarchy_index__","preroot","ambiguous","stratify","nodeKey","nodeByKey","nextLeft","nextRight","moveSubtree","wm","wp","executeShifts","nextAncestor","vim","TreeNode","treeRoot","__WEBPACK_IMPORTED_MODULE_0__hierarchy_index__","firstWalk","secondWalk","sizeNode","siblings","midpoint","apportion","vip","vop","vom","sip","sop","som","__WEBPACK_IMPORTED_MODULE_0__round__","__WEBPACK_IMPORTED_MODULE_1__squarify__","__WEBPACK_IMPORTED_MODULE_2__accessors__","treemap","paddingStack","paddingLeft","paddingTop","paddingRight","paddingBottom","tile","valueOffset","valueTarget","valueLeft","valueRight","xk","yk","__WEBPACK_IMPORTED_MODULE_2__squarify__","resquarify","_squarify","Pack","__WEBPACK_IMPORTED_MODULE_0__HierarchyLayout__","__WEBPACK_IMPORTED_MODULE_2_d3_hierarchy__","Output","Partition","Stratify","__WEBPACK_IMPORTED_MODULE_3_d3_hierarchy__","parentKey","Tree","Layouts","tidy","TreeLinks","Treemap","Tiles","binary","slicedice","__WEBPACK_IMPORTED_MODULE_0__src_Voronoi__","Voronoi","__WEBPACK_IMPORTED_MODULE_2_d3_voronoi__","defaultExtent","diagram","__WEBPACK_IMPORTED_MODULE_0__src_voronoi__","__WEBPACK_IMPORTED_MODULE_2__Diagram__","voronoi","Beach","createBeach","beach","beachPool","detachBeach","__WEBPACK_IMPORTED_MODULE_4__Diagram__","removeBeach","disappearing","iArc","nArcs","addBeach","dxl","dxr","directrix","leftBreakPoint","rightBreakPoint","newArc","rfocx","rfocy","pby2","lfocx","lfocy","plby2","hl","aby2","__WEBPACK_IMPORTED_MODULE_0__src_Wordcloud__","Wordcloud","__WEBPACK_IMPORTED_MODULE_0__CloudLayout__","__WEBPACK_IMPORTED_MODULE_3_vega_scale__","__WEBPACK_IMPORTED_MODULE_4_vega_statistics__","fontSizeRange","fsize","sizeScale","words","spiral","cloudSprite","contextAndRatio","sprite","w32","maxh","cloudRadians","wcr","wsr","hcr","hsr","xoff","yoff","hasText","pixels","getImageData","seen","seenRow","cloudCollide","board","sw","msx","cloudBounds","collideRects","archimedeanSpiral","rectangularSpiral","zeroArray","functor","dxdy","maxDelta","cloud","tags","spirals","archimedean","rectangular","__WEBPACK_IMPORTED_MODULE_0__src_CrossFilter__","__WEBPACK_IMPORTED_MODULE_1__src_ResolveFilter__","CrossFilter","__WEBPACK_IMPORTED_MODULE_0__Bitmaps__","_indices","__WEBPACK_IMPORTED_MODULE_1__Dimension__","__WEBPACK_IMPORTED_MODULE_2__SortedIndex__","reinit","remMap","modMap","bits","_index","reindex","indexMap","incrementOne","incrementAll","dim","old","lo1","hi1","lo0","hi0","Bitmaps","__WEBPACK_IMPORTED_MODULE_0__arrays__","lengthen","added","SortedIndex","oldv","oldi","addv","addi","index0","value1","index1","ResolveFilter","bitmap","pass","_from","_inBundle","_integrity","_location","_phantomChildren","_requested","registry","escapedName","rawSpec","saveSpec","fetchSpec","_requiredBy","_resolved","_shasum","_spec","_where","author","bugs","bundleDependencies","contributors","vega-crossfilter","vega-dataflow","vega-encode","vega-event-selector","vega-expression","vega-force","vega-geo","vega-hierarchy","vega-loader","vega-parser","vega-projection","vega-runtime","vega-scale","vega-scenegraph","vega-statistics","vega-transforms","vega-typings","vega-util","vega-view","vega-view-transforms","vega-voronoi","vega-wordcloud","deprecated","devDependencies","eslint","rollup-plugin-json","rollup-plugin-node-resolve","tape","tv4","uglify-js","homepage","jsdelivr","jsnext:main","keywords","license","repository","scripts","postbuild","postpublish","prebuild","prepublishOnly","pretest","unpkg","__WEBPACK_IMPORTED_MODULE_0__src_View__","__WEBPACK_IMPORTED_MODULE_17_vega_dataflow__","_renderType","__WEBPACK_IMPORTED_MODULE_19_vega_scenegraph__","__WEBPACK_IMPORTED_MODULE_15__tooltip__","_preventDefault","_timers","_eventListeners","__WEBPACK_IMPORTED_MODULE_10__runtime__","_runtime","_bind","__WEBPACK_IMPORTED_MODULE_18_vega_util__","_eventConfig","_resize","__WEBPACK_IMPORTED_MODULE_0__cursor__","lookupSignal","findSignalHandler","__WEBPACK_IMPORTED_MODULE_3__hover__","__WEBPACK_IMPORTED_MODULE_4__finalize__","__WEBPACK_IMPORTED_MODULE_5__initialize__","__WEBPACK_IMPORTED_MODULE_6__render_to_image_url__","__WEBPACK_IMPORTED_MODULE_7__render_to_canvas__","__WEBPACK_IMPORTED_MODULE_8__render_to_svg__","__WEBPACK_IMPORTED_MODULE_9__render_size__","__WEBPACK_IMPORTED_MODULE_11__scale__","__WEBPACK_IMPORTED_MODULE_13__state__","__WEBPACK_IMPORTED_MODULE_14__timer__","__WEBPACK_IMPORTED_MODULE_16__trap__","container","_resetRenderer","trap","addResizeListener","removeResizeListener","addSignalListener","removeSignalListener","finalize","toCanvas","toSVG","getState","setCursor","user","dataref","dataset","initializeEventConfig","prevent","VIEW","__WEBPACK_IMPORTED_MODULE_0__events_extend__","TIMER","NO_TRAP","WINDOW","extension","itemGroup","itemFilter","markTarget","invoke","hoverSet","leaveSet","timers","__WEBPACK_IMPORTED_MODULE_0__bind__","__WEBPACK_IMPORTED_MODULE_1__element__","__WEBPACK_IMPORTED_MODULE_2__initialize_renderer__","__WEBPACK_IMPORTED_MODULE_3__initialize_handler__","__WEBPACK_IMPORTED_MODULE_4_vega_scenegraph__","elBind","__WEBPACK_IMPORTED_MODULE_0__element__","BindClass","NameClass","checkbox","radio","valuesEqual","selectedIndex","RadioClass","OptionClass","__WEBPACK_IMPORTED_MODULE_1__trap__","prevHandler","toBlobURL","mime","URL","createObjectURL","__WEBPACK_IMPORTED_MODULE_0__render_headless__","toDataURL","__WEBPACK_IMPORTED_MODULE_1_vega_parser__","__WEBPACK_IMPORTED_MODULE_2_vega_runtime__","__WEBPACK_IMPORTED_MODULE_0__parsers_view__","__WEBPACK_IMPORTED_MODULE_1__Scope__","__WEBPACK_IMPORTED_MODULE_2__config__","parseView","__WEBPACK_IMPORTED_MODULE_1__padding__","__WEBPACK_IMPORTED_MODULE_0__autosize__","__WEBPACK_IMPORTED_MODULE_10_vega_util__","__WEBPACK_IMPORTED_MODULE_2__signal__","__WEBPACK_IMPORTED_MODULE_9__transforms__","__WEBPACK_IMPORTED_MODULE_4__encode_encode_util__","__WEBPACK_IMPORTED_MODULE_5__marks_marktypes__","__WEBPACK_IMPORTED_MODULE_6__marks_roles__","__WEBPACK_IMPORTED_MODULE_3__spec__","__WEBPACK_IMPORTED_MODULE_8__DataScope__","paddingObject","assert","isDecimalDigit","isHexDigit","isOctalDigit","isWhiteSpace","isLineTerminator","isIdentifierStart","RegexNonAsciiIdentifierStart","isIdentifierPart","RegexNonAsciiIdentifierPart","skipComment","scanHexEscape","throwError","MessageUnexpectedToken","ILLEGAL","scanUnicodeCodePointEscape","cu1","cu2","getEscapedIdentifier","getIdentifier","scanIdentifier","TokenIdentifier","TokenKeyword","TokenNullLiteral","TokenBooleanLiteral","scanPunctuator","code2","ch2","ch3","ch4","ch1","TokenPunctuator","scanHexLiteral","TokenNumericLiteral","scanOctalLiteral","octal","scanNumericLiteral","scanStringLiteral","TokenStringLiteral","testRegExp","$1","MessageInvalidRegExp","exception","scanRegExpBody","classMarker","terminated","MessageUnterminatedRegExp","literal","scanRegExpFlags","scanRegExp","lookahead","regex","isIdentifierName","advance","TokenEOF","lex","finishArrayExpression","SyntaxArrayExpression","finishBinaryExpression","SyntaxLogicalExpression","SyntaxBinaryExpression","finishCallExpression","SyntaxCallExpression","finishConditionalExpression","SyntaxConditionalExpression","finishIdentifier","SyntaxIdentifier","finishLiteral","SyntaxLiteral","finishMemberExpression","accessor","SyntaxMemberExpression","computed","member","finishObjectExpression","SyntaxObjectExpression","finishProperty","SyntaxProperty","finishUnaryExpression","SyntaxUnaryExpression","messageFormat","msg","whole","throwUnexpected","MessageUnexpectedEOS","MessageUnexpectedNumber","MessageUnexpectedString","MessageUnexpectedIdentifier","MessageUnexpectedReserved","expect","matchKeyword","keyword","parseArrayInitialiser","parseConditionalExpression","parseObjectPropertyKey","MessageStrictOctalLiteral","parseObjectProperty","parseObjectInitialiser","MessageStrictDuplicateProperty","parseGroupExpression","parsePrimaryExpression","legalKeywords","DISABLED","parseArguments","parseNonComputedProperty","parseNonComputedMember","parseComputedMember","parseLeftHandSideExpressionAllowCall","parsePostfixExpression","parseUnaryExpression","binaryPrecedence","prec","parseBinaryExpression","markers","TokenName","do","var","new","try","let","else","void","with","enum","while","break","const","yield","super","typeof","switch","import","public","finally","extends","package","private","continue","debugger","interface","protected","instanceof","implements","__WEBPACK_IMPORTED_MODULE_1__functions__","Generators","memberDepth","outputGlobal","MemberExpression","CallExpression","ArrayExpression","BinaryExpression","UnaryExpression","ConditionalExpression","LogicalExpression","ObjectExpression","Property","formatCache","__WEBPACK_IMPORTED_MODULE_0_d3_format__","dateObj","_window","clientWidth","clientHeight","geoMethod","methodName","globalMethod","geoArea","geoBounds","geoCentroid","geoShape","treeNodes","EMPTY","treePath","treeAncestors","equalArray","removePredicate","_trigger","testPoint","dval","BIN","testInterval","ivals","vlSelection","miss","unitIdx","UNIT_INDEX","INTERSECT","vlPoint","vlInterval","vlMultiVisitor","__WEBPACK_IMPORTED_MODULE_1__ast__","__WEBPACK_IMPORTED_MODULE_3__prefixes__","vlPointDomain","UNION","continuousDomain","discreteDomain","vlIntervalDomain","intersectInterval","unionInterval","streamSource","__WEBPACK_IMPORTED_MODULE_3_vega_event_selector__","isMarkType","MARKS","endChar","pushChar","popChar","parseMerge","COMMA","LBRACK","LBRACE","RBRACK","RBRACE","parseSelector","parseBetween","GT","DEFAULT_SOURCE","parseThrottle","NAME","COLON","DEFAULT_MARKS","*","legendType","__WEBPACK_IMPORTED_MODULE_0__guides_constants__","scaleCount","__WEBPACK_IMPORTED_MODULE_10__scale__","buildLegendEncode","__WEBPACK_IMPORTED_MODULE_12__encode_encode_util__","__WEBPACK_IMPORTED_MODULE_7__guides_guide_util__","sizeExpression","getFontSize","__WEBPACK_IMPORTED_MODULE_13__util__","__WEBPACK_IMPORTED_MODULE_8__expression__","__WEBPACK_IMPORTED_MODULE_1__guides_legend_gradient__","__WEBPACK_IMPORTED_MODULE_2__guides_legend_gradient_discrete__","__WEBPACK_IMPORTED_MODULE_3__guides_legend_gradient_labels__","__WEBPACK_IMPORTED_MODULE_4__guides_legend_symbol_groups__","__WEBPACK_IMPORTED_MODULE_5__guides_legend_title__","__WEBPACK_IMPORTED_MODULE_6__guides_guide_group__","__WEBPACK_IMPORTED_MODULE_9__mark__","__WEBPACK_IMPORTED_MODULE_11__marks_roles__","__WEBPACK_IMPORTED_MODULE_14__transforms__","entryEncode","entryLayout","entryRef","__WEBPACK_IMPORTED_MODULE_0__guide_mark__","__WEBPACK_IMPORTED_MODULE_1__guide_util__","__WEBPACK_IMPORTED_MODULE_2__marks_marktypes__","__WEBPACK_IMPORTED_MODULE_3__marks_roles__","userEncode","parseEncode","__WEBPACK_IMPORTED_MODULE_2__encode_rule__","__WEBPACK_IMPORTED_MODULE_1__encode_entry__","__WEBPACK_IMPORTED_MODULE_3__encode_set__","__WEBPACK_IMPORTED_MODULE_0__encode_adjust_spatial__","Swap","__WEBPACK_IMPORTED_MODULE_0__entry__","__WEBPACK_IMPORTED_MODULE_1__set__","__WEBPACK_IMPORTED_MODULE_2__expression__","rules","__WEBPACK_IMPORTED_MODULE_1__guide_mark__","__WEBPACK_IMPORTED_MODULE_2__guide_util__","__WEBPACK_IMPORTED_MODULE_3__marks_marktypes__","__WEBPACK_IMPORTED_MODULE_4__marks_roles__","__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__","vv","alignExpr","baselineExpr","gradientLabelLimit","legendSymbolLayout","__WEBPACK_IMPORTED_MODULE_3__guide_util__","__WEBPACK_IMPORTED_MODULE_1__guide_group__","__WEBPACK_IMPORTED_MODULE_2__guide_mark__","__WEBPACK_IMPORTED_MODULE_4__marks_marktypes__","__WEBPACK_IMPORTED_MODULE_5__marks_roles__","__WEBPACK_IMPORTED_MODULE_6__encode_encode_util__","xSignal","yEncode","__WEBPACK_IMPORTED_MODULE_0__role__","__WEBPACK_IMPORTED_MODULE_2__DataScope__","__WEBPACK_IMPORTED_MODULE_4__transforms__","subscope","__WEBPACK_IMPORTED_MODULE_0__spec__","anchorExpr","startValue","endValue","centerValue","buildTitle","opp","__WEBPACK_IMPORTED_MODULE_2__guides_guide_util__","multExpr","__WEBPACK_IMPORTED_MODULE_1__guides_guide_mark__","__WEBPACK_IMPORTED_MODULE_8__transforms__","__WEBPACK_IMPORTED_MODULE_1__trigger__","analyze","upstream","$format","$load","$request","__WEBPACK_IMPORTED_MODULE_0__guides_axis_config__","__WEBPACK_IMPORTED_MODULE_1__guides_axis_domain__","__WEBPACK_IMPORTED_MODULE_2__guides_axis_grid__","__WEBPACK_IMPORTED_MODULE_3__guides_axis_ticks__","__WEBPACK_IMPORTED_MODULE_4__guides_axis_labels__","__WEBPACK_IMPORTED_MODULE_5__guides_axis_title__","__WEBPACK_IMPORTED_MODULE_10__encode_encode_util__","__WEBPACK_IMPORTED_MODULE_11__guides_constants__","__WEBPACK_IMPORTED_MODULE_12__util__","__WEBPACK_IMPORTED_MODULE_13__transforms__","ticksRef","u2","tickPos","vscale","flushExpr","isXAxis","flushOffset","flushOn","__WEBPACK_IMPORTED_MODULE_3__encode_encode_util__","titlePos","parseOperatorParameters","__WEBPACK_IMPORTED_MODULE_1__parameters__","srcid","Context","ContextFork","__WEBPACK_IMPORTED_MODULE_0__state__","subcontext","unresolved","substate","initializeResize","resetSize","Width","Height","_resizeWidth","_resizeHeight","resizePadding","resizeView","dataTest","signalTest","__WEBPACK_IMPORTED_MODULE_0_d3_timer__","timestamp","formatTooltip","formatArray","formatObject","__WEBPACK_IMPORTED_MODULE_0__aggregate__","__WEBPACK_IMPORTED_MODULE_1__axis__","__WEBPACK_IMPORTED_MODULE_4__compositemark__","__WEBPACK_IMPORTED_MODULE_5__compile_compile__","__WEBPACK_IMPORTED_MODULE_6__config__","__WEBPACK_IMPORTED_MODULE_7__data__","__WEBPACK_IMPORTED_MODULE_8__datetime__","__WEBPACK_IMPORTED_MODULE_9__encoding__","__WEBPACK_IMPORTED_MODULE_10__facet__","__WEBPACK_IMPORTED_MODULE_11__fielddef__","__WEBPACK_IMPORTED_MODULE_12__header__","__WEBPACK_IMPORTED_MODULE_13__legend__","__WEBPACK_IMPORTED_MODULE_14__mark__","__WEBPACK_IMPORTED_MODULE_16__sort__","__WEBPACK_IMPORTED_MODULE_17__spec__","__WEBPACK_IMPORTED_MODULE_18__stack__","__WEBPACK_IMPORTED_MODULE_19__timeunit__","__WEBPACK_IMPORTED_MODULE_20__transform__","__WEBPACK_IMPORTED_MODULE_21__type__","__WEBPACK_IMPORTED_MODULE_22__util__","__WEBPACK_IMPORTED_MODULE_23__validate__","__WEBPACK_IMPORTED_MODULE_24__package_json__","__WEBPACK_IMPORTED_MODULE_24__package_json___default","opts","cycles","aobj","bobj","colonSeparator","objectKeys","","at","escapee","\"","\\","/","uffff","word","reviver","walk","holder","escapable","partial","mind","gap","rep","\b","\t","\n","\f","\r","getMarkSpecificConfigMixins","normalizeErrorBar","encodingWithoutSize","encodingWithoutX2Y2","encodingWithoutX_X2_Y_Y2","ERRORBAR","inputSpec","logger","__WEBPACK_IMPORTED_MODULE_1__config__","__WEBPACK_IMPORTED_MODULE_4__spec__","__WEBPACK_IMPORTED_MODULE_5__toplevelprops__","__WEBPACK_IMPORTED_MODULE_7__buildmodel__","__WEBPACK_IMPORTED_MODULE_9__data_optimize__","assembleTopLevelModel","getTopLevelProperties","topLevelSpec","topLevelProperties","vgConfig","__WEBPACK_IMPORTED_MODULE_8__data_assemble__","layoutSignals","VL_ONLY_GUIDE_CONFIG","ConcatModel","__WEBPACK_IMPORTED_MODULE_2__spec__","__WEBPACK_IMPORTED_MODULE_3__baseconcat__","__WEBPACK_IMPORTED_MODULE_4__buildmodel__","__WEBPACK_IMPORTED_MODULE_5__layoutsize_parse__","parseAxisGroup","LegendComponent","__WEBPACK_IMPORTED_MODULE_1__split__","symbolsSpec","__WEBPACK_IMPORTED_MODULE_7__common__","getFirstConditionValue","getMaxValue","gradientSpec","labelsSpec","getConditionValue","conditionalDef","reducer","assembleProjectionsForModelAndChildren","assembleProjectionForModel","__WEBPACK_IMPORTED_MODULE_2__vega_schema__","parseUnitProjection","parseNonUnitProjections","posssiblePair","mergeIfNoConflict","allPropertiesShared","__WEBPACK_IMPORTED_MODULE_3__projection__","nonUnitProjection","mergable","modelProjection_1","PROJECTION_PROPERTIES","ProjectionComponent","assembleScales","assembleScalesForModel","otherScaleProps","assembleScaleRange","__WEBPACK_IMPORTED_MODULE_5__selection_selection__","__WEBPACK_IMPORTED_MODULE_6__domain__","scaleRange","__WEBPACK_IMPORTED_MODULE_3__vega_schema__","iterateFromLeaves","optimizeNextFromLeaves","__WEBPACK_IMPORTED_MODULE_5__source__","moveParseUp","__WEBPACK_IMPORTED_MODULE_4__formatparse__","removeUnusedSubtrees","removeDuplicateTimeUnits","__WEBPACK_IMPORTED_MODULE_6__timeunit__","pfields","parseScaleCore","__WEBPACK_IMPORTED_MODULE_10__domain__","NON_TYPE_DOMAIN_RANGE_VEGA_SCALE_PROPERTIES_1","__WEBPACK_IMPORTED_MODULE_12__range__","parseUnitScaleCore","parseNonUnitScaleCore","scaleComponents","__WEBPACK_IMPORTED_MODULE_2__mark__","specifiedScaleType","__WEBPACK_IMPORTED_MODULE_13__type__","scaleTypeWithExplicitIndex","explicitScaleType","childScaleType","scaleTypeTieBreaker","typeWithExplicit","childScale","st1","st2","ScaleComponent","__WEBPACK_IMPORTED_MODULE_1__multi__","forEachTransform","compilers","__WEBPACK_IMPORTED_MODULE_0__inputs__","__WEBPACK_IMPORTED_MODULE_1__nearest__","__WEBPACK_IMPORTED_MODULE_2__project__","__WEBPACK_IMPORTED_MODULE_3__scales__","__WEBPACK_IMPORTED_MODULE_4__toggle__","__WEBPACK_IMPORTED_MODULE_5__translate__","__WEBPACK_IMPORTED_MODULE_6__zoom__","__WEBPACK_IMPORTED_MODULE_3__nearest__","inputBindings","sgname","__WEBPACK_IMPORTED_MODULE_2__data_timeunit__","tuField","__WEBPACK_IMPORTED_MODULE_0__selection__","tpl","onDelta","__WEBPACK_IMPORTED_MODULE_4__scales__","__WEBPACK_IMPORTED_MODULE_3__selection__","ANCHOR","DELTA","sizeSg","scaleCmpt","panFn","__WEBPACK_IMPORTED_MODULE_0_vega_event_selector__","__WEBPACK_IMPORTED_MODULE_2__interval__","__WEBPACK_IMPORTED_MODULE_5__scales__","zoomFn","__WEBPACK_IMPORTED_MODULE_3__interval__","AncestorParse","LayerModel","__WEBPACK_IMPORTED_MODULE_4__axis_parse__","__WEBPACK_IMPORTED_MODULE_5__data_parse__","__WEBPACK_IMPORTED_MODULE_6__layoutsize_assemble__","__WEBPACK_IMPORTED_MODULE_7__layoutsize_parse__","__WEBPACK_IMPORTED_MODULE_8__legend_assemble__","__WEBPACK_IMPORTED_MODULE_9__model__","__WEBPACK_IMPORTED_MODULE_10__selection_selection__","__WEBPACK_IMPORTED_MODULE_11__unit__","isFalseOrNull","AxisComponent","specifiedLabelsSpec","__WEBPACK_IMPORTED_MODULE_7__config__","gridChannel","__WEBPACK_IMPORTED_MODULE_1__bin__","normalizeMarkDef","specifiedOrient","__WEBPACK_IMPORTED_MODULE_1__encoding__","filledConfig","yIsRange","xIsRange","xIsContinuous","yIsContinuous","xIsTemporal","yIsTemporal","__WEBPACK_IMPORTED_MODULE_5__mark__","parsePathMark","getMarkGroups","details","pathGroupingFields","pathMarks","fromPrefix","FACETED_PATH_PREFIX","dimensionChannelDef","scaleClip","postEncodingTransform","markCompiler","vgMark","encodeEntry","__WEBPACK_IMPORTED_MODULE_9__area__","__WEBPACK_IMPORTED_MODULE_10__bar__","__WEBPACK_IMPORTED_MODULE_11__geoshape__","__WEBPACK_IMPORTED_MODULE_12__line__","__WEBPACK_IMPORTED_MODULE_13__point__","__WEBPACK_IMPORTED_MODULE_14__rect__","__WEBPACK_IMPORTED_MODULE_15__rule__","__WEBPACK_IMPORTED_MODULE_16__text__","__WEBPACK_IMPORTED_MODULE_17__tick__","__WEBPACK_IMPORTED_MODULE_1__mixins__","sizeDef","x2Def","xScaleName","__WEBPACK_IMPORTED_MODULE_7__mixins__","xScaleType","__WEBPACK_IMPORTED_MODULE_8__valueref__","y2Def","yScaleName","yScaleType","discreteBandSize","__WEBPACK_IMPORTED_MODULE_6__vega_schema__","shapeDef","__WEBPACK_IMPORTED_MODULE_2__valueref__","fixedShape","__WEBPACK_IMPORTED_MODULE_2__mixins__","__WEBPACK_IMPORTED_MODULE_3__valueref__","shapeMixins","__WEBPACK_IMPORTED_MODULE_1__common__","__WEBPACK_IMPORTED_MODULE_6__mixins__","defaultSize","bandSize","vgSizeChannel","vgThicknessChannel","RepeatModel","__WEBPACK_IMPORTED_MODULE_2__baseconcat__","__WEBPACK_IMPORTED_MODULE_3__buildmodel__","__WEBPACK_IMPORTED_MODULE_4__layoutsize_parse__","repeatValues","_initChildren","row_1","rowField","column_1","columnField","childRepeat","getEncodingMappingError","requiredChannelMap","supportedChannelMap","DEFAULT_REQUIRED_CHANNEL_MAP","DEFAULT_SUPPORTED_CHANNEL_TYPE","requiredChannels","collaborators","vl2png","vl2svg","vl2vg","directories","build:only","build:examples","build:examples-full","build:example","build:toc","build:site","build:versions","check:examples","check:schema","deploy","deploy:gh","deploy:schema","preschema","renameschema","presite","lint","test:inspect","test:runtime","test:runtime:generate","watch:build","watch:site","watch:test","@types/chai","@types/d3","@types/highlight.js","@types/jest","@types/mkdirp","@types/node","@types/webdriverio","ajv","chai","cheerio","chromedriver","codecov","concurrently","highlight.js","jest","mkdirp","rollup-plugin-commonjs","rollup-plugin-sourcemaps","source-map-support","svg2png-many","ts-jest","ts-json-schema-generator","ts-node","tslint","tslint-eslint-rules","typescript","vega-datasets","vega-embed","vega-tooltip","wdio-chromedriver-service","wdio-dot-reporter","wdio-mocha-framework","wdio-static-server-service","webdriverio","webpack","webpack-cli","yaml-front-matter","@types/json-stable-stringify","json-stable-stringify","tslib","yargs","^.+\\.tsx?$","testRegex","moduleFileExtensions","testPathIgnorePatterns","coverageDirectory","collectCoverage","default_1","__WEBPACK_IMPORTED_MODULE_0__theme_excel__","__WEBPACK_IMPORTED_MODULE_1__theme_ggplot2__","__WEBPACK_IMPORTED_MODULE_2__theme_quartz__","__WEBPACK_IMPORTED_MODULE_3__theme_vox__","__WEBPACK_IMPORTED_MODULE_4__theme_dark__","__WEBPACK_IMPORTED_MODULE_5__theme_fivethirtyeight__","excelTheme","gridOpacity","tickExtra","ggplot2Theme","quartzTheme","voxTheme","gridDash","darkTheme","fivethirtyeighttheme","post","listen"],"mappings":"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","file":"static/js/main.08f5d3d8.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \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, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\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/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 401);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_accessor__ = __webpack_require__(63);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_accessor__[\"c\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_accessor__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_accessor__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_accessors__ = __webpack_require__(220);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"s\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_accessors__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"t\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_accessors__[\"c\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"X\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_accessors__[\"f\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"G\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_accessors__[\"d\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"V\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_accessors__[\"e\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"p\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_accessors__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_logger__ = __webpack_require__(459);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"E\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_logger__[\"f\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_logger__[\"d\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_logger__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_logger__[\"e\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_logger__[\"c\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_logger__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_transform__ = __webpack_require__(460);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"I\", function() { return __WEBPACK_IMPORTED_MODULE_3__src_transform__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"J\", function() { return __WEBPACK_IMPORTED_MODULE_3__src_transform__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"K\", function() { return __WEBPACK_IMPORTED_MODULE_3__src_transform__[\"c\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"Y\", function() { return __WEBPACK_IMPORTED_MODULE_3__src_transform__[\"d\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"Z\", function() { return __WEBPACK_IMPORTED_MODULE_3__src_transform__[\"e\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"_0\", function() { return __WEBPACK_IMPORTED_MODULE_3__src_transform__[\"f\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__src_array__ = __webpack_require__(146);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return __WEBPACK_IMPORTED_MODULE_4__src_array__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__src_compare__ = __webpack_require__(461);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return __WEBPACK_IMPORTED_MODULE_5__src_compare__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__src_constant__ = __webpack_require__(462);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return __WEBPACK_IMPORTED_MODULE_6__src_constant__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__src_debounce__ = __webpack_require__(463);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"l\", function() { return __WEBPACK_IMPORTED_MODULE_7__src_debounce__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__src_error__ = __webpack_require__(222);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"m\", function() { return __WEBPACK_IMPORTED_MODULE_8__src_error__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__src_extend__ = __webpack_require__(464);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"n\", function() { return __WEBPACK_IMPORTED_MODULE_9__src_extend__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__src_extentIndex__ = __webpack_require__(465);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"o\", function() { return __WEBPACK_IMPORTED_MODULE_10__src_extentIndex__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__src_fastmap__ = __webpack_require__(466);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"q\", function() { return __WEBPACK_IMPORTED_MODULE_11__src_fastmap__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__src_field__ = __webpack_require__(221);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"r\", function() { return __WEBPACK_IMPORTED_MODULE_12__src_field__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__src_inherits__ = __webpack_require__(467);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"u\", function() { return __WEBPACK_IMPORTED_MODULE_13__src_inherits__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__src_isArray__ = __webpack_require__(145);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"v\", function() { return __WEBPACK_IMPORTED_MODULE_14__src_isArray__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__src_isBoolean__ = __webpack_require__(468);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"w\", function() { return __WEBPACK_IMPORTED_MODULE_15__src_isBoolean__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__src_isDate__ = __webpack_require__(227);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"x\", function() { return __WEBPACK_IMPORTED_MODULE_16__src_isDate__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__src_isFunction__ = __webpack_require__(147);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"y\", function() { return __WEBPACK_IMPORTED_MODULE_17__src_isFunction__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__src_isNumber__ = __webpack_require__(228);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"z\", function() { return __WEBPACK_IMPORTED_MODULE_18__src_isNumber__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__src_isObject__ = __webpack_require__(223);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"A\", function() { return __WEBPACK_IMPORTED_MODULE_19__src_isObject__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__src_isRegExp__ = __webpack_require__(469);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"B\", function() { return __WEBPACK_IMPORTED_MODULE_20__src_isRegExp__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__src_isString__ = __webpack_require__(224);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"C\", function() { return __WEBPACK_IMPORTED_MODULE_21__src_isString__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__src_key__ = __webpack_require__(470);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"D\", function() { return __WEBPACK_IMPORTED_MODULE_22__src_key__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__src_merge__ = __webpack_require__(471);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"F\", function() { return __WEBPACK_IMPORTED_MODULE_23__src_merge__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__src_pad__ = __webpack_require__(472);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"H\", function() { return __WEBPACK_IMPORTED_MODULE_24__src_pad__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__src_peek__ = __webpack_require__(225);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"L\", function() { return __WEBPACK_IMPORTED_MODULE_25__src_peek__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__src_repeat__ = __webpack_require__(229);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"M\", function() { return __WEBPACK_IMPORTED_MODULE_26__src_repeat__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27__src_splitAccessPath__ = __webpack_require__(92);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"N\", function() { return __WEBPACK_IMPORTED_MODULE_27__src_splitAccessPath__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__src_stringValue__ = __webpack_require__(93);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"O\", function() { return __WEBPACK_IMPORTED_MODULE_28__src_stringValue__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_29__src_toBoolean__ = __webpack_require__(473);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"P\", function() { return __WEBPACK_IMPORTED_MODULE_29__src_toBoolean__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_30__src_toDate__ = __webpack_require__(474);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"Q\", function() { return __WEBPACK_IMPORTED_MODULE_30__src_toDate__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_31__src_toNumber__ = __webpack_require__(226);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"R\", function() { return __WEBPACK_IMPORTED_MODULE_31__src_toNumber__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_32__src_toString__ = __webpack_require__(475);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"T\", function() { return __WEBPACK_IMPORTED_MODULE_32__src_toString__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_33__src_toSet__ = __webpack_require__(476);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"S\", function() { return __WEBPACK_IMPORTED_MODULE_33__src_toSet__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_34__src_truncate__ = __webpack_require__(477);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"U\", function() { return __WEBPACK_IMPORTED_MODULE_34__src_truncate__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_35__src_visitArray__ = __webpack_require__(478);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"W\", function() { return __WEBPACK_IMPORTED_MODULE_35__src_visitArray__[\"a\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = __extends;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __assign; });\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = __rest;\n/* unused harmony export __decorate */\n/* unused harmony export __param */\n/* unused harmony export __metadata */\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = __awaiter;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = __generator;\n/* unused harmony export __exportStar */\n/* unused harmony export __values */\n/* unused harmony export __read */\n/* unused harmony export __spread */\n/* unused harmony export __await */\n/* unused harmony export __asyncGenerator */\n/* unused harmony export __asyncDelegator */\n/* unused harmony export __asyncValues */\n/* unused harmony export __makeTemplateObject */\n/* unused harmony export __importStar */\n/* unused harmony export __importDefault */\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nfunction __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nfunction __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nfunction __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nfunction __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nfunction __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nfunction __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nfunction __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nfunction __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nfunction __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nfunction __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nfunction __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nfunction __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nfunction __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nfunction __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_util_UniqueList__ = __webpack_require__(64);\n/* unused harmony reexport UniqueList */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_ChangeSet__ = __webpack_require__(148);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_ChangeSet__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"l\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_ChangeSet__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_dataflow_Dataflow__ = __webpack_require__(479);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_dataflow_Dataflow__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_EventStream__ = __webpack_require__(231);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_3__src_EventStream__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__src_Parameters__ = __webpack_require__(230);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return __WEBPACK_IMPORTED_MODULE_4__src_Parameters__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__src_Pulse__ = __webpack_require__(96);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return __WEBPACK_IMPORTED_MODULE_5__src_Pulse__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__src_MultiPulse__ = __webpack_require__(241);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_6__src_MultiPulse__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__src_Operator__ = __webpack_require__(94);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return __WEBPACK_IMPORTED_MODULE_7__src_Operator__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__src_Transform__ = __webpack_require__(524);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return __WEBPACK_IMPORTED_MODULE_8__src_Transform__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__src_Tuple__ = __webpack_require__(149);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return __WEBPACK_IMPORTED_MODULE_9__src_Tuple__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"n\", function() { return __WEBPACK_IMPORTED_MODULE_9__src_Tuple__[\"d\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return __WEBPACK_IMPORTED_MODULE_9__src_Tuple__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"m\", function() { return __WEBPACK_IMPORTED_MODULE_9__src_Tuple__[\"c\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"o\", function() { return __WEBPACK_IMPORTED_MODULE_9__src_Tuple__[\"e\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"r\", function() { return __WEBPACK_IMPORTED_MODULE_9__src_Tuple__[\"f\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__src_register__ = __webpack_require__(525);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return __WEBPACK_IMPORTED_MODULE_10__src_register__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"p\", function() { return __WEBPACK_IMPORTED_MODULE_10__src_register__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"q\", function() { return __WEBPACK_IMPORTED_MODULE_10__src_register__[\"c\"]; });\n// Utilities\n\n\n// Core Runtime\n\n\n\n\n\n\n\n\n\n\n// Transform Registry\n\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (immutable) */ __webpack_exports__[\"pick\"] = pick;\n/* harmony export (immutable) */ __webpack_exports__[\"omit\"] = omit;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"stringify\", function() { return stringify; });\n/* harmony export (immutable) */ __webpack_exports__[\"hash\"] = hash;\n/* harmony export (immutable) */ __webpack_exports__[\"contains\"] = contains;\n/* harmony export (immutable) */ __webpack_exports__[\"without\"] = without;\n/* harmony export (immutable) */ __webpack_exports__[\"union\"] = union;\n/* harmony export (immutable) */ __webpack_exports__[\"some\"] = some;\n/* harmony export (immutable) */ __webpack_exports__[\"every\"] = every;\n/* harmony export (immutable) */ __webpack_exports__[\"flatten\"] = flatten;\n/* harmony export (immutable) */ __webpack_exports__[\"mergeDeep\"] = mergeDeep;\n/* harmony export (immutable) */ __webpack_exports__[\"unique\"] = unique;\n/* harmony export (immutable) */ __webpack_exports__[\"differ\"] = differ;\n/* harmony export (immutable) */ __webpack_exports__[\"hasIntersection\"] = hasIntersection;\n/* harmony export (immutable) */ __webpack_exports__[\"isNumeric\"] = isNumeric;\n/* harmony export (immutable) */ __webpack_exports__[\"differArray\"] = differArray;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"keys\", function() { return keys; });\n/* harmony export (immutable) */ __webpack_exports__[\"vals\"] = vals;\n/* harmony export (immutable) */ __webpack_exports__[\"flagKeys\"] = flagKeys;\n/* harmony export (immutable) */ __webpack_exports__[\"duplicate\"] = duplicate;\n/* harmony export (immutable) */ __webpack_exports__[\"isBoolean\"] = isBoolean;\n/* harmony export (immutable) */ __webpack_exports__[\"varName\"] = varName;\n/* harmony export (immutable) */ __webpack_exports__[\"logicalExpr\"] = logicalExpr;\n/* harmony export (immutable) */ __webpack_exports__[\"deleteNestedProperty\"] = deleteNestedProperty;\n/* harmony export (immutable) */ __webpack_exports__[\"titlecase\"] = titlecase;\n/* harmony export (immutable) */ __webpack_exports__[\"accessPathWithDatum\"] = accessPathWithDatum;\n/* harmony export (immutable) */ __webpack_exports__[\"flatAccessWithDatum\"] = flatAccessWithDatum;\n/* harmony export (immutable) */ __webpack_exports__[\"replacePathInField\"] = replacePathInField;\n/* harmony export (immutable) */ __webpack_exports__[\"removePathFromField\"] = removePathFromField;\n/* harmony export (immutable) */ __webpack_exports__[\"accessPathDepth\"] = accessPathDepth;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_json_stable_stringify__ = __webpack_require__(933);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_json_stable_stringify___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_json_stable_stringify__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__logical__ = __webpack_require__(197);\n\n\n\n\n/**\n * Creates an object composed of the picked object properties.\n *\n * Example: (from lodash)\n *\n * var object = {'a': 1, 'b': '2', 'c': 3};\n * pick(object, ['a', 'c']);\n * // → {'a': 1, 'c': 3}\n *\n */\nfunction pick(obj, props) {\n var copy = {};\n for (var _i = 0, props_1 = props; _i < props_1.length; _i++) {\n var prop = props_1[_i];\n if (obj.hasOwnProperty(prop)) {\n copy[prop] = obj[prop];\n }\n }\n return copy;\n}\n/**\n * The opposite of _.pick; this method creates an object composed of the own\n * and inherited enumerable string keyed properties of object that are not omitted.\n */\nfunction omit(obj, props) {\n var copy = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, obj);\n for (var _i = 0, props_2 = props; _i < props_2.length; _i++) {\n var prop = props_2[_i];\n delete copy[prop];\n }\n return copy;\n}\n/**\n * Converts any object into a string representation that can be consumed by humans.\n */\nvar stringify = __WEBPACK_IMPORTED_MODULE_1_json_stable_stringify___default.a;\n/**\n * Converts any object into a string of limited size, or a number.\n */\nfunction hash(a) {\n if (Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"z\" /* isNumber */])(a)) {\n return a;\n }\n var str = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"C\" /* isString */])(a) ? a : __WEBPACK_IMPORTED_MODULE_1_json_stable_stringify___default()(a);\n // short strings can be used as hash directly, longer strings are hashed to reduce memory usage\n if (str.length < 100) {\n return str;\n }\n // from http://werxltd.com/wp/2010/05/13/javascript-implementation-of-javas-string-hashcode-method/\n var h = 0;\n for (var i = 0; i < str.length; i++) {\n var char = str.charCodeAt(i);\n h = ((h << 5) - h) + char;\n h = h & h; // Convert to 32bit integer\n }\n return h;\n}\nfunction contains(array, item) {\n return array.indexOf(item) > -1;\n}\n/** Returns the array without the elements in item */\nfunction without(array, excludedItems) {\n return array.filter(function (item) { return !contains(excludedItems, item); });\n}\nfunction union(array, other) {\n return array.concat(without(other, array));\n}\n/**\n * Returns true if any item returns true.\n */\nfunction some(arr, f) {\n var i = 0;\n for (var k = 0; k < arr.length; k++) {\n if (f(arr[k], k, i++)) {\n return true;\n }\n }\n return false;\n}\n/**\n * Returns true if all items return true.\n */\nfunction every(arr, f) {\n var i = 0;\n for (var k = 0; k < arr.length; k++) {\n if (!f(arr[k], k, i++)) {\n return false;\n }\n }\n return true;\n}\nfunction flatten(arrays) {\n return [].concat.apply([], arrays);\n}\n/**\n * recursively merges src into dest\n */\nfunction mergeDeep(dest) {\n var src = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n src[_i - 1] = arguments[_i];\n }\n for (var _a = 0, src_1 = src; _a < src_1.length; _a++) {\n var s = src_1[_a];\n dest = deepMerge_(dest, s);\n }\n return dest;\n}\n// recursively merges src into dest\nfunction deepMerge_(dest, src) {\n if (typeof src !== 'object' || src === null) {\n return dest;\n }\n for (var p in src) {\n if (!src.hasOwnProperty(p)) {\n continue;\n }\n if (src[p] === undefined) {\n continue;\n }\n if (typeof src[p] !== 'object' || Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"v\" /* isArray */])(src[p]) || src[p] === null) {\n dest[p] = src[p];\n }\n else if (typeof dest[p] !== 'object' || dest[p] === null) {\n dest[p] = mergeDeep(Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"v\" /* isArray */])(src[p].constructor) ? [] : {}, src[p]);\n }\n else {\n mergeDeep(dest[p], src[p]);\n }\n }\n return dest;\n}\nfunction unique(values, f) {\n var results = [];\n var u = {};\n var v;\n for (var _i = 0, values_1 = values; _i < values_1.length; _i++) {\n var val = values_1[_i];\n v = f(val);\n if (v in u) {\n continue;\n }\n u[v] = 1;\n results.push(val);\n }\n return results;\n}\n/**\n * Returns true if the two dictionaries disagree. Applies only to defined values.\n */\nfunction differ(dict, other) {\n for (var key in dict) {\n if (dict.hasOwnProperty(key)) {\n if (other[key] && dict[key] && other[key] !== dict[key]) {\n return true;\n }\n }\n }\n return false;\n}\nfunction hasIntersection(a, b) {\n for (var key in a) {\n if (key in b) {\n return true;\n }\n }\n return false;\n}\nfunction isNumeric(num) {\n return !isNaN(num);\n}\nfunction differArray(array, other) {\n if (array.length !== other.length) {\n return true;\n }\n array.sort();\n other.sort();\n for (var i = 0; i < array.length; i++) {\n if (other[i] !== array[i]) {\n return true;\n }\n }\n return false;\n}\n// This is a stricter version of Object.keys but with better types. See https://github.com/Microsoft/TypeScript/pull/12253#issuecomment-263132208\nvar keys = Object.keys;\nfunction vals(x) {\n var _vals = [];\n for (var k in x) {\n if (x.hasOwnProperty(k)) {\n _vals.push(x[k]);\n }\n }\n return _vals;\n}\nfunction flagKeys(f) {\n return keys(f);\n}\nfunction duplicate(obj) {\n return JSON.parse(JSON.stringify(obj));\n}\nfunction isBoolean(b) {\n return b === true || b === false;\n}\n/**\n * Convert a string into a valid variable name\n */\nfunction varName(s) {\n // Replace non-alphanumeric characters (anything besides a-zA-Z0-9_) with _\n var alphanumericS = s.replace(/\\W/g, '_');\n // Add _ if the string has leading numbers.\n return (s.match(/^\\d+/) ? '_' : '') + alphanumericS;\n}\nfunction logicalExpr(op, cb) {\n if (Object(__WEBPACK_IMPORTED_MODULE_3__logical__[\"c\" /* isLogicalNot */])(op)) {\n return '!(' + logicalExpr(op.not, cb) + ')';\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_3__logical__[\"b\" /* isLogicalAnd */])(op)) {\n return '(' + op.and.map(function (and) { return logicalExpr(and, cb); }).join(') && (') + ')';\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_3__logical__[\"d\" /* isLogicalOr */])(op)) {\n return '(' + op.or.map(function (or) { return logicalExpr(or, cb); }).join(') || (') + ')';\n }\n else {\n return cb(op);\n }\n}\n/**\n * Delete nested property of an object, and delete the ancestors of the property if they become empty.\n */\nfunction deleteNestedProperty(obj, orderedProps) {\n if (orderedProps.length === 0) {\n return true;\n }\n var prop = orderedProps.shift();\n if (deleteNestedProperty(obj[prop], orderedProps)) {\n delete obj[prop];\n }\n return Object.keys(obj).length === 0;\n}\nfunction titlecase(s) {\n return s.charAt(0).toUpperCase() + s.substr(1);\n}\n/**\n * Converts a path to an access path with datum.\n * @param path The field name.\n * @param datum The string to use for `datum`.\n */\nfunction accessPathWithDatum(path, datum) {\n if (datum === void 0) { datum = 'datum'; }\n var pieces = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"N\" /* splitAccessPath */])(path);\n var prefixes = [];\n for (var i = 1; i <= pieces.length; i++) {\n var prefix = \"[\" + pieces.slice(0, i).map(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"O\" /* stringValue */]).join('][') + \"]\";\n prefixes.push(\"\" + datum + prefix);\n }\n return prefixes.join(' && ');\n}\n/**\n * Return access with datum to the falttened field.\n * @param path The field name.\n * @param datum The string to use for `datum`.\n */\nfunction flatAccessWithDatum(path, datum) {\n if (datum === void 0) { datum = 'datum'; }\n return datum + \"[\" + Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"O\" /* stringValue */])(Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"N\" /* splitAccessPath */])(path).join('.')) + \"]\";\n}\n/**\n * Replaces path accesses with access to non-nested field.\n * For example, `foo[\"bar\"].baz` becomes `foo\\\\.bar\\\\.baz`.\n */\nfunction replacePathInField(path) {\n return \"\" + Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"N\" /* splitAccessPath */])(path).map(function (p) { return p.replace('.', '\\\\.'); }).join('\\\\.');\n}\n/**\n * Remove path accesses with access from field.\n * For example, `foo[\"bar\"].baz` becomes `foo.bar.baz`.\n */\nfunction removePathFromField(path) {\n return \"\" + Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"N\" /* splitAccessPath */])(path).join('.');\n}\n/**\n * Count the depth of the path. Returns 1 for fields that are not nested.\n */\nfunction accessPathDepth(path) {\n if (!path) {\n return 0;\n }\n return Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"N\" /* splitAccessPath */])(path).length;\n}\n//# sourceMappingURL=util.js.map\n\n/***/ }),\n/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export LocalLogger */\n/* unused harmony export wrap */\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = set;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = reset;\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = warn;\n/* unused harmony export info */\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = debug;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return message; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(3);\n/**\n * Vega-Lite's singleton logger utility.\n */\n\n\n/**\n * Main (default) Vega Logger instance for Vega-Lite\n */\nvar main = Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"E\" /* logger */])(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"e\" /* Warn */]);\nvar current = main;\n/**\n * Logger tool for checking if the code throws correct warning\n */\nvar LocalLogger = /** @class */ (function () {\n function LocalLogger() {\n this.warns = [];\n this.infos = [];\n this.debugs = [];\n }\n LocalLogger.prototype.level = function () {\n return this;\n };\n LocalLogger.prototype.warn = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var _a;\n (_a = this.warns).push.apply(_a, args);\n return this;\n };\n LocalLogger.prototype.info = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var _a;\n (_a = this.infos).push.apply(_a, args);\n return this;\n };\n LocalLogger.prototype.debug = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var _a;\n (_a = this.debugs).push.apply(_a, args);\n return this;\n };\n return LocalLogger;\n}());\n\nfunction wrap(f) {\n return function () {\n current = new LocalLogger();\n f(current);\n reset();\n };\n}\n/**\n * Set the singleton logger to be a custom logger\n */\nfunction set(newLogger) {\n current = newLogger;\n return current;\n}\n/**\n * Reset the main logger to use the default Vega Logger\n */\nfunction reset() {\n current = main;\n return current;\n}\nfunction warn() {\n var _ = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n _[_i] = arguments[_i];\n }\n current.warn.apply(current, arguments);\n}\nfunction info() {\n var _ = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n _[_i] = arguments[_i];\n }\n current.info.apply(current, arguments);\n}\nfunction debug() {\n var _ = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n _[_i] = arguments[_i];\n }\n current.debug.apply(current, arguments);\n}\n/**\n * Collection of all Vega-Lite Error Messages\n */\nvar message;\n(function (message) {\n message.INVALID_SPEC = 'Invalid spec';\n // FIT\n message.FIT_NON_SINGLE = 'Autosize \"fit\" only works for single views and layered views.';\n message.CANNOT_FIX_RANGE_STEP_WITH_FIT = 'Cannot use a fixed value of \"rangeStep\" when \"autosize\" is \"fit\".';\n // SELECTION\n function cannotProjectOnChannelWithoutField(channel) {\n return \"Cannot project a selection on encoding channel \\\"\" + channel + \"\\\", which has no field.\";\n }\n message.cannotProjectOnChannelWithoutField = cannotProjectOnChannelWithoutField;\n function nearestNotSupportForContinuous(mark) {\n return \"The \\\"nearest\\\" transform is not supported for \" + mark + \" marks.\";\n }\n message.nearestNotSupportForContinuous = nearestNotSupportForContinuous;\n function selectionNotFound(name) {\n return \"Cannot find a selection named \\\"\" + name + \"\\\"\";\n }\n message.selectionNotFound = selectionNotFound;\n message.SCALE_BINDINGS_CONTINUOUS = 'Scale bindings are currently only supported for scales with unbinned, continuous domains.';\n // REPEAT\n function noSuchRepeatedValue(field) {\n return \"Unknown repeated value \\\"\" + field + \"\\\".\";\n }\n message.noSuchRepeatedValue = noSuchRepeatedValue;\n // CONCAT\n message.CONCAT_CANNOT_SHARE_AXIS = 'Axes cannot be shared in concatenated views.';\n // REPEAT\n message.REPEAT_CANNOT_SHARE_AXIS = 'Axes cannot be shared in repeated views.';\n // TITLE\n function cannotSetTitleAnchor(type) {\n return \"Cannot set title \\\"anchor\\\" for a \" + type + \" spec\";\n }\n message.cannotSetTitleAnchor = cannotSetTitleAnchor;\n // DATA\n function unrecognizedParse(p) {\n return \"Unrecognized parse \\\"\" + p + \"\\\".\";\n }\n message.unrecognizedParse = unrecognizedParse;\n function differentParse(field, local, ancestor) {\n return \"An ancestor parsed field \\\"\" + field + \"\\\" as \" + ancestor + \" but a child wants to parse the field as \" + local + \".\";\n }\n message.differentParse = differentParse;\n // TRANSFORMS\n function invalidTransformIgnored(transform) {\n return \"Ignoring an invalid transform: \" + Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"stringify\"])(transform) + \".\";\n }\n message.invalidTransformIgnored = invalidTransformIgnored;\n message.NO_FIELDS_NEEDS_AS = 'If \"from.fields\" is not specified, \"as\" has to be a string that specifies the key to be used for the data from the secondary source.';\n // ENCODING & FACET\n function encodingOverridden(channels) {\n return \"Layer's shared \" + channels.join(',') + \" channel \" + (channels.length === 1 ? 'is' : 'are') + \" overriden\";\n }\n message.encodingOverridden = encodingOverridden;\n function projectionOverridden(opt) {\n var parentProjection = opt.parentProjection, projection = opt.projection;\n return \"Layer's shared projection \" + Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"stringify\"])(parentProjection) + \" is overridden by a child projection \" + Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"stringify\"])(projection) + \".\";\n }\n message.projectionOverridden = projectionOverridden;\n function primitiveChannelDef(channel, type, value) {\n return \"Channel \" + channel + \" is a \" + type + \". Converted to {value: \" + Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"stringify\"])(value) + \"}.\";\n }\n message.primitiveChannelDef = primitiveChannelDef;\n function invalidFieldType(type) {\n return \"Invalid field type \\\"\" + type + \"\\\"\";\n }\n message.invalidFieldType = invalidFieldType;\n function nonZeroScaleUsedWithLengthMark(mark, channel, opt) {\n var scaleText = opt.scaleType ? opt.scaleType + \" scale\" :\n opt.zeroFalse ? 'scale with zero=false' :\n 'scale with custom domain that excludes zero';\n return \"A \" + scaleText + \" is used to encode \" + mark + \"'s \" + channel + \". This can be misleading as the \" + (channel === 'x' ? 'width' : 'height') + \" of the \" + mark + \" can be arbitrary based on the scale domain. You may want to use point mark instead.\";\n }\n message.nonZeroScaleUsedWithLengthMark = nonZeroScaleUsedWithLengthMark;\n function invalidFieldTypeForCountAggregate(type, aggregate) {\n return \"Invalid field type \\\"\" + type + \"\\\" for aggregate: \\\"\" + aggregate + \"\\\", using \\\"quantitative\\\" instead.\";\n }\n message.invalidFieldTypeForCountAggregate = invalidFieldTypeForCountAggregate;\n function invalidAggregate(aggregate) {\n return \"Invalid aggregation operator \\\"\" + aggregate + \"\\\"\";\n }\n message.invalidAggregate = invalidAggregate;\n function emptyOrInvalidFieldType(type, channel, newType) {\n return \"Invalid field type \\\"\" + type + \"\\\" for channel \\\"\" + channel + \"\\\", using \\\"\" + newType + \"\\\" instead.\";\n }\n message.emptyOrInvalidFieldType = emptyOrInvalidFieldType;\n function droppingColor(type, opt) {\n var fill = opt.fill, stroke = opt.stroke;\n return \"Dropping color \" + type + \" as the plot also has \" + (fill && stroke ? 'fill and stroke' : fill ? 'fill' : 'stroke');\n }\n message.droppingColor = droppingColor;\n function emptyFieldDef(fieldDef, channel) {\n return \"Dropping \" + Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"stringify\"])(fieldDef) + \" from channel \\\"\" + channel + \"\\\" since it does not contain data field or value.\";\n }\n message.emptyFieldDef = emptyFieldDef;\n function latLongDeprecated(channel, type, newChannel) {\n return channel + \"-encoding with type \" + type + \" is deprecated. Replacing with \" + newChannel + \"-encoding.\";\n }\n message.latLongDeprecated = latLongDeprecated;\n message.LINE_WITH_VARYING_SIZE = 'Line marks cannot encode size with a non-groupby field. You may want to use trail marks instead.';\n function incompatibleChannel(channel, markOrFacet, when) {\n return channel + \" dropped as it is incompatible with \\\"\" + markOrFacet + \"\\\"\" + (when ? \" when \" + when : '') + \".\";\n }\n message.incompatibleChannel = incompatibleChannel;\n function invalidEncodingChannel(channel) {\n return channel + \"-encoding is dropped as \" + channel + \" is not a valid encoding channel.\";\n }\n message.invalidEncodingChannel = invalidEncodingChannel;\n function facetChannelShouldBeDiscrete(channel) {\n return channel + \" encoding should be discrete (ordinal / nominal / binned).\";\n }\n message.facetChannelShouldBeDiscrete = facetChannelShouldBeDiscrete;\n function discreteChannelCannotEncode(channel, type) {\n return \"Using discrete channel \\\"\" + channel + \"\\\" to encode \\\"\" + type + \"\\\" field can be misleading as it does not encode \" + (type === 'ordinal' ? 'order' : 'magnitude') + \".\";\n }\n message.discreteChannelCannotEncode = discreteChannelCannotEncode;\n // Mark\n message.BAR_WITH_POINT_SCALE_AND_RANGESTEP_NULL = 'Bar mark should not be used with point scale when rangeStep is null. Please use band scale instead.';\n function lineWithRange(hasX2, hasY2) {\n var channels = hasX2 && hasY2 ? 'x2 and y2' : hasX2 ? 'x2' : 'y2';\n return \"Line mark is for continuous lines and thus cannot be used with \" + channels + \". We will use the rule mark (line segments) instead.\";\n }\n message.lineWithRange = lineWithRange;\n function orientOverridden(original, actual) {\n return \"Specified orient \\\"\" + original + \"\\\" overridden with \\\"\" + actual + \"\\\"\";\n }\n message.orientOverridden = orientOverridden;\n // SCALE\n message.CANNOT_UNION_CUSTOM_DOMAIN_WITH_FIELD_DOMAIN = 'custom domain scale cannot be unioned with default field-based domain';\n function cannotUseScalePropertyWithNonColor(prop) {\n return \"Cannot use the scale property \\\"\" + prop + \"\\\" with non-color channel.\";\n }\n message.cannotUseScalePropertyWithNonColor = cannotUseScalePropertyWithNonColor;\n function unaggregateDomainHasNoEffectForRawField(fieldDef) {\n return \"Using unaggregated domain with raw field has no effect (\" + Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"stringify\"])(fieldDef) + \").\";\n }\n message.unaggregateDomainHasNoEffectForRawField = unaggregateDomainHasNoEffectForRawField;\n function unaggregateDomainWithNonSharedDomainOp(aggregate) {\n return \"Unaggregated domain not applicable for \\\"\" + aggregate + \"\\\" since it produces values outside the origin domain of the source data.\";\n }\n message.unaggregateDomainWithNonSharedDomainOp = unaggregateDomainWithNonSharedDomainOp;\n function unaggregatedDomainWithLogScale(fieldDef) {\n return \"Unaggregated domain is currently unsupported for log scale (\" + Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"stringify\"])(fieldDef) + \").\";\n }\n message.unaggregatedDomainWithLogScale = unaggregatedDomainWithLogScale;\n function cannotApplySizeToNonOrientedMark(mark) {\n return \"Cannot apply size to non-oriented mark \\\"\" + mark + \"\\\".\";\n }\n message.cannotApplySizeToNonOrientedMark = cannotApplySizeToNonOrientedMark;\n function rangeStepDropped(channel) {\n return \"rangeStep for \\\"\" + channel + \"\\\" is dropped as top-level \" + (channel === 'x' ? 'width' : 'height') + \" is provided.\";\n }\n message.rangeStepDropped = rangeStepDropped;\n function scaleTypeNotWorkWithChannel(channel, scaleType, defaultScaleType) {\n return \"Channel \\\"\" + channel + \"\\\" does not work with \\\"\" + scaleType + \"\\\" scale. We are using \\\"\" + defaultScaleType + \"\\\" scale instead.\";\n }\n message.scaleTypeNotWorkWithChannel = scaleTypeNotWorkWithChannel;\n function scaleTypeNotWorkWithFieldDef(scaleType, defaultScaleType) {\n return \"FieldDef does not work with \\\"\" + scaleType + \"\\\" scale. We are using \\\"\" + defaultScaleType + \"\\\" scale instead.\";\n }\n message.scaleTypeNotWorkWithFieldDef = scaleTypeNotWorkWithFieldDef;\n function scalePropertyNotWorkWithScaleType(scaleType, propName, channel) {\n return channel + \"-scale's \\\"\" + propName + \"\\\" is dropped as it does not work with \" + scaleType + \" scale.\";\n }\n message.scalePropertyNotWorkWithScaleType = scalePropertyNotWorkWithScaleType;\n function scaleTypeNotWorkWithMark(mark, scaleType) {\n return \"Scale type \\\"\" + scaleType + \"\\\" does not work with mark \\\"\" + mark + \"\\\".\";\n }\n message.scaleTypeNotWorkWithMark = scaleTypeNotWorkWithMark;\n function mergeConflictingProperty(property, propertyOf, v1, v2) {\n return \"Conflicting \" + propertyOf.toString() + \" property \\\"\" + property.toString() + \"\\\" (\" + Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"stringify\"])(v1) + \" and \" + Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"stringify\"])(v2) + \"). Using \" + Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"stringify\"])(v1) + \".\";\n }\n message.mergeConflictingProperty = mergeConflictingProperty;\n function independentScaleMeansIndependentGuide(channel) {\n return \"Setting the scale to be independent for \\\"\" + channel + \"\\\" means we also have to set the guide (axis or legend) to be independent.\";\n }\n message.independentScaleMeansIndependentGuide = independentScaleMeansIndependentGuide;\n function domainSortDropped(sort) {\n return \"Dropping sort property \" + Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"stringify\"])(sort) + \" as unioned domains only support boolean or op 'count'.\";\n }\n message.domainSortDropped = domainSortDropped;\n message.UNABLE_TO_MERGE_DOMAINS = 'Unable to merge domains';\n message.MORE_THAN_ONE_SORT = 'Domains that should be unioned has conflicting sort properties. Sort will be set to true.';\n // AXIS\n message.INVALID_CHANNEL_FOR_AXIS = 'Invalid channel for axis.';\n // STACK\n function cannotStackRangedMark(channel) {\n return \"Cannot stack \\\"\" + channel + \"\\\" if there is already \\\"\" + channel + \"2\\\"\";\n }\n message.cannotStackRangedMark = cannotStackRangedMark;\n function cannotStackNonLinearScale(scaleType) {\n return \"Cannot stack non-linear scale (\" + scaleType + \")\";\n }\n message.cannotStackNonLinearScale = cannotStackNonLinearScale;\n function stackNonSummativeAggregate(aggregate) {\n return \"Stacking is applied even though the aggregate function is non-summative (\\\"\" + aggregate + \"\\\")\";\n }\n message.stackNonSummativeAggregate = stackNonSummativeAggregate;\n // TIMEUNIT\n function invalidTimeUnit(unitName, value) {\n return \"Invalid \" + unitName + \": \" + Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"stringify\"])(value);\n }\n message.invalidTimeUnit = invalidTimeUnit;\n function dayReplacedWithDate(fullTimeUnit) {\n return \"Time unit \\\"\" + fullTimeUnit + \"\\\" is not supported. We are replacing it with \" + fullTimeUnit.replace('day', 'date') + \".\";\n }\n message.dayReplacedWithDate = dayReplacedWithDate;\n function droppedDay(d) {\n return \"Dropping day from datetime \" + Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"stringify\"])(d) + \" as day cannot be combined with other units.\";\n }\n message.droppedDay = droppedDay;\n})(message || (message = {}));\n//# sourceMappingURL=log.js.map\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return epsilon; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return epsilon2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"o\", function() { return pi; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"l\", function() { return halfPi; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"q\", function() { return quarterPi; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"w\", function() { return tau; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return degrees; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"r\", function() { return radians; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return abs; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return atan; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return atan2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return cos; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return ceil; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return exp; });\n/* unused harmony export floor */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"n\", function() { return log; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"p\", function() { return pow; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"t\", function() { return sin; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"s\", function() { return sign; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"u\", function() { return sqrt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"v\", function() { return tan; });\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = acos;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = asin;\n/* harmony export (immutable) */ __webpack_exports__[\"m\"] = haversin;\nvar epsilon = 1e-6;\nvar epsilon2 = 1e-12;\nvar pi = Math.PI;\nvar halfPi = pi / 2;\nvar quarterPi = pi / 4;\nvar tau = pi * 2;\n\nvar degrees = 180 / pi;\nvar radians = pi / 180;\n\nvar abs = Math.abs;\nvar atan = Math.atan;\nvar atan2 = Math.atan2;\nvar cos = Math.cos;\nvar ceil = Math.ceil;\nvar exp = Math.exp;\nvar floor = Math.floor;\nvar log = Math.log;\nvar pow = Math.pow;\nvar sin = Math.sin;\nvar sign = Math.sign || function(x) { return x > 0 ? 1 : x < 0 ? -1 : 0; };\nvar sqrt = Math.sqrt;\nvar tan = Math.tan;\n\nfunction acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nfunction asin(x) {\n return x > 1 ? halfPi : x < -1 ? -halfPi : Math.asin(x);\n}\n\nfunction haversin(x) {\n return (x = sin(x / 2)) * x;\n}\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Channel\", function() { return Channel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"X\", function() { return X; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Y\", function() { return Y; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"X2\", function() { return X2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Y2\", function() { return Y2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LATITUDE\", function() { return LATITUDE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LATITUDE2\", function() { return LATITUDE2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LONGITUDE\", function() { return LONGITUDE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LONGITUDE2\", function() { return LONGITUDE2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ROW\", function() { return ROW; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"COLUMN\", function() { return COLUMN; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SHAPE\", function() { return SHAPE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SIZE\", function() { return SIZE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"COLOR\", function() { return COLOR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FILL\", function() { return FILL; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"STROKE\", function() { return STROKE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TEXT\", function() { return TEXT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DETAIL\", function() { return DETAIL; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"KEY\", function() { return KEY; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ORDER\", function() { return ORDER; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"OPACITY\", function() { return OPACITY; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TOOLTIP\", function() { return TOOLTIP; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"HREF\", function() { return HREF; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GEOPOSITION_CHANNEL_INDEX\", function() { return GEOPOSITION_CHANNEL_INDEX; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GEOPOSITION_CHANNELS\", function() { return GEOPOSITION_CHANNELS; });\n/* harmony export (immutable) */ __webpack_exports__[\"isColorChannel\"] = isColorChannel;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CHANNELS\", function() { return CHANNELS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SINGLE_DEF_CHANNELS\", function() { return SINGLE_DEF_CHANNELS; });\n/* harmony export (immutable) */ __webpack_exports__[\"isChannel\"] = isChannel;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UNIT_CHANNELS\", function() { return UNIT_CHANNELS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NONPOSITION_CHANNELS\", function() { return NONPOSITION_CHANNELS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"POSITION_SCALE_CHANNELS\", function() { return POSITION_SCALE_CHANNELS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NONPOSITION_SCALE_CHANNELS\", function() { return NONPOSITION_SCALE_CHANNELS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SCALE_CHANNELS\", function() { return SCALE_CHANNELS; });\n/* harmony export (immutable) */ __webpack_exports__[\"isScaleChannel\"] = isScaleChannel;\n/* harmony export (immutable) */ __webpack_exports__[\"supportMark\"] = supportMark;\n/* harmony export (immutable) */ __webpack_exports__[\"getSupportedMark\"] = getSupportedMark;\n/* harmony export (immutable) */ __webpack_exports__[\"rangeType\"] = rangeType;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(3);\n/*\n * Constants and utilities for encoding channels (Visual variables)\n * such as 'x', 'y', 'color'.\n */\n\n\nvar Channel;\n(function (Channel) {\n // Facet\n Channel.ROW = 'row';\n Channel.COLUMN = 'column';\n // Position\n Channel.X = 'x';\n Channel.Y = 'y';\n Channel.X2 = 'x2';\n Channel.Y2 = 'y2';\n // Geo Position\n Channel.LATITUDE = 'latitude';\n Channel.LONGITUDE = 'longitude';\n Channel.LATITUDE2 = 'latitude2';\n Channel.LONGITUDE2 = 'longitude2';\n // Mark property with scale\n Channel.COLOR = 'color';\n Channel.FILL = 'fill';\n Channel.STROKE = 'stroke';\n Channel.SHAPE = 'shape';\n Channel.SIZE = 'size';\n Channel.OPACITY = 'opacity';\n // Non-scale channel\n Channel.TEXT = 'text';\n Channel.ORDER = 'order';\n Channel.DETAIL = 'detail';\n Channel.KEY = 'key';\n Channel.TOOLTIP = 'tooltip';\n Channel.HREF = 'href';\n})(Channel || (Channel = {}));\nvar X = Channel.X;\nvar Y = Channel.Y;\nvar X2 = Channel.X2;\nvar Y2 = Channel.Y2;\nvar LATITUDE = Channel.LATITUDE;\nvar LATITUDE2 = Channel.LATITUDE2;\nvar LONGITUDE = Channel.LONGITUDE;\nvar LONGITUDE2 = Channel.LONGITUDE2;\nvar ROW = Channel.ROW;\nvar COLUMN = Channel.COLUMN;\nvar SHAPE = Channel.SHAPE;\nvar SIZE = Channel.SIZE;\nvar COLOR = Channel.COLOR;\nvar FILL = Channel.FILL;\nvar STROKE = Channel.STROKE;\nvar TEXT = Channel.TEXT;\nvar DETAIL = Channel.DETAIL;\nvar KEY = Channel.KEY;\nvar ORDER = Channel.ORDER;\nvar OPACITY = Channel.OPACITY;\nvar TOOLTIP = Channel.TOOLTIP;\nvar HREF = Channel.HREF;\nvar GEOPOSITION_CHANNEL_INDEX = {\n longitude: 1,\n longitude2: 1,\n latitude: 1,\n latitude2: 1,\n};\nvar GEOPOSITION_CHANNELS = Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"flagKeys\"])(GEOPOSITION_CHANNEL_INDEX);\nvar UNIT_CHANNEL_INDEX = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ \n // position\n x: 1, y: 1, x2: 1, y2: 1 }, GEOPOSITION_CHANNEL_INDEX, { \n // color\n color: 1, fill: 1, stroke: 1, \n // other non-position with scale\n opacity: 1, size: 1, shape: 1, \n // channels without scales\n order: 1, text: 1, detail: 1, key: 1, tooltip: 1, href: 1 });\nfunction isColorChannel(channel) {\n return channel === 'color' || channel === 'fill' || channel === 'stroke';\n}\nvar FACET_CHANNEL_INDEX = {\n row: 1,\n column: 1\n};\nvar CHANNEL_INDEX = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, UNIT_CHANNEL_INDEX, FACET_CHANNEL_INDEX);\nvar CHANNELS = Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"flagKeys\"])(CHANNEL_INDEX);\nvar _o = CHANNEL_INDEX.order, _d = CHANNEL_INDEX.detail, SINGLE_DEF_CHANNEL_INDEX = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"e\" /* __rest */](CHANNEL_INDEX, [\"order\", \"detail\"]);\n/**\n * Channels that cannot have an array of channelDef.\n * model.fieldDef, getFieldDef only work for these channels.\n *\n * (The only two channels that can have an array of channelDefs are \"detail\" and \"order\".\n * Since there can be multiple fieldDefs for detail and order, getFieldDef/model.fieldDef\n * are not applicable for them. Similarly, selection projection won't work with \"detail\" and \"order\".)\n */\nvar SINGLE_DEF_CHANNELS = Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"flagKeys\"])(SINGLE_DEF_CHANNEL_INDEX);\nfunction isChannel(str) {\n return !!CHANNEL_INDEX[str];\n}\n// CHANNELS without COLUMN, ROW\nvar UNIT_CHANNELS = Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"flagKeys\"])(UNIT_CHANNEL_INDEX);\n// NONPOSITION_CHANNELS = UNIT_CHANNELS without X, Y, X2, Y2;\nvar _x = UNIT_CHANNEL_INDEX.x, _y = UNIT_CHANNEL_INDEX.y, \n// x2 and y2 share the same scale as x and y\n_x2 = UNIT_CHANNEL_INDEX.x2, _y2 = UNIT_CHANNEL_INDEX.y2, _latitude = UNIT_CHANNEL_INDEX.latitude, _longitude = UNIT_CHANNEL_INDEX.longitude, _latitude2 = UNIT_CHANNEL_INDEX.latitude2, _longitude2 = UNIT_CHANNEL_INDEX.longitude2, \n// The rest of unit channels then have scale\nNONPOSITION_CHANNEL_INDEX = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"e\" /* __rest */](UNIT_CHANNEL_INDEX, [\"x\", \"y\", \"x2\", \"y2\", \"latitude\", \"longitude\", \"latitude2\", \"longitude2\"]);\nvar NONPOSITION_CHANNELS = Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"flagKeys\"])(NONPOSITION_CHANNEL_INDEX);\n// POSITION_SCALE_CHANNELS = X and Y;\nvar POSITION_SCALE_CHANNEL_INDEX = { x: 1, y: 1 };\nvar POSITION_SCALE_CHANNELS = Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"flagKeys\"])(POSITION_SCALE_CHANNEL_INDEX);\n// NON_POSITION_SCALE_CHANNEL = SCALE_CHANNELS without X, Y\nvar \n// x2 and y2 share the same scale as x and y\n// text and tooltip have format instead of scale,\n// href has neither format, nor scale\n_t = NONPOSITION_CHANNEL_INDEX.text, _tt = NONPOSITION_CHANNEL_INDEX.tooltip, _hr = NONPOSITION_CHANNEL_INDEX.href, \n// detail and order have no scale\n_dd = NONPOSITION_CHANNEL_INDEX.detail, _k = NONPOSITION_CHANNEL_INDEX.key, _oo = NONPOSITION_CHANNEL_INDEX.order, NONPOSITION_SCALE_CHANNEL_INDEX = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"e\" /* __rest */](NONPOSITION_CHANNEL_INDEX, [\"text\", \"tooltip\", \"href\", \"detail\", \"key\", \"order\"]);\nvar NONPOSITION_SCALE_CHANNELS = Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"flagKeys\"])(NONPOSITION_SCALE_CHANNEL_INDEX);\n// Declare SCALE_CHANNEL_INDEX\nvar SCALE_CHANNEL_INDEX = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, POSITION_SCALE_CHANNEL_INDEX, NONPOSITION_SCALE_CHANNEL_INDEX);\n/** List of channels with scales */\nvar SCALE_CHANNELS = Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"flagKeys\"])(SCALE_CHANNEL_INDEX);\nfunction isScaleChannel(channel) {\n return !!SCALE_CHANNEL_INDEX[channel];\n}\n/**\n * Return whether a channel supports a particular mark type.\n * @param channel channel name\n * @param mark the mark type\n * @return whether the mark supports the channel\n */\nfunction supportMark(channel, mark) {\n return mark in getSupportedMark(channel);\n}\n/**\n * Return a dictionary showing whether a channel supports mark type.\n * @param channel\n * @return A dictionary mapping mark types to boolean values.\n */\nfunction getSupportedMark(channel) {\n switch (channel) {\n case COLOR:\n case FILL:\n case STROKE:\n case DETAIL:\n case KEY:\n case TOOLTIP:\n case HREF:\n case ORDER: // TODO: revise (order might not support rect, which is not stackable?)\n case OPACITY:\n case ROW:\n case COLUMN:\n return {\n point: true, tick: true, rule: true, circle: true, square: true,\n bar: true, rect: true, line: true, trail: true, area: true, text: true, geoshape: true\n };\n case X:\n case Y:\n case LATITUDE:\n case LONGITUDE:\n return {\n point: true, tick: true, rule: true, circle: true, square: true,\n bar: true, rect: true, line: true, trail: true, area: true, text: true\n };\n case X2:\n case Y2:\n case LATITUDE2:\n case LONGITUDE2:\n return {\n rule: true, bar: true, rect: true, area: true\n };\n case SIZE:\n return {\n point: true, tick: true, rule: true, circle: true, square: true,\n bar: true, text: true, line: true, trail: true\n };\n case SHAPE:\n return { point: true, geoshape: true };\n case TEXT:\n return { text: true };\n }\n}\nfunction rangeType(channel) {\n switch (channel) {\n case X:\n case Y:\n case SIZE:\n case OPACITY:\n // X2 and Y2 use X and Y scales, so they similarly have continuous range.\n case X2:\n case Y2:\n return 'continuous';\n case ROW:\n case COLUMN:\n case SHAPE:\n // TEXT, TOOLTIP, and HREF have no scale but have discrete output\n case TEXT:\n case TOOLTIP:\n case HREF:\n return 'discrete';\n // Color can be either continuous or discrete, depending on scale type.\n case COLOR:\n case FILL:\n case STROKE:\n return 'flexible';\n // No scale, no range type.\n case LATITUDE:\n case LONGITUDE:\n case LATITUDE2:\n case LONGITUDE2:\n case DETAIL:\n case KEY:\n case ORDER:\n return undefined;\n }\n /* istanbul ignore next: should never reach here. */\n throw new Error('rangeType not implemented for ' + channel);\n}\n//# sourceMappingURL=channel.js.map\n\n/***/ }),\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (immutable) */ __webpack_exports__[\"isConditionalSelection\"] = isConditionalSelection;\n/* harmony export (immutable) */ __webpack_exports__[\"isRepeatRef\"] = isRepeatRef;\n/* harmony export (immutable) */ __webpack_exports__[\"toFieldDefBase\"] = toFieldDefBase;\n/* harmony export (immutable) */ __webpack_exports__[\"isConditionalDef\"] = isConditionalDef;\n/* harmony export (immutable) */ __webpack_exports__[\"hasConditionalFieldDef\"] = hasConditionalFieldDef;\n/* harmony export (immutable) */ __webpack_exports__[\"hasConditionalValueDef\"] = hasConditionalValueDef;\n/* harmony export (immutable) */ __webpack_exports__[\"isFieldDef\"] = isFieldDef;\n/* harmony export (immutable) */ __webpack_exports__[\"isStringFieldDef\"] = isStringFieldDef;\n/* harmony export (immutable) */ __webpack_exports__[\"isValueDef\"] = isValueDef;\n/* harmony export (immutable) */ __webpack_exports__[\"isScaleFieldDef\"] = isScaleFieldDef;\n/* harmony export (immutable) */ __webpack_exports__[\"vgField\"] = vgField;\n/* harmony export (immutable) */ __webpack_exports__[\"isDiscrete\"] = isDiscrete;\n/* harmony export (immutable) */ __webpack_exports__[\"isContinuous\"] = isContinuous;\n/* harmony export (immutable) */ __webpack_exports__[\"isCount\"] = isCount;\n/* harmony export (immutable) */ __webpack_exports__[\"verbalTitleFormatter\"] = verbalTitleFormatter;\n/* harmony export (immutable) */ __webpack_exports__[\"functionalTitleFormatter\"] = functionalTitleFormatter;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultTitleFormatter\", function() { return defaultTitleFormatter; });\n/* harmony export (immutable) */ __webpack_exports__[\"setTitleFormatter\"] = setTitleFormatter;\n/* harmony export (immutable) */ __webpack_exports__[\"resetTitleFormatter\"] = resetTitleFormatter;\n/* harmony export (immutable) */ __webpack_exports__[\"title\"] = title;\n/* harmony export (immutable) */ __webpack_exports__[\"defaultType\"] = defaultType;\n/* harmony export (immutable) */ __webpack_exports__[\"getFieldDef\"] = getFieldDef;\n/* harmony export (immutable) */ __webpack_exports__[\"normalize\"] = normalize;\n/* harmony export (immutable) */ __webpack_exports__[\"normalizeFieldDef\"] = normalizeFieldDef;\n/* harmony export (immutable) */ __webpack_exports__[\"normalizeBin\"] = normalizeBin;\n/* harmony export (immutable) */ __webpack_exports__[\"channelCompatibility\"] = channelCompatibility;\n/* harmony export (immutable) */ __webpack_exports__[\"isNumberFieldDef\"] = isNumberFieldDef;\n/* harmony export (immutable) */ __webpack_exports__[\"isTimeFieldDef\"] = isTimeFieldDef;\n/* harmony export (immutable) */ __webpack_exports__[\"valueExpr\"] = valueExpr;\n/* harmony export (immutable) */ __webpack_exports__[\"valueArray\"] = valueArray;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__aggregate__ = __webpack_require__(84);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__bin__ = __webpack_require__(85);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__datetime__ = __webpack_require__(128);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__timeunit__ = __webpack_require__(86);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__type__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__util__ = __webpack_require__(3);\n\n\n\n\n\n\n\n\n\n\nfunction isConditionalSelection(c) {\n return c['selection'];\n}\nfunction isRepeatRef(field) {\n return field && !Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"C\" /* isString */])(field) && 'repeat' in field;\n}\nfunction toFieldDefBase(fieldDef) {\n var field = fieldDef.field, timeUnit = fieldDef.timeUnit, bin = fieldDef.bin, aggregate = fieldDef.aggregate;\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, (timeUnit ? { timeUnit: timeUnit } : {}), (bin ? { bin: bin } : {}), (aggregate ? { aggregate: aggregate } : {}), { field: field });\n}\nfunction isConditionalDef(channelDef) {\n return !!channelDef && !!channelDef.condition;\n}\n/**\n * Return if a channelDef is a ConditionalValueDef with ConditionFieldDef\n */\nfunction hasConditionalFieldDef(channelDef) {\n return !!channelDef && !!channelDef.condition && !Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(channelDef.condition) && isFieldDef(channelDef.condition);\n}\nfunction hasConditionalValueDef(channelDef) {\n return !!channelDef && !!channelDef.condition && (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(channelDef.condition) || isValueDef(channelDef.condition));\n}\nfunction isFieldDef(channelDef) {\n return !!channelDef && (!!channelDef['field'] || channelDef['aggregate'] === 'count');\n}\nfunction isStringFieldDef(fieldDef) {\n return isFieldDef(fieldDef) && Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"C\" /* isString */])(fieldDef.field);\n}\nfunction isValueDef(channelDef) {\n return channelDef && 'value' in channelDef && channelDef['value'] !== undefined;\n}\nfunction isScaleFieldDef(channelDef) {\n return !!channelDef && (!!channelDef['scale'] || !!channelDef['sort']);\n}\nfunction isOpFieldDef(fieldDef) {\n return !!fieldDef['op'];\n}\nfunction vgField(fieldDef, opt) {\n if (opt === void 0) { opt = {}; }\n var field = fieldDef.field;\n var prefix = opt.prefix;\n var suffix = opt.suffix;\n if (isCount(fieldDef)) {\n field = 'count_*';\n }\n else {\n var fn = undefined;\n if (!opt.nofn) {\n if (isOpFieldDef(fieldDef)) {\n fn = fieldDef.op;\n }\n else if (fieldDef.bin) {\n fn = Object(__WEBPACK_IMPORTED_MODULE_3__bin__[\"binToString\"])(fieldDef.bin);\n suffix = opt.binSuffix || '';\n }\n else if (fieldDef.aggregate) {\n fn = String(fieldDef.aggregate);\n }\n else if (fieldDef.timeUnit) {\n fn = String(fieldDef.timeUnit);\n }\n }\n if (fn) {\n field = field ? fn + \"_\" + field : fn;\n }\n }\n if (suffix) {\n field = field + \"_\" + suffix;\n }\n if (prefix) {\n field = prefix + \"_\" + field;\n }\n if (opt.expr) {\n // Expression to access flattened field. No need to escape dots.\n return Object(__WEBPACK_IMPORTED_MODULE_9__util__[\"flatAccessWithDatum\"])(field, opt.expr);\n }\n else {\n // We flattened all fields so paths should have become dot.\n return Object(__WEBPACK_IMPORTED_MODULE_9__util__[\"replacePathInField\"])(field);\n }\n}\nfunction isDiscrete(fieldDef) {\n switch (fieldDef.type) {\n case 'nominal':\n case 'ordinal':\n case 'geojson':\n return true;\n case 'quantitative':\n return !!fieldDef.bin;\n case 'latitude':\n case 'longitude':\n case 'temporal':\n return false;\n }\n throw new Error(__WEBPACK_IMPORTED_MODULE_6__log__[\"b\" /* message */].invalidFieldType(fieldDef.type));\n}\nfunction isContinuous(fieldDef) {\n return !isDiscrete(fieldDef);\n}\nfunction isCount(fieldDef) {\n return fieldDef.aggregate === 'count';\n}\nfunction verbalTitleFormatter(fieldDef, config) {\n var field = fieldDef.field, bin = fieldDef.bin, timeUnit = fieldDef.timeUnit, aggregate = fieldDef.aggregate;\n if (aggregate === 'count') {\n return config.countTitle;\n }\n else if (bin) {\n return field + \" (binned)\";\n }\n else if (timeUnit) {\n var units = Object(__WEBPACK_IMPORTED_MODULE_7__timeunit__[\"getTimeUnitParts\"])(timeUnit).join('-');\n return field + \" (\" + units + \")\";\n }\n else if (aggregate) {\n return Object(__WEBPACK_IMPORTED_MODULE_9__util__[\"titlecase\"])(aggregate) + \" of \" + field;\n }\n return field;\n}\nfunction functionalTitleFormatter(fieldDef, config) {\n var fn = fieldDef.aggregate || fieldDef.timeUnit || (fieldDef.bin && 'bin');\n if (fn) {\n return fn.toUpperCase() + '(' + fieldDef.field + ')';\n }\n else {\n return fieldDef.field;\n }\n}\nvar defaultTitleFormatter = function (fieldDef, config) {\n switch (config.fieldTitle) {\n case 'plain':\n return fieldDef.field;\n case 'functional':\n return functionalTitleFormatter(fieldDef, config);\n default:\n return verbalTitleFormatter(fieldDef, config);\n }\n};\nvar titleFormatter = defaultTitleFormatter;\nfunction setTitleFormatter(formatter) {\n titleFormatter = formatter;\n}\nfunction resetTitleFormatter() {\n setTitleFormatter(defaultTitleFormatter);\n}\nfunction title(fieldDef, config) {\n return titleFormatter(fieldDef, config);\n}\nfunction defaultType(fieldDef, channel) {\n if (fieldDef.timeUnit) {\n return 'temporal';\n }\n if (fieldDef.bin) {\n return 'quantitative';\n }\n switch (Object(__WEBPACK_IMPORTED_MODULE_4__channel__[\"rangeType\"])(channel)) {\n case 'continuous':\n return 'quantitative';\n case 'discrete':\n return 'nominal';\n case 'flexible': // color\n return 'nominal';\n default:\n return 'quantitative';\n }\n}\n/**\n * Returns the fieldDef -- either from the outer channelDef or from the condition of channelDef.\n * @param channelDef\n */\nfunction getFieldDef(channelDef) {\n if (isFieldDef(channelDef)) {\n return channelDef;\n }\n else if (hasConditionalFieldDef(channelDef)) {\n return channelDef.condition;\n }\n return undefined;\n}\n/**\n * Convert type to full, lowercase type, or augment the fieldDef with a default type if missing.\n */\nfunction normalize(channelDef, channel) {\n if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"C\" /* isString */])(channelDef) || Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"z\" /* isNumber */])(channelDef) || Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"w\" /* isBoolean */])(channelDef)) {\n var primitiveType = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"C\" /* isString */])(channelDef) ? 'string' :\n Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"z\" /* isNumber */])(channelDef) ? 'number' : 'boolean';\n __WEBPACK_IMPORTED_MODULE_6__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_6__log__[\"b\" /* message */].primitiveChannelDef(channel, primitiveType, channelDef));\n return { value: channelDef };\n }\n // If a fieldDef contains a field, we need type.\n if (isFieldDef(channelDef)) {\n return normalizeFieldDef(channelDef, channel);\n }\n else if (hasConditionalFieldDef(channelDef)) {\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, channelDef, { \n // Need to cast as normalizeFieldDef normally return FieldDef, but here we know that it is definitely Condition<FieldDef>\n condition: normalizeFieldDef(channelDef.condition, channel) });\n }\n return channelDef;\n}\nfunction normalizeFieldDef(fieldDef, channel) {\n // Drop invalid aggregate\n if (fieldDef.aggregate && !Object(__WEBPACK_IMPORTED_MODULE_2__aggregate__[\"isAggregateOp\"])(fieldDef.aggregate)) {\n var aggregate = fieldDef.aggregate, fieldDefWithoutAggregate = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"e\" /* __rest */](fieldDef, [\"aggregate\"]);\n __WEBPACK_IMPORTED_MODULE_6__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_6__log__[\"b\" /* message */].invalidAggregate(fieldDef.aggregate));\n fieldDef = fieldDefWithoutAggregate;\n }\n // Normalize Time Unit\n if (fieldDef.timeUnit) {\n fieldDef = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, fieldDef, { timeUnit: Object(__WEBPACK_IMPORTED_MODULE_7__timeunit__[\"normalizeTimeUnit\"])(fieldDef.timeUnit) });\n }\n // Normalize bin\n if (fieldDef.bin) {\n fieldDef = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, fieldDef, { bin: normalizeBin(fieldDef.bin, channel) });\n }\n // Normalize Type\n if (fieldDef.type) {\n var fullType = Object(__WEBPACK_IMPORTED_MODULE_8__type__[\"getFullName\"])(fieldDef.type);\n if (fieldDef.type !== fullType) {\n // convert short type to full type\n fieldDef = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, fieldDef, { type: fullType });\n }\n if (fieldDef.type !== 'quantitative') {\n if (Object(__WEBPACK_IMPORTED_MODULE_2__aggregate__[\"isCountingAggregateOp\"])(fieldDef.aggregate)) {\n __WEBPACK_IMPORTED_MODULE_6__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_6__log__[\"b\" /* message */].invalidFieldTypeForCountAggregate(fieldDef.type, fieldDef.aggregate));\n fieldDef = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, fieldDef, { type: 'quantitative' });\n }\n }\n }\n else {\n // If type is empty / invalid, then augment with default type\n var newType = defaultType(fieldDef, channel);\n __WEBPACK_IMPORTED_MODULE_6__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_6__log__[\"b\" /* message */].emptyOrInvalidFieldType(fieldDef.type, channel, newType));\n fieldDef = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, fieldDef, { type: newType });\n }\n var _a = channelCompatibility(fieldDef, channel), compatible = _a.compatible, warning = _a.warning;\n if (!compatible) {\n __WEBPACK_IMPORTED_MODULE_6__log__[\"e\" /* warn */](warning);\n }\n return fieldDef;\n}\nfunction normalizeBin(bin, channel) {\n if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"w\" /* isBoolean */])(bin)) {\n return { maxbins: Object(__WEBPACK_IMPORTED_MODULE_3__bin__[\"autoMaxBins\"])(channel) };\n }\n else if (!bin.maxbins && !bin.step) {\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, bin, { maxbins: Object(__WEBPACK_IMPORTED_MODULE_3__bin__[\"autoMaxBins\"])(channel) });\n }\n else {\n return bin;\n }\n}\nvar COMPATIBLE = { compatible: true };\nfunction channelCompatibility(fieldDef, channel) {\n var type = fieldDef.type;\n switch (channel) {\n case 'row':\n case 'column':\n if (isContinuous(fieldDef)) {\n return {\n compatible: false,\n warning: __WEBPACK_IMPORTED_MODULE_6__log__[\"b\" /* message */].facetChannelShouldBeDiscrete(channel)\n };\n }\n return COMPATIBLE;\n case 'x':\n case 'y':\n case 'color':\n case 'fill':\n case 'stroke':\n case 'text':\n case 'detail':\n case 'key':\n case 'tooltip':\n case 'href':\n return COMPATIBLE;\n case 'longitude':\n case 'longitude2':\n case 'latitude':\n case 'latitude2':\n if (type !== __WEBPACK_IMPORTED_MODULE_8__type__[\"QUANTITATIVE\"]) {\n return {\n compatible: false,\n warning: \"Channel \" + channel + \" should be used with a quantitative field only, not \" + fieldDef.type + \" field.\"\n };\n }\n return COMPATIBLE;\n case 'opacity':\n case 'size':\n case 'x2':\n case 'y2':\n if ((type === 'nominal' && !fieldDef['sort']) || type === 'geojson') {\n return {\n compatible: false,\n warning: \"Channel \" + channel + \" should not be used with an unsorted discrete field.\"\n };\n }\n return COMPATIBLE;\n case 'shape':\n if (fieldDef.type !== 'nominal' && fieldDef.type !== 'geojson') {\n return {\n compatible: false,\n warning: 'Shape channel should be used with only either nominal or geojson data'\n };\n }\n return COMPATIBLE;\n case 'order':\n if (fieldDef.type === 'nominal' && !('sort' in fieldDef)) {\n return {\n compatible: false,\n warning: \"Channel order is inappropriate for nominal field, which has no inherent order.\"\n };\n }\n return COMPATIBLE;\n }\n throw new Error('channelCompatability not implemented for channel ' + channel);\n}\nfunction isNumberFieldDef(fieldDef) {\n return fieldDef.type === 'quantitative' || !!fieldDef.bin;\n}\nfunction isTimeFieldDef(fieldDef) {\n return fieldDef.type === 'temporal' || !!fieldDef.timeUnit;\n}\n/**\n * Getting a value associated with a fielddef.\n * Convert the value to Vega expression if applicable (for datetime object, or string if the field def is temporal or has timeUnit)\n */\nfunction valueExpr(v, _a) {\n var timeUnit = _a.timeUnit, type = _a.type, time = _a.time, undefinedIfExprNotRequired = _a.undefinedIfExprNotRequired;\n var _b;\n var expr = undefined;\n if (Object(__WEBPACK_IMPORTED_MODULE_5__datetime__[\"isDateTime\"])(v)) {\n expr = Object(__WEBPACK_IMPORTED_MODULE_5__datetime__[\"dateTimeExpr\"])(v, true);\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"C\" /* isString */])(v) || Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"z\" /* isNumber */])(v)) {\n if (timeUnit || type === 'temporal') {\n if (Object(__WEBPACK_IMPORTED_MODULE_7__timeunit__[\"isLocalSingleTimeUnit\"])(timeUnit)) {\n expr = Object(__WEBPACK_IMPORTED_MODULE_5__datetime__[\"dateTimeExpr\"])((_b = {}, _b[timeUnit] = v, _b), true);\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_7__timeunit__[\"isUtcSingleTimeUnit\"])(timeUnit)) {\n // FIXME is this really correct?\n expr = valueExpr(v, { timeUnit: Object(__WEBPACK_IMPORTED_MODULE_7__timeunit__[\"getLocalTimeUnit\"])(timeUnit) });\n }\n else {\n // just pass the string to date function (which will call JS Date.parse())\n expr = \"datetime(\" + JSON.stringify(v) + \")\";\n }\n }\n }\n if (expr) {\n return time ? \"time(\" + expr + \")\" : expr;\n }\n // number or boolean or normal string\n return undefinedIfExprNotRequired ? undefined : JSON.stringify(v);\n}\n/**\n * Standardize value array -- convert each value to Vega expression if applicable\n */\nfunction valueArray(fieldDef, values) {\n var timeUnit = fieldDef.timeUnit, type = fieldDef.type;\n return values.map(function (v) {\n var expr = valueExpr(v, { timeUnit: timeUnit, type: type, undefinedIfExprNotRequired: true });\n // return signal for the expression if we need an expression\n if (expr !== undefined) {\n return { signal: expr };\n }\n // otherwise just return the original value\n return v;\n });\n}\n//# sourceMappingURL=fielddef.js.map\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_bisect__ = __webpack_require__(245);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_bisect__[\"c\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_bisect__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_bisect__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_ascending__ = __webpack_require__(56);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_ascending__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_bisector__ = __webpack_require__(246);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_bisector__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_cross__ = __webpack_require__(529);\n/* unused harmony reexport cross */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__src_descending__ = __webpack_require__(530);\n/* unused harmony reexport descending */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__src_deviation__ = __webpack_require__(248);\n/* unused harmony reexport deviation */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__src_extent__ = __webpack_require__(250);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return __WEBPACK_IMPORTED_MODULE_6__src_extent__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__src_histogram__ = __webpack_require__(531);\n/* unused harmony reexport histogram */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__src_threshold_freedmanDiaconis__ = __webpack_require__(534);\n/* unused harmony reexport thresholdFreedmanDiaconis */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__src_threshold_scott__ = __webpack_require__(535);\n/* unused harmony reexport thresholdScott */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__src_threshold_sturges__ = __webpack_require__(254);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"p\", function() { return __WEBPACK_IMPORTED_MODULE_10__src_threshold_sturges__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__src_max__ = __webpack_require__(536);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return __WEBPACK_IMPORTED_MODULE_11__src_max__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__src_mean__ = __webpack_require__(537);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return __WEBPACK_IMPORTED_MODULE_12__src_mean__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__src_median__ = __webpack_require__(538);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return __WEBPACK_IMPORTED_MODULE_13__src_median__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__src_merge__ = __webpack_require__(539);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return __WEBPACK_IMPORTED_MODULE_14__src_merge__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__src_min__ = __webpack_require__(255);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return __WEBPACK_IMPORTED_MODULE_15__src_min__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__src_pairs__ = __webpack_require__(247);\n/* unused harmony reexport pairs */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__src_permute__ = __webpack_require__(540);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"l\", function() { return __WEBPACK_IMPORTED_MODULE_17__src_permute__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__src_quantile__ = __webpack_require__(155);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"m\", function() { return __WEBPACK_IMPORTED_MODULE_18__src_quantile__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__src_range__ = __webpack_require__(252);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"n\", function() { return __WEBPACK_IMPORTED_MODULE_19__src_range__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__src_scan__ = __webpack_require__(541);\n/* unused harmony reexport scan */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__src_shuffle__ = __webpack_require__(542);\n/* unused harmony reexport shuffle */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__src_sum__ = __webpack_require__(543);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"o\", function() { return __WEBPACK_IMPORTED_MODULE_22__src_sum__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__src_ticks__ = __webpack_require__(253);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"s\", function() { return __WEBPACK_IMPORTED_MODULE_23__src_ticks__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"q\", function() { return __WEBPACK_IMPORTED_MODULE_23__src_ticks__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"r\", function() { return __WEBPACK_IMPORTED_MODULE_23__src_ticks__[\"c\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__src_transpose__ = __webpack_require__(256);\n/* unused harmony reexport transpose */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__src_variance__ = __webpack_require__(249);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"t\", function() { return __WEBPACK_IMPORTED_MODULE_25__src_variance__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__src_zip__ = __webpack_require__(544);\n/* unused harmony reexport zip */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_interpolate__ = __webpack_require__(38);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(scheme) {\n return Object(__WEBPACK_IMPORTED_MODULE_0_d3_interpolate__[\"interpolateRgbBasis\"])(scheme[scheme.length - 1]);\n});\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ScaleType\", function() { return ScaleType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SCALE_TYPES\", function() { return SCALE_TYPES; });\n/* harmony export (immutable) */ __webpack_exports__[\"scaleCompatible\"] = scaleCompatible;\n/* harmony export (immutable) */ __webpack_exports__[\"scaleTypePrecedence\"] = scaleTypePrecedence;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CONTINUOUS_TO_CONTINUOUS_SCALES\", function() { return CONTINUOUS_TO_CONTINUOUS_SCALES; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CONTINUOUS_DOMAIN_SCALES\", function() { return CONTINUOUS_DOMAIN_SCALES; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DISCRETE_DOMAIN_SCALES\", function() { return DISCRETE_DOMAIN_SCALES; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TIME_SCALE_TYPES\", function() { return TIME_SCALE_TYPES; });\n/* harmony export (immutable) */ __webpack_exports__[\"hasDiscreteDomain\"] = hasDiscreteDomain;\n/* harmony export (immutable) */ __webpack_exports__[\"isBinScale\"] = isBinScale;\n/* harmony export (immutable) */ __webpack_exports__[\"hasContinuousDomain\"] = hasContinuousDomain;\n/* harmony export (immutable) */ __webpack_exports__[\"isContinuousToContinuous\"] = isContinuousToContinuous;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultScaleConfig\", function() { return defaultScaleConfig; });\n/* harmony export (immutable) */ __webpack_exports__[\"isExtendedScheme\"] = isExtendedScheme;\n/* harmony export (immutable) */ __webpack_exports__[\"isSelectionDomain\"] = isSelectionDomain;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SCALE_PROPERTIES\", function() { return SCALE_PROPERTIES; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NON_TYPE_DOMAIN_RANGE_VEGA_SCALE_PROPERTIES\", function() { return NON_TYPE_DOMAIN_RANGE_VEGA_SCALE_PROPERTIES; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SCALE_TYPE_INDEX\", function() { return SCALE_TYPE_INDEX; });\n/* harmony export (immutable) */ __webpack_exports__[\"scaleTypeSupportProperty\"] = scaleTypeSupportProperty;\n/* harmony export (immutable) */ __webpack_exports__[\"channelScalePropertyIncompatability\"] = channelScalePropertyIncompatability;\n/* harmony export (immutable) */ __webpack_exports__[\"scaleTypeSupportDataType\"] = scaleTypeSupportDataType;\n/* harmony export (immutable) */ __webpack_exports__[\"channelSupportScaleType\"] = channelSupportScaleType;\n/* harmony export (immutable) */ __webpack_exports__[\"getSupportedScaleType\"] = getSupportedScaleType;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__type__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__util__ = __webpack_require__(3);\n\n\n\n\n\n\nvar ScaleType;\n(function (ScaleType) {\n // Continuous - Quantitative\n ScaleType.LINEAR = 'linear';\n ScaleType.BIN_LINEAR = 'bin-linear';\n ScaleType.LOG = 'log';\n ScaleType.POW = 'pow';\n ScaleType.SQRT = 'sqrt';\n // Continuous - Time\n ScaleType.TIME = 'time';\n ScaleType.UTC = 'utc';\n // sequential\n ScaleType.SEQUENTIAL = 'sequential';\n // Quantile, Quantize, threshold\n ScaleType.QUANTILE = 'quantile';\n ScaleType.QUANTIZE = 'quantize';\n ScaleType.THRESHOLD = 'threshold';\n ScaleType.ORDINAL = 'ordinal';\n ScaleType.BIN_ORDINAL = 'bin-ordinal';\n ScaleType.POINT = 'point';\n ScaleType.BAND = 'band';\n})(ScaleType || (ScaleType = {}));\n/**\n * Index for scale categories -- only scale of the same categories can be merged together.\n * Current implementation is trying to be conservative and avoid merging scale type that might not work together\n */\nvar SCALE_CATEGORY_INDEX = {\n linear: 'numeric',\n log: 'numeric',\n pow: 'numeric',\n sqrt: 'numeric',\n 'bin-linear': 'bin-linear',\n time: 'time',\n utc: 'time',\n sequential: 'sequential',\n ordinal: 'ordinal',\n 'bin-ordinal': 'bin-ordinal',\n point: 'ordinal-position',\n band: 'ordinal-position'\n};\nvar SCALE_TYPES = Object(__WEBPACK_IMPORTED_MODULE_5__util__[\"keys\"])(SCALE_CATEGORY_INDEX);\n/**\n * Whether the two given scale types can be merged together.\n */\nfunction scaleCompatible(scaleType1, scaleType2) {\n var scaleCategory1 = SCALE_CATEGORY_INDEX[scaleType1];\n var scaleCategory2 = SCALE_CATEGORY_INDEX[scaleType2];\n return scaleCategory1 === scaleCategory2 ||\n (scaleCategory1 === 'ordinal-position' && scaleCategory2 === 'time') ||\n (scaleCategory2 === 'ordinal-position' && scaleCategory1 === 'time');\n}\n/**\n * Index for scale precedence -- high score = higher priority for merging.\n */\nvar SCALE_PRECEDENCE_INDEX = {\n // numeric\n linear: 0,\n log: 1,\n pow: 1,\n sqrt: 1,\n // time\n time: 0,\n utc: 0,\n // ordinal-position -- these have higher precedence than continuous scales as they support more types of data\n point: 10,\n band: 11,\n // non grouped types\n 'bin-linear': 0,\n sequential: 0,\n ordinal: 0,\n 'bin-ordinal': 0,\n};\n/**\n * Return scale categories -- only scale of the same categories can be merged together.\n */\nfunction scaleTypePrecedence(scaleType) {\n return SCALE_PRECEDENCE_INDEX[scaleType];\n}\nvar CONTINUOUS_TO_CONTINUOUS_SCALES = ['linear', 'bin-linear', 'log', 'pow', 'sqrt', 'time', 'utc'];\nvar CONTINUOUS_TO_CONTINUOUS_INDEX = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"S\" /* toSet */])(CONTINUOUS_TO_CONTINUOUS_SCALES);\nvar CONTINUOUS_DOMAIN_SCALES = CONTINUOUS_TO_CONTINUOUS_SCALES.concat(['sequential' /* TODO add 'quantile', 'quantize', 'threshold'*/]);\nvar CONTINUOUS_DOMAIN_INDEX = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"S\" /* toSet */])(CONTINUOUS_DOMAIN_SCALES);\nvar DISCRETE_DOMAIN_SCALES = ['ordinal', 'bin-ordinal', 'point', 'band'];\nvar DISCRETE_DOMAIN_INDEX = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"S\" /* toSet */])(DISCRETE_DOMAIN_SCALES);\nvar BIN_SCALES_INDEX = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"S\" /* toSet */])(['bin-linear', 'bin-ordinal']);\nvar TIME_SCALE_TYPES = ['time', 'utc'];\nfunction hasDiscreteDomain(type) {\n return type in DISCRETE_DOMAIN_INDEX;\n}\nfunction isBinScale(type) {\n return type in BIN_SCALES_INDEX;\n}\nfunction hasContinuousDomain(type) {\n return type in CONTINUOUS_DOMAIN_INDEX;\n}\nfunction isContinuousToContinuous(type) {\n return type in CONTINUOUS_TO_CONTINUOUS_INDEX;\n}\nvar defaultScaleConfig = {\n textXRangeStep: 90,\n rangeStep: 21,\n pointPadding: 0.5,\n bandPaddingInner: 0.1,\n facetSpacing: 16,\n minBandSize: 2,\n minFontSize: 8,\n maxFontSize: 40,\n minOpacity: 0.3,\n maxOpacity: 0.8,\n // FIXME: revise if these *can* become ratios of rangeStep\n minSize: 9,\n minStrokeWidth: 1,\n maxStrokeWidth: 4\n};\nfunction isExtendedScheme(scheme) {\n return scheme && !!scheme['name'];\n}\nfunction isSelectionDomain(domain) {\n return domain && domain['selection'];\n}\nvar SCALE_PROPERTY_INDEX = {\n type: 1,\n domain: 1,\n range: 1,\n rangeStep: 1,\n scheme: 1,\n // Other properties\n reverse: 1,\n round: 1,\n // quantitative / time\n clamp: 1,\n nice: 1,\n // quantitative\n base: 1,\n exponent: 1,\n interpolate: 1,\n zero: 1,\n // band/point\n padding: 1,\n paddingInner: 1,\n paddingOuter: 1\n};\nvar SCALE_PROPERTIES = Object(__WEBPACK_IMPORTED_MODULE_5__util__[\"flagKeys\"])(SCALE_PROPERTY_INDEX);\nvar type = SCALE_PROPERTY_INDEX.type, domain = SCALE_PROPERTY_INDEX.domain, range = SCALE_PROPERTY_INDEX.range, rangeStep = SCALE_PROPERTY_INDEX.rangeStep, scheme = SCALE_PROPERTY_INDEX.scheme, NON_TYPE_DOMAIN_RANGE_VEGA_SCALE_PROPERTY_INDEX = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"e\" /* __rest */](SCALE_PROPERTY_INDEX, [\"type\", \"domain\", \"range\", \"rangeStep\", \"scheme\"]);\nvar NON_TYPE_DOMAIN_RANGE_VEGA_SCALE_PROPERTIES = Object(__WEBPACK_IMPORTED_MODULE_5__util__[\"flagKeys\"])(NON_TYPE_DOMAIN_RANGE_VEGA_SCALE_PROPERTY_INDEX);\nvar SCALE_TYPE_INDEX = generateScaleTypeIndex();\nfunction scaleTypeSupportProperty(scaleType, propName) {\n switch (propName) {\n case 'type':\n case 'domain':\n case 'reverse':\n case 'range':\n return true;\n case 'scheme':\n return Object(__WEBPACK_IMPORTED_MODULE_5__util__[\"contains\"])(['sequential', 'ordinal', 'bin-ordinal', 'quantile', 'quantize'], scaleType);\n case 'interpolate':\n // FIXME(https://github.com/vega/vega-lite/issues/2902) how about ordinal?\n return Object(__WEBPACK_IMPORTED_MODULE_5__util__[\"contains\"])(['linear', 'bin-linear', 'pow', 'log', 'sqrt', 'utc', 'time'], scaleType);\n case 'round':\n return isContinuousToContinuous(scaleType) || scaleType === 'band' || scaleType === 'point';\n case 'padding':\n return isContinuousToContinuous(scaleType) || Object(__WEBPACK_IMPORTED_MODULE_5__util__[\"contains\"])(['point', 'band'], scaleType);\n case 'paddingOuter':\n case 'rangeStep':\n return Object(__WEBPACK_IMPORTED_MODULE_5__util__[\"contains\"])(['point', 'band'], scaleType);\n case 'paddingInner':\n return scaleType === 'band';\n case 'clamp':\n return isContinuousToContinuous(scaleType) || scaleType === 'sequential';\n case 'nice':\n return isContinuousToContinuous(scaleType) || scaleType === 'sequential' || scaleType === 'quantize';\n case 'exponent':\n return scaleType === 'pow';\n case 'base':\n return scaleType === 'log';\n case 'zero':\n return hasContinuousDomain(scaleType) && !Object(__WEBPACK_IMPORTED_MODULE_5__util__[\"contains\"])([\n 'log',\n 'time', 'utc',\n 'bin-linear',\n 'threshold',\n 'quantile' // quantile depends on distribution so zero does not matter\n ], scaleType);\n }\n /* istanbul ignore next: should never reach here*/\n throw new Error(\"Invalid scale property \" + propName + \".\");\n}\n/**\n * Returns undefined if the input channel supports the input scale property name\n */\nfunction channelScalePropertyIncompatability(channel, propName) {\n switch (propName) {\n case 'interpolate':\n case 'scheme':\n if (!Object(__WEBPACK_IMPORTED_MODULE_2__channel__[\"isColorChannel\"])(channel)) {\n return __WEBPACK_IMPORTED_MODULE_3__log__[\"b\" /* message */].cannotUseScalePropertyWithNonColor(channel);\n }\n return undefined;\n case 'type':\n case 'domain':\n case 'range':\n case 'base':\n case 'exponent':\n case 'nice':\n case 'padding':\n case 'paddingInner':\n case 'paddingOuter':\n case 'rangeStep':\n case 'reverse':\n case 'round':\n case 'clamp':\n case 'zero':\n return undefined; // GOOD!\n }\n /* istanbul ignore next: it should never reach here */\n throw new Error(\"Invalid scale property \\\"\" + propName + \"\\\".\");\n}\nfunction scaleTypeSupportDataType(specifiedType, fieldDefType, bin) {\n if (Object(__WEBPACK_IMPORTED_MODULE_5__util__[\"contains\"])([__WEBPACK_IMPORTED_MODULE_4__type__[\"Type\"].ORDINAL, __WEBPACK_IMPORTED_MODULE_4__type__[\"Type\"].NOMINAL], fieldDefType)) {\n return specifiedType === undefined || hasDiscreteDomain(specifiedType);\n }\n else if (fieldDefType === __WEBPACK_IMPORTED_MODULE_4__type__[\"Type\"].TEMPORAL) {\n return Object(__WEBPACK_IMPORTED_MODULE_5__util__[\"contains\"])([ScaleType.TIME, ScaleType.UTC, ScaleType.SEQUENTIAL, undefined], specifiedType);\n }\n else if (fieldDefType === __WEBPACK_IMPORTED_MODULE_4__type__[\"Type\"].QUANTITATIVE) {\n if (bin) {\n return Object(__WEBPACK_IMPORTED_MODULE_5__util__[\"contains\"])([ScaleType.BIN_LINEAR, ScaleType.BIN_ORDINAL, ScaleType.LINEAR], specifiedType);\n }\n return Object(__WEBPACK_IMPORTED_MODULE_5__util__[\"contains\"])([ScaleType.LOG, ScaleType.POW, ScaleType.SQRT, ScaleType.QUANTILE, ScaleType.QUANTIZE, ScaleType.LINEAR, ScaleType.SEQUENTIAL, undefined], specifiedType);\n }\n return true;\n}\nfunction channelSupportScaleType(channel, scaleType) {\n switch (channel) {\n case __WEBPACK_IMPORTED_MODULE_2__channel__[\"Channel\"].X:\n case __WEBPACK_IMPORTED_MODULE_2__channel__[\"Channel\"].Y:\n case __WEBPACK_IMPORTED_MODULE_2__channel__[\"Channel\"].SIZE: // TODO: size and opacity can support ordinal with more modification\n case __WEBPACK_IMPORTED_MODULE_2__channel__[\"Channel\"].OPACITY:\n // Although it generally doesn't make sense to use band with size and opacity,\n // it can also work since we use band: 0.5 to get midpoint.\n return isContinuousToContinuous(scaleType) || Object(__WEBPACK_IMPORTED_MODULE_5__util__[\"contains\"])(['band', 'point'], scaleType);\n case __WEBPACK_IMPORTED_MODULE_2__channel__[\"Channel\"].COLOR:\n case __WEBPACK_IMPORTED_MODULE_2__channel__[\"Channel\"].FILL:\n case __WEBPACK_IMPORTED_MODULE_2__channel__[\"Channel\"].STROKE:\n return scaleType !== 'band'; // band does not make sense with color\n case __WEBPACK_IMPORTED_MODULE_2__channel__[\"Channel\"].SHAPE:\n return scaleType === 'ordinal'; // shape = lookup only\n }\n /* istanbul ignore next: it should never reach here */\n return false;\n}\nfunction getSupportedScaleType(channel, fieldDefType, bin) {\n return SCALE_TYPE_INDEX[generateScaleTypeIndexKey(channel, fieldDefType, bin)];\n}\n// generates ScaleTypeIndex where keys are encoding channels and values are list of valid ScaleTypes\nfunction generateScaleTypeIndex() {\n var index = {};\n for (var _i = 0, CHANNELS_1 = __WEBPACK_IMPORTED_MODULE_2__channel__[\"CHANNELS\"]; _i < CHANNELS_1.length; _i++) {\n var channel = CHANNELS_1[_i];\n for (var _a = 0, _b = Object(__WEBPACK_IMPORTED_MODULE_5__util__[\"keys\"])(__WEBPACK_IMPORTED_MODULE_4__type__[\"TYPE_INDEX\"]); _a < _b.length; _a++) {\n var fieldDefType = _b[_a];\n for (var _c = 0, SCALE_TYPES_1 = SCALE_TYPES; _c < SCALE_TYPES_1.length; _c++) {\n var scaleType = SCALE_TYPES_1[_c];\n for (var _d = 0, _e = [false, true]; _d < _e.length; _d++) {\n var bin = _e[_d];\n var key = generateScaleTypeIndexKey(channel, fieldDefType, bin);\n if (channelSupportScaleType(channel, scaleType) && scaleTypeSupportDataType(scaleType, fieldDefType, bin)) {\n index[key] = index[key] || [];\n index[key].push(scaleType);\n }\n }\n }\n }\n }\n return index;\n}\nfunction generateScaleTypeIndexKey(channel, fieldDefType, bin) {\n var key = channel + '_' + fieldDefType;\n return bin ? key + '_bin' : key;\n}\n//# sourceMappingURL=scale.js.map\n\n/***/ }),\n/* 12 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = Entry;\n/* harmony export (immutable) */ __webpack_exports__[\"h\"] = entry;\n/* harmony export (immutable) */ __webpack_exports__[\"n\"] = operator;\n/* harmony export (immutable) */ __webpack_exports__[\"o\"] = ref;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"q\", function() { return tupleidRef; });\n/* harmony export (immutable) */ __webpack_exports__[\"i\"] = fieldRef;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"l\", function() { return keyFieldRef; });\n/* harmony export (immutable) */ __webpack_exports__[\"f\"] = compareRef;\n/* harmony export (immutable) */ __webpack_exports__[\"m\"] = keyRef;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Ascending; });\n/* unused harmony export Descending */\n/* harmony export (immutable) */ __webpack_exports__[\"p\"] = sortKey;\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = aggrField;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return Scope; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return View; });\n/* harmony export (immutable) */ __webpack_exports__[\"k\"] = isSignal;\n/* harmony export (immutable) */ __webpack_exports__[\"j\"] = hasSignal;\n/* harmony export (immutable) */ __webpack_exports__[\"r\"] = value;\n/* harmony export (immutable) */ __webpack_exports__[\"g\"] = deref;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n\n\nfunction Entry(type, value, params, parent) {\n this.id = -1;\n this.type = type;\n this.value = value;\n this.params = params;\n if (parent) this.parent = parent;\n}\n\nfunction entry(type, value, params, parent) {\n return new Entry(type, value, params, parent);\n}\n\nfunction operator(value, params) {\n return entry('operator', value, params);\n}\n\n// -----\n\nfunction ref(op) {\n var ref = {$ref: op.id};\n // if operator not yet registered, cache ref to resolve later\n if (op.id < 0) (op.refs = op.refs || []).push(ref);\n return ref;\n}\n\nvar tupleidRef = {\n $tupleid: 1,\n toString: function() { return ':_tupleid_:'; }\n};\n\nfunction fieldRef(field, name) {\n return name ? {$field: field, $name: name} : {$field: field};\n}\n\nvar keyFieldRef = fieldRef('key');\n\nfunction compareRef(fields, orders) {\n return {$compare: fields, $order: orders};\n}\n\nfunction keyRef(fields, flat) {\n var ref = {$key: fields};\n if (flat) ref.$flat = true;\n return ref;\n}\n\n// -----\n\nvar Ascending = 'ascending';\n\nvar Descending = 'descending';\n\nfunction sortKey(sort) {\n return !Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"A\" /* isObject */])(sort) ? ''\n : (sort.order === Descending ? '-' : '+')\n + aggrField(sort.op, sort.field);\n}\n\nfunction aggrField(op, field) {\n return (op && op.signal ? '$' + op.signal : op || '')\n + (op && field ? '_' : '')\n + (field && field.signal ? '$' + field.signal : field || '');\n}\n\n// -----\n\nvar Scope = 'scope';\n\nvar View = 'view';\n\nfunction isSignal(_) {\n return _ && _.signal;\n}\n\nfunction hasSignal(_) {\n if (isSignal(_)) return true;\n if (Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"A\" /* isObject */])(_)) for (var key in _) {\n if (hasSignal(_[key])) return true;\n }\n return false;\n}\n\nfunction value(specValue, defaultValue) {\n return specValue != null ? specValue : defaultValue;\n}\n\nfunction deref(v) {\n return v && v.signal || v;\n}\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return DataFlowNode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return OutputNode; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n\n/**\n * A node in the dataflow tree.\n */\nvar DataFlowNode = /** @class */ (function () {\n function DataFlowNode(parent, debugName) {\n this.debugName = debugName;\n this._children = [];\n this._parent = null;\n if (parent) {\n this.parent = parent;\n }\n }\n /**\n * Clone this node with a deep copy but don't clone links to children or parents.\n */\n DataFlowNode.prototype.clone = function () {\n throw new Error('Cannot clone node');\n };\n /**\n * Set of fields that are being created by this node.\n */\n DataFlowNode.prototype.producedFields = function () {\n return {};\n };\n DataFlowNode.prototype.dependentFields = function () {\n return {};\n };\n Object.defineProperty(DataFlowNode.prototype, \"parent\", {\n get: function () {\n return this._parent;\n },\n /**\n * Set the parent of the node and also add this not to the parent's children.\n */\n set: function (parent) {\n this._parent = parent;\n parent.addChild(this);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(DataFlowNode.prototype, \"children\", {\n get: function () {\n return this._children;\n },\n enumerable: true,\n configurable: true\n });\n DataFlowNode.prototype.numChildren = function () {\n return this._children.length;\n };\n DataFlowNode.prototype.addChild = function (child) {\n this._children.push(child);\n };\n DataFlowNode.prototype.removeChild = function (oldChild) {\n this._children.splice(this._children.indexOf(oldChild), 1);\n };\n /**\n * Remove node from the dataflow.\n */\n DataFlowNode.prototype.remove = function () {\n for (var _i = 0, _a = this._children; _i < _a.length; _i++) {\n var child = _a[_i];\n child.parent = this._parent;\n }\n this._parent.removeChild(this);\n };\n /**\n * Insert another node as a parent of this node.\n */\n DataFlowNode.prototype.insertAsParentOf = function (other) {\n var parent = other.parent;\n parent.removeChild(this);\n this.parent = parent;\n other.parent = this;\n };\n DataFlowNode.prototype.swapWithParent = function () {\n var parent = this._parent;\n var newParent = parent.parent;\n // reconnect the children\n for (var _i = 0, _a = this._children; _i < _a.length; _i++) {\n var child = _a[_i];\n child.parent = parent;\n }\n // remove old links\n this._children = []; // equivalent to removing every child link one by one\n parent.removeChild(this);\n parent.parent.removeChild(parent);\n // swap two nodes\n this.parent = newParent;\n parent.parent = this;\n };\n return DataFlowNode;\n}());\n\nvar OutputNode = /** @class */ (function (_super) {\n __WEBPACK_IMPORTED_MODULE_0_tslib__[\"c\" /* __extends */](OutputNode, _super);\n /**\n * @param source The name of the source. Will change in assemble.\n * @param type The type of the output node.\n * @param refCounts A global ref counter map.\n */\n function OutputNode(parent, source, type, refCounts) {\n var _this = _super.call(this, parent, source) || this;\n _this.type = type;\n _this.refCounts = refCounts;\n _this._source = _this._name = source;\n if (_this.refCounts && !(_this._name in _this.refCounts)) {\n _this.refCounts[_this._name] = 0;\n }\n return _this;\n }\n OutputNode.prototype.clone = function () {\n var cloneObj = new this.constructor;\n cloneObj.debugName = 'clone_' + this.debugName;\n cloneObj._source = this._source;\n cloneObj._name = 'clone_' + this._name;\n cloneObj.type = this.type;\n cloneObj.refCounts = this.refCounts;\n cloneObj.refCounts[cloneObj._name] = 0;\n return cloneObj;\n };\n /**\n * Request the datasource name and increase the ref counter.\n *\n * During the parsing phase, this will return the simple name such as 'main' or 'raw'.\n * It is crucial to request the name from an output node to mark it as a required node.\n * If nobody ever requests the name, this datasource will not be instantiated in the assemble phase.\n *\n * In the assemble phase, this will return the correct name.\n */\n OutputNode.prototype.getSource = function () {\n this.refCounts[this._name]++;\n return this._source;\n };\n OutputNode.prototype.isRequired = function () {\n return !!this.refCounts[this._name];\n };\n OutputNode.prototype.setSource = function (source) {\n this._source = source;\n };\n return OutputNode;\n}(DataFlowNode));\n\n//# sourceMappingURL=dataflow.js.map\n\n/***/ }),\n/* 14 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"o\", function() { return MarkRole; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return FrameRole; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"p\", function() { return ScopeRole; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return AxisRole; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return AxisDomainRole; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return AxisGridRole; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return AxisLabelRole; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return AxisTickRole; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return AxisTitleRole; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"l\", function() { return LegendRole; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return LegendBandRole; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return LegendEntryRole; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return LegendGradientRole; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return LegendLabelRole; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"m\", function() { return LegendSymbolRole; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"n\", function() { return LegendTitleRole; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"q\", function() { return TitleRole; });\nvar MarkRole = 'mark';\nvar FrameRole = 'frame';\nvar ScopeRole = 'scope';\n\nvar AxisRole = 'axis';\nvar AxisDomainRole = 'axis-domain';\nvar AxisGridRole = 'axis-grid';\nvar AxisLabelRole = 'axis-label';\nvar AxisTickRole = 'axis-tick';\nvar AxisTitleRole = 'axis-title';\n\nvar LegendRole = 'legend';\nvar LegendBandRole = 'legend-band';\nvar LegendEntryRole = 'legend-entry';\nvar LegendGradientRole = 'legend-gradient';\nvar LegendLabelRole = 'legend-label';\nvar LegendSymbolRole = 'legend-symbol';\nvar LegendTitleRole = 'legend-title';\n\nvar TitleRole = 'title';\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export NameMap */\n/* harmony export (immutable) */ __webpack_exports__[\"g\"] = isUnitModel;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = isFacetModel;\n/* harmony export (immutable) */ __webpack_exports__[\"f\"] = isRepeatModel;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = isConcatModel;\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = isLayerModel;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Model; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return ModelWithField; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__encoding__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__scale__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__spec__ = __webpack_require__(61);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__title__ = __webpack_require__(372);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__toplevelprops__ = __webpack_require__(373);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__transform__ = __webpack_require__(202);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__vega_schema__ = __webpack_require__(29);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__axis_assemble__ = __webpack_require__(375);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__header_index__ = __webpack_require__(376);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__layoutsize_assemble__ = __webpack_require__(131);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__legend_assemble__ = __webpack_require__(378);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__legend_parse__ = __webpack_require__(379);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__projection_assemble__ = __webpack_require__(945);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__projection_parse__ = __webpack_require__(946);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__scale_assemble__ = __webpack_require__(949);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__scale_domain__ = __webpack_require__(88);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__scale_parse__ = __webpack_require__(951);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__split__ = __webpack_require__(27);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar NameMap = /** @class */ (function () {\n function NameMap() {\n this.nameMap = {};\n }\n NameMap.prototype.rename = function (oldName, newName) {\n this.nameMap[oldName] = newName;\n };\n NameMap.prototype.has = function (name) {\n return this.nameMap[name] !== undefined;\n };\n NameMap.prototype.get = function (name) {\n // If the name appears in the _nameMap, we need to read its new name.\n // We have to loop over the dict just in case the new name also gets renamed.\n while (this.nameMap[name] && name !== this.nameMap[name]) {\n name = this.nameMap[name];\n }\n return name;\n };\n return NameMap;\n}());\n\n/*\n We use type guards instead of `instanceof` as `instanceof` makes\n different parts of the compiler depend on the actual implementation of\n the model classes, which in turn depend on different parts of the compiler.\n Thus, `instanceof` leads to circular dependency problems.\n\n On the other hand, type guards only make different parts of the compiler\n depend on the type of the model classes, but not the actual implementation.\n*/\nfunction isUnitModel(model) {\n return model && model.type === 'unit';\n}\nfunction isFacetModel(model) {\n return model && model.type === 'facet';\n}\nfunction isRepeatModel(model) {\n return model && model.type === 'repeat';\n}\nfunction isConcatModel(model) {\n return model && model.type === 'concat';\n}\nfunction isLayerModel(model) {\n return model && model.type === 'layer';\n}\nvar Model = /** @class */ (function () {\n function Model(spec, parent, parentGivenName, config, repeater, resolve) {\n var _this = this;\n this.children = [];\n /**\n * Corrects the data references in marks after assemble.\n */\n this.correctDataNames = function (mark) {\n // TODO: make this correct\n // for normal data references\n if (mark.from && mark.from.data) {\n mark.from.data = _this.lookupDataSource(mark.from.data);\n }\n // for access to facet data\n if (mark.from && mark.from.facet && mark.from.facet.data) {\n mark.from.facet.data = _this.lookupDataSource(mark.from.facet.data);\n }\n return mark;\n };\n this.parent = parent;\n this.config = config;\n this.repeater = repeater;\n // If name is not provided, always use parent's givenName to avoid name conflicts.\n this.name = spec.name || parentGivenName;\n this.title = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"C\" /* isString */])(spec.title) ? { text: spec.title } : spec.title;\n // Shared name maps\n this.scaleNameMap = parent ? parent.scaleNameMap : new NameMap();\n this.projectionNameMap = parent ? parent.projectionNameMap : new NameMap();\n this.layoutSizeNameMap = parent ? parent.layoutSizeNameMap : new NameMap();\n this.data = spec.data;\n this.description = spec.description;\n this.transforms = Object(__WEBPACK_IMPORTED_MODULE_10__transform__[\"normalizeTransform\"])(spec.transform || []);\n this.layout = Object(__WEBPACK_IMPORTED_MODULE_7__spec__[\"isUnitSpec\"])(spec) || Object(__WEBPACK_IMPORTED_MODULE_7__spec__[\"isLayerSpec\"])(spec) ? undefined : Object(__WEBPACK_IMPORTED_MODULE_9__toplevelprops__[\"a\" /* extractCompositionLayout */])(spec);\n this.component = {\n data: {\n sources: parent ? parent.component.data.sources : {},\n outputNodes: parent ? parent.component.data.outputNodes : {},\n outputNodeRefCounts: parent ? parent.component.data.outputNodeRefCounts : {},\n // data is faceted if the spec is a facet spec or the parent has faceted data and no data is defined\n isFaceted: Object(__WEBPACK_IMPORTED_MODULE_7__spec__[\"isFacetSpec\"])(spec) || (parent && parent.component.data.isFaceted && !spec.data)\n },\n layoutSize: new __WEBPACK_IMPORTED_MODULE_23__split__[\"a\" /* Split */](),\n layoutHeaders: { row: {}, column: {} },\n mark: null,\n resolve: __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ scale: {}, axis: {}, legend: {} }, (resolve || {})),\n selection: null,\n scales: null,\n projection: null,\n axes: {},\n legends: {},\n };\n }\n Object.defineProperty(Model.prototype, \"width\", {\n get: function () {\n return this.getSizeSignalRef('width');\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Model.prototype, \"height\", {\n get: function () {\n return this.getSizeSignalRef('height');\n },\n enumerable: true,\n configurable: true\n });\n Model.prototype.initSize = function (size) {\n var width = size.width, height = size.height;\n if (width) {\n this.component.layoutSize.set('width', width, true);\n }\n if (height) {\n this.component.layoutSize.set('height', height, true);\n }\n };\n Model.prototype.parse = function () {\n this.parseScale();\n this.parseLayoutSize(); // depends on scale\n this.renameTopLevelLayoutSize();\n this.parseSelection();\n this.parseProjection();\n this.parseData(); // (pathorder) depends on markDef; selection filters depend on parsed selections; depends on projection because some transforms require the finalized projection name.\n this.parseAxisAndHeader(); // depends on scale and layout size\n this.parseLegend(); // depends on scale, markDef\n this.parseMarkGroup(); // depends on data name, scale, layout size, axisGroup, and children's scale, axis, legend and mark.\n };\n Model.prototype.parseScale = function () {\n Object(__WEBPACK_IMPORTED_MODULE_22__scale_parse__[\"a\" /* parseScale */])(this);\n };\n Model.prototype.parseProjection = function () {\n Object(__WEBPACK_IMPORTED_MODULE_19__projection_parse__[\"a\" /* parseProjection */])(this);\n };\n /**\n * Rename top-level spec's size to be just width / height, ignoring model name.\n * This essentially merges the top-level spec's width/height signals with the width/height signals\n * to help us reduce redundant signals declaration.\n */\n Model.prototype.renameTopLevelLayoutSize = function () {\n if (this.getName('width') !== 'width') {\n this.renameLayoutSize(this.getName('width'), 'width');\n }\n if (this.getName('height') !== 'height') {\n this.renameLayoutSize(this.getName('height'), 'height');\n }\n };\n Model.prototype.parseLegend = function () {\n Object(__WEBPACK_IMPORTED_MODULE_17__legend_parse__[\"b\" /* parseLegend */])(this);\n };\n Model.prototype.assembleGroupStyle = function () {\n if (this.type === 'unit' || this.type === 'layer') {\n return 'cell';\n }\n return undefined;\n };\n Model.prototype.assembleLayoutSize = function () {\n if (this.type === 'unit' || this.type === 'layer') {\n return {\n width: this.getSizeSignalRef('width'),\n height: this.getSizeSignalRef('height')\n };\n }\n return undefined;\n };\n Model.prototype.assembleLayout = function () {\n if (!this.layout) {\n return undefined;\n }\n var _a = this.layout, align = _a.align, bounds = _a.bounds, center = _a.center, _b = _a.spacing, spacing = _b === void 0 ? {} : _b;\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ padding: Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"z\" /* isNumber */])(spacing) ? spacing : {\n row: spacing.row || 10,\n column: spacing.column || 10\n } }, this.assembleDefaultLayout(), (align ? { align: align } : {}), (bounds ? { bounds: bounds } : {}), (center ? { center: center } : {}));\n };\n Model.prototype.assembleDefaultLayout = function () {\n return {};\n };\n Model.prototype.assembleHeaderMarks = function () {\n var layoutHeaders = this.component.layoutHeaders;\n var headerMarks = [];\n for (var _i = 0, HEADER_CHANNELS_1 = __WEBPACK_IMPORTED_MODULE_14__header_index__[\"a\" /* HEADER_CHANNELS */]; _i < HEADER_CHANNELS_1.length; _i++) {\n var channel = HEADER_CHANNELS_1[_i];\n if (layoutHeaders[channel].title) {\n headerMarks.push(Object(__WEBPACK_IMPORTED_MODULE_14__header_index__[\"d\" /* getTitleGroup */])(this, channel));\n }\n }\n for (var _a = 0, HEADER_CHANNELS_2 = __WEBPACK_IMPORTED_MODULE_14__header_index__[\"a\" /* HEADER_CHANNELS */]; _a < HEADER_CHANNELS_2.length; _a++) {\n var channel = HEADER_CHANNELS_2[_a];\n headerMarks = headerMarks.concat(Object(__WEBPACK_IMPORTED_MODULE_14__header_index__[\"b\" /* getHeaderGroups */])(this, channel));\n }\n return headerMarks;\n };\n Model.prototype.assembleAxes = function () {\n return Object(__WEBPACK_IMPORTED_MODULE_13__axis_assemble__[\"a\" /* assembleAxes */])(this.component.axes, this.config);\n };\n Model.prototype.assembleLegends = function () {\n return Object(__WEBPACK_IMPORTED_MODULE_16__legend_assemble__[\"a\" /* assembleLegends */])(this);\n };\n Model.prototype.assembleProjections = function () {\n return Object(__WEBPACK_IMPORTED_MODULE_18__projection_assemble__[\"a\" /* assembleProjections */])(this);\n };\n Model.prototype.assembleTitle = function () {\n var title = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, Object(__WEBPACK_IMPORTED_MODULE_8__title__[\"a\" /* extractTitleConfig */])(this.config.title).nonMark, this.title);\n if (title.text) {\n if (!Object(__WEBPACK_IMPORTED_MODULE_11__util__[\"contains\"])(['unit', 'layer'], this.type)) {\n // As described in https://github.com/vega/vega-lite/issues/2875:\n // Due to vega/vega#960 (comment), we only support title's anchor for unit and layered spec for now.\n if (title.anchor && title.anchor !== 'start') {\n __WEBPACK_IMPORTED_MODULE_5__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_5__log__[\"b\" /* message */].cannotSetTitleAnchor(this.type));\n }\n title.anchor = 'start';\n }\n return Object(__WEBPACK_IMPORTED_MODULE_11__util__[\"keys\"])(title).length > 0 ? title : undefined;\n }\n return undefined;\n };\n /**\n * Assemble the mark group for this model. We accept optional `signals` so that we can include concat top-level signals with the top-level model's local signals.\n */\n Model.prototype.assembleGroup = function (signals) {\n if (signals === void 0) { signals = []; }\n var group = {};\n signals = signals.concat(this.assembleSelectionSignals());\n if (signals.length > 0) {\n group.signals = signals;\n }\n var layout = this.assembleLayout();\n if (layout) {\n group.layout = layout;\n }\n group.marks = [].concat(this.assembleHeaderMarks(), this.assembleMarks());\n // Only include scales if this spec is top-level or if parent is facet.\n // (Otherwise, it will be merged with upper-level's scope.)\n var scales = (!this.parent || isFacetModel(this.parent)) ? Object(__WEBPACK_IMPORTED_MODULE_20__scale_assemble__[\"a\" /* assembleScales */])(this) : [];\n if (scales.length > 0) {\n group.scales = scales;\n }\n var axes = this.assembleAxes();\n if (axes.length > 0) {\n group.axes = axes;\n }\n var legends = this.assembleLegends();\n if (legends.length > 0) {\n group.legends = legends;\n }\n return group;\n };\n Model.prototype.hasDescendantWithFieldOnChannel = function (channel) {\n for (var _i = 0, _a = this.children; _i < _a.length; _i++) {\n var child = _a[_i];\n if (isUnitModel(child)) {\n if (child.channelHasField(channel)) {\n return true;\n }\n }\n else {\n if (child.hasDescendantWithFieldOnChannel(channel)) {\n return true;\n }\n }\n }\n return false;\n };\n Model.prototype.getName = function (text) {\n return Object(__WEBPACK_IMPORTED_MODULE_11__util__[\"varName\"])((this.name ? this.name + '_' : '') + text);\n };\n /**\n * Request a data source name for the given data source type and mark that data source as required. This method should be called in parse, so that all used data source can be correctly instantiated in assembleData().\n */\n Model.prototype.requestDataName = function (name) {\n var fullName = this.getName(name);\n // Increase ref count. This is critical because otherwise we won't create a data source.\n // We also increase the ref counts on OutputNode.getSource() calls.\n var refCounts = this.component.data.outputNodeRefCounts;\n refCounts[fullName] = (refCounts[fullName] || 0) + 1;\n return fullName;\n };\n Model.prototype.getSizeSignalRef = function (sizeType) {\n if (isFacetModel(this.parent)) {\n var channel = sizeType === 'width' ? 'x' : 'y';\n var scaleComponent = this.component.scales[channel];\n if (scaleComponent && !scaleComponent.merged) { // independent scale\n var type = scaleComponent.get('type');\n var range = scaleComponent.get('range');\n if (Object(__WEBPACK_IMPORTED_MODULE_6__scale__[\"hasDiscreteDomain\"])(type) && Object(__WEBPACK_IMPORTED_MODULE_12__vega_schema__[\"e\" /* isVgRangeStep */])(range)) {\n var scaleName = scaleComponent.get('name');\n var domain = Object(__WEBPACK_IMPORTED_MODULE_21__scale_domain__[\"a\" /* assembleDomain */])(this, channel);\n var field = Object(__WEBPACK_IMPORTED_MODULE_21__scale_domain__[\"b\" /* getFieldFromDomain */])(domain);\n if (field) {\n var fieldRef = Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"vgField\"])({ aggregate: 'distinct', field: field }, { expr: 'datum' });\n return {\n signal: Object(__WEBPACK_IMPORTED_MODULE_15__layoutsize_assemble__[\"b\" /* sizeExpr */])(scaleName, scaleComponent, fieldRef)\n };\n }\n else {\n __WEBPACK_IMPORTED_MODULE_5__log__[\"e\" /* warn */]('Unknown field for ${channel}. Cannot calculate view size.');\n return null;\n }\n }\n }\n }\n return {\n signal: this.layoutSizeNameMap.get(this.getName(sizeType))\n };\n };\n /**\n * Lookup the name of the datasource for an output node. You probably want to call this in assemble.\n */\n Model.prototype.lookupDataSource = function (name) {\n var node = this.component.data.outputNodes[name];\n if (!node) {\n // Name not found in map so let's just return what we got.\n // This can happen if we already have the correct name.\n return name;\n }\n return node.getSource();\n };\n Model.prototype.getSizeName = function (oldSizeName) {\n return this.layoutSizeNameMap.get(oldSizeName);\n };\n Model.prototype.renameLayoutSize = function (oldName, newName) {\n this.layoutSizeNameMap.rename(oldName, newName);\n };\n Model.prototype.renameScale = function (oldName, newName) {\n this.scaleNameMap.rename(oldName, newName);\n };\n Model.prototype.renameProjection = function (oldName, newName) {\n this.projectionNameMap.rename(oldName, newName);\n };\n /**\n * @return scale name for a given channel after the scale has been parsed and named.\n */\n Model.prototype.scaleName = function (originalScaleName, parse) {\n if (parse) {\n // During the parse phase always return a value\n // No need to refer to rename map because a scale can't be renamed\n // before it has the original name.\n return this.getName(originalScaleName);\n }\n // If there is a scale for the channel, it should either\n // be in the scale component or exist in the name map\n if (\n // If there is a scale for the channel, there should be a local scale component for it\n (Object(__WEBPACK_IMPORTED_MODULE_2__channel__[\"isChannel\"])(originalScaleName) && Object(__WEBPACK_IMPORTED_MODULE_2__channel__[\"isScaleChannel\"])(originalScaleName) && this.component.scales[originalScaleName]) ||\n // in the scale name map (the scale get merged by its parent)\n this.scaleNameMap.has(this.getName(originalScaleName))) {\n return this.scaleNameMap.get(this.getName(originalScaleName));\n }\n return undefined;\n };\n /**\n * @return projection name after the projection has been parsed and named.\n */\n Model.prototype.projectionName = function (parse) {\n if (parse) {\n // During the parse phase always return a value\n // No need to refer to rename map because a projection can't be renamed\n // before it has the original name.\n return this.getName('projection');\n }\n if ((this.component.projection && !this.component.projection.merged) || this.projectionNameMap.has(this.getName('projection'))) {\n return this.projectionNameMap.get(this.getName('projection'));\n }\n return undefined;\n };\n /**\n * Traverse a model's hierarchy to get the scale component for a particular channel.\n */\n Model.prototype.getScaleComponent = function (channel) {\n /* istanbul ignore next: This is warning for debugging test */\n if (!this.component.scales) {\n throw new Error('getScaleComponent cannot be called before parseScale(). Make sure you have called parseScale or use parseUnitModelWithScale().');\n }\n var localScaleComponent = this.component.scales[channel];\n if (localScaleComponent && !localScaleComponent.merged) {\n return localScaleComponent;\n }\n return (this.parent ? this.parent.getScaleComponent(channel) : undefined);\n };\n /**\n * Traverse a model's hierarchy to get a particular selection component.\n */\n Model.prototype.getSelectionComponent = function (variableName, origName) {\n var sel = this.component.selection[variableName];\n if (!sel && this.parent) {\n sel = this.parent.getSelectionComponent(variableName, origName);\n }\n if (!sel) {\n throw new Error(__WEBPACK_IMPORTED_MODULE_5__log__[\"b\" /* message */].selectionNotFound(origName));\n }\n return sel;\n };\n return Model;\n}());\n\n/** Abstract class for UnitModel and FacetModel. Both of which can contain fieldDefs as a part of its own specification. */\nvar ModelWithField = /** @class */ (function (_super) {\n __WEBPACK_IMPORTED_MODULE_0_tslib__[\"c\" /* __extends */](ModelWithField, _super);\n function ModelWithField() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /** Get \"field\" reference for vega */\n ModelWithField.prototype.vgField = function (channel, opt) {\n if (opt === void 0) { opt = {}; }\n var fieldDef = this.fieldDef(channel);\n if (!fieldDef) {\n return undefined;\n }\n return Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"vgField\"])(fieldDef, opt);\n };\n ModelWithField.prototype.reduceFieldDef = function (f, init, t) {\n return Object(__WEBPACK_IMPORTED_MODULE_3__encoding__[\"reduce\"])(this.getMapping(), function (acc, cd, c) {\n var fieldDef = Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"getFieldDef\"])(cd);\n if (fieldDef) {\n return f(acc, fieldDef, c);\n }\n return acc;\n }, init, t);\n };\n ModelWithField.prototype.forEachFieldDef = function (f, t) {\n Object(__WEBPACK_IMPORTED_MODULE_3__encoding__[\"forEach\"])(this.getMapping(), function (cd, c) {\n var fieldDef = Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"getFieldDef\"])(cd);\n if (fieldDef) {\n f(fieldDef, c);\n }\n }, t);\n };\n return ModelWithField;\n}(Model));\n\n//# sourceMappingURL=model.js.map\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = encoder;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = addEncode;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = extendEncode;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = encoders;\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = has;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__encode__ = __webpack_require__(898);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__marks_roles__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n\n\n\n\nfunction encoder(_) {\n return Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"A\" /* isObject */])(_) ? Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"n\" /* extend */])({}, _) : {value: _};\n}\n\nfunction addEncode(object, name, value, set) {\n if (value != null) {\n if (Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"A\" /* isObject */])(value) && !Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"v\" /* isArray */])(value)) {\n object.update[name] = value;\n } else {\n object[set || 'enter'][name] = {value: value};\n }\n // object[name] = isObject(value) && !isArray(value) ? value : {value: value};\n return 1;\n } else {\n return 0;\n }\n}\n\nfunction extendEncode(encode, extra, skip) {\n for (var name in extra) {\n if (skip && skip.hasOwnProperty(name)) continue;\n encode[name] = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"n\" /* extend */])(encode[name] || {}, extra[name]);\n }\n return encode;\n}\n\nfunction encoders(encode, type, role, style, scope, params) {\n var enc, key;\n params = params || {};\n params.encoders = {$encode: (enc = {})};\n\n encode = applyDefaults(encode, type, role, style, scope.config);\n\n for (key in encode) {\n enc[key] = Object(__WEBPACK_IMPORTED_MODULE_0__encode__[\"a\" /* default */])(encode[key], type, params, scope);\n }\n\n return params;\n}\n\nfunction applyDefaults(encode, type, role, style, config) {\n var enter = {}, key, skip, props;\n\n // ignore legend and axis\n if (role == 'legend' || String(role).indexOf('axis') === 0) {\n role = null;\n }\n\n // resolve mark config\n props = role === __WEBPACK_IMPORTED_MODULE_1__marks_roles__[\"g\" /* FrameRole */] ? config.group\n : (role === __WEBPACK_IMPORTED_MODULE_1__marks_roles__[\"o\" /* MarkRole */]) ? Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"n\" /* extend */])({}, config.mark, config[type])\n : null;\n\n for (key in props) {\n // do not apply defaults if relevant fields are defined\n skip = has(key, encode)\n || (key === 'fill' || key === 'stroke')\n && (has('fill', encode) || has('stroke', encode));\n\n if (!skip) enter[key] = defaultEncode(props[key]);\n }\n\n // resolve styles, apply with increasing precedence\n Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"i\" /* array */])(style).forEach(function(name) {\n var props = config.style && config.style[name];\n for (var key in props) {\n if (!has(key, encode)) {\n enter[key] = defaultEncode(props[key]);\n }\n }\n });\n\n encode = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"n\" /* extend */])({}, encode); // defensive copy\n encode.enter = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"n\" /* extend */])(enter, encode.enter);\n\n return encode;\n}\n\nfunction defaultEncode(value) {\n return value && value.signal\n ? {signal: value.signal}\n : {value: value};\n}\n\nfunction has(key, encode) {\n return encode && (\n (encode.enter && encode.enter[key]) ||\n (encode.update && encode.update[key])\n );\n}\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Mark\", function() { return Mark; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AREA\", function() { return AREA; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"BAR\", function() { return BAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LINE\", function() { return LINE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"POINT\", function() { return POINT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TEXT\", function() { return TEXT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TICK\", function() { return TICK; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TRAIL\", function() { return TRAIL; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RECT\", function() { return RECT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RULE\", function() { return RULE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GEOSHAPE\", function() { return GEOSHAPE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CIRCLE\", function() { return CIRCLE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SQUARE\", function() { return SQUARE; });\n/* harmony export (immutable) */ __webpack_exports__[\"isMark\"] = isMark;\n/* harmony export (immutable) */ __webpack_exports__[\"isPathMark\"] = isPathMark;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PRIMITIVE_MARKS\", function() { return PRIMITIVE_MARKS; });\n/* harmony export (immutable) */ __webpack_exports__[\"isMarkDef\"] = isMarkDef;\n/* harmony export (immutable) */ __webpack_exports__[\"isPrimitiveMark\"] = isPrimitiveMark;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"STROKE_CONFIG\", function() { return STROKE_CONFIG; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FILL_CONFIG\", function() { return FILL_CONFIG; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FILL_STROKE_CONFIG\", function() { return FILL_STROKE_CONFIG; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VL_ONLY_MARK_CONFIG_PROPERTIES\", function() { return VL_ONLY_MARK_CONFIG_PROPERTIES; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VL_ONLY_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX\", function() { return VL_ONLY_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultMarkConfig\", function() { return defaultMarkConfig; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultBarConfig\", function() { return defaultBarConfig; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultTickConfig\", function() { return defaultTickConfig; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(3);\n\n\nvar Mark;\n(function (Mark) {\n Mark.AREA = 'area';\n Mark.BAR = 'bar';\n Mark.LINE = 'line';\n Mark.POINT = 'point';\n Mark.RECT = 'rect';\n Mark.RULE = 'rule';\n Mark.TEXT = 'text';\n Mark.TICK = 'tick';\n Mark.TRAIL = 'trail';\n Mark.CIRCLE = 'circle';\n Mark.SQUARE = 'square';\n Mark.GEOSHAPE = 'geoshape';\n})(Mark || (Mark = {}));\nvar AREA = Mark.AREA;\nvar BAR = Mark.BAR;\nvar LINE = Mark.LINE;\nvar POINT = Mark.POINT;\nvar TEXT = Mark.TEXT;\nvar TICK = Mark.TICK;\nvar TRAIL = Mark.TRAIL;\nvar RECT = Mark.RECT;\nvar RULE = Mark.RULE;\nvar GEOSHAPE = Mark.GEOSHAPE;\nvar CIRCLE = Mark.CIRCLE;\nvar SQUARE = Mark.SQUARE;\n// Using mapped type to declare index, ensuring we always have all marks when we add more.\nvar MARK_INDEX = {\n area: 1,\n bar: 1,\n line: 1,\n point: 1,\n text: 1,\n tick: 1,\n trail: 1,\n rect: 1,\n geoshape: 1,\n rule: 1,\n circle: 1,\n square: 1\n};\nfunction isMark(m) {\n return !!MARK_INDEX[m];\n}\nfunction isPathMark(m) {\n return Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"contains\"])(['line', 'area', 'trail'], m);\n}\nvar PRIMITIVE_MARKS = Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"flagKeys\"])(MARK_INDEX);\nfunction isMarkDef(mark) {\n return mark['type'];\n}\nvar PRIMITIVE_MARK_INDEX = Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"S\" /* toSet */])(PRIMITIVE_MARKS);\nfunction isPrimitiveMark(mark) {\n var markType = isMarkDef(mark) ? mark.type : mark;\n return markType in PRIMITIVE_MARK_INDEX;\n}\nvar STROKE_CONFIG = ['stroke', 'strokeWidth',\n 'strokeDash', 'strokeDashOffset', 'strokeOpacity', 'strokeJoin', 'strokeMiterLimit'];\nvar FILL_CONFIG = ['fill', 'fillOpacity'];\nvar FILL_STROKE_CONFIG = [].concat(STROKE_CONFIG, FILL_CONFIG);\nvar VL_ONLY_MARK_CONFIG_PROPERTIES = ['filled', 'color'];\nvar VL_ONLY_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX = {\n area: ['line', 'point'],\n bar: ['binSpacing', 'continuousBandSize', 'discreteBandSize'],\n line: ['point'],\n text: ['shortTimeLabels'],\n tick: ['bandSize', 'thickness']\n};\nvar defaultMarkConfig = {\n color: '#4c78a8',\n};\nvar defaultBarConfig = {\n binSpacing: 1,\n continuousBandSize: 5\n};\nvar defaultTickConfig = {\n thickness: 1\n};\n//# sourceMappingURL=mark.js.map\n\n/***/ }),\n/* 18 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return STORE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return TUPLE; });\n/* unused harmony export MODIFY */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return SELECTION_DOMAIN; });\n/* harmony export (immutable) */ __webpack_exports__[\"k\"] = parseUnitSelection;\n/* harmony export (immutable) */ __webpack_exports__[\"h\"] = assembleUnitSelectionSignals;\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = assembleTopLevelSignals;\n/* harmony export (immutable) */ __webpack_exports__[\"f\"] = assembleUnitSelectionData;\n/* harmony export (immutable) */ __webpack_exports__[\"g\"] = assembleUnitSelectionMarks;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = assembleLayerSelectionMarks;\n/* harmony export (immutable) */ __webpack_exports__[\"n\"] = selectionPredicate;\n/* harmony export (immutable) */ __webpack_exports__[\"j\"] = isRawSelectionDomain;\n/* harmony export (immutable) */ __webpack_exports__[\"o\"] = selectionScaleDomain;\n/* harmony export (immutable) */ __webpack_exports__[\"p\"] = unitName;\n/* harmony export (immutable) */ __webpack_exports__[\"m\"] = requiresSelectionId;\n/* harmony export (immutable) */ __webpack_exports__[\"i\"] = channelSignalName;\n/* harmony export (immutable) */ __webpack_exports__[\"l\"] = positionalProjections;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_event_selector__ = __webpack_require__(123);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__selection__ = __webpack_require__(200);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__model__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__interval__ = __webpack_require__(207);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__multi__ = __webpack_require__(383);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__single__ = __webpack_require__(954);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__transforms_transforms__ = __webpack_require__(955);\n\n\n\n\n\n\n\n\n\n\n\n\nvar STORE = '_store';\nvar TUPLE = '_tuple';\nvar MODIFY = '_modify';\nvar SELECTION_DOMAIN = '_selection_domain_';\nfunction parseUnitSelection(model, selDefs) {\n var selCmpts = {};\n var selectionConfig = model.config.selection;\n var _loop_1 = function (name_1) {\n if (!selDefs.hasOwnProperty(name_1)) {\n return \"continue\";\n }\n var selDef = selDefs[name_1];\n var cfg = selectionConfig[selDef.type];\n // Set default values from config if a property hasn't been specified,\n // or if it is true. E.g., \"translate\": true should use the default\n // event handlers for translate. However, true may be a valid value for\n // a property (e.g., \"nearest\": true).\n for (var key in cfg) {\n // A selection should contain either `encodings` or `fields`, only use\n // default values for these two values if neither of them is specified.\n if ((key === 'encodings' && selDef.fields) || (key === 'fields' && selDef.encodings)) {\n continue;\n }\n if (key === 'mark') {\n selDef[key] = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, cfg[key], selDef[key]);\n }\n if (selDef[key] === undefined || selDef[key] === true) {\n selDef[key] = cfg[key] || selDef[key];\n }\n }\n name_1 = Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"varName\"])(name_1);\n var selCmpt = selCmpts[name_1] = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, selDef, { name: name_1, events: Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"C\" /* isString */])(selDef.on) ? Object(__WEBPACK_IMPORTED_MODULE_1_vega_event_selector__[\"a\" /* selector */])(selDef.on, 'scope') : selDef.on });\n Object(__WEBPACK_IMPORTED_MODULE_11__transforms_transforms__[\"a\" /* forEachTransform */])(selCmpt, function (txCompiler) {\n if (txCompiler.parse) {\n txCompiler.parse(model, selDef, selCmpt);\n }\n });\n };\n for (var name_1 in selDefs) {\n _loop_1(name_1);\n }\n return selCmpts;\n}\nfunction assembleUnitSelectionSignals(model, signals) {\n forEachSelection(model, function (selCmpt, selCompiler) {\n var name = selCmpt.name;\n var modifyExpr = selCompiler.modifyExpr(model, selCmpt);\n signals.push.apply(signals, selCompiler.signals(model, selCmpt));\n Object(__WEBPACK_IMPORTED_MODULE_11__transforms_transforms__[\"a\" /* forEachTransform */])(selCmpt, function (txCompiler) {\n if (txCompiler.signals) {\n signals = txCompiler.signals(model, selCmpt, signals);\n }\n if (txCompiler.modifyExpr) {\n modifyExpr = txCompiler.modifyExpr(model, selCmpt, modifyExpr);\n }\n });\n signals.push({\n name: name + MODIFY,\n on: [{\n events: { signal: name + TUPLE },\n update: \"modify(\" + Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"O\" /* stringValue */])(selCmpt.name + STORE) + \", \" + modifyExpr + \")\"\n }]\n });\n });\n var facetModel = getFacetModel(model);\n if (signals.length && facetModel) {\n var name_2 = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"O\" /* stringValue */])(facetModel.getName('cell'));\n signals.unshift({\n name: 'facet',\n value: {},\n on: [{\n events: Object(__WEBPACK_IMPORTED_MODULE_1_vega_event_selector__[\"a\" /* selector */])('mousemove', 'scope'),\n update: \"isTuple(facet) ? facet : group(\" + name_2 + \").datum\"\n }]\n });\n }\n return signals;\n}\nfunction assembleTopLevelSignals(model, signals) {\n var needsUnit = false;\n forEachSelection(model, function (selCmpt, selCompiler) {\n if (selCompiler.topLevelSignals) {\n signals = selCompiler.topLevelSignals(model, selCmpt, signals);\n }\n Object(__WEBPACK_IMPORTED_MODULE_11__transforms_transforms__[\"a\" /* forEachTransform */])(selCmpt, function (txCompiler) {\n if (txCompiler.topLevelSignals) {\n signals = txCompiler.topLevelSignals(model, selCmpt, signals);\n }\n });\n needsUnit = true;\n });\n if (needsUnit) {\n var hasUnit = signals.filter(function (s) { return s.name === 'unit'; });\n if (!(hasUnit.length)) {\n signals.unshift({\n name: 'unit',\n value: {},\n on: [{ events: 'mousemove', update: 'isTuple(group()) ? group() : unit' }]\n });\n }\n }\n return signals;\n}\nfunction assembleUnitSelectionData(model, data) {\n forEachSelection(model, function (selCmpt) {\n var contains = data.filter(function (d) { return d.name === selCmpt.name + STORE; });\n if (!contains.length) {\n data.push({ name: selCmpt.name + STORE });\n }\n });\n return data;\n}\nfunction assembleUnitSelectionMarks(model, marks) {\n forEachSelection(model, function (selCmpt, selCompiler) {\n marks = selCompiler.marks ? selCompiler.marks(model, selCmpt, marks) : marks;\n Object(__WEBPACK_IMPORTED_MODULE_11__transforms_transforms__[\"a\" /* forEachTransform */])(selCmpt, function (txCompiler) {\n if (txCompiler.marks) {\n marks = txCompiler.marks(model, selCmpt, marks);\n }\n });\n });\n return marks;\n}\nfunction assembleLayerSelectionMarks(model, marks) {\n model.children.forEach(function (child) {\n if (Object(__WEBPACK_IMPORTED_MODULE_7__model__[\"g\" /* isUnitModel */])(child)) {\n marks = assembleUnitSelectionMarks(child, marks);\n }\n });\n return marks;\n}\nfunction selectionPredicate(model, selections, dfnode) {\n var stores = [];\n function expr(name) {\n var vname = Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"varName\"])(name);\n var selCmpt = model.getSelectionComponent(vname, name);\n var store = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"O\" /* stringValue */])(vname + STORE);\n if (selCmpt.timeUnit) {\n var child = dfnode || model.component.data.raw;\n var tunode = selCmpt.timeUnit.clone();\n if (child.parent) {\n tunode.insertAsParentOf(child);\n }\n else {\n child.parent = tunode;\n }\n }\n if (selCmpt.empty !== 'none') {\n stores.push(store);\n }\n return compiler(selCmpt.type).predicate + (\"(\" + store + \", datum\") +\n (selCmpt.resolve === 'global' ? ')' : \", \" + Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"O\" /* stringValue */])(selCmpt.resolve) + \")\");\n }\n var predicateStr = Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"logicalExpr\"])(selections, expr);\n return (stores.length\n ? '!(' + stores.map(function (s) { return \"length(data(\" + s + \"))\"; }).join(' || ') + ') || '\n : '') + (\"(\" + predicateStr + \")\");\n}\n// Selections are parsed _after_ scales. If a scale domain is set to\n// use a selection, the SELECTION_DOMAIN constant is used as the\n// domainRaw.signal during scale.parse and then replaced with the necessary\n// selection expression function during scale.assemble. To not pollute the\n// type signatures to account for this setup, the selection domain definition\n// is coerced to a string and appended to SELECTION_DOMAIN.\nfunction isRawSelectionDomain(domainRaw) {\n return domainRaw.signal.indexOf(SELECTION_DOMAIN) >= 0;\n}\nfunction selectionScaleDomain(model, domainRaw) {\n var selDomain = JSON.parse(domainRaw.signal.replace(SELECTION_DOMAIN, ''));\n var name = Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"varName\"])(selDomain.selection);\n var selCmpt = model.component.selection && model.component.selection[name];\n if (selCmpt) {\n Object(__WEBPACK_IMPORTED_MODULE_4__log__[\"e\" /* warn */])('Use \"bind\": \"scales\" to setup a binding for scales and selections within the same view.');\n }\n else {\n selCmpt = model.getSelectionComponent(name, selDomain.selection);\n if (!selDomain.encoding && !selDomain.field) {\n selDomain.field = selCmpt.project[0].field;\n if (selCmpt.project.length > 1) {\n Object(__WEBPACK_IMPORTED_MODULE_4__log__[\"e\" /* warn */])('A \"field\" or \"encoding\" must be specified when using a selection as a scale domain. ' +\n (\"Using \\\"field\\\": \" + Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"O\" /* stringValue */])(selDomain.field) + \".\"));\n }\n }\n return {\n signal: compiler(selCmpt.type).scaleDomain +\n (\"(\" + Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"O\" /* stringValue */])(name + STORE) + \", \" + Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"O\" /* stringValue */])(selDomain.encoding || null) + \", \") +\n Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"O\" /* stringValue */])(selDomain.field || null) +\n (selCmpt.resolve === 'global' ? ')' : \", \" + Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"O\" /* stringValue */])(selCmpt.resolve) + \")\")\n };\n }\n return { signal: 'null' };\n}\n// Utility functions\nfunction forEachSelection(model, cb) {\n var selections = model.component.selection;\n for (var name_3 in selections) {\n if (selections.hasOwnProperty(name_3)) {\n var sel = selections[name_3];\n cb(sel, compiler(sel.type));\n }\n }\n}\nfunction compiler(type) {\n switch (type) {\n case 'single':\n return __WEBPACK_IMPORTED_MODULE_10__single__[\"a\" /* default */];\n case 'multi':\n return __WEBPACK_IMPORTED_MODULE_9__multi__[\"a\" /* default */];\n case 'interval':\n return __WEBPACK_IMPORTED_MODULE_8__interval__[\"b\" /* default */];\n }\n return null;\n}\nfunction getFacetModel(model) {\n var parent = model.parent;\n while (parent) {\n if (Object(__WEBPACK_IMPORTED_MODULE_7__model__[\"d\" /* isFacetModel */])(parent)) {\n break;\n }\n parent = parent.parent;\n }\n return parent;\n}\nfunction unitName(model) {\n var name = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"O\" /* stringValue */])(model.name);\n var facet = getFacetModel(model);\n if (facet) {\n name += (facet.facet.row ? \" + '_' + (\" + Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"accessPathWithDatum\"])(facet.vgField('row'), 'facet') + \")\" : '')\n + (facet.facet.column ? \" + '_' + (\" + Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"accessPathWithDatum\"])(facet.vgField('column'), 'facet') + \")\" : '');\n }\n return name;\n}\nfunction requiresSelectionId(model) {\n var identifier = false;\n forEachSelection(model, function (selCmpt) {\n identifier = identifier || selCmpt.project.some(function (proj) { return proj.field === __WEBPACK_IMPORTED_MODULE_5__selection__[\"a\" /* SELECTION_ID */]; });\n });\n return identifier;\n}\nfunction channelSignalName(selCmpt, channel, range) {\n var sgNames = selCmpt._signalNames || (selCmpt._signalNames = {});\n if (sgNames[channel] && sgNames[channel][range]) {\n return sgNames[channel][range];\n }\n sgNames[channel] = sgNames[channel] || {};\n var basename = Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"varName\"])(selCmpt.name + '_' + (range === 'visual' ? channel : selCmpt.fields[channel]));\n var name = basename;\n var counter = 1;\n while (sgNames[name]) {\n name = basename + \"_\" + counter++;\n }\n return (sgNames[name] = sgNames[channel][range] = name);\n}\nfunction positionalProjections(selCmpt) {\n var x = null;\n var xi = null;\n var y = null;\n var yi = null;\n selCmpt.project.forEach(function (p, i) {\n if (p.channel === __WEBPACK_IMPORTED_MODULE_3__channel__[\"X\"]) {\n x = p;\n xi = i;\n }\n else if (p.channel === __WEBPACK_IMPORTED_MODULE_3__channel__[\"Y\"]) {\n y = p;\n yi = i;\n }\n });\n return { x: x, xi: xi, y: y, yi: yi };\n}\n//# sourceMappingURL=selection.js.map\n\n/***/ }),\n/* 19 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = newInterval;\nvar t0 = new Date,\n t1 = new Date;\n\nfunction 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\n\n/***/ }),\n/* 20 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_Bounds__ = __webpack_require__(39);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_Bounds__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_Gradient__ = __webpack_require__(586);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_Gradient__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_GroupItem__ = __webpack_require__(264);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_GroupItem__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_ResourceLoader__ = __webpack_require__(266);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return __WEBPACK_IMPORTED_MODULE_3__src_ResourceLoader__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__src_Item__ = __webpack_require__(265);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return __WEBPACK_IMPORTED_MODULE_4__src_Item__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__src_Scenegraph__ = __webpack_require__(588);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"o\", function() { return __WEBPACK_IMPORTED_MODULE_5__src_Scenegraph__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__src_Handler__ = __webpack_require__(166);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return __WEBPACK_IMPORTED_MODULE_6__src_Handler__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__src_Renderer__ = __webpack_require__(108);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return __WEBPACK_IMPORTED_MODULE_7__src_Renderer__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__src_CanvasHandler__ = __webpack_require__(290);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_8__src_CanvasHandler__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__src_CanvasRenderer__ = __webpack_require__(292);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_9__src_CanvasRenderer__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__src_SVGHandler__ = __webpack_require__(293);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"l\", function() { return __WEBPACK_IMPORTED_MODULE_10__src_SVGHandler__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__src_SVGRenderer__ = __webpack_require__(294);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"m\", function() { return __WEBPACK_IMPORTED_MODULE_11__src_SVGRenderer__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__src_SVGStringRenderer__ = __webpack_require__(297);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"n\", function() { return __WEBPACK_IMPORTED_MODULE_12__src_SVGStringRenderer__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__src_modules__ = __webpack_require__(631);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return __WEBPACK_IMPORTED_MODULE_13__src_modules__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"L\", function() { return __WEBPACK_IMPORTED_MODULE_13__src_modules__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__src_marks_index__ = __webpack_require__(40);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return __WEBPACK_IMPORTED_MODULE_14__src_marks_index__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__src_bound_boundClip__ = __webpack_require__(632);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"p\", function() { return __WEBPACK_IMPORTED_MODULE_15__src_bound_boundClip__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__src_bound_boundContext__ = __webpack_require__(73);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"q\", function() { return __WEBPACK_IMPORTED_MODULE_16__src_bound_boundContext__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__src_bound_boundStroke__ = __webpack_require__(50);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"t\", function() { return __WEBPACK_IMPORTED_MODULE_17__src_bound_boundStroke__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__src_bound_boundItem__ = __webpack_require__(269);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"r\", function() { return __WEBPACK_IMPORTED_MODULE_18__src_bound_boundItem__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__src_bound_boundMark__ = __webpack_require__(268);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"s\", function() { return __WEBPACK_IMPORTED_MODULE_19__src_bound_boundMark__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__src_path_curves__ = __webpack_require__(270);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"D\", function() { return __WEBPACK_IMPORTED_MODULE_20__src_path_curves__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__src_path_symbols__ = __webpack_require__(286);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"I\", function() { return __WEBPACK_IMPORTED_MODULE_21__src_path_symbols__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__src_path_rectangle__ = __webpack_require__(287);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"G\", function() { return __WEBPACK_IMPORTED_MODULE_22__src_path_rectangle__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__src_path_trail__ = __webpack_require__(288);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"J\", function() { return __WEBPACK_IMPORTED_MODULE_23__src_path_trail__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__src_path_parse__ = __webpack_require__(102);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"F\", function() { return __WEBPACK_IMPORTED_MODULE_24__src_path_parse__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__src_path_render__ = __webpack_require__(160);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"H\", function() { return __WEBPACK_IMPORTED_MODULE_25__src_path_render__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__src_util_point__ = __webpack_require__(167);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"K\", function() { return __WEBPACK_IMPORTED_MODULE_26__src_util_point__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27__src_util_dom__ = __webpack_require__(51);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"x\", function() { return __WEBPACK_IMPORTED_MODULE_27__src_util_dom__[\"d\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"y\", function() { return __WEBPACK_IMPORTED_MODULE_27__src_util_dom__[\"e\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"v\", function() { return __WEBPACK_IMPORTED_MODULE_27__src_util_dom__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"w\", function() { return __WEBPACK_IMPORTED_MODULE_27__src_util_dom__[\"c\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__src_util_tags__ = __webpack_require__(168);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"C\", function() { return __WEBPACK_IMPORTED_MODULE_28__src_util_tags__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"u\", function() { return __WEBPACK_IMPORTED_MODULE_28__src_util_tags__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_29__src_util_text__ = __webpack_require__(107);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"z\", function() { return __WEBPACK_IMPORTED_MODULE_29__src_util_text__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"A\", function() { return __WEBPACK_IMPORTED_MODULE_29__src_util_text__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"B\", function() { return __WEBPACK_IMPORTED_MODULE_29__src_util_text__[\"c\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"T\", function() { return __WEBPACK_IMPORTED_MODULE_29__src_util_text__[\"e\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_30__src_util_svg_clip__ = __webpack_require__(106);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"M\", function() { return __WEBPACK_IMPORTED_MODULE_30__src_util_svg_clip__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_31__src_util_equal__ = __webpack_require__(633);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"N\", function() { return __WEBPACK_IMPORTED_MODULE_31__src_util_equal__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"E\", function() { return __WEBPACK_IMPORTED_MODULE_31__src_util_equal__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_32__src_util_serialize__ = __webpack_require__(267);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"Q\", function() { return __WEBPACK_IMPORTED_MODULE_32__src_util_serialize__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"O\", function() { return __WEBPACK_IMPORTED_MODULE_32__src_util_serialize__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_33__src_util_visit__ = __webpack_require__(37);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"S\", function() { return __WEBPACK_IMPORTED_MODULE_33__src_util_visit__[\"c\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"R\", function() { return __WEBPACK_IMPORTED_MODULE_33__src_util_visit__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"P\", function() { return __WEBPACK_IMPORTED_MODULE_33__src_util_visit__[\"a\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"u\", function() { return Top; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return Left; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"p\", function() { return Right; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Bottom; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return Center; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"w\", function() { return Vertical; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"s\", function() { return Start; });\n/* unused harmony export Middle */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return End; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return Index; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return Label; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"m\", function() { return Offset; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"n\", function() { return Perc; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"o\", function() { return Perc2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"q\", function() { return Size; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"v\", function() { return Value; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return GuideLabelStyle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return GuideTitleStyle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return GroupTitleStyle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"t\", function() { return Symbols; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return Gradient; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return Discrete; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"l\", function() { return LegendScales; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"r\", function() { return Skip; });\nvar Top = 'top';\nvar Left = 'left';\nvar Right = 'right';\nvar Bottom = 'bottom';\nvar Center = 'center';\n\nvar Vertical = 'vertical';\n\nvar Start = 'start';\nvar Middle = 'middle';\nvar End = 'end';\n\nvar Index = 'index';\nvar Label = 'label';\nvar Offset = 'offset';\nvar Perc = 'perc';\nvar Perc2 = 'perc2';\nvar Size = 'size';\nvar Value = 'value';\n\nvar GuideLabelStyle = 'guide-label';\nvar GuideTitleStyle = 'guide-title';\nvar GroupTitleStyle = 'group-title';\n\nvar Symbols = 'symbol';\nvar Gradient = 'gradient';\nvar Discrete = 'discrete';\n\n// Encoding channels supported by legends\n// In priority order of 'canonical' scale\nvar LegendScales = [\n 'size',\n 'shape',\n 'fill',\n 'stroke',\n 'strokeDash',\n 'opacity'\n];\n\nvar Skip = {\n name: 1,\n interactive: 1\n};\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return GroupMark; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return RectMark; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return RuleMark; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return SymbolMark; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return TextMark; });\nvar GroupMark = 'group';\nvar RectMark = 'rect';\nvar RuleMark = 'rule';\nvar SymbolMark = 'symbol';\nvar TextMark = 'text';\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export applyConfig */\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = applyMarkConfig;\n/* harmony export (immutable) */ __webpack_exports__[\"g\"] = getStyles;\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = getMarkConfig;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = formatSignalRef;\n/* harmony export (immutable) */ __webpack_exports__[\"f\"] = getSpecifiedOrDefaultValue;\n/* harmony export (immutable) */ __webpack_exports__[\"l\"] = numberFormat;\n/* unused harmony export numberFormatExpr */\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = binFormatExpression;\n/* harmony export (immutable) */ __webpack_exports__[\"n\"] = timeFormatExpression;\n/* harmony export (immutable) */ __webpack_exports__[\"m\"] = sortParams;\n/* harmony export (immutable) */ __webpack_exports__[\"k\"] = mergeTitleFieldDefs;\n/* harmony export (immutable) */ __webpack_exports__[\"i\"] = mergeTitle;\n/* harmony export (immutable) */ __webpack_exports__[\"j\"] = mergeTitleComponent;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = binRequiresRange;\n/* harmony export (immutable) */ __webpack_exports__[\"h\"] = guideEncodeEntry;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__scale__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__timeunit__ = __webpack_require__(86);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__type__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__mark_mixins__ = __webpack_require__(32);\n\n\n\n\n\n\n\n\n\nfunction applyConfig(e, config, // TODO(#1842): consolidate MarkConfig | TextConfig?\npropsList) {\n for (var _i = 0, propsList_1 = propsList; _i < propsList_1.length; _i++) {\n var property = propsList_1[_i];\n var value = config[property];\n if (value !== undefined) {\n e[property] = { value: value };\n }\n }\n return e;\n}\nfunction applyMarkConfig(e, model, propsList) {\n for (var _i = 0, propsList_2 = propsList; _i < propsList_2.length; _i++) {\n var property = propsList_2[_i];\n var value = getMarkConfig(property, model.markDef, model.config);\n if (value !== undefined) {\n e[property] = { value: value };\n }\n }\n return e;\n}\nfunction getStyles(mark) {\n return [].concat(mark.type, mark.style || []);\n}\n/**\n * Return property value from style or mark specific config property if exists.\n * Otherwise, return general mark specific config.\n */\nfunction getMarkConfig(prop, mark, config) {\n // By default, read from mark config first!\n var value = config.mark[prop];\n // Then read mark specific config, which has higher precedence\n var markSpecificConfig = config[mark.type];\n if (markSpecificConfig[prop] !== undefined) {\n value = markSpecificConfig[prop];\n }\n // Then read style config, which has even higher precedence.\n var styles = getStyles(mark);\n for (var _i = 0, styles_1 = styles; _i < styles_1.length; _i++) {\n var style = styles_1[_i];\n var styleConfig = config.style[style];\n // MarkConfig extends VgMarkConfig so a prop may not be a valid property for style\n // However here we also check if it is defined, so it is okay to cast here\n var p = prop;\n if (styleConfig && styleConfig[p] !== undefined) {\n value = styleConfig[p];\n }\n }\n return value;\n}\nfunction formatSignalRef(fieldDef, specifiedFormat, expr, config) {\n var format = numberFormat(fieldDef, specifiedFormat, config);\n if (fieldDef.bin) {\n var startField = Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"vgField\"])(fieldDef, { expr: expr });\n var endField = Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"vgField\"])(fieldDef, { expr: expr, binSuffix: 'end' });\n return {\n signal: binFormatExpression(startField, endField, format, config)\n };\n }\n else if (fieldDef.type === 'quantitative') {\n return {\n signal: \"\" + formatExpr(Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"vgField\"])(fieldDef, { expr: expr, binSuffix: 'range' }), format)\n };\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"isTimeFieldDef\"])(fieldDef)) {\n var isUTCScale = Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"isScaleFieldDef\"])(fieldDef) && fieldDef['scale'] && fieldDef['scale'].type === __WEBPACK_IMPORTED_MODULE_4__scale__[\"ScaleType\"].UTC;\n return {\n signal: timeFormatExpression(Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"vgField\"])(fieldDef, { expr: expr }), fieldDef.timeUnit, specifiedFormat, config.text.shortTimeLabels, config.timeFormat, isUTCScale, true)\n };\n }\n else {\n return {\n signal: \"''+\" + Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"vgField\"])(fieldDef, { expr: expr })\n };\n }\n}\nfunction getSpecifiedOrDefaultValue(specifiedValue, defaultValue) {\n if (specifiedValue !== undefined) {\n return specifiedValue;\n }\n return defaultValue;\n}\n/**\n * Returns number format for a fieldDef\n *\n * @param format explicitly specified format\n */\nfunction numberFormat(fieldDef, specifiedFormat, config) {\n if (fieldDef.type === __WEBPACK_IMPORTED_MODULE_6__type__[\"QUANTITATIVE\"]) {\n // add number format for quantitative type only\n // Specified format in axis/legend has higher precedence than fieldDef.format\n if (specifiedFormat) {\n return specifiedFormat;\n }\n // TODO: need to make this work correctly for numeric ordinal / nominal type\n return config.numberFormat;\n }\n return undefined;\n}\nfunction formatExpr(field, format) {\n return \"format(\" + field + \", \\\"\" + (format || '') + \"\\\")\";\n}\nfunction numberFormatExpr(field, specifiedFormat, config) {\n return formatExpr(field, specifiedFormat || config.numberFormat);\n}\nfunction binFormatExpression(startField, endField, format, config) {\n return startField + \" === null || isNaN(\" + startField + \") ? \\\"null\\\" : \" + numberFormatExpr(startField, format, config) + \" + \\\" - \\\" + \" + numberFormatExpr(endField, format, config);\n}\n/**\n * Returns the time expression used for axis/legend labels or text mark for a temporal field\n */\nfunction timeFormatExpression(field, timeUnit, format, shortTimeLabels, timeFormatConfig, isUTCScale, alwaysReturn) {\n if (alwaysReturn === void 0) { alwaysReturn = false; }\n if (!timeUnit || format) {\n // If there is not time unit, or if user explicitly specify format for axis/legend/text.\n format = format || timeFormatConfig; // only use config.timeFormat if there is no timeUnit.\n if (format || alwaysReturn) {\n return (isUTCScale ? 'utc' : 'time') + \"Format(\" + field + \", '\" + format + \"')\";\n }\n else {\n return undefined;\n }\n }\n else {\n return Object(__WEBPACK_IMPORTED_MODULE_5__timeunit__[\"formatExpression\"])(timeUnit, field, shortTimeLabels, isUTCScale);\n }\n}\n/**\n * Return Vega sort parameters (tuple of field and order).\n */\nfunction sortParams(orderDef, fieldRefOption) {\n return (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(orderDef) ? orderDef : [orderDef]).reduce(function (s, orderChannelDef) {\n s.field.push(Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"vgField\"])(orderChannelDef, fieldRefOption));\n s.order.push(orderChannelDef.sort || 'ascending');\n return s;\n }, { field: [], order: [] });\n}\nfunction mergeTitleFieldDefs(f1, f2) {\n var merged = f1.slice();\n f2.forEach(function (fdToMerge) {\n for (var _i = 0, merged_1 = merged; _i < merged_1.length; _i++) {\n var fieldDef1 = merged_1[_i];\n // If already exists, no need to append to merged array\n if (Object(__WEBPACK_IMPORTED_MODULE_7__util__[\"stringify\"])(fieldDef1) === Object(__WEBPACK_IMPORTED_MODULE_7__util__[\"stringify\"])(fdToMerge)) {\n return;\n }\n }\n merged.push(fdToMerge);\n });\n return merged;\n}\nfunction mergeTitle(title1, title2) {\n return title1 === title2 ?\n title1 : // if title is the same just use one of them\n title1 + ', ' + title2; // join title with comma if different\n}\nfunction mergeTitleComponent(v1, v2) {\n if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(v1.value) && Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(v2.value)) {\n return {\n explicit: v1.explicit,\n value: mergeTitleFieldDefs(v1.value, v2.value)\n };\n }\n else if (!Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(v1.value) && !Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(v2.value)) {\n return {\n explicit: v1.explicit,\n value: mergeTitle(v1.value, v2.value)\n };\n }\n /* istanbul ignore next: Condition should not happen -- only for warning in development. */\n throw new Error('It should never reach here');\n}\n/**\n * Checks whether a fieldDef for a particular channel requires a computed bin range.\n */\nfunction binRequiresRange(fieldDef, channel) {\n if (!fieldDef.bin) {\n console.warn('Only use this method with binned field defs');\n return false;\n }\n // We need the range only when the user explicitly forces a binned field to be use discrete scale. In this case, bin range is used in axis and legend labels.\n // We could check whether the axis or legend exists (not disabled) but that seems overkill.\n return Object(__WEBPACK_IMPORTED_MODULE_2__channel__[\"isScaleChannel\"])(channel) && Object(__WEBPACK_IMPORTED_MODULE_7__util__[\"contains\"])(['ordinal', 'nominal'], fieldDef.type);\n}\nfunction guideEncodeEntry(encoding, model) {\n return Object(__WEBPACK_IMPORTED_MODULE_7__util__[\"keys\"])(encoding).reduce(function (encode, channel) {\n var valueDef = encoding[channel];\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, encode, Object(__WEBPACK_IMPORTED_MODULE_8__mark_mixins__[\"l\" /* wrapCondition */])(model, valueDef, channel, function (x) { return ({ value: x.value }); }));\n }, {});\n}\n//# sourceMappingURL=common.js.map\n\n/***/ }),\n/* 24 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Type\", function() { return Type; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TYPE_INDEX\", function() { return TYPE_INDEX; });\n/* harmony export (immutable) */ __webpack_exports__[\"isType\"] = isType;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"QUANTITATIVE\", function() { return QUANTITATIVE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ORDINAL\", function() { return ORDINAL; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TEMPORAL\", function() { return TEMPORAL; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NOMINAL\", function() { return NOMINAL; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GEOJSON\", function() { return GEOJSON; });\n/* harmony export (immutable) */ __webpack_exports__[\"getFullName\"] = getFullName;\n/** Constants and utilities for data type */\n/** Data type based on level of measurement */\nvar Type;\n(function (Type) {\n Type.QUANTITATIVE = 'quantitative';\n Type.ORDINAL = 'ordinal';\n Type.TEMPORAL = 'temporal';\n Type.NOMINAL = 'nominal';\n Type.LATITUDE = 'latitude';\n Type.LONGITUDE = 'longitude';\n Type.GEOJSON = 'geojson';\n})(Type || (Type = {}));\nvar TYPE_INDEX = {\n quantitative: 1,\n ordinal: 1,\n temporal: 1,\n nominal: 1,\n latitude: 1,\n longitude: 1,\n geojson: 1\n};\nfunction isType(t) {\n return !!TYPE_INDEX[t];\n}\nvar QUANTITATIVE = Type.QUANTITATIVE;\nvar ORDINAL = Type.ORDINAL;\nvar TEMPORAL = Type.TEMPORAL;\nvar NOMINAL = Type.NOMINAL;\nvar GEOJSON = Type.GEOJSON;\n/**\n * Get full, lowercase type name for a given type.\n * @param type\n * @return Full type name.\n */\nfunction getFullName(type) {\n if (type) {\n type = type.toLowerCase();\n switch (type) {\n case 'q':\n case QUANTITATIVE:\n return 'quantitative';\n case 't':\n case TEMPORAL:\n return 'temporal';\n case 'o':\n case ORDINAL:\n return 'ordinal';\n case 'n':\n case NOMINAL:\n return 'nominal';\n case Type.LATITUDE:\n return 'latitude';\n case Type.LONGITUDE:\n return 'longitude';\n case GEOJSON:\n return 'geojson';\n }\n }\n // If we get invalid input, return undefined type.\n return undefined;\n}\n//# sourceMappingURL=type.js.map\n\n/***/ }),\n/* 25 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Aggregate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return AxisTicks; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return Bound; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return Collect; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return Compare; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return DataJoin; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return Encode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return Expression; });\n/* unused harmony export Extent */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return Facet; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return Field; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return Key; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"l\", function() { return LegendEntries; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"m\", function() { return Load; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"n\", function() { return Mark; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"o\", function() { return MultiExtent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"p\", function() { return MultiValues; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"q\", function() { return Overlap; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"r\", function() { return Params; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"s\", function() { return PreFacet; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"t\", function() { return Projection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"u\", function() { return Proxy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"v\", function() { return Relay; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"w\", function() { return Render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"x\", function() { return Scale; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"y\", function() { return Sieve; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"z\", function() { return SortItems; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"B\", function() { return ViewLayout; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"A\", function() { return Values; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util__ = __webpack_require__(12);\n\n\nfunction transform(name) {\n return function(params, value, parent) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__util__[\"h\" /* entry */])(name, value, params || undefined, parent);\n };\n}\n\nvar Aggregate = transform('aggregate');\nvar AxisTicks = transform('axisticks');\nvar Bound = transform('bound');\nvar Collect = transform('collect');\nvar Compare = transform('compare');\nvar DataJoin = transform('datajoin');\nvar Encode = transform('encode');\nvar Expression = transform('expression');\nvar Extent = transform('extent');\nvar Facet = transform('facet');\nvar Field = transform('field');\nvar Key = transform('key');\nvar LegendEntries = transform('legendentries');\nvar Load = transform('load');\nvar Mark = transform('mark');\nvar MultiExtent = transform('multiextent');\nvar MultiValues = transform('multivalues');\nvar Overlap = transform('overlap');\nvar Params = transform('params');\nvar PreFacet = transform('prefacet');\nvar Projection = transform('projection');\nvar Proxy = transform('proxy');\nvar Relay = transform('relay');\nvar Render = transform('render');\nvar Scale = transform('scale');\nvar Sieve = transform('sieve');\nvar SortItems = transform('sortitems');\nvar ViewLayout = transform('viewlayout');\nvar Values = transform('values');\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"g\"] = lookup;\n/* harmony export (immutable) */ __webpack_exports__[\"f\"] = isVertical;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = gradientLength;\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = gradientThickness;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = entryColumns;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = getEncoding;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = getStyle;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constants__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(12);\n\n\n\nfunction lookup(name, spec, config) {\n return Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"r\" /* value */])(spec[name], config[name]);\n}\n\nfunction isVertical(spec, configVal) {\n return Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"r\" /* value */])(spec.direction, configVal) === __WEBPACK_IMPORTED_MODULE_0__constants__[\"w\" /* Vertical */];\n}\n\nfunction gradientLength(spec, config) {\n return Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"r\" /* value */])(\n spec.gradientLength,\n config.gradientLength || config.gradientWidth\n );\n}\n\nfunction gradientThickness(spec, config) {\n return Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"r\" /* value */])(\n spec.gradientThickness,\n config.gradientThickness || config.gradientHeight\n );\n}\n\nfunction entryColumns(spec, config) {\n return Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"r\" /* value */])(\n spec.columns,\n Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"r\" /* value */])(config.columns, +isVertical(spec, config.symbolDirection))\n );\n}\n\nfunction getEncoding(name, encode) {\n var v = encode && (\n (encode.update && encode.update[name]) ||\n (encode.enter && encode.enter[name])\n );\n return v && v.signal ? v : v ? v.value : null;\n}\n\nfunction getStyle(name, scope, style) {\n var s = scope.config.style[style];\n return s && s[name];\n}\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Split; });\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = makeExplicit;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = makeImplicit;\n/* harmony export (immutable) */ __webpack_exports__[\"f\"] = tieBreakByComparing;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = defaultTieBreaker;\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = mergeValuesWithExplicit;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(3);\n\n\n\n/**\n * Generic class for storing properties that are explicitly specified\n * and implicitly determined by the compiler.\n * This is important for scale/axis/legend merging as\n * we want to prioritize properties that users explicitly specified.\n */\nvar Split = /** @class */ (function () {\n function Split(explicit, implicit) {\n if (explicit === void 0) { explicit = {}; }\n if (implicit === void 0) { implicit = {}; }\n this.explicit = explicit;\n this.implicit = implicit;\n }\n Split.prototype.clone = function () {\n return new Split(Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"duplicate\"])(this.explicit), Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"duplicate\"])(this.implicit));\n };\n Split.prototype.combine = function () {\n // FIXME remove \"as any\".\n // Add \"as any\" to avoid an error \"Spread types may only be created from object types\".\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, this.explicit, this.implicit);\n };\n Split.prototype.get = function (key) {\n // Explicit has higher precedence\n return this.explicit[key] !== undefined ? this.explicit[key] : this.implicit[key];\n };\n Split.prototype.getWithExplicit = function (key) {\n // Explicit has higher precedence\n if (this.explicit[key] !== undefined) {\n return { explicit: true, value: this.explicit[key] };\n }\n else if (this.implicit[key] !== undefined) {\n return { explicit: false, value: this.implicit[key] };\n }\n return { explicit: false, value: undefined };\n };\n Split.prototype.setWithExplicit = function (key, value) {\n if (value.value !== undefined) {\n this.set(key, value.value, value.explicit);\n }\n };\n Split.prototype.set = function (key, value, explicit) {\n delete this[explicit ? 'implicit' : 'explicit'][key];\n this[explicit ? 'explicit' : 'implicit'][key] = value;\n return this;\n };\n Split.prototype.copyKeyFromSplit = function (key, s) {\n // Explicit has higher precedence\n if (s.explicit[key] !== undefined) {\n this.set(key, s.explicit[key], true);\n }\n else if (s.implicit[key] !== undefined) {\n this.set(key, s.implicit[key], false);\n }\n };\n Split.prototype.copyKeyFromObject = function (key, s) {\n // Explicit has higher precedence\n if (s[key] !== undefined) {\n this.set(key, s[key], true);\n }\n };\n /**\n * Merge split object into this split object. Properties from the other split\n * overwrite properties from this split.\n */\n Split.prototype.copyAll = function (other) {\n for (var _i = 0, _a = Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"keys\"])(other.combine()); _i < _a.length; _i++) {\n var key = _a[_i];\n var val = other.getWithExplicit(key);\n this.setWithExplicit(key, val);\n }\n };\n return Split;\n}());\n\nfunction makeExplicit(value) {\n return {\n explicit: true,\n value: value\n };\n}\nfunction makeImplicit(value) {\n return {\n explicit: false,\n value: value\n };\n}\nfunction tieBreakByComparing(compare) {\n return function (v1, v2, property, propertyOf) {\n var diff = compare(v1.value, v2.value);\n if (diff > 0) {\n return v1;\n }\n else if (diff < 0) {\n return v2;\n }\n return defaultTieBreaker(v1, v2, property, propertyOf);\n };\n}\nfunction defaultTieBreaker(v1, v2, property, propertyOf) {\n if (v1.explicit && v2.explicit) {\n __WEBPACK_IMPORTED_MODULE_1__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_1__log__[\"b\" /* message */].mergeConflictingProperty(property, propertyOf, v1.value, v2.value));\n }\n // If equal score, prefer v1.\n return v1;\n}\nfunction mergeValuesWithExplicit(v1, v2, property, propertyOf, tieBreaker) {\n if (tieBreaker === void 0) { tieBreaker = defaultTieBreaker; }\n if (v1 === undefined || v1.value === undefined) {\n // For first run\n return v2;\n }\n if (v1.explicit && !v2.explicit) {\n return v1;\n }\n else if (v2.explicit && !v1.explicit) {\n return v2;\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"stringify\"])(v1.value) === Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"stringify\"])(v2.value)) {\n return v1;\n }\n else {\n return tieBreaker(v1, v2, property, propertyOf);\n }\n}\n//# sourceMappingURL=split.js.map\n\n/***/ }),\n/* 28 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (immutable) */ __webpack_exports__[\"channelHasField\"] = channelHasField;\n/* harmony export (immutable) */ __webpack_exports__[\"isAggregate\"] = isAggregate;\n/* harmony export (immutable) */ __webpack_exports__[\"normalizeEncoding\"] = normalizeEncoding;\n/* harmony export (immutable) */ __webpack_exports__[\"isRanged\"] = isRanged;\n/* harmony export (immutable) */ __webpack_exports__[\"fieldDefs\"] = fieldDefs;\n/* harmony export (immutable) */ __webpack_exports__[\"forEach\"] = forEach;\n/* harmony export (immutable) */ __webpack_exports__[\"reduce\"] = reduce;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__type__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__util__ = __webpack_require__(3);\n\n\n\n\n\n\n\nfunction channelHasField(encoding, channel) {\n var channelDef = encoding && encoding[channel];\n if (channelDef) {\n if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(channelDef)) {\n return Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"some\"])(channelDef, function (fieldDef) { return !!fieldDef.field; });\n }\n else {\n return Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"isFieldDef\"])(channelDef) || Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"hasConditionalFieldDef\"])(channelDef);\n }\n }\n return false;\n}\nfunction isAggregate(encoding) {\n return Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"some\"])(__WEBPACK_IMPORTED_MODULE_2__channel__[\"CHANNELS\"], function (channel) {\n if (channelHasField(encoding, channel)) {\n var channelDef = encoding[channel];\n if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(channelDef)) {\n return Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"some\"])(channelDef, function (fieldDef) { return !!fieldDef.aggregate; });\n }\n else {\n var fieldDef = Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"getFieldDef\"])(channelDef);\n return fieldDef && !!fieldDef.aggregate;\n }\n }\n return false;\n });\n}\nfunction normalizeEncoding(encoding, mark) {\n return Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"keys\"])(encoding).reduce(function (normalizedEncoding, channel) {\n var _a;\n if (!Object(__WEBPACK_IMPORTED_MODULE_2__channel__[\"isChannel\"])(channel)) {\n // Drop invalid channel\n __WEBPACK_IMPORTED_MODULE_4__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_4__log__[\"b\" /* message */].invalidEncodingChannel(channel));\n return normalizedEncoding;\n }\n if (!Object(__WEBPACK_IMPORTED_MODULE_2__channel__[\"supportMark\"])(channel, mark)) {\n // Drop unsupported channel\n __WEBPACK_IMPORTED_MODULE_4__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_4__log__[\"b\" /* message */].incompatibleChannel(channel, mark));\n return normalizedEncoding;\n }\n // Drop line's size if the field is aggregated.\n if (channel === 'size' && mark === 'line') {\n var fieldDef = Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"getFieldDef\"])(encoding[channel]);\n if (fieldDef && fieldDef.aggregate) {\n __WEBPACK_IMPORTED_MODULE_4__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_4__log__[\"b\" /* message */].LINE_WITH_VARYING_SIZE);\n return normalizedEncoding;\n }\n }\n // Drop color if either fill or stroke is specified\n if (channel === 'color' && ('fill' in encoding || 'stroke' in encoding)) {\n __WEBPACK_IMPORTED_MODULE_4__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_4__log__[\"b\" /* message */].droppingColor('encoding', { fill: 'fill' in encoding, stroke: 'stroke' in encoding }));\n return normalizedEncoding;\n }\n var channelDef = encoding[channel];\n if (channel === 'detail' ||\n (channel === 'order' && !Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(channelDef) && !Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"isValueDef\"])(channelDef)) ||\n (channel === 'tooltip' && Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(channelDef))) {\n if (channelDef) {\n // Array of fieldDefs for detail channel (or production rule)\n normalizedEncoding[channel] = (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(channelDef) ? channelDef : [channelDef])\n .reduce(function (defs, fieldDef) {\n if (!Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"isFieldDef\"])(fieldDef)) {\n __WEBPACK_IMPORTED_MODULE_4__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_4__log__[\"b\" /* message */].emptyFieldDef(fieldDef, channel));\n }\n else {\n defs.push(Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"normalizeFieldDef\"])(fieldDef, channel));\n }\n return defs;\n }, []);\n }\n }\n else {\n var fieldDef = Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"getFieldDef\"])(encoding[channel]);\n if (fieldDef && Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"contains\"])([__WEBPACK_IMPORTED_MODULE_5__type__[\"Type\"].LATITUDE, __WEBPACK_IMPORTED_MODULE_5__type__[\"Type\"].LONGITUDE], fieldDef.type)) {\n var _b = channel, _ = normalizedEncoding[_b], newEncoding = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"e\" /* __rest */](normalizedEncoding, [typeof _b === \"symbol\" ? _b : _b + \"\"]);\n var newChannel = channel === 'x' ? 'longitude' :\n channel === 'y' ? 'latitude' :\n channel === 'x2' ? 'longitude2' :\n channel === 'y2' ? 'latitude2' : undefined;\n __WEBPACK_IMPORTED_MODULE_4__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_4__log__[\"b\" /* message */].latLongDeprecated(channel, fieldDef.type, newChannel));\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, newEncoding, (_a = {}, _a[newChannel] = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"normalize\"])(fieldDef, channel), { type: 'quantitative' }), _a));\n }\n if (!Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"isFieldDef\"])(channelDef) && !Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"isValueDef\"])(channelDef) && !Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"isConditionalDef\"])(channelDef)) {\n __WEBPACK_IMPORTED_MODULE_4__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_4__log__[\"b\" /* message */].emptyFieldDef(channelDef, channel));\n return normalizedEncoding;\n }\n normalizedEncoding[channel] = Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"normalize\"])(channelDef, channel);\n }\n return normalizedEncoding;\n }, {});\n}\nfunction isRanged(encoding) {\n return encoding && ((!!encoding.x && !!encoding.x2) || (!!encoding.y && !!encoding.y2));\n}\nfunction fieldDefs(encoding) {\n var arr = [];\n __WEBPACK_IMPORTED_MODULE_2__channel__[\"CHANNELS\"].forEach(function (channel) {\n if (channelHasField(encoding, channel)) {\n var channelDef = encoding[channel];\n (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(channelDef) ? channelDef : [channelDef]).forEach(function (def) {\n if (Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"isFieldDef\"])(def)) {\n arr.push(def);\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"hasConditionalFieldDef\"])(def)) {\n arr.push(def.condition);\n }\n });\n }\n });\n return arr;\n}\nfunction forEach(mapping, f, thisArg) {\n if (!mapping) {\n return;\n }\n var _loop_1 = function (channel) {\n if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(mapping[channel])) {\n mapping[channel].forEach(function (channelDef) {\n f.call(thisArg, channelDef, channel);\n });\n }\n else {\n f.call(thisArg, mapping[channel], channel);\n }\n };\n for (var _i = 0, _a = Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"keys\"])(mapping); _i < _a.length; _i++) {\n var channel = _a[_i];\n _loop_1(channel);\n }\n}\nfunction reduce(mapping, f, init, thisArg) {\n if (!mapping) {\n return init;\n }\n return Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"keys\"])(mapping).reduce(function (r, channel) {\n var map = mapping[channel];\n if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(map)) {\n return map.reduce(function (r1, channelDef) {\n return f.call(thisArg, r1, channelDef, channel);\n }, r);\n }\n else {\n return f.call(thisArg, r, map, channel);\n }\n }, init);\n}\n//# sourceMappingURL=encoding.js.map\n\n/***/ }),\n/* 29 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"f\"] = isVgSignalRef;\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = isVgRangeStep;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = isDataRefUnionedDomain;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = isFieldRefUnionDomain;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = isDataRefDomain;\n/* unused harmony export isSignalRefDomain */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return VG_MARK_CONFIGS; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(3);\n\n\nfunction isVgSignalRef(o) {\n return !!o['signal'];\n}\nfunction isVgRangeStep(range) {\n return !!range['step'];\n}\nfunction isDataRefUnionedDomain(domain) {\n if (!Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"v\" /* isArray */])(domain)) {\n return 'fields' in domain && !('data' in domain);\n }\n return false;\n}\nfunction isFieldRefUnionDomain(domain) {\n if (!Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"v\" /* isArray */])(domain)) {\n return 'fields' in domain && 'data' in domain;\n }\n return false;\n}\nfunction isDataRefDomain(domain) {\n if (!Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"v\" /* isArray */])(domain)) {\n return 'field' in domain && 'data' in domain;\n }\n return false;\n}\nfunction isSignalRefDomain(domain) {\n if (!Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"v\" /* isArray */])(domain)) {\n return 'signal' in domain;\n }\n return false;\n}\nvar VG_MARK_CONFIG_INDEX = {\n opacity: 1,\n fill: 1,\n fillOpacity: 1,\n stroke: 1,\n strokeCap: 1,\n strokeWidth: 1,\n strokeOpacity: 1,\n strokeDash: 1,\n strokeDashOffset: 1,\n strokeJoin: 1,\n strokeMiterLimit: 1,\n size: 1,\n shape: 1,\n interpolate: 1,\n tension: 1,\n orient: 1,\n align: 1,\n baseline: 1,\n text: 1,\n dir: 1,\n dx: 1,\n dy: 1,\n ellipsis: 1,\n limit: 1,\n radius: 1,\n theta: 1,\n angle: 1,\n font: 1,\n fontSize: 1,\n fontWeight: 1,\n fontStyle: 1,\n cursor: 1,\n href: 1,\n tooltip: 1,\n cornerRadius: 1,\n};\nvar VG_MARK_CONFIGS = Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"flagKeys\"])(VG_MARK_CONFIG_INDEX);\n//# sourceMappingURL=vega.schema.js.map\n\n/***/ }),\n/* 30 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return root; });\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Selection;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__select__ = __webpack_require__(422);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__selectAll__ = __webpack_require__(423);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__filter__ = __webpack_require__(424);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__data__ = __webpack_require__(425);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__enter__ = __webpack_require__(217);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__exit__ = __webpack_require__(427);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__merge__ = __webpack_require__(428);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__order__ = __webpack_require__(429);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__sort__ = __webpack_require__(430);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__call__ = __webpack_require__(431);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__nodes__ = __webpack_require__(432);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__node__ = __webpack_require__(433);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__size__ = __webpack_require__(434);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__empty__ = __webpack_require__(435);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__each__ = __webpack_require__(436);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__attr__ = __webpack_require__(437);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__style__ = __webpack_require__(219);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__property__ = __webpack_require__(438);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__classed__ = __webpack_require__(439);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__text__ = __webpack_require__(440);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__html__ = __webpack_require__(441);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__raise__ = __webpack_require__(442);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__lower__ = __webpack_require__(443);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__append__ = __webpack_require__(444);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__insert__ = __webpack_require__(445);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__remove__ = __webpack_require__(446);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__clone__ = __webpack_require__(447);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27__datum__ = __webpack_require__(448);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__on__ = __webpack_require__(143);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_29__dispatch__ = __webpack_require__(449);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar root = [null];\n\nfunction 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: __WEBPACK_IMPORTED_MODULE_0__select__[\"a\" /* default */],\n selectAll: __WEBPACK_IMPORTED_MODULE_1__selectAll__[\"a\" /* default */],\n filter: __WEBPACK_IMPORTED_MODULE_2__filter__[\"a\" /* default */],\n data: __WEBPACK_IMPORTED_MODULE_3__data__[\"a\" /* default */],\n enter: __WEBPACK_IMPORTED_MODULE_4__enter__[\"b\" /* default */],\n exit: __WEBPACK_IMPORTED_MODULE_5__exit__[\"a\" /* default */],\n merge: __WEBPACK_IMPORTED_MODULE_6__merge__[\"a\" /* default */],\n order: __WEBPACK_IMPORTED_MODULE_7__order__[\"a\" /* default */],\n sort: __WEBPACK_IMPORTED_MODULE_8__sort__[\"a\" /* default */],\n call: __WEBPACK_IMPORTED_MODULE_9__call__[\"a\" /* default */],\n nodes: __WEBPACK_IMPORTED_MODULE_10__nodes__[\"a\" /* default */],\n node: __WEBPACK_IMPORTED_MODULE_11__node__[\"a\" /* default */],\n size: __WEBPACK_IMPORTED_MODULE_12__size__[\"a\" /* default */],\n empty: __WEBPACK_IMPORTED_MODULE_13__empty__[\"a\" /* default */],\n each: __WEBPACK_IMPORTED_MODULE_14__each__[\"a\" /* default */],\n attr: __WEBPACK_IMPORTED_MODULE_15__attr__[\"a\" /* default */],\n style: __WEBPACK_IMPORTED_MODULE_16__style__[\"a\" /* default */],\n property: __WEBPACK_IMPORTED_MODULE_17__property__[\"a\" /* default */],\n classed: __WEBPACK_IMPORTED_MODULE_18__classed__[\"a\" /* default */],\n text: __WEBPACK_IMPORTED_MODULE_19__text__[\"a\" /* default */],\n html: __WEBPACK_IMPORTED_MODULE_20__html__[\"a\" /* default */],\n raise: __WEBPACK_IMPORTED_MODULE_21__raise__[\"a\" /* default */],\n lower: __WEBPACK_IMPORTED_MODULE_22__lower__[\"a\" /* default */],\n append: __WEBPACK_IMPORTED_MODULE_23__append__[\"a\" /* default */],\n insert: __WEBPACK_IMPORTED_MODULE_24__insert__[\"a\" /* default */],\n remove: __WEBPACK_IMPORTED_MODULE_25__remove__[\"a\" /* default */],\n clone: __WEBPACK_IMPORTED_MODULE_26__clone__[\"a\" /* default */],\n datum: __WEBPACK_IMPORTED_MODULE_27__datum__[\"a\" /* default */],\n on: __WEBPACK_IMPORTED_MODULE_28__on__[\"a\" /* default */],\n dispatch: __WEBPACK_IMPORTED_MODULE_29__dispatch__[\"a\" /* default */]\n};\n\n/* unused harmony default export */ var _unused_webpack_default_export = (selection);\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constants__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__encode_encode_util__ = __webpack_require__(16);\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(type, role, style, key, dataRef, encode, extras) {\n return {\n type: type,\n name: extras ? extras.name : undefined,\n role: role,\n style: (extras && extras.style) || style,\n key: key,\n from: dataRef,\n interactive: !!(extras && extras.interactive),\n encode: Object(__WEBPACK_IMPORTED_MODULE_1__encode_encode_util__[\"d\" /* extendEncode */])(encode, extras, __WEBPACK_IMPORTED_MODULE_0__constants__[\"r\" /* Skip */])\n };\n});\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = color;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = baseEncodeEntry;\n/* harmony export (immutable) */ __webpack_exports__[\"k\"] = valueIfDefined;\n/* harmony export (immutable) */ __webpack_exports__[\"f\"] = defined;\n/* harmony export (immutable) */ __webpack_exports__[\"g\"] = nonPosition;\n/* harmony export (immutable) */ __webpack_exports__[\"l\"] = wrapCondition;\n/* unused harmony export tooltip */\n/* harmony export (immutable) */ __webpack_exports__[\"j\"] = text;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = bandPosition;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = centeredBandPosition;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = binnedPosition;\n/* harmony export (immutable) */ __webpack_exports__[\"h\"] = pointPosition;\n/* harmony export (immutable) */ __webpack_exports__[\"i\"] = pointPosition2;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__predicate__ = __webpack_require__(87);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__scale__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__vega_schema__ = __webpack_require__(29);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__common__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__selection_selection__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__valueref__ = __webpack_require__(55);\n\n\n\n\n\n\n\n\n\n\n\nfunction color(model, opt) {\n if (opt === void 0) { opt = { valueOnly: false }; }\n var _a, _b;\n var markDef = model.markDef, encoding = model.encoding, config = model.config;\n var filled = markDef.filled, markType = markDef.type;\n var configValue = {\n fill: Object(__WEBPACK_IMPORTED_MODULE_8__common__[\"e\" /* getMarkConfig */])('fill', markDef, config),\n stroke: Object(__WEBPACK_IMPORTED_MODULE_8__common__[\"e\" /* getMarkConfig */])('stroke', markDef, config),\n color: Object(__WEBPACK_IMPORTED_MODULE_8__common__[\"e\" /* getMarkConfig */])('color', markDef, config)\n };\n var transparentIfNeeded = Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"contains\"])(['bar', 'point', 'circle', 'square', 'geoshape'], markType) ? 'transparent' : undefined;\n var defaultValue = {\n fill: markDef.fill || configValue.fill ||\n // If there is no fill, always fill symbols, bar, geoshape\n // with transparent fills https://github.com/vega/vega-lite/issues/1316\n transparentIfNeeded,\n stroke: markDef.stroke || configValue.stroke\n };\n var colorVgChannel = filled ? 'fill' : 'stroke';\n var fillStrokeMarkDefAndConfig = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, (defaultValue.fill ? {\n fill: { value: defaultValue.fill }\n } : {}), (defaultValue.stroke ? {\n stroke: { value: defaultValue.stroke }\n } : {}));\n if (encoding.fill || encoding.stroke) {\n // ignore encoding.color, markDef.color, config.color\n if (markDef.color) {\n // warn for markDef.color (no need to warn encoding.color as it will be dropped in normalized already)\n __WEBPACK_IMPORTED_MODULE_3__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_3__log__[\"b\" /* message */].droppingColor('property', { fill: 'fill' in encoding, stroke: 'stroke' in encoding }));\n }\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, nonPosition('fill', model, { defaultValue: defaultValue.fill || transparentIfNeeded }), nonPosition('stroke', model, { defaultValue: defaultValue.stroke }));\n }\n else if (encoding.color) {\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, fillStrokeMarkDefAndConfig, nonPosition('color', model, {\n vgChannel: colorVgChannel,\n // apply default fill/stroke first, then color config, then transparent if needed.\n defaultValue: markDef[colorVgChannel] || markDef.color || configValue[colorVgChannel] || configValue.color || (filled ? transparentIfNeeded : undefined)\n }));\n }\n else if (markDef.fill || markDef.stroke) {\n // Ignore markDef.color, config.color\n if (markDef.color) {\n __WEBPACK_IMPORTED_MODULE_3__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_3__log__[\"b\" /* message */].droppingColor('property', { fill: 'fill' in markDef, stroke: 'stroke' in markDef }));\n }\n return fillStrokeMarkDefAndConfig;\n }\n else if (markDef.color) {\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, fillStrokeMarkDefAndConfig, (_a = {}, _a[colorVgChannel] = { value: markDef.color }, _a));\n }\n else if (configValue.fill || configValue.stroke) {\n // ignore config.color\n return fillStrokeMarkDefAndConfig;\n }\n else if (configValue.color) {\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, (transparentIfNeeded ? { fill: { value: 'transparent' } } : {}), (_b = {}, _b[colorVgChannel] = { value: configValue.color }, _b));\n }\n return {};\n}\nfunction baseEncodeEntry(model, ignore) {\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, markDefProperties(model.markDef, ignore), color(model), nonPosition('opacity', model), tooltip(model), text(model, 'href'));\n}\nfunction markDefProperties(mark, ignore) {\n return __WEBPACK_IMPORTED_MODULE_7__vega_schema__[\"a\" /* VG_MARK_CONFIGS */].reduce(function (m, prop) {\n if (mark[prop] !== undefined && ignore[prop] !== 'ignore') {\n m[prop] = { value: mark[prop] };\n }\n return m;\n }, {});\n}\nfunction valueIfDefined(prop, value) {\n var _a;\n if (value !== undefined) {\n return _a = {}, _a[prop] = { value: value }, _a;\n }\n return undefined;\n}\nfunction validPredicate(vgRef) {\n return vgRef + \" !== null && !isNaN(\" + vgRef + \")\";\n}\nfunction defined(model) {\n if (model.config.invalidValues === 'filter') {\n var fields = ['x', 'y'].map(function (channel) {\n var scaleComponent = model.getScaleComponent(channel);\n if (scaleComponent) {\n var scaleType = scaleComponent.get('type');\n // Discrete domain scales can handle invalid values, but continuous scales can't.\n if (Object(__WEBPACK_IMPORTED_MODULE_5__scale__[\"hasContinuousDomain\"])(scaleType)) {\n return model.vgField(channel, { expr: 'datum' });\n }\n }\n return undefined;\n })\n .filter(function (field) { return !!field; })\n .map(validPredicate);\n if (fields.length > 0) {\n return {\n defined: { signal: fields.join(' && ') }\n };\n }\n }\n return {};\n}\n/**\n * Return mixins for non-positional channels with scales. (Text doesn't have scale.)\n */\nfunction nonPosition(channel, model, opt) {\n if (opt === void 0) { opt = {}; }\n var defaultValue = opt.defaultValue, vgChannel = opt.vgChannel;\n var defaultRef = opt.defaultRef || (defaultValue !== undefined ? { value: defaultValue } : undefined);\n var channelDef = model.encoding[channel];\n return wrapCondition(model, channelDef, vgChannel || channel, function (cDef) {\n return __WEBPACK_IMPORTED_MODULE_10__valueref__[\"g\" /* midPoint */](channel, cDef, model.scaleName(channel), model.getScaleComponent(channel), null, // No need to provide stack for non-position as it does not affect mid point\n defaultRef);\n });\n}\n/**\n * Return a mixin that include a Vega production rule for a Vega-Lite conditional channel definition.\n * or a simple mixin if channel def has no condition.\n */\nfunction wrapCondition(model, channelDef, vgChannel, refFn) {\n var _a, _b;\n var condition = channelDef && channelDef.condition;\n var valueRef = refFn(channelDef);\n if (condition) {\n var conditions = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(condition) ? condition : [condition];\n var vgConditions = conditions.map(function (c) {\n var conditionValueRef = refFn(c);\n var test = Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"isConditionalSelection\"])(c) ? Object(__WEBPACK_IMPORTED_MODULE_9__selection_selection__[\"n\" /* selectionPredicate */])(model, c.selection) : Object(__WEBPACK_IMPORTED_MODULE_4__predicate__[\"a\" /* expression */])(model, c.test);\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ test: test }, conditionValueRef);\n });\n return _a = {},\n _a[vgChannel] = vgConditions.concat((valueRef !== undefined ? [valueRef] : [])),\n _a;\n }\n else {\n return valueRef !== undefined ? (_b = {}, _b[vgChannel] = valueRef, _b) : {};\n }\n}\nfunction tooltip(model) {\n var channel = 'tooltip';\n var channelDef = model.encoding[channel];\n if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(channelDef)) {\n var keyValues = channelDef.map(function (fieldDef) {\n var key = fieldDef.title !== undefined ? fieldDef.title : Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"vgField\"])(fieldDef, { binSuffix: 'range' });\n var value = __WEBPACK_IMPORTED_MODULE_10__valueref__[\"j\" /* text */](fieldDef, model.config).signal;\n return \"\\\"\" + key + \"\\\": \" + value;\n });\n return { tooltip: { signal: \"{\" + keyValues.join(', ') + \"}\" } };\n }\n else {\n // if not an array, behave just like text\n return textCommon(model, channel, channelDef);\n }\n}\nfunction text(model, channel) {\n if (channel === void 0) { channel = 'text'; }\n var channelDef = model.encoding[channel];\n return textCommon(model, channel, channelDef);\n}\nfunction textCommon(model, channel, channelDef) {\n return wrapCondition(model, channelDef, channel, function (cDef) { return __WEBPACK_IMPORTED_MODULE_10__valueref__[\"j\" /* text */](cDef, model.config); });\n}\nfunction bandPosition(fieldDef, channel, model) {\n var _a, _b, _c;\n var scaleName = model.scaleName(channel);\n var sizeChannel = channel === 'x' ? 'width' : 'height';\n if (model.encoding.size || model.markDef.size !== undefined) {\n var orient = model.markDef.orient;\n if (orient) {\n var centeredBandPositionMixins = (_a = {},\n // Use xc/yc and place the mark at the middle of the band\n // This way we never have to deal with size's condition for x/y position.\n _a[channel + 'c'] = __WEBPACK_IMPORTED_MODULE_10__valueref__[\"c\" /* fieldRef */](fieldDef, scaleName, {}, { band: 0.5 }),\n _a);\n if (Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"getFieldDef\"])(model.encoding.size)) {\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, centeredBandPositionMixins, nonPosition('size', model, { vgChannel: sizeChannel }));\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"isValueDef\"])(model.encoding.size)) {\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, centeredBandPositionMixins, nonPosition('size', model, { vgChannel: sizeChannel }));\n }\n else if (model.markDef.size !== undefined) {\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, centeredBandPositionMixins, (_b = {}, _b[sizeChannel] = { value: model.markDef.size }, _b));\n }\n }\n else {\n __WEBPACK_IMPORTED_MODULE_3__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_3__log__[\"b\" /* message */].cannotApplySizeToNonOrientedMark(model.markDef.type));\n }\n }\n return _c = {},\n _c[channel] = __WEBPACK_IMPORTED_MODULE_10__valueref__[\"c\" /* fieldRef */](fieldDef, scaleName, { binSuffix: 'range' }),\n _c[sizeChannel] = __WEBPACK_IMPORTED_MODULE_10__valueref__[\"a\" /* bandRef */](scaleName),\n _c;\n}\nfunction centeredBandPosition(channel, model, defaultPosRef, defaultSizeRef) {\n var centerChannel = channel === 'x' ? 'xc' : 'yc';\n var sizeChannel = channel === 'x' ? 'width' : 'height';\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, pointPosition(channel, model, defaultPosRef, centerChannel), nonPosition('size', model, { defaultRef: defaultSizeRef, vgChannel: sizeChannel }));\n}\nfunction binnedPosition(fieldDef, channel, scaleName, spacing, reverse) {\n if (channel === 'x') {\n return {\n x2: __WEBPACK_IMPORTED_MODULE_10__valueref__[\"b\" /* bin */](fieldDef, scaleName, 'start', reverse ? 0 : spacing),\n x: __WEBPACK_IMPORTED_MODULE_10__valueref__[\"b\" /* bin */](fieldDef, scaleName, 'end', reverse ? spacing : 0)\n };\n }\n else {\n return {\n y2: __WEBPACK_IMPORTED_MODULE_10__valueref__[\"b\" /* bin */](fieldDef, scaleName, 'start', reverse ? spacing : 0),\n y: __WEBPACK_IMPORTED_MODULE_10__valueref__[\"b\" /* bin */](fieldDef, scaleName, 'end', reverse ? 0 : spacing)\n };\n }\n}\n/**\n * Return mixins for point (non-band) position channels.\n */\nfunction pointPosition(channel, model, defaultRef, vgChannel) {\n // TODO: refactor how refer to scale as discussed in https://github.com/vega/vega-lite/pull/1613\n var _a;\n var encoding = model.encoding, mark = model.mark, stack = model.stack;\n var channelDef = encoding[channel];\n var scaleName = model.scaleName(channel);\n var scale = model.getScaleComponent(channel);\n var offset = __WEBPACK_IMPORTED_MODULE_10__valueref__[\"e\" /* getOffset */](channel, model.markDef);\n var valueRef = !channelDef && (encoding.latitude || encoding.longitude) ?\n // use geopoint output if there are lat/long and there is no point position overriding lat/long.\n { field: model.getName(channel) } : __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, __WEBPACK_IMPORTED_MODULE_10__valueref__[\"h\" /* position */](channel, encoding[channel], scaleName, scale, stack, __WEBPACK_IMPORTED_MODULE_10__valueref__[\"d\" /* getDefaultRef */](defaultRef, channel, scaleName, scale, mark)), (offset ? { offset: offset } : {}));\n return _a = {},\n _a[vgChannel || channel] = valueRef,\n _a;\n}\n/**\n * Return mixins for x2, y2.\n * If channel is not specified, return one channel based on orientation.\n */\nfunction pointPosition2(model, defaultRef, channel) {\n var _a;\n var encoding = model.encoding, mark = model.mark, stack = model.stack;\n var baseChannel = channel === 'x2' ? 'x' : 'y';\n var channelDef = encoding[baseChannel];\n var scaleName = model.scaleName(baseChannel);\n var scale = model.getScaleComponent(baseChannel);\n var offset = __WEBPACK_IMPORTED_MODULE_10__valueref__[\"e\" /* getOffset */](channel, model.markDef);\n var valueRef = !channelDef && (encoding.latitude || encoding.longitude) ?\n // use geopoint output if there are lat2/long2 and there is no point position2 overriding lat2/long2.\n { field: model.getName(channel) } : __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, __WEBPACK_IMPORTED_MODULE_10__valueref__[\"i\" /* position2 */](channel, channelDef, encoding[channel], scaleName, scale, stack, __WEBPACK_IMPORTED_MODULE_10__valueref__[\"d\" /* getDefaultRef */](defaultRef, baseChannel, scaleName, scale, mark)), (offset ? { offset: offset } : {}));\n return _a = {}, _a[channel] = valueRef, _a;\n}\n//# sourceMappingURL=mixins.js.map\n\n/***/ }),\n/* 33 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_color__ = __webpack_require__(172);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_color__[\"e\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_color__[\"g\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_color__[\"f\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_lab__ = __webpack_require__(653);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_lab__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_lab__[\"b\"]; });\n/* unused harmony reexport lch */\n/* unused harmony reexport gray */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_cubehelix__ = __webpack_require__(654);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_cubehelix__[\"a\"]; });\n\n\n\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = projection;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = projectionMutator;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__clip_antimeridian__ = __webpack_require__(322);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__clip_circle__ = __webpack_require__(328);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__clip_rectangle__ = __webpack_require__(115);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__compose__ = __webpack_require__(321);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__identity__ = __webpack_require__(178);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__math__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__rotation__ = __webpack_require__(114);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__transform__ = __webpack_require__(116);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__fit__ = __webpack_require__(181);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__resample__ = __webpack_require__(767);\n\n\n\n\n\n\n\n\n\n\n\nvar transformRadians = Object(__WEBPACK_IMPORTED_MODULE_7__transform__[\"a\" /* transformer */])({\n point: function(x, y) {\n this.stream.point(x * __WEBPACK_IMPORTED_MODULE_5__math__[\"r\" /* radians */], y * __WEBPACK_IMPORTED_MODULE_5__math__[\"r\" /* radians */]);\n }\n});\n\nfunction transformRotate(rotate) {\n return Object(__WEBPACK_IMPORTED_MODULE_7__transform__[\"a\" /* 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 = Object(__WEBPACK_IMPORTED_MODULE_5__math__[\"g\" /* cos */])(alpha),\n sinAlpha = Object(__WEBPACK_IMPORTED_MODULE_5__math__[\"t\" /* 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\nfunction projection(project) {\n return projectionMutator(function() { return project; })();\n}\n\nfunction 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 = __WEBPACK_IMPORTED_MODULE_0__clip_antimeridian__[\"a\" /* default */], // pre-clip angle\n x0 = null, y0, x1, y1, postclip = __WEBPACK_IMPORTED_MODULE_4__identity__[\"a\" /* default */], // 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] * __WEBPACK_IMPORTED_MODULE_5__math__[\"r\" /* radians */], point[1] * __WEBPACK_IMPORTED_MODULE_5__math__[\"r\" /* radians */]);\n }\n\n function invert(point) {\n point = projectRotateTransform.invert(point[0], point[1]);\n return point && [point[0] * __WEBPACK_IMPORTED_MODULE_5__math__[\"h\" /* degrees */], point[1] * __WEBPACK_IMPORTED_MODULE_5__math__[\"h\" /* 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 = +_ ? Object(__WEBPACK_IMPORTED_MODULE_1__clip_circle__[\"a\" /* default */])(theta = _ * __WEBPACK_IMPORTED_MODULE_5__math__[\"r\" /* radians */]) : (theta = null, __WEBPACK_IMPORTED_MODULE_0__clip_antimeridian__[\"a\" /* default */]), reset()) : theta * __WEBPACK_IMPORTED_MODULE_5__math__[\"h\" /* degrees */];\n };\n\n projection.clipExtent = function(_) {\n return arguments.length ? (postclip = _ == null ? (x0 = y0 = x1 = y1 = null, __WEBPACK_IMPORTED_MODULE_4__identity__[\"a\" /* default */]) : Object(__WEBPACK_IMPORTED_MODULE_2__clip_rectangle__[\"a\" /* default */])(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 * __WEBPACK_IMPORTED_MODULE_5__math__[\"r\" /* radians */], phi = _[1] % 360 * __WEBPACK_IMPORTED_MODULE_5__math__[\"r\" /* radians */], recenter()) : [lambda * __WEBPACK_IMPORTED_MODULE_5__math__[\"h\" /* degrees */], phi * __WEBPACK_IMPORTED_MODULE_5__math__[\"h\" /* degrees */]];\n };\n\n projection.rotate = function(_) {\n return arguments.length ? (deltaLambda = _[0] % 360 * __WEBPACK_IMPORTED_MODULE_5__math__[\"r\" /* radians */], deltaPhi = _[1] % 360 * __WEBPACK_IMPORTED_MODULE_5__math__[\"r\" /* radians */], deltaGamma = _.length > 2 ? _[2] % 360 * __WEBPACK_IMPORTED_MODULE_5__math__[\"r\" /* radians */] : 0, recenter()) : [deltaLambda * __WEBPACK_IMPORTED_MODULE_5__math__[\"h\" /* degrees */], deltaPhi * __WEBPACK_IMPORTED_MODULE_5__math__[\"h\" /* degrees */], deltaGamma * __WEBPACK_IMPORTED_MODULE_5__math__[\"h\" /* degrees */]];\n };\n\n projection.angle = function(_) {\n return arguments.length ? (alpha = _ % 360 * __WEBPACK_IMPORTED_MODULE_5__math__[\"r\" /* radians */], recenter()) : alpha * __WEBPACK_IMPORTED_MODULE_5__math__[\"h\" /* degrees */];\n };\n\n projection.precision = function(_) {\n return arguments.length ? (projectResample = Object(__WEBPACK_IMPORTED_MODULE_9__resample__[\"a\" /* default */])(projectTransform, delta2 = _ * _), reset()) : Object(__WEBPACK_IMPORTED_MODULE_5__math__[\"u\" /* sqrt */])(delta2);\n };\n\n projection.fitExtent = function(extent, object) {\n return Object(__WEBPACK_IMPORTED_MODULE_8__fit__[\"a\" /* fitExtent */])(projection, extent, object);\n };\n\n projection.fitSize = function(size, object) {\n return Object(__WEBPACK_IMPORTED_MODULE_8__fit__[\"c\" /* fitSize */])(projection, size, object);\n };\n\n projection.fitWidth = function(width, object) {\n return Object(__WEBPACK_IMPORTED_MODULE_8__fit__[\"d\" /* fitWidth */])(projection, width, object);\n };\n\n projection.fitHeight = function(height, object) {\n return Object(__WEBPACK_IMPORTED_MODULE_8__fit__[\"b\" /* 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 = Object(__WEBPACK_IMPORTED_MODULE_6__rotation__[\"b\" /* rotateRadians */])(deltaLambda, deltaPhi, deltaGamma);\n projectTransform = Object(__WEBPACK_IMPORTED_MODULE_3__compose__[\"a\" /* default */])(project, transform);\n projectRotateTransform = Object(__WEBPACK_IMPORTED_MODULE_3__compose__[\"a\" /* default */])(rotate, projectTransform);\n projectResample = Object(__WEBPACK_IMPORTED_MODULE_9__resample__[\"a\" /* default */])(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\n\n/***/ }),\n/* 35 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (immutable) */ __webpack_exports__[\"isSortField\"] = isSortField;\n/* harmony export (immutable) */ __webpack_exports__[\"isSortArray\"] = isSortArray;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n\nfunction isSortField(sort) {\n return !!sort && (sort['op'] === 'count' || !!sort['field']) && !!sort['op'];\n}\nfunction isSortArray(sort) {\n return !!sort && Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"v\" /* isArray */])(sort);\n}\n//# sourceMappingURL=sort.js.map\n\n/***/ }),\n/* 36 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return durationSecond; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return durationMinute; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return durationHour; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return durationDay; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return durationWeek; });\nvar durationSecond = 1e3;\nvar durationMinute = 6e4;\nvar durationHour = 36e5;\nvar durationDay = 864e5;\nvar durationWeek = 6048e5;\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = zorder;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = visit;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = pickVisit;\nfunction compare(a, b) {\n return a.zindex - b.zindex || a.index - b.index;\n}\n\nfunction zorder(scene) {\n if (!scene.zdirty) return scene.zitems;\n\n var items = scene.items,\n output = [], item, i, n;\n\n for (i=0, n=items.length; i<n; ++i) {\n item = items[i];\n item.index = i;\n if (item.zindex) output.push(item);\n }\n\n scene.zdirty = false;\n return scene.zitems = output.sort(compare);\n}\n\nfunction visit(scene, visitor) {\n var items = scene.items, i, n;\n if (!items || !items.length) return;\n\n var zitems = zorder(scene);\n\n if (zitems && zitems.length) {\n for (i=0, n=items.length; i<n; ++i) {\n if (!items[i].zindex) visitor(items[i]);\n }\n items = zitems;\n }\n\n for (i=0, n=items.length; i<n; ++i) {\n visitor(items[i]);\n }\n}\n\nfunction pickVisit(scene, visitor) {\n var items = scene.items, hit, i;\n if (!items || !items.length) return null;\n\n var zitems = zorder(scene);\n if (zitems && zitems.length) items = zitems;\n\n for (i=items.length; --i >= 0;) {\n if (hit = visitor(items[i])) return hit;\n }\n\n if (items === zitems) {\n for (items=scene.items, i=items.length; --i >= 0;) {\n if (!items[i].zindex) {\n if (hit = visitor(items[i])) return hit;\n }\n }\n }\n\n return null;\n}\n\n\n/***/ }),\n/* 38 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_value__ = __webpack_require__(171);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolate\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_value__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_array__ = __webpack_require__(304);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateArray\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_array__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_basis__ = __webpack_require__(174);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateBasis\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_basis__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_basisClosed__ = __webpack_require__(302);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateBasisClosed\", function() { return __WEBPACK_IMPORTED_MODULE_3__src_basisClosed__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__src_date__ = __webpack_require__(305);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateDate\", function() { return __WEBPACK_IMPORTED_MODULE_4__src_date__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__src_number__ = __webpack_require__(110);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateNumber\", function() { return __WEBPACK_IMPORTED_MODULE_5__src_number__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__src_object__ = __webpack_require__(306);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateObject\", function() { return __WEBPACK_IMPORTED_MODULE_6__src_object__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__src_round__ = __webpack_require__(655);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateRound\", function() { return __WEBPACK_IMPORTED_MODULE_7__src_round__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__src_string__ = __webpack_require__(307);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateString\", function() { return __WEBPACK_IMPORTED_MODULE_8__src_string__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__src_transform_index__ = __webpack_require__(656);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateTransformCss\", function() { return __WEBPACK_IMPORTED_MODULE_9__src_transform_index__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateTransformSvg\", function() { return __WEBPACK_IMPORTED_MODULE_9__src_transform_index__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__src_zoom__ = __webpack_require__(659);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateZoom\", function() { return __WEBPACK_IMPORTED_MODULE_10__src_zoom__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__src_rgb__ = __webpack_require__(301);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateRgb\", function() { return __WEBPACK_IMPORTED_MODULE_11__src_rgb__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateRgbBasis\", function() { return __WEBPACK_IMPORTED_MODULE_11__src_rgb__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateRgbBasisClosed\", function() { return __WEBPACK_IMPORTED_MODULE_11__src_rgb__[\"c\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__src_hsl__ = __webpack_require__(660);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateHsl\", function() { return __WEBPACK_IMPORTED_MODULE_12__src_hsl__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateHslLong\", function() { return __WEBPACK_IMPORTED_MODULE_12__src_hsl__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__src_lab__ = __webpack_require__(661);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateLab\", function() { return __WEBPACK_IMPORTED_MODULE_13__src_lab__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__src_hcl__ = __webpack_require__(662);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateHcl\", function() { return __WEBPACK_IMPORTED_MODULE_14__src_hcl__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateHclLong\", function() { return __WEBPACK_IMPORTED_MODULE_14__src_hcl__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__src_cubehelix__ = __webpack_require__(663);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateCubehelix\", function() { return __WEBPACK_IMPORTED_MODULE_15__src_cubehelix__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateCubehelixLong\", function() { return __WEBPACK_IMPORTED_MODULE_15__src_cubehelix__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__src_piecewise__ = __webpack_require__(664);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"piecewise\", function() { return __WEBPACK_IMPORTED_MODULE_16__src_piecewise__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__src_quantize__ = __webpack_require__(665);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"quantize\", function() { return __WEBPACK_IMPORTED_MODULE_17__src_quantize__[\"a\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Bounds;\nfunction Bounds(b) {\n this.clear();\n if (b) this.union(b);\n}\n\nvar prototype = Bounds.prototype;\n\nprototype.clone = function() {\n return new Bounds(this);\n};\n\nprototype.clear = function() {\n this.x1 = +Number.MAX_VALUE;\n this.y1 = +Number.MAX_VALUE;\n this.x2 = -Number.MAX_VALUE;\n this.y2 = -Number.MAX_VALUE;\n return this;\n};\n\nprototype.empty = function() {\n return (\n this.x1 === +Number.MAX_VALUE &&\n this.y1 === +Number.MAX_VALUE &&\n this.x2 === -Number.MAX_VALUE &&\n this.y2 === -Number.MAX_VALUE\n );\n};\n\nprototype.set = function(x1, y1, x2, y2) {\n if (x2 < x1) {\n this.x2 = x1;\n this.x1 = x2;\n } else {\n this.x1 = x1;\n this.x2 = x2;\n }\n if (y2 < y1) {\n this.y2 = y1;\n this.y1 = y2;\n } else {\n this.y1 = y1;\n this.y2 = y2;\n }\n return this;\n};\n\nprototype.add = function(x, y) {\n if (x < this.x1) this.x1 = x;\n if (y < this.y1) this.y1 = y;\n if (x > this.x2) this.x2 = x;\n if (y > this.y2) this.y2 = y;\n return this;\n};\n\nprototype.expand = function(d) {\n this.x1 -= d;\n this.y1 -= d;\n this.x2 += d;\n this.y2 += d;\n return this;\n};\n\nprototype.round = function() {\n this.x1 = Math.floor(this.x1);\n this.y1 = Math.floor(this.y1);\n this.x2 = Math.ceil(this.x2);\n this.y2 = Math.ceil(this.y2);\n return this;\n};\n\nprototype.translate = function(dx, dy) {\n this.x1 += dx;\n this.x2 += dx;\n this.y1 += dy;\n this.y2 += dy;\n return this;\n};\n\nprototype.rotate = function(angle, x, y) {\n var cos = Math.cos(angle),\n sin = Math.sin(angle),\n cx = x - x*cos + y*sin,\n cy = y - x*sin - y*cos,\n x1 = this.x1, x2 = this.x2,\n y1 = this.y1, y2 = this.y2;\n\n return this.clear()\n .add(cos*x1 - sin*y1 + cx, sin*x1 + cos*y1 + cy)\n .add(cos*x1 - sin*y2 + cx, sin*x1 + cos*y2 + cy)\n .add(cos*x2 - sin*y1 + cx, sin*x2 + cos*y1 + cy)\n .add(cos*x2 - sin*y2 + cx, sin*x2 + cos*y2 + cy);\n};\n\nprototype.union = function(b) {\n if (b.x1 < this.x1) this.x1 = b.x1;\n if (b.y1 < this.y1) this.y1 = b.y1;\n if (b.x2 > this.x2) this.x2 = b.x2;\n if (b.y2 > this.y2) this.y2 = b.y2;\n return this;\n};\n\nprototype.intersect = function(b) {\n if (b.x1 > this.x1) this.x1 = b.x1;\n if (b.y1 > this.y1) this.y1 = b.y1;\n if (b.x2 < this.x2) this.x2 = b.x2;\n if (b.y2 < this.y2) this.y2 = b.y2;\n return this;\n};\n\nprototype.encloses = function(b) {\n return b && (\n this.x1 <= b.x1 &&\n this.x2 >= b.x2 &&\n this.y1 <= b.y1 &&\n this.y2 >= b.y2\n );\n};\n\nprototype.alignsWith = function(b) {\n return b && (\n this.x1 == b.x1 ||\n this.x2 == b.x2 ||\n this.y1 == b.y1 ||\n this.y2 == b.y2\n );\n};\n\nprototype.intersects = function(b) {\n return b && !(\n this.x2 < b.x1 ||\n this.x1 > b.x2 ||\n this.y2 < b.y1 ||\n this.y1 > b.y2\n );\n};\n\nprototype.contains = function(x, y) {\n return !(\n x < this.x1 ||\n x > this.x2 ||\n y < this.y1 ||\n y > this.y2\n );\n};\n\nprototype.width = function() {\n return this.x2 - this.x1;\n};\n\nprototype.height = function() {\n return this.y2 - this.y1;\n};\n\n\n/***/ }),\n/* 40 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__arc__ = __webpack_require__(589);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__area__ = __webpack_require__(617);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__group__ = __webpack_require__(618);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__image__ = __webpack_require__(619);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__line__ = __webpack_require__(620);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__path__ = __webpack_require__(621);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__rect__ = __webpack_require__(622);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__rule__ = __webpack_require__(623);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__shape__ = __webpack_require__(624);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__symbol__ = __webpack_require__(625);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__text__ = __webpack_require__(626);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__trail__ = __webpack_require__(627);\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n arc: __WEBPACK_IMPORTED_MODULE_0__arc__[\"a\" /* default */],\n area: __WEBPACK_IMPORTED_MODULE_1__area__[\"a\" /* default */],\n group: __WEBPACK_IMPORTED_MODULE_2__group__[\"a\" /* default */],\n image: __WEBPACK_IMPORTED_MODULE_3__image__[\"a\" /* default */],\n line: __WEBPACK_IMPORTED_MODULE_4__line__[\"a\" /* default */],\n path: __WEBPACK_IMPORTED_MODULE_5__path__[\"a\" /* default */],\n rect: __WEBPACK_IMPORTED_MODULE_6__rect__[\"a\" /* default */],\n rule: __WEBPACK_IMPORTED_MODULE_7__rule__[\"a\" /* default */],\n shape: __WEBPACK_IMPORTED_MODULE_8__shape__[\"a\" /* default */],\n symbol: __WEBPACK_IMPORTED_MODULE_9__symbol__[\"a\" /* default */],\n text: __WEBPACK_IMPORTED_MODULE_10__text__[\"a\" /* default */],\n trail: __WEBPACK_IMPORTED_MODULE_11__trail__[\"a\" /* default */]\n});\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = arc;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = area;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = line;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = rectangle;\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = shape;\n/* harmony export (immutable) */ __webpack_exports__[\"f\"] = symbol;\n/* harmony export (immutable) */ __webpack_exports__[\"g\"] = trail;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__curves__ = __webpack_require__(270);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__symbols__ = __webpack_require__(286);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__rectangle__ = __webpack_require__(287);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__trail__ = __webpack_require__(288);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_d3_shape__ = __webpack_require__(271);\n\n\n\n\n\n\n\n\nfunction x(item) { return item.x || 0; }\nfunction y(item) { return item.y || 0; }\nfunction w(item) { return item.width || 0; }\nfunction ts(item) { return item.size || 1; }\nfunction h(item) { return item.height || 0; }\nfunction xw(item) { return (item.x || 0) + (item.width || 0); }\nfunction yh(item) { return (item.y || 0) + (item.height || 0); }\nfunction sa(item) { return item.startAngle || 0; }\nfunction ea(item) { return item.endAngle || 0; }\nfunction pa(item) { return item.padAngle || 0; }\nfunction ir(item) { return item.innerRadius || 0; }\nfunction or(item) { return item.outerRadius || 0; }\nfunction cr(item) { return item.cornerRadius || 0; }\nfunction def(item) { return !(item.defined === false); }\nfunction size(item) { return item.size == null ? 64 : item.size; }\nfunction type(item) { return Object(__WEBPACK_IMPORTED_MODULE_1__symbols__[\"a\" /* default */])(item.shape || 'circle'); }\n\nvar arcShape = Object(__WEBPACK_IMPORTED_MODULE_4_d3_shape__[\"a\" /* arc */])().startAngle(sa).endAngle(ea).padAngle(pa)\n .innerRadius(ir).outerRadius(or).cornerRadius(cr),\n areavShape = Object(__WEBPACK_IMPORTED_MODULE_4_d3_shape__[\"b\" /* area */])().x(x).y1(y).y0(yh).defined(def),\n areahShape = Object(__WEBPACK_IMPORTED_MODULE_4_d3_shape__[\"b\" /* area */])().y(y).x1(x).x0(xw).defined(def),\n lineShape = Object(__WEBPACK_IMPORTED_MODULE_4_d3_shape__[\"u\" /* line */])().x(x).y(y).defined(def),\n rectShape = Object(__WEBPACK_IMPORTED_MODULE_2__rectangle__[\"a\" /* default */])().x(x).y(y).width(w).height(h).cornerRadius(cr),\n symbolShape = Object(__WEBPACK_IMPORTED_MODULE_4_d3_shape__[\"v\" /* symbol */])().type(type).size(size),\n trailShape = Object(__WEBPACK_IMPORTED_MODULE_3__trail__[\"a\" /* default */])().x(x).y(y).defined(def).size(ts);\n\nfunction arc(context, item) {\n return arcShape.context(context)(item);\n}\n\nfunction area(context, items) {\n var item = items[0],\n interp = item.interpolate || 'linear';\n return (item.orient === 'horizontal' ? areahShape : areavShape)\n .curve(Object(__WEBPACK_IMPORTED_MODULE_0__curves__[\"a\" /* default */])(interp, item.orient, item.tension))\n .context(context)(items);\n}\n\nfunction line(context, items) {\n var item = items[0],\n interp = item.interpolate || 'linear';\n return lineShape.curve(Object(__WEBPACK_IMPORTED_MODULE_0__curves__[\"a\" /* default */])(interp, item.orient, item.tension))\n .context(context)(items);\n}\n\nfunction rectangle(context, item, x, y) {\n return rectShape.context(context)(item, x, y);\n}\n\nfunction shape(context, item) {\n return (item.mark.shape || item.shape)\n .context(context)(item);\n}\n\nfunction symbol(context, item) {\n return symbolShape.context(context)(item);\n}\n\nfunction trail(context, items) {\n return trailShape.context(context)(items);\n}\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = pick;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = hitPath;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = pickPath;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__visit__ = __webpack_require__(37);\n\n\nvar trueFunc = function() { return true; };\n\nfunction pick(test) {\n if (!test) test = trueFunc;\n\n return function(context, scene, x, y, gx, gy) {\n x *= context.pixelRatio;\n y *= context.pixelRatio;\n\n return Object(__WEBPACK_IMPORTED_MODULE_0__visit__[\"a\" /* pickVisit */])(scene, function(item) {\n var b = item.bounds;\n // first hit test against bounding box\n if ((b && !b.contains(gx, gy)) || !b) return;\n // if in bounding box, perform more careful test\n if (test(context, item, x, y, gx, gy)) return item;\n });\n };\n}\n\nfunction hitPath(path, filled) {\n return function(context, o, x, y) {\n var item = Array.isArray(o) ? o[0] : o,\n fill = (filled == null) ? item.fill : filled,\n stroke = item.stroke && context.isPointInStroke, lw, lc;\n\n if (stroke) {\n lw = item.strokeWidth;\n lc = item.strokeCap;\n context.lineWidth = lw != null ? lw : 1;\n context.lineCap = lc != null ? lc : 'butt';\n }\n\n return path(context, o) ? false :\n (fill && context.isPointInPath(x, y)) ||\n (stroke && context.isPointInStroke(x, y));\n };\n}\n\nfunction pickPath(path) {\n return pick(hitPath(path));\n}\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = noop;\nfunction noop() {}\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export signalPrefix */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__expression_codegen__ = __webpack_require__(350);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_expression__ = __webpack_require__(351);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n\n\n\n\nvar signalPrefix = '$';\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(expr, scope, preamble) {\n var params = {}, ast, gen;\n\n // parse the expression to an abstract syntax tree (ast)\n try {\n expr = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"C\" /* isString */])(expr) ? expr : (Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"O\" /* stringValue */])(expr) + '');\n ast = Object(__WEBPACK_IMPORTED_MODULE_1_vega_expression__[\"d\" /* parse */])(expr);\n } catch (err) {\n Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"m\" /* error */])('Expression parse error: ' + expr);\n }\n\n // analyze ast function calls for dependencies\n ast.visit(function visitor(node) {\n if (node.type !== 'CallExpression') return;\n var name = node.callee.name,\n visit = __WEBPACK_IMPORTED_MODULE_0__expression_codegen__[\"b\" /* codegenParams */].visitors[name];\n if (visit) visit(name, node.arguments, scope, params);\n });\n\n // perform code generation\n gen = Object(__WEBPACK_IMPORTED_MODULE_0__expression_codegen__[\"a\" /* codeGenerator */])(ast);\n\n // collect signal dependencies\n gen.globals.forEach(function(name) {\n var signalName = signalPrefix + name;\n if (!params.hasOwnProperty(signalName) && scope.getSignal(name)) {\n params[signalName] = scope.signalRef(name);\n }\n });\n\n // return generated expression code and dependencies\n return {\n $expr: preamble ? preamble + 'return(' + gen.code + ');' : gen.code,\n $fields: gen.fields,\n $params: params\n };\n});\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (immutable) */ __webpack_exports__[\"isUrlData\"] = isUrlData;\n/* harmony export (immutable) */ __webpack_exports__[\"isInlineData\"] = isInlineData;\n/* harmony export (immutable) */ __webpack_exports__[\"isNamedData\"] = isNamedData;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MAIN\", function() { return MAIN; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RAW\", function() { return RAW; });\nfunction isUrlData(data) {\n return !!data['url'];\n}\nfunction isInlineData(data) {\n return !!data['values'];\n}\nfunction isNamedData(data) {\n return !!data['name'] && !isUrlData(data) && !isInlineData(data);\n}\nvar MAIN = 'main';\nvar RAW = 'raw';\n//# sourceMappingURL=data.js.map\n\n/***/ }),\n/* 46 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_bin__ = __webpack_require__(527);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_bin__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_bootstrapCI__ = __webpack_require__(528);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_bootstrapCI__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_quartiles__ = __webpack_require__(257);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_quartiles__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_random__ = __webpack_require__(47);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return __WEBPACK_IMPORTED_MODULE_3__src_random__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return __WEBPACK_IMPORTED_MODULE_3__src_random__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__src_integer__ = __webpack_require__(545);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return __WEBPACK_IMPORTED_MODULE_4__src_integer__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__src_kde__ = __webpack_require__(546);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return __WEBPACK_IMPORTED_MODULE_5__src_kde__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__src_mixture__ = __webpack_require__(547);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return __WEBPACK_IMPORTED_MODULE_6__src_mixture__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__src_normal__ = __webpack_require__(258);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return __WEBPACK_IMPORTED_MODULE_7__src_normal__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__src_uniform__ = __webpack_require__(548);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return __WEBPACK_IMPORTED_MODULE_8__src_uniform__[\"a\"]; });\n\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return random; });\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = setRandom;\nvar random = Math.random;\n\nfunction setRandom(r) {\n random = r;\n}\n\n\n/***/ }),\n/* 48 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_path__ = __webpack_require__(591);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_path__[\"a\"]; });\n\n\n\n/***/ }),\n/* 49 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(x) {\n return function constant() {\n return x;\n };\n});\n\n\n/***/ }),\n/* 50 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(bounds, item) {\n if (item.stroke && item.opacity !== 0 && item.strokeOpacity !== 0) {\n bounds.expand(item.strokeWidth != null ? +item.strokeWidth : 1);\n }\n return bounds;\n});\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = domCreate;\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = domFind;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = domChild;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = domClear;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = cssClass;\n// create a new DOM element\nfunction domCreate(doc, tag, ns) {\n if (!doc && typeof document !== 'undefined' && document.createElement) {\n doc = document;\n }\n return doc\n ? (ns ? doc.createElementNS(ns, tag) : doc.createElement(tag))\n : null;\n}\n\n// find first child element with matching tag\nfunction domFind(el, tag) {\n tag = tag.toLowerCase();\n var nodes = el.childNodes, i = 0, n = nodes.length;\n for (; i<n; ++i) if (nodes[i].tagName.toLowerCase() === tag) {\n return nodes[i];\n }\n}\n\n// retrieve child element at given index\n// create & insert if doesn't exist or if tags do not match\nfunction domChild(el, index, tag, ns) {\n var a = el.childNodes[index], b;\n if (!a || a.tagName.toLowerCase() !== tag.toLowerCase()) {\n b = a || null;\n a = domCreate(el.ownerDocument, tag, ns);\n el.insertBefore(a, b);\n }\n return a;\n}\n\n// remove all child elements at or above the given index\nfunction domClear(el, index) {\n var nodes = el.childNodes,\n curr = nodes.length;\n while (curr > index) el.removeChild(nodes[--curr]);\n return el;\n}\n\n// generate css class name for mark\nfunction cssClass(mark) {\n return 'mark-' + mark.marktype\n + (mark.role ? ' role-' + mark.role : '')\n + (mark.name ? ' ' + mark.name : '');\n}\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_bandSpace__ = __webpack_require__(298);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_bandSpace__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_scales__ = __webpack_require__(642);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_scales__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_interpolate__ = __webpack_require__(687);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_interpolate__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_interpolate__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_interpolate__[\"c\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_schemes__ = __webpack_require__(688);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return __WEBPACK_IMPORTED_MODULE_3__src_schemes__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return __WEBPACK_IMPORTED_MODULE_3__src_schemes__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__src_timeInterval__ = __webpack_require__(731);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return __WEBPACK_IMPORTED_MODULE_4__src_timeInterval__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return __WEBPACK_IMPORTED_MODULE_4__src_timeInterval__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_d3_scale__ = __webpack_require__(75);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return __WEBPACK_IMPORTED_MODULE_5_d3_scale__[\"b\"]; });\n\n\n\n\n\n\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return map; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return slice; });\nvar array = Array.prototype;\n\nvar map = array.map;\nvar slice = array.slice;\n\n\n/***/ }),\n/* 54 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nfunction 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\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 55 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"h\"] = position;\n/* harmony export (immutable) */ __webpack_exports__[\"i\"] = position2;\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = getOffset;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = bin;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = fieldRef;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = bandRef;\n/* harmony export (immutable) */ __webpack_exports__[\"g\"] = midPoint;\n/* harmony export (immutable) */ __webpack_exports__[\"j\"] = text;\n/* harmony export (immutable) */ __webpack_exports__[\"f\"] = mid;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = getDefaultRef;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__scale__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__type__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__common__ = __webpack_require__(23);\n\n/**\n * Utility files for producing Vega ValueRef for marks\n */\n\n\n\n\n\n\n\n\n// TODO: we need to find a way to refactor these so that scaleName is a part of scale\n// but that's complicated. For now, this is a huge step moving forward.\n/**\n * @return Vega ValueRef for normal x- or y-position without projection\n */\nfunction position(channel, channelDef, scaleName, scale, stack, defaultRef) {\n if (Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"isFieldDef\"])(channelDef) && stack && channel === stack.fieldChannel) {\n // x or y use stack_end so that stacked line's point mark use stack_end too.\n return fieldRef(channelDef, scaleName, { suffix: 'end' });\n }\n return midPoint(channel, channelDef, scaleName, scale, stack, defaultRef);\n}\n/**\n * @return Vega ValueRef for normal x2- or y2-position without projection\n */\nfunction position2(channel, aFieldDef, a2fieldDef, scaleName, scale, stack, defaultRef) {\n if (Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"isFieldDef\"])(aFieldDef) && stack &&\n // If fieldChannel is X and channel is X2 (or Y and Y2)\n channel.charAt(0) === stack.fieldChannel.charAt(0)) {\n return fieldRef(aFieldDef, scaleName, { suffix: 'start' });\n }\n return midPoint(channel, a2fieldDef, scaleName, scale, stack, defaultRef);\n}\nfunction getOffset(channel, markDef) {\n var offsetChannel = channel + 'Offset';\n // TODO: in the future read from encoding channel too\n var markDefOffsetValue = markDef[offsetChannel];\n if (markDefOffsetValue) {\n return markDefOffsetValue;\n }\n return undefined;\n}\n/**\n * Value Ref for binned fields\n */\nfunction bin(fieldDef, scaleName, side, offset) {\n var binSuffix = side === 'start' ? undefined : 'end';\n return fieldRef(fieldDef, scaleName, { binSuffix: binSuffix }, offset ? { offset: offset } : {});\n}\nfunction fieldRef(fieldDef, scaleName, opt, mixins) {\n var ref = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, (scaleName ? { scale: scaleName } : {}), { field: Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"vgField\"])(fieldDef, opt) });\n if (mixins) {\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, ref, mixins);\n }\n return ref;\n}\nfunction bandRef(scaleName, band) {\n if (band === void 0) { band = true; }\n return {\n scale: scaleName,\n band: band\n };\n}\n/**\n * Signal that returns the middle of a bin. Should only be used with x and y.\n */\nfunction binMidSignal(fieldDef, scaleName) {\n return {\n signal: \"(\" +\n (\"scale(\\\"\" + scaleName + \"\\\", \" + Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"vgField\"])(fieldDef, { expr: 'datum' }) + \")\") +\n \" + \" +\n (\"scale(\\\"\" + scaleName + \"\\\", \" + Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"vgField\"])(fieldDef, { binSuffix: 'end', expr: 'datum' }) + \")\") +\n \")/2\"\n };\n}\n/**\n * @returns {VgValueRef} Value Ref for xc / yc or mid point for other channels.\n */\nfunction midPoint(channel, channelDef, scaleName, scale, stack, defaultRef) {\n // TODO: datum support\n if (channelDef) {\n /* istanbul ignore else */\n if (Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"isFieldDef\"])(channelDef)) {\n if (channelDef.bin) {\n // Use middle only for x an y to place marks in the center between start and end of the bin range.\n // We do not use the mid point for other channels (e.g. size) so that properties of legends and marks match.\n if (Object(__WEBPACK_IMPORTED_MODULE_7__util__[\"contains\"])([__WEBPACK_IMPORTED_MODULE_2__channel__[\"X\"], __WEBPACK_IMPORTED_MODULE_2__channel__[\"Y\"]], channel) && channelDef.type === __WEBPACK_IMPORTED_MODULE_6__type__[\"QUANTITATIVE\"]) {\n if (stack && stack.impute) {\n // For stack, we computed bin_mid so we can impute.\n return fieldRef(channelDef, scaleName, { binSuffix: 'mid' });\n }\n // For non-stack, we can just calculate bin mid on the fly using signal.\n return binMidSignal(channelDef, scaleName);\n }\n return fieldRef(channelDef, scaleName, Object(__WEBPACK_IMPORTED_MODULE_8__common__[\"c\" /* binRequiresRange */])(channelDef, channel) ? { binSuffix: 'range' } : {});\n }\n if (scale) {\n var scaleType = scale.get('type');\n if (Object(__WEBPACK_IMPORTED_MODULE_5__scale__[\"hasDiscreteDomain\"])(scaleType)) {\n if (scaleType === 'band') {\n // For band, to get mid point, need to offset by half of the band\n return fieldRef(channelDef, scaleName, { binSuffix: 'range' }, { band: 0.5 });\n }\n return fieldRef(channelDef, scaleName, { binSuffix: 'range' });\n }\n }\n return fieldRef(channelDef, scaleName, {}); // no need for bin suffix\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"isValueDef\"])(channelDef)) {\n var value = channelDef.value;\n if (Object(__WEBPACK_IMPORTED_MODULE_7__util__[\"contains\"])(['x', 'x2'], channel) && value === 'width') {\n return { field: { group: 'width' } };\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_7__util__[\"contains\"])(['y', 'y2'], channel) && value === 'height') {\n return { field: { group: 'height' } };\n }\n return { value: value };\n }\n // If channelDef is neither field def or value def, it's a condition-only def.\n // In such case, we will use default ref.\n }\n return Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"y\" /* isFunction */])(defaultRef) ? defaultRef() : defaultRef;\n}\nfunction text(textDef, config) {\n // text\n if (textDef) {\n if (Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"isFieldDef\"])(textDef)) {\n return Object(__WEBPACK_IMPORTED_MODULE_8__common__[\"d\" /* formatSignalRef */])(textDef, textDef.format, 'datum', config);\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"isValueDef\"])(textDef)) {\n return { value: textDef.value };\n }\n }\n return undefined;\n}\nfunction mid(sizeRef) {\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, sizeRef, { mult: 0.5 });\n}\n/**\n * Whether the scale definitely includes zero in the domain\n */\nfunction domainDefinitelyIncludeZero(scale) {\n if (scale.get('zero') !== false) {\n return true;\n }\n var domains = scale.domains;\n if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(domains)) {\n return Object(__WEBPACK_IMPORTED_MODULE_7__util__[\"some\"])(domains, function (d) { return Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(d) && d.length === 2 && d[0] <= 0 && d[1] >= 0; });\n }\n return false;\n}\nfunction getDefaultRef(defaultRef, channel, scaleName, scale, mark) {\n return function () {\n if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"C\" /* isString */])(defaultRef)) {\n if (scaleName) {\n var scaleType = scale.get('type');\n if (Object(__WEBPACK_IMPORTED_MODULE_7__util__[\"contains\"])([__WEBPACK_IMPORTED_MODULE_5__scale__[\"ScaleType\"].LOG, __WEBPACK_IMPORTED_MODULE_5__scale__[\"ScaleType\"].TIME, __WEBPACK_IMPORTED_MODULE_5__scale__[\"ScaleType\"].UTC], scaleType)) {\n // Log scales cannot have zero.\n // Zero in time scale is arbitrary, and does not affect ratio.\n // (Time is an interval level of measurement, not ratio).\n // See https://en.wikipedia.org/wiki/Level_of_measurement for more info.\n if (mark === 'bar' || mark === 'area') {\n __WEBPACK_IMPORTED_MODULE_4__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_4__log__[\"b\" /* message */].nonZeroScaleUsedWithLengthMark(mark, channel, { scaleType: scaleType }));\n }\n }\n else {\n if (domainDefinitelyIncludeZero(scale)) {\n return {\n scale: scaleName,\n value: 0\n };\n }\n if (mark === 'bar' || mark === 'area') {\n __WEBPACK_IMPORTED_MODULE_4__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_4__log__[\"b\" /* message */].nonZeroScaleUsedWithLengthMark(mark, channel, { zeroFalse: scale.explicit.zero === false }));\n }\n }\n }\n if (defaultRef === 'zeroOrMin') {\n return channel === 'x' ? { value: 0 } : { field: { group: 'height' } };\n }\n else { // zeroOrMax\n return channel === 'x' ? { field: { group: 'width' } } : { value: 0 };\n }\n }\n return defaultRef;\n };\n}\n//# sourceMappingURL=valueref.js.map\n\n/***/ }),\n/* 56 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n});\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = linearish;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = linear;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_d3_interpolate__ = __webpack_require__(38);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__continuous__ = __webpack_require__(111);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__tickFormat__ = __webpack_require__(666);\n\n\n\n\n\nfunction linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return Object(__WEBPACK_IMPORTED_MODULE_0_d3_array__[\"s\" /* ticks */])(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n return Object(__WEBPACK_IMPORTED_MODULE_3__tickFormat__[\"a\" /* default */])(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 = Object(__WEBPACK_IMPORTED_MODULE_0_d3_array__[\"q\" /* 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 = Object(__WEBPACK_IMPORTED_MODULE_0_d3_array__[\"q\" /* 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 = Object(__WEBPACK_IMPORTED_MODULE_0_d3_array__[\"q\" /* 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\nfunction linear() {\n var scale = Object(__WEBPACK_IMPORTED_MODULE_2__continuous__[\"b\" /* default */])(__WEBPACK_IMPORTED_MODULE_2__continuous__[\"c\" /* deinterpolateLinear */], __WEBPACK_IMPORTED_MODULE_1_d3_interpolate__[\"interpolateNumber\"]);\n\n scale.copy = function() {\n return Object(__WEBPACK_IMPORTED_MODULE_2__continuous__[\"a\" /* copy */])(scale, linear());\n };\n\n return linearish(scale);\n}\n\n\n/***/ }),\n/* 58 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\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\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 59 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(x) {\n return function() {\n return x;\n };\n});\n\n\n/***/ }),\n/* 60 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_cluster__ = __webpack_require__(813);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_cluster__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_hierarchy_index__ = __webpack_require__(186);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_hierarchy_index__[\"c\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_pack_index__ = __webpack_require__(825);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_pack_index__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_pack_siblings__ = __webpack_require__(338);\n/* unused harmony reexport packSiblings */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__src_pack_enclose__ = __webpack_require__(339);\n/* unused harmony reexport packEnclose */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__src_partition__ = __webpack_require__(827);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return __WEBPACK_IMPORTED_MODULE_5__src_partition__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__src_stratify__ = __webpack_require__(828);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return __WEBPACK_IMPORTED_MODULE_6__src_stratify__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__src_tree__ = __webpack_require__(829);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return __WEBPACK_IMPORTED_MODULE_7__src_tree__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__src_treemap_index__ = __webpack_require__(830);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return __WEBPACK_IMPORTED_MODULE_8__src_treemap_index__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__src_treemap_binary__ = __webpack_require__(831);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return __WEBPACK_IMPORTED_MODULE_9__src_treemap_binary__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__src_treemap_dice__ = __webpack_require__(80);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return __WEBPACK_IMPORTED_MODULE_10__src_treemap_dice__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__src_treemap_slice__ = __webpack_require__(117);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return __WEBPACK_IMPORTED_MODULE_11__src_treemap_slice__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__src_treemap_sliceDice__ = __webpack_require__(832);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"l\", function() { return __WEBPACK_IMPORTED_MODULE_12__src_treemap_sliceDice__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__src_treemap_squarify__ = __webpack_require__(188);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"m\", function() { return __WEBPACK_IMPORTED_MODULE_13__src_treemap_squarify__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__src_treemap_resquarify__ = __webpack_require__(833);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return __WEBPACK_IMPORTED_MODULE_14__src_treemap_resquarify__[\"a\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 61 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (immutable) */ __webpack_exports__[\"isFacetSpec\"] = isFacetSpec;\n/* harmony export (immutable) */ __webpack_exports__[\"isUnitSpec\"] = isUnitSpec;\n/* harmony export (immutable) */ __webpack_exports__[\"isLayerSpec\"] = isLayerSpec;\n/* harmony export (immutable) */ __webpack_exports__[\"isRepeatSpec\"] = isRepeatSpec;\n/* harmony export (immutable) */ __webpack_exports__[\"isConcatSpec\"] = isConcatSpec;\n/* harmony export (immutable) */ __webpack_exports__[\"isVConcatSpec\"] = isVConcatSpec;\n/* harmony export (immutable) */ __webpack_exports__[\"isHConcatSpec\"] = isHConcatSpec;\n/* harmony export (immutable) */ __webpack_exports__[\"normalize\"] = normalize;\n/* harmony export (immutable) */ __webpack_exports__[\"fieldDefs\"] = fieldDefs;\n/* harmony export (immutable) */ __webpack_exports__[\"isStacked\"] = isStacked;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__compositemark__ = __webpack_require__(127);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__encoding__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__mark__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__stack__ = __webpack_require__(201);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__util__ = __webpack_require__(3);\n\n\n\n\n\n\n\n\n\n\n/* Custom type guards */\nfunction isFacetSpec(spec) {\n return spec['facet'] !== undefined;\n}\nfunction isUnitSpec(spec) {\n return !!spec['mark'];\n}\nfunction isLayerSpec(spec) {\n return spec['layer'] !== undefined;\n}\nfunction isRepeatSpec(spec) {\n return spec['repeat'] !== undefined;\n}\nfunction isConcatSpec(spec) {\n return isVConcatSpec(spec) || isHConcatSpec(spec);\n}\nfunction isVConcatSpec(spec) {\n return spec['vconcat'] !== undefined;\n}\nfunction isHConcatSpec(spec) {\n return spec['hconcat'] !== undefined;\n}\n/**\n * Decompose extended unit specs into composition of pure unit specs.\n */\n// TODO: consider moving this to another file. Maybe vl.spec.normalize or vl.normalize\nfunction normalize(spec, config) {\n if (isFacetSpec(spec)) {\n return normalizeFacet(spec, config);\n }\n if (isLayerSpec(spec)) {\n return normalizeLayer(spec, config);\n }\n if (isRepeatSpec(spec)) {\n return normalizeRepeat(spec, config);\n }\n if (isVConcatSpec(spec)) {\n return normalizeVConcat(spec, config);\n }\n if (isHConcatSpec(spec)) {\n return normalizeHConcat(spec, config);\n }\n if (isUnitSpec(spec)) {\n var hasRow = Object(__WEBPACK_IMPORTED_MODULE_4__encoding__[\"channelHasField\"])(spec.encoding, __WEBPACK_IMPORTED_MODULE_2__channel__[\"ROW\"]);\n var hasColumn = Object(__WEBPACK_IMPORTED_MODULE_4__encoding__[\"channelHasField\"])(spec.encoding, __WEBPACK_IMPORTED_MODULE_2__channel__[\"COLUMN\"]);\n if (hasRow || hasColumn) {\n return normalizeFacetedUnit(spec, config);\n }\n return normalizeNonFacetUnit(spec, config);\n }\n throw new Error(__WEBPACK_IMPORTED_MODULE_5__log__[\"b\" /* message */].INVALID_SPEC);\n}\nfunction normalizeFacet(spec, config) {\n var subspec = spec.spec, rest = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"e\" /* __rest */](spec, [\"spec\"]);\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, rest, { \n // TODO: remove \"any\" once we support all facet listed in https://github.com/vega/vega-lite/issues/2760\n spec: normalize(subspec, config) });\n}\nfunction mergeEncoding(opt) {\n var parentEncoding = opt.parentEncoding, encoding = opt.encoding;\n if (parentEncoding && encoding) {\n var overriden = Object(__WEBPACK_IMPORTED_MODULE_8__util__[\"keys\"])(parentEncoding).reduce(function (o, key) {\n if (encoding[key]) {\n o.push(key);\n }\n return o;\n }, []);\n if (overriden.length > 0) {\n __WEBPACK_IMPORTED_MODULE_5__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_5__log__[\"b\" /* message */].encodingOverridden(overriden));\n }\n }\n var merged = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, (parentEncoding || {}), (encoding || {}));\n return Object(__WEBPACK_IMPORTED_MODULE_8__util__[\"keys\"])(merged).length > 0 ? merged : undefined;\n}\nfunction mergeProjection(opt) {\n var parentProjection = opt.parentProjection, projection = opt.projection;\n if (parentProjection && projection) {\n __WEBPACK_IMPORTED_MODULE_5__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_5__log__[\"b\" /* message */].projectionOverridden({ parentProjection: parentProjection, projection: projection }));\n }\n return projection || parentProjection;\n}\nfunction normalizeLayer(spec, config, parentEncoding, parentProjection) {\n var layer = spec.layer, encoding = spec.encoding, projection = spec.projection, rest = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"e\" /* __rest */](spec, [\"layer\", \"encoding\", \"projection\"]);\n var mergedEncoding = mergeEncoding({ parentEncoding: parentEncoding, encoding: encoding });\n var mergedProjection = mergeProjection({ parentProjection: parentProjection, projection: projection });\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, rest, { layer: layer.map(function (subspec) {\n if (isLayerSpec(subspec)) {\n return normalizeLayer(subspec, config, mergedEncoding, mergedProjection);\n }\n return normalizeNonFacetUnit(subspec, config, mergedEncoding, mergedProjection);\n }) });\n}\nfunction normalizeRepeat(spec, config) {\n var subspec = spec.spec, rest = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"e\" /* __rest */](spec, [\"spec\"]);\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, rest, { spec: normalize(subspec, config) });\n}\nfunction normalizeVConcat(spec, config) {\n var vconcat = spec.vconcat, rest = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"e\" /* __rest */](spec, [\"vconcat\"]);\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, rest, { vconcat: vconcat.map(function (subspec) { return normalize(subspec, config); }) });\n}\nfunction normalizeHConcat(spec, config) {\n var hconcat = spec.hconcat, rest = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"e\" /* __rest */](spec, [\"hconcat\"]);\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, rest, { hconcat: hconcat.map(function (subspec) { return normalize(subspec, config); }) });\n}\nfunction normalizeFacetedUnit(spec, config) {\n // New encoding in the inside spec should not contain row / column\n // as row/column should be moved to facet\n var _a = spec.encoding, row = _a.row, column = _a.column, encoding = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"e\" /* __rest */](_a, [\"row\", \"column\"]);\n // Mark and encoding should be moved into the inner spec\n var mark = spec.mark, width = spec.width, projection = spec.projection, height = spec.height, selection = spec.selection, _ = spec.encoding, outerSpec = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"e\" /* __rest */](spec, [\"mark\", \"width\", \"projection\", \"height\", \"selection\", \"encoding\"]);\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, outerSpec, { facet: __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, (row ? { row: row } : {}), (column ? { column: column } : {})), spec: normalizeNonFacetUnit(__WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, (projection ? { projection: projection } : {}), { mark: mark }, (width ? { width: width } : {}), (height ? { height: height } : {}), { encoding: encoding }, (selection ? { selection: selection } : {})), config) });\n}\nfunction isNonFacetUnitSpecWithPrimitiveMark(spec) {\n return Object(__WEBPACK_IMPORTED_MODULE_6__mark__[\"isPrimitiveMark\"])(spec.mark);\n}\nfunction getPointOverlay(markDef, markConfig, encoding) {\n if (markDef.point === 'transparent') {\n return { opacity: 0 };\n }\n else if (markDef.point) { // truthy : true or object\n return Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"A\" /* isObject */])(markDef.point) ? markDef.point : {};\n }\n else if (markDef.point !== undefined) { // false or null\n return null;\n }\n else { // undefined (not disabled)\n if (markConfig.point || encoding.shape) {\n // enable point overlay if config[mark].point is truthy or if encoding.shape is provided\n return Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"A\" /* isObject */])(markConfig.point) ? markConfig.point : {};\n }\n // markDef.point is defined as falsy\n return null;\n }\n}\nfunction getLineOverlay(markDef, markConfig) {\n if (markDef.line) { // true or object\n return markDef.line === true ? {} : markDef.line;\n }\n else if (markDef.line !== undefined) { // false or null\n return null;\n }\n else { // undefined (not disabled)\n if (markConfig.line) {\n // enable line overlay if config[mark].line is truthy\n return markConfig.line === true ? {} : markConfig.line;\n }\n // markDef.point is defined as falsy\n return null;\n }\n}\nfunction normalizeNonFacetUnit(spec, config, parentEncoding, parentProjection) {\n var encoding = spec.encoding, projection = spec.projection;\n var mark = Object(__WEBPACK_IMPORTED_MODULE_6__mark__[\"isMarkDef\"])(spec.mark) ? spec.mark.type : spec.mark;\n // merge parent encoding / projection first\n if (parentEncoding || parentProjection) {\n var mergedProjection = mergeProjection({ parentProjection: parentProjection, projection: projection });\n var mergedEncoding = mergeEncoding({ parentEncoding: parentEncoding, encoding: encoding });\n return normalizeNonFacetUnit(__WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, spec, (mergedProjection ? { projection: mergedProjection } : {}), (mergedEncoding ? { encoding: mergedEncoding } : {})), config);\n }\n if (isNonFacetUnitSpecWithPrimitiveMark(spec)) {\n // TODO: thoroughly test\n if (Object(__WEBPACK_IMPORTED_MODULE_4__encoding__[\"isRanged\"])(encoding)) {\n return normalizeRangedUnit(spec);\n }\n if (mark === 'line' && (encoding.x2 || encoding.y2)) {\n __WEBPACK_IMPORTED_MODULE_5__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_5__log__[\"b\" /* message */].lineWithRange(!!encoding.x2, !!encoding.y2));\n return normalizeNonFacetUnit(__WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ mark: 'rule' }, spec), config, parentEncoding, parentProjection);\n }\n if (Object(__WEBPACK_IMPORTED_MODULE_6__mark__[\"isPathMark\"])(mark)) {\n return normalizePathOverlay(spec, config);\n }\n return spec; // Nothing to normalize\n }\n else {\n return __WEBPACK_IMPORTED_MODULE_3__compositemark__[\"normalize\"](spec, config);\n }\n}\nfunction normalizeRangedUnit(spec) {\n var hasX = Object(__WEBPACK_IMPORTED_MODULE_4__encoding__[\"channelHasField\"])(spec.encoding, __WEBPACK_IMPORTED_MODULE_2__channel__[\"X\"]);\n var hasY = Object(__WEBPACK_IMPORTED_MODULE_4__encoding__[\"channelHasField\"])(spec.encoding, __WEBPACK_IMPORTED_MODULE_2__channel__[\"Y\"]);\n var hasX2 = Object(__WEBPACK_IMPORTED_MODULE_4__encoding__[\"channelHasField\"])(spec.encoding, __WEBPACK_IMPORTED_MODULE_2__channel__[\"X2\"]);\n var hasY2 = Object(__WEBPACK_IMPORTED_MODULE_4__encoding__[\"channelHasField\"])(spec.encoding, __WEBPACK_IMPORTED_MODULE_2__channel__[\"Y2\"]);\n if ((hasX2 && !hasX) || (hasY2 && !hasY)) {\n var normalizedSpec = Object(__WEBPACK_IMPORTED_MODULE_8__util__[\"duplicate\"])(spec);\n if (hasX2 && !hasX) {\n normalizedSpec.encoding.x = normalizedSpec.encoding.x2;\n delete normalizedSpec.encoding.x2;\n }\n if (hasY2 && !hasY) {\n normalizedSpec.encoding.y = normalizedSpec.encoding.y2;\n delete normalizedSpec.encoding.y2;\n }\n return normalizedSpec;\n }\n return spec;\n}\nfunction dropLineAndPoint(markDef) {\n var _point = markDef.point, _line = markDef.line, mark = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"e\" /* __rest */](markDef, [\"point\", \"line\"]);\n return Object(__WEBPACK_IMPORTED_MODULE_8__util__[\"keys\"])(mark).length > 1 ? mark : mark.type;\n}\nfunction normalizePathOverlay(spec, config) {\n if (config === void 0) { config = {}; }\n var _a;\n // _ is used to denote a dropped property of the unit spec\n // which should not be carried over to the layer spec\n var selection = spec.selection, projection = spec.projection, encoding = spec.encoding, mark = spec.mark, outerSpec = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"e\" /* __rest */](spec, [\"selection\", \"projection\", \"encoding\", \"mark\"]);\n var markDef = Object(__WEBPACK_IMPORTED_MODULE_6__mark__[\"isMarkDef\"])(mark) ? mark : { type: mark };\n var pointOverlay = getPointOverlay(markDef, config[markDef.type], encoding);\n var lineOverlay = markDef.type === 'area' && getLineOverlay(markDef, config[markDef.type]);\n if (!pointOverlay && !lineOverlay) {\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, spec, { \n // Do not include point / line overlay in the normalize spec\n mark: dropLineAndPoint(markDef) });\n }\n var layer = [__WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, (selection ? { selection: selection } : {}), { \n // Do not include point / line overlay in the normalize spec\n mark: dropLineAndPoint(__WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, markDef, (markDef.type === 'area' ? { opacity: 0.7 } : {}))), \n // drop shape from encoding as this might be used to trigger point overlay\n encoding: Object(__WEBPACK_IMPORTED_MODULE_8__util__[\"omit\"])(encoding, ['shape']) })];\n // FIXME: determine rules for applying selections.\n // Need to copy stack config to overlayed layer\n var stackProps = Object(__WEBPACK_IMPORTED_MODULE_7__stack__[\"stack\"])(markDef, encoding, config ? config.stack : undefined);\n var overlayEncoding = encoding;\n if (stackProps) {\n var stackFieldChannel = stackProps.fieldChannel, offset = stackProps.offset;\n overlayEncoding = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, encoding, (_a = {}, _a[stackFieldChannel] = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, encoding[stackFieldChannel], (offset ? { stack: offset } : {})), _a));\n }\n if (lineOverlay) {\n layer.push(__WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, (projection ? { projection: projection } : {}), { mark: __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ type: 'line' }, Object(__WEBPACK_IMPORTED_MODULE_8__util__[\"pick\"])(markDef, ['clip', 'interpolate']), lineOverlay), encoding: overlayEncoding }));\n }\n if (pointOverlay) {\n layer.push(__WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, (projection ? { projection: projection } : {}), { mark: __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ type: 'point', opacity: 1, filled: true }, Object(__WEBPACK_IMPORTED_MODULE_8__util__[\"pick\"])(markDef, ['clip']), pointOverlay), encoding: overlayEncoding }));\n }\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, outerSpec, { layer: layer });\n}\n// TODO: add vl.spec.validate & move stuff from vl.validate to here\n/* Accumulate non-duplicate fieldDefs in a dictionary */\nfunction accumulate(dict, defs) {\n defs.forEach(function (fieldDef) {\n // Consider only pure fieldDef properties (ignoring scale, axis, legend)\n var pureFieldDef = ['field', 'type', 'value', 'timeUnit', 'bin', 'aggregate'].reduce(function (f, key) {\n if (fieldDef[key] !== undefined) {\n f[key] = fieldDef[key];\n }\n return f;\n }, {});\n var key = Object(__WEBPACK_IMPORTED_MODULE_8__util__[\"hash\"])(pureFieldDef);\n dict[key] = dict[key] || fieldDef;\n });\n return dict;\n}\n/* Recursively get fieldDefs from a spec, returns a dictionary of fieldDefs */\nfunction fieldDefIndex(spec, dict) {\n if (dict === void 0) { dict = {}; }\n // FIXME(https://github.com/vega/vega-lite/issues/2207): Support fieldDefIndex for repeat\n if (isLayerSpec(spec)) {\n spec.layer.forEach(function (layer) {\n if (isUnitSpec(layer)) {\n accumulate(dict, __WEBPACK_IMPORTED_MODULE_4__encoding__[\"fieldDefs\"](layer.encoding));\n }\n else {\n fieldDefIndex(layer, dict);\n }\n });\n }\n else if (isFacetSpec(spec)) {\n accumulate(dict, __WEBPACK_IMPORTED_MODULE_4__encoding__[\"fieldDefs\"](spec.facet));\n fieldDefIndex(spec.spec, dict);\n }\n else if (isRepeatSpec(spec)) {\n fieldDefIndex(spec.spec, dict);\n }\n else if (isConcatSpec(spec)) {\n var childSpec = isVConcatSpec(spec) ? spec.vconcat : spec.hconcat;\n childSpec.forEach(function (child) { return fieldDefIndex(child, dict); });\n }\n else { // Unit Spec\n accumulate(dict, __WEBPACK_IMPORTED_MODULE_4__encoding__[\"fieldDefs\"](spec.encoding));\n }\n return dict;\n}\n/* Returns all non-duplicate fieldDefs in a spec in a flat array */\nfunction fieldDefs(spec) {\n return Object(__WEBPACK_IMPORTED_MODULE_8__util__[\"vals\"])(fieldDefIndex(spec));\n}\nfunction isStacked(spec, config) {\n config = config || spec.config;\n if (Object(__WEBPACK_IMPORTED_MODULE_6__mark__[\"isPrimitiveMark\"])(spec.mark)) {\n return Object(__WEBPACK_IMPORTED_MODULE_7__stack__[\"stack\"])(spec.mark, spec.encoding, config ? config.stack : undefined) !== null;\n }\n return false;\n}\n//# sourceMappingURL=spec.js.map\n\n/***/ }),\n/* 62 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return CalculateNode; });\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = sortArrayIndexField;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__predicate__ = __webpack_require__(87);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__sort__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__dataflow__ = __webpack_require__(13);\n\n\n\n\n\n\n/**\n * We don't know what a calculate node depends on so we should never move it beyond anything that produces fields.\n */\nvar CalculateNode = /** @class */ (function (_super) {\n __WEBPACK_IMPORTED_MODULE_0_tslib__[\"c\" /* __extends */](CalculateNode, _super);\n function CalculateNode(parent, transform) {\n var _this = _super.call(this, parent) || this;\n _this.transform = transform;\n return _this;\n }\n CalculateNode.prototype.clone = function () {\n return new CalculateNode(null, Object(__WEBPACK_IMPORTED_MODULE_4__util__[\"duplicate\"])(this.transform));\n };\n CalculateNode.parseAllForSortIndex = function (parent, model) {\n // get all the encoding with sort fields from model\n model.forEachFieldDef(function (fieldDef, channel) {\n if (!Object(__WEBPACK_IMPORTED_MODULE_1__fielddef__[\"isScaleFieldDef\"])(fieldDef)) {\n return;\n }\n if (Object(__WEBPACK_IMPORTED_MODULE_3__sort__[\"isSortArray\"])(fieldDef.sort)) {\n var field_1 = fieldDef.field, timeUnit_1 = fieldDef.timeUnit;\n var sort = fieldDef.sort;\n // generate `datum[\"a\"] === val0 ? 0 : datum[\"a\"] === val1 ? 1 : ... : n` via FieldEqualPredicate\n var calculate = sort.map(function (sortValue, i) {\n return Object(__WEBPACK_IMPORTED_MODULE_2__predicate__[\"b\" /* fieldFilterExpression */])({ field: field_1, timeUnit: timeUnit_1, equal: sortValue }) + \" ? \" + i + \" : \";\n }).join('') + sort.length;\n parent = new CalculateNode(parent, {\n calculate: calculate,\n as: sortArrayIndexField(fieldDef, channel)\n });\n }\n });\n return parent;\n };\n CalculateNode.prototype.producedFields = function () {\n var out = {};\n out[this.transform.as] = true;\n return out;\n };\n CalculateNode.prototype.assemble = function () {\n return {\n type: 'formula',\n expr: this.transform.calculate,\n as: this.transform.as\n };\n };\n return CalculateNode;\n}(__WEBPACK_IMPORTED_MODULE_5__dataflow__[\"a\" /* DataFlowNode */]));\n\nfunction sortArrayIndexField(fieldDef, channel, expr) {\n return Object(__WEBPACK_IMPORTED_MODULE_1__fielddef__[\"vgField\"])(fieldDef, { prefix: channel, suffix: 'sort_index', expr: expr });\n}\n//# sourceMappingURL=calculate.js.map\n\n/***/ }),\n/* 63 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = accessorName;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = accessorFields;\n/* harmony default export */ __webpack_exports__[\"c\"] = (function(fn, fields, name) {\n fn.fields = fields || [];\n fn.fname = name;\n return fn;\n});\n\nfunction accessorName(fn) {\n return fn == null ? null : fn.fname;\n}\n\nfunction accessorFields(fn) {\n return fn == null ? null : fn.fields;\n}\n\n\n/***/ }),\n/* 64 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = UniqueList;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n\n\nfunction UniqueList(idFunc) {\n var $ = idFunc || __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"t\" /* identity */],\n list = [],\n ids = {};\n\n list.add = function(_) {\n var id = $(_);\n if (!ids[id]) {\n ids[id] = 1;\n list.push(_);\n }\n return list;\n };\n\n list.remove = function(_) {\n var id = $(_), idx;\n if (ids[id]) {\n ids[id] = 0;\n if ((idx = list.indexOf(_)) >= 0) {\n list.splice(idx, 1);\n }\n }\n return list;\n };\n\n return list;\n}\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_loader__ = __webpack_require__(484);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_loader__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_read__ = __webpack_require__(487);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_read__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_type__ = __webpack_require__(232);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_type__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_type__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_type__[\"c\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_formats_index__ = __webpack_require__(233);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_3__src_formats_index__[\"a\"]; });\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 66 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_defaultLocale__ = __webpack_require__(153);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_defaultLocale__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_defaultLocale__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_defaultLocale__[\"c\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_defaultLocale__[\"d\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_defaultLocale__[\"e\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_locale__ = __webpack_require__(239);\n/* unused harmony reexport timeFormatLocale */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_isoFormat__ = __webpack_require__(240);\n/* unused harmony reexport isoFormat */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_isoParse__ = __webpack_require__(518);\n/* unused harmony reexport isoParse */\n\n\n\n\n\n\n/***/ }),\n/* 67 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = measureName;\n/* unused harmony export AggregateOps */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ValidAggregateOps; });\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = createMeasure;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = compileMeasures;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n\n\nfunction measureName(op, field, as) {\n return as || (op + (!field ? '' : '_' + field));\n}\n\nvar AggregateOps = {\n 'values': measure({\n name: 'values',\n init: 'cell.store = true;',\n set: 'cell.data.values()', idx: -1\n }),\n 'count': measure({\n name: 'count',\n set: 'cell.num'\n }),\n '__count__': measure({\n name: 'count',\n set: 'this.missing + this.valid'\n }),\n 'missing': measure({\n name: 'missing',\n set: 'this.missing'\n }),\n 'valid': measure({\n name: 'valid',\n set: 'this.valid'\n }),\n 'sum': measure({\n name: 'sum',\n init: 'this.sum = 0;',\n add: 'this.sum += v;',\n rem: 'this.sum -= v;',\n set: 'this.sum'\n }),\n 'mean': measure({\n name: 'mean',\n init: 'this.mean = 0;',\n add: 'var d = v - this.mean; this.mean += d / this.valid;',\n rem: 'var d = v - this.mean; this.mean -= this.valid ? d / this.valid : this.mean;',\n set: 'this.mean'\n }),\n 'average': measure({\n name: 'average',\n set: 'this.mean',\n req: ['mean'], idx: 1\n }),\n 'variance': measure({\n name: 'variance',\n init: 'this.dev = 0;',\n add: 'this.dev += d * (v - this.mean);',\n rem: 'this.dev -= d * (v - this.mean);',\n set: 'this.valid > 1 ? this.dev / (this.valid-1) : 0',\n req: ['mean'], idx: 1\n }),\n 'variancep': measure({\n name: 'variancep',\n set: 'this.valid > 1 ? this.dev / this.valid : 0',\n req: ['variance'], idx: 2\n }),\n 'stdev': measure({\n name: 'stdev',\n set: 'this.valid > 1 ? Math.sqrt(this.dev / (this.valid-1)) : 0',\n req: ['variance'], idx: 2\n }),\n 'stdevp': measure({\n name: 'stdevp',\n set: 'this.valid > 1 ? Math.sqrt(this.dev / this.valid) : 0',\n req: ['variance'], idx: 2\n }),\n 'stderr': measure({\n name: 'stderr',\n set: 'this.valid > 1 ? Math.sqrt(this.dev / (this.valid * (this.valid-1))) : 0',\n req: ['variance'], idx: 2\n }),\n 'distinct': measure({\n name: 'distinct',\n set: 'cell.data.distinct(this.get)',\n req: ['values'], idx: 3\n }),\n 'ci0': measure({\n name: 'ci0',\n set: 'cell.data.ci0(this.get)',\n req: ['values'], idx: 3\n }),\n 'ci1': measure({\n name: 'ci1',\n set: 'cell.data.ci1(this.get)',\n req: ['values'], idx: 3\n }),\n 'median': measure({\n name: 'median',\n set: 'cell.data.q2(this.get)',\n req: ['values'], idx: 3\n }),\n 'q1': measure({\n name: 'q1',\n set: 'cell.data.q1(this.get)',\n req: ['values'], idx: 3\n }),\n 'q3': measure({\n name: 'q3',\n set: 'cell.data.q3(this.get)',\n req: ['values'], idx: 3\n }),\n 'argmin': measure({\n name: 'argmin',\n init: 'this.argmin = null;',\n add: 'if (v < this.min) this.argmin = t;',\n rem: 'if (v <= this.min) this.argmin = null;',\n set: 'this.argmin || cell.data.argmin(this.get)',\n req: ['min'], str: ['values'], idx: 3\n }),\n 'argmax': measure({\n name: 'argmax',\n init: 'this.argmax = null;',\n add: 'if (v > this.max) this.argmax = t;',\n rem: 'if (v >= this.max) this.argmax = null;',\n set: 'this.argmax || cell.data.argmax(this.get)',\n req: ['max'], str: ['values'], idx: 3\n }),\n 'min': measure({\n name: 'min',\n init: 'this.min = null;',\n add: 'if (v < this.min || this.min === null) this.min = v;',\n rem: 'if (v <= this.min) this.min = NaN;',\n set: 'this.min = (isNaN(this.min) ? cell.data.min(this.get) : this.min)',\n str: ['values'], idx: 4\n }),\n 'max': measure({\n name: 'max',\n init: 'this.max = null;',\n add: 'if (v > this.max || this.max === null) this.max = v;',\n rem: 'if (v >= this.max) this.max = NaN;',\n set: 'this.max = (isNaN(this.max) ? cell.data.max(this.get) : this.max)',\n str: ['values'], idx: 4\n })\n};\n\nvar ValidAggregateOps = Object.keys(AggregateOps);\n\nfunction createMeasure(op, name) {\n return AggregateOps[op](name);\n}\n\nfunction measure(base) {\n return function(out) {\n var m = Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"n\" /* extend */])({init:'', add:'', rem:'', idx:0}, base);\n m.out = out || base.name;\n return m;\n };\n}\n\nfunction compareIndex(a, b) {\n return a.idx - b.idx;\n}\n\nfunction resolve(agg, stream) {\n function collect(m, a) {\n function helper(r) { if (!m[r]) collect(m, m[r] = AggregateOps[r]()); }\n if (a.req) a.req.forEach(helper);\n if (stream && a.str) a.str.forEach(helper);\n return m;\n }\n var map = agg.reduce(\n collect,\n agg.reduce(function(m, a) {\n m[a.name] = a;\n return m;\n }, {})\n );\n var values = [], key;\n for (key in map) values.push(map[key]);\n return values.sort(compareIndex);\n}\n\nfunction compileMeasures(agg, field) {\n var get = field || __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"t\" /* identity */],\n all = resolve(agg, true), // assume streaming removes may occur\n init = 'var cell = this.cell; this.valid = 0; this.missing = 0;',\n ctr = 'this.cell = cell; this.init();',\n add = 'if(v==null){++this.missing; return;} if(v!==v) return; ++this.valid;',\n rem = 'if(v==null){--this.missing; return;} if(v!==v) return; --this.valid;',\n set = 'var cell = this.cell;';\n\n all.forEach(function(a) {\n init += a.init;\n add += a.add;\n rem += a.rem;\n });\n agg.slice().sort(compareIndex).forEach(function(a) {\n set += 't[\\'' + a.out + '\\']=' + a.set + ';';\n });\n set += 'return t;';\n\n ctr = Function('cell', ctr);\n ctr.prototype.init = Function(init);\n ctr.prototype.add = Function('v', 't', add);\n ctr.prototype.rem = Function('v', 't', rem);\n ctr.prototype.set = Function('t', set);\n ctr.prototype.get = get;\n ctr.fields = agg.map(function(_) { return _.out; });\n return ctr;\n}\n\n\n/***/ }),\n/* 68 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(x) {\n return x === null ? NaN : +x;\n});\n\n\n/***/ }),\n/* 69 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"F\", function() { return Top; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"r\", function() { return Left; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"w\", function() { return Right; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return Bottom; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"G\", function() { return TopLeft; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"H\", function() { return TopRight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return BottomLeft; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return BottomRight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"C\", function() { return Start; });\n/* unused harmony export Middle */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return End; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"q\", function() { return Group; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return AxisRole; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"E\", function() { return TitleRole; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"p\", function() { return FrameRole; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"B\", function() { return ScopeRole; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"s\", function() { return LegendRole; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"z\", function() { return RowHeader; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"y\", function() { return RowFooter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"A\", function() { return RowTitle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return ColHeader; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return ColFooter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return ColTitle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"v\", function() { return Padding; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"D\", function() { return Symbols; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"l\", function() { return Fit; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"m\", function() { return FitX; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"n\", function() { return FitY; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"u\", function() { return Pad; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"t\", function() { return None; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return All; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return Each; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"o\", function() { return Flush; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return Column; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"x\", function() { return Row; });\nvar Top = 'top';\nvar Left = 'left';\nvar Right = 'right';\nvar Bottom = 'bottom';\n\nvar TopLeft = 'top-left';\nvar TopRight = 'top-right';\nvar BottomLeft = 'bottom-left';\nvar BottomRight = 'bottom-right';\n\nvar Start = 'start';\nvar Middle = 'middle';\nvar End = 'end';\n\nvar Group = 'group';\n\nvar AxisRole = 'axis';\nvar TitleRole = 'title';\nvar FrameRole = 'frame';\nvar ScopeRole = 'scope';\nvar LegendRole = 'legend';\n\nvar RowHeader = 'row-header';\nvar RowFooter = 'row-footer';\nvar RowTitle = 'row-title';\nvar ColHeader = 'column-header';\nvar ColFooter = 'column-footer';\nvar ColTitle = 'column-title';\n\nvar Padding = 'padding';\n\nvar Symbols = 'symbol';\n\nvar Fit = 'fit';\nvar FitX = 'fit-x';\nvar FitY = 'fit-y';\nvar Pad = 'pad';\nvar None = 'none';\n\nvar All = 'all';\nvar Each = 'each';\nvar Flush = 'flush';\n\nvar Column = 'column';\nvar Row = 'row';\n\n\n\n\n/***/ }),\n/* 70 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return abs; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return atan2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return cos; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return max; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return min; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return sin; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"l\", function() { return sqrt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return epsilon; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return pi; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return halfPi; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"m\", function() { return tau; });\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = acos;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = asin;\nvar abs = Math.abs;\nvar atan2 = Math.atan2;\nvar cos = Math.cos;\nvar max = Math.max;\nvar min = Math.min;\nvar sin = Math.sin;\nvar sqrt = Math.sqrt;\n\nvar epsilon = 1e-12;\nvar pi = Math.PI;\nvar halfPi = pi / 2;\nvar tau = 2 * pi;\n\nfunction acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nfunction asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\n\n\n/***/ }),\n/* 71 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 72 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(series) {\n var n = series.length, o = new Array(n);\n while (--n >= 0) o[n] = n;\n return o;\n});\n\n\n/***/ }),\n/* 73 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = context;\nvar bounds,\n tau = Math.PI * 2,\n halfPi = tau / 4,\n circleThreshold = tau - 1e-8;\n\nfunction context(_) {\n bounds = _;\n return context;\n}\n\nfunction noop() {}\n\nfunction add(x, y) { bounds.add(x, y); }\n\ncontext.beginPath = noop;\n\ncontext.closePath = noop;\n\ncontext.moveTo = add;\n\ncontext.lineTo = add;\n\ncontext.rect = function(x, y, w, h) {\n add(x, y);\n add(x + w, y + h);\n};\n\ncontext.quadraticCurveTo = function(x1, y1, x2, y2) {\n add(x1, y1);\n add(x2, y2);\n};\n\ncontext.bezierCurveTo = function(x1, y1, x2, y2, x3, y3) {\n add(x1, y1);\n add(x2, y2);\n add(x3, y3);\n};\n\ncontext.arc = function(cx, cy, r, sa, ea, ccw) {\n if (Math.abs(ea - sa) > circleThreshold) {\n add(cx - r, cy - r);\n add(cx + r, cy + r);\n return;\n }\n\n var xmin = Infinity, xmax = -Infinity,\n ymin = Infinity, ymax = -Infinity,\n s, i, x, y;\n\n function update(a) {\n x = r * Math.cos(a);\n y = r * Math.sin(a);\n if (x < xmin) xmin = x;\n if (x > xmax) xmax = x;\n if (y < ymin) ymin = y;\n if (y > ymax) ymax = y;\n }\n\n // Sample end points and interior points aligned with 90 degrees\n update(sa);\n update(ea);\n\n if (ea !== sa) {\n sa = sa % tau; if (sa < 0) sa += tau;\n ea = ea % tau; if (ea < 0) ea += tau;\n\n if (ea < sa) {\n ccw = !ccw; // flip direction\n s = sa; sa = ea; ea = s; // swap end-points\n }\n\n if (ccw) {\n ea -= tau;\n s = sa - (sa % halfPi);\n for (i=0; i<4 && s>ea; ++i, s-=halfPi) update(s);\n } else {\n s = sa - (sa % halfPi) + halfPi;\n for (i=0; i<4 && s<ea; ++i, s=s+halfPi) update(s);\n }\n }\n\n add(cx + xmin, cy + ymin);\n add(cx + xmax, cy + ymax);\n};\n\n\n/***/ }),\n/* 74 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = tickCount;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = validTicks;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = tickValues;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = tickFormat;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__scale_types__ = __webpack_require__(169);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_scale__ = __webpack_require__(52);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_d3_format__ = __webpack_require__(77);\n\n\n\n\n\n/**\n * Determine the tick count or interval function.\n * @param {Scale} scale - The scale for which to generate tick values.\n * @param {*} count - The desired tick count or interval specifier.\n * @return {*} - The tick count or interval function.\n */\nfunction tickCount(scale, count) {\n var step;\n\n if (Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"A\" /* isObject */])(count)) {\n step = count.step;\n count = count.interval;\n }\n\n if (Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"C\" /* isString */])(count)) {\n count = scale.type === 'time' ? Object(__WEBPACK_IMPORTED_MODULE_1_vega_scale__[\"i\" /* timeInterval */])(count)\n : scale.type === 'utc' ? Object(__WEBPACK_IMPORTED_MODULE_1_vega_scale__[\"j\" /* utcInterval */])(count)\n : Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"m\" /* error */])('Only time and utc scales accept interval strings.');\n if (step) count = count.every(step);\n }\n\n return count;\n}\n\n/**\n * Filter a set of candidate tick values, ensuring that only tick values\n * that lie within the scale range are included.\n * @param {Scale} scale - The scale for which to generate tick values.\n * @param {Array<*>} ticks - The candidate tick values.\n * @param {*} count - The tick count or interval function.\n * @return {Array<*>} - The filtered tick values.\n */\nfunction validTicks(scale, ticks, count) {\n var range = scale.range(),\n lo = range[0],\n hi = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"L\" /* peek */])(range);\n if (lo > hi) {\n range = hi;\n hi = lo;\n lo = range;\n }\n\n ticks = ticks.filter(function(v) {\n v = scale(v);\n return !(v < lo || v > hi)\n });\n\n if (count > 0 && ticks.length > 1) {\n var endpoints = [ticks[0], Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"L\" /* peek */])(ticks)];\n while (ticks.length > count && ticks.length >= 3) {\n ticks = ticks.filter(function(_, i) { return !(i % 2); });\n }\n if (ticks.length < 3) {\n ticks = endpoints;\n }\n }\n\n return ticks;\n}\n\n/**\n * Generate tick values for the given scale and approximate tick count or\n * interval value. If the scale has a 'ticks' method, it will be used to\n * generate the ticks, with the count argument passed as a parameter. If the\n * scale lacks a 'ticks' method, the full scale domain will be returned.\n * @param {Scale} scale - The scale for which to generate tick values.\n * @param {*} [count] - The approximate number of desired ticks.\n * @return {Array<*>} - The generated tick values.\n */\nfunction tickValues(scale, count) {\n return scale.ticks ? scale.ticks(count) : scale.domain();\n}\n\n/**\n * Generate a label format function for a scale. If the scale has a\n * 'tickFormat' method, it will be used to generate the formatter, with the\n * count and specifier arguments passed as parameters. If the scale lacks a\n * 'tickFormat' method, the returned formatter performs simple string coercion.\n * If the input scale is a logarithmic scale and the format specifier does not\n * indicate a desired decimal precision, a special variable precision formatter\n * that automatically trims trailing zeroes will be generated.\n * @param {Scale} scale - The scale for which to generate the label formatter.\n * @param {*} [count] - The approximate number of desired ticks.\n * @param {string} [specifier] - The format specifier. Must be a legal d3 4.0\n * specifier string (see https://github.com/d3/d3-format#formatSpecifier).\n * @return {function(*):string} - The generated label formatter.\n */\nfunction tickFormat(scale, count, specifier) {\n var format = scale.tickFormat ? scale.tickFormat(count, specifier)\n : specifier ? Object(__WEBPACK_IMPORTED_MODULE_3_d3_format__[\"a\" /* format */])(specifier)\n : String;\n\n return (scale.type === __WEBPACK_IMPORTED_MODULE_0__scale_types__[\"e\" /* Log */])\n ? filter(format, variablePrecision(specifier))\n : format;\n}\n\nfunction filter(sourceFormat, targetFormat) {\n return function(_) {\n return sourceFormat(_) ? targetFormat(_) : '';\n };\n}\n\nfunction variablePrecision(specifier) {\n var s = Object(__WEBPACK_IMPORTED_MODULE_3_d3_format__[\"d\" /* formatSpecifier */])(specifier || ',');\n\n if (s.precision == null) {\n s.precision = 12;\n switch (s.type) {\n case '%': s.precision -= 2; break;\n case 'e': s.precision -= 1; break;\n }\n return trimZeroes(\n Object(__WEBPACK_IMPORTED_MODULE_3_d3_format__[\"a\" /* format */])(s), // number format\n Object(__WEBPACK_IMPORTED_MODULE_3_d3_format__[\"a\" /* format */])('.1f')(1)[1] // decimal point character\n );\n } else {\n return Object(__WEBPACK_IMPORTED_MODULE_3_d3_format__[\"a\" /* format */])(s);\n }\n}\n\nfunction trimZeroes(format, decimalChar) {\n return function(x) {\n var str = format(x),\n dec = str.indexOf(decimalChar),\n idx, end;\n\n if (dec < 0) return str;\n\n idx = rightmostDigit(str, dec);\n end = idx < str.length ? str.slice(idx) : '';\n while (--idx > dec) if (str[idx] !== '0') { ++idx; break; }\n\n return str.slice(0, idx) + end;\n };\n}\n\nfunction rightmostDigit(str, dec) {\n var i = str.lastIndexOf('e'), c;\n if (i > 0) return i;\n for (i=str.length; --i > dec;) {\n c = str.charCodeAt(i);\n if (c >= 48 && c <= 57) return i + 1; // is digit\n }\n}\n\n\n/***/ }),\n/* 75 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_band__ = __webpack_require__(646);\n/* unused harmony reexport scaleBand */\n/* unused harmony reexport scalePoint */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_identity__ = __webpack_require__(652);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_identity__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_linear__ = __webpack_require__(57);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_linear__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_log__ = __webpack_require__(677);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return __WEBPACK_IMPORTED_MODULE_3__src_log__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__src_ordinal__ = __webpack_require__(299);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return __WEBPACK_IMPORTED_MODULE_4__src_ordinal__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_4__src_ordinal__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__src_pow__ = __webpack_require__(678);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return __WEBPACK_IMPORTED_MODULE_5__src_pow__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return __WEBPACK_IMPORTED_MODULE_5__src_pow__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__src_quantile__ = __webpack_require__(679);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return __WEBPACK_IMPORTED_MODULE_6__src_quantile__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__src_quantize__ = __webpack_require__(680);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return __WEBPACK_IMPORTED_MODULE_7__src_quantize__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__src_threshold__ = __webpack_require__(681);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return __WEBPACK_IMPORTED_MODULE_8__src_threshold__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__src_time__ = __webpack_require__(313);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return __WEBPACK_IMPORTED_MODULE_9__src_time__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__src_utcTime__ = __webpack_require__(682);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"l\", function() { return __WEBPACK_IMPORTED_MODULE_10__src_utcTime__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__src_sequential__ = __webpack_require__(683);\n/* unused harmony reexport scaleSequential */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__src_diverging__ = __webpack_require__(684);\n/* unused harmony reexport scaleDiverging */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 76 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = hue;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = gamma;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = nogamma;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constant__ = __webpack_require__(303);\n\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\nfunction hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : Object(__WEBPACK_IMPORTED_MODULE_0__constant__[\"a\" /* default */])(isNaN(a) ? b : a);\n}\n\nfunction gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : Object(__WEBPACK_IMPORTED_MODULE_0__constant__[\"a\" /* default */])(isNaN(a) ? b : a);\n };\n}\n\nfunction nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : Object(__WEBPACK_IMPORTED_MODULE_0__constant__[\"a\" /* default */])(isNaN(a) ? b : a);\n}\n\n\n/***/ }),\n/* 77 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_defaultLocale__ = __webpack_require__(667);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_defaultLocale__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_defaultLocale__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_defaultLocale__[\"c\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_locale__ = __webpack_require__(309);\n/* unused harmony reexport formatLocale */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_formatSpecifier__ = __webpack_require__(310);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_formatSpecifier__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_precisionFixed__ = __webpack_require__(674);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return __WEBPACK_IMPORTED_MODULE_3__src_precisionFixed__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__src_precisionPrefix__ = __webpack_require__(675);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return __WEBPACK_IMPORTED_MODULE_4__src_precisionPrefix__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__src_precisionRound__ = __webpack_require__(676);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return __WEBPACK_IMPORTED_MODULE_5__src_precisionRound__[\"a\"]; });\n\n\n\n\n\n\n\n\n/***/ }),\n/* 78 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"g\"] = spherical;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = cartesian;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = cartesianDot;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = cartesianCross;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = cartesianAddInPlace;\n/* harmony export (immutable) */ __webpack_exports__[\"f\"] = cartesianScale;\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = cartesianNormalizeInPlace;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__math__ = __webpack_require__(6);\n\n\nfunction spherical(cartesian) {\n return [Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"e\" /* atan2 */])(cartesian[1], cartesian[0]), Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"c\" /* asin */])(cartesian[2])];\n}\n\nfunction cartesian(spherical) {\n var lambda = spherical[0], phi = spherical[1], cosPhi = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"g\" /* cos */])(phi);\n return [cosPhi * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"g\" /* cos */])(lambda), cosPhi * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(lambda), Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(phi)];\n}\n\nfunction cartesianDot(a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n}\n\nfunction 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\nfunction cartesianAddInPlace(a, b) {\n a[0] += b[0], a[1] += b[1], a[2] += b[2];\n}\n\nfunction cartesianScale(vector, k) {\n return [vector[0] * k, vector[1] * k, vector[2] * k];\n}\n\n// TODO return d\nfunction cartesianNormalizeInPlace(d) {\n var l = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"u\" /* 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\n\n/***/ }),\n/* 79 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = azimuthalRaw;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = azimuthalInvert;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__math__ = __webpack_require__(6);\n\n\nfunction azimuthalRaw(scale) {\n return function(x, y) {\n var cx = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"g\" /* cos */])(x),\n cy = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"g\" /* cos */])(y),\n k = scale(cx * cy);\n return [\n k * cy * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(x),\n k * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(y)\n ];\n }\n}\n\nfunction azimuthalInvert(angle) {\n return function(x, y) {\n var z = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"u\" /* sqrt */])(x * x + y * y),\n c = angle(z),\n sc = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(c),\n cc = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"g\" /* cos */])(c);\n return [\n Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"e\" /* atan2 */])(x * sc, z * cc),\n Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"c\" /* asin */])(z && y * sc / z)\n ];\n }\n}\n\n\n/***/ }),\n/* 80 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 81 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return epsilon; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return epsilon2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return beaches; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return cells; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return circles; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return edges; });\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = Diagram;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Beach__ = __webpack_require__(846);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Cell__ = __webpack_require__(342);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Circle__ = __webpack_require__(343);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Edge__ = __webpack_require__(190);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__RedBlackTree__ = __webpack_require__(189);\n\n\n\n\n\n\nvar epsilon = 1e-6;\nvar epsilon2 = 1e-12;\nvar beaches;\nvar cells;\nvar circles;\nvar 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\nfunction 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 __WEBPACK_IMPORTED_MODULE_4__RedBlackTree__[\"b\" /* default */];\n circles = new __WEBPACK_IMPORTED_MODULE_4__RedBlackTree__[\"b\" /* default */];\n\n while (true) {\n circle = __WEBPACK_IMPORTED_MODULE_2__Circle__[\"c\" /* 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 Object(__WEBPACK_IMPORTED_MODULE_0__Beach__[\"a\" /* addBeach */])(site);\n x = site[0], y = site[1];\n }\n site = sites.pop();\n } else if (circle) {\n Object(__WEBPACK_IMPORTED_MODULE_0__Beach__[\"b\" /* removeBeach */])(circle.arc);\n } else {\n break;\n }\n }\n\n Object(__WEBPACK_IMPORTED_MODULE_1__Cell__[\"d\" /* 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 Object(__WEBPACK_IMPORTED_MODULE_3__Edge__[\"a\" /* clipEdges */])(x0, y0, x1, y1);\n Object(__WEBPACK_IMPORTED_MODULE_1__Cell__[\"b\" /* 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 Object(__WEBPACK_IMPORTED_MODULE_1__Cell__[\"a\" /* 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\n\n/***/ }),\n/* 82 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = DataScope;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__transforms__ = __webpack_require__(25);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n\n\n\n\nfunction DataScope(scope, input, output, values, aggr) {\n this.scope = scope; // parent scope object\n this.input = input; // first operator in pipeline (tuple input)\n this.output = output; // last operator in pipeline (tuple output)\n this.values = values; // operator for accessing tuples (but not tuple flow)\n\n // last aggregate in transform pipeline\n this.aggregate = aggr;\n\n // lookup table of field indices\n this.index = {};\n}\n\nDataScope.fromEntries = function(scope, entries) {\n var n = entries.length,\n i = 1,\n input = entries[0],\n values = entries[n-1],\n output = entries[n-2],\n aggr = null;\n\n // add operator entries to this scope, wire up pulse chain\n scope.add(entries[0]);\n for (; i<n; ++i) {\n entries[i].params.pulse = Object(__WEBPACK_IMPORTED_MODULE_0__util__[\"o\" /* ref */])(entries[i-1]);\n scope.add(entries[i]);\n if (entries[i].type === 'aggregate') aggr = entries[i];\n }\n\n return new DataScope(scope, input, output, values, aggr);\n};\n\nvar prototype = DataScope.prototype;\n\nprototype.countsRef = function(scope, field, sort) {\n var ds = this,\n cache = ds.counts || (ds.counts = {}),\n k = fieldKey(field), v, a, p;\n\n if (k != null) {\n scope = ds.scope;\n v = cache[k];\n }\n\n if (!v) {\n p = {\n groupby: scope.fieldRef(field, 'key'),\n pulse: Object(__WEBPACK_IMPORTED_MODULE_0__util__[\"o\" /* ref */])(ds.output)\n };\n if (sort && sort.field) addSortField(scope, p, sort);\n a = scope.add(Object(__WEBPACK_IMPORTED_MODULE_1__transforms__[\"a\" /* Aggregate */])(p));\n v = scope.add(Object(__WEBPACK_IMPORTED_MODULE_1__transforms__[\"d\" /* Collect */])({pulse: Object(__WEBPACK_IMPORTED_MODULE_0__util__[\"o\" /* ref */])(a)}));\n v = {agg: a, ref: Object(__WEBPACK_IMPORTED_MODULE_0__util__[\"o\" /* ref */])(v)};\n if (k != null) cache[k] = v;\n } else if (sort && sort.field) {\n addSortField(scope, v.agg.params, sort);\n }\n\n return v.ref;\n};\n\nfunction fieldKey(field) {\n return Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"C\" /* isString */])(field) ? field : null;\n}\n\nfunction addSortField(scope, p, sort) {\n var as = Object(__WEBPACK_IMPORTED_MODULE_0__util__[\"e\" /* aggrField */])(sort.op, sort.field), s;\n\n if (p.ops) {\n for (var i=0, n=p.as.length; i<n; ++i) {\n if (p.as[i] === as) return;\n }\n } else {\n p.ops = ['count'];\n p.fields = [null];\n p.as = ['count'];\n }\n if (sort.op) {\n p.ops.push((s=sort.op.signal) ? scope.signalRef(s) : sort.op);\n p.fields.push(scope.fieldRef(sort.field));\n p.as.push(as);\n }\n}\n\nfunction cache(scope, ds, name, optype, field, counts, index) {\n var cache = ds[name] || (ds[name] = {}),\n sort = Object(__WEBPACK_IMPORTED_MODULE_0__util__[\"p\" /* sortKey */])(counts),\n k = fieldKey(field), v, op;\n\n if (k != null) {\n scope = ds.scope;\n k = k + (sort ? '|' + sort : '');\n v = cache[k];\n }\n\n if (!v) {\n var params = counts\n ? {field: __WEBPACK_IMPORTED_MODULE_0__util__[\"l\" /* keyFieldRef */], pulse: ds.countsRef(scope, field, counts)}\n : {field: scope.fieldRef(field), pulse: Object(__WEBPACK_IMPORTED_MODULE_0__util__[\"o\" /* ref */])(ds.output)};\n if (sort) params.sort = scope.sortRef(counts);\n op = scope.add(Object(__WEBPACK_IMPORTED_MODULE_0__util__[\"h\" /* entry */])(optype, undefined, params));\n if (index) ds.index[field] = op;\n v = Object(__WEBPACK_IMPORTED_MODULE_0__util__[\"o\" /* ref */])(op);\n if (k != null) cache[k] = v;\n }\n return v;\n}\n\nprototype.tuplesRef = function() {\n return Object(__WEBPACK_IMPORTED_MODULE_0__util__[\"o\" /* ref */])(this.values);\n};\n\nprototype.extentRef = function(scope, field) {\n return cache(scope, this, 'extent', 'extent', field, false);\n};\n\nprototype.domainRef = function(scope, field) {\n return cache(scope, this, 'domain', 'values', field, false);\n};\n\nprototype.valuesRef = function(scope, field, sort) {\n return cache(scope, this, 'vals', 'values', field, sort || true);\n};\n\nprototype.lookupRef = function(scope, field) {\n return cache(scope, this, 'lookup', 'tupleindex', field, false);\n};\n\nprototype.indataRef = function(scope, field) {\n return cache(scope, this, 'indata', 'tupleindex', field, true, true);\n};\n\n\n/***/ }),\n/* 83 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export default */\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = operatorExpression;\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = parameterExpression;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = eventExpression;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = handlerExpression;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = encodeExpression;\n/**\n * Parse an expression given the argument signature and body code.\n */\nfunction expression(args, code, ctx) {\n // wrap code in return statement if expression does not terminate\n if (code[code.length-1] !== ';') {\n code = 'return(' + code + ');';\n }\n var fn = Function.apply(null, args.concat(code));\n return ctx && ctx.functions ? fn.bind(ctx.functions) : fn;\n}\n\n/**\n * Parse an expression used to update an operator value.\n */\nfunction operatorExpression(code, ctx) {\n return expression(['_'], code, ctx);\n}\n\n/**\n * Parse an expression provided as an operator parameter value.\n */\nfunction parameterExpression(code, ctx) {\n return expression(['datum', '_'], code, ctx);\n}\n\n/**\n * Parse an expression applied to an event stream.\n */\nfunction eventExpression(code, ctx) {\n return expression(['event'], code, ctx);\n}\n\n/**\n * Parse an expression used to handle an event-driven operator update.\n */\nfunction handlerExpression(code, ctx) {\n return expression(['_', 'event'], code, ctx);\n}\n\n/**\n * Parse an expression that performs visual encoding.\n */\nfunction encodeExpression(code, ctx) {\n return expression(['item', '_'], code, ctx);\n}\n\n\n/***/ }),\n/* 84 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AGGREGATE_OPS\", function() { return AGGREGATE_OPS; });\n/* harmony export (immutable) */ __webpack_exports__[\"isAggregateOp\"] = isAggregateOp;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"COUNTING_OPS\", function() { return COUNTING_OPS; });\n/* harmony export (immutable) */ __webpack_exports__[\"isCountingAggregateOp\"] = isCountingAggregateOp;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SUM_OPS\", function() { return SUM_OPS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SHARED_DOMAIN_OPS\", function() { return SHARED_DOMAIN_OPS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SHARED_DOMAIN_OP_INDEX\", function() { return SHARED_DOMAIN_OP_INDEX; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(3);\n\n\nvar AGGREGATE_OP_INDEX = {\n argmax: 1,\n argmin: 1,\n average: 1,\n count: 1,\n distinct: 1,\n max: 1,\n mean: 1,\n median: 1,\n min: 1,\n missing: 1,\n q1: 1,\n q3: 1,\n ci0: 1,\n ci1: 1,\n stderr: 1,\n stdev: 1,\n stdevp: 1,\n sum: 1,\n valid: 1,\n values: 1,\n variance: 1,\n variancep: 1,\n};\nvar AGGREGATE_OPS = Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"flagKeys\"])(AGGREGATE_OP_INDEX);\nfunction isAggregateOp(a) {\n return !!AGGREGATE_OP_INDEX[a];\n}\nvar COUNTING_OPS = ['count', 'valid', 'missing', 'distinct'];\nfunction isCountingAggregateOp(aggregate) {\n return aggregate && Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"contains\"])(COUNTING_OPS, aggregate);\n}\n/** Additive-based aggregation operations. These can be applied to stack. */\nvar SUM_OPS = [\n 'count',\n 'sum',\n 'distinct',\n 'valid',\n 'missing'\n];\n/**\n * Aggregation operators that always produce values within the range [domainMin, domainMax].\n */\nvar SHARED_DOMAIN_OPS = [\n 'mean',\n 'average',\n 'median',\n 'q1',\n 'q3',\n 'min',\n 'max',\n];\nvar SHARED_DOMAIN_OP_INDEX = Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"S\" /* toSet */])(SHARED_DOMAIN_OPS);\n//# sourceMappingURL=aggregate.js.map\n\n/***/ }),\n/* 85 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (immutable) */ __webpack_exports__[\"binToString\"] = binToString;\n/* harmony export (immutable) */ __webpack_exports__[\"isBinParams\"] = isBinParams;\n/* harmony export (immutable) */ __webpack_exports__[\"autoMaxBins\"] = autoMaxBins;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(3);\n\n\n\nfunction binToString(bin) {\n if (Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"w\" /* isBoolean */])(bin)) {\n return 'bin';\n }\n return 'bin' + Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"keys\"])(bin).map(function (p) { return Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"varName\"])(\"_\" + p + \"_\" + bin[p]); }).join('');\n}\nfunction isBinParams(bin) {\n return bin && !Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"w\" /* isBoolean */])(bin);\n}\nfunction autoMaxBins(channel) {\n switch (channel) {\n case __WEBPACK_IMPORTED_MODULE_1__channel__[\"ROW\"]:\n case __WEBPACK_IMPORTED_MODULE_1__channel__[\"COLUMN\"]:\n case __WEBPACK_IMPORTED_MODULE_1__channel__[\"SIZE\"]:\n case __WEBPACK_IMPORTED_MODULE_1__channel__[\"COLOR\"]:\n case __WEBPACK_IMPORTED_MODULE_1__channel__[\"FILL\"]:\n case __WEBPACK_IMPORTED_MODULE_1__channel__[\"STROKE\"]:\n case __WEBPACK_IMPORTED_MODULE_1__channel__[\"OPACITY\"]:\n // Facets and Size shouldn't have too many bins\n // We choose 6 like shape to simplify the rule\n case __WEBPACK_IMPORTED_MODULE_1__channel__[\"SHAPE\"]:\n return 6; // Vega's \"shape\" has 6 distinct values\n default:\n return 10;\n }\n}\n//# sourceMappingURL=bin.js.map\n\n/***/ }),\n/* 86 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TimeUnit\", function() { return TimeUnit; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TIMEUNIT_PARTS\", function() { return TIMEUNIT_PARTS; });\n/* harmony export (immutable) */ __webpack_exports__[\"isLocalSingleTimeUnit\"] = isLocalSingleTimeUnit;\n/* harmony export (immutable) */ __webpack_exports__[\"isUtcSingleTimeUnit\"] = isUtcSingleTimeUnit;\n/* harmony export (immutable) */ __webpack_exports__[\"isUTCTimeUnit\"] = isUTCTimeUnit;\n/* harmony export (immutable) */ __webpack_exports__[\"getLocalTimeUnit\"] = getLocalTimeUnit;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TIMEUNITS\", function() { return TIMEUNITS; });\n/* harmony export (immutable) */ __webpack_exports__[\"isTimeUnit\"] = isTimeUnit;\n/* harmony export (immutable) */ __webpack_exports__[\"convert\"] = convert;\n/* harmony export (immutable) */ __webpack_exports__[\"getTimeUnitParts\"] = getTimeUnitParts;\n/* harmony export (immutable) */ __webpack_exports__[\"containsTimeUnit\"] = containsTimeUnit;\n/* harmony export (immutable) */ __webpack_exports__[\"fieldExpr\"] = fieldExpr;\n/* harmony export (immutable) */ __webpack_exports__[\"formatExpression\"] = formatExpression;\n/* harmony export (immutable) */ __webpack_exports__[\"normalizeTimeUnit\"] = normalizeTimeUnit;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__datetime__ = __webpack_require__(128);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(3);\n\n\n\n\nvar TimeUnit;\n(function (TimeUnit) {\n TimeUnit.YEAR = 'year';\n TimeUnit.MONTH = 'month';\n TimeUnit.DAY = 'day';\n TimeUnit.DATE = 'date';\n TimeUnit.HOURS = 'hours';\n TimeUnit.MINUTES = 'minutes';\n TimeUnit.SECONDS = 'seconds';\n TimeUnit.MILLISECONDS = 'milliseconds';\n TimeUnit.YEARMONTH = 'yearmonth';\n TimeUnit.YEARMONTHDATE = 'yearmonthdate';\n TimeUnit.YEARMONTHDATEHOURS = 'yearmonthdatehours';\n TimeUnit.YEARMONTHDATEHOURSMINUTES = 'yearmonthdatehoursminutes';\n TimeUnit.YEARMONTHDATEHOURSMINUTESSECONDS = 'yearmonthdatehoursminutesseconds';\n // MONTHDATE always include 29 February since we use year 0th (which is a leap year);\n TimeUnit.MONTHDATE = 'monthdate';\n TimeUnit.HOURSMINUTES = 'hoursminutes';\n TimeUnit.HOURSMINUTESSECONDS = 'hoursminutesseconds';\n TimeUnit.MINUTESSECONDS = 'minutesseconds';\n TimeUnit.SECONDSMILLISECONDS = 'secondsmilliseconds';\n TimeUnit.QUARTER = 'quarter';\n TimeUnit.YEARQUARTER = 'yearquarter';\n TimeUnit.QUARTERMONTH = 'quartermonth';\n TimeUnit.YEARQUARTERMONTH = 'yearquartermonth';\n TimeUnit.UTCYEAR = 'utcyear';\n TimeUnit.UTCMONTH = 'utcmonth';\n TimeUnit.UTCDAY = 'utcday';\n TimeUnit.UTCDATE = 'utcdate';\n TimeUnit.UTCHOURS = 'utchours';\n TimeUnit.UTCMINUTES = 'utcminutes';\n TimeUnit.UTCSECONDS = 'utcseconds';\n TimeUnit.UTCMILLISECONDS = 'utcmilliseconds';\n TimeUnit.UTCYEARMONTH = 'utcyearmonth';\n TimeUnit.UTCYEARMONTHDATE = 'utcyearmonthdate';\n TimeUnit.UTCYEARMONTHDATEHOURS = 'utcyearmonthdatehours';\n TimeUnit.UTCYEARMONTHDATEHOURSMINUTES = 'utcyearmonthdatehoursminutes';\n TimeUnit.UTCYEARMONTHDATEHOURSMINUTESSECONDS = 'utcyearmonthdatehoursminutesseconds';\n // MONTHDATE always include 29 February since we use year 0th (which is a leap year);\n TimeUnit.UTCMONTHDATE = 'utcmonthdate';\n TimeUnit.UTCHOURSMINUTES = 'utchoursminutes';\n TimeUnit.UTCHOURSMINUTESSECONDS = 'utchoursminutesseconds';\n TimeUnit.UTCMINUTESSECONDS = 'utcminutesseconds';\n TimeUnit.UTCSECONDSMILLISECONDS = 'utcsecondsmilliseconds';\n TimeUnit.UTCQUARTER = 'utcquarter';\n TimeUnit.UTCYEARQUARTER = 'utcyearquarter';\n TimeUnit.UTCQUARTERMONTH = 'utcquartermonth';\n TimeUnit.UTCYEARQUARTERMONTH = 'utcyearquartermonth';\n})(TimeUnit || (TimeUnit = {}));\n/** Time Unit that only corresponds to only one part of Date objects. */\nvar LOCAL_SINGLE_TIMEUNIT_INDEX = {\n year: 1,\n quarter: 1,\n month: 1,\n day: 1,\n date: 1,\n hours: 1,\n minutes: 1,\n seconds: 1,\n milliseconds: 1\n};\nvar TIMEUNIT_PARTS = Object(__WEBPACK_IMPORTED_MODULE_3__util__[\"flagKeys\"])(LOCAL_SINGLE_TIMEUNIT_INDEX);\nfunction isLocalSingleTimeUnit(timeUnit) {\n return !!LOCAL_SINGLE_TIMEUNIT_INDEX[timeUnit];\n}\nvar UTC_SINGLE_TIMEUNIT_INDEX = {\n utcyear: 1,\n utcquarter: 1,\n utcmonth: 1,\n utcday: 1,\n utcdate: 1,\n utchours: 1,\n utcminutes: 1,\n utcseconds: 1,\n utcmilliseconds: 1\n};\nfunction isUtcSingleTimeUnit(timeUnit) {\n return !!UTC_SINGLE_TIMEUNIT_INDEX[timeUnit];\n}\nvar LOCAL_MULTI_TIMEUNIT_INDEX = {\n yearquarter: 1,\n yearquartermonth: 1,\n yearmonth: 1,\n yearmonthdate: 1,\n yearmonthdatehours: 1,\n yearmonthdatehoursminutes: 1,\n yearmonthdatehoursminutesseconds: 1,\n quartermonth: 1,\n monthdate: 1,\n hoursminutes: 1,\n hoursminutesseconds: 1,\n minutesseconds: 1,\n secondsmilliseconds: 1\n};\nvar UTC_MULTI_TIMEUNIT_INDEX = {\n utcyearquarter: 1,\n utcyearquartermonth: 1,\n utcyearmonth: 1,\n utcyearmonthdate: 1,\n utcyearmonthdatehours: 1,\n utcyearmonthdatehoursminutes: 1,\n utcyearmonthdatehoursminutesseconds: 1,\n utcquartermonth: 1,\n utcmonthdate: 1,\n utchoursminutes: 1,\n utchoursminutesseconds: 1,\n utcminutesseconds: 1,\n utcsecondsmilliseconds: 1\n};\nvar UTC_TIMEUNIT_INDEX = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, UTC_SINGLE_TIMEUNIT_INDEX, UTC_MULTI_TIMEUNIT_INDEX);\nfunction isUTCTimeUnit(t) {\n return !!UTC_TIMEUNIT_INDEX[t];\n}\nfunction getLocalTimeUnit(t) {\n return t.substr(3);\n}\nvar TIMEUNIT_INDEX = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, LOCAL_SINGLE_TIMEUNIT_INDEX, UTC_SINGLE_TIMEUNIT_INDEX, LOCAL_MULTI_TIMEUNIT_INDEX, UTC_MULTI_TIMEUNIT_INDEX);\nvar TIMEUNITS = Object(__WEBPACK_IMPORTED_MODULE_3__util__[\"flagKeys\"])(TIMEUNIT_INDEX);\nfunction isTimeUnit(t) {\n return !!TIMEUNIT_INDEX[t];\n}\nvar SET_DATE_METHOD = {\n year: 'setFullYear',\n month: 'setMonth',\n date: 'setDate',\n hours: 'setHours',\n minutes: 'setMinutes',\n seconds: 'setSeconds',\n milliseconds: 'setMilliseconds',\n // Day and quarter have their own special cases\n quarter: null,\n day: null,\n};\n/**\n * Converts a date to only have the measurements relevant to the specified unit\n * i.e. ('yearmonth', '2000-12-04 07:58:14') -> '2000-12-01 00:00:00'\n * Note: the base date is Jan 01 1900 00:00:00\n */\nfunction convert(unit, date) {\n var isUTC = isUTCTimeUnit(unit);\n var result = isUTC ?\n // start with uniform date\n new Date(Date.UTC(0, 0, 1, 0, 0, 0, 0)) :\n new Date(0, 0, 1, 0, 0, 0, 0);\n for (var _i = 0, TIMEUNIT_PARTS_1 = TIMEUNIT_PARTS; _i < TIMEUNIT_PARTS_1.length; _i++) {\n var timeUnitPart = TIMEUNIT_PARTS_1[_i];\n if (containsTimeUnit(unit, timeUnitPart)) {\n switch (timeUnitPart) {\n case TimeUnit.DAY:\n throw new Error('Cannot convert to TimeUnits containing \\'day\\'');\n case TimeUnit.QUARTER: {\n var _a = dateMethods('month', isUTC), getDateMethod_1 = _a.getDateMethod, setDateMethod_1 = _a.setDateMethod;\n // indicate quarter by setting month to be the first of the quarter i.e. may (4) -> april (3)\n result[setDateMethod_1]((Math.floor(date[getDateMethod_1]() / 3)) * 3);\n break;\n }\n default:\n var _b = dateMethods(timeUnitPart, isUTC), getDateMethod = _b.getDateMethod, setDateMethod = _b.setDateMethod;\n result[setDateMethod](date[getDateMethod]());\n }\n }\n }\n return result;\n}\nfunction dateMethods(singleUnit, isUtc) {\n var rawSetDateMethod = SET_DATE_METHOD[singleUnit];\n var setDateMethod = isUtc ? 'setUTC' + rawSetDateMethod.substr(3) : rawSetDateMethod;\n var getDateMethod = 'get' + (isUtc ? 'UTC' : '') + rawSetDateMethod.substr(3);\n return { setDateMethod: setDateMethod, getDateMethod: getDateMethod };\n}\nfunction getTimeUnitParts(timeUnit) {\n return TIMEUNIT_PARTS.reduce(function (parts, part) {\n if (containsTimeUnit(timeUnit, part)) {\n return parts.concat(part);\n }\n return parts;\n }, []);\n}\n/** Returns true if fullTimeUnit contains the timeUnit, false otherwise. */\nfunction containsTimeUnit(fullTimeUnit, timeUnit) {\n var index = fullTimeUnit.indexOf(timeUnit);\n return index > -1 &&\n (timeUnit !== TimeUnit.SECONDS ||\n index === 0 ||\n fullTimeUnit.charAt(index - 1) !== 'i' // exclude milliseconds\n );\n}\n/**\n * Returns Vega expresssion for a given timeUnit and fieldRef\n */\nfunction fieldExpr(fullTimeUnit, field) {\n var fieldRef = Object(__WEBPACK_IMPORTED_MODULE_3__util__[\"accessPathWithDatum\"])(field);\n var utc = isUTCTimeUnit(fullTimeUnit) ? 'utc' : '';\n function func(timeUnit) {\n if (timeUnit === TimeUnit.QUARTER) {\n // quarter starting at 0 (0,3,6,9).\n return \"(\" + utc + \"quarter(\" + fieldRef + \")-1)\";\n }\n else {\n return \"\" + utc + timeUnit + \"(\" + fieldRef + \")\";\n }\n }\n var d = TIMEUNIT_PARTS.reduce(function (dateExpr, tu) {\n if (containsTimeUnit(fullTimeUnit, tu)) {\n dateExpr[tu] = func(tu);\n }\n return dateExpr;\n }, {});\n return Object(__WEBPACK_IMPORTED_MODULE_1__datetime__[\"dateTimeExpr\"])(d);\n}\n/**\n * returns the signal expression used for axis labels for a time unit\n */\nfunction formatExpression(timeUnit, field, shortTimeLabels, isUTCScale) {\n if (!timeUnit) {\n return undefined;\n }\n var dateComponents = [];\n var expression = '';\n var hasYear = containsTimeUnit(timeUnit, TimeUnit.YEAR);\n if (containsTimeUnit(timeUnit, TimeUnit.QUARTER)) {\n // special expression for quarter as prefix\n expression = \"'Q' + quarter(\" + field + \")\";\n }\n if (containsTimeUnit(timeUnit, TimeUnit.MONTH)) {\n // By default use short month name\n dateComponents.push(shortTimeLabels !== false ? '%b' : '%B');\n }\n if (containsTimeUnit(timeUnit, TimeUnit.DAY)) {\n dateComponents.push(shortTimeLabels ? '%a' : '%A');\n }\n else if (containsTimeUnit(timeUnit, TimeUnit.DATE)) {\n dateComponents.push('%d' + (hasYear ? ',' : '')); // add comma if there is year\n }\n if (hasYear) {\n dateComponents.push(shortTimeLabels ? '%y' : '%Y');\n }\n var timeComponents = [];\n if (containsTimeUnit(timeUnit, TimeUnit.HOURS)) {\n timeComponents.push('%H');\n }\n if (containsTimeUnit(timeUnit, TimeUnit.MINUTES)) {\n timeComponents.push('%M');\n }\n if (containsTimeUnit(timeUnit, TimeUnit.SECONDS)) {\n timeComponents.push('%S');\n }\n if (containsTimeUnit(timeUnit, TimeUnit.MILLISECONDS)) {\n timeComponents.push('%L');\n }\n var dateTimeComponents = [];\n if (dateComponents.length > 0) {\n dateTimeComponents.push(dateComponents.join(' '));\n }\n if (timeComponents.length > 0) {\n dateTimeComponents.push(timeComponents.join(':'));\n }\n if (dateTimeComponents.length > 0) {\n if (expression) {\n // Add space between quarter and main time format\n expression += \" + ' ' + \";\n }\n // We only use utcFormat for utc scale\n // For utc time units, the data is already converted as a part of timeUnit transform.\n // Thus, utc time units should use timeFormat to avoid shifting the time twice.\n if (isUTCScale) {\n expression += \"utcFormat(\" + field + \", '\" + dateTimeComponents.join(' ') + \"')\";\n }\n else {\n expression += \"timeFormat(\" + field + \", '\" + dateTimeComponents.join(' ') + \"')\";\n }\n }\n // If expression is still an empty string, return undefined instead.\n return expression || undefined;\n}\nfunction normalizeTimeUnit(timeUnit) {\n if (timeUnit !== 'day' && timeUnit.indexOf('day') >= 0) {\n __WEBPACK_IMPORTED_MODULE_2__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_2__log__[\"b\" /* message */].dayReplacedWithDate(timeUnit));\n return timeUnit.replace('day', 'date');\n }\n return timeUnit;\n}\n//# sourceMappingURL=timeunit.js.map\n\n/***/ }),\n/* 87 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export isSelectionPredicate */\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = isFieldEqualPredicate;\n/* unused harmony export isFieldLTPredicate */\n/* unused harmony export isFieldLTEPredicate */\n/* unused harmony export isFieldGTPredicate */\n/* unused harmony export isFieldGTEPredicate */\n/* harmony export (immutable) */ __webpack_exports__[\"f\"] = isFieldRangePredicate;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = isFieldOneOfPredicate;\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = isFieldPredicate;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = expression;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = fieldFilterExpression;\n/* harmony export (immutable) */ __webpack_exports__[\"g\"] = normalizePredicate;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__compile_selection_selection__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__timeunit__ = __webpack_require__(86);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__util__ = __webpack_require__(3);\n\n\n\n\n\n\nfunction isSelectionPredicate(predicate) {\n return predicate && predicate['selection'];\n}\nfunction isFieldEqualPredicate(predicate) {\n return predicate && !!predicate.field && predicate.equal !== undefined;\n}\nfunction isFieldLTPredicate(predicate) {\n return predicate && !!predicate.field && predicate.lt !== undefined;\n}\nfunction isFieldLTEPredicate(predicate) {\n return predicate && !!predicate.field && predicate.lte !== undefined;\n}\nfunction isFieldGTPredicate(predicate) {\n return predicate && !!predicate.field && predicate.gt !== undefined;\n}\nfunction isFieldGTEPredicate(predicate) {\n return predicate && !!predicate.field && predicate.gte !== undefined;\n}\nfunction isFieldRangePredicate(predicate) {\n if (predicate && predicate.field) {\n if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(predicate.range) && predicate.range.length === 2) {\n return true;\n }\n }\n return false;\n}\nfunction isFieldOneOfPredicate(predicate) {\n return predicate && !!predicate.field && (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(predicate.oneOf) ||\n Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(predicate.in) // backward compatibility\n );\n}\nfunction isFieldPredicate(predicate) {\n return isFieldOneOfPredicate(predicate) || isFieldEqualPredicate(predicate) || isFieldRangePredicate(predicate) || isFieldLTPredicate(predicate) || isFieldGTPredicate(predicate) || isFieldLTEPredicate(predicate) || isFieldGTEPredicate(predicate);\n}\n/**\n * Converts a predicate into an expression.\n */\n// model is only used for selection filters.\nfunction expression(model, filterOp, node) {\n return Object(__WEBPACK_IMPORTED_MODULE_5__util__[\"logicalExpr\"])(filterOp, function (predicate) {\n if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"C\" /* isString */])(predicate)) {\n return predicate;\n }\n else if (isSelectionPredicate(predicate)) {\n return Object(__WEBPACK_IMPORTED_MODULE_2__compile_selection_selection__[\"n\" /* selectionPredicate */])(model, predicate.selection, node);\n }\n else { // Filter Object\n return fieldFilterExpression(predicate);\n }\n });\n}\nfunction predicateValueExpr(v, timeUnit) {\n return Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"valueExpr\"])(v, { timeUnit: timeUnit, time: true });\n}\nfunction predicateValuesExpr(vals, timeUnit) {\n return vals.map(function (v) { return predicateValueExpr(v, timeUnit); });\n}\n// This method is used by Voyager. Do not change its behavior without changing Voyager.\nfunction fieldFilterExpression(predicate, useInRange) {\n if (useInRange === void 0) { useInRange = true; }\n var field = predicate.field, timeUnit = predicate.timeUnit;\n var fieldExpr = timeUnit ?\n // For timeUnit, cast into integer with time() so we can use ===, inrange, indexOf to compare values directly.\n // TODO: We calculate timeUnit on the fly here. Consider if we would like to consolidate this with timeUnit pipeline\n // TODO: support utc\n ('time(' + Object(__WEBPACK_IMPORTED_MODULE_4__timeunit__[\"fieldExpr\"])(timeUnit, field) + ')') :\n Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"vgField\"])(predicate, { expr: 'datum' });\n if (isFieldEqualPredicate(predicate)) {\n return fieldExpr + '===' + predicateValueExpr(predicate.equal, timeUnit);\n }\n else if (isFieldLTPredicate(predicate)) {\n var upper = predicate.lt;\n return fieldExpr + \"<\" + predicateValueExpr(upper, timeUnit);\n }\n else if (isFieldGTPredicate(predicate)) {\n var lower = predicate.gt;\n return fieldExpr + \">\" + predicateValueExpr(lower, timeUnit);\n }\n else if (isFieldLTEPredicate(predicate)) {\n var upper = predicate.lte;\n return fieldExpr + \"<=\" + predicateValueExpr(upper, timeUnit);\n }\n else if (isFieldGTEPredicate(predicate)) {\n var lower = predicate.gte;\n return fieldExpr + \">=\" + predicateValueExpr(lower, timeUnit);\n }\n else if (isFieldOneOfPredicate(predicate)) {\n // \"oneOf\" was formerly \"in\" -- so we need to add backward compatibility\n var oneOf = predicate.oneOf;\n oneOf = oneOf || predicate['in'];\n return 'indexof([' +\n predicateValuesExpr(oneOf, timeUnit).join(',') +\n '], ' + fieldExpr + ') !== -1';\n }\n else if (isFieldRangePredicate(predicate)) {\n var lower = predicate.range[0];\n var upper = predicate.range[1];\n if (lower !== null && upper !== null && useInRange) {\n return 'inrange(' + fieldExpr + ', [' +\n predicateValueExpr(lower, timeUnit) + ', ' +\n predicateValueExpr(upper, timeUnit) + '])';\n }\n var exprs = [];\n if (lower !== null) {\n exprs.push(fieldExpr + \" >= \" + predicateValueExpr(lower, timeUnit));\n }\n if (upper !== null) {\n exprs.push(fieldExpr + \" <= \" + predicateValueExpr(upper, timeUnit));\n }\n return exprs.length > 0 ? exprs.join(' && ') : 'true';\n }\n /* istanbul ignore next: it should never reach here */\n throw new Error(\"Invalid field predicate: \" + JSON.stringify(predicate));\n}\nfunction normalizePredicate(f) {\n if (isFieldPredicate(f) && f.timeUnit) {\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, f, { timeUnit: Object(__WEBPACK_IMPORTED_MODULE_4__timeunit__[\"normalizeTimeUnit\"])(f.timeUnit) });\n }\n return f;\n}\n//# sourceMappingURL=predicate.js.map\n\n/***/ }),\n/* 88 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = parseScaleDomain;\n/* unused harmony export parseDomainForChannel */\n/* unused harmony export domainSort */\n/* unused harmony export canUseUnaggregatedDomain */\n/* unused harmony export mergeDomains */\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = getFieldFromDomain;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = assembleDomain;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__aggregate__ = __webpack_require__(84);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__bin__ = __webpack_require__(85);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__data__ = __webpack_require__(45);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__scale__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__sort__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__vega_schema__ = __webpack_require__(29);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__common__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__data_calculate__ = __webpack_require__(62);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__data_optimize__ = __webpack_require__(380);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__model__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__selection_selection__ = __webpack_require__(18);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction parseScaleDomain(model) {\n if (Object(__WEBPACK_IMPORTED_MODULE_15__model__[\"g\" /* isUnitModel */])(model)) {\n parseUnitScaleDomain(model);\n }\n else {\n parseNonUnitScaleDomain(model);\n }\n}\nfunction parseUnitScaleDomain(model) {\n var scales = model.specifiedScales;\n var localScaleComponents = model.component.scales;\n __WEBPACK_IMPORTED_MODULE_10__util__[\"keys\"](localScaleComponents).forEach(function (channel) {\n var specifiedScale = scales[channel];\n var specifiedDomain = specifiedScale ? specifiedScale.domain : undefined;\n var domains = parseDomainForChannel(model, channel);\n var localScaleCmpt = localScaleComponents[channel];\n localScaleCmpt.domains = domains;\n if (Object(__WEBPACK_IMPORTED_MODULE_8__scale__[\"isSelectionDomain\"])(specifiedDomain)) {\n // As scale parsing occurs before selection parsing, we use a temporary\n // signal here and append the scale.domain definition. This is replaced\n // with the correct domainRaw signal during scale assembly.\n // For more information, see isRawSelectionDomain in selection.ts.\n // FIXME: replace this with a special property in the scaleComponent\n localScaleCmpt.set('domainRaw', {\n signal: __WEBPACK_IMPORTED_MODULE_16__selection_selection__[\"a\" /* SELECTION_DOMAIN */] + __WEBPACK_IMPORTED_MODULE_10__util__[\"hash\"](specifiedDomain)\n }, true);\n }\n if (model.component.data.isFaceted) {\n // get resolve from closest facet parent as this decides whether we need to refer to cloned subtree or not\n var facetParent = model;\n while (!Object(__WEBPACK_IMPORTED_MODULE_15__model__[\"d\" /* isFacetModel */])(facetParent) && facetParent.parent) {\n facetParent = facetParent.parent;\n }\n var resolve = facetParent.component.resolve.scale[channel];\n if (resolve === 'shared') {\n for (var _i = 0, domains_1 = domains; _i < domains_1.length; _i++) {\n var domain = domains_1[_i];\n // Replace the scale domain with data output from a cloned subtree after the facet.\n if (Object(__WEBPACK_IMPORTED_MODULE_11__vega_schema__[\"b\" /* isDataRefDomain */])(domain)) {\n // use data from cloned subtree (which is the same as data but with a prefix added once)\n domain.data = __WEBPACK_IMPORTED_MODULE_14__data_optimize__[\"a\" /* FACET_SCALE_PREFIX */] + domain.data.replace(__WEBPACK_IMPORTED_MODULE_14__data_optimize__[\"a\" /* FACET_SCALE_PREFIX */], '');\n }\n }\n }\n }\n });\n}\nfunction parseNonUnitScaleDomain(model) {\n for (var _i = 0, _a = model.children; _i < _a.length; _i++) {\n var child = _a[_i];\n parseScaleDomain(child);\n }\n var localScaleComponents = model.component.scales;\n __WEBPACK_IMPORTED_MODULE_10__util__[\"keys\"](localScaleComponents).forEach(function (channel) {\n var domains;\n var domainRaw = null;\n for (var _i = 0, _a = model.children; _i < _a.length; _i++) {\n var child = _a[_i];\n var childComponent = child.component.scales[channel];\n if (childComponent) {\n if (domains === undefined) {\n domains = childComponent.domains;\n }\n else {\n domains = domains.concat(childComponent.domains);\n }\n var dr = childComponent.get('domainRaw');\n if (domainRaw && dr && domainRaw.signal !== dr.signal) {\n __WEBPACK_IMPORTED_MODULE_7__log__[\"e\" /* warn */]('The same selection must be used to override scale domains in a layered view.');\n }\n domainRaw = dr;\n }\n }\n localScaleComponents[channel].domains = domains;\n if (domainRaw) {\n localScaleComponents[channel].set('domainRaw', domainRaw, true);\n }\n });\n}\n/**\n * Remove unaggregated domain if it is not applicable\n * Add unaggregated domain if domain is not specified and config.scale.useUnaggregatedDomain is true.\n */\nfunction normalizeUnaggregatedDomain(domain, fieldDef, scaleType, scaleConfig) {\n if (domain === 'unaggregated') {\n var _a = canUseUnaggregatedDomain(fieldDef, scaleType), valid = _a.valid, reason = _a.reason;\n if (!valid) {\n __WEBPACK_IMPORTED_MODULE_7__log__[\"e\" /* warn */](reason);\n return undefined;\n }\n }\n else if (domain === undefined && scaleConfig.useUnaggregatedDomain) {\n // Apply config if domain is not specified.\n var valid = canUseUnaggregatedDomain(fieldDef, scaleType).valid;\n if (valid) {\n return 'unaggregated';\n }\n }\n return domain;\n}\nfunction parseDomainForChannel(model, channel) {\n var scaleType = model.getScaleComponent(channel).get('type');\n var domain = normalizeUnaggregatedDomain(model.scaleDomain(channel), model.fieldDef(channel), scaleType, model.config.scale);\n if (domain !== model.scaleDomain(channel)) {\n model.specifiedScales[channel] = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, model.specifiedScales[channel], { domain: domain });\n }\n // If channel is either X or Y then union them with X2 & Y2 if they exist\n if (channel === 'x' && model.channelHasField('x2')) {\n if (model.channelHasField('x')) {\n return parseSingleChannelDomain(scaleType, domain, model, 'x').concat(parseSingleChannelDomain(scaleType, domain, model, 'x2'));\n }\n else {\n return parseSingleChannelDomain(scaleType, domain, model, 'x2');\n }\n }\n else if (channel === 'y' && model.channelHasField('y2')) {\n if (model.channelHasField('y')) {\n return parseSingleChannelDomain(scaleType, domain, model, 'y').concat(parseSingleChannelDomain(scaleType, domain, model, 'y2'));\n }\n else {\n return parseSingleChannelDomain(scaleType, domain, model, 'y2');\n }\n }\n return parseSingleChannelDomain(scaleType, domain, model, channel);\n}\nfunction mapDomainToDataSignal(domain, type, timeUnit) {\n return domain.map(function (v) {\n var data = Object(__WEBPACK_IMPORTED_MODULE_6__fielddef__[\"valueExpr\"])(v, { timeUnit: timeUnit, type: type });\n return { signal: \"{data: \" + data + \"}\" };\n });\n}\nfunction parseSingleChannelDomain(scaleType, domain, model, channel) {\n var fieldDef = model.fieldDef(channel);\n if (domain && domain !== 'unaggregated' && !Object(__WEBPACK_IMPORTED_MODULE_8__scale__[\"isSelectionDomain\"])(domain)) { // explicit value\n var type = fieldDef.type, timeUnit = fieldDef.timeUnit;\n if (type === 'temporal' || timeUnit) {\n return mapDomainToDataSignal(domain, type, timeUnit);\n }\n return [domain];\n }\n var stack = model.stack;\n if (stack && channel === stack.fieldChannel) {\n if (stack.offset === 'normalize') {\n return [[0, 1]];\n }\n var data = model.requestDataName(__WEBPACK_IMPORTED_MODULE_5__data__[\"MAIN\"]);\n return [{\n data: data,\n field: model.vgField(channel, { suffix: 'start' })\n }, {\n data: data,\n field: model.vgField(channel, { suffix: 'end' })\n }];\n }\n var sort = Object(__WEBPACK_IMPORTED_MODULE_4__channel__[\"isScaleChannel\"])(channel) ? domainSort(model, channel, scaleType) : undefined;\n if (domain === 'unaggregated') {\n var data = model.requestDataName(__WEBPACK_IMPORTED_MODULE_5__data__[\"MAIN\"]);\n var field = fieldDef.field;\n return [{\n data: data,\n field: Object(__WEBPACK_IMPORTED_MODULE_6__fielddef__[\"vgField\"])({ field: field, aggregate: 'min' })\n }, {\n data: data,\n field: Object(__WEBPACK_IMPORTED_MODULE_6__fielddef__[\"vgField\"])({ field: field, aggregate: 'max' })\n }];\n }\n else if (fieldDef.bin) { // bin\n if (Object(__WEBPACK_IMPORTED_MODULE_8__scale__[\"isBinScale\"])(scaleType)) {\n var signal = model.getName(Object(__WEBPACK_IMPORTED_MODULE_3__bin__[\"binToString\"])(fieldDef.bin) + \"_\" + fieldDef.field + \"_bins\");\n return [{ signal: \"sequence(\" + signal + \".start, \" + signal + \".stop + \" + signal + \".step, \" + signal + \".step)\" }];\n }\n if (Object(__WEBPACK_IMPORTED_MODULE_8__scale__[\"hasDiscreteDomain\"])(scaleType)) {\n // ordinal bin scale takes domain from bin_range, ordered by bin start\n // This is useful for both axis-based scale (x/y) and legend-based scale (other channels).\n return [{\n // If sort by aggregation of a specified sort field, we need to use RAW table,\n // so we can aggregate values for the scale independently from the main aggregation.\n data: __WEBPACK_IMPORTED_MODULE_10__util__[\"isBoolean\"](sort) ? model.requestDataName(__WEBPACK_IMPORTED_MODULE_5__data__[\"MAIN\"]) : model.requestDataName(__WEBPACK_IMPORTED_MODULE_5__data__[\"RAW\"]),\n // Use range if we added it and the scale does not support computing a range as a signal.\n field: model.vgField(channel, Object(__WEBPACK_IMPORTED_MODULE_12__common__[\"c\" /* binRequiresRange */])(fieldDef, channel) ? { binSuffix: 'range' } : {}),\n // we have to use a sort object if sort = true to make the sort correct by bin start\n sort: sort === true || !Object(__WEBPACK_IMPORTED_MODULE_9__sort__[\"isSortField\"])(sort) ? {\n field: model.vgField(channel, {}),\n op: 'min' // min or max doesn't matter since we sort by the start of the bin range\n } : sort\n }];\n }\n else { // continuous scales\n if (channel === 'x' || channel === 'y') {\n if (Object(__WEBPACK_IMPORTED_MODULE_3__bin__[\"isBinParams\"])(fieldDef.bin) && fieldDef.bin.extent) {\n return [fieldDef.bin.extent];\n }\n // X/Y position have to include start and end for non-ordinal scale\n var data = model.requestDataName(__WEBPACK_IMPORTED_MODULE_5__data__[\"MAIN\"]);\n return [{\n data: data,\n field: model.vgField(channel, {})\n }, {\n data: data,\n field: model.vgField(channel, { binSuffix: 'end' })\n }];\n }\n else {\n // TODO: use bin_mid\n return [{\n data: model.requestDataName(__WEBPACK_IMPORTED_MODULE_5__data__[\"MAIN\"]),\n field: model.vgField(channel, {})\n }];\n }\n }\n }\n else if (sort) {\n return [{\n // If sort by aggregation of a specified sort field, we need to use RAW table,\n // so we can aggregate values for the scale independently from the main aggregation.\n data: __WEBPACK_IMPORTED_MODULE_10__util__[\"isBoolean\"](sort) ? model.requestDataName(__WEBPACK_IMPORTED_MODULE_5__data__[\"MAIN\"]) : model.requestDataName(__WEBPACK_IMPORTED_MODULE_5__data__[\"RAW\"]),\n field: model.vgField(channel),\n sort: sort\n }];\n }\n else {\n return [{\n data: model.requestDataName(__WEBPACK_IMPORTED_MODULE_5__data__[\"MAIN\"]),\n field: model.vgField(channel)\n }];\n }\n}\nfunction domainSort(model, channel, scaleType) {\n if (!Object(__WEBPACK_IMPORTED_MODULE_8__scale__[\"hasDiscreteDomain\"])(scaleType)) {\n return undefined;\n }\n var fieldDef = model.fieldDef(channel);\n var sort = fieldDef.sort;\n // if the sort is specified with array, use the derived sort index field\n if (Object(__WEBPACK_IMPORTED_MODULE_9__sort__[\"isSortArray\"])(sort)) {\n return {\n op: 'min',\n field: Object(__WEBPACK_IMPORTED_MODULE_13__data_calculate__[\"b\" /* sortArrayIndexField */])(fieldDef, channel),\n order: 'ascending'\n };\n }\n // Sorted based on an aggregate calculation over a specified sort field (only for ordinal scale)\n if (Object(__WEBPACK_IMPORTED_MODULE_9__sort__[\"isSortField\"])(sort)) {\n // flatten nested fields\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, sort, (sort.field ? { field: __WEBPACK_IMPORTED_MODULE_10__util__[\"replacePathInField\"](sort.field) } : {}));\n }\n if (sort === 'descending') {\n return {\n op: 'min',\n field: model.vgField(channel),\n order: 'descending'\n };\n }\n if (__WEBPACK_IMPORTED_MODULE_10__util__[\"contains\"](['ascending', undefined /* default =ascending*/], sort)) {\n return true;\n }\n // sort == null\n return undefined;\n}\n/**\n * Determine if a scale can use unaggregated domain.\n * @return {Boolean} Returns true if all of the following conditons applies:\n * 1. `scale.domain` is `unaggregated`\n * 2. Aggregation function is not `count` or `sum`\n * 3. The scale is quantitative or time scale.\n */\nfunction canUseUnaggregatedDomain(fieldDef, scaleType) {\n if (!fieldDef.aggregate) {\n return {\n valid: false,\n reason: __WEBPACK_IMPORTED_MODULE_7__log__[\"b\" /* message */].unaggregateDomainHasNoEffectForRawField(fieldDef)\n };\n }\n if (!__WEBPACK_IMPORTED_MODULE_2__aggregate__[\"SHARED_DOMAIN_OP_INDEX\"][fieldDef.aggregate]) {\n return {\n valid: false,\n reason: __WEBPACK_IMPORTED_MODULE_7__log__[\"b\" /* message */].unaggregateDomainWithNonSharedDomainOp(fieldDef.aggregate)\n };\n }\n if (fieldDef.type === 'quantitative') {\n if (scaleType === 'log') {\n return {\n valid: false,\n reason: __WEBPACK_IMPORTED_MODULE_7__log__[\"b\" /* message */].unaggregatedDomainWithLogScale(fieldDef)\n };\n }\n }\n return { valid: true };\n}\n/**\n * Converts an array of domains to a single Vega scale domain.\n */\nfunction mergeDomains(domains) {\n var uniqueDomains = __WEBPACK_IMPORTED_MODULE_10__util__[\"unique\"](domains.map(function (domain) {\n // ignore sort property when computing the unique domains\n if (Object(__WEBPACK_IMPORTED_MODULE_11__vega_schema__[\"b\" /* isDataRefDomain */])(domain)) {\n var _s = domain.sort, domainWithoutSort = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"e\" /* __rest */](domain, [\"sort\"]);\n return domainWithoutSort;\n }\n return domain;\n }), __WEBPACK_IMPORTED_MODULE_10__util__[\"hash\"]);\n var sorts = __WEBPACK_IMPORTED_MODULE_10__util__[\"unique\"](domains.map(function (d) {\n if (Object(__WEBPACK_IMPORTED_MODULE_11__vega_schema__[\"b\" /* isDataRefDomain */])(d)) {\n var s = d.sort;\n if (s !== undefined && !__WEBPACK_IMPORTED_MODULE_10__util__[\"isBoolean\"](s)) {\n if (s.op === 'count') {\n // let's make sure that if op is count, we don't use a field\n delete s.field;\n }\n if (s.order === 'ascending') {\n // drop order: ascending as it is the default\n delete s.order;\n }\n }\n return s;\n }\n return undefined;\n }).filter(function (s) { return s !== undefined; }), __WEBPACK_IMPORTED_MODULE_10__util__[\"hash\"]);\n if (uniqueDomains.length === 1) {\n var domain = domains[0];\n if (Object(__WEBPACK_IMPORTED_MODULE_11__vega_schema__[\"b\" /* isDataRefDomain */])(domain) && sorts.length > 0) {\n var sort_1 = sorts[0];\n if (sorts.length > 1) {\n __WEBPACK_IMPORTED_MODULE_7__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_7__log__[\"b\" /* message */].MORE_THAN_ONE_SORT);\n sort_1 = true;\n }\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, domain, { sort: sort_1 });\n }\n return domain;\n }\n // only keep simple sort properties that work with unioned domains\n var simpleSorts = __WEBPACK_IMPORTED_MODULE_10__util__[\"unique\"](sorts.map(function (s) {\n if (s === true) {\n return s;\n }\n if (s.op === 'count') {\n return s;\n }\n __WEBPACK_IMPORTED_MODULE_7__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_7__log__[\"b\" /* message */].domainSortDropped(s));\n return true;\n }), __WEBPACK_IMPORTED_MODULE_10__util__[\"hash\"]);\n var sort = undefined;\n if (simpleSorts.length === 1) {\n sort = simpleSorts[0];\n }\n else if (simpleSorts.length > 1) {\n __WEBPACK_IMPORTED_MODULE_7__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_7__log__[\"b\" /* message */].MORE_THAN_ONE_SORT);\n sort = true;\n }\n var allData = __WEBPACK_IMPORTED_MODULE_10__util__[\"unique\"](domains.map(function (d) {\n if (Object(__WEBPACK_IMPORTED_MODULE_11__vega_schema__[\"b\" /* isDataRefDomain */])(d)) {\n return d.data;\n }\n return null;\n }), function (x) { return x; });\n if (allData.length === 1 && allData[0] !== null) {\n // create a union domain of different fields with a single data source\n var domain = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ data: allData[0], fields: uniqueDomains.map(function (d) { return d.field; }) }, (sort ? { sort: sort } : {}));\n return domain;\n }\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ fields: uniqueDomains }, (sort ? { sort: sort } : {}));\n}\n/**\n * Return a field if a scale single field.\n * Return `undefined` otherwise.\n *\n */\nfunction getFieldFromDomain(domain) {\n if (Object(__WEBPACK_IMPORTED_MODULE_11__vega_schema__[\"b\" /* isDataRefDomain */])(domain) && Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"C\" /* isString */])(domain.field)) {\n return domain.field;\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_11__vega_schema__[\"c\" /* isDataRefUnionedDomain */])(domain)) {\n var field = void 0;\n for (var _i = 0, _a = domain.fields; _i < _a.length; _i++) {\n var nonUnionDomain = _a[_i];\n if (Object(__WEBPACK_IMPORTED_MODULE_11__vega_schema__[\"b\" /* isDataRefDomain */])(nonUnionDomain) && Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"C\" /* isString */])(nonUnionDomain.field)) {\n if (!field) {\n field = nonUnionDomain.field;\n }\n else if (field !== nonUnionDomain.field) {\n __WEBPACK_IMPORTED_MODULE_7__log__[\"e\" /* warn */]('Detected faceted independent scales that union domain of multiple fields from different data sources. We will use the first field. The result view size may be incorrect.');\n return field;\n }\n }\n }\n __WEBPACK_IMPORTED_MODULE_7__log__[\"e\" /* warn */]('Detected faceted independent scales that union domain of identical fields from different source detected. We will assume that this is the same field from a different fork of the same data source. However, if this is not case, the result view size maybe incorrect.');\n return field;\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_11__vega_schema__[\"d\" /* isFieldRefUnionDomain */])(domain)) {\n __WEBPACK_IMPORTED_MODULE_7__log__[\"e\" /* warn */]('Detected faceted independent scales that union domain of multiple fields from the same data source. We will use the first field. The result view size may be incorrect.');\n var field = domain.fields[0];\n return Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"C\" /* isString */])(field) ? field : undefined;\n }\n return undefined;\n}\nfunction assembleDomain(model, channel) {\n var scaleComponent = model.component.scales[channel];\n var domains = scaleComponent.domains.map(function (domain) {\n // Correct references to data as the original domain's data was determined\n // in parseScale, which happens before parseData. Thus the original data\n // reference can be incorrect.\n if (Object(__WEBPACK_IMPORTED_MODULE_11__vega_schema__[\"b\" /* isDataRefDomain */])(domain)) {\n domain.data = model.lookupDataSource(domain.data);\n }\n return domain;\n });\n // domains is an array that has to be merged into a single vega domain\n return mergeDomains(domains);\n}\n//# sourceMappingURL=domain.js.map\n\n/***/ }),\n/* 89 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = parseLayerLayoutSize;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return parseRepeatLayoutSize; });\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = parseConcatLayoutSize;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = parseChildrenLayoutSize;\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = parseUnitLayoutSize;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__scale__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__vega_schema__ = __webpack_require__(29);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__split__ = __webpack_require__(27);\n\n\n\nfunction parseLayerLayoutSize(model) {\n parseChildrenLayoutSize(model);\n var layoutSizeCmpt = model.component.layoutSize;\n layoutSizeCmpt.setWithExplicit('width', parseNonUnitLayoutSizeForChannel(model, 'width'));\n layoutSizeCmpt.setWithExplicit('height', parseNonUnitLayoutSizeForChannel(model, 'height'));\n}\nvar parseRepeatLayoutSize = parseLayerLayoutSize;\nfunction parseConcatLayoutSize(model) {\n parseChildrenLayoutSize(model);\n var layoutSizeCmpt = model.component.layoutSize;\n var sizeTypeToMerge = model.isVConcat ? 'width' : 'height';\n layoutSizeCmpt.setWithExplicit(sizeTypeToMerge, parseNonUnitLayoutSizeForChannel(model, sizeTypeToMerge));\n}\nfunction parseChildrenLayoutSize(model) {\n for (var _i = 0, _a = model.children; _i < _a.length; _i++) {\n var child = _a[_i];\n child.parseLayoutSize();\n }\n}\nfunction parseNonUnitLayoutSizeForChannel(model, sizeType) {\n var channel = sizeType === 'width' ? 'x' : 'y';\n var resolve = model.component.resolve;\n var mergedSize;\n // Try to merge layout size\n for (var _i = 0, _a = model.children; _i < _a.length; _i++) {\n var child = _a[_i];\n var childSize = child.component.layoutSize.getWithExplicit(sizeType);\n var scaleResolve = resolve.scale[channel];\n if (scaleResolve === 'independent' && childSize.value === 'range-step') {\n // Do not merge independent scales with range-step as their size depends\n // on the scale domains, which can be different between scales.\n mergedSize = undefined;\n break;\n }\n if (mergedSize) {\n if (scaleResolve === 'independent' && mergedSize.value !== childSize.value) {\n // For independent scale, only merge if all the sizes are the same.\n // If the values are different, abandon the merge!\n mergedSize = undefined;\n break;\n }\n mergedSize = Object(__WEBPACK_IMPORTED_MODULE_2__split__[\"e\" /* mergeValuesWithExplicit */])(mergedSize, childSize, sizeType, '');\n }\n else {\n mergedSize = childSize;\n }\n }\n if (mergedSize) {\n // If merged, rename size and set size of all children.\n for (var _b = 0, _c = model.children; _b < _c.length; _b++) {\n var child = _c[_b];\n model.renameLayoutSize(child.getName(sizeType), model.getName(sizeType));\n child.component.layoutSize.set(sizeType, 'merged', false);\n }\n return mergedSize;\n }\n else {\n // Otherwise, there is no merged size.\n return {\n explicit: false,\n value: undefined\n };\n }\n}\nfunction parseUnitLayoutSize(model) {\n var layoutSizeComponent = model.component.layoutSize;\n if (!layoutSizeComponent.explicit.width) {\n var width = defaultUnitSize(model, 'width');\n layoutSizeComponent.set('width', width, false);\n }\n if (!layoutSizeComponent.explicit.height) {\n var height = defaultUnitSize(model, 'height');\n layoutSizeComponent.set('height', height, false);\n }\n}\nfunction defaultUnitSize(model, sizeType) {\n var channel = sizeType === 'width' ? 'x' : 'y';\n var config = model.config;\n var scaleComponent = model.getScaleComponent(channel);\n if (scaleComponent) {\n var scaleType = scaleComponent.get('type');\n var range = scaleComponent.get('range');\n if (Object(__WEBPACK_IMPORTED_MODULE_0__scale__[\"hasDiscreteDomain\"])(scaleType) && Object(__WEBPACK_IMPORTED_MODULE_1__vega_schema__[\"e\" /* isVgRangeStep */])(range)) {\n // For discrete domain with range.step, use dynamic width/height\n return 'range-step';\n }\n else {\n return config.view[sizeType];\n }\n }\n else if (model.hasProjection) {\n return config.view[sizeType];\n }\n else {\n // No scale - set default size\n if (sizeType === 'width' && model.mark === 'text') {\n // width for text mark without x-field is a bit wider than typical range step\n return config.scale.textXRangeStep;\n }\n // Set width/height equal to rangeStep config or if rangeStep is null, use value from default scale config.\n return config.scale.rangeStep || __WEBPACK_IMPORTED_MODULE_0__scale__[\"defaultScaleConfig\"].rangeStep;\n }\n}\n//# sourceMappingURL=parse.js.map\n\n/***/ }),\n/* 90 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__namespace__ = __webpack_require__(139);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__namespaces__ = __webpack_require__(140);\n\n\n\nfunction creatorInherit(name) {\n return function() {\n var document = this.ownerDocument,\n uri = this.namespaceURI;\n return uri === __WEBPACK_IMPORTED_MODULE_1__namespaces__[\"b\" /* xhtml */] && document.documentElement.namespaceURI === __WEBPACK_IMPORTED_MODULE_1__namespaces__[\"b\" /* 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\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(name) {\n var fullname = Object(__WEBPACK_IMPORTED_MODULE_0__namespace__[\"a\" /* default */])(name);\n return (fullname.local\n ? creatorFixed\n : creatorInherit)(fullname);\n});\n\n\n/***/ }),\n/* 91 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 92 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__error__ = __webpack_require__(222);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(p) {\n var path = [],\n q = null,\n b = 0,\n n = p.length,\n s = '',\n i, j, c;\n\n p = p + '';\n\n function push() {\n path.push(s + p.substring(i, j));\n s = '';\n i = j + 1;\n }\n\n for (i=j=0; j<n; ++j) {\n c = p[j];\n if (c === '\\\\') {\n s += p.substring(i, j);\n i = ++j;\n } else if (c === q) {\n push();\n q = null;\n b = -1;\n } else if (q) {\n continue;\n } else if (i === b && c === '\"') {\n i = j + 1;\n q = c;\n } else if (i === b && c === \"'\") {\n i = j + 1;\n q = c;\n } else if (c === '.' && !b) {\n if (j > i) {\n push();\n } else {\n i = j + 1;\n }\n } else if (c === '[') {\n if (j > i) push();\n b = i = j + 1;\n } else if (c === ']') {\n if (!b) Object(__WEBPACK_IMPORTED_MODULE_0__error__[\"a\" /* default */])('Access path missing open bracket: ' + p);\n if (b > 0) push();\n b = 0;\n i = j + 1;\n }\n }\n\n if (b) Object(__WEBPACK_IMPORTED_MODULE_0__error__[\"a\" /* default */])('Access path missing closing bracket: ' + p);\n if (q) Object(__WEBPACK_IMPORTED_MODULE_0__error__[\"a\" /* default */])('Access path missing closing quote: ' + p);\n\n if (j > i) {\n j++;\n push();\n }\n\n return path;\n});\n\n\n/***/ }),\n/* 93 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = $;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__isArray__ = __webpack_require__(145);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__isObject__ = __webpack_require__(223);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__isString__ = __webpack_require__(224);\n\n\n\n\nfunction $(x) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__isArray__[\"a\" /* default */])(x) ? '[' + x.map($) + ']'\n : Object(__WEBPACK_IMPORTED_MODULE_1__isObject__[\"a\" /* default */])(x) || Object(__WEBPACK_IMPORTED_MODULE_2__isString__[\"a\" /* default */])(x) ?\n // Output valid JSON and JS source strings.\n // See http://timelessrepo.com/json-isnt-a-javascript-subset\n JSON.stringify(x).replace('\\u2028','\\\\u2028').replace('\\u2029', '\\\\u2029')\n : x;\n}\n\n\n/***/ }),\n/* 94 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Operator;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Parameters__ = __webpack_require__(230);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_UniqueList__ = __webpack_require__(64);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n\n\n\n\nvar OP_ID = 0;\nvar PULSE = 'pulse';\nvar NO_PARAMS = new __WEBPACK_IMPORTED_MODULE_0__Parameters__[\"a\" /* default */]();\n\n// Boolean Flags\nvar SKIP = 1,\n MODIFIED = 2;\n\n/**\n * An Operator is a processing node in a dataflow graph.\n * Each operator stores a value and an optional value update function.\n * Operators can accept a hash of named parameters. Parameter values can\n * either be direct (JavaScript literals, arrays, objects) or indirect\n * (other operators whose values will be pulled dynamically). Operators\n * included as parameters will have this operator added as a dependency.\n * @constructor\n * @param {*} [init] - The initial value for this operator.\n * @param {function(object, Pulse)} [update] - An update function. Upon\n * evaluation of this operator, the update function will be invoked and the\n * return value will be used as the new value of this operator.\n * @param {object} [params] - The parameters for this operator.\n * @param {boolean} [react=true] - Flag indicating if this operator should\n * listen for changes to upstream operators included as parameters.\n * @see parameters\n */\nfunction Operator(init, update, params, react) {\n this.id = ++OP_ID;\n this.value = init;\n this.stamp = -1;\n this.rank = -1;\n this.qrank = -1;\n this.flags = 0;\n\n if (update) {\n this._update = update;\n }\n if (params) this.parameters(params, react);\n}\n\nvar prototype = Operator.prototype;\n\n/**\n * Returns a list of target operators dependent on this operator.\n * If this list does not exist, it is created and then returned.\n * @return {UniqueList}\n */\nprototype.targets = function() {\n return this._targets || (this._targets = Object(__WEBPACK_IMPORTED_MODULE_1__util_UniqueList__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"s\" /* id */]));\n};\n\n/**\n * Sets the value of this operator.\n * @param {*} value - the value to set.\n * @return {Number} Returns 1 if the operator value has changed\n * according to strict equality, returns 0 otherwise.\n */\nprototype.set = function(value) {\n if (this.value !== value) {\n this.value = value;\n return 1;\n } else {\n return 0;\n }\n};\n\nfunction flag(bit) {\n return function(state) {\n var f = this.flags;\n if (arguments.length === 0) return !!(f & bit);\n this.flags = state ? (f | bit) : (f & ~bit);\n return this;\n };\n}\n\n/**\n * Indicates that operator evaluation should be skipped on the next pulse.\n * This operator will still propagate incoming pulses, but its update function\n * will not be invoked. The skip flag is reset after every pulse, so calling\n * this method will affect processing of the next pulse only.\n */\nprototype.skip = flag(SKIP);\n\n/**\n * Indicates that this operator's value has been modified on its most recent\n * pulse. Normally modification is checked via strict equality; however, in\n * some cases it is more efficient to update the internal state of an object.\n * In those cases, the modified flag can be used to trigger propagation. Once\n * set, the modification flag persists across pulses until unset. The flag can\n * be used with the last timestamp to test if a modification is recent.\n */\nprototype.modified = flag(MODIFIED);\n\n/**\n * Sets the parameters for this operator. The parameter values are analyzed for\n * operator instances. If found, this operator will be added as a dependency\n * of the parameterizing operator. Operator values are dynamically marshalled\n * from each operator parameter prior to evaluation. If a parameter value is\n * an array, the array will also be searched for Operator instances. However,\n * the search does not recurse into sub-arrays or object properties.\n * @param {object} params - A hash of operator parameters.\n * @param {boolean} [react=true] - A flag indicating if this operator should\n * automatically update (react) when parameter values change. In other words,\n * this flag determines if the operator registers itself as a listener on\n * any upstream operators included in the parameters.\n * @return {Operator[]} - An array of upstream dependencies.\n */\nprototype.parameters = function(params, react) {\n react = react !== false;\n var self = this,\n argval = (self._argval = self._argval || new __WEBPACK_IMPORTED_MODULE_0__Parameters__[\"a\" /* default */]()),\n argops = (self._argops = self._argops || []),\n deps = [],\n name, value, n, i;\n\n function add(name, index, value) {\n if (value instanceof Operator) {\n if (value !== self) {\n if (react) value.targets().add(self);\n deps.push(value);\n }\n argops.push({op:value, name:name, index:index});\n } else {\n argval.set(name, index, value);\n }\n }\n\n for (name in params) {\n value = params[name];\n\n if (name === PULSE) {\n Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"i\" /* array */])(value).forEach(function(op) {\n if (!(op instanceof Operator)) {\n Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"m\" /* error */])('Pulse parameters must be operator instances.');\n } else if (op !== self) {\n op.targets().add(self);\n deps.push(op);\n }\n });\n self.source = value;\n } else if (Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"v\" /* isArray */])(value)) {\n argval.set(name, -1, Array(n = value.length));\n for (i=0; i<n; ++i) add(name, i, value[i]);\n } else {\n add(name, -1, value);\n }\n }\n\n this.marshall().clear(); // initialize values\n return deps;\n};\n\n/**\n * Internal method for marshalling parameter values.\n * Visits each operator dependency to pull the latest value.\n * @return {Parameters} A Parameters object to pass to the update function.\n */\nprototype.marshall = function(stamp) {\n var argval = this._argval || NO_PARAMS,\n argops = this._argops, item, i, n, op, mod;\n\n if (argops && (n = argops.length)) {\n for (i=0; i<n; ++i) {\n item = argops[i];\n op = item.op;\n mod = op.modified() && op.stamp === stamp;\n argval.set(item.name, item.index, op.value, mod);\n }\n }\n return argval;\n};\n\n/**\n * Delegate method to perform operator processing.\n * Subclasses can override this method to perform custom processing.\n * By default, it marshalls parameters and calls the update function\n * if that function is defined. If the update function does not\n * change the operator value then StopPropagation is returned.\n * If no update function is defined, this method does nothing.\n * @param {Pulse} pulse - the current dataflow pulse.\n * @return The output pulse or StopPropagation. A falsy return value\n * (including undefined) will let the input pulse pass through.\n */\nprototype.evaluate = function(pulse) {\n if (this._update) {\n var params = this.marshall(pulse.stamp),\n v = this._update(params, pulse);\n\n params.clear();\n if (v !== this.value) {\n this.value = v;\n } else if (!this.modified()) {\n return pulse.StopPropagation;\n }\n }\n};\n\n/**\n * Run this operator for the current pulse. If this operator has already\n * been run at (or after) the pulse timestamp, returns StopPropagation.\n * Internally, this method calls {@link evaluate} to perform processing.\n * If {@link evaluate} returns a falsy value, the input pulse is returned.\n * This method should NOT be overridden, instead overrride {@link evaluate}.\n * @param {Pulse} pulse - the current dataflow pulse.\n * @return the output pulse for this operator (or StopPropagation)\n */\nprototype.run = function(pulse) {\n if (pulse.stamp <= this.stamp) return pulse.StopPropagation;\n var rv;\n if (this.skip()) {\n this.skip(false);\n rv = 0;\n } else {\n rv = this.evaluate(pulse);\n }\n this.stamp = pulse.stamp;\n return (this.pulse = rv || pulse);\n};\n\n\n/***/ }),\n/* 95 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_interval__ = __webpack_require__(19);\n/* unused harmony reexport timeInterval */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_millisecond__ = __webpack_require__(504);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_millisecond__[\"a\"]; });\n/* unused harmony reexport timeMilliseconds */\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"n\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_millisecond__[\"a\"]; });\n/* unused harmony reexport utcMilliseconds */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_second__ = __webpack_require__(505);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_second__[\"a\"]; });\n/* unused harmony reexport timeSeconds */\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"r\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_second__[\"a\"]; });\n/* unused harmony reexport utcSeconds */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_minute__ = __webpack_require__(506);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return __WEBPACK_IMPORTED_MODULE_3__src_minute__[\"a\"]; });\n/* unused harmony reexport timeMinutes */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__src_hour__ = __webpack_require__(507);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_4__src_hour__[\"a\"]; });\n/* unused harmony reexport timeHours */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__src_day__ = __webpack_require__(508);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_5__src_day__[\"a\"]; });\n/* unused harmony reexport timeDays */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__src_week__ = __webpack_require__(509);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return __WEBPACK_IMPORTED_MODULE_6__src_week__[\"b\"]; });\n/* unused harmony reexport timeWeeks */\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return __WEBPACK_IMPORTED_MODULE_6__src_week__[\"b\"]; });\n/* unused harmony reexport timeSundays */\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return __WEBPACK_IMPORTED_MODULE_6__src_week__[\"a\"]; });\n/* unused harmony reexport timeMondays */\n/* unused harmony reexport timeTuesday */\n/* unused harmony reexport timeTuesdays */\n/* unused harmony reexport timeWednesday */\n/* unused harmony reexport timeWednesdays */\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return __WEBPACK_IMPORTED_MODULE_6__src_week__[\"c\"]; });\n/* unused harmony reexport timeThursdays */\n/* unused harmony reexport timeFriday */\n/* unused harmony reexport timeFridays */\n/* unused harmony reexport timeSaturday */\n/* unused harmony reexport timeSaturdays */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__src_month__ = __webpack_require__(510);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return __WEBPACK_IMPORTED_MODULE_7__src_month__[\"a\"]; });\n/* unused harmony reexport timeMonths */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__src_year__ = __webpack_require__(511);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return __WEBPACK_IMPORTED_MODULE_8__src_year__[\"a\"]; });\n/* unused harmony reexport timeYears */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__src_utcMinute__ = __webpack_require__(512);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"o\", function() { return __WEBPACK_IMPORTED_MODULE_9__src_utcMinute__[\"a\"]; });\n/* unused harmony reexport utcMinutes */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__src_utcHour__ = __webpack_require__(513);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"m\", function() { return __WEBPACK_IMPORTED_MODULE_10__src_utcHour__[\"a\"]; });\n/* unused harmony reexport utcHours */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__src_utcDay__ = __webpack_require__(514);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"l\", function() { return __WEBPACK_IMPORTED_MODULE_11__src_utcDay__[\"a\"]; });\n/* unused harmony reexport utcDays */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__src_utcWeek__ = __webpack_require__(515);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"u\", function() { return __WEBPACK_IMPORTED_MODULE_12__src_utcWeek__[\"b\"]; });\n/* unused harmony reexport utcWeeks */\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"s\", function() { return __WEBPACK_IMPORTED_MODULE_12__src_utcWeek__[\"b\"]; });\n/* unused harmony reexport utcSundays */\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"p\", function() { return __WEBPACK_IMPORTED_MODULE_12__src_utcWeek__[\"a\"]; });\n/* unused harmony reexport utcMondays */\n/* unused harmony reexport utcTuesday */\n/* unused harmony reexport utcTuesdays */\n/* unused harmony reexport utcWednesday */\n/* unused harmony reexport utcWednesdays */\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"t\", function() { return __WEBPACK_IMPORTED_MODULE_12__src_utcWeek__[\"c\"]; });\n/* unused harmony reexport utcThursdays */\n/* unused harmony reexport utcFriday */\n/* unused harmony reexport utcFridays */\n/* unused harmony reexport utcSaturday */\n/* unused harmony reexport utcSaturdays */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__src_utcMonth__ = __webpack_require__(516);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"q\", function() { return __WEBPACK_IMPORTED_MODULE_13__src_utcMonth__[\"a\"]; });\n/* unused harmony reexport utcMonths */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__src_utcYear__ = __webpack_require__(517);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"v\", function() { return __WEBPACK_IMPORTED_MODULE_14__src_utcYear__[\"a\"]; });\n/* unused harmony reexport utcYears */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 96 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return StopPropagation; });\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = Pulse;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Tuple__ = __webpack_require__(149);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Sentinel value indicating pulse propagation should stop.\n */\nvar StopPropagation = {};\n\n// Pulse visit type flags\nvar ADD = (1 << 0),\n REM = (1 << 1),\n MOD = (1 << 2),\n ADD_REM = ADD | REM,\n ADD_MOD = ADD | MOD,\n ALL = ADD | REM | MOD,\n REFLOW = (1 << 3),\n SOURCE = (1 << 4),\n NO_SOURCE = (1 << 5),\n NO_FIELDS = (1 << 6);\n\n/**\n * A Pulse enables inter-operator communication during a run of the\n * dataflow graph. In addition to the current timestamp, a pulse may also\n * contain a change-set of added, removed or modified data tuples, as well as\n * a pointer to a full backing data source. Tuple change sets may not\n * be fully materialized; for example, to prevent needless array creation\n * a change set may include larger arrays and corresponding filter functions.\n * The pulse provides a {@link visit} method to enable proper and efficient\n * iteration over requested data tuples.\n *\n * In addition, each pulse can track modification flags for data tuple fields.\n * Responsible transform operators should call the {@link modifies} method to\n * indicate changes to data fields. The {@link modified} method enables\n * querying of this modification state.\n *\n * @constructor\n * @param {Dataflow} dataflow - The backing dataflow instance.\n * @param {number} stamp - The current propagation timestamp.\n * @param {string} [encode] - An optional encoding set name, which is then\n * accessible as Pulse.encode. Operators can respond to (or ignore) this\n * setting as appropriate. This parameter can be used in conjunction with\n * the Encode transform in the vega-encode module.\n */\nfunction Pulse(dataflow, stamp, encode) {\n this.dataflow = dataflow;\n this.stamp = stamp == null ? -1 : stamp;\n this.add = [];\n this.rem = [];\n this.mod = [];\n this.fields = null;\n this.encode = encode || null;\n}\n\nvar prototype = Pulse.prototype;\n\n/**\n * Sentinel value indicating pulse propagation should stop.\n */\nprototype.StopPropagation = StopPropagation;\n\n/**\n * Boolean flag indicating ADD (added) tuples.\n */\nprototype.ADD = ADD;\n\n/**\n * Boolean flag indicating REM (removed) tuples.\n */\nprototype.REM = REM;\n\n/**\n * Boolean flag indicating MOD (modified) tuples.\n */\nprototype.MOD = MOD;\n\n/**\n * Boolean flag indicating ADD (added) and REM (removed) tuples.\n */\nprototype.ADD_REM = ADD_REM;\n\n/**\n * Boolean flag indicating ADD (added) and MOD (modified) tuples.\n */\nprototype.ADD_MOD = ADD_MOD;\n\n/**\n * Boolean flag indicating ADD, REM and MOD tuples.\n */\nprototype.ALL = ALL;\n\n/**\n * Boolean flag indicating all tuples in a data source\n * except for the ADD, REM and MOD tuples.\n */\nprototype.REFLOW = REFLOW;\n\n/**\n * Boolean flag indicating a 'pass-through' to a\n * backing data source, ignoring ADD, REM and MOD tuples.\n */\nprototype.SOURCE = SOURCE;\n\n/**\n * Boolean flag indicating that source data should be\n * suppressed when creating a forked pulse.\n */\nprototype.NO_SOURCE = NO_SOURCE;\n\n/**\n * Boolean flag indicating that field modifications should be\n * suppressed when creating a forked pulse.\n */\nprototype.NO_FIELDS = NO_FIELDS;\n\n/**\n * Creates a new pulse based on the values of this pulse.\n * The dataflow, time stamp and field modification values are copied over.\n * By default, new empty ADD, REM and MOD arrays are created.\n * @param {number} flags - Integer of boolean flags indicating which (if any)\n * tuple arrays should be copied to the new pulse. The supported flag values\n * are ADD, REM and MOD. Array references are copied directly: new array\n * instances are not created.\n * @return {Pulse} - The forked pulse instance.\n * @see init\n */\nprototype.fork = function(flags) {\n return new Pulse(this.dataflow).init(this, flags);\n};\n\n/**\n * Creates a copy of this pulse with new materialized array\n * instances for the ADD, REM, MOD, and SOURCE arrays.\n * The dataflow, time stamp and field modification values are copied over.\n * @return {Pulse} - The cloned pulse instance.\n * @see init\n */\nprototype.clone = function() {\n var p = this.fork(ALL);\n p.add = p.add.slice();\n p.rem = p.rem.slice();\n p.mod = p.mod.slice();\n if (p.source) p.source = p.source.slice();\n return p.materialize(ALL | SOURCE);\n};\n\n/**\n * Returns a pulse that adds all tuples from a backing source. This is\n * useful for cases where operators are added to a dataflow after an\n * upstream data pipeline has already been processed, ensuring that\n * new operators can observe all tuples within a stream.\n * @return {Pulse} - A pulse instance with all source tuples included\n * in the add array. If the current pulse already has all source\n * tuples in its add array, it is returned directly. If the current\n * pulse does not have a backing source, it is returned directly.\n */\nprototype.addAll = function() {\n var p = this;\n if (!this.source || this.source.length === this.add.length) {\n return p;\n } else {\n p = new Pulse(this.dataflow).init(this);\n p.add = p.source;\n return p;\n }\n};\n\n/**\n * Initialize this pulse based on the values of another pulse. This method\n * is used internally by {@link fork} to initialize a new forked tuple.\n * The dataflow, time stamp and field modification values are copied over.\n * By default, new empty ADD, REM and MOD arrays are created.\n * @param {Pulse} src - The source pulse to copy from.\n * @param {number} flags - Integer of boolean flags indicating which (if any)\n * tuple arrays should be copied to the new pulse. The supported flag values\n * are ADD, REM and MOD. Array references are copied directly: new array\n * instances are not created. By default, source data arrays are copied\n * to the new pulse. Use the NO_SOURCE flag to enforce a null source.\n * @return {Pulse} - Returns this Pulse instance.\n */\nprototype.init = function(src, flags) {\n var p = this;\n p.stamp = src.stamp;\n p.encode = src.encode;\n\n if (src.fields && !(flags & NO_FIELDS)) {\n p.fields = src.fields;\n }\n\n if (flags & ADD) {\n p.addF = src.addF;\n p.add = src.add;\n } else {\n p.addF = null;\n p.add = [];\n }\n\n if (flags & REM) {\n p.remF = src.remF;\n p.rem = src.rem;\n } else {\n p.remF = null;\n p.rem = [];\n }\n\n if (flags & MOD) {\n p.modF = src.modF;\n p.mod = src.mod;\n } else {\n p.modF = null;\n p.mod = [];\n }\n\n if (flags & NO_SOURCE) {\n p.srcF = null;\n p.source = null;\n } else {\n p.srcF = src.srcF;\n p.source = src.source;\n }\n\n return p;\n};\n\n/**\n * Schedules a function to run after pulse propagation completes.\n * @param {function} func - The function to run.\n */\nprototype.runAfter = function(func) {\n this.dataflow.runAfter(func);\n};\n\n/**\n * Indicates if tuples have been added, removed or modified.\n * @param {number} [flags] - The tuple types (ADD, REM or MOD) to query.\n * Defaults to ALL, returning true if any tuple type has changed.\n * @return {boolean} - Returns true if one or more queried tuple types have\n * changed, false otherwise.\n */\nprototype.changed = function(flags) {\n var f = flags || ALL;\n return ((f & ADD) && this.add.length)\n || ((f & REM) && this.rem.length)\n || ((f & MOD) && this.mod.length);\n};\n\n/**\n * Forces a \"reflow\" of tuple values, such that all tuples in the backing\n * source are added to the MOD set, unless already present in the ADD set.\n * @param {boolean} [fork=false] - If true, returns a forked copy of this\n * pulse, and invokes reflow on that derived pulse.\n * @return {Pulse} - The reflowed pulse instance.\n */\nprototype.reflow = function(fork) {\n if (fork) return this.fork(ALL).reflow();\n\n var len = this.add.length,\n src = this.source && this.source.length;\n if (src && src !== len) {\n this.mod = this.source;\n if (len) this.filter(MOD, filter(this, ADD));\n }\n return this;\n};\n\n/**\n * Marks one or more data field names as modified to assist dependency\n * tracking and incremental processing by transform operators.\n * @param {string|Array<string>} _ - The field(s) to mark as modified.\n * @return {Pulse} - This pulse instance.\n */\nprototype.modifies = function(_) {\n var fields = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"i\" /* array */])(_),\n hash = this.fields || (this.fields = {});\n fields.forEach(function(f) { hash[f] = true; });\n return this;\n};\n\n/**\n * Checks if one or more data fields have been modified during this pulse\n * propagation timestamp.\n * @param {string|Array<string>} _ - The field(s) to check for modified.\n * @return {boolean} - Returns true if any of the provided fields has been\n * marked as modified, false otherwise.\n */\nprototype.modified = function(_) {\n var fields = this.fields;\n return !(this.mod.length && fields) ? false\n : !arguments.length ? !!fields\n : Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(_) ? _.some(function(f) { return fields[f]; })\n : fields[_];\n};\n\n/**\n * Adds a filter function to one more tuple sets. Filters are applied to\n * backing tuple arrays, to determine the actual set of tuples considered\n * added, removed or modified. They can be used to delay materialization of\n * a tuple set in order to avoid expensive array copies. In addition, the\n * filter functions can serve as value transformers: unlike standard predicate\n * function (which return boolean values), Pulse filters should return the\n * actual tuple value to process. If a tuple set is already filtered, the\n * new filter function will be appended into a conjuntive ('and') query.\n * @param {number} flags - Flags indicating the tuple set(s) to filter.\n * @param {function(*):object} filter - Filter function that will be applied\n * to the tuple set array, and should return a data tuple if the value\n * should be included in the tuple set, and falsy (or null) otherwise.\n * @return {Pulse} - Returns this pulse instance.\n */\nprototype.filter = function(flags, filter) {\n var p = this;\n if (flags & ADD) p.addF = addFilter(p.addF, filter);\n if (flags & REM) p.remF = addFilter(p.remF, filter);\n if (flags & MOD) p.modF = addFilter(p.modF, filter);\n if (flags & SOURCE) p.srcF = addFilter(p.srcF, filter);\n return p;\n};\n\nfunction addFilter(a, b) {\n return a ? function(t,i) { return a(t,i) && b(t,i); } : b;\n}\n\n/**\n * Materialize one or more tuple sets in this pulse. If the tuple set(s) have\n * a registered filter function, it will be applied and the tuple set(s) will\n * be replaced with materialized tuple arrays.\n * @param {number} flags - Flags indicating the tuple set(s) to materialize.\n * @return {Pulse} - Returns this pulse instance.\n */\nprototype.materialize = function(flags) {\n flags = flags || ALL;\n var p = this;\n if ((flags & ADD) && p.addF) {\n p.add = materialize(p.add, p.addF);\n p.addF = null;\n }\n if ((flags & REM) && p.remF) {\n p.rem = materialize(p.rem, p.remF);\n p.remF = null;\n }\n if ((flags & MOD) && p.modF) {\n p.mod = materialize(p.mod, p.modF);\n p.modF = null;\n }\n if ((flags & SOURCE) && p.srcF) {\n p.source = p.source.filter(p.srcF);\n p.srcF = null;\n }\n return p;\n};\n\nfunction materialize(data, filter) {\n var out = [];\n Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"W\" /* visitArray */])(data, filter, function(_) { out.push(_); });\n return out;\n}\n\nfunction filter(pulse, flags) {\n var map = {};\n pulse.visit(flags, function(t) { map[Object(__WEBPACK_IMPORTED_MODULE_0__Tuple__[\"f\" /* tupleid */])(t)] = 1; });\n return function(t) { return map[Object(__WEBPACK_IMPORTED_MODULE_0__Tuple__[\"f\" /* tupleid */])(t)] ? null : t; };\n}\n\n/**\n * Visit one or more tuple sets in this pulse.\n * @param {number} flags - Flags indicating the tuple set(s) to visit.\n * Legal values are ADD, REM, MOD and SOURCE (if a backing data source\n * has been set).\n * @param {function(object):*} - Visitor function invoked per-tuple.\n * @return {Pulse} - Returns this pulse instance.\n */\nprototype.visit = function(flags, visitor) {\n var p = this, v = visitor, src, sum;\n\n if (flags & SOURCE) {\n Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"W\" /* visitArray */])(p.source, p.srcF, v);\n return p;\n }\n\n if (flags & ADD) Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"W\" /* visitArray */])(p.add, p.addF, v);\n if (flags & REM) Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"W\" /* visitArray */])(p.rem, p.remF, v);\n if (flags & MOD) Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"W\" /* visitArray */])(p.mod, p.modF, v);\n\n if ((flags & REFLOW) && (src = p.source)) {\n sum = p.add.length + p.mod.length;\n if (sum === src.length) {\n // do nothing\n } else if (sum) {\n Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"W\" /* visitArray */])(src, filter(p, ADD_MOD), v);\n } else {\n // if no add/rem/mod tuples, visit source\n Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"W\" /* visitArray */])(src, p.srcF, v);\n }\n }\n\n return p;\n};\n\n\n/***/ }),\n/* 97 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_domCanvas__ = __webpack_require__(587);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_domCanvas__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_domCanvas__[\"b\"]; });\n\n\n\n/***/ }),\n/* 98 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nfunction 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\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(context) {\n return new Linear(context);\n});\n\n\n/***/ }),\n/* 99 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {});\n\n\n/***/ }),\n/* 100 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = point;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Basis;\nfunction 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\nfunction 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\n/* harmony default export */ __webpack_exports__[\"b\"] = (function(context) {\n return new Basis(context);\n});\n\n\n/***/ }),\n/* 101 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = point;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Cardinal;\nfunction 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\nfunction 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\n/* harmony default export */ __webpack_exports__[\"b\"] = ((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\n\n/***/ }),\n/* 102 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// Path parsing and rendering code adapted from fabric.js -- Thanks!\nvar cmdlen = { m:2, l:2, h:1, v:1, c:6, s:4, q:4, t:2, a:7 },\n regexp = [/([MLHVCSQTAZmlhvcsqtaz])/g, /###/, /(\\d)([-+])/g, /\\s|,|###/];\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(pathstr) {\n var result = [],\n path,\n curr,\n chunks,\n parsed, param,\n cmd, len, i, j, n, m;\n\n // First, break path into command sequence\n path = pathstr\n .slice()\n .replace(regexp[0], '###$1')\n .split(regexp[1])\n .slice(1);\n\n // Next, parse each command in turn\n for (i=0, n=path.length; i<n; ++i) {\n curr = path[i];\n chunks = curr\n .slice(1)\n .trim()\n .replace(regexp[2],'$1###$2')\n .split(regexp[3]);\n cmd = curr.charAt(0);\n\n parsed = [cmd];\n for (j=0, m=chunks.length; j<m; ++j) {\n if ((param = +chunks[j]) === param) { // not NaN\n parsed.push(param);\n }\n }\n\n len = cmdlen[cmd.toLowerCase()];\n if (parsed.length-1 > len) {\n for (j=1, m=parsed.length; j<m; j+=len) {\n result.push([cmd].concat(parsed.slice(j, j+len)));\n }\n }\n else {\n result.push(parsed);\n }\n }\n\n return result;\n});\n\n\n/***/ }),\n/* 103 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = drawAll;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = drawOne;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__fill__ = __webpack_require__(162);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__stroke__ = __webpack_require__(104);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__visit__ = __webpack_require__(37);\n\n\n\n\nfunction drawAll(path) {\n return function(context, scene, bounds) {\n Object(__WEBPACK_IMPORTED_MODULE_2__visit__[\"b\" /* visit */])(scene, function(item) {\n if (!bounds || bounds.intersects(item.bounds)) {\n drawPath(path, context, item, item);\n }\n });\n };\n}\n\nfunction drawOne(path) {\n return function(context, scene, bounds) {\n if (scene.items.length && (!bounds || bounds.intersects(scene.bounds))) {\n drawPath(path, context, scene.items[0], scene.items);\n }\n };\n}\n\nfunction drawPath(path, context, item, items) {\n var opacity = item.opacity == null ? 1 : item.opacity;\n if (opacity === 0) return;\n\n if (path(context, items)) return;\n\n if (item.fill && Object(__WEBPACK_IMPORTED_MODULE_0__fill__[\"a\" /* default */])(context, item, opacity)) {\n context.fill();\n }\n\n if (item.stroke && Object(__WEBPACK_IMPORTED_MODULE_1__stroke__[\"a\" /* default */])(context, item, opacity)) {\n context.stroke();\n }\n}\n\n\n/***/ }),\n/* 104 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__color__ = __webpack_require__(289);\n\n\nvar Empty = [];\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(context, item, opacity) {\n var lw = (lw = item.strokeWidth) != null ? lw : 1;\n\n if (lw <= 0) return false;\n\n opacity *= (item.strokeOpacity==null ? 1 : item.strokeOpacity);\n if (opacity > 0) {\n context.globalAlpha = opacity;\n context.strokeStyle = Object(__WEBPACK_IMPORTED_MODULE_0__color__[\"a\" /* default */])(context, item, item.stroke);\n\n context.lineWidth = lw;\n context.lineCap = item.strokeCap || 'butt';\n context.lineJoin = item.strokeJoin || 'miter';\n context.miterLimit = item.strokeMiterLimit || 10;\n\n if (context.setLineDash) {\n context.setLineDash(item.strokeDash || Empty);\n context.lineDashOffset = item.strokeDashOffset || 0;\n }\n return true;\n } else {\n return false;\n }\n});\n\n\n/***/ }),\n/* 105 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__translate__ = __webpack_require__(163);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(item) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__translate__[\"a\" /* default */])(item.x || 0, item.y || 0);\n});\n\n/***/ }),\n/* 106 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = resetSVGClipId;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n\n\nvar clip_id = 1;\n\nfunction resetSVGClipId() {\n clip_id = 1;\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(renderer, item, size) {\n var clip = item.clip,\n defs = renderer._defs,\n id = item.clip_id || (item.clip_id = 'clip' + clip_id++),\n c = defs.clipping[id] || (defs.clipping[id] = {id: id});\n\n if (Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"y\" /* isFunction */])(clip)) {\n c.path = clip(null);\n } else {\n c.width = size.width || 0;\n c.height = size.height || 0;\n }\n\n return 'url(#' + id + ')';\n});\n\n\n/***/ }),\n/* 107 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return textMetrics; });\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = fontSize;\n/* harmony export (immutable) */ __webpack_exports__[\"f\"] = textValue;\n/* unused harmony export truncate */\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = fontFamily;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = font;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = offset;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_canvas__ = __webpack_require__(97);\n\n\nvar context,\n currFontHeight;\n\nvar textMetrics = {\n height: fontSize,\n measureWidth: measureWidth,\n estimateWidth: estimateWidth,\n width: estimateWidth,\n canvas: useCanvas\n};\n\nuseCanvas(true);\n\n// make dumb, simple estimate if no canvas is available\nfunction estimateWidth(item) {\n currFontHeight = fontSize(item);\n return estimate(textValue(item));\n}\n\nfunction estimate(text) {\n return ~~(0.8 * text.length * currFontHeight);\n}\n\n// measure text width if canvas is available\nfunction measureWidth(item) {\n context.font = font(item);\n return measure(textValue(item));\n}\n\nfunction measure(text) {\n return context.measureText(text).width;\n}\n\nfunction fontSize(item) {\n return item.fontSize != null ? item.fontSize : 11;\n}\n\nfunction useCanvas(use) {\n context = use && (context = Object(__WEBPACK_IMPORTED_MODULE_0_vega_canvas__[\"a\" /* canvas */])(1,1)) ? context.getContext('2d') : null;\n textMetrics.width = context ? measureWidth : estimateWidth;\n}\n\nfunction textValue(item) {\n var s = item.text;\n if (s == null) {\n return '';\n } else {\n return item.limit > 0 ? truncate(item) : s + '';\n }\n}\n\nfunction truncate(item) {\n var limit = +item.limit,\n text = item.text + '',\n width;\n\n if (context) {\n context.font = font(item);\n width = measure;\n } else {\n currFontHeight = fontSize(item);\n width = estimate;\n }\n\n if (width(text) < limit) return text;\n\n var ellipsis = item.ellipsis || '\\u2026',\n rtl = item.dir === 'rtl',\n lo = 0,\n hi = text.length, mid;\n\n limit -= width(ellipsis);\n\n if (rtl) {\n while (lo < hi) {\n mid = (lo + hi >>> 1);\n if (width(text.slice(mid)) > limit) lo = mid + 1;\n else hi = mid;\n }\n return ellipsis + text.slice(lo);\n } else {\n while (lo < hi) {\n mid = 1 + (lo + hi >>> 1);\n if (width(text.slice(0, mid)) < limit) lo = mid;\n else hi = mid - 1;\n }\n return text.slice(0, lo) + ellipsis;\n }\n}\n\nfunction fontFamily(item, quote) {\n var font = item.font;\n return (quote && font\n ? String(font).replace(/\"/g, '\\'')\n : font) || 'sans-serif';\n}\n\nfunction font(item, quote) {\n return '' +\n (item.fontStyle ? item.fontStyle + ' ' : '') +\n (item.fontVariant ? item.fontVariant + ' ' : '') +\n (item.fontWeight ? item.fontWeight + ' ' : '') +\n fontSize(item) + 'px ' +\n fontFamily(item, quote);\n}\n\nfunction offset(item) {\n // perform our own font baseline calculation\n // why? not all browsers support SVG 1.1 'alignment-baseline' :(\n var baseline = item.baseline,\n h = fontSize(item);\n return Math.round(\n baseline === 'top' ? 0.79*h :\n baseline === 'middle' ? 0.30*h :\n baseline === 'bottom' ? -0.21*h : 0\n );\n}\n\n\n/***/ }),\n/* 108 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Renderer;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ResourceLoader__ = __webpack_require__(266);\n\n\n/**\n * Create a new Renderer instance.\n * @param {object} [loader] - Optional loader instance for\n * image and href URL sanitization. If not specified, a\n * standard loader instance will be generated.\n * @constructor\n */\nfunction Renderer(loader) {\n this._el = null;\n this._bgcolor = null;\n this._loader = new __WEBPACK_IMPORTED_MODULE_0__ResourceLoader__[\"a\" /* default */](loader);\n}\n\nvar prototype = Renderer.prototype;\n\n/**\n * Initialize a new Renderer instance.\n * @param {DOMElement} el - The containing DOM element for the display.\n * @param {number} width - The coordinate width of the display, in pixels.\n * @param {number} height - The coordinate height of the display, in pixels.\n * @param {Array<number>} origin - The origin of the display, in pixels.\n * The coordinate system will be translated to this point.\n * @param {number} [scaleFactor=1] - Optional scaleFactor by which to multiply\n * the width and height to determine the final pixel size.\n * @return {Renderer} - This renderer instance.\n */\nprototype.initialize = function(el, width, height, origin, scaleFactor) {\n this._el = el;\n return this.resize(width, height, origin, scaleFactor);\n};\n\n/**\n * Returns the parent container element for a visualization.\n * @return {DOMElement} - The containing DOM element.\n */\nprototype.element = function() {\n return this._el;\n};\n\n/**\n * Returns the scene element (e.g., canvas or SVG) of the visualization\n * Subclasses must override if the first child is not the scene element.\n * @return {DOMElement} - The scene (e.g., canvas or SVG) element.\n */\nprototype.canvas = function() {\n return this._el && this._el.firstChild;\n};\n\n/**\n * Get / set the background color.\n */\nprototype.background = function(bgcolor) {\n if (arguments.length === 0) return this._bgcolor;\n this._bgcolor = bgcolor;\n return this;\n};\n\n/**\n * Resize the display.\n * @param {number} width - The new coordinate width of the display, in pixels.\n * @param {number} height - The new coordinate height of the display, in pixels.\n * @param {Array<number>} origin - The new origin of the display, in pixels.\n * The coordinate system will be translated to this point.\n * @param {number} [scaleFactor=1] - Optional scaleFactor by which to multiply\n * the width and height to determine the final pixel size.\n * @return {Renderer} - This renderer instance;\n */\nprototype.resize = function(width, height, origin, scaleFactor) {\n this._width = width;\n this._height = height;\n this._origin = origin || [0, 0];\n this._scale = scaleFactor || 1;\n return this;\n};\n\n/**\n * Report a dirty item whose bounds should be redrawn.\n * This base class method does nothing. Subclasses that perform\n * incremental should implement this method.\n * @param {Item} item - The dirty item whose bounds should be redrawn.\n */\nprototype.dirty = function(/*item*/) {\n};\n\n/**\n * Render an input scenegraph, potentially with a set of dirty items.\n * This method will perform an immediate rendering with available resources.\n * The renderer may also need to perform image loading to perform a complete\n * render. This process can lead to asynchronous re-rendering of the scene\n * after this method returns. To receive notification when rendering is\n * complete, use the renderAsync method instead.\n * @param {object} scene - The root mark of a scenegraph to render.\n * @return {Renderer} - This renderer instance.\n */\nprototype.render = function(scene) {\n var r = this;\n\n // bind arguments into a render call, and cache it\n // this function may be subsequently called for async redraw\n r._call = function() { r._render(scene); };\n\n // invoke the renderer\n r._call();\n\n // clear the cached call for garbage collection\n // async redraws will stash their own copy\n r._call = null;\n\n return r;\n};\n\n/**\n * Internal rendering method. Renderer subclasses should override this\n * method to actually perform rendering.\n * @param {object} scene - The root mark of a scenegraph to render.\n */\nprototype._render = function(/*scene*/) {\n // subclasses to override\n};\n\n/**\n * Asynchronous rendering method. Similar to render, but returns a Promise\n * that resolves when all rendering is completed. Sometimes a renderer must\n * perform image loading to get a complete rendering. The returned\n * Promise will not resolve until this process completes.\n * @param {object} scene - The root mark of a scenegraph to render.\n * @return {Promise} - A Promise that resolves when rendering is complete.\n */\nprototype.renderAsync = function(scene) {\n var r = this.render(scene);\n return this._ready\n ? this._ready.then(function() { return r; })\n : Promise.resolve(r);\n};\n\n/**\n * Internal method for asynchronous resource loading.\n * Proxies method calls to the ImageLoader, and tracks loading\n * progress to invoke a re-render once complete.\n * @param {string} method - The method name to invoke on the ImageLoader.\n * @param {string} uri - The URI for the requested resource.\n * @return {Promise} - A Promise that resolves to the requested resource.\n */\nprototype._load = function(method, uri) {\n var r = this,\n p = r._loader[method](uri);\n\n if (!r._ready) {\n // re-render the scene when loading completes\n var call = r._call;\n r._ready = r._loader.ready()\n .then(function(redraw) {\n if (redraw) call();\n r._ready = null;\n });\n }\n\n return p;\n};\n\n/**\n * Sanitize a URL to include as a hyperlink in the rendered scene.\n * This method proxies a call to ImageLoader.sanitizeURL, but also tracks\n * image loading progress and invokes a re-render once complete.\n * @param {string} uri - The URI string to sanitize.\n * @return {Promise} - A Promise that resolves to the sanitized URL.\n */\nprototype.sanitizeURL = function(uri) {\n return this._load('sanitizeURL', uri);\n};\n\n/**\n * Requests an image to include in the rendered scene.\n * This method proxies a call to ImageLoader.loadImage, but also tracks\n * image loading progress and invokes a re-render once complete.\n * @param {string} uri - The URI string of the image.\n * @return {Promise} - A Promise that resolves to the loaded Image.\n */\nprototype.loadImage = function(uri) {\n return this._load('loadImage', uri);\n};\n\n\n/***/ }),\n/* 109 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_nest__ = __webpack_require__(647);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_nest__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_set__ = __webpack_require__(648);\n/* unused harmony reexport set */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_map__ = __webpack_require__(170);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_map__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_keys__ = __webpack_require__(649);\n/* unused harmony reexport keys */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__src_values__ = __webpack_require__(650);\n/* unused harmony reexport values */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__src_entries__ = __webpack_require__(651);\n/* unused harmony reexport entries */\n\n\n\n\n\n\n\n\n/***/ }),\n/* 110 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(a, b) {\n return a = +a, b -= a, function(t) {\n return a + b * t;\n };\n});\n\n\n/***/ }),\n/* 111 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = deinterpolateLinear;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = copy;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = continuous;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_d3_interpolate__ = __webpack_require__(38);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__array__ = __webpack_require__(53);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__constant__ = __webpack_require__(175);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__number__ = __webpack_require__(308);\n\n\n\n\n\n\nvar unit = [0, 1];\n\nfunction deinterpolateLinear(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : Object(__WEBPACK_IMPORTED_MODULE_3__constant__[\"a\" /* default */])(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 = Object(__WEBPACK_IMPORTED_MODULE_0_d3_array__[\"b\" /* bisect */])(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nfunction 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].\nfunction continuous(deinterpolate, reinterpolate) {\n var domain = unit,\n range = unit,\n interpolate = __WEBPACK_IMPORTED_MODULE_1_d3_interpolate__[\"interpolate\"],\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 = __WEBPACK_IMPORTED_MODULE_2__array__[\"a\" /* map */].call(_, __WEBPACK_IMPORTED_MODULE_4__number__[\"a\" /* default */]), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = __WEBPACK_IMPORTED_MODULE_2__array__[\"b\" /* slice */].call(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = __WEBPACK_IMPORTED_MODULE_2__array__[\"b\" /* slice */].call(_), interpolate = __WEBPACK_IMPORTED_MODULE_1_d3_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\n\n/***/ }),\n/* 112 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__formatDecimal__ = __webpack_require__(176);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(x) {\n return x = Object(__WEBPACK_IMPORTED_MODULE_0__formatDecimal__[\"a\" /* default */])(Math.abs(x)), x ? x[1] : NaN;\n});\n\n\n/***/ }),\n/* 113 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_projections__ = __webpack_require__(752);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_projections__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_projections__[\"c\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_projections__[\"a\"]; });\n\n\n\n/***/ }),\n/* 114 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = rotateRadians;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__compose__ = __webpack_require__(321);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__math__ = __webpack_require__(6);\n\n\n\nfunction rotationIdentity(lambda, phi) {\n return [lambda > __WEBPACK_IMPORTED_MODULE_1__math__[\"o\" /* pi */] ? lambda - __WEBPACK_IMPORTED_MODULE_1__math__[\"w\" /* tau */] : lambda < -__WEBPACK_IMPORTED_MODULE_1__math__[\"o\" /* pi */] ? lambda + __WEBPACK_IMPORTED_MODULE_1__math__[\"w\" /* tau */] : lambda, phi];\n}\n\nrotationIdentity.invert = rotationIdentity;\n\nfunction rotateRadians(deltaLambda, deltaPhi, deltaGamma) {\n return (deltaLambda %= __WEBPACK_IMPORTED_MODULE_1__math__[\"w\" /* tau */]) ? (deltaPhi || deltaGamma ? Object(__WEBPACK_IMPORTED_MODULE_0__compose__[\"a\" /* default */])(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 > __WEBPACK_IMPORTED_MODULE_1__math__[\"o\" /* pi */] ? lambda - __WEBPACK_IMPORTED_MODULE_1__math__[\"w\" /* tau */] : lambda < -__WEBPACK_IMPORTED_MODULE_1__math__[\"o\" /* pi */] ? lambda + __WEBPACK_IMPORTED_MODULE_1__math__[\"w\" /* 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 = Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"g\" /* cos */])(deltaPhi),\n sinDeltaPhi = Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"t\" /* sin */])(deltaPhi),\n cosDeltaGamma = Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"g\" /* cos */])(deltaGamma),\n sinDeltaGamma = Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"t\" /* sin */])(deltaGamma);\n\n function rotation(lambda, phi) {\n var cosPhi = Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"g\" /* cos */])(phi),\n x = Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"g\" /* cos */])(lambda) * cosPhi,\n y = Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"t\" /* sin */])(lambda) * cosPhi,\n z = Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"t\" /* sin */])(phi),\n k = z * cosDeltaPhi + x * sinDeltaPhi;\n return [\n Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"e\" /* atan2 */])(y * cosDeltaGamma - k * sinDeltaGamma, x * cosDeltaPhi - z * sinDeltaPhi),\n Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"c\" /* asin */])(k * cosDeltaGamma + y * sinDeltaGamma)\n ];\n }\n\n rotation.invert = function(lambda, phi) {\n var cosPhi = Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"g\" /* cos */])(phi),\n x = Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"g\" /* cos */])(lambda) * cosPhi,\n y = Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"t\" /* sin */])(lambda) * cosPhi,\n z = Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"t\" /* sin */])(phi),\n k = z * cosDeltaGamma - y * sinDeltaGamma;\n return [\n Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"e\" /* atan2 */])(y * cosDeltaGamma + z * sinDeltaGamma, x * cosDeltaPhi + k * sinDeltaPhi),\n Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"c\" /* asin */])(k * cosDeltaPhi - x * sinDeltaPhi)\n ];\n };\n\n return rotation;\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(rotate) {\n rotate = rotateRadians(rotate[0] * __WEBPACK_IMPORTED_MODULE_1__math__[\"r\" /* radians */], rotate[1] * __WEBPACK_IMPORTED_MODULE_1__math__[\"r\" /* radians */], rotate.length > 2 ? rotate[2] * __WEBPACK_IMPORTED_MODULE_1__math__[\"r\" /* radians */] : 0);\n\n function forward(coordinates) {\n coordinates = rotate(coordinates[0] * __WEBPACK_IMPORTED_MODULE_1__math__[\"r\" /* radians */], coordinates[1] * __WEBPACK_IMPORTED_MODULE_1__math__[\"r\" /* radians */]);\n return coordinates[0] *= __WEBPACK_IMPORTED_MODULE_1__math__[\"h\" /* degrees */], coordinates[1] *= __WEBPACK_IMPORTED_MODULE_1__math__[\"h\" /* degrees */], coordinates;\n }\n\n forward.invert = function(coordinates) {\n coordinates = rotate.invert(coordinates[0] * __WEBPACK_IMPORTED_MODULE_1__math__[\"r\" /* radians */], coordinates[1] * __WEBPACK_IMPORTED_MODULE_1__math__[\"r\" /* radians */]);\n return coordinates[0] *= __WEBPACK_IMPORTED_MODULE_1__math__[\"h\" /* degrees */], coordinates[1] *= __WEBPACK_IMPORTED_MODULE_1__math__[\"h\" /* degrees */], coordinates;\n };\n\n return forward;\n});\n\n\n/***/ }),\n/* 115 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = clipRectangle;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__math__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__buffer__ = __webpack_require__(324);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__line__ = __webpack_require__(757);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__rejoin__ = __webpack_require__(325);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_d3_array__ = __webpack_require__(9);\n\n\n\n\n\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\nfunction 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 Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"a\" /* abs */])(p[0] - x0) < __WEBPACK_IMPORTED_MODULE_0__math__[\"i\" /* epsilon */] ? direction > 0 ? 0 : 3\n : Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"a\" /* abs */])(p[0] - x1) < __WEBPACK_IMPORTED_MODULE_0__math__[\"i\" /* epsilon */] ? direction > 0 ? 2 : 1\n : Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"a\" /* abs */])(p[1] - y0) < __WEBPACK_IMPORTED_MODULE_0__math__[\"i\" /* 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 = Object(__WEBPACK_IMPORTED_MODULE_1__buffer__[\"a\" /* default */])(),\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 = Object(__WEBPACK_IMPORTED_MODULE_4_d3_array__[\"j\" /* 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 Object(__WEBPACK_IMPORTED_MODULE_3__rejoin__[\"a\" /* default */])(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 (Object(__WEBPACK_IMPORTED_MODULE_2__line__[\"a\" /* default */])(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\n\n/***/ }),\n/* 116 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = transformer;\n/* unused harmony default export */ var _unused_webpack_default_export = (function(methods) {\n return {\n stream: transformer(methods)\n };\n});\n\nfunction 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\n\n/***/ }),\n/* 117 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 118 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = HierarchyLayout;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Abstract class for tree layout.\n * @constructor\n * @param {object} params - The parameters for this operator.\n */\nfunction HierarchyLayout(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n}\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(HierarchyLayout, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n if (!pulse.source || !pulse.source.root) {\n Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"m\" /* error */])(this.constructor.name\n + ' transform requires a backing tree data source.');\n }\n\n var layout = this.layout(_.method),\n fields = this.fields,\n root = pulse.source.root,\n as = _.as || fields;\n\n if (_.field) root.sum(_.field);\n if (_.sort) root.sort(_.sort);\n\n setParams(layout, this.params, _);\n try {\n this.value = layout(root);\n } catch (err) {\n Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"m\" /* error */])(err);\n }\n root.each(function(node) { setFields(node, fields, as); });\n\n return pulse.reflow(_.modified()).modifies(as).modifies('leaf');\n};\n\nfunction setParams(layout, params, _) {\n for (var p, i=0, n=params.length; i<n; ++i) {\n p = params[i];\n if (p in _) layout[p](_[p]);\n }\n}\n\nfunction setFields(node, fields, as) {\n var t = node.data;\n for (var i=0, n=fields.length-1; i<n; ++i) {\n t[as[i]] = node[fields[i]];\n }\n t[as[n]] = node.children ? node.children.length : 0;\n}\n\n\n/***/ }),\n/* 119 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = width;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = height;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = offset;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = resizeRenderer;\nfunction width(view) {\n var padding = view.padding();\n return Math.max(0, view._viewWidth + padding.left + padding.right);\n}\n\nfunction height(view) {\n var padding = view.padding();\n return Math.max(0, view._viewHeight + padding.top + padding.bottom);\n}\n\nfunction offset(view) {\n var padding = view.padding(),\n origin = view._origin;\n return [\n padding.left + origin[0],\n padding.top + origin[1]\n ];\n}\n\nfunction resizeRenderer(view) {\n var origin = offset(view),\n w = width(view),\n h = height(view);\n\n view._renderer.background(view._background);\n view._renderer.resize(w, h, origin);\n view._handler.origin(origin);\n\n view._resizeListeners.forEach(function(handler) {\n try {\n handler(w, h);\n } catch (error) {\n view.error(error);\n }\n });\n}\n\n\n/***/ }),\n/* 120 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__signal_updates__ = __webpack_require__(349);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__scale__ = __webpack_require__(357);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__projection__ = __webpack_require__(895);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__legend__ = __webpack_require__(896);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__signal__ = __webpack_require__(192);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__title__ = __webpack_require__(913);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__data__ = __webpack_require__(914);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__mark__ = __webpack_require__(126);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__axis__ = __webpack_require__(915);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_vega_util__ = __webpack_require__(0);\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(spec, scope, preprocessed) {\n var signals = Object(__WEBPACK_IMPORTED_MODULE_9_vega_util__[\"i\" /* array */])(spec.signals),\n scales = Object(__WEBPACK_IMPORTED_MODULE_9_vega_util__[\"i\" /* array */])(spec.scales);\n\n if (!preprocessed) signals.forEach(function(_) {\n Object(__WEBPACK_IMPORTED_MODULE_4__signal__[\"a\" /* default */])(_, scope);\n });\n\n Object(__WEBPACK_IMPORTED_MODULE_9_vega_util__[\"i\" /* array */])(spec.projections).forEach(function(_) {\n Object(__WEBPACK_IMPORTED_MODULE_2__projection__[\"a\" /* default */])(_, scope);\n });\n\n scales.forEach(function(_) {\n Object(__WEBPACK_IMPORTED_MODULE_1__scale__[\"a\" /* initScale */])(_, scope);\n });\n\n Object(__WEBPACK_IMPORTED_MODULE_9_vega_util__[\"i\" /* array */])(spec.data).forEach(function(_) {\n Object(__WEBPACK_IMPORTED_MODULE_6__data__[\"a\" /* default */])(_, scope);\n });\n\n scales.forEach(function(_) {\n Object(__WEBPACK_IMPORTED_MODULE_1__scale__[\"d\" /* parseScale */])(_, scope);\n });\n\n signals.forEach(function(_) {\n Object(__WEBPACK_IMPORTED_MODULE_0__signal_updates__[\"a\" /* default */])(_, scope);\n });\n\n Object(__WEBPACK_IMPORTED_MODULE_9_vega_util__[\"i\" /* array */])(spec.axes).forEach(function(_) {\n Object(__WEBPACK_IMPORTED_MODULE_8__axis__[\"a\" /* default */])(_, scope);\n });\n\n Object(__WEBPACK_IMPORTED_MODULE_9_vega_util__[\"i\" /* array */])(spec.marks).forEach(function(_) {\n Object(__WEBPACK_IMPORTED_MODULE_7__mark__[\"a\" /* default */])(_, scope);\n });\n\n Object(__WEBPACK_IMPORTED_MODULE_9_vega_util__[\"i\" /* array */])(spec.legends).forEach(function(_) {\n Object(__WEBPACK_IMPORTED_MODULE_3__legend__[\"a\" /* default */])(_, scope);\n });\n\n if (spec.title) {\n Object(__WEBPACK_IMPORTED_MODULE_5__title__[\"a\" /* default */])(spec.title, scope);\n }\n\n scope.parseLambdas();\n return scope;\n});\n\n\n/***/ }),\n/* 121 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = getScale;\n/* harmony export (immutable) */ __webpack_exports__[\"i\"] = scaleVisitor;\n/* harmony export (immutable) */ __webpack_exports__[\"g\"] = range;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = domain;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = bandwidth;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = bandspace;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = copy;\n/* harmony export (immutable) */ __webpack_exports__[\"h\"] = scale;\n/* harmony export (immutable) */ __webpack_exports__[\"f\"] = invert;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ast__ = __webpack_require__(193);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__prefixes__ = __webpack_require__(122);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_scale__ = __webpack_require__(52);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vega_util__ = __webpack_require__(0);\n\n\n\n\n\nfunction getScale(name, ctx) {\n var s;\n return Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"y\" /* isFunction */])(name) ? name\n : Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"C\" /* isString */])(name) ? (s = ctx.scales[name]) && s.value\n : undefined;\n}\n\nfunction addScaleDependency(scope, params, name) {\n var scaleName = __WEBPACK_IMPORTED_MODULE_1__prefixes__[\"c\" /* scalePrefix */] + name;\n if (!params.hasOwnProperty(scaleName)) {\n try {\n params[scaleName] = scope.scaleRef(name);\n } catch (err) {\n // TODO: error handling? warning?\n }\n }\n}\n\nfunction scaleVisitor(name, args, scope, params) {\n if (args[0].type === __WEBPACK_IMPORTED_MODULE_0__ast__[\"b\" /* Literal */]) {\n // add scale dependency\n addScaleDependency(scope, params, args[0].value);\n }\n else if (args[0].type === __WEBPACK_IMPORTED_MODULE_0__ast__[\"a\" /* Identifier */]) {\n // indirect scale lookup; add all scales as parameters\n for (name in scope.scales) {\n addScaleDependency(scope, params, name);\n }\n }\n}\n\nfunction range(name, group) {\n var s = getScale(name, (group || this).context);\n return s && s.range ? s.range() : [];\n}\n\nfunction domain(name, group) {\n var s = getScale(name, (group || this).context);\n return s ? s.domain() : [];\n}\n\nfunction bandwidth(name, group) {\n var s = getScale(name, (group || this).context);\n return s && s.bandwidth ? s.bandwidth() : 0;\n}\n\nfunction bandspace(count, paddingInner, paddingOuter) {\n return Object(__WEBPACK_IMPORTED_MODULE_2_vega_scale__[\"a\" /* bandSpace */])(count || 0, paddingInner || 0, paddingOuter || 0);\n}\n\nfunction copy(name, group) {\n var s = getScale(name, (group || this).context);\n return s ? s.copy() : undefined;\n}\n\nfunction scale(name, value, group) {\n var s = getScale(name, (group || this).context);\n return s ? s(value) : undefined;\n}\n\nfunction invert(name, range, group) {\n var s = getScale(name, (group || this).context);\n return !s ? undefined\n : Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"v\" /* isArray */])(range) ? (s.invertRange || s.invert)(range)\n : (s.invert || s.invertExtent)(range);\n}\n\n\n/***/ }),\n/* 122 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return indexPrefix; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return scalePrefix; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return dataPrefix; });\nvar indexPrefix = '@';\nvar scalePrefix = '%';\nvar dataPrefix = ':';\n\n\n/***/ }),\n/* 123 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_event_selector__ = __webpack_require__(894);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_event_selector__[\"a\"]; });\n\n\n\n/***/ }),\n/* 124 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__color__ = __webpack_require__(900);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__field__ = __webpack_require__(358);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__scale__ = __webpack_require__(359);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__gradient__ = __webpack_require__(901);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__property__ = __webpack_require__(902);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__expression__ = __webpack_require__(125);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_vega_util__ = __webpack_require__(0);\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(channel, enc, scope, params, fields) {\n if (enc.gradient != null) {\n return Object(__WEBPACK_IMPORTED_MODULE_3__gradient__[\"a\" /* default */])(enc, scope, params, fields);\n }\n\n var value = enc.signal ? Object(__WEBPACK_IMPORTED_MODULE_5__expression__[\"a\" /* default */])(enc.signal, scope, params, fields)\n : enc.color ? Object(__WEBPACK_IMPORTED_MODULE_0__color__[\"a\" /* default */])(enc.color, scope, params, fields)\n : enc.field != null ? Object(__WEBPACK_IMPORTED_MODULE_1__field__[\"a\" /* default */])(enc.field, scope, params, fields)\n : enc.value !== undefined ? Object(__WEBPACK_IMPORTED_MODULE_6_vega_util__[\"O\" /* stringValue */])(enc.value)\n : undefined;\n\n if (enc.scale != null) {\n value = Object(__WEBPACK_IMPORTED_MODULE_2__scale__[\"a\" /* default */])(enc, value, scope, params, fields);\n }\n\n if (value === undefined) {\n value = null;\n }\n\n if (enc.exponent != null) {\n value = 'Math.pow(' + value + ','\n + Object(__WEBPACK_IMPORTED_MODULE_4__property__[\"a\" /* default */])(enc.exponent, scope, params, fields) + ')';\n }\n\n if (enc.mult != null) {\n value += '*' + Object(__WEBPACK_IMPORTED_MODULE_4__property__[\"a\" /* default */])(enc.mult, scope, params, fields);\n }\n\n if (enc.offset != null) {\n value += '+' + Object(__WEBPACK_IMPORTED_MODULE_4__property__[\"a\" /* default */])(enc.offset, scope, params, fields);\n }\n\n if (enc.round) {\n value = 'Math.round(' + value + ')';\n }\n\n return value;\n});\n\n\n/***/ }),\n/* 125 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__expression__ = __webpack_require__(44);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(code, scope, params, fields) {\n var expr = Object(__WEBPACK_IMPORTED_MODULE_0__expression__[\"a\" /* default */])(code, scope);\n expr.$fields.forEach(function(name) { fields[name] = 1; });\n Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"n\" /* extend */])(params, expr.$params);\n return expr.$expr;\n});\n\n\n/***/ }),\n/* 126 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__marks_clip__ = __webpack_require__(908);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__marks_definition__ = __webpack_require__(909);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__marks_interactive__ = __webpack_require__(910);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__marks_data__ = __webpack_require__(362);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__marks_facet__ = __webpack_require__(911);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__marks_subflow__ = __webpack_require__(912);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__marks_role__ = __webpack_require__(361);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__marks_marktypes__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__marks_roles__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__encode_encode_util__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__transform__ = __webpack_require__(196);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__trigger__ = __webpack_require__(363);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__spec__ = __webpack_require__(120);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__DataScope__ = __webpack_require__(82);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__util__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__transforms__ = __webpack_require__(25);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(spec, scope) {\n var role = Object(__WEBPACK_IMPORTED_MODULE_6__marks_role__[\"a\" /* default */])(spec),\n group = spec.type === __WEBPACK_IMPORTED_MODULE_7__marks_marktypes__[\"a\" /* GroupMark */],\n facet = spec.from && spec.from.facet,\n layout = spec.layout || role === __WEBPACK_IMPORTED_MODULE_8__marks_roles__[\"p\" /* ScopeRole */] || role === __WEBPACK_IMPORTED_MODULE_8__marks_roles__[\"g\" /* FrameRole */],\n nested = role === __WEBPACK_IMPORTED_MODULE_8__marks_roles__[\"o\" /* MarkRole */] || layout || facet,\n overlap = spec.overlap,\n ops, op, input, store, bound, render, sieve, name,\n joinRef, markRef, encodeRef, layoutRef, boundRef;\n\n // resolve input data\n input = Object(__WEBPACK_IMPORTED_MODULE_3__marks_data__[\"a\" /* default */])(spec.from, group, scope);\n\n // data join to map tuples to visual items\n op = scope.add(Object(__WEBPACK_IMPORTED_MODULE_16__transforms__[\"f\" /* DataJoin */])({\n key: input.key || (spec.key ? Object(__WEBPACK_IMPORTED_MODULE_14__util__[\"i\" /* fieldRef */])(spec.key) : undefined),\n pulse: input.pulse,\n clean: !group\n }));\n joinRef = Object(__WEBPACK_IMPORTED_MODULE_14__util__[\"o\" /* ref */])(op);\n\n // collect visual items\n op = store = scope.add(Object(__WEBPACK_IMPORTED_MODULE_16__transforms__[\"d\" /* Collect */])({pulse: joinRef}));\n\n // connect visual items to scenegraph\n op = scope.add(Object(__WEBPACK_IMPORTED_MODULE_16__transforms__[\"n\" /* Mark */])({\n markdef: Object(__WEBPACK_IMPORTED_MODULE_1__marks_definition__[\"a\" /* default */])(spec),\n interactive: Object(__WEBPACK_IMPORTED_MODULE_2__marks_interactive__[\"a\" /* default */])(spec.interactive, scope),\n clip: Object(__WEBPACK_IMPORTED_MODULE_0__marks_clip__[\"a\" /* default */])(spec.clip, scope),\n context: {$context: true},\n groups: scope.lookup(),\n parent: scope.signals.parent ? scope.signalRef('parent') : null,\n index: scope.markpath(),\n pulse: Object(__WEBPACK_IMPORTED_MODULE_14__util__[\"o\" /* ref */])(op)\n }));\n markRef = Object(__WEBPACK_IMPORTED_MODULE_14__util__[\"o\" /* ref */])(op);\n\n // add visual encoders\n op = scope.add(Object(__WEBPACK_IMPORTED_MODULE_16__transforms__[\"g\" /* Encode */])(\n Object(__WEBPACK_IMPORTED_MODULE_9__encode_encode_util__[\"c\" /* encoders */])(spec.encode, spec.type, role, spec.style, scope, {pulse: markRef})\n ));\n\n // monitor parent marks to propagate changes\n op.params.parent = scope.encode();\n\n // add post-encoding transforms, if defined\n if (spec.transform) {\n spec.transform.forEach(function(_) {\n var tx = Object(__WEBPACK_IMPORTED_MODULE_10__transform__[\"a\" /* default */])(_, scope);\n if (tx.metadata.generates || tx.metadata.changes) {\n Object(__WEBPACK_IMPORTED_MODULE_15_vega_util__[\"m\" /* error */])('Mark transforms should not generate new data.');\n }\n tx.params.pulse = Object(__WEBPACK_IMPORTED_MODULE_14__util__[\"o\" /* ref */])(op);\n scope.add(op = tx);\n });\n }\n\n // if item sort specified, perform post-encoding\n if (spec.sort) {\n op = scope.add(Object(__WEBPACK_IMPORTED_MODULE_16__transforms__[\"z\" /* SortItems */])({\n sort: scope.compareRef(spec.sort, true), // stable sort\n pulse: Object(__WEBPACK_IMPORTED_MODULE_14__util__[\"o\" /* ref */])(op)\n }));\n }\n\n encodeRef = Object(__WEBPACK_IMPORTED_MODULE_14__util__[\"o\" /* ref */])(op);\n\n // add view layout operator if needed\n if (facet || layout) {\n layout = scope.add(Object(__WEBPACK_IMPORTED_MODULE_16__transforms__[\"B\" /* ViewLayout */])({\n layout: scope.objectProperty(spec.layout),\n legendMargin: scope.config.legendMargin,\n mark: markRef,\n pulse: encodeRef\n }));\n layoutRef = Object(__WEBPACK_IMPORTED_MODULE_14__util__[\"o\" /* ref */])(layout);\n }\n\n // compute bounding boxes\n bound = scope.add(Object(__WEBPACK_IMPORTED_MODULE_16__transforms__[\"c\" /* Bound */])({mark: markRef, pulse: layoutRef || encodeRef}));\n boundRef = Object(__WEBPACK_IMPORTED_MODULE_14__util__[\"o\" /* ref */])(bound);\n\n // if group mark, recurse to parse nested content\n if (group) {\n // juggle layout & bounds to ensure they run *after* any faceting transforms\n if (nested) { ops = scope.operators; ops.pop(); if (layout) ops.pop(); }\n\n scope.pushState(encodeRef, layoutRef || boundRef, joinRef);\n facet ? Object(__WEBPACK_IMPORTED_MODULE_4__marks_facet__[\"a\" /* default */])(spec, scope, input) // explicit facet\n : nested ? Object(__WEBPACK_IMPORTED_MODULE_5__marks_subflow__[\"a\" /* default */])(spec, scope, input) // standard mark group\n : Object(__WEBPACK_IMPORTED_MODULE_12__spec__[\"a\" /* default */])(spec, scope); // guide group, we can avoid nested scopes\n scope.popState();\n\n if (nested) { if (layout) ops.push(layout); ops.push(bound); }\n }\n\n // if requested, add overlap removal transform\n if (overlap) {\n boundRef = parseOverlap(overlap, boundRef, scope);\n }\n\n // render / sieve items\n render = scope.add(Object(__WEBPACK_IMPORTED_MODULE_16__transforms__[\"w\" /* Render */])({pulse: boundRef}));\n sieve = scope.add(Object(__WEBPACK_IMPORTED_MODULE_16__transforms__[\"y\" /* Sieve */])({pulse: Object(__WEBPACK_IMPORTED_MODULE_14__util__[\"o\" /* ref */])(render)}, undefined, scope.parent()));\n\n // if mark is named, make accessible as reactive geometry\n // add trigger updates if defined\n if (spec.name != null) {\n name = spec.name;\n scope.addData(name, new __WEBPACK_IMPORTED_MODULE_13__DataScope__[\"a\" /* default */](scope, store, render, sieve));\n if (spec.on) spec.on.forEach(function(on) {\n if (on.insert || on.remove || on.toggle) {\n Object(__WEBPACK_IMPORTED_MODULE_15_vega_util__[\"m\" /* error */])('Marks only support modify triggers.');\n }\n Object(__WEBPACK_IMPORTED_MODULE_11__trigger__[\"a\" /* default */])(on, scope, name);\n });\n }\n});\n\nfunction parseOverlap(overlap, source, scope) {\n var method = overlap.method,\n bound = overlap.bound, tol;\n\n var params = {\n method: Object(__WEBPACK_IMPORTED_MODULE_14__util__[\"k\" /* isSignal */])(method) ? scope.signalRef(method.signal) : method,\n pulse: source\n };\n\n if (overlap.order) {\n params.sort = scope.compareRef({field: overlap.order});\n }\n\n if (bound) {\n tol = bound.tolerance;\n params.boundTolerance = Object(__WEBPACK_IMPORTED_MODULE_14__util__[\"k\" /* isSignal */])(tol) ? scope.signalRef(tol.signal) : +tol;\n params.boundScale = scope.scaleRef(bound.scale);\n params.boundOrient = bound.orient;\n }\n\n return Object(__WEBPACK_IMPORTED_MODULE_14__util__[\"o\" /* ref */])(scope.add(Object(__WEBPACK_IMPORTED_MODULE_16__transforms__[\"q\" /* Overlap */])(params)));\n}\n\n\n/***/ }),\n/* 127 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (immutable) */ __webpack_exports__[\"add\"] = add;\n/* harmony export (immutable) */ __webpack_exports__[\"remove\"] = remove;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"COMPOSITE_MARK_STYLES\", function() { return COMPOSITE_MARK_STYLES; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VL_ONLY_COMPOSITE_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX\", function() { return VL_ONLY_COMPOSITE_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX; });\n/* harmony export (immutable) */ __webpack_exports__[\"normalize\"] = normalize;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mark__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__boxplot__ = __webpack_require__(370);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__errorbar__ = __webpack_require__(938);\n\n\n\n\n// This package import below makes the generated .d.ts file compatible with\n// Typescript 2.7 so that libraries requiring us can use Typedoc (which\n// currently is limited to Typescript 2.7). This comment and import can be\n// removed when Typedoc is updated to Typescript 2.9 or later. See\n// https://github.com/vega/vega-lite/issues/3862 for more details.\n\n/**\n * Registry index for all composite mark's normalizer\n */\nvar normalizerRegistry = {};\nfunction add(mark, normalizer) {\n normalizerRegistry[mark] = normalizer;\n}\nfunction remove(mark) {\n delete normalizerRegistry[mark];\n}\nvar COMPOSITE_MARK_STYLES = __WEBPACK_IMPORTED_MODULE_2__boxplot__[\"b\" /* BOXPLOT_STYLES */];\nvar VL_ONLY_COMPOSITE_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, __WEBPACK_IMPORTED_MODULE_2__boxplot__[\"c\" /* VL_ONLY_BOXPLOT_CONFIG_PROPERTY_INDEX */]);\nadd(__WEBPACK_IMPORTED_MODULE_2__boxplot__[\"a\" /* BOXPLOT */], __WEBPACK_IMPORTED_MODULE_2__boxplot__[\"d\" /* normalizeBoxPlot */]);\nadd(__WEBPACK_IMPORTED_MODULE_3__errorbar__[\"a\" /* ERRORBAR */], __WEBPACK_IMPORTED_MODULE_3__errorbar__[\"b\" /* normalizeErrorBar */]);\n/**\n * Transform a unit spec with composite mark into a normal layer spec.\n */\nfunction normalize(\n// This GenericUnitSpec has any as Encoding because unit specs with composite mark can have additional encoding channels.\nspec, config) {\n var mark = Object(__WEBPACK_IMPORTED_MODULE_1__mark__[\"isMarkDef\"])(spec.mark) ? spec.mark.type : spec.mark;\n var normalizer = normalizerRegistry[mark];\n if (normalizer) {\n return normalizer(spec, config);\n }\n throw new Error(\"Invalid mark type \\\"\" + mark + \"\\\"\");\n}\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 128 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (immutable) */ __webpack_exports__[\"isDateTime\"] = isDateTime;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MONTHS\", function() { return MONTHS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SHORT_MONTHS\", function() { return SHORT_MONTHS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DAYS\", function() { return DAYS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SHORT_DAYS\", function() { return SHORT_DAYS; });\n/* harmony export (immutable) */ __webpack_exports__[\"dateTimeExpr\"] = dateTimeExpr;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(3);\n// DateTime definition object\n\n\n\n/*\n * A designated year that starts on Sunday.\n */\nvar SUNDAY_YEAR = 2006;\nfunction isDateTime(o) {\n return !!o && (!!o.year || !!o.quarter || !!o.month || !!o.date || !!o.day ||\n !!o.hours || !!o.minutes || !!o.seconds || !!o.milliseconds);\n}\nvar MONTHS = ['january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december'];\nvar SHORT_MONTHS = MONTHS.map(function (m) { return m.substr(0, 3); });\nvar DAYS = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'];\nvar SHORT_DAYS = DAYS.map(function (d) { return d.substr(0, 3); });\nfunction normalizeQuarter(q) {\n if (Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"z\" /* isNumber */])(q)) {\n if (q > 4) {\n __WEBPACK_IMPORTED_MODULE_1__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_1__log__[\"b\" /* message */].invalidTimeUnit('quarter', q));\n }\n // We accept 1-based quarter, so need to readjust to 0-based quarter\n return (q - 1) + '';\n }\n else {\n // Invalid quarter\n throw new Error(__WEBPACK_IMPORTED_MODULE_1__log__[\"b\" /* message */].invalidTimeUnit('quarter', q));\n }\n}\nfunction normalizeMonth(m) {\n if (Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"z\" /* isNumber */])(m)) {\n // We accept 1-based month, so need to readjust to 0-based month\n return (m - 1) + '';\n }\n else {\n var lowerM = m.toLowerCase();\n var monthIndex = MONTHS.indexOf(lowerM);\n if (monthIndex !== -1) {\n return monthIndex + ''; // 0 for january, ...\n }\n var shortM = lowerM.substr(0, 3);\n var shortMonthIndex = SHORT_MONTHS.indexOf(shortM);\n if (shortMonthIndex !== -1) {\n return shortMonthIndex + '';\n }\n // Invalid month\n throw new Error(__WEBPACK_IMPORTED_MODULE_1__log__[\"b\" /* message */].invalidTimeUnit('month', m));\n }\n}\nfunction normalizeDay(d) {\n if (Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"z\" /* isNumber */])(d)) {\n // mod so that this can be both 0-based where 0 = sunday\n // and 1-based where 7=sunday\n return (d % 7) + '';\n }\n else {\n var lowerD = d.toLowerCase();\n var dayIndex = DAYS.indexOf(lowerD);\n if (dayIndex !== -1) {\n return dayIndex + ''; // 0 for january, ...\n }\n var shortD = lowerD.substr(0, 3);\n var shortDayIndex = SHORT_DAYS.indexOf(shortD);\n if (shortDayIndex !== -1) {\n return shortDayIndex + '';\n }\n // Invalid day\n throw new Error(__WEBPACK_IMPORTED_MODULE_1__log__[\"b\" /* message */].invalidTimeUnit('day', d));\n }\n}\n/**\n * Return Vega Expression for a particular date time.\n * @param d\n * @param normalize whether to normalize quarter, month, day.\n */\nfunction dateTimeExpr(d, normalize) {\n if (normalize === void 0) { normalize = false; }\n var units = [];\n if (normalize && d.day !== undefined) {\n if (Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"keys\"])(d).length > 1) {\n __WEBPACK_IMPORTED_MODULE_1__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_1__log__[\"b\" /* message */].droppedDay(d));\n d = Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"duplicate\"])(d);\n delete d.day;\n }\n }\n if (d.year !== undefined) {\n units.push(d.year);\n }\n else if (d.day !== undefined) {\n // Set year to 2006 for working with day since January 1 2006 is a Sunday\n units.push(SUNDAY_YEAR);\n }\n else {\n units.push(0);\n }\n if (d.month !== undefined) {\n var month = normalize ? normalizeMonth(d.month) : d.month;\n units.push(month);\n }\n else if (d.quarter !== undefined) {\n var quarter = normalize ? normalizeQuarter(d.quarter) : d.quarter;\n units.push(quarter + '*3');\n }\n else {\n units.push(0); // months start at zero in JS\n }\n if (d.date !== undefined) {\n units.push(d.date);\n }\n else if (d.day !== undefined) {\n // HACK: Day only works as a standalone unit\n // This is only correct because we always set year to 2006 for day\n var day = normalize ? normalizeDay(d.day) : d.day;\n units.push(day + '+1');\n }\n else {\n units.push(1); // Date starts at 1 in JS\n }\n // Note: can't use TimeUnit enum here as importing it will create\n // circular dependency problem!\n for (var _i = 0, _a = ['hours', 'minutes', 'seconds', 'milliseconds']; _i < _a.length; _i++) {\n var timeUnit = _a[_i];\n if (d[timeUnit] !== undefined) {\n units.push(d[timeUnit]);\n }\n else {\n units.push(0);\n }\n }\n if (d.utc) {\n return \"utc(\" + units.join(', ') + \")\";\n }\n else {\n return \"datetime(\" + units.join(', ') + \")\";\n }\n}\n//# sourceMappingURL=datetime.js.map\n\n/***/ }),\n/* 129 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = buildModel;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__spec__ = __webpack_require__(61);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__concat__ = __webpack_require__(941);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__facet__ = __webpack_require__(391);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__layer__ = __webpack_require__(962);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__repeat__ = __webpack_require__(977);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__unit__ = __webpack_require__(396);\n\n\n\n\n\n\n\nfunction buildModel(spec, parent, parentGivenName, unitSize, repeater, config, fit) {\n if (Object(__WEBPACK_IMPORTED_MODULE_1__spec__[\"isFacetSpec\"])(spec)) {\n return new __WEBPACK_IMPORTED_MODULE_3__facet__[\"a\" /* FacetModel */](spec, parent, parentGivenName, repeater, config);\n }\n if (Object(__WEBPACK_IMPORTED_MODULE_1__spec__[\"isLayerSpec\"])(spec)) {\n return new __WEBPACK_IMPORTED_MODULE_4__layer__[\"a\" /* LayerModel */](spec, parent, parentGivenName, unitSize, repeater, config, fit);\n }\n if (Object(__WEBPACK_IMPORTED_MODULE_1__spec__[\"isUnitSpec\"])(spec)) {\n return new __WEBPACK_IMPORTED_MODULE_6__unit__[\"a\" /* UnitModel */](spec, parent, parentGivenName, unitSize, repeater, config, fit);\n }\n if (Object(__WEBPACK_IMPORTED_MODULE_1__spec__[\"isRepeatSpec\"])(spec)) {\n return new __WEBPACK_IMPORTED_MODULE_5__repeat__[\"a\" /* RepeatModel */](spec, parent, parentGivenName, repeater, config);\n }\n if (Object(__WEBPACK_IMPORTED_MODULE_1__spec__[\"isConcatSpec\"])(spec)) {\n return new __WEBPACK_IMPORTED_MODULE_2__concat__[\"a\" /* ConcatModel */](spec, parent, parentGivenName, repeater, config);\n }\n throw new Error(__WEBPACK_IMPORTED_MODULE_0__log__[\"b\" /* message */].INVALID_SPEC);\n}\n//# sourceMappingURL=buildmodel.js.map\n\n/***/ }),\n/* 130 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export parseTransformArray */\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = parseData;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__data__ = __webpack_require__(45);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__transform__ = __webpack_require__(202);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__model__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__selection_selection__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__aggregate__ = __webpack_require__(203);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__bin__ = __webpack_require__(384);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__calculate__ = __webpack_require__(62);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__dataflow__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__facet__ = __webpack_require__(133);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__filter__ = __webpack_require__(385);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__filterinvalid__ = __webpack_require__(204);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__formatparse__ = __webpack_require__(205);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__geojson__ = __webpack_require__(386);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__geopoint__ = __webpack_require__(387);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__identifier__ = __webpack_require__(388);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__index__ = __webpack_require__(961);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__lookup__ = __webpack_require__(389);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__source__ = __webpack_require__(134);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__stack__ = __webpack_require__(206);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__timeunit__ = __webpack_require__(135);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__window__ = __webpack_require__(390);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction parseRoot(model, sources) {\n if (model.data || !model.parent) {\n // if the model defines a data source or is the root, create a source node\n var source = new __WEBPACK_IMPORTED_MODULE_20__source__[\"a\" /* SourceNode */](model.data);\n var hash = source.hash();\n if (hash in sources) {\n // use a reference if we already have a source\n return sources[hash];\n }\n else {\n // otherwise add a new one\n sources[hash] = source;\n return source;\n }\n }\n else {\n // If we don't have a source defined (overriding parent's data), use the parent's facet root or main.\n return model.parent.component.data.facetRoot ? model.parent.component.data.facetRoot : model.parent.component.data.main;\n }\n}\n/**\n * Parses a transforms array into a chain of connected dataflow nodes.\n */\nfunction parseTransformArray(head, model, ancestorParse) {\n var lookupCounter = 0;\n model.transforms.forEach(function (t) {\n if (Object(__WEBPACK_IMPORTED_MODULE_3__transform__[\"isCalculate\"])(t)) {\n head = new __WEBPACK_IMPORTED_MODULE_9__calculate__[\"a\" /* CalculateNode */](head, t);\n ancestorParse.set(t.as, 'derived', false);\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_3__transform__[\"isFilter\"])(t)) {\n head = __WEBPACK_IMPORTED_MODULE_14__formatparse__[\"a\" /* ParseNode */].makeImplicitFromFilterTransform(head, t, ancestorParse) || head;\n head = new __WEBPACK_IMPORTED_MODULE_12__filter__[\"a\" /* FilterNode */](head, model, t.filter);\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_3__transform__[\"isBin\"])(t)) {\n var bin = head = __WEBPACK_IMPORTED_MODULE_8__bin__[\"a\" /* BinNode */].makeFromTransform(head, t, model);\n for (var _i = 0, _a = Object(__WEBPACK_IMPORTED_MODULE_4__util__[\"keys\"])(bin.producedFields()); _i < _a.length; _i++) {\n var field = _a[_i];\n ancestorParse.set(field, 'number', false);\n }\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_3__transform__[\"isTimeUnit\"])(t)) {\n head = __WEBPACK_IMPORTED_MODULE_22__timeunit__[\"a\" /* TimeUnitNode */].makeFromTransform(head, t);\n ancestorParse.set(t.as, 'date', false);\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_3__transform__[\"isAggregate\"])(t)) {\n var agg = head = __WEBPACK_IMPORTED_MODULE_7__aggregate__[\"a\" /* AggregateNode */].makeFromTransform(head, t);\n if (Object(__WEBPACK_IMPORTED_MODULE_6__selection_selection__[\"m\" /* requiresSelectionId */])(model)) {\n head = new __WEBPACK_IMPORTED_MODULE_17__identifier__[\"a\" /* IdentifierNode */](head);\n }\n for (var _b = 0, _c = Object(__WEBPACK_IMPORTED_MODULE_4__util__[\"keys\"])(agg.producedFields()); _b < _c.length; _b++) {\n var field = _c[_b];\n ancestorParse.set(field, 'derived', false);\n }\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_3__transform__[\"isLookup\"])(t)) {\n var lookup = head = __WEBPACK_IMPORTED_MODULE_19__lookup__[\"a\" /* LookupNode */].make(head, model, t, lookupCounter++);\n for (var _d = 0, _e = Object(__WEBPACK_IMPORTED_MODULE_4__util__[\"keys\"])(lookup.producedFields()); _d < _e.length; _d++) {\n var field = _e[_d];\n ancestorParse.set(field, 'derived', false);\n }\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_3__transform__[\"isWindow\"])(t)) {\n var window_1 = head = new __WEBPACK_IMPORTED_MODULE_23__window__[\"a\" /* WindowTransformNode */](head, t);\n for (var _f = 0, _g = Object(__WEBPACK_IMPORTED_MODULE_4__util__[\"keys\"])(window_1.producedFields()); _f < _g.length; _f++) {\n var field = _g[_f];\n ancestorParse.set(field, 'derived', false);\n }\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_3__transform__[\"isStack\"])(t)) {\n var stack = head = __WEBPACK_IMPORTED_MODULE_21__stack__[\"a\" /* StackNode */].makeFromTransform(head, t);\n for (var _h = 0, _j = Object(__WEBPACK_IMPORTED_MODULE_4__util__[\"keys\"])(stack.producedFields()); _h < _j.length; _h++) {\n var field = _j[_h];\n ancestorParse.set(field, 'derived', false);\n }\n }\n else {\n __WEBPACK_IMPORTED_MODULE_2__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_2__log__[\"b\" /* message */].invalidTransformIgnored(t));\n return;\n }\n });\n return head;\n}\n/*\nDescription of the dataflow (http://asciiflow.com/):\n +--------+\n | Source |\n +---+----+\n |\n v\n FormatParse\n (explicit)\n |\n v\n Transforms\n(Filter, Calculate, Binning, TimeUnit, Aggregate, Window, ...)\n |\n v\n FormatParse\n (implicit)\n |\n v\n Binning (in `encoding`)\n |\n v\n Timeunit (in `encoding`)\n |\n v\nFormula From Sort Array\n |\n v\n +--+--+\n | Raw |\n +-----+\n |\n v\n Aggregate (in `encoding`)\n |\n v\n Stack (in `encoding`)\n |\n v\n Invalid Filter\n |\n v\n +----------+\n | Main |\n +----------+\n |\n v\n +-------+\n | Facet |----> \"column\", \"column-layout\", and \"row\"\n +-------+\n |\n v\n ...Child data...\n*/\nfunction parseData(model) {\n var head = parseRoot(model, model.component.data.sources);\n var _a = model.component.data, outputNodes = _a.outputNodes, outputNodeRefCounts = _a.outputNodeRefCounts;\n var ancestorParse = model.parent ? model.parent.component.data.ancestorParse.clone() : new __WEBPACK_IMPORTED_MODULE_18__index__[\"a\" /* AncestorParse */]();\n // format.parse: null means disable parsing\n if (model.data && model.data.format && model.data.format.parse === null) {\n ancestorParse.parseNothing = true;\n }\n head = __WEBPACK_IMPORTED_MODULE_14__formatparse__[\"a\" /* ParseNode */].makeExplicit(head, model, ancestorParse) || head;\n // Default discrete selections require an identifier transform to\n // uniquely identify data points as the _id field is volatile. Add\n // this transform at the head of our pipeline such that the identifier\n // field is available for all subsequent datasets. Additional identifier\n // transforms will be necessary when new tuples are constructed\n // (e.g., post-aggregation).\n if (Object(__WEBPACK_IMPORTED_MODULE_6__selection_selection__[\"m\" /* requiresSelectionId */])(model) && (Object(__WEBPACK_IMPORTED_MODULE_5__model__[\"g\" /* isUnitModel */])(model) || Object(__WEBPACK_IMPORTED_MODULE_5__model__[\"e\" /* isLayerModel */])(model))) {\n head = new __WEBPACK_IMPORTED_MODULE_17__identifier__[\"a\" /* IdentifierNode */](head);\n }\n // HACK: This is equivalent for merging bin extent for union scale.\n // FIXME(https://github.com/vega/vega-lite/issues/2270): Correctly merge extent / bin node for shared bin scale\n var parentIsLayer = model.parent && Object(__WEBPACK_IMPORTED_MODULE_5__model__[\"e\" /* isLayerModel */])(model.parent);\n if (Object(__WEBPACK_IMPORTED_MODULE_5__model__[\"g\" /* isUnitModel */])(model) || Object(__WEBPACK_IMPORTED_MODULE_5__model__[\"d\" /* isFacetModel */])(model)) {\n if (parentIsLayer) {\n head = __WEBPACK_IMPORTED_MODULE_8__bin__[\"a\" /* BinNode */].makeFromEncoding(head, model) || head;\n }\n }\n if (model.transforms.length > 0) {\n head = parseTransformArray(head, model, ancestorParse);\n }\n head = __WEBPACK_IMPORTED_MODULE_14__formatparse__[\"a\" /* ParseNode */].makeImplicitFromEncoding(head, model, ancestorParse) || head;\n if (Object(__WEBPACK_IMPORTED_MODULE_5__model__[\"g\" /* isUnitModel */])(model)) {\n head = __WEBPACK_IMPORTED_MODULE_15__geojson__[\"a\" /* GeoJSONNode */].parseAll(head, model);\n head = __WEBPACK_IMPORTED_MODULE_16__geopoint__[\"a\" /* GeoPointNode */].parseAll(head, model);\n }\n if (Object(__WEBPACK_IMPORTED_MODULE_5__model__[\"g\" /* isUnitModel */])(model) || Object(__WEBPACK_IMPORTED_MODULE_5__model__[\"d\" /* isFacetModel */])(model)) {\n if (!parentIsLayer) {\n head = __WEBPACK_IMPORTED_MODULE_8__bin__[\"a\" /* BinNode */].makeFromEncoding(head, model) || head;\n }\n head = __WEBPACK_IMPORTED_MODULE_22__timeunit__[\"a\" /* TimeUnitNode */].makeFromEncoding(head, model) || head;\n head = __WEBPACK_IMPORTED_MODULE_9__calculate__[\"a\" /* CalculateNode */].parseAllForSortIndex(head, model);\n }\n // add an output node pre aggregation\n var rawName = model.getName(__WEBPACK_IMPORTED_MODULE_1__data__[\"RAW\"]);\n var raw = new __WEBPACK_IMPORTED_MODULE_10__dataflow__[\"b\" /* OutputNode */](head, rawName, __WEBPACK_IMPORTED_MODULE_1__data__[\"RAW\"], outputNodeRefCounts);\n outputNodes[rawName] = raw;\n head = raw;\n if (Object(__WEBPACK_IMPORTED_MODULE_5__model__[\"g\" /* isUnitModel */])(model)) {\n var agg = __WEBPACK_IMPORTED_MODULE_7__aggregate__[\"a\" /* AggregateNode */].makeFromEncoding(head, model);\n if (agg) {\n head = agg;\n if (Object(__WEBPACK_IMPORTED_MODULE_6__selection_selection__[\"m\" /* requiresSelectionId */])(model)) {\n head = new __WEBPACK_IMPORTED_MODULE_17__identifier__[\"a\" /* IdentifierNode */](head);\n }\n }\n head = __WEBPACK_IMPORTED_MODULE_21__stack__[\"a\" /* StackNode */].makeFromEncoding(head, model) || head;\n }\n if (Object(__WEBPACK_IMPORTED_MODULE_5__model__[\"g\" /* isUnitModel */])(model)) {\n head = __WEBPACK_IMPORTED_MODULE_13__filterinvalid__[\"a\" /* FilterInvalidNode */].make(head, model) || head;\n }\n // output node for marks\n var mainName = model.getName(__WEBPACK_IMPORTED_MODULE_1__data__[\"MAIN\"]);\n var main = new __WEBPACK_IMPORTED_MODULE_10__dataflow__[\"b\" /* OutputNode */](head, mainName, __WEBPACK_IMPORTED_MODULE_1__data__[\"MAIN\"], outputNodeRefCounts);\n outputNodes[mainName] = main;\n head = main;\n // add facet marker\n var facetRoot = null;\n if (Object(__WEBPACK_IMPORTED_MODULE_5__model__[\"d\" /* isFacetModel */])(model)) {\n var facetName = model.getName('facet');\n // Derive new sort index field for facet's sort array\n head = __WEBPACK_IMPORTED_MODULE_9__calculate__[\"a\" /* CalculateNode */].parseAllForSortIndex(head, model);\n // Derive new aggregate (via window) for facet's sort field\n // TODO: use JoinAggregate once we have it\n // augment data source with new fields for crossed facet\n head = __WEBPACK_IMPORTED_MODULE_23__window__[\"a\" /* WindowTransformNode */].makeFromFacet(head, model.facet) || head;\n facetRoot = new __WEBPACK_IMPORTED_MODULE_11__facet__[\"a\" /* FacetNode */](head, model, facetName, main.getSource());\n outputNodes[facetName] = facetRoot;\n head = facetRoot;\n }\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, model.component.data, { outputNodes: outputNodes,\n outputNodeRefCounts: outputNodeRefCounts,\n raw: raw,\n main: main,\n facetRoot: facetRoot,\n ancestorParse: ancestorParse });\n}\n//# sourceMappingURL=parse.js.map\n\n/***/ }),\n/* 131 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = assembleLayoutSignals;\n/* unused harmony export sizeSignals */\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = sizeExpr;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__scale__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__vega_schema__ = __webpack_require__(29);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__model__ = __webpack_require__(15);\n\n\n\nfunction assembleLayoutSignals(model) {\n return [].concat(sizeSignals(model, 'width'), sizeSignals(model, 'height'));\n}\nfunction sizeSignals(model, sizeType) {\n var channel = sizeType === 'width' ? 'x' : 'y';\n var size = model.component.layoutSize.get(sizeType);\n if (!size || size === 'merged') {\n return [];\n }\n // Read size signal name from name map, just in case it is the top-level size signal that got renamed.\n var name = model.getSizeSignalRef(sizeType).signal;\n if (size === 'range-step') {\n var scaleComponent = model.getScaleComponent(channel);\n if (scaleComponent) {\n var type = scaleComponent.get('type');\n var range = scaleComponent.get('range');\n if (Object(__WEBPACK_IMPORTED_MODULE_0__scale__[\"hasDiscreteDomain\"])(type) && Object(__WEBPACK_IMPORTED_MODULE_1__vega_schema__[\"e\" /* isVgRangeStep */])(range)) {\n var scaleName = model.scaleName(channel);\n if (Object(__WEBPACK_IMPORTED_MODULE_2__model__[\"d\" /* isFacetModel */])(model.parent)) {\n // If parent is facet and this is an independent scale, return only signal signal\n // as the width/height will be calculated using the cardinality from\n // facet's aggregate rather than reading from scale domain\n var parentResolve = model.parent.component.resolve;\n if (parentResolve.scale[channel] === 'independent') {\n return [stepSignal(scaleName, range)];\n }\n }\n return [\n stepSignal(scaleName, range),\n {\n name: name,\n update: sizeExpr(scaleName, scaleComponent, \"domain('\" + scaleName + \"').length\")\n }\n ];\n }\n }\n /* istanbul ignore next: Condition should not happen -- only for warning in development. */\n throw new Error('layout size is range step although there is no rangeStep.');\n }\n else {\n return [{\n name: name,\n value: size\n }];\n }\n}\nfunction stepSignal(scaleName, range) {\n return {\n name: scaleName + '_step',\n value: range.step,\n };\n}\nfunction sizeExpr(scaleName, scaleComponent, cardinality) {\n var type = scaleComponent.get('type');\n var padding = scaleComponent.get('padding');\n var paddingOuter = scaleComponent.get('paddingOuter');\n paddingOuter = paddingOuter !== undefined ? paddingOuter : padding;\n var paddingInner = scaleComponent.get('paddingInner');\n paddingInner = type === 'band' ?\n // only band has real paddingInner\n (paddingInner !== undefined ? paddingInner : padding) :\n // For point, as calculated in https://github.com/vega/vega-scale/blob/master/src/band.js#L128,\n // it's equivalent to have paddingInner = 1 since there is only n-1 steps between n points.\n 1;\n return \"bandspace(\" + cardinality + \", \" + paddingInner + \", \" + paddingOuter + \") * \" + scaleName + \"_step\";\n}\n//# sourceMappingURL=assemble.js.map\n\n/***/ }),\n/* 132 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = defaultScaleResolve;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = parseGuideResolve;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__model__ = __webpack_require__(15);\n\n\n\n\nfunction defaultScaleResolve(channel, model) {\n if (Object(__WEBPACK_IMPORTED_MODULE_3__model__[\"e\" /* isLayerModel */])(model) || Object(__WEBPACK_IMPORTED_MODULE_3__model__[\"d\" /* isFacetModel */])(model)) {\n return 'shared';\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_3__model__[\"c\" /* isConcatModel */])(model) || Object(__WEBPACK_IMPORTED_MODULE_3__model__[\"f\" /* isRepeatModel */])(model)) {\n return Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"contains\"])(__WEBPACK_IMPORTED_MODULE_0__channel__[\"POSITION_SCALE_CHANNELS\"], channel) ? 'independent' : 'shared';\n }\n /* istanbul ignore next: should never reach here. */\n throw new Error('invalid model type for resolve');\n}\nfunction parseGuideResolve(resolve, channel) {\n var channelScaleResolve = resolve.scale[channel];\n var guide = Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"contains\"])(__WEBPACK_IMPORTED_MODULE_0__channel__[\"POSITION_SCALE_CHANNELS\"], channel) ? 'axis' : 'legend';\n if (channelScaleResolve === 'independent') {\n if (resolve[guide][channel] === 'shared') {\n __WEBPACK_IMPORTED_MODULE_1__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_1__log__[\"b\" /* message */].independentScaleMeansIndependentGuide(channel));\n }\n return 'independent';\n }\n return resolve[guide][channel] || 'shared';\n}\n//# sourceMappingURL=resolve.js.map\n\n/***/ }),\n/* 133 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return FacetNode; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__scale__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__sort__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__vega_schema__ = __webpack_require__(29);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__scale_domain__ = __webpack_require__(88);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__calculate__ = __webpack_require__(62);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__dataflow__ = __webpack_require__(13);\n\n\n\n\n\n\n\n\n\n\n\n/**\n * A node that helps us track what fields we are faceting by.\n */\nvar FacetNode = /** @class */ (function (_super) {\n __WEBPACK_IMPORTED_MODULE_0_tslib__[\"c\" /* __extends */](FacetNode, _super);\n /**\n * @param model The facet model.\n * @param name The name that this facet source will have.\n * @param data The source data for this facet data.\n */\n function FacetNode(parent, model, name, data) {\n var _this = _super.call(this, parent) || this;\n _this.model = model;\n _this.name = name;\n _this.data = data;\n for (var _i = 0, _a = [__WEBPACK_IMPORTED_MODULE_2__channel__[\"COLUMN\"], __WEBPACK_IMPORTED_MODULE_2__channel__[\"ROW\"]]; _i < _a.length; _i++) {\n var channel = _a[_i];\n var fieldDef = model.facet[channel];\n if (fieldDef) {\n var bin = fieldDef.bin, sort = fieldDef.sort;\n _this[channel] = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ name: model.getName(channel + \"_domain\"), fields: [\n Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"vgField\"])(fieldDef)\n ].concat((bin ? [Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"vgField\"])(fieldDef, { binSuffix: 'end' })] : [])) }, (Object(__WEBPACK_IMPORTED_MODULE_6__sort__[\"isSortField\"])(sort) ? { sortField: sort } :\n Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(sort) ? { sortIndexField: Object(__WEBPACK_IMPORTED_MODULE_9__calculate__[\"b\" /* sortArrayIndexField */])(fieldDef, channel) } :\n {}));\n }\n }\n _this.childModel = model.child;\n return _this;\n }\n Object.defineProperty(FacetNode.prototype, \"fields\", {\n get: function () {\n return ((this.column && this.column.fields) || []).concat((this.row && this.row.fields) || []);\n },\n enumerable: true,\n configurable: true\n });\n /**\n * The name to reference this source is its name.\n */\n FacetNode.prototype.getSource = function () {\n return this.name;\n };\n FacetNode.prototype.getChildIndependentFieldsWithStep = function () {\n var childIndependentFieldsWithStep = {};\n for (var _i = 0, _a = ['x', 'y']; _i < _a.length; _i++) {\n var channel = _a[_i];\n var childScaleComponent = this.childModel.component.scales[channel];\n if (childScaleComponent && !childScaleComponent.merged) {\n var type = childScaleComponent.get('type');\n var range = childScaleComponent.get('range');\n if (Object(__WEBPACK_IMPORTED_MODULE_5__scale__[\"hasDiscreteDomain\"])(type) && Object(__WEBPACK_IMPORTED_MODULE_7__vega_schema__[\"e\" /* isVgRangeStep */])(range)) {\n var domain = Object(__WEBPACK_IMPORTED_MODULE_8__scale_domain__[\"a\" /* assembleDomain */])(this.childModel, channel);\n var field = Object(__WEBPACK_IMPORTED_MODULE_8__scale_domain__[\"b\" /* getFieldFromDomain */])(domain);\n if (field) {\n childIndependentFieldsWithStep[channel] = field;\n }\n else {\n __WEBPACK_IMPORTED_MODULE_4__log__[\"e\" /* warn */]('Unknown field for ${channel}. Cannot calculate view size.');\n }\n }\n }\n }\n return childIndependentFieldsWithStep;\n };\n FacetNode.prototype.assembleRowColumnData = function (channel, crossedDataName, childIndependentFieldsWithStep) {\n var childChannel = channel === 'row' ? 'y' : 'x';\n var fields = [];\n var ops = [];\n var as = [];\n if (childIndependentFieldsWithStep[childChannel]) {\n if (crossedDataName) {\n // If there is a crossed data, calculate max\n fields.push(\"distinct_\" + childIndependentFieldsWithStep[childChannel]);\n ops.push('max');\n }\n else {\n // If there is no crossed data, just calculate distinct\n fields.push(childIndependentFieldsWithStep[childChannel]);\n ops.push('distinct');\n }\n // Although it is technically a max, just name it distinct so it's easier to refer to it\n as.push(\"distinct_\" + childIndependentFieldsWithStep[childChannel]);\n }\n var _a = this[channel], sortField = _a.sortField, sortIndexField = _a.sortIndexField;\n if (sortField) {\n var op = sortField.op, field = sortField.field;\n fields.push(field);\n ops.push(op);\n as.push(Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"vgField\"])(sortField));\n }\n else if (sortIndexField) {\n fields.push(sortIndexField);\n ops.push('max');\n as.push(sortIndexField);\n }\n return {\n name: this[channel].name,\n // Use data from the crossed one if it exist\n source: crossedDataName || this.data,\n transform: [__WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ type: 'aggregate', groupby: this[channel].fields }, (fields.length ? {\n fields: fields, ops: ops, as: as\n } : {}))]\n };\n };\n FacetNode.prototype.assemble = function () {\n var data = [];\n var crossedDataName = null;\n var childIndependentFieldsWithStep = this.getChildIndependentFieldsWithStep();\n if (this.column && this.row && (childIndependentFieldsWithStep.x || childIndependentFieldsWithStep.y)) {\n // Need to create a cross dataset to correctly calculate cardinality\n crossedDataName = \"cross_\" + this.column.name + \"_\" + this.row.name;\n var fields = [].concat(childIndependentFieldsWithStep.x ? [childIndependentFieldsWithStep.x] : [], childIndependentFieldsWithStep.y ? [childIndependentFieldsWithStep.y] : []);\n var ops = fields.map(function () { return 'distinct'; });\n data.push({\n name: crossedDataName,\n source: this.data,\n transform: [{\n type: 'aggregate',\n groupby: this.column.fields.concat(this.row.fields),\n fields: fields,\n ops: ops\n }]\n });\n }\n for (var _i = 0, _a = [__WEBPACK_IMPORTED_MODULE_2__channel__[\"COLUMN\"], __WEBPACK_IMPORTED_MODULE_2__channel__[\"ROW\"]]; _i < _a.length; _i++) {\n var channel = _a[_i];\n if (this[channel]) {\n data.push(this.assembleRowColumnData(channel, crossedDataName, childIndependentFieldsWithStep));\n }\n }\n return data;\n };\n return FacetNode;\n}(__WEBPACK_IMPORTED_MODULE_10__dataflow__[\"a\" /* DataFlowNode */]));\n\n//# sourceMappingURL=facet.js.map\n\n/***/ }),\n/* 134 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return SourceNode; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__data__ = __webpack_require__(45);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__dataflow__ = __webpack_require__(13);\n\n\n\n\nvar SourceNode = /** @class */ (function (_super) {\n __WEBPACK_IMPORTED_MODULE_0_tslib__[\"c\" /* __extends */](SourceNode, _super);\n function SourceNode(data) {\n var _this = _super.call(this, null) || this;\n data = data || { name: 'source' };\n if (Object(__WEBPACK_IMPORTED_MODULE_1__data__[\"isInlineData\"])(data)) {\n _this._data = { values: data.values };\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_1__data__[\"isUrlData\"])(data)) {\n _this._data = { url: data.url };\n if (!data.format) {\n data.format = {};\n }\n if (!data.format || !data.format.type) {\n // Extract extension from URL using snippet from\n // http://stackoverflow.com/questions/680929/how-to-extract-extension-from-filename-string-in-javascript\n var defaultExtension = /(?:\\.([^.]+))?$/.exec(data.url)[1];\n if (!Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"contains\"])(['json', 'csv', 'tsv', 'dsv', 'topojson'], defaultExtension)) {\n defaultExtension = 'json';\n }\n // defaultExtension has type string but we ensure that it is DataFormatType above\n data.format.type = defaultExtension;\n }\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_1__data__[\"isNamedData\"])(data)) {\n _this._data = {};\n }\n // any dataset can be named\n if (data.name) {\n _this._name = data.name;\n }\n if (data.format) {\n var _a = data.format, _b = _a.parse, parse = _b === void 0 ? null : _b, format = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"e\" /* __rest */](_a, [\"parse\"]);\n _this._data.format = format;\n }\n return _this;\n }\n Object.defineProperty(SourceNode.prototype, \"data\", {\n get: function () {\n return this._data;\n },\n enumerable: true,\n configurable: true\n });\n SourceNode.prototype.hasName = function () {\n return !!this._name;\n };\n Object.defineProperty(SourceNode.prototype, \"dataName\", {\n get: function () {\n return this._name;\n },\n set: function (name) {\n this._name = name;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(SourceNode.prototype, \"parent\", {\n set: function (parent) {\n throw new Error('Source nodes have to be roots.');\n },\n enumerable: true,\n configurable: true\n });\n SourceNode.prototype.remove = function () {\n throw new Error('Source nodes are roots and cannot be removed.');\n };\n /**\n * Return a unique identifier for this data source.\n */\n SourceNode.prototype.hash = function () {\n if (Object(__WEBPACK_IMPORTED_MODULE_1__data__[\"isInlineData\"])(this._data)) {\n if (!this._hash) {\n // Hashing can be expensive for large inline datasets.\n this._hash = Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"hash\"])(this._data);\n }\n return this._hash;\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_1__data__[\"isUrlData\"])(this._data)) {\n return Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"hash\"])([this._data.url, this._data.format]);\n }\n else {\n return this._name;\n }\n };\n SourceNode.prototype.assemble = function () {\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ name: this._name }, this._data, { transform: [] });\n };\n return SourceNode;\n}(__WEBPACK_IMPORTED_MODULE_3__dataflow__[\"a\" /* DataFlowNode */]));\n\n//# sourceMappingURL=source.js.map\n\n/***/ }),\n/* 135 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return TimeUnitNode; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__timeunit__ = __webpack_require__(86);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__dataflow__ = __webpack_require__(13);\n\n\n\n\n\nvar TimeUnitNode = /** @class */ (function (_super) {\n __WEBPACK_IMPORTED_MODULE_0_tslib__[\"c\" /* __extends */](TimeUnitNode, _super);\n function TimeUnitNode(parent, formula) {\n var _this = _super.call(this, parent) || this;\n _this.formula = formula;\n return _this;\n }\n TimeUnitNode.prototype.clone = function () {\n return new TimeUnitNode(null, Object(__WEBPACK_IMPORTED_MODULE_3__util__[\"duplicate\"])(this.formula));\n };\n TimeUnitNode.makeFromEncoding = function (parent, model) {\n var formula = model.reduceFieldDef(function (timeUnitComponent, fieldDef) {\n if (fieldDef.timeUnit) {\n var f = Object(__WEBPACK_IMPORTED_MODULE_1__fielddef__[\"vgField\"])(fieldDef);\n timeUnitComponent[f] = {\n as: f,\n timeUnit: fieldDef.timeUnit,\n field: fieldDef.field\n };\n }\n return timeUnitComponent;\n }, {});\n if (Object(__WEBPACK_IMPORTED_MODULE_3__util__[\"keys\"])(formula).length === 0) {\n return null;\n }\n return new TimeUnitNode(parent, formula);\n };\n TimeUnitNode.makeFromTransform = function (parent, t) {\n var _a;\n return new TimeUnitNode(parent, (_a = {},\n _a[t.field] = {\n as: t.as,\n timeUnit: t.timeUnit,\n field: t.field\n },\n _a));\n };\n TimeUnitNode.prototype.merge = function (other) {\n this.formula = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, this.formula, other.formula);\n other.remove();\n };\n TimeUnitNode.prototype.producedFields = function () {\n var out = {};\n Object(__WEBPACK_IMPORTED_MODULE_3__util__[\"vals\"])(this.formula).forEach(function (f) {\n out[f.as] = true;\n });\n return out;\n };\n TimeUnitNode.prototype.dependentFields = function () {\n var out = {};\n Object(__WEBPACK_IMPORTED_MODULE_3__util__[\"vals\"])(this.formula).forEach(function (f) {\n out[f.field] = true;\n });\n return out;\n };\n TimeUnitNode.prototype.assemble = function () {\n return Object(__WEBPACK_IMPORTED_MODULE_3__util__[\"vals\"])(this.formula).map(function (c) {\n return {\n type: 'formula',\n as: c.as,\n expr: Object(__WEBPACK_IMPORTED_MODULE_2__timeunit__[\"fieldExpr\"])(c.timeUnit, c.field)\n };\n });\n };\n return TimeUnitNode;\n}(__WEBPACK_IMPORTED_MODULE_4__dataflow__[\"a\" /* DataFlowNode */]));\n\n//# sourceMappingURL=timeunit.js.map\n\n/***/ }),\n/* 136 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = domain;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__scale__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__selection__ = __webpack_require__(18);\n\n\n\n\n\nvar scaleBindings = {\n has: function (selCmpt) {\n return selCmpt.type === 'interval' && selCmpt.resolve === 'global' &&\n selCmpt.bind && selCmpt.bind === 'scales';\n },\n parse: function (model, selDef, selCmpt) {\n var bound = selCmpt.scales = [];\n selCmpt.project.forEach(function (p) {\n var channel = p.channel;\n var scale = model.getScaleComponent(channel);\n var scaleType = scale ? scale.get('type') : undefined;\n if (!scale || !Object(__WEBPACK_IMPORTED_MODULE_3__scale__[\"hasContinuousDomain\"])(scaleType) || Object(__WEBPACK_IMPORTED_MODULE_3__scale__[\"isBinScale\"])(scaleType)) {\n __WEBPACK_IMPORTED_MODULE_2__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_2__log__[\"b\" /* message */].SCALE_BINDINGS_CONTINUOUS);\n return;\n }\n scale.set('domainRaw', { signal: Object(__WEBPACK_IMPORTED_MODULE_4__selection__[\"i\" /* channelSignalName */])(selCmpt, channel, 'data') }, true);\n bound.push(channel);\n // Bind both x/y for diag plot of repeated views.\n if (model.repeater && model.repeater.row === model.repeater.column) {\n var scale2 = model.getScaleComponent(channel === __WEBPACK_IMPORTED_MODULE_1__channel__[\"X\"] ? __WEBPACK_IMPORTED_MODULE_1__channel__[\"Y\"] : __WEBPACK_IMPORTED_MODULE_1__channel__[\"X\"]);\n scale2.set('domainRaw', { signal: Object(__WEBPACK_IMPORTED_MODULE_4__selection__[\"i\" /* channelSignalName */])(selCmpt, channel, 'data') }, true);\n }\n });\n },\n topLevelSignals: function (model, selCmpt, signals) {\n // Top-level signals are only needed when coordinating composed views.\n if (!model.parent) {\n return signals;\n }\n var channels = selCmpt.scales.filter(function (channel) {\n return !(signals.filter(function (s) { return s.name === Object(__WEBPACK_IMPORTED_MODULE_4__selection__[\"i\" /* channelSignalName */])(selCmpt, channel, 'data'); }).length);\n });\n return signals.concat(channels.map(function (channel) {\n return { name: Object(__WEBPACK_IMPORTED_MODULE_4__selection__[\"i\" /* channelSignalName */])(selCmpt, channel, 'data') };\n }));\n },\n signals: function (model, selCmpt, signals) {\n // Nested signals need only push to top-level signals when within composed views.\n if (model.parent) {\n selCmpt.scales.forEach(function (channel) {\n var signal = signals.filter(function (s) { return s.name === Object(__WEBPACK_IMPORTED_MODULE_4__selection__[\"i\" /* channelSignalName */])(selCmpt, channel, 'data'); })[0];\n signal.push = 'outer';\n delete signal.value;\n delete signal.update;\n });\n }\n return signals;\n }\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (scaleBindings);\nfunction domain(model, channel) {\n var scale = Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"O\" /* stringValue */])(model.scaleName(channel));\n return \"domain(\" + scale + \")\";\n}\n//# sourceMappingURL=scales.js.map\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nif (true) {\n module.exports = __webpack_require__(408);\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n\n\n/***/ }),\n/* 139 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__namespaces__ = __webpack_require__(140);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (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 __WEBPACK_IMPORTED_MODULE_0__namespaces__[\"a\" /* default */].hasOwnProperty(prefix) ? {space: __WEBPACK_IMPORTED_MODULE_0__namespaces__[\"a\" /* default */][prefix], local: name} : name;\n});\n\n\n/***/ }),\n/* 140 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return xhtml; });\nvar xhtml = \"http://www.w3.org/1999/xhtml\";\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\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\n\n/***/ }),\n/* 141 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nfunction none() {}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(selector) {\n return selector == null ? none : function() {\n return this.querySelector(selector);\n };\n});\n\n\n/***/ }),\n/* 142 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 143 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return event; });\n/* unused harmony export customEvent */\nvar filterEvents = {};\n\nvar 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\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\nfunction 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\n\n/***/ }),\n/* 144 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__selection_on__ = __webpack_require__(143);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n var current = __WEBPACK_IMPORTED_MODULE_0__selection_on__[\"b\" /* event */], source;\n while (source = current.sourceEvent) current = source;\n return current;\n});\n\n\n/***/ }),\n/* 145 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (Array.isArray);\n\n\n/***/ }),\n/* 146 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__isArray__ = __webpack_require__(145);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(_) {\n return _ != null ? (Object(__WEBPACK_IMPORTED_MODULE_0__isArray__[\"a\" /* default */])(_) ? _ : [_]) : [];\n});\n\n\n/***/ }),\n/* 147 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(_) {\n return typeof _ === 'function';\n});\n\n\n/***/ }),\n/* 148 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = isChangeSet;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = changeset;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Tuple__ = __webpack_require__(149);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\nfunction isChangeSet(v) {\n return v && v.constructor === changeset;\n}\n\nfunction changeset() {\n var add = [], // insert tuples\n rem = [], // remove tuples\n mod = [], // modify tuples\n remp = [], // remove by predicate\n modp = [], // modify by predicate\n reflow = false;\n\n return {\n constructor: changeset,\n insert: function(t) {\n var d = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"i\" /* array */])(t), i = 0, n = d.length;\n for (; i<n; ++i) add.push(d[i]);\n return this;\n },\n remove: function(t) {\n var a = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"y\" /* isFunction */])(t) ? remp : rem,\n d = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"i\" /* array */])(t), i = 0, n = d.length;\n for (; i<n; ++i) a.push(d[i]);\n return this;\n },\n modify: function(t, field, value) {\n var m = {field: field, value: Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"k\" /* constant */])(value)};\n if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"y\" /* isFunction */])(t)) {\n m.filter = t;\n modp.push(m);\n } else {\n m.tuple = t;\n mod.push(m);\n }\n return this;\n },\n encode: function(t, set) {\n if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"y\" /* isFunction */])(t)) modp.push({filter: t, field: set});\n else mod.push({tuple: t, field: set});\n return this;\n },\n reflow: function() {\n reflow = true;\n return this;\n },\n pulse: function(pulse, tuples) {\n var cur = {}, out = {}, i, n, m, f, t, id;\n\n // build lookup table of current tuples\n for (i=0, n=tuples.length; i<n; ++i) {\n cur[Object(__WEBPACK_IMPORTED_MODULE_0__Tuple__[\"f\" /* tupleid */])(tuples[i])] = 1;\n }\n\n // process individual tuples to remove\n for (i=0, n=rem.length; i<n; ++i) {\n t = rem[i];\n cur[Object(__WEBPACK_IMPORTED_MODULE_0__Tuple__[\"f\" /* tupleid */])(t)] = -1;\n }\n\n // process predicate-based removals\n for (i=0, n=remp.length; i<n; ++i) {\n f = remp[i];\n tuples.forEach(function(t) {\n if (f(t)) cur[Object(__WEBPACK_IMPORTED_MODULE_0__Tuple__[\"f\" /* tupleid */])(t)] = -1;\n });\n }\n\n // process all add tuples\n for (i=0, n=add.length; i<n; ++i) {\n t = add[i];\n id = Object(__WEBPACK_IMPORTED_MODULE_0__Tuple__[\"f\" /* tupleid */])(t);\n if (cur[id]) {\n // tuple already resides in dataset\n // if flagged for both add and remove, cancel\n cur[id] = 1;\n } else {\n // tuple does not reside in dataset, add\n pulse.add.push(Object(__WEBPACK_IMPORTED_MODULE_0__Tuple__[\"b\" /* ingest */])(add[i]));\n }\n }\n\n // populate pulse rem list\n for (i=0, n=tuples.length; i<n; ++i) {\n t = tuples[i];\n if (cur[Object(__WEBPACK_IMPORTED_MODULE_0__Tuple__[\"f\" /* tupleid */])(t)] < 0) pulse.rem.push(t);\n }\n\n // modify helper method\n function modify(t, f, v) {\n if (v) {\n t[f] = v(t);\n } else {\n pulse.encode = f;\n }\n if (!reflow) out[Object(__WEBPACK_IMPORTED_MODULE_0__Tuple__[\"f\" /* tupleid */])(t)] = t;\n }\n\n // process individual tuples to modify\n for (i=0, n=mod.length; i<n; ++i) {\n m = mod[i];\n t = m.tuple;\n f = m.field;\n id = cur[Object(__WEBPACK_IMPORTED_MODULE_0__Tuple__[\"f\" /* tupleid */])(t)];\n if (id > 0) {\n modify(t, f, m.value);\n pulse.modifies(f);\n }\n }\n\n // process predicate-based modifications\n for (i=0, n=modp.length; i<n; ++i) {\n m = modp[i];\n f = m.filter;\n tuples.forEach(function(t) {\n if (f(t) && cur[Object(__WEBPACK_IMPORTED_MODULE_0__Tuple__[\"f\" /* tupleid */])(t)] > 0) {\n modify(t, m.field, m.value);\n }\n });\n pulse.modifies(m.field);\n }\n\n // upon reflow request, populate mod with all non-removed tuples\n // otherwise, populate mod with modified tuples only\n if (reflow) {\n pulse.mod = rem.length || remp.length\n ? tuples.filter(function(t) { return cur[Object(__WEBPACK_IMPORTED_MODULE_0__Tuple__[\"f\" /* tupleid */])(t)] > 0; })\n : tuples.slice();\n } else {\n for (id in out) pulse.mod.push(out[id]);\n }\n\n return pulse;\n }\n };\n}\n\n\n/***/ }),\n/* 149 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export reset */\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = isTuple;\n/* harmony export (immutable) */ __webpack_exports__[\"f\"] = tupleid;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = ingest;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = derive;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = rederive;\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = replace;\nvar TUPLE_ID_KEY = Symbol('vega_id'),\n TUPLE_ID = 1;\n\n/**\n * Resets the internal tuple id counter to one.\n */\nfunction reset() {\n TUPLE_ID = 1;\n}\n\n/**\n * Checks if an input value is a registered tuple.\n * @param {*} t - The value to check.\n * @return {boolean} True if the input is a tuple, false otherwise.\n */\nfunction isTuple(t) {\n return !!(t && tupleid(t));\n}\n\n/**\n * Returns the id of a tuple.\n * @param {object} t - The input tuple.\n * @return {*} the tuple id.\n */\nfunction tupleid(t) {\n return t[TUPLE_ID_KEY];\n}\n\n/**\n * Sets the id of a tuple.\n * @param {object} t - The input tuple.\n * @param {*} id - The id value to set.\n * @return {object} the input tuple.\n */\nfunction setid(t, id) {\n t[TUPLE_ID_KEY] = id;\n return t;\n}\n\n/**\n * Ingest an object or value as a data tuple.\n * If the input value is an object, an id field will be added to it. For\n * efficiency, the input object is modified directly. A copy is not made.\n * If the input value is a literal, it will be wrapped in a new object\n * instance, with the value accessible as the 'data' property.\n * @param datum - The value to ingest.\n * @return {object} The ingested data tuple.\n */\nfunction ingest(datum) {\n var t = (datum === Object(datum)) ? datum : {data: datum};\n return tupleid(t) ? t : setid(t, TUPLE_ID++);\n}\n\n/**\n * Given a source tuple, return a derived copy.\n * @param {object} t - The source tuple.\n * @return {object} The derived tuple.\n */\nfunction derive(t) {\n return rederive(t, ingest({}));\n}\n\n/**\n * Rederive a derived tuple by copying values from the source tuple.\n * @param {object} t - The source tuple.\n * @param {object} d - The derived tuple.\n * @return {object} The derived tuple.\n */\nfunction rederive(t, d) {\n for (var k in t) d[k] = t[k];\n return d;\n}\n\n/**\n * Replace an existing tuple with a new tuple.\n * @param {object} t - The existing data tuple.\n * @param {object} d - The new tuple that replaces the old.\n * @return {object} The new tuple.\n */\nfunction replace(t, d) {\n return setid(d, tupleid(t));\n}\n\n\n/***/ }),\n/* 150 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar 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\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 151 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__identity__ = __webpack_require__(236);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(transform) {\n if (transform == null) return __WEBPACK_IMPORTED_MODULE_0__identity__[\"a\" /* default */];\n var x0,\n y0,\n kx = transform.scale[0],\n ky = transform.scale[1],\n dx = transform.translate[0],\n dy = transform.translate[1];\n return function(input, i) {\n if (!i) x0 = y0 = 0;\n var j = 2, n = input.length, output = new Array(n);\n output[0] = (x0 += input[0]) * kx + dx;\n output[1] = (y0 += input[1]) * ky + dy;\n while (j < n) output[j] = input[j], ++j;\n return output;\n };\n});\n\n\n/***/ }),\n/* 152 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export feature */\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = object;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__reverse__ = __webpack_require__(498);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__transform__ = __webpack_require__(151);\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(topology, o) {\n return o.type === \"GeometryCollection\"\n ? {type: \"FeatureCollection\", features: o.geometries.map(function(o) { return feature(topology, o); })}\n : feature(topology, o);\n});\n\nfunction feature(topology, o) {\n var id = o.id,\n bbox = o.bbox,\n properties = o.properties == null ? {} : o.properties,\n geometry = object(topology, o);\n return id == null && bbox == null ? {type: \"Feature\", properties: properties, geometry: geometry}\n : bbox == null ? {type: \"Feature\", id: id, properties: properties, geometry: geometry}\n : {type: \"Feature\", id: id, bbox: bbox, properties: properties, geometry: geometry};\n}\n\nfunction object(topology, o) {\n var transformPoint = Object(__WEBPACK_IMPORTED_MODULE_1__transform__[\"a\" /* default */])(topology.transform),\n arcs = topology.arcs;\n\n function arc(i, points) {\n if (points.length) points.pop();\n for (var a = arcs[i < 0 ? ~i : i], k = 0, n = a.length; k < n; ++k) {\n points.push(transformPoint(a[k], k));\n }\n if (i < 0) Object(__WEBPACK_IMPORTED_MODULE_0__reverse__[\"a\" /* default */])(points, n);\n }\n\n function point(p) {\n return transformPoint(p);\n }\n\n function line(arcs) {\n var points = [];\n for (var i = 0, n = arcs.length; i < n; ++i) arc(arcs[i], points);\n if (points.length < 2) points.push(points[0]); // This should never happen per the specification.\n return points;\n }\n\n function ring(arcs) {\n var points = line(arcs);\n while (points.length < 4) points.push(points[0]); // This may happen if an arc has only two points.\n return points;\n }\n\n function polygon(arcs) {\n return arcs.map(ring);\n }\n\n function geometry(o) {\n var type = o.type, coordinates;\n switch (type) {\n case \"GeometryCollection\": return {type: type, geometries: o.geometries.map(geometry)};\n case \"Point\": coordinates = point(o.coordinates); break;\n case \"MultiPoint\": coordinates = o.coordinates.map(point); break;\n case \"LineString\": coordinates = line(o.arcs); break;\n case \"MultiLineString\": coordinates = o.arcs.map(line); break;\n case \"Polygon\": coordinates = polygon(o.arcs); break;\n case \"MultiPolygon\": coordinates = o.arcs.map(polygon); break;\n default: return null;\n }\n return {type: type, coordinates: coordinates};\n }\n\n return geometry(o);\n}\n\n\n/***/ }),\n/* 153 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return timeFormat; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return timeParse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return utcFormat; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return utcParse; });\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = defaultLocale;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__locale__ = __webpack_require__(239);\n\n\nvar locale;\nvar timeFormat;\nvar timeParse;\nvar utcFormat;\nvar 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\nfunction defaultLocale(definition) {\n locale = Object(__WEBPACK_IMPORTED_MODULE_0__locale__[\"a\" /* default */])(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}\n\n\n/***/ }),\n/* 154 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Aggregate;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_AggregateKeys__ = __webpack_require__(242);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_AggregateOps__ = __webpack_require__(67);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_TupleStore__ = __webpack_require__(243);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_vega_util__ = __webpack_require__(0);\n\n\n\n\n\n\n/**\n * Group-by aggregation operator.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {Array<function(object): *>} [params.groupby] - An array of accessors to groupby.\n * @param {Array<function(object): *>} [params.fields] - An array of accessors to aggregate.\n * @param {Array<string>} [params.ops] - An array of strings indicating aggregation operations.\n * @param {Array<string>} [params.as] - An array of output field names for aggregated values.\n * @param {boolean} [params.cross=false] - A flag indicating that the full\n * cross-product of groupby values should be generated, including empty cells.\n * If true, the drop parameter is ignored and empty cells are retained.\n * @param {boolean} [params.drop=true] - A flag indicating if empty cells should be removed.\n */\nfunction Aggregate(params) {\n __WEBPACK_IMPORTED_MODULE_3_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n\n this._adds = []; // array of added output tuples\n this._mods = []; // array of modified output tuples\n this._alen = 0; // number of active added tuples\n this._mlen = 0; // number of active modified tuples\n this._drop = true; // should empty aggregation cells be removed\n this._cross = false; // produce full cross-product of group-by values\n\n this._dims = []; // group-by dimension accessors\n this._dnames = []; // group-by dimension names\n\n this._measures = []; // collection of aggregation monoids\n this._countOnly = false; // flag indicating only count aggregation\n this._counts = null; // collection of count fields\n this._prev = null; // previous aggregation cells\n\n this._inputs = null; // array of dependent input tuple field names\n this._outputs = null; // array of output tuple field names\n}\n\nAggregate.Definition = {\n \"type\": \"Aggregate\",\n \"metadata\": {\"generates\": true, \"changes\": true},\n \"params\": [\n { \"name\": \"groupby\", \"type\": \"field\", \"array\": true },\n { \"name\": \"ops\", \"type\": \"enum\", \"array\": true, \"values\": __WEBPACK_IMPORTED_MODULE_1__util_AggregateOps__[\"a\" /* ValidAggregateOps */] },\n { \"name\": \"fields\", \"type\": \"field\", \"null\": true, \"array\": true },\n { \"name\": \"as\", \"type\": \"string\", \"null\": true, \"array\": true },\n { \"name\": \"drop\", \"type\": \"boolean\", \"default\": true },\n { \"name\": \"cross\", \"type\": \"boolean\", \"default\": false },\n { \"name\": \"key\", \"type\": \"field\" }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"u\" /* inherits */])(Aggregate, __WEBPACK_IMPORTED_MODULE_3_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var aggr = this,\n out = pulse.fork(pulse.NO_SOURCE | pulse.NO_FIELDS),\n mod;\n\n this.stamp = out.stamp;\n\n if (this.value && ((mod = _.modified()) || pulse.modified(this._inputs))) {\n this._prev = this.value;\n this.value = mod ? this.init(_) : {};\n pulse.visit(pulse.SOURCE, function(t) { aggr.add(t); });\n } else {\n this.value = this.value || this.init(_);\n pulse.visit(pulse.REM, function(t) { aggr.rem(t); });\n pulse.visit(pulse.ADD, function(t) { aggr.add(t); });\n }\n\n // Indicate output fields and return aggregate tuples.\n out.modifies(this._outputs);\n\n // Should empty cells be dropped?\n aggr._drop = _.drop !== false;\n\n // If domain cross-product requested, generate empty cells as needed\n // and ensure that empty cells are not dropped\n if (_.cross && aggr._dims.length > 1) {\n aggr._drop = false;\n this.cross();\n }\n\n return aggr.changes(out);\n};\n\nprototype.cross = function() {\n var aggr = this,\n curr = aggr.value,\n dims = aggr._dnames,\n vals = dims.map(function() { return {}; }),\n n = dims.length;\n\n // collect all group-by domain values\n function collect(cells) {\n var key, i, t, v;\n for (key in cells) {\n t = cells[key].tuple;\n for (i=0; i<n; ++i) {\n vals[i][(v = t[dims[i]])] = v;\n }\n }\n }\n collect(aggr._prev);\n collect(curr);\n\n // iterate over key cross-product, create cells as needed\n function generate(base, tuple, index) {\n var name = dims[index],\n v = vals[index++],\n k, key;\n\n for (k in v) {\n tuple[name] = v[k];\n key = base ? base + '|' + k : k;\n if (index < n) generate(key, tuple, index);\n else if (!curr[key]) aggr.cell(key, tuple);\n }\n }\n generate('', {}, 0);\n};\n\nprototype.init = function(_) {\n // initialize input and output fields\n var inputs = (this._inputs = []),\n outputs = (this._outputs = []),\n inputMap = {};\n\n function inputVisit(get) {\n var fields = Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"i\" /* array */])(Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"g\" /* accessorFields */])(get)),\n i = 0, n = fields.length, f;\n for (; i<n; ++i) {\n if (!inputMap[f=fields[i]]) {\n inputMap[f] = 1;\n inputs.push(f);\n }\n }\n }\n\n // initialize group-by dimensions\n this._dims = Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"i\" /* array */])(_.groupby);\n this._dnames = this._dims.map(function(d) {\n var dname = Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"h\" /* accessorName */])(d);\n inputVisit(d);\n outputs.push(dname);\n return dname;\n });\n this.cellkey = _.key ? _.key : Object(__WEBPACK_IMPORTED_MODULE_0__util_AggregateKeys__[\"a\" /* groupkey */])(this._dims);\n\n // initialize aggregate measures\n this._countOnly = true;\n this._counts = [];\n this._measures = [];\n\n var fields = _.fields || [null],\n ops = _.ops || ['count'],\n as = _.as || [],\n n = fields.length,\n map = {},\n field, op, m, mname, outname, i;\n\n if (n !== ops.length) {\n Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"m\" /* error */])('Unmatched number of fields and aggregate ops.');\n }\n\n for (i=0; i<n; ++i) {\n field = fields[i];\n op = ops[i];\n\n if (field == null && op !== 'count') {\n Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"m\" /* error */])('Null aggregate field specified.');\n }\n mname = Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"h\" /* accessorName */])(field);\n outname = Object(__WEBPACK_IMPORTED_MODULE_1__util_AggregateOps__[\"d\" /* measureName */])(op, mname, as[i]);\n outputs.push(outname);\n\n if (op === 'count') {\n this._counts.push(outname);\n continue;\n }\n\n m = map[mname];\n if (!m) {\n inputVisit(field);\n m = (map[mname] = []);\n m.field = field;\n this._measures.push(m);\n }\n\n if (op !== 'count') this._countOnly = false;\n m.push(Object(__WEBPACK_IMPORTED_MODULE_1__util_AggregateOps__[\"c\" /* createMeasure */])(op, outname));\n }\n\n this._measures = this._measures.map(function(m) {\n return Object(__WEBPACK_IMPORTED_MODULE_1__util_AggregateOps__[\"b\" /* compileMeasures */])(m, m.field);\n });\n\n return {}; // aggregation cells (this.value)\n};\n\n// -- Cell Management -----\n\nprototype.cellkey = Object(__WEBPACK_IMPORTED_MODULE_0__util_AggregateKeys__[\"a\" /* groupkey */])();\n\nprototype.cell = function(key, t) {\n var cell = this.value[key];\n if (!cell) {\n cell = this.value[key] = this.newcell(key, t);\n this._adds[this._alen++] = cell;\n } else if (cell.num === 0 && this._drop && cell.stamp < this.stamp) {\n cell.stamp = this.stamp;\n this._adds[this._alen++] = cell;\n } else if (cell.stamp < this.stamp) {\n cell.stamp = this.stamp;\n this._mods[this._mlen++] = cell;\n }\n return cell;\n};\n\nprototype.newcell = function(key, t) {\n var cell = {\n key: key,\n num: 0,\n agg: null,\n tuple: this.newtuple(t, this._prev && this._prev[key]),\n stamp: this.stamp,\n store: false\n };\n\n if (!this._countOnly) {\n var measures = this._measures,\n n = measures.length, i;\n\n cell.agg = Array(n);\n for (i=0; i<n; ++i) {\n cell.agg[i] = new measures[i](cell);\n }\n }\n\n if (cell.store) {\n cell.data = new __WEBPACK_IMPORTED_MODULE_2__util_TupleStore__[\"a\" /* default */]();\n }\n\n return cell;\n};\n\nprototype.newtuple = function(t, p) {\n var names = this._dnames,\n dims = this._dims,\n x = {}, i, n;\n\n for (i=0, n=dims.length; i<n; ++i) {\n x[names[i]] = dims[i](t);\n }\n\n return p ? Object(__WEBPACK_IMPORTED_MODULE_3_vega_dataflow__[\"o\" /* replace */])(p.tuple, x) : Object(__WEBPACK_IMPORTED_MODULE_3_vega_dataflow__[\"k\" /* ingest */])(x);\n};\n\n// -- Process Tuples -----\n\nprototype.add = function(t) {\n var key = this.cellkey(t),\n cell = this.cell(key, t),\n agg, i, n;\n\n cell.num += 1;\n if (this._countOnly) return;\n\n if (cell.store) cell.data.add(t);\n\n agg = cell.agg;\n for (i=0, n=agg.length; i<n; ++i) {\n agg[i].add(agg[i].get(t), t);\n }\n};\n\nprototype.rem = function(t) {\n var key = this.cellkey(t),\n cell = this.cell(key, t),\n agg, i, n;\n\n cell.num -= 1;\n if (this._countOnly) return;\n\n if (cell.store) cell.data.rem(t);\n\n agg = cell.agg;\n for (i=0, n=agg.length; i<n; ++i) {\n agg[i].rem(agg[i].get(t), t);\n }\n};\n\nprototype.celltuple = function(cell) {\n var tuple = cell.tuple,\n counts = this._counts,\n agg, i, n;\n\n // consolidate stored values\n if (cell.store) {\n cell.data.values();\n }\n\n // update tuple properties\n for (i=0, n=counts.length; i<n; ++i) {\n tuple[counts[i]] = cell.num;\n }\n if (!this._countOnly) {\n agg = cell.agg;\n for (i=0, n=agg.length; i<n; ++i) {\n agg[i].set(tuple);\n }\n }\n\n return tuple;\n};\n\nprototype.changes = function(out) {\n var adds = this._adds,\n mods = this._mods,\n prev = this._prev,\n drop = this._drop,\n add = out.add,\n rem = out.rem,\n mod = out.mod,\n cell, key, i, n;\n\n if (prev) for (key in prev) {\n cell = prev[key];\n if (!drop || cell.num) rem.push(cell.tuple);\n }\n\n for (i=0, n=this._alen; i<n; ++i) {\n add.push(this.celltuple(adds[i]));\n adds[i] = null; // for garbage collection\n }\n\n for (i=0, n=this._mlen; i<n; ++i) {\n cell = mods[i];\n (cell.num === 0 && drop ? rem : mod).push(this.celltuple(cell));\n mods[i] = null; // for garbage collection\n }\n\n this._alen = this._mlen = 0; // reset list of active cells\n this._prev = null;\n return out;\n};\n\n\n/***/ }),\n/* 155 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__number__ = __webpack_require__(68);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(values, p, valueof) {\n if (valueof == null) valueof = __WEBPACK_IMPORTED_MODULE_0__number__[\"a\" /* default */];\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\n\n/***/ }),\n/* 156 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_path__ = __webpack_require__(48);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constant__ = __webpack_require__(49);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__curve_linear__ = __webpack_require__(98);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__point__ = __webpack_require__(157);\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n var x = __WEBPACK_IMPORTED_MODULE_3__point__[\"a\" /* x */],\n y = __WEBPACK_IMPORTED_MODULE_3__point__[\"b\" /* y */],\n defined = Object(__WEBPACK_IMPORTED_MODULE_1__constant__[\"a\" /* default */])(true),\n context = null,\n curve = __WEBPACK_IMPORTED_MODULE_2__curve_linear__[\"a\" /* default */],\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 = Object(__WEBPACK_IMPORTED_MODULE_0_d3_path__[\"a\" /* 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\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_1__constant__[\"a\" /* default */])(+_), line) : x;\n };\n\n line.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_1__constant__[\"a\" /* default */])(+_), line) : y;\n };\n\n line.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_1__constant__[\"a\" /* default */])(!!_), 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\n\n/***/ }),\n/* 157 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = x;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = y;\nfunction x(p) {\n return p[0];\n}\n\nfunction y(p) {\n return p[1];\n}\n\n\n/***/ }),\n/* 158 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = point;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__math__ = __webpack_require__(70);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__cardinal__ = __webpack_require__(101);\n\n\n\nfunction 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 > __WEBPACK_IMPORTED_MODULE_0__math__[\"f\" /* 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 > __WEBPACK_IMPORTED_MODULE_0__math__[\"f\" /* 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\n/* harmony default export */ __webpack_exports__[\"a\"] = ((function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRom(context, alpha) : new __WEBPACK_IMPORTED_MODULE_1__cardinal__[\"a\" /* Cardinal */](context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5));\n\n\n/***/ }),\n/* 159 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = sum;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__none__ = __webpack_require__(72);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(series) {\n var sums = series.map(sum);\n return Object(__WEBPACK_IMPORTED_MODULE_0__none__[\"a\" /* default */])(series).sort(function(a, b) { return sums[a] - sums[b]; });\n});\n\nfunction 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\n\n/***/ }),\n/* 160 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__arc__ = __webpack_require__(615);\n\n\nvar temp = ['l', 0, 0, 0, 0, 0, 0, 0];\n\nfunction scale(current, s) {\n var c = (temp[0] = current[0]);\n if (c === 'a' || c === 'A') {\n temp[1] = s * current[1];\n temp[2] = s * current[2];\n temp[6] = s * current[6];\n temp[7] = s * current[7];\n } else {\n for (var i=1, n=current.length; i<n; ++i) {\n temp[i] = s * current[i];\n }\n }\n return temp;\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(context, path, l, t, s) {\n var current, // current instruction\n previous = null,\n x = 0, // current x\n y = 0, // current y\n controlX = 0, // current control point x\n controlY = 0, // current control point y\n tempX,\n tempY,\n tempControlX,\n tempControlY;\n\n if (l == null) l = 0;\n if (t == null) t = 0;\n if (s == null) s = 1;\n\n if (context.beginPath) context.beginPath();\n\n for (var i=0, len=path.length; i<len; ++i) {\n current = path[i];\n if (s !== 1) current = scale(current, s);\n\n switch (current[0]) { // first letter\n\n case 'l': // lineto, relative\n x += current[1];\n y += current[2];\n context.lineTo(x + l, y + t);\n break;\n\n case 'L': // lineto, absolute\n x = current[1];\n y = current[2];\n context.lineTo(x + l, y + t);\n break;\n\n case 'h': // horizontal lineto, relative\n x += current[1];\n context.lineTo(x + l, y + t);\n break;\n\n case 'H': // horizontal lineto, absolute\n x = current[1];\n context.lineTo(x + l, y + t);\n break;\n\n case 'v': // vertical lineto, relative\n y += current[1];\n context.lineTo(x + l, y + t);\n break;\n\n case 'V': // verical lineto, absolute\n y = current[1];\n context.lineTo(x + l, y + t);\n break;\n\n case 'm': // moveTo, relative\n x += current[1];\n y += current[2];\n context.moveTo(x + l, y + t);\n break;\n\n case 'M': // moveTo, absolute\n x = current[1];\n y = current[2];\n context.moveTo(x + l, y + t);\n break;\n\n case 'c': // bezierCurveTo, relative\n tempX = x + current[5];\n tempY = y + current[6];\n controlX = x + current[3];\n controlY = y + current[4];\n context.bezierCurveTo(\n x + current[1] + l, // x1\n y + current[2] + t, // y1\n controlX + l, // x2\n controlY + t, // y2\n tempX + l,\n tempY + t\n );\n x = tempX;\n y = tempY;\n break;\n\n case 'C': // bezierCurveTo, absolute\n x = current[5];\n y = current[6];\n controlX = current[3];\n controlY = current[4];\n context.bezierCurveTo(\n current[1] + l,\n current[2] + t,\n controlX + l,\n controlY + t,\n x + l,\n y + t\n );\n break;\n\n case 's': // shorthand cubic bezierCurveTo, relative\n // transform to absolute x,y\n tempX = x + current[3];\n tempY = y + current[4];\n // calculate reflection of previous control points\n controlX = 2 * x - controlX;\n controlY = 2 * y - controlY;\n context.bezierCurveTo(\n controlX + l,\n controlY + t,\n x + current[1] + l,\n y + current[2] + t,\n tempX + l,\n tempY + t\n );\n\n // set control point to 2nd one of this command\n // the first control point is assumed to be the reflection of\n // the second control point on the previous command relative\n // to the current point.\n controlX = x + current[1];\n controlY = y + current[2];\n\n x = tempX;\n y = tempY;\n break;\n\n case 'S': // shorthand cubic bezierCurveTo, absolute\n tempX = current[3];\n tempY = current[4];\n // calculate reflection of previous control points\n controlX = 2*x - controlX;\n controlY = 2*y - controlY;\n context.bezierCurveTo(\n controlX + l,\n controlY + t,\n current[1] + l,\n current[2] + t,\n tempX + l,\n tempY + t\n );\n x = tempX;\n y = tempY;\n // set control point to 2nd one of this command\n // the first control point is assumed to be the reflection of\n // the second control point on the previous command relative\n // to the current point.\n controlX = current[1];\n controlY = current[2];\n\n break;\n\n case 'q': // quadraticCurveTo, relative\n // transform to absolute x,y\n tempX = x + current[3];\n tempY = y + current[4];\n\n controlX = x + current[1];\n controlY = y + current[2];\n\n context.quadraticCurveTo(\n controlX + l,\n controlY + t,\n tempX + l,\n tempY + t\n );\n x = tempX;\n y = tempY;\n break;\n\n case 'Q': // quadraticCurveTo, absolute\n tempX = current[3];\n tempY = current[4];\n\n context.quadraticCurveTo(\n current[1] + l,\n current[2] + t,\n tempX + l,\n tempY + t\n );\n x = tempX;\n y = tempY;\n controlX = current[1];\n controlY = current[2];\n break;\n\n case 't': // shorthand quadraticCurveTo, relative\n\n // transform to absolute x,y\n tempX = x + current[1];\n tempY = y + current[2];\n\n if (previous[0].match(/[QqTt]/) === null) {\n // If there is no previous command or if the previous command was not a Q, q, T or t,\n // assume the control point is coincident with the current point\n controlX = x;\n controlY = y;\n }\n else if (previous[0] === 't') {\n // calculate reflection of previous control points for t\n controlX = 2 * x - tempControlX;\n controlY = 2 * y - tempControlY;\n }\n else if (previous[0] === 'q') {\n // calculate reflection of previous control points for q\n controlX = 2 * x - controlX;\n controlY = 2 * y - controlY;\n }\n\n tempControlX = controlX;\n tempControlY = controlY;\n\n context.quadraticCurveTo(\n controlX + l,\n controlY + t,\n tempX + l,\n tempY + t\n );\n x = tempX;\n y = tempY;\n controlX = x + current[1];\n controlY = y + current[2];\n break;\n\n case 'T':\n tempX = current[1];\n tempY = current[2];\n\n // calculate reflection of previous control points\n controlX = 2 * x - controlX;\n controlY = 2 * y - controlY;\n context.quadraticCurveTo(\n controlX + l,\n controlY + t,\n tempX + l,\n tempY + t\n );\n x = tempX;\n y = tempY;\n break;\n\n case 'a':\n drawArc(context, x + l, y + t, [\n current[1],\n current[2],\n current[3],\n current[4],\n current[5],\n current[6] + x + l,\n current[7] + y + t\n ]);\n x += current[6];\n y += current[7];\n break;\n\n case 'A':\n drawArc(context, x + l, y + t, [\n current[1],\n current[2],\n current[3],\n current[4],\n current[5],\n current[6] + l,\n current[7] + t\n ]);\n x = current[6];\n y = current[7];\n break;\n\n case 'z':\n case 'Z':\n context.closePath();\n break;\n }\n previous = current;\n }\n});\n\nfunction drawArc(context, x, y, coords) {\n var seg = Object(__WEBPACK_IMPORTED_MODULE_0__arc__[\"b\" /* segments */])(\n coords[5], // end x\n coords[6], // end y\n coords[0], // radius x\n coords[1], // radius y\n coords[3], // large flag\n coords[4], // sweep flag\n coords[2], // rotation\n x, y\n );\n for (var i=0; i<seg.length; ++i) {\n var bez = Object(__WEBPACK_IMPORTED_MODULE_0__arc__[\"a\" /* bezier */])(seg[i]);\n context.bezierCurveTo(bez[0], bez[1], bez[2], bez[3], bez[4], bez[5]);\n }\n}\n\n\n/***/ }),\n/* 161 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__bound_boundStroke__ = __webpack_require__(50);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__bound_boundContext__ = __webpack_require__(73);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_canvas_draw__ = __webpack_require__(103);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_canvas_pick__ = __webpack_require__(42);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_svg_translateItem__ = __webpack_require__(105);\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(type, shape) {\n\n function attr(emit, item) {\n emit('transform', Object(__WEBPACK_IMPORTED_MODULE_4__util_svg_translateItem__[\"a\" /* default */])(item));\n emit('d', shape(null, item));\n }\n\n function bound(bounds, item) {\n shape(Object(__WEBPACK_IMPORTED_MODULE_1__bound_boundContext__[\"a\" /* default */])(bounds), item);\n return Object(__WEBPACK_IMPORTED_MODULE_0__bound_boundStroke__[\"a\" /* default */])(bounds, item)\n .translate(item.x || 0, item.y || 0);\n }\n\n function draw(context, item) {\n var x = item.x || 0,\n y = item.y || 0;\n context.translate(x, y);\n context.beginPath();\n shape(context, item);\n context.translate(-x, -y);\n }\n\n return {\n type: type,\n tag: 'path',\n nested: false,\n attr: attr,\n bound: bound,\n draw: Object(__WEBPACK_IMPORTED_MODULE_2__util_canvas_draw__[\"a\" /* drawAll */])(draw),\n pick: Object(__WEBPACK_IMPORTED_MODULE_3__util_canvas_pick__[\"c\" /* pickPath */])(draw)\n };\n\n});\n\n\n/***/ }),\n/* 162 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__color__ = __webpack_require__(289);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(context, item, opacity) {\n opacity *= (item.fillOpacity==null ? 1 : item.fillOpacity);\n if (opacity > 0) {\n context.globalAlpha = opacity;\n context.fillStyle = Object(__WEBPACK_IMPORTED_MODULE_0__color__[\"a\" /* default */])(context, item, item.fill);\n return true;\n } else {\n return false;\n }\n});\n\n\n/***/ }),\n/* 163 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(x, y) {\n return 'translate(' + x + ',' + y + ')';\n});\n\n/***/ }),\n/* 164 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = pickArea;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = pickLine;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = pickTrail;\nfunction pickArea(a, p) {\n var v = a[0].orient === 'horizontal' ? p[1] : p[0],\n z = a[0].orient === 'horizontal' ? 'y' : 'x',\n lo = 0,\n hi = a.length;\n\n if (hi === 1) return a[0];\n\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (a[mid][z] < v) lo = mid + 1;\n else hi = mid;\n }\n lo = Math.max(0, lo - 1);\n hi = Math.min(a.length - 1, hi);\n\n return (v - a[lo][z]) < (a[hi][z] - v) ? a[lo] : a[hi];\n}\n\nfunction pickLine(a, p) {\n var t = Math.pow(a[0].strokeWidth || 1, 2),\n i = a.length, dx, dy, dd;\n\n while (--i >= 0) {\n if (a[i].defined === false) continue;\n dx = a[i].x - p[0];\n dy = a[i].y - p[1];\n dd = dx * dx + dy * dy;\n if (dd < t) return a[i];\n }\n\n return null;\n}\n\nfunction pickTrail(a, p) {\n var i = a.length, dx, dy, dd;\n\n while (--i >= 0) {\n if (a[i].defined === false) continue;\n dx = a[i].x - p[0];\n dy = a[i].y - p[1];\n dd = dx * dx + dy * dy;\n dx = a[i].size || 1;\n if (dd < dx*dx) return a[i];\n }\n\n return null;\n}\n\n\n/***/ }),\n/* 165 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__bound_boundStroke__ = __webpack_require__(50);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__bound_boundContext__ = __webpack_require__(73);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_canvas_draw__ = __webpack_require__(103);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_canvas_pick__ = __webpack_require__(42);\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(type, shape, tip) {\n\n function attr(emit, item) {\n var items = item.mark.items;\n if (items.length) emit('d', shape(null, items));\n }\n\n function bound(bounds, mark) {\n var items = mark.items;\n if (items.length === 0) {\n return bounds;\n } else {\n shape(Object(__WEBPACK_IMPORTED_MODULE_1__bound_boundContext__[\"a\" /* default */])(bounds), items);\n return Object(__WEBPACK_IMPORTED_MODULE_0__bound_boundStroke__[\"a\" /* default */])(bounds, items[0]);\n }\n }\n\n function draw(context, items) {\n context.beginPath();\n shape(context, items);\n }\n\n var hit = Object(__WEBPACK_IMPORTED_MODULE_3__util_canvas_pick__[\"a\" /* hitPath */])(draw);\n\n function pick(context, scene, x, y, gx, gy) {\n var items = scene.items,\n b = scene.bounds;\n\n if (!items || !items.length || b && !b.contains(gx, gy)) {\n return null;\n }\n\n x *= context.pixelRatio;\n y *= context.pixelRatio;\n return hit(context, items, x, y) ? items[0] : null;\n }\n\n return {\n type: type,\n tag: 'path',\n nested: true,\n attr: attr,\n bound: bound,\n draw: Object(__WEBPACK_IMPORTED_MODULE_2__util_canvas_draw__[\"b\" /* drawOne */])(draw),\n pick: pick,\n tip: tip\n };\n\n});\n\n\n\n\n/***/ }),\n/* 166 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Handler;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_dom__ = __webpack_require__(51);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_resolveItem__ = __webpack_require__(628);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_loader__ = __webpack_require__(65);\n\n\n\n\n/**\n * Create a new Handler instance.\n * @param {object} [customLoader] - Optional loader instance for\n * href URL sanitization. If not specified, a standard loader\n * instance will be generated.\n * @param {function} [customTooltip] - Optional tooltip handler\n * function for custom tooltip display.\n * @constructor\n */\nfunction Handler(customLoader, customTooltip) {\n this._active = null;\n this._handlers = {};\n this._loader = customLoader || Object(__WEBPACK_IMPORTED_MODULE_2_vega_loader__[\"d\" /* loader */])();\n this._tooltip = customTooltip || defaultTooltip;\n}\n\n// The default tooltip display handler.\n// Sets the HTML title attribute on the visualization container.\nfunction defaultTooltip(handler, event, item, value) {\n handler.element().setAttribute('title', value || '');\n}\n\nvar prototype = Handler.prototype;\n\n/**\n * Initialize a new Handler instance.\n * @param {DOMElement} el - The containing DOM element for the display.\n * @param {Array<number>} origin - The origin of the display, in pixels.\n * The coordinate system will be translated to this point.\n * @param {object} [obj] - Optional context object that should serve as\n * the \"this\" context for event callbacks.\n * @return {Handler} - This handler instance.\n */\nprototype.initialize = function(el, origin, obj) {\n this._el = el;\n this._obj = obj || null;\n return this.origin(origin);\n};\n\n/**\n * Returns the parent container element for a visualization.\n * @return {DOMElement} - The containing DOM element.\n */\nprototype.element = function() {\n return this._el;\n};\n\n/**\n * Returns the scene element (e.g., canvas or SVG) of the visualization\n * Subclasses must override if the first child is not the scene element.\n * @return {DOMElement} - The scene (e.g., canvas or SVG) element.\n */\nprototype.canvas = function() {\n return this._el && this._el.firstChild;\n};\n\n/**\n * Get / set the origin coordinates of the visualization.\n */\nprototype.origin = function(origin) {\n if (arguments.length) {\n this._origin = origin || [0, 0];\n return this;\n } else {\n return this._origin.slice();\n }\n};\n\n/**\n * Get / set the scenegraph root.\n */\nprototype.scene = function(scene) {\n if (!arguments.length) return this._scene;\n this._scene = scene;\n return this;\n};\n\n/**\n * Add an event handler. Subclasses should override this method.\n */\nprototype.on = function(/*type, handler*/) {};\n\n/**\n * Remove an event handler. Subclasses should override this method.\n */\nprototype.off = function(/*type, handler*/) {};\n\n/**\n * Utility method for finding the array index of an event handler.\n * @param {Array} h - An array of registered event handlers.\n * @param {string} type - The event type.\n * @param {function} handler - The event handler instance to find.\n * @return {number} - The handler's array index or -1 if not registered.\n */\nprototype._handlerIndex = function(h, type, handler) {\n for (var i = h ? h.length : 0; --i>=0;) {\n if (h[i].type === type && (!handler || h[i].handler === handler)) {\n return i;\n }\n }\n return -1;\n};\n\n/**\n * Returns an array with registered event handlers.\n * @param {string} [type] - The event type to query. Any annotations\n * are ignored; for example, for the argument \"click.foo\", \".foo\" will\n * be ignored and the method returns all \"click\" handlers. If type is\n * null or unspecified, this method returns handlers for all types.\n * @return {Array} - A new array containing all registered event handlers.\n */\nprototype.handlers = function(type) {\n var h = this._handlers, a = [], k;\n if (type) {\n a.push.apply(a, h[this.eventName(type)]);\n } else {\n for (k in h) { a.push.apply(a, h[k]); }\n }\n return a;\n};\n\n/**\n * Parses an event name string to return the specific event type.\n * For example, given \"click.foo\" returns \"click\"\n * @param {string} name - The input event type string.\n * @return {string} - A string with the event type only.\n */\nprototype.eventName = function(name) {\n var i = name.indexOf('.');\n return i < 0 ? name : name.slice(0,i);\n};\n\n/**\n * Handle hyperlink navigation in response to an item.href value.\n * @param {Event} event - The event triggering hyperlink navigation.\n * @param {Item} item - The scenegraph item.\n * @param {string} href - The URL to navigate to.\n */\nprototype.handleHref = function(event, item, href) {\n this._loader\n .sanitize(href, {context:'href'})\n .then(function(opt) {\n var e = new MouseEvent(event.type, event),\n a = Object(__WEBPACK_IMPORTED_MODULE_0__util_dom__[\"d\" /* domCreate */])(null, 'a');\n for (var name in opt) a.setAttribute(name, opt[name]);\n a.dispatchEvent(e);\n })\n .catch(function() { /* do nothing */ });\n};\n\n/**\n * Handle tooltip display in response to an item.tooltip value.\n * @param {Event} event - The event triggering tooltip display.\n * @param {Item} item - The scenegraph item.\n * @param {boolean} show - A boolean flag indicating whether\n * to show or hide a tooltip for the given item.\n */\nprototype.handleTooltip = function(event, item, show) {\n if (item && item.tooltip != null) {\n item = Object(__WEBPACK_IMPORTED_MODULE_1__util_resolveItem__[\"a\" /* default */])(item, event, this.canvas(), this._origin);\n var value = (show && item && item.tooltip) || null;\n this._tooltip.call(this._obj, this, event, item, value);\n }\n};\n\n/**\n * Returns the size of a scenegraph item and its position relative\n * to the viewport.\n * @param {Item} item - The scenegraph item.\n * @return {object} - A bounding box object (compatible with the\n * DOMRect type) consisting of x, y, width, heigh, top, left,\n * right, and bottom properties.\n */\nprototype.getItemBoundingClientRect = function(item) {\n if (!(el = this.canvas())) return;\n\n var el, rect = el.getBoundingClientRect(),\n origin = this._origin,\n itemBounds = item.bounds,\n x = itemBounds.x1 + origin[0] + rect.left,\n y = itemBounds.y1 + origin[1] + rect.top,\n w = itemBounds.width(),\n h = itemBounds.height();\n\n // translate coordinate for each parent group\n while (item.mark && (item = item.mark.group)) {\n x += item.x || 0;\n y += item.y || 0;\n }\n\n // return DOMRect-compatible bounding box\n return {\n x: x,\n y: y,\n width: w,\n height: h,\n left: x,\n top: y,\n right: x + w,\n bottom: y + h\n };\n};\n\n\n/***/ }),\n/* 167 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(event, el) {\n var rect = el.getBoundingClientRect();\n return [\n event.clientX - rect.left - (el.clientLeft || 0),\n event.clientY - rect.top - (el.clientTop || 0)\n ];\n});\n\n\n/***/ }),\n/* 168 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = openTag;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = closeTag;\n// generate string for an opening xml tag\n// tag: the name of the xml tag\n// attr: hash of attribute name-value pairs to include\n// raw: additional raw string to include in tag markup\nfunction openTag(tag, attr, raw) {\n var s = '<' + tag, key, val;\n if (attr) {\n for (key in attr) {\n val = attr[key];\n if (val != null) {\n s += ' ' + key + '=\"' + val + '\"';\n }\n }\n }\n if (raw) s += ' ' + raw;\n return s + '>';\n}\n\n// generate string for closing xml tag\n// tag: the name of the xml tag\nfunction closeTag(tag) {\n return '</' + tag + '>';\n}\n\n\n/***/ }),\n/* 169 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return Log; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return Pow; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"o\", function() { return Utc; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"l\", function() { return Sqrt; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Band; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"n\", function() { return Time; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return Point; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return Linear; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return Ordinal; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return Quantile; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return Quantize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"m\", function() { return Threshold; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return BinLinear; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return BinOrdinal; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return Sequential; });\nvar Log = 'log';\nvar Pow = 'pow';\nvar Utc = 'utc';\nvar Sqrt = 'sqrt';\nvar Band = 'band';\nvar Time = 'time';\nvar Point = 'point';\nvar Linear = 'linear';\nvar Ordinal = 'ordinal';\nvar Quantile = 'quantile';\nvar Quantize = 'quantize';\nvar Threshold = 'threshold';\nvar BinLinear = 'bin-linear';\nvar BinOrdinal = 'bin-ordinal';\nvar Sequential = 'sequential';\n\n\n/***/ }),\n/* 170 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return prefix; });\nvar 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\n/* harmony default export */ __webpack_exports__[\"a\"] = (map);\n\n\n/***/ }),\n/* 171 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(33);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__rgb__ = __webpack_require__(301);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__array__ = __webpack_require__(304);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__date__ = __webpack_require__(305);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__number__ = __webpack_require__(110);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__object__ = __webpack_require__(306);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__string__ = __webpack_require__(307);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__constant__ = __webpack_require__(303);\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? Object(__WEBPACK_IMPORTED_MODULE_7__constant__[\"a\" /* default */])(b)\n : (t === \"number\" ? __WEBPACK_IMPORTED_MODULE_4__number__[\"a\" /* default */]\n : t === \"string\" ? ((c = Object(__WEBPACK_IMPORTED_MODULE_0_d3_color__[\"a\" /* color */])(b)) ? (b = c, __WEBPACK_IMPORTED_MODULE_1__rgb__[\"a\" /* default */]) : __WEBPACK_IMPORTED_MODULE_6__string__[\"a\" /* default */])\n : b instanceof __WEBPACK_IMPORTED_MODULE_0_d3_color__[\"a\" /* color */] ? __WEBPACK_IMPORTED_MODULE_1__rgb__[\"a\" /* default */]\n : b instanceof Date ? __WEBPACK_IMPORTED_MODULE_3__date__[\"a\" /* default */]\n : Array.isArray(b) ? __WEBPACK_IMPORTED_MODULE_2__array__[\"a\" /* default */]\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? __WEBPACK_IMPORTED_MODULE_5__object__[\"a\" /* default */]\n : __WEBPACK_IMPORTED_MODULE_4__number__[\"a\" /* default */])(a, b);\n});\n\n\n/***/ }),\n/* 172 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Color;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return darker; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return brighter; });\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = color;\n/* harmony export (immutable) */ __webpack_exports__[\"h\"] = rgbConvert;\n/* harmony export (immutable) */ __webpack_exports__[\"g\"] = rgb;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = Rgb;\n/* unused harmony export hslConvert */\n/* harmony export (immutable) */ __webpack_exports__[\"f\"] = hsl;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__define__ = __webpack_require__(173);\n\n\nfunction Color() {}\n\nvar darker = 0.7;\nvar 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\nObject(__WEBPACK_IMPORTED_MODULE_0__define__[\"a\" /* default */])(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\nfunction 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\nfunction 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\nfunction rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nfunction Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\nObject(__WEBPACK_IMPORTED_MODULE_0__define__[\"a\" /* default */])(Rgb, rgb, Object(__WEBPACK_IMPORTED_MODULE_0__define__[\"b\" /* 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\nfunction 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\nfunction 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\nObject(__WEBPACK_IMPORTED_MODULE_0__define__[\"a\" /* default */])(Hsl, hsl, Object(__WEBPACK_IMPORTED_MODULE_0__define__[\"b\" /* 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\n\n/***/ }),\n/* 173 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = extend;\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n});\n\nfunction 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\n\n/***/ }),\n/* 174 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = basis;\nfunction 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\n/* harmony default export */ __webpack_exports__[\"b\"] = (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\n\n/***/ }),\n/* 175 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(x) {\n return function() {\n return x;\n };\n});\n\n\n/***/ }),\n/* 176 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\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].\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 177 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_area__ = __webpack_require__(319);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_area__[\"c\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_bounds__ = __webpack_require__(753);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_bounds__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_centroid__ = __webpack_require__(754);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_centroid__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_circle__ = __webpack_require__(320);\n/* unused harmony reexport geoCircle */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__src_clip_antimeridian__ = __webpack_require__(322);\n/* unused harmony reexport geoClipAntimeridian */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__src_clip_circle__ = __webpack_require__(328);\n/* unused harmony reexport geoClipCircle */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__src_clip_extent__ = __webpack_require__(756);\n/* unused harmony reexport geoClipExtent */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__src_clip_rectangle__ = __webpack_require__(115);\n/* unused harmony reexport geoClipRectangle */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__src_contains__ = __webpack_require__(758);\n/* unused harmony reexport geoContains */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__src_distance__ = __webpack_require__(329);\n/* unused harmony reexport geoDistance */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__src_graticule__ = __webpack_require__(759);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"m\", function() { return __WEBPACK_IMPORTED_MODULE_10__src_graticule__[\"a\"]; });\n/* unused harmony reexport geoGraticule10 */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__src_interpolate__ = __webpack_require__(760);\n/* unused harmony reexport geoInterpolate */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__src_length__ = __webpack_require__(330);\n/* unused harmony reexport geoLength */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__src_path_index__ = __webpack_require__(761);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"r\", function() { return __WEBPACK_IMPORTED_MODULE_13__src_path_index__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__src_projection_albers__ = __webpack_require__(332);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_14__src_projection_albers__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__src_projection_albersUsa__ = __webpack_require__(769);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_15__src_projection_albersUsa__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__src_projection_azimuthalEqualArea__ = __webpack_require__(770);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return __WEBPACK_IMPORTED_MODULE_16__src_projection_azimuthalEqualArea__[\"a\"]; });\n/* unused harmony reexport geoAzimuthalEqualAreaRaw */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__src_projection_azimuthalEquidistant__ = __webpack_require__(771);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return __WEBPACK_IMPORTED_MODULE_17__src_projection_azimuthalEquidistant__[\"a\"]; });\n/* unused harmony reexport geoAzimuthalEquidistantRaw */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__src_projection_conicConformal__ = __webpack_require__(772);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return __WEBPACK_IMPORTED_MODULE_18__src_projection_conicConformal__[\"a\"]; });\n/* unused harmony reexport geoConicConformalRaw */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__src_projection_conicEqualArea__ = __webpack_require__(179);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return __WEBPACK_IMPORTED_MODULE_19__src_projection_conicEqualArea__[\"a\"]; });\n/* unused harmony reexport geoConicEqualAreaRaw */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__src_projection_conicEquidistant__ = __webpack_require__(773);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return __WEBPACK_IMPORTED_MODULE_20__src_projection_conicEquidistant__[\"a\"]; });\n/* unused harmony reexport geoConicEquidistantRaw */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__src_projection_equirectangular__ = __webpack_require__(333);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return __WEBPACK_IMPORTED_MODULE_21__src_projection_equirectangular__[\"a\"]; });\n/* unused harmony reexport geoEquirectangularRaw */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__src_projection_gnomonic__ = __webpack_require__(774);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"l\", function() { return __WEBPACK_IMPORTED_MODULE_22__src_projection_gnomonic__[\"a\"]; });\n/* unused harmony reexport geoGnomonicRaw */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__src_projection_identity__ = __webpack_require__(775);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"n\", function() { return __WEBPACK_IMPORTED_MODULE_23__src_projection_identity__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__src_projection_index__ = __webpack_require__(34);\n/* unused harmony reexport geoProjection */\n/* unused harmony reexport geoProjectionMutator */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__src_projection_mercator__ = __webpack_require__(182);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"o\", function() { return __WEBPACK_IMPORTED_MODULE_25__src_projection_mercator__[\"a\"]; });\n/* unused harmony reexport geoMercatorRaw */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__src_projection_naturalEarth1__ = __webpack_require__(776);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"p\", function() { return __WEBPACK_IMPORTED_MODULE_26__src_projection_naturalEarth1__[\"a\"]; });\n/* unused harmony reexport geoNaturalEarth1Raw */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27__src_projection_orthographic__ = __webpack_require__(777);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"q\", function() { return __WEBPACK_IMPORTED_MODULE_27__src_projection_orthographic__[\"a\"]; });\n/* unused harmony reexport geoOrthographicRaw */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__src_projection_stereographic__ = __webpack_require__(778);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"s\", function() { return __WEBPACK_IMPORTED_MODULE_28__src_projection_stereographic__[\"a\"]; });\n/* unused harmony reexport geoStereographicRaw */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_29__src_projection_transverseMercator__ = __webpack_require__(779);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"t\", function() { return __WEBPACK_IMPORTED_MODULE_29__src_projection_transverseMercator__[\"a\"]; });\n/* unused harmony reexport geoTransverseMercatorRaw */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_30__src_rotation__ = __webpack_require__(114);\n/* unused harmony reexport geoRotation */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_31__src_stream__ = __webpack_require__(54);\n/* unused harmony reexport geoStream */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_32__src_transform__ = __webpack_require__(116);\n/* unused harmony reexport geoTransform */\n\n\n\n\n\n\n // DEPRECATED! Use d3.geoIdentity().clipExtent(…).\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 178 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(x) {\n return x;\n});\n\n\n/***/ }),\n/* 179 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export conicEqualAreaRaw */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__math__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__conic__ = __webpack_require__(180);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__cylindricalEqualArea__ = __webpack_require__(768);\n\n\n\n\nfunction conicEqualAreaRaw(y0, y1) {\n var sy0 = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(y0), n = (sy0 + Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(y1)) / 2;\n\n // Are the parallels symmetrical around the Equator?\n if (Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"a\" /* abs */])(n) < __WEBPACK_IMPORTED_MODULE_0__math__[\"i\" /* epsilon */]) return Object(__WEBPACK_IMPORTED_MODULE_2__cylindricalEqualArea__[\"a\" /* cylindricalEqualAreaRaw */])(y0);\n\n var c = 1 + sy0 * (2 * n - sy0), r0 = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"u\" /* sqrt */])(c) / n;\n\n function project(x, y) {\n var r = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"u\" /* sqrt */])(c - 2 * n * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(y)) / n;\n return [r * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(x *= n), r0 - r * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"g\" /* cos */])(x)];\n }\n\n project.invert = function(x, y) {\n var r0y = r0 - y;\n return [Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"e\" /* atan2 */])(x, Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"a\" /* abs */])(r0y)) / n * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"s\" /* sign */])(r0y), Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"c\" /* asin */])((c - (x * x + r0y * r0y) * n * n) / (2 * n))];\n };\n\n return project;\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n return Object(__WEBPACK_IMPORTED_MODULE_1__conic__[\"a\" /* conicProjection */])(conicEqualAreaRaw)\n .scale(155.424)\n .center([0, 33.6442]);\n});\n\n\n/***/ }),\n/* 180 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = conicProjection;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__math__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__index__ = __webpack_require__(34);\n\n\n\nfunction conicProjection(projectAt) {\n var phi0 = 0,\n phi1 = __WEBPACK_IMPORTED_MODULE_0__math__[\"o\" /* pi */] / 3,\n m = Object(__WEBPACK_IMPORTED_MODULE_1__index__[\"b\" /* projectionMutator */])(projectAt),\n p = m(phi0, phi1);\n\n p.parallels = function(_) {\n return arguments.length ? m(phi0 = _[0] * __WEBPACK_IMPORTED_MODULE_0__math__[\"r\" /* radians */], phi1 = _[1] * __WEBPACK_IMPORTED_MODULE_0__math__[\"r\" /* radians */]) : [phi0 * __WEBPACK_IMPORTED_MODULE_0__math__[\"h\" /* degrees */], phi1 * __WEBPACK_IMPORTED_MODULE_0__math__[\"h\" /* degrees */]];\n };\n\n return p;\n}\n\n\n/***/ }),\n/* 181 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = fitExtent;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = fitSize;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = fitWidth;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = fitHeight;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__stream__ = __webpack_require__(54);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__path_bounds__ = __webpack_require__(331);\n\n\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 Object(__WEBPACK_IMPORTED_MODULE_0__stream__[\"a\" /* default */])(object, projection.stream(__WEBPACK_IMPORTED_MODULE_1__path_bounds__[\"a\" /* default */]));\n fitBounds(__WEBPACK_IMPORTED_MODULE_1__path_bounds__[\"a\" /* default */].result());\n if (clip != null) projection.clipExtent(clip);\n return projection;\n}\n\nfunction 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\nfunction fitSize(projection, size, object) {\n return fitExtent(projection, [[0, 0], size], object);\n}\n\nfunction 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\nfunction 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\n\n/***/ }),\n/* 182 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = mercatorRaw;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = mercatorProjection;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__math__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__rotation__ = __webpack_require__(114);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__index__ = __webpack_require__(34);\n\n\n\n\nfunction mercatorRaw(lambda, phi) {\n return [lambda, Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"n\" /* log */])(Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"v\" /* tan */])((__WEBPACK_IMPORTED_MODULE_0__math__[\"l\" /* halfPi */] + phi) / 2))];\n}\n\nmercatorRaw.invert = function(x, y) {\n return [x, 2 * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"d\" /* atan */])(Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"k\" /* exp */])(y)) - __WEBPACK_IMPORTED_MODULE_0__math__[\"l\" /* halfPi */]];\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n return mercatorProjection(mercatorRaw)\n .scale(961 / __WEBPACK_IMPORTED_MODULE_0__math__[\"w\" /* tau */]);\n});\n\nfunction mercatorProjection(project) {\n var m = Object(__WEBPACK_IMPORTED_MODULE_2__index__[\"a\" /* default */])(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 = __WEBPACK_IMPORTED_MODULE_0__math__[\"o\" /* pi */] * scale(),\n t = m(Object(__WEBPACK_IMPORTED_MODULE_1__rotation__[\"a\" /* default */])(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\n\n/***/ }),\n/* 183 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n return (Math.random() - 0.5) * 1e-6;\n});\n\n\n/***/ }),\n/* 184 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 185 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = now;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Timer;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = timer;\n/* unused harmony export timerFlush */\nvar 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\nfunction now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nfunction 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\nfunction timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nfunction 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\n\n/***/ }),\n/* 186 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = hierarchy;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = computeHeight;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Node;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__count__ = __webpack_require__(814);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__each__ = __webpack_require__(815);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__eachBefore__ = __webpack_require__(816);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__eachAfter__ = __webpack_require__(817);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__sum__ = __webpack_require__(818);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__sort__ = __webpack_require__(819);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__path__ = __webpack_require__(820);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__ancestors__ = __webpack_require__(821);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__descendants__ = __webpack_require__(822);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__leaves__ = __webpack_require__(823);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__links__ = __webpack_require__(824);\n\n\n\n\n\n\n\n\n\n\n\n\nfunction 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\nfunction computeHeight(node) {\n var height = 0;\n do node.height = height;\n while ((node = node.parent) && (node.height < ++height));\n}\n\nfunction 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: __WEBPACK_IMPORTED_MODULE_0__count__[\"a\" /* default */],\n each: __WEBPACK_IMPORTED_MODULE_1__each__[\"a\" /* default */],\n eachAfter: __WEBPACK_IMPORTED_MODULE_3__eachAfter__[\"a\" /* default */],\n eachBefore: __WEBPACK_IMPORTED_MODULE_2__eachBefore__[\"a\" /* default */],\n sum: __WEBPACK_IMPORTED_MODULE_4__sum__[\"a\" /* default */],\n sort: __WEBPACK_IMPORTED_MODULE_5__sort__[\"a\" /* default */],\n path: __WEBPACK_IMPORTED_MODULE_6__path__[\"a\" /* default */],\n ancestors: __WEBPACK_IMPORTED_MODULE_7__ancestors__[\"a\" /* default */],\n descendants: __WEBPACK_IMPORTED_MODULE_8__descendants__[\"a\" /* default */],\n leaves: __WEBPACK_IMPORTED_MODULE_9__leaves__[\"a\" /* default */],\n links: __WEBPACK_IMPORTED_MODULE_10__links__[\"a\" /* default */],\n copy: node_copy\n};\n\n\n/***/ }),\n/* 187 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = optional;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = required;\nfunction optional(f) {\n return f == null ? null : required(f);\n}\n\nfunction required(f) {\n if (typeof f !== \"function\") throw new Error;\n return f;\n}\n\n\n/***/ }),\n/* 188 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return phi; });\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = squarifyRatio;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__dice__ = __webpack_require__(80);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__slice__ = __webpack_require__(117);\n\n\n\nvar phi = (1 + Math.sqrt(5)) / 2;\n\nfunction 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) Object(__WEBPACK_IMPORTED_MODULE_0__dice__[\"a\" /* default */])(row, x0, y0, x1, value ? y0 += dy * sumValue / value : y1);\n else Object(__WEBPACK_IMPORTED_MODULE_1__slice__[\"a\" /* default */])(row, x0, y0, value ? x0 += dx * sumValue / value : x1, y1);\n value -= sumValue, i0 = i1;\n }\n\n return rows;\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ((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\n\n/***/ }),\n/* 189 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = RedBlackNode;\nfunction RedBlackTree() {\n this._ = null; // root node\n}\n\nfunction 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\n/* harmony default export */ __webpack_exports__[\"b\"] = (RedBlackTree);\n\n\n/***/ }),\n/* 190 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = createEdge;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = createBorderEdge;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = setEdgeEnd;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = clipEdges;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Diagram__ = __webpack_require__(81);\n\n\nfunction createEdge(left, right, v0, v1) {\n var edge = [null, null],\n index = __WEBPACK_IMPORTED_MODULE_0__Diagram__[\"e\" /* 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 __WEBPACK_IMPORTED_MODULE_0__Diagram__[\"b\" /* cells */][left.index].halfedges.push(index);\n __WEBPACK_IMPORTED_MODULE_0__Diagram__[\"b\" /* cells */][right.index].halfedges.push(index);\n return edge;\n}\n\nfunction createBorderEdge(left, v0, v1) {\n var edge = [v0, v1];\n edge.left = left;\n return edge;\n}\n\nfunction 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\nfunction clipEdges(x0, y0, x1, y1) {\n var i = __WEBPACK_IMPORTED_MODULE_0__Diagram__[\"e\" /* edges */].length,\n edge;\n\n while (i--) {\n if (!connectEdge(edge = __WEBPACK_IMPORTED_MODULE_0__Diagram__[\"e\" /* edges */][i], x0, y0, x1, y1)\n || !clipEdge(edge, x0, y0, x1, y1)\n || !(Math.abs(edge[0][0] - edge[1][0]) > __WEBPACK_IMPORTED_MODULE_0__Diagram__[\"f\" /* epsilon */]\n || Math.abs(edge[0][1] - edge[1][1]) > __WEBPACK_IMPORTED_MODULE_0__Diagram__[\"f\" /* epsilon */])) {\n delete __WEBPACK_IMPORTED_MODULE_0__Diagram__[\"e\" /* edges */][i];\n }\n }\n}\n\n\n/***/ }),\n/* 191 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__initialize_renderer__ = __webpack_require__(346);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_scenegraph__ = __webpack_require__(20);\n\n\n\n/**\n * Render the current scene in a headless fashion.\n * This method is asynchronous, returning a Promise instance.\n * @return {Promise} - A Promise that resolves to a renderer.\n */\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(view, type, scaleFactor) {\n var module = Object(__WEBPACK_IMPORTED_MODULE_1_vega_scenegraph__[\"L\" /* renderModule */])(type),\n ctr = module && module.headless;\n return !ctr\n ? Promise.reject('Unrecognized renderer type: ' + type)\n : view.runAsync().then(function() {\n return Object(__WEBPACK_IMPORTED_MODULE_0__initialize_renderer__[\"a\" /* default */])(view, null, null, ctr, scaleFactor)\n .renderAsync(view._scenegraph.root);\n });\n});\n\n\n/***/ }),\n/* 192 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n\n\nvar OUTER = 'outer',\n OUTER_INVALID = ['value', 'update', 'react', 'bind'];\n\nfunction outerError(prefix, name) {\n Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"m\" /* error */])(prefix + ' for \"outer\" push: ' + Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"O\" /* stringValue */])(name));\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(signal, scope) {\n var name = signal.name;\n\n if (signal.push === OUTER) {\n // signal must already be defined, raise error if not\n if (!scope.signals[name]) outerError('No prior signal definition', name);\n // signal push must not use properties reserved for standard definition\n OUTER_INVALID.forEach(function(prop) {\n if (signal[prop] !== undefined) outerError('Invalid property ', prop);\n });\n } else {\n // define a new signal in the current scope\n var op = scope.addSignal(name, signal.value);\n if (signal.react === false) op.react = false;\n if (signal.bind) scope.addBinding(name, signal.bind);\n }\n});\n\n\n/***/ }),\n/* 193 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return Literal; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Identifier; });\nvar Literal = 'Literal';\nvar Identifier = 'Identifier';\n\n\n/***/ }),\n/* 194 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = data;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = dataVisitor;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = indata;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = indataVisitor;\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = setdata;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ast__ = __webpack_require__(193);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__prefixes__ = __webpack_require__(122);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n\n\n\n\nfunction data(name) {\n var data = this.context.data[name];\n return data ? data.values.value : [];\n}\n\nfunction dataVisitor(name, args, scope, params) {\n if (args[0].type !== __WEBPACK_IMPORTED_MODULE_0__ast__[\"b\" /* Literal */]) {\n Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"m\" /* error */])('First argument to data functions must be a string literal.');\n }\n\n var data = args[0].value,\n dataName = __WEBPACK_IMPORTED_MODULE_1__prefixes__[\"a\" /* dataPrefix */] + data;\n\n if (!params.hasOwnProperty(dataName)) {\n params[dataName] = scope.getData(data).tuplesRef();\n }\n}\n\nfunction indata(name, field, value) {\n var index = this.context.data[name]['index:' + field],\n entry = index ? index.value.get(value) : undefined;\n return entry ? entry.count : entry;\n}\n\nfunction indataVisitor(name, args, scope, params) {\n if (args[0].type !== __WEBPACK_IMPORTED_MODULE_0__ast__[\"b\" /* Literal */]) Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"m\" /* error */])('First argument to indata must be a string literal.');\n if (args[1].type !== __WEBPACK_IMPORTED_MODULE_0__ast__[\"b\" /* Literal */]) Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"m\" /* error */])('Second argument to indata must be a string literal.');\n\n var data = args[0].value,\n field = args[1].value,\n indexName = __WEBPACK_IMPORTED_MODULE_1__prefixes__[\"b\" /* indexPrefix */] + field;\n\n if (!params.hasOwnProperty(indexName)) {\n params[indexName] = scope.getData(data).indataRef(scope, field);\n }\n}\n\nfunction setdata(name, tuples) {\n var df = this.context.dataflow,\n data = this.context.data[name],\n input = data.input;\n\n df.pulse(input, df.changeset().remove(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"V\" /* truthy */]).insert(tuples));\n return 1;\n}\n\n\n/***/ }),\n/* 195 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__marks_marktypes__ = __webpack_require__(22);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(role, style, name, dataRef, interactive, encode, marks, layout) {\n return {\n type: __WEBPACK_IMPORTED_MODULE_0__marks_marktypes__[\"a\" /* GroupMark */],\n name: name,\n role: role,\n style: style,\n from: dataRef,\n interactive: interactive || false,\n encode: encode,\n marks: marks,\n layout: layout\n };\n});\n\n\n/***/ }),\n/* 196 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export outerExpr */\n/* unused harmony export outerField */\n/* unused harmony export isData */\n/* unused harmony export isExpr */\n/* unused harmony export isField */\n/* unused harmony export isCompare */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__expression__ = __webpack_require__(44);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__transforms__ = __webpack_require__(25);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_vega_util__ = __webpack_require__(0);\n\n\n\n\n\n\n/**\n * Parse a data transform specification.\n */\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(spec, scope) {\n var def = Object(__WEBPACK_IMPORTED_MODULE_3_vega_dataflow__[\"i\" /* definition */])(spec.type);\n if (!def) Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"m\" /* error */])('Unrecognized transform type: ' + Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"O\" /* stringValue */])(spec.type));\n\n var t = Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"h\" /* entry */])(def.type.toLowerCase(), null, parseParameters(def, spec, scope));\n if (spec.signal) scope.addSignal(spec.signal, scope.proxy(t));\n t.metadata = def.metadata || {};\n\n return t;\n});\n\n/**\n * Parse all parameters of a data transform.\n */\nfunction parseParameters(def, spec, scope) {\n var params = {}, pdef, i, n;\n for (i=0, n=def.params.length; i<n; ++i) {\n pdef = def.params[i];\n params[pdef.name] = parseParameter(pdef, spec, scope);\n }\n return params;\n}\n\n/**\n * Parse a data transform parameter.\n */\nfunction parseParameter(def, spec, scope) {\n var type = def.type,\n value = spec[def.name];\n\n if (type === 'index') {\n return parseIndexParameter(def, spec, scope);\n } else if (value === undefined) {\n if (def.required) {\n Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"m\" /* error */])('Missing required ' + Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"O\" /* stringValue */])(spec.type)\n + ' parameter: ' + Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"O\" /* stringValue */])(def.name));\n }\n return;\n } else if (type === 'param') {\n return parseSubParameters(def, spec, scope);\n } else if (type === 'projection') {\n return scope.projectionRef(spec[def.name]);\n }\n\n return def.array && !Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"k\" /* isSignal */])(value)\n ? value.map(function(v) { return parameterValue(def, v, scope); })\n : parameterValue(def, value, scope);\n}\n\n/**\n * Parse a single parameter value.\n */\nfunction parameterValue(def, value, scope) {\n var type = def.type;\n\n if (Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"k\" /* isSignal */])(value)) {\n return isExpr(type) ? Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"m\" /* error */])('Expression references can not be signals.')\n : isField(type) ? scope.fieldRef(value)\n : isCompare(type) ? scope.compareRef(value)\n : scope.signalRef(value.signal);\n } else {\n var expr = def.expr || isField(type);\n return expr && outerExpr(value) ? scope.exprRef(value.expr, value.as)\n : expr && outerField(value) ? Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"i\" /* fieldRef */])(value.field, value.as)\n : isExpr(type) ? Object(__WEBPACK_IMPORTED_MODULE_0__expression__[\"a\" /* default */])(value, scope)\n : isData(type) ? Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"o\" /* ref */])(scope.getData(value).values)\n : isField(type) ? Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"i\" /* fieldRef */])(value)\n : isCompare(type) ? scope.compareRef(value)\n : value;\n }\n}\n\n/**\n * Parse parameter for accessing an index of another data set.\n */\nfunction parseIndexParameter(def, spec, scope) {\n if (!Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"C\" /* isString */])(spec.from)) {\n Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"m\" /* error */])('Lookup \"from\" parameter must be a string literal.');\n }\n return scope.getData(spec.from).lookupRef(scope, spec.key);\n}\n\n/**\n * Parse a parameter that contains one or more sub-parameter objects.\n */\nfunction parseSubParameters(def, spec, scope) {\n var value = spec[def.name];\n\n if (def.array) {\n if (!Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"v\" /* isArray */])(value)) { // signals not allowed!\n Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"m\" /* error */])('Expected an array of sub-parameters. Instead: ' + Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"O\" /* stringValue */])(value));\n }\n return value.map(function(v) {\n return parseSubParameter(def, v, scope);\n });\n } else {\n return parseSubParameter(def, value, scope);\n }\n}\n\n/**\n * Parse a sub-parameter object.\n */\nfunction parseSubParameter(def, value, scope) {\n var params, pdef, k, i, n;\n\n // loop over defs to find matching key\n for (i=0, n=def.params.length; i<n; ++i) {\n pdef = def.params[i];\n for (k in pdef.key) {\n if (pdef.key[k] !== value[k]) { pdef = null; break; }\n }\n if (pdef) break;\n }\n // raise error if matching key not found\n if (!pdef) Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"m\" /* error */])('Unsupported parameter: ' + Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"O\" /* stringValue */])(value));\n\n // parse params, create Params transform, return ref\n params = Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"n\" /* extend */])(parseParameters(pdef, value, scope), pdef.key);\n return Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"o\" /* ref */])(scope.add(Object(__WEBPACK_IMPORTED_MODULE_2__transforms__[\"r\" /* Params */])(params)));\n}\n\n// -- Utilities -----\n\nfunction outerExpr(_) {\n return _ && _.expr;\n}\n\nfunction outerField(_) {\n return _ && _.field;\n}\n\nfunction isData(_) {\n return _ === 'data';\n}\n\nfunction isExpr(_) {\n return _ === 'expr';\n}\n\nfunction isField(_) {\n return _ === 'field';\n}\n\nfunction isCompare(_) {\n return _ === 'compare'\n}\n\n\n/***/ }),\n/* 197 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = isLogicalOr;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = isLogicalAnd;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = isLogicalNot;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = forEachLeaf;\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = normalizeLogicalOperand;\nfunction isLogicalOr(op) {\n return !!op.or;\n}\nfunction isLogicalAnd(op) {\n return !!op.and;\n}\nfunction isLogicalNot(op) {\n return !!op.not;\n}\nfunction forEachLeaf(op, fn) {\n if (isLogicalNot(op)) {\n forEachLeaf(op.not, fn);\n }\n else if (isLogicalAnd(op)) {\n for (var _i = 0, _a = op.and; _i < _a.length; _i++) {\n var subop = _a[_i];\n forEachLeaf(subop, fn);\n }\n }\n else if (isLogicalOr(op)) {\n for (var _b = 0, _c = op.or; _b < _c.length; _b++) {\n var subop = _c[_b];\n forEachLeaf(subop, fn);\n }\n }\n else {\n fn(op);\n }\n}\nfunction normalizeLogicalOperand(op, normalizer) {\n if (isLogicalNot(op)) {\n return { not: normalizeLogicalOperand(op.not, normalizer) };\n }\n else if (isLogicalAnd(op)) {\n return { and: op.and.map(function (o) { return normalizeLogicalOperand(o, normalizer); }) };\n }\n else if (isLogicalOr(op)) {\n return { or: op.or.map(function (o) { return normalizeLogicalOperand(o, normalizer); }) };\n }\n else {\n return normalizer(op);\n }\n}\n//# sourceMappingURL=logical.js.map\n\n/***/ }),\n/* 198 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AXIS_PARTS\", function() { return AXIS_PARTS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AXIS_PROPERTY_TYPE\", function() { return AXIS_PROPERTY_TYPE; });\n/* harmony export (immutable) */ __webpack_exports__[\"isAxisProperty\"] = isAxisProperty;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VG_AXIS_PROPERTIES\", function() { return VG_AXIS_PROPERTIES; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AXIS_PROPERTIES\", function() { return AXIS_PROPERTIES; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(3);\n\n\nvar AXIS_PARTS = ['domain', 'grid', 'labels', 'ticks', 'title'];\n/**\n * A dictionary listing whether a certain axis property is applicable for only main axes or only grid axes.\n * (Properties not listed are applicable for both)\n */\nvar AXIS_PROPERTY_TYPE = {\n grid: 'grid',\n gridScale: 'grid',\n domain: 'main',\n labels: 'main',\n labelFlush: 'main',\n labelOverlap: 'main',\n minExtent: 'main',\n maxExtent: 'main',\n offset: 'main',\n ticks: 'main',\n title: 'main',\n values: 'both',\n scale: 'both',\n zindex: 'both' // this is actually set afterward, so it doesn't matter\n};\nvar COMMON_AXIS_PROPERTIES_INDEX = {\n orient: 1,\n domain: 1,\n format: 1,\n grid: 1,\n labelBound: 1,\n labelFlush: 1,\n labelPadding: 1,\n labels: 1,\n labelOverlap: 1,\n maxExtent: 1,\n minExtent: 1,\n offset: 1,\n position: 1,\n tickCount: 1,\n ticks: 1,\n tickSize: 1,\n title: 1,\n titlePadding: 1,\n values: 1,\n zindex: 1,\n};\nvar AXIS_PROPERTIES_INDEX = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, COMMON_AXIS_PROPERTIES_INDEX, { encoding: 1, labelAngle: 1, titleMaxLength: 1 });\nvar VG_AXIS_PROPERTIES_INDEX = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ scale: 1 }, COMMON_AXIS_PROPERTIES_INDEX, { gridScale: 1, encode: 1 });\nfunction isAxisProperty(prop) {\n return !!AXIS_PROPERTIES_INDEX[prop];\n}\nvar VG_AXIS_PROPERTIES = Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"flagKeys\"])(VG_AXIS_PROPERTIES_INDEX);\n// Export for dependent projects\nvar AXIS_PROPERTIES = Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"flagKeys\"])(AXIS_PROPERTIES_INDEX);\n//# sourceMappingURL=axis.js.map\n\n/***/ }),\n/* 199 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultLegendConfig\", function() { return defaultLegendConfig; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LEGEND_PROPERTIES\", function() { return LEGEND_PROPERTIES; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VG_LEGEND_PROPERTIES\", function() { return VG_LEGEND_PROPERTIES; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(3);\n\n\nvar defaultLegendConfig = {};\nvar COMMON_LEGEND_PROPERTY_INDEX = {\n entryPadding: 1,\n format: 1,\n offset: 1,\n orient: 1,\n padding: 1,\n tickCount: 1,\n title: 1,\n type: 1,\n values: 1,\n zindex: 1\n};\nvar VG_LEGEND_PROPERTY_INDEX = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, COMMON_LEGEND_PROPERTY_INDEX, { \n // channel scales\n opacity: 1, shape: 1, stroke: 1, fill: 1, size: 1, \n // encode\n encode: 1 });\nvar LEGEND_PROPERTIES = Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"flagKeys\"])(COMMON_LEGEND_PROPERTY_INDEX);\nvar VG_LEGEND_PROPERTIES = Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"flagKeys\"])(VG_LEGEND_PROPERTY_INDEX);\n//# sourceMappingURL=legend.js.map\n\n/***/ }),\n/* 200 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return SELECTION_ID; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return defaultConfig; });\nvar SELECTION_ID = '_vgsid_';\nvar defaultConfig = {\n single: {\n on: 'click',\n fields: [SELECTION_ID],\n resolve: 'global',\n empty: 'all'\n },\n multi: {\n on: 'click',\n fields: [SELECTION_ID],\n toggle: 'event.shiftKey',\n resolve: 'global',\n empty: 'all'\n },\n interval: {\n on: '[mousedown, window:mouseup] > window:mousemove!',\n encodings: ['x', 'y'],\n translate: '[mousedown, window:mouseup] > window:mousemove!',\n zoom: 'wheel!',\n mark: { fill: '#333', fillOpacity: 0.125, stroke: 'white' },\n resolve: 'global'\n }\n};\n//# sourceMappingURL=selection.js.map\n\n/***/ }),\n/* 201 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (immutable) */ __webpack_exports__[\"isStackOffset\"] = isStackOffset;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"STACKABLE_MARKS\", function() { return STACKABLE_MARKS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"STACK_BY_DEFAULT_MARKS\", function() { return STACK_BY_DEFAULT_MARKS; });\n/* harmony export (immutable) */ __webpack_exports__[\"stack\"] = stack;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__aggregate__ = __webpack_require__(84);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__encoding__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__mark__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__scale__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__util__ = __webpack_require__(3);\n\n\n\n\n\n\n\n\n\nvar STACK_OFFSET_INDEX = {\n zero: 1,\n center: 1,\n normalize: 1\n};\nfunction isStackOffset(s) {\n return !!STACK_OFFSET_INDEX[s];\n}\nvar STACKABLE_MARKS = [__WEBPACK_IMPORTED_MODULE_6__mark__[\"BAR\"], __WEBPACK_IMPORTED_MODULE_6__mark__[\"AREA\"], __WEBPACK_IMPORTED_MODULE_6__mark__[\"RULE\"], __WEBPACK_IMPORTED_MODULE_6__mark__[\"POINT\"], __WEBPACK_IMPORTED_MODULE_6__mark__[\"CIRCLE\"], __WEBPACK_IMPORTED_MODULE_6__mark__[\"SQUARE\"], __WEBPACK_IMPORTED_MODULE_6__mark__[\"LINE\"], __WEBPACK_IMPORTED_MODULE_6__mark__[\"TEXT\"], __WEBPACK_IMPORTED_MODULE_6__mark__[\"TICK\"]];\nvar STACK_BY_DEFAULT_MARKS = [__WEBPACK_IMPORTED_MODULE_6__mark__[\"BAR\"], __WEBPACK_IMPORTED_MODULE_6__mark__[\"AREA\"]];\nfunction potentialStackedChannel(encoding) {\n var xDef = encoding.x;\n var yDef = encoding.y;\n if (Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"isFieldDef\"])(xDef) && Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"isFieldDef\"])(yDef)) {\n if (xDef.type === 'quantitative' && yDef.type === 'quantitative') {\n if (xDef.stack) {\n return 'x';\n }\n else if (yDef.stack) {\n return 'y';\n }\n // if there is no explicit stacking, only apply stack if there is only one aggregate for x or y\n if ((!!xDef.aggregate) !== (!!yDef.aggregate)) {\n return xDef.aggregate ? 'x' : 'y';\n }\n }\n else if (xDef.type === 'quantitative') {\n return 'x';\n }\n else if (yDef.type === 'quantitative') {\n return 'y';\n }\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"isFieldDef\"])(xDef) && xDef.type === 'quantitative') {\n return 'x';\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"isFieldDef\"])(yDef) && yDef.type === 'quantitative') {\n return 'y';\n }\n return undefined;\n}\n// Note: CompassQL uses this method and only pass in required properties of each argument object.\n// If required properties change, make sure to update CompassQL.\nfunction stack(m, encoding, stackConfig) {\n var mark = Object(__WEBPACK_IMPORTED_MODULE_6__mark__[\"isMarkDef\"])(m) ? m.type : m;\n // Should have stackable mark\n if (!Object(__WEBPACK_IMPORTED_MODULE_8__util__[\"contains\"])(STACKABLE_MARKS, mark)) {\n return null;\n }\n var fieldChannel = potentialStackedChannel(encoding);\n if (!fieldChannel) {\n return null;\n }\n var stackedFieldDef = encoding[fieldChannel];\n var stackedField = Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"isStringFieldDef\"])(stackedFieldDef) ? Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"vgField\"])(stackedFieldDef, {}) : undefined;\n var dimensionChannel = fieldChannel === 'x' ? 'y' : 'x';\n var dimensionDef = encoding[dimensionChannel];\n var dimensionField = Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"isStringFieldDef\"])(dimensionDef) ? Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"vgField\"])(dimensionDef, {}) : undefined;\n // Should have grouping level of detail that is different from the dimension field\n var stackBy = __WEBPACK_IMPORTED_MODULE_2__channel__[\"NONPOSITION_CHANNELS\"].reduce(function (sc, channel) {\n if (Object(__WEBPACK_IMPORTED_MODULE_3__encoding__[\"channelHasField\"])(encoding, channel)) {\n var channelDef = encoding[channel];\n (Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"v\" /* isArray */])(channelDef) ? channelDef : [channelDef]).forEach(function (cDef) {\n var fieldDef = Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"getFieldDef\"])(cDef);\n if (fieldDef.aggregate) {\n return;\n }\n // Check whether the channel's field is identical to x/y's field or if the channel is a repeat\n var f = Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"isStringFieldDef\"])(fieldDef) ? Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"vgField\"])(fieldDef, {}) : undefined;\n if (\n // if fielddef is a repeat, just include it in the stack by\n !f ||\n // otherwise, the field must be different from x and y fields.\n (f !== dimensionField && f !== stackedField)) {\n sc.push({ channel: channel, fieldDef: fieldDef });\n }\n });\n }\n return sc;\n }, []);\n if (stackBy.length === 0) {\n return null;\n }\n // Automatically determine offset\n var offset = undefined;\n if (stackedFieldDef.stack !== undefined) {\n offset = stackedFieldDef.stack;\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_8__util__[\"contains\"])(STACK_BY_DEFAULT_MARKS, mark)) {\n // Bar and Area with sum ops are automatically stacked by default\n offset = stackConfig === undefined ? 'zero' : stackConfig;\n }\n else {\n offset = stackConfig;\n }\n if (!offset || !isStackOffset(offset)) {\n return null;\n }\n // warn when stacking non-linear\n if (stackedFieldDef.scale && stackedFieldDef.scale.type && stackedFieldDef.scale.type !== __WEBPACK_IMPORTED_MODULE_7__scale__[\"ScaleType\"].LINEAR) {\n __WEBPACK_IMPORTED_MODULE_5__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_5__log__[\"b\" /* message */].cannotStackNonLinearScale(stackedFieldDef.scale.type));\n }\n // Check if it is a ranged mark\n if (Object(__WEBPACK_IMPORTED_MODULE_3__encoding__[\"channelHasField\"])(encoding, fieldChannel === __WEBPACK_IMPORTED_MODULE_2__channel__[\"X\"] ? __WEBPACK_IMPORTED_MODULE_2__channel__[\"X2\"] : __WEBPACK_IMPORTED_MODULE_2__channel__[\"Y2\"])) {\n if (stackedFieldDef.stack !== undefined) {\n __WEBPACK_IMPORTED_MODULE_5__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_5__log__[\"b\" /* message */].cannotStackRangedMark(fieldChannel));\n }\n return null;\n }\n // Warn if stacking summative aggregate\n if (stackedFieldDef.aggregate && !Object(__WEBPACK_IMPORTED_MODULE_8__util__[\"contains\"])(__WEBPACK_IMPORTED_MODULE_1__aggregate__[\"SUM_OPS\"], stackedFieldDef.aggregate)) {\n __WEBPACK_IMPORTED_MODULE_5__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_5__log__[\"b\" /* message */].stackNonSummativeAggregate(stackedFieldDef.aggregate));\n }\n return {\n groupbyChannel: dimensionDef ? dimensionChannel : undefined,\n fieldChannel: fieldChannel,\n impute: Object(__WEBPACK_IMPORTED_MODULE_6__mark__[\"isPathMark\"])(mark),\n stackBy: stackBy,\n offset: offset\n };\n}\n//# sourceMappingURL=stack.js.map\n\n/***/ }),\n/* 202 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (immutable) */ __webpack_exports__[\"isFilter\"] = isFilter;\n/* harmony export (immutable) */ __webpack_exports__[\"isLookup\"] = isLookup;\n/* harmony export (immutable) */ __webpack_exports__[\"isWindow\"] = isWindow;\n/* harmony export (immutable) */ __webpack_exports__[\"isCalculate\"] = isCalculate;\n/* harmony export (immutable) */ __webpack_exports__[\"isBin\"] = isBin;\n/* harmony export (immutable) */ __webpack_exports__[\"isTimeUnit\"] = isTimeUnit;\n/* harmony export (immutable) */ __webpack_exports__[\"isAggregate\"] = isAggregate;\n/* harmony export (immutable) */ __webpack_exports__[\"isStack\"] = isStack;\n/* harmony export (immutable) */ __webpack_exports__[\"normalizeTransform\"] = normalizeTransform;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__logical__ = __webpack_require__(197);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__predicate__ = __webpack_require__(87);\n\n\nfunction isFilter(t) {\n return t['filter'] !== undefined;\n}\nfunction isLookup(t) {\n return t['lookup'] !== undefined;\n}\nfunction isWindow(t) {\n return t['window'] !== undefined;\n}\nfunction isCalculate(t) {\n return t['calculate'] !== undefined;\n}\nfunction isBin(t) {\n return !!t['bin'];\n}\nfunction isTimeUnit(t) {\n return t['timeUnit'] !== undefined;\n}\nfunction isAggregate(t) {\n return t['aggregate'] !== undefined;\n}\nfunction isStack(t) {\n return t['stack'] !== undefined;\n}\nfunction normalizeTransform(transform) {\n return transform.map(function (t) {\n if (isFilter(t)) {\n return {\n filter: Object(__WEBPACK_IMPORTED_MODULE_0__logical__[\"e\" /* normalizeLogicalOperand */])(t.filter, __WEBPACK_IMPORTED_MODULE_1__predicate__[\"g\" /* normalizePredicate */])\n };\n }\n return t;\n });\n}\n//# sourceMappingURL=transform.js.map\n\n/***/ }),\n/* 203 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return AggregateNode; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__common__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__dataflow__ = __webpack_require__(13);\n\n\n\n\n\n\n\nfunction addDimension(dims, channel, fieldDef) {\n if (fieldDef.bin) {\n dims[Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"vgField\"])(fieldDef, {})] = true;\n dims[Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"vgField\"])(fieldDef, { binSuffix: 'end' })] = true;\n if (Object(__WEBPACK_IMPORTED_MODULE_5__common__[\"c\" /* binRequiresRange */])(fieldDef, channel)) {\n dims[Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"vgField\"])(fieldDef, { binSuffix: 'range' })] = true;\n }\n }\n else {\n dims[Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"vgField\"])(fieldDef)] = true;\n }\n return dims;\n}\nfunction mergeMeasures(parentMeasures, childMeasures) {\n for (var f in childMeasures) {\n if (childMeasures.hasOwnProperty(f)) {\n // when we merge a measure, we either have to add an aggregation operator or even a new field\n var ops = childMeasures[f];\n for (var op in ops) {\n if (ops.hasOwnProperty(op)) {\n if (f in parentMeasures) {\n // add operator to existing measure field\n parentMeasures[f][op] = ops[op];\n }\n else {\n parentMeasures[f] = { op: ops[op] };\n }\n }\n }\n }\n }\n}\nvar AggregateNode = /** @class */ (function (_super) {\n __WEBPACK_IMPORTED_MODULE_0_tslib__[\"c\" /* __extends */](AggregateNode, _super);\n /**\n * @param dimensions string set for dimensions\n * @param measures dictionary mapping field name => dict of aggregation functions and names to use\n */\n function AggregateNode(parent, dimensions, measures) {\n var _this = _super.call(this, parent) || this;\n _this.dimensions = dimensions;\n _this.measures = measures;\n return _this;\n }\n AggregateNode.prototype.clone = function () {\n return new AggregateNode(null, __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, this.dimensions), Object(__WEBPACK_IMPORTED_MODULE_4__util__[\"duplicate\"])(this.measures));\n };\n AggregateNode.makeFromEncoding = function (parent, model) {\n var isAggregate = false;\n model.forEachFieldDef(function (fd) {\n if (fd.aggregate) {\n isAggregate = true;\n }\n });\n var meas = {};\n var dims = {};\n if (!isAggregate) {\n // no need to create this node if the model has no aggregation\n return null;\n }\n model.forEachFieldDef(function (fieldDef, channel) {\n var aggregate = fieldDef.aggregate, field = fieldDef.field;\n if (aggregate) {\n if (aggregate === 'count') {\n meas['*'] = meas['*'] || {};\n meas['*']['count'] = Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"vgField\"])(fieldDef);\n }\n else {\n meas[field] = meas[field] || {};\n meas[field][aggregate] = Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"vgField\"])(fieldDef);\n // For scale channel with domain === 'unaggregated', add min/max so we can use their union as unaggregated domain\n if (Object(__WEBPACK_IMPORTED_MODULE_1__channel__[\"isScaleChannel\"])(channel) && model.scaleDomain(channel) === 'unaggregated') {\n meas[field]['min'] = Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"vgField\"])({ field: field, aggregate: 'min' });\n meas[field]['max'] = Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"vgField\"])({ field: field, aggregate: 'max' });\n }\n }\n }\n else {\n addDimension(dims, channel, fieldDef);\n }\n });\n if ((Object(__WEBPACK_IMPORTED_MODULE_4__util__[\"keys\"])(dims).length + Object(__WEBPACK_IMPORTED_MODULE_4__util__[\"keys\"])(meas).length) === 0) {\n return null;\n }\n return new AggregateNode(parent, dims, meas);\n };\n AggregateNode.makeFromTransform = function (parent, t) {\n var dims = {};\n var meas = {};\n for (var _i = 0, _a = t.aggregate; _i < _a.length; _i++) {\n var s = _a[_i];\n var op = s.op, field = s.field, as = s.as;\n if (op) {\n if (op === 'count') {\n meas['*'] = meas['*'] || {};\n meas['*']['count'] = as || Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"vgField\"])(s);\n }\n else {\n meas[field] = meas[field] || {};\n meas[field][op] = as || Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"vgField\"])(s);\n }\n }\n }\n for (var _b = 0, _c = t.groupby || []; _b < _c.length; _b++) {\n var s = _c[_b];\n dims[s] = true;\n }\n if ((Object(__WEBPACK_IMPORTED_MODULE_4__util__[\"keys\"])(dims).length + Object(__WEBPACK_IMPORTED_MODULE_4__util__[\"keys\"])(meas).length) === 0) {\n return null;\n }\n return new AggregateNode(parent, dims, meas);\n };\n AggregateNode.prototype.merge = function (other) {\n if (!Object(__WEBPACK_IMPORTED_MODULE_4__util__[\"differ\"])(this.dimensions, other.dimensions)) {\n mergeMeasures(this.measures, other.measures);\n other.remove();\n }\n else {\n __WEBPACK_IMPORTED_MODULE_3__log__[\"a\" /* debug */]('different dimensions, cannot merge');\n }\n };\n AggregateNode.prototype.addDimensions = function (fields) {\n var _this = this;\n fields.forEach(function (f) { return _this.dimensions[f] = true; });\n };\n AggregateNode.prototype.dependentFields = function () {\n var out = {};\n Object(__WEBPACK_IMPORTED_MODULE_4__util__[\"keys\"])(this.dimensions).forEach(function (f) { return out[f] = true; });\n Object(__WEBPACK_IMPORTED_MODULE_4__util__[\"keys\"])(this.measures).forEach(function (m) { return out[m] = true; });\n return out;\n };\n AggregateNode.prototype.producedFields = function () {\n var _this = this;\n var out = {};\n Object(__WEBPACK_IMPORTED_MODULE_4__util__[\"keys\"])(this.measures).forEach(function (field) {\n Object(__WEBPACK_IMPORTED_MODULE_4__util__[\"keys\"])(_this.measures[field]).forEach(function (op) {\n out[op + \"_\" + field] = true;\n });\n });\n return out;\n };\n AggregateNode.prototype.assemble = function () {\n var ops = [];\n var fields = [];\n var as = [];\n for (var _i = 0, _a = Object(__WEBPACK_IMPORTED_MODULE_4__util__[\"keys\"])(this.measures); _i < _a.length; _i++) {\n var field = _a[_i];\n for (var _b = 0, _c = Object(__WEBPACK_IMPORTED_MODULE_4__util__[\"keys\"])(this.measures[field]); _b < _c.length; _b++) {\n var op = _c[_b];\n as.push(this.measures[field][op]);\n ops.push(op);\n fields.push(field);\n }\n }\n var result = {\n type: 'aggregate',\n groupby: Object(__WEBPACK_IMPORTED_MODULE_4__util__[\"keys\"])(this.dimensions),\n ops: ops,\n fields: fields,\n as: as\n };\n return result;\n };\n return AggregateNode;\n}(__WEBPACK_IMPORTED_MODULE_6__dataflow__[\"a\" /* DataFlowNode */]));\n\n//# sourceMappingURL=aggregate.js.map\n\n/***/ }),\n/* 204 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return FilterInvalidNode; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__mark__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__scale__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__dataflow__ = __webpack_require__(13);\n\n\n\n\n\n\n\nvar FilterInvalidNode = /** @class */ (function (_super) {\n __WEBPACK_IMPORTED_MODULE_0_tslib__[\"c\" /* __extends */](FilterInvalidNode, _super);\n function FilterInvalidNode(parent, fieldDefs) {\n var _this = _super.call(this, parent) || this;\n _this.fieldDefs = fieldDefs;\n return _this;\n }\n FilterInvalidNode.prototype.clone = function () {\n return new FilterInvalidNode(null, __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, this.fieldDefs));\n };\n FilterInvalidNode.make = function (parent, model) {\n var config = model.config, mark = model.mark;\n if (config.invalidValues !== 'filter') {\n return null;\n }\n var filter = model.reduceFieldDef(function (aggregator, fieldDef, channel) {\n var scaleComponent = Object(__WEBPACK_IMPORTED_MODULE_1__channel__[\"isScaleChannel\"])(channel) && model.getScaleComponent(channel);\n if (scaleComponent) {\n var scaleType = scaleComponent.get('type');\n // While discrete domain scales can handle invalid values, continuous scales can't.\n // Thus, for non-path marks, we have to filter null for scales with continuous domains.\n // (For path marks, we will use \"defined\" property and skip these values instead.)\n if (Object(__WEBPACK_IMPORTED_MODULE_4__scale__[\"hasContinuousDomain\"])(scaleType) && !fieldDef.aggregate && !Object(__WEBPACK_IMPORTED_MODULE_3__mark__[\"isPathMark\"])(mark)) {\n aggregator[fieldDef.field] = fieldDef;\n }\n }\n return aggregator;\n }, {});\n if (!Object(__WEBPACK_IMPORTED_MODULE_5__util__[\"keys\"])(filter).length) {\n return null;\n }\n return new FilterInvalidNode(parent, filter);\n };\n Object.defineProperty(FilterInvalidNode.prototype, \"filter\", {\n get: function () {\n return this.fieldDefs;\n },\n enumerable: true,\n configurable: true\n });\n // create the VgTransforms for each of the filtered fields\n FilterInvalidNode.prototype.assemble = function () {\n var _this = this;\n var filters = Object(__WEBPACK_IMPORTED_MODULE_5__util__[\"keys\"])(this.filter).reduce(function (vegaFilters, field) {\n var fieldDef = _this.fieldDefs[field];\n var ref = Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"vgField\"])(fieldDef, { expr: 'datum' });\n if (fieldDef !== null) {\n vegaFilters.push(ref + \" !== null\");\n vegaFilters.push(\"!isNaN(\" + ref + \")\");\n }\n return vegaFilters;\n }, []);\n return filters.length > 0 ?\n {\n type: 'filter',\n expr: filters.join(' && ')\n } : null;\n };\n return FilterInvalidNode;\n}(__WEBPACK_IMPORTED_MODULE_6__dataflow__[\"a\" /* DataFlowNode */]));\n\n//# sourceMappingURL=filterinvalid.js.map\n\n/***/ }),\n/* 205 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ParseNode; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__aggregate__ = __webpack_require__(84);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__datetime__ = __webpack_require__(128);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__logical__ = __webpack_require__(197);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__predicate__ = __webpack_require__(87);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__sort__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__model__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__split__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__dataflow__ = __webpack_require__(13);\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * @param field The field.\n * @param parse What to parse the field as.\n */\nfunction parseExpression(field, parse) {\n var f = Object(__WEBPACK_IMPORTED_MODULE_9__util__[\"accessPathWithDatum\"])(field);\n if (parse === 'number') {\n return \"toNumber(\" + f + \")\";\n }\n else if (parse === 'boolean') {\n return \"toBoolean(\" + f + \")\";\n }\n else if (parse === 'string') {\n return \"toString(\" + f + \")\";\n }\n else if (parse === 'date') {\n return \"toDate(\" + f + \")\";\n }\n else if (parse === 'flatten') {\n return f;\n }\n else if (parse.indexOf('date:') === 0) {\n var specifier = parse.slice(5, parse.length);\n return \"timeParse(\" + f + \",\" + specifier + \")\";\n }\n else if (parse.indexOf('utc:') === 0) {\n var specifier = parse.slice(4, parse.length);\n return \"utcParse(\" + f + \",\" + specifier + \")\";\n }\n else {\n __WEBPACK_IMPORTED_MODULE_5__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_5__log__[\"b\" /* message */].unrecognizedParse(parse));\n return null;\n }\n}\nvar ParseNode = /** @class */ (function (_super) {\n __WEBPACK_IMPORTED_MODULE_0_tslib__[\"c\" /* __extends */](ParseNode, _super);\n function ParseNode(parent, parse) {\n var _this = _super.call(this, parent) || this;\n _this._parse = parse;\n return _this;\n }\n ParseNode.prototype.clone = function () {\n return new ParseNode(null, Object(__WEBPACK_IMPORTED_MODULE_9__util__[\"duplicate\"])(this._parse));\n };\n /**\n * Creates a parse node from a data.format.parse and updates ancestorParse.\n */\n ParseNode.makeExplicit = function (parent, model, ancestorParse) {\n // Custom parse\n var explicit = {};\n var data = model.data;\n if (data && data.format && data.format.parse) {\n explicit = data.format.parse;\n }\n return this.makeWithAncestors(parent, explicit, {}, ancestorParse);\n };\n ParseNode.makeImplicitFromFilterTransform = function (parent, transform, ancestorParse) {\n var parse = {};\n Object(__WEBPACK_IMPORTED_MODULE_6__logical__[\"a\" /* forEachLeaf */])(transform.filter, function (filter) {\n if (Object(__WEBPACK_IMPORTED_MODULE_7__predicate__[\"e\" /* isFieldPredicate */])(filter)) {\n // Automatically add a parse node for filters with filter objects\n var val = null;\n // For EqualFilter, just use the equal property.\n // For RangeFilter and OneOfFilter, all array members should have\n // the same type, so we only use the first one.\n if (Object(__WEBPACK_IMPORTED_MODULE_7__predicate__[\"c\" /* isFieldEqualPredicate */])(filter)) {\n val = filter.equal;\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_7__predicate__[\"f\" /* isFieldRangePredicate */])(filter)) {\n val = filter.range[0];\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_7__predicate__[\"d\" /* isFieldOneOfPredicate */])(filter)) {\n val = (filter.oneOf || filter['in'])[0];\n } // else -- for filter expression, we can't infer anything\n if (val) {\n if (Object(__WEBPACK_IMPORTED_MODULE_3__datetime__[\"isDateTime\"])(val)) {\n parse[filter.field] = 'date';\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"z\" /* isNumber */])(val)) {\n parse[filter.field] = 'number';\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"C\" /* isString */])(val)) {\n parse[filter.field] = 'string';\n }\n }\n if (filter.timeUnit) {\n parse[filter.field] = 'date';\n }\n }\n });\n if (Object(__WEBPACK_IMPORTED_MODULE_9__util__[\"keys\"])(parse).length === 0) {\n return null;\n }\n return this.makeWithAncestors(parent, {}, parse, ancestorParse);\n };\n /**\n * Creates a parse node for implicit parsing from a model and updates ancestorParse.\n */\n ParseNode.makeImplicitFromEncoding = function (parent, model, ancestorParse) {\n var implicit = {};\n if (Object(__WEBPACK_IMPORTED_MODULE_10__model__[\"g\" /* isUnitModel */])(model) || Object(__WEBPACK_IMPORTED_MODULE_10__model__[\"d\" /* isFacetModel */])(model)) {\n // Parse encoded fields\n model.forEachFieldDef(function (fieldDef) {\n if (Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"isTimeFieldDef\"])(fieldDef)) {\n implicit[fieldDef.field] = 'date';\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"isNumberFieldDef\"])(fieldDef)) {\n if (!Object(__WEBPACK_IMPORTED_MODULE_2__aggregate__[\"isCountingAggregateOp\"])(fieldDef.aggregate)) {\n implicit[fieldDef.field] = 'number';\n }\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_9__util__[\"accessPathDepth\"])(fieldDef.field) > 1) {\n // For non-date/non-number (strings and booleans), derive a flattened field for a referenced nested field.\n // (Parsing numbers / dates already flattens numeric and temporal fields.)\n if (!(fieldDef.field in implicit)) {\n implicit[fieldDef.field] = 'flatten';\n }\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"isScaleFieldDef\"])(fieldDef) && Object(__WEBPACK_IMPORTED_MODULE_8__sort__[\"isSortField\"])(fieldDef.sort) && Object(__WEBPACK_IMPORTED_MODULE_9__util__[\"accessPathDepth\"])(fieldDef.sort.field) > 1) {\n // Flatten fields that we sort by but that are not otherwise flattened.\n if (!(fieldDef.sort.field in implicit)) {\n implicit[fieldDef.sort.field] = 'flatten';\n }\n }\n });\n }\n return this.makeWithAncestors(parent, {}, implicit, ancestorParse);\n };\n /**\n * Creates a parse node from \"explicit\" parse and \"implicit\" parse and updates ancestorParse.\n */\n ParseNode.makeWithAncestors = function (parent, explicit, implicit, ancestorParse) {\n // We should not parse what has already been parsed in a parent (explicitly or implicitly) or what has been derived (maked as \"derived\"). We also don't need to flatten a field that has already been parsed.\n for (var _i = 0, _a = Object(__WEBPACK_IMPORTED_MODULE_9__util__[\"keys\"])(implicit); _i < _a.length; _i++) {\n var field = _a[_i];\n var parsedAs = ancestorParse.getWithExplicit(field);\n if (parsedAs.value !== undefined) {\n // We always ignore derived fields even if they are implicitly defined because we expect users to create the right types.\n if (parsedAs.explicit || parsedAs.value === implicit[field] || parsedAs.value === 'derived' || implicit[field] === 'flatten') {\n delete implicit[field];\n }\n else {\n __WEBPACK_IMPORTED_MODULE_5__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_5__log__[\"b\" /* message */].differentParse(field, implicit[field], parsedAs.value));\n }\n }\n }\n for (var _b = 0, _c = Object(__WEBPACK_IMPORTED_MODULE_9__util__[\"keys\"])(explicit); _b < _c.length; _b++) {\n var field = _c[_b];\n var parsedAs = ancestorParse.get(field);\n if (parsedAs !== undefined) {\n // Don't parse a field again if it has been parsed with the same type already.\n if (parsedAs === explicit[field]) {\n delete explicit[field];\n }\n else {\n __WEBPACK_IMPORTED_MODULE_5__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_5__log__[\"b\" /* message */].differentParse(field, explicit[field], parsedAs));\n }\n }\n }\n var parse = new __WEBPACK_IMPORTED_MODULE_11__split__[\"a\" /* Split */](explicit, implicit);\n // add the format parse from this model so that children don't parse the same field again\n ancestorParse.copyAll(parse);\n // copy only non-null parses\n var p = {};\n for (var _d = 0, _e = Object(__WEBPACK_IMPORTED_MODULE_9__util__[\"keys\"])(parse.combine()); _d < _e.length; _d++) {\n var key = _e[_d];\n var val = parse.get(key);\n if (val !== null) {\n p[key] = val;\n }\n }\n if (Object(__WEBPACK_IMPORTED_MODULE_9__util__[\"keys\"])(p).length === 0 || ancestorParse.parseNothing) {\n return null;\n }\n return new ParseNode(parent, p);\n };\n Object.defineProperty(ParseNode.prototype, \"parse\", {\n get: function () {\n return this._parse;\n },\n enumerable: true,\n configurable: true\n });\n ParseNode.prototype.merge = function (other) {\n this._parse = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, this._parse, other.parse);\n other.remove();\n };\n /**\n * Assemble an object for Vega's format.parse property.\n */\n ParseNode.prototype.assembleFormatParse = function () {\n var formatParse = {};\n for (var _i = 0, _a = Object(__WEBPACK_IMPORTED_MODULE_9__util__[\"keys\"])(this._parse); _i < _a.length; _i++) {\n var field = _a[_i];\n var p = this._parse[field];\n if (Object(__WEBPACK_IMPORTED_MODULE_9__util__[\"accessPathDepth\"])(field) === 1) {\n formatParse[field] = p;\n }\n }\n return formatParse;\n };\n // format parse depends and produces all fields in its parse\n ParseNode.prototype.producedFields = function () {\n return Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"S\" /* toSet */])(Object(__WEBPACK_IMPORTED_MODULE_9__util__[\"keys\"])(this._parse));\n };\n ParseNode.prototype.dependentFields = function () {\n return Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"S\" /* toSet */])(Object(__WEBPACK_IMPORTED_MODULE_9__util__[\"keys\"])(this._parse));\n };\n ParseNode.prototype.assembleTransforms = function (onlyNested) {\n var _this = this;\n if (onlyNested === void 0) { onlyNested = false; }\n return Object(__WEBPACK_IMPORTED_MODULE_9__util__[\"keys\"])(this._parse)\n .filter(function (field) { return onlyNested ? Object(__WEBPACK_IMPORTED_MODULE_9__util__[\"accessPathDepth\"])(field) > 1 : true; })\n .map(function (field) {\n var expr = parseExpression(field, _this._parse[field]);\n if (!expr) {\n return null;\n }\n var formula = {\n type: 'formula',\n expr: expr,\n as: Object(__WEBPACK_IMPORTED_MODULE_9__util__[\"removePathFromField\"])(field) // Vega output is always flattened\n };\n return formula;\n }).filter(function (t) { return t !== null; });\n };\n return ParseNode;\n}(__WEBPACK_IMPORTED_MODULE_12__dataflow__[\"a\" /* DataFlowNode */]));\n\n//# sourceMappingURL=formatparse.js.map\n\n/***/ }),\n/* 206 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return StackNode; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__common__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__dataflow__ = __webpack_require__(13);\n\n\n\n\n\n\nfunction getStackByFields(model) {\n return model.stack.stackBy.reduce(function (fields, by) {\n var fieldDef = by.fieldDef;\n var _field = Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"vgField\"])(fieldDef);\n if (_field) {\n fields.push(_field);\n }\n return fields;\n }, []);\n}\nfunction isValidAsArray(as) {\n return Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(as) && as.every(function (s) { return Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"C\" /* isString */])(s); }) && as.length > 1;\n}\nvar StackNode = /** @class */ (function (_super) {\n __WEBPACK_IMPORTED_MODULE_0_tslib__[\"c\" /* __extends */](StackNode, _super);\n function StackNode(parent, stack) {\n var _this = _super.call(this, parent) || this;\n _this._stack = stack;\n return _this;\n }\n StackNode.prototype.clone = function () {\n return new StackNode(null, Object(__WEBPACK_IMPORTED_MODULE_3__util__[\"duplicate\"])(this._stack));\n };\n StackNode.makeFromTransform = function (parent, stackTransform) {\n var stack = stackTransform.stack, groupby = stackTransform.groupby, as = stackTransform.as, _a = stackTransform.offset, offset = _a === void 0 ? 'zero' : _a;\n var sortFields = [];\n var sortOrder = [];\n if (stackTransform.sort !== undefined) {\n for (var _i = 0, _b = stackTransform.sort; _i < _b.length; _i++) {\n var sortField = _b[_i];\n sortFields.push(sortField.field);\n sortOrder.push(sortField.order === undefined ? 'ascending' : sortField.order);\n }\n }\n var sort = {\n field: sortFields,\n order: sortOrder,\n };\n var normalizedAs;\n if (isValidAsArray(as)) {\n normalizedAs = as;\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"C\" /* isString */])(as)) {\n normalizedAs = [as, as + '_end'];\n }\n else {\n normalizedAs = [stackTransform.stack + '_start', stackTransform.stack + '_end'];\n }\n return new StackNode(parent, {\n stackField: stack,\n groupby: groupby,\n offset: offset,\n sort: sort,\n facetby: [],\n as: normalizedAs\n });\n };\n StackNode.makeFromEncoding = function (parent, model) {\n var stackProperties = model.stack;\n if (!stackProperties) {\n return null;\n }\n var dimensionFieldDef;\n if (stackProperties.groupbyChannel) {\n dimensionFieldDef = model.fieldDef(stackProperties.groupbyChannel);\n }\n var stackby = getStackByFields(model);\n var orderDef = model.encoding.order;\n var sort;\n if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(orderDef) || Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"isFieldDef\"])(orderDef)) {\n sort = Object(__WEBPACK_IMPORTED_MODULE_4__common__[\"m\" /* sortParams */])(orderDef);\n }\n else {\n // default = descending by stackFields\n // FIXME is the default here correct for binned fields?\n sort = stackby.reduce(function (s, field) {\n s.field.push(field);\n s.order.push('descending');\n return s;\n }, { field: [], order: [] });\n }\n // Refactored to add \"as\" in the make phase so that we can get producedFields\n // from the as property\n var field = model.vgField(stackProperties.fieldChannel);\n return new StackNode(parent, {\n dimensionFieldDef: dimensionFieldDef,\n stackField: field,\n facetby: [],\n stackby: stackby,\n sort: sort,\n offset: stackProperties.offset,\n impute: stackProperties.impute,\n as: [field + '_start', field + '_end']\n });\n };\n Object.defineProperty(StackNode.prototype, \"stack\", {\n get: function () {\n return this._stack;\n },\n enumerable: true,\n configurable: true\n });\n StackNode.prototype.addDimensions = function (fields) {\n this._stack.facetby = this._stack.facetby.concat(fields);\n };\n StackNode.prototype.dependentFields = function () {\n var out = {};\n out[this._stack.stackField] = true;\n this.getGroupbyFields().forEach(function (f) { return out[f] = true; });\n this._stack.facetby.forEach(function (f) { return out[f] = true; });\n var field = this._stack.sort.field;\n Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(field) ? field.forEach(function (f) { return out[f] = true; }) : out[field] = true;\n return out;\n };\n StackNode.prototype.producedFields = function () {\n return this._stack.as.reduce(function (result, item) {\n result[item] = true;\n return result;\n }, {});\n };\n StackNode.prototype.getGroupbyFields = function () {\n var _a = this._stack, dimensionFieldDef = _a.dimensionFieldDef, impute = _a.impute, groupby = _a.groupby;\n if (dimensionFieldDef) {\n if (dimensionFieldDef.bin) {\n if (impute) {\n // For binned group by field with impute, we calculate bin_mid\n // as we cannot impute two fields simultaneously\n return [Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"vgField\"])(dimensionFieldDef, { binSuffix: 'mid' })];\n }\n return [\n // For binned group by field without impute, we need both bin (start) and bin_end\n Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"vgField\"])(dimensionFieldDef, {}),\n Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"vgField\"])(dimensionFieldDef, { binSuffix: 'end' })\n ];\n }\n return [Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"vgField\"])(dimensionFieldDef)];\n }\n return groupby || [];\n };\n StackNode.prototype.assemble = function () {\n var transform = [];\n var _a = this._stack, facetby = _a.facetby, dimensionFieldDef = _a.dimensionFieldDef, field = _a.stackField, stackby = _a.stackby, sort = _a.sort, offset = _a.offset, impute = _a.impute, as = _a.as;\n // Impute\n if (impute && dimensionFieldDef) {\n var dimensionField = dimensionFieldDef ? Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"vgField\"])(dimensionFieldDef, { binSuffix: 'mid' }) : undefined;\n if (dimensionFieldDef.bin) {\n // As we can only impute one field at a time, we need to calculate\n // mid point for a binned field\n transform.push({\n type: 'formula',\n expr: '(' +\n Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"vgField\"])(dimensionFieldDef, { expr: 'datum' }) +\n '+' +\n Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"vgField\"])(dimensionFieldDef, { expr: 'datum', binSuffix: 'end' }) +\n ')/2',\n as: dimensionField\n });\n }\n transform.push({\n type: 'impute',\n field: field,\n groupby: stackby,\n key: dimensionField,\n method: 'value',\n value: 0\n });\n }\n // Stack\n transform.push({\n type: 'stack',\n groupby: this.getGroupbyFields().concat(facetby),\n field: field,\n sort: sort,\n as: as,\n offset: offset\n });\n return transform;\n };\n return StackNode;\n}(__WEBPACK_IMPORTED_MODULE_5__dataflow__[\"a\" /* DataFlowNode */]));\n\n//# sourceMappingURL=stack.js.map\n\n/***/ }),\n/* 207 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BRUSH; });\n/* unused harmony export SCALE_TRIGGER */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__scale__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__selection__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__transforms_scales__ = __webpack_require__(136);\n\n\n\n\n\n\n\n\nvar BRUSH = '_brush';\nvar SCALE_TRIGGER = '_scale_trigger';\nvar interval = {\n predicate: 'vlInterval',\n scaleDomain: 'vlIntervalDomain',\n signals: function (model, selCmpt) {\n var name = selCmpt.name;\n var hasScales = __WEBPACK_IMPORTED_MODULE_7__transforms_scales__[\"a\" /* default */].has(selCmpt);\n var signals = [];\n var intervals = [];\n var tupleTriggers = [];\n var scaleTriggers = [];\n if (selCmpt.translate && !hasScales) {\n var filterExpr_1 = \"!event.item || event.item.mark.name !== \" + Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"O\" /* stringValue */])(name + BRUSH);\n events(selCmpt, function (_, evt) {\n var filters = evt.between[0].filter || (evt.between[0].filter = []);\n if (filters.indexOf(filterExpr_1) < 0) {\n filters.push(filterExpr_1);\n }\n });\n }\n selCmpt.project.forEach(function (p) {\n var channel = p.channel;\n if (channel !== __WEBPACK_IMPORTED_MODULE_2__channel__[\"X\"] && channel !== __WEBPACK_IMPORTED_MODULE_2__channel__[\"Y\"]) {\n Object(__WEBPACK_IMPORTED_MODULE_3__log__[\"e\" /* warn */])('Interval selections only support x and y encoding channels.');\n return;\n }\n var cs = channelSignals(model, selCmpt, channel);\n var dname = Object(__WEBPACK_IMPORTED_MODULE_6__selection__[\"i\" /* channelSignalName */])(selCmpt, channel, 'data');\n var vname = Object(__WEBPACK_IMPORTED_MODULE_6__selection__[\"i\" /* channelSignalName */])(selCmpt, channel, 'visual');\n var scaleStr = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"O\" /* stringValue */])(model.scaleName(channel));\n var scaleType = model.getScaleComponent(channel).get('type');\n var toNum = Object(__WEBPACK_IMPORTED_MODULE_4__scale__[\"hasContinuousDomain\"])(scaleType) ? '+' : '';\n signals.push.apply(signals, cs);\n tupleTriggers.push(dname);\n intervals.push(\"{encoding: \" + Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"O\" /* stringValue */])(channel) + \", \" +\n (\"field: \" + Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"O\" /* stringValue */])(p.field) + \", extent: \" + dname + \"}\"));\n scaleTriggers.push({\n scaleName: model.scaleName(channel),\n expr: \"(!isArray(\" + dname + \") || \" +\n (\"(\" + toNum + \"invert(\" + scaleStr + \", \" + vname + \")[0] === \" + toNum + dname + \"[0] && \") +\n (toNum + \"invert(\" + scaleStr + \", \" + vname + \")[1] === \" + toNum + dname + \"[1]))\")\n });\n });\n // Proxy scale reactions to ensure that an infinite loop doesn't occur\n // when an interval selection filter touches the scale.\n if (!hasScales) {\n signals.push({\n name: name + SCALE_TRIGGER,\n update: scaleTriggers.map(function (t) { return t.expr; }).join(' && ') +\n (\" ? \" + (name + SCALE_TRIGGER) + \" : {}\")\n });\n }\n // Only add an interval to the store if it has valid data extents. Data extents\n // are set to null if pixel extents are equal to account for intervals over\n // ordinal/nominal domains which, when inverted, will still produce a valid datum.\n return signals.concat({\n name: name + __WEBPACK_IMPORTED_MODULE_6__selection__[\"c\" /* TUPLE */],\n on: [{\n events: tupleTriggers.map(function (t) { return ({ signal: t }); }),\n update: tupleTriggers.join(' && ') +\n (\" ? {unit: \" + Object(__WEBPACK_IMPORTED_MODULE_6__selection__[\"p\" /* unitName */])(model) + \", intervals: [\" + intervals.join(', ') + \"]} : null\")\n }]\n });\n },\n modifyExpr: function (model, selCmpt) {\n var tpl = selCmpt.name + __WEBPACK_IMPORTED_MODULE_6__selection__[\"c\" /* TUPLE */];\n return tpl + ', ' +\n (selCmpt.resolve === 'global' ? 'true' : \"{unit: \" + Object(__WEBPACK_IMPORTED_MODULE_6__selection__[\"p\" /* unitName */])(model) + \"}\");\n },\n marks: function (model, selCmpt, marks) {\n var name = selCmpt.name;\n var _a = Object(__WEBPACK_IMPORTED_MODULE_6__selection__[\"l\" /* positionalProjections */])(selCmpt), xi = _a.xi, yi = _a.yi;\n var store = \"data(\" + Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"O\" /* stringValue */])(selCmpt.name + __WEBPACK_IMPORTED_MODULE_6__selection__[\"b\" /* STORE */]) + \")\";\n // Do not add a brush if we're binding to scales.\n if (__WEBPACK_IMPORTED_MODULE_7__transforms_scales__[\"a\" /* default */].has(selCmpt)) {\n return marks;\n }\n var update = {\n x: xi !== null ? { signal: name + \"_x[0]\" } : { value: 0 },\n y: yi !== null ? { signal: name + \"_y[0]\" } : { value: 0 },\n x2: xi !== null ? { signal: name + \"_x[1]\" } : { field: { group: 'width' } },\n y2: yi !== null ? { signal: name + \"_y[1]\" } : { field: { group: 'height' } }\n };\n // If the selection is resolved to global, only a single interval is in\n // the store. Wrap brush mark's encodings with a production rule to test\n // this based on the `unit` property. Hide the brush mark if it corresponds\n // to a unit different from the one in the store.\n if (selCmpt.resolve === 'global') {\n for (var _i = 0, _b = Object(__WEBPACK_IMPORTED_MODULE_5__util__[\"keys\"])(update); _i < _b.length; _i++) {\n var key = _b[_i];\n update[key] = [__WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ test: store + \".length && \" + store + \"[0].unit === \" + Object(__WEBPACK_IMPORTED_MODULE_6__selection__[\"p\" /* unitName */])(model) }, update[key]), { value: 0 }];\n }\n }\n // Two brush marks ensure that fill colors and other aesthetic choices do\n // not interefere with the core marks, but that the brushed region can still\n // be interacted with (e.g., dragging it around).\n var _c = selCmpt.mark, fill = _c.fill, fillOpacity = _c.fillOpacity, stroke = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"e\" /* __rest */](_c, [\"fill\", \"fillOpacity\"]);\n var vgStroke = Object(__WEBPACK_IMPORTED_MODULE_5__util__[\"keys\"])(stroke).reduce(function (def, k) {\n def[k] = [{\n test: [\n xi !== null && name + \"_x[0] !== \" + name + \"_x[1]\",\n yi != null && name + \"_y[0] !== \" + name + \"_y[1]\",\n ].filter(function (x) { return x; }).join(' && '),\n value: stroke[k]\n }, { value: null }];\n return def;\n }, {});\n return [{\n name: name + BRUSH + '_bg',\n type: 'rect',\n clip: true,\n encode: {\n enter: {\n fill: { value: fill },\n fillOpacity: { value: fillOpacity }\n },\n update: update\n }\n }].concat(marks, {\n name: name + BRUSH,\n type: 'rect',\n clip: true,\n encode: {\n enter: {\n fill: { value: 'transparent' }\n },\n update: __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, update, vgStroke)\n }\n });\n }\n};\n/* harmony default export */ __webpack_exports__[\"b\"] = (interval);\n/**\n * Returns the visual and data signals for an interval selection.\n */\nfunction channelSignals(model, selCmpt, channel) {\n var vname = Object(__WEBPACK_IMPORTED_MODULE_6__selection__[\"i\" /* channelSignalName */])(selCmpt, channel, 'visual');\n var dname = Object(__WEBPACK_IMPORTED_MODULE_6__selection__[\"i\" /* channelSignalName */])(selCmpt, channel, 'data');\n var hasScales = __WEBPACK_IMPORTED_MODULE_7__transforms_scales__[\"a\" /* default */].has(selCmpt);\n var scaleName = model.scaleName(channel);\n var scaleStr = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"O\" /* stringValue */])(scaleName);\n var scale = model.getScaleComponent(channel);\n var scaleType = scale ? scale.get('type') : undefined;\n var size = model.getSizeSignalRef(channel === __WEBPACK_IMPORTED_MODULE_2__channel__[\"X\"] ? 'width' : 'height').signal;\n var coord = channel + \"(unit)\";\n var on = events(selCmpt, function (def, evt) {\n return def.concat({ events: evt.between[0], update: \"[\" + coord + \", \" + coord + \"]\" }, // Brush Start\n { events: evt, update: \"[\" + vname + \"[0], clamp(\" + coord + \", 0, \" + size + \")]\" } // Brush End\n );\n });\n // React to pan/zooms of continuous scales. Non-continuous scales\n // (bin-linear, band, point) cannot be pan/zoomed and any other changes\n // to their domains (e.g., filtering) should clear the brushes.\n on.push({\n events: { signal: selCmpt.name + SCALE_TRIGGER },\n update: Object(__WEBPACK_IMPORTED_MODULE_4__scale__[\"hasContinuousDomain\"])(scaleType) && !Object(__WEBPACK_IMPORTED_MODULE_4__scale__[\"isBinScale\"])(scaleType) ?\n \"[scale(\" + scaleStr + \", \" + dname + \"[0]), scale(\" + scaleStr + \", \" + dname + \"[1])]\" : \"[0, 0]\"\n });\n return hasScales ? [{ name: dname, on: [] }] : [{\n name: vname, value: [], on: on\n }, {\n name: dname,\n on: [{ events: { signal: vname }, update: vname + \"[0] === \" + vname + \"[1] ? null : invert(\" + scaleStr + \", \" + vname + \")\" }]\n }];\n}\nfunction events(selCmpt, cb) {\n return selCmpt.events.reduce(function (on, evt) {\n if (!evt.between) {\n Object(__WEBPACK_IMPORTED_MODULE_3__log__[\"e\" /* warn */])(evt + \" is not an ordered event stream for interval selections\");\n return on;\n }\n return cb(on, evt);\n }, []);\n}\n//# sourceMappingURL=interval.js.map\n\n/***/ }),\n/* 208 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mark__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__selection__ = __webpack_require__(18);\n\n\n\nvar VORONOI = 'voronoi';\nvar nearest = {\n has: function (selCmpt) {\n return selCmpt.type !== 'interval' && selCmpt.nearest;\n },\n marks: function (model, selCmpt, marks) {\n var _a = Object(__WEBPACK_IMPORTED_MODULE_2__selection__[\"l\" /* positionalProjections */])(selCmpt), x = _a.x, y = _a.y;\n var markType = model.mark;\n if (Object(__WEBPACK_IMPORTED_MODULE_1__mark__[\"isPathMark\"])(markType)) {\n __WEBPACK_IMPORTED_MODULE_0__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_0__log__[\"b\" /* message */].nearestNotSupportForContinuous(markType));\n return marks;\n }\n var cellDef = {\n name: model.getName(VORONOI),\n type: 'path',\n from: { data: model.getName('marks') },\n encode: {\n enter: {\n fill: { value: 'transparent' },\n strokeWidth: { value: 0.35 },\n stroke: { value: 'transparent' },\n isVoronoi: { value: true }\n }\n },\n transform: [{\n type: 'voronoi',\n x: { expr: (x || (!x && !y)) ? 'datum.datum.x || 0' : '0' },\n y: { expr: (y || (!x && !y)) ? 'datum.datum.y || 0' : '0' },\n size: [model.getSizeSignalRef('width'), model.getSizeSignalRef('height')]\n }]\n };\n var index = 0;\n var exists = false;\n marks.forEach(function (mark, i) {\n var name = mark.name || '';\n if (name === model.component.mark[0].name) {\n index = i;\n }\n else if (name.indexOf(VORONOI) >= 0) {\n exists = true;\n }\n });\n if (!exists) {\n marks.splice(index + 1, 0, cellDef);\n }\n return marks;\n }\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (nearest);\n//# sourceMappingURL=nearest.js.map\n\n/***/ }),\n/* 209 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar asap = __webpack_require__(404);\n\nfunction noop() {}\n\n// States:\n//\n// 0 - pending\n// 1 - fulfilled with _value\n// 2 - rejected with _value\n// 3 - adopted the state of another promise, _value\n//\n// once the state is no longer pending (0) it is immutable\n\n// All `_` prefixed properties will be reduced to `_{random number}`\n// at build time to obfuscate them and discourage their use.\n// We don't use symbols or Object.defineProperty to fully hide them\n// because the performance isn't good enough.\n\n\n// to avoid using try/catch inside critical functions, we\n// extract them to here.\nvar LAST_ERROR = null;\nvar IS_ERROR = {};\nfunction getThen(obj) {\n try {\n return obj.then;\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\n\nfunction tryCallOne(fn, a) {\n try {\n return fn(a);\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\nfunction tryCallTwo(fn, a, b) {\n try {\n fn(a, b);\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\n\nmodule.exports = Promise;\n\nfunction Promise(fn) {\n if (typeof this !== 'object') {\n throw new TypeError('Promises must be constructed via new');\n }\n if (typeof fn !== 'function') {\n throw new TypeError('Promise constructor\\'s argument is not a function');\n }\n this._75 = 0;\n this._83 = 0;\n this._18 = null;\n this._38 = null;\n if (fn === noop) return;\n doResolve(fn, this);\n}\nPromise._47 = null;\nPromise._71 = null;\nPromise._44 = noop;\n\nPromise.prototype.then = function(onFulfilled, onRejected) {\n if (this.constructor !== Promise) {\n return safeThen(this, onFulfilled, onRejected);\n }\n var res = new Promise(noop);\n handle(this, new Handler(onFulfilled, onRejected, res));\n return res;\n};\n\nfunction safeThen(self, onFulfilled, onRejected) {\n return new self.constructor(function (resolve, reject) {\n var res = new Promise(noop);\n res.then(resolve, reject);\n handle(self, new Handler(onFulfilled, onRejected, res));\n });\n}\nfunction handle(self, deferred) {\n while (self._83 === 3) {\n self = self._18;\n }\n if (Promise._47) {\n Promise._47(self);\n }\n if (self._83 === 0) {\n if (self._75 === 0) {\n self._75 = 1;\n self._38 = deferred;\n return;\n }\n if (self._75 === 1) {\n self._75 = 2;\n self._38 = [self._38, deferred];\n return;\n }\n self._38.push(deferred);\n return;\n }\n handleResolved(self, deferred);\n}\n\nfunction handleResolved(self, deferred) {\n asap(function() {\n var cb = self._83 === 1 ? deferred.onFulfilled : deferred.onRejected;\n if (cb === null) {\n if (self._83 === 1) {\n resolve(deferred.promise, self._18);\n } else {\n reject(deferred.promise, self._18);\n }\n return;\n }\n var ret = tryCallOne(cb, self._18);\n if (ret === IS_ERROR) {\n reject(deferred.promise, LAST_ERROR);\n } else {\n resolve(deferred.promise, ret);\n }\n });\n}\nfunction resolve(self, newValue) {\n // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\n if (newValue === self) {\n return reject(\n self,\n new TypeError('A promise cannot be resolved with itself.')\n );\n }\n if (\n newValue &&\n (typeof newValue === 'object' || typeof newValue === 'function')\n ) {\n var then = getThen(newValue);\n if (then === IS_ERROR) {\n return reject(self, LAST_ERROR);\n }\n if (\n then === self.then &&\n newValue instanceof Promise\n ) {\n self._83 = 3;\n self._18 = newValue;\n finale(self);\n return;\n } else if (typeof then === 'function') {\n doResolve(then.bind(newValue), self);\n return;\n }\n }\n self._83 = 1;\n self._18 = newValue;\n finale(self);\n}\n\nfunction reject(self, newValue) {\n self._83 = 2;\n self._18 = newValue;\n if (Promise._71) {\n Promise._71(self, newValue);\n }\n finale(self);\n}\nfunction finale(self) {\n if (self._75 === 1) {\n handle(self, self._38);\n self._38 = null;\n }\n if (self._75 === 2) {\n for (var i = 0; i < self._38.length; i++) {\n handle(self, self._38[i]);\n }\n self._38 = null;\n }\n}\n\nfunction Handler(onFulfilled, onRejected, promise){\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.promise = promise;\n}\n\n/**\n * Take a potentially misbehaving resolver function and make sure\n * onFulfilled and onRejected are only called once.\n *\n * Makes no guarantees about asynchrony.\n */\nfunction doResolve(fn, promise) {\n var done = false;\n var res = tryCallTwo(fn, function (value) {\n if (done) return;\n done = true;\n resolve(promise, value);\n }, function (reason) {\n if (done) return;\n done = true;\n reject(promise, reason);\n });\n if (!done && res === IS_ERROR) {\n done = true;\n reject(promise, LAST_ERROR);\n }\n}\n\n\n/***/ }),\n/* 210 */\n/***/ (function(module, exports) {\n\nvar g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\n} catch(e) {\n\t// This works if the window reference is available\n\tif(typeof window === \"object\")\n\t\tg = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n/***/ }),\n/* 211 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (false) {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n/***/ }),\n/* 212 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\nvar emptyObject = {};\n\nif (false) {\n Object.freeze(emptyObject);\n}\n\nmodule.exports = emptyObject;\n\n/***/ }),\n/* 213 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n/***/ }),\n/* 214 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__selection_index__ = __webpack_require__(30);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(selector) {\n return typeof selector === \"string\"\n ? new __WEBPACK_IMPORTED_MODULE_0__selection_index__[\"a\" /* Selection */]([[document.querySelector(selector)]], [document.documentElement])\n : new __WEBPACK_IMPORTED_MODULE_0__selection_index__[\"a\" /* Selection */]([[selector]], __WEBPACK_IMPORTED_MODULE_0__selection_index__[\"b\" /* root */]);\n});\n\n\n/***/ }),\n/* 215 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nfunction empty() {\n return [];\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(selector) {\n return selector == null ? empty : function() {\n return this.querySelectorAll(selector);\n };\n});\n\n\n/***/ }),\n/* 216 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar 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\n/* harmony default export */ __webpack_exports__[\"a\"] = (matcher);\n\n\n/***/ }),\n/* 217 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = EnterNode;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__sparse__ = __webpack_require__(218);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__index__ = __webpack_require__(30);\n\n\n\n/* harmony default export */ __webpack_exports__[\"b\"] = (function() {\n return new __WEBPACK_IMPORTED_MODULE_1__index__[\"a\" /* Selection */](this._enter || this._groups.map(__WEBPACK_IMPORTED_MODULE_0__sparse__[\"a\" /* default */]), this._parents);\n});\n\nfunction 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\n\n/***/ }),\n/* 218 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(update) {\n return new Array(update.length);\n});\n\n\n/***/ }),\n/* 219 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export styleValue */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__window__ = __webpack_require__(142);\n\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\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\nfunction styleValue(node, name) {\n return node.style.getPropertyValue(name)\n || Object(__WEBPACK_IMPORTED_MODULE_0__window__[\"a\" /* default */])(node).getComputedStyle(node, null).getPropertyValue(name);\n}\n\n\n/***/ }),\n/* 220 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return id; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return identity; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return zero; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return one; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return truthy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return falsy; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__accessor__ = __webpack_require__(63);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__field__ = __webpack_require__(221);\n\n\n\nvar empty = [];\n\nvar id = Object(__WEBPACK_IMPORTED_MODULE_1__field__[\"a\" /* default */])('id');\n\nvar identity = Object(__WEBPACK_IMPORTED_MODULE_0__accessor__[\"c\" /* default */])(function(_) { return _; }, empty, 'identity');\n\nvar zero = Object(__WEBPACK_IMPORTED_MODULE_0__accessor__[\"c\" /* default */])(function() { return 0; }, empty, 'zero');\n\nvar one = Object(__WEBPACK_IMPORTED_MODULE_0__accessor__[\"c\" /* default */])(function() { return 1; }, empty, 'one');\n\nvar truthy = Object(__WEBPACK_IMPORTED_MODULE_0__accessor__[\"c\" /* default */])(function() { return true; }, empty, 'true');\n\nvar falsy = Object(__WEBPACK_IMPORTED_MODULE_0__accessor__[\"c\" /* default */])(function() { return false; }, empty, 'false');\n\n\n/***/ }),\n/* 221 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__accessor__ = __webpack_require__(63);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__splitAccessPath__ = __webpack_require__(92);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__stringValue__ = __webpack_require__(93);\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(field, name) {\n var path = Object(__WEBPACK_IMPORTED_MODULE_1__splitAccessPath__[\"a\" /* default */])(field),\n code = 'return _[' + path.map(__WEBPACK_IMPORTED_MODULE_2__stringValue__[\"a\" /* default */]).join('][') + '];';\n\n return Object(__WEBPACK_IMPORTED_MODULE_0__accessor__[\"c\" /* default */])(\n Function('_', code),\n [(field = path.length===1 ? path[0] : field)],\n name || field\n );\n});\n\n\n/***/ }),\n/* 222 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(message) {\n throw Error(message);\n});\n\n\n/***/ }),\n/* 223 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(_) {\n return _ === Object(_);\n});\n\n\n/***/ }),\n/* 224 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(_) {\n return typeof _ === 'string';\n});\n\n\n/***/ }),\n/* 225 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(array) {\n return array[array.length - 1];\n});\n\n\n/***/ }),\n/* 226 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(_) {\n return _ == null || _ === '' ? null : +_;\n});\n\n\n/***/ }),\n/* 227 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(_) {\n return Object.prototype.toString.call(_) === '[object Date]';\n});\n\n\n/***/ }),\n/* 228 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(_) {\n return typeof _ === 'number';\n});\n\n\n/***/ }),\n/* 229 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(str, reps) {\n var s = '';\n while (--reps >= 0) s += str;\n return s;\n});\n\n\n/***/ }),\n/* 230 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Parameters;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n\n\nvar CACHE = '_:mod:_';\n\n/**\n * Hash that tracks modifications to assigned values.\n * Callers *must* use the set method to update values.\n */\nfunction Parameters() {\n Object.defineProperty(this, CACHE, {writable:true, value: {}});\n}\n\nvar prototype = Parameters.prototype;\n\n/**\n * Set a parameter value. If the parameter value changes, the parameter\n * will be recorded as modified.\n * @param {string} name - The parameter name.\n * @param {number} index - The index into an array-value parameter. Ignored if\n * the argument is undefined, null or less than zero.\n * @param {*} value - The parameter value to set.\n * @param {boolean} [force=false] - If true, records the parameter as modified\n * even if the value is unchanged.\n * @return {Parameters} - This parameter object.\n */\nprototype.set = function(name, index, value, force) {\n var o = this,\n v = o[name],\n mod = o[CACHE];\n\n if (index != null && index >= 0) {\n if (v[index] !== value || force) {\n v[index] = value;\n mod[index + ':' + name] = -1;\n mod[name] = -1;\n }\n } else if (v !== value || force) {\n o[name] = value;\n mod[name] = Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"v\" /* isArray */])(value) ? 1 + value.length : -1;\n }\n\n return o;\n};\n\n/**\n * Tests if one or more parameters has been modified. If invoked with no\n * arguments, returns true if any parameter value has changed. If the first\n * argument is array, returns trues if any parameter name in the array has\n * changed. Otherwise, tests if the given name and optional array index has\n * changed.\n * @param {string} name - The parameter name to test.\n * @param {number} [index=undefined] - The parameter array index to test.\n * @return {boolean} - Returns true if a queried parameter was modified.\n */\nprototype.modified = function(name, index) {\n var mod = this[CACHE], k;\n if (!arguments.length) {\n for (k in mod) { if (mod[k]) return true; }\n return false;\n } else if (Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"v\" /* isArray */])(name)) {\n for (k=0; k<name.length; ++k) {\n if (mod[name[k]]) return true;\n }\n return false;\n }\n return (index != null && index >= 0)\n ? (index + 1 < mod[name] || !!mod[index + ':' + name])\n : !!mod[name];\n};\n\n/**\n * Clears the modification records. After calling this method,\n * all parameters are considered unmodified.\n */\nprototype.clear = function() {\n this[CACHE] = {};\n return this;\n};\n\n\n/***/ }),\n/* 231 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = EventStream;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = stream;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_UniqueList__ = __webpack_require__(64);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\nvar STREAM_ID = 0;\n\n/**\n * Models an event stream.\n * @constructor\n * @param {function(Object, number): boolean} [filter] - Filter predicate.\n * Events pass through when truthy, events are suppressed when falsy.\n * @param {function(Object): *} [apply] - Applied to input events to produce\n * new event values.\n * @param {function(Object)} [receive] - Event callback function to invoke\n * upon receipt of a new event. Use to override standard event processing.\n */\nfunction EventStream(filter, apply, receive) {\n this.id = ++STREAM_ID;\n this.value = null;\n if (receive) this.receive = receive;\n if (filter) this._filter = filter;\n if (apply) this._apply = apply;\n}\n\n/**\n * Creates a new event stream instance with the provided\n * (optional) filter, apply and receive functions.\n * @param {function(Object, number): boolean} [filter] - Filter predicate.\n * Events pass through when truthy, events are suppressed when falsy.\n * @param {function(Object): *} [apply] - Applied to input events to produce\n * new event values.\n * @see EventStream\n */\nfunction stream(filter, apply, receive) {\n return new EventStream(filter, apply, receive);\n}\n\nvar prototype = EventStream.prototype;\n\nprototype._filter = __WEBPACK_IMPORTED_MODULE_1_vega_util__[\"V\" /* truthy */];\n\nprototype._apply = __WEBPACK_IMPORTED_MODULE_1_vega_util__[\"t\" /* identity */];\n\nprototype.targets = function() {\n return this._targets || (this._targets = Object(__WEBPACK_IMPORTED_MODULE_0__util_UniqueList__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"s\" /* id */]));\n};\n\nprototype.consume = function(_) {\n if (!arguments.length) return !!this._consume;\n this._consume = !!_;\n return this;\n};\n\nprototype.receive = function(evt) {\n if (this._filter(evt)) {\n var val = (this.value = this._apply(evt)),\n trg = this._targets,\n n = trg ? trg.length : 0,\n i = 0;\n\n for (; i<n; ++i) trg[i].receive(val);\n\n if (this._consume) {\n evt.preventDefault();\n evt.stopPropagation();\n }\n }\n};\n\nprototype.filter = function(filter) {\n var s = stream(filter);\n this.targets().add(s);\n return s;\n};\n\nprototype.apply = function(apply) {\n var s = stream(null, apply);\n this.targets().add(s);\n return s;\n};\n\nprototype.merge = function() {\n var s = stream();\n\n this.targets().add(s);\n for (var i=0, n=arguments.length; i<n; ++i) {\n arguments[i].targets().add(s);\n }\n\n return s;\n};\n\nprototype.throttle = function(pause) {\n var t = -1;\n return this.filter(function() {\n var now = Date.now();\n if ((now - t) > pause) {\n t = now;\n return 1;\n } else {\n return 0;\n }\n });\n};\n\nprototype.debounce = function(delay) {\n var s = stream();\n\n this.targets().add(stream(null, null,\n Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"l\" /* debounce */])(delay, function(e) {\n var df = e.dataflow;\n s.receive(e);\n if (df && df.run) df.run();\n })\n ));\n\n return s;\n};\n\nprototype.between = function(a, b) {\n var active = false;\n a.targets().add(stream(null, null, function() { active = true; }));\n b.targets().add(stream(null, null, function() { active = false; }));\n return this.filter(function() { return active; });\n};\n\n\n/***/ }),\n/* 232 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return typeParsers; });\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = inferType;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = inferTypes;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n\n\nvar typeParsers = {\n boolean: __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"P\" /* toBoolean */],\n integer: __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"R\" /* toNumber */],\n number: __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"R\" /* toNumber */],\n date: __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"Q\" /* toDate */],\n string: __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"T\" /* toString */],\n unknown: __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"t\" /* identity */]\n};\n\nvar typeTests = [\n isBoolean,\n isInteger,\n isNumber,\n isDate\n];\n\nvar typeList = [\n 'boolean',\n 'integer',\n 'number',\n 'date'\n];\n\nfunction inferType(values, field) {\n if (!values || !values.length) return 'unknown';\n\n var value, i, j, t = 0,\n n = values.length,\n m = typeTests.length,\n a = typeTests.map(function(_, i) { return i + 1; });\n\n for (i=0, n=values.length; i<n; ++i) {\n value = field ? values[i][field] : values[i];\n for (j=0; j<m; ++j) {\n if (a[j] && isValid(value) && !typeTests[j](value)) {\n a[j] = 0;\n ++t;\n if (t === typeTests.length) return 'string';\n }\n }\n }\n\n t = a.reduce(function(u, v) { return u === 0 ? v : u; }, 0) - 1;\n return typeList[t];\n}\n\nfunction inferTypes(data, fields) {\n return fields.reduce(function(types, field) {\n types[field] = inferType(data, field);\n return types;\n }, {});\n}\n\n// -- Type Checks ----\n\nfunction isValid(_) {\n return _ != null && _ === _;\n}\n\nfunction isBoolean(_) {\n return _ === 'true' || _ === 'false' || _ === true || _ === false;\n}\n\nfunction isDate(_) {\n return !isNaN(Date.parse(_));\n}\n\nfunction isNumber(_) {\n return !isNaN(+_) && !(_ instanceof Date);\n}\n\nfunction isInteger(_) {\n return isNumber(_) && (_=+_) === ~~_;\n}\n\n\n/***/ }),\n/* 233 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__dsv__ = __webpack_require__(488);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__json__ = __webpack_require__(234);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__topojson__ = __webpack_require__(496);\n\n\n\n\nvar formats = {\n dsv: __WEBPACK_IMPORTED_MODULE_0__dsv__[\"a\" /* default */],\n csv: Object(__WEBPACK_IMPORTED_MODULE_0__dsv__[\"b\" /* delimitedFormat */])(','),\n tsv: Object(__WEBPACK_IMPORTED_MODULE_0__dsv__[\"b\" /* delimitedFormat */])('\\t'),\n json: __WEBPACK_IMPORTED_MODULE_1__json__[\"a\" /* default */],\n topojson: __WEBPACK_IMPORTED_MODULE_2__topojson__[\"a\" /* default */]\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(name, format) {\n if (arguments.length > 1) {\n formats[name] = format;\n return this;\n } else {\n return formats.hasOwnProperty(name) ? formats[name] : null;\n }\n});\n\n\n/***/ }),\n/* 234 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(Buffer) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n\n\nfunction isBuffer(_) {\n return (typeof Buffer === 'function' && Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"y\" /* isFunction */])(Buffer.isBuffer))\n ? Buffer.isBuffer(_) : false;\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(data, format) {\n var prop = (format && format.property) ? Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"r\" /* field */])(format.property) : __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"t\" /* identity */];\n return Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"A\" /* isObject */])(data) && !isBuffer(data)\n ? parseJSON(prop(data))\n : prop(JSON.parse(data));\n});\n\nfunction parseJSON(data, format) {\n return (format && format.copy)\n ? JSON.parse(JSON.stringify(data))\n : data;\n}\n\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(492).Buffer))\n\n/***/ }),\n/* 235 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__transform__ = __webpack_require__(151);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(topology) {\n var t = Object(__WEBPACK_IMPORTED_MODULE_0__transform__[\"a\" /* default */])(topology.transform), key,\n x0 = Infinity, y0 = x0, x1 = -x0, y1 = -x0;\n\n function bboxPoint(p) {\n p = t(p);\n if (p[0] < x0) x0 = p[0];\n if (p[0] > x1) x1 = p[0];\n if (p[1] < y0) y0 = p[1];\n if (p[1] > y1) y1 = p[1];\n }\n\n function bboxGeometry(o) {\n switch (o.type) {\n case \"GeometryCollection\": o.geometries.forEach(bboxGeometry); break;\n case \"Point\": bboxPoint(o.coordinates); break;\n case \"MultiPoint\": o.coordinates.forEach(bboxPoint); break;\n }\n }\n\n topology.arcs.forEach(function(arc) {\n var i = -1, n = arc.length, p;\n while (++i < n) {\n p = t(arc[i], i);\n if (p[0] < x0) x0 = p[0];\n if (p[0] > x1) x1 = p[0];\n if (p[1] < y0) y0 = p[1];\n if (p[1] > y1) y1 = p[1];\n }\n });\n\n for (key in topology.objects) {\n bboxGeometry(topology.objects[key]);\n }\n\n return [x0, y0, x1, y1];\n});\n\n\n/***/ }),\n/* 236 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(x) {\n return x;\n});\n\n\n/***/ }),\n/* 237 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(topology, arcs) {\n var stitchedArcs = {},\n fragmentByStart = {},\n fragmentByEnd = {},\n fragments = [],\n emptyIndex = -1;\n\n // Stitch empty arcs first, since they may be subsumed by other arcs.\n arcs.forEach(function(i, j) {\n var arc = topology.arcs[i < 0 ? ~i : i], t;\n if (arc.length < 3 && !arc[1][0] && !arc[1][1]) {\n t = arcs[++emptyIndex], arcs[emptyIndex] = i, arcs[j] = t;\n }\n });\n\n arcs.forEach(function(i) {\n var e = ends(i),\n start = e[0],\n end = e[1],\n f, g;\n\n if (f = fragmentByEnd[start]) {\n delete fragmentByEnd[f.end];\n f.push(i);\n f.end = end;\n if (g = fragmentByStart[end]) {\n delete fragmentByStart[g.start];\n var fg = g === f ? f : f.concat(g);\n fragmentByStart[fg.start = f.start] = fragmentByEnd[fg.end = g.end] = fg;\n } else {\n fragmentByStart[f.start] = fragmentByEnd[f.end] = f;\n }\n } else if (f = fragmentByStart[end]) {\n delete fragmentByStart[f.start];\n f.unshift(i);\n f.start = start;\n if (g = fragmentByEnd[start]) {\n delete fragmentByEnd[g.end];\n var gf = g === f ? f : g.concat(f);\n fragmentByStart[gf.start = g.start] = fragmentByEnd[gf.end = f.end] = gf;\n } else {\n fragmentByStart[f.start] = fragmentByEnd[f.end] = f;\n }\n } else {\n f = [i];\n fragmentByStart[f.start = start] = fragmentByEnd[f.end = end] = f;\n }\n });\n\n function ends(i) {\n var arc = topology.arcs[i < 0 ? ~i : i], p0 = arc[0], p1;\n if (topology.transform) p1 = [0, 0], arc.forEach(function(dp) { p1[0] += dp[0], p1[1] += dp[1]; });\n else p1 = arc[arc.length - 1];\n return i < 0 ? [p1, p0] : [p0, p1];\n }\n\n function flush(fragmentByEnd, fragmentByStart) {\n for (var k in fragmentByEnd) {\n var f = fragmentByEnd[k];\n delete fragmentByStart[f.start];\n delete f.start;\n delete f.end;\n f.forEach(function(i) { stitchedArcs[i < 0 ? ~i : i] = 1; });\n fragments.push(f);\n }\n }\n\n flush(fragmentByEnd, fragmentByStart);\n flush(fragmentByStart, fragmentByEnd);\n arcs.forEach(function(i) { if (!stitchedArcs[i < 0 ? ~i : i]) fragments.push([i]); });\n\n return fragments;\n});\n\n\n/***/ }),\n/* 238 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__identity__ = __webpack_require__(236);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(transform) {\n if (transform == null) return __WEBPACK_IMPORTED_MODULE_0__identity__[\"a\" /* default */];\n var x0,\n y0,\n kx = transform.scale[0],\n ky = transform.scale[1],\n dx = transform.translate[0],\n dy = transform.translate[1];\n return function(input, i) {\n if (!i) x0 = y0 = 0;\n var j = 2,\n n = input.length,\n output = new Array(n),\n x1 = Math.round((input[0] - dx) / kx),\n y1 = Math.round((input[1] - dy) / ky);\n output[0] = x1 - x0, x0 = x1;\n output[1] = y1 - y0, y0 = y1;\n while (j < n) output[j] = input[j], ++j;\n return output;\n };\n});\n\n\n/***/ }),\n/* 239 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = formatLocale;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_time__ = __webpack_require__(95);\n\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\nfunction 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 ? __WEBPACK_IMPORTED_MODULE_0_d3_time__[\"p\" /* utcMonday */].ceil(week) : Object(__WEBPACK_IMPORTED_MODULE_0_d3_time__[\"p\" /* utcMonday */])(week);\n week = __WEBPACK_IMPORTED_MODULE_0_d3_time__[\"l\" /* 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 ? __WEBPACK_IMPORTED_MODULE_0_d3_time__[\"e\" /* timeMonday */].ceil(week) : Object(__WEBPACK_IMPORTED_MODULE_0_d3_time__[\"e\" /* timeMonday */])(week);\n week = __WEBPACK_IMPORTED_MODULE_0_d3_time__[\"a\" /* 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 + __WEBPACK_IMPORTED_MODULE_0_d3_time__[\"a\" /* timeDay */].count(Object(__WEBPACK_IMPORTED_MODULE_0_d3_time__[\"k\" /* 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(__WEBPACK_IMPORTED_MODULE_0_d3_time__[\"h\" /* timeSunday */].count(Object(__WEBPACK_IMPORTED_MODULE_0_d3_time__[\"k\" /* timeYear */])(d), d), p, 2);\n}\n\nfunction formatWeekNumberISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? Object(__WEBPACK_IMPORTED_MODULE_0_d3_time__[\"i\" /* timeThursday */])(d) : __WEBPACK_IMPORTED_MODULE_0_d3_time__[\"i\" /* timeThursday */].ceil(d);\n return pad(__WEBPACK_IMPORTED_MODULE_0_d3_time__[\"i\" /* timeThursday */].count(Object(__WEBPACK_IMPORTED_MODULE_0_d3_time__[\"k\" /* timeYear */])(d), d) + (Object(__WEBPACK_IMPORTED_MODULE_0_d3_time__[\"k\" /* timeYear */])(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(__WEBPACK_IMPORTED_MODULE_0_d3_time__[\"e\" /* timeMonday */].count(Object(__WEBPACK_IMPORTED_MODULE_0_d3_time__[\"k\" /* 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 + __WEBPACK_IMPORTED_MODULE_0_d3_time__[\"l\" /* utcDay */].count(Object(__WEBPACK_IMPORTED_MODULE_0_d3_time__[\"v\" /* 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(__WEBPACK_IMPORTED_MODULE_0_d3_time__[\"s\" /* utcSunday */].count(Object(__WEBPACK_IMPORTED_MODULE_0_d3_time__[\"v\" /* utcYear */])(d), d), p, 2);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? Object(__WEBPACK_IMPORTED_MODULE_0_d3_time__[\"t\" /* utcThursday */])(d) : __WEBPACK_IMPORTED_MODULE_0_d3_time__[\"t\" /* utcThursday */].ceil(d);\n return pad(__WEBPACK_IMPORTED_MODULE_0_d3_time__[\"t\" /* utcThursday */].count(Object(__WEBPACK_IMPORTED_MODULE_0_d3_time__[\"v\" /* utcYear */])(d), d) + (Object(__WEBPACK_IMPORTED_MODULE_0_d3_time__[\"v\" /* utcYear */])(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(__WEBPACK_IMPORTED_MODULE_0_d3_time__[\"p\" /* utcMonday */].count(Object(__WEBPACK_IMPORTED_MODULE_0_d3_time__[\"v\" /* 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\n\n/***/ }),\n/* 240 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return isoSpecifier; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__defaultLocale__ = __webpack_require__(153);\n\n\nvar 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 : Object(__WEBPACK_IMPORTED_MODULE_0__defaultLocale__[\"d\" /* utcFormat */])(isoSpecifier);\n\n/* unused harmony default export */ var _unused_webpack_default_export = (formatIso);\n\n\n/***/ }),\n/* 241 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = MultiPulse;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Pulse__ = __webpack_require__(96);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Represents a set of multiple pulses. Used as input for operators\n * that accept multiple pulses at a time. Contained pulses are\n * accessible via the public \"pulses\" array property. This pulse doe\n * not carry added, removed or modified tuples directly. However,\n * the visit method can be used to traverse all such tuples contained\n * in sub-pulses with a timestamp matching this parent multi-pulse.\n * @constructor\n * @param {Dataflow} dataflow - The backing dataflow instance.\n * @param {number} stamp - The timestamp.\n * @param {Array<Pulse>} pulses - The sub-pulses for this multi-pulse.\n */\nfunction MultiPulse(dataflow, stamp, pulses, encode) {\n var p = this,\n c = 0,\n pulse, hash, i, n, f;\n\n this.dataflow = dataflow;\n this.stamp = stamp;\n this.fields = null;\n this.encode = encode || null;\n this.pulses = pulses;\n\n for (i=0, n=pulses.length; i<n; ++i) {\n pulse = pulses[i];\n if (pulse.stamp !== stamp) continue;\n\n if (pulse.fields) {\n hash = p.fields || (p.fields = {});\n for (f in pulse.fields) { hash[f] = 1; }\n }\n\n if (pulse.changed(p.ADD)) c |= p.ADD;\n if (pulse.changed(p.REM)) c |= p.REM;\n if (pulse.changed(p.MOD)) c |= p.MOD;\n }\n\n this.changes = c;\n}\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(MultiPulse, __WEBPACK_IMPORTED_MODULE_0__Pulse__[\"b\" /* default */]);\n\n/**\n * Creates a new pulse based on the values of this pulse.\n * The dataflow, time stamp and field modification values are copied over.\n * @return {Pulse}\n */\nprototype.fork = function(flags) {\n var p = new __WEBPACK_IMPORTED_MODULE_0__Pulse__[\"b\" /* default */](this.dataflow).init(this, flags & this.NO_FIELDS);\n if (flags !== undefined) {\n if (flags & p.ADD) {\n this.visit(p.ADD, function(t) { return p.add.push(t); });\n }\n if (flags & p.REM) {\n this.visit(p.REM, function(t) { return p.rem.push(t); });\n }\n if (flags & p.MOD) {\n this.visit(p.MOD, function(t) { return p.mod.push(t); });\n }\n }\n return p;\n};\n\nprototype.changed = function(flags) {\n return this.changes & flags;\n};\n\nprototype.modified = function(_) {\n var p = this, fields = p.fields;\n return !(fields && (p.changes & p.MOD)) ? 0\n : Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(_) ? _.some(function(f) { return fields[f]; })\n : fields[_];\n};\n\nprototype.filter = function() {\n Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"m\" /* error */])('MultiPulse does not support filtering.');\n};\n\nprototype.materialize = function() {\n Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"m\" /* error */])('MultiPulse does not support materialization.');\n};\n\nprototype.visit = function(flags, visitor) {\n var p = this,\n pulses = p.pulses,\n n = pulses.length,\n i = 0;\n\n if (flags & p.SOURCE) {\n for (; i<n; ++i) {\n pulses[i].visit(flags, visitor);\n }\n } else {\n for (; i<n; ++i) {\n if (pulses[i].stamp === p.stamp) {\n pulses[i].visit(flags, visitor);\n }\n }\n }\n\n return p;\n};\n\n\n/***/ }),\n/* 242 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export multikey */\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = groupkey;\nfunction multikey(f) {\n return function(x) {\n var n = f.length,\n i = 1,\n k = String(f[0](x));\n\n for (; i<n; ++i) {\n k += '|' + f[i](x);\n }\n\n return k;\n };\n}\n\nfunction groupkey(fields) {\n return !fields || !fields.length ? function() { return ''; }\n : fields.length === 1 ? fields[0]\n : multikey(fields);\n}\n\n\n/***/ }),\n/* 243 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = TupleStore;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_statistics__ = __webpack_require__(46);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n\n\n\n\nfunction TupleStore(key) {\n this._key = key ? Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"r\" /* field */])(key) : __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"r\" /* tupleid */];\n this.reset();\n}\n\nvar prototype = TupleStore.prototype;\n\nprototype.reset = function() {\n this._add = [];\n this._rem = [];\n this._ext = null;\n this._get = null;\n this._q = null;\n};\n\nprototype.add = function(v) {\n this._add.push(v);\n};\n\nprototype.rem = function(v) {\n this._rem.push(v);\n};\n\nprototype.values = function() {\n this._get = null;\n if (this._rem.length === 0) return this._add;\n\n var a = this._add,\n r = this._rem,\n k = this._key,\n n = a.length,\n m = r.length,\n x = Array(n - m),\n map = {}, i, j, v;\n\n // use unique key field to clear removed values\n for (i=0; i<m; ++i) {\n map[k(r[i])] = 1;\n }\n for (i=0, j=0; i<n; ++i) {\n if (map[k(v = a[i])]) {\n map[k(v)] = 0;\n } else {\n x[j++] = v;\n }\n }\n\n this._rem = [];\n return (this._add = x);\n};\n\n// memoizing statistics methods\n\nprototype.distinct = function(get) {\n var v = this.values(),\n n = v.length,\n map = {},\n count = 0, s;\n\n while (--n >= 0) {\n s = get(v[n]) + '';\n if (!map.hasOwnProperty(s)) {\n map[s] = 1;\n ++count;\n }\n }\n\n return count;\n};\n\nprototype.extent = function(get) {\n if (this._get !== get || !this._ext) {\n var v = this.values(),\n i = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"o\" /* extentIndex */])(v, get);\n this._ext = [v[i[0]], v[i[1]]];\n this._get = get;\n }\n return this._ext;\n};\n\nprototype.argmin = function(get) {\n return this.extent(get)[0] || {};\n};\n\nprototype.argmax = function(get) {\n return this.extent(get)[1] || {};\n};\n\nprototype.min = function(get) {\n var m = this.extent(get)[0];\n return m != null ? get(m) : +Infinity;\n};\n\nprototype.max = function(get) {\n var m = this.extent(get)[1];\n return m != null ? get(m) : -Infinity;\n};\n\nprototype.quartile = function(get) {\n if (this._get !== get || !this._q) {\n this._q = Object(__WEBPACK_IMPORTED_MODULE_1_vega_statistics__[\"c\" /* quartiles */])(this.values(), get);\n this._get = get;\n }\n return this._q;\n};\n\nprototype.q1 = function(get) {\n return this.quartile(get)[0];\n};\n\nprototype.q2 = function(get) {\n return this.quartile(get)[1];\n};\n\nprototype.q3 = function(get) {\n return this.quartile(get)[2];\n};\n\nprototype.ci = function(get) {\n if (this._get !== get || !this._ci) {\n this._ci = Object(__WEBPACK_IMPORTED_MODULE_1_vega_statistics__[\"b\" /* bootstrapCI */])(this.values(), 1000, 0.05, get);\n this._get = get;\n }\n return this._ci;\n};\n\nprototype.ci0 = function(get) {\n return this.ci(get)[0];\n};\n\nprototype.ci1 = function(get) {\n return this.ci(get)[1];\n};\n\n\n/***/ }),\n/* 244 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(array, f) {\n var numbers = [],\n n = array.length,\n i = -1, a;\n\n if (f == null) {\n while (++i < n) if (!isNaN(a = number(array[i]))) numbers.push(a);\n } else {\n while (++i < n) if (!isNaN(a = number(f(array[i], i, array)))) numbers.push(a);\n }\n return numbers;\n});\n\nfunction number(x) {\n return x === null ? NaN : +x;\n}\n\n\n/***/ }),\n/* 245 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return bisectRight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return bisectLeft; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ascending__ = __webpack_require__(56);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__bisector__ = __webpack_require__(246);\n\n\n\nvar ascendingBisect = Object(__WEBPACK_IMPORTED_MODULE_1__bisector__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_0__ascending__[\"a\" /* default */]);\nvar bisectRight = ascendingBisect.right;\nvar bisectLeft = ascendingBisect.left;\n/* harmony default export */ __webpack_exports__[\"c\"] = (bisectRight);\n\n\n/***/ }),\n/* 246 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ascending__ = __webpack_require__(56);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (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 Object(__WEBPACK_IMPORTED_MODULE_0__ascending__[\"a\" /* default */])(f(d), x);\n };\n}\n\n\n/***/ }),\n/* 247 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = pair;\n/* unused harmony default export */ var _unused_webpack_default_export = (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\nfunction pair(a, b) {\n return [a, b];\n}\n\n\n/***/ }),\n/* 248 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__variance__ = __webpack_require__(249);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(array, f) {\n var v = Object(__WEBPACK_IMPORTED_MODULE_0__variance__[\"a\" /* default */])(array, f);\n return v ? Math.sqrt(v) : v;\n});\n\n\n/***/ }),\n/* 249 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__number__ = __webpack_require__(68);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (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 = Object(__WEBPACK_IMPORTED_MODULE_0__number__[\"a\" /* default */])(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 = Object(__WEBPACK_IMPORTED_MODULE_0__number__[\"a\" /* default */])(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\n\n/***/ }),\n/* 250 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 251 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return slice; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return map; });\nvar array = Array.prototype;\n\nvar slice = array.slice;\nvar map = array.map;\n\n\n/***/ }),\n/* 252 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 253 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = tickIncrement;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = tickStep;\nvar e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\nfunction 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\nfunction 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\n\n/***/ }),\n/* 254 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(values) {\n return Math.ceil(Math.log(values.length) / Math.LN2) + 1;\n});\n\n\n/***/ }),\n/* 255 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 256 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__min__ = __webpack_require__(255);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(matrix) {\n if (!(n = matrix.length)) return [];\n for (var i = -1, m = Object(__WEBPACK_IMPORTED_MODULE_0__min__[\"a\" /* default */])(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\n\n/***/ }),\n/* 257 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__numbers__ = __webpack_require__(244);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_d3_array__ = __webpack_require__(9);\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(array, f) {\n var values = Object(__WEBPACK_IMPORTED_MODULE_0__numbers__[\"a\" /* default */])(array, f);\n\n return [\n Object(__WEBPACK_IMPORTED_MODULE_1_d3_array__[\"m\" /* quantile */])(values.sort(__WEBPACK_IMPORTED_MODULE_1_d3_array__[\"a\" /* ascending */]), 0.25),\n Object(__WEBPACK_IMPORTED_MODULE_1_d3_array__[\"m\" /* quantile */])(values, 0.50),\n Object(__WEBPACK_IMPORTED_MODULE_1_d3_array__[\"m\" /* quantile */])(values, 0.75)\n ];\n});\n\n\n/***/ }),\n/* 258 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__random__ = __webpack_require__(47);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(mean, stdev) {\n var mu,\n sigma,\n next = NaN,\n dist = {};\n\n dist.mean = function(_) {\n if (arguments.length) {\n mu = _ || 0;\n next = NaN;\n return dist;\n } else {\n return mu;\n }\n };\n\n dist.stdev = function(_) {\n if (arguments.length) {\n sigma = _ == null ? 1 : _;\n next = NaN;\n return dist;\n } else {\n return sigma;\n }\n };\n\n dist.sample = function() {\n var x = 0, y = 0, rds, c;\n if (next === next) {\n x = next;\n next = NaN;\n return x;\n }\n do {\n x = Object(__WEBPACK_IMPORTED_MODULE_0__random__[\"a\" /* random */])() * 2 - 1;\n y = Object(__WEBPACK_IMPORTED_MODULE_0__random__[\"a\" /* random */])() * 2 - 1;\n rds = x * x + y * y;\n } while (rds === 0 || rds > 1);\n c = Math.sqrt(-2 * Math.log(rds) / rds); // Box-Muller transform\n next = mu + y * c * sigma;\n return mu + x * c * sigma;\n };\n\n dist.pdf = function(x) {\n var exp = Math.exp(Math.pow(x-mu, 2) / (-2 * Math.pow(sigma, 2)));\n return (1 / (sigma * Math.sqrt(2*Math.PI))) * exp;\n };\n\n // Approximation from West (2009)\n // Better Approximations to Cumulative Normal Functions\n dist.cdf = function(x) {\n var cd,\n z = (x - mu) / sigma,\n Z = Math.abs(z);\n if (Z > 37) {\n cd = 0;\n } else {\n var sum, exp = Math.exp(-Z*Z/2);\n if (Z < 7.07106781186547) {\n sum = 3.52624965998911e-02 * Z + 0.700383064443688;\n sum = sum * Z + 6.37396220353165;\n sum = sum * Z + 33.912866078383;\n sum = sum * Z + 112.079291497871;\n sum = sum * Z + 221.213596169931;\n sum = sum * Z + 220.206867912376;\n cd = exp * sum;\n sum = 8.83883476483184e-02 * Z + 1.75566716318264;\n sum = sum * Z + 16.064177579207;\n sum = sum * Z + 86.7807322029461;\n sum = sum * Z + 296.564248779674;\n sum = sum * Z + 637.333633378831;\n sum = sum * Z + 793.826512519948;\n sum = sum * Z + 440.413735824752;\n cd = cd / sum;\n } else {\n sum = Z + 0.65;\n sum = Z + 4 / sum;\n sum = Z + 3 / sum;\n sum = Z + 2 / sum;\n sum = Z + 1 / sum;\n cd = exp / sum / 2.506628274631;\n }\n }\n return z > 0 ? 1 - cd : cd;\n };\n\n // Approximation of Probit function using inverse error function.\n dist.icdf = function(p) {\n if (p <= 0 || p >= 1) return NaN;\n var x = 2*p - 1,\n v = (8 * (Math.PI - 3)) / (3 * Math.PI * (4-Math.PI)),\n a = (2 / (Math.PI*v)) + (Math.log(1 - Math.pow(x,2)) / 2),\n b = Math.log(1 - (x*x)) / v,\n s = (x > 0 ? 1 : -1) * Math.sqrt(Math.sqrt((a*a) - b) - a);\n return mu + sigma * Math.SQRT2 * s;\n };\n\n return dist.mean(mean).stdev(stdev);\n});\n\n\n/***/ }),\n/* 259 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(idFunc, source, input) {\n var $ = idFunc,\n data = source || [],\n add = input || [],\n rem = {},\n cnt = 0;\n\n return {\n add: function(t) { add.push(t); },\n remove: function(t) { rem[$(t)] = ++cnt; },\n size: function() { return data.length; },\n data: function(compare, resort) {\n if (cnt) {\n data = data.filter(function(t) { return !rem[$(t)]; });\n rem = {};\n cnt = 0;\n }\n if (resort && compare) {\n data.sort(compare);\n }\n if (add.length) {\n data = compare\n ? Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"F\" /* merge */])(compare, data, add.sort(compare))\n : data.concat(add);\n add = [];\n }\n return data;\n }\n }\n});\n\n/***/ }),\n/* 260 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Facet;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Subflow__ = __webpack_require__(261);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n\n\n\n\n/**\n * Facets a dataflow into a set of subflows based on a key.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(Dataflow, string): Operator} params.subflow - A function\n * that generates a subflow of operators and returns its root operator.\n * @param {function(object): *} params.key - The key field to facet by.\n */\nfunction Facet(params) {\n __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"g\" /* Transform */].call(this, {}, params);\n this._keys = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"q\" /* fastmap */])(); // cache previously calculated key values\n\n // keep track of active subflows, use as targets array for listeners\n // this allows us to limit propagation to only updated subflows\n var a = this._targets = [];\n a.active = 0;\n a.forEach = function(f) {\n for (var i=0, n=a.active; i<n; ++i) f(a[i], i, a);\n };\n}\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"u\" /* inherits */])(Facet, __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.activate = function(flow) {\n this._targets[this._targets.active++] = flow;\n};\n\nprototype.subflow = function(key, flow, pulse, parent) {\n var flows = this.value,\n sf = flows.hasOwnProperty(key) && flows[key],\n df, p;\n\n if (!sf) {\n p = parent || (p = this._group[key]) && p.tuple;\n df = pulse.dataflow;\n sf = df.add(new __WEBPACK_IMPORTED_MODULE_0__Subflow__[\"a\" /* default */](pulse.fork(pulse.NO_SOURCE), this))\n .connect(flow(df, key, p));\n flows[key] = sf;\n this.activate(sf);\n } else if (sf.value.stamp < pulse.stamp) {\n sf.init(pulse);\n this.activate(sf);\n }\n\n return sf;\n};\n\nprototype.transform = function(_, pulse) {\n var df = pulse.dataflow,\n self = this,\n key = _.key,\n flow = _.subflow,\n cache = this._keys,\n rekey = _.modified('key');\n\n function subflow(key) {\n return self.subflow(key, flow, pulse);\n }\n\n this._group = _.group || {};\n this._targets.active = 0; // reset list of active subflows\n\n pulse.visit(pulse.REM, function(t) {\n var id = Object(__WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"r\" /* tupleid */])(t),\n k = cache.get(id);\n if (k !== undefined) {\n cache.delete(id);\n subflow(k).rem(t);\n }\n });\n\n pulse.visit(pulse.ADD, function(t) {\n var k = key(t);\n cache.set(Object(__WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"r\" /* tupleid */])(t), k);\n subflow(k).add(t);\n });\n\n if (rekey || pulse.modified(key.fields)) {\n pulse.visit(pulse.MOD, function(t) {\n var id = Object(__WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"r\" /* tupleid */])(t),\n k0 = cache.get(id),\n k1 = key(t);\n if (k0 === k1) {\n subflow(k1).mod(t);\n } else {\n cache.set(id, k1);\n subflow(k0).rem(t);\n subflow(k1).add(t);\n }\n });\n } else if (pulse.changed(pulse.MOD)) {\n pulse.visit(pulse.MOD, function(t) {\n subflow(cache.get(Object(__WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"r\" /* tupleid */])(t))).mod(t);\n });\n }\n\n if (rekey) {\n pulse.visit(pulse.REFLOW, function(t) {\n var id = Object(__WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"r\" /* tupleid */])(t),\n k0 = cache.get(id),\n k1 = key(t);\n if (k0 !== k1) {\n cache.set(id, k1);\n subflow(k0).rem(t);\n subflow(k1).add(t);\n }\n });\n }\n\n if (cache.empty > df.cleanThreshold) df.runAfter(cache.clean);\n return pulse;\n};\n\n\n/***/ }),\n/* 261 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Subflow;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Provides a bridge between a parent transform and a target subflow that\n * consumes only a subset of the tuples that pass through the parent.\n * @constructor\n * @param {Pulse} pulse - A pulse to use as the value of this operator.\n * @param {Transform} parent - The parent transform (typically a Facet instance).\n * @param {Transform} target - A transform that receives the subflow of tuples.\n */\nfunction Subflow(pulse, parent) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"d\" /* Operator */].call(this, pulse);\n this.parent = parent;\n}\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(Subflow, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"d\" /* Operator */]);\n\nprototype.connect = function(target) {\n this.targets().add(target);\n return (target.source = this);\n};\n\n/**\n * Add an 'add' tuple to the subflow pulse.\n * @param {Tuple} t - The tuple being added.\n */\nprototype.add = function(t) {\n this.value.add.push(t);\n};\n\n/**\n * Add a 'rem' tuple to the subflow pulse.\n * @param {Tuple} t - The tuple being removed.\n */\nprototype.rem = function(t) {\n this.value.rem.push(t);\n};\n\n/**\n * Add a 'mod' tuple to the subflow pulse.\n * @param {Tuple} t - The tuple being modified.\n */\nprototype.mod = function(t) {\n this.value.mod.push(t);\n};\n\n/**\n * Re-initialize this operator's pulse value.\n * @param {Pulse} pulse - The pulse to copy from.\n * @see Pulse.init\n */\nprototype.init = function(pulse) {\n this.value.init(pulse, pulse.NO_SOURCE);\n};\n\n/**\n * Evaluate this operator. This method overrides the\n * default behavior to simply return the contained pulse value.\n * @return {Pulse}\n */\nprototype.evaluate = function() {\n // assert: this.value.stamp === pulse.stamp\n return this.value;\n};\n\n\n/***/ }),\n/* 262 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = fieldNames;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n\n\n// use either provided alias or accessor field name\nfunction fieldNames(fields, as) {\n if (!fields) return null;\n return fields.map(function(f, i) {\n return as[i] || Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"h\" /* accessorName */])(f);\n });\n}\n\n\n/***/ }),\n/* 263 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = WindowOp;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return WindowOps; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ValidWindowOps; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n\n\nfunction WindowOp(op, field, param, as) {\n var fn = WindowOps[op](field, param);\n return {\n init: fn.init || __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"X\" /* zero */],\n update: function(w, t) { t[as] = fn.next(w); }\n };\n}\n\nvar WindowOps = {\n row_number: function() {\n return {\n next: function(w) { return w.index + 1; }\n };\n },\n rank: function() {\n var rank;\n return {\n init: function() { rank = 1; },\n next: function(w) {\n var i = w.index,\n data = w.data;\n return (i && w.compare(data[i - 1], data[i])) ? (rank = i + 1) : rank;\n }\n };\n },\n dense_rank: function() {\n var drank;\n return {\n init: function() { drank = 1; },\n next: function(w) {\n var i = w.index,\n d = w.data;\n return (i && w.compare(d[i - 1], d[i])) ? ++drank : drank;\n }\n };\n },\n percent_rank: function() {\n var rank = WindowOps.rank(),\n next = rank.next;\n return {\n init: rank.init,\n next: function(w) {\n return (next(w) - 1) / (w.data.length - 1);\n }\n };\n },\n cume_dist: function() {\n var cume;\n return {\n init: function() { cume = 0; },\n next: function(w) {\n var i = w.index,\n d = w.data,\n c = w.compare;\n if (cume < i) {\n while (i + 1 < d.length && !c(d[i], d[i + 1])) ++i;\n cume = i;\n }\n return (1 + cume) / d.length;\n }\n };\n },\n ntile: function(field, num) {\n num = +num;\n if (!(num > 0)) Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"m\" /* error */])('ntile num must be greater than zero.');\n var cume = WindowOps.cume_dist(),\n next = cume.next;\n return {\n init: cume.init,\n next: function(w) { return Math.ceil(num * next(w)); }\n };\n },\n\n lag: function(field, offset) {\n offset = +offset || 1;\n return {\n next: function(w) {\n var i = w.index - offset;\n return i >= 0 ? field(w.data[i]) : null;\n }\n };\n },\n lead: function(field, offset) {\n offset = +offset || 1;\n return {\n next: function(w) {\n var i = w.index + offset,\n d = w.data;\n return i < d.length ? field(d[i]) : null;\n }\n };\n },\n\n first_value: function(field) {\n return {\n next: function(w) { return field(w.data[w.i0]); }\n };\n },\n last_value: function(field) {\n return {\n next: function(w) { return field(w.data[w.i1 - 1]); }\n }\n },\n nth_value: function(field, nth) {\n nth = +nth;\n if (!(nth > 0)) Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"m\" /* error */])('nth_value nth must be greater than zero.');\n return {\n next: function(w) {\n var i = w.i0 + (nth - 1);\n return i < w.i1 ? field(w.data[i]) : null;\n }\n }\n }\n};\n\nvar ValidWindowOps = Object.keys(WindowOps);\n\n\n/***/ }),\n/* 264 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = GroupItem;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Item__ = __webpack_require__(265);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\nfunction GroupItem(mark) {\n __WEBPACK_IMPORTED_MODULE_0__Item__[\"a\" /* default */].call(this, mark);\n this.items = (this.items || []);\n}\n\nObject(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(GroupItem, __WEBPACK_IMPORTED_MODULE_0__Item__[\"a\" /* default */]);\n\n\n/***/ }),\n/* 265 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Item;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Bounds__ = __webpack_require__(39);\n\n\nfunction Item(mark) {\n this.mark = mark;\n this.bounds = (this.bounds || new __WEBPACK_IMPORTED_MODULE_0__Bounds__[\"a\" /* default */]());\n}\n\n\n/***/ }),\n/* 266 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = ResourceLoader;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_canvas__ = __webpack_require__(97);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_loader__ = __webpack_require__(65);\n\n\n\nfunction ResourceLoader(customLoader) {\n this._pending = 0;\n this._loader = customLoader || Object(__WEBPACK_IMPORTED_MODULE_1_vega_loader__[\"d\" /* loader */])();\n}\n\nvar prototype = ResourceLoader.prototype;\n\nprototype.pending = function() {\n return this._pending;\n};\n\nfunction increment(loader) {\n loader._pending += 1;\n}\n\nfunction decrement(loader) {\n loader._pending -= 1;\n}\n\nprototype.sanitizeURL = function(uri) {\n var loader = this;\n increment(loader);\n\n return loader._loader.sanitize(uri, {context:'href'})\n .then(function(opt) {\n decrement(loader);\n return opt;\n })\n .catch(function() {\n decrement(loader);\n return null;\n });\n};\n\nprototype.loadImage = function(uri) {\n var loader = this,\n Image = Object(__WEBPACK_IMPORTED_MODULE_0_vega_canvas__[\"b\" /* image */])();\n increment(loader);\n\n return loader._loader\n .sanitize(uri, {context: 'image'})\n .then(function(opt) {\n var url = opt.href;\n if (!url || !Image) throw {url: url};\n\n var img = new Image();\n\n img.onload = function() {\n decrement(loader);\n img.loaded = true;\n };\n\n img.onerror = function() {\n decrement(loader);\n img.loaded = false;\n }\n\n img.src = url;\n return img;\n })\n .catch(function(e) {\n decrement(loader);\n return {loaded: false, width: 0, height: 0, src: e && e.url || ''};\n });\n};\n\nprototype.ready = function() {\n var loader = this;\n return new Promise(function(accept) {\n function poll(value) {\n if (!loader.pending()) accept(value);\n else setTimeout(function() { poll(true); }, 10);\n }\n poll(false);\n });\n};\n\n\n/***/ }),\n/* 267 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = sceneToJSON;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = sceneFromJSON;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__bound_boundMark__ = __webpack_require__(268);\n\n\nvar keys = [\n 'marktype', 'name', 'role', 'interactive', 'clip', 'items', 'zindex',\n 'x', 'y', 'width', 'height', 'align', 'baseline', // layout\n 'fill', 'fillOpacity', 'opacity', // fill\n 'stroke', 'strokeOpacity', 'strokeWidth', 'strokeCap', // stroke\n 'strokeDash', 'strokeDashOffset', // stroke dash\n 'startAngle', 'endAngle', 'innerRadius', 'outerRadius', // arc\n 'cornerRadius', 'padAngle', // arc, rect\n 'interpolate', 'tension', 'orient', 'defined', // area, line\n 'url', // image\n 'path', // path\n 'x2', 'y2', // rule\n 'size', 'shape', // symbol\n 'text', 'angle', 'theta', 'radius', 'dx', 'dy', // text\n 'font', 'fontSize', 'fontWeight', 'fontStyle', 'fontVariant' // font\n];\n\nfunction sceneToJSON(scene, indent) {\n return JSON.stringify(scene, keys, indent);\n}\n\nfunction sceneFromJSON(json) {\n var scene = (typeof json === 'string' ? JSON.parse(json) : json);\n return initialize(scene);\n}\n\nfunction initialize(scene) {\n var type = scene.marktype,\n items = scene.items,\n parent, i, n;\n\n if (items) {\n for (i=0, n=items.length; i<n; ++i) {\n parent = type ? 'mark' : 'group';\n items[i][parent] = scene;\n if (items[i].zindex) items[i][parent].zdirty = true;\n if ('group' === (type || parent)) initialize(items[i]);\n }\n }\n\n if (type) Object(__WEBPACK_IMPORTED_MODULE_0__bound_boundMark__[\"a\" /* default */])(scene);\n return scene;\n}\n\n\n/***/ }),\n/* 268 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Bounds__ = __webpack_require__(39);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__boundItem__ = __webpack_require__(269);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__marks_index__ = __webpack_require__(40);\n\n\n\n\nvar DUMMY = {mark: null};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(mark, bounds, opt) {\n var type = __WEBPACK_IMPORTED_MODULE_2__marks_index__[\"a\" /* default */][mark.marktype],\n bound = type.bound,\n items = mark.items,\n hasItems = items && items.length,\n i, n, item, b;\n\n if (type.nested) {\n if (hasItems) {\n item = items[0];\n } else {\n // no items, fake it\n DUMMY.mark = mark;\n item = DUMMY;\n }\n b = Object(__WEBPACK_IMPORTED_MODULE_1__boundItem__[\"a\" /* default */])(item, bound, opt);\n bounds = bounds && bounds.union(b) || b;\n return bounds;\n }\n\n bounds = bounds\n || mark.bounds && mark.bounds.clear()\n || new __WEBPACK_IMPORTED_MODULE_0__Bounds__[\"a\" /* default */]();\n\n if (hasItems) {\n for (i=0, n=items.length; i<n; ++i) {\n bounds.union(Object(__WEBPACK_IMPORTED_MODULE_1__boundItem__[\"a\" /* default */])(items[i], bound, opt));\n }\n }\n\n return mark.bounds = bounds;\n});\n\n\n/***/ }),\n/* 269 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Bounds__ = __webpack_require__(39);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__marks_index__ = __webpack_require__(40);\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(item, func, opt) {\n var type = __WEBPACK_IMPORTED_MODULE_1__marks_index__[\"a\" /* default */][item.mark.marktype],\n bound = func || type.bound;\n if (type.nested) item = item.mark;\n\n return bound(item.bounds || (item.bounds = new __WEBPACK_IMPORTED_MODULE_0__Bounds__[\"a\" /* default */]()), item, opt);\n});\n\n\n/***/ }),\n/* 270 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = curves;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_shape__ = __webpack_require__(271);\n\n\nvar lookup = {\n 'basis': {\n curve: __WEBPACK_IMPORTED_MODULE_0_d3_shape__[\"c\" /* curveBasis */]\n },\n 'basis-closed': {\n curve: __WEBPACK_IMPORTED_MODULE_0_d3_shape__[\"d\" /* curveBasisClosed */]\n },\n 'basis-open': {\n curve: __WEBPACK_IMPORTED_MODULE_0_d3_shape__[\"e\" /* curveBasisOpen */]\n },\n 'bundle': {\n curve: __WEBPACK_IMPORTED_MODULE_0_d3_shape__[\"f\" /* curveBundle */],\n tension: 'beta',\n value: 0.85\n },\n 'cardinal': {\n curve: __WEBPACK_IMPORTED_MODULE_0_d3_shape__[\"g\" /* curveCardinal */],\n tension: 'tension',\n value: 0\n },\n 'cardinal-open': {\n curve: __WEBPACK_IMPORTED_MODULE_0_d3_shape__[\"i\" /* curveCardinalOpen */],\n tension: 'tension',\n value: 0\n },\n 'cardinal-closed': {\n curve: __WEBPACK_IMPORTED_MODULE_0_d3_shape__[\"h\" /* curveCardinalClosed */],\n tension: 'tension',\n value: 0\n },\n 'catmull-rom': {\n curve: __WEBPACK_IMPORTED_MODULE_0_d3_shape__[\"j\" /* curveCatmullRom */],\n tension: 'alpha',\n value: 0.5\n },\n 'catmull-rom-closed': {\n curve: __WEBPACK_IMPORTED_MODULE_0_d3_shape__[\"k\" /* curveCatmullRomClosed */],\n tension: 'alpha',\n value: 0.5\n },\n 'catmull-rom-open': {\n curve: __WEBPACK_IMPORTED_MODULE_0_d3_shape__[\"l\" /* curveCatmullRomOpen */],\n tension: 'alpha',\n value: 0.5\n },\n 'linear': {\n curve: __WEBPACK_IMPORTED_MODULE_0_d3_shape__[\"m\" /* curveLinear */]\n },\n 'linear-closed': {\n curve: __WEBPACK_IMPORTED_MODULE_0_d3_shape__[\"n\" /* curveLinearClosed */]\n },\n 'monotone': {\n horizontal: __WEBPACK_IMPORTED_MODULE_0_d3_shape__[\"p\" /* curveMonotoneY */],\n vertical: __WEBPACK_IMPORTED_MODULE_0_d3_shape__[\"o\" /* curveMonotoneX */]\n },\n 'natural': {\n curve: __WEBPACK_IMPORTED_MODULE_0_d3_shape__[\"q\" /* curveNatural */]\n },\n 'step': {\n curve: __WEBPACK_IMPORTED_MODULE_0_d3_shape__[\"r\" /* curveStep */]\n },\n 'step-after': {\n curve: __WEBPACK_IMPORTED_MODULE_0_d3_shape__[\"s\" /* curveStepAfter */]\n },\n 'step-before': {\n curve: __WEBPACK_IMPORTED_MODULE_0_d3_shape__[\"t\" /* curveStepBefore */]\n }\n};\n\nfunction curves(type, orientation, tension) {\n var entry = lookup.hasOwnProperty(type) && lookup[type],\n curve = null;\n\n if (entry) {\n curve = entry.curve || entry[orientation || 'vertical'];\n if (entry.tension && tension != null) {\n curve = curve[entry.tension](tension);\n }\n }\n\n return curve;\n}\n\n\n/***/ }),\n/* 271 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_arc__ = __webpack_require__(590);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_arc__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_area__ = __webpack_require__(272);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_area__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_line__ = __webpack_require__(156);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"u\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_line__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_pie__ = __webpack_require__(592);\n/* unused harmony reexport pie */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__src_areaRadial__ = __webpack_require__(595);\n/* unused harmony reexport areaRadial */\n/* unused harmony reexport radialArea */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__src_lineRadial__ = __webpack_require__(274);\n/* unused harmony reexport lineRadial */\n/* unused harmony reexport radialLine */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__src_pointRadial__ = __webpack_require__(275);\n/* unused harmony reexport pointRadial */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__src_link_index__ = __webpack_require__(596);\n/* unused harmony reexport linkHorizontal */\n/* unused harmony reexport linkVertical */\n/* unused harmony reexport linkRadial */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__src_symbol__ = __webpack_require__(597);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"v\", function() { return __WEBPACK_IMPORTED_MODULE_8__src_symbol__[\"a\"]; });\n/* unused harmony reexport symbols */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__src_symbol_circle__ = __webpack_require__(277);\n/* unused harmony reexport symbolCircle */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__src_symbol_cross__ = __webpack_require__(278);\n/* unused harmony reexport symbolCross */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__src_symbol_diamond__ = __webpack_require__(279);\n/* unused harmony reexport symbolDiamond */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__src_symbol_square__ = __webpack_require__(281);\n/* unused harmony reexport symbolSquare */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__src_symbol_star__ = __webpack_require__(280);\n/* unused harmony reexport symbolStar */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__src_symbol_triangle__ = __webpack_require__(282);\n/* unused harmony reexport symbolTriangle */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__src_symbol_wye__ = __webpack_require__(283);\n/* unused harmony reexport symbolWye */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__src_curve_basisClosed__ = __webpack_require__(598);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return __WEBPACK_IMPORTED_MODULE_16__src_curve_basisClosed__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__src_curve_basisOpen__ = __webpack_require__(599);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return __WEBPACK_IMPORTED_MODULE_17__src_curve_basisOpen__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__src_curve_basis__ = __webpack_require__(100);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_18__src_curve_basis__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__src_curve_bundle__ = __webpack_require__(600);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return __WEBPACK_IMPORTED_MODULE_19__src_curve_bundle__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__src_curve_cardinalClosed__ = __webpack_require__(284);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return __WEBPACK_IMPORTED_MODULE_20__src_curve_cardinalClosed__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__src_curve_cardinalOpen__ = __webpack_require__(285);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return __WEBPACK_IMPORTED_MODULE_21__src_curve_cardinalOpen__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__src_curve_cardinal__ = __webpack_require__(101);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return __WEBPACK_IMPORTED_MODULE_22__src_curve_cardinal__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__src_curve_catmullRomClosed__ = __webpack_require__(601);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return __WEBPACK_IMPORTED_MODULE_23__src_curve_catmullRomClosed__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__src_curve_catmullRomOpen__ = __webpack_require__(602);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"l\", function() { return __WEBPACK_IMPORTED_MODULE_24__src_curve_catmullRomOpen__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__src_curve_catmullRom__ = __webpack_require__(158);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return __WEBPACK_IMPORTED_MODULE_25__src_curve_catmullRom__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__src_curve_linearClosed__ = __webpack_require__(603);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"n\", function() { return __WEBPACK_IMPORTED_MODULE_26__src_curve_linearClosed__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27__src_curve_linear__ = __webpack_require__(98);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"m\", function() { return __WEBPACK_IMPORTED_MODULE_27__src_curve_linear__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__src_curve_monotone__ = __webpack_require__(604);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"o\", function() { return __WEBPACK_IMPORTED_MODULE_28__src_curve_monotone__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"p\", function() { return __WEBPACK_IMPORTED_MODULE_28__src_curve_monotone__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_29__src_curve_natural__ = __webpack_require__(605);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"q\", function() { return __WEBPACK_IMPORTED_MODULE_29__src_curve_natural__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_30__src_curve_step__ = __webpack_require__(606);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"r\", function() { return __WEBPACK_IMPORTED_MODULE_30__src_curve_step__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"s\", function() { return __WEBPACK_IMPORTED_MODULE_30__src_curve_step__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"t\", function() { return __WEBPACK_IMPORTED_MODULE_30__src_curve_step__[\"c\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_31__src_stack__ = __webpack_require__(607);\n/* unused harmony reexport stack */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_32__src_offset_expand__ = __webpack_require__(608);\n/* unused harmony reexport stackOffsetExpand */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_33__src_offset_diverging__ = __webpack_require__(609);\n/* unused harmony reexport stackOffsetDiverging */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_34__src_offset_none__ = __webpack_require__(71);\n/* unused harmony reexport stackOffsetNone */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_35__src_offset_silhouette__ = __webpack_require__(610);\n/* unused harmony reexport stackOffsetSilhouette */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_36__src_offset_wiggle__ = __webpack_require__(611);\n/* unused harmony reexport stackOffsetWiggle */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_37__src_order_ascending__ = __webpack_require__(159);\n/* unused harmony reexport stackOrderAscending */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_38__src_order_descending__ = __webpack_require__(612);\n/* unused harmony reexport stackOrderDescending */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_39__src_order_insideOut__ = __webpack_require__(613);\n/* unused harmony reexport stackOrderInsideOut */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_40__src_order_none__ = __webpack_require__(72);\n/* unused harmony reexport stackOrderNone */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_41__src_order_reverse__ = __webpack_require__(614);\n/* unused harmony reexport stackOrderReverse */\n\n\n\n\n // Note: radialArea is deprecated!\n // Note: radialLine is deprecated!\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 272 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_path__ = __webpack_require__(48);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constant__ = __webpack_require__(49);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__curve_linear__ = __webpack_require__(98);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__line__ = __webpack_require__(156);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__point__ = __webpack_require__(157);\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n var x0 = __WEBPACK_IMPORTED_MODULE_4__point__[\"a\" /* x */],\n x1 = null,\n y0 = Object(__WEBPACK_IMPORTED_MODULE_1__constant__[\"a\" /* default */])(0),\n y1 = __WEBPACK_IMPORTED_MODULE_4__point__[\"b\" /* y */],\n defined = Object(__WEBPACK_IMPORTED_MODULE_1__constant__[\"a\" /* default */])(true),\n context = null,\n curve = __WEBPACK_IMPORTED_MODULE_2__curve_linear__[\"a\" /* default */],\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 = Object(__WEBPACK_IMPORTED_MODULE_0_d3_path__[\"a\" /* 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 Object(__WEBPACK_IMPORTED_MODULE_3__line__[\"a\" /* default */])().defined(defined).curve(curve).context(context);\n }\n\n area.x = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_1__constant__[\"a\" /* default */])(+_), x1 = null, area) : x0;\n };\n\n area.x0 = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_1__constant__[\"a\" /* default */])(+_), area) : x0;\n };\n\n area.x1 = function(_) {\n return arguments.length ? (x1 = _ == null ? null : typeof _ === \"function\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_1__constant__[\"a\" /* default */])(+_), area) : x1;\n };\n\n area.y = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_1__constant__[\"a\" /* default */])(+_), y1 = null, area) : y0;\n };\n\n area.y0 = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_1__constant__[\"a\" /* default */])(+_), area) : y0;\n };\n\n area.y1 = function(_) {\n return arguments.length ? (y1 = _ == null ? null : typeof _ === \"function\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_1__constant__[\"a\" /* default */])(+_), 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\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_1__constant__[\"a\" /* default */])(!!_), 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\n\n/***/ }),\n/* 273 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return curveRadialLinear; });\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = curveRadial;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__linear__ = __webpack_require__(98);\n\n\nvar curveRadialLinear = curveRadial(__WEBPACK_IMPORTED_MODULE_0__linear__[\"a\" /* default */]);\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\nfunction 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\n\n/***/ }),\n/* 274 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = lineRadial;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__curve_radial__ = __webpack_require__(273);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__line__ = __webpack_require__(156);\n\n\n\nfunction 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(Object(__WEBPACK_IMPORTED_MODULE_0__curve_radial__[\"b\" /* default */])(_)) : c()._curve;\n };\n\n return l;\n}\n\n/* unused harmony default export */ var _unused_webpack_default_export = (function() {\n return lineRadial(Object(__WEBPACK_IMPORTED_MODULE_1__line__[\"a\" /* default */])().curve(__WEBPACK_IMPORTED_MODULE_0__curve_radial__[\"a\" /* curveRadialLinear */]));\n});\n\n\n/***/ }),\n/* 275 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(x, y) {\n return [(y = +y) * Math.cos(x -= Math.PI / 2), y * Math.sin(x)];\n});\n\n\n/***/ }),\n/* 276 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return slice; });\nvar slice = Array.prototype.slice;\n\n\n/***/ }),\n/* 277 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__math__ = __webpack_require__(70);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n draw: function(context, size) {\n var r = Math.sqrt(size / __WEBPACK_IMPORTED_MODULE_0__math__[\"j\" /* pi */]);\n context.moveTo(r, 0);\n context.arc(0, 0, r, 0, __WEBPACK_IMPORTED_MODULE_0__math__[\"m\" /* tau */]);\n }\n});\n\n\n/***/ }),\n/* 278 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\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\n\n/***/ }),\n/* 279 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar tan30 = Math.sqrt(1 / 3),\n tan30_2 = tan30 * 2;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\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\n\n/***/ }),\n/* 280 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__math__ = __webpack_require__(70);\n\n\nvar ka = 0.89081309152928522810,\n kr = Math.sin(__WEBPACK_IMPORTED_MODULE_0__math__[\"j\" /* pi */] / 10) / Math.sin(7 * __WEBPACK_IMPORTED_MODULE_0__math__[\"j\" /* pi */] / 10),\n kx = Math.sin(__WEBPACK_IMPORTED_MODULE_0__math__[\"m\" /* tau */] / 10) * kr,\n ky = -Math.cos(__WEBPACK_IMPORTED_MODULE_0__math__[\"m\" /* tau */] / 10) * kr;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\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 = __WEBPACK_IMPORTED_MODULE_0__math__[\"m\" /* 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\n\n/***/ }),\n/* 281 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\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\n\n/***/ }),\n/* 282 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar sqrt3 = Math.sqrt(3);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\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\n\n/***/ }),\n/* 283 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar c = -0.5,\n s = Math.sqrt(3) / 2,\n k = 1 / Math.sqrt(12),\n a = (k / 2 + 1) * 3;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\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\n\n/***/ }),\n/* 284 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = CardinalClosed;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__noop__ = __webpack_require__(99);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__cardinal__ = __webpack_require__(101);\n\n\n\nfunction CardinalClosed(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalClosed.prototype = {\n areaStart: __WEBPACK_IMPORTED_MODULE_0__noop__[\"a\" /* default */],\n areaEnd: __WEBPACK_IMPORTED_MODULE_0__noop__[\"a\" /* default */],\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: Object(__WEBPACK_IMPORTED_MODULE_1__cardinal__[\"c\" /* 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\n/* harmony default export */ __webpack_exports__[\"b\"] = ((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\n\n/***/ }),\n/* 285 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = CardinalOpen;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__cardinal__ = __webpack_require__(101);\n\n\nfunction 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: Object(__WEBPACK_IMPORTED_MODULE_0__cardinal__[\"c\" /* 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\n/* harmony default export */ __webpack_exports__[\"b\"] = ((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\n\n/***/ }),\n/* 286 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = symbols;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__parse__ = __webpack_require__(102);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__render__ = __webpack_require__(160);\n\n\n\nvar tau = 2 * Math.PI,\n halfSqrt3 = Math.sqrt(3) / 2;\n\nvar builtins = {\n 'circle': {\n draw: function(context, size) {\n var r = Math.sqrt(size) / 2;\n context.moveTo(r, 0);\n context.arc(0, 0, r, 0, tau);\n }\n },\n 'cross': {\n draw: function(context, size) {\n var r = Math.sqrt(size) / 2,\n s = r / 2.5;\n context.moveTo(-r, -s);\n context.lineTo(-r, s);\n context.lineTo(-s, s);\n context.lineTo(-s, r);\n context.lineTo(s, r);\n context.lineTo(s, s);\n context.lineTo(r, s);\n context.lineTo(r, -s);\n context.lineTo(s, -s);\n context.lineTo(s, -r);\n context.lineTo(-s, -r);\n context.lineTo(-s, -s);\n context.closePath();\n }\n },\n 'diamond': {\n draw: function(context, size) {\n var r = Math.sqrt(size) / 2;\n context.moveTo(-r, 0);\n context.lineTo(0, -r);\n context.lineTo(r, 0);\n context.lineTo(0, r);\n context.closePath();\n }\n },\n 'square': {\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 'triangle-up': {\n draw: function(context, size) {\n var r = Math.sqrt(size) / 2,\n h = halfSqrt3 * r;\n context.moveTo(0, -h);\n context.lineTo(-r, h);\n context.lineTo(r, h);\n context.closePath();\n }\n },\n 'triangle-down': {\n draw: function(context, size) {\n var r = Math.sqrt(size) / 2,\n h = halfSqrt3 * r;\n context.moveTo(0, h);\n context.lineTo(-r, -h);\n context.lineTo(r, -h);\n context.closePath();\n }\n },\n 'triangle-right': {\n draw: function(context, size) {\n var r = Math.sqrt(size) / 2,\n h = halfSqrt3 * r;\n context.moveTo(h, 0);\n context.lineTo(-h, -r);\n context.lineTo(-h, r);\n context.closePath();\n }\n },\n 'triangle-left': {\n draw: function(context, size) {\n var r = Math.sqrt(size) / 2,\n h = halfSqrt3 * r;\n context.moveTo(-h, 0);\n context.lineTo(h, -r);\n context.lineTo(h, r);\n context.closePath();\n }\n }\n};\n\nfunction symbols(_) {\n return builtins.hasOwnProperty(_) ? builtins[_] : customSymbol(_);\n}\n\nvar custom = {};\n\nfunction customSymbol(path) {\n if (!custom.hasOwnProperty(path)) {\n var parsed = Object(__WEBPACK_IMPORTED_MODULE_0__parse__[\"a\" /* default */])(path);\n custom[path] = {\n draw: function(context, size) {\n Object(__WEBPACK_IMPORTED_MODULE_1__render__[\"a\" /* default */])(context, parsed, 0, 0, Math.sqrt(size) / 2);\n }\n };\n }\n return custom[path];\n}\n\n\n/***/ }),\n/* 287 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_path__ = __webpack_require__(48);\n\n\nfunction rectangleX(d) {\n return d.x;\n}\n\nfunction rectangleY(d) {\n return d.y;\n}\n\nfunction rectangleWidth(d) {\n return d.width;\n}\n\nfunction rectangleHeight(d) {\n return d.height;\n}\n\nfunction constant(_) {\n return function() { return _; };\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n var x = rectangleX,\n y = rectangleY,\n width = rectangleWidth,\n height = rectangleHeight,\n cornerRadius = constant(0),\n context = null;\n\n function rectangle(_, x0, y0) {\n var buffer,\n x1 = x0 != null ? x0 : +x.call(this, _),\n y1 = y0 != null ? y0 : +y.call(this, _),\n w = +width.call(this, _),\n h = +height.call(this, _),\n cr = +cornerRadius.call(this, _);\n\n if (!context) context = buffer = Object(__WEBPACK_IMPORTED_MODULE_0_d3_path__[\"a\" /* path */])();\n\n if (cr <= 0) {\n context.rect(x1, y1, w, h);\n } else {\n var x2 = x1 + w,\n y2 = y1 + h;\n context.moveTo(x1 + cr, y1);\n context.lineTo(x2 - cr, y1);\n context.quadraticCurveTo(x2, y1, x2, y1 + cr);\n context.lineTo(x2, y2 - cr);\n context.quadraticCurveTo(x2, y2, x2 - cr, y2);\n context.lineTo(x1 + cr, y2);\n context.quadraticCurveTo(x1, y2, x1, y2 - cr);\n context.lineTo(x1, y1 + cr);\n context.quadraticCurveTo(x1, y1, x1 + cr, y1);\n context.closePath();\n }\n\n if (buffer) {\n context = null;\n return buffer + '' || null;\n }\n }\n\n rectangle.x = function(_) {\n if (arguments.length) {\n x = typeof _ === 'function' ? _ : constant(+_);\n return rectangle;\n } else {\n return x;\n }\n };\n\n rectangle.y = function(_) {\n if (arguments.length) {\n y = typeof _ === 'function' ? _ : constant(+_);\n return rectangle;\n } else {\n return y;\n }\n };\n\n rectangle.width = function(_) {\n if (arguments.length) {\n width = typeof _ === 'function' ? _ : constant(+_);\n return rectangle;\n } else {\n return width;\n }\n };\n\n rectangle.height = function(_) {\n if (arguments.length) {\n height = typeof _ === 'function' ? _ : constant(+_);\n return rectangle;\n } else {\n return height;\n }\n };\n\n rectangle.cornerRadius = function(_) {\n if (arguments.length) {\n cornerRadius = typeof _ === 'function' ? _ : constant(+_);\n return rectangle;\n } else {\n return cornerRadius;\n }\n };\n\n rectangle.context = function(_) {\n if (arguments.length) {\n context = _ == null ? null : _;\n return rectangle;\n } else {\n return context;\n }\n };\n\n return rectangle;\n});\n\n\n/***/ }),\n/* 288 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_path__ = __webpack_require__(48);\n\n\nvar pi = Math.PI;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n var x,\n y,\n size,\n defined,\n context = null,\n ready, x1, y1, r1;\n\n function point(x2, y2, w2) {\n var r2 = w2 / 2;\n\n if (ready) {\n var ux = y1 - y2,\n uy = x2 - x1;\n\n if (ux || uy) {\n // get normal vector\n var ud = Math.sqrt(ux * ux + uy * uy),\n rx = (ux /= ud) * r1,\n ry = (uy /= ud) * r1,\n t = Math.atan2(uy, ux);\n\n // draw segment\n context.moveTo(x1 - rx, y1 - ry);\n context.lineTo(x2 - ux * r2, y2 - uy * r2);\n context.arc(x2, y2, r2, t - pi, t);\n context.lineTo(x1 + rx, y1 + ry);\n context.arc(x1, y1, r1, t, t + pi);\n } else {\n context.arc(x2, y2, r2, 0, 2*pi);\n }\n context.closePath();\n } else {\n ready = 1;\n }\n x1 = x2;\n y1 = y2;\n r1 = r2;\n }\n\n function trail(data) {\n var i,\n n = data.length,\n d,\n defined0 = false,\n buffer;\n\n if (context == null) context = buffer = Object(__WEBPACK_IMPORTED_MODULE_0_d3_path__[\"a\" /* path */])();\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) ready = 0;\n }\n if (defined0) point(+x(d, i, data), +y(d, i, data), +size(d, i, data));\n }\n\n if (buffer) {\n context = null;\n return buffer + '' || null;\n }\n }\n\n trail.x = function(_) {\n if (arguments.length) {\n x = _;\n return trail;\n } else {\n return x;\n }\n };\n\n trail.y = function(_) {\n if (arguments.length) {\n y = _;\n return trail;\n } else {\n return y;\n }\n };\n\n trail.size = function(_) {\n if (arguments.length) {\n size = _;\n return trail;\n } else {\n return size;\n }\n };\n\n trail.defined = function(_) {\n if (arguments.length) {\n defined = _;\n return trail;\n } else {\n return defined;\n }\n };\n\n trail.context = function(_) {\n if (arguments.length) {\n if (_ == null) {\n context = null;\n } else {\n context = _;\n }\n return trail;\n } else {\n return context;\n }\n };\n\n return trail;\n});\n\n\n/***/ }),\n/* 289 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__gradient__ = __webpack_require__(616);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(context, item, value) {\n return (value.id) ?\n Object(__WEBPACK_IMPORTED_MODULE_0__gradient__[\"a\" /* default */])(context, value, item.bounds) :\n value;\n});\n\n\n/***/ }),\n/* 290 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = CanvasHandler;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Handler__ = __webpack_require__(166);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__marks_index__ = __webpack_require__(40);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_events__ = __webpack_require__(291);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_point__ = __webpack_require__(167);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_dom__ = __webpack_require__(51);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_vega_util__ = __webpack_require__(0);\n\n\n\n\n\n\n\nfunction CanvasHandler(loader, tooltip) {\n __WEBPACK_IMPORTED_MODULE_0__Handler__[\"a\" /* default */].call(this, loader, tooltip);\n this._down = null;\n this._touch = null;\n this._first = true;\n}\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_5_vega_util__[\"u\" /* inherits */])(CanvasHandler, __WEBPACK_IMPORTED_MODULE_0__Handler__[\"a\" /* default */]);\n\nprototype.initialize = function(el, origin, obj) {\n // add event listeners\n var canvas = this._canvas = el && Object(__WEBPACK_IMPORTED_MODULE_4__util_dom__[\"e\" /* domFind */])(el, 'canvas');\n if (canvas) {\n var that = this;\n this.events.forEach(function(type) {\n canvas.addEventListener(type, function(evt) {\n if (prototype[type]) {\n prototype[type].call(that, evt);\n } else {\n that.fire(type, evt);\n }\n });\n });\n }\n\n return __WEBPACK_IMPORTED_MODULE_0__Handler__[\"a\" /* default */].prototype.initialize.call(this, el, origin, obj);\n};\n\n// return the backing canvas instance\nprototype.canvas = function() {\n return this._canvas;\n};\n\n// retrieve the current canvas context\nprototype.context = function() {\n return this._canvas.getContext('2d');\n};\n\n// supported events\nprototype.events = __WEBPACK_IMPORTED_MODULE_2__util_events__[\"a\" /* Events */];\n\n// to keep old versions of firefox happy\nprototype.DOMMouseScroll = function(evt) {\n this.fire('mousewheel', evt);\n};\n\nfunction move(moveEvent, overEvent, outEvent) {\n return function(evt) {\n var a = this._active,\n p = this.pickEvent(evt);\n\n if (p === a) {\n // active item and picked item are the same\n this.fire(moveEvent, evt); // fire move\n } else {\n // active item and picked item are different\n if (!a || !a.exit) {\n // fire out for prior active item\n // suppress if active item was removed from scene\n this.fire(outEvent, evt);\n }\n this._active = p; // set new active item\n this.fire(overEvent, evt); // fire over for new active item\n this.fire(moveEvent, evt); // fire move for new active item\n }\n };\n}\n\nfunction inactive(type) {\n return function(evt) {\n this.fire(type, evt);\n this._active = null;\n };\n}\n\nprototype.mousemove = move('mousemove', 'mouseover', 'mouseout');\nprototype.dragover = move('dragover', 'dragenter', 'dragleave');\n\nprototype.mouseout = inactive('mouseout');\nprototype.dragleave = inactive('dragleave');\n\nprototype.mousedown = function(evt) {\n this._down = this._active;\n this.fire('mousedown', evt);\n};\n\nprototype.click = function(evt) {\n if (this._down === this._active) {\n this.fire('click', evt);\n this._down = null;\n }\n};\n\nprototype.touchstart = function(evt) {\n this._touch = this.pickEvent(evt.changedTouches[0]);\n\n if (this._first) {\n this._active = this._touch;\n this._first = false;\n }\n\n this.fire('touchstart', evt, true);\n};\n\nprototype.touchmove = function(evt) {\n this.fire('touchmove', evt, true);\n};\n\nprototype.touchend = function(evt) {\n this.fire('touchend', evt, true);\n this._touch = null;\n};\n\n// fire an event\nprototype.fire = function(type, evt, touch) {\n var a = touch ? this._touch : this._active,\n h = this._handlers[type], i, len;\n\n // set event type relative to scenegraph items\n evt.vegaType = type;\n\n // handle hyperlinks and tooltips first\n if (type === __WEBPACK_IMPORTED_MODULE_2__util_events__[\"b\" /* HrefEvent */] && a && a.href) {\n this.handleHref(evt, a, a.href);\n } else if (type === __WEBPACK_IMPORTED_MODULE_2__util_events__[\"d\" /* TooltipShowEvent */] || type === __WEBPACK_IMPORTED_MODULE_2__util_events__[\"c\" /* TooltipHideEvent */]) {\n this.handleTooltip(evt, a, type !== __WEBPACK_IMPORTED_MODULE_2__util_events__[\"c\" /* TooltipHideEvent */]);\n }\n\n // invoke all registered handlers\n if (h) {\n for (i=0, len=h.length; i<len; ++i) {\n h[i].handler.call(this._obj, evt, a);\n }\n }\n};\n\n// add an event handler\nprototype.on = function(type, handler) {\n var name = this.eventName(type),\n h = this._handlers,\n i = this._handlerIndex(h[name], type, handler);\n\n if (i < 0) {\n (h[name] || (h[name] = [])).push({\n type: type,\n handler: handler\n });\n }\n\n return this;\n};\n\n// remove an event handler\nprototype.off = function(type, handler) {\n var name = this.eventName(type),\n h = this._handlers[name],\n i = this._handlerIndex(h, type, handler);\n\n if (i >= 0) {\n h.splice(i, 1);\n }\n\n return this;\n};\n\nprototype.pickEvent = function(evt) {\n var p = Object(__WEBPACK_IMPORTED_MODULE_3__util_point__[\"a\" /* default */])(evt, this._canvas),\n o = this._origin;\n return this.pick(this._scene, p[0], p[1], p[0] - o[0], p[1] - o[1]);\n};\n\n// find the scenegraph item at the current mouse position\n// x, y -- the absolute x, y mouse coordinates on the canvas element\n// gx, gy -- the relative coordinates within the current group\nprototype.pick = function(scene, x, y, gx, gy) {\n var g = this.context(),\n mark = __WEBPACK_IMPORTED_MODULE_1__marks_index__[\"a\" /* default */][scene.marktype];\n return mark.pick.call(this, g, scene, x, y, gx, gy);\n};\n\n\n/***/ }),\n/* 291 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Events; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return TooltipShowEvent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return TooltipHideEvent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return HrefEvent; });\nvar Events = [\n 'keydown',\n 'keypress',\n 'keyup',\n 'dragenter',\n 'dragleave',\n 'dragover',\n 'mousedown',\n 'mouseup',\n 'mousemove',\n 'mouseout',\n 'mouseover',\n 'click',\n 'dblclick',\n 'wheel',\n 'mousewheel',\n 'touchstart',\n 'touchmove',\n 'touchend'\n];\n\nvar TooltipShowEvent = 'mousemove';\n\nvar TooltipHideEvent = 'mouseout';\n\nvar HrefEvent = 'click';\n\n\n/***/ }),\n/* 292 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = CanvasRenderer;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Renderer__ = __webpack_require__(108);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Bounds__ = __webpack_require__(39);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__marks_index__ = __webpack_require__(40);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_dom__ = __webpack_require__(51);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_canvas_clip__ = __webpack_require__(629);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__util_canvas_resize__ = __webpack_require__(630);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_vega_canvas__ = __webpack_require__(97);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_vega_util__ = __webpack_require__(0);\n\n\n\n\n\n\n\n\n\n\nfunction CanvasRenderer(loader) {\n __WEBPACK_IMPORTED_MODULE_0__Renderer__[\"a\" /* default */].call(this, loader);\n this._redraw = false;\n this._dirty = new __WEBPACK_IMPORTED_MODULE_1__Bounds__[\"a\" /* default */]();\n}\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_7_vega_util__[\"u\" /* inherits */])(CanvasRenderer, __WEBPACK_IMPORTED_MODULE_0__Renderer__[\"a\" /* default */]),\n base = __WEBPACK_IMPORTED_MODULE_0__Renderer__[\"a\" /* default */].prototype,\n tempBounds = new __WEBPACK_IMPORTED_MODULE_1__Bounds__[\"a\" /* default */]();\n\nprototype.initialize = function(el, width, height, origin, scaleFactor) {\n this._canvas = Object(__WEBPACK_IMPORTED_MODULE_6_vega_canvas__[\"a\" /* canvas */])(1, 1); // instantiate a small canvas\n if (el) {\n Object(__WEBPACK_IMPORTED_MODULE_3__util_dom__[\"c\" /* domClear */])(el, 0).appendChild(this._canvas);\n this._canvas.setAttribute('class', 'marks');\n }\n // this method will invoke resize to size the canvas appropriately\n return base.initialize.call(this, el, width, height, origin, scaleFactor);\n};\n\nprototype.resize = function(width, height, origin, scaleFactor) {\n base.resize.call(this, width, height, origin, scaleFactor);\n Object(__WEBPACK_IMPORTED_MODULE_5__util_canvas_resize__[\"a\" /* default */])(this._canvas, this._width, this._height, this._origin, this._scale);\n this._redraw = true;\n return this;\n};\n\nprototype.canvas = function() {\n return this._canvas;\n};\n\nprototype.context = function() {\n return this._canvas ? this._canvas.getContext('2d') : null;\n};\n\nprototype.dirty = function(item) {\n var b = translate(item.bounds, item.mark.group);\n this._dirty.union(b);\n};\n\nfunction clipToBounds(g, b, origin) {\n // expand bounds by 1 pixel, then round to pixel boundaries\n b.expand(1).round();\n\n // to avoid artifacts translate if origin has fractional pixels\n b.translate(-(origin[0] % 1), -(origin[1] % 1));\n\n // set clipping path\n g.beginPath();\n g.rect(b.x1, b.y1, b.width(), b.height());\n g.clip();\n\n return b;\n}\n\nfunction translate(bounds, group) {\n if (group == null) return bounds;\n var b = tempBounds.clear().union(bounds);\n for (; group != null; group = group.mark.group) {\n b.translate(group.x || 0, group.y || 0);\n }\n return b;\n}\n\nprototype._render = function(scene) {\n var g = this.context(),\n o = this._origin,\n w = this._width,\n h = this._height,\n b = this._dirty;\n\n // setup\n g.save();\n if (this._redraw || b.empty()) {\n this._redraw = false;\n b = null;\n } else {\n b = clipToBounds(g, b, o);\n }\n\n this.clear(-o[0], -o[1], w, h);\n\n // render\n this.draw(g, scene, b);\n\n // takedown\n g.restore();\n\n this._dirty.clear();\n return this;\n};\n\nprototype.draw = function(ctx, scene, bounds) {\n var mark = __WEBPACK_IMPORTED_MODULE_2__marks_index__[\"a\" /* default */][scene.marktype];\n if (scene.clip) Object(__WEBPACK_IMPORTED_MODULE_4__util_canvas_clip__[\"a\" /* default */])(ctx, scene);\n mark.draw.call(this, ctx, scene, bounds);\n if (scene.clip) ctx.restore();\n};\n\nprototype.clear = function(x, y, w, h) {\n var g = this.context();\n g.clearRect(x, y, w, h);\n if (this._bgcolor != null) {\n g.fillStyle = this._bgcolor;\n g.fillRect(x, y, w, h);\n }\n};\n\n\n/***/ }),\n/* 293 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = SVGHandler;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Handler__ = __webpack_require__(166);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_dom__ = __webpack_require__(51);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_events__ = __webpack_require__(291);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vega_util__ = __webpack_require__(0);\n\n\n\n\n\nfunction SVGHandler(loader, tooltip) {\n __WEBPACK_IMPORTED_MODULE_0__Handler__[\"a\" /* default */].call(this, loader, tooltip);\n var h = this;\n h._hrefHandler = listener(h, function(evt, item) {\n if (item && item.href) h.handleHref(evt, item, item.href);\n });\n h._tooltipHandler = listener(h, function(evt, item) {\n h.handleTooltip(evt, item, evt.type !== __WEBPACK_IMPORTED_MODULE_2__util_events__[\"c\" /* TooltipHideEvent */]);\n });\n}\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"u\" /* inherits */])(SVGHandler, __WEBPACK_IMPORTED_MODULE_0__Handler__[\"a\" /* default */]);\n\nprototype.initialize = function(el, origin, obj) {\n var svg = this._svg;\n if (svg) {\n svg.removeEventListener(__WEBPACK_IMPORTED_MODULE_2__util_events__[\"b\" /* HrefEvent */], this._hrefHandler);\n svg.removeEventListener(__WEBPACK_IMPORTED_MODULE_2__util_events__[\"d\" /* TooltipShowEvent */], this._tooltipHandler);\n svg.removeEventListener(__WEBPACK_IMPORTED_MODULE_2__util_events__[\"c\" /* TooltipHideEvent */], this._tooltipHandler);\n }\n this._svg = svg = el && Object(__WEBPACK_IMPORTED_MODULE_1__util_dom__[\"e\" /* domFind */])(el, 'svg');\n if (svg) {\n svg.addEventListener(__WEBPACK_IMPORTED_MODULE_2__util_events__[\"b\" /* HrefEvent */], this._hrefHandler);\n svg.addEventListener(__WEBPACK_IMPORTED_MODULE_2__util_events__[\"d\" /* TooltipShowEvent */], this._tooltipHandler);\n svg.addEventListener(__WEBPACK_IMPORTED_MODULE_2__util_events__[\"c\" /* TooltipHideEvent */], this._tooltipHandler);\n }\n return __WEBPACK_IMPORTED_MODULE_0__Handler__[\"a\" /* default */].prototype.initialize.call(this, el, origin, obj);\n};\n\nprototype.canvas = function() {\n return this._svg;\n};\n\n// wrap an event listener for the SVG DOM\nfunction listener(context, handler) {\n return function(evt) {\n var target = evt.target,\n item = target.__data__;\n evt.vegaType = evt.type;\n item = Array.isArray(item) ? item[0] : item;\n handler.call(context._obj, evt, item);\n };\n}\n\n// add an event handler\nprototype.on = function(type, handler) {\n var name = this.eventName(type),\n h = this._handlers,\n i = this._handlerIndex(h[name], type, handler);\n\n if (i < 0) {\n var x = {\n type: type,\n handler: handler,\n listener: listener(this, handler)\n };\n\n (h[name] || (h[name] = [])).push(x);\n if (this._svg) {\n this._svg.addEventListener(name, x.listener);\n }\n }\n\n return this;\n};\n\n// remove an event handler\nprototype.off = function(type, handler) {\n var name = this.eventName(type),\n h = this._handlers[name],\n i = this._handlerIndex(h, type, handler);\n\n if (i >= 0) {\n if (this._svg) {\n this._svg.removeEventListener(name, h[i].listener);\n }\n h.splice(i, 1);\n }\n\n return this;\n};\n\n\n/***/ }),\n/* 294 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = SVGRenderer;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Renderer__ = __webpack_require__(108);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__marks_index__ = __webpack_require__(40);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_dom__ = __webpack_require__(51);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_tags__ = __webpack_require__(168);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_text__ = __webpack_require__(107);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__util_visit__ = __webpack_require__(37);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__util_svg_clip__ = __webpack_require__(106);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__util_svg_metadata__ = __webpack_require__(295);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__util_svg_styles__ = __webpack_require__(296);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_vega_util__ = __webpack_require__(0);\n\n\n\n\n\n\n\n\n\n\n\nvar ns = __WEBPACK_IMPORTED_MODULE_7__util_svg_metadata__[\"a\" /* default */].xmlns;\n\nfunction SVGRenderer(loader) {\n __WEBPACK_IMPORTED_MODULE_0__Renderer__[\"a\" /* default */].call(this, loader);\n this._dirtyID = 1;\n this._dirty = [];\n this._svg = null;\n this._root = null;\n this._defs = null;\n}\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_9_vega_util__[\"u\" /* inherits */])(SVGRenderer, __WEBPACK_IMPORTED_MODULE_0__Renderer__[\"a\" /* default */]);\nvar base = __WEBPACK_IMPORTED_MODULE_0__Renderer__[\"a\" /* default */].prototype;\n\nprototype.initialize = function(el, width, height, padding) {\n if (el) {\n this._svg = Object(__WEBPACK_IMPORTED_MODULE_2__util_dom__[\"b\" /* domChild */])(el, 0, 'svg', ns);\n this._svg.setAttribute('class', 'marks');\n Object(__WEBPACK_IMPORTED_MODULE_2__util_dom__[\"c\" /* domClear */])(el, 1);\n // set the svg root group\n this._root = Object(__WEBPACK_IMPORTED_MODULE_2__util_dom__[\"b\" /* domChild */])(this._svg, 0, 'g', ns);\n Object(__WEBPACK_IMPORTED_MODULE_2__util_dom__[\"c\" /* domClear */])(this._svg, 1);\n }\n\n // create the svg definitions cache\n this._defs = {\n gradient: {},\n clipping: {}\n };\n\n // set background color if defined\n this.background(this._bgcolor);\n\n return base.initialize.call(this, el, width, height, padding);\n};\n\nprototype.background = function(bgcolor) {\n if (arguments.length && this._svg) {\n this._svg.style.setProperty('background-color', bgcolor);\n }\n return base.background.apply(this, arguments);\n};\n\nprototype.resize = function(width, height, origin, scaleFactor) {\n base.resize.call(this, width, height, origin, scaleFactor);\n\n if (this._svg) {\n this._svg.setAttribute('width', this._width * this._scale);\n this._svg.setAttribute('height', this._height * this._scale);\n this._svg.setAttribute('viewBox', '0 0 ' + this._width + ' ' + this._height);\n this._root.setAttribute('transform', 'translate(' + this._origin + ')');\n }\n\n this._dirty = [];\n\n return this;\n};\n\nprototype.canvas = function() {\n return this._svg;\n};\n\nprototype.svg = function() {\n if (!this._svg) return null;\n\n var attr = {\n class: 'marks',\n width: this._width * this._scale,\n height: this._height * this._scale,\n viewBox: '0 0 ' + this._width + ' ' + this._height\n };\n for (var key in __WEBPACK_IMPORTED_MODULE_7__util_svg_metadata__[\"a\" /* default */]) {\n attr[key] = __WEBPACK_IMPORTED_MODULE_7__util_svg_metadata__[\"a\" /* default */][key];\n }\n\n var bg = !this._bgcolor ? ''\n : (Object(__WEBPACK_IMPORTED_MODULE_3__util_tags__[\"b\" /* openTag */])('rect', {\n width: this._width,\n height: this._height,\n style: 'fill: ' + this._bgcolor + ';'\n }) + Object(__WEBPACK_IMPORTED_MODULE_3__util_tags__[\"a\" /* closeTag */])('rect'));\n\n return Object(__WEBPACK_IMPORTED_MODULE_3__util_tags__[\"b\" /* openTag */])('svg', attr) + bg + this._svg.innerHTML + Object(__WEBPACK_IMPORTED_MODULE_3__util_tags__[\"a\" /* closeTag */])('svg');\n};\n\n\n// -- Render entry point --\n\nprototype._render = function(scene) {\n // perform spot updates and re-render markup\n if (this._dirtyCheck()) {\n if (this._dirtyAll) this._resetDefs();\n this.draw(this._root, scene);\n Object(__WEBPACK_IMPORTED_MODULE_2__util_dom__[\"c\" /* domClear */])(this._root, 1);\n }\n\n this.updateDefs();\n\n this._dirty = [];\n ++this._dirtyID;\n\n return this;\n};\n\n// -- Manage SVG definitions ('defs') block --\n\nprototype.updateDefs = function() {\n var svg = this._svg,\n defs = this._defs,\n el = defs.el,\n index = 0, id;\n\n for (id in defs.gradient) {\n if (!el) defs.el = (el = Object(__WEBPACK_IMPORTED_MODULE_2__util_dom__[\"b\" /* domChild */])(svg, 0, 'defs', ns));\n updateGradient(el, defs.gradient[id], index++);\n }\n\n for (id in defs.clipping) {\n if (!el) defs.el = (el = Object(__WEBPACK_IMPORTED_MODULE_2__util_dom__[\"b\" /* domChild */])(svg, 0, 'defs', ns));\n updateClipping(el, defs.clipping[id], index++);\n }\n\n // clean-up\n if (el) {\n if (index === 0) {\n svg.removeChild(el);\n defs.el = null;\n } else {\n Object(__WEBPACK_IMPORTED_MODULE_2__util_dom__[\"c\" /* domClear */])(el, index);\n }\n }\n};\n\nfunction updateGradient(el, grad, index) {\n var i, n, stop;\n\n el = Object(__WEBPACK_IMPORTED_MODULE_2__util_dom__[\"b\" /* domChild */])(el, index, 'linearGradient', ns);\n el.setAttribute('id', grad.id);\n el.setAttribute('x1', grad.x1);\n el.setAttribute('x2', grad.x2);\n el.setAttribute('y1', grad.y1);\n el.setAttribute('y2', grad.y2);\n\n for (i=0, n=grad.stops.length; i<n; ++i) {\n stop = Object(__WEBPACK_IMPORTED_MODULE_2__util_dom__[\"b\" /* domChild */])(el, i, 'stop', ns);\n stop.setAttribute('offset', grad.stops[i].offset);\n stop.setAttribute('stop-color', grad.stops[i].color);\n }\n Object(__WEBPACK_IMPORTED_MODULE_2__util_dom__[\"c\" /* domClear */])(el, i);\n}\n\nfunction updateClipping(el, clip, index) {\n var mask;\n\n el = Object(__WEBPACK_IMPORTED_MODULE_2__util_dom__[\"b\" /* domChild */])(el, index, 'clipPath', ns);\n el.setAttribute('id', clip.id);\n\n if (clip.path) {\n mask = Object(__WEBPACK_IMPORTED_MODULE_2__util_dom__[\"b\" /* domChild */])(el, 0, 'path', ns);\n mask.setAttribute('d', clip.path);\n } else {\n mask = Object(__WEBPACK_IMPORTED_MODULE_2__util_dom__[\"b\" /* domChild */])(el, 0, 'rect', ns);\n mask.setAttribute('x', 0);\n mask.setAttribute('y', 0);\n mask.setAttribute('width', clip.width);\n mask.setAttribute('height', clip.height);\n }\n}\n\nprototype._resetDefs = function() {\n var def = this._defs;\n def.gradient = {};\n def.clipping = {};\n};\n\n\n// -- Manage rendering of items marked as dirty --\n\nprototype.dirty = function(item) {\n if (item.dirty !== this._dirtyID) {\n item.dirty = this._dirtyID;\n this._dirty.push(item);\n }\n};\n\nprototype.isDirty = function(item) {\n return this._dirtyAll\n || !item._svg\n || item.dirty === this._dirtyID;\n};\n\nprototype._dirtyCheck = function() {\n this._dirtyAll = true;\n var items = this._dirty;\n if (!items.length) return true;\n\n var id = ++this._dirtyID,\n item, mark, type, mdef, i, n, o;\n\n for (i=0, n=items.length; i<n; ++i) {\n item = items[i];\n mark = item.mark;\n\n if (mark.marktype !== type) {\n // memoize mark instance lookup\n type = mark.marktype;\n mdef = __WEBPACK_IMPORTED_MODULE_1__marks_index__[\"a\" /* default */][type];\n }\n\n if (mark.zdirty && mark.dirty !== id) {\n this._dirtyAll = false;\n dirtyParents(item, id);\n mark.items.forEach(function(i) { i.dirty = id; });\n }\n if (mark.zdirty) continue; // handle in standard drawing pass\n\n if (item.exit) { // EXIT\n if (mdef.nested && mark.items.length) {\n // if nested mark with remaining points, update instead\n o = mark.items[0];\n if (o._svg) this._update(mdef, o._svg, o);\n } else if (item._svg) {\n // otherwise remove from DOM\n o = item._svg.parentNode;\n if (o) o.removeChild(item._svg);\n }\n item._svg = null;\n continue;\n }\n\n item = (mdef.nested ? mark.items[0] : item);\n if (item._update === id) continue; // already visited\n\n if (!item._svg || !item._svg.ownerSVGElement) {\n // ENTER\n this._dirtyAll = false;\n dirtyParents(item, id);\n } else {\n // IN-PLACE UPDATE\n this._update(mdef, item._svg, item);\n }\n item._update = id;\n }\n return !this._dirtyAll;\n};\n\nfunction dirtyParents(item, id) {\n for (; item && item.dirty !== id; item=item.mark.group) {\n item.dirty = id;\n if (item.mark && item.mark.dirty !== id) {\n item.mark.dirty = id;\n } else return;\n }\n}\n\n\n// -- Construct & maintain scenegraph to SVG mapping ---\n\n// Draw a mark container.\nprototype.draw = function(el, scene, prev) {\n if (!this.isDirty(scene)) return scene._svg;\n\n var renderer = this,\n svg = this._svg,\n mdef = __WEBPACK_IMPORTED_MODULE_1__marks_index__[\"a\" /* default */][scene.marktype],\n events = scene.interactive === false ? 'none' : null,\n isGroup = mdef.tag === 'g',\n sibling = null,\n i = 0,\n parent;\n\n parent = bind(scene, el, prev, 'g', svg);\n parent.setAttribute('class', Object(__WEBPACK_IMPORTED_MODULE_2__util_dom__[\"a\" /* cssClass */])(scene));\n if (!isGroup) {\n parent.style.setProperty('pointer-events', events);\n }\n if (scene.clip) {\n parent.setAttribute('clip-path', Object(__WEBPACK_IMPORTED_MODULE_6__util_svg_clip__[\"a\" /* default */])(renderer, scene, scene.group));\n } else {\n parent.removeAttribute('clip-path');\n }\n\n function process(item) {\n var dirty = renderer.isDirty(item),\n node = bind(item, parent, sibling, mdef.tag, svg);\n\n if (dirty) {\n renderer._update(mdef, node, item);\n if (isGroup) recurse(renderer, node, item);\n }\n\n sibling = node;\n ++i;\n }\n\n if (mdef.nested) {\n if (scene.items.length) process(scene.items[0]);\n } else {\n Object(__WEBPACK_IMPORTED_MODULE_5__util_visit__[\"b\" /* visit */])(scene, process);\n }\n\n Object(__WEBPACK_IMPORTED_MODULE_2__util_dom__[\"c\" /* domClear */])(parent, i);\n return parent;\n};\n\n// Recursively process group contents.\nfunction recurse(renderer, el, group) {\n el = el.lastChild;\n var prev, idx = 0;\n\n Object(__WEBPACK_IMPORTED_MODULE_5__util_visit__[\"b\" /* visit */])(group, function(item) {\n prev = renderer.draw(el, item, prev);\n ++idx;\n });\n\n // remove any extraneous DOM elements\n Object(__WEBPACK_IMPORTED_MODULE_2__util_dom__[\"c\" /* domClear */])(el, 1 + idx);\n}\n\n// Bind a scenegraph item to an SVG DOM element.\n// Create new SVG elements as needed.\nfunction bind(item, el, sibling, tag, svg) {\n var node = item._svg, doc;\n\n // create a new dom node if needed\n if (!node) {\n doc = el.ownerDocument;\n node = Object(__WEBPACK_IMPORTED_MODULE_2__util_dom__[\"d\" /* domCreate */])(doc, tag, ns);\n item._svg = node;\n\n if (item.mark) {\n node.__data__ = item;\n node.__values__ = {fill: 'default'};\n\n // if group, create background and foreground elements\n if (tag === 'g') {\n var bg = Object(__WEBPACK_IMPORTED_MODULE_2__util_dom__[\"d\" /* domCreate */])(doc, 'path', ns);\n bg.setAttribute('class', 'background');\n node.appendChild(bg);\n bg.__data__ = item;\n\n var fg = Object(__WEBPACK_IMPORTED_MODULE_2__util_dom__[\"d\" /* domCreate */])(doc, 'g', ns);\n node.appendChild(fg);\n fg.__data__ = item;\n }\n }\n }\n\n // (re-)insert if (a) not contained in SVG or (b) sibling order has changed\n if (node.ownerSVGElement !== svg || hasSiblings(item) && node.previousSibling !== sibling) {\n el.insertBefore(node, sibling ? sibling.nextSibling : el.firstChild);\n }\n\n return node;\n}\n\nfunction hasSiblings(item) {\n var parent = item.mark || item.group;\n return parent && parent.items.length > 1;\n}\n\n\n// -- Set attributes & styles on SVG elements ---\n\nvar element = null, // temp var for current SVG element\n values = null; // temp var for current values hash\n\n// Extra configuration for certain mark types\nvar mark_extras = {\n group: function(mdef, el, item) {\n values = el.__values__; // use parent's values hash\n\n element = el.childNodes[1];\n mdef.foreground(emit, item, this);\n\n element = el.childNodes[0];\n mdef.background(emit, item, this);\n\n var value = item.mark.interactive === false ? 'none' : null;\n if (value !== values.events) {\n element.style.setProperty('pointer-events', value);\n values.events = value;\n }\n },\n text: function(mdef, el, item) {\n var value;\n\n value = Object(__WEBPACK_IMPORTED_MODULE_4__util_text__[\"f\" /* textValue */])(item);\n if (value !== values.text) {\n el.textContent = value;\n values.text = value;\n }\n\n setStyle(el, 'font-family', Object(__WEBPACK_IMPORTED_MODULE_4__util_text__[\"b\" /* fontFamily */])(item));\n setStyle(el, 'font-size', Object(__WEBPACK_IMPORTED_MODULE_4__util_text__[\"c\" /* fontSize */])(item) + 'px');\n setStyle(el, 'font-style', item.fontStyle);\n setStyle(el, 'font-variant', item.fontVariant);\n setStyle(el, 'font-weight', item.fontWeight);\n }\n};\n\nfunction setStyle(el, name, value) {\n if (value !== values[name]) {\n if (value == null) {\n el.style.removeProperty(name);\n } else {\n el.style.setProperty(name, value + '');\n }\n values[name] = value;\n }\n}\n\nprototype._update = function(mdef, el, item) {\n // set dom element and values cache\n // provides access to emit method\n element = el;\n values = el.__values__;\n\n // apply svg attributes\n mdef.attr(emit, item, this);\n\n // some marks need special treatment\n var extra = mark_extras[mdef.type];\n if (extra) extra.call(this, mdef, el, item);\n\n // apply svg css styles\n // note: element may be modified by 'extra' method\n this.style(element, item);\n};\n\nfunction emit(name, value, ns) {\n // early exit if value is unchanged\n if (value === values[name]) return;\n\n if (value != null) {\n // if value is provided, update DOM attribute\n if (ns) {\n element.setAttributeNS(ns, name, value);\n } else {\n element.setAttribute(name, value);\n }\n } else {\n // else remove DOM attribute\n if (ns) {\n element.removeAttributeNS(ns, name);\n } else {\n element.removeAttribute(name);\n }\n }\n\n // note current value for future comparison\n values[name] = value;\n}\n\nprototype.style = function(el, o) {\n if (o == null) return;\n var i, n, prop, name, value;\n\n for (i=0, n=__WEBPACK_IMPORTED_MODULE_8__util_svg_styles__[\"a\" /* styleProperties */].length; i<n; ++i) {\n prop = __WEBPACK_IMPORTED_MODULE_8__util_svg_styles__[\"a\" /* styleProperties */][i];\n value = o[prop];\n\n if (prop === 'font') {\n value = Object(__WEBPACK_IMPORTED_MODULE_4__util_text__[\"b\" /* fontFamily */])(o);\n }\n\n if (value === values[prop]) continue;\n\n name = __WEBPACK_IMPORTED_MODULE_8__util_svg_styles__[\"b\" /* styles */][prop];\n if (value == null) {\n if (name === 'fill') {\n el.style.setProperty(name, 'none');\n } else {\n el.style.removeProperty(name);\n }\n } else {\n if (value.id) {\n // ensure definition is included\n this._defs.gradient[value.id] = value;\n value = 'url(' + href() + '#' + value.id + ')';\n }\n el.style.setProperty(name, value + '');\n }\n\n values[prop] = value;\n }\n};\n\nfunction href() {\n var loc;\n return typeof window === 'undefined' ? ''\n : (loc = window.location).hash ? loc.href.slice(0, -loc.hash.length)\n : loc.href;\n}\n\n\n/***/ }),\n/* 295 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n 'version': '1.1',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'xmlns:xlink': 'http://www.w3.org/1999/xlink'\n});\n\n/***/ }),\n/* 296 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return styles; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return styleProperties; });\nvar styles = {\n 'fill': 'fill',\n 'fillOpacity': 'fill-opacity',\n 'stroke': 'stroke',\n 'strokeOpacity': 'stroke-opacity',\n 'strokeWidth': 'stroke-width',\n 'strokeCap': 'stroke-linecap',\n 'strokeJoin': 'stroke-linejoin',\n 'strokeDash': 'stroke-dasharray',\n 'strokeDashOffset': 'stroke-dashoffset',\n 'strokeMiterLimit': 'stroke-miterlimit',\n 'opacity': 'opacity'\n};\n\nvar styleProperties = Object.keys(styles);\n\n\n/***/ }),\n/* 297 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = SVGStringRenderer;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Renderer__ = __webpack_require__(108);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__marks_index__ = __webpack_require__(40);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_dom__ = __webpack_require__(51);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_tags__ = __webpack_require__(168);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_text__ = __webpack_require__(107);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__util_visit__ = __webpack_require__(37);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__util_svg_clip__ = __webpack_require__(106);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__util_svg_metadata__ = __webpack_require__(295);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__util_svg_styles__ = __webpack_require__(296);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_vega_util__ = __webpack_require__(0);\n\n\n\n\n\n\n\n\n\n\n\nfunction SVGStringRenderer(loader) {\n __WEBPACK_IMPORTED_MODULE_0__Renderer__[\"a\" /* default */].call(this, loader);\n\n this._text = {\n head: '',\n bg: '',\n root: '',\n foot: '',\n defs: '',\n body: ''\n };\n\n this._defs = {\n gradient: {},\n clipping: {}\n };\n}\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_9_vega_util__[\"u\" /* inherits */])(SVGStringRenderer, __WEBPACK_IMPORTED_MODULE_0__Renderer__[\"a\" /* default */]);\nvar base = __WEBPACK_IMPORTED_MODULE_0__Renderer__[\"a\" /* default */].prototype;\n\nprototype.resize = function(width, height, origin, scaleFactor) {\n base.resize.call(this, width, height, origin, scaleFactor);\n var o = this._origin,\n t = this._text;\n\n var attr = {\n class: 'marks',\n width: this._width * this._scale,\n height: this._height * this._scale,\n viewBox: '0 0 ' + this._width + ' ' + this._height\n };\n for (var key in __WEBPACK_IMPORTED_MODULE_7__util_svg_metadata__[\"a\" /* default */]) {\n attr[key] = __WEBPACK_IMPORTED_MODULE_7__util_svg_metadata__[\"a\" /* default */][key];\n }\n\n t.head = Object(__WEBPACK_IMPORTED_MODULE_3__util_tags__[\"b\" /* openTag */])('svg', attr);\n\n var bg = this._bgcolor;\n if (bg === 'transparent' || bg === 'none') bg = null;\n\n if (bg) {\n t.bg = Object(__WEBPACK_IMPORTED_MODULE_3__util_tags__[\"b\" /* openTag */])('rect', {\n width: this._width,\n height: this._height,\n style: 'fill: ' + bg + ';'\n }) + Object(__WEBPACK_IMPORTED_MODULE_3__util_tags__[\"a\" /* closeTag */])('rect');\n } else {\n t.bg = '';\n }\n\n t.root = Object(__WEBPACK_IMPORTED_MODULE_3__util_tags__[\"b\" /* openTag */])('g', {\n transform: 'translate(' + o + ')'\n });\n\n t.foot = Object(__WEBPACK_IMPORTED_MODULE_3__util_tags__[\"a\" /* closeTag */])('g') + Object(__WEBPACK_IMPORTED_MODULE_3__util_tags__[\"a\" /* closeTag */])('svg');\n\n return this;\n};\n\nprototype.background = function() {\n var rv = base.background.apply(this, arguments);\n if (arguments.length && this._text.head) {\n this.resize(this._width, this._height, this._origin, this._scale);\n }\n return rv;\n};\n\nprototype.svg = function() {\n var t = this._text;\n return t.head + t.bg + t.defs + t.root + t.body + t.foot;\n};\n\nprototype._render = function(scene) {\n this._text.body = this.mark(scene);\n this._text.defs = this.buildDefs();\n return this;\n};\n\nprototype.buildDefs = function() {\n var all = this._defs,\n defs = '',\n i, id, def, stops;\n\n for (id in all.gradient) {\n def = all.gradient[id];\n stops = def.stops;\n\n defs += Object(__WEBPACK_IMPORTED_MODULE_3__util_tags__[\"b\" /* openTag */])('linearGradient', {\n id: id,\n x1: def.x1,\n x2: def.x2,\n y1: def.y1,\n y2: def.y2\n });\n\n for (i=0; i<stops.length; ++i) {\n defs += Object(__WEBPACK_IMPORTED_MODULE_3__util_tags__[\"b\" /* openTag */])('stop', {\n offset: stops[i].offset,\n 'stop-color': stops[i].color\n }) + Object(__WEBPACK_IMPORTED_MODULE_3__util_tags__[\"a\" /* closeTag */])('stop');\n }\n\n defs += Object(__WEBPACK_IMPORTED_MODULE_3__util_tags__[\"a\" /* closeTag */])('linearGradient');\n }\n\n for (id in all.clipping) {\n def = all.clipping[id];\n\n defs += Object(__WEBPACK_IMPORTED_MODULE_3__util_tags__[\"b\" /* openTag */])('clipPath', {id: id});\n\n if (def.path) {\n defs += Object(__WEBPACK_IMPORTED_MODULE_3__util_tags__[\"b\" /* openTag */])('path', {\n d: def.path\n }) + Object(__WEBPACK_IMPORTED_MODULE_3__util_tags__[\"a\" /* closeTag */])('path');\n } else {\n defs += Object(__WEBPACK_IMPORTED_MODULE_3__util_tags__[\"b\" /* openTag */])('rect', {\n x: 0,\n y: 0,\n width: def.width,\n height: def.height\n }) + Object(__WEBPACK_IMPORTED_MODULE_3__util_tags__[\"a\" /* closeTag */])('rect');\n }\n\n defs += Object(__WEBPACK_IMPORTED_MODULE_3__util_tags__[\"a\" /* closeTag */])('clipPath');\n }\n\n return (defs.length > 0) ? Object(__WEBPACK_IMPORTED_MODULE_3__util_tags__[\"b\" /* openTag */])('defs') + defs + Object(__WEBPACK_IMPORTED_MODULE_3__util_tags__[\"a\" /* closeTag */])('defs') : '';\n};\n\nvar object;\n\nfunction emit(name, value, ns, prefixed) {\n object[prefixed || name] = value;\n}\n\nprototype.attributes = function(attr, item) {\n object = {};\n attr(emit, item, this);\n return object;\n};\n\nprototype.href = function(item) {\n var that = this,\n href = item.href,\n attr;\n\n if (href) {\n if (attr = that._hrefs && that._hrefs[href]) {\n return attr;\n } else {\n that.sanitizeURL(href).then(function(attr) {\n // rewrite to use xlink namespace\n // note that this will be deprecated in SVG 2.0\n attr['xlink:href'] = attr.href;\n attr.href = null;\n (that._hrefs || (that._hrefs = {}))[href] = attr;\n });\n }\n }\n return null;\n};\n\nprototype.mark = function(scene) {\n var renderer = this,\n mdef = __WEBPACK_IMPORTED_MODULE_1__marks_index__[\"a\" /* default */][scene.marktype],\n tag = mdef.tag,\n defs = this._defs,\n str = '',\n style;\n\n if (tag !== 'g' && scene.interactive === false) {\n style = 'style=\"pointer-events: none;\"';\n }\n\n // render opening group tag\n str += Object(__WEBPACK_IMPORTED_MODULE_3__util_tags__[\"b\" /* openTag */])('g', {\n 'class': Object(__WEBPACK_IMPORTED_MODULE_2__util_dom__[\"a\" /* cssClass */])(scene),\n 'clip-path': scene.clip ? Object(__WEBPACK_IMPORTED_MODULE_6__util_svg_clip__[\"a\" /* default */])(renderer, scene, scene.group) : null\n }, style);\n\n // render contained elements\n function process(item) {\n var href = renderer.href(item);\n if (href) str += Object(__WEBPACK_IMPORTED_MODULE_3__util_tags__[\"b\" /* openTag */])('a', href);\n\n style = (tag !== 'g') ? applyStyles(item, scene, tag, defs) : null;\n str += Object(__WEBPACK_IMPORTED_MODULE_3__util_tags__[\"b\" /* openTag */])(tag, renderer.attributes(mdef.attr, item), style);\n\n if (tag === 'text') {\n str += escape_text(Object(__WEBPACK_IMPORTED_MODULE_4__util_text__[\"f\" /* textValue */])(item));\n } else if (tag === 'g') {\n str += Object(__WEBPACK_IMPORTED_MODULE_3__util_tags__[\"b\" /* openTag */])('path', renderer.attributes(mdef.background, item),\n applyStyles(item, scene, 'bgrect', defs)) + Object(__WEBPACK_IMPORTED_MODULE_3__util_tags__[\"a\" /* closeTag */])('path');\n\n str += Object(__WEBPACK_IMPORTED_MODULE_3__util_tags__[\"b\" /* openTag */])('g', renderer.attributes(mdef.foreground, item))\n + renderer.markGroup(item)\n + Object(__WEBPACK_IMPORTED_MODULE_3__util_tags__[\"a\" /* closeTag */])('g');\n }\n\n str += Object(__WEBPACK_IMPORTED_MODULE_3__util_tags__[\"a\" /* closeTag */])(tag);\n if (href) str += Object(__WEBPACK_IMPORTED_MODULE_3__util_tags__[\"a\" /* closeTag */])('a');\n }\n\n if (mdef.nested) {\n if (scene.items && scene.items.length) process(scene.items[0]);\n } else {\n Object(__WEBPACK_IMPORTED_MODULE_5__util_visit__[\"b\" /* visit */])(scene, process);\n }\n\n // render closing group tag\n return str + Object(__WEBPACK_IMPORTED_MODULE_3__util_tags__[\"a\" /* closeTag */])('g');\n};\n\nprototype.markGroup = function(scene) {\n var renderer = this,\n str = '';\n\n Object(__WEBPACK_IMPORTED_MODULE_5__util_visit__[\"b\" /* visit */])(scene, function(item) {\n str += renderer.mark(item);\n });\n\n return str;\n};\n\nfunction applyStyles(o, mark, tag, defs) {\n if (o == null) return '';\n var i, n, prop, name, value, s = '';\n\n if (tag === 'bgrect' && mark.interactive === false) {\n s += 'pointer-events: none; ';\n }\n\n if (tag === 'text') {\n s += 'font-family: ' + Object(__WEBPACK_IMPORTED_MODULE_4__util_text__[\"b\" /* fontFamily */])(o) + '; ';\n s += 'font-size: ' + Object(__WEBPACK_IMPORTED_MODULE_4__util_text__[\"c\" /* fontSize */])(o) + 'px; ';\n if (o.fontStyle) s += 'font-style: ' + o.fontStyle + '; ';\n if (o.fontVariant) s += 'font-variant: ' + o.fontVariant + '; ';\n if (o.fontWeight) s += 'font-weight: ' + o.fontWeight + '; ';\n }\n\n for (i=0, n=__WEBPACK_IMPORTED_MODULE_8__util_svg_styles__[\"a\" /* styleProperties */].length; i<n; ++i) {\n prop = __WEBPACK_IMPORTED_MODULE_8__util_svg_styles__[\"a\" /* styleProperties */][i];\n name = __WEBPACK_IMPORTED_MODULE_8__util_svg_styles__[\"b\" /* styles */][prop];\n value = o[prop];\n\n if (value == null) {\n if (name === 'fill') {\n s += 'fill: none; ';\n }\n } else if (value === 'transparent' && (name === 'fill' || name === 'stroke')) {\n // transparent is not a legal SVG value, so map to none instead\n s += name + ': none; ';\n } else {\n if (value.id) {\n // ensure definition is included\n defs.gradient[value.id] = value;\n value = 'url(#' + value.id + ')';\n }\n s += name + ': ' + value + '; ';\n }\n }\n\n return s ? 'style=\"' + s.trim() + '\"' : null;\n}\n\nfunction escape_text(s) {\n return s.replace(/&/g, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>');\n}\n\n\n/***/ }),\n/* 298 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(count, paddingInner, paddingOuter) {\n var space = count - paddingInner + paddingOuter * 2;\n return count ? (space > 0 ? space : 1) : 0;\n});\n\n\n/***/ }),\n/* 299 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return implicit; });\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = ordinal;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_collection__ = __webpack_require__(109);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__array__ = __webpack_require__(53);\n\n\n\nvar implicit = {name: \"implicit\"};\n\nfunction ordinal(range) {\n var index = Object(__WEBPACK_IMPORTED_MODULE_0_d3_collection__[\"a\" /* map */])(),\n domain = [],\n unknown = implicit;\n\n range = range == null ? [] : __WEBPACK_IMPORTED_MODULE_1__array__[\"b\" /* 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 = Object(__WEBPACK_IMPORTED_MODULE_0_d3_collection__[\"a\" /* 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 = __WEBPACK_IMPORTED_MODULE_1__array__[\"b\" /* 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\n\n/***/ }),\n/* 300 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return deg2rad; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return rad2deg; });\nvar deg2rad = Math.PI / 180;\nvar rad2deg = 180 / Math.PI;\n\n\n/***/ }),\n/* 301 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return rgbBasis; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return rgbBasisClosed; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(33);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__basis__ = __webpack_require__(174);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__basisClosed__ = __webpack_require__(302);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__color__ = __webpack_require__(76);\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ((function rgbGamma(y) {\n var color = Object(__WEBPACK_IMPORTED_MODULE_3__color__[\"b\" /* gamma */])(y);\n\n function rgb(start, end) {\n var r = color((start = Object(__WEBPACK_IMPORTED_MODULE_0_d3_color__[\"f\" /* rgb */])(start)).r, (end = Object(__WEBPACK_IMPORTED_MODULE_0_d3_color__[\"f\" /* rgb */])(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = Object(__WEBPACK_IMPORTED_MODULE_3__color__[\"a\" /* default */])(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 = Object(__WEBPACK_IMPORTED_MODULE_0_d3_color__[\"f\" /* rgb */])(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\nvar rgbBasis = rgbSpline(__WEBPACK_IMPORTED_MODULE_1__basis__[\"b\" /* default */]);\nvar rgbBasisClosed = rgbSpline(__WEBPACK_IMPORTED_MODULE_2__basisClosed__[\"a\" /* default */]);\n\n\n/***/ }),\n/* 302 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__basis__ = __webpack_require__(174);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (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 Object(__WEBPACK_IMPORTED_MODULE_0__basis__[\"a\" /* basis */])((t - i / n) * n, v0, v1, v2, v3);\n };\n});\n\n\n/***/ }),\n/* 303 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(x) {\n return function() {\n return x;\n };\n});\n\n\n/***/ }),\n/* 304 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__value__ = __webpack_require__(171);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (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] = Object(__WEBPACK_IMPORTED_MODULE_0__value__[\"a\" /* default */])(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\n\n/***/ }),\n/* 305 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 306 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__value__ = __webpack_require__(171);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (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] = Object(__WEBPACK_IMPORTED_MODULE_0__value__[\"a\" /* default */])(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\n\n/***/ }),\n/* 307 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__number__ = __webpack_require__(110);\n\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\n/* harmony default export */ __webpack_exports__[\"a\"] = (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: Object(__WEBPACK_IMPORTED_MODULE_0__number__[\"a\" /* default */])(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\n\n/***/ }),\n/* 308 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(x) {\n return +x;\n});\n\n\n/***/ }),\n/* 309 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__exponent__ = __webpack_require__(112);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__formatGroup__ = __webpack_require__(668);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__formatNumerals__ = __webpack_require__(669);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__formatSpecifier__ = __webpack_require__(310);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__formatTrim__ = __webpack_require__(670);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__formatTypes__ = __webpack_require__(671);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__formatPrefixAuto__ = __webpack_require__(311);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__identity__ = __webpack_require__(673);\n\n\n\n\n\n\n\n\n\nvar prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(locale) {\n var group = locale.grouping && locale.thousands ? Object(__WEBPACK_IMPORTED_MODULE_1__formatGroup__[\"a\" /* default */])(locale.grouping, locale.thousands) : __WEBPACK_IMPORTED_MODULE_7__identity__[\"a\" /* default */],\n currency = locale.currency,\n decimal = locale.decimal,\n numerals = locale.numerals ? Object(__WEBPACK_IMPORTED_MODULE_2__formatNumerals__[\"a\" /* default */])(locale.numerals) : __WEBPACK_IMPORTED_MODULE_7__identity__[\"a\" /* default */],\n percent = locale.percent || \"%\";\n\n function newFormat(specifier) {\n specifier = Object(__WEBPACK_IMPORTED_MODULE_3__formatSpecifier__[\"a\" /* default */])(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 (!__WEBPACK_IMPORTED_MODULE_5__formatTypes__[\"a\" /* default */][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 = __WEBPACK_IMPORTED_MODULE_5__formatTypes__[\"a\" /* default */][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 = Object(__WEBPACK_IMPORTED_MODULE_4__formatTrim__[\"a\" /* default */])(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 + __WEBPACK_IMPORTED_MODULE_6__formatPrefixAuto__[\"b\" /* 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 = Object(__WEBPACK_IMPORTED_MODULE_3__formatSpecifier__[\"a\" /* default */])(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(Object(__WEBPACK_IMPORTED_MODULE_0__exponent__[\"a\" /* default */])(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\n\n/***/ }),\n/* 310 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = formatSpecifier;\n// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-\\( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nfunction 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\n\n/***/ }),\n/* 311 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return prefixExponent; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__formatDecimal__ = __webpack_require__(176);\n\n\nvar prefixExponent;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(x, p) {\n var d = Object(__WEBPACK_IMPORTED_MODULE_0__formatDecimal__[\"a\" /* default */])(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\") + Object(__WEBPACK_IMPORTED_MODULE_0__formatDecimal__[\"a\" /* default */])(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n});\n\n\n/***/ }),\n/* 312 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 313 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = calendar;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_d3_interpolate__ = __webpack_require__(38);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_d3_time__ = __webpack_require__(95);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_d3_time_format__ = __webpack_require__(66);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__array__ = __webpack_require__(53);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__continuous__ = __webpack_require__(111);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__nice__ = __webpack_require__(312);\n\n\n\n\n\n\n\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\nfunction calendar(year, month, week, day, hour, minute, second, millisecond, format) {\n var scale = Object(__WEBPACK_IMPORTED_MODULE_5__continuous__[\"b\" /* default */])(__WEBPACK_IMPORTED_MODULE_5__continuous__[\"c\" /* deinterpolateLinear */], __WEBPACK_IMPORTED_MODULE_1_d3_interpolate__[\"interpolateNumber\"]),\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 = Object(__WEBPACK_IMPORTED_MODULE_0_d3_array__[\"e\" /* bisector */])(function(i) { return i[2]; }).right(tickIntervals, target);\n if (i === tickIntervals.length) {\n step = Object(__WEBPACK_IMPORTED_MODULE_0_d3_array__[\"r\" /* 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(Object(__WEBPACK_IMPORTED_MODULE_0_d3_array__[\"r\" /* 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(__WEBPACK_IMPORTED_MODULE_4__array__[\"a\" /* 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(Object(__WEBPACK_IMPORTED_MODULE_6__nice__[\"a\" /* default */])(d, interval))\n : scale;\n };\n\n scale.copy = function() {\n return Object(__WEBPACK_IMPORTED_MODULE_5__continuous__[\"a\" /* copy */])(scale, calendar(year, month, week, day, hour, minute, second, millisecond, format));\n };\n\n return scale;\n}\n\n/* harmony default export */ __webpack_exports__[\"b\"] = (function() {\n return calendar(__WEBPACK_IMPORTED_MODULE_2_d3_time__[\"k\" /* timeYear */], __WEBPACK_IMPORTED_MODULE_2_d3_time__[\"f\" /* timeMonth */], __WEBPACK_IMPORTED_MODULE_2_d3_time__[\"j\" /* timeWeek */], __WEBPACK_IMPORTED_MODULE_2_d3_time__[\"a\" /* timeDay */], __WEBPACK_IMPORTED_MODULE_2_d3_time__[\"b\" /* timeHour */], __WEBPACK_IMPORTED_MODULE_2_d3_time__[\"d\" /* timeMinute */], __WEBPACK_IMPORTED_MODULE_2_d3_time__[\"g\" /* timeSecond */], __WEBPACK_IMPORTED_MODULE_2_d3_time__[\"c\" /* timeMillisecond */], __WEBPACK_IMPORTED_MODULE_3_d3_time_format__[\"a\" /* timeFormat */]).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]);\n});\n\n\n/***/ }),\n/* 314 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return Symbols; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Discrete; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return Gradient; });\nvar Symbols = 'symbol';\nvar Discrete = 'discrete';\nvar Gradient = 'gradient';\n\n\n/***/ }),\n/* 315 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__array__ = __webpack_require__(316);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ascending__ = __webpack_require__(744);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__area__ = __webpack_require__(745);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__constant__ = __webpack_require__(317);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__contains__ = __webpack_require__(746);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__noop__ = __webpack_require__(747);\n\n\n\n\n\n\n\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\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n var dx = 1,\n dy = 1,\n threshold = __WEBPACK_IMPORTED_MODULE_0_d3_array__[\"p\" /* 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 = Object(__WEBPACK_IMPORTED_MODULE_0_d3_array__[\"f\" /* extent */])(values), start = domain[0], stop = domain[1];\n tz = Object(__WEBPACK_IMPORTED_MODULE_0_d3_array__[\"r\" /* tickStep */])(start, stop, tz);\n tz = Object(__WEBPACK_IMPORTED_MODULE_0_d3_array__[\"n\" /* range */])(Math.floor(start / tz) * tz, Math.floor(stop / tz) * tz, tz);\n } else {\n tz = tz.slice().sort(__WEBPACK_IMPORTED_MODULE_2__ascending__[\"a\" /* default */]);\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 (Object(__WEBPACK_IMPORTED_MODULE_3__area__[\"a\" /* default */])(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 (Object(__WEBPACK_IMPORTED_MODULE_5__contains__[\"a\" /* default */])((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(_) ? Object(__WEBPACK_IMPORTED_MODULE_4__constant__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_1__array__[\"a\" /* slice */].call(_)) : Object(__WEBPACK_IMPORTED_MODULE_4__constant__[\"a\" /* default */])(_), contours) : threshold;\n };\n\n contours.smooth = function(_) {\n return arguments.length ? (smooth = _ ? smoothLinear : __WEBPACK_IMPORTED_MODULE_6__noop__[\"a\" /* default */], contours) : smooth === smoothLinear;\n };\n\n return contours;\n});\n\n\n/***/ }),\n/* 316 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return slice; });\nvar array = Array.prototype;\n\nvar slice = array.slice;\n\n\n/***/ }),\n/* 317 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(x) {\n return function() {\n return x;\n };\n});\n\n\n/***/ }),\n/* 318 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Feature; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return FeatureCollection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return MultiPoint; });\nvar Feature = 'Feature';\nvar FeatureCollection = 'FeatureCollection';\nvar MultiPoint = 'MultiPoint';\n\n\n/***/ }),\n/* 319 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return areaRingSum; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return areaStream; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__adder__ = __webpack_require__(58);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__math__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__noop__ = __webpack_require__(43);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__stream__ = __webpack_require__(54);\n\n\n\n\n\nvar areaRingSum = Object(__WEBPACK_IMPORTED_MODULE_0__adder__[\"a\" /* default */])();\n\nvar areaSum = Object(__WEBPACK_IMPORTED_MODULE_0__adder__[\"a\" /* default */])(),\n lambda00,\n phi00,\n lambda0,\n cosPhi0,\n sinPhi0;\n\nvar areaStream = {\n point: __WEBPACK_IMPORTED_MODULE_2__noop__[\"a\" /* default */],\n lineStart: __WEBPACK_IMPORTED_MODULE_2__noop__[\"a\" /* default */],\n lineEnd: __WEBPACK_IMPORTED_MODULE_2__noop__[\"a\" /* default */],\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 ? __WEBPACK_IMPORTED_MODULE_1__math__[\"w\" /* tau */] + areaRing : areaRing);\n this.lineStart = this.lineEnd = this.point = __WEBPACK_IMPORTED_MODULE_2__noop__[\"a\" /* default */];\n },\n sphere: function() {\n areaSum.add(__WEBPACK_IMPORTED_MODULE_1__math__[\"w\" /* 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 *= __WEBPACK_IMPORTED_MODULE_1__math__[\"r\" /* radians */], phi *= __WEBPACK_IMPORTED_MODULE_1__math__[\"r\" /* radians */];\n lambda0 = lambda, cosPhi0 = Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"g\" /* cos */])(phi = phi / 2 + __WEBPACK_IMPORTED_MODULE_1__math__[\"q\" /* quarterPi */]), sinPhi0 = Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"t\" /* sin */])(phi);\n}\n\nfunction areaPoint(lambda, phi) {\n lambda *= __WEBPACK_IMPORTED_MODULE_1__math__[\"r\" /* radians */], phi *= __WEBPACK_IMPORTED_MODULE_1__math__[\"r\" /* radians */];\n phi = phi / 2 + __WEBPACK_IMPORTED_MODULE_1__math__[\"q\" /* 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 = Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"g\" /* cos */])(phi),\n sinPhi = Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"t\" /* sin */])(phi),\n k = sinPhi0 * sinPhi,\n u = cosPhi0 * cosPhi + k * Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"g\" /* cos */])(adLambda),\n v = k * sdLambda * Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"t\" /* sin */])(adLambda);\n areaRingSum.add(Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"e\" /* atan2 */])(v, u));\n\n // Advance the previous points.\n lambda0 = lambda, cosPhi0 = cosPhi, sinPhi0 = sinPhi;\n}\n\n/* harmony default export */ __webpack_exports__[\"c\"] = (function(object) {\n areaSum.reset();\n Object(__WEBPACK_IMPORTED_MODULE_3__stream__[\"a\" /* default */])(object, areaStream);\n return areaSum * 2;\n});\n\n\n/***/ }),\n/* 320 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = circleStream;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__cartesian__ = __webpack_require__(78);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constant__ = __webpack_require__(755);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__math__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__rotation__ = __webpack_require__(114);\n\n\n\n\n\n// Generates a circle centered at [0°, 0°], with a given radius and precision.\nfunction circleStream(stream, radius, delta, direction, t0, t1) {\n if (!delta) return;\n var cosRadius = Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"g\" /* cos */])(radius),\n sinRadius = Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"t\" /* sin */])(radius),\n step = direction * delta;\n if (t0 == null) {\n t0 = radius + direction * __WEBPACK_IMPORTED_MODULE_2__math__[\"w\" /* 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 * __WEBPACK_IMPORTED_MODULE_2__math__[\"w\" /* tau */];\n }\n for (var point, t = t0; direction > 0 ? t > t1 : t < t1; t -= step) {\n point = Object(__WEBPACK_IMPORTED_MODULE_0__cartesian__[\"g\" /* spherical */])([cosRadius, -sinRadius * Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"g\" /* cos */])(t), -sinRadius * Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"t\" /* 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 = Object(__WEBPACK_IMPORTED_MODULE_0__cartesian__[\"a\" /* cartesian */])(point), point[0] -= cosRadius;\n Object(__WEBPACK_IMPORTED_MODULE_0__cartesian__[\"e\" /* cartesianNormalizeInPlace */])(point);\n var radius = Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"b\" /* acos */])(-point[1]);\n return ((-point[2] < 0 ? -radius : radius) + __WEBPACK_IMPORTED_MODULE_2__math__[\"w\" /* tau */] - __WEBPACK_IMPORTED_MODULE_2__math__[\"i\" /* epsilon */]) % __WEBPACK_IMPORTED_MODULE_2__math__[\"w\" /* tau */];\n}\n\n/* unused harmony default export */ var _unused_webpack_default_export = (function() {\n var center = Object(__WEBPACK_IMPORTED_MODULE_1__constant__[\"a\" /* default */])([0, 0]),\n radius = Object(__WEBPACK_IMPORTED_MODULE_1__constant__[\"a\" /* default */])(90),\n precision = Object(__WEBPACK_IMPORTED_MODULE_1__constant__[\"a\" /* default */])(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] *= __WEBPACK_IMPORTED_MODULE_2__math__[\"h\" /* degrees */], x[1] *= __WEBPACK_IMPORTED_MODULE_2__math__[\"h\" /* degrees */];\n }\n\n function circle() {\n var c = center.apply(this, arguments),\n r = radius.apply(this, arguments) * __WEBPACK_IMPORTED_MODULE_2__math__[\"r\" /* radians */],\n p = precision.apply(this, arguments) * __WEBPACK_IMPORTED_MODULE_2__math__[\"r\" /* radians */];\n ring = [];\n rotate = Object(__WEBPACK_IMPORTED_MODULE_3__rotation__[\"b\" /* rotateRadians */])(-c[0] * __WEBPACK_IMPORTED_MODULE_2__math__[\"r\" /* radians */], -c[1] * __WEBPACK_IMPORTED_MODULE_2__math__[\"r\" /* 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\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_1__constant__[\"a\" /* default */])([+_[0], +_[1]]), circle) : center;\n };\n\n circle.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_1__constant__[\"a\" /* default */])(+_), circle) : radius;\n };\n\n circle.precision = function(_) {\n return arguments.length ? (precision = typeof _ === \"function\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_1__constant__[\"a\" /* default */])(+_), circle) : precision;\n };\n\n return circle;\n});\n\n\n/***/ }),\n/* 321 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 322 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__index__ = __webpack_require__(323);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__math__ = __webpack_require__(6);\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0__index__[\"a\" /* default */])(\n function() { return true; },\n clipAntimeridianLine,\n clipAntimeridianInterpolate,\n [-__WEBPACK_IMPORTED_MODULE_1__math__[\"o\" /* pi */], -__WEBPACK_IMPORTED_MODULE_1__math__[\"l\" /* 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 ? __WEBPACK_IMPORTED_MODULE_1__math__[\"o\" /* pi */] : -__WEBPACK_IMPORTED_MODULE_1__math__[\"o\" /* pi */],\n delta = Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"a\" /* abs */])(lambda1 - lambda0);\n if (Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"a\" /* abs */])(delta - __WEBPACK_IMPORTED_MODULE_1__math__[\"o\" /* pi */]) < __WEBPACK_IMPORTED_MODULE_1__math__[\"i\" /* epsilon */]) { // line crosses a pole\n stream.point(lambda0, phi0 = (phi0 + phi1) / 2 > 0 ? __WEBPACK_IMPORTED_MODULE_1__math__[\"l\" /* halfPi */] : -__WEBPACK_IMPORTED_MODULE_1__math__[\"l\" /* 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 >= __WEBPACK_IMPORTED_MODULE_1__math__[\"o\" /* pi */]) { // line crosses antimeridian\n if (Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"a\" /* abs */])(lambda0 - sign0) < __WEBPACK_IMPORTED_MODULE_1__math__[\"i\" /* epsilon */]) lambda0 -= sign0 * __WEBPACK_IMPORTED_MODULE_1__math__[\"i\" /* epsilon */]; // handle degeneracies\n if (Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"a\" /* abs */])(lambda1 - sign1) < __WEBPACK_IMPORTED_MODULE_1__math__[\"i\" /* epsilon */]) lambda1 -= sign1 * __WEBPACK_IMPORTED_MODULE_1__math__[\"i\" /* 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 = Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"t\" /* sin */])(lambda0 - lambda1);\n return Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"a\" /* abs */])(sinLambda0Lambda1) > __WEBPACK_IMPORTED_MODULE_1__math__[\"i\" /* epsilon */]\n ? Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"d\" /* atan */])((Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"t\" /* sin */])(phi0) * (cosPhi1 = Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"g\" /* cos */])(phi1)) * Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"t\" /* sin */])(lambda1)\n - Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"t\" /* sin */])(phi1) * (cosPhi0 = Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"g\" /* cos */])(phi0)) * Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"t\" /* 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 * __WEBPACK_IMPORTED_MODULE_1__math__[\"l\" /* halfPi */];\n stream.point(-__WEBPACK_IMPORTED_MODULE_1__math__[\"o\" /* pi */], phi);\n stream.point(0, phi);\n stream.point(__WEBPACK_IMPORTED_MODULE_1__math__[\"o\" /* pi */], phi);\n stream.point(__WEBPACK_IMPORTED_MODULE_1__math__[\"o\" /* pi */], 0);\n stream.point(__WEBPACK_IMPORTED_MODULE_1__math__[\"o\" /* pi */], -phi);\n stream.point(0, -phi);\n stream.point(-__WEBPACK_IMPORTED_MODULE_1__math__[\"o\" /* pi */], -phi);\n stream.point(-__WEBPACK_IMPORTED_MODULE_1__math__[\"o\" /* pi */], 0);\n stream.point(-__WEBPACK_IMPORTED_MODULE_1__math__[\"o\" /* pi */], phi);\n } else if (Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"a\" /* abs */])(from[0] - to[0]) > __WEBPACK_IMPORTED_MODULE_1__math__[\"i\" /* epsilon */]) {\n var lambda = from[0] < to[0] ? __WEBPACK_IMPORTED_MODULE_1__math__[\"o\" /* pi */] : -__WEBPACK_IMPORTED_MODULE_1__math__[\"o\" /* 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\n\n/***/ }),\n/* 323 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__buffer__ = __webpack_require__(324);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__rejoin__ = __webpack_require__(325);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__math__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__polygonContains__ = __webpack_require__(327);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_d3_array__ = __webpack_require__(9);\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(pointVisible, clipLine, interpolate, start) {\n return function(sink) {\n var line = clipLine(sink),\n ringBuffer = Object(__WEBPACK_IMPORTED_MODULE_0__buffer__[\"a\" /* default */])(),\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 = Object(__WEBPACK_IMPORTED_MODULE_4_d3_array__[\"j\" /* merge */])(segments);\n var startInside = Object(__WEBPACK_IMPORTED_MODULE_3__polygonContains__[\"a\" /* default */])(polygon, start);\n if (segments.length) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n Object(__WEBPACK_IMPORTED_MODULE_1__rejoin__[\"a\" /* default */])(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] - __WEBPACK_IMPORTED_MODULE_2__math__[\"l\" /* halfPi */] - __WEBPACK_IMPORTED_MODULE_2__math__[\"i\" /* epsilon */] : __WEBPACK_IMPORTED_MODULE_2__math__[\"l\" /* halfPi */] - a[1])\n - ((b = b.x)[0] < 0 ? b[1] - __WEBPACK_IMPORTED_MODULE_2__math__[\"l\" /* halfPi */] - __WEBPACK_IMPORTED_MODULE_2__math__[\"i\" /* epsilon */] : __WEBPACK_IMPORTED_MODULE_2__math__[\"l\" /* halfPi */] - b[1]);\n}\n\n\n/***/ }),\n/* 324 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__noop__ = __webpack_require__(43);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (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: __WEBPACK_IMPORTED_MODULE_0__noop__[\"a\" /* default */],\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\n\n/***/ }),\n/* 325 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__pointEqual__ = __webpack_require__(326);\n\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.\n/* harmony default export */ __webpack_exports__[\"a\"] = (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 (Object(__WEBPACK_IMPORTED_MODULE_0__pointEqual__[\"a\" /* default */])(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\n\n/***/ }),\n/* 326 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__math__ = __webpack_require__(6);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(a, b) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"a\" /* abs */])(a[0] - b[0]) < __WEBPACK_IMPORTED_MODULE_0__math__[\"i\" /* epsilon */] && Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"a\" /* abs */])(a[1] - b[1]) < __WEBPACK_IMPORTED_MODULE_0__math__[\"i\" /* epsilon */];\n});\n\n\n/***/ }),\n/* 327 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__adder__ = __webpack_require__(58);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__cartesian__ = __webpack_require__(78);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__math__ = __webpack_require__(6);\n\n\n\n\nvar sum = Object(__WEBPACK_IMPORTED_MODULE_0__adder__[\"a\" /* default */])();\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(polygon, point) {\n var lambda = point[0],\n phi = point[1],\n sinPhi = Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"t\" /* sin */])(phi),\n normal = [Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"t\" /* sin */])(lambda), -Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"g\" /* cos */])(lambda), 0],\n angle = 0,\n winding = 0;\n\n sum.reset();\n\n if (sinPhi === 1) phi = __WEBPACK_IMPORTED_MODULE_2__math__[\"l\" /* halfPi */] + __WEBPACK_IMPORTED_MODULE_2__math__[\"i\" /* epsilon */];\n else if (sinPhi === -1) phi = -__WEBPACK_IMPORTED_MODULE_2__math__[\"l\" /* halfPi */] - __WEBPACK_IMPORTED_MODULE_2__math__[\"i\" /* 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 + __WEBPACK_IMPORTED_MODULE_2__math__[\"q\" /* quarterPi */],\n sinPhi0 = Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"t\" /* sin */])(phi0),\n cosPhi0 = Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"g\" /* 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 + __WEBPACK_IMPORTED_MODULE_2__math__[\"q\" /* quarterPi */],\n sinPhi1 = Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"t\" /* sin */])(phi1),\n cosPhi1 = Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"g\" /* cos */])(phi1),\n delta = lambda1 - lambda0,\n sign = delta >= 0 ? 1 : -1,\n absDelta = sign * delta,\n antimeridian = absDelta > __WEBPACK_IMPORTED_MODULE_2__math__[\"o\" /* pi */],\n k = sinPhi0 * sinPhi1;\n\n sum.add(Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"e\" /* atan2 */])(k * sign * Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"t\" /* sin */])(absDelta), cosPhi0 * cosPhi1 + k * Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"g\" /* cos */])(absDelta)));\n angle += antimeridian ? delta + sign * __WEBPACK_IMPORTED_MODULE_2__math__[\"w\" /* 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 = Object(__WEBPACK_IMPORTED_MODULE_1__cartesian__[\"c\" /* cartesianCross */])(Object(__WEBPACK_IMPORTED_MODULE_1__cartesian__[\"a\" /* cartesian */])(point0), Object(__WEBPACK_IMPORTED_MODULE_1__cartesian__[\"a\" /* cartesian */])(point1));\n Object(__WEBPACK_IMPORTED_MODULE_1__cartesian__[\"e\" /* cartesianNormalizeInPlace */])(arc);\n var intersection = Object(__WEBPACK_IMPORTED_MODULE_1__cartesian__[\"c\" /* cartesianCross */])(normal, arc);\n Object(__WEBPACK_IMPORTED_MODULE_1__cartesian__[\"e\" /* cartesianNormalizeInPlace */])(intersection);\n var phiArc = (antimeridian ^ delta >= 0 ? -1 : 1) * Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"c\" /* 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 < -__WEBPACK_IMPORTED_MODULE_2__math__[\"i\" /* epsilon */] || angle < __WEBPACK_IMPORTED_MODULE_2__math__[\"i\" /* epsilon */] && sum < -__WEBPACK_IMPORTED_MODULE_2__math__[\"i\" /* epsilon */]) ^ (winding & 1);\n});\n\n\n/***/ }),\n/* 328 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__cartesian__ = __webpack_require__(78);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__circle__ = __webpack_require__(320);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__math__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__pointEqual__ = __webpack_require__(326);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__index__ = __webpack_require__(323);\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(radius) {\n var cr = Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"g\" /* cos */])(radius),\n delta = 6 * __WEBPACK_IMPORTED_MODULE_2__math__[\"r\" /* radians */],\n smallRadius = cr > 0,\n notHemisphere = Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"a\" /* abs */])(cr) > __WEBPACK_IMPORTED_MODULE_2__math__[\"i\" /* epsilon */]; // TODO optimise for this common case\n\n function interpolate(from, to, direction, stream) {\n Object(__WEBPACK_IMPORTED_MODULE_1__circle__[\"a\" /* circleStream */])(stream, radius, delta, direction, from, to);\n }\n\n function visible(lambda, phi) {\n return Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"g\" /* cos */])(lambda) * Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"g\" /* 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 ? __WEBPACK_IMPORTED_MODULE_2__math__[\"o\" /* pi */] : -__WEBPACK_IMPORTED_MODULE_2__math__[\"o\" /* 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 || Object(__WEBPACK_IMPORTED_MODULE_3__pointEqual__[\"a\" /* default */])(point0, point2) || Object(__WEBPACK_IMPORTED_MODULE_3__pointEqual__[\"a\" /* default */])(point1, point2)) {\n point1[0] += __WEBPACK_IMPORTED_MODULE_2__math__[\"i\" /* epsilon */];\n point1[1] += __WEBPACK_IMPORTED_MODULE_2__math__[\"i\" /* 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 || !Object(__WEBPACK_IMPORTED_MODULE_3__pointEqual__[\"a\" /* default */])(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 = Object(__WEBPACK_IMPORTED_MODULE_0__cartesian__[\"a\" /* cartesian */])(a),\n pb = Object(__WEBPACK_IMPORTED_MODULE_0__cartesian__[\"a\" /* 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 = Object(__WEBPACK_IMPORTED_MODULE_0__cartesian__[\"c\" /* cartesianCross */])(pa, pb),\n n2n2 = Object(__WEBPACK_IMPORTED_MODULE_0__cartesian__[\"d\" /* 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 = Object(__WEBPACK_IMPORTED_MODULE_0__cartesian__[\"c\" /* cartesianCross */])(n1, n2),\n A = Object(__WEBPACK_IMPORTED_MODULE_0__cartesian__[\"f\" /* cartesianScale */])(n1, c1),\n B = Object(__WEBPACK_IMPORTED_MODULE_0__cartesian__[\"f\" /* cartesianScale */])(n2, c2);\n Object(__WEBPACK_IMPORTED_MODULE_0__cartesian__[\"b\" /* cartesianAddInPlace */])(A, B);\n\n // Solve |p(t)|^2 = 1.\n var u = n1xn2,\n w = Object(__WEBPACK_IMPORTED_MODULE_0__cartesian__[\"d\" /* cartesianDot */])(A, u),\n uu = Object(__WEBPACK_IMPORTED_MODULE_0__cartesian__[\"d\" /* cartesianDot */])(u, u),\n t2 = w * w - uu * (Object(__WEBPACK_IMPORTED_MODULE_0__cartesian__[\"d\" /* cartesianDot */])(A, A) - 1);\n\n if (t2 < 0) return;\n\n var t = Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"u\" /* sqrt */])(t2),\n q = Object(__WEBPACK_IMPORTED_MODULE_0__cartesian__[\"f\" /* cartesianScale */])(u, (-w - t) / uu);\n Object(__WEBPACK_IMPORTED_MODULE_0__cartesian__[\"b\" /* cartesianAddInPlace */])(q, A);\n q = Object(__WEBPACK_IMPORTED_MODULE_0__cartesian__[\"g\" /* 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 = Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"a\" /* abs */])(delta - __WEBPACK_IMPORTED_MODULE_2__math__[\"o\" /* pi */]) < __WEBPACK_IMPORTED_MODULE_2__math__[\"i\" /* epsilon */],\n meridian = polar || delta < __WEBPACK_IMPORTED_MODULE_2__math__[\"i\" /* 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] < (Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"a\" /* abs */])(q[0] - lambda0) < __WEBPACK_IMPORTED_MODULE_2__math__[\"i\" /* epsilon */] ? phi0 : phi1)\n : phi0 <= q[1] && q[1] <= phi1\n : delta > __WEBPACK_IMPORTED_MODULE_2__math__[\"o\" /* pi */] ^ (lambda0 <= q[0] && q[0] <= lambda1)) {\n var q1 = Object(__WEBPACK_IMPORTED_MODULE_0__cartesian__[\"f\" /* cartesianScale */])(u, (-w + t) / uu);\n Object(__WEBPACK_IMPORTED_MODULE_0__cartesian__[\"b\" /* cartesianAddInPlace */])(q1, A);\n return [q, Object(__WEBPACK_IMPORTED_MODULE_0__cartesian__[\"g\" /* 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 : __WEBPACK_IMPORTED_MODULE_2__math__[\"o\" /* 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 Object(__WEBPACK_IMPORTED_MODULE_4__index__[\"a\" /* default */])(visible, clipLine, interpolate, smallRadius ? [0, -radius] : [-__WEBPACK_IMPORTED_MODULE_2__math__[\"o\" /* pi */], radius - __WEBPACK_IMPORTED_MODULE_2__math__[\"o\" /* pi */]]);\n});\n\n\n/***/ }),\n/* 329 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__length__ = __webpack_require__(330);\n\n\nvar coordinates = [null, null],\n object = {type: \"LineString\", coordinates: coordinates};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(a, b) {\n coordinates[0] = a;\n coordinates[1] = b;\n return Object(__WEBPACK_IMPORTED_MODULE_0__length__[\"a\" /* default */])(object);\n});\n\n\n/***/ }),\n/* 330 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__adder__ = __webpack_require__(58);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__math__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__noop__ = __webpack_require__(43);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__stream__ = __webpack_require__(54);\n\n\n\n\n\nvar lengthSum = Object(__WEBPACK_IMPORTED_MODULE_0__adder__[\"a\" /* default */])(),\n lambda0,\n sinPhi0,\n cosPhi0;\n\nvar lengthStream = {\n sphere: __WEBPACK_IMPORTED_MODULE_2__noop__[\"a\" /* default */],\n point: __WEBPACK_IMPORTED_MODULE_2__noop__[\"a\" /* default */],\n lineStart: lengthLineStart,\n lineEnd: __WEBPACK_IMPORTED_MODULE_2__noop__[\"a\" /* default */],\n polygonStart: __WEBPACK_IMPORTED_MODULE_2__noop__[\"a\" /* default */],\n polygonEnd: __WEBPACK_IMPORTED_MODULE_2__noop__[\"a\" /* default */]\n};\n\nfunction lengthLineStart() {\n lengthStream.point = lengthPointFirst;\n lengthStream.lineEnd = lengthLineEnd;\n}\n\nfunction lengthLineEnd() {\n lengthStream.point = lengthStream.lineEnd = __WEBPACK_IMPORTED_MODULE_2__noop__[\"a\" /* default */];\n}\n\nfunction lengthPointFirst(lambda, phi) {\n lambda *= __WEBPACK_IMPORTED_MODULE_1__math__[\"r\" /* radians */], phi *= __WEBPACK_IMPORTED_MODULE_1__math__[\"r\" /* radians */];\n lambda0 = lambda, sinPhi0 = Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"t\" /* sin */])(phi), cosPhi0 = Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"g\" /* cos */])(phi);\n lengthStream.point = lengthPoint;\n}\n\nfunction lengthPoint(lambda, phi) {\n lambda *= __WEBPACK_IMPORTED_MODULE_1__math__[\"r\" /* radians */], phi *= __WEBPACK_IMPORTED_MODULE_1__math__[\"r\" /* radians */];\n var sinPhi = Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"t\" /* sin */])(phi),\n cosPhi = Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"g\" /* cos */])(phi),\n delta = Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"a\" /* abs */])(lambda - lambda0),\n cosDelta = Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"g\" /* cos */])(delta),\n sinDelta = Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"t\" /* sin */])(delta),\n x = cosPhi * sinDelta,\n y = cosPhi0 * sinPhi - sinPhi0 * cosPhi * cosDelta,\n z = sinPhi0 * sinPhi + cosPhi0 * cosPhi * cosDelta;\n lengthSum.add(Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"e\" /* atan2 */])(Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"u\" /* sqrt */])(x * x + y * y), z));\n lambda0 = lambda, sinPhi0 = sinPhi, cosPhi0 = cosPhi;\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(object) {\n lengthSum.reset();\n Object(__WEBPACK_IMPORTED_MODULE_3__stream__[\"a\" /* default */])(object, lengthStream);\n return +lengthSum;\n});\n\n\n/***/ }),\n/* 331 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__noop__ = __webpack_require__(43);\n\n\nvar x0 = Infinity,\n y0 = x0,\n x1 = -x0,\n y1 = x1;\n\nvar boundsStream = {\n point: boundsPoint,\n lineStart: __WEBPACK_IMPORTED_MODULE_0__noop__[\"a\" /* default */],\n lineEnd: __WEBPACK_IMPORTED_MODULE_0__noop__[\"a\" /* default */],\n polygonStart: __WEBPACK_IMPORTED_MODULE_0__noop__[\"a\" /* default */],\n polygonEnd: __WEBPACK_IMPORTED_MODULE_0__noop__[\"a\" /* default */],\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\n/* harmony default export */ __webpack_exports__[\"a\"] = (boundsStream);\n\n\n/***/ }),\n/* 332 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__conicEqualArea__ = __webpack_require__(179);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n return Object(__WEBPACK_IMPORTED_MODULE_0__conicEqualArea__[\"a\" /* default */])()\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\n\n/***/ }),\n/* 333 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = equirectangularRaw;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__index__ = __webpack_require__(34);\n\n\nfunction equirectangularRaw(lambda, phi) {\n return [lambda, phi];\n}\n\nequirectangularRaw.invert = equirectangularRaw;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n return Object(__WEBPACK_IMPORTED_MODULE_0__index__[\"a\" /* default */])(equirectangularRaw)\n .scale(152.63);\n});\n\n\n/***/ }),\n/* 334 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_quadtree__ = __webpack_require__(789);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_quadtree__[\"a\"]; });\n\n\n\n/***/ }),\n/* 335 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = x;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = y;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_dispatch__ = __webpack_require__(804);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_d3_collection__ = __webpack_require__(109);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_d3_timer__ = __webpack_require__(336);\n\n\n\n\nfunction x(d) {\n return d.x;\n}\n\nfunction y(d) {\n return d.y;\n}\n\nvar initialRadius = 10,\n initialAngle = Math.PI * (3 - Math.sqrt(5));\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (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 = Object(__WEBPACK_IMPORTED_MODULE_1_d3_collection__[\"a\" /* map */])(),\n stepper = Object(__WEBPACK_IMPORTED_MODULE_2_d3_timer__[\"b\" /* timer */])(step),\n event = Object(__WEBPACK_IMPORTED_MODULE_0_d3_dispatch__[\"a\" /* 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\n\n/***/ }),\n/* 336 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_timer__ = __webpack_require__(185);\n/* unused harmony reexport now */\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_timer__[\"c\"]; });\n/* unused harmony reexport timerFlush */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_timeout__ = __webpack_require__(806);\n/* unused harmony reexport timeout */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_interval__ = __webpack_require__(807);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_interval__[\"a\"]; });\n\n\n\n\n\n\n\n/***/ }),\n/* 337 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// Build lookup table mapping tuple keys to tree node instances\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(tree, key, filter) {\n var map = {};\n tree.each(function(node) {\n var t = node.data;\n if (filter(t)) map[key(t)] = node;\n });\n tree.lookup = map;\n return tree;\n});\n\n\n/***/ }),\n/* 338 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = packEnclose;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__enclose__ = __webpack_require__(339);\n\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\nfunction 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 = Object(__WEBPACK_IMPORTED_MODULE_0__enclose__[\"a\" /* default */])(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\n/* unused harmony default export */ var _unused_webpack_default_export = (function(circles) {\n packEnclose(circles);\n return circles;\n});\n\n\n/***/ }),\n/* 339 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__array__ = __webpack_require__(826);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(circles) {\n var i = 0, n = (circles = Object(__WEBPACK_IMPORTED_MODULE_0__array__[\"a\" /* shuffle */])(__WEBPACK_IMPORTED_MODULE_0__array__[\"b\" /* 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\n\n/***/ }),\n/* 340 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = constantZero;\nfunction constantZero() {\n return 0;\n}\n\n/* harmony default export */ __webpack_exports__[\"b\"] = (function(x) {\n return function() {\n return x;\n };\n});\n\n\n/***/ }),\n/* 341 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 342 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = createCell;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = cellHalfedgeStart;\n/* unused harmony export cellHalfedgeEnd */\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = sortCellHalfedges;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = clipCells;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Edge__ = __webpack_require__(190);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Diagram__ = __webpack_require__(81);\n\n\n\nfunction createCell(site) {\n return __WEBPACK_IMPORTED_MODULE_1__Diagram__[\"b\" /* 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\nfunction cellHalfedgeStart(cell, edge) {\n return edge[+(edge.left !== cell.site)];\n}\n\nfunction cellHalfedgeEnd(cell, edge) {\n return edge[+(edge.left === cell.site)];\n}\n\nfunction sortCellHalfedges() {\n for (var i = 0, n = __WEBPACK_IMPORTED_MODULE_1__Diagram__[\"b\" /* cells */].length, cell, halfedges, j, m; i < n; ++i) {\n if ((cell = __WEBPACK_IMPORTED_MODULE_1__Diagram__[\"b\" /* 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, __WEBPACK_IMPORTED_MODULE_1__Diagram__[\"e\" /* 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\nfunction clipCells(x0, y0, x1, y1) {\n var nCells = __WEBPACK_IMPORTED_MODULE_1__Diagram__[\"b\" /* 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 = __WEBPACK_IMPORTED_MODULE_1__Diagram__[\"b\" /* 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 (!__WEBPACK_IMPORTED_MODULE_1__Diagram__[\"e\" /* 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, __WEBPACK_IMPORTED_MODULE_1__Diagram__[\"e\" /* edges */][halfedges[iHalfedge]]), endX = end[0], endY = end[1];\n start = cellHalfedgeStart(cell, __WEBPACK_IMPORTED_MODULE_1__Diagram__[\"e\" /* edges */][halfedges[++iHalfedge % nHalfedges]]), startX = start[0], startY = start[1];\n if (Math.abs(endX - startX) > __WEBPACK_IMPORTED_MODULE_1__Diagram__[\"f\" /* epsilon */] || Math.abs(endY - startY) > __WEBPACK_IMPORTED_MODULE_1__Diagram__[\"f\" /* epsilon */]) {\n halfedges.splice(iHalfedge, 0, __WEBPACK_IMPORTED_MODULE_1__Diagram__[\"e\" /* edges */].push(Object(__WEBPACK_IMPORTED_MODULE_0__Edge__[\"b\" /* createBorderEdge */])(site, end,\n Math.abs(endX - x0) < __WEBPACK_IMPORTED_MODULE_1__Diagram__[\"f\" /* epsilon */] && y1 - endY > __WEBPACK_IMPORTED_MODULE_1__Diagram__[\"f\" /* epsilon */] ? [x0, Math.abs(startX - x0) < __WEBPACK_IMPORTED_MODULE_1__Diagram__[\"f\" /* epsilon */] ? startY : y1]\n : Math.abs(endY - y1) < __WEBPACK_IMPORTED_MODULE_1__Diagram__[\"f\" /* epsilon */] && x1 - endX > __WEBPACK_IMPORTED_MODULE_1__Diagram__[\"f\" /* epsilon */] ? [Math.abs(startY - y1) < __WEBPACK_IMPORTED_MODULE_1__Diagram__[\"f\" /* epsilon */] ? startX : x1, y1]\n : Math.abs(endX - x1) < __WEBPACK_IMPORTED_MODULE_1__Diagram__[\"f\" /* epsilon */] && endY - y0 > __WEBPACK_IMPORTED_MODULE_1__Diagram__[\"f\" /* epsilon */] ? [x1, Math.abs(startX - x1) < __WEBPACK_IMPORTED_MODULE_1__Diagram__[\"f\" /* epsilon */] ? startY : y0]\n : Math.abs(endY - y0) < __WEBPACK_IMPORTED_MODULE_1__Diagram__[\"f\" /* epsilon */] && endX - x0 > __WEBPACK_IMPORTED_MODULE_1__Diagram__[\"f\" /* epsilon */] ? [Math.abs(startY - y0) < __WEBPACK_IMPORTED_MODULE_1__Diagram__[\"f\" /* 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 = __WEBPACK_IMPORTED_MODULE_1__Diagram__[\"b\" /* 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 __WEBPACK_IMPORTED_MODULE_1__Diagram__[\"e\" /* edges */].push(Object(__WEBPACK_IMPORTED_MODULE_0__Edge__[\"b\" /* createBorderEdge */])(site = cover.site, v00, v01)) - 1,\n __WEBPACK_IMPORTED_MODULE_1__Diagram__[\"e\" /* edges */].push(Object(__WEBPACK_IMPORTED_MODULE_0__Edge__[\"b\" /* createBorderEdge */])(site, v01, v11)) - 1,\n __WEBPACK_IMPORTED_MODULE_1__Diagram__[\"e\" /* edges */].push(Object(__WEBPACK_IMPORTED_MODULE_0__Edge__[\"b\" /* createBorderEdge */])(site, v11, v10)) - 1,\n __WEBPACK_IMPORTED_MODULE_1__Diagram__[\"e\" /* edges */].push(Object(__WEBPACK_IMPORTED_MODULE_0__Edge__[\"b\" /* 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 = __WEBPACK_IMPORTED_MODULE_1__Diagram__[\"b\" /* cells */][iCell]) {\n if (!cell.halfedges.length) {\n delete __WEBPACK_IMPORTED_MODULE_1__Diagram__[\"b\" /* cells */][iCell];\n }\n }\n }\n}\n\n\n/***/ }),\n/* 343 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return firstCircle; });\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = attachCircle;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = detachCircle;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__RedBlackTree__ = __webpack_require__(189);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Diagram__ = __webpack_require__(81);\n\n\n\nvar circlePool = [];\n\nvar firstCircle;\n\nfunction Circle() {\n Object(__WEBPACK_IMPORTED_MODULE_0__RedBlackTree__[\"a\" /* RedBlackNode */])(this);\n this.x =\n this.y =\n this.arc =\n this.site =\n this.cy = null;\n}\n\nfunction 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 >= -__WEBPACK_IMPORTED_MODULE_1__Diagram__[\"g\" /* 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 = __WEBPACK_IMPORTED_MODULE_1__Diagram__[\"c\" /* 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 __WEBPACK_IMPORTED_MODULE_1__Diagram__[\"c\" /* circles */].insert(before, circle);\n if (!before) firstCircle = circle;\n}\n\nfunction detachCircle(arc) {\n var circle = arc.circle;\n if (circle) {\n if (!circle.P) firstCircle = circle.N;\n __WEBPACK_IMPORTED_MODULE_1__Diagram__[\"c\" /* circles */].remove(circle);\n circlePool.push(circle);\n Object(__WEBPACK_IMPORTED_MODULE_0__RedBlackTree__[\"a\" /* RedBlackNode */])(circle);\n arc.circle = null;\n }\n}\n\n\n/***/ }),\n/* 344 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = array8;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = array16;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = array32;\nfunction array8(n) { return new Uint8Array(n); }\n\nfunction array16(n) { return new Uint16Array(n); }\n\nfunction array32(n) { return new Uint32Array(n); }\n\n\n/***/ }),\n/* 345 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(tag, attr, text) {\n var el = document.createElement(tag);\n for (var key in attr) el.setAttribute(key, attr[key]);\n if (text != null) el.textContent = text;\n return el;\n});\n\n\n/***/ }),\n/* 346 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__render_size__ = __webpack_require__(119);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(view, r, el, constructor, scaleFactor) {\n r = r || new constructor(view.loader());\n return r\n .initialize(el, Object(__WEBPACK_IMPORTED_MODULE_0__render_size__[\"d\" /* width */])(view), Object(__WEBPACK_IMPORTED_MODULE_0__render_size__[\"a\" /* height */])(view), Object(__WEBPACK_IMPORTED_MODULE_0__render_size__[\"b\" /* offset */])(view), scaleFactor)\n .background(view._background);\n});\n\n\n/***/ }),\n/* 347 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(view, fn) {\n return !fn ? null : function() {\n try {\n fn.apply(this, arguments);\n } catch (error) {\n view.error(error);\n }\n };\n});\n\n\n/***/ }),\n/* 348 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_parse__ = __webpack_require__(872);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_parse__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_config__ = __webpack_require__(365);\n/* unused harmony reexport config */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_parsers_signal__ = __webpack_require__(192);\n/* unused harmony reexport signal */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_parsers_signal_updates__ = __webpack_require__(349);\n/* unused harmony reexport signalUpdates */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__src_parsers_stream__ = __webpack_require__(356);\n/* unused harmony reexport stream */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__src_parsers_expression_codegen__ = __webpack_require__(350);\n/* unused harmony reexport codeGenerator */\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_5__src_parsers_expression_codegen__[\"d\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_5__src_parsers_expression_codegen__[\"c\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__src_parsers_marks_roles__ = __webpack_require__(14);\n/* unused harmony reexport MarkRole */\n/* unused harmony reexport FrameRole */\n/* unused harmony reexport ScopeRole */\n/* unused harmony reexport AxisRole */\n/* unused harmony reexport AxisDomainRole */\n/* unused harmony reexport AxisGridRole */\n/* unused harmony reexport AxisLabelRole */\n/* unused harmony reexport AxisTickRole */\n/* unused harmony reexport AxisTitleRole */\n/* unused harmony reexport LegendRole */\n/* unused harmony reexport LegendEntryRole */\n/* unused harmony reexport LegendLabelRole */\n/* unused harmony reexport LegendSymbolRole */\n/* unused harmony reexport LegendTitleRole */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__src_Scope__ = __webpack_require__(364);\n/* unused harmony reexport Scope */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__src_DataScope__ = __webpack_require__(82);\n/* unused harmony reexport DataScope */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_d3_format__ = __webpack_require__(77);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_9_d3_format__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_d3_time_format__ = __webpack_require__(66);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return __WEBPACK_IMPORTED_MODULE_10_d3_time_format__[\"b\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 349 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__expression__ = __webpack_require__(44);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__update__ = __webpack_require__(893);\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(signal, scope) {\n var op = scope.getSignal(signal.name);\n\n if (signal.update) {\n var expr = Object(__WEBPACK_IMPORTED_MODULE_0__expression__[\"a\" /* default */])(signal.update, scope);\n op.update = expr.$expr;\n op.params = expr.$params;\n }\n\n if (signal.on) {\n signal.on.forEach(function(_) {\n Object(__WEBPACK_IMPORTED_MODULE_1__update__[\"a\" /* default */])(_, scope, op.id);\n });\n }\n});\n\n\n/***/ }),\n/* 350 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return functionContext; });\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = expressionFunction;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return codegenParams; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return codeGenerator; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_expression__ = __webpack_require__(351);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_statistics__ = __webpack_require__(46);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_d3_color__ = __webpack_require__(33);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_d3_array__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__format__ = __webpack_require__(878);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__arrays__ = __webpack_require__(355);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__quarter__ = __webpack_require__(879);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__log__ = __webpack_require__(880);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__inscope__ = __webpack_require__(881);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__pinch__ = __webpack_require__(882);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__window__ = __webpack_require__(883);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__flush__ = __webpack_require__(884);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__merge__ = __webpack_require__(885);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__scale__ = __webpack_require__(121);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__scale_gradient__ = __webpack_require__(886);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__geo__ = __webpack_require__(887);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__shape__ = __webpack_require__(888);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__data__ = __webpack_require__(194);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__tree__ = __webpack_require__(889);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__encode__ = __webpack_require__(890);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__modify__ = __webpack_require__(891);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__selection__ = __webpack_require__(892);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// Expression function context object\nvar functionContext = {\n random: function() { return Object(__WEBPACK_IMPORTED_MODULE_2_vega_statistics__[\"d\" /* random */])(); }, // override default\n isArray: __WEBPACK_IMPORTED_MODULE_3_vega_util__[\"v\" /* isArray */],\n isBoolean: __WEBPACK_IMPORTED_MODULE_3_vega_util__[\"w\" /* isBoolean */],\n isDate: __WEBPACK_IMPORTED_MODULE_3_vega_util__[\"x\" /* isDate */],\n isNumber: __WEBPACK_IMPORTED_MODULE_3_vega_util__[\"z\" /* isNumber */],\n isObject: __WEBPACK_IMPORTED_MODULE_3_vega_util__[\"A\" /* isObject */],\n isRegExp: __WEBPACK_IMPORTED_MODULE_3_vega_util__[\"B\" /* isRegExp */],\n isString: __WEBPACK_IMPORTED_MODULE_3_vega_util__[\"C\" /* isString */],\n isTuple: __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"m\" /* isTuple */],\n toBoolean: __WEBPACK_IMPORTED_MODULE_3_vega_util__[\"P\" /* toBoolean */],\n toDate: __WEBPACK_IMPORTED_MODULE_3_vega_util__[\"Q\" /* toDate */],\n toNumber: __WEBPACK_IMPORTED_MODULE_3_vega_util__[\"R\" /* toNumber */],\n toString: __WEBPACK_IMPORTED_MODULE_3_vega_util__[\"T\" /* toString */],\n pad: __WEBPACK_IMPORTED_MODULE_3_vega_util__[\"H\" /* pad */],\n peek: __WEBPACK_IMPORTED_MODULE_3_vega_util__[\"L\" /* peek */],\n truncate: __WEBPACK_IMPORTED_MODULE_3_vega_util__[\"U\" /* truncate */],\n rgb: __WEBPACK_IMPORTED_MODULE_4_d3_color__[\"f\" /* rgb */],\n lab: __WEBPACK_IMPORTED_MODULE_4_d3_color__[\"e\" /* lab */],\n hcl: __WEBPACK_IMPORTED_MODULE_4_d3_color__[\"c\" /* hcl */],\n hsl: __WEBPACK_IMPORTED_MODULE_4_d3_color__[\"d\" /* hsl */],\n sequence: __WEBPACK_IMPORTED_MODULE_5_d3_array__[\"n\" /* range */],\n format: __WEBPACK_IMPORTED_MODULE_6__format__[\"c\" /* format */],\n utcFormat: __WEBPACK_IMPORTED_MODULE_6__format__[\"h\" /* utcFormat */],\n utcParse: __WEBPACK_IMPORTED_MODULE_6__format__[\"i\" /* utcParse */],\n timeFormat: __WEBPACK_IMPORTED_MODULE_6__format__[\"f\" /* timeFormat */],\n timeParse: __WEBPACK_IMPORTED_MODULE_6__format__[\"g\" /* timeParse */],\n monthFormat: __WEBPACK_IMPORTED_MODULE_6__format__[\"e\" /* monthFormat */],\n monthAbbrevFormat: __WEBPACK_IMPORTED_MODULE_6__format__[\"d\" /* monthAbbrevFormat */],\n dayFormat: __WEBPACK_IMPORTED_MODULE_6__format__[\"b\" /* dayFormat */],\n dayAbbrevFormat: __WEBPACK_IMPORTED_MODULE_6__format__[\"a\" /* dayAbbrevFormat */],\n quarter: __WEBPACK_IMPORTED_MODULE_8__quarter__[\"a\" /* quarter */],\n utcquarter: __WEBPACK_IMPORTED_MODULE_8__quarter__[\"b\" /* utcquarter */],\n warn: __WEBPACK_IMPORTED_MODULE_9__log__[\"c\" /* warn */],\n info: __WEBPACK_IMPORTED_MODULE_9__log__[\"b\" /* info */],\n debug: __WEBPACK_IMPORTED_MODULE_9__log__[\"a\" /* debug */],\n extent: __WEBPACK_IMPORTED_MODULE_7__arrays__[\"b\" /* extent */],\n inScope: __WEBPACK_IMPORTED_MODULE_10__inscope__[\"a\" /* default */],\n clampRange: __WEBPACK_IMPORTED_MODULE_7__arrays__[\"a\" /* clampRange */],\n pinchDistance: __WEBPACK_IMPORTED_MODULE_11__pinch__[\"b\" /* pinchDistance */],\n pinchAngle: __WEBPACK_IMPORTED_MODULE_11__pinch__[\"a\" /* pinchAngle */],\n screen: __WEBPACK_IMPORTED_MODULE_12__window__[\"b\" /* screen */],\n containerSize: __WEBPACK_IMPORTED_MODULE_12__window__[\"a\" /* containerSize */],\n windowSize: __WEBPACK_IMPORTED_MODULE_12__window__[\"c\" /* windowSize */],\n span: __WEBPACK_IMPORTED_MODULE_7__arrays__[\"d\" /* span */],\n merge: __WEBPACK_IMPORTED_MODULE_14__merge__[\"a\" /* default */],\n flush: __WEBPACK_IMPORTED_MODULE_13__flush__[\"a\" /* default */],\n bandspace: __WEBPACK_IMPORTED_MODULE_15__scale__[\"a\" /* bandspace */],\n inrange: __WEBPACK_IMPORTED_MODULE_7__arrays__[\"c\" /* inrange */],\n setdata: __WEBPACK_IMPORTED_MODULE_19__data__[\"e\" /* setdata */],\n pathShape: __WEBPACK_IMPORTED_MODULE_18__shape__[\"b\" /* pathShape */],\n panLinear: __WEBPACK_IMPORTED_MODULE_3_vega_util__[\"I\" /* panLinear */],\n panLog: __WEBPACK_IMPORTED_MODULE_3_vega_util__[\"J\" /* panLog */],\n panPow: __WEBPACK_IMPORTED_MODULE_3_vega_util__[\"K\" /* panPow */],\n zoomLinear: __WEBPACK_IMPORTED_MODULE_3_vega_util__[\"Y\" /* zoomLinear */],\n zoomLog: __WEBPACK_IMPORTED_MODULE_3_vega_util__[\"Z\" /* zoomLog */],\n zoomPow: __WEBPACK_IMPORTED_MODULE_3_vega_util__[\"_0\" /* zoomPow */],\n encode: __WEBPACK_IMPORTED_MODULE_21__encode__[\"a\" /* default */],\n modify: __WEBPACK_IMPORTED_MODULE_22__modify__[\"a\" /* default */]\n};\n\nvar eventFunctions = ['view', 'item', 'group', 'xy', 'x', 'y'], // event functions\n eventPrefix = 'event.vega.', // event function prefix\n thisPrefix = 'this.', // function context prefix\n astVisitors = {}; // AST visitors for dependency analysis\n\nfunction expressionFunction(name, fn, visitor) {\n if (arguments.length === 1) {\n return functionContext[name];\n }\n\n // register with the functionContext\n functionContext[name] = fn;\n\n // if there is an astVisitor register that, too\n if (visitor) astVisitors[name] = visitor;\n\n // if the code generator has already been initialized,\n // we need to also register the function with it\n if (codeGenerator) codeGenerator.functions[name] = thisPrefix + name;\n return this;\n}\n\n// register expression functions with ast visitors\nexpressionFunction('bandwidth', __WEBPACK_IMPORTED_MODULE_15__scale__[\"b\" /* bandwidth */], __WEBPACK_IMPORTED_MODULE_15__scale__[\"i\" /* scaleVisitor */]);\nexpressionFunction('copy', __WEBPACK_IMPORTED_MODULE_15__scale__[\"c\" /* copy */], __WEBPACK_IMPORTED_MODULE_15__scale__[\"i\" /* scaleVisitor */]);\nexpressionFunction('domain', __WEBPACK_IMPORTED_MODULE_15__scale__[\"d\" /* domain */], __WEBPACK_IMPORTED_MODULE_15__scale__[\"i\" /* scaleVisitor */]);\nexpressionFunction('range', __WEBPACK_IMPORTED_MODULE_15__scale__[\"g\" /* range */], __WEBPACK_IMPORTED_MODULE_15__scale__[\"i\" /* scaleVisitor */]);\nexpressionFunction('invert', __WEBPACK_IMPORTED_MODULE_15__scale__[\"f\" /* invert */], __WEBPACK_IMPORTED_MODULE_15__scale__[\"i\" /* scaleVisitor */]);\nexpressionFunction('scale', __WEBPACK_IMPORTED_MODULE_15__scale__[\"h\" /* scale */], __WEBPACK_IMPORTED_MODULE_15__scale__[\"i\" /* scaleVisitor */]);\nexpressionFunction('gradient', __WEBPACK_IMPORTED_MODULE_16__scale_gradient__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_15__scale__[\"i\" /* scaleVisitor */]);\nexpressionFunction('geoArea', __WEBPACK_IMPORTED_MODULE_17__geo__[\"a\" /* geoArea */], __WEBPACK_IMPORTED_MODULE_15__scale__[\"i\" /* scaleVisitor */]);\nexpressionFunction('geoBounds', __WEBPACK_IMPORTED_MODULE_17__geo__[\"b\" /* geoBounds */], __WEBPACK_IMPORTED_MODULE_15__scale__[\"i\" /* scaleVisitor */]);\nexpressionFunction('geoCentroid', __WEBPACK_IMPORTED_MODULE_17__geo__[\"c\" /* geoCentroid */], __WEBPACK_IMPORTED_MODULE_15__scale__[\"i\" /* scaleVisitor */]);\nexpressionFunction('geoShape', __WEBPACK_IMPORTED_MODULE_18__shape__[\"a\" /* geoShape */], __WEBPACK_IMPORTED_MODULE_15__scale__[\"i\" /* scaleVisitor */]);\nexpressionFunction('indata', __WEBPACK_IMPORTED_MODULE_19__data__[\"c\" /* indata */], __WEBPACK_IMPORTED_MODULE_19__data__[\"d\" /* indataVisitor */]);\nexpressionFunction('data', __WEBPACK_IMPORTED_MODULE_19__data__[\"a\" /* data */], __WEBPACK_IMPORTED_MODULE_19__data__[\"b\" /* dataVisitor */]);\nexpressionFunction('vlSingle', __WEBPACK_IMPORTED_MODULE_23__selection__[\"d\" /* vlPoint */], __WEBPACK_IMPORTED_MODULE_19__data__[\"b\" /* dataVisitor */]);\nexpressionFunction('vlSingleDomain', __WEBPACK_IMPORTED_MODULE_23__selection__[\"e\" /* vlPointDomain */], __WEBPACK_IMPORTED_MODULE_19__data__[\"b\" /* dataVisitor */]);\nexpressionFunction('vlMulti', __WEBPACK_IMPORTED_MODULE_23__selection__[\"d\" /* vlPoint */], __WEBPACK_IMPORTED_MODULE_23__selection__[\"c\" /* vlMultiVisitor */]);\nexpressionFunction('vlMultiDomain', __WEBPACK_IMPORTED_MODULE_23__selection__[\"e\" /* vlPointDomain */], __WEBPACK_IMPORTED_MODULE_23__selection__[\"c\" /* vlMultiVisitor */]);\nexpressionFunction('vlInterval', __WEBPACK_IMPORTED_MODULE_23__selection__[\"a\" /* vlInterval */], __WEBPACK_IMPORTED_MODULE_19__data__[\"b\" /* dataVisitor */]);\nexpressionFunction('vlIntervalDomain', __WEBPACK_IMPORTED_MODULE_23__selection__[\"b\" /* vlIntervalDomain */], __WEBPACK_IMPORTED_MODULE_19__data__[\"b\" /* dataVisitor */]);\nexpressionFunction('treePath', __WEBPACK_IMPORTED_MODULE_20__tree__[\"b\" /* treePath */], __WEBPACK_IMPORTED_MODULE_19__data__[\"b\" /* dataVisitor */]);\nexpressionFunction('treeAncestors', __WEBPACK_IMPORTED_MODULE_20__tree__[\"a\" /* treeAncestors */], __WEBPACK_IMPORTED_MODULE_19__data__[\"b\" /* dataVisitor */]);\n\n// Build expression function registry\nfunction buildFunctions(codegen) {\n var fn = Object(__WEBPACK_IMPORTED_MODULE_1_vega_expression__[\"c\" /* functions */])(codegen);\n eventFunctions.forEach(function(name) { fn[name] = eventPrefix + name; });\n for (var name in functionContext) { fn[name] = thisPrefix + name; }\n return fn;\n}\n\n// Export code generator and parameters\nvar codegenParams = {\n blacklist: ['_'],\n whitelist: ['datum', 'event', 'item'],\n fieldvar: 'datum',\n globalvar: function(id) { return '_[' + Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"O\" /* stringValue */])('$' + id) + ']'; },\n functions: buildFunctions,\n constants: __WEBPACK_IMPORTED_MODULE_1_vega_expression__[\"b\" /* constants */],\n visitors: astVisitors\n};\n\nvar codeGenerator = Object(__WEBPACK_IMPORTED_MODULE_1_vega_expression__[\"a\" /* codegen */])(codegenParams);\n\n\n/***/ }),\n/* 351 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_ast__ = __webpack_require__(352);\n/* unused harmony reexport ASTNode */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_parser__ = __webpack_require__(876);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_parser__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_codegen__ = __webpack_require__(877);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_codegen__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_functions__ = __webpack_require__(354);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_3__src_functions__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__src_constants__ = __webpack_require__(353);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_4__src_constants__[\"a\"]; });\n\n\n\n\n\n\n\n/***/ }),\n/* 352 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = ASTNode;\nfunction ASTNode(type) {\n this.type = type;\n}\n\nASTNode.prototype.visit = function(visitor) {\n var node = this, c, i, n;\n\n if (visitor(node)) return 1;\n\n for (c=children(node), i=0, n=c.length; i<n; ++i) {\n if (c[i].visit(visitor)) return 1;\n }\n};\n\nfunction children(node) {\n switch (node.type) {\n case 'ArrayExpression':\n return node.elements;\n case 'BinaryExpression':\n case 'LogicalExpression':\n return [node.left, node.right];\n case 'CallExpression':\n var args = node.arguments.slice();\n args.unshift(node.callee);\n return args;\n case 'ConditionalExpression':\n return [node.test, node.consequent, node.alternate];\n case 'MemberExpression':\n return [node.object, node.property];\n case 'ObjectExpression':\n return node.properties;\n case 'Property':\n return [node.key, node.value];\n case 'UnaryExpression':\n return [node.argument];\n case 'Identifier':\n case 'Literal':\n case 'RawCode':\n default:\n return [];\n }\n}\n\n\n/***/ }),\n/* 353 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n NaN: 'NaN',\n E: 'Math.E',\n LN2: 'Math.LN2',\n LN10: 'Math.LN10',\n LOG2E: 'Math.LOG2E',\n LOG10E: 'Math.LOG10E',\n PI: 'Math.PI',\n SQRT1_2: 'Math.SQRT1_2',\n SQRT2: 'Math.SQRT2',\n MIN_VALUE: 'Number.MIN_VALUE',\n MAX_VALUE: 'Number.MAX_VALUE'\n});\n\n\n/***/ }),\n/* 354 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(codegen) {\n\n function fncall(name, args, cast, type) {\n var obj = codegen(args[0]);\n if (cast) {\n obj = cast + '(' + obj + ')';\n if (cast.lastIndexOf('new ', 0) === 0) obj = '(' + obj + ')';\n }\n return obj + '.' + name + (type < 0 ? '' : type === 0 ?\n '()' :\n '(' + args.slice(1).map(codegen).join(',') + ')');\n }\n\n function fn(name, cast, type) {\n return function(args) {\n return fncall(name, args, cast, type);\n };\n }\n\n var DATE = 'new Date',\n STRING = 'String',\n REGEXP = 'RegExp';\n\n return {\n // MATH functions\n isNaN: 'isNaN',\n isFinite: 'isFinite',\n abs: 'Math.abs',\n acos: 'Math.acos',\n asin: 'Math.asin',\n atan: 'Math.atan',\n atan2: 'Math.atan2',\n ceil: 'Math.ceil',\n cos: 'Math.cos',\n exp: 'Math.exp',\n floor: 'Math.floor',\n log: 'Math.log',\n max: 'Math.max',\n min: 'Math.min',\n pow: 'Math.pow',\n random: 'Math.random',\n round: 'Math.round',\n sin: 'Math.sin',\n sqrt: 'Math.sqrt',\n tan: 'Math.tan',\n\n clamp: function(args) {\n if (args.length < 3) Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"m\" /* error */])('Missing arguments to clamp function.');\n if (args.length > 3) Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"m\" /* error */])('Too many arguments to clamp function.');\n var a = args.map(codegen);\n return 'Math.max('+a[1]+', Math.min('+a[2]+','+a[0]+'))';\n },\n\n // DATE functions\n now: 'Date.now',\n utc: 'Date.UTC',\n datetime: DATE,\n date: fn('getDate', DATE, 0),\n day: fn('getDay', DATE, 0),\n year: fn('getFullYear', DATE, 0),\n month: fn('getMonth', DATE, 0),\n hours: fn('getHours', DATE, 0),\n minutes: fn('getMinutes', DATE, 0),\n seconds: fn('getSeconds', DATE, 0),\n milliseconds: fn('getMilliseconds', DATE, 0),\n time: fn('getTime', DATE, 0),\n timezoneoffset: fn('getTimezoneOffset', DATE, 0),\n utcdate: fn('getUTCDate', DATE, 0),\n utcday: fn('getUTCDay', DATE, 0),\n utcyear: fn('getUTCFullYear', DATE, 0),\n utcmonth: fn('getUTCMonth', DATE, 0),\n utchours: fn('getUTCHours', DATE, 0),\n utcminutes: fn('getUTCMinutes', DATE, 0),\n utcseconds: fn('getUTCSeconds', DATE, 0),\n utcmilliseconds: fn('getUTCMilliseconds', DATE, 0),\n\n // shared sequence functions\n length: fn('length', null, -1),\n indexof: fn('indexOf', null),\n lastindexof: fn('lastIndexOf', null),\n slice: fn('slice', null),\n\n // STRING functions\n parseFloat: 'parseFloat',\n parseInt: 'parseInt',\n upper: fn('toUpperCase', STRING, 0),\n lower: fn('toLowerCase', STRING, 0),\n substring: fn('substring', STRING),\n replace: fn('replace', STRING),\n\n // REGEXP functions\n regexp: REGEXP,\n test: fn('test', REGEXP),\n\n // Control Flow functions\n if: function(args) {\n if (args.length < 3) Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"m\" /* error */])('Missing arguments to if function.');\n if (args.length > 3) Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"m\" /* error */])('Too many arguments to if function.');\n var a = args.map(codegen);\n return '('+a[0]+'?'+a[1]+':'+a[2]+')';\n }\n };\n});\n\n\n/***/ }),\n/* 355 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = extent;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = inrange;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = clampRange;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = span;\n/**\n * Return an array with minimum and maximum values, in the\n * form [min, max]. Ignores null, undefined, and NaN values.\n */\nfunction extent(array) {\n var i = 0, n, v, min, max;\n\n if (array && (n = array.length)) {\n // find first valid value\n for (v = array[i]; v == null || v !== v; v = array[++i]);\n min = max = v;\n\n // visit all other values\n for (; i<n; ++i) {\n v = array[i];\n // skip null/undefined; NaN will fail all comparisons\n if (v != null) {\n if (v < min) min = v;\n if (v > max) max = v;\n }\n }\n }\n\n return [min, max];\n}\n\n/**\n * Predicate that returns true if the value lies within the span\n * of the given range. The left and right flags control the use\n * of inclusive (true) or exclusive (false) comparisons.\n */\nfunction inrange(value, range, left, right) {\n var r0 = range[0], r1 = range[range.length-1], t;\n if (r0 > r1) {\n t = r0;\n r0 = r1;\n r1 = t;\n }\n left = left === undefined || left;\n right = right === undefined || right;\n\n return (left ? r0 <= value : r0 < value) &&\n (right ? value <= r1 : value < r1);\n}\n\n/**\n * Span-preserving range clamp. If the span of the input range is less\n * than (max - min) and an endpoint exceeds either the min or max value,\n * the range is translated such that the span is preserved and one\n * endpoint touches the boundary of the min/max range.\n * If the span exceeds (max - min), the range [min, max] is returned.\n */\nfunction clampRange(range, min, max) {\n var lo = range[0],\n hi = range[1],\n span;\n\n if (hi < lo) {\n span = hi;\n hi = lo;\n lo = span;\n }\n span = hi - lo;\n\n return span >= (max - min)\n ? [min, max]\n : [\n (lo = Math.min(Math.max(lo, min), max - span)),\n lo + span\n ];\n}\n\n/**\n * Return the numerical span of an array: the difference between\n * the last and first values.\n */\nfunction span(array) {\n return (array[array.length-1] - array[0]) || 0;\n}\n\n\n/***/ }),\n/* 356 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = parseStream;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__expression__ = __webpack_require__(44);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n\n\n\n\nvar Timer = 'timer';\n\nfunction parseStream(stream, scope) {\n var method = stream.merge ? mergeStream\n : stream.stream ? nestedStream\n : stream.type ? eventStream\n : Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"m\" /* error */])('Invalid stream specification: ' + Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"O\" /* stringValue */])(stream));\n\n return method(stream, scope);\n}\n\nfunction eventSource(source) {\n return source === __WEBPACK_IMPORTED_MODULE_1__util__[\"c\" /* Scope */] ? __WEBPACK_IMPORTED_MODULE_1__util__[\"d\" /* View */] : (source || __WEBPACK_IMPORTED_MODULE_1__util__[\"d\" /* View */]);\n}\n\nfunction mergeStream(stream, scope) {\n var list = stream.merge.map(function(s) {\n return parseStream(s, scope);\n });\n\n var entry = streamParameters({merge: list}, stream, scope);\n return scope.addStream(entry).id;\n}\n\nfunction nestedStream(stream, scope) {\n var id = parseStream(stream.stream, scope),\n entry = streamParameters({stream: id}, stream, scope);\n return scope.addStream(entry).id;\n}\n\nfunction eventStream(stream, scope) {\n var id, entry;\n\n if (stream.type === Timer) {\n id = scope.event(Timer, stream.throttle);\n stream = {between: stream.between, filter: stream.filter};\n } else {\n id = scope.event(eventSource(stream.source), stream.type);\n }\n\n entry = streamParameters({stream: id}, stream, scope);\n return Object.keys(entry).length === 1\n ? id\n : scope.addStream(entry).id;\n}\n\nfunction streamParameters(entry, stream, scope) {\n var param = stream.between;\n\n if (param) {\n if (param.length !== 2) {\n Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"m\" /* error */])('Stream \"between\" parameter must have 2 entries: ' + Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"O\" /* stringValue */])(stream));\n }\n entry.between = [\n parseStream(param[0], scope),\n parseStream(param[1], scope)\n ];\n }\n\n param = stream.filter ? Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"i\" /* array */])(stream.filter) : [];\n if (stream.marktype || stream.markname || stream.markrole) {\n // add filter for mark type, name and/or role\n param.push(filterMark(stream.marktype, stream.markname, stream.markrole));\n }\n if (stream.source === __WEBPACK_IMPORTED_MODULE_1__util__[\"c\" /* Scope */]) {\n // add filter to limit events from sub-scope only\n param.push('inScope(event.item)');\n }\n if (param.length) {\n entry.filter = Object(__WEBPACK_IMPORTED_MODULE_0__expression__[\"a\" /* default */])('(' + param.join(')&&(') + ')').$expr;\n }\n\n if ((param = stream.throttle) != null) {\n entry.throttle = +param;\n }\n\n if ((param = stream.debounce) != null) {\n entry.debounce = +param;\n }\n\n if (stream.consume) {\n entry.consume = true;\n }\n\n return entry;\n}\n\nfunction filterMark(type, name, role) {\n var item = 'event.item';\n return item\n + (type && type !== '*' ? '&&' + item + '.mark.marktype===\\'' + type + '\\'' : '')\n + (role ? '&&' + item + '.mark.role===\\'' + role + '\\'' : '')\n + (name ? '&&' + item + '.mark.name===\\'' + name + '\\'' : '');\n}\n\n\n/***/ }),\n/* 357 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export isOrdinal */\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = isDiscretizing;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = isContinuous;\n/* unused harmony export isQuantile */\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = initScale;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = parseScale;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__transforms__ = __webpack_require__(25);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n\n\n\n\nvar FIELD_REF_ID = 0;\n\nvar types = [\n 'identity',\n 'ordinal', 'band', 'point',\n 'bin-linear', 'bin-ordinal',\n 'quantize', 'quantile', 'threshold',\n 'linear', 'pow', 'sqrt', 'log', 'sequential',\n 'time', 'utc'\n];\n\nvar allTypes = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"S\" /* toSet */])(types),\n discreteTypes = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"S\" /* toSet */])(types.slice(4, 9)),\n continuousTypes = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"S\" /* toSet */])(types.slice(9)),\n ordinalTypes = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"S\" /* toSet */])(types.slice(1, 6));\n\nfunction isOrdinal(type) {\n return ordinalTypes.hasOwnProperty(type);\n}\n\nfunction isDiscretizing(type) {\n return discreteTypes.hasOwnProperty(type);\n}\n\nfunction isContinuous(type) {\n return continuousTypes.hasOwnProperty(type);\n}\n\nfunction isQuantile(type) {\n return type === 'quantile';\n}\n\nfunction initScale(spec, scope) {\n var type = spec.type || 'linear';\n\n if (!allTypes.hasOwnProperty(type)) {\n Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"m\" /* error */])('Unrecognized scale type: ' + Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"O\" /* stringValue */])(type));\n }\n\n scope.addScale(spec.name, {\n type: type,\n domain: undefined\n });\n}\n\nfunction parseScale(spec, scope) {\n var params = scope.getScale(spec.name).params,\n key;\n\n params.domain = parseScaleDomain(spec.domain, spec, scope);\n\n if (spec.range != null) {\n params.range = parseScaleRange(spec, scope, params);\n }\n\n if (spec.interpolate != null) {\n parseScaleInterpolate(spec.interpolate, params);\n }\n\n if (spec.nice != null) {\n parseScaleNice(spec.nice, params);\n }\n\n for (key in spec) {\n if (params.hasOwnProperty(key) || key === 'name') continue;\n params[key] = parseLiteral(spec[key], scope);\n }\n}\n\nfunction parseLiteral(v, scope) {\n return !Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"A\" /* isObject */])(v) ? v\n : v.signal ? scope.signalRef(v.signal)\n : Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"m\" /* error */])('Unsupported object: ' + Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"O\" /* stringValue */])(v));\n}\n\nfunction parseArray(v, scope) {\n return v.signal\n ? scope.signalRef(v.signal)\n : v.map(function(v) { return parseLiteral(v, scope); });\n}\n\nfunction dataLookupError(name) {\n Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"m\" /* error */])('Can not find data set: ' + Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"O\" /* stringValue */])(name));\n}\n\n// -- SCALE DOMAIN ----\n\nfunction parseScaleDomain(domain, spec, scope) {\n if (!domain) {\n if (spec.domainMin != null || spec.domainMax != null) {\n Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"m\" /* error */])('No scale domain defined for domainMin/domainMax to override.');\n }\n return; // default domain\n }\n\n return domain.signal ? scope.signalRef(domain.signal)\n : (Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"v\" /* isArray */])(domain) ? explicitDomain\n : domain.fields ? multipleDomain\n : singularDomain)(domain, spec, scope);\n}\n\nfunction explicitDomain(domain, spec, scope) {\n return domain.map(function(v) {\n return parseLiteral(v, scope);\n });\n}\n\nfunction singularDomain(domain, spec, scope) {\n var data = scope.getData(domain.data);\n if (!data) dataLookupError(domain.data);\n\n return isOrdinal(spec.type)\n ? data.valuesRef(scope, domain.field, parseSort(domain.sort, false))\n : isQuantile(spec.type) ? data.domainRef(scope, domain.field)\n : data.extentRef(scope, domain.field);\n}\n\nfunction multipleDomain(domain, spec, scope) {\n var data = domain.data,\n fields = domain.fields.reduce(function(dom, d) {\n d = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"C\" /* isString */])(d) ? {data: data, field: d}\n : (Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"v\" /* isArray */])(d) || d.signal) ? fieldRef(d, scope)\n : d;\n dom.push(d);\n return dom;\n }, []);\n\n return (isOrdinal(spec.type) ? ordinalMultipleDomain\n : isQuantile(spec.type) ? quantileMultipleDomain\n : numericMultipleDomain)(domain, scope, fields);\n}\n\nfunction fieldRef(data, scope) {\n var name = '_:vega:_' + (FIELD_REF_ID++),\n coll = Object(__WEBPACK_IMPORTED_MODULE_1__transforms__[\"d\" /* Collect */])({});\n\n if (Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"v\" /* isArray */])(data)) {\n coll.value = {$ingest: data};\n } else if (data.signal) {\n var code = 'setdata(' + Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"O\" /* stringValue */])(name) + ',' + data.signal + ')';\n coll.params.input = scope.signalRef(code);\n }\n scope.addDataPipeline(name, [coll, Object(__WEBPACK_IMPORTED_MODULE_1__transforms__[\"y\" /* Sieve */])({})]);\n return {data: name, field: 'data'};\n}\n\nfunction ordinalMultipleDomain(domain, scope, fields) {\n var counts, a, c, v;\n\n // get value counts for each domain field\n counts = fields.map(function(f) {\n var data = scope.getData(f.data);\n if (!data) dataLookupError(f.data);\n return data.countsRef(scope, f.field);\n });\n\n // sum counts from all fields\n a = scope.add(Object(__WEBPACK_IMPORTED_MODULE_1__transforms__[\"a\" /* Aggregate */])({\n groupby: __WEBPACK_IMPORTED_MODULE_0__util__[\"l\" /* keyFieldRef */],\n ops:['sum'], fields: [scope.fieldRef('count')], as:['count'],\n pulse: counts\n }));\n\n // collect aggregate output\n c = scope.add(Object(__WEBPACK_IMPORTED_MODULE_1__transforms__[\"d\" /* Collect */])({pulse: Object(__WEBPACK_IMPORTED_MODULE_0__util__[\"o\" /* ref */])(a)}));\n\n // extract values for combined domain\n v = scope.add(Object(__WEBPACK_IMPORTED_MODULE_1__transforms__[\"A\" /* Values */])({\n field: __WEBPACK_IMPORTED_MODULE_0__util__[\"l\" /* keyFieldRef */],\n sort: scope.sortRef(parseSort(domain.sort, true)),\n pulse: Object(__WEBPACK_IMPORTED_MODULE_0__util__[\"o\" /* ref */])(c)\n }));\n\n return Object(__WEBPACK_IMPORTED_MODULE_0__util__[\"o\" /* ref */])(v);\n}\n\nfunction parseSort(sort, multidomain) {\n if (sort) {\n if (!sort.field && !sort.op) {\n if (Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"A\" /* isObject */])(sort)) sort.field = 'key';\n else sort = {field: 'key'};\n } else if (!sort.field && sort.op !== 'count') {\n Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"m\" /* error */])('No field provided for sort aggregate op: ' + sort.op);\n } else if (multidomain && sort.field) {\n Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"m\" /* error */])('Multiple domain scales can not sort by field.');\n } else if (multidomain && sort.op && sort.op !== 'count') {\n Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"m\" /* error */])('Multiple domain scales support op count only.');\n }\n }\n return sort;\n}\n\nfunction quantileMultipleDomain(domain, scope, fields) {\n // get value arrays for each domain field\n var values = fields.map(function(f) {\n var data = scope.getData(f.data);\n if (!data) dataLookupError(f.data);\n return data.domainRef(scope, f.field);\n });\n\n // combine value arrays\n return Object(__WEBPACK_IMPORTED_MODULE_0__util__[\"o\" /* ref */])(scope.add(Object(__WEBPACK_IMPORTED_MODULE_1__transforms__[\"p\" /* MultiValues */])({values: values})));\n}\n\nfunction numericMultipleDomain(domain, scope, fields) {\n // get extents for each domain field\n var extents = fields.map(function(f) {\n var data = scope.getData(f.data);\n if (!data) dataLookupError(f.data);\n return data.extentRef(scope, f.field);\n });\n\n // combine extents\n return Object(__WEBPACK_IMPORTED_MODULE_0__util__[\"o\" /* ref */])(scope.add(Object(__WEBPACK_IMPORTED_MODULE_1__transforms__[\"o\" /* MultiExtent */])({extents: extents})));\n}\n\n// -- SCALE NICE -----\n\nfunction parseScaleNice(nice, params) {\n params.nice = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"A\" /* isObject */])(nice)\n ? {\n interval: parseLiteral(nice.interval),\n step: parseLiteral(nice.step)\n }\n : parseLiteral(nice);\n}\n\n// -- SCALE INTERPOLATION -----\n\nfunction parseScaleInterpolate(interpolate, params) {\n params.interpolate = parseLiteral(interpolate.type || interpolate);\n if (interpolate.gamma != null) {\n params.interpolateGamma = parseLiteral(interpolate.gamma);\n }\n}\n\n// -- SCALE RANGE -----\n\nfunction parseScaleRange(spec, scope, params) {\n var range = spec.range,\n config = scope.config.range;\n\n if (range.signal) {\n return scope.signalRef(range.signal);\n } else if (Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"C\" /* isString */])(range)) {\n if (config && config.hasOwnProperty(range)) {\n spec = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"n\" /* extend */])({}, spec, {range: config[range]});\n return parseScaleRange(spec, scope, params);\n } else if (range === 'width') {\n range = [0, {signal: 'width'}]\n } else if (range === 'height') {\n range = isOrdinal(spec.type)\n ? [0, {signal: 'height'}]\n : [{signal: 'height'}, 0]\n } else {\n Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"m\" /* error */])('Unrecognized scale range value: ' + Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"O\" /* stringValue */])(range));\n }\n } else if (range.scheme) {\n params.scheme = parseLiteral(range.scheme, scope);\n if (range.extent) params.schemeExtent = parseArray(range.extent, scope);\n if (range.count) params.schemeCount = parseLiteral(range.count, scope);\n return;\n } else if (range.step) {\n params.rangeStep = parseLiteral(range.step, scope);\n return;\n } else if (isOrdinal(spec.type) && !Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"v\" /* isArray */])(range)) {\n return parseScaleDomain(range, spec, scope);\n } else if (!Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"v\" /* isArray */])(range)) {\n Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"m\" /* error */])('Unsupported range type: ' + Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"O\" /* stringValue */])(range));\n }\n\n return range.map(function(v) {\n return parseLiteral(v, scope);\n });\n}\n\n\n/***/ }),\n/* 358 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__expression__ = __webpack_require__(125);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(ref, scope, params, fields) {\n return resolve(Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"A\" /* isObject */])(ref) ? ref : {datum: ref}, scope, params, fields);\n});\n\nfunction resolve(ref, scope, params, fields) {\n var object, level, field;\n\n if (ref.signal) {\n object = 'datum';\n field = Object(__WEBPACK_IMPORTED_MODULE_0__expression__[\"a\" /* default */])(ref.signal, scope, params, fields);\n } else if (ref.group || ref.parent) {\n level = Math.max(1, ref.level || 1);\n object = 'item';\n\n while (level-- > 0) {\n object += '.mark.group';\n }\n\n if (ref.parent) {\n field = ref.parent;\n object += '.datum';\n } else {\n field = ref.group;\n }\n } else if (ref.datum) {\n object = 'datum';\n field = ref.datum;\n } else {\n Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"m\" /* error */])('Invalid field reference: ' + Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"O\" /* stringValue */])(ref));\n }\n\n if (!ref.signal) {\n if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"C\" /* isString */])(field)) {\n fields[field] = 1; // TODO review field tracking?\n field = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"N\" /* splitAccessPath */])(field).map(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"O\" /* stringValue */]).join('][');\n } else {\n field = resolve(field, scope, params, fields);\n }\n }\n\n return object + '[' + field + ']';\n}\n\n\n/***/ }),\n/* 359 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = getScale;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__expression__ = __webpack_require__(125);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__field__ = __webpack_require__(358);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__expression_prefixes__ = __webpack_require__(122);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vega_util__ = __webpack_require__(0);\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(enc, value, scope, params, fields) {\n var scale = getScale(enc.scale, scope, params, fields),\n interp, func, flag;\n\n if (enc.range != null) {\n // pull value from scale range\n interp = +enc.range;\n func = scale + '.range()';\n value = (interp === 0) ? (func + '[0]')\n : '($=' + func + ',' + ((interp === 1) ? '$[$.length-1]'\n : '$[0]+' + interp + '*($[$.length-1]-$[0])') + ')';\n } else {\n // run value through scale and/or pull scale bandwidth\n if (value !== undefined) value = scale + '(' + value + ')';\n\n if (enc.band && (flag = hasBandwidth(enc.scale, scope))) {\n func = scale + '.bandwidth';\n interp = +enc.band;\n interp = func + '()' + (interp===1 ? '' : '*' + interp);\n\n // if we don't know the scale type, check for bandwidth\n if (flag < 0) interp = '(' + func + '?' + interp + ':0)';\n\n value = (value ? value + '+' : '') + interp;\n\n if (enc.extra) {\n // include logic to handle extraneous elements\n value = '(datum.extra?' + scale + '(datum.extra.value):' + value + ')';\n }\n }\n\n if (value == null) value = '0';\n }\n\n return value;\n});\n\nfunction hasBandwidth(name, scope) {\n if (!Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"C\" /* isString */])(name)) return -1;\n var type = scope.scaleType(name);\n return type === 'band' || type === 'point' ? 1 : 0;\n}\n\nfunction getScale(name, scope, params, fields) {\n var scaleName;\n\n if (Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"C\" /* isString */])(name)) {\n // direct scale lookup; add scale as parameter\n scaleName = __WEBPACK_IMPORTED_MODULE_2__expression_prefixes__[\"c\" /* scalePrefix */] + name;\n if (!params.hasOwnProperty(scaleName)) {\n params[scaleName] = scope.scaleRef(name);\n }\n scaleName = Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"O\" /* stringValue */])(scaleName);\n } else {\n // indirect scale lookup; add all scales as parameters\n for (scaleName in scope.scales) {\n params[__WEBPACK_IMPORTED_MODULE_2__expression_prefixes__[\"c\" /* scalePrefix */] + scaleName] = scope.scaleRef(scaleName);\n }\n scaleName = Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"O\" /* stringValue */])(__WEBPACK_IMPORTED_MODULE_2__expression_prefixes__[\"c\" /* scalePrefix */]) + '+'\n + (name.signal\n ? '(' + Object(__WEBPACK_IMPORTED_MODULE_0__expression__[\"a\" /* default */])(name.signal, scope, params, fields) + ')'\n : Object(__WEBPACK_IMPORTED_MODULE_1__field__[\"a\" /* default */])(name, scope, params, fields));\n }\n\n return '_[' + scaleName + ']';\n}\n\n\n/***/ }),\n/* 360 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(obj, key, value) {\n return obj + '[' + Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"O\" /* stringValue */])(key) + ']=' + value + ';';\n});\n\n\n/***/ }),\n/* 361 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__marktypes__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__roles__ = __webpack_require__(14);\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(spec) {\n var role = spec.role || '';\n return (!role.indexOf('axis') || !role.indexOf('legend'))\n ? role\n : spec.type === __WEBPACK_IMPORTED_MODULE_0__marktypes__[\"a\" /* GroupMark */] ? __WEBPACK_IMPORTED_MODULE_1__roles__[\"p\" /* ScopeRole */] : (role || __WEBPACK_IMPORTED_MODULE_1__roles__[\"o\" /* MarkRole */]);\n});\n\n\n/***/ }),\n/* 362 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = getDataRef;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__transform__ = __webpack_require__(196);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__transforms__ = __webpack_require__(25);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vega_util__ = __webpack_require__(0);\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(from, group, scope) {\n var facet, key, op, dataRef, parent;\n\n // if no source data, generate singleton datum\n if (!from) {\n dataRef = Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"o\" /* ref */])(scope.add(Object(__WEBPACK_IMPORTED_MODULE_2__transforms__[\"d\" /* Collect */])(null, [{}])));\n }\n\n // if faceted, process facet specification\n else if (facet = from.facet) {\n if (!group) Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"m\" /* error */])('Only group marks can be faceted.');\n\n // use pre-faceted source data, if available\n if (facet.field != null) {\n dataRef = parent = getDataRef(facet, scope);\n } else {\n // generate facet aggregates if no direct data specification\n if (!from.data) {\n op = Object(__WEBPACK_IMPORTED_MODULE_0__transform__[\"a\" /* default */])(Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"n\" /* extend */])({\n type: 'aggregate',\n groupby: Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"i\" /* array */])(facet.groupby)\n }, facet.aggregate), scope);\n op.params.key = scope.keyRef(facet.groupby);\n op.params.pulse = getDataRef(facet, scope);\n dataRef = parent = Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"o\" /* ref */])(scope.add(op));\n } else {\n parent = Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"o\" /* ref */])(scope.getData(from.data).aggregate);\n }\n\n key = scope.keyRef(facet.groupby, true);\n }\n }\n\n // if not yet defined, get source data reference\n if (!dataRef) {\n dataRef = getDataRef(from, scope);\n }\n\n return {\n key: key,\n pulse: dataRef,\n parent: parent\n };\n});\n\nfunction getDataRef(from, scope) {\n return from.$ref ? from\n : from.data && from.data.$ref ? from.data\n : Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"o\" /* ref */])(scope.getData(from.data).output);\n}\n\n/***/ }),\n/* 363 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__expression__ = __webpack_require__(44);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(12);\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(spec, scope, name) {\n var remove = spec.remove,\n insert = spec.insert,\n toggle = spec.toggle,\n modify = spec.modify,\n values = spec.values,\n op = scope.add(Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"n\" /* operator */])()),\n update, expr;\n\n update = 'if(' + spec.trigger + ',modify(\"'\n + name + '\",'\n + [insert, remove, toggle, modify, values]\n .map(function(_) { return _ == null ? 'null' : _; })\n .join(',')\n + '),0)';\n\n expr = Object(__WEBPACK_IMPORTED_MODULE_0__expression__[\"a\" /* default */])(update, scope);\n op.update = expr.$expr;\n op.params = expr.$params;\n});\n\n\n/***/ }),\n/* 364 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Scope;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__DataScope__ = __webpack_require__(82);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__parsers_expression__ = __webpack_require__(44);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__transforms__ = __webpack_require__(25);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_vega_util__ = __webpack_require__(0);\n\n\n\n\n\n\nfunction Scope(config) {\n this.config = config;\n\n this.bindings = [];\n this.field = {};\n this.signals = {};\n this.lambdas = {};\n this.scales = {};\n this.events = {};\n this.data = {};\n\n this.streams = [];\n this.updates = [];\n this.operators = [];\n this.background = null;\n this.eventConfig = null;\n\n this._id = 0;\n this._subid = 0;\n this._nextsub = [0];\n\n this._parent = [];\n this._encode = [];\n this._lookup = [];\n this._markpath = [];\n}\n\nfunction Subscope(scope) {\n this.config = scope.config;\n\n this.field = Object.create(scope.field);\n this.signals = Object.create(scope.signals);\n this.lambdas = Object.create(scope.lambdas);\n this.scales = Object.create(scope.scales);\n this.events = Object.create(scope.events);\n this.data = Object.create(scope.data);\n\n this.streams = [];\n this.updates = [];\n this.operators = [];\n\n this._id = 0;\n this._subid = ++scope._nextsub[0];\n this._nextsub = scope._nextsub;\n\n this._parent = scope._parent.slice();\n this._encode = scope._encode.slice();\n this._lookup = scope._lookup.slice();\n this._markpath = scope._markpath;\n}\n\nvar prototype = Scope.prototype = Subscope.prototype;\n\n// ----\n\nprototype.fork = function() {\n return new Subscope(this);\n};\n\nprototype.isSubscope = function() {\n return this._subid > 0;\n};\n\nprototype.toRuntime = function() {\n this.finish();\n return {\n background: this.background,\n operators: this.operators,\n streams: this.streams,\n updates: this.updates,\n bindings: this.bindings,\n eventConfig: this.eventConfig\n };\n};\n\nprototype.id = function() {\n return (this._subid ? this._subid + ':' : 0) + this._id++;\n};\n\nprototype.add = function(op) {\n this.operators.push(op);\n op.id = this.id();\n // if pre-registration references exist, resolve them now\n if (op.refs) {\n op.refs.forEach(function(ref) { ref.$ref = op.id; });\n op.refs = null;\n }\n return op;\n};\n\nprototype.proxy = function(op) {\n var vref = op instanceof __WEBPACK_IMPORTED_MODULE_1__util__[\"b\" /* Entry */] ? Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"o\" /* ref */])(op) : op;\n return this.add(Object(__WEBPACK_IMPORTED_MODULE_3__transforms__[\"u\" /* Proxy */])({value: vref}));\n};\n\nprototype.addStream = function(stream) {\n this.streams.push(stream);\n stream.id = this.id();\n return stream;\n};\n\nprototype.addUpdate = function(update) {\n this.updates.push(update);\n return update;\n};\n\n// Apply metadata\nprototype.finish = function() {\n var name, ds;\n\n // annotate root\n if (this.root) this.root.root = true;\n\n // annotate signals\n for (name in this.signals) {\n this.signals[name].signal = name;\n }\n\n // annotate scales\n for (name in this.scales) {\n this.scales[name].scale = name;\n }\n\n // annotate data sets\n function annotate(op, name, type) {\n var data, list;\n if (op) {\n data = op.data || (op.data = {});\n list = data[name] || (data[name] = []);\n list.push(type);\n }\n }\n for (name in this.data) {\n ds = this.data[name];\n annotate(ds.input, name, 'input');\n annotate(ds.output, name, 'output');\n annotate(ds.values, name, 'values');\n for (var field in ds.index) {\n annotate(ds.index[field], name, 'index:' + field);\n }\n }\n\n return this;\n};\n\n// ----\n\nprototype.pushState = function(encode, parent, lookup) {\n this._encode.push(Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"o\" /* ref */])(this.add(Object(__WEBPACK_IMPORTED_MODULE_3__transforms__[\"y\" /* Sieve */])({pulse: encode}))));\n this._parent.push(parent);\n this._lookup.push(lookup ? Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"o\" /* ref */])(this.proxy(lookup)) : null);\n this._markpath.push(-1);\n};\n\nprototype.popState = function() {\n this._encode.pop();\n this._parent.pop();\n this._lookup.pop();\n this._markpath.pop();\n};\n\nprototype.parent = function() {\n return Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"L\" /* peek */])(this._parent);\n};\n\nprototype.encode = function() {\n return Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"L\" /* peek */])(this._encode);\n};\n\nprototype.lookup = function() {\n return Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"L\" /* peek */])(this._lookup);\n};\n\nprototype.markpath = function() {\n var p = this._markpath;\n return ++p[p.length-1];\n};\n\n// ----\n\nprototype.fieldRef = function(field, name) {\n if (Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"C\" /* isString */])(field)) return Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"i\" /* fieldRef */])(field, name);\n if (!field.signal) {\n Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"m\" /* error */])('Unsupported field reference: ' + Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"O\" /* stringValue */])(field));\n }\n\n var s = field.signal,\n f = this.field[s],\n params;\n\n if (!f) {\n params = {name: this.signalRef(s)};\n if (name) params.as = name;\n this.field[s] = f = Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"o\" /* ref */])(this.add(Object(__WEBPACK_IMPORTED_MODULE_3__transforms__[\"j\" /* Field */])(params)));\n }\n return f;\n};\n\nprototype.compareRef = function(cmp, stable) {\n function check(_) {\n if (Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"k\" /* isSignal */])(_)) {\n signal = true;\n return Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"o\" /* ref */])(sig[_.signal]);\n } else {\n return _;\n }\n }\n\n var sig = this.signals,\n signal = false,\n fields = Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"i\" /* array */])(cmp.field).map(check),\n orders = Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"i\" /* array */])(cmp.order).map(check);\n\n if (stable) {\n fields.push(__WEBPACK_IMPORTED_MODULE_1__util__[\"q\" /* tupleidRef */]);\n }\n\n return signal\n ? Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"o\" /* ref */])(this.add(Object(__WEBPACK_IMPORTED_MODULE_3__transforms__[\"e\" /* Compare */])({fields: fields, orders: orders})))\n : Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"f\" /* compareRef */])(fields, orders);\n};\n\nprototype.keyRef = function(fields, flat) {\n function check(_) {\n if (Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"k\" /* isSignal */])(_)) {\n signal = true;\n return Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"o\" /* ref */])(sig[_.signal]);\n } else {\n return _;\n }\n }\n\n var sig = this.signals,\n signal = false;\n fields = Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"i\" /* array */])(fields).map(check);\n\n return signal\n ? Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"o\" /* ref */])(this.add(Object(__WEBPACK_IMPORTED_MODULE_3__transforms__[\"k\" /* Key */])({fields: fields, flat: flat})))\n : Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"m\" /* keyRef */])(fields, flat);\n};\n\nprototype.sortRef = function(sort) {\n if (!sort) return sort;\n\n // including id ensures stable sorting\n var a = [Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"e\" /* aggrField */])(sort.op, sort.field), __WEBPACK_IMPORTED_MODULE_1__util__[\"q\" /* tupleidRef */]],\n o = sort.order || __WEBPACK_IMPORTED_MODULE_1__util__[\"a\" /* Ascending */];\n\n return o.signal\n ? Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"o\" /* ref */])(this.add(Object(__WEBPACK_IMPORTED_MODULE_3__transforms__[\"e\" /* Compare */])({\n fields: a,\n orders: [o = this.signalRef(o.signal), o]\n })))\n : Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"f\" /* compareRef */])(a, [o, o]);\n};\n\n// ----\n\nprototype.event = function(source, type) {\n var key = source + ':' + type;\n if (!this.events[key]) {\n var id = this.id();\n this.streams.push({\n id: id,\n source: source,\n type: type\n });\n this.events[key] = id;\n }\n return this.events[key];\n};\n\n// ----\n\nprototype.addSignal = function(name, value) {\n if (this.signals.hasOwnProperty(name)) {\n Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"m\" /* error */])('Duplicate signal name: ' + Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"O\" /* stringValue */])(name));\n }\n var op = value instanceof __WEBPACK_IMPORTED_MODULE_1__util__[\"b\" /* Entry */] ? value : this.add(Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"n\" /* operator */])(value));\n return this.signals[name] = op;\n};\n\nprototype.getSignal = function(name) {\n if (!this.signals[name]) {\n Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"m\" /* error */])('Unrecognized signal name: ' + Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"O\" /* stringValue */])(name));\n }\n return this.signals[name];\n};\n\nprototype.signalRef = function(s) {\n if (this.signals[s]) {\n return Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"o\" /* ref */])(this.signals[s]);\n } else if (!this.lambdas.hasOwnProperty(s)) {\n this.lambdas[s] = this.add(Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"n\" /* operator */])(null));\n }\n return Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"o\" /* ref */])(this.lambdas[s]);\n};\n\nprototype.parseLambdas = function() {\n var code = Object.keys(this.lambdas);\n for (var i=0, n=code.length; i<n; ++i) {\n var s = code[i],\n e = Object(__WEBPACK_IMPORTED_MODULE_2__parsers_expression__[\"a\" /* default */])(s, this),\n op = this.lambdas[s];\n op.params = e.$params;\n op.update = e.$expr;\n }\n};\n\nprototype.property = function(spec) {\n return spec && spec.signal ? this.signalRef(spec.signal) : spec;\n};\n\nprototype.objectProperty = function(spec) {\n return (!spec || !Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"A\" /* isObject */])(spec)) ? spec\n : this.signalRef(spec.signal || propertyLambda(spec));\n};\n\nfunction propertyLambda(spec) {\n return (Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"v\" /* isArray */])(spec) ? arrayLambda : objectLambda)(spec);\n}\n\nfunction arrayLambda(array) {\n var code = '[',\n i = 0,\n n = array.length,\n value;\n\n for (; i<n; ++i) {\n value = array[i];\n code += (i > 0 ? ',' : '')\n + (Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"A\" /* isObject */])(value)\n ? (value.signal || propertyLambda(value))\n : Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"O\" /* stringValue */])(value));\n }\n return code + ']';\n}\n\nfunction objectLambda(obj) {\n var code = '{',\n i = 0,\n key, value;\n\n for (key in obj) {\n value = obj[key];\n code += (++i > 1 ? ',' : '')\n + Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"O\" /* stringValue */])(key) + ':'\n + (Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"A\" /* isObject */])(value)\n ? (value.signal || propertyLambda(value))\n : Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"O\" /* stringValue */])(value));\n }\n return code + '}';\n}\n\nprototype.exprRef = function(code, name) {\n var params = {expr: Object(__WEBPACK_IMPORTED_MODULE_2__parsers_expression__[\"a\" /* default */])(code, this)};\n if (name) params.expr.$name = name;\n return Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"o\" /* ref */])(this.add(Object(__WEBPACK_IMPORTED_MODULE_3__transforms__[\"h\" /* Expression */])(params)));\n}\n\nprototype.addBinding = function(name, bind) {\n if (!this.bindings) {\n Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"m\" /* error */])('Nested signals do not support binding: ' + Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"O\" /* stringValue */])(name));\n }\n this.bindings.push(Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"n\" /* extend */])({signal: name}, bind));\n};\n\n// ----\n\nprototype.addScaleProj = function(name, transform) {\n if (this.scales.hasOwnProperty(name)) {\n Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"m\" /* error */])('Duplicate scale or projection name: ' + Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"O\" /* stringValue */])(name));\n }\n this.scales[name] = this.add(transform);\n};\n\nprototype.addScale = function(name, params) {\n this.addScaleProj(name, Object(__WEBPACK_IMPORTED_MODULE_3__transforms__[\"x\" /* Scale */])(params));\n};\n\nprototype.addProjection = function(name, params) {\n this.addScaleProj(name, Object(__WEBPACK_IMPORTED_MODULE_3__transforms__[\"t\" /* Projection */])(params));\n};\n\nprototype.getScale = function(name) {\n if (!this.scales[name]) {\n Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"m\" /* error */])('Unrecognized scale name: ' + Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"O\" /* stringValue */])(name));\n }\n return this.scales[name];\n};\n\nprototype.projectionRef =\nprototype.scaleRef = function(name) {\n return Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"o\" /* ref */])(this.getScale(name));\n};\n\nprototype.projectionType =\nprototype.scaleType = function(name) {\n return this.getScale(name).params.type;\n};\n\n// ----\n\nprototype.addData = function(name, dataScope) {\n if (this.data.hasOwnProperty(name)) {\n Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"m\" /* error */])('Duplicate data set name: ' + Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"O\" /* stringValue */])(name));\n }\n return (this.data[name] = dataScope);\n};\n\nprototype.getData = function(name) {\n if (!this.data[name]) {\n Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"m\" /* error */])('Undefined data set name: ' + Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"O\" /* stringValue */])(name));\n }\n return this.data[name];\n};\n\nprototype.addDataPipeline = function(name, entries) {\n if (this.data.hasOwnProperty(name)) {\n Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"m\" /* error */])('Duplicate data set name: ' + Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"O\" /* stringValue */])(name));\n }\n return this.addData(name, __WEBPACK_IMPORTED_MODULE_0__DataScope__[\"a\" /* default */].fromEntries(this, entries));\n};\n\n\n/***/ }),\n/* 365 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(configs) {\n var output = defaults();\n (configs || []).forEach(function(config) {\n var key, value, style;\n if (config) {\n for (key in config) {\n if (key === 'style') {\n style = output.style || (output.style = {});\n for (key in config.style) {\n style[key] = Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"n\" /* extend */])(style[key] || {}, config.style[key]);\n }\n } else {\n value = config[key];\n output[key] = Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"A\" /* isObject */])(value) && !Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"v\" /* isArray */])(value)\n ? Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"n\" /* extend */])(Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"A\" /* isObject */])(output[key]) ? output[key] : {}, value)\n : value;\n }\n }\n }\n });\n return output;\n});\n\nvar defaultFont = 'sans-serif',\n defaultSymbolSize = 30,\n defaultStrokeWidth = 2,\n defaultColor = '#4c78a8',\n black = \"#000\",\n gray = '#888',\n lightGray = '#ddd';\n\n/**\n * Standard configuration defaults for Vega specification parsing.\n * Users can provide their own (sub-)set of these default values\n * by passing in a config object to the top-level parse method.\n */\nfunction defaults() {\n return {\n // default padding around visualization\n padding: 0,\n\n // default for automatic sizing; options: \"none\", \"pad\", \"fit\"\n // or provide an object (e.g., {\"type\": \"pad\", \"resize\": true})\n autosize: 'pad',\n\n // default view background color\n // covers the entire view component\n background: null,\n\n // default event handling configuration\n // preventDefault for view-sourced event types except 'wheel'\n events: {\n defaults: {allow: ['wheel']}\n },\n\n // defaults for top-level group marks\n // accepts mark properties (fill, stroke, etc)\n // covers the data rectangle within group width/height\n group: null,\n\n // defaults for basic mark types\n // each subset accepts mark properties (fill, stroke, etc)\n mark: null,\n arc: { fill: defaultColor },\n area: { fill: defaultColor },\n image: null,\n line: {\n stroke: defaultColor,\n strokeWidth: defaultStrokeWidth\n },\n path: { stroke: defaultColor },\n rect: { fill: defaultColor },\n rule: { stroke: black },\n shape: { stroke: defaultColor },\n symbol: {\n fill: defaultColor,\n size: 64\n },\n text: {\n fill: black,\n font: defaultFont,\n fontSize: 11\n },\n\n // style definitions\n style: {\n // axis & legend labels\n \"guide-label\": {\n fill: black,\n font: defaultFont,\n fontSize: 10\n },\n // axis & legend titles\n \"guide-title\": {\n fill: black,\n font: defaultFont,\n fontSize: 11,\n fontWeight: 'bold'\n },\n // headers, including chart title\n \"group-title\": {\n fill: black,\n font: defaultFont,\n fontSize: 13,\n fontWeight: 'bold'\n },\n // defaults for styled point marks in Vega-Lite\n point: {\n size: defaultSymbolSize,\n strokeWidth: defaultStrokeWidth,\n shape: 'circle'\n },\n circle: {\n size: defaultSymbolSize,\n strokeWidth: defaultStrokeWidth\n },\n square: {\n size: defaultSymbolSize,\n strokeWidth: defaultStrokeWidth,\n shape: 'square'\n },\n // defaults for styled group marks in Vega-Lite\n cell: {\n fill: 'transparent',\n stroke: lightGray\n }\n },\n\n // defaults for axes\n axis: {\n minExtent: 0,\n maxExtent: 200,\n bandPosition: 0.5,\n domain: true,\n domainWidth: 1,\n domainColor: gray,\n grid: false,\n gridWidth: 1,\n gridColor: lightGray,\n labels: true,\n labelAngle: 0,\n labelLimit: 180,\n labelPadding: 2,\n ticks: true,\n tickColor: gray,\n tickOffset: 0,\n tickRound: true,\n tickSize: 5,\n tickWidth: 1,\n titleAlign: 'center',\n titlePadding: 4\n },\n\n // correction for centering bias\n axisBand: {\n tickOffset: -1\n },\n\n // defaults for legends\n legend: {\n orient: 'right',\n offset: 18,\n padding: 0,\n gridAlign: 'each',\n columnPadding: 10,\n rowPadding: 2,\n symbolDirection: 'vertical',\n gradientDirection: 'vertical',\n gradientLength: 200,\n gradientThickness: 16,\n gradientStrokeColor: lightGray,\n gradientStrokeWidth: 0,\n gradientLabelOffset: 2,\n labelAlign: 'left',\n labelBaseline: 'middle',\n labelLimit: 160,\n labelOffset: 4,\n labelOverlap: true,\n symbolType: 'circle',\n symbolSize: 100,\n symbolOffset: 0,\n symbolStrokeWidth: 1.5,\n symbolBaseFillColor: 'transparent',\n symbolBaseStrokeColor: gray,\n titleAlign: 'left',\n titleBaseline: 'top',\n titleLimit: 180,\n titlePadding: 5\n },\n\n // defaults for group title\n title: {\n orient: 'top',\n anchor: 'middle',\n offset: 4\n },\n\n // defaults for scale ranges\n range: {\n category: {\n scheme: 'tableau10'\n },\n ordinal: {\n scheme: 'blues',\n extent: [0.2, 1]\n },\n heatmap: {\n scheme: 'viridis'\n },\n ramp: {\n scheme: 'blues',\n extent: [0.2, 1]\n },\n diverging: {\n scheme: 'blueorange'\n },\n symbol: [\n 'circle',\n 'square',\n 'triangle-up',\n 'cross',\n 'diamond',\n 'triangle-right',\n 'triangle-down',\n 'triangle-left'\n ]\n }\n };\n}\n\n\n/***/ }),\n/* 366 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_dataflow__ = __webpack_require__(367);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_dataflow__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_context__ = __webpack_require__(925);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_context__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_expression__ = __webpack_require__(83);\n/* unused harmony reexport expression */\n\n\n\n\n\n/***/ }),\n/* 367 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__operator__ = __webpack_require__(922);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__stream__ = __webpack_require__(923);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__update__ = __webpack_require__(924);\n\n\n\n\n/**\n * Parse a serialized dataflow specification.\n */\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(spec, ctx) {\n var operators = spec.operators || [];\n\n // parse background\n if (spec.background) {\n ctx.background = spec.background;\n }\n\n // parse event configuration\n if (spec.eventConfig) {\n ctx.eventConfig = spec.eventConfig;\n }\n\n // parse operators\n operators.forEach(function(entry) {\n Object(__WEBPACK_IMPORTED_MODULE_0__operator__[\"a\" /* default */])(entry, ctx);\n });\n\n // parse operator parameters\n operators.forEach(function(entry) {\n Object(__WEBPACK_IMPORTED_MODULE_0__operator__[\"b\" /* parseOperatorParameters */])(entry, ctx);\n });\n\n // parse streams\n (spec.streams || []).forEach(function(entry) {\n Object(__WEBPACK_IMPORTED_MODULE_1__stream__[\"a\" /* default */])(entry, ctx);\n });\n\n // parse updates\n (spec.updates || []).forEach(function(entry) {\n Object(__WEBPACK_IMPORTED_MODULE_2__update__[\"a\" /* default */])(entry, ctx);\n });\n\n return ctx.resolve();\n});\n\n\n/***/ }),\n/* 368 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = parseParameters;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__dataflow__ = __webpack_require__(367);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__expression__ = __webpack_require__(83);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vega_util__ = __webpack_require__(0);\n\n\n\n\n\n/**\n * Parse a set of operator parameters.\n */\nfunction parseParameters(spec, ctx, params) {\n params = params || {};\n var key, value;\n\n for (key in spec) {\n value = spec[key];\n\n params[key] = Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"v\" /* isArray */])(value)\n ? value.map(function(v) { return parseParameter(v, ctx, params); })\n : parseParameter(value, ctx, params);\n }\n return params;\n}\n\n/**\n * Parse a single parameter.\n */\nfunction parseParameter(spec, ctx, params) {\n if (!spec || !Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"A\" /* isObject */])(spec)) return spec;\n\n for (var i=0, n=PARSERS.length, p; i<n; ++i) {\n p = PARSERS[i];\n if (spec.hasOwnProperty(p.key)) {\n return p.parse(spec, ctx, params);\n }\n }\n return spec;\n}\n\n/** Reference parsers. */\nvar PARSERS = [\n {key: '$ref', parse: getOperator},\n {key: '$key', parse: getKey},\n {key: '$expr', parse: getExpression},\n {key: '$field', parse: getField},\n {key: '$encode', parse: getEncode},\n {key: '$compare', parse: getCompare},\n {key: '$context', parse: getContext},\n {key: '$subflow', parse: getSubflow},\n {key: '$tupleid', parse: getTupleId}\n];\n\n/**\n * Resolve an operator reference.\n */\nfunction getOperator(_, ctx) {\n return ctx.get(_.$ref) || Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"m\" /* error */])('Operator not defined: ' + _.$ref);\n}\n\n/**\n * Resolve an expression reference.\n */\nfunction getExpression(_, ctx, params) {\n if (_.$params) { // parse expression parameters\n parseParameters(_.$params, ctx, params);\n }\n var k = 'e:' + _.$expr + '_' + _.$name;\n return ctx.fn[k]\n || (ctx.fn[k] = Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"f\" /* accessor */])(Object(__WEBPACK_IMPORTED_MODULE_1__expression__[\"e\" /* parameterExpression */])(_.$expr, ctx), _.$fields, _.$name));\n}\n\n/**\n * Resolve a key accessor reference.\n */\nfunction getKey(_, ctx) {\n var k = 'k:' + _.$key + '_' + (!!_.$flat);\n return ctx.fn[k] || (ctx.fn[k] = Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"D\" /* key */])(_.$key, _.$flat));\n}\n\n/**\n * Resolve a field accessor reference.\n */\nfunction getField(_, ctx) {\n if (!_.$field) return null;\n var k = 'f:' + _.$field + '_' + _.$name;\n return ctx.fn[k] || (ctx.fn[k] = Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"r\" /* field */])(_.$field, _.$name));\n}\n\n/**\n * Resolve a comparator function reference.\n */\nfunction getCompare(_, ctx) {\n var k = 'c:' + _.$compare + '_' + _.$order,\n c = Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"i\" /* array */])(_.$compare).map(function(_) {\n return (_ && _.$tupleid) ? __WEBPACK_IMPORTED_MODULE_2_vega_dataflow__[\"r\" /* tupleid */] : _;\n });\n return ctx.fn[k] || (ctx.fn[k] = Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"j\" /* compare */])(c, _.$order));\n}\n\n/**\n * Resolve an encode operator reference.\n */\nfunction getEncode(_, ctx) {\n var spec = _.$encode,\n encode = {}, name, enc;\n\n for (name in spec) {\n enc = spec[name];\n encode[name] = Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"f\" /* accessor */])(Object(__WEBPACK_IMPORTED_MODULE_1__expression__[\"a\" /* encodeExpression */])(enc.$expr, ctx), enc.$fields);\n encode[name].output = enc.$output;\n }\n return encode;\n}\n\n/**\n * Resolve a context reference.\n */\nfunction getContext(_, ctx) {\n return ctx;\n}\n\n/**\n * Resolve a recursive subflow specification.\n */\nfunction getSubflow(_, ctx) {\n var spec = _.$subflow;\n return function(dataflow, key, parent) {\n var subctx = Object(__WEBPACK_IMPORTED_MODULE_0__dataflow__[\"a\" /* default */])(spec, ctx.fork()),\n op = subctx.get(spec.operators[0].id),\n p = subctx.signals.parent;\n if (p) p.set(parent);\n return op;\n };\n}\n\n/**\n * Resolve a tuple id reference.\n */\nfunction getTupleId() {\n return __WEBPACK_IMPORTED_MODULE_2_vega_dataflow__[\"r\" /* tupleid */];\n}\n\n\n/***/ }),\n/* 369 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = canonicalType;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = isOperator;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = isCollect;\nfunction canonicalType(type) {\n return (type + '').toLowerCase();\n}\nfunction isOperator(type) {\n return canonicalType(type) === 'operator';\n}\n\nfunction isCollect(type) {\n return canonicalType(type) === 'collect';\n}\n\n\n/***/ }),\n/* 370 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BOXPLOT; });\n/* unused harmony export isBoxPlotDef */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return BOXPLOT_STYLES; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return VL_ONLY_BOXPLOT_CONFIG_PROPERTY_INDEX; });\n/* unused harmony export filterUnsupportedChannels */\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = normalizeBoxPlot;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__encoding__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__encoding__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__common__ = __webpack_require__(937);\n\n\n\n\n\n\n\nvar BOXPLOT = 'box-plot';\nfunction isBoxPlotDef(mark) {\n return !!mark['type'];\n}\nvar BOXPLOT_STYLES = ['boxWhisker', 'box', 'boxMid'];\nvar VL_ONLY_BOXPLOT_CONFIG_PROPERTY_INDEX = {\n box: ['size', 'color', 'extent'],\n boxWhisker: ['color'],\n boxMid: ['color']\n};\nvar supportedChannels = ['x', 'y', 'color', 'detail', 'opacity', 'size'];\nfunction filterUnsupportedChannels(spec) {\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, spec, { encoding: Object(__WEBPACK_IMPORTED_MODULE_2__encoding__[\"reduce\"])(spec.encoding, function (newEncoding, fieldDef, channel) {\n if (supportedChannels.indexOf(channel) > -1) {\n newEncoding[channel] = fieldDef;\n }\n else {\n __WEBPACK_IMPORTED_MODULE_5__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_5__log__[\"b\" /* message */].incompatibleChannel(channel, BOXPLOT));\n }\n return newEncoding;\n }, {}) });\n}\nfunction normalizeBoxPlot(spec, config) {\n var _a, _b, _c, _d;\n spec = filterUnsupportedChannels(spec);\n // TODO: use selection\n var mark = spec.mark, encoding = spec.encoding, selection = spec.selection, _p = spec.projection, outerSpec = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"e\" /* __rest */](spec, [\"mark\", \"encoding\", \"selection\", \"projection\"]);\n var kIQRScalar = undefined;\n if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"z\" /* isNumber */])(config.box.extent)) {\n kIQRScalar = config.box.extent;\n }\n if (isBoxPlotDef(mark)) {\n if (mark.extent) {\n if (mark.extent === 'min-max') {\n kIQRScalar = undefined;\n }\n }\n }\n var orient = boxOrient(spec);\n var _e = boxParams(spec, orient, kIQRScalar), transform = _e.transform, continuousAxisChannelDef = _e.continuousAxisChannelDef, continuousAxis = _e.continuousAxis, encodingWithoutContinuousAxis = _e.encodingWithoutContinuousAxis;\n var color = encodingWithoutContinuousAxis.color, size = encodingWithoutContinuousAxis.size, encodingWithoutSizeColorAndContinuousAxis = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"e\" /* __rest */](encodingWithoutContinuousAxis, [\"color\", \"size\"]);\n // Size encoding or the default config.box.size is applied to box and boxMid\n var sizeMixins = size ? { size: size } : Object(__WEBPACK_IMPORTED_MODULE_6__common__[\"a\" /* getMarkSpecificConfigMixins */])(config.box, 'size');\n var continuousAxisScaleAndAxis = {};\n if (continuousAxisChannelDef.scale) {\n continuousAxisScaleAndAxis['scale'] = continuousAxisChannelDef.scale;\n }\n if (continuousAxisChannelDef.axis) {\n continuousAxisScaleAndAxis['axis'] = continuousAxisChannelDef.axis;\n }\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, outerSpec, { transform: transform, layer: [\n {\n mark: {\n type: 'rule',\n style: 'boxWhisker'\n },\n encoding: __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]((_a = {}, _a[continuousAxis] = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ field: 'lower_whisker_' + continuousAxisChannelDef.field, type: continuousAxisChannelDef.type }, continuousAxisScaleAndAxis), _a[continuousAxis + '2'] = {\n field: 'lower_box_' + continuousAxisChannelDef.field,\n type: continuousAxisChannelDef.type\n }, _a), encodingWithoutSizeColorAndContinuousAxis, Object(__WEBPACK_IMPORTED_MODULE_6__common__[\"a\" /* getMarkSpecificConfigMixins */])(config.boxWhisker, 'color'))\n }, {\n mark: {\n type: 'rule',\n style: 'boxWhisker'\n },\n encoding: __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]((_b = {}, _b[continuousAxis] = {\n field: 'upper_box_' + continuousAxisChannelDef.field,\n type: continuousAxisChannelDef.type\n }, _b[continuousAxis + '2'] = {\n field: 'upper_whisker_' + continuousAxisChannelDef.field,\n type: continuousAxisChannelDef.type\n }, _b), encodingWithoutSizeColorAndContinuousAxis, Object(__WEBPACK_IMPORTED_MODULE_6__common__[\"a\" /* getMarkSpecificConfigMixins */])(config.boxWhisker, 'color'))\n },\n __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, (selection ? { selection: selection } : {}), { mark: {\n type: 'bar',\n style: 'box'\n }, encoding: __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]((_c = {}, _c[continuousAxis] = {\n field: 'lower_box_' + continuousAxisChannelDef.field,\n type: continuousAxisChannelDef.type\n }, _c[continuousAxis + '2'] = {\n field: 'upper_box_' + continuousAxisChannelDef.field,\n type: continuousAxisChannelDef.type\n }, _c), encodingWithoutContinuousAxis, (encodingWithoutContinuousAxis.color ? {} : Object(__WEBPACK_IMPORTED_MODULE_6__common__[\"a\" /* getMarkSpecificConfigMixins */])(config.box, 'color')), sizeMixins) }),\n {\n mark: {\n type: 'tick',\n style: 'boxMid'\n },\n encoding: __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]((_d = {}, _d[continuousAxis] = {\n field: 'mid_box_' + continuousAxisChannelDef.field,\n type: continuousAxisChannelDef.type\n }, _d), encodingWithoutSizeColorAndContinuousAxis, Object(__WEBPACK_IMPORTED_MODULE_6__common__[\"a\" /* getMarkSpecificConfigMixins */])(config.boxMid, 'color'), sizeMixins)\n }\n ] });\n}\nfunction boxOrient(spec) {\n var mark = spec.mark, encoding = spec.encoding, _p = spec.projection, _outerSpec = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"e\" /* __rest */](spec, [\"mark\", \"encoding\", \"projection\"]);\n if (Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"isFieldDef\"])(encoding.x) && Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"isContinuous\"])(encoding.x)) {\n // x is continuous\n if (Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"isFieldDef\"])(encoding.y) && Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"isContinuous\"])(encoding.y)) {\n // both x and y are continuous\n if (encoding.x.aggregate === undefined && encoding.y.aggregate === BOXPLOT) {\n return 'vertical';\n }\n else if (encoding.y.aggregate === undefined && encoding.x.aggregate === BOXPLOT) {\n return 'horizontal';\n }\n else if (encoding.x.aggregate === BOXPLOT && encoding.y.aggregate === BOXPLOT) {\n throw new Error('Both x and y cannot have aggregate');\n }\n else {\n if (isBoxPlotDef(mark) && mark.orient) {\n return mark.orient;\n }\n // default orientation = vertical\n return 'vertical';\n }\n }\n // x is continuous but y is not\n return 'horizontal';\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"isFieldDef\"])(encoding.y) && Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"isContinuous\"])(encoding.y)) {\n // y is continuous but x is not\n return 'vertical';\n }\n else {\n // Neither x nor y is continuous.\n throw new Error('Need a valid continuous axis for boxplots');\n }\n}\nfunction boxContinousAxis(spec, orient) {\n var mark = spec.mark, encoding = spec.encoding, _p = spec.projection, _outerSpec = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"e\" /* __rest */](spec, [\"mark\", \"encoding\", \"projection\"]);\n var continuousAxisChannelDef;\n var continuousAxis;\n if (orient === 'vertical') {\n continuousAxis = 'y';\n continuousAxisChannelDef = encoding.y; // Safe to cast because if y is not continuous fielddef, the orient would not be vertical.\n }\n else {\n continuousAxis = 'x';\n continuousAxisChannelDef = encoding.x; // Safe to cast because if x is not continuous fielddef, the orient would not be horizontal.\n }\n if (continuousAxisChannelDef && continuousAxisChannelDef.aggregate) {\n var aggregate = continuousAxisChannelDef.aggregate, continuousAxisWithoutAggregate = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"e\" /* __rest */](continuousAxisChannelDef, [\"aggregate\"]);\n if (aggregate !== BOXPLOT) {\n __WEBPACK_IMPORTED_MODULE_5__log__[\"e\" /* warn */](\"Continuous axis should not have customized aggregation function \" + aggregate);\n }\n continuousAxisChannelDef = continuousAxisWithoutAggregate;\n }\n return {\n continuousAxisChannelDef: continuousAxisChannelDef,\n continuousAxis: continuousAxis\n };\n}\nfunction boxParams(spec, orient, kIQRScalar) {\n var _a = boxContinousAxis(spec, orient), continuousAxisChannelDef = _a.continuousAxisChannelDef, continuousAxis = _a.continuousAxis;\n var encoding = spec.encoding;\n var isMinMax = kIQRScalar === undefined;\n var aggregate = [\n {\n op: 'q1',\n field: continuousAxisChannelDef.field,\n as: 'lower_box_' + continuousAxisChannelDef.field\n },\n {\n op: 'q3',\n field: continuousAxisChannelDef.field,\n as: 'upper_box_' + continuousAxisChannelDef.field\n },\n {\n op: 'median',\n field: continuousAxisChannelDef.field,\n as: 'mid_box_' + continuousAxisChannelDef.field\n }\n ];\n var postAggregateCalculates = [];\n aggregate.push({\n op: 'min',\n field: continuousAxisChannelDef.field,\n as: (isMinMax ? 'lower_whisker_' : 'min_') + continuousAxisChannelDef.field\n });\n aggregate.push({\n op: 'max',\n field: continuousAxisChannelDef.field,\n as: (isMinMax ? 'upper_whisker_' : 'max_') + continuousAxisChannelDef.field\n });\n if (!isMinMax) {\n postAggregateCalculates = [\n {\n calculate: \"datum.upper_box_\" + continuousAxisChannelDef.field + \" - datum.lower_box_\" + continuousAxisChannelDef.field,\n as: 'iqr_' + continuousAxisChannelDef.field\n },\n {\n calculate: \"min(datum.upper_box_\" + continuousAxisChannelDef.field + \" + datum.iqr_\" + continuousAxisChannelDef.field + \" * \" + kIQRScalar + \", datum.max_\" + continuousAxisChannelDef.field + \")\",\n as: 'upper_whisker_' + continuousAxisChannelDef.field\n },\n {\n calculate: \"max(datum.lower_box_\" + continuousAxisChannelDef.field + \" - datum.iqr_\" + continuousAxisChannelDef.field + \" * \" + kIQRScalar + \", datum.min_\" + continuousAxisChannelDef.field + \")\",\n as: 'lower_whisker_' + continuousAxisChannelDef.field\n }\n ];\n }\n var groupby = [];\n var bins = [];\n var timeUnits = [];\n var encodingWithoutContinuousAxis = {};\n Object(__WEBPACK_IMPORTED_MODULE_3__encoding__[\"forEach\"])(encoding, function (channelDef, channel) {\n if (channel === continuousAxis) {\n // Skip continuous axis as we already handle it separately\n return;\n }\n if (Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"isFieldDef\"])(channelDef)) {\n if (channelDef.aggregate && channelDef.aggregate !== BOXPLOT) {\n aggregate.push({\n op: channelDef.aggregate,\n field: channelDef.field,\n as: Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"vgField\"])(channelDef)\n });\n }\n else if (channelDef.aggregate === undefined) {\n var transformedField = Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"vgField\"])(channelDef);\n // Add bin or timeUnit transform if applicable\n var bin = channelDef.bin;\n if (bin) {\n var field = channelDef.field;\n bins.push({ bin: bin, field: field, as: transformedField });\n }\n else if (channelDef.timeUnit) {\n var timeUnit = channelDef.timeUnit, field = channelDef.field;\n timeUnits.push({ timeUnit: timeUnit, field: field, as: transformedField });\n }\n groupby.push(transformedField);\n }\n // now the field should refer to post-transformed field instead\n encodingWithoutContinuousAxis[channel] = {\n field: Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"vgField\"])(channelDef),\n type: channelDef.type\n };\n }\n else {\n // For value def, just copy\n encodingWithoutContinuousAxis[channel] = encoding[channel];\n }\n });\n return {\n transform: [].concat(bins, timeUnits, [{ aggregate: aggregate, groupby: groupby }], postAggregateCalculates),\n continuousAxisChannelDef: continuousAxisChannelDef,\n continuousAxis: continuousAxis,\n encodingWithoutContinuousAxis: encodingWithoutContinuousAxis\n };\n}\n//# sourceMappingURL=boxplot.js.map\n\n/***/ }),\n/* 371 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultViewConfig\", function() { return defaultViewConfig; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultConfig\", function() { return defaultConfig; });\n/* harmony export (immutable) */ __webpack_exports__[\"initConfig\"] = initConfig;\n/* harmony export (immutable) */ __webpack_exports__[\"stripAndRedirectConfig\"] = stripAndRedirectConfig;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__compositemark__ = __webpack_require__(127);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__compositemark_index__ = __webpack_require__(127);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__guide__ = __webpack_require__(940);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__legend__ = __webpack_require__(199);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__mark__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__scale__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__selection__ = __webpack_require__(200);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__title__ = __webpack_require__(372);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__util__ = __webpack_require__(3);\n\n\n\n\n\n\n\n\n\n\n\n\nvar defaultViewConfig = {\n width: 200,\n height: 200\n};\nvar defaultConfig = {\n padding: 5,\n timeFormat: '',\n countTitle: 'Number of Records',\n invalidValues: 'filter',\n view: defaultViewConfig,\n mark: __WEBPACK_IMPORTED_MODULE_6__mark__[\"defaultMarkConfig\"],\n area: {},\n bar: __WEBPACK_IMPORTED_MODULE_6__mark__[\"defaultBarConfig\"],\n circle: {},\n geoshape: {},\n line: {},\n point: {},\n rect: {},\n rule: { color: 'black' },\n square: {},\n text: { color: 'black' },\n tick: __WEBPACK_IMPORTED_MODULE_6__mark__[\"defaultTickConfig\"],\n trail: {},\n box: { size: 14, extent: 1.5 },\n boxWhisker: {},\n boxMid: { color: 'white' },\n scale: __WEBPACK_IMPORTED_MODULE_7__scale__[\"defaultScaleConfig\"],\n projection: {},\n axis: {},\n axisX: {},\n axisY: { minExtent: 30 },\n axisLeft: {},\n axisRight: {},\n axisTop: {},\n axisBottom: {},\n axisBand: {},\n legend: __WEBPACK_IMPORTED_MODULE_5__legend__[\"defaultLegendConfig\"],\n selection: __WEBPACK_IMPORTED_MODULE_8__selection__[\"b\" /* defaultConfig */],\n style: {},\n title: {},\n};\nfunction initConfig(config) {\n return Object(__WEBPACK_IMPORTED_MODULE_10__util__[\"mergeDeep\"])(Object(__WEBPACK_IMPORTED_MODULE_10__util__[\"duplicate\"])(defaultConfig), config);\n}\nvar MARK_STYLES = ['view'].concat(__WEBPACK_IMPORTED_MODULE_6__mark__[\"PRIMITIVE_MARKS\"], __WEBPACK_IMPORTED_MODULE_2__compositemark__[\"COMPOSITE_MARK_STYLES\"]);\nvar VL_ONLY_CONFIG_PROPERTIES = [\n 'padding', 'numberFormat', 'timeFormat', 'countTitle',\n 'stack', 'scale', 'selection', 'invalidValues',\n 'overlay' // FIXME: Redesign and unhide this\n];\nvar VL_ONLY_ALL_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ view: ['width', 'height'] }, __WEBPACK_IMPORTED_MODULE_6__mark__[\"VL_ONLY_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX\"], __WEBPACK_IMPORTED_MODULE_3__compositemark_index__[\"VL_ONLY_COMPOSITE_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX\"]);\nfunction stripAndRedirectConfig(config) {\n config = Object(__WEBPACK_IMPORTED_MODULE_10__util__[\"duplicate\"])(config);\n for (var _i = 0, VL_ONLY_CONFIG_PROPERTIES_1 = VL_ONLY_CONFIG_PROPERTIES; _i < VL_ONLY_CONFIG_PROPERTIES_1.length; _i++) {\n var prop = VL_ONLY_CONFIG_PROPERTIES_1[_i];\n delete config[prop];\n }\n // Remove Vega-Lite only axis/legend config\n if (config.axis) {\n for (var _a = 0, VL_ONLY_GUIDE_CONFIG_1 = __WEBPACK_IMPORTED_MODULE_4__guide__[\"a\" /* VL_ONLY_GUIDE_CONFIG */]; _a < VL_ONLY_GUIDE_CONFIG_1.length; _a++) {\n var prop = VL_ONLY_GUIDE_CONFIG_1[_a];\n delete config.axis[prop];\n }\n }\n if (config.legend) {\n for (var _b = 0, VL_ONLY_GUIDE_CONFIG_2 = __WEBPACK_IMPORTED_MODULE_4__guide__[\"a\" /* VL_ONLY_GUIDE_CONFIG */]; _b < VL_ONLY_GUIDE_CONFIG_2.length; _b++) {\n var prop = VL_ONLY_GUIDE_CONFIG_2[_b];\n delete config.legend[prop];\n }\n }\n // Remove Vega-Lite only generic mark config\n if (config.mark) {\n for (var _c = 0, VL_ONLY_MARK_CONFIG_PROPERTIES_1 = __WEBPACK_IMPORTED_MODULE_6__mark__[\"VL_ONLY_MARK_CONFIG_PROPERTIES\"]; _c < VL_ONLY_MARK_CONFIG_PROPERTIES_1.length; _c++) {\n var prop = VL_ONLY_MARK_CONFIG_PROPERTIES_1[_c];\n delete config.mark[prop];\n }\n }\n for (var _d = 0, MARK_STYLES_1 = MARK_STYLES; _d < MARK_STYLES_1.length; _d++) {\n var markType = MARK_STYLES_1[_d];\n // Remove Vega-Lite-only mark config\n for (var _e = 0, VL_ONLY_MARK_CONFIG_PROPERTIES_2 = __WEBPACK_IMPORTED_MODULE_6__mark__[\"VL_ONLY_MARK_CONFIG_PROPERTIES\"]; _e < VL_ONLY_MARK_CONFIG_PROPERTIES_2.length; _e++) {\n var prop = VL_ONLY_MARK_CONFIG_PROPERTIES_2[_e];\n delete config[markType][prop];\n }\n // Remove Vega-Lite only mark-specific config\n var vlOnlyMarkSpecificConfigs = VL_ONLY_ALL_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX[markType];\n if (vlOnlyMarkSpecificConfigs) {\n for (var _f = 0, vlOnlyMarkSpecificConfigs_1 = vlOnlyMarkSpecificConfigs; _f < vlOnlyMarkSpecificConfigs_1.length; _f++) {\n var prop = vlOnlyMarkSpecificConfigs_1[_f];\n delete config[markType][prop];\n }\n }\n // Redirect mark config to config.style so that mark config only affect its own mark type\n // without affecting other marks that share the same underlying Vega marks.\n // For example, config.rect should not affect bar marks.\n redirectConfig(config, markType);\n }\n // Redirect config.title -- so that title config do not\n // affect header labels, which also uses `title` directive to implement.\n redirectConfig(config, 'title', 'group-title');\n // Remove empty config objects\n for (var prop in config) {\n if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"A\" /* isObject */])(config[prop]) && Object(__WEBPACK_IMPORTED_MODULE_10__util__[\"keys\"])(config[prop]).length === 0) {\n delete config[prop];\n }\n }\n return Object(__WEBPACK_IMPORTED_MODULE_10__util__[\"keys\"])(config).length > 0 ? config : undefined;\n}\nfunction redirectConfig(config, prop, toProp) {\n var propConfig = prop === 'title' ? Object(__WEBPACK_IMPORTED_MODULE_9__title__[\"a\" /* extractTitleConfig */])(config.title).mark : config[prop];\n if (prop === 'view') {\n toProp = 'cell'; // View's default style is \"cell\"\n }\n var style = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, propConfig, config.style[prop]);\n // set config.style if it is not an empty object\n if (Object(__WEBPACK_IMPORTED_MODULE_10__util__[\"keys\"])(style).length > 0) {\n config.style[toProp || prop] = style;\n }\n delete config[prop];\n}\n//# sourceMappingURL=config.js.map\n\n/***/ }),\n/* 372 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = extractTitleConfig;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n\nfunction extractTitleConfig(titleConfig) {\n var \n // These are non-mark title config that need to be hardcoded\n anchor = titleConfig.anchor, offset = titleConfig.offset, orient = titleConfig.orient, \n // color needs to be redirect to fill\n color = titleConfig.color, \n // The rest are mark config.\n titleMarkConfig = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"e\" /* __rest */](titleConfig, [\"anchor\", \"offset\", \"orient\", \"color\"]);\n var mark = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, titleMarkConfig, color ? { fill: color } : {});\n var nonMark = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, anchor ? { anchor: anchor } : {}, offset ? { offset: offset } : {}, orient ? { orient: orient } : {});\n return { mark: mark, nonMark: nonMark };\n}\n//# sourceMappingURL=title.js.map\n\n/***/ }),\n/* 373 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = extractCompositionLayout;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = normalizeAutoSize;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = extractTopLevelProperties;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__log__ = __webpack_require__(4);\n\n\n\nfunction extractCompositionLayout(layout) {\n var _a = layout || {}, _b = _a.align, align = _b === void 0 ? undefined : _b, _c = _a.center, center = _c === void 0 ? undefined : _c, _d = _a.bounds, bounds = _d === void 0 ? undefined : _d, _e = _a.spacing, spacing = _e === void 0 ? undefined : _e;\n return { align: align, bounds: bounds, center: center, spacing: spacing };\n}\nfunction _normalizeAutoSize(autosize) {\n return Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"C\" /* isString */])(autosize) ? { type: autosize } : autosize || {};\n}\nfunction normalizeAutoSize(topLevelAutosize, configAutosize, isUnitOrLayer) {\n if (isUnitOrLayer === void 0) { isUnitOrLayer = true; }\n var autosize = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ type: 'pad' }, _normalizeAutoSize(configAutosize), _normalizeAutoSize(topLevelAutosize));\n if (autosize.type === 'fit') {\n if (!isUnitOrLayer) {\n __WEBPACK_IMPORTED_MODULE_2__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_2__log__[\"b\" /* message */].FIT_NON_SINGLE);\n autosize.type = 'pad';\n }\n }\n return autosize;\n}\nvar TOP_LEVEL_PROPERTIES = [\n 'background', 'padding', 'datasets'\n // We do not include \"autosize\" here as it is supported by only unit and layer specs and thus need to be normalized\n];\nfunction extractTopLevelProperties(t) {\n return TOP_LEVEL_PROPERTIES.reduce(function (o, p) {\n if (t && t[p] !== undefined) {\n o[p] = t[p];\n }\n return o;\n }, {});\n}\n//# sourceMappingURL=toplevelprops.js.map\n\n/***/ }),\n/* 374 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BaseConcatModel; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__data_parse__ = __webpack_require__(130);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__layoutsize_assemble__ = __webpack_require__(131);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__model__ = __webpack_require__(15);\n\n\n\n\n\nvar BaseConcatModel = /** @class */ (function (_super) {\n __WEBPACK_IMPORTED_MODULE_0_tslib__[\"c\" /* __extends */](BaseConcatModel, _super);\n function BaseConcatModel(spec, parent, parentGivenName, config, repeater, resolve) {\n return _super.call(this, spec, parent, parentGivenName, config, repeater, resolve) || this;\n }\n BaseConcatModel.prototype.parseData = function () {\n this.component.data = Object(__WEBPACK_IMPORTED_MODULE_2__data_parse__[\"a\" /* parseData */])(this);\n this.children.forEach(function (child) {\n child.parseData();\n });\n };\n BaseConcatModel.prototype.parseSelection = function () {\n var _this = this;\n // Merge selections up the hierarchy so that they may be referenced\n // across unit specs. Persist their definitions within each child\n // to assemble signals which remain within output Vega unit groups.\n this.component.selection = {};\n var _loop_1 = function (child) {\n child.parseSelection();\n Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"keys\"])(child.component.selection).forEach(function (key) {\n _this.component.selection[key] = child.component.selection[key];\n });\n };\n for (var _i = 0, _a = this.children; _i < _a.length; _i++) {\n var child = _a[_i];\n _loop_1(child);\n }\n };\n BaseConcatModel.prototype.parseMarkGroup = function () {\n for (var _i = 0, _a = this.children; _i < _a.length; _i++) {\n var child = _a[_i];\n child.parseMarkGroup();\n }\n };\n BaseConcatModel.prototype.parseAxisAndHeader = function () {\n for (var _i = 0, _a = this.children; _i < _a.length; _i++) {\n var child = _a[_i];\n child.parseAxisAndHeader();\n }\n // TODO(#2415): support shared axes\n };\n BaseConcatModel.prototype.assembleSelectionTopLevelSignals = function (signals) {\n return this.children.reduce(function (sg, child) { return child.assembleSelectionTopLevelSignals(sg); }, signals);\n };\n BaseConcatModel.prototype.assembleSelectionSignals = function () {\n this.children.forEach(function (child) { return child.assembleSelectionSignals(); });\n return [];\n };\n BaseConcatModel.prototype.assembleLayoutSignals = function () {\n return this.children.reduce(function (signals, child) {\n return signals.concat(child.assembleLayoutSignals());\n }, Object(__WEBPACK_IMPORTED_MODULE_3__layoutsize_assemble__[\"a\" /* assembleLayoutSignals */])(this));\n };\n BaseConcatModel.prototype.assembleSelectionData = function (data) {\n return this.children.reduce(function (db, child) { return child.assembleSelectionData(db); }, data);\n };\n BaseConcatModel.prototype.assembleMarks = function () {\n // only children have marks\n return this.children.map(function (child) {\n var title = child.assembleTitle();\n var style = child.assembleGroupStyle();\n var layoutSizeEncodeEntry = child.assembleLayoutSize();\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ type: 'group', name: child.getName('group') }, (title ? { title: title } : {}), (style ? { style: style } : {}), (layoutSizeEncodeEntry ? {\n encode: {\n update: layoutSizeEncodeEntry\n }\n } : {}), child.assembleGroup());\n });\n };\n return BaseConcatModel;\n}(__WEBPACK_IMPORTED_MODULE_4__model__[\"a\" /* Model */]));\n\n//# sourceMappingURL=baseconcat.js.map\n\n/***/ }),\n/* 375 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = assembleAxis;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = assembleAxes;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__axis__ = __webpack_require__(198);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util__ = __webpack_require__(3);\n\n\n\n\n\nfunction assembleTitle(title, config) {\n if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(title)) {\n return title.map(function (fieldDef) { return Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"title\"])(fieldDef, config); }).join(', ');\n }\n return title;\n}\nfunction assembleAxis(axisCmpt, kind, config, opt) {\n if (opt === void 0) { opt = { header: false }; }\n var _a = axisCmpt.combine(), orient = _a.orient, scale = _a.scale, title = _a.title, zindex = _a.zindex, axis = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"e\" /* __rest */](_a, [\"orient\", \"scale\", \"title\", \"zindex\"]);\n // Remove properties that are not valid for this kind of axis\n Object(__WEBPACK_IMPORTED_MODULE_4__util__[\"keys\"])(axis).forEach(function (key) {\n var propType = __WEBPACK_IMPORTED_MODULE_2__axis__[\"AXIS_PROPERTY_TYPE\"][key];\n if (propType && propType !== kind && propType !== 'both') {\n delete axis[key];\n }\n });\n if (kind === 'grid') {\n if (!axis.grid) {\n return undefined;\n }\n // Remove unnecessary encode block\n if (axis.encode) {\n // Only need to keep encode block for grid\n var grid = axis.encode.grid;\n axis.encode = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, (grid ? { grid: grid } : {}));\n if (Object(__WEBPACK_IMPORTED_MODULE_4__util__[\"keys\"])(axis.encode).length === 0) {\n delete axis.encode;\n }\n }\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ scale: scale,\n orient: orient }, axis, { domain: false, labels: false, \n // Always set min/maxExtent to 0 to ensure that `config.axis*.minExtent` and `config.axis*.maxExtent`\n // would not affect gridAxis\n maxExtent: 0, minExtent: 0, ticks: false, zindex: zindex !== undefined ? zindex : 0 // put grid behind marks by default\n });\n }\n else { // kind === 'main'\n if (!opt.header && axisCmpt.mainExtracted) {\n // if mainExtracted has been extracted to a separate facet\n return undefined;\n }\n // Remove unnecessary encode block\n if (axis.encode) {\n for (var _i = 0, AXIS_PARTS_1 = __WEBPACK_IMPORTED_MODULE_2__axis__[\"AXIS_PARTS\"]; _i < AXIS_PARTS_1.length; _i++) {\n var part = AXIS_PARTS_1[_i];\n if (!axisCmpt.hasAxisPart(part)) {\n delete axis.encode[part];\n }\n }\n if (Object(__WEBPACK_IMPORTED_MODULE_4__util__[\"keys\"])(axis.encode).length === 0) {\n delete axis.encode;\n }\n }\n var titleString = assembleTitle(title, config);\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ scale: scale,\n orient: orient, grid: false }, (titleString ? { title: titleString } : {}), axis, { zindex: zindex !== undefined ? zindex : 1 // put axis line above marks by default\n });\n }\n}\nfunction assembleAxes(axisComponents, config) {\n var _a = axisComponents.x, x = _a === void 0 ? [] : _a, _b = axisComponents.y, y = _b === void 0 ? [] : _b;\n return x.map(function (a) { return assembleAxis(a, 'main', config); }).concat(x.map(function (a) { return assembleAxis(a, 'grid', config); }), y.map(function (a) { return assembleAxis(a, 'main', config); }), y.map(function (a) { return assembleAxis(a, 'grid', config); })).filter(function (a) { return a; }); // filter undefined\n}\n//# sourceMappingURL=assemble.js.map\n\n/***/ }),\n/* 376 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return HEADER_CHANNELS; });\n/* unused harmony export HEADER_TYPES */\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = getHeaderType;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = getTitleGroup;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = getHeaderGroups;\n/* unused harmony export labelAlign */\n/* unused harmony export labelBaseline */\n/* unused harmony export getHeaderGroup */\n/* unused harmony export getHeaderProperties */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__header__ = __webpack_require__(377);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__sort__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__common__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__data_calculate__ = __webpack_require__(62);\n\n/**\n * Utility for generating row / column headers\n */\n\n\n\n\n\n\n\nvar HEADER_CHANNELS = ['row', 'column'];\nvar HEADER_TYPES = ['header', 'footer'];\nfunction getHeaderType(orient) {\n if (orient === 'top' || orient === 'left') {\n return 'header';\n }\n return 'footer';\n}\nfunction getTitleGroup(model, channel) {\n var title = model.component.layoutHeaders[channel].title;\n var textOrient = channel === 'row' ? 'left' : undefined;\n var config = model.config ? model.config : undefined;\n var facetFieldDef = model.component.layoutHeaders[channel].facetFieldDef ? model.component.layoutHeaders[channel].facetFieldDef : undefined;\n return {\n name: channel + \"-title\",\n type: 'group',\n role: channel + \"-title\",\n title: __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ text: title, offset: 10, orient: textOrient, style: 'guide-title' }, getHeaderProperties(config, facetFieldDef, __WEBPACK_IMPORTED_MODULE_3__header__[\"HEADER_TITLE_PROPERTIES\"], __WEBPACK_IMPORTED_MODULE_3__header__[\"HEADER_TITLE_PROPERTIES_MAP\"]))\n };\n}\nfunction getHeaderGroups(model, channel) {\n var layoutHeader = model.component.layoutHeaders[channel];\n var groups = [];\n for (var _i = 0, HEADER_TYPES_1 = HEADER_TYPES; _i < HEADER_TYPES_1.length; _i++) {\n var headerType = HEADER_TYPES_1[_i];\n if (layoutHeader[headerType]) {\n for (var _a = 0, _b = layoutHeader[headerType]; _a < _b.length; _a++) {\n var headerCmpt = _b[_a];\n groups.push(getHeaderGroup(model, channel, headerType, layoutHeader, headerCmpt));\n }\n }\n }\n return groups;\n}\n// 0, (0,90), 90, (90, 180), 180, (180, 270), 270, (270, 0)\nfunction labelAlign(angle) {\n // to keep angle in [0, 360)\n angle = ((angle % 360) + 360) % 360;\n if ((angle + 90) % 180 === 0) { // for 90 and 270\n return {}; // default center\n }\n else if (angle < 90 || 270 < angle) {\n return { align: { value: 'right' } };\n }\n else if (135 <= angle && angle < 225) {\n return { align: { value: 'left' } };\n }\n return {};\n}\nfunction labelBaseline(angle) {\n // to keep angle in [0, 360)\n angle = ((angle % 360) + 360) % 360;\n if (45 <= angle && angle <= 135) {\n return { baseline: 'top' };\n }\n return { baseline: 'middle' };\n}\nfunction getSort(facetFieldDef, channel) {\n var sort = facetFieldDef.sort;\n if (Object(__WEBPACK_IMPORTED_MODULE_4__sort__[\"isSortField\"])(sort)) {\n return {\n field: Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"vgField\"])(sort, { expr: 'datum' }),\n order: sort.order || 'ascending'\n };\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(sort)) {\n return {\n field: Object(__WEBPACK_IMPORTED_MODULE_7__data_calculate__[\"b\" /* sortArrayIndexField */])(facetFieldDef, channel, 'datum'),\n order: 'ascending'\n };\n }\n else {\n return {\n field: Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"vgField\"])(facetFieldDef, { expr: 'datum' }),\n order: sort || 'ascending'\n };\n }\n}\nfunction getHeaderGroup(model, channel, headerType, layoutHeader, headerCmpt) {\n var _a;\n if (headerCmpt) {\n var title = null;\n var facetFieldDef = layoutHeader.facetFieldDef;\n if (facetFieldDef && headerCmpt.labels) {\n var _b = facetFieldDef.header, header = _b === void 0 ? {} : _b;\n var format = header.format, labelAngle = header.labelAngle;\n var config = model.config ? model.config : undefined;\n var update = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, labelAlign(labelAngle));\n title = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ text: Object(__WEBPACK_IMPORTED_MODULE_6__common__[\"d\" /* formatSignalRef */])(facetFieldDef, format, 'parent', model.config), offset: 10, orient: channel === 'row' ? 'left' : 'top', style: 'guide-label' }, getHeaderProperties(config, facetFieldDef, __WEBPACK_IMPORTED_MODULE_3__header__[\"HEADER_LABEL_PROPERTIES\"], __WEBPACK_IMPORTED_MODULE_3__header__[\"HEADER_LABEL_PROPERTIES_MAP\"]), (Object(__WEBPACK_IMPORTED_MODULE_5__util__[\"keys\"])(update).length > 0 ? { encode: { update: update } } : {}));\n }\n var axes = headerCmpt.axes;\n var hasAxes = axes && axes.length > 0;\n if (title || hasAxes) {\n var sizeChannel = channel === 'row' ? 'height' : 'width';\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ name: model.getName(channel + \"_\" + headerType), type: 'group', role: channel + \"-\" + headerType }, (layoutHeader.facetFieldDef ? {\n from: { data: model.getName(channel + '_domain') },\n sort: getSort(facetFieldDef, channel)\n } : {}), (title ? { title: title } : {}), (headerCmpt.sizeSignal ? {\n encode: {\n update: (_a = {},\n _a[sizeChannel] = headerCmpt.sizeSignal,\n _a)\n }\n } : {}), (hasAxes ? { axes: axes } : {}));\n }\n }\n return null;\n}\nfunction getHeaderProperties(config, facetFieldDef, properties, propertiesMap) {\n var props = {};\n for (var _i = 0, properties_1 = properties; _i < properties_1.length; _i++) {\n var prop = properties_1[_i];\n if (config && config.header) {\n if (config.header[prop]) {\n props[propertiesMap[prop]] = config.header[prop];\n }\n }\n if (facetFieldDef && facetFieldDef.header) {\n if (facetFieldDef.header[prop]) {\n props[propertiesMap[prop]] = facetFieldDef.header[prop];\n }\n }\n }\n return props;\n}\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 377 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"HEADER_TITLE_PROPERTIES_MAP\", function() { return HEADER_TITLE_PROPERTIES_MAP; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"HEADER_LABEL_PROPERTIES_MAP\", function() { return HEADER_LABEL_PROPERTIES_MAP; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"HEADER_TITLE_PROPERTIES\", function() { return HEADER_TITLE_PROPERTIES; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"HEADER_LABEL_PROPERTIES\", function() { return HEADER_LABEL_PROPERTIES; });\nvar HEADER_TITLE_PROPERTIES_MAP = {\n titleAnchor: 'anchor',\n titleAngle: 'angle',\n titleBaseline: 'baseline',\n titleColor: 'color',\n titleFont: 'font',\n titleFontSize: 'fontSize',\n titleFontWeight: 'fontWeight',\n titleLimit: 'limit'\n};\nvar HEADER_LABEL_PROPERTIES_MAP = {\n labelAngle: 'angle',\n labelColor: 'color',\n labelFont: 'font',\n labelFontSize: 'fontSize',\n labelLimit: 'limit',\n};\nvar HEADER_TITLE_PROPERTIES = Object.keys(HEADER_TITLE_PROPERTIES_MAP);\nvar HEADER_LABEL_PROPERTIES = Object.keys(HEADER_LABEL_PROPERTIES_MAP);\n//# sourceMappingURL=header.js.map\n\n/***/ }),\n/* 378 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = assembleLegends;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__parse__ = __webpack_require__(379);\n\n\nfunction assembleLegends(model) {\n var legendComponentIndex = model.component.legends;\n var legendByDomain = {};\n for (var _i = 0, _a = Object(__WEBPACK_IMPORTED_MODULE_0__util__[\"keys\"])(legendComponentIndex); _i < _a.length; _i++) {\n var channel = _a[_i];\n var scaleComponent = model.getScaleComponent(channel);\n var domainHash = Object(__WEBPACK_IMPORTED_MODULE_0__util__[\"stringify\"])(scaleComponent.domains);\n if (legendByDomain[domainHash]) {\n for (var _b = 0, _c = legendByDomain[domainHash]; _b < _c.length; _b++) {\n var mergedLegendComponent = _c[_b];\n var merged = Object(__WEBPACK_IMPORTED_MODULE_1__parse__[\"a\" /* mergeLegendComponent */])(mergedLegendComponent, legendComponentIndex[channel]);\n if (!merged) {\n // If cannot merge, need to add this legend separately\n legendByDomain[domainHash].push(legendComponentIndex[channel]);\n }\n }\n }\n else {\n legendByDomain[domainHash] = [legendComponentIndex[channel].clone()];\n }\n }\n return Object(__WEBPACK_IMPORTED_MODULE_0__util__[\"flatten\"])(Object(__WEBPACK_IMPORTED_MODULE_0__util__[\"vals\"])(legendByDomain)).map(function (legendCmpt) { return legendCmpt.combine(); });\n}\n//# sourceMappingURL=assemble.js.map\n\n/***/ }),\n/* 379 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = parseLegend;\n/* unused harmony export parseLegendForChannel */\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = mergeLegendComponent;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__legend__ = __webpack_require__(199);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__type__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__common__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__model__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__resolve__ = __webpack_require__(132);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__split__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__component__ = __webpack_require__(942);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__encode__ = __webpack_require__(943);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__properties__ = __webpack_require__(944);\n\n\n\n\n\n\n\n\n\n\n\n\nfunction parseLegend(model) {\n if (Object(__WEBPACK_IMPORTED_MODULE_6__model__[\"g\" /* isUnitModel */])(model)) {\n model.component.legends = parseUnitLegend(model);\n }\n else {\n model.component.legends = parseNonUnitLegend(model);\n }\n}\nfunction parseUnitLegend(model) {\n var encoding = model.encoding;\n return [__WEBPACK_IMPORTED_MODULE_0__channel__[\"COLOR\"], __WEBPACK_IMPORTED_MODULE_0__channel__[\"FILL\"], __WEBPACK_IMPORTED_MODULE_0__channel__[\"STROKE\"], __WEBPACK_IMPORTED_MODULE_0__channel__[\"SIZE\"], __WEBPACK_IMPORTED_MODULE_0__channel__[\"SHAPE\"], __WEBPACK_IMPORTED_MODULE_0__channel__[\"OPACITY\"]].reduce(function (legendComponent, channel) {\n var def = encoding[channel];\n if (model.legend(channel) && model.getScaleComponent(channel) && !(Object(__WEBPACK_IMPORTED_MODULE_1__fielddef__[\"isFieldDef\"])(def) && (channel === __WEBPACK_IMPORTED_MODULE_0__channel__[\"SHAPE\"] && def.type === __WEBPACK_IMPORTED_MODULE_3__type__[\"GEOJSON\"]))) {\n legendComponent[channel] = parseLegendForChannel(model, channel);\n }\n return legendComponent;\n }, {});\n}\nfunction getLegendDefWithScale(model, channel) {\n var _a;\n // For binned field with continuous scale, use a special scale so we can overrride the mark props and labels\n switch (channel) {\n case __WEBPACK_IMPORTED_MODULE_0__channel__[\"COLOR\"]:\n var scale = model.scaleName(__WEBPACK_IMPORTED_MODULE_0__channel__[\"COLOR\"]);\n return model.markDef.filled ? { fill: scale } : { stroke: scale };\n case __WEBPACK_IMPORTED_MODULE_0__channel__[\"FILL\"]:\n case __WEBPACK_IMPORTED_MODULE_0__channel__[\"STROKE\"]:\n case __WEBPACK_IMPORTED_MODULE_0__channel__[\"SIZE\"]:\n case __WEBPACK_IMPORTED_MODULE_0__channel__[\"SHAPE\"]:\n case __WEBPACK_IMPORTED_MODULE_0__channel__[\"OPACITY\"]:\n return _a = {}, _a[channel] = model.scaleName(channel), _a;\n }\n}\nfunction parseLegendForChannel(model, channel) {\n var fieldDef = model.fieldDef(channel);\n var legend = model.legend(channel);\n var legendCmpt = new __WEBPACK_IMPORTED_MODULE_9__component__[\"a\" /* LegendComponent */]({}, getLegendDefWithScale(model, channel));\n __WEBPACK_IMPORTED_MODULE_2__legend__[\"LEGEND_PROPERTIES\"].forEach(function (property) {\n var value = getProperty(property, legend, channel, model);\n if (value !== undefined) {\n var explicit = \n // specified legend.values is already respected, but may get transformed.\n property === 'values' ? !!legend.values :\n // title can be explicit if fieldDef.title is set\n property === 'title' && value === model.fieldDef(channel).title ? true :\n // Otherwise, things are explicit if the returned value matches the specified property\n value === legend[property];\n if (explicit || model.config.legend[property] === undefined) {\n legendCmpt.set(property, value, explicit);\n }\n }\n });\n // 2) Add mark property definition groups\n var legendEncoding = legend.encoding || {};\n var legendEncode = ['labels', 'legend', 'title', 'symbols', 'gradient'].reduce(function (e, part) {\n var legendEncodingPart = Object(__WEBPACK_IMPORTED_MODULE_5__common__[\"h\" /* guideEncodeEntry */])(legendEncoding[part] || {}, model);\n var value = __WEBPACK_IMPORTED_MODULE_10__encode__[part] ?\n // TODO: replace legendCmpt with type is sufficient\n __WEBPACK_IMPORTED_MODULE_10__encode__[part](fieldDef, legendEncodingPart, model, channel, legendCmpt.get('type')) : // apply rule\n legendEncodingPart; // no rule -- just default values\n if (value !== undefined && Object(__WEBPACK_IMPORTED_MODULE_4__util__[\"keys\"])(value).length > 0) {\n e[part] = { update: value };\n }\n return e;\n }, {});\n if (Object(__WEBPACK_IMPORTED_MODULE_4__util__[\"keys\"])(legendEncode).length > 0) {\n legendCmpt.set('encode', legendEncode, !!legend.encoding);\n }\n return legendCmpt;\n}\nfunction getProperty(property, specifiedLegend, channel, model) {\n var fieldDef = model.fieldDef(channel);\n switch (property) {\n case 'format':\n // We don't include temporal field here as we apply format in encode block\n return Object(__WEBPACK_IMPORTED_MODULE_5__common__[\"l\" /* numberFormat */])(fieldDef, specifiedLegend.format, model.config);\n case 'title':\n // For falsy value, keep undefined so we use default,\n // but use null for '', null, and false to hide the title\n var specifiedTitle = fieldDef.title !== undefined ? fieldDef.title :\n specifiedLegend.title || (specifiedLegend.title === undefined ? undefined : null);\n return Object(__WEBPACK_IMPORTED_MODULE_5__common__[\"f\" /* getSpecifiedOrDefaultValue */])(specifiedTitle, Object(__WEBPACK_IMPORTED_MODULE_1__fielddef__[\"title\"])(fieldDef, model.config)) || undefined; // make falsy value undefined so output Vega spec is shorter\n case 'values':\n return __WEBPACK_IMPORTED_MODULE_11__properties__[\"b\" /* values */](specifiedLegend, fieldDef);\n case 'type':\n return Object(__WEBPACK_IMPORTED_MODULE_5__common__[\"f\" /* getSpecifiedOrDefaultValue */])(specifiedLegend.type, __WEBPACK_IMPORTED_MODULE_11__properties__[\"a\" /* type */](fieldDef.type, channel, model.getScaleComponent(channel).get('type')));\n }\n // Otherwise, return specified property.\n return specifiedLegend[property];\n}\nfunction parseNonUnitLegend(model) {\n var _a = model.component, legends = _a.legends, resolve = _a.resolve;\n var _loop_1 = function (child) {\n parseLegend(child);\n Object(__WEBPACK_IMPORTED_MODULE_4__util__[\"keys\"])(child.component.legends).forEach(function (channel) {\n resolve.legend[channel] = Object(__WEBPACK_IMPORTED_MODULE_7__resolve__[\"b\" /* parseGuideResolve */])(model.component.resolve, channel);\n if (resolve.legend[channel] === 'shared') {\n // If the resolve says shared (and has not been overridden)\n // We will try to merge and see if there is a conflict\n legends[channel] = mergeLegendComponent(legends[channel], child.component.legends[channel]);\n if (!legends[channel]) {\n // If merge returns nothing, there is a conflict so we cannot make the legend shared.\n // Thus, mark legend as independent and remove the legend component.\n resolve.legend[channel] = 'independent';\n delete legends[channel];\n }\n }\n });\n };\n for (var _i = 0, _b = model.children; _i < _b.length; _i++) {\n var child = _b[_i];\n _loop_1(child);\n }\n Object(__WEBPACK_IMPORTED_MODULE_4__util__[\"keys\"])(legends).forEach(function (channel) {\n for (var _i = 0, _a = model.children; _i < _a.length; _i++) {\n var child = _a[_i];\n if (!child.component.legends[channel]) {\n // skip if the child does not have a particular legend\n continue;\n }\n if (resolve.legend[channel] === 'shared') {\n // After merging shared legend, make sure to remove legend from child\n delete child.component.legends[channel];\n }\n }\n });\n return legends;\n}\nfunction mergeLegendComponent(mergedLegend, childLegend) {\n if (!mergedLegend) {\n return childLegend.clone();\n }\n var mergedOrient = mergedLegend.getWithExplicit('orient');\n var childOrient = childLegend.getWithExplicit('orient');\n if (mergedOrient.explicit && childOrient.explicit && mergedOrient.value !== childOrient.value) {\n // TODO: throw warning if resolve is explicit (We don't have info about explicit/implicit resolve yet.)\n // Cannot merge due to inconsistent orient\n return undefined;\n }\n var typeMerged = false;\n var _loop_2 = function (prop) {\n var mergedValueWithExplicit = Object(__WEBPACK_IMPORTED_MODULE_8__split__[\"e\" /* mergeValuesWithExplicit */])(mergedLegend.getWithExplicit(prop), childLegend.getWithExplicit(prop), prop, 'legend', \n // Tie breaker function\n function (v1, v2) {\n switch (prop) {\n case 'title':\n return Object(__WEBPACK_IMPORTED_MODULE_5__common__[\"j\" /* mergeTitleComponent */])(v1, v2);\n case 'type':\n // There are only two types. If we have different types, then prefer symbol over gradient.\n typeMerged = true;\n return Object(__WEBPACK_IMPORTED_MODULE_8__split__[\"d\" /* makeImplicit */])('symbol');\n }\n return Object(__WEBPACK_IMPORTED_MODULE_8__split__[\"b\" /* defaultTieBreaker */])(v1, v2, prop, 'legend');\n });\n mergedLegend.setWithExplicit(prop, mergedValueWithExplicit);\n };\n // Otherwise, let's merge\n for (var _i = 0, VG_LEGEND_PROPERTIES_1 = __WEBPACK_IMPORTED_MODULE_2__legend__[\"VG_LEGEND_PROPERTIES\"]; _i < VG_LEGEND_PROPERTIES_1.length; _i++) {\n var prop = VG_LEGEND_PROPERTIES_1[_i];\n _loop_2(prop);\n }\n if (typeMerged) {\n if (((mergedLegend.implicit || {}).encode || {}).gradient) {\n Object(__WEBPACK_IMPORTED_MODULE_4__util__[\"deleteNestedProperty\"])(mergedLegend.implicit, ['encode', 'gradient']);\n }\n if (((mergedLegend.explicit || {}).encode || {}).gradient) {\n Object(__WEBPACK_IMPORTED_MODULE_4__util__[\"deleteNestedProperty\"])(mergedLegend.explicit, ['encode', 'gradient']);\n }\n }\n return mergedLegend;\n}\n//# sourceMappingURL=parse.js.map\n\n/***/ }),\n/* 380 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return FACET_SCALE_PREFIX; });\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = optimizeDataflow;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__data__ = __webpack_require__(45);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__aggregate__ = __webpack_require__(203);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__dataflow__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__facet__ = __webpack_require__(133);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__filterinvalid__ = __webpack_require__(204);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__optimizers__ = __webpack_require__(950);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__stack__ = __webpack_require__(206);\n\n\n\n\n\n\n\n\nvar FACET_SCALE_PREFIX = 'scale_';\n/**\n * Clones the subtree and ignores output nodes except for the leafs, which are renamed.\n */\nfunction cloneSubtree(facet) {\n function clone(node) {\n if (!(node instanceof __WEBPACK_IMPORTED_MODULE_4__facet__[\"a\" /* FacetNode */])) {\n var copy_1 = node.clone();\n if (copy_1 instanceof __WEBPACK_IMPORTED_MODULE_3__dataflow__[\"b\" /* OutputNode */]) {\n var newName = FACET_SCALE_PREFIX + copy_1.getSource();\n copy_1.setSource(newName);\n facet.model.component.data.outputNodes[newName] = copy_1;\n }\n else if (copy_1 instanceof __WEBPACK_IMPORTED_MODULE_2__aggregate__[\"a\" /* AggregateNode */] || copy_1 instanceof __WEBPACK_IMPORTED_MODULE_7__stack__[\"a\" /* StackNode */]) {\n copy_1.addDimensions(facet.fields);\n }\n Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"flatten\"])(node.children.map(clone)).forEach(function (n) { return n.parent = copy_1; });\n return [copy_1];\n }\n return Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"flatten\"])(node.children.map(clone));\n }\n return clone;\n}\n/**\n * Move facet nodes down to the next fork or output node. Also pull the main output with the facet node.\n * After moving down the facet node, make a copy of the subtree and make it a child of the main output.\n */\nfunction moveFacetDown(node) {\n if (node instanceof __WEBPACK_IMPORTED_MODULE_4__facet__[\"a\" /* FacetNode */]) {\n if (node.numChildren() === 1 && !(node.children[0] instanceof __WEBPACK_IMPORTED_MODULE_3__dataflow__[\"b\" /* OutputNode */])) {\n // move down until we hit a fork or output node\n var child = node.children[0];\n if (child instanceof __WEBPACK_IMPORTED_MODULE_2__aggregate__[\"a\" /* AggregateNode */] || child instanceof __WEBPACK_IMPORTED_MODULE_7__stack__[\"a\" /* StackNode */]) {\n child.addDimensions(node.fields);\n }\n child.swapWithParent();\n moveFacetDown(node);\n }\n else {\n // move main to facet\n moveMainDownToFacet(node.model.component.data.main);\n // replicate the subtree and place it before the facet's main node\n var copy = Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"flatten\"])(node.children.map(cloneSubtree(node)));\n copy.forEach(function (c) { return c.parent = node.model.component.data.main; });\n }\n }\n else {\n node.children.forEach(moveFacetDown);\n }\n}\nfunction moveMainDownToFacet(node) {\n if (node instanceof __WEBPACK_IMPORTED_MODULE_3__dataflow__[\"b\" /* OutputNode */] && node.type === __WEBPACK_IMPORTED_MODULE_0__data__[\"MAIN\"]) {\n if (node.numChildren() === 1) {\n var child = node.children[0];\n if (!(child instanceof __WEBPACK_IMPORTED_MODULE_4__facet__[\"a\" /* FacetNode */])) {\n child.swapWithParent();\n moveMainDownToFacet(node);\n }\n }\n }\n}\n/**\n * Remove nodes that are not required starting from a root.\n */\nfunction removeUnnecessaryNodes(node) {\n // remove empty null filter nodes\n if (node instanceof __WEBPACK_IMPORTED_MODULE_5__filterinvalid__[\"a\" /* FilterInvalidNode */] && Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"every\"])(Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"vals\"])(node.filter), function (f) { return f === null; })) {\n node.remove();\n }\n // remove output nodes that are not required\n if (node instanceof __WEBPACK_IMPORTED_MODULE_3__dataflow__[\"b\" /* OutputNode */] && !node.isRequired()) {\n node.remove();\n }\n node.children.forEach(removeUnnecessaryNodes);\n}\n/**\n * Return all leaf nodes.\n */\nfunction getLeaves(roots) {\n var leaves = [];\n function append(node) {\n if (node.numChildren() === 0) {\n leaves.push(node);\n }\n else {\n node.children.forEach(append);\n }\n }\n roots.forEach(append);\n return leaves;\n}\n/**\n * Optimizes the dataflow of the passed in data component.\n */\nfunction optimizeDataflow(dataComponent) {\n var roots = Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"vals\"])(dataComponent.sources);\n roots.forEach(removeUnnecessaryNodes);\n // remove source nodes that don't have any children because they also don't have output nodes\n roots = roots.filter(function (r) { return r.numChildren() > 0; });\n getLeaves(roots).forEach(__WEBPACK_IMPORTED_MODULE_6__optimizers__[\"a\" /* iterateFromLeaves */](__WEBPACK_IMPORTED_MODULE_6__optimizers__[\"d\" /* removeUnusedSubtrees */]));\n roots = roots.filter(function (r) { return r.numChildren() > 0; });\n getLeaves(roots).forEach(__WEBPACK_IMPORTED_MODULE_6__optimizers__[\"a\" /* iterateFromLeaves */](__WEBPACK_IMPORTED_MODULE_6__optimizers__[\"b\" /* moveParseUp */]));\n getLeaves(roots).forEach(__WEBPACK_IMPORTED_MODULE_6__optimizers__[\"c\" /* removeDuplicateTimeUnits */]);\n roots.forEach(moveFacetDown);\n Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"keys\"])(dataComponent.sources).forEach(function (s) {\n if (dataComponent.sources[s].numChildren() === 0) {\n delete dataComponent.sources[s];\n }\n });\n}\n//# sourceMappingURL=optimize.js.map\n\n/***/ }),\n/* 381 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = parseScaleProperty;\n/* unused harmony export getDefaultValue */\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = parseNonUnitScaleProperty;\n/* unused harmony export nice */\n/* unused harmony export padding */\n/* unused harmony export paddingInner */\n/* unused harmony export paddingOuter */\n/* unused harmony export reverse */\n/* unused harmony export zero */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__scale__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__model__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__split__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__range__ = __webpack_require__(382);\n\n\n\n\n\n\n\n\nfunction parseScaleProperty(model, property) {\n if (Object(__WEBPACK_IMPORTED_MODULE_4__model__[\"g\" /* isUnitModel */])(model)) {\n parseUnitScaleProperty(model, property);\n }\n else {\n parseNonUnitScaleProperty(model, property);\n }\n}\nfunction parseUnitScaleProperty(model, property) {\n var localScaleComponents = model.component.scales;\n Object(__WEBPACK_IMPORTED_MODULE_3__util__[\"keys\"])(localScaleComponents).forEach(function (channel) {\n var specifiedScale = model.specifiedScales[channel];\n var localScaleCmpt = localScaleComponents[channel];\n var mergedScaleCmpt = model.getScaleComponent(channel);\n var fieldDef = model.fieldDef(channel);\n var config = model.config;\n var specifiedValue = specifiedScale[property];\n var sType = mergedScaleCmpt.get('type');\n var supportedByScaleType = Object(__WEBPACK_IMPORTED_MODULE_2__scale__[\"scaleTypeSupportProperty\"])(sType, property);\n var channelIncompatability = Object(__WEBPACK_IMPORTED_MODULE_2__scale__[\"channelScalePropertyIncompatability\"])(channel, property);\n if (specifiedValue !== undefined) {\n // If there is a specified value, check if it is compatible with scale type and channel\n if (!supportedByScaleType) {\n __WEBPACK_IMPORTED_MODULE_1__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_1__log__[\"b\" /* message */].scalePropertyNotWorkWithScaleType(sType, property, channel));\n }\n else if (channelIncompatability) { // channel\n __WEBPACK_IMPORTED_MODULE_1__log__[\"e\" /* warn */](channelIncompatability);\n }\n }\n if (supportedByScaleType && channelIncompatability === undefined) {\n if (specifiedValue !== undefined) {\n // copyKeyFromObject ensure type safety\n localScaleCmpt.copyKeyFromObject(property, specifiedScale);\n }\n else {\n var value = getDefaultValue(property, channel, fieldDef, mergedScaleCmpt.get('type'), mergedScaleCmpt.get('padding'), mergedScaleCmpt.get('paddingInner'), specifiedScale.domain, model.markDef, config);\n if (value !== undefined) {\n localScaleCmpt.set(property, value, false);\n }\n }\n }\n });\n}\n// Note: This method is used in Voyager.\nfunction getDefaultValue(property, channel, fieldDef, scaleType, scalePadding, scalePaddingInner, specifiedDomain, markDef, config) {\n var scaleConfig = config.scale;\n // If we have default rule-base, determine default value first\n switch (property) {\n case 'nice':\n return nice(scaleType, channel, fieldDef);\n case 'padding':\n return padding(channel, scaleType, scaleConfig, fieldDef, markDef, config.bar);\n case 'paddingInner':\n return paddingInner(scalePadding, channel, scaleConfig);\n case 'paddingOuter':\n return paddingOuter(scalePadding, channel, scaleType, scalePaddingInner, scaleConfig);\n case 'reverse':\n return reverse(scaleType, fieldDef.sort);\n case 'zero':\n return zero(channel, fieldDef, specifiedDomain, markDef);\n }\n // Otherwise, use scale config\n return scaleConfig[property];\n}\nfunction parseNonUnitScaleProperty(model, property) {\n var localScaleComponents = model.component.scales;\n for (var _i = 0, _a = model.children; _i < _a.length; _i++) {\n var child = _a[_i];\n if (property === 'range') {\n Object(__WEBPACK_IMPORTED_MODULE_6__range__[\"a\" /* parseScaleRange */])(child);\n }\n else {\n parseScaleProperty(child, property);\n }\n }\n Object(__WEBPACK_IMPORTED_MODULE_3__util__[\"keys\"])(localScaleComponents).forEach(function (channel) {\n var valueWithExplicit;\n for (var _i = 0, _a = model.children; _i < _a.length; _i++) {\n var child = _a[_i];\n var childComponent = child.component.scales[channel];\n if (childComponent) {\n var childValueWithExplicit = childComponent.getWithExplicit(property);\n valueWithExplicit = Object(__WEBPACK_IMPORTED_MODULE_5__split__[\"e\" /* mergeValuesWithExplicit */])(valueWithExplicit, childValueWithExplicit, property, 'scale', Object(__WEBPACK_IMPORTED_MODULE_5__split__[\"f\" /* tieBreakByComparing */])(function (v1, v2) {\n switch (property) {\n case 'range':\n // For range step, prefer larger step\n if (v1.step && v2.step) {\n return v1.step - v2.step;\n }\n return 0;\n // TODO: precedence rule for other properties\n }\n return 0;\n }));\n }\n }\n localScaleComponents[channel].setWithExplicit(property, valueWithExplicit);\n });\n}\nfunction nice(scaleType, channel, fieldDef) {\n if (fieldDef.bin || __WEBPACK_IMPORTED_MODULE_3__util__[\"contains\"]([__WEBPACK_IMPORTED_MODULE_2__scale__[\"ScaleType\"].TIME, __WEBPACK_IMPORTED_MODULE_2__scale__[\"ScaleType\"].UTC], scaleType)) {\n return undefined;\n }\n return __WEBPACK_IMPORTED_MODULE_3__util__[\"contains\"]([__WEBPACK_IMPORTED_MODULE_0__channel__[\"X\"], __WEBPACK_IMPORTED_MODULE_0__channel__[\"Y\"]], channel); // return true for quantitative X/Y unless binned\n}\nfunction padding(channel, scaleType, scaleConfig, fieldDef, markDef, barConfig) {\n if (__WEBPACK_IMPORTED_MODULE_3__util__[\"contains\"]([__WEBPACK_IMPORTED_MODULE_0__channel__[\"X\"], __WEBPACK_IMPORTED_MODULE_0__channel__[\"Y\"]], channel)) {\n if (Object(__WEBPACK_IMPORTED_MODULE_2__scale__[\"isContinuousToContinuous\"])(scaleType)) {\n if (scaleConfig.continuousPadding !== undefined) {\n return scaleConfig.continuousPadding;\n }\n var type = markDef.type, orient = markDef.orient;\n if (type === 'bar' && !fieldDef.bin) {\n if ((orient === 'vertical' && channel === 'x') ||\n (orient === 'horizontal' && channel === 'y')) {\n return barConfig.continuousBandSize;\n }\n }\n }\n if (scaleType === __WEBPACK_IMPORTED_MODULE_2__scale__[\"ScaleType\"].POINT) {\n return scaleConfig.pointPadding;\n }\n }\n return undefined;\n}\nfunction paddingInner(paddingValue, channel, scaleConfig) {\n if (paddingValue !== undefined) {\n // If user has already manually specified \"padding\", no need to add default paddingInner.\n return undefined;\n }\n if (__WEBPACK_IMPORTED_MODULE_3__util__[\"contains\"]([__WEBPACK_IMPORTED_MODULE_0__channel__[\"X\"], __WEBPACK_IMPORTED_MODULE_0__channel__[\"Y\"]], channel)) {\n // Padding is only set for X and Y by default.\n // Basically it doesn't make sense to add padding for color and size.\n // paddingOuter would only be called if it's a band scale, just return the default for bandScale.\n return scaleConfig.bandPaddingInner;\n }\n return undefined;\n}\nfunction paddingOuter(paddingValue, channel, scaleType, paddingInnerValue, scaleConfig) {\n if (paddingValue !== undefined) {\n // If user has already manually specified \"padding\", no need to add default paddingOuter.\n return undefined;\n }\n if (__WEBPACK_IMPORTED_MODULE_3__util__[\"contains\"]([__WEBPACK_IMPORTED_MODULE_0__channel__[\"X\"], __WEBPACK_IMPORTED_MODULE_0__channel__[\"Y\"]], channel)) {\n // Padding is only set for X and Y by default.\n // Basically it doesn't make sense to add padding for color and size.\n if (scaleType === __WEBPACK_IMPORTED_MODULE_2__scale__[\"ScaleType\"].BAND) {\n if (scaleConfig.bandPaddingOuter !== undefined) {\n return scaleConfig.bandPaddingOuter;\n }\n /* By default, paddingOuter is paddingInner / 2. The reason is that\n size (width/height) = step * (cardinality - paddingInner + 2 * paddingOuter).\n and we want the width/height to be integer by default.\n Note that step (by default) and cardinality are integers.) */\n return paddingInnerValue / 2;\n }\n }\n return undefined;\n}\nfunction reverse(scaleType, sort) {\n if (Object(__WEBPACK_IMPORTED_MODULE_2__scale__[\"hasContinuousDomain\"])(scaleType) && sort === 'descending') {\n // For continuous domain scales, Vega does not support domain sort.\n // Thus, we reverse range instead if sort is descending\n return true;\n }\n return undefined;\n}\nfunction zero(channel, fieldDef, specifiedScale, markDef) {\n // If users explicitly provide a domain range, we should not augment zero as that will be unexpected.\n var hasCustomDomain = !!specifiedScale && specifiedScale !== 'unaggregated';\n if (hasCustomDomain) {\n return false;\n }\n // If there is no custom domain, return true only for the following cases:\n // 1) using quantitative field with size\n // While this can be either ratio or interval fields, our assumption is that\n // ratio are more common.\n if (channel === 'size' && fieldDef.type === 'quantitative') {\n return true;\n }\n // 2) non-binned, quantitative x-scale or y-scale\n // (For binning, we should not include zero by default because binning are calculated without zero.)\n if (!fieldDef.bin && __WEBPACK_IMPORTED_MODULE_3__util__[\"contains\"]([__WEBPACK_IMPORTED_MODULE_0__channel__[\"X\"], __WEBPACK_IMPORTED_MODULE_0__channel__[\"Y\"]], channel)) {\n var orient = markDef.orient, type = markDef.type;\n if (Object(__WEBPACK_IMPORTED_MODULE_3__util__[\"contains\"])(['bar', 'area', 'line', 'trail'], type)) {\n if ((orient === 'horizontal' && channel === 'y') ||\n (orient === 'vertical' && channel === 'x')) {\n return false;\n }\n }\n return true;\n }\n return false;\n}\n//# sourceMappingURL=properties.js.map\n\n/***/ }),\n/* 382 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export RANGE_PROPERTIES */\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = parseScaleRange;\n/* unused harmony export parseRangeForChannel */\n/* unused harmony export defaultRange */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__scale__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__vega_schema__ = __webpack_require__(29);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__model__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__split__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__properties__ = __webpack_require__(381);\n\n\n\n\n\n\n\n\n\n\nvar RANGE_PROPERTIES = ['range', 'rangeStep', 'scheme'];\nfunction parseScaleRange(model) {\n if (Object(__WEBPACK_IMPORTED_MODULE_6__model__[\"g\" /* isUnitModel */])(model)) {\n parseUnitScaleRange(model);\n }\n else {\n Object(__WEBPACK_IMPORTED_MODULE_8__properties__[\"a\" /* parseNonUnitScaleProperty */])(model, 'range');\n }\n}\nfunction parseUnitScaleRange(model) {\n var localScaleComponents = model.component.scales;\n // use SCALE_CHANNELS instead of scales[channel] to ensure that x, y come first!\n __WEBPACK_IMPORTED_MODULE_1__channel__[\"SCALE_CHANNELS\"].forEach(function (channel) {\n var localScaleCmpt = localScaleComponents[channel];\n if (!localScaleCmpt) {\n return;\n }\n var mergedScaleCmpt = model.getScaleComponent(channel);\n var specifiedScale = model.specifiedScales[channel];\n var fieldDef = model.fieldDef(channel);\n // Read if there is a specified width/height\n var sizeType = channel === 'x' ? 'width' : channel === 'y' ? 'height' : undefined;\n var sizeSpecified = sizeType ? !!model.component.layoutSize.get(sizeType) : undefined;\n var scaleType = mergedScaleCmpt.get('type');\n // if autosize is fit, size cannot be data driven\n var rangeStep = __WEBPACK_IMPORTED_MODULE_4__util__[\"contains\"](['point', 'band'], scaleType) || !!specifiedScale.rangeStep;\n if (sizeType && model.fit && !sizeSpecified && rangeStep) {\n __WEBPACK_IMPORTED_MODULE_2__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_2__log__[\"b\" /* message */].CANNOT_FIX_RANGE_STEP_WITH_FIT);\n sizeSpecified = true;\n }\n var xyRangeSteps = getXYRangeStep(model);\n var rangeWithExplicit = parseRangeForChannel(channel, scaleType, fieldDef.type, specifiedScale, model.config, localScaleCmpt.get('zero'), model.mark, sizeSpecified, model.getName(sizeType), xyRangeSteps);\n localScaleCmpt.setWithExplicit('range', rangeWithExplicit);\n });\n}\nfunction getXYRangeStep(model) {\n var xyRangeSteps = [];\n var xScale = model.getScaleComponent('x');\n var xRange = xScale && xScale.get('range');\n if (xRange && Object(__WEBPACK_IMPORTED_MODULE_5__vega_schema__[\"e\" /* isVgRangeStep */])(xRange) && Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"z\" /* isNumber */])(xRange.step)) {\n xyRangeSteps.push(xRange.step);\n }\n var yScale = model.getScaleComponent('y');\n var yRange = yScale && yScale.get('range');\n if (yRange && Object(__WEBPACK_IMPORTED_MODULE_5__vega_schema__[\"e\" /* isVgRangeStep */])(yRange) && Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"z\" /* isNumber */])(yRange.step)) {\n xyRangeSteps.push(yRange.step);\n }\n return xyRangeSteps;\n}\n/**\n * Return mixins that includes one of the range properties (range, rangeStep, scheme).\n */\nfunction parseRangeForChannel(channel, scaleType, type, specifiedScale, config, zero, mark, sizeSpecified, sizeSignal, xyRangeSteps) {\n var noRangeStep = sizeSpecified || specifiedScale.rangeStep === null;\n // Check if any of the range properties is specified.\n // If so, check if it is compatible and make sure that we only output one of the properties\n for (var _i = 0, RANGE_PROPERTIES_1 = RANGE_PROPERTIES; _i < RANGE_PROPERTIES_1.length; _i++) {\n var property = RANGE_PROPERTIES_1[_i];\n if (specifiedScale[property] !== undefined) {\n var supportedByScaleType = Object(__WEBPACK_IMPORTED_MODULE_3__scale__[\"scaleTypeSupportProperty\"])(scaleType, property);\n var channelIncompatability = Object(__WEBPACK_IMPORTED_MODULE_3__scale__[\"channelScalePropertyIncompatability\"])(channel, property);\n if (!supportedByScaleType) {\n __WEBPACK_IMPORTED_MODULE_2__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_2__log__[\"b\" /* message */].scalePropertyNotWorkWithScaleType(scaleType, property, channel));\n }\n else if (channelIncompatability) { // channel\n __WEBPACK_IMPORTED_MODULE_2__log__[\"e\" /* warn */](channelIncompatability);\n }\n else {\n switch (property) {\n case 'range':\n return Object(__WEBPACK_IMPORTED_MODULE_7__split__[\"c\" /* makeExplicit */])(specifiedScale[property]);\n case 'scheme':\n return Object(__WEBPACK_IMPORTED_MODULE_7__split__[\"c\" /* makeExplicit */])(parseScheme(specifiedScale[property]));\n case 'rangeStep':\n var rangeStep = specifiedScale[property];\n if (rangeStep !== null) {\n if (!sizeSpecified) {\n return Object(__WEBPACK_IMPORTED_MODULE_7__split__[\"c\" /* makeExplicit */])({ step: rangeStep });\n }\n else {\n // If top-level size is specified, we ignore specified rangeStep.\n __WEBPACK_IMPORTED_MODULE_2__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_2__log__[\"b\" /* message */].rangeStepDropped(channel));\n }\n }\n }\n }\n }\n }\n return Object(__WEBPACK_IMPORTED_MODULE_7__split__[\"d\" /* makeImplicit */])(defaultRange(channel, scaleType, type, config, zero, mark, sizeSignal, xyRangeSteps, noRangeStep));\n}\nfunction parseScheme(scheme) {\n if (Object(__WEBPACK_IMPORTED_MODULE_3__scale__[\"isExtendedScheme\"])(scheme)) {\n var r = { scheme: scheme.name };\n if (scheme.count) {\n r.count = scheme.count;\n }\n if (scheme.extent) {\n r.extent = scheme.extent;\n }\n return r;\n }\n return { scheme: scheme };\n}\nfunction defaultRange(channel, scaleType, type, config, zero, mark, sizeSignal, xyRangeSteps, noRangeStep) {\n switch (channel) {\n case __WEBPACK_IMPORTED_MODULE_1__channel__[\"X\"]:\n case __WEBPACK_IMPORTED_MODULE_1__channel__[\"Y\"]:\n if (__WEBPACK_IMPORTED_MODULE_4__util__[\"contains\"](['point', 'band'], scaleType) && !noRangeStep) {\n if (channel === __WEBPACK_IMPORTED_MODULE_1__channel__[\"X\"] && mark === 'text') {\n if (config.scale.textXRangeStep) {\n return { step: config.scale.textXRangeStep };\n }\n }\n else {\n if (config.scale.rangeStep) {\n return { step: config.scale.rangeStep };\n }\n }\n }\n // If range step is null, use zero to width or height.\n // Note that these range signals are temporary\n // as they can be merged and renamed.\n // (We do not have the right size signal here since parseLayoutSize() happens after parseScale().)\n // We will later replace these temporary names with\n // the final name in assembleScaleRange()\n if (channel === __WEBPACK_IMPORTED_MODULE_1__channel__[\"Y\"] && Object(__WEBPACK_IMPORTED_MODULE_3__scale__[\"hasContinuousDomain\"])(scaleType)) {\n // For y continuous scale, we have to start from the height as the bottom part has the max value.\n return [{ signal: sizeSignal }, 0];\n }\n else {\n return [0, { signal: sizeSignal }];\n }\n case __WEBPACK_IMPORTED_MODULE_1__channel__[\"SIZE\"]:\n // TODO: support custom rangeMin, rangeMax\n var rangeMin = sizeRangeMin(mark, zero, config);\n var rangeMax = sizeRangeMax(mark, xyRangeSteps, config);\n return [rangeMin, rangeMax];\n case __WEBPACK_IMPORTED_MODULE_1__channel__[\"SHAPE\"]:\n return 'symbol';\n case __WEBPACK_IMPORTED_MODULE_1__channel__[\"COLOR\"]:\n case __WEBPACK_IMPORTED_MODULE_1__channel__[\"FILL\"]:\n case __WEBPACK_IMPORTED_MODULE_1__channel__[\"STROKE\"]:\n if (scaleType === 'ordinal') {\n // Only nominal data uses ordinal scale by default\n return type === 'nominal' ? 'category' : 'ordinal';\n }\n return mark === 'rect' || mark === 'geoshape' ? 'heatmap' : 'ramp';\n case __WEBPACK_IMPORTED_MODULE_1__channel__[\"OPACITY\"]:\n // TODO: support custom rangeMin, rangeMax\n return [config.scale.minOpacity, config.scale.maxOpacity];\n }\n /* istanbul ignore next: should never reach here */\n throw new Error(\"Scale range undefined for channel \" + channel);\n}\nfunction sizeRangeMin(mark, zero, config) {\n if (zero) {\n return 0;\n }\n switch (mark) {\n case 'bar':\n case 'tick':\n return config.scale.minBandSize;\n case 'line':\n case 'trail':\n case 'rule':\n return config.scale.minStrokeWidth;\n case 'text':\n return config.scale.minFontSize;\n case 'point':\n case 'square':\n case 'circle':\n return config.scale.minSize;\n }\n /* istanbul ignore next: should never reach here */\n // sizeRangeMin not implemented for the mark\n throw new Error(__WEBPACK_IMPORTED_MODULE_2__log__[\"b\" /* message */].incompatibleChannel('size', mark));\n}\nfunction sizeRangeMax(mark, xyRangeSteps, config) {\n var scaleConfig = config.scale;\n switch (mark) {\n case 'bar':\n case 'tick':\n if (config.scale.maxBandSize !== undefined) {\n return config.scale.maxBandSize;\n }\n return minXYRangeStep(xyRangeSteps, config.scale) - 1;\n case 'line':\n case 'trail':\n case 'rule':\n return config.scale.maxStrokeWidth;\n case 'text':\n return config.scale.maxFontSize;\n case 'point':\n case 'square':\n case 'circle':\n if (config.scale.maxSize) {\n return config.scale.maxSize;\n }\n // FIXME this case totally should be refactored\n var pointStep = minXYRangeStep(xyRangeSteps, scaleConfig);\n return (pointStep - 2) * (pointStep - 2);\n }\n /* istanbul ignore next: should never reach here */\n // sizeRangeMax not implemented for the mark\n throw new Error(__WEBPACK_IMPORTED_MODULE_2__log__[\"b\" /* message */].incompatibleChannel('size', mark));\n}\n/**\n * @returns {number} Range step of x or y or minimum between the two if both are ordinal scale.\n */\nfunction minXYRangeStep(xyRangeSteps, scaleConfig) {\n if (xyRangeSteps.length > 0) {\n return Math.min.apply(null, xyRangeSteps);\n }\n if (scaleConfig.rangeStep) {\n return scaleConfig.rangeStep;\n }\n return 21; // FIXME: re-evaluate the default value here.\n}\n//# sourceMappingURL=range.js.map\n\n/***/ }),\n/* 383 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = signals;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__selection__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__transforms_nearest__ = __webpack_require__(208);\n\n\n\n\nfunction signals(model, selCmpt) {\n var proj = selCmpt.project;\n var datum = __WEBPACK_IMPORTED_MODULE_3__transforms_nearest__[\"a\" /* default */].has(selCmpt) ?\n '(item().isVoronoi ? datum.datum : datum)' : 'datum';\n var bins = [];\n var encodings = proj.map(function (p) { return Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"O\" /* stringValue */])(p.channel); }).filter(function (e) { return e; }).join(', ');\n var fields = proj.map(function (p) { return Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"O\" /* stringValue */])(p.field); }).join(', ');\n var values = proj.map(function (p) {\n var channel = p.channel;\n var fieldDef = model.fieldDef(channel);\n // Binned fields should capture extents, for a range test against the raw field.\n return (fieldDef && fieldDef.bin) ? (bins.push(p.field),\n \"[\" + Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"accessPathWithDatum\"])(model.vgField(channel, {}), datum) + \", \" +\n (Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"accessPathWithDatum\"])(model.vgField(channel, { binSuffix: 'end' }), datum) + \"]\")) :\n \"\" + Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"accessPathWithDatum\"])(p.field, datum);\n }).join(', ');\n // Only add a discrete selection to the store if a datum is present _and_\n // the interaction isn't occurring on a group mark. This guards against\n // polluting interactive state with invalid values in faceted displays\n // as the group marks are also data-driven. We force the update to account\n // for constant null states but varying toggles (e.g., shift-click in\n // whitespace followed by a click in whitespace; the store should only\n // be cleared on the second click).\n return [{\n name: selCmpt.name + __WEBPACK_IMPORTED_MODULE_2__selection__[\"c\" /* TUPLE */],\n value: {},\n on: [{\n events: selCmpt.events,\n update: \"datum && item().mark.marktype !== 'group' ? \" +\n (\"{unit: \" + Object(__WEBPACK_IMPORTED_MODULE_2__selection__[\"p\" /* unitName */])(model) + \", encodings: [\" + encodings + \"], \") +\n (\"fields: [\" + fields + \"], values: [\" + values + \"]\") +\n (bins.length ? ', ' + bins.map(function (b) { return Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"O\" /* stringValue */])('bin_' + b) + \": 1\"; }).join(', ') : '') +\n '} : null',\n force: true\n }]\n }];\n}\nvar multi = {\n predicate: 'vlMulti',\n scaleDomain: 'vlMultiDomain',\n signals: signals,\n modifyExpr: function (model, selCmpt) {\n var tpl = selCmpt.name + __WEBPACK_IMPORTED_MODULE_2__selection__[\"c\" /* TUPLE */];\n return tpl + ', ' +\n (selCmpt.resolve === 'global' ? 'null' : \"{unit: \" + Object(__WEBPACK_IMPORTED_MODULE_2__selection__[\"p\" /* unitName */])(model) + \"}\");\n }\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (multi);\n//# sourceMappingURL=multi.js.map\n\n/***/ }),\n/* 384 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return BinNode; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__bin__ = __webpack_require__(85);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__common__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__model__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__dataflow__ = __webpack_require__(13);\n\n\n\n\n\n\n\n\nfunction rangeFormula(model, fieldDef, channel, config) {\n if (Object(__WEBPACK_IMPORTED_MODULE_5__common__[\"c\" /* binRequiresRange */])(fieldDef, channel)) {\n // read format from axis or legend, if there is no format then use config.numberFormat\n var guide = Object(__WEBPACK_IMPORTED_MODULE_6__model__[\"g\" /* isUnitModel */])(model) ? (model.axis(channel) || model.legend(channel) || {}) : {};\n var startField = Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"vgField\"])(fieldDef, { expr: 'datum', });\n var endField = Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"vgField\"])(fieldDef, { expr: 'datum', binSuffix: 'end' });\n return {\n formulaAs: Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"vgField\"])(fieldDef, { binSuffix: 'range' }),\n formula: Object(__WEBPACK_IMPORTED_MODULE_5__common__[\"b\" /* binFormatExpression */])(startField, endField, guide.format, config)\n };\n }\n return {};\n}\nfunction binKey(bin, field) {\n return Object(__WEBPACK_IMPORTED_MODULE_2__bin__[\"binToString\"])(bin) + \"_\" + field;\n}\nfunction getSignalsFromModel(model, key) {\n return {\n signal: model.getName(key + \"_bins\"),\n extentSignal: model.getName(key + \"_extent\")\n };\n}\nfunction isBinTransform(t) {\n return 'as' in t;\n}\nfunction createBinComponent(t, model) {\n var as;\n if (isBinTransform(t)) {\n as = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"C\" /* isString */])(t.as) ? [t.as, t.as + \"_end\"] : [t.as[0], t.as[1]];\n }\n else {\n as = [Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"vgField\"])(t, {}), Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"vgField\"])(t, { binSuffix: 'end' })];\n }\n var bin = Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"normalizeBin\"])(t.bin, undefined) || {};\n var key = binKey(bin, t.field);\n var _a = getSignalsFromModel(model, key), signal = _a.signal, extentSignal = _a.extentSignal;\n var binComponent = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ bin: bin, field: t.field, as: as }, signal ? { signal: signal } : {}, extentSignal ? { extentSignal: extentSignal } : {});\n return { key: key, binComponent: binComponent };\n}\nvar BinNode = /** @class */ (function (_super) {\n __WEBPACK_IMPORTED_MODULE_0_tslib__[\"c\" /* __extends */](BinNode, _super);\n function BinNode(parent, bins) {\n var _this = _super.call(this, parent) || this;\n _this.bins = bins;\n return _this;\n }\n BinNode.prototype.clone = function () {\n return new BinNode(null, Object(__WEBPACK_IMPORTED_MODULE_4__util__[\"duplicate\"])(this.bins));\n };\n BinNode.makeFromEncoding = function (parent, model) {\n var bins = model.reduceFieldDef(function (binComponentIndex, fieldDef, channel) {\n if (fieldDef.bin) {\n var _a = createBinComponent(fieldDef, model), key = _a.key, binComponent = _a.binComponent;\n binComponentIndex[key] = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, binComponent, binComponentIndex[key], rangeFormula(model, fieldDef, channel, model.config));\n }\n return binComponentIndex;\n }, {});\n if (Object(__WEBPACK_IMPORTED_MODULE_4__util__[\"keys\"])(bins).length === 0) {\n return null;\n }\n return new BinNode(parent, bins);\n };\n /**\n * Creates a bin node from BinTransform.\n * The optional parameter should provide\n */\n BinNode.makeFromTransform = function (parent, t, model) {\n var _a;\n var _b = createBinComponent(t, model), key = _b.key, binComponent = _b.binComponent;\n return new BinNode(parent, (_a = {},\n _a[key] = binComponent,\n _a));\n };\n BinNode.prototype.merge = function (other) {\n this.bins = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, this.bins, other.bins);\n other.remove();\n };\n BinNode.prototype.producedFields = function () {\n var out = {};\n Object(__WEBPACK_IMPORTED_MODULE_4__util__[\"vals\"])(this.bins).forEach(function (c) {\n c.as.forEach(function (f) { return out[f] = true; });\n });\n return out;\n };\n BinNode.prototype.dependentFields = function () {\n var out = {};\n Object(__WEBPACK_IMPORTED_MODULE_4__util__[\"vals\"])(this.bins).forEach(function (c) {\n out[c.field] = true;\n });\n return out;\n };\n BinNode.prototype.assemble = function () {\n return Object(__WEBPACK_IMPORTED_MODULE_4__util__[\"flatten\"])(Object(__WEBPACK_IMPORTED_MODULE_4__util__[\"vals\"])(this.bins).map(function (bin) {\n var transform = [];\n var binTrans = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ type: 'bin', field: bin.field, as: bin.as, signal: bin.signal }, bin.bin);\n if (!bin.bin.extent && bin.extentSignal) {\n transform.push({\n type: 'extent',\n field: bin.field,\n signal: bin.extentSignal\n });\n binTrans.extent = { signal: bin.extentSignal };\n }\n transform.push(binTrans);\n if (bin.formula) {\n transform.push({\n type: 'formula',\n expr: bin.formula,\n as: bin.formulaAs\n });\n }\n return transform;\n }));\n };\n return BinNode;\n}(__WEBPACK_IMPORTED_MODULE_7__dataflow__[\"a\" /* DataFlowNode */]));\n\n//# sourceMappingURL=bin.js.map\n\n/***/ }),\n/* 385 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return FilterNode; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__predicate__ = __webpack_require__(87);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__dataflow__ = __webpack_require__(13);\n\n\n\n\nvar FilterNode = /** @class */ (function (_super) {\n __WEBPACK_IMPORTED_MODULE_0_tslib__[\"c\" /* __extends */](FilterNode, _super);\n function FilterNode(parent, model, filter) {\n var _this = _super.call(this, parent) || this;\n _this.model = model;\n _this.filter = filter;\n _this.expr = Object(__WEBPACK_IMPORTED_MODULE_1__predicate__[\"a\" /* expression */])(_this.model, _this.filter, _this);\n return _this;\n }\n FilterNode.prototype.clone = function () {\n return new FilterNode(null, this.model, Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"duplicate\"])(this.filter));\n };\n FilterNode.prototype.assemble = function () {\n return {\n type: 'filter',\n expr: this.expr\n };\n };\n return FilterNode;\n}(__WEBPACK_IMPORTED_MODULE_3__dataflow__[\"a\" /* DataFlowNode */]));\n\n//# sourceMappingURL=filter.js.map\n\n/***/ }),\n/* 386 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return GeoJSONNode; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__type__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__dataflow__ = __webpack_require__(13);\n\n\n\n\n\nvar GeoJSONNode = /** @class */ (function (_super) {\n __WEBPACK_IMPORTED_MODULE_0_tslib__[\"c\" /* __extends */](GeoJSONNode, _super);\n function GeoJSONNode(parent, fields, geojson, signal) {\n var _this = _super.call(this, parent) || this;\n _this.fields = fields;\n _this.geojson = geojson;\n _this.signal = signal;\n return _this;\n }\n GeoJSONNode.prototype.clone = function () {\n return new GeoJSONNode(null, Object(__WEBPACK_IMPORTED_MODULE_3__util__[\"duplicate\"])(this.fields), this.geojson, this.signal);\n };\n GeoJSONNode.parseAll = function (parent, model) {\n var geoJsonCounter = 0;\n [[__WEBPACK_IMPORTED_MODULE_1__channel__[\"LONGITUDE\"], __WEBPACK_IMPORTED_MODULE_1__channel__[\"LATITUDE\"]], [__WEBPACK_IMPORTED_MODULE_1__channel__[\"LONGITUDE2\"], __WEBPACK_IMPORTED_MODULE_1__channel__[\"LATITUDE2\"]]].forEach(function (coordinates) {\n var pair = coordinates.map(function (channel) { return model.channelHasField(channel) ? model.fieldDef(channel).field : undefined; });\n if (pair[0] || pair[1]) {\n parent = new GeoJSONNode(parent, pair, null, model.getName(\"geojson_\" + geoJsonCounter++));\n }\n });\n if (model.channelHasField(__WEBPACK_IMPORTED_MODULE_1__channel__[\"SHAPE\"])) {\n var fieldDef = model.fieldDef(__WEBPACK_IMPORTED_MODULE_1__channel__[\"SHAPE\"]);\n if (fieldDef.type === __WEBPACK_IMPORTED_MODULE_2__type__[\"GEOJSON\"]) {\n parent = new GeoJSONNode(parent, null, fieldDef.field, model.getName(\"geojson_\" + geoJsonCounter++));\n }\n }\n return parent;\n };\n GeoJSONNode.prototype.assemble = function () {\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ type: 'geojson' }, (this.fields ? { fields: this.fields } : {}), (this.geojson ? { geojson: this.geojson } : {}), { signal: this.signal });\n };\n return GeoJSONNode;\n}(__WEBPACK_IMPORTED_MODULE_4__dataflow__[\"a\" /* DataFlowNode */]));\n\n//# sourceMappingURL=geojson.js.map\n\n/***/ }),\n/* 387 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return GeoPointNode; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__dataflow__ = __webpack_require__(13);\n\n\n\n\nvar GeoPointNode = /** @class */ (function (_super) {\n __WEBPACK_IMPORTED_MODULE_0_tslib__[\"c\" /* __extends */](GeoPointNode, _super);\n function GeoPointNode(parent, projection, fields, as) {\n var _this = _super.call(this, parent) || this;\n _this.projection = projection;\n _this.fields = fields;\n _this.as = as;\n return _this;\n }\n GeoPointNode.prototype.clone = function () {\n return new GeoPointNode(null, this.projection, Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"duplicate\"])(this.fields), Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"duplicate\"])(this.as));\n };\n GeoPointNode.parseAll = function (parent, model) {\n if (!model.projectionName()) {\n return parent;\n }\n [[__WEBPACK_IMPORTED_MODULE_1__channel__[\"LONGITUDE\"], __WEBPACK_IMPORTED_MODULE_1__channel__[\"LATITUDE\"]], [__WEBPACK_IMPORTED_MODULE_1__channel__[\"LONGITUDE2\"], __WEBPACK_IMPORTED_MODULE_1__channel__[\"LATITUDE2\"]]].forEach(function (coordinates) {\n var pair = coordinates.map(function (channel) { return model.channelHasField(channel) ? model.fieldDef(channel).field : undefined; });\n var suffix = coordinates[0] === __WEBPACK_IMPORTED_MODULE_1__channel__[\"LONGITUDE2\"] ? '2' : '';\n if (pair[0] || pair[1]) {\n parent = new GeoPointNode(parent, model.projectionName(), pair, [model.getName('x' + suffix), model.getName('y' + suffix)]);\n }\n });\n return parent;\n };\n GeoPointNode.prototype.assemble = function () {\n return {\n type: 'geopoint',\n projection: this.projection,\n fields: this.fields,\n as: this.as\n };\n };\n return GeoPointNode;\n}(__WEBPACK_IMPORTED_MODULE_3__dataflow__[\"a\" /* DataFlowNode */]));\n\n//# sourceMappingURL=geopoint.js.map\n\n/***/ }),\n/* 388 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return IdentifierNode; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__selection__ = __webpack_require__(200);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__dataflow__ = __webpack_require__(13);\n\n\n\nvar IdentifierNode = /** @class */ (function (_super) {\n __WEBPACK_IMPORTED_MODULE_0_tslib__[\"c\" /* __extends */](IdentifierNode, _super);\n function IdentifierNode(parent) {\n return _super.call(this, parent) || this;\n }\n IdentifierNode.prototype.clone = function () {\n return new IdentifierNode(null);\n };\n IdentifierNode.prototype.producedFields = function () {\n var _a;\n return _a = {}, _a[__WEBPACK_IMPORTED_MODULE_1__selection__[\"a\" /* SELECTION_ID */]] = true, _a;\n };\n IdentifierNode.prototype.assemble = function () {\n return { type: 'identifier', as: __WEBPACK_IMPORTED_MODULE_1__selection__[\"a\" /* SELECTION_ID */] };\n };\n return IdentifierNode;\n}(__WEBPACK_IMPORTED_MODULE_2__dataflow__[\"a\" /* DataFlowNode */]));\n\n//# sourceMappingURL=identifier.js.map\n\n/***/ }),\n/* 389 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return LookupNode; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__dataflow__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__source__ = __webpack_require__(134);\n\n\n\n\n\nvar LookupNode = /** @class */ (function (_super) {\n __WEBPACK_IMPORTED_MODULE_0_tslib__[\"c\" /* __extends */](LookupNode, _super);\n function LookupNode(parent, transform, secondary) {\n var _this = _super.call(this, parent) || this;\n _this.transform = transform;\n _this.secondary = secondary;\n return _this;\n }\n LookupNode.make = function (parent, model, transform, counter) {\n var sources = model.component.data.sources;\n var s = new __WEBPACK_IMPORTED_MODULE_4__source__[\"a\" /* SourceNode */](transform.from.data);\n var fromSource = sources[s.hash()];\n if (!fromSource) {\n sources[s.hash()] = s;\n fromSource = s;\n }\n var fromOutputName = model.getName(\"lookup_\" + counter);\n var fromOutputNode = new __WEBPACK_IMPORTED_MODULE_3__dataflow__[\"b\" /* OutputNode */](fromSource, fromOutputName, 'lookup', model.component.data.outputNodeRefCounts);\n model.component.data.outputNodes[fromOutputName] = fromOutputNode;\n return new LookupNode(parent, transform, fromOutputNode.getSource());\n };\n LookupNode.prototype.producedFields = function () {\n return Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"S\" /* toSet */])(this.transform.from.fields || ((this.transform.as instanceof Array) ? this.transform.as : [this.transform.as]));\n };\n LookupNode.prototype.assemble = function () {\n var foreign;\n if (this.transform.from.fields) {\n // lookup a few fields and add create a flat output\n foreign = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ values: this.transform.from.fields }, this.transform.as ? { as: ((this.transform.as instanceof Array) ? this.transform.as : [this.transform.as]) } : {});\n }\n else {\n // lookup full record and nest it\n var asName = this.transform.as;\n if (!Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"C\" /* isString */])(asName)) {\n __WEBPACK_IMPORTED_MODULE_2__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_2__log__[\"b\" /* message */].NO_FIELDS_NEEDS_AS);\n asName = '_lookup';\n }\n foreign = {\n as: [asName]\n };\n }\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ type: 'lookup', from: this.secondary, key: this.transform.from.key, fields: [this.transform.lookup] }, foreign, (this.transform.default ? { default: this.transform.default } : {}));\n };\n return LookupNode;\n}(__WEBPACK_IMPORTED_MODULE_3__dataflow__[\"a\" /* DataFlowNode */]));\n\n//# sourceMappingURL=lookup.js.map\n\n/***/ }),\n/* 390 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return WindowTransformNode; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__sort__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__facet__ = __webpack_require__(391);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__dataflow__ = __webpack_require__(13);\n\n\n\n\n\n\n/**\n * A class for the window transform nodes\n */\nvar WindowTransformNode = /** @class */ (function (_super) {\n __WEBPACK_IMPORTED_MODULE_0_tslib__[\"c\" /* __extends */](WindowTransformNode, _super);\n function WindowTransformNode(parent, transform) {\n var _this = _super.call(this, parent) || this;\n _this.transform = transform;\n return _this;\n }\n WindowTransformNode.makeFromFacet = function (parent, facet) {\n var row = facet.row, column = facet.column;\n if (row && column) {\n var newParent = null;\n // only need to make one for crossed facet\n for (var _i = 0, _a = [row, column]; _i < _a.length; _i++) {\n var fieldDef = _a[_i];\n if (Object(__WEBPACK_IMPORTED_MODULE_2__sort__[\"isSortField\"])(fieldDef.sort)) {\n var _b = fieldDef.sort, field = _b.field, op = _b.op;\n parent = newParent = new WindowTransformNode(parent, {\n window: [{\n op: op,\n field: field,\n as: Object(__WEBPACK_IMPORTED_MODULE_4__facet__[\"b\" /* facetSortFieldName */])(fieldDef, fieldDef.sort)\n }],\n groupby: [Object(__WEBPACK_IMPORTED_MODULE_1__fielddef__[\"vgField\"])(fieldDef)],\n frame: [null, null]\n });\n }\n }\n return newParent;\n }\n return null;\n };\n WindowTransformNode.prototype.clone = function () {\n return new WindowTransformNode(this.parent, Object(__WEBPACK_IMPORTED_MODULE_3__util__[\"duplicate\"])(this.transform));\n };\n WindowTransformNode.prototype.producedFields = function () {\n var _this = this;\n var out = {};\n this.transform.window.forEach(function (windowFieldDef) {\n out[_this.getDefaultName(windowFieldDef)] = true;\n });\n return out;\n };\n WindowTransformNode.prototype.getDefaultName = function (windowFieldDef) {\n return windowFieldDef.as || Object(__WEBPACK_IMPORTED_MODULE_1__fielddef__[\"vgField\"])(windowFieldDef);\n };\n WindowTransformNode.prototype.assemble = function () {\n var fields = [];\n var ops = [];\n var as = [];\n var params = [];\n for (var _i = 0, _a = this.transform.window; _i < _a.length; _i++) {\n var window_1 = _a[_i];\n ops.push(window_1.op);\n as.push(this.getDefaultName(window_1));\n params.push(window_1.param === undefined ? null : window_1.param);\n fields.push(window_1.field === undefined ? null : window_1.field);\n }\n var frame = this.transform.frame;\n var groupby = this.transform.groupby;\n var sortFields = [];\n var sortOrder = [];\n if (this.transform.sort !== undefined) {\n for (var _b = 0, _c = this.transform.sort; _b < _c.length; _b++) {\n var sortField = _c[_b];\n sortFields.push(sortField.field);\n sortOrder.push(sortField.order || 'ascending');\n }\n }\n var sort = {\n field: sortFields,\n order: sortOrder,\n };\n var ignorePeers = this.transform.ignorePeers;\n var result = {\n type: 'window',\n params: params,\n as: as,\n ops: ops,\n fields: fields,\n sort: sort,\n };\n if (ignorePeers !== undefined) {\n result.ignorePeers = ignorePeers;\n }\n if (groupby !== undefined) {\n result.groupby = groupby;\n }\n if (frame !== undefined) {\n result.frame = frame;\n }\n return result;\n };\n return WindowTransformNode;\n}(__WEBPACK_IMPORTED_MODULE_5__dataflow__[\"a\" /* DataFlowNode */]));\n\n//# sourceMappingURL=window.js.map\n\n/***/ }),\n/* 391 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = facetSortFieldName;\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return FacetModel; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__encoding__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__scale__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__sort__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__vega_schema__ = __webpack_require__(29);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__axis_assemble__ = __webpack_require__(375);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__buildmodel__ = __webpack_require__(129);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__data_assemble__ = __webpack_require__(392);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__data_calculate__ = __webpack_require__(62);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__data_parse__ = __webpack_require__(130);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__header_index__ = __webpack_require__(376);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__layoutsize_parse__ = __webpack_require__(89);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__model__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__repeater__ = __webpack_require__(393);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__resolve__ = __webpack_require__(132);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__scale_domain__ = __webpack_require__(88);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction facetSortFieldName(fieldDef, sort, expr) {\n return Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"vgField\"])(sort, { expr: expr, suffix: \"by_\" + Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"vgField\"])(fieldDef) });\n}\nvar FacetModel = /** @class */ (function (_super) {\n __WEBPACK_IMPORTED_MODULE_0_tslib__[\"c\" /* __extends */](FacetModel, _super);\n function FacetModel(spec, parent, parentGivenName, repeater, config) {\n var _this = _super.call(this, spec, parent, parentGivenName, config, repeater, spec.resolve) || this;\n _this.type = 'facet';\n _this.child = Object(__WEBPACK_IMPORTED_MODULE_11__buildmodel__[\"a\" /* buildModel */])(spec.spec, _this, _this.getName('child'), undefined, repeater, config, false);\n _this.children = [_this.child];\n var facet = Object(__WEBPACK_IMPORTED_MODULE_18__repeater__[\"b\" /* replaceRepeaterInFacet */])(spec.facet, repeater);\n _this.facet = _this.initFacet(facet);\n return _this;\n }\n FacetModel.prototype.initFacet = function (facet) {\n // clone to prevent side effect to the original spec\n return Object(__WEBPACK_IMPORTED_MODULE_3__encoding__[\"reduce\"])(facet, function (normalizedFacet, fieldDef, channel) {\n if (!Object(__WEBPACK_IMPORTED_MODULE_8__util__[\"contains\"])([__WEBPACK_IMPORTED_MODULE_2__channel__[\"ROW\"], __WEBPACK_IMPORTED_MODULE_2__channel__[\"COLUMN\"]], channel)) {\n // Drop unsupported channel\n __WEBPACK_IMPORTED_MODULE_5__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_5__log__[\"b\" /* message */].incompatibleChannel(channel, 'facet'));\n return normalizedFacet;\n }\n if (fieldDef.field === undefined) {\n __WEBPACK_IMPORTED_MODULE_5__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_5__log__[\"b\" /* message */].emptyFieldDef(fieldDef, channel));\n return normalizedFacet;\n }\n // Convert type to full, lowercase type, or augment the fieldDef with a default type if missing.\n normalizedFacet[channel] = Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"normalize\"])(fieldDef, channel);\n return normalizedFacet;\n }, {});\n };\n FacetModel.prototype.channelHasField = function (channel) {\n return !!this.facet[channel];\n };\n FacetModel.prototype.fieldDef = function (channel) {\n return this.facet[channel];\n };\n FacetModel.prototype.parseData = function () {\n this.component.data = Object(__WEBPACK_IMPORTED_MODULE_14__data_parse__[\"a\" /* parseData */])(this);\n this.child.parseData();\n };\n FacetModel.prototype.parseLayoutSize = function () {\n Object(__WEBPACK_IMPORTED_MODULE_16__layoutsize_parse__[\"a\" /* parseChildrenLayoutSize */])(this);\n };\n FacetModel.prototype.parseSelection = function () {\n // As a facet has a single child, the selection components are the same.\n // The child maintains its selections to assemble signals, which remain\n // within its unit.\n this.child.parseSelection();\n this.component.selection = this.child.component.selection;\n };\n FacetModel.prototype.parseMarkGroup = function () {\n this.child.parseMarkGroup();\n };\n FacetModel.prototype.parseAxisAndHeader = function () {\n this.child.parseAxisAndHeader();\n this.parseHeader('column');\n this.parseHeader('row');\n this.mergeChildAxis('x');\n this.mergeChildAxis('y');\n };\n FacetModel.prototype.parseHeader = function (channel) {\n if (this.channelHasField(channel)) {\n var fieldDef = this.facet[channel];\n var header = fieldDef.header || {};\n var title = fieldDef.title !== undefined ? fieldDef.title :\n header.title !== undefined ? header.title : Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"title\"])(fieldDef, this.config);\n if (this.child.component.layoutHeaders[channel].title) {\n // merge title with child to produce \"Title / Subtitle / Sub-subtitle\"\n title += ' / ' + this.child.component.layoutHeaders[channel].title;\n this.child.component.layoutHeaders[channel].title = null;\n }\n this.component.layoutHeaders[channel] = {\n title: title,\n facetFieldDef: fieldDef,\n // TODO: support adding label to footer as well\n header: [this.makeHeaderComponent(channel, true)]\n };\n }\n };\n FacetModel.prototype.makeHeaderComponent = function (channel, labels) {\n var sizeType = channel === 'row' ? 'height' : 'width';\n return {\n labels: labels,\n sizeSignal: this.child.component.layoutSize.get(sizeType) ? this.child.getSizeSignalRef(sizeType) : undefined,\n axes: []\n };\n };\n FacetModel.prototype.mergeChildAxis = function (channel) {\n var child = this.child;\n if (child.component.axes[channel]) {\n var _a = this.component, layoutHeaders = _a.layoutHeaders, resolve = _a.resolve;\n resolve.axis[channel] = Object(__WEBPACK_IMPORTED_MODULE_19__resolve__[\"b\" /* parseGuideResolve */])(resolve, channel);\n if (resolve.axis[channel] === 'shared') {\n // For shared axis, move the axes to facet's header or footer\n var headerChannel = channel === 'x' ? 'column' : 'row';\n var layoutHeader = layoutHeaders[headerChannel];\n for (var _i = 0, _b = child.component.axes[channel]; _i < _b.length; _i++) {\n var axisComponent = _b[_i];\n var headerType = Object(__WEBPACK_IMPORTED_MODULE_15__header_index__[\"c\" /* getHeaderType */])(axisComponent.get('orient'));\n layoutHeader[headerType] = layoutHeader[headerType] ||\n [this.makeHeaderComponent(headerChannel, false)];\n var mainAxis = Object(__WEBPACK_IMPORTED_MODULE_10__axis_assemble__[\"b\" /* assembleAxis */])(axisComponent, 'main', this.config, { header: true });\n // LayoutHeader no longer keep track of property precedence, thus let's combine.\n layoutHeader[headerType][0].axes.push(mainAxis);\n axisComponent.mainExtracted = true;\n }\n }\n else {\n // Otherwise do nothing for independent axes\n }\n }\n };\n FacetModel.prototype.assembleSelectionTopLevelSignals = function (signals) {\n return this.child.assembleSelectionTopLevelSignals(signals);\n };\n FacetModel.prototype.assembleSelectionSignals = function () {\n this.child.assembleSelectionSignals();\n return [];\n };\n FacetModel.prototype.assembleSelectionData = function (data) {\n return this.child.assembleSelectionData(data);\n };\n FacetModel.prototype.getHeaderLayoutMixins = function () {\n var _this = this;\n var layoutMixins = {};\n ['row', 'column'].forEach(function (channel) {\n ['header', 'footer'].forEach(function (headerType) {\n var layoutHeaderComponent = _this.component.layoutHeaders[channel];\n var headerComponent = layoutHeaderComponent[headerType];\n if (headerComponent && headerComponent[0]) {\n // set header/footerBand\n var sizeType = channel === 'row' ? 'height' : 'width';\n var bandType = headerType === 'header' ? 'headerBand' : 'footerBand';\n if (!_this.child.component.layoutSize.get(sizeType)) {\n // If facet child does not have size signal, then apply headerBand\n layoutMixins[bandType] = layoutMixins[bandType] || {};\n layoutMixins[bandType][channel] = 0.5;\n }\n if (layoutHeaderComponent.title) {\n layoutMixins.offset = layoutMixins.offset || {};\n layoutMixins.offset[channel === 'row' ? 'rowTitle' : 'columnTitle'] = 10;\n }\n }\n });\n });\n return layoutMixins;\n };\n FacetModel.prototype.assembleDefaultLayout = function () {\n var columns = this.channelHasField('column') ? this.columnDistinctSignal() : 1;\n // TODO: determine default align based on shared / independent scales\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, this.getHeaderLayoutMixins(), { columns: columns, bounds: 'full', align: 'all' });\n };\n FacetModel.prototype.assembleLayoutSignals = function () {\n // FIXME(https://github.com/vega/vega-lite/issues/1193): this can be incorrect if we have independent scales.\n return this.child.assembleLayoutSignals();\n };\n FacetModel.prototype.columnDistinctSignal = function () {\n if (this.parent && (this.parent instanceof FacetModel)) {\n // For nested facet, we will add columns to group mark instead\n // See discussion in https://github.com/vega/vega/issues/952\n // and https://github.com/vega/vega-view/releases/tag/v1.2.6\n return undefined;\n }\n else {\n // In facetNode.assemble(), the name is always this.getName('column') + '_layout'.\n var facetLayoutDataName = this.getName('column_domain');\n return { signal: \"length(data('\" + facetLayoutDataName + \"'))\" };\n }\n };\n FacetModel.prototype.assembleGroup = function (signals) {\n if (this.parent && (this.parent instanceof FacetModel)) {\n // Provide number of columns for layout.\n // See discussion in https://github.com/vega/vega/issues/952\n // and https://github.com/vega/vega-view/releases/tag/v1.2.6\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, (this.channelHasField('column') ? {\n encode: {\n update: {\n // TODO(https://github.com/vega/vega-lite/issues/2759):\n // Correct the signal for facet of concat of facet_column\n columns: { field: Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"vgField\"])(this.facet.column, { prefix: 'distinct' }) }\n }\n }\n } : {}), _super.prototype.assembleGroup.call(this, signals));\n }\n return _super.prototype.assembleGroup.call(this, signals);\n };\n /**\n * Aggregate cardinality for calculating size\n */\n FacetModel.prototype.getCardinalityAggregateForChild = function () {\n var fields = [];\n var ops = [];\n var as = [];\n if (this.child instanceof FacetModel) {\n if (this.child.channelHasField('column')) {\n var field = Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"vgField\"])(this.child.facet.column);\n fields.push(field);\n ops.push('distinct');\n as.push(\"distinct_\" + field);\n }\n }\n else {\n for (var _i = 0, _a = ['x', 'y']; _i < _a.length; _i++) {\n var channel = _a[_i];\n var childScaleComponent = this.child.component.scales[channel];\n if (childScaleComponent && !childScaleComponent.merged) {\n var type = childScaleComponent.get('type');\n var range = childScaleComponent.get('range');\n if (Object(__WEBPACK_IMPORTED_MODULE_6__scale__[\"hasDiscreteDomain\"])(type) && Object(__WEBPACK_IMPORTED_MODULE_9__vega_schema__[\"e\" /* isVgRangeStep */])(range)) {\n var domain = Object(__WEBPACK_IMPORTED_MODULE_20__scale_domain__[\"a\" /* assembleDomain */])(this.child, channel);\n var field = Object(__WEBPACK_IMPORTED_MODULE_20__scale_domain__[\"b\" /* getFieldFromDomain */])(domain);\n if (field) {\n fields.push(field);\n ops.push('distinct');\n as.push(\"distinct_\" + field);\n }\n else {\n __WEBPACK_IMPORTED_MODULE_5__log__[\"e\" /* warn */]('Unknown field for ${channel}. Cannot calculate view size.');\n }\n }\n }\n }\n }\n return { fields: fields, ops: ops, as: as };\n };\n FacetModel.prototype.assembleFacet = function () {\n var _this = this;\n var _a = this.component.data.facetRoot, name = _a.name, data = _a.data;\n var _b = this.facet, row = _b.row, column = _b.column;\n var _c = this.getCardinalityAggregateForChild(), fields = _c.fields, ops = _c.ops, as = _c.as;\n var groupby = [];\n ['row', 'column'].forEach(function (channel) {\n var fieldDef = _this.facet[channel];\n if (fieldDef) {\n groupby.push(Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"vgField\"])(fieldDef));\n var sort = fieldDef.sort;\n if (Object(__WEBPACK_IMPORTED_MODULE_7__sort__[\"isSortField\"])(sort)) {\n var field = sort.field, op = sort.op;\n var outputName = facetSortFieldName(fieldDef, sort);\n if (row && column) {\n // For crossed facet, use pre-calculate field as it requires a different groupby\n // For each calculated field, apply max and assign them to the same name as\n // all values of the same group should be the same anyway.\n fields.push(outputName);\n ops.push('max');\n as.push(outputName);\n }\n else {\n fields.push(field);\n ops.push(op);\n as.push(outputName);\n }\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(sort)) {\n var outputName = Object(__WEBPACK_IMPORTED_MODULE_13__data_calculate__[\"b\" /* sortArrayIndexField */])(fieldDef, channel);\n fields.push(outputName);\n ops.push('max');\n as.push(outputName);\n }\n }\n });\n var cross = !!row && !!column;\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ name: name,\n data: data,\n groupby: groupby }, (cross || fields.length ? {\n aggregate: __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, (cross ? { cross: cross } : {}), (fields.length ? { fields: fields, ops: ops, as: as } : {}))\n } : {}));\n };\n FacetModel.prototype.headerSortFields = function (channel) {\n var facet = this.facet;\n var fieldDef = facet[channel];\n if (fieldDef) {\n if (Object(__WEBPACK_IMPORTED_MODULE_7__sort__[\"isSortField\"])(fieldDef.sort)) {\n return [facetSortFieldName(fieldDef, fieldDef.sort, 'datum')];\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(fieldDef.sort)) {\n return [Object(__WEBPACK_IMPORTED_MODULE_13__data_calculate__[\"b\" /* sortArrayIndexField */])(fieldDef, channel, 'datum')];\n }\n return [Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"vgField\"])(fieldDef, { expr: 'datum' })];\n }\n return [];\n };\n FacetModel.prototype.headerSortOrder = function (channel) {\n var facet = this.facet;\n var fieldDef = facet[channel];\n if (fieldDef) {\n var sort = fieldDef.sort;\n var order = (Object(__WEBPACK_IMPORTED_MODULE_7__sort__[\"isSortField\"])(sort) ? sort.order : !Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(sort) && sort) || 'ascending';\n return [order];\n }\n return [];\n };\n FacetModel.prototype.assembleMarks = function () {\n var child = this.child;\n var facetRoot = this.component.data.facetRoot;\n var data = Object(__WEBPACK_IMPORTED_MODULE_12__data_assemble__[\"a\" /* assembleFacetData */])(facetRoot);\n // If we facet by two dimensions, we need to add a cross operator to the aggregation\n // so that we create all groups\n var layoutSizeEncodeEntry = child.assembleLayoutSize();\n var title = child.assembleTitle();\n var style = child.assembleGroupStyle();\n var markGroup = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ name: this.getName('cell'), type: 'group' }, (title ? { title: title } : {}), (style ? { style: style } : {}), { from: {\n facet: this.assembleFacet()\n }, \n // TODO: move this to after data\n sort: {\n field: this.headerSortFields('row').concat(this.headerSortFields('column')),\n order: this.headerSortOrder('row').concat(this.headerSortOrder('column'))\n } }, (data.length > 0 ? { data: data } : {}), (layoutSizeEncodeEntry ? { encode: { update: layoutSizeEncodeEntry } } : {}), child.assembleGroup());\n return [markGroup];\n };\n FacetModel.prototype.getMapping = function () {\n return this.facet;\n };\n return FacetModel;\n}(__WEBPACK_IMPORTED_MODULE_17__model__[\"b\" /* ModelWithField */]));\n\n//# sourceMappingURL=facet.js.map\n\n/***/ }),\n/* 392 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = assembleFacetData;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = assembleRootData;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__data__ = __webpack_require__(45);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__aggregate__ = __webpack_require__(203);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__bin__ = __webpack_require__(384);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__calculate__ = __webpack_require__(62);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__dataflow__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__facet__ = __webpack_require__(133);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__filter__ = __webpack_require__(385);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__filterinvalid__ = __webpack_require__(204);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__formatparse__ = __webpack_require__(205);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__geojson__ = __webpack_require__(386);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__geopoint__ = __webpack_require__(387);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__identifier__ = __webpack_require__(388);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__lookup__ = __webpack_require__(389);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__source__ = __webpack_require__(134);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__stack__ = __webpack_require__(206);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__timeunit__ = __webpack_require__(135);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__window__ = __webpack_require__(390);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Print debug information for dataflow tree.\n */\n// tslint:disable-next-line\nfunction debug(node) {\n console.log(\"\" + node.constructor.name + (node.debugName ? \" (\" + node.debugName + \")\" : '') + \" -> \" + (node.children.map(function (c) {\n return \"\" + c.constructor.name + (c.debugName ? \" (\" + c.debugName + \")\" : '');\n })));\n console.log(node);\n node.children.forEach(debug);\n}\nfunction makeWalkTree(data) {\n // to name datasources\n var datasetIndex = 0;\n /**\n * Recursively walk down the tree.\n */\n function walkTree(node, dataSource) {\n if (node instanceof __WEBPACK_IMPORTED_MODULE_15__source__[\"a\" /* SourceNode */]) {\n // If the source is a named data source or a data source with values, we need\n // to put it in a different data source. Otherwise, Vega may override the data.\n if (!Object(__WEBPACK_IMPORTED_MODULE_1__data__[\"isUrlData\"])(node.data)) {\n data.push(dataSource);\n var newData = {\n name: null,\n source: dataSource.name,\n transform: []\n };\n dataSource = newData;\n }\n }\n if (node instanceof __WEBPACK_IMPORTED_MODULE_10__formatparse__[\"a\" /* ParseNode */]) {\n if (node.parent instanceof __WEBPACK_IMPORTED_MODULE_15__source__[\"a\" /* SourceNode */] && !dataSource.source) {\n // If node's parent is a root source and the data source does not refer to another data source, use normal format parse\n dataSource.format = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, dataSource.format || {}, { parse: node.assembleFormatParse() });\n // add calculates for all nested fields\n dataSource.transform = dataSource.transform.concat(node.assembleTransforms(true));\n }\n else {\n // Otherwise use Vega expression to parse\n dataSource.transform = dataSource.transform.concat(node.assembleTransforms());\n }\n }\n if (node instanceof __WEBPACK_IMPORTED_MODULE_7__facet__[\"a\" /* FacetNode */]) {\n if (!dataSource.name) {\n dataSource.name = \"data_\" + datasetIndex++;\n }\n if (!dataSource.source || dataSource.transform.length > 0) {\n data.push(dataSource);\n node.data = dataSource.name;\n }\n else {\n node.data = dataSource.source;\n }\n node.assemble().forEach(function (d) { return data.push(d); });\n // break here because the rest of the tree has to be taken care of by the facet.\n return;\n }\n if (node instanceof __WEBPACK_IMPORTED_MODULE_8__filter__[\"a\" /* FilterNode */] ||\n node instanceof __WEBPACK_IMPORTED_MODULE_5__calculate__[\"a\" /* CalculateNode */] ||\n node instanceof __WEBPACK_IMPORTED_MODULE_12__geopoint__[\"a\" /* GeoPointNode */] ||\n node instanceof __WEBPACK_IMPORTED_MODULE_11__geojson__[\"a\" /* GeoJSONNode */] ||\n node instanceof __WEBPACK_IMPORTED_MODULE_3__aggregate__[\"a\" /* AggregateNode */] ||\n node instanceof __WEBPACK_IMPORTED_MODULE_14__lookup__[\"a\" /* LookupNode */] ||\n node instanceof __WEBPACK_IMPORTED_MODULE_18__window__[\"a\" /* WindowTransformNode */] ||\n node instanceof __WEBPACK_IMPORTED_MODULE_13__identifier__[\"a\" /* IdentifierNode */]) {\n dataSource.transform.push(node.assemble());\n }\n if (node instanceof __WEBPACK_IMPORTED_MODULE_9__filterinvalid__[\"a\" /* FilterInvalidNode */] ||\n node instanceof __WEBPACK_IMPORTED_MODULE_4__bin__[\"a\" /* BinNode */] ||\n node instanceof __WEBPACK_IMPORTED_MODULE_17__timeunit__[\"a\" /* TimeUnitNode */] ||\n node instanceof __WEBPACK_IMPORTED_MODULE_16__stack__[\"a\" /* StackNode */]) {\n dataSource.transform = dataSource.transform.concat(node.assemble());\n }\n if (node instanceof __WEBPACK_IMPORTED_MODULE_3__aggregate__[\"a\" /* AggregateNode */]) {\n if (!dataSource.name) {\n dataSource.name = \"data_\" + datasetIndex++;\n }\n }\n if (node instanceof __WEBPACK_IMPORTED_MODULE_6__dataflow__[\"b\" /* OutputNode */]) {\n if (dataSource.source && dataSource.transform.length === 0) {\n node.setSource(dataSource.source);\n }\n else if (node.parent instanceof __WEBPACK_IMPORTED_MODULE_6__dataflow__[\"b\" /* OutputNode */]) {\n // Note that an output node may be required but we still do not assemble a\n // separate data source for it.\n node.setSource(dataSource.name);\n }\n else {\n if (!dataSource.name) {\n dataSource.name = \"data_\" + datasetIndex++;\n }\n // Here we set the name of the datasource we generated. From now on\n // other assemblers can use it.\n node.setSource(dataSource.name);\n // if this node has more than one child, we will add a datasource automatically\n if (node.numChildren() === 1) {\n data.push(dataSource);\n var newData = {\n name: null,\n source: dataSource.name,\n transform: []\n };\n dataSource = newData;\n }\n }\n }\n switch (node.numChildren()) {\n case 0:\n // done\n if (node instanceof __WEBPACK_IMPORTED_MODULE_6__dataflow__[\"b\" /* OutputNode */] && (!dataSource.source || dataSource.transform.length > 0)) {\n // do not push empty datasources that are simply references\n data.push(dataSource);\n }\n break;\n case 1:\n walkTree(node.children[0], dataSource);\n break;\n default:\n if (!dataSource.name) {\n dataSource.name = \"data_\" + datasetIndex++;\n }\n var source_1 = dataSource.name;\n if (!dataSource.source || dataSource.transform.length > 0) {\n data.push(dataSource);\n }\n else {\n source_1 = dataSource.source;\n }\n node.children.forEach(function (child) {\n var newData = {\n name: null,\n source: source_1,\n transform: []\n };\n walkTree(child, newData);\n });\n break;\n }\n }\n return walkTree;\n}\n/**\n * Assemble data sources that are derived from faceted data.\n */\nfunction assembleFacetData(root) {\n var data = [];\n var walkTree = makeWalkTree(data);\n root.children.forEach(function (child) { return walkTree(child, {\n source: root.name,\n name: null,\n transform: []\n }); });\n return data;\n}\n/**\n * Create Vega Data array from a given compiled model and append all of them to the given array\n *\n * @param model\n * @param data array\n * @return modified data array\n */\nfunction assembleRootData(dataComponent, datasets) {\n var roots = Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"vals\"])(dataComponent.sources);\n var data = [];\n // roots.forEach(debug);\n var walkTree = makeWalkTree(data);\n var sourceIndex = 0;\n roots.forEach(function (root) {\n // assign a name if the source does not have a name yet\n if (!root.hasName()) {\n root.dataName = \"source_\" + sourceIndex++;\n }\n var newData = root.assemble();\n walkTree(root, newData);\n });\n // remove empty transform arrays for cleaner output\n data.forEach(function (d) {\n if (d.transform.length === 0) {\n delete d.transform;\n }\n });\n // move sources without transforms (the ones that are potentially used in lookups) to the beginning\n var whereTo = 0;\n for (var i = 0; i < data.length; i++) {\n var d = data[i];\n if ((d.transform || []).length === 0 && !d.source) {\n data.splice(whereTo++, 0, data.splice(i, 1)[0]);\n }\n }\n // now fix the from references in lookup transforms\n for (var _i = 0, data_1 = data; _i < data_1.length; _i++) {\n var d = data_1[_i];\n for (var _a = 0, _b = d.transform || []; _a < _b.length; _a++) {\n var t = _b[_a];\n if (t.type === 'lookup') {\n t.from = dataComponent.outputNodes[t.from].getSource();\n }\n }\n }\n // inline values for datasets that are in the datastore\n for (var _c = 0, data_2 = data; _c < data_2.length; _c++) {\n var d = data_2[_c];\n if (d.name in datasets) {\n d.values = datasets[d.name];\n }\n }\n return data;\n}\n//# sourceMappingURL=assemble.js.map\n\n/***/ }),\n/* 393 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = replaceRepeaterInFacet;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = replaceRepeaterInEncoding;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__sort__ = __webpack_require__(35);\n\n\n\n\n\nfunction replaceRepeaterInFacet(facet, repeater) {\n return replaceRepeater(facet, repeater);\n}\nfunction replaceRepeaterInEncoding(encoding, repeater) {\n return replaceRepeater(encoding, repeater);\n}\n/**\n * Replaces repeated value and returns if the repeated value is valid.\n */\nfunction replaceRepeat(o, repeater) {\n if (Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"isRepeatRef\"])(o.field)) {\n if (o.field.repeat in repeater) {\n // any needed to calm down ts compiler\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, o, { field: repeater[o.field.repeat] });\n }\n else {\n __WEBPACK_IMPORTED_MODULE_3__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_3__log__[\"b\" /* message */].noSuchRepeatedValue(o.field.repeat));\n return undefined;\n }\n }\n return o;\n}\n/**\n * Replace repeater values in a field def with the concrete field name.\n */\nfunction replaceRepeaterInFieldDef(fieldDef, repeater) {\n fieldDef = replaceRepeat(fieldDef, repeater);\n if (fieldDef === undefined) {\n // the field def should be ignored\n return undefined;\n }\n if (fieldDef.sort && Object(__WEBPACK_IMPORTED_MODULE_4__sort__[\"isSortField\"])(fieldDef.sort)) {\n var sort = replaceRepeat(fieldDef.sort, repeater);\n fieldDef = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, fieldDef, (sort ? { sort: sort } : {}));\n }\n return fieldDef;\n}\nfunction replaceRepeaterInChannelDef(channelDef, repeater) {\n if (Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"isFieldDef\"])(channelDef)) {\n var fd = replaceRepeaterInFieldDef(channelDef, repeater);\n if (fd) {\n return fd;\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"isConditionalDef\"])(channelDef)) {\n return { condition: channelDef.condition };\n }\n }\n else {\n if (Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"hasConditionalFieldDef\"])(channelDef)) {\n var fd = replaceRepeaterInFieldDef(channelDef.condition, repeater);\n if (fd) {\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, channelDef, { condition: fd });\n }\n else {\n var condition = channelDef.condition, channelDefWithoutCondition = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"e\" /* __rest */](channelDef, [\"condition\"]);\n return channelDefWithoutCondition;\n }\n }\n return channelDef;\n }\n return undefined;\n}\nfunction replaceRepeater(mapping, repeater) {\n var out = {};\n for (var channel in mapping) {\n if (mapping.hasOwnProperty(channel)) {\n var channelDef = mapping[channel];\n if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(channelDef)) {\n // array cannot have condition\n out[channel] = channelDef.map(function (cd) { return replaceRepeaterInChannelDef(cd, repeater); })\n .filter(function (cd) { return cd; });\n }\n else {\n var cd = replaceRepeaterInChannelDef(channelDef, repeater);\n if (cd) {\n out[channel] = cd;\n }\n }\n }\n }\n return out;\n}\n//# sourceMappingURL=repeater.js.map\n\n/***/ }),\n/* 394 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = parseUnitAxis;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = parseLayerAxis;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__axis__ = __webpack_require__(198);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__common__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__resolve__ = __webpack_require__(132);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__split__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__component__ = __webpack_require__(963);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__config__ = __webpack_require__(395);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__encode__ = __webpack_require__(964);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__properties__ = __webpack_require__(965);\n\n\n\n\n\n\n\n\n\n\n\nfunction parseUnitAxis(model) {\n return __WEBPACK_IMPORTED_MODULE_1__channel__[\"POSITION_SCALE_CHANNELS\"].reduce(function (axis, channel) {\n if (model.component.scales[channel] && model.axis(channel)) {\n axis[channel] = [parseAxis(channel, model)];\n }\n return axis;\n }, {});\n}\nvar OPPOSITE_ORIENT = {\n bottom: 'top',\n top: 'bottom',\n left: 'right',\n right: 'left'\n};\nfunction parseLayerAxis(model) {\n var _a = model.component, axes = _a.axes, resolve = _a.resolve;\n var axisCount = { top: 0, bottom: 0, right: 0, left: 0 };\n for (var _i = 0, _b = model.children; _i < _b.length; _i++) {\n var child = _b[_i];\n child.parseAxisAndHeader();\n for (var _c = 0, _d = Object(__WEBPACK_IMPORTED_MODULE_3__util__[\"keys\"])(child.component.axes); _c < _d.length; _c++) {\n var channel = _d[_c];\n resolve.axis[channel] = Object(__WEBPACK_IMPORTED_MODULE_5__resolve__[\"b\" /* parseGuideResolve */])(model.component.resolve, channel);\n if (resolve.axis[channel] === 'shared') {\n // If the resolve says shared (and has not been overridden)\n // We will try to merge and see if there is a conflict\n axes[channel] = mergeAxisComponents(axes[channel], child.component.axes[channel]);\n if (!axes[channel]) {\n // If merge returns nothing, there is a conflict so we cannot make the axis shared.\n // Thus, mark axis as independent and remove the axis component.\n resolve.axis[channel] = 'independent';\n delete axes[channel];\n }\n }\n }\n }\n // Move axes to layer's axis component and merge shared axes\n for (var _e = 0, _f = [__WEBPACK_IMPORTED_MODULE_1__channel__[\"X\"], __WEBPACK_IMPORTED_MODULE_1__channel__[\"Y\"]]; _e < _f.length; _e++) {\n var channel = _f[_e];\n for (var _g = 0, _h = model.children; _g < _h.length; _g++) {\n var child = _h[_g];\n if (!child.component.axes[channel]) {\n // skip if the child does not have a particular axis\n continue;\n }\n if (resolve.axis[channel] === 'independent') {\n // If axes are independent, concat the axisComponent array.\n axes[channel] = (axes[channel] || []).concat(child.component.axes[channel]);\n // Automatically adjust orient\n for (var _j = 0, _k = child.component.axes[channel]; _j < _k.length; _j++) {\n var axisComponent = _k[_j];\n var _l = axisComponent.getWithExplicit('orient'), orient = _l.value, explicit = _l.explicit;\n if (axisCount[orient] > 0 && !explicit) {\n // Change axis orient if the number do not match\n var oppositeOrient = OPPOSITE_ORIENT[orient];\n if (axisCount[orient] > axisCount[oppositeOrient]) {\n axisComponent.set('orient', oppositeOrient, false);\n }\n }\n axisCount[orient]++;\n // TODO(https://github.com/vega/vega-lite/issues/2634): automaticaly add extra offset?\n }\n }\n // After merging, make sure to remove axes from child\n delete child.component.axes[channel];\n }\n }\n}\nfunction mergeAxisComponents(mergedAxisCmpts, childAxisCmpts) {\n if (mergedAxisCmpts) {\n // FIXME: this is a bit wrong once we support multiple axes\n if (mergedAxisCmpts.length !== childAxisCmpts.length) {\n return undefined; // Cannot merge axis component with different number of axes.\n }\n var length_1 = mergedAxisCmpts.length;\n for (var i = 0; i < length_1; i++) {\n var merged = mergedAxisCmpts[i];\n var child = childAxisCmpts[i];\n if ((!!merged) !== (!!child)) {\n return undefined;\n }\n else if (merged && child) {\n var mergedOrient = merged.getWithExplicit('orient');\n var childOrient = child.getWithExplicit('orient');\n if (mergedOrient.explicit && childOrient.explicit && mergedOrient.value !== childOrient.value) {\n // TODO: throw warning if resolve is explicit (We don't have info about explicit/implicit resolve yet.)\n // Cannot merge due to inconsistent orient\n return undefined;\n }\n else {\n mergedAxisCmpts[i] = mergeAxisComponent(merged, child);\n }\n }\n }\n }\n else {\n // For first one, return a copy of the child\n return childAxisCmpts.map(function (axisComponent) { return axisComponent.clone(); });\n }\n return mergedAxisCmpts;\n}\nfunction mergeAxisComponent(merged, child) {\n var _loop_1 = function (prop) {\n var mergedValueWithExplicit = Object(__WEBPACK_IMPORTED_MODULE_6__split__[\"e\" /* mergeValuesWithExplicit */])(merged.getWithExplicit(prop), child.getWithExplicit(prop), prop, 'axis', \n // Tie breaker function\n function (v1, v2) {\n switch (prop) {\n case 'title':\n return Object(__WEBPACK_IMPORTED_MODULE_4__common__[\"j\" /* mergeTitleComponent */])(v1, v2);\n case 'gridScale':\n return {\n explicit: v1.explicit,\n value: v1.value || v2.value\n };\n }\n return Object(__WEBPACK_IMPORTED_MODULE_6__split__[\"b\" /* defaultTieBreaker */])(v1, v2, prop, 'axis');\n });\n merged.setWithExplicit(prop, mergedValueWithExplicit);\n };\n for (var _i = 0, VG_AXIS_PROPERTIES_1 = __WEBPACK_IMPORTED_MODULE_0__axis__[\"VG_AXIS_PROPERTIES\"]; _i < VG_AXIS_PROPERTIES_1.length; _i++) {\n var prop = VG_AXIS_PROPERTIES_1[_i];\n _loop_1(prop);\n }\n return merged;\n}\nfunction getFieldDefTitle(model, channel) {\n var channel2 = channel === 'x' ? 'x2' : 'y2';\n var fieldDef = model.fieldDef(channel);\n var fieldDef2 = model.fieldDef(channel2);\n var title1 = fieldDef ? fieldDef.title : undefined;\n var title2 = fieldDef2 ? fieldDef2.title : undefined;\n if (title1 && title2) {\n return Object(__WEBPACK_IMPORTED_MODULE_4__common__[\"i\" /* mergeTitle */])(title1, title2);\n }\n else if (title1) {\n return title1;\n }\n else if (title2) {\n return title2;\n }\n else if (title1 !== undefined) { // falsy value to disable config\n return title1;\n }\n else if (title2 !== undefined) { // falsy value to disable config\n return title2;\n }\n return undefined;\n}\nfunction parseAxis(channel, model) {\n var axis = model.axis(channel);\n var axisComponent = new __WEBPACK_IMPORTED_MODULE_7__component__[\"a\" /* AxisComponent */]();\n // 1.2. Add properties\n __WEBPACK_IMPORTED_MODULE_0__axis__[\"VG_AXIS_PROPERTIES\"].forEach(function (property) {\n var value = getProperty(property, axis, channel, model);\n if (value !== undefined) {\n var explicit = \n // specified axis.values is already respected, but may get transformed.\n property === 'values' ? !!axis.values :\n // both VL axis.encoding and axis.labelAngle affect VG axis.encode\n property === 'encode' ? !!axis.encoding || !!axis.labelAngle :\n // title can be explicit if fieldDef.title is set\n property === 'title' && value === getFieldDefTitle(model, channel) ? true :\n // Otherwise, things are explicit if the returned value matches the specified property\n value === axis[property];\n var configValue = Object(__WEBPACK_IMPORTED_MODULE_8__config__[\"a\" /* getAxisConfig */])(property, model.config, channel, axisComponent.get('orient'), model.getScaleComponent(channel).get('type'));\n // only set property if it is explicitly set or has no config value (otherwise we will accidentally override config)\n if (explicit || configValue === undefined) {\n // Do not apply implicit rule if there is a config value\n axisComponent.set(property, value, explicit);\n }\n else if (property === 'grid' && configValue) {\n // Grid is an exception because we need to set grid = true to generate another grid axis\n axisComponent.set(property, configValue, false);\n }\n }\n });\n // 2) Add guide encode definition groups\n var axisEncoding = axis.encoding || {};\n var axisEncode = __WEBPACK_IMPORTED_MODULE_0__axis__[\"AXIS_PARTS\"].reduce(function (e, part) {\n if (!axisComponent.hasAxisPart(part)) {\n // No need to create encode for a disabled part.\n return e;\n }\n var axisEncodingPart = Object(__WEBPACK_IMPORTED_MODULE_4__common__[\"h\" /* guideEncodeEntry */])(axisEncoding[part] || {}, model);\n var value = part === 'labels' ?\n __WEBPACK_IMPORTED_MODULE_9__encode__[\"a\" /* labels */](model, channel, axisEncodingPart, axisComponent.get('orient')) :\n axisEncodingPart;\n if (value !== undefined && Object(__WEBPACK_IMPORTED_MODULE_3__util__[\"keys\"])(value).length > 0) {\n e[part] = { update: value };\n }\n return e;\n }, {});\n // FIXME: By having encode as one property, we won't have fine grained encode merging.\n if (Object(__WEBPACK_IMPORTED_MODULE_3__util__[\"keys\"])(axisEncode).length > 0) {\n axisComponent.set('encode', axisEncode, !!axis.encoding || axis.labelAngle !== undefined);\n }\n return axisComponent;\n}\nfunction getProperty(property, specifiedAxis, channel, model) {\n var fieldDef = model.fieldDef(channel);\n switch (property) {\n case 'scale':\n return model.scaleName(channel);\n case 'gridScale':\n return __WEBPACK_IMPORTED_MODULE_10__properties__[\"b\" /* gridScale */](model, channel);\n case 'format':\n // We don't include temporal field here as we apply format in encode block\n return Object(__WEBPACK_IMPORTED_MODULE_4__common__[\"l\" /* numberFormat */])(fieldDef, specifiedAxis.format, model.config);\n case 'grid': {\n var scaleType = model.getScaleComponent(channel).get('type');\n return Object(__WEBPACK_IMPORTED_MODULE_4__common__[\"f\" /* getSpecifiedOrDefaultValue */])(specifiedAxis.grid, __WEBPACK_IMPORTED_MODULE_10__properties__[\"a\" /* grid */](scaleType, fieldDef));\n }\n case 'labelFlush':\n return __WEBPACK_IMPORTED_MODULE_10__properties__[\"c\" /* labelFlush */](fieldDef, channel, specifiedAxis);\n case 'labelOverlap': {\n var scaleType = model.getScaleComponent(channel).get('type');\n return __WEBPACK_IMPORTED_MODULE_10__properties__[\"d\" /* labelOverlap */](fieldDef, specifiedAxis, channel, scaleType);\n }\n case 'orient':\n return Object(__WEBPACK_IMPORTED_MODULE_4__common__[\"f\" /* getSpecifiedOrDefaultValue */])(specifiedAxis.orient, __WEBPACK_IMPORTED_MODULE_10__properties__[\"e\" /* orient */](channel));\n case 'tickCount': {\n var scaleType = model.getScaleComponent(channel).get('type');\n var sizeType = channel === 'x' ? 'width' : channel === 'y' ? 'height' : undefined;\n var size = sizeType ? model.getSizeSignalRef(sizeType)\n : undefined;\n return Object(__WEBPACK_IMPORTED_MODULE_4__common__[\"f\" /* getSpecifiedOrDefaultValue */])(specifiedAxis.tickCount, __WEBPACK_IMPORTED_MODULE_10__properties__[\"f\" /* tickCount */](channel, fieldDef, scaleType, size));\n }\n case 'title':\n var channel2 = channel === 'x' ? 'x2' : 'y2';\n var fieldDef2 = model.fieldDef(channel2);\n // Keep undefined so we use default if title is unspecified.\n // For other falsy value, keep them so we will hide the title.\n var fieldDefTitle = getFieldDefTitle(model, channel);\n var specifiedTitle = fieldDefTitle !== undefined ? fieldDefTitle :\n specifiedAxis.title === undefined ? undefined : specifiedAxis.title;\n return Object(__WEBPACK_IMPORTED_MODULE_4__common__[\"f\" /* getSpecifiedOrDefaultValue */])(specifiedTitle, \n // If title not specified, store base parts of fieldDef (and fieldDef2 if exists)\n Object(__WEBPACK_IMPORTED_MODULE_4__common__[\"k\" /* mergeTitleFieldDefs */])([Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"toFieldDefBase\"])(fieldDef)], fieldDef2 ? [Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"toFieldDefBase\"])(fieldDef2)] : []));\n case 'values':\n return __WEBPACK_IMPORTED_MODULE_10__properties__[\"g\" /* values */](specifiedAxis, model, fieldDef, channel);\n }\n // Otherwise, return specified property.\n return Object(__WEBPACK_IMPORTED_MODULE_0__axis__[\"isAxisProperty\"])(property) ? specifiedAxis[property] : undefined;\n}\n//# sourceMappingURL=parse.js.map\n\n/***/ }),\n/* 395 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = getAxisConfig;\nfunction getAxisConfig(property, config, channel, orient, scaleType) {\n if (orient === void 0) { orient = ''; }\n // configTypes to loop, starting from higher precedence\n var configTypes = (scaleType === 'band' ? ['axisBand'] : []).concat([\n channel === 'x' ? 'axisX' : 'axisY',\n 'axis' + orient.substr(0, 1).toUpperCase() + orient.substr(1),\n 'axis'\n ]);\n for (var _i = 0, configTypes_1 = configTypes; _i < configTypes_1.length; _i++) {\n var configType = configTypes_1[_i];\n if (config[configType] && config[configType][property] !== undefined) {\n return config[configType][property];\n }\n }\n return undefined;\n}\n//# sourceMappingURL=config.js.map\n\n/***/ }),\n/* 396 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return UnitModel; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__encoding__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__mark__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__stack__ = __webpack_require__(201);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__axis_parse__ = __webpack_require__(394);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__data_parse__ = __webpack_require__(130);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__layoutsize_assemble__ = __webpack_require__(131);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__layoutsize_parse__ = __webpack_require__(89);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__mark_init__ = __webpack_require__(966);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__mark_mark__ = __webpack_require__(967);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__model__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__repeater__ = __webpack_require__(393);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__selection_selection__ = __webpack_require__(18);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Internal model of Vega-Lite specification for the compiler.\n */\nvar UnitModel = /** @class */ (function (_super) {\n __WEBPACK_IMPORTED_MODULE_0_tslib__[\"c\" /* __extends */](UnitModel, _super);\n function UnitModel(spec, parent, parentGivenName, parentGivenSize, repeater, config, fit) {\n if (parentGivenSize === void 0) { parentGivenSize = {}; }\n var _this = _super.call(this, spec, parent, parentGivenName, config, repeater, undefined) || this;\n _this.fit = fit;\n _this.type = 'unit';\n _this.specifiedScales = {};\n _this.specifiedAxes = {};\n _this.specifiedLegends = {};\n _this.specifiedProjection = {};\n _this.selection = {};\n _this.children = [];\n _this.initSize(__WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, parentGivenSize, (spec.width ? { width: spec.width } : {}), (spec.height ? { height: spec.height } : {})));\n var mark = Object(__WEBPACK_IMPORTED_MODULE_4__mark__[\"isMarkDef\"])(spec.mark) ? spec.mark.type : spec.mark;\n var encoding = _this.encoding = Object(__WEBPACK_IMPORTED_MODULE_2__encoding__[\"normalizeEncoding\"])(Object(__WEBPACK_IMPORTED_MODULE_14__repeater__[\"a\" /* replaceRepeaterInEncoding */])(spec.encoding || {}, repeater), mark);\n _this.markDef = Object(__WEBPACK_IMPORTED_MODULE_11__mark_init__[\"a\" /* normalizeMarkDef */])(spec.mark, encoding, config);\n // calculate stack properties\n _this.stack = Object(__WEBPACK_IMPORTED_MODULE_5__stack__[\"stack\"])(mark, encoding, _this.config.stack);\n _this.specifiedScales = _this.initScales(mark, encoding);\n _this.specifiedAxes = _this.initAxes(encoding);\n _this.specifiedLegends = _this.initLegend(encoding);\n _this.specifiedProjection = spec.projection;\n // Selections will be initialized upon parse.\n _this.selection = spec.selection;\n return _this;\n }\n Object.defineProperty(UnitModel.prototype, \"hasProjection\", {\n get: function () {\n var encoding = this.encoding;\n var isGeoShapeMark = this.mark === __WEBPACK_IMPORTED_MODULE_4__mark__[\"GEOSHAPE\"];\n var hasGeoPosition = encoding && __WEBPACK_IMPORTED_MODULE_1__channel__[\"GEOPOSITION_CHANNELS\"].some(function (channel) { return Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"isFieldDef\"])(encoding[channel]); });\n return isGeoShapeMark || hasGeoPosition;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * Return specified Vega-lite scale domain for a particular channel\n * @param channel\n */\n UnitModel.prototype.scaleDomain = function (channel) {\n var scale = this.specifiedScales[channel];\n return scale ? scale.domain : undefined;\n };\n UnitModel.prototype.axis = function (channel) {\n return this.specifiedAxes[channel];\n };\n UnitModel.prototype.legend = function (channel) {\n return this.specifiedLegends[channel];\n };\n UnitModel.prototype.initScales = function (mark, encoding) {\n return __WEBPACK_IMPORTED_MODULE_1__channel__[\"SCALE_CHANNELS\"].reduce(function (scales, channel) {\n var fieldDef;\n var specifiedScale;\n var channelDef = encoding[channel];\n if (Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"isFieldDef\"])(channelDef)) {\n fieldDef = channelDef;\n specifiedScale = channelDef.scale;\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"hasConditionalFieldDef\"])(channelDef)) {\n fieldDef = channelDef.condition;\n specifiedScale = channelDef.condition['scale'];\n }\n else if (channel === 'x') {\n fieldDef = Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"getFieldDef\"])(encoding.x2);\n }\n else if (channel === 'y') {\n fieldDef = Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"getFieldDef\"])(encoding.y2);\n }\n if (fieldDef) {\n scales[channel] = specifiedScale || {};\n }\n return scales;\n }, {});\n };\n UnitModel.prototype.initAxes = function (encoding) {\n return [__WEBPACK_IMPORTED_MODULE_1__channel__[\"X\"], __WEBPACK_IMPORTED_MODULE_1__channel__[\"Y\"]].reduce(function (_axis, channel) {\n // Position Axis\n // TODO: handle ConditionFieldDef\n var channelDef = encoding[channel];\n if (Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"isFieldDef\"])(channelDef) ||\n (channel === __WEBPACK_IMPORTED_MODULE_1__channel__[\"X\"] && Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"isFieldDef\"])(encoding.x2)) ||\n (channel === __WEBPACK_IMPORTED_MODULE_1__channel__[\"Y\"] && Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"isFieldDef\"])(encoding.y2))) {\n var axisSpec = Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"isFieldDef\"])(channelDef) ? channelDef.axis : null;\n // We no longer support false in the schema, but we keep false here for backward compatibility.\n if (axisSpec !== null && axisSpec !== false) {\n _axis[channel] = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, axisSpec);\n }\n }\n return _axis;\n }, {});\n };\n UnitModel.prototype.initLegend = function (encoding) {\n return __WEBPACK_IMPORTED_MODULE_1__channel__[\"NONPOSITION_SCALE_CHANNELS\"].reduce(function (_legend, channel) {\n var channelDef = encoding[channel];\n if (channelDef) {\n var legend = Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"isFieldDef\"])(channelDef) ? channelDef.legend :\n (Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"hasConditionalFieldDef\"])(channelDef)) ? channelDef.condition['legend'] : null;\n if (legend !== null && legend !== false) {\n _legend[channel] = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, legend);\n }\n }\n return _legend;\n }, {});\n };\n UnitModel.prototype.parseData = function () {\n this.component.data = Object(__WEBPACK_IMPORTED_MODULE_8__data_parse__[\"a\" /* parseData */])(this);\n };\n UnitModel.prototype.parseLayoutSize = function () {\n Object(__WEBPACK_IMPORTED_MODULE_10__layoutsize_parse__[\"e\" /* parseUnitLayoutSize */])(this);\n };\n UnitModel.prototype.parseSelection = function () {\n this.component.selection = Object(__WEBPACK_IMPORTED_MODULE_15__selection_selection__[\"k\" /* parseUnitSelection */])(this, this.selection);\n };\n UnitModel.prototype.parseMarkGroup = function () {\n this.component.mark = Object(__WEBPACK_IMPORTED_MODULE_12__mark_mark__[\"a\" /* parseMarkGroup */])(this);\n };\n UnitModel.prototype.parseAxisAndHeader = function () {\n this.component.axes = Object(__WEBPACK_IMPORTED_MODULE_7__axis_parse__[\"b\" /* parseUnitAxis */])(this);\n };\n UnitModel.prototype.assembleSelectionTopLevelSignals = function (signals) {\n return Object(__WEBPACK_IMPORTED_MODULE_15__selection_selection__[\"e\" /* assembleTopLevelSignals */])(this, signals);\n };\n UnitModel.prototype.assembleSelectionSignals = function () {\n return Object(__WEBPACK_IMPORTED_MODULE_15__selection_selection__[\"h\" /* assembleUnitSelectionSignals */])(this, []);\n };\n UnitModel.prototype.assembleSelectionData = function (data) {\n return Object(__WEBPACK_IMPORTED_MODULE_15__selection_selection__[\"f\" /* assembleUnitSelectionData */])(this, data);\n };\n UnitModel.prototype.assembleLayout = function () {\n return null;\n };\n UnitModel.prototype.assembleLayoutSignals = function () {\n return Object(__WEBPACK_IMPORTED_MODULE_9__layoutsize_assemble__[\"a\" /* assembleLayoutSignals */])(this);\n };\n UnitModel.prototype.assembleMarks = function () {\n var marks = this.component.mark || [];\n // If this unit is part of a layer, selections should augment\n // all in concert rather than each unit individually. This\n // ensures correct interleaving of clipping and brushed marks.\n if (!this.parent || !Object(__WEBPACK_IMPORTED_MODULE_13__model__[\"e\" /* isLayerModel */])(this.parent)) {\n marks = Object(__WEBPACK_IMPORTED_MODULE_15__selection_selection__[\"g\" /* assembleUnitSelectionMarks */])(this, marks);\n }\n return marks.map(this.correctDataNames);\n };\n UnitModel.prototype.assembleLayoutSize = function () {\n return {\n width: this.getSizeSignalRef('width'),\n height: this.getSizeSignalRef('height')\n };\n };\n UnitModel.prototype.getMapping = function () {\n return this.encoding;\n };\n UnitModel.prototype.toSpec = function (excludeConfig, excludeData) {\n var encoding = Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"duplicate\"])(this.encoding);\n var spec;\n spec = {\n mark: this.markDef,\n encoding: encoding\n };\n if (!excludeConfig) {\n spec.config = Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"duplicate\"])(this.config);\n }\n if (!excludeData) {\n spec.data = Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"duplicate\"])(this.data);\n }\n // remove defaults\n return spec;\n };\n Object.defineProperty(UnitModel.prototype, \"mark\", {\n get: function () {\n return this.markDef.type;\n },\n enumerable: true,\n configurable: true\n });\n UnitModel.prototype.channelHasField = function (channel) {\n return __WEBPACK_IMPORTED_MODULE_2__encoding__[\"channelHasField\"](this.encoding, channel);\n };\n UnitModel.prototype.fieldDef = function (channel) {\n var channelDef = this.encoding[channel];\n return Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"getFieldDef\"])(channelDef);\n };\n return UnitModel;\n}(__WEBPACK_IMPORTED_MODULE_13__model__[\"b\" /* ModelWithField */]));\n\n//# sourceMappingURL=unit.js.map\n\n/***/ }),\n/* 397 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Handler; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__defaults__ = __webpack_require__(398);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__formatValue__ = __webpack_require__(399);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__position__ = __webpack_require__(400);\n\n\n\n\n/**\n * The tooltip handler class.\n */\nvar Handler = /** @class */ (function () {\n /**\n * Create the tooltip handler and initialize the element and style.\n *\n * @param options Tooltip Options\n */\n function Handler(options) {\n this.options = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, __WEBPACK_IMPORTED_MODULE_1__defaults__[\"a\" /* DEFAULT_OPTIONS */], options);\n var elementId = this.options.id;\n // bind this to call\n this.call = this.tooltip_handler.bind(this);\n // prepend a default stylesheet for tooltips to the head\n if (!this.options.disableDefaultStyle && !document.getElementById(this.options.styleId)) {\n var style = document.createElement('style');\n style.setAttribute('id', this.options.styleId);\n style.innerHTML = Object(__WEBPACK_IMPORTED_MODULE_1__defaults__[\"b\" /* createDefaultStyle */])(elementId);\n if (document.head.childNodes.length > 0) {\n document.head.insertBefore(style, document.head.childNodes[0]);\n }\n else {\n document.head.appendChild(style);\n }\n }\n // append a div element that we use as a tooltip unless it already exists\n this.el = document.getElementById(elementId);\n if (!this.el) {\n this.el = document.createElement('div');\n this.el.setAttribute('id', elementId);\n this.el.classList.add('vg-tooltip');\n document.body.appendChild(this.el);\n }\n }\n /**\n * The tooltip handler function.\n */\n Handler.prototype.tooltip_handler = function (handler, event, item, value) {\n // console.log(handler, event, item, value);\n // hide tooltip for null, undefined, or empty string values\n if (value == null || value === '') {\n this.el.classList.remove('visible', this.options.theme + \"-theme\");\n return;\n }\n // set the tooltip content\n this.el.innerHTML = Object(__WEBPACK_IMPORTED_MODULE_2__formatValue__[\"a\" /* formatValue */])(value, this.options.sanitize, this.options.maxDepth);\n // make the tooltip visible\n this.el.classList.add('visible', this.options.theme + \"-theme\");\n var _a = Object(__WEBPACK_IMPORTED_MODULE_3__position__[\"a\" /* calculatePosition */])(event, this.el.getBoundingClientRect(), this.options.offsetX, this.options.offsetY), x = _a.x, y = _a.y;\n this.el.setAttribute('style', \"top: \" + y + \"px; left: \" + x + \"px\");\n };\n return Handler;\n}());\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9IYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFXLE1BQU0sWUFBWSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRS9DOztHQUVHO0FBQ0g7SUFnQkU7Ozs7T0FJRztJQUNILGlCQUFZLE9BQTBCO1FBQ3BDLElBQUksQ0FBQyxPQUFPLHdCQUFRLGVBQWUsRUFBSyxPQUFPLENBQUUsQ0FBQztRQUNsRCxJQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUVsQyxvQkFBb0I7UUFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU1Qyx3REFBd0Q7UUFDeEQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDdkYsSUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM5QyxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQy9DLEtBQUssQ0FBQyxTQUFTLEdBQUcsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFaEQsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUN2QyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNoRTtpQkFBTTtnQkFDTCxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNsQztTQUNGO1FBRUQseUVBQXlFO1FBQ3pFLElBQUksQ0FBQyxFQUFFLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUUsQ0FBQztRQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNaLElBQUksQ0FBQyxFQUFFLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4QyxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDdEMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBRXBDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNwQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNLLGlDQUFlLEdBQXZCLFVBQXdCLE9BQVksRUFBRSxLQUFpQixFQUFFLElBQVMsRUFBRSxLQUFVO1FBQzVFLDRDQUE0QztRQUU1QywyREFBMkQ7UUFDM0QsSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssS0FBSyxFQUFFLEVBQUU7WUFDakMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBSyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssV0FBUSxDQUFDLENBQUM7WUFDbkUsT0FBTztTQUNSO1FBRUQsMEJBQTBCO1FBQzFCLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVyRiwyQkFBMkI7UUFDM0IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBSyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssV0FBUSxDQUFDLENBQUM7UUFFMUQsSUFBQSwwR0FLTCxFQUxPLFFBQUMsRUFBRSxRQUFDLENBS1Y7UUFFRixJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsVUFBUSxDQUFDLGtCQUFhLENBQUMsT0FBSSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUNILGNBQUM7QUFBRCxDQUFDLEFBL0VELElBK0VDIn0=\n\n/***/ }),\n/* 398 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return DEFAULT_OPTIONS; });\n/* unused harmony export escapeHTML */\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = createDefaultStyle;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__style__ = __webpack_require__(990);\n\nvar EL_ID = 'vg-tooltip-element';\nvar DEFAULT_OPTIONS = {\n /**\n * X offset.\n */\n offsetX: 10,\n /**\n * Y offset.\n */\n offsetY: 10,\n /**\n * ID of the tooltip element.\n */\n id: EL_ID,\n /**\n * ID of the tooltip CSS style.\n */\n styleId: 'vega-tooltip-style',\n /**\n * The name of the theme. You can use the CSS class called [THEME]-theme to style the tooltips.\n *\n * There are two predefined themes: \"light\" (default) and \"dark\".\n */\n theme: 'light',\n /**\n * Do not use the default styles provided by Vega Tooltip. If you enable this option, you need to use your own styles. It is not necessary to disable the default style when using a custom theme.\n */\n disableDefaultStyle: false,\n /**\n * HTML sanitizer function that removes dangerous HTML to prevent XSS.\n *\n * This should be a function from string to string. You may replace it with a formatter such as a markdown formatter.\n */\n sanitize: escapeHTML,\n /**\n * The maximum recursion depth when printing objects in the tooltip.\n */\n maxDepth: 2,\n};\n/**\n * Escape special HTML characters.\n *\n * @param value A value to convert to string and HTML-escape.\n */\nfunction escapeHTML(value) {\n return String(value)\n .replace(/&/g, '&')\n .replace(/</g, '<');\n}\nfunction createDefaultStyle(id) {\n // Just in case this id comes from a user, ensure these is no security issues\n if (!/^[A-Za-z]+[-:.\\w]*$/.test(id)) {\n throw new Error('Invalid HTML ID');\n }\n return __WEBPACK_IMPORTED_MODULE_0__style__[\"a\" /* default */].toString().replace(EL_ID, id);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGVmYXVsdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxZQUFZLE1BQU0sU0FBUyxDQUFDO0FBRW5DLElBQU0sS0FBSyxHQUFHLG9CQUFvQixDQUFDO0FBRW5DLE1BQU0sQ0FBQyxJQUFNLGVBQWUsR0FBRztJQUM3Qjs7T0FFRztJQUNILE9BQU8sRUFBRSxFQUFFO0lBRVg7O09BRUc7SUFDSCxPQUFPLEVBQUUsRUFBRTtJQUVYOztPQUVHO0lBQ0gsRUFBRSxFQUFFLEtBQUs7SUFFVDs7T0FFRztJQUNILE9BQU8sRUFBRSxvQkFBb0I7SUFFN0I7Ozs7T0FJRztJQUNILEtBQUssRUFBRSxPQUFPO0lBRWQ7O09BRUc7SUFDSCxtQkFBbUIsRUFBRSxLQUFLO0lBRTFCOzs7O09BSUc7SUFDSCxRQUFRLEVBQUUsVUFBVTtJQUVwQjs7T0FFRztJQUNILFFBQVEsRUFBRSxDQUFDO0NBQ1osQ0FBQztBQUlGOzs7O0dBSUc7QUFDSCxNQUFNLHFCQUFxQixLQUFVO0lBQ25DLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQztTQUNqQixPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQztTQUN0QixPQUFPLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQzNCLENBQUM7QUFFRCxNQUFNLDZCQUE2QixFQUFVO0lBQzNDLDZFQUE2RTtJQUM3RSxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztLQUNwQztJQUVELE9BQU8sWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDcEQsQ0FBQyJ9\n\n/***/ }),\n/* 399 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = formatValue;\n/* unused harmony export replacer */\n/* unused harmony export stringify */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n/**\n * Format the value to be shown in the toolip.\n *\n * @param value The value to show in the tooltip.\n * @param valueToHtml Function to convert a single cell value to an HTML string\n */\nfunction formatValue(value, valueToHtml, maxDepth) {\n if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(value)) {\n return \"[\" + value.map(function (v) { return valueToHtml(Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"C\" /* isString */])(v) ? v : stringify(v, maxDepth)); }).join(', ') + \"]\";\n }\n if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"A\" /* isObject */])(value)) {\n var content = '';\n var _a = value, title = _a.title, rest = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"e\" /* __rest */](_a, [\"title\"]);\n if (title) {\n content += \"<h2>\" + valueToHtml(title) + \"</h2>\";\n }\n var keys = Object.keys(rest);\n if (keys.length > 0) {\n content += '<table>';\n for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {\n var key = keys_1[_i];\n var val = rest[key];\n if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"A\" /* isObject */])(val)) {\n val = stringify(val, maxDepth);\n }\n content += \"<tr><td class=\\\"key\\\">\" + valueToHtml(key) + \":</td><td class=\\\"value\\\">\" + valueToHtml(val) + \"</td></tr>\";\n }\n content += \"</table>\";\n }\n return content || '{}'; // show empty object if there are no properties\n }\n return valueToHtml(value);\n}\nfunction replacer(maxDepth) {\n var stack = [];\n return function (key, value) {\n if (typeof value !== 'object' || value === null) {\n return value;\n }\n var pos = stack.indexOf(this) + 1;\n stack.length = pos;\n if (stack.length > maxDepth) {\n return '[Object]';\n }\n if (stack.indexOf(value) >= 0) {\n return '[Circular]';\n }\n stack.push(value);\n return value;\n };\n}\n/**\n * Stringify any JS object to valid JSON\n */\nfunction stringify(obj, maxDepth) {\n return JSON.stringify(obj, replacer(maxDepth));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0VmFsdWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZm9ybWF0VmFsdWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV4RDs7Ozs7R0FLRztBQUNILE1BQU0sc0JBQXNCLEtBQVUsRUFBRSxXQUFtQyxFQUFFLFFBQWdCO0lBQzNGLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ2xCLE9BQU8sTUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLEVBQXJELENBQXFELENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQUcsQ0FBQztLQUNoRztJQUVELElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ25CLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUVqQixJQUFNLFVBQWlDLEVBQS9CLGdCQUFLLEVBQUUsb0NBQXdCLENBQUM7UUFFeEMsSUFBSSxLQUFLLEVBQUU7WUFDVCxPQUFPLElBQUksU0FBTyxXQUFXLENBQUMsS0FBSyxDQUFDLFVBQU8sQ0FBQztTQUM3QztRQUVELElBQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNuQixPQUFPLElBQUksU0FBUyxDQUFDO1lBQ3JCLEtBQWtCLFVBQUksRUFBSixhQUFJLEVBQUosa0JBQUksRUFBSixJQUFJLEVBQUU7Z0JBQW5CLElBQU0sR0FBRyxhQUFBO2dCQUNaLElBQUksR0FBRyxHQUFJLElBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDN0IsSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ2pCLEdBQUcsR0FBRyxTQUFTLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2lCQUNoQztnQkFFRCxPQUFPLElBQUksMkJBQXVCLFdBQVcsQ0FBQyxHQUFHLENBQUMsa0NBQTJCLFdBQVcsQ0FBQyxHQUFHLENBQUMsZUFBWSxDQUFDO2FBQzNHO1lBQ0QsT0FBTyxJQUFJLFVBQVUsQ0FBQztTQUN2QjtRQUVELE9BQU8sT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLCtDQUErQztLQUN4RTtJQUVELE9BQU8sV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFFRCxNQUFNLG1CQUFtQixRQUFnQjtJQUN2QyxJQUFNLEtBQUssR0FBVSxFQUFFLENBQUM7SUFFeEIsT0FBTyxVQUFvQixHQUFXLEVBQUUsS0FBVTtRQUNoRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO1lBQy9DLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxJQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQyxLQUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztRQUNuQixJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsUUFBUSxFQUFFO1lBQzNCLE9BQU8sVUFBVSxDQUFDO1NBQ25CO1FBQ0QsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM3QixPQUFPLFlBQVksQ0FBQztTQUNyQjtRQUNELEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLG9CQUFvQixHQUFRLEVBQUUsUUFBZ0I7SUFDbEQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUNqRCxDQUFDIn0=\n\n/***/ }),\n/* 400 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = calculatePosition;\n/**\n * Position the tooltip\n *\n * @param event The mouse event.\n * @param tooltipBox\n * @param offsetX Horizontal offset.\n * @param offsetY Vertical offset.\n */\nfunction calculatePosition(event, tooltipBox, offsetX, offsetY) {\n var x = event.clientX + offsetX;\n if (x + tooltipBox.width > window.innerWidth) {\n x = +event.clientX - offsetX - tooltipBox.width;\n }\n var y = event.clientY + offsetY;\n if (y + tooltipBox.height > window.innerHeight) {\n y = +event.clientY - offsetY - tooltipBox.height;\n }\n return { x: x, y: y };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcG9zaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRztBQUNILE1BQU0sNEJBQ0osS0FBaUIsRUFDakIsVUFBNkMsRUFDN0MsT0FBZSxFQUNmLE9BQWU7SUFFZixJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUNoQyxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUU7UUFDNUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztLQUNqRDtJQUVELElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ2hDLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLFdBQVcsRUFBRTtRQUM5QyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE9BQU8sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO0tBQ2xEO0lBRUQsT0FBTyxFQUFFLENBQUMsR0FBQSxFQUFFLENBQUMsR0FBQSxFQUFFLENBQUM7QUFDbEIsQ0FBQyJ9\n\n/***/ }),\n/* 401 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(402);\nmodule.exports = __webpack_require__(407);\n\n\n/***/ }),\n/* 402 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// @remove-on-eject-begin\n/**\n * Copyright (c) 2015-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n// @remove-on-eject-end\n\n\nif (typeof Promise === 'undefined') {\n // Rejection tracking prevents a common issue where React gets into an\n // inconsistent state due to an error, but it gets swallowed by a Promise,\n // and the user has no idea what causes React's erratic future behavior.\n __webpack_require__(403).enable();\n window.Promise = __webpack_require__(405);\n}\n\n// fetch() polyfill for making API calls.\n__webpack_require__(406);\n\n// Object.assign() is commonly used with React.\n// It will use the native implementation if it's present and isn't buggy.\nObject.assign = __webpack_require__(137);\n\n// In tests, polyfill requestAnimationFrame since jsdom doesn't provide it yet.\n// We don't polyfill it in the browser--this is user's responsibility.\nif (false) {\n require('raf').polyfill(global);\n}\n\n\n/***/ }),\n/* 403 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar Promise = __webpack_require__(209);\n\nvar DEFAULT_WHITELIST = [\n ReferenceError,\n TypeError,\n RangeError\n];\n\nvar enabled = false;\nexports.disable = disable;\nfunction disable() {\n enabled = false;\n Promise._47 = null;\n Promise._71 = null;\n}\n\nexports.enable = enable;\nfunction enable(options) {\n options = options || {};\n if (enabled) disable();\n enabled = true;\n var id = 0;\n var displayId = 0;\n var rejections = {};\n Promise._47 = function (promise) {\n if (\n promise._83 === 2 && // IS REJECTED\n rejections[promise._56]\n ) {\n if (rejections[promise._56].logged) {\n onHandled(promise._56);\n } else {\n clearTimeout(rejections[promise._56].timeout);\n }\n delete rejections[promise._56];\n }\n };\n Promise._71 = function (promise, err) {\n if (promise._75 === 0) { // not yet handled\n promise._56 = id++;\n rejections[promise._56] = {\n displayId: null,\n error: err,\n timeout: setTimeout(\n onUnhandled.bind(null, promise._56),\n // For reference errors and type errors, this almost always\n // means the programmer made a mistake, so log them after just\n // 100ms\n // otherwise, wait 2 seconds to see if they get handled\n matchWhitelist(err, DEFAULT_WHITELIST)\n ? 100\n : 2000\n ),\n logged: false\n };\n }\n };\n function onUnhandled(id) {\n if (\n options.allRejections ||\n matchWhitelist(\n rejections[id].error,\n options.whitelist || DEFAULT_WHITELIST\n )\n ) {\n rejections[id].displayId = displayId++;\n if (options.onUnhandled) {\n rejections[id].logged = true;\n options.onUnhandled(\n rejections[id].displayId,\n rejections[id].error\n );\n } else {\n rejections[id].logged = true;\n logError(\n rejections[id].displayId,\n rejections[id].error\n );\n }\n }\n }\n function onHandled(id) {\n if (rejections[id].logged) {\n if (options.onHandled) {\n options.onHandled(rejections[id].displayId, rejections[id].error);\n } else if (!rejections[id].onUnhandled) {\n console.warn(\n 'Promise Rejection Handled (id: ' + rejections[id].displayId + '):'\n );\n console.warn(\n ' This means you can ignore any previous messages of the form \"Possible Unhandled Promise Rejection\" with id ' +\n rejections[id].displayId + '.'\n );\n }\n }\n }\n}\n\nfunction logError(id, error) {\n console.warn('Possible Unhandled Promise Rejection (id: ' + id + '):');\n var errStr = (error && (error.stack || error)) + '';\n errStr.split('\\n').forEach(function (line) {\n console.warn(' ' + line);\n });\n}\n\nfunction matchWhitelist(error, list) {\n return list.some(function (cls) {\n return error instanceof cls;\n });\n}\n\n/***/ }),\n/* 404 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {\n\n// Use the fastest means possible to execute a task in its own turn, with\n// priority over other events including IO, animation, reflow, and redraw\n// events in browsers.\n//\n// An exception thrown by a task will permanently interrupt the processing of\n// subsequent tasks. The higher level `asap` function ensures that if an\n// exception is thrown by a task, that the task queue will continue flushing as\n// soon as possible, but if you use `rawAsap` directly, you are responsible to\n// either ensure that no exceptions are thrown from your task, or to manually\n// call `rawAsap.requestFlush` if an exception is thrown.\nmodule.exports = rawAsap;\nfunction rawAsap(task) {\n if (!queue.length) {\n requestFlush();\n flushing = true;\n }\n // Equivalent to push, but avoids a function call.\n queue[queue.length] = task;\n}\n\nvar queue = [];\n// Once a flush has been requested, no further calls to `requestFlush` are\n// necessary until the next `flush` completes.\nvar flushing = false;\n// `requestFlush` is an implementation-specific method that attempts to kick\n// off a `flush` event as quickly as possible. `flush` will attempt to exhaust\n// the event queue before yielding to the browser's own event loop.\nvar requestFlush;\n// The position of the next task to execute in the task queue. This is\n// preserved between calls to `flush` so that it can be resumed if\n// a task throws an exception.\nvar index = 0;\n// If a task schedules additional tasks recursively, the task queue can grow\n// unbounded. To prevent memory exhaustion, the task queue will periodically\n// truncate already-completed tasks.\nvar capacity = 1024;\n\n// The flush function processes all tasks that have been scheduled with\n// `rawAsap` unless and until one of those tasks throws an exception.\n// If a task throws an exception, `flush` ensures that its state will remain\n// consistent and will resume where it left off when called again.\n// However, `flush` does not make any arrangements to be called again if an\n// exception is thrown.\nfunction flush() {\n while (index < queue.length) {\n var currentIndex = index;\n // Advance the index before calling the task. This ensures that we will\n // begin flushing on the next task the task throws an error.\n index = index + 1;\n queue[currentIndex].call();\n // Prevent leaking memory for long chains of recursive calls to `asap`.\n // If we call `asap` within tasks scheduled by `asap`, the queue will\n // grow, but to avoid an O(n) walk for every task we execute, we don't\n // shift tasks off the queue after they have been executed.\n // Instead, we periodically shift 1024 tasks off the queue.\n if (index > capacity) {\n // Manually shift all values starting at the index back to the\n // beginning of the queue.\n for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) {\n queue[scan] = queue[scan + index];\n }\n queue.length -= index;\n index = 0;\n }\n }\n queue.length = 0;\n index = 0;\n flushing = false;\n}\n\n// `requestFlush` is implemented using a strategy based on data collected from\n// every available SauceLabs Selenium web driver worker at time of writing.\n// https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593\n\n// Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that\n// have WebKitMutationObserver but not un-prefixed MutationObserver.\n// Must use `global` or `self` instead of `window` to work in both frames and web\n// workers. `global` is a provision of Browserify, Mr, Mrs, or Mop.\n\n/* globals self */\nvar scope = typeof global !== \"undefined\" ? global : self;\nvar BrowserMutationObserver = scope.MutationObserver || scope.WebKitMutationObserver;\n\n// MutationObservers are desirable because they have high priority and work\n// reliably everywhere they are implemented.\n// They are implemented in all modern browsers.\n//\n// - Android 4-4.3\n// - Chrome 26-34\n// - Firefox 14-29\n// - Internet Explorer 11\n// - iPad Safari 6-7.1\n// - iPhone Safari 7-7.1\n// - Safari 6-7\nif (typeof BrowserMutationObserver === \"function\") {\n requestFlush = makeRequestCallFromMutationObserver(flush);\n\n// MessageChannels are desirable because they give direct access to the HTML\n// task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera\n// 11-12, and in web workers in many engines.\n// Although message channels yield to any queued rendering and IO tasks, they\n// would be better than imposing the 4ms delay of timers.\n// However, they do not work reliably in Internet Explorer or Safari.\n\n// Internet Explorer 10 is the only browser that has setImmediate but does\n// not have MutationObservers.\n// Although setImmediate yields to the browser's renderer, it would be\n// preferrable to falling back to setTimeout since it does not have\n// the minimum 4ms penalty.\n// Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and\n// Desktop to a lesser extent) that renders both setImmediate and\n// MessageChannel useless for the purposes of ASAP.\n// https://github.com/kriskowal/q/issues/396\n\n// Timers are implemented universally.\n// We fall back to timers in workers in most engines, and in foreground\n// contexts in the following browsers.\n// However, note that even this simple case requires nuances to operate in a\n// broad spectrum of browsers.\n//\n// - Firefox 3-13\n// - Internet Explorer 6-9\n// - iPad Safari 4.3\n// - Lynx 2.8.7\n} else {\n requestFlush = makeRequestCallFromTimer(flush);\n}\n\n// `requestFlush` requests that the high priority event queue be flushed as\n// soon as possible.\n// This is useful to prevent an error thrown in a task from stalling the event\n// queue if the exception handled by Node.js’s\n// `process.on(\"uncaughtException\")` or by a domain.\nrawAsap.requestFlush = requestFlush;\n\n// To request a high priority event, we induce a mutation observer by toggling\n// the text of a text node between \"1\" and \"-1\".\nfunction makeRequestCallFromMutationObserver(callback) {\n var toggle = 1;\n var observer = new BrowserMutationObserver(callback);\n var node = document.createTextNode(\"\");\n observer.observe(node, {characterData: true});\n return function requestCall() {\n toggle = -toggle;\n node.data = toggle;\n };\n}\n\n// The message channel technique was discovered by Malte Ubl and was the\n// original foundation for this library.\n// http://www.nonblocking.io/2011/06/windownexttick.html\n\n// Safari 6.0.5 (at least) intermittently fails to create message ports on a\n// page's first load. Thankfully, this version of Safari supports\n// MutationObservers, so we don't need to fall back in that case.\n\n// function makeRequestCallFromMessageChannel(callback) {\n// var channel = new MessageChannel();\n// channel.port1.onmessage = callback;\n// return function requestCall() {\n// channel.port2.postMessage(0);\n// };\n// }\n\n// For reasons explained above, we are also unable to use `setImmediate`\n// under any circumstances.\n// Even if we were, there is another bug in Internet Explorer 10.\n// It is not sufficient to assign `setImmediate` to `requestFlush` because\n// `setImmediate` must be called *by name* and therefore must be wrapped in a\n// closure.\n// Never forget.\n\n// function makeRequestCallFromSetImmediate(callback) {\n// return function requestCall() {\n// setImmediate(callback);\n// };\n// }\n\n// Safari 6.0 has a problem where timers will get lost while the user is\n// scrolling. This problem does not impact ASAP because Safari 6.0 supports\n// mutation observers, so that implementation is used instead.\n// However, if we ever elect to use timers in Safari, the prevalent work-around\n// is to add a scroll event listener that calls for a flush.\n\n// `setTimeout` does not call the passed callback if the delay is less than\n// approximately 7 in web workers in Firefox 8 through 18, and sometimes not\n// even then.\n\nfunction makeRequestCallFromTimer(callback) {\n return function requestCall() {\n // We dispatch a timeout with a specified delay of 0 for engines that\n // can reliably accommodate that request. This will usually be snapped\n // to a 4 milisecond delay, but once we're flushing, there's no delay\n // between events.\n var timeoutHandle = setTimeout(handleTimer, 0);\n // However, since this timer gets frequently dropped in Firefox\n // workers, we enlist an interval handle that will try to fire\n // an event 20 times per second until it succeeds.\n var intervalHandle = setInterval(handleTimer, 50);\n\n function handleTimer() {\n // Whichever timer succeeds will cancel both timers and\n // execute the callback.\n clearTimeout(timeoutHandle);\n clearInterval(intervalHandle);\n callback();\n }\n };\n}\n\n// This is for `asap.js` only.\n// Its name will be periodically randomized to break any code that depends on\n// its existence.\nrawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer;\n\n// ASAP was originally a nextTick shim included in Q. This was factored out\n// into this ASAP package. It was later adapted to RSVP which made further\n// amendments. These decisions, particularly to marginalize MessageChannel and\n// to capture the MutationObserver implementation in a closure, were integrated\n// back into ASAP proper.\n// https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(210)))\n\n/***/ }),\n/* 405 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n//This file contains the ES6 extensions to the core Promises/A+ API\n\nvar Promise = __webpack_require__(209);\n\nmodule.exports = Promise;\n\n/* Static Functions */\n\nvar TRUE = valuePromise(true);\nvar FALSE = valuePromise(false);\nvar NULL = valuePromise(null);\nvar UNDEFINED = valuePromise(undefined);\nvar ZERO = valuePromise(0);\nvar EMPTYSTRING = valuePromise('');\n\nfunction valuePromise(value) {\n var p = new Promise(Promise._44);\n p._83 = 1;\n p._18 = value;\n return p;\n}\nPromise.resolve = function (value) {\n if (value instanceof Promise) return value;\n\n if (value === null) return NULL;\n if (value === undefined) return UNDEFINED;\n if (value === true) return TRUE;\n if (value === false) return FALSE;\n if (value === 0) return ZERO;\n if (value === '') return EMPTYSTRING;\n\n if (typeof value === 'object' || typeof value === 'function') {\n try {\n var then = value.then;\n if (typeof then === 'function') {\n return new Promise(then.bind(value));\n }\n } catch (ex) {\n return new Promise(function (resolve, reject) {\n reject(ex);\n });\n }\n }\n return valuePromise(value);\n};\n\nPromise.all = function (arr) {\n var args = Array.prototype.slice.call(arr);\n\n return new Promise(function (resolve, reject) {\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n function res(i, val) {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n if (val instanceof Promise && val.then === Promise.prototype.then) {\n while (val._83 === 3) {\n val = val._18;\n }\n if (val._83 === 1) return res(i, val._18);\n if (val._83 === 2) reject(val._18);\n val.then(function (val) {\n res(i, val);\n }, reject);\n return;\n } else {\n var then = val.then;\n if (typeof then === 'function') {\n var p = new Promise(then.bind(val));\n p.then(function (val) {\n res(i, val);\n }, reject);\n return;\n }\n }\n }\n args[i] = val;\n if (--remaining === 0) {\n resolve(args);\n }\n }\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n};\n\nPromise.reject = function (value) {\n return new Promise(function (resolve, reject) {\n reject(value);\n });\n};\n\nPromise.race = function (values) {\n return new Promise(function (resolve, reject) {\n values.forEach(function(value){\n Promise.resolve(value).then(resolve, reject);\n });\n });\n};\n\n/* Prototype Methods */\n\nPromise.prototype['catch'] = function (onRejected) {\n return this.then(null, onRejected);\n};\n\n\n/***/ }),\n/* 406 */\n/***/ (function(module, exports) {\n\n(function(self) {\n 'use strict';\n\n if (self.fetch) {\n return\n }\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob: 'FileReader' in self && 'Blob' in self && (function() {\n try {\n new Blob()\n return true\n } catch(e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isDataView = function(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n var isArrayBufferView = ArrayBuffer.isView || function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue+','+value : value\n }\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n }\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n }\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n }\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n }\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n }\n\n Headers.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) { items.push(name) })\n return iteratorFor(items)\n }\n\n Headers.prototype.values = function() {\n var items = []\n this.forEach(function(value) { items.push(value) })\n return iteratorFor(items)\n }\n\n Headers.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) { items.push([name, value]) })\n return iteratorFor(items)\n }\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n throw new Error('unsupported BodyInit type')\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return (methods.indexOf(upcased) > -1) ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'omit'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n }\n\n Request.prototype.clone = function() {\n return new Request(this, { body: this._bodyInit })\n }\n\n function decode(body) {\n var form = new FormData()\n body.trim().split('&').forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers()\n rawHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n }\n\n Body.call(Request.prototype)\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = 'status' in options ? options.status : 200\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n }\n\n Body.call(Response.prototype)\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n }\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n }\n\n var redirectStatuses = [301, 302, 303, 307, 308]\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n }\n\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n\n self.fetch = function(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n var xhr = new XMLHttpRequest()\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n }\n self.fetch.polyfill = true\n})(typeof self !== 'undefined' ? self : this);\n\n\n/***/ }),\n/* 407 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(138);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(409);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__index_css__ = __webpack_require__(417);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__index_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__index_css__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__DatasetteVega__ = __webpack_require__(418);\nvar matchesCurrentHostAndPath=function matchesCurrentHostAndPath(url){// Given a url, is it the same host and path as current page?\n// (ignores querystring and fragment hash)\nurl=url.split('#')[0];// Only activate if link is to current page (presumably with different querystring)\nvar currentHostAndPath=window.location.hostname;if(window.location.port!==''){currentHostAndPath+=':'+window.location.port;}currentHostAndPath+=window.location.pathname;// Ignore http/s due to https://github.com/simonw/datasette/issues/333\nvar linkedHostAndPath=url.split('://')[1].split('?')[0];return currentHostAndPath===linkedHostAndPath;};// Update any forms with current page as action when fragment changes\nvar onFragmentChange=function onFragmentChange(){if(window.location.hash.length===0){return;}Array.from(document.getElementsByTagName('form')).forEach(function(form){var action=form.action.split('#')[0];if(matchesCurrentHostAndPath(action)){form.action=action+window.location.hash;}});};document.addEventListener('DOMContentLoaded',function(){var visTool=void 0,jsonUrl=void 0;if(Object({\"NODE_ENV\":\"production\",\"PUBLIC_URL\":\"\"}).REACT_APP_STAGE==='dev'){// Dev mode - use graph elements already on the index.html page\nvar m=/\\?url=(.*)/.exec(window.location.search);if(m){jsonUrl=decodeURIComponent(m[1]);document.getElementById('jsonUrl').value=jsonUrl;visTool=document.getElementById('vis-tool');}}else{var jsonEl=document.querySelector('.export-links a[href*=json]');if(jsonEl){jsonUrl=jsonEl.getAttribute('href');// Create elements for adding graph tool to page\nvisTool=document.createElement('div');var table=document.querySelector('table.rows-and-columns');table.parentNode.insertBefore(visTool,table);}}if(jsonUrl){// Add _shape=array\njsonUrl+=jsonUrl.indexOf('?')>-1?'&':'?';jsonUrl+='_shape=array';__WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.render(__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3__DatasetteVega__[\"a\" /* default */],{base_url:jsonUrl,onFragmentChange:onFragmentChange}),visTool);}});// Persist #settings across links to same page\nwindow.addEventListener('click',function(ev){if(window.location.hash.length===0){return true;}if(ev.altKey||ev.ctrlKey||ev.metaKey||ev.shiftKey||ev.defaultPrevented){return true;}var a=null;for(var n=ev.target;n.parentNode;n=n.parentNode){if(n.nodeName==='A'){a=n;break;}}if(!a||!a.href){return true;}// This expands the full URL even if the link is /relative:\nvar href=a.href;// Split off any existing #fragment\nhref=href.split('#')[0];var linkedHostQuery=href.split('?')[1];if(matchesCurrentHostAndPath(href)){// Cancel click, navigate to this + fragment instead\nvar linkedHostAndPath=href.split('://')[1].split('?')[0];if(linkedHostQuery){linkedHostAndPath+='?'+linkedHostQuery;}ev.preventDefault();window.location=window.location.protocol+'//'+linkedHostAndPath+window.location.hash;return false;}return true;});\n\n/***/ }),\n/* 408 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/** @license React v16.4.1\n * react.production.min.js\n *\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar k=__webpack_require__(137),n=__webpack_require__(211),p=__webpack_require__(212),q=__webpack_require__(213),r=\"function\"===typeof Symbol&&Symbol.for,t=r?Symbol.for(\"react.element\"):60103,u=r?Symbol.for(\"react.portal\"):60106,v=r?Symbol.for(\"react.fragment\"):60107,w=r?Symbol.for(\"react.strict_mode\"):60108,x=r?Symbol.for(\"react.profiler\"):60114,y=r?Symbol.for(\"react.provider\"):60109,z=r?Symbol.for(\"react.context\"):60110,A=r?Symbol.for(\"react.async_mode\"):60111,B=\nr?Symbol.for(\"react.forward_ref\"):60112;r&&Symbol.for(\"react.timeout\");var C=\"function\"===typeof Symbol&&Symbol.iterator;function D(a){for(var b=arguments.length-1,e=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=0;c<b;c++)e+=\"&args[]=\"+encodeURIComponent(arguments[c+1]);n(!1,\"Minified React error #\"+a+\"; visit %s for the full message or use the non-minified dev environment for full errors and additional helpful warnings. \",e)}\nvar E={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}};function F(a,b,e){this.props=a;this.context=b;this.refs=p;this.updater=e||E}F.prototype.isReactComponent={};F.prototype.setState=function(a,b){\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a?D(\"85\"):void 0;this.updater.enqueueSetState(this,a,b,\"setState\")};F.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function G(){}\nG.prototype=F.prototype;function H(a,b,e){this.props=a;this.context=b;this.refs=p;this.updater=e||E}var I=H.prototype=new G;I.constructor=H;k(I,F.prototype);I.isPureReactComponent=!0;var J={current:null},K=Object.prototype.hasOwnProperty,L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var c=void 0,d={},g=null,h=null;if(null!=b)for(c in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(g=\"\"+b.key),b)K.call(b,c)&&!L.hasOwnProperty(c)&&(d[c]=b[c]);var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){for(var l=Array(f),m=0;m<f;m++)l[m]=arguments[m+2];d.children=l}if(a&&a.defaultProps)for(c in f=a.defaultProps,f)void 0===d[c]&&(d[c]=f[c]);return{$$typeof:t,type:a,key:g,ref:h,props:d,_owner:J.current}}\nfunction N(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===t}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+(\"\"+a).replace(/[=:]/g,function(a){return b[a]})}var O=/\\/+/g,P=[];function Q(a,b,e,c){if(P.length){var d=P.pop();d.result=a;d.keyPrefix=b;d.func=e;d.context=c;d.count=0;return d}return{result:a,keyPrefix:b,func:e,context:c,count:0}}function R(a){a.result=null;a.keyPrefix=null;a.func=null;a.context=null;a.count=0;10>P.length&&P.push(a)}\nfunction S(a,b,e,c){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case t:case u:g=!0}}if(g)return e(c,a,\"\"===b?\".\"+T(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var h=0;h<a.length;h++){d=a[h];var f=b+T(d,h);g+=S(d,f,e,c)}else if(null===a||\"undefined\"===typeof a?f=null:(f=C&&a[C]||a[\"@@iterator\"],f=\"function\"===typeof f?f:null),\"function\"===typeof f)for(a=f.call(a),\nh=0;!(d=a.next()).done;)d=d.value,f=b+T(d,h++),g+=S(d,f,e,c);else\"object\"===d&&(e=\"\"+a,D(\"31\",\"[object Object]\"===e?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":e,\"\"));return g}function T(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(a.key):b.toString(36)}function U(a,b){a.func.call(a.context,b,a.count++)}\nfunction V(a,b,e){var c=a.result,d=a.keyPrefix;a=a.func.call(a.context,b,a.count++);Array.isArray(a)?W(a,c,e,q.thatReturnsArgument):null!=a&&(N(a)&&(b=d+(!a.key||b&&b.key===a.key?\"\":(\"\"+a.key).replace(O,\"$&/\")+\"/\")+e,a={$$typeof:t,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}),c.push(a))}function W(a,b,e,c,d){var g=\"\";null!=e&&(g=(\"\"+e).replace(O,\"$&/\")+\"/\");b=Q(b,g,c,d);null==a||S(a,\"\",V,b);R(b)}\nvar X={Children:{map:function(a,b,e){if(null==a)return a;var c=[];W(a,c,null,b,e);return c},forEach:function(a,b,e){if(null==a)return a;b=Q(null,null,b,e);null==a||S(a,\"\",U,b);R(b)},count:function(a){return null==a?0:S(a,\"\",q.thatReturnsNull,null)},toArray:function(a){var b=[];W(a,b,null,q.thatReturnsArgument);return b},only:function(a){N(a)?void 0:D(\"143\");return a}},createRef:function(){return{current:null}},Component:F,PureComponent:H,createContext:function(a,b){void 0===b&&(b=null);a={$$typeof:z,\n_calculateChangedBits:b,_defaultValue:a,_currentValue:a,_currentValue2:a,_changedBits:0,_changedBits2:0,Provider:null,Consumer:null};a.Provider={$$typeof:y,_context:a};return a.Consumer=a},forwardRef:function(a){return{$$typeof:B,render:a}},Fragment:v,StrictMode:w,unstable_AsyncMode:A,unstable_Profiler:x,createElement:M,cloneElement:function(a,b,e){null===a||void 0===a?D(\"267\",a):void 0;var c=void 0,d=k({},a.props),g=a.key,h=a.ref,f=a._owner;if(null!=b){void 0!==b.ref&&(h=b.ref,f=J.current);void 0!==\nb.key&&(g=\"\"+b.key);var l=void 0;a.type&&a.type.defaultProps&&(l=a.type.defaultProps);for(c in b)K.call(b,c)&&!L.hasOwnProperty(c)&&(d[c]=void 0===b[c]&&void 0!==l?l[c]:b[c])}c=arguments.length-2;if(1===c)d.children=e;else if(1<c){l=Array(c);for(var m=0;m<c;m++)l[m]=arguments[m+2];d.children=l}return{$$typeof:t,type:a.type,key:g,ref:h,props:d,_owner:f}},createFactory:function(a){var b=M.bind(null,a);b.type=a;return b},isValidElement:N,version:\"16.4.1\",__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{ReactCurrentOwner:J,\nassign:k}},Y={default:X},Z=Y&&X||Y;module.exports=Z.default?Z.default:Z;\n\n\n/***/ }),\n/* 409 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (false) {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (true) {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = __webpack_require__(410);\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n\n\n/***/ }),\n/* 410 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/** @license React v16.4.1\n * react-dom.production.min.js\n *\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\nvar aa=__webpack_require__(211),ba=__webpack_require__(138),m=__webpack_require__(411),p=__webpack_require__(137),v=__webpack_require__(213),da=__webpack_require__(412),ea=__webpack_require__(413),fa=__webpack_require__(414),ha=__webpack_require__(212);\nfunction A(a){for(var b=arguments.length-1,c=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,d=0;d<b;d++)c+=\"&args[]=\"+encodeURIComponent(arguments[d+1]);aa(!1,\"Minified React error #\"+a+\"; visit %s for the full message or use the non-minified dev environment for full errors and additional helpful warnings. \",c)}ba?void 0:A(\"227\");\nfunction ia(a,b,c,d,e,f,g,h,k){this._hasCaughtError=!1;this._caughtError=null;var n=Array.prototype.slice.call(arguments,3);try{b.apply(c,n)}catch(r){this._caughtError=r,this._hasCaughtError=!0}}\nvar B={_caughtError:null,_hasCaughtError:!1,_rethrowError:null,_hasRethrowError:!1,invokeGuardedCallback:function(a,b,c,d,e,f,g,h,k){ia.apply(B,arguments)},invokeGuardedCallbackAndCatchFirstError:function(a,b,c,d,e,f,g,h,k){B.invokeGuardedCallback.apply(this,arguments);if(B.hasCaughtError()){var n=B.clearCaughtError();B._hasRethrowError||(B._hasRethrowError=!0,B._rethrowError=n)}},rethrowCaughtError:function(){return ka.apply(B,arguments)},hasCaughtError:function(){return B._hasCaughtError},clearCaughtError:function(){if(B._hasCaughtError){var a=\nB._caughtError;B._caughtError=null;B._hasCaughtError=!1;return a}A(\"198\")}};function ka(){if(B._hasRethrowError){var a=B._rethrowError;B._rethrowError=null;B._hasRethrowError=!1;throw a;}}var la=null,ma={};\nfunction na(){if(la)for(var a in ma){var b=ma[a],c=la.indexOf(a);-1<c?void 0:A(\"96\",a);if(!oa[c]){b.extractEvents?void 0:A(\"97\",a);oa[c]=b;c=b.eventTypes;for(var d in c){var e=void 0;var f=c[d],g=b,h=d;pa.hasOwnProperty(h)?A(\"99\",h):void 0;pa[h]=f;var k=f.phasedRegistrationNames;if(k){for(e in k)k.hasOwnProperty(e)&&qa(k[e],g,h);e=!0}else f.registrationName?(qa(f.registrationName,g,h),e=!0):e=!1;e?void 0:A(\"98\",d,a)}}}}\nfunction qa(a,b,c){ra[a]?A(\"100\",a):void 0;ra[a]=b;sa[a]=b.eventTypes[c].dependencies}var oa=[],pa={},ra={},sa={};function ta(a){la?A(\"101\"):void 0;la=Array.prototype.slice.call(a);na()}function ua(a){var b=!1,c;for(c in a)if(a.hasOwnProperty(c)){var d=a[c];ma.hasOwnProperty(c)&&ma[c]===d||(ma[c]?A(\"102\",c):void 0,ma[c]=d,b=!0)}b&&na()}\nvar va={plugins:oa,eventNameDispatchConfigs:pa,registrationNameModules:ra,registrationNameDependencies:sa,possibleRegistrationNames:null,injectEventPluginOrder:ta,injectEventPluginsByName:ua},wa=null,xa=null,ya=null;function za(a,b,c,d){b=a.type||\"unknown-event\";a.currentTarget=ya(d);B.invokeGuardedCallbackAndCatchFirstError(b,c,void 0,a);a.currentTarget=null}\nfunction Aa(a,b){null==b?A(\"30\"):void 0;if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function Ba(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var Ca=null;\nfunction Da(a,b){if(a){var c=a._dispatchListeners,d=a._dispatchInstances;if(Array.isArray(c))for(var e=0;e<c.length&&!a.isPropagationStopped();e++)za(a,b,c[e],d[e]);else c&&za(a,b,c,d);a._dispatchListeners=null;a._dispatchInstances=null;a.isPersistent()||a.constructor.release(a)}}function Ea(a){return Da(a,!0)}function Fa(a){return Da(a,!1)}var Ga={injectEventPluginOrder:ta,injectEventPluginsByName:ua};\nfunction Ha(a,b){var c=a.stateNode;if(!c)return null;var d=wa(c);if(!d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;c&&\"function\"!==typeof c?A(\"231\",b,typeof c):void 0;\nreturn c}function Ia(a,b){null!==a&&(Ca=Aa(Ca,a));a=Ca;Ca=null;a&&(b?Ba(a,Ea):Ba(a,Fa),Ca?A(\"95\"):void 0,B.rethrowCaughtError())}function Ja(a,b,c,d){for(var e=null,f=0;f<oa.length;f++){var g=oa[f];g&&(g=g.extractEvents(a,b,c,d))&&(e=Aa(e,g))}Ia(e,!1)}var Ka={injection:Ga,getListener:Ha,runEventsInBatch:Ia,runExtractedEventsInBatch:Ja},La=Math.random().toString(36).slice(2),C=\"__reactInternalInstance$\"+La,Ma=\"__reactEventHandlers$\"+La;\nfunction Na(a){if(a[C])return a[C];for(;!a[C];)if(a.parentNode)a=a.parentNode;else return null;a=a[C];return 5===a.tag||6===a.tag?a:null}function Oa(a){if(5===a.tag||6===a.tag)return a.stateNode;A(\"33\")}function Pa(a){return a[Ma]||null}var Qa={precacheFiberNode:function(a,b){b[C]=a},getClosestInstanceFromNode:Na,getInstanceFromNode:function(a){a=a[C];return!a||5!==a.tag&&6!==a.tag?null:a},getNodeFromInstance:Oa,getFiberCurrentPropsFromNode:Pa,updateFiberProps:function(a,b){a[Ma]=b}};\nfunction F(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}function Ra(a,b,c){for(var d=[];a;)d.push(a),a=F(a);for(a=d.length;0<a--;)b(d[a],\"captured\",c);for(a=0;a<d.length;a++)b(d[a],\"bubbled\",c)}function Sa(a,b,c){if(b=Ha(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=Aa(c._dispatchListeners,b),c._dispatchInstances=Aa(c._dispatchInstances,a)}function Ta(a){a&&a.dispatchConfig.phasedRegistrationNames&&Ra(a._targetInst,Sa,a)}\nfunction Ua(a){if(a&&a.dispatchConfig.phasedRegistrationNames){var b=a._targetInst;b=b?F(b):null;Ra(b,Sa,a)}}function Va(a,b,c){a&&c&&c.dispatchConfig.registrationName&&(b=Ha(a,c.dispatchConfig.registrationName))&&(c._dispatchListeners=Aa(c._dispatchListeners,b),c._dispatchInstances=Aa(c._dispatchInstances,a))}function Xa(a){a&&a.dispatchConfig.registrationName&&Va(a._targetInst,null,a)}function Ya(a){Ba(a,Ta)}\nfunction Za(a,b,c,d){if(c&&d)a:{var e=c;for(var f=d,g=0,h=e;h;h=F(h))g++;h=0;for(var k=f;k;k=F(k))h++;for(;0<g-h;)e=F(e),g--;for(;0<h-g;)f=F(f),h--;for(;g--;){if(e===f||e===f.alternate)break a;e=F(e);f=F(f)}e=null}else e=null;f=e;for(e=[];c&&c!==f;){g=c.alternate;if(null!==g&&g===f)break;e.push(c);c=F(c)}for(c=[];d&&d!==f;){g=d.alternate;if(null!==g&&g===f)break;c.push(d);d=F(d)}for(d=0;d<e.length;d++)Va(e[d],\"bubbled\",a);for(a=c.length;0<a--;)Va(c[a],\"captured\",b)}\nvar $a={accumulateTwoPhaseDispatches:Ya,accumulateTwoPhaseDispatchesSkipTarget:function(a){Ba(a,Ua)},accumulateEnterLeaveDispatches:Za,accumulateDirectDispatches:function(a){Ba(a,Xa)}};function ab(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;c[\"ms\"+a]=\"MS\"+b;c[\"O\"+a]=\"o\"+b.toLowerCase();return c}\nvar bb={animationend:ab(\"Animation\",\"AnimationEnd\"),animationiteration:ab(\"Animation\",\"AnimationIteration\"),animationstart:ab(\"Animation\",\"AnimationStart\"),transitionend:ab(\"Transition\",\"TransitionEnd\")},cb={},db={};m.canUseDOM&&(db=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete bb.animationend.animation,delete bb.animationiteration.animation,delete bb.animationstart.animation),\"TransitionEvent\"in window||delete bb.transitionend.transition);\nfunction eb(a){if(cb[a])return cb[a];if(!bb[a])return a;var b=bb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in db)return cb[a]=b[c];return a}var fb=eb(\"animationend\"),gb=eb(\"animationiteration\"),hb=eb(\"animationstart\"),ib=eb(\"transitionend\"),jb=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),kb=null;\nfunction lb(){!kb&&m.canUseDOM&&(kb=\"textContent\"in document.documentElement?\"textContent\":\"innerText\");return kb}var G={_root:null,_startText:null,_fallbackText:null};function mb(){if(G._fallbackText)return G._fallbackText;var a,b=G._startText,c=b.length,d,e=nb(),f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);G._fallbackText=e.slice(a,1<d?1-d:void 0);return G._fallbackText}function nb(){return\"value\"in G._root?G._root.value:G._root[lb()]}\nvar ob=\"dispatchConfig _targetInst nativeEvent isDefaultPrevented isPropagationStopped _dispatchListeners _dispatchInstances\".split(\" \"),pb={type:null,target:null,currentTarget:v.thatReturnsNull,eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};\nfunction H(a,b,c,d){this.dispatchConfig=a;this._targetInst=b;this.nativeEvent=c;a=this.constructor.Interface;for(var e in a)a.hasOwnProperty(e)&&((b=a[e])?this[e]=b(c):\"target\"===e?this.target=d:this[e]=c[e]);this.isDefaultPrevented=(null!=c.defaultPrevented?c.defaultPrevented:!1===c.returnValue)?v.thatReturnsTrue:v.thatReturnsFalse;this.isPropagationStopped=v.thatReturnsFalse;return this}\np(H.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&(a.returnValue=!1),this.isDefaultPrevented=v.thatReturnsTrue)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=v.thatReturnsTrue)},persist:function(){this.isPersistent=v.thatReturnsTrue},isPersistent:v.thatReturnsFalse,\ndestructor:function(){var a=this.constructor.Interface,b;for(b in a)this[b]=null;for(a=0;a<ob.length;a++)this[ob[a]]=null}});H.Interface=pb;H.extend=function(a){function b(){}function c(){return d.apply(this,arguments)}var d=this;b.prototype=d.prototype;var e=new b;p(e,c.prototype);c.prototype=e;c.prototype.constructor=c;c.Interface=p({},d.Interface,a);c.extend=d.extend;qb(c);return c};qb(H);\nfunction rb(a,b,c,d){if(this.eventPool.length){var e=this.eventPool.pop();this.call(e,a,b,c,d);return e}return new this(a,b,c,d)}function sb(a){a instanceof this?void 0:A(\"223\");a.destructor();10>this.eventPool.length&&this.eventPool.push(a)}function qb(a){a.eventPool=[];a.getPooled=rb;a.release=sb}var tb=H.extend({data:null}),ub=H.extend({data:null}),vb=[9,13,27,32],wb=m.canUseDOM&&\"CompositionEvent\"in window,xb=null;m.canUseDOM&&\"documentMode\"in document&&(xb=document.documentMode);\nvar yb=m.canUseDOM&&\"TextEvent\"in window&&!xb,zb=m.canUseDOM&&(!wb||xb&&8<xb&&11>=xb),Ab=String.fromCharCode(32),Bb={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},Cb=!1;\nfunction Db(a,b){switch(a){case \"keyup\":return-1!==vb.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function Eb(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var Fb=!1;function Gb(a,b){switch(a){case \"compositionend\":return Eb(b);case \"keypress\":if(32!==b.which)return null;Cb=!0;return Ab;case \"textInput\":return a=b.data,a===Ab&&Cb?null:a;default:return null}}\nfunction Hb(a,b){if(Fb)return\"compositionend\"===a||!wb&&Db(a,b)?(a=mb(),G._root=null,G._startText=null,G._fallbackText=null,Fb=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return zb?null:b.data;default:return null}}\nvar Ib={eventTypes:Bb,extractEvents:function(a,b,c,d){var e=void 0;var f=void 0;if(wb)b:{switch(a){case \"compositionstart\":e=Bb.compositionStart;break b;case \"compositionend\":e=Bb.compositionEnd;break b;case \"compositionupdate\":e=Bb.compositionUpdate;break b}e=void 0}else Fb?Db(a,c)&&(e=Bb.compositionEnd):\"keydown\"===a&&229===c.keyCode&&(e=Bb.compositionStart);e?(zb&&(Fb||e!==Bb.compositionStart?e===Bb.compositionEnd&&Fb&&(f=mb()):(G._root=d,G._startText=nb(),Fb=!0)),e=tb.getPooled(e,b,c,d),f?e.data=\nf:(f=Eb(c),null!==f&&(e.data=f)),Ya(e),f=e):f=null;(a=yb?Gb(a,c):Hb(a,c))?(b=ub.getPooled(Bb.beforeInput,b,c,d),b.data=a,Ya(b)):b=null;return null===f?b:null===b?f:[f,b]}},Jb=null,Kb={injectFiberControlledHostComponent:function(a){Jb=a}},Lb=null,Mb=null;function Nb(a){if(a=xa(a)){Jb&&\"function\"===typeof Jb.restoreControlledState?void 0:A(\"194\");var b=wa(a.stateNode);Jb.restoreControlledState(a.stateNode,a.type,b)}}function Ob(a){Lb?Mb?Mb.push(a):Mb=[a]:Lb=a}\nfunction Pb(){return null!==Lb||null!==Mb}function Qb(){if(Lb){var a=Lb,b=Mb;Mb=Lb=null;Nb(a);if(b)for(a=0;a<b.length;a++)Nb(b[a])}}var Rb={injection:Kb,enqueueStateRestore:Ob,needsStateRestore:Pb,restoreStateIfNeeded:Qb};function Sb(a,b){return a(b)}function Tb(a,b,c){return a(b,c)}function Ub(){}var Vb=!1;function Wb(a,b){if(Vb)return a(b);Vb=!0;try{return Sb(a,b)}finally{Vb=!1,Pb()&&(Ub(),Qb())}}\nvar Xb={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Yb(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!Xb[a.type]:\"textarea\"===b?!0:!1}function Zb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}\nfunction $b(a,b){if(!m.canUseDOM||b&&!(\"addEventListener\"in document))return!1;a=\"on\"+a;b=a in document;b||(b=document.createElement(\"div\"),b.setAttribute(a,\"return;\"),b=\"function\"===typeof b[a]);return b}function ac(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction bc(a){var b=ac(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function cc(a){a._valueTracker||(a._valueTracker=bc(a))}function dc(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=ac(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}\nvar ec=ba.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,fc=\"function\"===typeof Symbol&&Symbol.for,gc=fc?Symbol.for(\"react.element\"):60103,hc=fc?Symbol.for(\"react.portal\"):60106,ic=fc?Symbol.for(\"react.fragment\"):60107,jc=fc?Symbol.for(\"react.strict_mode\"):60108,kc=fc?Symbol.for(\"react.profiler\"):60114,lc=fc?Symbol.for(\"react.provider\"):60109,mc=fc?Symbol.for(\"react.context\"):60110,pc=fc?Symbol.for(\"react.async_mode\"):60111,qc=fc?Symbol.for(\"react.forward_ref\"):60112,rc=fc?Symbol.for(\"react.timeout\"):\n60113,sc=\"function\"===typeof Symbol&&Symbol.iterator;function tc(a){if(null===a||\"undefined\"===typeof a)return null;a=sc&&a[sc]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nfunction uc(a){var b=a.type;if(\"function\"===typeof b)return b.displayName||b.name;if(\"string\"===typeof b)return b;switch(b){case pc:return\"AsyncMode\";case mc:return\"Context.Consumer\";case ic:return\"ReactFragment\";case hc:return\"ReactPortal\";case kc:return\"Profiler(\"+a.pendingProps.id+\")\";case lc:return\"Context.Provider\";case jc:return\"StrictMode\";case rc:return\"Timeout\"}if(\"object\"===typeof b&&null!==b)switch(b.$$typeof){case qc:return a=b.render.displayName||b.render.name||\"\",\"\"!==a?\"ForwardRef(\"+\na+\")\":\"ForwardRef\"}return null}function vc(a){var b=\"\";do{a:switch(a.tag){case 0:case 1:case 2:case 5:var c=a._debugOwner,d=a._debugSource;var e=uc(a);var f=null;c&&(f=uc(c));c=d;e=\"\\n in \"+(e||\"Unknown\")+(c?\" (at \"+c.fileName.replace(/^.*[\\\\\\/]/,\"\")+\":\"+c.lineNumber+\")\":f?\" (created by \"+f+\")\":\"\");break a;default:e=\"\"}b+=e;a=a.return}while(a);return b}\nvar wc=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,xc={},zc={};function Ac(a){if(zc.hasOwnProperty(a))return!0;if(xc.hasOwnProperty(a))return!1;if(wc.test(a))return zc[a]=!0;xc[a]=!0;return!1}\nfunction Bc(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}function Cc(a,b,c,d){if(null===b||\"undefined\"===typeof b||Bc(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}\nfunction I(a,b,c,d,e){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b}var J={};\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){J[a]=new I(a,0,!1,a,null)});\n[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];J[b]=new I(b,1,!1,a[1],null)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){J[a]=new I(a,2,!1,a.toLowerCase(),null)});[\"autoReverse\",\"externalResourcesRequired\",\"preserveAlpha\"].forEach(function(a){J[a]=new I(a,2,!1,a,null)});\n\"allowFullScreen async autoFocus autoPlay controls default defer disabled formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){J[a]=new I(a,3,!1,a.toLowerCase(),null)});[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){J[a]=new I(a,3,!0,a.toLowerCase(),null)});[\"capture\",\"download\"].forEach(function(a){J[a]=new I(a,4,!1,a.toLowerCase(),null)});\n[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){J[a]=new I(a,6,!1,a.toLowerCase(),null)});[\"rowSpan\",\"start\"].forEach(function(a){J[a]=new I(a,5,!1,a.toLowerCase(),null)});var Dc=/[\\-:]([a-z])/g;function Ec(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(Dc,\nEc);J[b]=new I(b,1,!1,a,null)});\"xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(Dc,Ec);J[b]=new I(b,1,!1,a,\"http://www.w3.org/1999/xlink\")});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(Dc,Ec);J[b]=new I(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\")});J.tabIndex=new I(\"tabIndex\",1,!1,\"tabindex\",null);\nfunction Fc(a,b,c,d){var e=J.hasOwnProperty(b)?J[b]:null;var f=null!==e?0===e.type:d?!1:!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1]?!1:!0;f||(Cc(b,c,e,d)&&(c=null),d||null===e?Ac(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c))))}\nfunction Gc(a,b){var c=b.checked;return p({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Hc(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Ic(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function Jc(a,b){b=b.checked;null!=b&&Fc(a,\"checked\",b,!1)}\nfunction Kc(a,b){Jc(a,b);var c=Ic(b.value);if(null!=c)if(\"number\"===b.type){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);b.hasOwnProperty(\"value\")?Lc(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&Lc(a,b.type,Ic(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction Mc(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){b=\"\"+a._wrapperState.initialValue;var d=a.value;c||b===d||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!a.defaultChecked;a.defaultChecked=!a.defaultChecked;\"\"!==c&&(a.name=c)}function Lc(a,b,c){if(\"number\"!==b||a.ownerDocument.activeElement!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}\nfunction Ic(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}var Nc={change:{phasedRegistrationNames:{bubbled:\"onChange\",captured:\"onChangeCapture\"},dependencies:\"blur change click focus input keydown keyup selectionchange\".split(\" \")}};function Oc(a,b,c){a=H.getPooled(Nc.change,a,b,c);a.type=\"change\";Ob(c);Ya(a);return a}var Pc=null,Qc=null;function Rc(a){Ia(a,!1)}function Sc(a){var b=Oa(a);if(dc(b))return a}\nfunction Tc(a,b){if(\"change\"===a)return b}var Uc=!1;m.canUseDOM&&(Uc=$b(\"input\")&&(!document.documentMode||9<document.documentMode));function Vc(){Pc&&(Pc.detachEvent(\"onpropertychange\",Wc),Qc=Pc=null)}function Wc(a){\"value\"===a.propertyName&&Sc(Qc)&&(a=Oc(Qc,a,Zb(a)),Wb(Rc,a))}function Xc(a,b,c){\"focus\"===a?(Vc(),Pc=b,Qc=c,Pc.attachEvent(\"onpropertychange\",Wc)):\"blur\"===a&&Vc()}function Yc(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return Sc(Qc)}\nfunction Zc(a,b){if(\"click\"===a)return Sc(b)}function $c(a,b){if(\"input\"===a||\"change\"===a)return Sc(b)}\nvar ad={eventTypes:Nc,_isInputEventSupported:Uc,extractEvents:function(a,b,c,d){var e=b?Oa(b):window,f=void 0,g=void 0,h=e.nodeName&&e.nodeName.toLowerCase();\"select\"===h||\"input\"===h&&\"file\"===e.type?f=Tc:Yb(e)?Uc?f=$c:(f=Yc,g=Xc):(h=e.nodeName)&&\"input\"===h.toLowerCase()&&(\"checkbox\"===e.type||\"radio\"===e.type)&&(f=Zc);if(f&&(f=f(a,b)))return Oc(f,c,d);g&&g(a,e,b);\"blur\"===a&&(a=e._wrapperState)&&a.controlled&&\"number\"===e.type&&Lc(e,\"number\",e.value)}},bd=H.extend({view:null,detail:null}),cd={Alt:\"altKey\",\nControl:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function dd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=cd[a])?!!b[a]:!1}function ed(){return dd}\nvar fd=bd.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:ed,button:null,buttons:null,relatedTarget:function(a){return a.relatedTarget||(a.fromElement===a.srcElement?a.toElement:a.fromElement)}}),gd=fd.extend({pointerId:null,width:null,height:null,pressure:null,tiltX:null,tiltY:null,pointerType:null,isPrimary:null}),hd={mouseEnter:{registrationName:\"onMouseEnter\",dependencies:[\"mouseout\",\"mouseover\"]},\nmouseLeave:{registrationName:\"onMouseLeave\",dependencies:[\"mouseout\",\"mouseover\"]},pointerEnter:{registrationName:\"onPointerEnter\",dependencies:[\"pointerout\",\"pointerover\"]},pointerLeave:{registrationName:\"onPointerLeave\",dependencies:[\"pointerout\",\"pointerover\"]}},id={eventTypes:hd,extractEvents:function(a,b,c,d){var e=\"mouseover\"===a||\"pointerover\"===a,f=\"mouseout\"===a||\"pointerout\"===a;if(e&&(c.relatedTarget||c.fromElement)||!f&&!e)return null;e=d.window===d?d:(e=d.ownerDocument)?e.defaultView||\ne.parentWindow:window;f?(f=b,b=(b=c.relatedTarget||c.toElement)?Na(b):null):f=null;if(f===b)return null;var g=void 0,h=void 0,k=void 0,n=void 0;if(\"mouseout\"===a||\"mouseover\"===a)g=fd,h=hd.mouseLeave,k=hd.mouseEnter,n=\"mouse\";else if(\"pointerout\"===a||\"pointerover\"===a)g=gd,h=hd.pointerLeave,k=hd.pointerEnter,n=\"pointer\";a=null==f?e:Oa(f);e=null==b?e:Oa(b);h=g.getPooled(h,f,c,d);h.type=n+\"leave\";h.target=a;h.relatedTarget=e;c=g.getPooled(k,b,c,d);c.type=n+\"enter\";c.target=e;c.relatedTarget=a;Za(h,\nc,f,b);return[h,c]}};function jd(a){var b=a;if(a.alternate)for(;b.return;)b=b.return;else{if(0!==(b.effectTag&2))return 1;for(;b.return;)if(b=b.return,0!==(b.effectTag&2))return 1}return 3===b.tag?2:3}function kd(a){2!==jd(a)?A(\"188\"):void 0}\nfunction ld(a){var b=a.alternate;if(!b)return b=jd(a),3===b?A(\"188\"):void 0,1===b?null:a;for(var c=a,d=b;;){var e=c.return,f=e?e.alternate:null;if(!e||!f)break;if(e.child===f.child){for(var g=e.child;g;){if(g===c)return kd(e),a;if(g===d)return kd(e),b;g=g.sibling}A(\"188\")}if(c.return!==d.return)c=e,d=f;else{g=!1;for(var h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===c){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}g?\nvoid 0:A(\"189\")}}c.alternate!==d?A(\"190\"):void 0}3!==c.tag?A(\"188\"):void 0;return c.stateNode.current===c?a:b}function md(a){a=ld(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction nd(a){a=ld(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child&&4!==b.tag)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}var od=H.extend({animationName:null,elapsedTime:null,pseudoElement:null}),pd=H.extend({clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),qd=bd.extend({relatedTarget:null});\nfunction rd(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}\nvar sd={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},td={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",\n116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},ud=bd.extend({key:function(a){if(a.key){var b=sd[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=rd(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?td[a.keyCode]||\"Unidentified\":\"\"},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:ed,charCode:function(a){return\"keypress\"===\na.type?rd(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===a.type?rd(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),vd=fd.extend({dataTransfer:null}),wd=bd.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:ed}),xd=H.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),yd=fd.extend({deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in\na?-a.wheelDeltaX:0},deltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:null,deltaMode:null}),zd=[[\"abort\",\"abort\"],[fb,\"animationEnd\"],[gb,\"animationIteration\"],[hb,\"animationStart\"],[\"canplay\",\"canPlay\"],[\"canplaythrough\",\"canPlayThrough\"],[\"drag\",\"drag\"],[\"dragenter\",\"dragEnter\"],[\"dragexit\",\"dragExit\"],[\"dragleave\",\"dragLeave\"],[\"dragover\",\"dragOver\"],[\"durationchange\",\"durationChange\"],[\"emptied\",\"emptied\"],[\"encrypted\",\"encrypted\"],\n[\"ended\",\"ended\"],[\"error\",\"error\"],[\"gotpointercapture\",\"gotPointerCapture\"],[\"load\",\"load\"],[\"loadeddata\",\"loadedData\"],[\"loadedmetadata\",\"loadedMetadata\"],[\"loadstart\",\"loadStart\"],[\"lostpointercapture\",\"lostPointerCapture\"],[\"mousemove\",\"mouseMove\"],[\"mouseout\",\"mouseOut\"],[\"mouseover\",\"mouseOver\"],[\"playing\",\"playing\"],[\"pointermove\",\"pointerMove\"],[\"pointerout\",\"pointerOut\"],[\"pointerover\",\"pointerOver\"],[\"progress\",\"progress\"],[\"scroll\",\"scroll\"],[\"seeking\",\"seeking\"],[\"stalled\",\"stalled\"],\n[\"suspend\",\"suspend\"],[\"timeupdate\",\"timeUpdate\"],[\"toggle\",\"toggle\"],[\"touchmove\",\"touchMove\"],[ib,\"transitionEnd\"],[\"waiting\",\"waiting\"],[\"wheel\",\"wheel\"]],Ad={},Bd={};function Cd(a,b){var c=a[0];a=a[1];var d=\"on\"+(a[0].toUpperCase()+a.slice(1));b={phasedRegistrationNames:{bubbled:d,captured:d+\"Capture\"},dependencies:[c],isInteractive:b};Ad[a]=b;Bd[c]=b}\n[[\"blur\",\"blur\"],[\"cancel\",\"cancel\"],[\"click\",\"click\"],[\"close\",\"close\"],[\"contextmenu\",\"contextMenu\"],[\"copy\",\"copy\"],[\"cut\",\"cut\"],[\"dblclick\",\"doubleClick\"],[\"dragend\",\"dragEnd\"],[\"dragstart\",\"dragStart\"],[\"drop\",\"drop\"],[\"focus\",\"focus\"],[\"input\",\"input\"],[\"invalid\",\"invalid\"],[\"keydown\",\"keyDown\"],[\"keypress\",\"keyPress\"],[\"keyup\",\"keyUp\"],[\"mousedown\",\"mouseDown\"],[\"mouseup\",\"mouseUp\"],[\"paste\",\"paste\"],[\"pause\",\"pause\"],[\"play\",\"play\"],[\"pointercancel\",\"pointerCancel\"],[\"pointerdown\",\"pointerDown\"],\n[\"pointerup\",\"pointerUp\"],[\"ratechange\",\"rateChange\"],[\"reset\",\"reset\"],[\"seeked\",\"seeked\"],[\"submit\",\"submit\"],[\"touchcancel\",\"touchCancel\"],[\"touchend\",\"touchEnd\"],[\"touchstart\",\"touchStart\"],[\"volumechange\",\"volumeChange\"]].forEach(function(a){Cd(a,!0)});zd.forEach(function(a){Cd(a,!1)});\nvar Dd={eventTypes:Ad,isInteractiveTopLevelEventType:function(a){a=Bd[a];return void 0!==a&&!0===a.isInteractive},extractEvents:function(a,b,c,d){var e=Bd[a];if(!e)return null;switch(a){case \"keypress\":if(0===rd(c))return null;case \"keydown\":case \"keyup\":a=ud;break;case \"blur\":case \"focus\":a=qd;break;case \"click\":if(2===c.button)return null;case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":a=fd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":a=\nvd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":a=wd;break;case fb:case gb:case hb:a=od;break;case ib:a=xd;break;case \"scroll\":a=bd;break;case \"wheel\":a=yd;break;case \"copy\":case \"cut\":case \"paste\":a=pd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":a=gd;break;default:a=H}b=a.getPooled(e,b,c,d);Ya(b);return b}},Ed=Dd.isInteractiveTopLevelEventType,\nFd=[];function Gd(a){var b=a.targetInst;do{if(!b){a.ancestors.push(b);break}var c;for(c=b;c.return;)c=c.return;c=3!==c.tag?null:c.stateNode.containerInfo;if(!c)break;a.ancestors.push(b);b=Na(c)}while(b);for(c=0;c<a.ancestors.length;c++)b=a.ancestors[c],Ja(a.topLevelType,b,a.nativeEvent,Zb(a.nativeEvent))}var Hd=!0;function Id(a){Hd=!!a}function K(a,b){if(!b)return null;var c=(Ed(a)?Kd:Ld).bind(null,a);b.addEventListener(a,c,!1)}\nfunction Md(a,b){if(!b)return null;var c=(Ed(a)?Kd:Ld).bind(null,a);b.addEventListener(a,c,!0)}function Kd(a,b){Tb(Ld,a,b)}function Ld(a,b){if(Hd){var c=Zb(b);c=Na(c);null===c||\"number\"!==typeof c.tag||2===jd(c)||(c=null);if(Fd.length){var d=Fd.pop();d.topLevelType=a;d.nativeEvent=b;d.targetInst=c;a=d}else a={topLevelType:a,nativeEvent:b,targetInst:c,ancestors:[]};try{Wb(Gd,a)}finally{a.topLevelType=null,a.nativeEvent=null,a.targetInst=null,a.ancestors.length=0,10>Fd.length&&Fd.push(a)}}}\nvar Nd={get _enabled(){return Hd},setEnabled:Id,isEnabled:function(){return Hd},trapBubbledEvent:K,trapCapturedEvent:Md,dispatchEvent:Ld},Od={},Pd=0,Qd=\"_reactListenersID\"+(\"\"+Math.random()).slice(2);function Rd(a){Object.prototype.hasOwnProperty.call(a,Qd)||(a[Qd]=Pd++,Od[a[Qd]]={});return Od[a[Qd]]}function Sd(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Td(a,b){var c=Sd(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Sd(c)}}function Ud(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nvar Vd=m.canUseDOM&&\"documentMode\"in document&&11>=document.documentMode,Wd={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},Xd=null,Yd=null,Zd=null,$d=!1;\nfunction ae(a,b){if($d||null==Xd||Xd!==da())return null;var c=Xd;\"selectionStart\"in c&&Ud(c)?c={start:c.selectionStart,end:c.selectionEnd}:window.getSelection?(c=window.getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset}):c=void 0;return Zd&&ea(Zd,c)?null:(Zd=c,a=H.getPooled(Wd.select,Yd,a,b),a.type=\"select\",a.target=Xd,Ya(a),a)}\nvar be={eventTypes:Wd,extractEvents:function(a,b,c,d){var e=d.window===d?d.document:9===d.nodeType?d:d.ownerDocument,f;if(!(f=!e)){a:{e=Rd(e);f=sa.onSelect;for(var g=0;g<f.length;g++){var h=f[g];if(!e.hasOwnProperty(h)||!e[h]){e=!1;break a}}e=!0}f=!e}if(f)return null;e=b?Oa(b):window;switch(a){case \"focus\":if(Yb(e)||\"true\"===e.contentEditable)Xd=e,Yd=b,Zd=null;break;case \"blur\":Zd=Yd=Xd=null;break;case \"mousedown\":$d=!0;break;case \"contextmenu\":case \"mouseup\":return $d=!1,ae(c,d);case \"selectionchange\":if(Vd)break;\ncase \"keydown\":case \"keyup\":return ae(c,d)}return null}};Ga.injectEventPluginOrder(\"ResponderEventPlugin SimpleEventPlugin TapEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin\".split(\" \"));wa=Qa.getFiberCurrentPropsFromNode;xa=Qa.getInstanceFromNode;ya=Qa.getNodeFromInstance;Ga.injectEventPluginsByName({SimpleEventPlugin:Dd,EnterLeaveEventPlugin:id,ChangeEventPlugin:ad,SelectEventPlugin:be,BeforeInputEventPlugin:Ib});\nvar ce=\"function\"===typeof requestAnimationFrame?requestAnimationFrame:void 0,de=Date,ee=setTimeout,fe=clearTimeout,ge=void 0;if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var he=performance;ge=function(){return he.now()}}else ge=function(){return de.now()};var ie=void 0,je=void 0;\nif(m.canUseDOM){var ke=\"function\"===typeof ce?ce:function(){A(\"276\")},L=null,le=null,me=-1,ne=!1,oe=!1,pe=0,qe=33,re=33,se={didTimeout:!1,timeRemaining:function(){var a=pe-ge();return 0<a?a:0}},ue=function(a,b){var c=a.scheduledCallback,d=!1;try{c(b),d=!0}finally{je(a),d||(ne=!0,window.postMessage(te,\"*\"))}},te=\"__reactIdleCallback$\"+Math.random().toString(36).slice(2);window.addEventListener(\"message\",function(a){if(a.source===window&&a.data===te&&(ne=!1,null!==L)){if(null!==L){var b=ge();if(!(-1===\nme||me>b)){a=-1;for(var c=[],d=L;null!==d;){var e=d.timeoutTime;-1!==e&&e<=b?c.push(d):-1!==e&&(-1===a||e<a)&&(a=e);d=d.next}if(0<c.length)for(se.didTimeout=!0,b=0,d=c.length;b<d;b++)ue(c[b],se);me=a}}for(a=ge();0<pe-a&&null!==L;)a=L,se.didTimeout=!1,ue(a,se),a=ge();null===L||oe||(oe=!0,ke(ve))}},!1);var ve=function(a){oe=!1;var b=a-pe+re;b<re&&qe<re?(8>b&&(b=8),re=b<qe?qe:b):qe=b;pe=a+re;ne||(ne=!0,window.postMessage(te,\"*\"))};ie=function(a,b){var c=-1;null!=b&&\"number\"===typeof b.timeout&&(c=ge()+\nb.timeout);if(-1===me||-1!==c&&c<me)me=c;a={scheduledCallback:a,timeoutTime:c,prev:null,next:null};null===L?L=a:(b=a.prev=le,null!==b&&(b.next=a));le=a;oe||(oe=!0,ke(ve));return a};je=function(a){if(null!==a.prev||L===a){var b=a.next,c=a.prev;a.next=null;a.prev=null;null!==b?null!==c?(c.next=b,b.prev=c):(b.prev=null,L=b):null!==c?(c.next=null,le=c):le=L=null}}}else{var we=new Map;ie=function(a){var b={scheduledCallback:a,timeoutTime:0,next:null,prev:null},c=ee(function(){a({timeRemaining:function(){return Infinity},\ndidTimeout:!1})});we.set(a,c);return b};je=function(a){var b=we.get(a.scheduledCallback);we.delete(a);fe(b)}}function xe(a){var b=\"\";ba.Children.forEach(a,function(a){null==a||\"string\"!==typeof a&&\"number\"!==typeof a||(b+=a)});return b}function ye(a,b){a=p({children:void 0},b);if(b=xe(b.children))a.children=b;return a}\nfunction ze(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+c;b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction Ae(a,b){var c=b.value;a._wrapperState={initialValue:null!=c?c:b.defaultValue,wasMultiple:!!b.multiple}}function Be(a,b){null!=b.dangerouslySetInnerHTML?A(\"91\"):void 0;return p({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function Ce(a,b){var c=b.value;null==c&&(c=b.defaultValue,b=b.children,null!=b&&(null!=c?A(\"92\"):void 0,Array.isArray(b)&&(1>=b.length?void 0:A(\"93\"),b=b[0]),c=\"\"+b),null==c&&(c=\"\"));a._wrapperState={initialValue:\"\"+c}}\nfunction De(a,b){var c=b.value;null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&(a.defaultValue=c));null!=b.defaultValue&&(a.defaultValue=b.defaultValue)}function Ee(a){var b=a.textContent;b===a._wrapperState.initialValue&&(a.value=b)}var Fe={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Ge(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function He(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Ge(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Ie=void 0,Je=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Fe.svg||\"innerHTML\"in a)a.innerHTML=b;else{Ie=Ie||document.createElement(\"div\");Ie.innerHTML=\"<svg>\"+b+\"</svg>\";for(b=Ie.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Ke(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar Le={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,\nstopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Me=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(Le).forEach(function(a){Me.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);Le[b]=Le[a]})});\nfunction Ne(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\");var e=c;var f=b[c];e=null==f||\"boolean\"===typeof f||\"\"===f?\"\":d||\"number\"!==typeof f||0===f||Le.hasOwnProperty(e)&&Le[e]?(\"\"+f).trim():f+\"px\";\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var Oe=p({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction Pe(a,b,c){b&&(Oe[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML?A(\"137\",a,c()):void 0),null!=b.dangerouslySetInnerHTML&&(null!=b.children?A(\"60\"):void 0,\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML?void 0:A(\"61\")),null!=b.style&&\"object\"!==typeof b.style?A(\"62\",c()):void 0)}\nfunction Qe(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var Re=v.thatReturns(\"\");\nfunction Se(a,b){a=9===a.nodeType||11===a.nodeType?a:a.ownerDocument;var c=Rd(a);b=sa[b];for(var d=0;d<b.length;d++){var e=b[d];if(!c.hasOwnProperty(e)||!c[e]){switch(e){case \"scroll\":Md(\"scroll\",a);break;case \"focus\":case \"blur\":Md(\"focus\",a);Md(\"blur\",a);c.blur=!0;c.focus=!0;break;case \"cancel\":case \"close\":$b(e,!0)&&Md(e,a);break;case \"invalid\":case \"submit\":case \"reset\":break;default:-1===jb.indexOf(e)&&K(e,a)}c[e]=!0}}}\nfunction Te(a,b,c,d){c=9===c.nodeType?c:c.ownerDocument;d===Fe.html&&(d=Ge(a));d===Fe.html?\"script\"===a?(a=c.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):a=\"string\"===typeof b.is?c.createElement(a,{is:b.is}):c.createElement(a):a=c.createElementNS(d,a);return a}function Ue(a,b){return(9===b.nodeType?b:b.ownerDocument).createTextNode(a)}\nfunction Ve(a,b,c,d){var e=Qe(b,c);switch(b){case \"iframe\":case \"object\":K(\"load\",a);var f=c;break;case \"video\":case \"audio\":for(f=0;f<jb.length;f++)K(jb[f],a);f=c;break;case \"source\":K(\"error\",a);f=c;break;case \"img\":case \"image\":case \"link\":K(\"error\",a);K(\"load\",a);f=c;break;case \"form\":K(\"reset\",a);K(\"submit\",a);f=c;break;case \"details\":K(\"toggle\",a);f=c;break;case \"input\":Hc(a,c);f=Gc(a,c);K(\"invalid\",a);Se(d,\"onChange\");break;case \"option\":f=ye(a,c);break;case \"select\":Ae(a,c);f=p({},c,{value:void 0});\nK(\"invalid\",a);Se(d,\"onChange\");break;case \"textarea\":Ce(a,c);f=Be(a,c);K(\"invalid\",a);Se(d,\"onChange\");break;default:f=c}Pe(b,f,Re);var g=f,h;for(h in g)if(g.hasOwnProperty(h)){var k=g[h];\"style\"===h?Ne(a,k,Re):\"dangerouslySetInnerHTML\"===h?(k=k?k.__html:void 0,null!=k&&Je(a,k)):\"children\"===h?\"string\"===typeof k?(\"textarea\"!==b||\"\"!==k)&&Ke(a,k):\"number\"===typeof k&&Ke(a,\"\"+k):\"suppressContentEditableWarning\"!==h&&\"suppressHydrationWarning\"!==h&&\"autoFocus\"!==h&&(ra.hasOwnProperty(h)?null!=k&&Se(d,\nh):null!=k&&Fc(a,h,k,e))}switch(b){case \"input\":cc(a);Mc(a,c,!1);break;case \"textarea\":cc(a);Ee(a,c);break;case \"option\":null!=c.value&&a.setAttribute(\"value\",c.value);break;case \"select\":a.multiple=!!c.multiple;b=c.value;null!=b?ze(a,!!c.multiple,b,!1):null!=c.defaultValue&&ze(a,!!c.multiple,c.defaultValue,!0);break;default:\"function\"===typeof f.onClick&&(a.onclick=v)}}\nfunction We(a,b,c,d,e){var f=null;switch(b){case \"input\":c=Gc(a,c);d=Gc(a,d);f=[];break;case \"option\":c=ye(a,c);d=ye(a,d);f=[];break;case \"select\":c=p({},c,{value:void 0});d=p({},d,{value:void 0});f=[];break;case \"textarea\":c=Be(a,c);d=Be(a,d);f=[];break;default:\"function\"!==typeof c.onClick&&\"function\"===typeof d.onClick&&(a.onclick=v)}Pe(b,d,Re);b=a=void 0;var g=null;for(a in c)if(!d.hasOwnProperty(a)&&c.hasOwnProperty(a)&&null!=c[a])if(\"style\"===a){var h=c[a];for(b in h)h.hasOwnProperty(b)&&(g||\n(g={}),g[b]=\"\")}else\"dangerouslySetInnerHTML\"!==a&&\"children\"!==a&&\"suppressContentEditableWarning\"!==a&&\"suppressHydrationWarning\"!==a&&\"autoFocus\"!==a&&(ra.hasOwnProperty(a)?f||(f=[]):(f=f||[]).push(a,null));for(a in d){var k=d[a];h=null!=c?c[a]:void 0;if(d.hasOwnProperty(a)&&k!==h&&(null!=k||null!=h))if(\"style\"===a)if(h){for(b in h)!h.hasOwnProperty(b)||k&&k.hasOwnProperty(b)||(g||(g={}),g[b]=\"\");for(b in k)k.hasOwnProperty(b)&&h[b]!==k[b]&&(g||(g={}),g[b]=k[b])}else g||(f||(f=[]),f.push(a,g)),\ng=k;else\"dangerouslySetInnerHTML\"===a?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(a,\"\"+k)):\"children\"===a?h===k||\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(a,\"\"+k):\"suppressContentEditableWarning\"!==a&&\"suppressHydrationWarning\"!==a&&(ra.hasOwnProperty(a)?(null!=k&&Se(e,a),f||h===k||(f=[])):(f=f||[]).push(a,k))}g&&(f=f||[]).push(\"style\",g);return f}\nfunction Xe(a,b,c,d,e){\"input\"===c&&\"radio\"===e.type&&null!=e.name&&Jc(a,e);Qe(c,d);d=Qe(c,e);for(var f=0;f<b.length;f+=2){var g=b[f],h=b[f+1];\"style\"===g?Ne(a,h,Re):\"dangerouslySetInnerHTML\"===g?Je(a,h):\"children\"===g?Ke(a,h):Fc(a,g,h,d)}switch(c){case \"input\":Kc(a,e);break;case \"textarea\":De(a,e);break;case \"select\":a._wrapperState.initialValue=void 0,b=a._wrapperState.wasMultiple,a._wrapperState.wasMultiple=!!e.multiple,c=e.value,null!=c?ze(a,!!e.multiple,c,!1):b!==!!e.multiple&&(null!=e.defaultValue?\nze(a,!!e.multiple,e.defaultValue,!0):ze(a,!!e.multiple,e.multiple?[]:\"\",!1))}}\nfunction Ye(a,b,c,d,e){switch(b){case \"iframe\":case \"object\":K(\"load\",a);break;case \"video\":case \"audio\":for(d=0;d<jb.length;d++)K(jb[d],a);break;case \"source\":K(\"error\",a);break;case \"img\":case \"image\":case \"link\":K(\"error\",a);K(\"load\",a);break;case \"form\":K(\"reset\",a);K(\"submit\",a);break;case \"details\":K(\"toggle\",a);break;case \"input\":Hc(a,c);K(\"invalid\",a);Se(e,\"onChange\");break;case \"select\":Ae(a,c);K(\"invalid\",a);Se(e,\"onChange\");break;case \"textarea\":Ce(a,c),K(\"invalid\",a),Se(e,\"onChange\")}Pe(b,\nc,Re);d=null;for(var f in c)if(c.hasOwnProperty(f)){var g=c[f];\"children\"===f?\"string\"===typeof g?a.textContent!==g&&(d=[\"children\",g]):\"number\"===typeof g&&a.textContent!==\"\"+g&&(d=[\"children\",\"\"+g]):ra.hasOwnProperty(f)&&null!=g&&Se(e,f)}switch(b){case \"input\":cc(a);Mc(a,c,!0);break;case \"textarea\":cc(a);Ee(a,c);break;case \"select\":case \"option\":break;default:\"function\"===typeof c.onClick&&(a.onclick=v)}return d}function Ze(a,b){return a.nodeValue!==b}\nvar $e={createElement:Te,createTextNode:Ue,setInitialProperties:Ve,diffProperties:We,updateProperties:Xe,diffHydratedProperties:Ye,diffHydratedText:Ze,warnForUnmatchedText:function(){},warnForDeletedHydratableElement:function(){},warnForDeletedHydratableText:function(){},warnForInsertedHydratedElement:function(){},warnForInsertedHydratedText:function(){},restoreControlledState:function(a,b,c){switch(b){case \"input\":Kc(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;\nc=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Pa(d);e?void 0:A(\"90\");dc(d);Kc(d,e)}}}break;case \"textarea\":De(a,c);break;case \"select\":b=c.value,null!=b&&ze(a,!!c.multiple,b,!1)}}},af=null,bf=null;function cf(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction df(a,b){return\"textarea\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&\"string\"===typeof b.dangerouslySetInnerHTML.__html}var ef=ge,ff=ie,gf=je;function hf(a){for(a=a.nextSibling;a&&1!==a.nodeType&&3!==a.nodeType;)a=a.nextSibling;return a}function jf(a){for(a=a.firstChild;a&&1!==a.nodeType&&3!==a.nodeType;)a=a.nextSibling;return a}new Set;var kf=[],lf=-1;function mf(a){return{current:a}}\nfunction M(a){0>lf||(a.current=kf[lf],kf[lf]=null,lf--)}function N(a,b){lf++;kf[lf]=a.current;a.current=b}var nf=mf(ha),O=mf(!1),of=ha;function pf(a){return qf(a)?of:nf.current}\nfunction rf(a,b){var c=a.type.contextTypes;if(!c)return ha;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function qf(a){return 2===a.tag&&null!=a.type.childContextTypes}function sf(a){qf(a)&&(M(O,a),M(nf,a))}function tf(a){M(O,a);M(nf,a)}\nfunction uf(a,b,c){nf.current!==ha?A(\"168\"):void 0;N(nf,b,a);N(O,c,a)}function vf(a,b){var c=a.stateNode,d=a.type.childContextTypes;if(\"function\"!==typeof c.getChildContext)return b;c=c.getChildContext();for(var e in c)e in d?void 0:A(\"108\",uc(a)||\"Unknown\",e);return p({},b,c)}function wf(a){if(!qf(a))return!1;var b=a.stateNode;b=b&&b.__reactInternalMemoizedMergedChildContext||ha;of=nf.current;N(nf,b,a);N(O,O.current,a);return!0}\nfunction xf(a,b){var c=a.stateNode;c?void 0:A(\"169\");if(b){var d=vf(a,of);c.__reactInternalMemoizedMergedChildContext=d;M(O,a);M(nf,a);N(nf,d,a)}else M(O,a);N(O,b,a)}\nfunction yf(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=null;this.index=0;this.ref=null;this.pendingProps=b;this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.effectTag=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.expirationTime=0;this.alternate=null}\nfunction zf(a,b,c){var d=a.alternate;null===d?(d=new yf(a.tag,b,a.key,a.mode),d.type=a.type,d.stateNode=a.stateNode,d.alternate=a,a.alternate=d):(d.pendingProps=b,d.effectTag=0,d.nextEffect=null,d.firstEffect=null,d.lastEffect=null);d.expirationTime=c;d.child=a.child;d.memoizedProps=a.memoizedProps;d.memoizedState=a.memoizedState;d.updateQueue=a.updateQueue;d.sibling=a.sibling;d.index=a.index;d.ref=a.ref;return d}\nfunction Af(a,b,c){var d=a.type,e=a.key;a=a.props;if(\"function\"===typeof d)var f=d.prototype&&d.prototype.isReactComponent?2:0;else if(\"string\"===typeof d)f=5;else switch(d){case ic:return Bf(a.children,b,c,e);case pc:f=11;b|=3;break;case jc:f=11;b|=2;break;case kc:return d=new yf(15,a,e,b|4),d.type=kc,d.expirationTime=c,d;case rc:f=16;b|=2;break;default:a:{switch(\"object\"===typeof d&&null!==d?d.$$typeof:null){case lc:f=13;break a;case mc:f=12;break a;case qc:f=14;break a;default:A(\"130\",null==d?\nd:typeof d,\"\")}f=void 0}}b=new yf(f,a,e,b);b.type=d;b.expirationTime=c;return b}function Bf(a,b,c,d){a=new yf(10,a,d,b);a.expirationTime=c;return a}function Cf(a,b,c){a=new yf(6,a,null,b);a.expirationTime=c;return a}function Df(a,b,c){b=new yf(4,null!==a.children?a.children:[],a.key,b);b.expirationTime=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction Ef(a,b,c){b=new yf(3,null,null,b?3:0);a={current:b,containerInfo:a,pendingChildren:null,earliestPendingTime:0,latestPendingTime:0,earliestSuspendedTime:0,latestSuspendedTime:0,latestPingedTime:0,pendingCommitExpirationTime:0,finishedWork:null,context:null,pendingContext:null,hydrate:c,remainingExpirationTime:0,firstBatch:null,nextScheduledRoot:null};return b.stateNode=a}var Ff=null,Gf=null;function Hf(a){return function(b){try{return a(b)}catch(c){}}}\nfunction If(a){if(\"undefined\"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var b=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(b.isDisabled||!b.supportsFiber)return!0;try{var c=b.inject(a);Ff=Hf(function(a){return b.onCommitFiberRoot(c,a)});Gf=Hf(function(a){return b.onCommitFiberUnmount(c,a)})}catch(d){}return!0}function Jf(a){\"function\"===typeof Ff&&Ff(a)}function Kf(a){\"function\"===typeof Gf&&Gf(a)}var Lf=!1;\nfunction Mf(a){return{expirationTime:0,baseState:a,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Nf(a){return{expirationTime:a.expirationTime,baseState:a.baseState,firstUpdate:a.firstUpdate,lastUpdate:a.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}\nfunction Of(a){return{expirationTime:a,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function Pf(a,b,c){null===a.lastUpdate?a.firstUpdate=a.lastUpdate=b:(a.lastUpdate.next=b,a.lastUpdate=b);if(0===a.expirationTime||a.expirationTime>c)a.expirationTime=c}\nfunction Qf(a,b,c){var d=a.alternate;if(null===d){var e=a.updateQueue;var f=null;null===e&&(e=a.updateQueue=Mf(a.memoizedState))}else e=a.updateQueue,f=d.updateQueue,null===e?null===f?(e=a.updateQueue=Mf(a.memoizedState),f=d.updateQueue=Mf(d.memoizedState)):e=a.updateQueue=Nf(f):null===f&&(f=d.updateQueue=Nf(e));null===f||e===f?Pf(e,b,c):null===e.lastUpdate||null===f.lastUpdate?(Pf(e,b,c),Pf(f,b,c)):(Pf(e,b,c),f.lastUpdate=b)}\nfunction Rf(a,b,c){var d=a.updateQueue;d=null===d?a.updateQueue=Mf(a.memoizedState):Sf(a,d);null===d.lastCapturedUpdate?d.firstCapturedUpdate=d.lastCapturedUpdate=b:(d.lastCapturedUpdate.next=b,d.lastCapturedUpdate=b);if(0===d.expirationTime||d.expirationTime>c)d.expirationTime=c}function Sf(a,b){var c=a.alternate;null!==c&&b===c.updateQueue&&(b=a.updateQueue=Nf(b));return b}\nfunction Tf(a,b,c,d,e,f){switch(c.tag){case 1:return a=c.payload,\"function\"===typeof a?a.call(f,d,e):a;case 3:a.effectTag=a.effectTag&-1025|64;case 0:a=c.payload;e=\"function\"===typeof a?a.call(f,d,e):a;if(null===e||void 0===e)break;return p({},d,e);case 2:Lf=!0}return d}\nfunction Uf(a,b,c,d,e){Lf=!1;if(!(0===b.expirationTime||b.expirationTime>e)){b=Sf(a,b);for(var f=b.baseState,g=null,h=0,k=b.firstUpdate,n=f;null!==k;){var r=k.expirationTime;if(r>e){if(null===g&&(g=k,f=n),0===h||h>r)h=r}else n=Tf(a,b,k,n,c,d),null!==k.callback&&(a.effectTag|=32,k.nextEffect=null,null===b.lastEffect?b.firstEffect=b.lastEffect=k:(b.lastEffect.nextEffect=k,b.lastEffect=k));k=k.next}r=null;for(k=b.firstCapturedUpdate;null!==k;){var w=k.expirationTime;if(w>e){if(null===r&&(r=k,null===\ng&&(f=n)),0===h||h>w)h=w}else n=Tf(a,b,k,n,c,d),null!==k.callback&&(a.effectTag|=32,k.nextEffect=null,null===b.lastCapturedEffect?b.firstCapturedEffect=b.lastCapturedEffect=k:(b.lastCapturedEffect.nextEffect=k,b.lastCapturedEffect=k));k=k.next}null===g&&(b.lastUpdate=null);null===r?b.lastCapturedUpdate=null:a.effectTag|=32;null===g&&null===r&&(f=n);b.baseState=f;b.firstUpdate=g;b.firstCapturedUpdate=r;b.expirationTime=h;a.memoizedState=n}}\nfunction Vf(a,b){\"function\"!==typeof a?A(\"191\",a):void 0;a.call(b)}\nfunction Wf(a,b,c){null!==b.firstCapturedUpdate&&(null!==b.lastUpdate&&(b.lastUpdate.next=b.firstCapturedUpdate,b.lastUpdate=b.lastCapturedUpdate),b.firstCapturedUpdate=b.lastCapturedUpdate=null);a=b.firstEffect;for(b.firstEffect=b.lastEffect=null;null!==a;){var d=a.callback;null!==d&&(a.callback=null,Vf(d,c));a=a.nextEffect}a=b.firstCapturedEffect;for(b.firstCapturedEffect=b.lastCapturedEffect=null;null!==a;)b=a.callback,null!==b&&(a.callback=null,Vf(b,c)),a=a.nextEffect}\nfunction Xf(a,b){return{value:a,source:b,stack:vc(b)}}var Yf=mf(null),Zf=mf(null),$f=mf(0);function ag(a){var b=a.type._context;N($f,b._changedBits,a);N(Zf,b._currentValue,a);N(Yf,a,a);b._currentValue=a.pendingProps.value;b._changedBits=a.stateNode}function bg(a){var b=$f.current,c=Zf.current;M(Yf,a);M(Zf,a);M($f,a);a=a.type._context;a._currentValue=c;a._changedBits=b}var cg={},dg=mf(cg),eg=mf(cg),fg=mf(cg);function gg(a){a===cg?A(\"174\"):void 0;return a}\nfunction ig(a,b){N(fg,b,a);N(eg,a,a);N(dg,cg,a);var c=b.nodeType;switch(c){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:He(null,\"\");break;default:c=8===c?b.parentNode:b,b=c.namespaceURI||null,c=c.tagName,b=He(b,c)}M(dg,a);N(dg,b,a)}function jg(a){M(dg,a);M(eg,a);M(fg,a)}function kg(a){eg.current===a&&(M(dg,a),M(eg,a))}function lg(a,b,c){var d=a.memoizedState;b=b(c,d);d=null===b||void 0===b?d:p({},d,b);a.memoizedState=d;a=a.updateQueue;null!==a&&0===a.expirationTime&&(a.baseState=d)}\nvar pg={isMounted:function(a){return(a=a._reactInternalFiber)?2===jd(a):!1},enqueueSetState:function(a,b,c){a=a._reactInternalFiber;var d=mg();d=ng(d,a);var e=Of(d);e.payload=b;void 0!==c&&null!==c&&(e.callback=c);Qf(a,e,d);og(a,d)},enqueueReplaceState:function(a,b,c){a=a._reactInternalFiber;var d=mg();d=ng(d,a);var e=Of(d);e.tag=1;e.payload=b;void 0!==c&&null!==c&&(e.callback=c);Qf(a,e,d);og(a,d)},enqueueForceUpdate:function(a,b){a=a._reactInternalFiber;var c=mg();c=ng(c,a);var d=Of(c);d.tag=2;void 0!==\nb&&null!==b&&(d.callback=b);Qf(a,d,c);og(a,c)}};function qg(a,b,c,d,e,f){var g=a.stateNode;a=a.type;return\"function\"===typeof g.shouldComponentUpdate?g.shouldComponentUpdate(c,e,f):a.prototype&&a.prototype.isPureReactComponent?!ea(b,c)||!ea(d,e):!0}\nfunction rg(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&pg.enqueueReplaceState(b,b.state,null)}\nfunction sg(a,b){var c=a.type,d=a.stateNode,e=a.pendingProps,f=pf(a);d.props=e;d.state=a.memoizedState;d.refs=ha;d.context=rf(a,f);f=a.updateQueue;null!==f&&(Uf(a,f,e,d,b),d.state=a.memoizedState);f=a.type.getDerivedStateFromProps;\"function\"===typeof f&&(lg(a,f,e),d.state=a.memoizedState);\"function\"===typeof c.getDerivedStateFromProps||\"function\"===typeof d.getSnapshotBeforeUpdate||\"function\"!==typeof d.UNSAFE_componentWillMount&&\"function\"!==typeof d.componentWillMount||(c=d.state,\"function\"===typeof d.componentWillMount&&\nd.componentWillMount(),\"function\"===typeof d.UNSAFE_componentWillMount&&d.UNSAFE_componentWillMount(),c!==d.state&&pg.enqueueReplaceState(d,d.state,null),f=a.updateQueue,null!==f&&(Uf(a,f,e,d,b),d.state=a.memoizedState));\"function\"===typeof d.componentDidMount&&(a.effectTag|=4)}var tg=Array.isArray;\nfunction ug(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;var d=void 0;c&&(2!==c.tag?A(\"110\"):void 0,d=c.stateNode);d?void 0:A(\"147\",a);var e=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===e)return b.ref;b=function(a){var b=d.refs===ha?d.refs={}:d.refs;null===a?delete b[e]:b[e]=a};b._stringRef=e;return b}\"string\"!==typeof a?A(\"148\"):void 0;c._owner?void 0:A(\"254\",a)}return a}\nfunction vg(a,b){\"textarea\"!==a.type&&A(\"31\",\"[object Object]\"===Object.prototype.toString.call(b)?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":b,\"\")}\nfunction wg(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.effectTag=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b,c){a=zf(a,b,c);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.effectTag=\n2,c):d;b.effectTag=2;return c}function g(b){a&&null===b.alternate&&(b.effectTag=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Cf(c,a.mode,d),b.return=a,b;b=e(b,c,d);b.return=a;return b}function k(a,b,c,d){if(null!==b&&b.type===c.type)return d=e(b,c.props,d),d.ref=ug(a,b,c),d.return=a,d;d=Af(c,a.mode,d);d.ref=ug(a,b,c);d.return=a;return d}function n(a,b,c,d){if(null===b||4!==b.tag||b.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=\nDf(c,a.mode,d),b.return=a,b;b=e(b,c.children||[],d);b.return=a;return b}function r(a,b,c,d,f){if(null===b||10!==b.tag)return b=Bf(c,a.mode,d,f),b.return=a,b;b=e(b,c,d);b.return=a;return b}function w(a,b,c){if(\"string\"===typeof b||\"number\"===typeof b)return b=Cf(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case gc:return c=Af(b,a.mode,c),c.ref=ug(a,null,b),c.return=a,c;case hc:return b=Df(b,a.mode,c),b.return=a,b}if(tg(b)||tc(b))return b=Bf(b,a.mode,c,null),b.return=\na,b;vg(a,b)}return null}function P(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case gc:return c.key===e?c.type===ic?r(a,b,c.props.children,d,e):k(a,b,c,d):null;case hc:return c.key===e?n(a,b,c,d):null}if(tg(c)||tc(c))return null!==e?null:r(a,b,c,d,null);vg(a,c)}return null}function nc(a,b,c,d,e){if(\"string\"===typeof d||\"number\"===typeof d)return a=a.get(c)||null,h(b,a,\"\"+d,e);\nif(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case gc:return a=a.get(null===d.key?c:d.key)||null,d.type===ic?r(b,a,d.props.children,e,d.key):k(b,a,d,e);case hc:return a=a.get(null===d.key?c:d.key)||null,n(b,a,d,e)}if(tg(d)||tc(d))return a=a.get(c)||null,r(b,a,d,e,null);vg(b,d)}return null}function Jd(e,g,h,k){for(var u=null,x=null,t=g,q=g=0,n=null;null!==t&&q<h.length;q++){t.index>q?(n=t,t=null):n=t.sibling;var l=P(e,t,h[q],k);if(null===l){null===t&&(t=n);break}a&&t&&null===l.alternate&&b(e,\nt);g=f(l,g,q);null===x?u=l:x.sibling=l;x=l;t=n}if(q===h.length)return c(e,t),u;if(null===t){for(;q<h.length;q++)if(t=w(e,h[q],k))g=f(t,g,q),null===x?u=t:x.sibling=t,x=t;return u}for(t=d(e,t);q<h.length;q++)if(n=nc(t,e,q,h[q],k))a&&null!==n.alternate&&t.delete(null===n.key?q:n.key),g=f(n,g,q),null===x?u=n:x.sibling=n,x=n;a&&t.forEach(function(a){return b(e,a)});return u}function E(e,g,h,k){var u=tc(h);\"function\"!==typeof u?A(\"150\"):void 0;h=u.call(h);null==h?A(\"151\"):void 0;for(var t=u=null,n=g,x=\ng=0,y=null,l=h.next();null!==n&&!l.done;x++,l=h.next()){n.index>x?(y=n,n=null):y=n.sibling;var r=P(e,n,l.value,k);if(null===r){n||(n=y);break}a&&n&&null===r.alternate&&b(e,n);g=f(r,g,x);null===t?u=r:t.sibling=r;t=r;n=y}if(l.done)return c(e,n),u;if(null===n){for(;!l.done;x++,l=h.next())l=w(e,l.value,k),null!==l&&(g=f(l,g,x),null===t?u=l:t.sibling=l,t=l);return u}for(n=d(e,n);!l.done;x++,l=h.next())l=nc(n,e,x,l.value,k),null!==l&&(a&&null!==l.alternate&&n.delete(null===l.key?x:l.key),g=f(l,g,x),null===\nt?u=l:t.sibling=l,t=l);a&&n.forEach(function(a){return b(e,a)});return u}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ic&&null===f.key;k&&(f=f.props.children);var n=\"object\"===typeof f&&null!==f;if(n)switch(f.$$typeof){case gc:a:{n=f.key;for(k=d;null!==k;){if(k.key===n)if(10===k.tag?f.type===ic:k.type===f.type){c(a,k.sibling);d=e(k,f.type===ic?f.props.children:f.props,h);d.ref=ug(a,k,f);d.return=a;a=d;break a}else{c(a,k);break}else b(a,k);k=k.sibling}f.type===ic?(d=Bf(f.props.children,\na.mode,h,f.key),d.return=a,a=d):(h=Af(f,a.mode,h),h.ref=ug(a,d,f),h.return=a,a=h)}return g(a);case hc:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[],h);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Df(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f,h),d.return=\na,a=d):(c(a,d),d=Cf(f,a.mode,h),d.return=a,a=d),g(a);if(tg(f))return Jd(a,d,f,h);if(tc(f))return E(a,d,f,h);n&&vg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 2:case 1:h=a.type,A(\"152\",h.displayName||h.name||\"Component\")}return c(a,d)}}var xg=wg(!0),yg=wg(!1),zg=null,Ag=null,Bg=!1;function Cg(a,b){var c=new yf(5,null,null,0);c.type=\"DELETED\";c.stateNode=b;c.return=a;c.effectTag=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}\nfunction Dg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;default:return!1}}function Eg(a){if(Bg){var b=Ag;if(b){var c=b;if(!Dg(a,b)){b=hf(c);if(!b||!Dg(a,b)){a.effectTag|=2;Bg=!1;zg=a;return}Cg(zg,c)}zg=a;Ag=jf(b)}else a.effectTag|=2,Bg=!1,zg=a}}\nfunction Fg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag;)a=a.return;zg=a}function Gg(a){if(a!==zg)return!1;if(!Bg)return Fg(a),Bg=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!df(b,a.memoizedProps))for(b=Ag;b;)Cg(a,b),b=hf(b);Fg(a);Ag=zg?hf(a.stateNode):null;return!0}function Hg(){Ag=zg=null;Bg=!1}function Q(a,b,c){Ig(a,b,c,b.expirationTime)}function Ig(a,b,c,d){b.child=null===a?yg(b,null,c,d):xg(b,a.child,c,d)}\nfunction Jg(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.effectTag|=128}function Kg(a,b,c,d,e){Jg(a,b);var f=0!==(b.effectTag&64);if(!c&&!f)return d&&xf(b,!1),R(a,b);c=b.stateNode;ec.current=b;var g=f?null:c.render();b.effectTag|=1;f&&(Ig(a,b,null,e),b.child=null);Ig(a,b,g,e);b.memoizedState=c.state;b.memoizedProps=c.props;d&&xf(b,!0);return b.child}\nfunction Lg(a){var b=a.stateNode;b.pendingContext?uf(a,b.pendingContext,b.pendingContext!==b.context):b.context&&uf(a,b.context,!1);ig(a,b.containerInfo)}\nfunction Mg(a,b,c,d){var e=a.child;null!==e&&(e.return=a);for(;null!==e;){switch(e.tag){case 12:var f=e.stateNode|0;if(e.type===b&&0!==(f&c)){for(f=e;null!==f;){var g=f.alternate;if(0===f.expirationTime||f.expirationTime>d)f.expirationTime=d,null!==g&&(0===g.expirationTime||g.expirationTime>d)&&(g.expirationTime=d);else if(null!==g&&(0===g.expirationTime||g.expirationTime>d))g.expirationTime=d;else break;f=f.return}f=null}else f=e.child;break;case 13:f=e.type===a.type?null:e.child;break;default:f=\ne.child}if(null!==f)f.return=e;else for(f=e;null!==f;){if(f===a){f=null;break}e=f.sibling;if(null!==e){e.return=f.return;f=e;break}f=f.return}e=f}}\nfunction Qg(a,b,c){var d=b.type._context,e=b.pendingProps,f=b.memoizedProps,g=!0;if(O.current)g=!1;else if(f===e)return b.stateNode=0,ag(b),R(a,b);var h=e.value;b.memoizedProps=e;if(null===f)h=1073741823;else if(f.value===e.value){if(f.children===e.children&&g)return b.stateNode=0,ag(b),R(a,b);h=0}else{var k=f.value;if(k===h&&(0!==k||1/k===1/h)||k!==k&&h!==h){if(f.children===e.children&&g)return b.stateNode=0,ag(b),R(a,b);h=0}else if(h=\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(k,\nh):1073741823,h|=0,0===h){if(f.children===e.children&&g)return b.stateNode=0,ag(b),R(a,b)}else Mg(b,d,h,c)}b.stateNode=h;ag(b);Q(a,b,e.children);return b.child}function R(a,b){null!==a&&b.child!==a.child?A(\"153\"):void 0;if(null!==b.child){a=b.child;var c=zf(a,a.pendingProps,a.expirationTime);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=zf(a,a.pendingProps,a.expirationTime),c.return=b;c.sibling=null}return b.child}\nfunction Rg(a,b,c){if(0===b.expirationTime||b.expirationTime>c){switch(b.tag){case 3:Lg(b);break;case 2:wf(b);break;case 4:ig(b,b.stateNode.containerInfo);break;case 13:ag(b)}return null}switch(b.tag){case 0:null!==a?A(\"155\"):void 0;var d=b.type,e=b.pendingProps,f=pf(b);f=rf(b,f);d=d(e,f);b.effectTag|=1;\"object\"===typeof d&&null!==d&&\"function\"===typeof d.render&&void 0===d.$$typeof?(f=b.type,b.tag=2,b.memoizedState=null!==d.state&&void 0!==d.state?d.state:null,f=f.getDerivedStateFromProps,\"function\"===\ntypeof f&&lg(b,f,e),e=wf(b),d.updater=pg,b.stateNode=d,d._reactInternalFiber=b,sg(b,c),a=Kg(a,b,!0,e,c)):(b.tag=1,Q(a,b,d),b.memoizedProps=e,a=b.child);return a;case 1:return e=b.type,c=b.pendingProps,O.current||b.memoizedProps!==c?(d=pf(b),d=rf(b,d),e=e(c,d),b.effectTag|=1,Q(a,b,e),b.memoizedProps=c,a=b.child):a=R(a,b),a;case 2:e=wf(b);if(null===a)if(null===b.stateNode){var g=b.pendingProps,h=b.type;d=pf(b);var k=2===b.tag&&null!=b.type.contextTypes;f=k?rf(b,d):ha;g=new h(g,f);b.memoizedState=null!==\ng.state&&void 0!==g.state?g.state:null;g.updater=pg;b.stateNode=g;g._reactInternalFiber=b;k&&(k=b.stateNode,k.__reactInternalMemoizedUnmaskedChildContext=d,k.__reactInternalMemoizedMaskedChildContext=f);sg(b,c);d=!0}else{h=b.type;d=b.stateNode;k=b.memoizedProps;f=b.pendingProps;d.props=k;var n=d.context;g=pf(b);g=rf(b,g);var r=h.getDerivedStateFromProps;(h=\"function\"===typeof r||\"function\"===typeof d.getSnapshotBeforeUpdate)||\"function\"!==typeof d.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof d.componentWillReceiveProps||\n(k!==f||n!==g)&&rg(b,d,f,g);Lf=!1;var w=b.memoizedState;n=d.state=w;var P=b.updateQueue;null!==P&&(Uf(b,P,f,d,c),n=b.memoizedState);k!==f||w!==n||O.current||Lf?(\"function\"===typeof r&&(lg(b,r,f),n=b.memoizedState),(k=Lf||qg(b,k,f,w,n,g))?(h||\"function\"!==typeof d.UNSAFE_componentWillMount&&\"function\"!==typeof d.componentWillMount||(\"function\"===typeof d.componentWillMount&&d.componentWillMount(),\"function\"===typeof d.UNSAFE_componentWillMount&&d.UNSAFE_componentWillMount()),\"function\"===typeof d.componentDidMount&&\n(b.effectTag|=4)):(\"function\"===typeof d.componentDidMount&&(b.effectTag|=4),b.memoizedProps=f,b.memoizedState=n),d.props=f,d.state=n,d.context=g,d=k):(\"function\"===typeof d.componentDidMount&&(b.effectTag|=4),d=!1)}else h=b.type,d=b.stateNode,f=b.memoizedProps,k=b.pendingProps,d.props=f,n=d.context,g=pf(b),g=rf(b,g),r=h.getDerivedStateFromProps,(h=\"function\"===typeof r||\"function\"===typeof d.getSnapshotBeforeUpdate)||\"function\"!==typeof d.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof d.componentWillReceiveProps||\n(f!==k||n!==g)&&rg(b,d,k,g),Lf=!1,n=b.memoizedState,w=d.state=n,P=b.updateQueue,null!==P&&(Uf(b,P,k,d,c),w=b.memoizedState),f!==k||n!==w||O.current||Lf?(\"function\"===typeof r&&(lg(b,r,k),w=b.memoizedState),(r=Lf||qg(b,f,k,n,w,g))?(h||\"function\"!==typeof d.UNSAFE_componentWillUpdate&&\"function\"!==typeof d.componentWillUpdate||(\"function\"===typeof d.componentWillUpdate&&d.componentWillUpdate(k,w,g),\"function\"===typeof d.UNSAFE_componentWillUpdate&&d.UNSAFE_componentWillUpdate(k,w,g)),\"function\"===typeof d.componentDidUpdate&&\n(b.effectTag|=4),\"function\"===typeof d.getSnapshotBeforeUpdate&&(b.effectTag|=256)):(\"function\"!==typeof d.componentDidUpdate||f===a.memoizedProps&&n===a.memoizedState||(b.effectTag|=4),\"function\"!==typeof d.getSnapshotBeforeUpdate||f===a.memoizedProps&&n===a.memoizedState||(b.effectTag|=256),b.memoizedProps=k,b.memoizedState=w),d.props=k,d.state=w,d.context=g,d=r):(\"function\"!==typeof d.componentDidUpdate||f===a.memoizedProps&&n===a.memoizedState||(b.effectTag|=4),\"function\"!==typeof d.getSnapshotBeforeUpdate||\nf===a.memoizedProps&&n===a.memoizedState||(b.effectTag|=256),d=!1);return Kg(a,b,d,e,c);case 3:Lg(b);e=b.updateQueue;if(null!==e)if(d=b.memoizedState,d=null!==d?d.element:null,Uf(b,e,b.pendingProps,null,c),e=b.memoizedState.element,e===d)Hg(),a=R(a,b);else{d=b.stateNode;if(d=(null===a||null===a.child)&&d.hydrate)Ag=jf(b.stateNode.containerInfo),zg=b,d=Bg=!0;d?(b.effectTag|=2,b.child=yg(b,null,e,c)):(Hg(),Q(a,b,e));a=b.child}else Hg(),a=R(a,b);return a;case 5:a:{gg(fg.current);e=gg(dg.current);d=He(e,\nb.type);e!==d&&(N(eg,b,b),N(dg,d,b));null===a&&Eg(b);e=b.type;k=b.memoizedProps;d=b.pendingProps;f=null!==a?a.memoizedProps:null;if(!O.current&&k===d){if(k=b.mode&1&&!!d.hidden)b.expirationTime=1073741823;if(!k||1073741823!==c){a=R(a,b);break a}}k=d.children;df(e,d)?k=null:f&&df(e,f)&&(b.effectTag|=16);Jg(a,b);1073741823!==c&&b.mode&1&&d.hidden?(b.expirationTime=1073741823,b.memoizedProps=d,a=null):(Q(a,b,k),b.memoizedProps=d,a=b.child)}return a;case 6:return null===a&&Eg(b),b.memoizedProps=b.pendingProps,\nnull;case 16:return null;case 4:return ig(b,b.stateNode.containerInfo),e=b.pendingProps,O.current||b.memoizedProps!==e?(null===a?b.child=xg(b,null,e,c):Q(a,b,e),b.memoizedProps=e,a=b.child):a=R(a,b),a;case 14:return e=b.type.render,c=b.pendingProps,d=b.ref,O.current||b.memoizedProps!==c||d!==(null!==a?a.ref:null)?(e=e(c,d),Q(a,b,e),b.memoizedProps=c,a=b.child):a=R(a,b),a;case 10:return c=b.pendingProps,O.current||b.memoizedProps!==c?(Q(a,b,c),b.memoizedProps=c,a=b.child):a=R(a,b),a;case 11:return c=\nb.pendingProps.children,O.current||null!==c&&b.memoizedProps!==c?(Q(a,b,c),b.memoizedProps=c,a=b.child):a=R(a,b),a;case 15:return c=b.pendingProps,b.memoizedProps===c?a=R(a,b):(Q(a,b,c.children),b.memoizedProps=c,a=b.child),a;case 13:return Qg(a,b,c);case 12:a:if(d=b.type,f=b.pendingProps,k=b.memoizedProps,e=d._currentValue,g=d._changedBits,O.current||0!==g||k!==f){b.memoizedProps=f;h=f.unstable_observedBits;if(void 0===h||null===h)h=1073741823;b.stateNode=h;if(0!==(g&h))Mg(b,d,g,c);else if(k===f){a=\nR(a,b);break a}c=f.children;c=c(e);b.effectTag|=1;Q(a,b,c);a=b.child}else a=R(a,b);return a;default:A(\"156\")}}function Sg(a){a.effectTag|=4}var Tg=void 0,Ug=void 0,Vg=void 0;Tg=function(){};Ug=function(a,b,c){(b.updateQueue=c)&&Sg(b)};Vg=function(a,b,c,d){c!==d&&Sg(b)};\nfunction Wg(a,b){var c=b.pendingProps;switch(b.tag){case 1:return null;case 2:return sf(b),null;case 3:jg(b);tf(b);var d=b.stateNode;d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)Gg(b),b.effectTag&=-3;Tg(b);return null;case 5:kg(b);d=gg(fg.current);var e=b.type;if(null!==a&&null!=b.stateNode){var f=a.memoizedProps,g=b.stateNode,h=gg(dg.current);g=We(g,e,f,c,d);Ug(a,b,g,e,f,c,d,h);a.ref!==b.ref&&(b.effectTag|=128)}else{if(!c)return null===b.stateNode?\nA(\"166\"):void 0,null;a=gg(dg.current);if(Gg(b))c=b.stateNode,e=b.type,f=b.memoizedProps,c[C]=b,c[Ma]=f,d=Ye(c,e,f,a,d),b.updateQueue=d,null!==d&&Sg(b);else{a=Te(e,c,d,a);a[C]=b;a[Ma]=c;a:for(f=b.child;null!==f;){if(5===f.tag||6===f.tag)a.appendChild(f.stateNode);else if(4!==f.tag&&null!==f.child){f.child.return=f;f=f.child;continue}if(f===b)break;for(;null===f.sibling;){if(null===f.return||f.return===b)break a;f=f.return}f.sibling.return=f.return;f=f.sibling}Ve(a,e,c,d);cf(e,c)&&Sg(b);b.stateNode=\na}null!==b.ref&&(b.effectTag|=128)}return null;case 6:if(a&&null!=b.stateNode)Vg(a,b,a.memoizedProps,c);else{if(\"string\"!==typeof c)return null===b.stateNode?A(\"166\"):void 0,null;d=gg(fg.current);gg(dg.current);Gg(b)?(d=b.stateNode,c=b.memoizedProps,d[C]=b,Ze(d,c)&&Sg(b)):(d=Ue(c,d),d[C]=b,b.stateNode=d)}return null;case 14:return null;case 16:return null;case 10:return null;case 11:return null;case 15:return null;case 4:return jg(b),Tg(b),null;case 13:return bg(b),null;case 12:return null;case 0:A(\"167\");\ndefault:A(\"156\")}}function Xg(a,b){var c=b.source;null===b.stack&&null!==c&&vc(c);null!==c&&uc(c);b=b.value;null!==a&&2===a.tag&&uc(a);try{b&&b.suppressReactErrorLogging||console.error(b)}catch(d){d&&d.suppressReactErrorLogging||console.error(d)}}function Yg(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Zg(a,c)}else b.current=null}\nfunction $g(a){\"function\"===typeof Kf&&Kf(a);switch(a.tag){case 2:Yg(a);var b=a.stateNode;if(\"function\"===typeof b.componentWillUnmount)try{b.props=a.memoizedProps,b.state=a.memoizedState,b.componentWillUnmount()}catch(c){Zg(a,c)}break;case 5:Yg(a);break;case 4:ah(a)}}function bh(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction ch(a){a:{for(var b=a.return;null!==b;){if(bh(b)){var c=b;break a}b=b.return}A(\"160\");c=void 0}var d=b=void 0;switch(c.tag){case 5:b=c.stateNode;d=!1;break;case 3:b=c.stateNode.containerInfo;d=!0;break;case 4:b=c.stateNode.containerInfo;d=!0;break;default:A(\"161\")}c.effectTag&16&&(Ke(b,\"\"),c.effectTag&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||bh(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag;){if(c.effectTag&2)continue b;\nif(null===c.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.effectTag&2)){c=c.stateNode;break a}}for(var e=a;;){if(5===e.tag||6===e.tag)if(c)if(d){var f=b,g=e.stateNode,h=c;8===f.nodeType?f.parentNode.insertBefore(g,h):f.insertBefore(g,h)}else b.insertBefore(e.stateNode,c);else d?(f=b,g=e.stateNode,8===f.nodeType?f.parentNode.insertBefore(g,f):f.appendChild(g)):b.appendChild(e.stateNode);else if(4!==e.tag&&null!==e.child){e.child.return=e;e=e.child;continue}if(e===a)break;for(;null===\ne.sibling;){if(null===e.return||e.return===a)return;e=e.return}e.sibling.return=e.return;e=e.sibling}}\nfunction ah(a){for(var b=a,c=!1,d=void 0,e=void 0;;){if(!c){c=b.return;a:for(;;){null===c?A(\"160\"):void 0;switch(c.tag){case 5:d=c.stateNode;e=!1;break a;case 3:d=c.stateNode.containerInfo;e=!0;break a;case 4:d=c.stateNode.containerInfo;e=!0;break a}c=c.return}c=!0}if(5===b.tag||6===b.tag){a:for(var f=b,g=f;;)if($g(g),null!==g.child&&4!==g.tag)g.child.return=g,g=g.child;else{if(g===f)break;for(;null===g.sibling;){if(null===g.return||g.return===f)break a;g=g.return}g.sibling.return=g.return;g=g.sibling}e?\n(f=d,g=b.stateNode,8===f.nodeType?f.parentNode.removeChild(g):f.removeChild(g)):d.removeChild(b.stateNode)}else if(4===b.tag?d=b.stateNode.containerInfo:$g(b),null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return;b=b.return;4===b.tag&&(c=!1)}b.sibling.return=b.return;b=b.sibling}}\nfunction dh(a,b){switch(b.tag){case 2:break;case 5:var c=b.stateNode;if(null!=c){var d=b.memoizedProps;a=null!==a?a.memoizedProps:d;var e=b.type,f=b.updateQueue;b.updateQueue=null;null!==f&&(c[Ma]=d,Xe(c,f,e,a,d))}break;case 6:null===b.stateNode?A(\"162\"):void 0;b.stateNode.nodeValue=b.memoizedProps;break;case 3:break;case 15:break;case 16:break;default:A(\"163\")}}function eh(a,b,c){c=Of(c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){fh(d);Xg(a,b)};return c}\nfunction gh(a,b,c){c=Of(c);c.tag=3;var d=a.stateNode;null!==d&&\"function\"===typeof d.componentDidCatch&&(c.callback=function(){null===hh?hh=new Set([this]):hh.add(this);var c=b.value,d=b.stack;Xg(a,b);this.componentDidCatch(c,{componentStack:null!==d?d:\"\"})});return c}\nfunction ih(a,b,c,d,e,f){c.effectTag|=512;c.firstEffect=c.lastEffect=null;d=Xf(d,c);a=b;do{switch(a.tag){case 3:a.effectTag|=1024;d=eh(a,d,f);Rf(a,d,f);return;case 2:if(b=d,c=a.stateNode,0===(a.effectTag&64)&&null!==c&&\"function\"===typeof c.componentDidCatch&&(null===hh||!hh.has(c))){a.effectTag|=1024;d=gh(a,b,f);Rf(a,d,f);return}}a=a.return}while(null!==a)}\nfunction jh(a){switch(a.tag){case 2:sf(a);var b=a.effectTag;return b&1024?(a.effectTag=b&-1025|64,a):null;case 3:return jg(a),tf(a),b=a.effectTag,b&1024?(a.effectTag=b&-1025|64,a):null;case 5:return kg(a),null;case 16:return b=a.effectTag,b&1024?(a.effectTag=b&-1025|64,a):null;case 4:return jg(a),null;case 13:return bg(a),null;default:return null}}var kh=ef(),lh=2,mh=kh,nh=0,oh=0,ph=!1,S=null,qh=null,T=0,rh=-1,sh=!1,U=null,th=!1,uh=!1,hh=null;\nfunction vh(){if(null!==S)for(var a=S.return;null!==a;){var b=a;switch(b.tag){case 2:sf(b);break;case 3:jg(b);tf(b);break;case 5:kg(b);break;case 4:jg(b);break;case 13:bg(b)}a=a.return}qh=null;T=0;rh=-1;sh=!1;S=null;uh=!1}\nfunction wh(a){for(;;){var b=a.alternate,c=a.return,d=a.sibling;if(0===(a.effectTag&512)){b=Wg(b,a,T);var e=a;if(1073741823===T||1073741823!==e.expirationTime){var f=0;switch(e.tag){case 3:case 2:var g=e.updateQueue;null!==g&&(f=g.expirationTime)}for(g=e.child;null!==g;)0!==g.expirationTime&&(0===f||f>g.expirationTime)&&(f=g.expirationTime),g=g.sibling;e.expirationTime=f}if(null!==b)return b;null!==c&&0===(c.effectTag&512)&&(null===c.firstEffect&&(c.firstEffect=a.firstEffect),null!==a.lastEffect&&\n(null!==c.lastEffect&&(c.lastEffect.nextEffect=a.firstEffect),c.lastEffect=a.lastEffect),1<a.effectTag&&(null!==c.lastEffect?c.lastEffect.nextEffect=a:c.firstEffect=a,c.lastEffect=a));if(null!==d)return d;if(null!==c)a=c;else{uh=!0;break}}else{a=jh(a,sh,T);if(null!==a)return a.effectTag&=511,a;null!==c&&(c.firstEffect=c.lastEffect=null,c.effectTag|=512);if(null!==d)return d;if(null!==c)a=c;else break}}return null}\nfunction xh(a){var b=Rg(a.alternate,a,T);null===b&&(b=wh(a));ec.current=null;return b}\nfunction yh(a,b,c){ph?A(\"243\"):void 0;ph=!0;if(b!==T||a!==qh||null===S)vh(),qh=a,T=b,rh=-1,S=zf(qh.current,null,T),a.pendingCommitExpirationTime=0;var d=!1;sh=!c||T<=lh;do{try{if(c)for(;null!==S&&!zh();)S=xh(S);else for(;null!==S;)S=xh(S)}catch(f){if(null===S)d=!0,fh(f);else{null===S?A(\"271\"):void 0;c=S;var e=c.return;if(null===e){d=!0;fh(f);break}ih(a,e,c,f,sh,T,mh);S=wh(c)}}break}while(1);ph=!1;if(d)return null;if(null===S){if(uh)return a.pendingCommitExpirationTime=b,a.current.alternate;sh?A(\"262\"):\nvoid 0;0<=rh&&setTimeout(function(){var b=a.current.expirationTime;0!==b&&(0===a.remainingExpirationTime||a.remainingExpirationTime<b)&&Ah(a,b)},rh);Bh(a.current.expirationTime)}return null}\nfunction Zg(a,b){var c;a:{ph&&!th?A(\"263\"):void 0;for(c=a.return;null!==c;){switch(c.tag){case 2:var d=c.stateNode;if(\"function\"===typeof c.type.getDerivedStateFromCatch||\"function\"===typeof d.componentDidCatch&&(null===hh||!hh.has(d))){a=Xf(b,a);a=gh(c,a,1);Qf(c,a,1);og(c,1);c=void 0;break a}break;case 3:a=Xf(b,a);a=eh(c,a,1);Qf(c,a,1);og(c,1);c=void 0;break a}c=c.return}3===a.tag&&(c=Xf(b,a),c=eh(a,c,1),Qf(a,c,1),og(a,1));c=void 0}return c}\nfunction Ch(){var a=2+25*(((mg()-2+500)/25|0)+1);a<=nh&&(a=nh+1);return nh=a}function ng(a,b){a=0!==oh?oh:ph?th?1:T:b.mode&1?Dh?2+10*(((a-2+15)/10|0)+1):2+25*(((a-2+500)/25|0)+1):1;Dh&&(0===Eh||a>Eh)&&(Eh=a);return a}\nfunction og(a,b){for(;null!==a;){if(0===a.expirationTime||a.expirationTime>b)a.expirationTime=b;null!==a.alternate&&(0===a.alternate.expirationTime||a.alternate.expirationTime>b)&&(a.alternate.expirationTime=b);if(null===a.return)if(3===a.tag){var c=a.stateNode;!ph&&0!==T&&b<T&&vh();var d=c.current.expirationTime;ph&&!th&&qh===c||Ah(c,d);Fh>Gh&&A(\"185\")}else break;a=a.return}}function mg(){mh=ef()-kh;return lh=(mh/10|0)+2}\nfunction Hh(a){var b=oh;oh=2+25*(((mg()-2+500)/25|0)+1);try{return a()}finally{oh=b}}function Ih(a,b,c,d,e){var f=oh;oh=1;try{return a(b,c,d,e)}finally{oh=f}}var Jh=null,V=null,Kh=0,Lh=void 0,W=!1,X=null,Y=0,Eh=0,Mh=!1,Nh=!1,Oh=null,Ph=null,Z=!1,Qh=!1,Dh=!1,Rh=null,Gh=1E3,Fh=0,Sh=1;function Th(a){if(0!==Kh){if(a>Kh)return;null!==Lh&&gf(Lh)}var b=ef()-kh;Kh=a;Lh=ff(Uh,{timeout:10*(a-2)-b})}\nfunction Ah(a,b){if(null===a.nextScheduledRoot)a.remainingExpirationTime=b,null===V?(Jh=V=a,a.nextScheduledRoot=a):(V=V.nextScheduledRoot=a,V.nextScheduledRoot=Jh);else{var c=a.remainingExpirationTime;if(0===c||b<c)a.remainingExpirationTime=b}W||(Z?Qh&&(X=a,Y=1,Vh(a,1,!1)):1===b?Wh():Th(b))}\nfunction Xh(){var a=0,b=null;if(null!==V)for(var c=V,d=Jh;null!==d;){var e=d.remainingExpirationTime;if(0===e){null===c||null===V?A(\"244\"):void 0;if(d===d.nextScheduledRoot){Jh=V=d.nextScheduledRoot=null;break}else if(d===Jh)Jh=e=d.nextScheduledRoot,V.nextScheduledRoot=e,d.nextScheduledRoot=null;else if(d===V){V=c;V.nextScheduledRoot=Jh;d.nextScheduledRoot=null;break}else c.nextScheduledRoot=d.nextScheduledRoot,d.nextScheduledRoot=null;d=c.nextScheduledRoot}else{if(0===a||e<a)a=e,b=d;if(d===V)break;\nc=d;d=d.nextScheduledRoot}}c=X;null!==c&&c===b&&1===a?Fh++:Fh=0;X=b;Y=a}function Uh(a){Yh(0,!0,a)}function Wh(){Yh(1,!1,null)}function Yh(a,b,c){Ph=c;Xh();if(b)for(;null!==X&&0!==Y&&(0===a||a>=Y)&&(!Mh||mg()>=Y);)mg(),Vh(X,Y,!Mh),Xh();else for(;null!==X&&0!==Y&&(0===a||a>=Y);)Vh(X,Y,!1),Xh();null!==Ph&&(Kh=0,Lh=null);0!==Y&&Th(Y);Ph=null;Mh=!1;Zh()}function $h(a,b){W?A(\"253\"):void 0;X=a;Y=b;Vh(a,b,!1);Wh();Zh()}\nfunction Zh(){Fh=0;if(null!==Rh){var a=Rh;Rh=null;for(var b=0;b<a.length;b++){var c=a[b];try{c._onComplete()}catch(d){Nh||(Nh=!0,Oh=d)}}}if(Nh)throw a=Oh,Oh=null,Nh=!1,a;}function Vh(a,b,c){W?A(\"245\"):void 0;W=!0;c?(c=a.finishedWork,null!==c?ai(a,c,b):(c=yh(a,b,!0),null!==c&&(zh()?a.finishedWork=c:ai(a,c,b)))):(c=a.finishedWork,null!==c?ai(a,c,b):(c=yh(a,b,!1),null!==c&&ai(a,c,b)));W=!1}\nfunction ai(a,b,c){var d=a.firstBatch;if(null!==d&&d._expirationTime<=c&&(null===Rh?Rh=[d]:Rh.push(d),d._defer)){a.finishedWork=b;a.remainingExpirationTime=0;return}a.finishedWork=null;th=ph=!0;c=b.stateNode;c.current===b?A(\"177\"):void 0;d=c.pendingCommitExpirationTime;0===d?A(\"261\"):void 0;c.pendingCommitExpirationTime=0;mg();ec.current=null;if(1<b.effectTag)if(null!==b.lastEffect){b.lastEffect.nextEffect=b;var e=b.firstEffect}else e=b;else e=b.firstEffect;af=Hd;var f=da();if(Ud(f)){if(\"selectionStart\"in\nf)var g={start:f.selectionStart,end:f.selectionEnd};else a:{var h=window.getSelection&&window.getSelection();if(h&&0!==h.rangeCount){g=h.anchorNode;var k=h.anchorOffset,n=h.focusNode;h=h.focusOffset;try{g.nodeType,n.nodeType}catch(Wa){g=null;break a}var r=0,w=-1,P=-1,nc=0,Jd=0,E=f,t=null;b:for(;;){for(var x;;){E!==g||0!==k&&3!==E.nodeType||(w=r+k);E!==n||0!==h&&3!==E.nodeType||(P=r+h);3===E.nodeType&&(r+=E.nodeValue.length);if(null===(x=E.firstChild))break;t=E;E=x}for(;;){if(E===f)break b;t===g&&\n++nc===k&&(w=r);t===n&&++Jd===h&&(P=r);if(null!==(x=E.nextSibling))break;E=t;t=E.parentNode}E=x}g=-1===w||-1===P?null:{start:w,end:P}}else g=null}g=g||{start:0,end:0}}else g=null;bf={focusedElem:f,selectionRange:g};Id(!1);for(U=e;null!==U;){f=!1;g=void 0;try{for(;null!==U;){if(U.effectTag&256){var u=U.alternate;k=U;switch(k.tag){case 2:if(k.effectTag&256&&null!==u){var y=u.memoizedProps,D=u.memoizedState,ja=k.stateNode;ja.props=k.memoizedProps;ja.state=k.memoizedState;var mi=ja.getSnapshotBeforeUpdate(y,\nD);ja.__reactInternalSnapshotBeforeUpdate=mi}break;case 3:case 5:case 6:case 4:break;default:A(\"163\")}}U=U.nextEffect}}catch(Wa){f=!0,g=Wa}f&&(null===U?A(\"178\"):void 0,Zg(U,g),null!==U&&(U=U.nextEffect))}for(U=e;null!==U;){u=!1;y=void 0;try{for(;null!==U;){var q=U.effectTag;q&16&&Ke(U.stateNode,\"\");if(q&128){var z=U.alternate;if(null!==z){var l=z.ref;null!==l&&(\"function\"===typeof l?l(null):l.current=null)}}switch(q&14){case 2:ch(U);U.effectTag&=-3;break;case 6:ch(U);U.effectTag&=-3;dh(U.alternate,\nU);break;case 4:dh(U.alternate,U);break;case 8:D=U,ah(D),D.return=null,D.child=null,D.alternate&&(D.alternate.child=null,D.alternate.return=null)}U=U.nextEffect}}catch(Wa){u=!0,y=Wa}u&&(null===U?A(\"178\"):void 0,Zg(U,y),null!==U&&(U=U.nextEffect))}l=bf;z=da();q=l.focusedElem;u=l.selectionRange;if(z!==q&&fa(document.documentElement,q)){null!==u&&Ud(q)&&(z=u.start,l=u.end,void 0===l&&(l=z),\"selectionStart\"in q?(q.selectionStart=z,q.selectionEnd=Math.min(l,q.value.length)):window.getSelection&&(z=window.getSelection(),\ny=q[lb()].length,l=Math.min(u.start,y),u=void 0===u.end?l:Math.min(u.end,y),!z.extend&&l>u&&(y=u,u=l,l=y),y=Td(q,l),D=Td(q,u),y&&D&&(1!==z.rangeCount||z.anchorNode!==y.node||z.anchorOffset!==y.offset||z.focusNode!==D.node||z.focusOffset!==D.offset)&&(ja=document.createRange(),ja.setStart(y.node,y.offset),z.removeAllRanges(),l>u?(z.addRange(ja),z.extend(D.node,D.offset)):(ja.setEnd(D.node,D.offset),z.addRange(ja)))));z=[];for(l=q;l=l.parentNode;)1===l.nodeType&&z.push({element:l,left:l.scrollLeft,\ntop:l.scrollTop});\"function\"===typeof q.focus&&q.focus();for(q=0;q<z.length;q++)l=z[q],l.element.scrollLeft=l.left,l.element.scrollTop=l.top}bf=null;Id(af);af=null;c.current=b;for(U=e;null!==U;){e=!1;q=void 0;try{for(z=d;null!==U;){var hg=U.effectTag;if(hg&36){var oc=U.alternate;l=U;u=z;switch(l.tag){case 2:var ca=l.stateNode;if(l.effectTag&4)if(null===oc)ca.props=l.memoizedProps,ca.state=l.memoizedState,ca.componentDidMount();else{var wi=oc.memoizedProps,xi=oc.memoizedState;ca.props=l.memoizedProps;\nca.state=l.memoizedState;ca.componentDidUpdate(wi,xi,ca.__reactInternalSnapshotBeforeUpdate)}var Ng=l.updateQueue;null!==Ng&&(ca.props=l.memoizedProps,ca.state=l.memoizedState,Wf(l,Ng,ca,u));break;case 3:var Og=l.updateQueue;if(null!==Og){y=null;if(null!==l.child)switch(l.child.tag){case 5:y=l.child.stateNode;break;case 2:y=l.child.stateNode}Wf(l,Og,y,u)}break;case 5:var yi=l.stateNode;null===oc&&l.effectTag&4&&cf(l.type,l.memoizedProps)&&yi.focus();break;case 6:break;case 4:break;case 15:break;case 16:break;\ndefault:A(\"163\")}}if(hg&128){l=void 0;var yc=U.ref;if(null!==yc){var Pg=U.stateNode;switch(U.tag){case 5:l=Pg;break;default:l=Pg}\"function\"===typeof yc?yc(l):yc.current=l}}var zi=U.nextEffect;U.nextEffect=null;U=zi}}catch(Wa){e=!0,q=Wa}e&&(null===U?A(\"178\"):void 0,Zg(U,q),null!==U&&(U=U.nextEffect))}ph=th=!1;\"function\"===typeof Jf&&Jf(b.stateNode);b=c.current.expirationTime;0===b&&(hh=null);a.remainingExpirationTime=b}function zh(){return null===Ph||Ph.timeRemaining()>Sh?!1:Mh=!0}\nfunction fh(a){null===X?A(\"246\"):void 0;X.remainingExpirationTime=0;Nh||(Nh=!0,Oh=a)}function Bh(a){null===X?A(\"246\"):void 0;X.remainingExpirationTime=a}function bi(a,b){var c=Z;Z=!0;try{return a(b)}finally{(Z=c)||W||Wh()}}function ci(a,b){if(Z&&!Qh){Qh=!0;try{return a(b)}finally{Qh=!1}}return a(b)}function di(a,b){W?A(\"187\"):void 0;var c=Z;Z=!0;try{return Ih(a,b)}finally{Z=c,Wh()}}\nfunction ei(a,b,c){if(Dh)return a(b,c);Z||W||0===Eh||(Yh(Eh,!1,null),Eh=0);var d=Dh,e=Z;Z=Dh=!0;try{return a(b,c)}finally{Dh=d,(Z=e)||W||Wh()}}function fi(a){var b=Z;Z=!0;try{Ih(a)}finally{(Z=b)||W||Yh(1,!1,null)}}\nfunction gi(a,b,c,d,e){var f=b.current;if(c){c=c._reactInternalFiber;var g;b:{2===jd(c)&&2===c.tag?void 0:A(\"170\");for(g=c;3!==g.tag;){if(qf(g)){g=g.stateNode.__reactInternalMemoizedMergedChildContext;break b}(g=g.return)?void 0:A(\"171\")}g=g.stateNode.context}c=qf(c)?vf(c,g):g}else c=ha;null===b.context?b.context=c:b.pendingContext=c;b=e;e=Of(d);e.payload={element:a};b=void 0===b?null:b;null!==b&&(e.callback=b);Qf(f,e,d);og(f,d);return d}\nfunction hi(a){var b=a._reactInternalFiber;void 0===b&&(\"function\"===typeof a.render?A(\"188\"):A(\"268\",Object.keys(a)));a=md(b);return null===a?null:a.stateNode}function ii(a,b,c,d){var e=b.current,f=mg();e=ng(f,e);return gi(a,b,c,e,d)}function ji(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}\nfunction ki(a){var b=a.findFiberByHostInstance;return If(p({},a,{findHostInstanceByFiber:function(a){a=md(a);return null===a?null:a.stateNode},findFiberByHostInstance:function(a){return b?b(a):null}}))}\nvar li={updateContainerAtExpirationTime:gi,createContainer:function(a,b,c){return Ef(a,b,c)},updateContainer:ii,flushRoot:$h,requestWork:Ah,computeUniqueAsyncExpiration:Ch,batchedUpdates:bi,unbatchedUpdates:ci,deferredUpdates:Hh,syncUpdates:Ih,interactiveUpdates:ei,flushInteractiveUpdates:function(){W||0===Eh||(Yh(Eh,!1,null),Eh=0)},flushControlled:fi,flushSync:di,getPublicRootInstance:ji,findHostInstance:hi,findHostInstanceWithNoPortals:function(a){a=nd(a);return null===a?null:a.stateNode},injectIntoDevTools:ki};\nfunction ni(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:hc,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}Kb.injectFiberControlledHostComponent($e);function oi(a){this._expirationTime=Ch();this._root=a;this._callbacks=this._next=null;this._hasChildren=this._didComplete=!1;this._children=null;this._defer=!0}\noi.prototype.render=function(a){this._defer?void 0:A(\"250\");this._hasChildren=!0;this._children=a;var b=this._root._internalRoot,c=this._expirationTime,d=new pi;gi(a,b,null,c,d._onCommit);return d};oi.prototype.then=function(a){if(this._didComplete)a();else{var b=this._callbacks;null===b&&(b=this._callbacks=[]);b.push(a)}};\noi.prototype.commit=function(){var a=this._root._internalRoot,b=a.firstBatch;this._defer&&null!==b?void 0:A(\"251\");if(this._hasChildren){var c=this._expirationTime;if(b!==this){this._hasChildren&&(c=this._expirationTime=b._expirationTime,this.render(this._children));for(var d=null,e=b;e!==this;)d=e,e=e._next;null===d?A(\"251\"):void 0;d._next=e._next;this._next=b;a.firstBatch=this}this._defer=!1;$h(a,c);b=this._next;this._next=null;b=a.firstBatch=b;null!==b&&b._hasChildren&&b.render(b._children)}else this._next=\nnull,this._defer=!1};oi.prototype._onComplete=function(){if(!this._didComplete){this._didComplete=!0;var a=this._callbacks;if(null!==a)for(var b=0;b<a.length;b++)(0,a[b])()}};function pi(){this._callbacks=null;this._didCommit=!1;this._onCommit=this._onCommit.bind(this)}pi.prototype.then=function(a){if(this._didCommit)a();else{var b=this._callbacks;null===b&&(b=this._callbacks=[]);b.push(a)}};\npi.prototype._onCommit=function(){if(!this._didCommit){this._didCommit=!0;var a=this._callbacks;if(null!==a)for(var b=0;b<a.length;b++){var c=a[b];\"function\"!==typeof c?A(\"191\",c):void 0;c()}}};function qi(a,b,c){this._internalRoot=Ef(a,b,c)}qi.prototype.render=function(a,b){var c=this._internalRoot,d=new pi;b=void 0===b?null:b;null!==b&&d.then(b);ii(a,c,null,d._onCommit);return d};\nqi.prototype.unmount=function(a){var b=this._internalRoot,c=new pi;a=void 0===a?null:a;null!==a&&c.then(a);ii(null,b,null,c._onCommit);return c};qi.prototype.legacy_renderSubtreeIntoContainer=function(a,b,c){var d=this._internalRoot,e=new pi;c=void 0===c?null:c;null!==c&&e.then(c);ii(b,d,a,e._onCommit);return e};\nqi.prototype.createBatch=function(){var a=new oi(this),b=a._expirationTime,c=this._internalRoot,d=c.firstBatch;if(null===d)c.firstBatch=a,a._next=null;else{for(c=null;null!==d&&d._expirationTime<=b;)c=d,d=d._next;a._next=d;null!==c&&(c._next=a)}return a};function ri(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}Sb=li.batchedUpdates;Tb=li.interactiveUpdates;Ub=li.flushInteractiveUpdates;\nfunction si(a,b){b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute(\"data-reactroot\")));if(!b)for(var c;c=a.lastChild;)a.removeChild(c);return new qi(a,!1,b)}\nfunction ti(a,b,c,d,e){ri(c)?void 0:A(\"200\");var f=c._reactRootContainer;if(f){if(\"function\"===typeof e){var g=e;e=function(){var a=ji(f._internalRoot);g.call(a)}}null!=a?f.legacy_renderSubtreeIntoContainer(a,b,e):f.render(b,e)}else{f=c._reactRootContainer=si(c,d);if(\"function\"===typeof e){var h=e;e=function(){var a=ji(f._internalRoot);h.call(a)}}ci(function(){null!=a?f.legacy_renderSubtreeIntoContainer(a,b,e):f.render(b,e)})}return ji(f._internalRoot)}\nfunction ui(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;ri(b)?void 0:A(\"200\");return ni(a,b,null,c)}\nvar vi={createPortal:ui,findDOMNode:function(a){return null==a?null:1===a.nodeType?a:hi(a)},hydrate:function(a,b,c){return ti(null,a,b,!0,c)},render:function(a,b,c){return ti(null,a,b,!1,c)},unstable_renderSubtreeIntoContainer:function(a,b,c,d){null==a||void 0===a._reactInternalFiber?A(\"38\"):void 0;return ti(a,b,c,!1,d)},unmountComponentAtNode:function(a){ri(a)?void 0:A(\"40\");return a._reactRootContainer?(ci(function(){ti(null,null,a,!1,function(){a._reactRootContainer=null})}),!0):!1},unstable_createPortal:function(){return ui.apply(void 0,\narguments)},unstable_batchedUpdates:bi,unstable_deferredUpdates:Hh,unstable_interactiveUpdates:ei,flushSync:di,unstable_flushControlled:fi,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{EventPluginHub:Ka,EventPluginRegistry:va,EventPropagators:$a,ReactControlledComponent:Rb,ReactDOMComponentTree:Qa,ReactDOMEventListener:Nd},unstable_createRoot:function(a,b){return new qi(a,!0,null!=b&&!0===b.hydrate)}};ki({findFiberByHostInstance:Na,bundleType:0,version:\"16.4.1\",rendererPackageName:\"react-dom\"});\nvar Ai={default:vi},Bi=Ai&&vi||Ai;module.exports=Bi.default?Bi.default:Bi;\n\n\n/***/ }),\n/* 411 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\n/**\n * Simple, lightweight module assisting with the detection and context of\n * Worker. Helps avoid circular dependencies and allows code to reason about\n * whether or not they are in a Worker, even if they never include the main\n * `ReactWorker` dependency.\n */\nvar ExecutionEnvironment = {\n\n canUseDOM: canUseDOM,\n\n canUseWorkers: typeof Worker !== 'undefined',\n\n canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent),\n\n canUseViewport: canUseDOM && !!window.screen,\n\n isInWorker: !canUseDOM // For now, this is true - might change in the future.\n\n};\n\nmodule.exports = ExecutionEnvironment;\n\n/***/ }),\n/* 412 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\n/* eslint-disable fb-www/typeof-undefined */\n\n/**\n * Same as document.activeElement but wraps in a try-catch block. In IE it is\n * not safe to call document.activeElement if there is nothing focused.\n *\n * The activeElement will be null only if the document or document body is not\n * yet defined.\n *\n * @param {?DOMDocument} doc Defaults to current document.\n * @return {?DOMElement}\n */\nfunction getActiveElement(doc) /*?DOMElement*/{\n doc = doc || (typeof document !== 'undefined' ? document : undefined);\n if (typeof doc === 'undefined') {\n return null;\n }\n try {\n return doc.activeElement || doc.body;\n } catch (e) {\n return doc.body;\n }\n}\n\nmodule.exports = getActiveElement;\n\n/***/ }),\n/* 413 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n * \n */\n\n/*eslint-disable no-self-compare */\n\n\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n // Added the nonzero y check to make Flow happy, but it is redundant\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n}\n\n/**\n * Performs equality by iterating through keys on an object and returning false\n * when any key has values which are not strictly equal between the arguments.\n * Returns true when the values of all keys are strictly equal.\n */\nfunction shallowEqual(objA, objB) {\n if (is(objA, objB)) {\n return true;\n }\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = shallowEqual;\n\n/***/ }),\n/* 414 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar isTextNode = __webpack_require__(415);\n\n/*eslint-disable no-bitwise */\n\n/**\n * Checks if a given DOM node contains or is another DOM node.\n */\nfunction containsNode(outerNode, innerNode) {\n if (!outerNode || !innerNode) {\n return false;\n } else if (outerNode === innerNode) {\n return true;\n } else if (isTextNode(outerNode)) {\n return false;\n } else if (isTextNode(innerNode)) {\n return containsNode(outerNode, innerNode.parentNode);\n } else if ('contains' in outerNode) {\n return outerNode.contains(innerNode);\n } else if (outerNode.compareDocumentPosition) {\n return !!(outerNode.compareDocumentPosition(innerNode) & 16);\n } else {\n return false;\n }\n}\n\nmodule.exports = containsNode;\n\n/***/ }),\n/* 415 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\nvar isNode = __webpack_require__(416);\n\n/**\n * @param {*} object The object to check.\n * @return {boolean} Whether or not the object is a DOM text node.\n */\nfunction isTextNode(object) {\n return isNode(object) && object.nodeType == 3;\n}\n\nmodule.exports = isTextNode;\n\n/***/ }),\n/* 416 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\n/**\n * @param {*} object The object to check.\n * @return {boolean} Whether or not the object is a DOM node.\n */\nfunction isNode(object) {\n var doc = object ? object.ownerDocument || object : document;\n var defaultView = doc.defaultView || window;\n return !!(object && (typeof defaultView.Node === 'function' ? object instanceof defaultView.Node : typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string'));\n}\n\nmodule.exports = isNode;\n\n/***/ }),\n/* 417 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 418 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(138);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_embed__ = __webpack_require__(419);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__DatasetteVega_css__ = __webpack_require__(994);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__DatasetteVega_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__DatasetteVega_css__);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if(\"value\"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError(\"Cannot call a class as a function\");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");}return call&&(typeof call===\"object\"||typeof call===\"function\")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!==\"function\"&&superClass!==null){throw new TypeError(\"Super expression must either be null or a function, not \"+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var serialize=function serialize(obj,prefix){return Object.keys(obj).filter(function(key){return obj[key];}).map(function(key){return prefix+'.'+encodeURIComponent(key)+'='+encodeURIComponent(obj[key]);}).join('&');};var unserialize=function unserialize(s,prefix){if(s&&s[0]==='#'){s=s.slice(1);}if(!s){return{};}var obj={};s.split('&').filter(function(bit){return bit.slice(0,prefix.length+1)===prefix+'.';}).forEach(function(bit){var pair=bit.split('=');obj[decodeURIComponent(pair[0]).replace(new RegExp('^'+prefix+'\\\\.'),'')]=decodeURIComponent(pair[1]);});return obj;};var escapeString=function escapeString(s){return(s||'').replace(/\"/g,'\\\\x22').replace(/'/g,'\\\\x27');};var DatasetteVega=function(_Component){_inherits(DatasetteVega,_Component);function DatasetteVega(props){_classCallCheck(this,DatasetteVega);var _this=_possibleConstructorReturn(this,(DatasetteVega.__proto__||Object.getPrototypeOf(DatasetteVega)).call(this,props));_this.state={show:false,columns:[],mark:null,x_column:null,x_type:\"ordinal\",y_column:null,y_type:\"quantitative\",color_column:\"\",size_column:\"\"};_this.markOptions=[{\"value\":\"bar\",\"name\":\"Bar\"},{\"value\":\"line\",\"name\":\"Line\"},{\"value\":\"circle\",\"name\":\"Scatter\"}];_this.typeOptions=[{\"value\":\"quantitative\",\"name\":\"Numeric\"},{\"value\":\"quantitative-bin\",\"name\":\"Numeric, binned\"},{\"value\":\"temporal\",\"name\":\"Date/time\"},{\"value\":\"temporal-bin\",\"name\":\"Date/time, binned\"},{\"value\":\"ordinal\",\"name\":\"Label\"},{\"value\":\"nominal\",\"name\":\"Category\"}];_this.chartRef=__WEBPACK_IMPORTED_MODULE_0_react___default.a.createRef();return _this;}_createClass(DatasetteVega,[{key:'onChangeSelect',value:function onChangeSelect(name,ev){var _this2=this;ev.persist();window.lastEv=ev;this.setState(_defineProperty({},name,ev.target.value),function(){_this2.renderGraph();});}},{key:'jsonUrl',value:function jsonUrl(){var url=this.props.base_url;if(/\\?/.exec(url)){url+='&';}else{url+='?';}url+='_shape=array';return url;}},{key:'componentDidMount',value:function componentDidMount(){var _this3=this;window.onpopstate=this.onPopStateChange.bind(this);// Load the columns\nvar url=this.jsonUrl();fetch(url).then(function(r){return r.json();}).then(function(data){if(data.length>1){// Set columns to first item's keys\nvar columns=Object.keys(data[0]).map(function(key){// Do ANY of these rows have a .label property?\nif(data.filter(function(d){return(d[key]||'').label!==undefined;}).length){return key+'.label';}else{return key;}});var initialState={columns:columns,x_column:columns[0],y_column:columns[1]};// Is there state in the URL? If so use that too\nvar urlState=unserialize(document.location.hash,'g');if(Object.keys(urlState).length){initialState=Object.assign(initialState,urlState);// And show the widget\ninitialState.show=true;}_this3.setState(initialState,function(){_this3.onPopStateChange();_this3.renderGraph();});}});}},{key:'serializeState',value:function serializeState(){return serialize(function(_ref){var mark=_ref.mark,x_column=_ref.x_column,x_type=_ref.x_type,y_column=_ref.y_column,y_type=_ref.y_type,color_column=_ref.color_column,size_column=_ref.size_column;return{mark:mark,x_column:x_column,x_type:x_type,y_column:y_column,y_type:y_type,color_column:color_column,size_column:size_column};}(this.state),'g');}},{key:'onPopStateChange',value:function onPopStateChange(ev){window.lastPopEv=ev;var expected='#'+this.serializeState();if(expected!==document.location.hash&&this.state.mark){this.setState(unserialize(document.location.hash,'g'),this.renderGraph.bind(this));}}},{key:'renderGraph',value:function renderGraph(){var x_type=this.state.x_type.split('-bin')[0];var y_type=this.state.y_type.split('-bin')[0];var x_bin=!!/-bin$/.exec(this.state.x_type);var y_bin=!!/-bin$/.exec(this.state.y_type);var encoding={x:{field:this.state.x_column,type:x_type,bin:x_bin},y:{field:this.state.y_column,type:y_type,bin:y_bin},tooltip:{field:\"_tooltip_summary\",type:\"ordinal\"}};if(this.state.color_column){encoding.color={field:this.state.color_column,type:\"nominal\"};}if(this.state.size_column){encoding.size={field:this.state.size_column,type:\"quantitative\"};}var spec={data:{url:this.jsonUrl()},transform:[{calculate:'\\n \\''+escapeString(this.state.x_column)+': \\' + datum[\\''+escapeString(this.state.x_column)+'\\'] +\\n \\', '+escapeString(this.state.y_column)+': \\' + datum[\\''+escapeString(this.state.y_column)+'\\'] +\\n ('+!!this.state.color_column+' ? \\', '+escapeString(this.state.color_column)+': \\' + datum[\\''+escapeString(this.state.color_column)+'\\'] : \\'\\') +\\n ('+!!this.state.size_column+' ? \\', '+escapeString(this.state.size_column)+': \\' + datum[\\''+escapeString(this.state.size_column)+'\\'] : \\'\\')\\n ',as:\"_tooltip_summary\"}],mark:this.state.mark,encoding:encoding};if(spec.mark&&spec.encoding.x.field&&spec.encoding.y.field){Object(__WEBPACK_IMPORTED_MODULE_1_vega_embed__[\"a\" /* default */])(this.chartRef.current,spec,{theme:'quartz',tooltip:true});document.location.hash='#'+this.serializeState();this.props.onFragmentChange&&this.props.onFragmentChange();// Add to state so react debug tools can see it (for debugging):\nthis.setState({spec:spec,show:true});}}},{key:'toggleAxis',value:function toggleAxis(ev){ev.preventDefault();this.setState(function(prevState){return{x_column:prevState.y_column,y_column:prevState.x_column,x_type:prevState.y_type,y_type:prevState.x_type};},this.renderGraph);}},{key:'showChart',value:function showChart(){this.setState({show:true},this.renderGraph.bind(this));}},{key:'render',value:function render(){var _this4=this;var onChangeSelect=this.onChangeSelect.bind(this);var columns=this.state.columns;if(!this.state.show){return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'datasette-vega-inactive'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('button',{onClick:this.showChart.bind(this)},'Show charting options'));}return columns.length>1?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('form',{action:'',method:'GET',id:'graphForm',className:'datasette-vega'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('h3',null,'Charting options'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'filter-row radio-buttons'},this.markOptions.map(function(option){return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('label',{key:option.value,value:option.value},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('input',{type:'radio',name:'mark',value:option.value,checked:option.value===_this4.state.mark,onChange:function onChange(ev){return onChangeSelect(\"mark\",ev);}}),' ',option.name);})),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'filter-row'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('label',null,'X column ',__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'select-wrapper'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('select',{name:'x_column',value:this.state.x_column||'',onChange:function onChange(ev){return onChangeSelect(\"x_column\",ev);}},columns.map(function(column){return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('option',{key:column,value:column},column);})))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('label',null,'Type ',__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'select-wrapper'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('select',{name:'x_type',value:this.state.x_type,onChange:function onChange(ev){return onChangeSelect(\"x_type\",ev);}},this.typeOptions.map(function(option){return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('option',{key:option.value,value:option.value},option.name);}))))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'filter-row'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('label',null,'Y column ',__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'select-wrapper'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('select',{name:'y_column',value:this.state.y_column||'',onChange:function onChange(ev){return onChangeSelect(\"y_column\",ev);}},columns.map(function(column){return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('option',{key:column,value:column},column);})))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('label',null,'Type ',__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'select-wrapper'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('select',{name:'y_type',value:this.state.y_type,onChange:function onChange(ev){return onChangeSelect(\"y_type\",ev);}},this.typeOptions.map(function(option){return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('option',{key:option.value,value:option.value},option.name);}))))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'swap-x-y'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('button',{onClick:this.toggleAxis.bind(this)},'Swap X and Y')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'filter-row'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('label',null,'Color ',__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'select-wrapper'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('select',{name:'color_column',value:this.state.color_column,onChange:function onChange(ev){return onChangeSelect(\"color_column\",ev);}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('option',{value:''},'-- none --'),columns.map(function(column){return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('option',{key:column,value:column},column);})))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('label',null,'Size ',__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'select-wrapper'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('select',{name:'size_column',value:this.state.size_column,onChange:function onChange(ev){return onChangeSelect(\"size_column\",ev);}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('option',{value:''},'-- none --'),columns.map(function(column){return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('option',{key:column,value:column},column);})))))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{style:{overflow:'auto'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{ref:this.chartRef}))):null;}}]);return DatasetteVega;}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);/* harmony default export */ __webpack_exports__[\"a\"] = (DatasetteVega);\n\n/***/ }),\n/* 419 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export vega */\n/* unused harmony export vl */\n/* unused harmony export guessMode */\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = embed;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_d3_selection__ = __webpack_require__(420);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_json_stringify_pretty_compact__ = __webpack_require__(455);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_json_stringify_pretty_compact___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_json_stringify_pretty_compact__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_semver__ = __webpack_require__(456);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_semver___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_semver__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_vega_lib__ = __webpack_require__(458);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_vega_lite__ = __webpack_require__(932);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_vega_schema_url_parser__ = __webpack_require__(981);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_vega_schema_url_parser___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_vega_schema_url_parser__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_vega_themes__ = __webpack_require__(982);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_vega_tooltip__ = __webpack_require__(989);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__post__ = __webpack_require__(991);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__style__ = __webpack_require__(992);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__util__ = __webpack_require__(993);\n\n\n\n\n\n\n\n\n\n\n\n\nvar vega = __WEBPACK_IMPORTED_MODULE_4_vega_lib__;\nvar vl = __WEBPACK_IMPORTED_MODULE_5_vega_lite__;\nvar NAMES = {\n vega: 'Vega',\n 'vega-lite': 'Vega-Lite',\n};\nvar VERSION = {\n vega: vega.version,\n 'vega-lite': vl ? vl.version : 'not available',\n};\nvar PREPROCESSOR = {\n vega: function (vgjson, _) { return vgjson; },\n 'vega-lite': function (vljson, config) { return vl.compile(vljson, { config: config }).spec; },\n};\nvar SVG_CIRCLES = \"\\n<svg viewBox=\\\"0 0 16 16\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" width=\\\"14\\\" height=\\\"14\\\">\\n <circle r=\\\"2\\\" cy=\\\"8\\\" cx=\\\"2\\\"></circle>\\n <circle r=\\\"2\\\" cy=\\\"8\\\" cx=\\\"8\\\"></circle>\\n <circle r=\\\"2\\\" cy=\\\"8\\\" cx=\\\"14\\\"></circle>\\n</svg>\";\nvar I18N = {\n COMPILED_ACTION: 'View Vega',\n EDITOR_ACTION: 'Open in Vega Editor',\n PNG_ACTION: 'Save as PNG',\n SOURCE_ACTION: 'View Source',\n SVG_ACTION: 'Save as SVG',\n};\nfunction isTooltipHandler(h) {\n return typeof h === 'function';\n}\nfunction viewSource(source, sourceHeader, sourceFooter, mode) {\n var header = \"<html><head>\" + sourceHeader + \"</head><body><pre><code class=\\\"json\\\">\";\n var footer = \"</code></pre>\" + sourceFooter + \"</body></html>\";\n var win = window.open('');\n win.document.write(header + source + footer);\n win.document.title = NAMES[mode] + \" JSON Source\";\n}\n/**\n * Try to guess the type of spec.\n *\n * @param spec Vega or Vega-Lite spec.\n */\nfunction guessMode(spec, providedMode) {\n // Decide mode\n if (spec.$schema) {\n var parsed = __WEBPACK_IMPORTED_MODULE_6_vega_schema_url_parser___default()(spec.$schema);\n if (providedMode && providedMode !== parsed.library) {\n console.warn(\"The given visualization spec is written in \" + NAMES[parsed.library] + \", but mode argument sets \" + NAMES[providedMode] + \".\");\n }\n var mode = parsed.library;\n if (!Object(__WEBPACK_IMPORTED_MODULE_3_semver__[\"satisfies\"])(VERSION[mode], \"^\" + parsed.version.slice(1))) {\n console.warn(\"The input spec uses \" + mode + \" \" + parsed.version + \", but the current version of \" + NAMES[mode] + \" is \" + VERSION[mode] + \".\");\n }\n return mode;\n }\n else {\n // try to guess from the provided spec\n if ('mark' in spec ||\n 'encoding' in spec ||\n 'layer' in spec ||\n 'hconcat' in spec ||\n 'vconcat' in spec ||\n 'facet' in spec ||\n 'repeat' in spec) {\n return 'vega-lite';\n }\n if ('marks' in spec || 'signals' in spec || 'scales' in spec || 'axes' in spec) {\n return 'vega';\n }\n }\n return providedMode || 'vega';\n}\nfunction isLoader(o) {\n return !!(o && 'load' in o);\n}\n/**\n * Embed a Vega visualization component in a web page. This function returns a promise.\n *\n * @param el DOM element in which to place component (DOM node or CSS selector).\n * @param spec String : A URL string from which to load the Vega specification.\n * Object : The Vega/Vega-Lite specification as a parsed JSON object.\n * @param opt A JavaScript object containing options for embedding.\n */\nfunction embed(el, spec, opt) {\n if (opt === void 0) { opt = {}; }\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"b\" /* __awaiter */](this, void 0, void 0, function () {\n var actions, i18n, loader, renderer, logLevel, data, config, data, ID, style, mode, vgSpec, parsed, div, runtime, view, handler, wrapper, ctrl, _loop_1, _i, _a, ext, editorUrl_1;\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"d\" /* __generator */](this, function (_b) {\n switch (_b.label) {\n case 0:\n opt = opt || {};\n actions = opt.actions === true || opt.actions === false\n ? opt.actions\n : Object(__WEBPACK_IMPORTED_MODULE_11__util__[\"a\" /* mergeDeep */])({}, { export: { svg: true, png: true }, source: true, compiled: false, editor: true }, opt.actions || {});\n i18n = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, I18N, opt.i18n);\n loader = isLoader(opt.loader) ? opt.loader : vega.loader(opt.loader);\n renderer = opt.renderer || 'canvas';\n logLevel = opt.logLevel || vega.Warn;\n if (!vega.isString(spec)) return [3 /*break*/, 2];\n return [4 /*yield*/, loader.load(spec)];\n case 1:\n data = _b.sent();\n return [2 /*return*/, embed(el, JSON.parse(data), opt)];\n case 2:\n config = opt.config || {};\n if (!vega.isString(config)) return [3 /*break*/, 4];\n return [4 /*yield*/, loader.load(config)];\n case 3:\n data = _b.sent();\n return [2 /*return*/, embed(el, spec, __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, opt, { config: JSON.parse(data) }))];\n case 4:\n if (opt.defaultStyle) {\n ID = 'vega-embed-style';\n if (!document.getElementById(ID)) {\n style = document.createElement('style');\n style.id = ID;\n style.innerText = opt.defaultStyle === true ? (__WEBPACK_IMPORTED_MODULE_10__style__[\"a\" /* default */] || '').toString() : opt.defaultStyle;\n document.getElementsByTagName('head')[0].appendChild(style);\n }\n }\n if (opt.theme) {\n config = Object(__WEBPACK_IMPORTED_MODULE_11__util__[\"a\" /* mergeDeep */])({}, __WEBPACK_IMPORTED_MODULE_7_vega_themes__[opt.theme], config);\n }\n mode = guessMode(spec, opt.mode);\n vgSpec = PREPROCESSOR[mode](spec, config);\n if (mode === 'vega-lite') {\n if (vgSpec.$schema) {\n parsed = __WEBPACK_IMPORTED_MODULE_6_vega_schema_url_parser___default()(vgSpec.$schema);\n if (!Object(__WEBPACK_IMPORTED_MODULE_3_semver__[\"satisfies\"])(VERSION.vega, \"^\" + parsed.version.slice(1))) {\n console.warn(\"The compiled spec uses Vega \" + parsed.version + \", but current version is \" + VERSION.vega + \".\");\n }\n }\n }\n div = __WEBPACK_IMPORTED_MODULE_1_d3_selection__[\"b\" /* select */](el) // d3.select supports elements and strings\n .classed('vega-embed', true)\n .html('');\n if (opt.onBeforeParse) {\n // Allow Vega spec to be modified before being used\n vgSpec = opt.onBeforeParse(vgSpec);\n }\n runtime = vega.parse(vgSpec, mode === 'vega-lite' ? {} : config);\n view = new vega.View(runtime, {\n loader: loader,\n logLevel: logLevel,\n renderer: renderer,\n }).initialize(el);\n if (opt.tooltip !== false) {\n handler = void 0;\n if (isTooltipHandler(opt.tooltip)) {\n handler = opt.tooltip;\n }\n else {\n // user provided boolean true or tooltip options\n handler = new __WEBPACK_IMPORTED_MODULE_8_vega_tooltip__[\"a\" /* Handler */](opt.tooltip === true ? {} : opt.tooltip).call;\n }\n view.tooltip(handler);\n }\n // do not automatically enable hover for Vega-Lite.\n if (opt.hover === undefined ? mode !== 'vega-lite' : opt.hover) {\n view.hover();\n }\n if (opt) {\n if (opt.width) {\n view.width(opt.width);\n }\n if (opt.height) {\n view.height(opt.height);\n }\n if (opt.padding) {\n view.padding(opt.padding);\n }\n }\n if (!opt.runAsync) return [3 /*break*/, 6];\n return [4 /*yield*/, view.runAsync()];\n case 5:\n _b.sent();\n return [3 /*break*/, 7];\n case 6:\n view.run();\n _b.label = 7;\n case 7:\n if (actions !== false) {\n wrapper = div.append('div').attr('class', 'vega-actions-wrapper');\n if (opt.defaultStyle === true) {\n wrapper.html(SVG_CIRCLES);\n }\n ctrl = wrapper.insert('div').attr('class', 'vega-actions');\n // add 'Export' action\n if (actions === true || actions.export !== false) {\n _loop_1 = function (ext) {\n if (actions === true || actions.export === true || actions.export[ext]) {\n var i18nExportAction = i18n[ext.toUpperCase() + \"_ACTION\"];\n ctrl\n .append('a')\n .text(i18nExportAction)\n .attr('href', '#')\n .attr('target', '_blank')\n .attr('download', \"visualization.\" + ext)\n .on('mousedown', function () {\n var _this = this;\n view\n .toImageURL(ext, opt.scaleFactor)\n .then(function (url) {\n _this.href = url;\n })\n .catch(function (error) {\n throw error;\n });\n __WEBPACK_IMPORTED_MODULE_1_d3_selection__[\"a\" /* event */].preventDefault();\n });\n }\n };\n for (_i = 0, _a = ['svg', 'png']; _i < _a.length; _i++) {\n ext = _a[_i];\n _loop_1(ext);\n }\n }\n // add 'View Source' action\n if (actions === true || actions.source !== false) {\n ctrl\n .append('a')\n .text(i18n.SOURCE_ACTION)\n .attr('href', '#')\n .on('click', function () {\n viewSource(__WEBPACK_IMPORTED_MODULE_2_json_stringify_pretty_compact___default()(spec), opt.sourceHeader || '', opt.sourceFooter || '', mode);\n __WEBPACK_IMPORTED_MODULE_1_d3_selection__[\"a\" /* event */].preventDefault();\n });\n }\n // add 'View Compiled' action\n if (mode === 'vega-lite' && (actions === true || actions.compiled !== false)) {\n ctrl\n .append('a')\n .text(i18n.COMPILED_ACTION)\n .attr('href', '#')\n .on('click', function () {\n viewSource(__WEBPACK_IMPORTED_MODULE_2_json_stringify_pretty_compact___default()(vgSpec), opt.sourceHeader || '', opt.sourceFooter || '', 'vega');\n __WEBPACK_IMPORTED_MODULE_1_d3_selection__[\"a\" /* event */].preventDefault();\n });\n }\n // add 'Open in Vega Editor' action\n if (actions === true || actions.editor !== false) {\n editorUrl_1 = opt.editorUrl || 'https://vega.github.io/editor/';\n ctrl\n .append('a')\n .text(i18n.EDITOR_ACTION)\n .attr('href', '#')\n .on('click', function () {\n Object(__WEBPACK_IMPORTED_MODULE_9__post__[\"a\" /* post */])(window, editorUrl_1, {\n config: config,\n mode: mode,\n renderer: renderer,\n spec: __WEBPACK_IMPORTED_MODULE_2_json_stringify_pretty_compact___default()(spec),\n });\n __WEBPACK_IMPORTED_MODULE_1_d3_selection__[\"a\" /* event */].preventDefault();\n });\n }\n }\n return [2 /*return*/, { view: view, spec: spec }];\n }\n });\n });\n}\n//# sourceMappingURL=embed.js.map\n\n/***/ }),\n/* 420 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_create__ = __webpack_require__(421);\n/* unused harmony reexport create */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_creator__ = __webpack_require__(90);\n/* unused harmony reexport creator */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_local__ = __webpack_require__(450);\n/* unused harmony reexport local */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_matcher__ = __webpack_require__(216);\n/* unused harmony reexport matcher */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__src_mouse__ = __webpack_require__(451);\n/* unused harmony reexport mouse */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__src_namespace__ = __webpack_require__(139);\n/* unused harmony reexport namespace */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__src_namespaces__ = __webpack_require__(140);\n/* unused harmony reexport namespaces */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__src_point__ = __webpack_require__(91);\n/* unused harmony reexport clientPoint */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__src_select__ = __webpack_require__(214);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_8__src_select__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__src_selectAll__ = __webpack_require__(452);\n/* unused harmony reexport selectAll */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__src_selection_index__ = __webpack_require__(30);\n/* unused harmony reexport selection */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__src_selector__ = __webpack_require__(141);\n/* unused harmony reexport selector */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__src_selectorAll__ = __webpack_require__(215);\n/* unused harmony reexport selectorAll */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__src_selection_style__ = __webpack_require__(219);\n/* unused harmony reexport style */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__src_touch__ = __webpack_require__(453);\n/* unused harmony reexport touch */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__src_touches__ = __webpack_require__(454);\n/* unused harmony reexport touches */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__src_window__ = __webpack_require__(142);\n/* unused harmony reexport window */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__src_selection_on__ = __webpack_require__(143);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_17__src_selection_on__[\"b\"]; });\n/* unused harmony reexport customEvent */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 421 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__creator__ = __webpack_require__(90);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__select__ = __webpack_require__(214);\n\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (function(name) {\n return Object(__WEBPACK_IMPORTED_MODULE_1__select__[\"a\" /* default */])(Object(__WEBPACK_IMPORTED_MODULE_0__creator__[\"a\" /* default */])(name).call(document.documentElement));\n});\n\n\n/***/ }),\n/* 422 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__index__ = __webpack_require__(30);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__selector__ = __webpack_require__(141);\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(select) {\n if (typeof select !== \"function\") select = Object(__WEBPACK_IMPORTED_MODULE_1__selector__[\"a\" /* default */])(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 __WEBPACK_IMPORTED_MODULE_0__index__[\"a\" /* Selection */](subgroups, this._parents);\n});\n\n\n/***/ }),\n/* 423 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__index__ = __webpack_require__(30);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__selectorAll__ = __webpack_require__(215);\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(select) {\n if (typeof select !== \"function\") select = Object(__WEBPACK_IMPORTED_MODULE_1__selectorAll__[\"a\" /* default */])(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 __WEBPACK_IMPORTED_MODULE_0__index__[\"a\" /* Selection */](subgroups, parents);\n});\n\n\n/***/ }),\n/* 424 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__index__ = __webpack_require__(30);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__matcher__ = __webpack_require__(216);\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(match) {\n if (typeof match !== \"function\") match = Object(__WEBPACK_IMPORTED_MODULE_1__matcher__[\"a\" /* default */])(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 __WEBPACK_IMPORTED_MODULE_0__index__[\"a\" /* Selection */](subgroups, this._parents);\n});\n\n\n/***/ }),\n/* 425 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__index__ = __webpack_require__(30);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__enter__ = __webpack_require__(217);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constant__ = __webpack_require__(426);\n\n\n\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 __WEBPACK_IMPORTED_MODULE_1__enter__[\"a\" /* 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 __WEBPACK_IMPORTED_MODULE_1__enter__[\"a\" /* 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\n/* harmony default export */ __webpack_exports__[\"a\"] = (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 = Object(__WEBPACK_IMPORTED_MODULE_2__constant__[\"a\" /* default */])(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 __WEBPACK_IMPORTED_MODULE_0__index__[\"a\" /* Selection */](update, parents);\n update._enter = enter;\n update._exit = exit;\n return update;\n});\n\n\n/***/ }),\n/* 426 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(x) {\n return function() {\n return x;\n };\n});\n\n\n/***/ }),\n/* 427 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__sparse__ = __webpack_require__(218);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__index__ = __webpack_require__(30);\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n return new __WEBPACK_IMPORTED_MODULE_1__index__[\"a\" /* Selection */](this._exit || this._groups.map(__WEBPACK_IMPORTED_MODULE_0__sparse__[\"a\" /* default */]), this._parents);\n});\n\n\n/***/ }),\n/* 428 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__index__ = __webpack_require__(30);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (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 __WEBPACK_IMPORTED_MODULE_0__index__[\"a\" /* Selection */](merges, this._parents);\n});\n\n\n/***/ }),\n/* 429 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 430 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__index__ = __webpack_require__(30);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (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 __WEBPACK_IMPORTED_MODULE_0__index__[\"a\" /* 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\n\n/***/ }),\n/* 431 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n});\n\n\n/***/ }),\n/* 432 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n var nodes = new Array(this.size()), i = -1;\n this.each(function() { nodes[++i] = this; });\n return nodes;\n});\n\n\n/***/ }),\n/* 433 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 434 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n var size = 0;\n this.each(function() { ++size; });\n return size;\n});\n\n\n/***/ }),\n/* 435 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n return !this.node();\n});\n\n\n/***/ }),\n/* 436 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 437 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__namespace__ = __webpack_require__(139);\n\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\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(name, value) {\n var fullname = Object(__WEBPACK_IMPORTED_MODULE_0__namespace__[\"a\" /* default */])(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\n\n/***/ }),\n/* 438 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nfunction 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\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 439 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nfunction 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\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 440 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nfunction 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\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 441 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nfunction 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\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 442 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nfunction raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n return this.each(raise);\n});\n\n\n/***/ }),\n/* 443 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nfunction lower() {\n if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n return this.each(lower);\n});\n\n\n/***/ }),\n/* 444 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__creator__ = __webpack_require__(90);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(name) {\n var create = typeof name === \"function\" ? name : Object(__WEBPACK_IMPORTED_MODULE_0__creator__[\"a\" /* default */])(name);\n return this.select(function() {\n return this.appendChild(create.apply(this, arguments));\n });\n});\n\n\n/***/ }),\n/* 445 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__creator__ = __webpack_require__(90);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__selector__ = __webpack_require__(141);\n\n\n\nfunction constantNull() {\n return null;\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(name, before) {\n var create = typeof name === \"function\" ? name : Object(__WEBPACK_IMPORTED_MODULE_0__creator__[\"a\" /* default */])(name),\n select = before == null ? constantNull : typeof before === \"function\" ? before : Object(__WEBPACK_IMPORTED_MODULE_1__selector__[\"a\" /* default */])(before);\n return this.select(function() {\n return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n });\n});\n\n\n/***/ }),\n/* 446 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nfunction remove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n return this.each(remove);\n});\n\n\n/***/ }),\n/* 447 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nfunction 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\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n});\n\n\n/***/ }),\n/* 448 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(value) {\n return arguments.length\n ? this.property(\"__data__\", value)\n : this.node().__data__;\n});\n\n\n/***/ }),\n/* 449 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__window__ = __webpack_require__(142);\n\n\nfunction dispatchEvent(node, type, params) {\n var window = Object(__WEBPACK_IMPORTED_MODULE_0__window__[\"a\" /* default */])(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\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(type, params) {\n return this.each((typeof params === \"function\"\n ? dispatchFunction\n : dispatchConstant)(type, params));\n});\n\n\n/***/ }),\n/* 450 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export default */\nvar nextId = 0;\n\nfunction 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\n\n/***/ }),\n/* 451 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__sourceEvent__ = __webpack_require__(144);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__point__ = __webpack_require__(91);\n\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (function(node) {\n var event = Object(__WEBPACK_IMPORTED_MODULE_0__sourceEvent__[\"a\" /* default */])();\n if (event.changedTouches) event = event.changedTouches[0];\n return Object(__WEBPACK_IMPORTED_MODULE_1__point__[\"a\" /* default */])(node, event);\n});\n\n\n/***/ }),\n/* 452 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__selection_index__ = __webpack_require__(30);\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (function(selector) {\n return typeof selector === \"string\"\n ? new __WEBPACK_IMPORTED_MODULE_0__selection_index__[\"a\" /* Selection */]([document.querySelectorAll(selector)], [document.documentElement])\n : new __WEBPACK_IMPORTED_MODULE_0__selection_index__[\"a\" /* Selection */]([selector == null ? [] : selector], __WEBPACK_IMPORTED_MODULE_0__selection_index__[\"b\" /* root */]);\n});\n\n\n/***/ }),\n/* 453 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__sourceEvent__ = __webpack_require__(144);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__point__ = __webpack_require__(91);\n\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (function(node, touches, identifier) {\n if (arguments.length < 3) identifier = touches, touches = Object(__WEBPACK_IMPORTED_MODULE_0__sourceEvent__[\"a\" /* default */])().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 Object(__WEBPACK_IMPORTED_MODULE_1__point__[\"a\" /* default */])(node, touch);\n }\n }\n\n return null;\n});\n\n\n/***/ }),\n/* 454 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__sourceEvent__ = __webpack_require__(144);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__point__ = __webpack_require__(91);\n\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (function(node, touches) {\n if (touches == null) touches = Object(__WEBPACK_IMPORTED_MODULE_0__sourceEvent__[\"a\" /* default */])().touches;\n\n for (var i = 0, n = touches ? touches.length : 0, points = new Array(n); i < n; ++i) {\n points[i] = Object(__WEBPACK_IMPORTED_MODULE_1__point__[\"a\" /* default */])(node, touches[i]);\n }\n\n return points;\n});\n\n\n/***/ }),\n/* 455 */\n/***/ (function(module, exports) {\n\nfunction stringify (obj, options) {\n options = options || {}\n var indent = JSON.stringify([1], null, get(options, 'indent', 2)).slice(2, -3)\n var addMargin = get(options, 'margins', false)\n var maxLength = (indent === '' ? Infinity : get(options, 'maxLength', 80))\n\n return (function _stringify (obj, currentIndent, reserved) {\n if (obj && typeof obj.toJSON === 'function') {\n obj = obj.toJSON()\n }\n\n var string = JSON.stringify(obj)\n\n if (string === undefined) {\n return string\n }\n\n var length = maxLength - currentIndent.length - reserved\n\n if (string.length <= length) {\n var prettified = prettify(string, addMargin)\n if (prettified.length <= length) {\n return prettified\n }\n }\n\n if (typeof obj === 'object' && obj !== null) {\n var nextIndent = currentIndent + indent\n var items = []\n var delimiters\n var comma = function (array, index) {\n return (index === array.length - 1 ? 0 : 1)\n }\n\n if (Array.isArray(obj)) {\n for (var index = 0; index < obj.length; index++) {\n items.push(\n _stringify(obj[index], nextIndent, comma(obj, index)) || 'null'\n )\n }\n delimiters = '[]'\n } else {\n Object.keys(obj).forEach(function (key, index, array) {\n var keyPart = JSON.stringify(key) + ': '\n var value = _stringify(obj[key], nextIndent,\n keyPart.length + comma(array, index))\n if (value !== undefined) {\n items.push(keyPart + value)\n }\n })\n delimiters = '{}'\n }\n\n if (items.length > 0) {\n return [\n delimiters[0],\n indent + items.join(',\\n' + nextIndent),\n delimiters[1]\n ].join('\\n' + currentIndent)\n }\n }\n\n return string\n }(obj, '', 0))\n}\n\n// Note: This regex matches even invalid JSON strings, but since we’re\n// working on the output of `JSON.stringify` we know that only valid strings\n// are present (unless the user supplied a weird `options.indent` but in\n// that case we don’t care since the output would be invalid anyway).\nvar stringOrChar = /(\"(?:[^\\\\\"]|\\\\.)*\")|[:,\\][}{]/g\n\nfunction prettify (string, addMargin) {\n var m = addMargin ? ' ' : ''\n var tokens = {\n '{': '{' + m,\n '[': '[' + m,\n '}': m + '}',\n ']': m + ']',\n ',': ', ',\n ':': ': '\n }\n return string.replace(stringOrChar, function (match, string) {\n return string ? match : tokens[match]\n })\n}\n\nfunction get (options, name, defaultValue) {\n return (name in options ? options[name] : defaultValue)\n}\n\nmodule.exports = stringify\n\n\n/***/ }),\n/* 456 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {exports = module.exports = SemVer;\n\n// The debug function is excluded entirely from the minified version.\n/* nomin */ var debug;\n/* nomin */ if (typeof process === 'object' &&\n /* nomin */ Object({\"NODE_ENV\":\"production\",\"PUBLIC_URL\":\"\"}) &&\n /* nomin */ Object({\"NODE_ENV\":\"production\",\"PUBLIC_URL\":\"\"}).NODE_DEBUG &&\n /* nomin */ /\\bsemver\\b/i.test(Object({\"NODE_ENV\":\"production\",\"PUBLIC_URL\":\"\"}).NODE_DEBUG))\n /* nomin */ debug = function() {\n /* nomin */ var args = Array.prototype.slice.call(arguments, 0);\n /* nomin */ args.unshift('SEMVER');\n /* nomin */ console.log.apply(console, args);\n /* nomin */ };\n/* nomin */ else\n /* nomin */ debug = function() {};\n\n// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nexports.SEMVER_SPEC_VERSION = '2.0.0';\n\nvar MAX_LENGTH = 256;\nvar MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;\n\n// Max safe segment length for coercion.\nvar MAX_SAFE_COMPONENT_LENGTH = 16;\n\n// The actual regexps go on exports.re\nvar re = exports.re = [];\nvar src = exports.src = [];\nvar R = 0;\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\nvar NUMERICIDENTIFIER = R++;\nsrc[NUMERICIDENTIFIER] = '0|[1-9]\\\\d*';\nvar NUMERICIDENTIFIERLOOSE = R++;\nsrc[NUMERICIDENTIFIERLOOSE] = '[0-9]+';\n\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\nvar NONNUMERICIDENTIFIER = R++;\nsrc[NONNUMERICIDENTIFIER] = '\\\\d*[a-zA-Z-][a-zA-Z0-9-]*';\n\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\nvar MAINVERSION = R++;\nsrc[MAINVERSION] = '(' + src[NUMERICIDENTIFIER] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIER] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIER] + ')';\n\nvar MAINVERSIONLOOSE = R++;\nsrc[MAINVERSIONLOOSE] = '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIERLOOSE] + ')';\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\nvar PRERELEASEIDENTIFIER = R++;\nsrc[PRERELEASEIDENTIFIER] = '(?:' + src[NUMERICIDENTIFIER] +\n '|' + src[NONNUMERICIDENTIFIER] + ')';\n\nvar PRERELEASEIDENTIFIERLOOSE = R++;\nsrc[PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[NUMERICIDENTIFIERLOOSE] +\n '|' + src[NONNUMERICIDENTIFIER] + ')';\n\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\nvar PRERELEASE = R++;\nsrc[PRERELEASE] = '(?:-(' + src[PRERELEASEIDENTIFIER] +\n '(?:\\\\.' + src[PRERELEASEIDENTIFIER] + ')*))';\n\nvar PRERELEASELOOSE = R++;\nsrc[PRERELEASELOOSE] = '(?:-?(' + src[PRERELEASEIDENTIFIERLOOSE] +\n '(?:\\\\.' + src[PRERELEASEIDENTIFIERLOOSE] + ')*))';\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\nvar BUILDIDENTIFIER = R++;\nsrc[BUILDIDENTIFIER] = '[0-9A-Za-z-]+';\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\nvar BUILD = R++;\nsrc[BUILD] = '(?:\\\\+(' + src[BUILDIDENTIFIER] +\n '(?:\\\\.' + src[BUILDIDENTIFIER] + ')*))';\n\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\nvar FULL = R++;\nvar FULLPLAIN = 'v?' + src[MAINVERSION] +\n src[PRERELEASE] + '?' +\n src[BUILD] + '?';\n\nsrc[FULL] = '^' + FULLPLAIN + '$';\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\nvar LOOSEPLAIN = '[v=\\\\s]*' + src[MAINVERSIONLOOSE] +\n src[PRERELEASELOOSE] + '?' +\n src[BUILD] + '?';\n\nvar LOOSE = R++;\nsrc[LOOSE] = '^' + LOOSEPLAIN + '$';\n\nvar GTLT = R++;\nsrc[GTLT] = '((?:<|>)?=?)';\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\nvar XRANGEIDENTIFIERLOOSE = R++;\nsrc[XRANGEIDENTIFIERLOOSE] = src[NUMERICIDENTIFIERLOOSE] + '|x|X|\\\\*';\nvar XRANGEIDENTIFIER = R++;\nsrc[XRANGEIDENTIFIER] = src[NUMERICIDENTIFIER] + '|x|X|\\\\*';\n\nvar XRANGEPLAIN = R++;\nsrc[XRANGEPLAIN] = '[v=\\\\s]*(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:' + src[PRERELEASE] + ')?' +\n src[BUILD] + '?' +\n ')?)?';\n\nvar XRANGEPLAINLOOSE = R++;\nsrc[XRANGEPLAINLOOSE] = '[v=\\\\s]*(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:' + src[PRERELEASELOOSE] + ')?' +\n src[BUILD] + '?' +\n ')?)?';\n\nvar XRANGE = R++;\nsrc[XRANGE] = '^' + src[GTLT] + '\\\\s*' + src[XRANGEPLAIN] + '$';\nvar XRANGELOOSE = R++;\nsrc[XRANGELOOSE] = '^' + src[GTLT] + '\\\\s*' + src[XRANGEPLAINLOOSE] + '$';\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\nvar COERCE = R++;\nsrc[COERCE] = '(?:^|[^\\\\d])' +\n '(\\\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' +\n '(?:\\\\.(\\\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +\n '(?:\\\\.(\\\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +\n '(?:$|[^\\\\d])';\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\nvar LONETILDE = R++;\nsrc[LONETILDE] = '(?:~>?)';\n\nvar TILDETRIM = R++;\nsrc[TILDETRIM] = '(\\\\s*)' + src[LONETILDE] + '\\\\s+';\nre[TILDETRIM] = new RegExp(src[TILDETRIM], 'g');\nvar tildeTrimReplace = '$1~';\n\nvar TILDE = R++;\nsrc[TILDE] = '^' + src[LONETILDE] + src[XRANGEPLAIN] + '$';\nvar TILDELOOSE = R++;\nsrc[TILDELOOSE] = '^' + src[LONETILDE] + src[XRANGEPLAINLOOSE] + '$';\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\nvar LONECARET = R++;\nsrc[LONECARET] = '(?:\\\\^)';\n\nvar CARETTRIM = R++;\nsrc[CARETTRIM] = '(\\\\s*)' + src[LONECARET] + '\\\\s+';\nre[CARETTRIM] = new RegExp(src[CARETTRIM], 'g');\nvar caretTrimReplace = '$1^';\n\nvar CARET = R++;\nsrc[CARET] = '^' + src[LONECARET] + src[XRANGEPLAIN] + '$';\nvar CARETLOOSE = R++;\nsrc[CARETLOOSE] = '^' + src[LONECARET] + src[XRANGEPLAINLOOSE] + '$';\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\nvar COMPARATORLOOSE = R++;\nsrc[COMPARATORLOOSE] = '^' + src[GTLT] + '\\\\s*(' + LOOSEPLAIN + ')$|^$';\nvar COMPARATOR = R++;\nsrc[COMPARATOR] = '^' + src[GTLT] + '\\\\s*(' + FULLPLAIN + ')$|^$';\n\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\nvar COMPARATORTRIM = R++;\nsrc[COMPARATORTRIM] = '(\\\\s*)' + src[GTLT] +\n '\\\\s*(' + LOOSEPLAIN + '|' + src[XRANGEPLAIN] + ')';\n\n// this one has to use the /g flag\nre[COMPARATORTRIM] = new RegExp(src[COMPARATORTRIM], 'g');\nvar comparatorTrimReplace = '$1$2$3';\n\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\nvar HYPHENRANGE = R++;\nsrc[HYPHENRANGE] = '^\\\\s*(' + src[XRANGEPLAIN] + ')' +\n '\\\\s+-\\\\s+' +\n '(' + src[XRANGEPLAIN] + ')' +\n '\\\\s*$';\n\nvar HYPHENRANGELOOSE = R++;\nsrc[HYPHENRANGELOOSE] = '^\\\\s*(' + src[XRANGEPLAINLOOSE] + ')' +\n '\\\\s+-\\\\s+' +\n '(' + src[XRANGEPLAINLOOSE] + ')' +\n '\\\\s*$';\n\n// Star ranges basically just allow anything at all.\nvar STAR = R++;\nsrc[STAR] = '(<|>)?=?\\\\s*\\\\*';\n\n// Compile to actual regexp objects.\n// All are flag-free, unless they were created above with a flag.\nfor (var i = 0; i < R; i++) {\n debug(i, src[i]);\n if (!re[i])\n re[i] = new RegExp(src[i]);\n}\n\nexports.parse = parse;\nfunction parse(version, loose) {\n if (version instanceof SemVer)\n return version;\n\n if (typeof version !== 'string')\n return null;\n\n if (version.length > MAX_LENGTH)\n return null;\n\n var r = loose ? re[LOOSE] : re[FULL];\n if (!r.test(version))\n return null;\n\n try {\n return new SemVer(version, loose);\n } catch (er) {\n return null;\n }\n}\n\nexports.valid = valid;\nfunction valid(version, loose) {\n var v = parse(version, loose);\n return v ? v.version : null;\n}\n\n\nexports.clean = clean;\nfunction clean(version, loose) {\n var s = parse(version.trim().replace(/^[=v]+/, ''), loose);\n return s ? s.version : null;\n}\n\nexports.SemVer = SemVer;\n\nfunction SemVer(version, loose) {\n if (version instanceof SemVer) {\n if (version.loose === loose)\n return version;\n else\n version = version.version;\n } else if (typeof version !== 'string') {\n throw new TypeError('Invalid Version: ' + version);\n }\n\n if (version.length > MAX_LENGTH)\n throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters')\n\n if (!(this instanceof SemVer))\n return new SemVer(version, loose);\n\n debug('SemVer', version, loose);\n this.loose = loose;\n var m = version.trim().match(loose ? re[LOOSE] : re[FULL]);\n\n if (!m)\n throw new TypeError('Invalid Version: ' + version);\n\n this.raw = version;\n\n // these are actually numbers\n this.major = +m[1];\n this.minor = +m[2];\n this.patch = +m[3];\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0)\n throw new TypeError('Invalid major version')\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0)\n throw new TypeError('Invalid minor version')\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0)\n throw new TypeError('Invalid patch version')\n\n // numberify any prerelease numeric ids\n if (!m[4])\n this.prerelease = [];\n else\n this.prerelease = m[4].split('.').map(function(id) {\n if (/^[0-9]+$/.test(id)) {\n var num = +id;\n if (num >= 0 && num < MAX_SAFE_INTEGER)\n return num;\n }\n return id;\n });\n\n this.build = m[5] ? m[5].split('.') : [];\n this.format();\n}\n\nSemVer.prototype.format = function() {\n this.version = this.major + '.' + this.minor + '.' + this.patch;\n if (this.prerelease.length)\n this.version += '-' + this.prerelease.join('.');\n return this.version;\n};\n\nSemVer.prototype.toString = function() {\n return this.version;\n};\n\nSemVer.prototype.compare = function(other) {\n debug('SemVer.compare', this.version, this.loose, other);\n if (!(other instanceof SemVer))\n other = new SemVer(other, this.loose);\n\n return this.compareMain(other) || this.comparePre(other);\n};\n\nSemVer.prototype.compareMain = function(other) {\n if (!(other instanceof SemVer))\n other = new SemVer(other, this.loose);\n\n return compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch);\n};\n\nSemVer.prototype.comparePre = function(other) {\n if (!(other instanceof SemVer))\n other = new SemVer(other, this.loose);\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length)\n return -1;\n else if (!this.prerelease.length && other.prerelease.length)\n return 1;\n else if (!this.prerelease.length && !other.prerelease.length)\n return 0;\n\n var i = 0;\n do {\n var a = this.prerelease[i];\n var b = other.prerelease[i];\n debug('prerelease compare', i, a, b);\n if (a === undefined && b === undefined)\n return 0;\n else if (b === undefined)\n return 1;\n else if (a === undefined)\n return -1;\n else if (a === b)\n continue;\n else\n return compareIdentifiers(a, b);\n } while (++i);\n};\n\n// preminor will bump the version up to the next minor release, and immediately\n// down to pre-release. premajor and prepatch work the same way.\nSemVer.prototype.inc = function(release, identifier) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor = 0;\n this.major++;\n this.inc('pre', identifier);\n break;\n case 'preminor':\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor++;\n this.inc('pre', identifier);\n break;\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0;\n this.inc('patch', identifier);\n this.inc('pre', identifier);\n break;\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0)\n this.inc('patch', identifier);\n this.inc('pre', identifier);\n break;\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0)\n this.major++;\n this.minor = 0;\n this.patch = 0;\n this.prerelease = [];\n break;\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0)\n this.minor++;\n this.patch = 0;\n this.prerelease = [];\n break;\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0)\n this.patch++;\n this.prerelease = [];\n break;\n // This probably shouldn't be used publicly.\n // 1.0.0 \"pre\" would become 1.0.0-0 which is the wrong direction.\n case 'pre':\n if (this.prerelease.length === 0)\n this.prerelease = [0];\n else {\n var i = this.prerelease.length;\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++;\n i = -2;\n }\n }\n if (i === -1) // didn't increment anything\n this.prerelease.push(0);\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n if (this.prerelease[0] === identifier) {\n if (isNaN(this.prerelease[1]))\n this.prerelease = [identifier, 0];\n } else\n this.prerelease = [identifier, 0];\n }\n break;\n\n default:\n throw new Error('invalid increment argument: ' + release);\n }\n this.format();\n this.raw = this.version;\n return this;\n};\n\nexports.inc = inc;\nfunction inc(version, release, loose, identifier) {\n if (typeof(loose) === 'string') {\n identifier = loose;\n loose = undefined;\n }\n\n try {\n return new SemVer(version, loose).inc(release, identifier).version;\n } catch (er) {\n return null;\n }\n}\n\nexports.diff = diff;\nfunction diff(version1, version2) {\n if (eq(version1, version2)) {\n return null;\n } else {\n var v1 = parse(version1);\n var v2 = parse(version2);\n if (v1.prerelease.length || v2.prerelease.length) {\n for (var key in v1) {\n if (key === 'major' || key === 'minor' || key === 'patch') {\n if (v1[key] !== v2[key]) {\n return 'pre'+key;\n }\n }\n }\n return 'prerelease';\n }\n for (var key in v1) {\n if (key === 'major' || key === 'minor' || key === 'patch') {\n if (v1[key] !== v2[key]) {\n return key;\n }\n }\n }\n }\n}\n\nexports.compareIdentifiers = compareIdentifiers;\n\nvar numeric = /^[0-9]+$/;\nfunction compareIdentifiers(a, b) {\n var anum = numeric.test(a);\n var bnum = numeric.test(b);\n\n if (anum && bnum) {\n a = +a;\n b = +b;\n }\n\n return (anum && !bnum) ? -1 :\n (bnum && !anum) ? 1 :\n a < b ? -1 :\n a > b ? 1 :\n 0;\n}\n\nexports.rcompareIdentifiers = rcompareIdentifiers;\nfunction rcompareIdentifiers(a, b) {\n return compareIdentifiers(b, a);\n}\n\nexports.major = major;\nfunction major(a, loose) {\n return new SemVer(a, loose).major;\n}\n\nexports.minor = minor;\nfunction minor(a, loose) {\n return new SemVer(a, loose).minor;\n}\n\nexports.patch = patch;\nfunction patch(a, loose) {\n return new SemVer(a, loose).patch;\n}\n\nexports.compare = compare;\nfunction compare(a, b, loose) {\n return new SemVer(a, loose).compare(new SemVer(b, loose));\n}\n\nexports.compareLoose = compareLoose;\nfunction compareLoose(a, b) {\n return compare(a, b, true);\n}\n\nexports.rcompare = rcompare;\nfunction rcompare(a, b, loose) {\n return compare(b, a, loose);\n}\n\nexports.sort = sort;\nfunction sort(list, loose) {\n return list.sort(function(a, b) {\n return exports.compare(a, b, loose);\n });\n}\n\nexports.rsort = rsort;\nfunction rsort(list, loose) {\n return list.sort(function(a, b) {\n return exports.rcompare(a, b, loose);\n });\n}\n\nexports.gt = gt;\nfunction gt(a, b, loose) {\n return compare(a, b, loose) > 0;\n}\n\nexports.lt = lt;\nfunction lt(a, b, loose) {\n return compare(a, b, loose) < 0;\n}\n\nexports.eq = eq;\nfunction eq(a, b, loose) {\n return compare(a, b, loose) === 0;\n}\n\nexports.neq = neq;\nfunction neq(a, b, loose) {\n return compare(a, b, loose) !== 0;\n}\n\nexports.gte = gte;\nfunction gte(a, b, loose) {\n return compare(a, b, loose) >= 0;\n}\n\nexports.lte = lte;\nfunction lte(a, b, loose) {\n return compare(a, b, loose) <= 0;\n}\n\nexports.cmp = cmp;\nfunction cmp(a, op, b, loose) {\n var ret;\n switch (op) {\n case '===':\n if (typeof a === 'object') a = a.version;\n if (typeof b === 'object') b = b.version;\n ret = a === b;\n break;\n case '!==':\n if (typeof a === 'object') a = a.version;\n if (typeof b === 'object') b = b.version;\n ret = a !== b;\n break;\n case '': case '=': case '==': ret = eq(a, b, loose); break;\n case '!=': ret = neq(a, b, loose); break;\n case '>': ret = gt(a, b, loose); break;\n case '>=': ret = gte(a, b, loose); break;\n case '<': ret = lt(a, b, loose); break;\n case '<=': ret = lte(a, b, loose); break;\n default: throw new TypeError('Invalid operator: ' + op);\n }\n return ret;\n}\n\nexports.Comparator = Comparator;\nfunction Comparator(comp, loose) {\n if (comp instanceof Comparator) {\n if (comp.loose === loose)\n return comp;\n else\n comp = comp.value;\n }\n\n if (!(this instanceof Comparator))\n return new Comparator(comp, loose);\n\n debug('comparator', comp, loose);\n this.loose = loose;\n this.parse(comp);\n\n if (this.semver === ANY)\n this.value = '';\n else\n this.value = this.operator + this.semver.version;\n\n debug('comp', this);\n}\n\nvar ANY = {};\nComparator.prototype.parse = function(comp) {\n var r = this.loose ? re[COMPARATORLOOSE] : re[COMPARATOR];\n var m = comp.match(r);\n\n if (!m)\n throw new TypeError('Invalid comparator: ' + comp);\n\n this.operator = m[1];\n if (this.operator === '=')\n this.operator = '';\n\n // if it literally is just '>' or '' then allow anything.\n if (!m[2])\n this.semver = ANY;\n else\n this.semver = new SemVer(m[2], this.loose);\n};\n\nComparator.prototype.toString = function() {\n return this.value;\n};\n\nComparator.prototype.test = function(version) {\n debug('Comparator.test', version, this.loose);\n\n if (this.semver === ANY)\n return true;\n\n if (typeof version === 'string')\n version = new SemVer(version, this.loose);\n\n return cmp(version, this.operator, this.semver, this.loose);\n};\n\nComparator.prototype.intersects = function(comp, loose) {\n if (!(comp instanceof Comparator)) {\n throw new TypeError('a Comparator is required');\n }\n\n var rangeTmp;\n\n if (this.operator === '') {\n rangeTmp = new Range(comp.value, loose);\n return satisfies(this.value, rangeTmp, loose);\n } else if (comp.operator === '') {\n rangeTmp = new Range(this.value, loose);\n return satisfies(comp.semver, rangeTmp, loose);\n }\n\n var sameDirectionIncreasing =\n (this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '>=' || comp.operator === '>');\n var sameDirectionDecreasing =\n (this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '<=' || comp.operator === '<');\n var sameSemVer = this.semver.version === comp.semver.version;\n var differentDirectionsInclusive =\n (this.operator === '>=' || this.operator === '<=') &&\n (comp.operator === '>=' || comp.operator === '<=');\n var oppositeDirectionsLessThan =\n cmp(this.semver, '<', comp.semver, loose) &&\n ((this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '<=' || comp.operator === '<'));\n var oppositeDirectionsGreaterThan =\n cmp(this.semver, '>', comp.semver, loose) &&\n ((this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '>=' || comp.operator === '>'));\n\n return sameDirectionIncreasing || sameDirectionDecreasing ||\n (sameSemVer && differentDirectionsInclusive) ||\n oppositeDirectionsLessThan || oppositeDirectionsGreaterThan;\n};\n\n\nexports.Range = Range;\nfunction Range(range, loose) {\n if (range instanceof Range) {\n if (range.loose === loose) {\n return range;\n } else {\n return new Range(range.raw, loose);\n }\n }\n\n if (range instanceof Comparator) {\n return new Range(range.value, loose);\n }\n\n if (!(this instanceof Range))\n return new Range(range, loose);\n\n this.loose = loose;\n\n // First, split based on boolean or ||\n this.raw = range;\n this.set = range.split(/\\s*\\|\\|\\s*/).map(function(range) {\n return this.parseRange(range.trim());\n }, this).filter(function(c) {\n // throw out any that are not relevant for whatever reason\n return c.length;\n });\n\n if (!this.set.length) {\n throw new TypeError('Invalid SemVer Range: ' + range);\n }\n\n this.format();\n}\n\nRange.prototype.format = function() {\n this.range = this.set.map(function(comps) {\n return comps.join(' ').trim();\n }).join('||').trim();\n return this.range;\n};\n\nRange.prototype.toString = function() {\n return this.range;\n};\n\nRange.prototype.parseRange = function(range) {\n var loose = this.loose;\n range = range.trim();\n debug('range', range, loose);\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n var hr = loose ? re[HYPHENRANGELOOSE] : re[HYPHENRANGE];\n range = range.replace(hr, hyphenReplace);\n debug('hyphen replace', range);\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n range = range.replace(re[COMPARATORTRIM], comparatorTrimReplace);\n debug('comparator trim', range, re[COMPARATORTRIM]);\n\n // `~ 1.2.3` => `~1.2.3`\n range = range.replace(re[TILDETRIM], tildeTrimReplace);\n\n // `^ 1.2.3` => `^1.2.3`\n range = range.replace(re[CARETTRIM], caretTrimReplace);\n\n // normalize spaces\n range = range.split(/\\s+/).join(' ');\n\n // At this point, the range is completely trimmed and\n // ready to be split into comparators.\n\n var compRe = loose ? re[COMPARATORLOOSE] : re[COMPARATOR];\n var set = range.split(' ').map(function(comp) {\n return parseComparator(comp, loose);\n }).join(' ').split(/\\s+/);\n if (this.loose) {\n // in loose mode, throw out any that are not valid comparators\n set = set.filter(function(comp) {\n return !!comp.match(compRe);\n });\n }\n set = set.map(function(comp) {\n return new Comparator(comp, loose);\n });\n\n return set;\n};\n\nRange.prototype.intersects = function(range, loose) {\n if (!(range instanceof Range)) {\n throw new TypeError('a Range is required');\n }\n\n return this.set.some(function(thisComparators) {\n return thisComparators.every(function(thisComparator) {\n return range.set.some(function(rangeComparators) {\n return rangeComparators.every(function(rangeComparator) {\n return thisComparator.intersects(rangeComparator, loose);\n });\n });\n });\n });\n};\n\n// Mostly just for testing and legacy API reasons\nexports.toComparators = toComparators;\nfunction toComparators(range, loose) {\n return new Range(range, loose).set.map(function(comp) {\n return comp.map(function(c) {\n return c.value;\n }).join(' ').trim().split(' ');\n });\n}\n\n// comprised of xranges, tildes, stars, and gtlt's at this point.\n// already replaced the hyphen ranges\n// turn into a set of JUST comparators.\nfunction parseComparator(comp, loose) {\n debug('comp', comp);\n comp = replaceCarets(comp, loose);\n debug('caret', comp);\n comp = replaceTildes(comp, loose);\n debug('tildes', comp);\n comp = replaceXRanges(comp, loose);\n debug('xrange', comp);\n comp = replaceStars(comp, loose);\n debug('stars', comp);\n return comp;\n}\n\nfunction isX(id) {\n return !id || id.toLowerCase() === 'x' || id === '*';\n}\n\n// ~, ~> --> * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0\nfunction replaceTildes(comp, loose) {\n return comp.trim().split(/\\s+/).map(function(comp) {\n return replaceTilde(comp, loose);\n }).join(' ');\n}\n\nfunction replaceTilde(comp, loose) {\n var r = loose ? re[TILDELOOSE] : re[TILDE];\n return comp.replace(r, function(_, M, m, p, pr) {\n debug('tilde', comp, _, M, m, p, pr);\n var ret;\n\n if (isX(M))\n ret = '';\n else if (isX(m))\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0';\n else if (isX(p))\n // ~1.2 == >=1.2.0 <1.3.0\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0';\n else if (pr) {\n debug('replaceTilde pr', pr);\n if (pr.charAt(0) !== '-')\n pr = '-' + pr;\n ret = '>=' + M + '.' + m + '.' + p + pr +\n ' <' + M + '.' + (+m + 1) + '.0';\n } else\n // ~1.2.3 == >=1.2.3 <1.3.0\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + (+m + 1) + '.0';\n\n debug('tilde return', ret);\n return ret;\n });\n}\n\n// ^ --> * (any, kinda silly)\n// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0\n// ^1.2.3 --> >=1.2.3 <2.0.0\n// ^1.2.0 --> >=1.2.0 <2.0.0\nfunction replaceCarets(comp, loose) {\n return comp.trim().split(/\\s+/).map(function(comp) {\n return replaceCaret(comp, loose);\n }).join(' ');\n}\n\nfunction replaceCaret(comp, loose) {\n debug('caret', comp, loose);\n var r = loose ? re[CARETLOOSE] : re[CARET];\n return comp.replace(r, function(_, M, m, p, pr) {\n debug('caret', comp, _, M, m, p, pr);\n var ret;\n\n if (isX(M))\n ret = '';\n else if (isX(m))\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0';\n else if (isX(p)) {\n if (M === '0')\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0';\n else\n ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0';\n } else if (pr) {\n debug('replaceCaret pr', pr);\n if (pr.charAt(0) !== '-')\n pr = '-' + pr;\n if (M === '0') {\n if (m === '0')\n ret = '>=' + M + '.' + m + '.' + p + pr +\n ' <' + M + '.' + m + '.' + (+p + 1);\n else\n ret = '>=' + M + '.' + m + '.' + p + pr +\n ' <' + M + '.' + (+m + 1) + '.0';\n } else\n ret = '>=' + M + '.' + m + '.' + p + pr +\n ' <' + (+M + 1) + '.0.0';\n } else {\n debug('no pr');\n if (M === '0') {\n if (m === '0')\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + m + '.' + (+p + 1);\n else\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + (+m + 1) + '.0';\n } else\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + (+M + 1) + '.0.0';\n }\n\n debug('caret return', ret);\n return ret;\n });\n}\n\nfunction replaceXRanges(comp, loose) {\n debug('replaceXRanges', comp, loose);\n return comp.split(/\\s+/).map(function(comp) {\n return replaceXRange(comp, loose);\n }).join(' ');\n}\n\nfunction replaceXRange(comp, loose) {\n comp = comp.trim();\n var r = loose ? re[XRANGELOOSE] : re[XRANGE];\n return comp.replace(r, function(ret, gtlt, M, m, p, pr) {\n debug('xRange', comp, ret, gtlt, M, m, p, pr);\n var xM = isX(M);\n var xm = xM || isX(m);\n var xp = xm || isX(p);\n var anyX = xp;\n\n if (gtlt === '=' && anyX)\n gtlt = '';\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<0.0.0';\n } else {\n // nothing is forbidden\n ret = '*';\n }\n } else if (gtlt && anyX) {\n // replace X with 0\n if (xm)\n m = 0;\n if (xp)\n p = 0;\n\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n // >1.2.3 => >= 1.2.4\n gtlt = '>=';\n if (xm) {\n M = +M + 1;\n m = 0;\n p = 0;\n } else if (xp) {\n m = +m + 1;\n p = 0;\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should\n // pass. Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<';\n if (xm)\n M = +M + 1;\n else\n m = +m + 1;\n }\n\n ret = gtlt + M + '.' + m + '.' + p;\n } else if (xm) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0';\n } else if (xp) {\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0';\n }\n\n debug('xRange return', ret);\n\n return ret;\n });\n}\n\n// Because * is AND-ed with everything else in the comparator,\n// and '' means \"any version\", just remove the *s entirely.\nfunction replaceStars(comp, loose) {\n debug('replaceStars', comp, loose);\n // Looseness is ignored here. star is always as loose as it gets!\n return comp.trim().replace(re[STAR], '');\n}\n\n// This function is passed to string.replace(re[HYPHENRANGE])\n// M, m, patch, prerelease, build\n// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0\nfunction hyphenReplace($0,\n from, fM, fm, fp, fpr, fb,\n to, tM, tm, tp, tpr, tb) {\n\n if (isX(fM))\n from = '';\n else if (isX(fm))\n from = '>=' + fM + '.0.0';\n else if (isX(fp))\n from = '>=' + fM + '.' + fm + '.0';\n else\n from = '>=' + from;\n\n if (isX(tM))\n to = '';\n else if (isX(tm))\n to = '<' + (+tM + 1) + '.0.0';\n else if (isX(tp))\n to = '<' + tM + '.' + (+tm + 1) + '.0';\n else if (tpr)\n to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr;\n else\n to = '<=' + to;\n\n return (from + ' ' + to).trim();\n}\n\n\n// if ANY of the sets match ALL of its comparators, then pass\nRange.prototype.test = function(version) {\n if (!version)\n return false;\n\n if (typeof version === 'string')\n version = new SemVer(version, this.loose);\n\n for (var i = 0; i < this.set.length; i++) {\n if (testSet(this.set[i], version))\n return true;\n }\n return false;\n};\n\nfunction testSet(set, version) {\n for (var i = 0; i < set.length; i++) {\n if (!set[i].test(version))\n return false;\n }\n\n if (version.prerelease.length) {\n // Find the set of versions that are allowed to have prereleases\n // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n // That should allow `1.2.3-pr.2` to pass.\n // However, `1.2.4-alpha.notready` should NOT be allowed,\n // even though it's within the range set by the comparators.\n for (var i = 0; i < set.length; i++) {\n debug(set[i].semver);\n if (set[i].semver === ANY)\n continue;\n\n if (set[i].semver.prerelease.length > 0) {\n var allowed = set[i].semver;\n if (allowed.major === version.major &&\n allowed.minor === version.minor &&\n allowed.patch === version.patch)\n return true;\n }\n }\n\n // Version has a -pre, but it's not one of the ones we like.\n return false;\n }\n\n return true;\n}\n\nexports.satisfies = satisfies;\nfunction satisfies(version, range, loose) {\n try {\n range = new Range(range, loose);\n } catch (er) {\n return false;\n }\n return range.test(version);\n}\n\nexports.maxSatisfying = maxSatisfying;\nfunction maxSatisfying(versions, range, loose) {\n var max = null;\n var maxSV = null;\n try {\n var rangeObj = new Range(range, loose);\n } catch (er) {\n return null;\n }\n versions.forEach(function (v) {\n if (rangeObj.test(v)) { // satisfies(v, range, loose)\n if (!max || maxSV.compare(v) === -1) { // compare(max, v, true)\n max = v;\n maxSV = new SemVer(max, loose);\n }\n }\n })\n return max;\n}\n\nexports.minSatisfying = minSatisfying;\nfunction minSatisfying(versions, range, loose) {\n var min = null;\n var minSV = null;\n try {\n var rangeObj = new Range(range, loose);\n } catch (er) {\n return null;\n }\n versions.forEach(function (v) {\n if (rangeObj.test(v)) { // satisfies(v, range, loose)\n if (!min || minSV.compare(v) === 1) { // compare(min, v, true)\n min = v;\n minSV = new SemVer(min, loose);\n }\n }\n })\n return min;\n}\n\nexports.validRange = validRange;\nfunction validRange(range, loose) {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range(range, loose).range || '*';\n } catch (er) {\n return null;\n }\n}\n\n// Determine if version is less than all the versions possible in the range\nexports.ltr = ltr;\nfunction ltr(version, range, loose) {\n return outside(version, range, '<', loose);\n}\n\n// Determine if version is greater than all the versions possible in the range.\nexports.gtr = gtr;\nfunction gtr(version, range, loose) {\n return outside(version, range, '>', loose);\n}\n\nexports.outside = outside;\nfunction outside(version, range, hilo, loose) {\n version = new SemVer(version, loose);\n range = new Range(range, loose);\n\n var gtfn, ltefn, ltfn, comp, ecomp;\n switch (hilo) {\n case '>':\n gtfn = gt;\n ltefn = lte;\n ltfn = lt;\n comp = '>';\n ecomp = '>=';\n break;\n case '<':\n gtfn = lt;\n ltefn = gte;\n ltfn = gt;\n comp = '<';\n ecomp = '<=';\n break;\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"');\n }\n\n // If it satisifes the range it is not outside\n if (satisfies(version, range, loose)) {\n return false;\n }\n\n // From now on, variable terms are as if we're in \"gtr\" mode.\n // but note that everything is flipped for the \"ltr\" function.\n\n for (var i = 0; i < range.set.length; ++i) {\n var comparators = range.set[i];\n\n var high = null;\n var low = null;\n\n comparators.forEach(function(comparator) {\n if (comparator.semver === ANY) {\n comparator = new Comparator('>=0.0.0')\n }\n high = high || comparator;\n low = low || comparator;\n if (gtfn(comparator.semver, high.semver, loose)) {\n high = comparator;\n } else if (ltfn(comparator.semver, low.semver, loose)) {\n low = comparator;\n }\n });\n\n // If the edge version comparator has a operator then our version\n // isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false;\n }\n\n // If the lowest version comparator has an operator and our version\n // is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false;\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false;\n }\n }\n return true;\n}\n\nexports.prerelease = prerelease;\nfunction prerelease(version, loose) {\n var parsed = parse(version, loose);\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null;\n}\n\nexports.intersects = intersects;\nfunction intersects(r1, r2, loose) {\n r1 = new Range(r1, loose)\n r2 = new Range(r2, loose)\n return r1.intersects(r2)\n}\n\nexports.coerce = coerce;\nfunction coerce(version) {\n if (version instanceof SemVer)\n return version;\n\n if (typeof version !== 'string')\n return null;\n\n var match = version.match(re[COERCE]);\n\n if (match == null)\n return null;\n\n return parse((match[1] || '0') + '.' + (match[2] || '0') + '.' + (match[3] || '0')); \n}\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(457)))\n\n/***/ }),\n/* 457 */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n/* 458 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_transforms__ = __webpack_require__(526);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vega_view_transforms__ = __webpack_require__(584);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_vega_encode__ = __webpack_require__(640);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_vega_geo__ = __webpack_require__(741);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_vega_force__ = __webpack_require__(784);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_vega_hierarchy__ = __webpack_require__(811);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_vega_voronoi__ = __webpack_require__(840);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_vega_wordcloud__ = __webpack_require__(847);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_vega_crossfilter__ = __webpack_require__(850);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__package_json__ = __webpack_require__(856);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__package_json___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11__package_json__);\n/* harmony reexport (binding) */ if(__webpack_require__.o(__WEBPACK_IMPORTED_MODULE_11__package_json__, \"version\")) __webpack_require__.d(__webpack_exports__, \"version\", function() { return __WEBPACK_IMPORTED_MODULE_11__package_json__[\"version\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_vega_statistics__ = __webpack_require__(46);\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"bin\", function() { return __WEBPACK_IMPORTED_MODULE_12_vega_statistics__[\"a\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"bootstrapCI\", function() { return __WEBPACK_IMPORTED_MODULE_12_vega_statistics__[\"b\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"quartiles\", function() { return __WEBPACK_IMPORTED_MODULE_12_vega_statistics__[\"c\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"random\", function() { return __WEBPACK_IMPORTED_MODULE_12_vega_statistics__[\"d\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"setRandom\", function() { return __WEBPACK_IMPORTED_MODULE_12_vega_statistics__[\"j\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"randomInteger\", function() { return __WEBPACK_IMPORTED_MODULE_12_vega_statistics__[\"e\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"randomKDE\", function() { return __WEBPACK_IMPORTED_MODULE_12_vega_statistics__[\"f\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"randomMixture\", function() { return __WEBPACK_IMPORTED_MODULE_12_vega_statistics__[\"g\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"randomNormal\", function() { return __WEBPACK_IMPORTED_MODULE_12_vega_statistics__[\"h\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"randomUniform\", function() { return __WEBPACK_IMPORTED_MODULE_12_vega_statistics__[\"i\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"accessor\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"f\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"accessorName\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"h\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"accessorFields\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"g\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"id\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"s\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"identity\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"t\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"zero\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"X\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"one\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"G\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"truthy\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"V\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"falsy\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"p\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"logger\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"E\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"None\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"d\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Error\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"b\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Warn\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"e\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Info\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"c\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Debug\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"a\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"panLinear\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"I\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"panLog\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"J\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"panPow\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"K\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"zoomLinear\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"Y\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"zoomLog\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"Z\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"zoomPow\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"_0\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"array\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"i\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"compare\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"j\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"constant\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"k\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"debounce\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"l\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"error\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"m\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"extend\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"n\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"extentIndex\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"o\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"fastmap\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"q\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"field\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"r\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"inherits\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"u\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"isArray\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"v\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"isBoolean\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"w\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"isDate\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"x\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"isFunction\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"y\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"isNumber\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"z\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"isObject\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"A\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"isRegExp\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"B\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"isString\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"C\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"key\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"D\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"merge\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"F\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"pad\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"H\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"peek\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"L\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"repeat\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"M\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"splitAccessPath\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"N\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"stringValue\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"O\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"toBoolean\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"P\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"toDate\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"Q\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"toNumber\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"R\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"toString\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"T\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"toSet\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"S\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"truncate\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"U\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"visitArray\", function() { return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"W\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_vega_loader__ = __webpack_require__(65);\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"loader\", function() { return __WEBPACK_IMPORTED_MODULE_13_vega_loader__[\"d\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"read\", function() { return __WEBPACK_IMPORTED_MODULE_13_vega_loader__[\"e\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"inferType\", function() { return __WEBPACK_IMPORTED_MODULE_13_vega_loader__[\"b\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"inferTypes\", function() { return __WEBPACK_IMPORTED_MODULE_13_vega_loader__[\"c\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"typeParsers\", function() { return __WEBPACK_IMPORTED_MODULE_13_vega_loader__[\"f\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"formats\", function() { return __WEBPACK_IMPORTED_MODULE_13_vega_loader__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__ = __webpack_require__(20);\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Bounds\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"a\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Gradient\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"d\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"GroupItem\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"e\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"ResourceLoader\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"k\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Item\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"g\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Scenegraph\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"o\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Handler\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"f\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Renderer\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"j\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"CanvasHandler\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"b\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"CanvasRenderer\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"c\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"SVGHandler\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"l\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"SVGRenderer\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"m\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"SVGStringRenderer\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"n\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"RenderType\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"i\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"renderModule\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"L\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"Marks\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"h\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"boundClip\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"p\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"boundContext\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"q\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"boundStroke\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"t\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"boundItem\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"r\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"boundMark\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"s\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"pathCurves\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"D\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"pathSymbols\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"I\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"pathRectangle\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"G\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"pathTrail\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"J\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"pathParse\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"F\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"pathRender\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"H\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"point\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"K\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"domCreate\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"x\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"domFind\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"y\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"domChild\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"v\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"domClear\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"w\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"openTag\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"C\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"closeTag\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"u\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"font\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"z\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"fontFamily\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"A\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"fontSize\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"B\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"textMetrics\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"T\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"resetSVGClipId\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"M\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"sceneEqual\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"N\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"pathEqual\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"E\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"sceneToJSON\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"Q\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"sceneFromJSON\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"O\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"sceneZOrder\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"S\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"sceneVisit\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"R\"]; });\n/* harmony namespace reexport (by provided) */ __webpack_require__.d(__webpack_exports__, \"scenePickVisit\", function() { return __WEBPACK_IMPORTED_MODULE_14_vega_scenegraph__[\"P\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"Dataflow\", function() { return __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"EventStream\", function() { return __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"Parameters\", function() { return __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"e\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"Pulse\", function() { return __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"f\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"MultiPulse\", function() { return __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"c\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"Operator\", function() { return __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"d\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"Transform\", function() { return __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"g\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"changeset\", function() { return __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"h\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"ingest\", function() { return __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"k\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"isTuple\", function() { return __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"m\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"definition\", function() { return __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"i\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"transform\", function() { return __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"p\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"transforms\", function() { return __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"q\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"tupleid\", function() { return __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"r\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15_vega_scale__ = __webpack_require__(52);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"scale\", function() { return __WEBPACK_IMPORTED_MODULE_15_vega_scale__[\"d\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"scheme\", function() { return __WEBPACK_IMPORTED_MODULE_15_vega_scale__[\"g\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemeDiscretized\", function() { return __WEBPACK_IMPORTED_MODULE_15_vega_scale__[\"h\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolate\", function() { return __WEBPACK_IMPORTED_MODULE_15_vega_scale__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateRange\", function() { return __WEBPACK_IMPORTED_MODULE_15_vega_scale__[\"c\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"timeInterval\", function() { return __WEBPACK_IMPORTED_MODULE_15_vega_scale__[\"i\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"utcInterval\", function() { return __WEBPACK_IMPORTED_MODULE_15_vega_scale__[\"j\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16_vega_projection__ = __webpack_require__(113);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"projection\", function() { return __WEBPACK_IMPORTED_MODULE_16_vega_projection__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17_vega_view__ = __webpack_require__(857);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"View\", function() { return __WEBPACK_IMPORTED_MODULE_17_vega_view__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18_vega_parser__ = __webpack_require__(348);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"parse\", function() { return __WEBPACK_IMPORTED_MODULE_18_vega_parser__[\"d\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"expressionFunction\", function() { return __WEBPACK_IMPORTED_MODULE_18_vega_parser__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"formatLocale\", function() { return __WEBPACK_IMPORTED_MODULE_18_vega_parser__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"timeFormatLocale\", function() { return __WEBPACK_IMPORTED_MODULE_18_vega_parser__[\"e\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19_vega_runtime__ = __webpack_require__(366);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"runtime\", function() { return __WEBPACK_IMPORTED_MODULE_19_vega_runtime__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"runtimeContext\", function() { return __WEBPACK_IMPORTED_MODULE_19_vega_runtime__[\"a\"]; });\n// -- Transforms -----\n\n\n\n\n\n\n\n\n\n\n\n\nObject(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"n\" /* extend */])(__WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"q\" /* transforms */], __WEBPACK_IMPORTED_MODULE_2_vega_transforms__, __WEBPACK_IMPORTED_MODULE_3_vega_view_transforms__, __WEBPACK_IMPORTED_MODULE_4_vega_encode__, __WEBPACK_IMPORTED_MODULE_5_vega_geo__, __WEBPACK_IMPORTED_MODULE_6_vega_force__, __WEBPACK_IMPORTED_MODULE_7_vega_hierarchy__, __WEBPACK_IMPORTED_MODULE_8_vega_voronoi__, __WEBPACK_IMPORTED_MODULE_9_vega_wordcloud__, __WEBPACK_IMPORTED_MODULE_10_vega_crossfilter__);\n\n\n// -- Exports -----\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 459 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return None; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return Error; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return Warn; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return Info; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Debug; });\nfunction log(method, level, input) {\n var args = [level].concat([].slice.call(input));\n console[method].apply(console, args); // eslint-disable-line no-console\n}\n\nvar None = 0;\nvar Error = 1;\nvar Warn = 2;\nvar Info = 3;\nvar Debug = 4;\n\n/* harmony default export */ __webpack_exports__[\"f\"] = (function(_) {\n var level = _ || None;\n return {\n level: function(_) {\n if (arguments.length) {\n level = +_;\n return this;\n } else {\n return level;\n }\n },\n error: function() {\n if (level >= Error) log('error', 'ERROR', arguments);\n return this;\n },\n warn: function() {\n if (level >= Warn) log('warn', 'WARN', arguments);\n return this;\n },\n info: function() {\n if (level >= Info) log('log', 'INFO', arguments);\n return this;\n },\n debug: function() {\n if (level >= Debug) log('log', 'DEBUG', arguments);\n return this;\n }\n }\n});\n\n\n/***/ }),\n/* 460 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = panLinear;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = panLog;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = panPow;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = zoomLinear;\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = zoomLog;\n/* harmony export (immutable) */ __webpack_exports__[\"f\"] = zoomPow;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__accessors__ = __webpack_require__(220);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__peek__ = __webpack_require__(225);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__toNumber__ = __webpack_require__(226);\n\n\n\n\nfunction exp(sign) {\n return function(x) { return sign * Math.exp(x); };\n}\n\nfunction log(sign) {\n return function(x) { return Math.log(sign * x); };\n}\n\nfunction pow(exponent) {\n return function(x) {\n return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent);\n };\n}\n\nfunction pan(domain, delta, lift, ground) {\n var d0 = lift(domain[0]),\n d1 = lift(Object(__WEBPACK_IMPORTED_MODULE_1__peek__[\"a\" /* default */])(domain)),\n dd = (d1 - d0) * delta;\n\n return [\n ground(d0 - dd),\n ground(d1 - dd)\n ];\n}\n\nfunction panLinear(domain, delta) {\n return pan(domain, delta, __WEBPACK_IMPORTED_MODULE_2__toNumber__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_0__accessors__[\"c\" /* identity */]);\n}\n\nfunction panLog(domain, delta) {\n var sign = Math.sign(domain[0]);\n return pan(domain, delta, log(sign), exp(sign));\n}\n\nfunction panPow(domain, delta, exponent) {\n return pan(domain, delta, pow(exponent), pow(1/exponent));\n}\n\nfunction zoom(domain, anchor, scale, lift, ground) {\n var d0 = lift(domain[0]),\n d1 = lift(Object(__WEBPACK_IMPORTED_MODULE_1__peek__[\"a\" /* default */])(domain)),\n da = anchor != null ? lift(anchor) : (d0 + d1) / 2;\n\n return [\n ground(da + (d0 - da) * scale),\n ground(da + (d1 - da) * scale)\n ];\n}\n\nfunction zoomLinear(domain, anchor, scale) {\n return zoom(domain, anchor, scale, __WEBPACK_IMPORTED_MODULE_2__toNumber__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_0__accessors__[\"c\" /* identity */]);\n}\n\nfunction zoomLog(domain, anchor, scale) {\n var sign = Math.sign(domain[0]);\n return zoom(domain, anchor, scale, log(sign), exp(sign));\n}\n\nfunction zoomPow(domain, anchor, scale, exponent) {\n return zoom(domain, anchor, scale, pow(exponent), pow(1/exponent));\n}\n\n\n/***/ }),\n/* 461 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__accessor__ = __webpack_require__(63);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__array__ = __webpack_require__(146);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__isFunction__ = __webpack_require__(147);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__splitAccessPath__ = __webpack_require__(92);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__stringValue__ = __webpack_require__(93);\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(fields, orders) {\n var idx = [],\n cmp = (fields = Object(__WEBPACK_IMPORTED_MODULE_1__array__[\"a\" /* default */])(fields)).map(function(f, i) {\n if (f == null) {\n return null;\n } else {\n idx.push(i);\n return Object(__WEBPACK_IMPORTED_MODULE_2__isFunction__[\"a\" /* default */])(f) ? f\n : Object(__WEBPACK_IMPORTED_MODULE_3__splitAccessPath__[\"a\" /* default */])(f).map(__WEBPACK_IMPORTED_MODULE_4__stringValue__[\"a\" /* default */]).join('][');\n }\n }),\n n = idx.length - 1,\n ord = Object(__WEBPACK_IMPORTED_MODULE_1__array__[\"a\" /* default */])(orders),\n code = 'var u,v;return ',\n i, j, f, u, v, d, t, lt, gt;\n\n if (n < 0) return null;\n\n for (j=0; j<=n; ++j) {\n i = idx[j];\n f = cmp[i];\n\n if (Object(__WEBPACK_IMPORTED_MODULE_2__isFunction__[\"a\" /* default */])(f)) {\n d = 'f' + i;\n u = '(u=this.' + d + '(a))';\n v = '(v=this.' + d + '(b))';\n (t = t || {})[d] = f;\n } else {\n u = '(u=a['+f+'])';\n v = '(v=b['+f+'])';\n }\n\n d = '((v=v instanceof Date?+v:v),(u=u instanceof Date?+u:u))';\n\n if (ord[i] !== 'descending') {\n gt = 1;\n lt = -1;\n } else {\n gt = -1;\n lt = 1;\n }\n\n code += '(' + u+'<'+v+'||u==null)&&v!=null?' + lt\n + ':(u>v||v==null)&&u!=null?' + gt\n + ':'+d+'!==u&&v===v?' + lt\n + ':v!==v&&u===u?' + gt\n + (i < n ? ':' : ':0');\n }\n\n f = Function('a', 'b', code + ';');\n if (t) f = f.bind(t);\n\n fields = fields.reduce(function(map, field) {\n if (Object(__WEBPACK_IMPORTED_MODULE_2__isFunction__[\"a\" /* default */])(field)) {\n (Object(__WEBPACK_IMPORTED_MODULE_0__accessor__[\"a\" /* accessorFields */])(field) || []).forEach(function(_) { map[_] = 1; });\n } else if (field != null) {\n map[field + ''] = 1;\n }\n return map;\n }, {});\n\n return Object(__WEBPACK_IMPORTED_MODULE_0__accessor__[\"c\" /* default */])(f, Object.keys(fields));\n});\n\n\n/***/ }),\n/* 462 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__isFunction__ = __webpack_require__(147);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(_) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__isFunction__[\"a\" /* default */])(_) ? _ : function() { return _; };\n});\n\n\n/***/ }),\n/* 463 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(delay, handler) {\n var tid, evt;\n\n function callback() {\n handler(evt);\n tid = evt = null;\n }\n\n return function(e) {\n evt = e;\n if (tid) clearTimeout(tid);\n tid = setTimeout(callback, delay);\n };\n});\n\n\n/***/ }),\n/* 464 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(_) {\n for (var x, k, i=1, len=arguments.length; i<len; ++i) {\n x = arguments[i];\n for (k in x) { _[k] = x[k]; }\n }\n return _;\n});\n\n\n/***/ }),\n/* 465 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(array, f) {\n var i = -1,\n n = array.length,\n a, b, c, u, v;\n\n if (f == null) {\n while (++i < n) {\n b = array[i];\n if (b != null && b >= b) {\n a = c = b;\n break;\n }\n }\n u = v = i;\n while (++i < n) {\n b = array[i];\n if (b != null) {\n if (a > b) {\n a = b;\n u = i;\n }\n if (c < b) {\n c = b;\n v = i;\n }\n }\n }\n } else {\n while (++i < n) {\n b = f(array[i], i, array);\n if (b != null && b >= b) {\n a = c = b;\n break;\n }\n }\n u = v = i;\n while (++i < n) {\n b = f(array[i], i, array);\n if (b != null) {\n if (a > b) {\n a = b;\n u = i;\n }\n if (c < b) {\n c = b;\n v = i;\n }\n }\n }\n }\n\n return [u, v];\n});\n\n\n/***/ }),\n/* 466 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar NULL = {};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(input) {\n var obj = {},\n map,\n test;\n\n function has(key) {\n return obj.hasOwnProperty(key) && obj[key] !== NULL;\n }\n\n map = {\n size: 0,\n empty: 0,\n object: obj,\n has: has,\n get: function(key) {\n return has(key) ? obj[key] : undefined;\n },\n set: function(key, value) {\n if (!has(key)) {\n ++map.size;\n if (obj[key] === NULL) --map.empty;\n }\n obj[key] = value;\n return this;\n },\n delete: function(key) {\n if (has(key)) {\n --map.size;\n ++map.empty;\n obj[key] = NULL;\n }\n return this;\n },\n clear: function() {\n map.size = map.empty = 0;\n map.object = obj = {};\n },\n test: function(_) {\n if (arguments.length) {\n test = _;\n return map;\n } else {\n return test;\n }\n },\n clean: function() {\n var next = {},\n size = 0,\n key, value;\n for (key in obj) {\n value = obj[key];\n if (value !== NULL && (!test || !test(value))) {\n next[key] = value;\n ++size;\n }\n }\n map.size = size;\n map.empty = 0;\n map.object = (obj = next);\n }\n };\n\n if (input) Object.keys(input).forEach(function(key) {\n map.set(key, input[key]);\n });\n\n return map;\n});\n\n\n/***/ }),\n/* 467 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(child, parent) {\n var proto = (child.prototype = Object.create(parent.prototype));\n proto.constructor = child;\n return proto;\n});\n\n\n/***/ }),\n/* 468 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(_) {\n return typeof _ === 'boolean';\n});\n\n\n/***/ }),\n/* 469 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(_) {\n return Object.prototype.toString.call(_) === '[object RegExp]';\n});\n\n\n/***/ }),\n/* 470 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__accessor__ = __webpack_require__(63);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__array__ = __webpack_require__(146);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__splitAccessPath__ = __webpack_require__(92);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__stringValue__ = __webpack_require__(93);\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(fields, flat) {\n if (fields) {\n fields = flat\n ? Object(__WEBPACK_IMPORTED_MODULE_1__array__[\"a\" /* default */])(fields).map(function(f) { return f.replace(/\\\\(.)/g, '$1'); })\n : Object(__WEBPACK_IMPORTED_MODULE_1__array__[\"a\" /* default */])(fields);\n }\n\n var fn = !(fields && fields.length)\n ? function() { return ''; }\n : Function('_', 'return \\'\\'+' +\n fields.map(function(f) {\n return '_[' + (flat\n ? Object(__WEBPACK_IMPORTED_MODULE_3__stringValue__[\"a\" /* default */])(f)\n : Object(__WEBPACK_IMPORTED_MODULE_2__splitAccessPath__[\"a\" /* default */])(f).map(__WEBPACK_IMPORTED_MODULE_3__stringValue__[\"a\" /* default */]).join('][')\n ) + ']';\n }).join('+\\'|\\'+') + ';');\n\n return Object(__WEBPACK_IMPORTED_MODULE_0__accessor__[\"c\" /* default */])(fn, fields, 'key');\n});\n\n\n/***/ }),\n/* 471 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(compare, array0, array1, output) {\n var n0 = array0.length,\n n1 = array1.length;\n\n if (!n1) return array0;\n if (!n0) return array1;\n\n var merged = output || new array0.constructor(n0 + n1),\n i0 = 0, i1 = 0, i = 0;\n\n for (; i0<n0 && i1<n1; ++i) {\n merged[i] = compare(array0[i0], array1[i1]) > 0\n ? array1[i1++]\n : array0[i0++];\n }\n\n for (; i0<n0; ++i0, ++i) {\n merged[i] = array0[i0];\n }\n\n for (; i1<n1; ++i1, ++i) {\n merged[i] = array1[i1];\n }\n\n return merged;\n});\n\n\n/***/ }),\n/* 472 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__repeat__ = __webpack_require__(229);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(str, length, padchar, align) {\n var c = padchar || ' ',\n s = str + '',\n n = length - s.length;\n\n return n <= 0 ? s\n : align === 'left' ? Object(__WEBPACK_IMPORTED_MODULE_0__repeat__[\"a\" /* default */])(c, n) + s\n : align === 'center' ? Object(__WEBPACK_IMPORTED_MODULE_0__repeat__[\"a\" /* default */])(c, ~~(n/2)) + s + Object(__WEBPACK_IMPORTED_MODULE_0__repeat__[\"a\" /* default */])(c, Math.ceil(n/2))\n : s + Object(__WEBPACK_IMPORTED_MODULE_0__repeat__[\"a\" /* default */])(c, n);\n});\n\n\n/***/ }),\n/* 473 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(_) {\n return _ == null || _ === '' ? null : !_ || _ === 'false' || _ === '0' ? false : !!_;\n});\n\n\n/***/ }),\n/* 474 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__isDate__ = __webpack_require__(227);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__isNumber__ = __webpack_require__(228);\n\n\n\nfunction defaultParser(_) {\n return Object(__WEBPACK_IMPORTED_MODULE_1__isNumber__[\"a\" /* default */])(_) ? _ : Object(__WEBPACK_IMPORTED_MODULE_0__isDate__[\"a\" /* default */])(_) ? _ : Date.parse(_);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(_, parser) {\n parser = parser || defaultParser;\n return _ == null || _ === '' ? null : parser(_);\n});\n\n\n/***/ }),\n/* 475 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(_) {\n return _ == null || _ === '' ? null : _ + '';\n});\n\n\n/***/ }),\n/* 476 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(_) {\n for (var s={}, i=0, n=_.length; i<n; ++i) s[_[i]] = true;\n return s;\n});\n\n\n/***/ }),\n/* 477 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(str, length, align, ellipsis) {\n var e = ellipsis != null ? ellipsis : '\\u2026',\n s = str + '',\n n = s.length,\n l = Math.max(0, length - e.length);\n\n return n <= length ? s\n : align === 'left' ? e + s.slice(n - l)\n : align === 'center' ? s.slice(0, Math.ceil(l/2)) + e + s.slice(n - ~~(l/2))\n : s.slice(0, l) + e;\n});\n\n\n/***/ }),\n/* 478 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(array, filter, visitor) {\n if (array) {\n var i = 0, n = array.length, t;\n if (filter) {\n for (; i<n; ++i) {\n if (t = filter(array[i])) visitor(t, i, array);\n }\n } else {\n array.forEach(visitor);\n }\n }\n});\n\n\n/***/ }),\n/* 479 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Dataflow;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__add__ = __webpack_require__(480);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__connect__ = __webpack_require__(481);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__events__ = __webpack_require__(482);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__load__ = __webpack_require__(483);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__on__ = __webpack_require__(519);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__rank__ = __webpack_require__(520);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__run__ = __webpack_require__(521);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__update__ = __webpack_require__(522);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__ChangeSet__ = __webpack_require__(148);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__util_Heap__ = __webpack_require__(523);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__util_UniqueList__ = __webpack_require__(64);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_vega_loader__ = __webpack_require__(65);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_vega_util__ = __webpack_require__(0);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * A dataflow graph for reactive processing of data streams.\n * @constructor\n */\nfunction Dataflow() {\n this._log = Object(__WEBPACK_IMPORTED_MODULE_12_vega_util__[\"E\" /* logger */])();\n this.logLevel(__WEBPACK_IMPORTED_MODULE_12_vega_util__[\"b\" /* Error */]);\n\n this._clock = 0;\n this._rank = 0;\n try {\n this._loader = Object(__WEBPACK_IMPORTED_MODULE_11_vega_loader__[\"d\" /* loader */])();\n } catch (e) {\n // do nothing if loader module is unavailable\n }\n\n this._touched = Object(__WEBPACK_IMPORTED_MODULE_10__util_UniqueList__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_12_vega_util__[\"s\" /* id */]);\n this._pulses = {};\n this._pulse = null;\n\n this._heap = new __WEBPACK_IMPORTED_MODULE_9__util_Heap__[\"a\" /* default */](function(a, b) { return a.qrank - b.qrank; });\n this._postrun = [];\n}\n\nvar prototype = Dataflow.prototype;\n\n/**\n * The current timestamp of this dataflow. This value reflects the\n * timestamp of the previous dataflow run. The dataflow is initialized\n * with a stamp value of 0. The initial run of the dataflow will have\n * a timestap of 1, and so on. This value will match the\n * {@link Pulse.stamp} property.\n * @return {number} - The current timestamp value.\n */\nprototype.stamp = function() {\n return this._clock;\n};\n\n/**\n * Gets or sets the loader instance to use for data file loading. A\n * loader object must provide a \"load\" method for loading files and a\n * \"sanitize\" method for checking URL/filename validity. Both methods\n * should accept a URI and options hash as arguments, and return a Promise\n * that resolves to the loaded file contents (load) or a hash containing\n * sanitized URI data with the sanitized url assigned to the \"href\" property\n * (sanitize).\n * @param {object} _ - The loader instance to use.\n * @return {object|Dataflow} - If no arguments are provided, returns\n * the current loader instance. Otherwise returns this Dataflow instance.\n */\nprototype.loader = function(_) {\n if (arguments.length) {\n this._loader = _;\n return this;\n } else {\n return this._loader;\n }\n};\n\n/**\n * Empty entry threshold for garbage cleaning. Map data structures will\n * perform cleaning once the number of empty entries exceeds this value.\n */\nprototype.cleanThreshold = 1e4;\n\n// OPERATOR REGISTRATION\nprototype.add = __WEBPACK_IMPORTED_MODULE_0__add__[\"a\" /* default */];\nprototype.connect = __WEBPACK_IMPORTED_MODULE_1__connect__[\"a\" /* default */];\nprototype.rank = __WEBPACK_IMPORTED_MODULE_5__rank__[\"a\" /* rank */];\nprototype.rerank = __WEBPACK_IMPORTED_MODULE_5__rank__[\"b\" /* rerank */];\n\n// OPERATOR UPDATES\nprototype.pulse = __WEBPACK_IMPORTED_MODULE_7__update__[\"a\" /* pulse */];\nprototype.touch = __WEBPACK_IMPORTED_MODULE_7__update__[\"b\" /* touch */];\nprototype.update = __WEBPACK_IMPORTED_MODULE_7__update__[\"c\" /* update */];\nprototype.changeset = __WEBPACK_IMPORTED_MODULE_8__ChangeSet__[\"a\" /* default */];\n\n// DATA LOADING\nprototype.ingest = __WEBPACK_IMPORTED_MODULE_3__load__[\"a\" /* ingest */];\nprototype.request = __WEBPACK_IMPORTED_MODULE_3__load__[\"b\" /* request */];\n\n// EVENT HANDLING\nprototype.events = __WEBPACK_IMPORTED_MODULE_2__events__[\"a\" /* default */];\nprototype.on = __WEBPACK_IMPORTED_MODULE_4__on__[\"a\" /* default */];\n\n// PULSE PROPAGATION\nprototype.run = __WEBPACK_IMPORTED_MODULE_6__run__[\"c\" /* run */];\nprototype.runAsync = __WEBPACK_IMPORTED_MODULE_6__run__[\"e\" /* runAsync */];\nprototype.runAfter = __WEBPACK_IMPORTED_MODULE_6__run__[\"d\" /* runAfter */];\nprototype._enqueue = __WEBPACK_IMPORTED_MODULE_6__run__[\"a\" /* enqueue */];\nprototype._getPulse = __WEBPACK_IMPORTED_MODULE_6__run__[\"b\" /* getPulse */];\n\n// LOGGING AND ERROR HANDLING\n\nfunction logMethod(method) {\n return function() {\n return this._log[method].apply(this, arguments);\n };\n}\n\n/**\n * Logs an error message. By default, logged messages are written to console\n * output. The message will only be logged if the current log level is high\n * enough to permit error messages.\n */\nprototype.error = logMethod('error');\n\n/**\n * Logs a warning message. By default, logged messages are written to console\n * output. The message will only be logged if the current log level is high\n * enough to permit warning messages.\n */\nprototype.warn = logMethod('warn');\n\n/**\n * Logs a information message. By default, logged messages are written to\n * console output. The message will only be logged if the current log level is\n * high enough to permit information messages.\n */\nprototype.info = logMethod('info');\n\n/**\n * Logs a debug message. By default, logged messages are written to console\n * output. The message will only be logged if the current log level is high\n * enough to permit debug messages.\n */\nprototype.debug = logMethod('debug');\n\n/**\n * Get or set the current log level. If an argument is provided, it\n * will be used as the new log level.\n * @param {number} [level] - Should be one of None, Warn, Info\n * @return {number} - The current log level.\n */\nprototype.logLevel = logMethod('level');\n\n\n/***/ }),\n/* 480 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Operator__ = __webpack_require__(94);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Add an operator to the dataflow graph. This function accepts a\n * variety of input argument types. The basic signature supports an\n * initial value, update function and parameters. If the first parameter\n * is an Operator instance, it will be added directly. If it is a\n * constructor for an Operator subclass, a new instance will be instantiated.\n * Otherwise, if the first parameter is a function instance, it will be used\n * as the update function and a null initial value is assumed.\n * @param {*} init - One of: the operator to add, the initial value of\n * the operator, an operator class to instantiate, or an update function.\n * @param {function} [update] - The operator update function.\n * @param {object} [params] - The operator parameters.\n * @param {boolean} [react=true] - Flag indicating if this operator should\n * listen for changes to upstream operators included as parameters.\n * @return {Operator} - The added operator.\n */\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(init, update, params, react) {\n var shift = 1,\n op;\n\n if (init instanceof __WEBPACK_IMPORTED_MODULE_0__Operator__[\"a\" /* default */]) {\n op = init;\n } else if (init && init.prototype instanceof __WEBPACK_IMPORTED_MODULE_0__Operator__[\"a\" /* default */]) {\n op = new init();\n } else if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"y\" /* isFunction */])(init)) {\n op = new __WEBPACK_IMPORTED_MODULE_0__Operator__[\"a\" /* default */](null, init);\n } else {\n shift = 0;\n op = new __WEBPACK_IMPORTED_MODULE_0__Operator__[\"a\" /* default */](init, update);\n }\n\n this.rank(op);\n if (shift) {\n react = params;\n params = update;\n }\n if (params) this.connect(op, op.parameters(params, react));\n this.touch(op);\n\n return op;\n});\n\n\n/***/ }),\n/* 481 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/**\n * Connect a target operator as a dependent of source operators.\n * If necessary, this method will rerank the target operator and its\n * dependents to ensure propagation proceeds in a topologically sorted order.\n * @param {Operator} target - The target operator.\n * @param {Array<Operator>} - The source operators that should propagate\n * to the target operator.\n */\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(target, sources) {\n var targetRank = target.rank, i, n;\n\n for (i=0, n=sources.length; i<n; ++i) {\n if (targetRank < sources[i].rank) {\n this.rerank(target);\n return;\n }\n }\n});\n\n\n/***/ }),\n/* 482 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__EventStream__ = __webpack_require__(231);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Create a new event stream from an event source.\n * @param {object} source - The event source to monitor. The input must\n * support the addEventListener method.\n * @param {string} type - The event type.\n * @param {function(object): boolean} [filter] - Event filter function.\n * @param {function(object): *} [apply] - Event application function.\n * If provided, this function will be invoked and the result will be\n * used as the downstream event value.\n * @return {EventStream}\n */\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(source, type, filter, apply) {\n var df = this,\n s = Object(__WEBPACK_IMPORTED_MODULE_0__EventStream__[\"b\" /* stream */])(filter, apply),\n send = function(e) {\n e.dataflow = df;\n try {\n s.receive(e);\n } catch (error) {\n df.error(error);\n } finally {\n df.run();\n }\n },\n sources;\n\n if (typeof source === 'string' && typeof document !== 'undefined') {\n sources = document.querySelectorAll(source);\n } else {\n sources = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"i\" /* array */])(source);\n }\n\n for (var i=0, n=sources.length; i<n; ++i) {\n sources[i].addEventListener(type, send);\n }\n\n return s;\n});\n\n\n/***/ }),\n/* 483 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = ingest;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = request;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_loader__ = __webpack_require__(65);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Ingests new data into the dataflow. First parses the data using the\n * vega-loader read method, then pulses a changeset to the target operator.\n * @param {Operator} target - The Operator to target with ingested data,\n * typically a Collect transform instance.\n * @param {*} data - The input data, prior to parsing. For JSON this may\n * be a string or an object. For CSV, TSV, etc should be a string.\n * @param {object} format - The data format description for parsing\n * loaded data. This object is passed to the vega-loader read method.\n * @returns {Dataflow}\n */\nfunction ingest(target, data, format) {\n return this.pulse(target, this.changeset().insert(Object(__WEBPACK_IMPORTED_MODULE_0_vega_loader__[\"e\" /* read */])(data, format)));\n}\n\nfunction loadPending(df) {\n var accept, reject,\n pending = new Promise(function(a, r) {\n accept = function() { a(df); };\n reject = r;\n });\n\n pending.requests = 0;\n\n pending.done = function() {\n if (--pending.requests === 0) {\n df.runAfter(function() {\n df._pending = null;\n try {\n df.run();\n if (df._pending) {\n df._pending.then(accept);\n } else {\n accept();\n }\n } catch (err) {\n reject(err);\n }\n });\n }\n };\n\n return (df._pending = pending);\n}\n\n/**\n * Request data from an external source, parse it, and pulse a changeset\n * to the specified target operator.\n * @param {Operator} target - The Operator to target with the loaded data,\n * typically a Collect transform instance.\n * @param {string} url - The URL from which to load the data. This string\n * is passed to the vega-loader load method.\n * @param {object} [format] - The data format description for parsing\n * loaded data. This object is passed to the vega-loader read method.\n * @return {Promise} A Promise that resolves upon completion of the request.\n * Resolves to a status code: 0 success, -1 load fail, -2 parse fail.\n */\nfunction request(target, url, format) {\n var df = this,\n status = 0,\n pending = df._pending || loadPending(df);\n\n pending.requests += 1;\n\n return df.loader()\n .load(url, {context:'dataflow'})\n .then(\n function(data) {\n return Object(__WEBPACK_IMPORTED_MODULE_0_vega_loader__[\"e\" /* read */])(data, format);\n },\n function(error) {\n status = -1;\n df.error('Loading failed', url, error);\n })\n .catch(\n function(error) {\n status = -2;\n df.error('Data ingestion failed', url, error);\n })\n .then(function(data) {\n df.pulse(target, df.changeset().remove(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"V\" /* truthy */]).insert(data || []));\n pending.done();\n return status;\n });\n}\n\n\n/***/ }),\n/* 484 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n\n\n// Matches absolute URLs with optional protocol\n// https://... file://... //...\nvar protocol_re = /^([A-Za-z]+:)?\\/\\//;\n\n// Special treatment in node.js for the file: protocol\nvar fileProtocol = 'file://';\n\n/**\n * Creates a new loader instance that provides methods for requesting files\n * from either the network or disk, and for sanitizing request URIs.\n * @param {object} [options] - Optional default loading options to use.\n * @return {object} - A new loader instance.\n */\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(options) {\n return {\n options: options || {},\n sanitize: sanitize,\n load: load,\n file: file,\n http: http\n };\n});\n\n/**\n * Load an external resource, typically either from the web or from the local\n * filesystem. This function uses {@link sanitize} to first sanitize the uri,\n * then calls either {@link http} (for web requests) or {@link file} (for\n * filesystem loading).\n * @param {string} uri - The resource indicator (e.g., URL or filename).\n * @param {object} [options] - Optional loading options. These options will\n * override any existing default options.\n * @return {Promise} - A promise that resolves to the loaded content.\n */\nfunction load(uri, options) {\n var loader = this;\n return loader.sanitize(uri, options)\n .then(function(opt) {\n var url = opt.href;\n return opt.localFile\n ? loader.file(url)\n : loader.http(url, options);\n });\n}\n\n/**\n * URI sanitizer function.\n * @param {string} uri - The uri (url or filename) to sanity check.\n * @param {object} options - An options hash.\n * @return {Promise} - A promise that resolves to an object containing\n * sanitized uri data, or rejects it the input uri is deemed invalid.\n * The properties of the resolved object are assumed to be\n * valid attributes for an HTML 'a' tag. The sanitized uri *must* be\n * provided by the 'href' property of the returned object.\n */\nfunction sanitize(uri, options) {\n options = Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"n\" /* extend */])({}, this.options, options);\n\n return new Promise(function(accept, reject) {\n var result = {href: null},\n isFile, hasProtocol, loadFile, base;\n\n if (uri == null || typeof uri !== 'string') {\n reject('Sanitize failure, invalid URI: ' + Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"O\" /* stringValue */])(uri));\n return;\n }\n\n hasProtocol = protocol_re.test(uri);\n\n // if relative url (no protocol/host), prepend baseURL\n if ((base = options.baseURL) && !hasProtocol) {\n // Ensure that there is a slash between the baseURL (e.g. hostname) and url\n if (!startsWith(uri, '/') && base[base.length-1] !== '/') {\n uri = '/' + uri;\n }\n uri = base + uri;\n }\n\n // should we load from file system?\n loadFile = (isFile = startsWith(uri, fileProtocol))\n || options.mode === 'file'\n || options.mode !== 'http' && !hasProtocol && fs();\n\n if (isFile) {\n // strip file protocol\n uri = uri.slice(fileProtocol.length);\n } else if (startsWith(uri, '//')) {\n if (options.defaultProtocol === 'file') {\n // if is file, strip protocol and set loadFile flag\n uri = uri.slice(2);\n loadFile = true;\n } else {\n // if relative protocol (starts with '//'), prepend default protocol\n uri = (options.defaultProtocol || 'http') + ':' + uri;\n }\n }\n\n // set non-enumerable mode flag to indicate local file load\n Object.defineProperty(result, 'localFile', {value: !!loadFile});\n\n // set uri\n result.href = uri;\n\n // set default result target, if specified\n if (options.target) {\n result.target = options.target + '';\n }\n\n // return\n accept(result);\n });\n}\n\n/**\n * HTTP request loader.\n * @param {string} url - The url to request.\n * @param {object} options - An options hash.\n * @return {Promise} - A promise that resolves to the file contents.\n */\nfunction http(url, options) {\n return request(url, Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"n\" /* extend */])({}, this.options.http, options))\n .then(function(response) {\n if (!response.ok) throw response.status + '' + response.statusText;\n return response.text();\n });\n}\n\n/**\n * File system loader.\n * @param {string} filename - The file system path to load.\n * @return {Promise} - A promise that resolves to the file contents.\n */\nfunction file(filename) {\n return new Promise(function(accept, reject) {\n var f = fs();\n f ? f.readFile(filename, function(error, data) {\n if (error) reject(error);\n else accept(data);\n })\n : reject('No file system access for ' + filename);\n });\n}\n\nfunction request(url, init) {\n var f = typeof fetch === 'function' ? fetch : __webpack_require__(485);\n return f ? f(url, init) : Promise.reject('No fetch method available.');\n}\n\nfunction fs() {\n var fs = \"function\" === 'function' && __webpack_require__(486);\n return fs && Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"y\" /* isFunction */])(fs.readFile) ? fs : null;\n}\n\nfunction startsWith(string, query) {\n return string == null ? false : string.lastIndexOf(query, 0) === 0;\n}\n\n\n/***/ }),\n/* 485 */\n/***/ (function(module, exports) {\n\n/* (ignored) */\n\n/***/ }),\n/* 486 */\n/***/ (function(module, exports) {\n\n/* (ignored) */\n\n/***/ }),\n/* 487 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__type__ = __webpack_require__(232);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__formats_index__ = __webpack_require__(233);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_d3_time_format__ = __webpack_require__(66);\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(data, schema, dateParse) {\n schema = schema || {};\n\n var reader = Object(__WEBPACK_IMPORTED_MODULE_1__formats_index__[\"a\" /* default */])(schema.type || 'json');\n if (!reader) Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"m\" /* error */])('Unknown data format type: ' + schema.type);\n\n data = reader(data, schema);\n if (schema.parse) parse(data, schema.parse, dateParse);\n\n if (data.hasOwnProperty('columns')) delete data.columns;\n return data;\n});\n\nfunction parse(data, types, dateParse) {\n if (!data.length) return; // early exit for empty data\n\n dateParse = dateParse || __WEBPACK_IMPORTED_MODULE_3_d3_time_format__[\"c\" /* timeParse */];\n\n var fields = data.columns || Object.keys(data[0]),\n parsers, datum, field, i, j, n, m;\n\n if (types === 'auto') types = Object(__WEBPACK_IMPORTED_MODULE_0__type__[\"b\" /* inferTypes */])(data, fields);\n\n fields = Object.keys(types);\n parsers = fields.map(function(field) {\n var type = types[field],\n parts, pattern;\n\n if (type && (type.indexOf('date:') === 0 || type.indexOf('utc:') === 0)) {\n parts = type.split(/:(.+)?/, 2); // split on first :\n pattern = parts[1];\n\n if ((pattern[0] === '\\'' && pattern[pattern.length-1] === '\\'') ||\n (pattern[0] === '\"' && pattern[pattern.length-1] === '\"')) {\n pattern = pattern.slice(1, -1);\n }\n\n return parts[0] === 'utc' ? Object(__WEBPACK_IMPORTED_MODULE_3_d3_time_format__[\"e\" /* utcParse */])(pattern) : dateParse(pattern);\n }\n\n if (!__WEBPACK_IMPORTED_MODULE_0__type__[\"c\" /* typeParsers */][type]) {\n throw Error('Illegal format pattern: ' + field + ':' + type);\n }\n\n return __WEBPACK_IMPORTED_MODULE_0__type__[\"c\" /* typeParsers */][type];\n });\n\n for (i=0, n=data.length, m=fields.length; i<n; ++i) {\n datum = data[i];\n for (j=0; j<m; ++j) {\n field = fields[j];\n datum[field] = parsers[j](datum[field]);\n }\n }\n}\n\n\n/***/ }),\n/* 488 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = delimitedFormat;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = dsv;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_dsv__ = __webpack_require__(489);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\nfunction delimitedFormat(delimiter) {\n return function(data, format) {\n var delim = {delimiter: delimiter};\n return dsv(data, format ? Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"n\" /* extend */])(format, delim) : delim);\n };\n}\n\nfunction dsv(data, format) {\n if (format.header) {\n data = format.header\n .map(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"O\" /* stringValue */])\n .join(format.delimiter) + '\\n' + data;\n }\n return Object(__WEBPACK_IMPORTED_MODULE_0_d3_dsv__[\"a\" /* dsvFormat */])(format.delimiter).parse(data+'');\n}\n\n\n/***/ }),\n/* 489 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_dsv__ = __webpack_require__(150);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_dsv__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_csv__ = __webpack_require__(490);\n/* unused harmony reexport csvParse */\n/* unused harmony reexport csvParseRows */\n/* unused harmony reexport csvFormat */\n/* unused harmony reexport csvFormatRows */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_tsv__ = __webpack_require__(491);\n/* unused harmony reexport tsvParse */\n/* unused harmony reexport tsvParseRows */\n/* unused harmony reexport tsvFormat */\n/* unused harmony reexport tsvFormatRows */\n\n\n\n\n\n/***/ }),\n/* 490 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export csvParse */\n/* unused harmony export csvParseRows */\n/* unused harmony export csvFormat */\n/* unused harmony export csvFormatRows */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__dsv__ = __webpack_require__(150);\n\n\nvar csv = Object(__WEBPACK_IMPORTED_MODULE_0__dsv__[\"a\" /* default */])(\",\");\n\nvar csvParse = csv.parse;\nvar csvParseRows = csv.parseRows;\nvar csvFormat = csv.format;\nvar csvFormatRows = csv.formatRows;\n\n\n/***/ }),\n/* 491 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export tsvParse */\n/* unused harmony export tsvParseRows */\n/* unused harmony export tsvFormat */\n/* unused harmony export tsvFormatRows */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__dsv__ = __webpack_require__(150);\n\n\nvar tsv = Object(__WEBPACK_IMPORTED_MODULE_0__dsv__[\"a\" /* default */])(\"\\t\");\n\nvar tsvParse = tsv.parse;\nvar tsvParseRows = tsv.parseRows;\nvar tsvFormat = tsv.format;\nvar tsvFormatRows = tsv.formatRows;\n\n\n/***/ }),\n/* 492 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n\n\nvar base64 = __webpack_require__(493)\nvar ieee754 = __webpack_require__(494)\nvar isArray = __webpack_require__(495)\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return '<Buffer ' + str + '>'\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(210)))\n\n/***/ }),\n/* 493 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n for (var i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n\n\n/***/ }),\n/* 494 */\n/***/ (function(module, exports) {\n\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n\n\n/***/ }),\n/* 495 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n\n\n/***/ }),\n/* 496 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__json__ = __webpack_require__(234);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_topojson_client__ = __webpack_require__(497);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(data, format) {\n var method, object, property;\n data = Object(__WEBPACK_IMPORTED_MODULE_0__json__[\"a\" /* default */])(data, format);\n\n method = (format && (property = format.feature)) ? __WEBPACK_IMPORTED_MODULE_1_topojson_client__[\"a\" /* feature */]\n : (format && (property = format.mesh)) ? __WEBPACK_IMPORTED_MODULE_1_topojson_client__[\"b\" /* mesh */]\n : Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"m\" /* error */])('Missing TopoJSON feature or mesh parameter.');\n\n object = (object = data.objects[property])\n ? method(data, object)\n : Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"m\" /* error */])('Invalid TopoJSON object: ' + property);\n\n return object && object.features || [object];\n});\n\n\n/***/ }),\n/* 497 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_bbox__ = __webpack_require__(235);\n/* unused harmony reexport bbox */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_feature__ = __webpack_require__(152);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_feature__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_mesh__ = __webpack_require__(499);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_mesh__[\"a\"]; });\n/* unused harmony reexport meshArcs */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_merge__ = __webpack_require__(500);\n/* unused harmony reexport merge */\n/* unused harmony reexport mergeArcs */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__src_neighbors__ = __webpack_require__(501);\n/* unused harmony reexport neighbors */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__src_quantize__ = __webpack_require__(503);\n/* unused harmony reexport quantize */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__src_transform__ = __webpack_require__(151);\n/* unused harmony reexport transform */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__src_untransform__ = __webpack_require__(238);\n/* unused harmony reexport untransform */\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 498 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(array, n) {\n var t, j = array.length, i = j - n;\n while (i < --j) t = array[i], array[i++] = array[j], array[j] = t;\n});\n\n\n/***/ }),\n/* 499 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export meshArcs */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__feature__ = __webpack_require__(152);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__stitch__ = __webpack_require__(237);\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(topology) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__feature__[\"b\" /* object */])(topology, meshArcs.apply(this, arguments));\n});\n\nfunction meshArcs(topology, object, filter) {\n var arcs, i, n;\n if (arguments.length > 1) arcs = extractArcs(topology, object, filter);\n else for (i = 0, arcs = new Array(n = topology.arcs.length); i < n; ++i) arcs[i] = i;\n return {type: \"MultiLineString\", arcs: Object(__WEBPACK_IMPORTED_MODULE_1__stitch__[\"a\" /* default */])(topology, arcs)};\n}\n\nfunction extractArcs(topology, object, filter) {\n var arcs = [],\n geomsByArc = [],\n geom;\n\n function extract0(i) {\n var j = i < 0 ? ~i : i;\n (geomsByArc[j] || (geomsByArc[j] = [])).push({i: i, g: geom});\n }\n\n function extract1(arcs) {\n arcs.forEach(extract0);\n }\n\n function extract2(arcs) {\n arcs.forEach(extract1);\n }\n\n function extract3(arcs) {\n arcs.forEach(extract2);\n }\n\n function geometry(o) {\n switch (geom = o, o.type) {\n case \"GeometryCollection\": o.geometries.forEach(geometry); break;\n case \"LineString\": extract1(o.arcs); break;\n case \"MultiLineString\": case \"Polygon\": extract2(o.arcs); break;\n case \"MultiPolygon\": extract3(o.arcs); break;\n }\n }\n\n geometry(object);\n\n geomsByArc.forEach(filter == null\n ? function(geoms) { arcs.push(geoms[0].i); }\n : function(geoms) { if (filter(geoms[0].g, geoms[geoms.length - 1].g)) arcs.push(geoms[0].i); });\n\n return arcs;\n}\n\n\n/***/ }),\n/* 500 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export mergeArcs */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__feature__ = __webpack_require__(152);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__stitch__ = __webpack_require__(237);\n\n\n\nfunction planarRingArea(ring) {\n var i = -1, n = ring.length, a, b = ring[n - 1], area = 0;\n while (++i < n) a = b, b = ring[i], area += a[0] * b[1] - a[1] * b[0];\n return Math.abs(area); // Note: doubled area!\n}\n\n/* unused harmony default export */ var _unused_webpack_default_export = (function(topology) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__feature__[\"b\" /* object */])(topology, mergeArcs.apply(this, arguments));\n});\n\nfunction mergeArcs(topology, objects) {\n var polygonsByArc = {},\n polygons = [],\n groups = [];\n\n objects.forEach(geometry);\n\n function geometry(o) {\n switch (o.type) {\n case \"GeometryCollection\": o.geometries.forEach(geometry); break;\n case \"Polygon\": extract(o.arcs); break;\n case \"MultiPolygon\": o.arcs.forEach(extract); break;\n }\n }\n\n function extract(polygon) {\n polygon.forEach(function(ring) {\n ring.forEach(function(arc) {\n (polygonsByArc[arc = arc < 0 ? ~arc : arc] || (polygonsByArc[arc] = [])).push(polygon);\n });\n });\n polygons.push(polygon);\n }\n\n function area(ring) {\n return planarRingArea(Object(__WEBPACK_IMPORTED_MODULE_0__feature__[\"b\" /* object */])(topology, {type: \"Polygon\", arcs: [ring]}).coordinates[0]);\n }\n\n polygons.forEach(function(polygon) {\n if (!polygon._) {\n var group = [],\n neighbors = [polygon];\n polygon._ = 1;\n groups.push(group);\n while (polygon = neighbors.pop()) {\n group.push(polygon);\n polygon.forEach(function(ring) {\n ring.forEach(function(arc) {\n polygonsByArc[arc < 0 ? ~arc : arc].forEach(function(polygon) {\n if (!polygon._) {\n polygon._ = 1;\n neighbors.push(polygon);\n }\n });\n });\n });\n }\n }\n });\n\n polygons.forEach(function(polygon) {\n delete polygon._;\n });\n\n return {\n type: \"MultiPolygon\",\n arcs: groups.map(function(polygons) {\n var arcs = [], n;\n\n // Extract the exterior (unique) arcs.\n polygons.forEach(function(polygon) {\n polygon.forEach(function(ring) {\n ring.forEach(function(arc) {\n if (polygonsByArc[arc < 0 ? ~arc : arc].length < 2) {\n arcs.push(arc);\n }\n });\n });\n });\n\n // Stitch the arcs into one or more rings.\n arcs = Object(__WEBPACK_IMPORTED_MODULE_1__stitch__[\"a\" /* default */])(topology, arcs);\n\n // If more than one ring is returned,\n // at most one of these rings can be the exterior;\n // choose the one with the greatest absolute area.\n if ((n = arcs.length) > 1) {\n for (var i = 1, k = area(arcs[0]), ki, t; i < n; ++i) {\n if ((ki = area(arcs[i])) > k) {\n t = arcs[0], arcs[0] = arcs[i], arcs[i] = t, k = ki;\n }\n }\n }\n\n return arcs;\n })\n };\n}\n\n\n/***/ }),\n/* 501 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__bisect__ = __webpack_require__(502);\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (function(objects) {\n var indexesByArc = {}, // arc index -> array of object indexes\n neighbors = objects.map(function() { return []; });\n\n function line(arcs, i) {\n arcs.forEach(function(a) {\n if (a < 0) a = ~a;\n var o = indexesByArc[a];\n if (o) o.push(i);\n else indexesByArc[a] = [i];\n });\n }\n\n function polygon(arcs, i) {\n arcs.forEach(function(arc) { line(arc, i); });\n }\n\n function geometry(o, i) {\n if (o.type === \"GeometryCollection\") o.geometries.forEach(function(o) { geometry(o, i); });\n else if (o.type in geometryType) geometryType[o.type](o.arcs, i);\n }\n\n var geometryType = {\n LineString: line,\n MultiLineString: polygon,\n Polygon: polygon,\n MultiPolygon: function(arcs, i) { arcs.forEach(function(arc) { polygon(arc, i); }); }\n };\n\n objects.forEach(geometry);\n\n for (var i in indexesByArc) {\n for (var indexes = indexesByArc[i], m = indexes.length, j = 0; j < m; ++j) {\n for (var k = j + 1; k < m; ++k) {\n var ij = indexes[j], ik = indexes[k], n;\n if ((n = neighbors[ij])[i = Object(__WEBPACK_IMPORTED_MODULE_0__bisect__[\"a\" /* default */])(n, ik)] !== ik) n.splice(i, 0, ik);\n if ((n = neighbors[ik])[i = Object(__WEBPACK_IMPORTED_MODULE_0__bisect__[\"a\" /* default */])(n, ij)] !== ij) n.splice(i, 0, ij);\n }\n }\n }\n\n return neighbors;\n});\n\n\n/***/ }),\n/* 502 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(a, x) {\n var lo = 0, hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (a[mid] < x) lo = mid + 1;\n else hi = mid;\n }\n return lo;\n});\n\n\n/***/ }),\n/* 503 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__bbox__ = __webpack_require__(235);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__untransform__ = __webpack_require__(238);\n\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (function(topology, transform) {\n if (topology.transform) throw new Error(\"already quantized\");\n\n if (!transform || !transform.scale) {\n if (!((n = Math.floor(transform)) >= 2)) throw new Error(\"n must be ≥2\");\n box = topology.bbox || Object(__WEBPACK_IMPORTED_MODULE_0__bbox__[\"a\" /* default */])(topology);\n var x0 = box[0], y0 = box[1], x1 = box[2], y1 = box[3], n;\n transform = {scale: [x1 - x0 ? (x1 - x0) / (n - 1) : 1, y1 - y0 ? (y1 - y0) / (n - 1) : 1], translate: [x0, y0]};\n } else {\n box = topology.bbox;\n }\n\n var t = Object(__WEBPACK_IMPORTED_MODULE_1__untransform__[\"a\" /* default */])(transform), box, key, inputs = topology.objects, outputs = {};\n\n function quantizePoint(point) {\n return t(point);\n }\n\n function quantizeGeometry(input) {\n var output;\n switch (input.type) {\n case \"GeometryCollection\": output = {type: \"GeometryCollection\", geometries: input.geometries.map(quantizeGeometry)}; break;\n case \"Point\": output = {type: \"Point\", coordinates: quantizePoint(input.coordinates)}; break;\n case \"MultiPoint\": output = {type: \"MultiPoint\", coordinates: input.coordinates.map(quantizePoint)}; break;\n default: return input;\n }\n if (input.id != null) output.id = input.id;\n if (input.bbox != null) output.bbox = input.bbox;\n if (input.properties != null) output.properties = input.properties;\n return output;\n }\n\n function quantizeArc(input) {\n var i = 0, j = 1, n = input.length, p, output = new Array(n); // pessimistic\n output[0] = t(input[0], 0);\n while (++i < n) if ((p = t(input[i], i))[0] || p[1]) output[j++] = p; // non-coincident points\n if (j === 1) output[j++] = [0, 0]; // an arc must have at least two points\n output.length = j;\n return output;\n }\n\n for (key in inputs) outputs[key] = quantizeGeometry(inputs[key]);\n\n return {\n type: \"Topology\",\n bbox: box,\n transform: transform,\n objects: outputs,\n arcs: topology.arcs.map(quantizeArc)\n };\n});\n\n\n/***/ }),\n/* 504 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export milliseconds */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__interval__ = __webpack_require__(19);\n\n\nvar millisecond = Object(__WEBPACK_IMPORTED_MODULE_0__interval__[\"a\" /* default */])(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 Object(__WEBPACK_IMPORTED_MODULE_0__interval__[\"a\" /* default */])(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\n/* harmony default export */ __webpack_exports__[\"a\"] = (millisecond);\nvar milliseconds = millisecond.range;\n\n\n/***/ }),\n/* 505 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export seconds */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__interval__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(36);\n\n\n\nvar second = Object(__WEBPACK_IMPORTED_MODULE_0__interval__[\"a\" /* default */])(function(date) {\n date.setTime(Math.floor(date / __WEBPACK_IMPORTED_MODULE_1__duration__[\"d\" /* durationSecond */]) * __WEBPACK_IMPORTED_MODULE_1__duration__[\"d\" /* durationSecond */]);\n}, function(date, step) {\n date.setTime(+date + step * __WEBPACK_IMPORTED_MODULE_1__duration__[\"d\" /* durationSecond */]);\n}, function(start, end) {\n return (end - start) / __WEBPACK_IMPORTED_MODULE_1__duration__[\"d\" /* durationSecond */];\n}, function(date) {\n return date.getUTCSeconds();\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (second);\nvar seconds = second.range;\n\n\n/***/ }),\n/* 506 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export minutes */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__interval__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(36);\n\n\n\nvar minute = Object(__WEBPACK_IMPORTED_MODULE_0__interval__[\"a\" /* default */])(function(date) {\n date.setTime(Math.floor(date / __WEBPACK_IMPORTED_MODULE_1__duration__[\"c\" /* durationMinute */]) * __WEBPACK_IMPORTED_MODULE_1__duration__[\"c\" /* durationMinute */]);\n}, function(date, step) {\n date.setTime(+date + step * __WEBPACK_IMPORTED_MODULE_1__duration__[\"c\" /* durationMinute */]);\n}, function(start, end) {\n return (end - start) / __WEBPACK_IMPORTED_MODULE_1__duration__[\"c\" /* durationMinute */];\n}, function(date) {\n return date.getMinutes();\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (minute);\nvar minutes = minute.range;\n\n\n/***/ }),\n/* 507 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export hours */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__interval__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(36);\n\n\n\nvar hour = Object(__WEBPACK_IMPORTED_MODULE_0__interval__[\"a\" /* default */])(function(date) {\n var offset = date.getTimezoneOffset() * __WEBPACK_IMPORTED_MODULE_1__duration__[\"c\" /* durationMinute */] % __WEBPACK_IMPORTED_MODULE_1__duration__[\"b\" /* durationHour */];\n if (offset < 0) offset += __WEBPACK_IMPORTED_MODULE_1__duration__[\"b\" /* durationHour */];\n date.setTime(Math.floor((+date - offset) / __WEBPACK_IMPORTED_MODULE_1__duration__[\"b\" /* durationHour */]) * __WEBPACK_IMPORTED_MODULE_1__duration__[\"b\" /* durationHour */] + offset);\n}, function(date, step) {\n date.setTime(+date + step * __WEBPACK_IMPORTED_MODULE_1__duration__[\"b\" /* durationHour */]);\n}, function(start, end) {\n return (end - start) / __WEBPACK_IMPORTED_MODULE_1__duration__[\"b\" /* durationHour */];\n}, function(date) {\n return date.getHours();\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (hour);\nvar hours = hour.range;\n\n\n/***/ }),\n/* 508 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export days */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__interval__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(36);\n\n\n\nvar day = Object(__WEBPACK_IMPORTED_MODULE_0__interval__[\"a\" /* default */])(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()) * __WEBPACK_IMPORTED_MODULE_1__duration__[\"c\" /* durationMinute */]) / __WEBPACK_IMPORTED_MODULE_1__duration__[\"a\" /* durationDay */];\n}, function(date) {\n return date.getDate() - 1;\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (day);\nvar days = day.range;\n\n\n/***/ }),\n/* 509 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return sunday; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return monday; });\n/* unused harmony export tuesday */\n/* unused harmony export wednesday */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return thursday; });\n/* unused harmony export friday */\n/* unused harmony export saturday */\n/* unused harmony export sundays */\n/* unused harmony export mondays */\n/* unused harmony export tuesdays */\n/* unused harmony export wednesdays */\n/* unused harmony export thursdays */\n/* unused harmony export fridays */\n/* unused harmony export saturdays */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__interval__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(36);\n\n\n\nfunction weekday(i) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__interval__[\"a\" /* default */])(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()) * __WEBPACK_IMPORTED_MODULE_1__duration__[\"c\" /* durationMinute */]) / __WEBPACK_IMPORTED_MODULE_1__duration__[\"e\" /* durationWeek */];\n });\n}\n\nvar sunday = weekday(0);\nvar monday = weekday(1);\nvar tuesday = weekday(2);\nvar wednesday = weekday(3);\nvar thursday = weekday(4);\nvar friday = weekday(5);\nvar saturday = weekday(6);\n\nvar sundays = sunday.range;\nvar mondays = monday.range;\nvar tuesdays = tuesday.range;\nvar wednesdays = wednesday.range;\nvar thursdays = thursday.range;\nvar fridays = friday.range;\nvar saturdays = saturday.range;\n\n\n/***/ }),\n/* 510 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export months */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__interval__ = __webpack_require__(19);\n\n\nvar month = Object(__WEBPACK_IMPORTED_MODULE_0__interval__[\"a\" /* default */])(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\n/* harmony default export */ __webpack_exports__[\"a\"] = (month);\nvar months = month.range;\n\n\n/***/ }),\n/* 511 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export years */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__interval__ = __webpack_require__(19);\n\n\nvar year = Object(__WEBPACK_IMPORTED_MODULE_0__interval__[\"a\" /* default */])(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 : Object(__WEBPACK_IMPORTED_MODULE_0__interval__[\"a\" /* default */])(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\n/* harmony default export */ __webpack_exports__[\"a\"] = (year);\nvar years = year.range;\n\n\n/***/ }),\n/* 512 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export utcMinutes */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__interval__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(36);\n\n\n\nvar utcMinute = Object(__WEBPACK_IMPORTED_MODULE_0__interval__[\"a\" /* default */])(function(date) {\n date.setUTCSeconds(0, 0);\n}, function(date, step) {\n date.setTime(+date + step * __WEBPACK_IMPORTED_MODULE_1__duration__[\"c\" /* durationMinute */]);\n}, function(start, end) {\n return (end - start) / __WEBPACK_IMPORTED_MODULE_1__duration__[\"c\" /* durationMinute */];\n}, function(date) {\n return date.getUTCMinutes();\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (utcMinute);\nvar utcMinutes = utcMinute.range;\n\n\n/***/ }),\n/* 513 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export utcHours */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__interval__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(36);\n\n\n\nvar utcHour = Object(__WEBPACK_IMPORTED_MODULE_0__interval__[\"a\" /* default */])(function(date) {\n date.setUTCMinutes(0, 0, 0);\n}, function(date, step) {\n date.setTime(+date + step * __WEBPACK_IMPORTED_MODULE_1__duration__[\"b\" /* durationHour */]);\n}, function(start, end) {\n return (end - start) / __WEBPACK_IMPORTED_MODULE_1__duration__[\"b\" /* durationHour */];\n}, function(date) {\n return date.getUTCHours();\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (utcHour);\nvar utcHours = utcHour.range;\n\n\n/***/ }),\n/* 514 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export utcDays */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__interval__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(36);\n\n\n\nvar utcDay = Object(__WEBPACK_IMPORTED_MODULE_0__interval__[\"a\" /* default */])(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) / __WEBPACK_IMPORTED_MODULE_1__duration__[\"a\" /* durationDay */];\n}, function(date) {\n return date.getUTCDate() - 1;\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (utcDay);\nvar utcDays = utcDay.range;\n\n\n/***/ }),\n/* 515 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return utcSunday; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return utcMonday; });\n/* unused harmony export utcTuesday */\n/* unused harmony export utcWednesday */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return utcThursday; });\n/* unused harmony export utcFriday */\n/* unused harmony export utcSaturday */\n/* unused harmony export utcSundays */\n/* unused harmony export utcMondays */\n/* unused harmony export utcTuesdays */\n/* unused harmony export utcWednesdays */\n/* unused harmony export utcThursdays */\n/* unused harmony export utcFridays */\n/* unused harmony export utcSaturdays */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__interval__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__duration__ = __webpack_require__(36);\n\n\n\nfunction utcWeekday(i) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__interval__[\"a\" /* default */])(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) / __WEBPACK_IMPORTED_MODULE_1__duration__[\"e\" /* durationWeek */];\n });\n}\n\nvar utcSunday = utcWeekday(0);\nvar utcMonday = utcWeekday(1);\nvar utcTuesday = utcWeekday(2);\nvar utcWednesday = utcWeekday(3);\nvar utcThursday = utcWeekday(4);\nvar utcFriday = utcWeekday(5);\nvar utcSaturday = utcWeekday(6);\n\nvar utcSundays = utcSunday.range;\nvar utcMondays = utcMonday.range;\nvar utcTuesdays = utcTuesday.range;\nvar utcWednesdays = utcWednesday.range;\nvar utcThursdays = utcThursday.range;\nvar utcFridays = utcFriday.range;\nvar utcSaturdays = utcSaturday.range;\n\n\n/***/ }),\n/* 516 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export utcMonths */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__interval__ = __webpack_require__(19);\n\n\nvar utcMonth = Object(__WEBPACK_IMPORTED_MODULE_0__interval__[\"a\" /* default */])(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\n/* harmony default export */ __webpack_exports__[\"a\"] = (utcMonth);\nvar utcMonths = utcMonth.range;\n\n\n/***/ }),\n/* 517 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export utcYears */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__interval__ = __webpack_require__(19);\n\n\nvar utcYear = Object(__WEBPACK_IMPORTED_MODULE_0__interval__[\"a\" /* default */])(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 : Object(__WEBPACK_IMPORTED_MODULE_0__interval__[\"a\" /* default */])(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\n/* harmony default export */ __webpack_exports__[\"a\"] = (utcYear);\nvar utcYears = utcYear.range;\n\n\n/***/ }),\n/* 518 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__isoFormat__ = __webpack_require__(240);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__defaultLocale__ = __webpack_require__(153);\n\n\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 : Object(__WEBPACK_IMPORTED_MODULE_1__defaultLocale__[\"e\" /* utcParse */])(__WEBPACK_IMPORTED_MODULE_0__isoFormat__[\"a\" /* isoSpecifier */]);\n\n/* unused harmony default export */ var _unused_webpack_default_export = (parseIso);\n\n\n/***/ }),\n/* 519 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Operator__ = __webpack_require__(94);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ChangeSet__ = __webpack_require__(148);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n\n\n\n\nvar SKIP = {skip: true};\n\n/**\n * Perform operator updates in response to events. Applies an\n * update function to compute a new operator value. If the update function\n * returns a {@link ChangeSet}, the operator will be pulsed with those tuple\n * changes. Otherwise, the operator value will be updated to the return value.\n * @param {EventStream|Operator} source - The event source to react to.\n * This argument can be either an EventStream or an Operator.\n * @param {Operator|function(object):Operator} target - The operator to update.\n * This argument can either be an Operator instance or (if the source\n * argument is an EventStream), a function that accepts an event object as\n * input and returns an Operator to target.\n * @param {function(Parameters,Event): *} [update] - Optional update function\n * to compute the new operator value, or a literal value to set. Update\n * functions expect to receive a parameter object and event as arguments.\n * This function can either return a new operator value or (if the source\n * argument is an EventStream) a {@link ChangeSet} instance to pulse\n * the target operator with tuple changes.\n * @param {object} [params] - The update function parameters.\n * @param {object} [options] - Additional options hash. If not overridden,\n * updated operators will be skipped by default.\n * @param {boolean} [options.skip] - If true, the operator will\n * be skipped: it will not be evaluated, but its dependents will be.\n * @param {boolean} [options.force] - If true, the operator will\n * be re-evaluated even if its value has not changed.\n * @return {Dataflow}\n */\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(source, target, update, params, options) {\n var fn = source instanceof __WEBPACK_IMPORTED_MODULE_0__Operator__[\"a\" /* default */] ? onOperator : onStream;\n fn(this, source, target, update, params, options);\n return this;\n});\n\nfunction onStream(df, stream, target, update, params, options) {\n var opt = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"n\" /* extend */])({}, options, SKIP), func, op;\n\n if (!Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"y\" /* isFunction */])(target)) target = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"k\" /* constant */])(target);\n\n if (update === undefined) {\n func = function(e) {\n df.touch(target(e));\n };\n } else if (Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"y\" /* isFunction */])(update)) {\n op = new __WEBPACK_IMPORTED_MODULE_0__Operator__[\"a\" /* default */](null, update, params, false);\n func = function(e) {\n var v, t = target(e);\n op.evaluate(e);\n Object(__WEBPACK_IMPORTED_MODULE_1__ChangeSet__[\"b\" /* isChangeSet */])(v = op.value) ? df.pulse(t, v, options) : df.update(t, v, opt);\n };\n } else {\n func = function(e) {\n df.update(target(e), update, opt);\n };\n }\n\n stream.apply(func);\n}\n\nfunction onOperator(df, source, target, update, params, options) {\n var func, op;\n\n if (update === undefined) {\n op = target;\n } else {\n func = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"y\" /* isFunction */])(update) ? update : Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"k\" /* constant */])(update);\n update = !target ? func : function(_, pulse) {\n var value = func(_, pulse);\n if (!target.skip()) {\n target.skip(value !== this.value).value = value;\n }\n return value;\n };\n\n op = new __WEBPACK_IMPORTED_MODULE_0__Operator__[\"a\" /* default */](null, update, params, false);\n op.modified(options && options.force);\n op.rank = 0;\n\n if (target) {\n op.skip(true); // skip first invocation\n op.value = target.value;\n op.targets().add(target);\n }\n }\n\n source.targets().add(op);\n}\n\n\n/***/ }),\n/* 520 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = rank;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = rerank;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n\n\n/**\n * Assigns a rank to an operator. Ranks are assigned in increasing order\n * by incrementing an internal rank counter.\n * @param {Operator} op - The operator to assign a rank.\n */\nfunction rank(op) {\n op.rank = ++this._rank;\n}\n\n/**\n * Re-ranks an operator and all downstream target dependencies. This\n * is necessary when upstream depencies of higher rank are added to\n * a target operator.\n * @param {Operator} op - The operator to re-rank.\n */\nfunction rerank(op) {\n var queue = [op],\n cur, list, i;\n\n while (queue.length) {\n this.rank(cur = queue.pop());\n if (list = cur._targets) {\n for (i=list.length; --i >= 0;) {\n queue.push(cur = list[i]);\n if (cur === op) Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"m\" /* error */])('Cycle detected in dataflow graph.');\n }\n }\n }\n}\n\n\n/***/ }),\n/* 521 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = run;\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = runAsync;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = runAfter;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = enqueue;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = getPulse;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Pulse__ = __webpack_require__(96);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__MultiPulse__ = __webpack_require__(241);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_UniqueList__ = __webpack_require__(64);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vega_util__ = __webpack_require__(0);\n\n\n\n\n\n/**\n * Runs the dataflow. This method will increment the current timestamp\n * and process all updated, pulsed and touched operators. When run for\n * the first time, all registered operators will be processed. If there\n * are pending data loading operations, this method will return immediately\n * without evaluating the dataflow. Instead, the dataflow will be\n * asynchronously invoked when data loading completes. To track when dataflow\n * evaluation completes, use the {@link runAsync} method instead.\n * @param {string} [encode] - The name of an encoding set to invoke during\n * propagation. This value is added to generated Pulse instances;\n * operators can then respond to (or ignore) this setting as appropriate.\n * This parameter can be used in conjunction with the Encode transform in\n * the vega-encode module.\n */\nfunction run(encode) {\n var df = this,\n count = 0,\n level = df.logLevel(),\n op, next, dt, error;\n\n if (df._pending) {\n df.info('Awaiting requests, delaying dataflow run.');\n return 0;\n }\n\n if (df._pulse) {\n df.error('Dataflow invoked recursively. Use the runAfter method to queue invocation.');\n return 0;\n }\n\n if (!df._touched.length) {\n df.info('Dataflow invoked, but nothing to do.');\n return 0;\n }\n\n df._pulse = new __WEBPACK_IMPORTED_MODULE_0__Pulse__[\"b\" /* default */](df, ++df._clock, encode);\n\n if (level >= __WEBPACK_IMPORTED_MODULE_3_vega_util__[\"c\" /* Info */]) {\n dt = Date.now();\n df.debug('-- START PROPAGATION (' + df._clock + ') -----');\n }\n\n // initialize queue, reset touched operators\n df._touched.forEach(function(op) { df._enqueue(op, true); });\n df._touched = Object(__WEBPACK_IMPORTED_MODULE_2__util_UniqueList__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"s\" /* id */]);\n\n try {\n while (df._heap.size() > 0) {\n op = df._heap.pop();\n\n // re-queue if rank changes\n if (op.rank !== op.qrank) { df._enqueue(op, true); continue; }\n\n // otherwise, evaluate the operator\n next = op.run(df._getPulse(op, encode));\n\n if (level >= __WEBPACK_IMPORTED_MODULE_3_vega_util__[\"a\" /* Debug */]) {\n df.debug(op.id, next === __WEBPACK_IMPORTED_MODULE_0__Pulse__[\"a\" /* StopPropagation */] ? 'STOP' : next, op);\n }\n\n // propagate the pulse\n if (next !== __WEBPACK_IMPORTED_MODULE_0__Pulse__[\"a\" /* StopPropagation */]) {\n df._pulse = next;\n if (op._targets) op._targets.forEach(function(op) { df._enqueue(op); });\n }\n\n // increment visit counter\n ++count;\n }\n } catch (err) {\n error = err;\n }\n\n // reset pulse map\n df._pulses = {};\n df._pulse = null;\n\n if (level >= __WEBPACK_IMPORTED_MODULE_3_vega_util__[\"c\" /* Info */]) {\n dt = Date.now() - dt;\n df.info('> Pulse ' + df._clock + ': ' + count + ' operators; ' + dt + 'ms');\n }\n\n if (error) {\n df._postrun = [];\n df.error(error);\n }\n\n if (df._onrun) {\n try { df._onrun(df, count, error); } catch (err) { df.error(err); }\n }\n\n // invoke callbacks queued via runAfter\n if (df._postrun.length) {\n var postrun = df._postrun;\n df._postrun = [];\n postrun\n .sort(function(a, b) { return b.priority - a.priority; })\n .forEach(function(_) { invokeCallback(df, _.callback); });\n }\n\n return this;\n}\n\nfunction invokeCallback(df, callback) {\n try { callback(df); } catch (err) { df.error(err); }\n}\n\n/**\n * Runs the dataflow and returns a Promise that resolves when the\n * propagation cycle completes. The standard run method may exit early\n * if there are pending data loading operations. In contrast, this\n * method returns a Promise to allow callers to receive notification\n * when dataflow evaluation completes.\n * @return {Promise} - A promise that resolves to this dataflow.\n */\nfunction runAsync() {\n // return this._pending || Promise.resolve(this.run());\n return this._pending\n || (this.run() && this._pending)\n || Promise.resolve(this);\n}\n\n/**\n * Schedules a callback function to be invoked after the current pulse\n * propagation completes. If no propagation is currently occurring,\n * the function is invoked immediately.\n * @param {function(Dataflow)} callback - The callback function to run.\n * The callback will be invoked with this Dataflow instance as its\n * sole argument.\n * @param {boolean} enqueue - A boolean flag indicating that the\n * callback should be queued up to run after the next propagation\n * cycle, suppressing immediate invocation when propagation is not\n * currently occurring.\n */\nfunction runAfter(callback, enqueue, priority) {\n if (this._pulse || enqueue) {\n // pulse propagation is currently running, queue to run after\n this._postrun.push({\n priority: priority || 0,\n callback: callback\n });\n } else {\n // pulse propagation already complete, invoke immediately\n invokeCallback(this, callback);\n }\n}\n\n/**\n * Enqueue an operator into the priority queue for evaluation. The operator\n * will be enqueued if it has no registered pulse for the current cycle, or if\n * the force argument is true. Upon enqueue, this method also sets the\n * operator's qrank to the current rank value.\n * @param {Operator} op - The operator to enqueue.\n * @param {boolean} [force] - A flag indicating if the operator should be\n * forceably added to the queue, even if it has already been previously\n * enqueued during the current pulse propagation. This is useful when the\n * dataflow graph is dynamically modified and the operator rank changes.\n */\nfunction enqueue(op, force) {\n var p = !this._pulses[op.id];\n if (p) this._pulses[op.id] = this._pulse;\n if (p || force) {\n op.qrank = op.rank;\n this._heap.push(op);\n }\n}\n\n/**\n * Provide a correct pulse for evaluating an operator. If the operator has an\n * explicit source operator, we will try to pull the pulse(s) from it.\n * If there is an array of source operators, we build a multi-pulse.\n * Otherwise, we return a current pulse with correct source data.\n * If the pulse is the pulse map has an explicit target set, we use that.\n * Else if the pulse on the upstream source operator is current, we use that.\n * Else we use the pulse from the pulse map, but copy the source tuple array.\n * @param {Operator} op - The operator for which to get an input pulse.\n * @param {string} [encode] - An (optional) encoding set name with which to\n * annotate the returned pulse. See {@link run} for more information.\n */\nfunction getPulse(op, encode) {\n var s = op.source,\n stamp = this._clock,\n p;\n\n if (s && Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"v\" /* isArray */])(s)) {\n p = s.map(function(_) { return _.pulse; });\n return new __WEBPACK_IMPORTED_MODULE_1__MultiPulse__[\"a\" /* default */](this, stamp, p, encode);\n }\n\n p = this._pulses[op.id];\n if (s) {\n s = s.pulse;\n if (!s || s === __WEBPACK_IMPORTED_MODULE_0__Pulse__[\"a\" /* StopPropagation */]) {\n p.source = [];\n } else if (s.stamp === stamp && p.target !== op) {\n p = s;\n } else {\n p.source = s.source;\n }\n }\n\n return p;\n}\n\n\n/***/ }),\n/* 522 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = touch;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = update;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = pulse;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Pulse__ = __webpack_require__(96);\n\n\nvar NO_OPT = {skip: false, force: false};\n\n/**\n * Touches an operator, scheduling it to be evaluated. If invoked outside of\n * a pulse propagation, the operator will be evaluated the next time this\n * dataflow is run. If invoked in the midst of pulse propagation, the operator\n * will be queued for evaluation if and only if the operator has not yet been\n * evaluated on the current propagation timestamp.\n * @param {Operator} op - The operator to touch.\n * @param {object} [options] - Additional options hash.\n * @param {boolean} [options.skip] - If true, the operator will\n * be skipped: it will not be evaluated, but its dependents will be.\n * @return {Dataflow}\n */\nfunction touch(op, options) {\n var opt = options || NO_OPT;\n if (this._pulse) {\n // if in midst of propagation, add to priority queue\n this._enqueue(op);\n } else {\n // otherwise, queue for next propagation\n this._touched.add(op);\n }\n if (opt.skip) op.skip(true);\n return this;\n}\n\n/**\n * Updates the value of the given operator.\n * @param {Operator} op - The operator to update.\n * @param {*} value - The value to set.\n * @param {object} [options] - Additional options hash.\n * @param {boolean} [options.force] - If true, the operator will\n * be re-evaluated even if its value has not changed.\n * @param {boolean} [options.skip] - If true, the operator will\n * be skipped: it will not be evaluated, but its dependents will be.\n * @return {Dataflow}\n */\nfunction update(op, value, options) {\n var opt = options || NO_OPT;\n if (op.set(value) || opt.force) {\n this.touch(op, opt);\n }\n return this;\n}\n\n/**\n * Pulses an operator with a changeset of tuples. If invoked outside of\n * a pulse propagation, the pulse will be applied the next time this\n * dataflow is run. If invoked in the midst of pulse propagation, the pulse\n * will be added to the set of active pulses and will be applied if and\n * only if the target operator has not yet been evaluated on the current\n * propagation timestamp.\n * @param {Operator} op - The operator to pulse.\n * @param {ChangeSet} value - The tuple changeset to apply.\n * @param {object} [options] - Additional options hash.\n * @param {boolean} [options.skip] - If true, the operator will\n * be skipped: it will not be evaluated, but its dependents will be.\n * @return {Dataflow}\n */\nfunction pulse(op, changeset, options) {\n this.touch(op, options || NO_OPT);\n\n var p = new __WEBPACK_IMPORTED_MODULE_0__Pulse__[\"b\" /* default */](this, this._clock + (this._pulse ? 0 : 1)),\n t = op.pulse && op.pulse.source || [];\n p.target = op;\n this._pulses[op.id] = changeset.pulse(p, t);\n\n return this;\n}\n\n\n/***/ }),\n/* 523 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Heap;\nfunction Heap(comparator) {\n this.cmp = comparator;\n this.nodes = [];\n}\n\nvar prototype = Heap.prototype;\n\nprototype.size = function() {\n return this.nodes.length;\n};\n\nprototype.clear = function() {\n this.nodes = [];\n return this;\n};\n\nprototype.peek = function() {\n return this.nodes[0];\n};\n\nprototype.push = function(x) {\n var array = this.nodes;\n array.push(x);\n return siftdown(array, 0, array.length-1, this.cmp);\n};\n\nprototype.pop = function() {\n var array = this.nodes,\n last = array.pop(),\n item;\n\n if (array.length) {\n item = array[0];\n array[0] = last;\n siftup(array, 0, this.cmp);\n } else {\n item = last;\n }\n return item;\n};\n\nprototype.replace = function(item) {\n var array = this.nodes,\n retval = array[0];\n array[0] = item;\n siftup(array, 0, this.cmp);\n return retval;\n};\n\nprototype.pushpop = function(item) {\n var array = this.nodes, ref = array[0];\n if (array.length && this.cmp(ref, item) < 0) {\n array[0] = item;\n item = ref;\n siftup(array, 0, this.cmp);\n }\n return item;\n};\n\nfunction siftdown(array, start, idx, cmp) {\n var item, parent, pidx;\n\n item = array[idx];\n while (idx > start) {\n pidx = (idx - 1) >> 1;\n parent = array[pidx];\n if (cmp(item, parent) < 0) {\n array[idx] = parent;\n idx = pidx;\n continue;\n }\n break;\n }\n return (array[idx] = item);\n}\n\nfunction siftup(array, idx, cmp) {\n var start = idx,\n end = array.length,\n item = array[idx],\n cidx = 2 * idx + 1, ridx;\n\n while (cidx < end) {\n ridx = cidx + 1;\n if (ridx < end && cmp(array[cidx], array[ridx]) >= 0) {\n cidx = ridx;\n }\n array[idx] = array[cidx];\n idx = cidx;\n cidx = 2 * idx + 1;\n }\n array[idx] = item;\n return siftdown(array, start, idx, cmp);\n}\n\n\n/***/ }),\n/* 524 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Transform;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Operator__ = __webpack_require__(94);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Abstract class for operators that process data tuples.\n * Subclasses must provide a {@link transform} method for operator processing.\n * @constructor\n * @param {*} [init] - The initial value for this operator.\n * @param {object} [params] - The parameters for this operator.\n * @param {Operator} [source] - The operator from which to receive pulses.\n */\nfunction Transform(init, params) {\n __WEBPACK_IMPORTED_MODULE_0__Operator__[\"a\" /* default */].call(this, init, null, params);\n}\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(Transform, __WEBPACK_IMPORTED_MODULE_0__Operator__[\"a\" /* default */]);\n\n/**\n * Overrides {@link Operator.evaluate} for transform operators.\n * Internally, this method calls {@link evaluate} to perform processing.\n * If {@link evaluate} returns a falsy value, the input pulse is returned.\n * This method should NOT be overridden, instead overrride {@link evaluate}.\n * @param {Pulse} pulse - the current dataflow pulse.\n * @return the output pulse for this operator (or StopPropagation)\n */\nprototype.run = function(pulse) {\n if (pulse.stamp <= this.stamp) return pulse.StopPropagation;\n\n var rv;\n if (this.skip()) {\n this.skip(false);\n } else {\n rv = this.evaluate(pulse);\n }\n rv = rv || pulse;\n\n if (rv !== pulse.StopPropagation) this.pulse = rv;\n this.stamp = pulse.stamp;\n\n return rv;\n};\n\n/**\n * Overrides {@link Operator.evaluate} for transform operators.\n * Marshalls parameter values and then invokes {@link transform}.\n * @param {Pulse} pulse - the current dataflow pulse.\n * @return {Pulse} The output pulse (or StopPropagation). A falsy return\n value (including undefined) will let the input pulse pass through.\n */\nprototype.evaluate = function(pulse) {\n var params = this.marshall(pulse.stamp),\n out = this.transform(params, pulse);\n params.clear();\n return out;\n};\n\n/**\n * Process incoming pulses.\n * Subclasses should override this method to implement transforms.\n * @param {Parameters} _ - The operator parameter values.\n * @param {Pulse} pulse - The current dataflow pulse.\n * @return {Pulse} The output pulse (or StopPropagation). A falsy return\n * value (including undefined) will let the input pulse pass through.\n */\nprototype.transform = function() {};\n\n\n/***/ }),\n/* 525 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return transforms; });\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = definition;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = transform;\nvar transforms = {};\n\nfunction definition(type) {\n var t = transform(type);\n return t && t.Definition || null;\n}\n\nfunction transform(type) {\n type = type && type.toLowerCase();\n return transforms.hasOwnProperty(type) ? transforms[type] : null;\n}\n\n\n/***/ }),\n/* 526 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_Aggregate__ = __webpack_require__(154);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"aggregate\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_Aggregate__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_Bin__ = __webpack_require__(549);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"bin\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_Bin__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_Collect__ = __webpack_require__(550);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"collect\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_Collect__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_Compare__ = __webpack_require__(551);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"compare\", function() { return __WEBPACK_IMPORTED_MODULE_3__src_Compare__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__src_CountPattern__ = __webpack_require__(552);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"countpattern\", function() { return __WEBPACK_IMPORTED_MODULE_4__src_CountPattern__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__src_Cross__ = __webpack_require__(553);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"cross\", function() { return __WEBPACK_IMPORTED_MODULE_5__src_Cross__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__src_Density__ = __webpack_require__(554);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"density\", function() { return __WEBPACK_IMPORTED_MODULE_6__src_Density__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__src_Expression__ = __webpack_require__(556);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"expression\", function() { return __WEBPACK_IMPORTED_MODULE_7__src_Expression__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__src_Extent__ = __webpack_require__(557);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"extent\", function() { return __WEBPACK_IMPORTED_MODULE_8__src_Extent__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__src_Facet__ = __webpack_require__(260);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"facet\", function() { return __WEBPACK_IMPORTED_MODULE_9__src_Facet__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__src_Field__ = __webpack_require__(558);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"field\", function() { return __WEBPACK_IMPORTED_MODULE_10__src_Field__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__src_Filter__ = __webpack_require__(559);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"filter\", function() { return __WEBPACK_IMPORTED_MODULE_11__src_Filter__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__src_Flatten__ = __webpack_require__(560);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"flatten\", function() { return __WEBPACK_IMPORTED_MODULE_12__src_Flatten__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__src_Fold__ = __webpack_require__(561);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"fold\", function() { return __WEBPACK_IMPORTED_MODULE_13__src_Fold__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__src_Formula__ = __webpack_require__(562);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"formula\", function() { return __WEBPACK_IMPORTED_MODULE_14__src_Formula__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__src_Generate__ = __webpack_require__(563);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"generate\", function() { return __WEBPACK_IMPORTED_MODULE_15__src_Generate__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__src_Impute__ = __webpack_require__(564);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"impute\", function() { return __WEBPACK_IMPORTED_MODULE_16__src_Impute__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__src_JoinAggregate__ = __webpack_require__(565);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"joinaggregate\", function() { return __WEBPACK_IMPORTED_MODULE_17__src_JoinAggregate__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__src_Key__ = __webpack_require__(566);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"key\", function() { return __WEBPACK_IMPORTED_MODULE_18__src_Key__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__src_Load__ = __webpack_require__(567);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"load\", function() { return __WEBPACK_IMPORTED_MODULE_19__src_Load__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__src_Lookup__ = __webpack_require__(568);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"lookup\", function() { return __WEBPACK_IMPORTED_MODULE_20__src_Lookup__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__src_MultiExtent__ = __webpack_require__(569);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"multiextent\", function() { return __WEBPACK_IMPORTED_MODULE_21__src_MultiExtent__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__src_MultiValues__ = __webpack_require__(570);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"multivalues\", function() { return __WEBPACK_IMPORTED_MODULE_22__src_MultiValues__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__src_Params__ = __webpack_require__(571);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"params\", function() { return __WEBPACK_IMPORTED_MODULE_23__src_Params__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__src_Pivot__ = __webpack_require__(572);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"pivot\", function() { return __WEBPACK_IMPORTED_MODULE_24__src_Pivot__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__src_PreFacet__ = __webpack_require__(573);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"prefacet\", function() { return __WEBPACK_IMPORTED_MODULE_25__src_PreFacet__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__src_Project__ = __webpack_require__(574);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"project\", function() { return __WEBPACK_IMPORTED_MODULE_26__src_Project__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27__src_Proxy__ = __webpack_require__(575);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"proxy\", function() { return __WEBPACK_IMPORTED_MODULE_27__src_Proxy__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__src_Relay__ = __webpack_require__(576);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"relay\", function() { return __WEBPACK_IMPORTED_MODULE_28__src_Relay__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_29__src_Sample__ = __webpack_require__(577);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"sample\", function() { return __WEBPACK_IMPORTED_MODULE_29__src_Sample__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_30__src_Sequence__ = __webpack_require__(578);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"sequence\", function() { return __WEBPACK_IMPORTED_MODULE_30__src_Sequence__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_31__src_Sieve__ = __webpack_require__(579);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"sieve\", function() { return __WEBPACK_IMPORTED_MODULE_31__src_Sieve__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_32__src_Subflow__ = __webpack_require__(261);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"subflow\", function() { return __WEBPACK_IMPORTED_MODULE_32__src_Subflow__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_33__src_TupleIndex__ = __webpack_require__(580);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"tupleindex\", function() { return __WEBPACK_IMPORTED_MODULE_33__src_TupleIndex__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_34__src_Values__ = __webpack_require__(581);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"values\", function() { return __WEBPACK_IMPORTED_MODULE_34__src_Values__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_35__src_Window__ = __webpack_require__(582);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"window\", function() { return __WEBPACK_IMPORTED_MODULE_35__src_Window__[\"a\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 527 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(_) {\n // determine range\n var maxb = _.maxbins || 20,\n base = _.base || 10,\n logb = Math.log(base),\n div = _.divide || [5, 2],\n min = _.extent[0],\n max = _.extent[1],\n span = max - min,\n step, level, minstep, precision, v, i, n, eps;\n\n if (_.step) {\n // if step size is explicitly given, use that\n step = _.step;\n } else if (_.steps) {\n // if provided, limit choice to acceptable step sizes\n v = span / maxb;\n for (i=0, n=_.steps.length; i < n && _.steps[i] < v; ++i);\n step = _.steps[Math.max(0, i-1)];\n } else {\n // else use span to determine step size\n level = Math.ceil(Math.log(maxb) / logb);\n minstep = _.minstep || 0;\n step = Math.max(\n minstep,\n Math.pow(base, Math.round(Math.log(span) / logb) - level)\n );\n\n // increase step size if too many bins\n while (Math.ceil(span/step) > maxb) { step *= base; }\n\n // decrease step size if allowed\n for (i=0, n=div.length; i<n; ++i) {\n v = step / div[i];\n if (v >= minstep && span / v <= maxb) step = v;\n }\n }\n\n // update precision, min and max\n v = Math.log(step);\n precision = v >= 0 ? 0 : ~~(-v / logb) + 1;\n eps = Math.pow(base, -precision - 1);\n if (_.nice || _.nice === undefined) {\n v = Math.floor(min / step + eps) * step;\n min = min < v ? v - step : v;\n max = Math.ceil(max / step) * step;\n }\n\n return {\n start: min,\n stop: max,\n step: step\n };\n});\n\n\n/***/ }),\n/* 528 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__numbers__ = __webpack_require__(244);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__random__ = __webpack_require__(47);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_d3_array__ = __webpack_require__(9);\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(array, samples, alpha, f) {\n var values = Object(__WEBPACK_IMPORTED_MODULE_0__numbers__[\"a\" /* default */])(array, f),\n n = values.length,\n m = samples,\n a, i, j, mu;\n\n for (j=0, mu=Array(m); j<m; ++j) {\n for (a=0, i=0; i<n; ++i) {\n a += values[~~(Object(__WEBPACK_IMPORTED_MODULE_1__random__[\"a\" /* random */])() * n)];\n }\n mu[j] = a / n;\n }\n\n return [\n Object(__WEBPACK_IMPORTED_MODULE_2_d3_array__[\"m\" /* quantile */])(mu.sort(__WEBPACK_IMPORTED_MODULE_2_d3_array__[\"a\" /* ascending */]), alpha/2),\n Object(__WEBPACK_IMPORTED_MODULE_2_d3_array__[\"m\" /* quantile */])(mu, 1-(alpha/2))\n ];\n});\n\n\n/***/ }),\n/* 529 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__pairs__ = __webpack_require__(247);\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (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 = __WEBPACK_IMPORTED_MODULE_0__pairs__[\"a\" /* 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\n\n/***/ }),\n/* 530 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony default export */ var _unused_webpack_default_export = (function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n});\n\n\n/***/ }),\n/* 531 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__array__ = __webpack_require__(251);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__bisect__ = __webpack_require__(245);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constant__ = __webpack_require__(532);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__extent__ = __webpack_require__(250);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__identity__ = __webpack_require__(533);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__range__ = __webpack_require__(252);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__ticks__ = __webpack_require__(253);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__threshold_sturges__ = __webpack_require__(254);\n\n\n\n\n\n\n\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (function() {\n var value = __WEBPACK_IMPORTED_MODULE_4__identity__[\"a\" /* default */],\n domain = __WEBPACK_IMPORTED_MODULE_3__extent__[\"a\" /* default */],\n threshold = __WEBPACK_IMPORTED_MODULE_7__threshold_sturges__[\"a\" /* default */];\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 = Object(__WEBPACK_IMPORTED_MODULE_6__ticks__[\"c\" /* tickStep */])(x0, x1, tz);\n tz = Object(__WEBPACK_IMPORTED_MODULE_5__range__[\"a\" /* default */])(Math.ceil(x0 / tz) * tz, Math.floor(x1 / tz) * tz, 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[Object(__WEBPACK_IMPORTED_MODULE_1__bisect__[\"c\" /* default */])(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\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_2__constant__[\"a\" /* default */])(_), histogram) : value;\n };\n\n histogram.domain = function(_) {\n return arguments.length ? (domain = typeof _ === \"function\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_2__constant__[\"a\" /* default */])([_[0], _[1]]), histogram) : domain;\n };\n\n histogram.thresholds = function(_) {\n return arguments.length ? (threshold = typeof _ === \"function\" ? _ : Array.isArray(_) ? Object(__WEBPACK_IMPORTED_MODULE_2__constant__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_0__array__[\"b\" /* slice */].call(_)) : Object(__WEBPACK_IMPORTED_MODULE_2__constant__[\"a\" /* default */])(_), histogram) : threshold;\n };\n\n return histogram;\n});\n\n\n/***/ }),\n/* 532 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(x) {\n return function() {\n return x;\n };\n});\n\n\n/***/ }),\n/* 533 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(x) {\n return x;\n});\n\n\n/***/ }),\n/* 534 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__array__ = __webpack_require__(251);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ascending__ = __webpack_require__(56);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__number__ = __webpack_require__(68);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__quantile__ = __webpack_require__(155);\n\n\n\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (function(values, min, max) {\n values = __WEBPACK_IMPORTED_MODULE_0__array__[\"a\" /* map */].call(values, __WEBPACK_IMPORTED_MODULE_2__number__[\"a\" /* default */]).sort(__WEBPACK_IMPORTED_MODULE_1__ascending__[\"a\" /* default */]);\n return Math.ceil((max - min) / (2 * (Object(__WEBPACK_IMPORTED_MODULE_3__quantile__[\"a\" /* default */])(values, 0.75) - Object(__WEBPACK_IMPORTED_MODULE_3__quantile__[\"a\" /* default */])(values, 0.25)) * Math.pow(values.length, -1 / 3)));\n});\n\n\n/***/ }),\n/* 535 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__deviation__ = __webpack_require__(248);\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (function(values, min, max) {\n return Math.ceil((max - min) / (3.5 * Object(__WEBPACK_IMPORTED_MODULE_0__deviation__[\"a\" /* default */])(values) * Math.pow(values.length, -1 / 3)));\n});\n\n\n/***/ }),\n/* 536 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 537 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__number__ = __webpack_require__(68);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (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 = Object(__WEBPACK_IMPORTED_MODULE_0__number__[\"a\" /* default */])(values[i]))) sum += value;\n else --m;\n }\n }\n\n else {\n while (++i < n) {\n if (!isNaN(value = Object(__WEBPACK_IMPORTED_MODULE_0__number__[\"a\" /* default */])(valueof(values[i], i, values)))) sum += value;\n else --m;\n }\n }\n\n if (m) return sum / m;\n});\n\n\n/***/ }),\n/* 538 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ascending__ = __webpack_require__(56);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__number__ = __webpack_require__(68);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__quantile__ = __webpack_require__(155);\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (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 = Object(__WEBPACK_IMPORTED_MODULE_1__number__[\"a\" /* default */])(values[i]))) {\n numbers.push(value);\n }\n }\n }\n\n else {\n while (++i < n) {\n if (!isNaN(value = Object(__WEBPACK_IMPORTED_MODULE_1__number__[\"a\" /* default */])(valueof(values[i], i, values)))) {\n numbers.push(value);\n }\n }\n }\n\n return Object(__WEBPACK_IMPORTED_MODULE_2__quantile__[\"a\" /* default */])(numbers.sort(__WEBPACK_IMPORTED_MODULE_0__ascending__[\"a\" /* default */]), 0.5);\n});\n\n\n/***/ }),\n/* 539 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 540 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 541 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ascending__ = __webpack_require__(56);\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (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 = __WEBPACK_IMPORTED_MODULE_0__ascending__[\"a\" /* default */];\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\n\n/***/ }),\n/* 542 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony default export */ var _unused_webpack_default_export = (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\n\n/***/ }),\n/* 543 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 544 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__transpose__ = __webpack_require__(256);\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (function() {\n return Object(__WEBPACK_IMPORTED_MODULE_0__transpose__[\"a\" /* default */])(arguments);\n});\n\n\n/***/ }),\n/* 545 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__random__ = __webpack_require__(47);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(min, max) {\n if (max == null) {\n max = min;\n min = 0;\n }\n\n var dist = {},\n a, b, d;\n\n dist.min = function(_) {\n if (arguments.length) {\n a = _ || 0;\n d = b - a;\n return dist;\n } else {\n return a;\n }\n };\n\n dist.max = function(_) {\n if (arguments.length) {\n b = _ || 0;\n d = b - a;\n return dist;\n } else {\n return b;\n }\n };\n\n dist.sample = function() {\n return a + Math.floor(d * Object(__WEBPACK_IMPORTED_MODULE_0__random__[\"a\" /* random */])());\n };\n\n dist.pdf = function(x) {\n return (x === Math.floor(x) && x >= a && x < b) ? 1 / d : 0;\n };\n\n dist.cdf = function(x) {\n var v = Math.floor(x);\n return v < a ? 0 : v >= b ? 1 : (v - a + 1) / d;\n };\n\n dist.icdf = function(p) {\n return (p >= 0 && p <= 1) ? a - 1 + Math.floor(p * d) : NaN;\n };\n\n return dist.min(min).max(max);\n});\n\n\n/***/ }),\n/* 546 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__normal__ = __webpack_require__(258);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__quartiles__ = __webpack_require__(257);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__random__ = __webpack_require__(47);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_d3_array__ = __webpack_require__(9);\n\n\n\n\n\n// TODO: support for additional kernels?\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(support, bandwidth) {\n var kernel = Object(__WEBPACK_IMPORTED_MODULE_0__normal__[\"a\" /* default */])(),\n dist = {},\n n = 0;\n\n dist.data = function(_) {\n if (arguments.length) {\n support = _;\n n = _ ? _.length : 0;\n return dist.bandwidth(bandwidth);\n } else {\n return support;\n }\n };\n\n dist.bandwidth = function(_) {\n if (!arguments.length) return bandwidth;\n bandwidth = _;\n if (!bandwidth && support) bandwidth = estimateBandwidth(support);\n return dist;\n };\n\n dist.sample = function() {\n return support[~~(Object(__WEBPACK_IMPORTED_MODULE_2__random__[\"a\" /* random */])() * n)] + bandwidth * kernel.sample();\n };\n\n dist.pdf = function(x) {\n for (var y=0, i=0; i<n; ++i) {\n y += kernel.pdf((x - support[i]) / bandwidth);\n }\n return y / bandwidth / n;\n };\n\n dist.cdf = function(x) {\n for (var y=0, i=0; i<n; ++i) {\n y += kernel.cdf((x - support[i]) / bandwidth);\n }\n return y / n;\n };\n\n dist.icdf = function() {\n throw Error('KDE icdf not supported.');\n };\n\n return dist.data(support);\n});\n\n// Scott, D. W. (1992) Multivariate Density Estimation:\n// Theory, Practice, and Visualization. Wiley.\nfunction estimateBandwidth(array) {\n var n = array.length,\n q = Object(__WEBPACK_IMPORTED_MODULE_1__quartiles__[\"a\" /* default */])(array),\n h = (q[2] - q[0]) / 1.34;\n return 1.06 * Math.min(Math.sqrt(Object(__WEBPACK_IMPORTED_MODULE_3_d3_array__[\"t\" /* variance */])(array)), h) * Math.pow(n, -0.2);\n}\n\n\n/***/ }),\n/* 547 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__random__ = __webpack_require__(47);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(dists, weights) {\n var dist = {}, m = 0, w;\n\n function normalize(x) {\n var w = [], sum = 0, i;\n for (i=0; i<m; ++i) { sum += (w[i] = (x[i]==null ? 1 : +x[i])); }\n for (i=0; i<m; ++i) { w[i] /= sum; }\n return w;\n }\n\n dist.weights = function(_) {\n if (arguments.length) {\n w = normalize(weights = (_ || []));\n return dist;\n }\n return weights;\n };\n\n dist.distributions = function(_) {\n if (arguments.length) {\n if (_) {\n m = _.length;\n dists = _;\n } else {\n m = 0;\n dists = [];\n }\n return dist.weights(weights);\n }\n return dists;\n };\n\n dist.sample = function() {\n var r = Object(__WEBPACK_IMPORTED_MODULE_0__random__[\"a\" /* random */])(),\n d = dists[m-1],\n v = w[0],\n i = 0;\n\n // first select distribution\n for (; i<m-1; v += w[++i]) {\n if (r < v) { d = dists[i]; break; }\n }\n // then sample from it\n return d.sample();\n };\n\n dist.pdf = function(x) {\n for (var p=0, i=0; i<m; ++i) {\n p += w[i] * dists[i].pdf(x);\n }\n return p;\n };\n\n dist.cdf = function(x) {\n for (var p=0, i=0; i<m; ++i) {\n p += w[i] * dists[i].cdf(x);\n }\n return p;\n };\n\n dist.icdf = function() {\n throw Error('Mixture icdf not supported.');\n };\n\n return dist.distributions(dists).weights(weights);\n});\n\n\n/***/ }),\n/* 548 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__random__ = __webpack_require__(47);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(min, max) {\n if (max == null) {\n max = (min == null ? 1 : min);\n min = 0;\n }\n\n var dist = {},\n a, b, d;\n\n dist.min = function(_) {\n if (arguments.length) {\n a = _ || 0;\n d = b - a;\n return dist;\n } else {\n return a;\n }\n };\n\n dist.max = function(_) {\n if (arguments.length) {\n b = _ || 0;\n d = b - a;\n return dist;\n } else {\n return b;\n }\n };\n\n dist.sample = function() {\n return a + d * Object(__WEBPACK_IMPORTED_MODULE_0__random__[\"a\" /* random */])();\n };\n\n dist.pdf = function(x) {\n return (x >= a && x <= b) ? 1 / d : 0;\n };\n\n dist.cdf = function(x) {\n return x < a ? 0 : x > b ? 1 : (x - a) / d;\n };\n\n dist.icdf = function(p) {\n return (p >= 0 && p <= 1) ? a + p * d : NaN;\n };\n\n return dist.min(min).max(max);\n});\n\n\n/***/ }),\n/* 549 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Bin;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_statistics__ = __webpack_require__(46);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n\n\n\n\n/**\n * Generates a binning function for discretizing data.\n * @constructor\n * @param {object} params - The parameters for this operator. The\n * provided values should be valid options for the {@link bin} function.\n * @param {function(object): *} params.field - The data field to bin.\n */\nfunction Bin(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n}\n\nBin.Definition = {\n \"type\": \"Bin\",\n \"metadata\": {\"modifies\": true},\n \"params\": [\n { \"name\": \"field\", \"type\": \"field\", \"required\": true },\n { \"name\": \"anchor\", \"type\": \"number\" },\n { \"name\": \"maxbins\", \"type\": \"number\", \"default\": 20 },\n { \"name\": \"base\", \"type\": \"number\", \"default\": 10 },\n { \"name\": \"divide\", \"type\": \"number\", \"array\": true, \"default\": [5, 2] },\n { \"name\": \"extent\", \"type\": \"number\", \"array\": true, \"length\": 2, \"required\": true },\n { \"name\": \"step\", \"type\": \"number\" },\n { \"name\": \"steps\", \"type\": \"number\", \"array\": true },\n { \"name\": \"minstep\", \"type\": \"number\", \"default\": 0 },\n { \"name\": \"nice\", \"type\": \"boolean\", \"default\": true },\n { \"name\": \"name\", \"type\": \"string\" },\n { \"name\": \"as\", \"type\": \"string\", \"array\": true, \"length\": 2, \"default\": [\"bin0\", \"bin1\"] }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"u\" /* inherits */])(Bin, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var bins = this._bins(_),\n start = bins.start,\n step = bins.step,\n as = _.as || ['bin0', 'bin1'],\n b0 = as[0],\n b1 = as[1],\n flag;\n\n if (_.modified()) {\n pulse = pulse.reflow(true);\n flag = pulse.SOURCE;\n } else {\n flag = pulse.modified(Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"g\" /* accessorFields */])(_.field)) ? pulse.ADD_MOD : pulse.ADD;\n }\n\n pulse.visit(flag, function(t) {\n var v = bins(t);\n // minimum bin value (inclusive)\n t[b0] = v;\n // maximum bin value (exclusive)\n // use convoluted math for better floating point agreement\n // see https://github.com/vega/vega/issues/830\n t[b1] = v == null ? null : start + step * (1 + (v - start) / step);\n });\n\n return pulse.modifies(as);\n};\n\nprototype._bins = function(_) {\n if (this.value && !_.modified()) {\n return this.value;\n }\n\n var field = _.field,\n bins = Object(__WEBPACK_IMPORTED_MODULE_1_vega_statistics__[\"a\" /* bin */])(_),\n start = bins.start,\n stop = bins.stop,\n step = bins.step,\n a, d;\n\n if ((a = _.anchor) != null) {\n d = a - (start + step * Math.floor((a - start) / step));\n start += d;\n stop += d;\n }\n\n var f = function(t) {\n var v = field(t);\n if (v == null) {\n return null;\n } else {\n v = Math.max(start, Math.min(+v, stop - step));\n return start + step * Math.floor((v - start) / step);\n }\n };\n\n f.start = start;\n f.stop = stop;\n f.step = step;\n\n return this.value = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"f\" /* accessor */])(\n f,\n Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"g\" /* accessorFields */])(field),\n _.name || 'bin_' + Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"h\" /* accessorName */])(field)\n );\n};\n\n\n/***/ }),\n/* 550 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Collect;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_SortedList__ = __webpack_require__(259);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n\n\n\n\n/**\n * Collects all data tuples that pass through this operator.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(*,*): number} [params.sort] - An optional\n * comparator function for additionally sorting the collected tuples.\n */\nfunction Collect(params) {\n __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"g\" /* Transform */].call(this, [], params);\n}\n\nCollect.Definition = {\n \"type\": \"Collect\",\n \"metadata\": {\"source\": true},\n \"params\": [\n { \"name\": \"sort\", \"type\": \"compare\" }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"u\" /* inherits */])(Collect, __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var out = pulse.fork(pulse.ALL),\n list = Object(__WEBPACK_IMPORTED_MODULE_0__util_SortedList__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"r\" /* tupleid */], this.value, out.materialize(out.ADD).add),\n sort = _.sort,\n mod = pulse.changed() || (sort &&\n (_.modified('sort') || pulse.modified(sort.fields)));\n\n out.visit(out.REM, list.remove);\n\n this.modified(mod);\n this.value = out.source = list.data(sort, mod);\n\n // propagate tree root if defined\n if (pulse.source && pulse.source.root) {\n this.value.root = pulse.source.root;\n }\n\n return out;\n};\n\n\n/***/ }),\n/* 551 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Compare;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Generates a comparator function.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {Array<string>} params.fields - The fields to compare.\n * @param {Array<string>} [params.orders] - The sort orders.\n * Each entry should be one of \"ascending\" (default) or \"descending\".\n */\nfunction Compare(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"d\" /* Operator */].call(this, null, update, params);\n}\n\nObject(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(Compare, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"d\" /* Operator */]);\n\nfunction update(_) {\n return (this.value && !_.modified())\n ? this.value\n : Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"j\" /* compare */])(_.fields, _.orders);\n}\n\n\n/***/ }),\n/* 552 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = CountPattern;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Count regexp-defined pattern occurrences in a text field.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(object): *} params.field - An accessor for the text field.\n * @param {string} [params.pattern] - RegExp string defining the text pattern.\n * @param {string} [params.case] - One of 'lower', 'upper' or null (mixed) case.\n * @param {string} [params.stopwords] - RegExp string of words to ignore.\n */\nfunction CountPattern(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n}\n\nCountPattern.Definition = {\n \"type\": \"CountPattern\",\n \"metadata\": {\"generates\": true, \"changes\": true},\n \"params\": [\n { \"name\": \"field\", \"type\": \"field\", \"required\": true },\n { \"name\": \"case\", \"type\": \"enum\", \"values\": [\"upper\", \"lower\", \"mixed\"], \"default\": \"mixed\" },\n { \"name\": \"pattern\", \"type\": \"string\", \"default\": \"[\\\\w\\\"]+\" },\n { \"name\": \"stopwords\", \"type\": \"string\", \"default\": \"\" },\n { \"name\": \"as\", \"type\": \"string\", \"array\": true, \"length\": 2, \"default\": [\"text\", \"count\"] }\n ]\n};\n\nfunction tokenize(text, tcase, match) {\n switch (tcase) {\n case 'upper': text = text.toUpperCase(); break;\n case 'lower': text = text.toLowerCase(); break;\n }\n return text.match(match);\n}\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(CountPattern, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n function process(update) {\n return function(tuple) {\n var tokens = tokenize(get(tuple), _.case, match) || [], t;\n for (var i=0, n=tokens.length; i<n; ++i) {\n if (!stop.test(t = tokens[i])) update(t);\n }\n };\n }\n\n var init = this._parameterCheck(_, pulse),\n counts = this._counts,\n match = this._match,\n stop = this._stop,\n get = _.field,\n as = _.as || ['text', 'count'],\n add = process(function(t) { counts[t] = 1 + (counts[t] || 0); }),\n rem = process(function(t) { counts[t] -= 1; });\n\n if (init) {\n pulse.visit(pulse.SOURCE, add);\n } else {\n pulse.visit(pulse.ADD, add);\n pulse.visit(pulse.REM, rem);\n }\n\n return this._finish(pulse, as); // generate output tuples\n};\n\nprototype._parameterCheck = function(_, pulse) {\n var init = false;\n\n if (_.modified('stopwords') || !this._stop) {\n this._stop = new RegExp('^' + (_.stopwords || '') + '$', 'i');\n init = true;\n }\n\n if (_.modified('pattern') || !this._match) {\n this._match = new RegExp((_.pattern || '[\\\\w\\']+'), 'g');\n init = true;\n }\n\n if (_.modified('field') || pulse.modified(_.field.fields)) {\n init = true;\n }\n\n if (init) this._counts = {};\n return init;\n};\n\nprototype._finish = function(pulse, as) {\n var counts = this._counts,\n tuples = this._tuples || (this._tuples = {}),\n text = as[0],\n count = as[1],\n out = pulse.fork(pulse.NO_SOURCE | pulse.NO_FIELDS),\n w, t, c;\n\n for (w in counts) {\n t = tuples[w];\n c = counts[w] || 0;\n if (!t && c) {\n tuples[w] = (t = Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"k\" /* ingest */])({}));\n t[text] = w;\n t[count] = c;\n out.add.push(t);\n } else if (c === 0) {\n if (t) out.rem.push(t);\n counts[w] = null;\n tuples[w] = null;\n } else if (t[count] !== c) {\n t[count] = c;\n out.mod.push(t);\n }\n }\n\n return out.modifies(as);\n};\n\n\n/***/ }),\n/* 553 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Cross;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Perform a cross-product of a tuple stream with itself.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(object):boolean} [params.filter] - An optional filter\n * function for selectively including tuples in the cross product.\n * @param {Array<string>} [params.as] - The names of the output fields.\n */\nfunction Cross(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n}\n\nCross.Definition = {\n \"type\": \"Cross\",\n \"metadata\": {\"generates\": true},\n \"params\": [\n { \"name\": \"filter\", \"type\": \"expr\" },\n { \"name\": \"as\", \"type\": \"string\", \"array\": true, \"length\": 2, \"default\": [\"a\", \"b\"] }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(Cross, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var out = pulse.fork(pulse.NO_SOURCE),\n data = this.value,\n as = _.as || ['a', 'b'],\n a = as[0], b = as[1],\n reset = !data\n || pulse.changed(pulse.ADD_REM)\n || _.modified('as')\n || _.modified('filter');\n\n if (reset) {\n if (data) out.rem = data;\n data = pulse.materialize(pulse.SOURCE).source;\n out.add = this.value = cross(data, a, b, _.filter || __WEBPACK_IMPORTED_MODULE_1_vega_util__[\"V\" /* truthy */]);\n } else {\n out.mod = data;\n }\n\n out.source = this.value;\n return out.modifies(as);\n};\n\nfunction cross(input, a, b, filter) {\n var data = [],\n t = {},\n n = input.length,\n i = 0,\n j, left;\n\n for (; i<n; ++i) {\n t[a] = left = input[i];\n for (j=0; j<n; ++j) {\n t[b] = input[j];\n if (filter(t)) {\n data.push(Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"k\" /* ingest */])(t));\n t = {};\n t[a] = left;\n }\n }\n }\n\n return data;\n}\n\n\n/***/ }),\n/* 554 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Density;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_Distributions__ = __webpack_require__(555);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_d3_array__ = __webpack_require__(9);\n\n\n\n\n\n/**\n * Grid sample points for a probability density. Given a distribution and\n * a sampling extent, will generate points suitable for plotting either\n * PDF (probability density function) or CDF (cumulative distribution\n * function) curves.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {object} params.distribution - The probability distribution. This\n * is an object parameter dependent on the distribution type.\n * @param {string} [params.method='pdf'] - The distribution method to sample.\n * One of 'pdf' or 'cdf'.\n * @param {Array<number>} [params.extent] - The [min, max] extent over which\n * to sample the distribution. This argument is required in most cases, but\n * can be omitted if the distribution (e.g., 'kde') supports a 'data' method\n * that returns numerical sample points from which the extent can be deduced.\n * @param {number} [params.steps=100] - The number of sampling steps.\n */\nfunction Density(params) {\n __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n}\n\nvar distributions = [\n {\n \"key\": {\"function\": \"normal\"},\n \"params\": [\n { \"name\": \"mean\", \"type\": \"number\", \"default\": 0 },\n { \"name\": \"stdev\", \"type\": \"number\", \"default\": 1 }\n ]\n },\n {\n \"key\": {\"function\": \"uniform\"},\n \"params\": [\n { \"name\": \"min\", \"type\": \"number\", \"default\": 0 },\n { \"name\": \"max\", \"type\": \"number\", \"default\": 1 }\n ]\n },\n {\n \"key\": {\"function\": \"kde\"},\n \"params\": [\n { \"name\": \"field\", \"type\": \"field\", \"required\": true },\n { \"name\": \"from\", \"type\": \"data\" },\n { \"name\": \"bandwidth\", \"type\": \"number\", \"default\": 0 }\n ]\n }\n];\n\nvar mixture = {\n \"key\": {\"function\": \"mixture\"},\n \"params\": [\n { \"name\": \"distributions\", \"type\": \"param\", \"array\": true,\n \"params\": distributions },\n { \"name\": \"weights\", \"type\": \"number\", \"array\": true }\n ]\n};\n\nDensity.Definition = {\n \"type\": \"Density\",\n \"metadata\": {\"generates\": true},\n \"params\": [\n { \"name\": \"extent\", \"type\": \"number\", \"array\": true, \"length\": 2 },\n { \"name\": \"steps\", \"type\": \"number\", \"default\": 100 },\n { \"name\": \"method\", \"type\": \"string\", \"default\": \"pdf\",\n \"values\": [\"pdf\", \"cdf\"] },\n { \"name\": \"distribution\", \"type\": \"param\",\n \"params\": distributions.concat(mixture) },\n { \"name\": \"as\", \"type\": \"string\", \"array\": true,\n \"default\": [\"value\", \"density\"] }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"u\" /* inherits */])(Density, __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var out = pulse.fork(pulse.NO_SOURCE | pulse.NO_FIELDS);\n\n if (!this.value || pulse.changed() || _.modified()) {\n var dist = Object(__WEBPACK_IMPORTED_MODULE_0__util_Distributions__[\"a\" /* default */])(_.distribution, source(pulse)),\n method = _.method || 'pdf';\n\n if (method !== 'pdf' && method !== 'cdf') {\n Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"m\" /* error */])('Invalid density method: ' + method);\n }\n if (!_.extent && !dist.data) {\n Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"m\" /* error */])('Missing density extent parameter.');\n }\n method = dist[method];\n\n var as = _.as || ['value', 'density'],\n domain = _.extent || Object(__WEBPACK_IMPORTED_MODULE_3_d3_array__[\"f\" /* extent */])(dist.data()),\n step = (domain[1] - domain[0]) / (_.steps || 100),\n values = Object(__WEBPACK_IMPORTED_MODULE_3_d3_array__[\"n\" /* range */])(domain[0], domain[1] + step/2, step)\n .map(function(v) {\n var tuple = {};\n tuple[as[0]] = v;\n tuple[as[1]] = method(v);\n return Object(__WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"k\" /* ingest */])(tuple);\n });\n\n if (this.value) out.rem = this.value;\n this.value = out.add = out.source = values;\n }\n\n return out;\n};\n\nfunction source(pulse) {\n return function() { return pulse.materialize(pulse.SOURCE).source; };\n}\n\n\n/***/ }),\n/* 555 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = parse;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_statistics__ = __webpack_require__(46);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n\nvar Distributions = {\n kde: __WEBPACK_IMPORTED_MODULE_0_vega_statistics__[\"f\" /* randomKDE */],\n mixture: __WEBPACK_IMPORTED_MODULE_0_vega_statistics__[\"g\" /* randomMixture */],\n normal: __WEBPACK_IMPORTED_MODULE_0_vega_statistics__[\"h\" /* randomNormal */],\n uniform: __WEBPACK_IMPORTED_MODULE_0_vega_statistics__[\"i\" /* randomUniform */]\n};\n\nvar DISTRIBUTIONS = 'distributions',\n FUNCTION = 'function',\n FIELD = 'field';\n\n/**\n * Parse a parameter object for a probability distribution.\n * @param {object} def - The distribution parameter object.\n * @param {function():Array<object>} - A method for requesting\n * source data. Used for distributions (such as KDE) that\n * require sample data points. This method will only be\n * invoked if the 'from' parameter for a target data source\n * is not provided. Typically this method returns backing\n * source data for a Pulse object.\n * @return {object} - The output distribution object.\n */\nfunction parse(def, data) {\n var func = def[FUNCTION];\n if (!Distributions.hasOwnProperty(func)) {\n Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"m\" /* error */])('Unknown distribution function: ' + func);\n }\n\n var d = Distributions[func]();\n\n for (var name in def) {\n // if data field, extract values\n if (name === FIELD) {\n d.data((def.from || data()).map(def[name]));\n }\n\n // if distribution mixture, recurse to parse each definition\n else if (name === DISTRIBUTIONS) {\n d[name](def[name].map(function(_) { return parse(_, data); }));\n }\n\n // otherwise, simply set the parameter\n else if (typeof d[name] === FUNCTION) {\n d[name](def[name]);\n }\n }\n\n return d;\n}\n\n\n/***/ }),\n/* 556 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Expression;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Wraps an expression function with access to external parameters.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function} params.expr - The expression function. The\n * function should accept both a datum and a parameter object.\n * This operator's value will be a new function that wraps the\n * expression function with access to this operator's parameters.\n */\nfunction Expression(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"d\" /* Operator */].call(this, null, update, params);\n this.modified(true);\n}\n\nObject(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(Expression, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"d\" /* Operator */]);\n\nfunction update(_) {\n var expr = _.expr;\n return this.value && !_.modified('expr')\n ? this.value\n : Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"f\" /* accessor */])(\n function(datum) { return expr(datum, _); },\n Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"g\" /* accessorFields */])(expr),\n Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"h\" /* accessorName */])(expr)\n );\n}\n\n\n/***/ }),\n/* 557 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Extent;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Computes extents (min/max) for a data field.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(object): *} params.field - The field over which to compute extends.\n */\nfunction Extent(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, [+Infinity, -Infinity], params);\n}\n\nExtent.Definition = {\n \"type\": \"Extent\",\n \"metadata\": {},\n \"params\": [\n { \"name\": \"field\", \"type\": \"field\", \"required\": true }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(Extent, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var extent = this.value,\n field = _.field,\n min = extent[0],\n max = extent[1],\n flag = pulse.ADD,\n mod;\n\n mod = pulse.changed()\n || pulse.modified(field.fields)\n || _.modified('field');\n\n if (mod) {\n flag = pulse.SOURCE;\n min = +Infinity;\n max = -Infinity;\n }\n\n pulse.visit(flag, function(t) {\n var v = field(t);\n if (v != null) {\n // coerce to number\n v = +v;\n // NaNs will fail all comparisons!\n if (v < min) min = v;\n if (v > max) max = v;\n }\n });\n\n this.value = [min, max];\n};\n\n\n/***/ }),\n/* 558 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Field;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Generates one or more field accessor functions.\n * If the 'name' parameter is an array, an array of field accessors\n * will be created and the 'as' parameter will be ignored.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {string} params.name - The field name(s) to access.\n * @param {string} params.as - The accessor function name.\n */\nfunction Field(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"d\" /* Operator */].call(this, null, update, params);\n}\n\nObject(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(Field, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"d\" /* Operator */]);\n\nfunction update(_) {\n return (this.value && !_.modified()) ? this.value\n : Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(_.name) ? Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"i\" /* array */])(_.name).map(function(f) { return Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"r\" /* field */])(f); })\n : Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"r\" /* field */])(_.name, _.as);\n}\n\n\n/***/ }),\n/* 559 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Filter;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Filters data tuples according to a predicate function.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(object): *} params.expr - The predicate expression function\n * that determines a tuple's filter status. Truthy values pass the filter.\n */\nfunction Filter(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"q\" /* fastmap */])(), params);\n}\n\nFilter.Definition = {\n \"type\": \"Filter\",\n \"metadata\": {\"changes\": true},\n \"params\": [\n { \"name\": \"expr\", \"type\": \"expr\", \"required\": true }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(Filter, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var df = pulse.dataflow,\n cache = this.value, // cache ids of filtered tuples\n output = pulse.fork(),\n add = output.add,\n rem = output.rem,\n mod = output.mod,\n test = _.expr,\n isMod = true;\n\n pulse.visit(pulse.REM, function(t) {\n var id = Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"r\" /* tupleid */])(t);\n if (!cache.has(id)) rem.push(t);\n else cache.delete(id);\n });\n\n pulse.visit(pulse.ADD, function(t) {\n if (test(t, _)) add.push(t);\n else cache.set(Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"r\" /* tupleid */])(t), 1);\n });\n\n function revisit(t) {\n var id = Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"r\" /* tupleid */])(t),\n b = test(t, _),\n s = cache.get(id);\n if (b && s) {\n cache.delete(id);\n add.push(t);\n } else if (!b && !s) {\n cache.set(id, 1);\n rem.push(t);\n } else if (isMod && b && !s) {\n mod.push(t);\n }\n }\n\n pulse.visit(pulse.MOD, revisit);\n\n if (_.modified()) {\n isMod = false;\n pulse.visit(pulse.REFLOW, revisit);\n }\n\n if (cache.empty > df.cleanThreshold) df.runAfter(cache.clean);\n return output;\n};\n\n\n/***/ }),\n/* 560 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Flatten;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_util__ = __webpack_require__(262);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n\n\n\n\n/**\n * Flattens array-typed field values into new data objects.\n * If multiple fields are specified, they are treated as parallel arrays,\n * with output values included for each matching index (or null if missing).\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {Array<function(object): *>} params.fields - An array of field\n * accessors for the tuple fields that should be flattened.\n * @param {Array<string>} [params.as] - Output field names for flattened\n * array fields. Any unspecified fields will use the field name provided\n * by the fields accessors.\n */\nfunction Flatten(params) {\n __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"g\" /* Transform */].call(this, [], params);\n}\n\nFlatten.Definition = {\n \"type\": \"Flatten\",\n \"metadata\": {\"generates\": true},\n \"params\": [\n { \"name\": \"fields\", \"type\": \"field\", \"array\": true, \"required\": true },\n { \"name\": \"as\", \"type\": \"string\", \"array\": true }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"u\" /* inherits */])(Flatten, __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var out = pulse.fork(pulse.NO_SOURCE),\n fields = _.fields,\n as = Object(__WEBPACK_IMPORTED_MODULE_0__util_util__[\"a\" /* fieldNames */])(fields, _.as || []),\n m = as.length;\n\n // remove any previous results\n out.rem = this.value;\n\n // generate flattened tuples\n pulse.visit(pulse.SOURCE, function(t) {\n var arrays = fields.map(function(f) { return f(t); }),\n maxlen = arrays.reduce(function(l, a) { return Math.max(l, a.length); }, 0),\n i = 0, j, d, v;\n\n for (; i<maxlen; ++i) {\n d = Object(__WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"j\" /* derive */])(t);\n for (j=0; j<m; ++j) {\n d[as[j]] = (v = arrays[j][i]) == null ? null : v;\n }\n out.add.push(d);\n }\n });\n\n this.value = out.source = out.add;\n return out.modifies(as);\n};\n\n\n/***/ }),\n/* 561 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Fold;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Folds one more tuple fields into multiple tuples in which the field\n * name and values are available under new 'key' and 'value' fields.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(object): *} params.fields - An array of field accessors\n * for the tuple fields that should be folded.\n * @param {Array<string>} [params.as] - Output field names for folded key\n * and value fields, defaults to ['key', 'value'].\n */\nfunction Fold(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, [], params);\n}\n\nFold.Definition = {\n \"type\": \"Fold\",\n \"metadata\": {\"generates\": true},\n \"params\": [\n { \"name\": \"fields\", \"type\": \"field\", \"array\": true, \"required\": true },\n { \"name\": \"as\", \"type\": \"string\", \"array\": true, \"length\": 2, \"default\": [\"key\", \"value\"] }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(Fold, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var out = pulse.fork(pulse.NO_SOURCE),\n fields = _.fields,\n fnames = fields.map(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"h\" /* accessorName */]),\n as = _.as || ['key', 'value'],\n k = as[0],\n v = as[1],\n n = fields.length;\n\n out.rem = this.value;\n\n pulse.visit(pulse.SOURCE, function(t) {\n for (var i=0, d; i<n; ++i) {\n d = Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"j\" /* derive */])(t);\n d[k] = fnames[i];\n d[v] = fields[i](t);\n out.add.push(d);\n }\n });\n\n this.value = out.source = out.add;\n return out.modifies(as);\n};\n\n\n/***/ }),\n/* 562 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Formula;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Invokes a function for each data tuple and saves the results as a new field.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(object): *} params.expr - The formula function to invoke for each tuple.\n * @param {string} params.as - The field name under which to save the result.\n * @param {boolean} [params.initonly=false] - If true, the formula is applied to\n * added tuples only, and does not update in response to modifications.\n */\nfunction Formula(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n}\n\nFormula.Definition = {\n \"type\": \"Formula\",\n \"metadata\": {\"modifies\": true},\n \"params\": [\n { \"name\": \"expr\", \"type\": \"expr\", \"required\": true },\n { \"name\": \"as\", \"type\": \"string\", \"required\": true },\n { \"name\": \"initonly\", \"type\": \"boolean\" }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(Formula, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var func = _.expr,\n as = _.as,\n mod = _.modified(),\n flag = _.initonly ? pulse.ADD\n : mod ? pulse.SOURCE\n : pulse.modified(func.fields) ? pulse.ADD_MOD\n : pulse.ADD;\n\n function set(t) {\n t[as] = func(t, _);\n }\n\n if (mod) {\n // parameters updated, need to reflow\n pulse = pulse.materialize().reflow(true);\n }\n\n if (!_.initonly) {\n pulse.modifies(as);\n }\n\n return pulse.visit(flag, set);\n};\n\n\n/***/ }),\n/* 563 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Generate;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Generates data tuples using a provided generator function.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(Parameters): object} params.generator - A tuple generator\n * function. This function is given the operator parameters as input.\n * Changes to any additional parameters will not trigger re-calculation\n * of previously generated tuples. Only future tuples are affected.\n * @param {number} params.size - The number of tuples to produce.\n */\nfunction Generate(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, [], params);\n}\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(Generate, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var data = this.value,\n out = pulse.fork(pulse.ALL),\n num = _.size - data.length,\n gen = _.generator,\n add, rem, t;\n\n if (num > 0) {\n // need more tuples, generate and add\n for (add=[]; --num >= 0;) {\n add.push(t = Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"k\" /* ingest */])(gen(_)));\n data.push(t);\n }\n out.add = out.add.length\n ? out.materialize(out.ADD).add.concat(add)\n : add;\n } else {\n // need fewer tuples, remove\n rem = data.slice(0, -num);\n out.rem = out.rem.length\n ? out.materialize(out.REM).rem.concat(rem)\n : rem;\n data = data.slice(-num);\n }\n\n out.source = this.value = data;\n return out;\n};\n\n\n/***/ }),\n/* 564 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Impute;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_d3_array__ = __webpack_require__(9);\n\n\n\n\nvar Methods = {\n value: 'value',\n median: __WEBPACK_IMPORTED_MODULE_2_d3_array__[\"i\" /* median */],\n mean: __WEBPACK_IMPORTED_MODULE_2_d3_array__[\"h\" /* mean */],\n min: __WEBPACK_IMPORTED_MODULE_2_d3_array__[\"k\" /* min */],\n max: __WEBPACK_IMPORTED_MODULE_2_d3_array__[\"g\" /* max */]\n};\n\nvar Empty = [];\n\n/**\n * Impute missing values.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(object): *} params.field - The value field to impute.\n * @param {Array<function(object): *>} [params.groupby] - An array of\n * accessors to determine series within which to perform imputation.\n * @param {function(object): *} params.key - An accessor for a key value.\n * Each key value should be unique within a group. New tuples will be\n * imputed for any key values that are not found within a group.\n * @param {Array<*>} [params.keyvals] - Optional array of required key\n * values. New tuples will be imputed for any key values that are not\n * found within a group. In addition, these values will be automatically\n * augmented with the key values observed in the input data.\n * @param {string} [method='value'] - The imputation method to use. One of\n * 'value', 'mean', 'median', 'max', 'min'.\n * @param {*} [value=0] - The constant value to use for imputation\n * when using method 'value'.\n */\nfunction Impute(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, [], params);\n}\n\nImpute.Definition = {\n \"type\": \"Impute\",\n \"metadata\": {\"changes\": true},\n \"params\": [\n { \"name\": \"field\", \"type\": \"field\", \"required\": true },\n { \"name\": \"key\", \"type\": \"field\", \"required\": true },\n { \"name\": \"keyvals\", \"array\": true },\n { \"name\": \"groupby\", \"type\": \"field\", \"array\": true },\n { \"name\": \"method\", \"type\": \"enum\", \"default\": \"value\",\n \"values\": [\"value\", \"mean\", \"median\", \"max\", \"min\"] },\n { \"name\": \"value\", \"default\": 0 }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(Impute, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nfunction getValue(_) {\n var m = _.method || Methods.value, v;\n\n if (Methods[m] == null) {\n Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"m\" /* error */])('Unrecognized imputation method: ' + m);\n } else if (m === Methods.value) {\n v = _.value !== undefined ? _.value : 0;\n return function() { return v; };\n } else {\n return Methods[m];\n }\n}\n\nfunction getField(_) {\n var f = _.field;\n return function(t) { return t ? f(t) : NaN; };\n}\n\nprototype.transform = function(_, pulse) {\n var out = pulse.fork(pulse.ALL),\n impute = getValue(_),\n field = getField(_),\n fName = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"h\" /* accessorName */])(_.field),\n kName = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"h\" /* accessorName */])(_.key),\n gNames = (_.groupby || []).map(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"h\" /* accessorName */]),\n groups = partition(pulse.source, _.groupby, _.key, _.keyvals),\n curr = [],\n prev = this.value,\n m = groups.domain.length,\n group, value, gVals, kVal, g, i, j, l, n, t;\n\n for (g=0, l=groups.length; g<l; ++g) {\n group = groups[g];\n gVals = group.values;\n value = NaN;\n\n // add tuples for missing values\n for (j=0; j<m; ++j) {\n if (group[j] != null) continue;\n kVal = groups.domain[j];\n\n t = {_impute: true};\n for (i=0, n=gVals.length; i<n; ++i) t[gNames[i]] = gVals[i];\n t[kName] = kVal;\n t[fName] = isNaN(value) ? (value = impute(group, field)) : value;\n\n curr.push(Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"k\" /* ingest */])(t));\n }\n }\n\n // update pulse with imputed tuples\n if (curr.length) out.add = out.materialize(out.ADD).add.concat(curr);\n if (prev.length) out.rem = out.materialize(out.REM).rem.concat(prev);\n this.value = curr;\n\n return out;\n};\n\nfunction partition(data, groupby, key, keyvals) {\n var get = function(f) { return f(t); },\n groups = [],\n domain = keyvals ? keyvals.slice() : [],\n kMap = {},\n gMap = {}, gVals, gKey,\n group, i, j, k, n, t;\n\n domain.forEach(function(k, i) { kMap[k] = i + 1; });\n\n for (i=0, n=data.length; i<n; ++i) {\n t = data[i];\n k = key(t);\n j = kMap[k] || (kMap[k] = domain.push(k));\n\n gKey = (gVals = groupby ? groupby.map(get) : Empty) + '';\n if (!(group = gMap[gKey])) {\n group = (gMap[gKey] = []);\n groups.push(group);\n group.values = gVals;\n }\n group[j-1] = t;\n }\n\n groups.domain = domain;\n return groups;\n}\n\n\n/***/ }),\n/* 565 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = JoinAggregate;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Aggregate__ = __webpack_require__(154);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_AggregateOps__ = __webpack_require__(67);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n\n\n\n\n/**\n * Extend input tuples with aggregate values.\n * Calcuates aggregate values and joins them with the input stream.\n * @constructor\n */\nfunction JoinAggregate(params) {\n __WEBPACK_IMPORTED_MODULE_0__Aggregate__[\"a\" /* default */].call(this, params);\n}\n\nJoinAggregate.Definition = {\n \"type\": \"JoinAggregate\",\n \"metadata\": {\"modifies\": true},\n \"params\": [\n { \"name\": \"groupby\", \"type\": \"field\", \"array\": true },\n { \"name\": \"fields\", \"type\": \"field\", \"null\": true, \"array\": true },\n { \"name\": \"ops\", \"type\": \"enum\", \"array\": true, \"values\": __WEBPACK_IMPORTED_MODULE_1__util_AggregateOps__[\"a\" /* ValidAggregateOps */] },\n { \"name\": \"as\", \"type\": \"string\", \"null\": true, \"array\": true },\n { \"name\": \"key\", \"type\": \"field\" }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"u\" /* inherits */])(JoinAggregate, __WEBPACK_IMPORTED_MODULE_0__Aggregate__[\"a\" /* default */]);\n\nprototype.transform = function(_, pulse) {\n var aggr = this,\n mod = _.modified(),\n cells;\n\n // process all input tuples to calculate aggregates\n if (aggr.value && (mod || pulse.modified(aggr._inputs))) {\n cells = aggr.value = mod ? aggr.init(_) : {};\n pulse.visit(pulse.SOURCE, function(t) { aggr.add(t); });\n } else {\n cells = aggr.value = aggr.value || this.init(_);\n pulse.visit(pulse.REM, function(t) { aggr.rem(t); });\n pulse.visit(pulse.ADD, function(t) { aggr.add(t); });\n }\n\n // update aggregation cells\n aggr.changes();\n\n // write aggregate values to input tuples\n pulse.visit(pulse.SOURCE, function(t) {\n Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"n\" /* extend */])(t, cells[aggr.cellkey(t)].tuple);\n });\n\n return pulse.reflow(mod).modifies(this._outputs);\n};\n\nprototype.changes = function() {\n var adds = this._adds,\n mods = this._mods,\n i, n;\n\n for (i=0, n=this._alen; i<n; ++i) {\n this.celltuple(adds[i]);\n adds[i] = null; // for garbage collection\n }\n\n for (i=0, n=this._mlen; i<n; ++i) {\n this.celltuple(mods[i]);\n mods[i] = null; // for garbage collection\n }\n\n this._alen = this._mlen = 0; // reset list of active cells\n};\n\n\n/***/ }),\n/* 566 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Key;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Generates a key function.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {Array<string>} params.fields - The field name(s) for the key function.\n * @param {boolean} params.flat - A boolean flag indicating if the field names\n * should be treated as flat property names, side-stepping nested field\n * lookups normally indicated by dot or bracket notation.\n */\nfunction Key(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"d\" /* Operator */].call(this, null, update, params);\n}\n\nObject(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(Key, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"d\" /* Operator */]);\n\nfunction update(_) {\n return (this.value && !_.modified()) ? this.value : Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"D\" /* key */])(_.fields, _.flat);\n}\n\n\n/***/ }),\n/* 567 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Load;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Load and parse data from an external source. Marshalls parameter\n * values and then invokes the Dataflow request method.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {string} params.url - The URL to load from.\n * @param {object} params.format - The data format options.\n */\nfunction Load(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n}\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(Load, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n pulse.dataflow.request(this.target, _.url, _.format);\n};\n\n\n/***/ }),\n/* 568 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Lookup;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Extend tuples by joining them with values from a lookup table.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {Map} params.index - The lookup table map.\n * @param {Array<function(object): *} params.fields - The fields to lookup.\n * @param {Array<string>} params.as - Output field names for each lookup value.\n * @param {*} [params.default] - A default value to use if lookup fails.\n */\nfunction Lookup(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, {}, params);\n}\n\nLookup.Definition = {\n \"type\": \"Lookup\",\n \"metadata\": {\"modifies\": true},\n \"params\": [\n { \"name\": \"index\", \"type\": \"index\", \"params\": [\n {\"name\": \"from\", \"type\": \"data\", \"required\": true },\n {\"name\": \"key\", \"type\": \"field\", \"required\": true }\n ] },\n { \"name\": \"values\", \"type\": \"field\", \"array\": true },\n { \"name\": \"fields\", \"type\": \"field\", \"array\": true, \"required\": true },\n { \"name\": \"as\", \"type\": \"string\", \"array\": true },\n { \"name\": \"default\", \"default\": null }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(Lookup, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var out = pulse,\n as = _.as,\n keys = _.fields,\n index = _.index,\n values = _.values,\n defaultValue = _.default==null ? null : _.default,\n reset = _.modified(),\n flag = reset ? pulse.SOURCE : pulse.ADD,\n n = keys.length,\n set, m, mods;\n\n if (values) {\n m = values.length;\n\n if (n > 1 && !as) {\n Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"m\" /* error */])('Multi-field lookup requires explicit \"as\" parameter.');\n }\n if (as && as.length !== n * m) {\n Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"m\" /* error */])('The \"as\" parameter has too few output field names.');\n }\n as = as || values.map(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"h\" /* accessorName */]);\n\n set = function(t) {\n for (var i=0, k=0, j, v; i<n; ++i) {\n v = index.get(keys[i](t));\n if (v == null) for (j=0; j<m; ++j, ++k) t[as[k]] = defaultValue;\n else for (j=0; j<m; ++j, ++k) t[as[k]] = values[j](v);\n }\n };\n } else {\n if (!as) {\n Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"m\" /* error */])('Missing output field names.');\n }\n\n set = function(t) {\n for (var i=0, v; i<n; ++i) {\n v = index.get(keys[i](t));\n t[as[i]] = v==null ? defaultValue : v;\n }\n };\n }\n\n if (reset) {\n out = pulse.reflow(true);\n } else {\n mods = keys.some(function(k) { return pulse.modified(k.fields); });\n flag |= (mods ? pulse.MOD : 0);\n }\n pulse.visit(flag, set);\n\n return out.modifies(as);\n};\n\n\n/***/ }),\n/* 569 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = MultiExtent;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Computes global min/max extents over a collection of extents.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {Array<Array<number>>} params.extents - The input extents.\n */\nfunction MultiExtent(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"d\" /* Operator */].call(this, null, update, params);\n}\n\nObject(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(MultiExtent, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"d\" /* Operator */]);\n\nfunction update(_) {\n if (this.value && !_.modified()) {\n return this.value;\n }\n\n var min = +Infinity,\n max = -Infinity,\n ext = _.extents,\n i, n, e;\n\n for (i=0, n=ext.length; i<n; ++i) {\n e = ext[i];\n if (e[0] < min) min = e[0];\n if (e[1] > max) max = e[1];\n }\n return [min, max];\n}\n\n\n/***/ }),\n/* 570 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = MultiValues;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Merge a collection of value arrays.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {Array<Array<*>>} params.values - The input value arrrays.\n */\nfunction MultiValues(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"d\" /* Operator */].call(this, null, update, params);\n}\n\nObject(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(MultiValues, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"d\" /* Operator */]);\n\nfunction update(_) {\n return (this.value && !_.modified())\n ? this.value\n : _.values.reduce(function(data, _) { return data.concat(_); }, []);\n}\n\n\n/***/ }),\n/* 571 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Params;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Operator whose value is simply its parameter hash. This operator is\n * useful for enabling reactive updates to values of nested objects.\n * @constructor\n * @param {object} params - The parameters for this operator.\n */\nfunction Params(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n}\n\nObject(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(Params, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nParams.prototype.transform = function(_, pulse) {\n this.modified(_.modified());\n this.value = _;\n return pulse.fork(pulse.NO_SOURCE | pulse.NO_FIELDS); // do not pass tuples\n};\n\n\n/***/ }),\n/* 572 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Pivot;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Aggregate__ = __webpack_require__(154);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_AggregateOps__ = __webpack_require__(67);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n\n\n\n\n/**\n * Aggregate and pivot selected field values to become new fields.\n * This operator is useful to construction cross-tabulations.\n * @constructor\n * @param {Array<function(object): *>} [params.groupby] - An array of accessors\n * to groupby. These fields act just like groupby fields of an Aggregate transform.\n * @param {function(object): *} params.field - The field to pivot on. The unique\n * values of this field become new field names in the output stream.\n * @param {function(object): *} params.value - The field to populate pivoted fields.\n * The aggregate values of this field become the values of the new pivoted fields.\n * @param {string} [params.op] - The aggregation operation for the value field,\n * applied per cell in the output stream. The default is \"sum\".\n * @param {number} [params.limit] - An optional parameter indicating the maximum\n * number of pivoted fields to generate. The pivoted field names are sorted in\n * ascending order prior to enforcing the limit.\n */\nfunction Pivot(params) {\n __WEBPACK_IMPORTED_MODULE_0__Aggregate__[\"a\" /* default */].call(this, params);\n}\n\nPivot.Definition = {\n \"type\": \"Pivot\",\n \"metadata\": {\"generates\": true, \"changes\": true},\n \"params\": [\n { \"name\": \"groupby\", \"type\": \"field\", \"array\": true },\n { \"name\": \"field\", \"type\": \"field\", \"required\": true },\n { \"name\": \"value\", \"type\": \"field\", \"required\": true },\n { \"name\": \"op\", \"type\": \"enum\", \"values\": __WEBPACK_IMPORTED_MODULE_1__util_AggregateOps__[\"a\" /* ValidAggregateOps */], \"default\": \"sum\" },\n { \"name\": \"limit\", \"type\": \"number\", \"default\": 0 },\n { \"name\": \"key\", \"type\": \"field\" }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"u\" /* inherits */])(Pivot, __WEBPACK_IMPORTED_MODULE_0__Aggregate__[\"a\" /* default */]);\n\nprototype._transform = prototype.transform;\n\nprototype.transform = function(_, pulse) {\n return this._transform(aggregateParams(_, pulse), pulse);\n};\n\n// Shoehorn a pivot transform into an aggregate transform!\n// First collect all unique pivot field values.\n// Then generate aggregate fields for each output pivot field.\nfunction aggregateParams(_, pulse) {\n var key = _.field,\n value = _.value,\n op = (_.op === 'count' ? '__count__' : _.op) || 'sum',\n fields = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"g\" /* accessorFields */])(key).concat(Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"g\" /* accessorFields */])(value)),\n keys = pivotKeys(key, _.limit || 0, pulse);\n\n return {\n key: _.key,\n groupby: _.groupby,\n ops: keys.map(function() { return op; }),\n fields: keys.map(function(k) { return get(k, key, value, fields); }),\n as: keys.map(function(k) { return k + ''; }),\n modified: _.modified.bind(_)\n };\n}\n\n// Generate aggregate field accessor.\n// Output NaN for non-existent values; aggregator will ignore!\nfunction get(k, key, value, fields) {\n return Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"f\" /* accessor */])(\n function(d) { return key(d) === k ? value(d) : NaN; },\n fields,\n k + ''\n );\n}\n\n// Collect (and optionally limit) all unique pivot values.\nfunction pivotKeys(key, limit, pulse) {\n var map = {},\n list = [];\n\n pulse.visit(pulse.SOURCE, function(t) {\n var k = key(t);\n if (!map[k]) {\n map[k] = 1;\n list.push(k);\n }\n });\n\n // TODO? Move this comparator to vega-util?\n list.sort(function(u, v) {\n return (u<v||u==null) && v!=null ? -1\n : (u>v||v==null) && u!=null ? 1\n : ((v=v instanceof Date?+v:v),(u=u instanceof Date?+u:u))!==u && v===v ? -1\n : v!==v && u===u ? 1 : 0;\n });\n\n return limit ? list.slice(0, limit) : list;\n}\n\n\n/***/ }),\n/* 573 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = PreFacet;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Facet__ = __webpack_require__(260);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n\n\n\n\n/**\n * Partitions pre-faceted data into tuple subflows.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(Dataflow, string): Operator} params.subflow - A function\n * that generates a subflow of operators and returns its root operator.\n * @param {function(object): Array<object>} params.field - The field\n * accessor for an array of subflow tuple objects.\n */\nfunction PreFacet(params) {\n __WEBPACK_IMPORTED_MODULE_0__Facet__[\"a\" /* default */].call(this, params);\n}\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"u\" /* inherits */])(PreFacet, __WEBPACK_IMPORTED_MODULE_0__Facet__[\"a\" /* default */]);\n\nprototype.transform = function(_, pulse) {\n var self = this,\n flow = _.subflow,\n field = _.field;\n\n if (_.modified('field') || field && pulse.modified(Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"g\" /* accessorFields */])(field))) {\n Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"m\" /* error */])('PreFacet does not support field modification.');\n }\n\n this._targets.active = 0; // reset list of active subflows\n\n pulse.visit(pulse.MOD, function(t) {\n var sf = self.subflow(Object(__WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"r\" /* tupleid */])(t), flow, pulse, t);\n field ? field(t).forEach(function(_) { sf.mod(_); }) : sf.mod(t);\n });\n\n pulse.visit(pulse.ADD, function(t) {\n var sf = self.subflow(Object(__WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"r\" /* tupleid */])(t), flow, pulse, t);\n field ? field(t).forEach(function(_) { sf.add(Object(__WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"k\" /* ingest */])(_)); }) : sf.add(t);\n });\n\n pulse.visit(pulse.REM, function(t) {\n var sf = self.subflow(Object(__WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"r\" /* tupleid */])(t), flow, pulse, t);\n field ? field(t).forEach(function(_) { sf.rem(_); }) : sf.rem(t);\n });\n\n return pulse;\n};\n\n\n/***/ }),\n/* 574 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Project;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_util__ = __webpack_require__(262);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n\n\n\n\n/**\n * Performs a relational projection, copying selected fields from source\n * tuples to a new set of derived tuples.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {Array<function(object): *} params.fields - The fields to project,\n * as an array of field accessors. If unspecified, all fields will be\n * copied with names unchanged.\n * @param {Array<string>} [params.as] - Output field names for each projected\n * field. Any unspecified fields will use the field name provided by\n * the field accessor.\n */\nfunction Project(params) {\n __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n}\n\nProject.Definition = {\n \"type\": \"Project\",\n \"metadata\": {\"generates\": true, \"changes\": true},\n \"params\": [\n { \"name\": \"fields\", \"type\": \"field\", \"array\": true },\n { \"name\": \"as\", \"type\": \"string\", \"null\": true, \"array\": true },\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"u\" /* inherits */])(Project, __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var fields = _.fields,\n as = Object(__WEBPACK_IMPORTED_MODULE_0__util_util__[\"a\" /* fieldNames */])(_.fields, _.as || []),\n derive = fields\n ? function(s, t) { return project(s, t, fields, as); }\n : __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"n\" /* rederive */],\n out, lut;\n\n if (this.value) {\n lut = this.value;\n } else {\n pulse = pulse.addAll();\n lut = this.value = {};\n }\n\n out = pulse.fork(pulse.NO_SOURCE);\n\n pulse.visit(pulse.REM, function(t) {\n var id = Object(__WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"r\" /* tupleid */])(t);\n out.rem.push(lut[id]);\n lut[id] = null;\n });\n\n pulse.visit(pulse.ADD, function(t) {\n var dt = derive(t, Object(__WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"k\" /* ingest */])({}));\n lut[Object(__WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"r\" /* tupleid */])(t)] = dt;\n out.add.push(dt);\n });\n\n pulse.visit(pulse.MOD, function(t) {\n out.mod.push(derive(t, lut[Object(__WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"r\" /* tupleid */])(t)]));\n });\n\n return out;\n};\n\nfunction project(s, t, fields, as) {\n for (var i=0, n=fields.length; i<n; ++i) {\n t[as[i]] = fields[i](s);\n }\n return t;\n}\n\n\n/***/ }),\n/* 575 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Proxy;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Proxy the value of another operator as a pure signal value.\n * Ensures no tuples are propagated.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {*} params.value - The value to proxy, becomes the value of this operator.\n */\nfunction Proxy(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n}\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(Proxy, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n this.value = _.value;\n return _.modified('value')\n ? pulse.fork(pulse.NO_SOURCE | pulse.NO_FIELDS)\n : pulse.StopPropagation;\n};\n\n\n/***/ }),\n/* 576 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Relay;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Relays a data stream between data processing pipelines.\n * If the derive parameter is set, this transform will create derived\n * copies of observed tuples. This provides derived data streams in which\n * modifications to the tuples do not pollute an upstream data source.\n * @param {object} params - The parameters for this operator.\n * @param {number} [params.derive=false] - Boolean flag indicating if\n * the transform should make derived copies of incoming tuples.\n * @constructor\n */\nfunction Relay(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n}\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(Relay, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var out, lut;\n\n if (this.value) {\n lut = this.value;\n } else {\n out = pulse = pulse.addAll();\n lut = this.value = {};\n }\n\n if (_.derive) {\n out = pulse.fork(pulse.NO_SOURCE);\n\n pulse.visit(pulse.REM, function(t) {\n var id = Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"r\" /* tupleid */])(t);\n out.rem.push(lut[id]);\n lut[id] = null;\n });\n\n pulse.visit(pulse.ADD, function(t) {\n var dt = Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"j\" /* derive */])(t);\n lut[Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"r\" /* tupleid */])(t)] = dt;\n out.add.push(dt);\n });\n\n pulse.visit(pulse.MOD, function(t) {\n out.mod.push(Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"n\" /* rederive */])(t, lut[Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"r\" /* tupleid */])(t)]));\n });\n }\n\n return out;\n};\n\n\n/***/ }),\n/* 577 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Sample;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_statistics__ = __webpack_require__(46);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n\n\n\n\n/**\n * Samples tuples passing through this operator.\n * Uses reservoir sampling to maintain a representative sample.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {number} [params.size=1000] - The maximum number of samples.\n */\nfunction Sample(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, [], params);\n this.count = 0;\n}\n\nSample.Definition = {\n \"type\": \"Sample\",\n \"metadata\": {},\n \"params\": [\n { \"name\": \"size\", \"type\": \"number\", \"default\": 1000 }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"u\" /* inherits */])(Sample, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var out = pulse.fork(pulse.NO_SOURCE),\n mod = _.modified('size'),\n num = _.size,\n res = this.value,\n cnt = this.count,\n cap = 0,\n map = res.reduce(function(m, t) {\n m[Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"r\" /* tupleid */])(t)] = 1;\n return m;\n }, {});\n\n // sample reservoir update function\n function update(t) {\n var p, idx;\n\n if (res.length < num) {\n res.push(t);\n } else {\n idx = ~~((cnt + 1) * Object(__WEBPACK_IMPORTED_MODULE_1_vega_statistics__[\"d\" /* random */])());\n if (idx < res.length && idx >= cap) {\n p = res[idx];\n if (map[Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"r\" /* tupleid */])(p)]) out.rem.push(p); // eviction\n res[idx] = t;\n }\n }\n ++cnt;\n }\n\n if (pulse.rem.length) {\n // find all tuples that should be removed, add to output\n pulse.visit(pulse.REM, function(t) {\n var id = Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"r\" /* tupleid */])(t);\n if (map[id]) {\n map[id] = -1;\n out.rem.push(t);\n }\n --cnt;\n });\n\n // filter removed tuples out of the sample reservoir\n res = res.filter(function(t) { return map[Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"r\" /* tupleid */])(t)] !== -1; });\n }\n\n if ((pulse.rem.length || mod) && res.length < num && pulse.source) {\n // replenish sample if backing data source is available\n cap = cnt = res.length;\n pulse.visit(pulse.SOURCE, function(t) {\n // update, but skip previously sampled tuples\n if (!map[Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"r\" /* tupleid */])(t)]) update(t);\n });\n cap = -1;\n }\n\n if (mod && res.length > num) {\n for (var i=0, n=res.length-num; i<n; ++i) {\n map[Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"r\" /* tupleid */])(res[i])] = -1;\n out.rem.push(res[i]);\n }\n res = res.slice(n);\n }\n\n if (pulse.mod.length) {\n // propagate modified tuples in the sample reservoir\n pulse.visit(pulse.MOD, function(t) {\n if (map[Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"r\" /* tupleid */])(t)]) out.mod.push(t);\n });\n }\n\n if (pulse.add.length) {\n // update sample reservoir\n pulse.visit(pulse.ADD, update);\n }\n\n if (pulse.add.length || cap < 0) {\n // output newly added tuples\n out.add = res.filter(function(t) { return !map[Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"r\" /* tupleid */])(t)]; });\n }\n\n this.count = cnt;\n this.value = out.source = res;\n return out;\n};\n\n\n/***/ }),\n/* 578 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Sequence;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_d3_array__ = __webpack_require__(9);\n\n\n\n\n/**\n * Generates data tuples for a specified sequence range of numbers.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {number} params.start - The first number in the sequence.\n * @param {number} params.stop - The last number (exclusive) in the sequence.\n * @param {number} [params.step=1] - The step size between numbers in the sequence.\n */\nfunction Sequence(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n}\n\nSequence.Definition = {\n \"type\": \"Sequence\",\n \"metadata\": {\"changes\": true},\n \"params\": [\n { \"name\": \"start\", \"type\": \"number\", \"required\": true },\n { \"name\": \"stop\", \"type\": \"number\", \"required\": true },\n { \"name\": \"step\", \"type\": \"number\", \"default\": 1 },\n { \"name\": \"as\", \"type\": \"string\", \"default\": \"data\" }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(Sequence, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n if (this.value && !_.modified()) return;\n\n var out = pulse.materialize().fork(pulse.MOD),\n as = _.as || 'data';\n\n out.rem = this.value ? pulse.rem.concat(this.value) : pulse.rem;\n\n this.value = Object(__WEBPACK_IMPORTED_MODULE_2_d3_array__[\"n\" /* range */])(_.start, _.stop, _.step || 1).map(function(v) {\n var t = {};\n t[as] = v;\n return Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"k\" /* ingest */])(t);\n });\n\n out.add = pulse.add.concat(this.value);\n\n return out;\n};\n\n\n/***/ }),\n/* 579 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Sieve;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Propagates a new pulse without any tuples so long as the input\n * pulse contains some added, removed or modified tuples.\n * @param {object} params - The parameters for this operator.\n * @constructor\n */\nfunction Sieve(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n this.modified(true); // always treat as modified\n}\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(Sieve, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n this.value = pulse.source;\n return pulse.changed()\n ? pulse.fork(pulse.NO_SOURCE | pulse.NO_FIELDS)\n : pulse.StopPropagation;\n};\n\n\n/***/ }),\n/* 580 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = TupleIndex;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * An index that maps from unique, string-coerced, field values to tuples.\n * Assumes that the field serves as a unique key with no duplicate values.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(object): *} params.field - The field accessor to index.\n */\nfunction TupleIndex(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"q\" /* fastmap */])(), params);\n}\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(TupleIndex, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var df = pulse.dataflow,\n field = _.field,\n index = this.value,\n mod = true;\n\n function set(t) { index.set(field(t), t); }\n\n if (_.modified('field') || pulse.modified(field.fields)) {\n index.clear();\n pulse.visit(pulse.SOURCE, set);\n } else if (pulse.changed()) {\n pulse.visit(pulse.REM, function(t) { index.delete(field(t)); });\n pulse.visit(pulse.ADD, set);\n } else {\n mod = false;\n }\n\n this.modified(mod);\n if (index.empty > df.cleanThreshold) df.runAfter(index.clean);\n return pulse.fork();\n};\n\n\n/***/ }),\n/* 581 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Values;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Extracts an array of values. Assumes the source data has already been\n * reduced as needed (e.g., by an upstream Aggregate transform).\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(object): *} params.field - The domain field to extract.\n * @param {function(*,*): number} [params.sort] - An optional\n * comparator function for sorting the values. The comparator will be\n * applied to backing tuples prior to value extraction.\n */\nfunction Values(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n}\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(Values, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var run = !this.value\n || _.modified('field')\n || _.modified('sort')\n || pulse.changed()\n || (_.sort && pulse.modified(_.sort.fields));\n\n if (run) {\n this.value = (_.sort\n ? pulse.source.slice().sort(_.sort)\n : pulse.source).map(_.field);\n }\n};\n\n\n/***/ }),\n/* 582 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Window;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_AggregateKeys__ = __webpack_require__(242);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_AggregateOps__ = __webpack_require__(67);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_SortedList__ = __webpack_require__(259);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_WindowOps__ = __webpack_require__(263);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_WindowState__ = __webpack_require__(583);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_d3_array__ = __webpack_require__(9);\n\n\n\n\n\n\n\n\n\n/**\n * Perform window calculations and write results to the input stream.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(*,*): number} [params.sort] - A comparator function for sorting tuples within a window.\n * @param {Array<function(object): *>} [params.groupby] - An array of accessors by which to partition tuples into separate windows.\n * @param {Array<string>} params.ops - An array of strings indicating window operations to perform.\n * @param {Array<function(object): *>} [params.fields] - An array of accessors\n * for data fields to use as inputs to window operations.\n * @param {Array<*>} [params.params] - An array of parameter values for window operations.\n * @param {Array<string>} [params.as] - An array of output field names for window operations.\n * @param {Array<number>} [params.frame] - Window frame definition as two-element array.\n * @param {boolean} [params.ignorePeers=false] - If true, base window frame boundaries on row\n * number alone, ignoring peers with identical sort values. If false (default),\n * the window boundaries will be adjusted to include peer values.\n */\nfunction Window(params) {\n __WEBPACK_IMPORTED_MODULE_5_vega_dataflow__[\"g\" /* Transform */].call(this, {}, params);\n this._mlen = 0;\n this._mods = [];\n}\n\nWindow.Definition = {\n \"type\": \"Window\",\n \"metadata\": {\"modifies\": true},\n \"params\": [\n { \"name\": \"sort\", \"type\": \"compare\" },\n { \"name\": \"groupby\", \"type\": \"field\", \"array\": true },\n { \"name\": \"ops\", \"type\": \"enum\", \"array\": true, \"values\": __WEBPACK_IMPORTED_MODULE_3__util_WindowOps__[\"a\" /* ValidWindowOps */].concat(__WEBPACK_IMPORTED_MODULE_1__util_AggregateOps__[\"a\" /* ValidAggregateOps */]) },\n { \"name\": \"params\", \"type\": \"number\", \"null\": true, \"array\": true },\n { \"name\": \"fields\", \"type\": \"field\", \"null\": true, \"array\": true },\n { \"name\": \"as\", \"type\": \"string\", \"null\": true, \"array\": true },\n { \"name\": \"frame\", \"type\": \"number\", \"null\": true, \"array\": true, \"length\": 2, \"default\": [null, 0] },\n { \"name\": \"ignorePeers\", \"type\": \"boolean\", \"default\": false }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_6_vega_util__[\"u\" /* inherits */])(Window, __WEBPACK_IMPORTED_MODULE_5_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var self = this,\n state = self.state,\n mod = _.modified(),\n i, n;\n\n this.stamp = pulse.stamp;\n\n // initialize window state\n if (!state || mod) {\n state = self.state = new __WEBPACK_IMPORTED_MODULE_4__util_WindowState__[\"a\" /* default */](_);\n }\n\n // retrieve group for a tuple\n var key = Object(__WEBPACK_IMPORTED_MODULE_0__util_AggregateKeys__[\"a\" /* groupkey */])(_.groupby);\n function group(t) { return self.group(key(t)); }\n\n // partition input tuples\n if (mod || pulse.modified(state.inputs)) {\n self.value = {};\n pulse.visit(pulse.SOURCE, function(t) { group(t).add(t); });\n } else {\n pulse.visit(pulse.REM, function(t) { group(t).remove(t); });\n pulse.visit(pulse.ADD, function(t) { group(t).add(t); });\n }\n\n // perform window calculations for each modified partition\n for (i=0, n=self._mlen; i<n; ++i) {\n processPartition(self._mods[i], state, _);\n }\n self._mlen = 0;\n self._mods = [];\n\n // TODO don't reflow everything?\n return pulse.reflow(mod).modifies(state.outputs);\n};\n\nprototype.group = function(key) {\n var self = this,\n group = self.value[key];\n\n if (!group) {\n group = self.value[key] = Object(__WEBPACK_IMPORTED_MODULE_2__util_SortedList__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_5_vega_dataflow__[\"r\" /* tupleid */]);\n group.stamp = -1;\n }\n\n if (group.stamp < self.stamp) {\n group.stamp = self.stamp;\n self._mods[self._mlen++] = group;\n }\n\n return group;\n};\n\nfunction processPartition(list, state, _) {\n var sort = _.sort,\n range = sort && !_.ignorePeers,\n frame = _.frame || [null, 0],\n data = list.data(sort),\n n = data.length,\n i = 0,\n b = range ? Object(__WEBPACK_IMPORTED_MODULE_7_d3_array__[\"e\" /* bisector */])(sort) : null,\n w = {\n i0: 0, i1: 0, p0: 0, p1: 0, index: 0,\n data: data, compare: sort || Object(__WEBPACK_IMPORTED_MODULE_6_vega_util__[\"k\" /* constant */])(-1)\n };\n\n for (state.init(); i<n; ++i) {\n setWindow(w, frame, i, n);\n if (range) adjustRange(w, b);\n state.update(w, data[i]);\n }\n}\n\nfunction setWindow(w, f, i, n) {\n w.p0 = w.i0;\n w.p1 = w.i1;\n w.i0 = f[0] == null ? 0 : Math.max(0, i - Math.abs(f[0]));\n w.i1 = f[1] == null ? n : Math.min(n, i + Math.abs(f[1]) + 1);\n w.index = i;\n}\n\n// if frame type is 'range', adjust window for peer values\nfunction adjustRange(w, bisect) {\n var r0 = w.i0,\n r1 = w.i1 - 1,\n c = w.compare,\n d = w.data,\n n = d.length - 1;\n\n if (r0 > 0 && !c(d[r0], d[r0-1])) w.i0 = bisect.left(d, d[r0]);\n if (r1 < n && !c(d[r1], d[r1+1])) w.i1 = bisect.right(d, d[r1]);\n}\n\n\n/***/ }),\n/* 583 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = WindowState;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__AggregateOps__ = __webpack_require__(67);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__TupleStore__ = __webpack_require__(243);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__WindowOps__ = __webpack_require__(263);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vega_util__ = __webpack_require__(0);\n\n\n\n\n\nfunction WindowState(_) {\n var self = this,\n ops = Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"i\" /* array */])(_.ops),\n fields = Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"i\" /* array */])(_.fields),\n params = Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"i\" /* array */])(_.params),\n as = Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"i\" /* array */])(_.as),\n outputs = self.outputs = [],\n windows = self.windows = [],\n inputs = {},\n map = {},\n countOnly = true,\n counts = [],\n measures = [];\n\n function visitInputs(f) {\n Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"i\" /* array */])(Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"g\" /* accessorFields */])(f)).forEach(function(_) { inputs[_] = 1; });\n }\n visitInputs(_.sort);\n\n ops.forEach(function(op, i) {\n var field = fields[i],\n mname = Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"h\" /* accessorName */])(field),\n name = Object(__WEBPACK_IMPORTED_MODULE_0__AggregateOps__[\"d\" /* measureName */])(op, mname, as[i]);\n\n visitInputs(field);\n outputs.push(name);\n\n // Window operation\n if (__WEBPACK_IMPORTED_MODULE_2__WindowOps__[\"c\" /* WindowOps */].hasOwnProperty(op)) {\n windows.push(Object(__WEBPACK_IMPORTED_MODULE_2__WindowOps__[\"b\" /* WindowOp */])(op, fields[i], params[i], name));\n }\n\n // Aggregate operation\n else {\n if (field == null && op !== 'count') {\n Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"m\" /* error */])('Null aggregate field specified.');\n }\n if (op === 'count') {\n counts.push(name);\n return;\n }\n\n countOnly = false;\n var m = map[mname];\n if (!m) {\n m = (map[mname] = []);\n m.field = field;\n measures.push(m);\n }\n m.push(Object(__WEBPACK_IMPORTED_MODULE_0__AggregateOps__[\"c\" /* createMeasure */])(op, name));\n }\n });\n\n if (counts.length || measures.length) {\n self.cell = cell(measures, counts, countOnly);\n }\n\n self.inputs = Object.keys(inputs);\n}\n\nvar prototype = WindowState.prototype;\n\nprototype.init = function() {\n this.windows.forEach(function(_) { _.init(); });\n if (this.cell) this.cell.init();\n};\n\nprototype.update = function(w, t) {\n var self = this,\n cell = self.cell,\n wind = self.windows,\n data = w.data,\n m = wind && wind.length,\n j;\n\n if (cell) {\n for (j=w.p0; j<w.i0; ++j) cell.rem(data[j]);\n for (j=w.p1; j<w.i1; ++j) cell.add(data[j]);\n cell.set(t);\n }\n for (j=0; j<m; ++j) wind[j].update(w, t);\n};\n\nfunction cell(measures, counts, countOnly) {\n measures = measures.map(function(m) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__AggregateOps__[\"b\" /* compileMeasures */])(m, m.field);\n });\n\n var cell = {\n num: 0,\n agg: null,\n store: false,\n count: counts\n };\n\n if (!countOnly) {\n var n = measures.length,\n a = cell.agg = Array(n),\n i = 0;\n for (; i<n; ++i) a[i] = new measures[i](cell);\n }\n\n if (cell.store) {\n var store = cell.data = new __WEBPACK_IMPORTED_MODULE_1__TupleStore__[\"a\" /* default */]();\n }\n\n cell.add = function(t) {\n cell.num += 1;\n if (countOnly) return;\n if (store) store.add(t);\n for (var i=0; i<n; ++i) {\n a[i].add(a[i].get(t), t);\n }\n };\n\n cell.rem = function(t) {\n cell.num -= 1;\n if (countOnly) return;\n if (store) store.rem(t);\n for (var i=0; i<n; ++i) {\n a[i].rem(a[i].get(t), t);\n }\n };\n\n cell.set = function(t) {\n var i, n;\n\n // consolidate stored values\n if (store) store.values();\n\n // update tuple properties\n for (i=0, n=counts.length; i<n; ++i) t[counts[i]] = cell.num;\n if (!countOnly) for (i=0, n=a.length; i<n; ++i) a[i].set(t);\n };\n\n cell.init = function() {\n cell.num = 0;\n if (store) store.reset();\n for (var i=0; i<n; ++i) a[i].init();\n };\n\n return cell;\n}\n\n\n/***/ }),\n/* 584 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_Bound__ = __webpack_require__(585);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"bound\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_Bound__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_Identifier__ = __webpack_require__(634);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"identifier\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_Identifier__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_Mark__ = __webpack_require__(635);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"mark\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_Mark__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_Overlap__ = __webpack_require__(636);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"overlap\", function() { return __WEBPACK_IMPORTED_MODULE_3__src_Overlap__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__src_Render__ = __webpack_require__(637);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return __WEBPACK_IMPORTED_MODULE_4__src_Render__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__src_ViewLayout__ = __webpack_require__(638);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"viewlayout\", function() { return __WEBPACK_IMPORTED_MODULE_5__src_ViewLayout__[\"a\"]; });\n\n\n\n\n\n\n\n\n/***/ }),\n/* 585 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Bound;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constants__ = __webpack_require__(69);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_scenegraph__ = __webpack_require__(20);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vega_util__ = __webpack_require__(0);\n\n\n\n\n\n/**\n * Calculate bounding boxes for scenegraph items.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {object} params.mark - The scenegraph mark instance to bound.\n */\nfunction Bound(params) {\n __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n}\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"u\" /* inherits */])(Bound, __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var view = pulse.dataflow,\n mark = _.mark,\n type = mark.marktype,\n entry = __WEBPACK_IMPORTED_MODULE_2_vega_scenegraph__[\"h\" /* Marks */][type],\n bound = entry.bound,\n markBounds = mark.bounds, rebound;\n\n if (entry.nested) {\n // multi-item marks have a single bounds instance\n if (mark.items.length) view.dirty(mark.items[0]);\n markBounds = boundItem(mark, bound);\n mark.items.forEach(function(item) {\n item.bounds.clear().union(markBounds);\n });\n }\n\n else if (type === __WEBPACK_IMPORTED_MODULE_0__constants__[\"q\" /* Group */] || _.modified()) {\n // operator parameters modified -> re-bound all items\n // updates group bounds in response to modified group content\n pulse.visit(pulse.MOD, function(item) { view.dirty(item); });\n markBounds.clear();\n mark.items.forEach(function(item) {\n markBounds.union(boundItem(item, bound));\n });\n\n // force reflow for legends to propagate any layout changes\n // suppress other types to prevent overall layout jumpiness\n if (mark.role === __WEBPACK_IMPORTED_MODULE_0__constants__[\"s\" /* LegendRole */]) pulse.reflow();\n }\n\n else {\n // incrementally update bounds, re-bound mark as needed\n rebound = pulse.changed(pulse.REM);\n\n pulse.visit(pulse.ADD, function(item) {\n markBounds.union(boundItem(item, bound));\n });\n\n pulse.visit(pulse.MOD, function(item) {\n rebound = rebound || markBounds.alignsWith(item.bounds);\n view.dirty(item);\n markBounds.union(boundItem(item, bound));\n });\n\n if (rebound) {\n markBounds.clear();\n mark.items.forEach(function(item) { markBounds.union(item.bounds); });\n }\n }\n\n // ensure mark bounds do not exceed any clipping region\n Object(__WEBPACK_IMPORTED_MODULE_2_vega_scenegraph__[\"p\" /* boundClip */])(mark);\n\n return pulse.modifies('bounds');\n};\n\nfunction boundItem(item, bound, opt) {\n return bound(item.bounds.clear(), item, opt);\n}\n\n\n/***/ }),\n/* 586 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar gradient_id = 0;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(p0, p1) {\n var stops = [], gradient;\n return gradient = {\n id: 'gradient_' + (gradient_id++),\n x1: p0 ? p0[0] : 0,\n y1: p0 ? p0[1] : 0,\n x2: p1 ? p1[0] : 1,\n y2: p1 ? p1[1] : 0,\n stops: stops,\n stop: function(offset, color) {\n stops.push({offset: offset, color: color});\n return gradient;\n }\n };\n});\n\n\n/***/ }),\n/* 587 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = domCanvas;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = domImage;\nfunction domCanvas(w, h) {\n if (typeof document !== 'undefined' && document.createElement) {\n var c = document.createElement('canvas');\n if (c && c.getContext) {\n c.width = w;\n c.height = h;\n return c;\n }\n }\n return null;\n}\n\nfunction domImage() {\n return typeof Image !== 'undefined' ? Image : null;\n}\n\n\n/***/ }),\n/* 588 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Scenegraph;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Bounds__ = __webpack_require__(39);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__GroupItem__ = __webpack_require__(264);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_serialize__ = __webpack_require__(267);\n\n\n\n\nfunction Scenegraph(scene) {\n if (arguments.length) {\n this.root = Object(__WEBPACK_IMPORTED_MODULE_2__util_serialize__[\"a\" /* sceneFromJSON */])(scene);\n } else {\n this.root = createMark({\n marktype: 'group',\n name: 'root',\n role: 'frame'\n });\n this.root.items = [new __WEBPACK_IMPORTED_MODULE_1__GroupItem__[\"a\" /* default */](this.root)];\n }\n}\n\nvar prototype = Scenegraph.prototype;\n\nprototype.toJSON = function(indent) {\n return Object(__WEBPACK_IMPORTED_MODULE_2__util_serialize__[\"b\" /* sceneToJSON */])(this.root, indent || 0);\n};\n\nprototype.mark = function(markdef, group, index) {\n group = group || this.root.items[0];\n var mark = createMark(markdef, group);\n group.items[index] = mark;\n if (mark.zindex) mark.group.zdirty = true;\n return mark;\n};\n\nfunction createMark(def, group) {\n return {\n bounds: new __WEBPACK_IMPORTED_MODULE_0__Bounds__[\"a\" /* default */](),\n clip: !!def.clip,\n group: group,\n interactive: def.interactive === false ? false : true,\n items: [],\n marktype: def.marktype,\n name: def.name || undefined,\n role: def.role || undefined,\n zindex: def.zindex || 0\n };\n}\n\n\n/***/ }),\n/* 589 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__path_shapes__ = __webpack_require__(41);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__markItemPath__ = __webpack_require__(161);\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_1__markItemPath__[\"a\" /* default */])('arc', __WEBPACK_IMPORTED_MODULE_0__path_shapes__[\"a\" /* arc */]));\n\n\n/***/ }),\n/* 590 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_path__ = __webpack_require__(48);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constant__ = __webpack_require__(49);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__math__ = __webpack_require__(70);\n\n\n\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) / Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"l\" /* 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) * Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"l\" /* sqrt */])(Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"h\" /* 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\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n var innerRadius = arcInnerRadius,\n outerRadius = arcOuterRadius,\n cornerRadius = Object(__WEBPACK_IMPORTED_MODULE_1__constant__[\"a\" /* default */])(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) - __WEBPACK_IMPORTED_MODULE_2__math__[\"g\" /* halfPi */],\n a1 = endAngle.apply(this, arguments) - __WEBPACK_IMPORTED_MODULE_2__math__[\"g\" /* halfPi */],\n da = Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"a\" /* abs */])(a1 - a0),\n cw = a1 > a0;\n\n if (!context) context = buffer = Object(__WEBPACK_IMPORTED_MODULE_0_d3_path__[\"a\" /* 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 > __WEBPACK_IMPORTED_MODULE_2__math__[\"f\" /* epsilon */])) context.moveTo(0, 0);\n\n // Or is it a circle or annulus?\n else if (da > __WEBPACK_IMPORTED_MODULE_2__math__[\"m\" /* tau */] - __WEBPACK_IMPORTED_MODULE_2__math__[\"f\" /* epsilon */]) {\n context.moveTo(r1 * Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"e\" /* cos */])(a0), r1 * Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"k\" /* sin */])(a0));\n context.arc(0, 0, r1, a0, a1, !cw);\n if (r0 > __WEBPACK_IMPORTED_MODULE_2__math__[\"f\" /* epsilon */]) {\n context.moveTo(r0 * Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"e\" /* cos */])(a1), r0 * Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"k\" /* 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 > __WEBPACK_IMPORTED_MODULE_2__math__[\"f\" /* epsilon */]) && (padRadius ? +padRadius.apply(this, arguments) : Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"l\" /* sqrt */])(r0 * r0 + r1 * r1)),\n rc = Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"i\" /* min */])(Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"a\" /* 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 > __WEBPACK_IMPORTED_MODULE_2__math__[\"f\" /* epsilon */]) {\n var p0 = Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"c\" /* asin */])(rp / r0 * Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"k\" /* sin */])(ap)),\n p1 = Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"c\" /* asin */])(rp / r1 * Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"k\" /* sin */])(ap));\n if ((da0 -= p0 * 2) > __WEBPACK_IMPORTED_MODULE_2__math__[\"f\" /* epsilon */]) p0 *= (cw ? 1 : -1), a00 += p0, a10 -= p0;\n else da0 = 0, a00 = a10 = (a0 + a1) / 2;\n if ((da1 -= p1 * 2) > __WEBPACK_IMPORTED_MODULE_2__math__[\"f\" /* epsilon */]) p1 *= (cw ? 1 : -1), a01 += p1, a11 -= p1;\n else da1 = 0, a01 = a11 = (a0 + a1) / 2;\n }\n\n var x01 = r1 * Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"e\" /* cos */])(a01),\n y01 = r1 * Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"k\" /* sin */])(a01),\n x10 = r0 * Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"e\" /* cos */])(a10),\n y10 = r0 * Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"k\" /* sin */])(a10);\n\n // Apply rounded corners?\n if (rc > __WEBPACK_IMPORTED_MODULE_2__math__[\"f\" /* epsilon */]) {\n var x11 = r1 * Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"e\" /* cos */])(a11),\n y11 = r1 * Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"k\" /* sin */])(a11),\n x00 = r0 * Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"e\" /* cos */])(a00),\n y00 = r0 * Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"k\" /* sin */])(a00);\n\n // Restrict the corner radius according to the sector angle.\n if (da < __WEBPACK_IMPORTED_MODULE_2__math__[\"j\" /* pi */]) {\n var oc = da0 > __WEBPACK_IMPORTED_MODULE_2__math__[\"f\" /* 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 / Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"k\" /* sin */])(Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"b\" /* acos */])((ax * bx + ay * by) / (Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"l\" /* sqrt */])(ax * ax + ay * ay) * Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"l\" /* sqrt */])(bx * bx + by * by))) / 2),\n lc = Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"l\" /* sqrt */])(oc[0] * oc[0] + oc[1] * oc[1]);\n rc0 = Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"i\" /* min */])(rc, (r0 - lc) / (kc - 1));\n rc1 = Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"i\" /* min */])(rc, (r1 - lc) / (kc + 1));\n }\n }\n\n // Is the sector collapsed to a line?\n if (!(da1 > __WEBPACK_IMPORTED_MODULE_2__math__[\"f\" /* epsilon */])) context.moveTo(x01, y01);\n\n // Does the sector’s outer ring have rounded corners?\n else if (rc1 > __WEBPACK_IMPORTED_MODULE_2__math__[\"f\" /* 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, Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"d\" /* atan2 */])(t0.y01, t0.x01), Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"d\" /* 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, Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"d\" /* atan2 */])(t0.y01, t0.x01), Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"d\" /* atan2 */])(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r1, Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"d\" /* atan2 */])(t0.cy + t0.y11, t0.cx + t0.x11), Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"d\" /* atan2 */])(t1.cy + t1.y11, t1.cx + t1.x11), !cw);\n context.arc(t1.cx, t1.cy, rc1, Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"d\" /* atan2 */])(t1.y11, t1.x11), Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"d\" /* 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 > __WEBPACK_IMPORTED_MODULE_2__math__[\"f\" /* epsilon */]) || !(da0 > __WEBPACK_IMPORTED_MODULE_2__math__[\"f\" /* epsilon */])) context.lineTo(x10, y10);\n\n // Does the sector’s inner ring (or point) have rounded corners?\n else if (rc0 > __WEBPACK_IMPORTED_MODULE_2__math__[\"f\" /* 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, Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"d\" /* atan2 */])(t0.y01, t0.x01), Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"d\" /* 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, Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"d\" /* atan2 */])(t0.y01, t0.x01), Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"d\" /* atan2 */])(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r0, Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"d\" /* atan2 */])(t0.cy + t0.y11, t0.cx + t0.x11), Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"d\" /* atan2 */])(t1.cy + t1.y11, t1.cx + t1.x11), cw);\n context.arc(t1.cx, t1.cy, rc0, Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"d\" /* atan2 */])(t1.y11, t1.x11), Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"d\" /* 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 - __WEBPACK_IMPORTED_MODULE_2__math__[\"j\" /* pi */] / 2;\n return [Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"e\" /* cos */])(a) * r, Object(__WEBPACK_IMPORTED_MODULE_2__math__[\"k\" /* sin */])(a) * r];\n };\n\n arc.innerRadius = function(_) {\n return arguments.length ? (innerRadius = typeof _ === \"function\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_1__constant__[\"a\" /* default */])(+_), arc) : innerRadius;\n };\n\n arc.outerRadius = function(_) {\n return arguments.length ? (outerRadius = typeof _ === \"function\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_1__constant__[\"a\" /* default */])(+_), arc) : outerRadius;\n };\n\n arc.cornerRadius = function(_) {\n return arguments.length ? (cornerRadius = typeof _ === \"function\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_1__constant__[\"a\" /* default */])(+_), arc) : cornerRadius;\n };\n\n arc.padRadius = function(_) {\n return arguments.length ? (padRadius = _ == null ? null : typeof _ === \"function\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_1__constant__[\"a\" /* default */])(+_), arc) : padRadius;\n };\n\n arc.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_1__constant__[\"a\" /* default */])(+_), arc) : startAngle;\n };\n\n arc.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_1__constant__[\"a\" /* default */])(+_), arc) : endAngle;\n };\n\n arc.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_1__constant__[\"a\" /* default */])(+_), arc) : padAngle;\n };\n\n arc.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), arc) : context;\n };\n\n return arc;\n});\n\n\n/***/ }),\n/* 591 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar 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\n/* harmony default export */ __webpack_exports__[\"a\"] = (path);\n\n\n/***/ }),\n/* 592 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constant__ = __webpack_require__(49);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__descending__ = __webpack_require__(593);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__identity__ = __webpack_require__(594);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__math__ = __webpack_require__(70);\n\n\n\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (function() {\n var value = __WEBPACK_IMPORTED_MODULE_2__identity__[\"a\" /* default */],\n sortValues = __WEBPACK_IMPORTED_MODULE_1__descending__[\"a\" /* default */],\n sort = null,\n startAngle = Object(__WEBPACK_IMPORTED_MODULE_0__constant__[\"a\" /* default */])(0),\n endAngle = Object(__WEBPACK_IMPORTED_MODULE_0__constant__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_3__math__[\"m\" /* tau */]),\n padAngle = Object(__WEBPACK_IMPORTED_MODULE_0__constant__[\"a\" /* default */])(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(__WEBPACK_IMPORTED_MODULE_3__math__[\"m\" /* tau */], Math.max(-__WEBPACK_IMPORTED_MODULE_3__math__[\"m\" /* 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\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_0__constant__[\"a\" /* default */])(+_), 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\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_0__constant__[\"a\" /* default */])(+_), pie) : startAngle;\n };\n\n pie.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_0__constant__[\"a\" /* default */])(+_), pie) : endAngle;\n };\n\n pie.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_0__constant__[\"a\" /* default */])(+_), pie) : padAngle;\n };\n\n return pie;\n});\n\n\n/***/ }),\n/* 593 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n});\n\n\n/***/ }),\n/* 594 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(d) {\n return d;\n});\n\n\n/***/ }),\n/* 595 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__curve_radial__ = __webpack_require__(273);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__area__ = __webpack_require__(272);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__lineRadial__ = __webpack_require__(274);\n\n\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (function() {\n var a = Object(__WEBPACK_IMPORTED_MODULE_1__area__[\"a\" /* default */])().curve(__WEBPACK_IMPORTED_MODULE_0__curve_radial__[\"a\" /* 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 Object(__WEBPACK_IMPORTED_MODULE_2__lineRadial__[\"a\" /* lineRadial */])(x0()); }, delete a.lineX0;\n a.lineEndAngle = function() { return Object(__WEBPACK_IMPORTED_MODULE_2__lineRadial__[\"a\" /* lineRadial */])(x1()); }, delete a.lineX1;\n a.lineInnerRadius = function() { return Object(__WEBPACK_IMPORTED_MODULE_2__lineRadial__[\"a\" /* lineRadial */])(y0()); }, delete a.lineY0;\n a.lineOuterRadius = function() { return Object(__WEBPACK_IMPORTED_MODULE_2__lineRadial__[\"a\" /* lineRadial */])(y1()); }, delete a.lineY1;\n\n a.curve = function(_) {\n return arguments.length ? c(Object(__WEBPACK_IMPORTED_MODULE_0__curve_radial__[\"b\" /* default */])(_)) : c()._curve;\n };\n\n return a;\n});\n\n\n/***/ }),\n/* 596 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export linkHorizontal */\n/* unused harmony export linkVertical */\n/* unused harmony export linkRadial */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_path__ = __webpack_require__(48);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__array__ = __webpack_require__(276);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constant__ = __webpack_require__(49);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__point__ = __webpack_require__(157);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__pointRadial__ = __webpack_require__(275);\n\n\n\n\n\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 = __WEBPACK_IMPORTED_MODULE_3__point__[\"a\" /* x */],\n y = __WEBPACK_IMPORTED_MODULE_3__point__[\"b\" /* y */],\n context = null;\n\n function link() {\n var buffer, argv = __WEBPACK_IMPORTED_MODULE_1__array__[\"a\" /* slice */].call(arguments), s = source.apply(this, argv), t = target.apply(this, argv);\n if (!context) context = buffer = Object(__WEBPACK_IMPORTED_MODULE_0_d3_path__[\"a\" /* 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\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_2__constant__[\"a\" /* default */])(+_), link) : x;\n };\n\n link.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_2__constant__[\"a\" /* default */])(+_), 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 = Object(__WEBPACK_IMPORTED_MODULE_4__pointRadial__[\"a\" /* default */])(x0, y0),\n p1 = Object(__WEBPACK_IMPORTED_MODULE_4__pointRadial__[\"a\" /* default */])(x0, y0 = (y0 + y1) / 2),\n p2 = Object(__WEBPACK_IMPORTED_MODULE_4__pointRadial__[\"a\" /* default */])(x1, y0),\n p3 = Object(__WEBPACK_IMPORTED_MODULE_4__pointRadial__[\"a\" /* default */])(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\nfunction linkHorizontal() {\n return link(curveHorizontal);\n}\n\nfunction linkVertical() {\n return link(curveVertical);\n}\n\nfunction 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\n\n/***/ }),\n/* 597 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export symbols */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_path__ = __webpack_require__(48);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__symbol_circle__ = __webpack_require__(277);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__symbol_cross__ = __webpack_require__(278);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__symbol_diamond__ = __webpack_require__(279);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__symbol_star__ = __webpack_require__(280);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__symbol_square__ = __webpack_require__(281);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__symbol_triangle__ = __webpack_require__(282);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__symbol_wye__ = __webpack_require__(283);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__constant__ = __webpack_require__(49);\n\n\n\n\n\n\n\n\n\n\nvar symbols = [\n __WEBPACK_IMPORTED_MODULE_1__symbol_circle__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_2__symbol_cross__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_3__symbol_diamond__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_5__symbol_square__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_4__symbol_star__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_6__symbol_triangle__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_7__symbol_wye__[\"a\" /* default */]\n];\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n var type = Object(__WEBPACK_IMPORTED_MODULE_8__constant__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_1__symbol_circle__[\"a\" /* default */]),\n size = Object(__WEBPACK_IMPORTED_MODULE_8__constant__[\"a\" /* default */])(64),\n context = null;\n\n function symbol() {\n var buffer;\n if (!context) context = buffer = Object(__WEBPACK_IMPORTED_MODULE_0_d3_path__[\"a\" /* 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\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_8__constant__[\"a\" /* default */])(_), symbol) : type;\n };\n\n symbol.size = function(_) {\n return arguments.length ? (size = typeof _ === \"function\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_8__constant__[\"a\" /* default */])(+_), symbol) : size;\n };\n\n symbol.context = function(_) {\n return arguments.length ? (context = _ == null ? null : _, symbol) : context;\n };\n\n return symbol;\n});\n\n\n/***/ }),\n/* 598 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__noop__ = __webpack_require__(99);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__basis__ = __webpack_require__(100);\n\n\n\nfunction BasisClosed(context) {\n this._context = context;\n}\n\nBasisClosed.prototype = {\n areaStart: __WEBPACK_IMPORTED_MODULE_0__noop__[\"a\" /* default */],\n areaEnd: __WEBPACK_IMPORTED_MODULE_0__noop__[\"a\" /* default */],\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: Object(__WEBPACK_IMPORTED_MODULE_1__basis__[\"c\" /* 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\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(context) {\n return new BasisClosed(context);\n});\n\n\n/***/ }),\n/* 599 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__basis__ = __webpack_require__(100);\n\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: Object(__WEBPACK_IMPORTED_MODULE_0__basis__[\"c\" /* 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\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(context) {\n return new BasisOpen(context);\n});\n\n\n/***/ }),\n/* 600 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__basis__ = __webpack_require__(100);\n\n\nfunction Bundle(context, beta) {\n this._basis = new __WEBPACK_IMPORTED_MODULE_0__basis__[\"a\" /* 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\n/* harmony default export */ __webpack_exports__[\"a\"] = ((function custom(beta) {\n\n function bundle(context) {\n return beta === 1 ? new __WEBPACK_IMPORTED_MODULE_0__basis__[\"a\" /* 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\n\n/***/ }),\n/* 601 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__cardinalClosed__ = __webpack_require__(284);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__noop__ = __webpack_require__(99);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__catmullRom__ = __webpack_require__(158);\n\n\n\n\nfunction CatmullRomClosed(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRomClosed.prototype = {\n areaStart: __WEBPACK_IMPORTED_MODULE_1__noop__[\"a\" /* default */],\n areaEnd: __WEBPACK_IMPORTED_MODULE_1__noop__[\"a\" /* default */],\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: Object(__WEBPACK_IMPORTED_MODULE_2__catmullRom__[\"b\" /* 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\n/* harmony default export */ __webpack_exports__[\"a\"] = ((function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRomClosed(context, alpha) : new __WEBPACK_IMPORTED_MODULE_0__cardinalClosed__[\"a\" /* CardinalClosed */](context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5));\n\n\n/***/ }),\n/* 602 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__cardinalOpen__ = __webpack_require__(285);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__catmullRom__ = __webpack_require__(158);\n\n\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: Object(__WEBPACK_IMPORTED_MODULE_1__catmullRom__[\"b\" /* 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\n/* harmony default export */ __webpack_exports__[\"a\"] = ((function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRomOpen(context, alpha) : new __WEBPACK_IMPORTED_MODULE_0__cardinalOpen__[\"a\" /* CardinalOpen */](context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5));\n\n\n/***/ }),\n/* 603 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__noop__ = __webpack_require__(99);\n\n\nfunction LinearClosed(context) {\n this._context = context;\n}\n\nLinearClosed.prototype = {\n areaStart: __WEBPACK_IMPORTED_MODULE_0__noop__[\"a\" /* default */],\n areaEnd: __WEBPACK_IMPORTED_MODULE_0__noop__[\"a\" /* default */],\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\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(context) {\n return new LinearClosed(context);\n});\n\n\n/***/ }),\n/* 604 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = monotoneX;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = monotoneY;\nfunction 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\nfunction monotoneX(context) {\n return new MonotoneX(context);\n}\n\nfunction monotoneY(context) {\n return new MonotoneY(context);\n}\n\n\n/***/ }),\n/* 605 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nfunction 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\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(context) {\n return new Natural(context);\n});\n\n\n/***/ }),\n/* 606 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = stepBefore;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = stepAfter;\nfunction 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\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(context) {\n return new Step(context, 0.5);\n});\n\nfunction stepBefore(context) {\n return new Step(context, 0);\n}\n\nfunction stepAfter(context) {\n return new Step(context, 1);\n}\n\n\n/***/ }),\n/* 607 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__array__ = __webpack_require__(276);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__constant__ = __webpack_require__(49);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__offset_none__ = __webpack_require__(71);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__order_none__ = __webpack_require__(72);\n\n\n\n\n\nfunction stackValue(d, key) {\n return d[key];\n}\n\n/* unused harmony default export */ var _unused_webpack_default_export = (function() {\n var keys = Object(__WEBPACK_IMPORTED_MODULE_1__constant__[\"a\" /* default */])([]),\n order = __WEBPACK_IMPORTED_MODULE_3__order_none__[\"a\" /* default */],\n offset = __WEBPACK_IMPORTED_MODULE_2__offset_none__[\"a\" /* default */],\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\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_1__constant__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_0__array__[\"a\" /* slice */].call(_)), stack) : keys;\n };\n\n stack.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_1__constant__[\"a\" /* default */])(+_), stack) : value;\n };\n\n stack.order = function(_) {\n return arguments.length ? (order = _ == null ? __WEBPACK_IMPORTED_MODULE_3__order_none__[\"a\" /* default */] : typeof _ === \"function\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_1__constant__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_0__array__[\"a\" /* slice */].call(_)), stack) : order;\n };\n\n stack.offset = function(_) {\n return arguments.length ? (offset = _ == null ? __WEBPACK_IMPORTED_MODULE_2__offset_none__[\"a\" /* default */] : _, stack) : offset;\n };\n\n return stack;\n});\n\n\n/***/ }),\n/* 608 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__none__ = __webpack_require__(71);\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (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 Object(__WEBPACK_IMPORTED_MODULE_0__none__[\"a\" /* default */])(series, order);\n});\n\n\n/***/ }),\n/* 609 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony default export */ var _unused_webpack_default_export = (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\n\n/***/ }),\n/* 610 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__none__ = __webpack_require__(71);\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (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 Object(__WEBPACK_IMPORTED_MODULE_0__none__[\"a\" /* default */])(series, order);\n});\n\n\n/***/ }),\n/* 611 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__none__ = __webpack_require__(71);\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (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 Object(__WEBPACK_IMPORTED_MODULE_0__none__[\"a\" /* default */])(series, order);\n});\n\n\n/***/ }),\n/* 612 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ascending__ = __webpack_require__(159);\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (function(series) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__ascending__[\"a\" /* default */])(series).reverse();\n});\n\n\n/***/ }),\n/* 613 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__none__ = __webpack_require__(72);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ascending__ = __webpack_require__(159);\n\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (function(series) {\n var n = series.length,\n i,\n j,\n sums = series.map(__WEBPACK_IMPORTED_MODULE_1__ascending__[\"b\" /* sum */]),\n order = Object(__WEBPACK_IMPORTED_MODULE_0__none__[\"a\" /* default */])(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\n\n/***/ }),\n/* 614 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__none__ = __webpack_require__(72);\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (function(series) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__none__[\"a\" /* default */])(series).reverse();\n});\n\n\n/***/ }),\n/* 615 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export segmentCache */\n/* unused harmony export bezierCache */\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = segments;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = bezier;\nvar segmentCache = {};\nvar bezierCache = {};\n\nvar join = [].join;\n\n// Copied from Inkscape svgtopdf, thanks!\nfunction segments(x, y, rx, ry, large, sweep, rotateX, ox, oy) {\n var key = join.call(arguments);\n if (segmentCache[key]) {\n return segmentCache[key];\n }\n\n var th = rotateX * (Math.PI/180);\n var sin_th = Math.sin(th);\n var cos_th = Math.cos(th);\n rx = Math.abs(rx);\n ry = Math.abs(ry);\n var px = cos_th * (ox - x) * 0.5 + sin_th * (oy - y) * 0.5;\n var py = cos_th * (oy - y) * 0.5 - sin_th * (ox - x) * 0.5;\n var pl = (px*px) / (rx*rx) + (py*py) / (ry*ry);\n if (pl > 1) {\n pl = Math.sqrt(pl);\n rx *= pl;\n ry *= pl;\n }\n\n var a00 = cos_th / rx;\n var a01 = sin_th / rx;\n var a10 = (-sin_th) / ry;\n var a11 = (cos_th) / ry;\n var x0 = a00 * ox + a01 * oy;\n var y0 = a10 * ox + a11 * oy;\n var x1 = a00 * x + a01 * y;\n var y1 = a10 * x + a11 * y;\n\n var d = (x1-x0) * (x1-x0) + (y1-y0) * (y1-y0);\n var sfactor_sq = 1 / d - 0.25;\n if (sfactor_sq < 0) sfactor_sq = 0;\n var sfactor = Math.sqrt(sfactor_sq);\n if (sweep == large) sfactor = -sfactor;\n var xc = 0.5 * (x0 + x1) - sfactor * (y1-y0);\n var yc = 0.5 * (y0 + y1) + sfactor * (x1-x0);\n\n var th0 = Math.atan2(y0-yc, x0-xc);\n var th1 = Math.atan2(y1-yc, x1-xc);\n\n var th_arc = th1-th0;\n if (th_arc < 0 && sweep === 1){\n th_arc += 2 * Math.PI;\n } else if (th_arc > 0 && sweep === 0) {\n th_arc -= 2 * Math.PI;\n }\n\n var segs = Math.ceil(Math.abs(th_arc / (Math.PI * 0.5 + 0.001)));\n var result = [];\n for (var i=0; i<segs; ++i) {\n var th2 = th0 + i * th_arc / segs;\n var th3 = th0 + (i+1) * th_arc / segs;\n result[i] = [xc, yc, th2, th3, rx, ry, sin_th, cos_th];\n }\n\n return (segmentCache[key] = result);\n}\n\nfunction bezier(params) {\n var key = join.call(params);\n if (bezierCache[key]) {\n return bezierCache[key];\n }\n\n var cx = params[0],\n cy = params[1],\n th0 = params[2],\n th1 = params[3],\n rx = params[4],\n ry = params[5],\n sin_th = params[6],\n cos_th = params[7];\n\n var a00 = cos_th * rx;\n var a01 = -sin_th * ry;\n var a10 = sin_th * rx;\n var a11 = cos_th * ry;\n\n var cos_th0 = Math.cos(th0);\n var sin_th0 = Math.sin(th0);\n var cos_th1 = Math.cos(th1);\n var sin_th1 = Math.sin(th1);\n\n var th_half = 0.5 * (th1 - th0);\n var sin_th_h2 = Math.sin(th_half * 0.5);\n var t = (8/3) * sin_th_h2 * sin_th_h2 / Math.sin(th_half);\n var x1 = cx + cos_th0 - t * sin_th0;\n var y1 = cy + sin_th0 + t * cos_th0;\n var x3 = cx + cos_th1;\n var y3 = cy + sin_th1;\n var x2 = x3 + t * sin_th1;\n var y2 = y3 - t * cos_th1;\n\n return (bezierCache[key] = [\n a00 * x1 + a01 * y1, a10 * x1 + a11 * y1,\n a00 * x2 + a01 * y2, a10 * x2 + a11 * y2,\n a00 * x3 + a01 * y3, a10 * x3 + a11 * y3\n ]);\n}\n\n\n/***/ }),\n/* 616 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(context, gradient, bounds) {\n var w = bounds.width(),\n h = bounds.height(),\n x1 = bounds.x1 + gradient.x1 * w,\n y1 = bounds.y1 + gradient.y1 * h,\n x2 = bounds.x1 + gradient.x2 * w,\n y2 = bounds.y1 + gradient.y2 * h,\n stop = gradient.stops,\n i = 0,\n n = stop.length,\n linearGradient = context.createLinearGradient(x1, y1, x2, y2);\n\n for (; i<n; ++i) {\n linearGradient.addColorStop(stop[i].offset, stop[i].color);\n }\n\n return linearGradient;\n});\n\n\n/***/ }),\n/* 617 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__path_shapes__ = __webpack_require__(41);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_pickPath__ = __webpack_require__(164);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__markMultiItemPath__ = __webpack_require__(165);\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_2__markMultiItemPath__[\"a\" /* default */])('area', __WEBPACK_IMPORTED_MODULE_0__path_shapes__[\"b\" /* area */], __WEBPACK_IMPORTED_MODULE_1__util_pickPath__[\"a\" /* pickArea */]));\n\n\n/***/ }),\n/* 618 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__path_shapes__ = __webpack_require__(41);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__bound_boundStroke__ = __webpack_require__(50);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_visit__ = __webpack_require__(37);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_canvas_stroke__ = __webpack_require__(104);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_canvas_fill__ = __webpack_require__(162);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__util_canvas_pick__ = __webpack_require__(42);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__util_svg_clip__ = __webpack_require__(106);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__util_svg_translateItem__ = __webpack_require__(105);\n\n\n\n\n\n\n\n\n\nvar StrokeOffset = 0.5;\n\nfunction attr(emit, item) {\n emit('transform', Object(__WEBPACK_IMPORTED_MODULE_7__util_svg_translateItem__[\"a\" /* default */])(item));\n}\n\nfunction background(emit, item) {\n var offset = item.stroke ? StrokeOffset : 0;\n emit('class', 'background');\n emit('d', Object(__WEBPACK_IMPORTED_MODULE_0__path_shapes__[\"d\" /* rectangle */])(null, item, offset, offset));\n}\n\nfunction foreground(emit, item, renderer) {\n var url = item.clip ? Object(__WEBPACK_IMPORTED_MODULE_6__util_svg_clip__[\"a\" /* default */])(renderer, item, item) : null;\n emit('clip-path', url);\n}\n\nfunction bound(bounds, group) {\n if (!group.clip && group.items) {\n var items = group.items;\n for (var j=0, m=items.length; j<m; ++j) {\n bounds.union(items[j].bounds);\n }\n }\n\n if ((group.clip || group.width || group.height) && !group.noBound) {\n bounds.add(0, 0).add(group.width || 0, group.height || 0);\n }\n\n Object(__WEBPACK_IMPORTED_MODULE_1__bound_boundStroke__[\"a\" /* default */])(bounds, group);\n\n return bounds.translate(group.x || 0, group.y || 0);\n}\n\nfunction backgroundPath(context, group) {\n var offset = group.stroke ? StrokeOffset : 0;\n context.beginPath();\n Object(__WEBPACK_IMPORTED_MODULE_0__path_shapes__[\"d\" /* rectangle */])(context, group, offset, offset);\n}\n\nvar hitBackground = Object(__WEBPACK_IMPORTED_MODULE_5__util_canvas_pick__[\"a\" /* hitPath */])(backgroundPath);\n\nfunction draw(context, scene, bounds) {\n var renderer = this;\n\n Object(__WEBPACK_IMPORTED_MODULE_2__util_visit__[\"b\" /* visit */])(scene, function(group) {\n var gx = group.x || 0,\n gy = group.y || 0,\n w = group.width || 0,\n h = group.height || 0,\n opacity;\n\n // setup graphics context\n context.save();\n context.translate(gx, gy);\n\n // draw group background\n if (group.stroke || group.fill) {\n opacity = group.opacity == null ? 1 : group.opacity;\n if (opacity > 0) {\n backgroundPath(context, group);\n if (group.fill && Object(__WEBPACK_IMPORTED_MODULE_4__util_canvas_fill__[\"a\" /* default */])(context, group, opacity)) {\n context.fill();\n }\n if (group.stroke && Object(__WEBPACK_IMPORTED_MODULE_3__util_canvas_stroke__[\"a\" /* default */])(context, group, opacity)) {\n context.stroke();\n }\n }\n }\n\n // set clip and bounds\n if (group.clip) {\n context.beginPath();\n context.rect(0, 0, w, h);\n context.clip();\n }\n if (bounds) bounds.translate(-gx, -gy);\n\n // draw group contents\n Object(__WEBPACK_IMPORTED_MODULE_2__util_visit__[\"b\" /* visit */])(group, function(item) {\n renderer.draw(context, item, bounds);\n });\n\n // restore graphics context\n if (bounds) bounds.translate(gx, gy);\n context.restore();\n });\n}\n\nfunction pick(context, scene, x, y, gx, gy) {\n if (scene.bounds && !scene.bounds.contains(gx, gy) || !scene.items) {\n return null;\n }\n\n var handler = this,\n cx = x * context.pixelRatio,\n cy = y * context.pixelRatio;\n\n return Object(__WEBPACK_IMPORTED_MODULE_2__util_visit__[\"a\" /* pickVisit */])(scene, function(group) {\n var hit, dx, dy, b;\n\n // first hit test against bounding box\n // if a group is clipped, that should be handled by the bounds check.\n b = group.bounds;\n if (b && !b.contains(gx, gy)) return;\n\n // passed bounds check, so test sub-groups\n dx = (group.x || 0);\n dy = (group.y || 0);\n\n context.save();\n context.translate(dx, dy);\n\n dx = gx - dx;\n dy = gy - dy;\n\n // hit test against contained marks\n hit = Object(__WEBPACK_IMPORTED_MODULE_2__util_visit__[\"a\" /* pickVisit */])(group, function(mark) {\n return pickMark(mark, dx, dy)\n ? handler.pick(mark, x, y, dx, dy)\n : null;\n });\n\n // hit test against group background\n if (!hit && scene.interactive !== false\n && (group.fill || group.stroke)\n && hitBackground(context, group, cx, cy)) {\n hit = group;\n }\n\n context.restore();\n return hit || null;\n });\n}\n\nfunction pickMark(mark, x, y) {\n return (mark.interactive !== false || mark.marktype === 'group')\n && mark.bounds && mark.bounds.contains(x, y);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n type: 'group',\n tag: 'g',\n nested: false,\n attr: attr,\n bound: bound,\n draw: draw,\n pick: pick,\n background: background,\n foreground: foreground\n});\n\n\n/***/ }),\n/* 619 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_visit__ = __webpack_require__(37);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_canvas_pick__ = __webpack_require__(42);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_svg_translate__ = __webpack_require__(163);\n\n\n\n\nfunction getImage(item, renderer) {\n var image = item.image;\n if (!image || image.url !== item.url) {\n image = {loaded: false, width: 0, height: 0};\n renderer.loadImage(item.url).then(function(image) {\n item.image = image;\n item.image.url = item.url;\n });\n }\n return image;\n}\n\nfunction imageXOffset(align, w) {\n return align === 'center' ? w / 2 : align === 'right' ? w : 0;\n}\n\nfunction imageYOffset(baseline, h) {\n return baseline === 'middle' ? h / 2 : baseline === 'bottom' ? h : 0;\n}\n\nfunction attr(emit, item, renderer) {\n var image = getImage(item, renderer),\n x = item.x || 0,\n y = item.y || 0,\n w = (item.width != null ? item.width : image.width) || 0,\n h = (item.height != null ? item.height : image.height) || 0,\n a = item.aspect === false ? 'none' : 'xMidYMid';\n\n x -= imageXOffset(item.align, w);\n y -= imageYOffset(item.baseline, h);\n\n emit('href', image.src || '', 'http://www.w3.org/1999/xlink', 'xlink:href');\n emit('transform', Object(__WEBPACK_IMPORTED_MODULE_2__util_svg_translate__[\"a\" /* default */])(x, y));\n emit('width', w);\n emit('height', h);\n emit('preserveAspectRatio', a);\n}\n\nfunction bound(bounds, item) {\n var image = item.image,\n x = item.x || 0,\n y = item.y || 0,\n w = (item.width != null ? item.width : (image && image.width)) || 0,\n h = (item.height != null ? item.height : (image && image.height)) || 0;\n\n x -= imageXOffset(item.align, w);\n y -= imageYOffset(item.baseline, h);\n\n return bounds.set(x, y, x + w, y + h);\n}\n\nfunction draw(context, scene, bounds) {\n var renderer = this;\n\n Object(__WEBPACK_IMPORTED_MODULE_0__util_visit__[\"b\" /* visit */])(scene, function(item) {\n if (bounds && !bounds.intersects(item.bounds)) return; // bounds check\n\n var image = getImage(item, renderer),\n x = item.x || 0,\n y = item.y || 0,\n w = (item.width != null ? item.width : image.width) || 0,\n h = (item.height != null ? item.height : image.height) || 0,\n opacity, ar0, ar1, t;\n\n x -= imageXOffset(item.align, w);\n y -= imageYOffset(item.baseline, h);\n\n if (item.aspect !== false) {\n ar0 = image.width / image.height;\n ar1 = item.width / item.height;\n if (ar0 === ar0 && ar1 === ar1 && ar0 !== ar1) {\n if (ar1 < ar0) {\n t = w / ar0;\n y += (h - t) / 2;\n h = t;\n } else {\n t = h * ar0;\n x += (w - t) / 2;\n w = t;\n }\n }\n }\n\n if (image.loaded) {\n context.globalAlpha = (opacity = item.opacity) != null ? opacity : 1;\n context.drawImage(image, x, y, w, h);\n }\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n type: 'image',\n tag: 'image',\n nested: false,\n attr: attr,\n bound: bound,\n draw: draw,\n pick: Object(__WEBPACK_IMPORTED_MODULE_1__util_canvas_pick__[\"b\" /* pick */])(),\n get: getImage,\n xOffset: imageXOffset,\n yOffset: imageYOffset\n});\n\n\n/***/ }),\n/* 620 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__path_shapes__ = __webpack_require__(41);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_pickPath__ = __webpack_require__(164);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__markMultiItemPath__ = __webpack_require__(165);\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_2__markMultiItemPath__[\"a\" /* default */])('line', __WEBPACK_IMPORTED_MODULE_0__path_shapes__[\"c\" /* line */], __WEBPACK_IMPORTED_MODULE_1__util_pickPath__[\"b\" /* pickLine */]));\n\n\n/***/ }),\n/* 621 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__bound_boundStroke__ = __webpack_require__(50);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__bound_boundContext__ = __webpack_require__(73);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__path_parse__ = __webpack_require__(102);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__path_render__ = __webpack_require__(160);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_canvas_draw__ = __webpack_require__(103);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__util_canvas_pick__ = __webpack_require__(42);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__util_svg_translateItem__ = __webpack_require__(105);\n\n\n\n\n\n\n\n\nfunction attr(emit, item) {\n emit('transform', Object(__WEBPACK_IMPORTED_MODULE_6__util_svg_translateItem__[\"a\" /* default */])(item));\n emit('d', item.path);\n}\n\nfunction path(context, item) {\n var path = item.path;\n if (path == null) return true;\n\n var cache = item.pathCache;\n if (!cache || cache.path !== path) {\n (item.pathCache = cache = Object(__WEBPACK_IMPORTED_MODULE_2__path_parse__[\"a\" /* default */])(path)).path = path;\n }\n Object(__WEBPACK_IMPORTED_MODULE_3__path_render__[\"a\" /* default */])(context, cache, item.x, item.y);\n}\n\nfunction bound(bounds, item) {\n return path(Object(__WEBPACK_IMPORTED_MODULE_1__bound_boundContext__[\"a\" /* default */])(bounds), item)\n ? bounds.set(0, 0, 0, 0)\n : Object(__WEBPACK_IMPORTED_MODULE_0__bound_boundStroke__[\"a\" /* default */])(bounds, item);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n type: 'path',\n tag: 'path',\n nested: false,\n attr: attr,\n bound: bound,\n draw: Object(__WEBPACK_IMPORTED_MODULE_4__util_canvas_draw__[\"a\" /* drawAll */])(path),\n pick: Object(__WEBPACK_IMPORTED_MODULE_5__util_canvas_pick__[\"c\" /* pickPath */])(path)\n});\n\n\n/***/ }),\n/* 622 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__bound_boundStroke__ = __webpack_require__(50);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__path_shapes__ = __webpack_require__(41);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_canvas_draw__ = __webpack_require__(103);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_canvas_pick__ = __webpack_require__(42);\n\n\n\n\n\nfunction attr(emit, item) {\n emit('d', Object(__WEBPACK_IMPORTED_MODULE_1__path_shapes__[\"d\" /* rectangle */])(null, item));\n}\n\nfunction bound(bounds, item) {\n var x, y;\n return Object(__WEBPACK_IMPORTED_MODULE_0__bound_boundStroke__[\"a\" /* default */])(bounds.set(\n x = item.x || 0,\n y = item.y || 0,\n (x + item.width) || 0,\n (y + item.height) || 0\n ), item);\n}\n\nfunction draw(context, item) {\n context.beginPath();\n Object(__WEBPACK_IMPORTED_MODULE_1__path_shapes__[\"d\" /* rectangle */])(context, item);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n type: 'rect',\n tag: 'path',\n nested: false,\n attr: attr,\n bound: bound,\n draw: Object(__WEBPACK_IMPORTED_MODULE_2__util_canvas_draw__[\"a\" /* drawAll */])(draw),\n pick: Object(__WEBPACK_IMPORTED_MODULE_3__util_canvas_pick__[\"c\" /* pickPath */])(draw)\n});\n\n\n/***/ }),\n/* 623 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__bound_boundStroke__ = __webpack_require__(50);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_visit__ = __webpack_require__(37);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_canvas_pick__ = __webpack_require__(42);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_canvas_stroke__ = __webpack_require__(104);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_svg_translateItem__ = __webpack_require__(105);\n\n\n\n\n\n\nfunction attr(emit, item) {\n emit('transform', Object(__WEBPACK_IMPORTED_MODULE_4__util_svg_translateItem__[\"a\" /* default */])(item));\n emit('x2', item.x2 != null ? item.x2 - (item.x||0) : 0);\n emit('y2', item.y2 != null ? item.y2 - (item.y||0) : 0);\n}\n\nfunction bound(bounds, item) {\n var x1, y1;\n return Object(__WEBPACK_IMPORTED_MODULE_0__bound_boundStroke__[\"a\" /* default */])(bounds.set(\n x1 = item.x || 0,\n y1 = item.y || 0,\n item.x2 != null ? item.x2 : x1,\n item.y2 != null ? item.y2 : y1\n ), item);\n}\n\nfunction path(context, item, opacity) {\n var x1, y1, x2, y2;\n\n if (item.stroke && Object(__WEBPACK_IMPORTED_MODULE_3__util_canvas_stroke__[\"a\" /* default */])(context, item, opacity)) {\n x1 = item.x || 0;\n y1 = item.y || 0;\n x2 = item.x2 != null ? item.x2 : x1;\n y2 = item.y2 != null ? item.y2 : y1;\n context.beginPath();\n context.moveTo(x1, y1);\n context.lineTo(x2, y2);\n return true;\n }\n return false;\n}\n\nfunction draw(context, scene, bounds) {\n Object(__WEBPACK_IMPORTED_MODULE_1__util_visit__[\"b\" /* visit */])(scene, function(item) {\n if (bounds && !bounds.intersects(item.bounds)) return; // bounds check\n var opacity = item.opacity == null ? 1 : item.opacity;\n if (opacity && path(context, item, opacity)) {\n context.stroke();\n }\n });\n}\n\nfunction hit(context, item, x, y) {\n if (!context.isPointInStroke) return false;\n return path(context, item, 1) && context.isPointInStroke(x, y);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n type: 'rule',\n tag: 'line',\n nested: false,\n attr: attr,\n bound: bound,\n draw: draw,\n pick: Object(__WEBPACK_IMPORTED_MODULE_2__util_canvas_pick__[\"b\" /* pick */])(hit)\n});\n\n\n/***/ }),\n/* 624 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__path_shapes__ = __webpack_require__(41);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__markItemPath__ = __webpack_require__(161);\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_1__markItemPath__[\"a\" /* default */])('shape', __WEBPACK_IMPORTED_MODULE_0__path_shapes__[\"e\" /* shape */]));\n\n\n/***/ }),\n/* 625 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__path_shapes__ = __webpack_require__(41);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__markItemPath__ = __webpack_require__(161);\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_1__markItemPath__[\"a\" /* default */])('symbol', __WEBPACK_IMPORTED_MODULE_0__path_shapes__[\"f\" /* symbol */]));\n\n\n/***/ }),\n/* 626 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Bounds__ = __webpack_require__(39);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_text__ = __webpack_require__(107);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_visit__ = __webpack_require__(37);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_canvas_fill__ = __webpack_require__(162);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_canvas_pick__ = __webpack_require__(42);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__util_canvas_stroke__ = __webpack_require__(104);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__util_svg_translate__ = __webpack_require__(163);\n\n\n\n\n\n\n\n\nvar textAlign = {\n 'left': 'start',\n 'center': 'middle',\n 'right': 'end'\n};\n\nvar tempBounds = new __WEBPACK_IMPORTED_MODULE_0__Bounds__[\"a\" /* default */]();\n\nfunction attr(emit, item) {\n var dx = item.dx || 0,\n dy = (item.dy || 0) + Object(__WEBPACK_IMPORTED_MODULE_1__util_text__[\"d\" /* offset */])(item),\n x = item.x || 0,\n y = item.y || 0,\n a = item.angle || 0,\n r = item.radius || 0, t;\n\n if (r) {\n t = (item.theta || 0) - Math.PI/2;\n x += r * Math.cos(t);\n y += r * Math.sin(t);\n }\n\n emit('text-anchor', textAlign[item.align] || 'start');\n\n if (a) {\n t = Object(__WEBPACK_IMPORTED_MODULE_6__util_svg_translate__[\"a\" /* default */])(x, y) + ' rotate('+a+')';\n if (dx || dy) t += ' ' + Object(__WEBPACK_IMPORTED_MODULE_6__util_svg_translate__[\"a\" /* default */])(dx, dy);\n } else {\n t = Object(__WEBPACK_IMPORTED_MODULE_6__util_svg_translate__[\"a\" /* default */])(x + dx, y + dy);\n }\n emit('transform', t);\n}\n\nfunction bound(bounds, item, noRotate) {\n var h = __WEBPACK_IMPORTED_MODULE_1__util_text__[\"e\" /* textMetrics */].height(item),\n a = item.align,\n r = item.radius || 0,\n x = item.x || 0,\n y = item.y || 0,\n dx = item.dx || 0,\n dy = (item.dy || 0) + Object(__WEBPACK_IMPORTED_MODULE_1__util_text__[\"d\" /* offset */])(item) - Math.round(0.8*h), // use 4/5 offset\n w, t;\n\n if (r) {\n t = (item.theta || 0) - Math.PI/2;\n x += r * Math.cos(t);\n y += r * Math.sin(t);\n }\n\n // horizontal alignment\n w = __WEBPACK_IMPORTED_MODULE_1__util_text__[\"e\" /* textMetrics */].width(item);\n if (a === 'center') {\n dx -= (w / 2);\n } else if (a === 'right') {\n dx -= w;\n } else {\n // left by default, do nothing\n }\n\n bounds.set(dx+=x, dy+=y, dx+w, dy+h);\n if (item.angle && !noRotate) {\n bounds.rotate(item.angle*Math.PI/180, x, y);\n }\n return bounds.expand(noRotate || !w ? 0 : 1);\n}\n\nfunction draw(context, scene, bounds) {\n Object(__WEBPACK_IMPORTED_MODULE_2__util_visit__[\"b\" /* visit */])(scene, function(item) {\n var opacity, x, y, r, t, str;\n if (bounds && !bounds.intersects(item.bounds)) return; // bounds check\n if (!(str = Object(__WEBPACK_IMPORTED_MODULE_1__util_text__[\"f\" /* textValue */])(item))) return; // get text string\n\n opacity = item.opacity == null ? 1 : item.opacity;\n if (opacity === 0) return;\n\n context.font = Object(__WEBPACK_IMPORTED_MODULE_1__util_text__[\"a\" /* font */])(item);\n context.textAlign = item.align || 'left';\n\n x = item.x || 0;\n y = item.y || 0;\n if ((r = item.radius)) {\n t = (item.theta || 0) - Math.PI/2;\n x += r * Math.cos(t);\n y += r * Math.sin(t);\n }\n\n if (item.angle) {\n context.save();\n context.translate(x, y);\n context.rotate(item.angle * Math.PI/180);\n x = y = 0; // reset x, y\n }\n x += (item.dx || 0);\n y += (item.dy || 0) + Object(__WEBPACK_IMPORTED_MODULE_1__util_text__[\"d\" /* offset */])(item);\n\n if (item.fill && Object(__WEBPACK_IMPORTED_MODULE_3__util_canvas_fill__[\"a\" /* default */])(context, item, opacity)) {\n context.fillText(str, x, y);\n }\n if (item.stroke && Object(__WEBPACK_IMPORTED_MODULE_5__util_canvas_stroke__[\"a\" /* default */])(context, item, opacity)) {\n context.strokeText(str, x, y);\n }\n if (item.angle) context.restore();\n });\n}\n\nfunction hit(context, item, x, y, gx, gy) {\n if (item.fontSize <= 0) return false;\n if (!item.angle) return true; // bounds sufficient if no rotation\n\n // project point into space of unrotated bounds\n var b = bound(tempBounds, item, true),\n a = -item.angle * Math.PI / 180,\n cos = Math.cos(a),\n sin = Math.sin(a),\n ix = item.x,\n iy = item.y,\n px = cos*gx - sin*gy + (ix - ix*cos + iy*sin),\n py = sin*gx + cos*gy + (iy - ix*sin - iy*cos);\n\n return b.contains(px, py);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n type: 'text',\n tag: 'text',\n nested: false,\n attr: attr,\n bound: bound,\n draw: draw,\n pick: Object(__WEBPACK_IMPORTED_MODULE_4__util_canvas_pick__[\"b\" /* pick */])(hit)\n});\n\n\n/***/ }),\n/* 627 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__path_shapes__ = __webpack_require__(41);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_pickPath__ = __webpack_require__(164);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__markMultiItemPath__ = __webpack_require__(165);\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_2__markMultiItemPath__[\"a\" /* default */])('trail', __WEBPACK_IMPORTED_MODULE_0__path_shapes__[\"g\" /* trail */], __WEBPACK_IMPORTED_MODULE_1__util_pickPath__[\"c\" /* pickTrail */]));\n\n\n/***/ }),\n/* 628 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__marks_index__ = __webpack_require__(40);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__point__ = __webpack_require__(167);\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(item, event, el, origin) {\n var mark = item && item.mark,\n mdef, p;\n\n if (mark && (mdef = __WEBPACK_IMPORTED_MODULE_0__marks_index__[\"a\" /* default */][mark.marktype]).tip) {\n p = Object(__WEBPACK_IMPORTED_MODULE_1__point__[\"a\" /* default */])(event, el);\n p[0] -= origin[0];\n p[1] -= origin[1];\n while (item = item.mark.group) {\n p[0] -= item.x || 0;\n p[1] -= item.y || 0;\n }\n item = mdef.tip(mark.items, p);\n }\n\n return item;\n});\n\n\n/***/ }),\n/* 629 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(context, scene) {\n var clip = scene.clip;\n\n context.save();\n context.beginPath();\n\n if (Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"y\" /* isFunction */])(clip)) {\n clip(context);\n } else {\n var group = scene.group;\n context.rect(0, 0, group.width || 0, group.height || 0);\n }\n\n context.clip();\n});\n\n\n/***/ }),\n/* 630 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nfunction devicePixelRatio() {\n return typeof window !== 'undefined' ? window.devicePixelRatio || 1 : 1;\n}\n\nvar pixelRatio = devicePixelRatio();\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(canvas, width, height, origin, scaleFactor) {\n var inDOM = typeof HTMLElement !== 'undefined'\n && canvas instanceof HTMLElement\n && canvas.parentNode != null;\n\n var context = canvas.getContext('2d'),\n ratio = inDOM ? pixelRatio : scaleFactor;\n\n canvas.width = width * ratio;\n canvas.height = height * ratio;\n\n if (inDOM && ratio !== 1) {\n canvas.style.width = width + 'px';\n canvas.style.height = height + 'px';\n }\n\n context.pixelRatio = ratio;\n context.setTransform(\n ratio, 0, 0, ratio,\n ratio * origin[0],\n ratio * origin[1]\n );\n\n return canvas;\n});\n\n\n/***/ }),\n/* 631 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return RenderType; });\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = renderModule;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__CanvasHandler__ = __webpack_require__(290);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__CanvasRenderer__ = __webpack_require__(292);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__SVGHandler__ = __webpack_require__(293);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__SVGRenderer__ = __webpack_require__(294);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__SVGStringRenderer__ = __webpack_require__(297);\n\n\n\n\n\n\nvar Canvas = 'canvas';\nvar PNG = 'png';\nvar SVG = 'svg';\nvar None = 'none';\n\nvar RenderType = {\n Canvas: Canvas,\n PNG: PNG,\n SVG: SVG,\n None: None\n};\n\nvar modules = {};\n\nmodules[Canvas] = modules[PNG] = {\n renderer: __WEBPACK_IMPORTED_MODULE_1__CanvasRenderer__[\"a\" /* default */],\n headless: __WEBPACK_IMPORTED_MODULE_1__CanvasRenderer__[\"a\" /* default */],\n handler: __WEBPACK_IMPORTED_MODULE_0__CanvasHandler__[\"a\" /* default */]\n};\n\nmodules[SVG] = {\n renderer: __WEBPACK_IMPORTED_MODULE_3__SVGRenderer__[\"a\" /* default */],\n headless: __WEBPACK_IMPORTED_MODULE_4__SVGStringRenderer__[\"a\" /* default */],\n handler: __WEBPACK_IMPORTED_MODULE_2__SVGHandler__[\"a\" /* default */]\n};\n\nmodules[None] = {};\n\nfunction renderModule(name, _) {\n name = String(name || '').toLowerCase();\n if (arguments.length > 1) {\n modules[name] = _;\n return this;\n } else {\n return modules[name];\n }\n}\n\n\n/***/ }),\n/* 632 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Bounds__ = __webpack_require__(39);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__boundContext__ = __webpack_require__(73);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n\n\n\n\nvar clipBounds = new __WEBPACK_IMPORTED_MODULE_0__Bounds__[\"a\" /* default */]();\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(mark) {\n var clip = mark.clip;\n\n if (Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"y\" /* isFunction */])(clip)) {\n clip(Object(__WEBPACK_IMPORTED_MODULE_1__boundContext__[\"a\" /* default */])(clipBounds.clear()));\n } else if (clip) {\n clipBounds.set(0, 0, mark.group.width, mark.group.height);\n } else return;\n\n mark.bounds.intersect(clipBounds);\n});\n\n\n/***/ }),\n/* 633 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = sceneEqual;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = pathEqual;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__path_parse__ = __webpack_require__(102);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\nvar TOLERANCE = 1e-9;\n\nfunction sceneEqual(a, b, key) {\n return (a === b) ? true\n : (key === 'path') ? pathEqual(a, b)\n : (a instanceof Date && b instanceof Date) ? +a === +b\n : (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"z\" /* isNumber */])(a) && Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"z\" /* isNumber */])(b)) ? Math.abs(a - b) <= TOLERANCE\n : (!a || !b || !Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"A\" /* isObject */])(a) && !Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"A\" /* isObject */])(b)) ? a == b\n : (a == null || b == null) ? false\n : objectEqual(a, b);\n}\n\nfunction pathEqual(a, b) {\n return sceneEqual(Object(__WEBPACK_IMPORTED_MODULE_0__path_parse__[\"a\" /* default */])(a), Object(__WEBPACK_IMPORTED_MODULE_0__path_parse__[\"a\" /* default */])(b));\n}\n\nfunction objectEqual(a, b) {\n var ka = Object.keys(a),\n kb = Object.keys(b),\n key, i;\n\n if (ka.length !== kb.length) return false;\n\n ka.sort();\n kb.sort();\n\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i]) return false;\n }\n\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!sceneEqual(a[key], b[key], key)) return false;\n }\n\n return typeof a === typeof b;\n}\n\n\n/***/ }),\n/* 634 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Identifier;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\nvar COUNTER_NAME = ':vega_identifier:';\n\n/**\n * Adds a unique identifier to all added tuples.\n * This transform creates a new signal that serves as an id counter.\n * As a result, the id counter is shared across all instances of this\n * transform, generating unique ids across multiple data streams. In\n * addition, this signal value can be included in a snapshot of the\n * dataflow state, enabling correct resumption of id allocation.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {string} params.as - The field name for the generated identifier.\n */\nfunction Identifier(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, 0, params);\n}\n\nIdentifier.Definition = {\n \"type\": \"Identifier\",\n \"metadata\": {\"modifies\": true},\n \"params\": [\n { \"name\": \"as\", \"type\": \"string\", \"required\": true }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(Identifier, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var counter = getCounter(pulse.dataflow),\n id = counter.value,\n as = _.as;\n\n pulse.visit(pulse.ADD, function(t) {\n if (!t[as]) t[as] = ++id;\n });\n\n counter.set(this.value = id);\n return pulse;\n};\n\nfunction getCounter(view) {\n var counter = view._signals[COUNTER_NAME];\n if (!counter) {\n view._signals[COUNTER_NAME] = (counter = view.add(0));\n }\n return counter;\n}\n\n\n/***/ }),\n/* 635 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Mark;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constants__ = __webpack_require__(69);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_scenegraph__ = __webpack_require__(20);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vega_util__ = __webpack_require__(0);\n\n\n\n\n\n/**\n * Bind scenegraph items to a scenegraph mark instance.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {object} params.markdef - The mark definition for creating the mark.\n * This is an object of legal scenegraph mark properties which *must* include\n * the 'marktype' property.\n */\nfunction Mark(params) {\n __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n}\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"u\" /* inherits */])(Mark, __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var mark = this.value;\n\n // acquire mark on first invocation, bind context and group\n if (!mark) {\n mark = pulse.dataflow.scenegraph().mark(_.markdef, lookup(_), _.index);\n mark.group.context = _.context;\n if (!_.context.group) _.context.group = mark.group;\n mark.source = this;\n mark.clip = _.clip;\n mark.interactive = _.interactive;\n this.value = mark;\n }\n\n // initialize entering items\n var Init = mark.marktype === __WEBPACK_IMPORTED_MODULE_0__constants__[\"q\" /* Group */] ? __WEBPACK_IMPORTED_MODULE_2_vega_scenegraph__[\"e\" /* GroupItem */] : __WEBPACK_IMPORTED_MODULE_2_vega_scenegraph__[\"g\" /* Item */];\n pulse.visit(pulse.ADD, function(item) { Init.call(item, mark); });\n\n // update clipping and/or interactive status\n if (_.modified('clip') || _.modified('interactive')) {\n mark.clip = _.clip;\n mark.interactive = !!_.interactive;\n mark.zdirty = true; // force scenegraph re-eval\n pulse.reflow();\n }\n\n // bind items array to scenegraph mark\n mark.items = pulse.source;\n return pulse;\n};\n\nfunction lookup(_) {\n var g = _.groups, p = _.parent;\n return g && g.size === 1 ? g.get(Object.keys(g.object)[0])\n : g && p ? g.lookup(p)\n : null;\n}\n\n\n/***/ }),\n/* 636 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Overlap;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constants__ = __webpack_require__(69);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_scenegraph__ = __webpack_require__(20);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vega_util__ = __webpack_require__(0);\n\n\n\n\n\n/**\n * Analyze items for overlap, changing opacity to hide items with\n * overlapping bounding boxes. This transform will preserve at least\n * two items (e.g., first and last) even if overlap persists.\n * @param {object} params - The parameters for this operator.\n * @param {function(*,*): number} [params.sort] - A comparator\n * function for sorting items.\n * @param {object} [params.method] - The overlap removal method to apply.\n * One of 'parity' (default, hide every other item until there is no\n * more overlap) or 'greedy' (sequentially scan and hide and items that\n * overlap with the last visible item).\n * @param {object} [params.boundScale] - A scale whose range should be used\n * to bound the items. Items exceeding the bounds of the scale range\n * will be treated as overlapping. If null or undefined, no bounds check\n * will be applied.\n * @param {object} [params.boundOrient] - The orientation of the scale\n * (top, bottom, left, or right) used to bound items. This parameter is\n * ignored if boundScale is null or undefined.\n * @param {object} [params.boundTolerance] - The tolerance in pixels for\n * bound inclusion testing (default 1). This specifies by how many pixels\n * an item's bounds may exceed the scale range bounds and not be culled.\n * @constructor\n */\nfunction Overlap(params) {\n __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n}\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"u\" /* inherits */])(Overlap, __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"g\" /* Transform */]);\n\nvar methods = {\n parity: function(items) {\n return items.filter(function(item, i) {\n return i % 2 ? (item.opacity = 0) : 1;\n });\n },\n greedy: function(items) {\n var a;\n return items.filter(function(b, i) {\n if (!i || !intersect(a.bounds, b.bounds)) {\n a = b;\n return 1;\n } else {\n return b.opacity = 0;\n }\n });\n }\n};\n\n// compute bounding box intersection\n// allow 1 pixel of overlap tolerance\nfunction intersect(a, b) {\n return !(\n a.x2 - 1 < b.x1 ||\n a.x1 + 1 > b.x2 ||\n a.y2 - 1 < b.y1 ||\n a.y1 + 1 > b.y2\n );\n}\n\nfunction hasOverlap(items) {\n for (var i=1, n=items.length, a=items[0].bounds, b; i<n; a=b, ++i) {\n if (intersect(a, b = items[i].bounds)) return true;\n }\n}\n\nfunction hasBounds(item) {\n var b = item.bounds;\n return b.width() > 1 && b.height() > 1;\n}\n\nfunction boundTest(scale, orient, tolerance) {\n var range = scale.range(),\n b = new __WEBPACK_IMPORTED_MODULE_2_vega_scenegraph__[\"a\" /* Bounds */]();\n\n if (orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"F\" /* Top */] || orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"c\" /* Bottom */]) {\n b.set(range[0], -Infinity, range[1], +Infinity);\n } else {\n b.set(-Infinity, range[0], +Infinity, range[1]);\n }\n b.expand(tolerance || 1);\n\n return function(item) {\n return b.encloses(item.bounds);\n };\n}\n\n// reset all items to be fully opaque\nfunction reset(source) {\n source.forEach(function(item) { item.opacity = 1; });\n return source;\n}\n\n// add all tuples to mod, fork pulse if parameters were modified\n// fork prevents cross-stream tuple pollution (e.g., pulse from scale)\nfunction reflow(pulse, _) {\n return pulse.reflow(_.modified()).modifies('opacity');\n}\n\nprototype.transform = function(_, pulse) {\n var reduce = methods[_.method] || methods.parity,\n source = pulse.materialize(pulse.SOURCE).source,\n items, test;\n\n if (!source) return;\n\n if (!_.method) {\n // early exit if method is falsy\n if (_.modified('method')) {\n reset(source);\n pulse = reflow(pulse, _);\n }\n return pulse;\n }\n\n if (_.sort) {\n source = source.slice().sort(_.sort);\n }\n\n if (_.method === 'greedy') {\n source = source.filter(hasBounds);\n }\n\n items = reset(source);\n pulse = reflow(pulse, _);\n\n if (items.length >= 3 && hasOverlap(items)) {\n do {\n items = reduce(items);\n } while (items.length >= 3 && hasOverlap(items));\n\n if (items.length < 3 && !Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"L\" /* peek */])(source).opacity) {\n if (items.length > 1) Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"L\" /* peek */])(items).opacity = 0;\n Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"L\" /* peek */])(source).opacity = 1;\n }\n }\n\n if (_.boundScale && _.boundTolerance >= 0) {\n test = boundTest(_.boundScale, _.boundOrient, +_.boundTolerance);\n source.forEach(function(item) {\n if (!test(item)) item.opacity = 0;\n })\n }\n\n return pulse;\n};\n\n\n/***/ }),\n/* 637 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Render;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Queue modified scenegraph items for rendering.\n * @constructor\n */\nfunction Render(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n}\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(Render, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var view = pulse.dataflow;\n\n pulse.visit(pulse.ALL, function(item) { view.dirty(item); });\n\n // set z-index dirty flag as needed\n if (pulse.fields && pulse.fields['zindex']) {\n var item = pulse.source && pulse.source[0];\n if (item) item.mark.zdirty = true;\n }\n};\n\n\n/***/ }),\n/* 638 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = ViewLayout;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constants__ = __webpack_require__(69);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__gridLayout__ = __webpack_require__(639);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vega_scenegraph__ = __webpack_require__(20);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_vega_util__ = __webpack_require__(0);\n\n\n\n\n\n\nvar AxisOffset = 0.5,\n tempBounds = new __WEBPACK_IMPORTED_MODULE_3_vega_scenegraph__[\"a\" /* Bounds */]();\n\n/**\n * Layout view elements such as axes and legends.\n * Also performs size adjustments.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {object} params.mark - Scenegraph mark of groups to layout.\n */\nfunction ViewLayout(params) {\n __WEBPACK_IMPORTED_MODULE_2_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n}\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"u\" /* inherits */])(ViewLayout, __WEBPACK_IMPORTED_MODULE_2_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n // TODO incremental update, output?\n var view = pulse.dataflow;\n _.mark.items.forEach(function(group) {\n if (_.layout) Object(__WEBPACK_IMPORTED_MODULE_1__gridLayout__[\"a\" /* gridLayout */])(view, group, _.layout);\n layoutGroup(view, group, _);\n });\n if (_.modified()) pulse.reflow();\n return pulse;\n};\n\nfunction layoutGroup(view, group, _) {\n var items = group.items,\n width = Math.max(0, group.width || 0),\n height = Math.max(0, group.height || 0),\n viewBounds = new __WEBPACK_IMPORTED_MODULE_3_vega_scenegraph__[\"a\" /* Bounds */]().set(0, 0, width, height),\n xBounds = viewBounds.clone(),\n yBounds = viewBounds.clone(),\n legends = [], title,\n mark, flow, b, i, n;\n\n // layout axes, gather legends, collect bounds\n for (i=0, n=items.length; i<n; ++i) {\n mark = items[i];\n switch (mark.role) {\n case __WEBPACK_IMPORTED_MODULE_0__constants__[\"b\" /* AxisRole */]:\n b = isYAxis(mark) ? xBounds : yBounds;\n b.union(axisLayout(view, mark, width, height));\n break;\n case __WEBPACK_IMPORTED_MODULE_0__constants__[\"E\" /* TitleRole */]:\n title = mark; break;\n case __WEBPACK_IMPORTED_MODULE_0__constants__[\"s\" /* LegendRole */]:\n legends.push(mark); break;\n case __WEBPACK_IMPORTED_MODULE_0__constants__[\"p\" /* FrameRole */]:\n case __WEBPACK_IMPORTED_MODULE_0__constants__[\"B\" /* ScopeRole */]:\n case __WEBPACK_IMPORTED_MODULE_0__constants__[\"z\" /* RowHeader */]:\n case __WEBPACK_IMPORTED_MODULE_0__constants__[\"y\" /* RowFooter */]:\n case __WEBPACK_IMPORTED_MODULE_0__constants__[\"A\" /* RowTitle */]:\n case __WEBPACK_IMPORTED_MODULE_0__constants__[\"g\" /* ColHeader */]:\n case __WEBPACK_IMPORTED_MODULE_0__constants__[\"f\" /* ColFooter */]:\n case __WEBPACK_IMPORTED_MODULE_0__constants__[\"h\" /* ColTitle */]:\n xBounds.union(mark.bounds);\n yBounds.union(mark.bounds);\n break;\n default:\n viewBounds.union(mark.bounds);\n }\n }\n\n // layout legends, adjust viewBounds\n if (legends.length) {\n flow = {\n leftWidth: legendPreprocess(view, legends),\n margin: _.legendMargin || 8,\n left: 0, right: 0, top: 0, bottom: 0\n };\n\n for (i=0, n=legends.length; i<n; ++i) {\n b = legendLayout(view, legends[i], flow, xBounds, yBounds, width, height);\n if (_.autosize && _.autosize.type === __WEBPACK_IMPORTED_MODULE_0__constants__[\"l\" /* Fit */]) {\n // For autosize fit, incorporate the orthogonal dimension only.\n // Legends that overrun the chart area will then be clipped;\n // otherwise the chart area gets reduced to nothing!\n var orient = legends[i].items[0].datum.orient;\n if (orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"r\" /* Left */] || orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"w\" /* Right */]) {\n viewBounds.add(b.x1, 0).add(b.x2, 0);\n } else if (orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"F\" /* Top */] || orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"c\" /* Bottom */]) {\n viewBounds.add(0, b.y1).add(0, b.y2);\n }\n } else {\n viewBounds.union(b);\n }\n }\n }\n\n // combine bounding boxes\n viewBounds.union(xBounds).union(yBounds);\n\n // layout title, adjust bounds\n if (title) {\n viewBounds.union(titleLayout(view, title, width, height, viewBounds));\n }\n\n // perform size adjustment\n viewSizeLayout(view, group, viewBounds, _);\n}\n\nfunction set(item, property, value) {\n if (item[property] === value) {\n return 0;\n } else {\n item[property] = value;\n return 1;\n }\n}\n\nfunction isYAxis(mark) {\n var orient = mark.items[0].datum.orient;\n return orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"r\" /* Left */] || orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"w\" /* Right */];\n}\n\nfunction axisIndices(datum) {\n var index = +datum.grid;\n return [\n datum.ticks ? index++ : -1, // ticks index\n datum.labels ? index++ : -1, // labels index\n index + (+datum.domain) // title index\n ];\n}\n\nfunction axisLayout(view, axis, width, height) {\n var item = axis.items[0],\n datum = item.datum,\n orient = datum.orient,\n indices = axisIndices(datum),\n range = item.range,\n offset = item.offset,\n position = item.position,\n minExtent = item.minExtent,\n maxExtent = item.maxExtent,\n title = datum.title && item.items[indices[2]].items[0],\n titlePadding = item.titlePadding,\n bounds = item.bounds,\n x = 0, y = 0, i, s;\n\n tempBounds.clear().union(bounds);\n bounds.clear();\n if ((i=indices[0]) > -1) bounds.union(item.items[i].bounds);\n if ((i=indices[1]) > -1) bounds.union(item.items[i].bounds);\n\n // position axis group and title\n switch (orient) {\n case __WEBPACK_IMPORTED_MODULE_0__constants__[\"F\" /* Top */]:\n x = position || 0;\n y = -offset;\n s = Math.max(minExtent, Math.min(maxExtent, -bounds.y1));\n if (title) s = axisTitleLayout(title, s, titlePadding, 0, -1, bounds);\n bounds.add(0, -s).add(range, 0);\n break;\n case __WEBPACK_IMPORTED_MODULE_0__constants__[\"r\" /* Left */]:\n x = -offset;\n y = position || 0;\n s = Math.max(minExtent, Math.min(maxExtent, -bounds.x1));\n if (title) s = axisTitleLayout(title, s, titlePadding, 1, -1, bounds);\n bounds.add(-s, 0).add(0, range);\n break;\n case __WEBPACK_IMPORTED_MODULE_0__constants__[\"w\" /* Right */]:\n x = width + offset;\n y = position || 0;\n s = Math.max(minExtent, Math.min(maxExtent, bounds.x2));\n if (title) s = axisTitleLayout(title, s, titlePadding, 1, 1, bounds);\n bounds.add(0, 0).add(s, range);\n break;\n case __WEBPACK_IMPORTED_MODULE_0__constants__[\"c\" /* Bottom */]:\n x = position || 0;\n y = height + offset;\n s = Math.max(minExtent, Math.min(maxExtent, bounds.y2));\n if (title) s = axisTitleLayout(title, s, titlePadding, 0, 1, bounds);\n bounds.add(0, 0).add(range, s);\n break;\n default:\n x = item.x;\n y = item.y;\n }\n\n // update bounds\n Object(__WEBPACK_IMPORTED_MODULE_3_vega_scenegraph__[\"t\" /* boundStroke */])(bounds.translate(x, y), item);\n\n if (set(item, 'x', x + AxisOffset) | set(item, 'y', y + AxisOffset)) {\n item.bounds = tempBounds;\n view.dirty(item);\n item.bounds = bounds;\n view.dirty(item);\n }\n\n return item.mark.bounds.clear().union(bounds);\n}\n\nfunction axisTitleLayout(title, offset, pad, isYAxis, sign, bounds) {\n var b = title.bounds, dx = 0, dy = 0;\n\n if (title.auto) {\n offset += pad;\n\n isYAxis\n ? dx = (title.x || 0) - (title.x = sign * offset)\n : dy = (title.y || 0) - (title.y = sign * offset);\n\n b.translate(-dx, -dy);\n title.mark.bounds.set(b.x1, b.y1, b.x2, b.y2);\n\n if (isYAxis) {\n bounds.add(0, b.y1).add(0, b.y2);\n offset += b.width();\n } else {\n bounds.add(b.x1, 0).add(b.x2, 0);\n offset += b.height();\n }\n } else {\n bounds.union(b);\n }\n\n return offset;\n}\n\nfunction titleLayout(view, title, width, height, viewBounds) {\n var item = title.items[0],\n orient = item.orient,\n frame = item.frame,\n anchor = item.anchor,\n offset = item.offset,\n bounds = item.bounds,\n vertical = (orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"r\" /* Left */] || orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"w\" /* Right */]),\n start = 0,\n end = vertical ? height : width,\n x = 0, y = 0, pos;\n\n if (frame !== __WEBPACK_IMPORTED_MODULE_0__constants__[\"q\" /* Group */]) {\n orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"r\" /* Left */] ? (start = viewBounds.y2, end = viewBounds.y1)\n : orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"w\" /* Right */] ? (start = viewBounds.y1, end = viewBounds.y2)\n : (start = viewBounds.x1, end = viewBounds.x2);\n } else if (orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"r\" /* Left */]) {\n start = height, end = 0;\n }\n\n pos = (anchor === __WEBPACK_IMPORTED_MODULE_0__constants__[\"C\" /* Start */]) ? start\n : (anchor === __WEBPACK_IMPORTED_MODULE_0__constants__[\"k\" /* End */]) ? end\n : (start + end) / 2;\n\n tempBounds.clear().union(bounds);\n\n // position title text\n switch (orient) {\n case __WEBPACK_IMPORTED_MODULE_0__constants__[\"F\" /* Top */]:\n x = pos;\n y = viewBounds.y1 - offset;\n break;\n case __WEBPACK_IMPORTED_MODULE_0__constants__[\"r\" /* Left */]:\n x = viewBounds.x1 - offset;\n y = pos;\n break;\n case __WEBPACK_IMPORTED_MODULE_0__constants__[\"w\" /* Right */]:\n x = viewBounds.x2 + offset;\n y = pos;\n break;\n case __WEBPACK_IMPORTED_MODULE_0__constants__[\"c\" /* Bottom */]:\n x = pos;\n y = viewBounds.y2 + offset;\n break;\n default:\n x = item.x;\n y = item.y;\n }\n\n bounds.translate(x - item.x, y - item.y);\n if (set(item, 'x', x) | set(item, 'y', y)) {\n item.bounds = tempBounds;\n view.dirty(item);\n item.bounds = bounds;\n view.dirty(item);\n }\n\n // update bounds\n return title.bounds.clear().union(bounds);\n}\n\nfunction legendPreprocess(view, legends) {\n return legends.reduce(function(w, legend) {\n var item = legend.items[0];\n\n // adjust entry to accommodate padding and title\n legendGroupLayout(view, item, item.items[0].items[0]);\n\n if (item.datum.orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"r\" /* Left */]) {\n var b = tempBounds.clear();\n item.items.forEach(function(_) { b.union(_.bounds); });\n w = Math.max(w, Math.ceil(b.width() + 2 * item.padding - 1));\n }\n\n return w;\n }, 0);\n}\n\nfunction legendGroupLayout(view, item, entry) {\n var x = item.padding - entry.x,\n y = item.padding - entry.y;\n\n if (item.datum.title) {\n var title = item.items[1].items[0];\n y += item.titlePadding + title.fontSize;\n }\n\n if (x || y) {\n entry.x += x;\n entry.y += y;\n entry.bounds.translate(x, y);\n entry.mark.bounds.translate(x, y);\n view.dirty(entry);\n }\n}\n\nfunction legendLayout(view, legend, flow, xBounds, yBounds, width, height) {\n var item = legend.items[0],\n datum = item.datum,\n orient = datum.orient,\n offset = item.offset,\n bounds = item.bounds,\n x = 0,\n y = 0,\n w, h, axisBounds;\n\n if (orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"F\" /* Top */] || orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"c\" /* Bottom */]) {\n axisBounds = yBounds,\n x = flow[orient];\n } else if (orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"r\" /* Left */] || orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"w\" /* Right */]) {\n axisBounds = xBounds;\n y = flow[orient];\n }\n\n tempBounds.clear().union(bounds);\n bounds.clear();\n\n // aggregate bounds to determine size\n // shave off 1 pixel because it looks better...\n item.items.forEach(function(_) { bounds.union(_.bounds); });\n w = Math.ceil(bounds.width() + 2 * item.padding - 1);\n h = Math.ceil(bounds.height() + 2 * item.padding - 1);\n\n if (datum.type === __WEBPACK_IMPORTED_MODULE_0__constants__[\"D\" /* Symbols */]) {\n legendEntryLayout(item.items[0].items[0].items[0].items);\n }\n\n switch (orient) {\n case __WEBPACK_IMPORTED_MODULE_0__constants__[\"r\" /* Left */]:\n x -= flow.leftWidth + offset - Math.floor(axisBounds.x1);\n flow.left += h + flow.margin;\n break;\n case __WEBPACK_IMPORTED_MODULE_0__constants__[\"w\" /* Right */]:\n x += offset + Math.ceil(axisBounds.x2);\n flow.right += h + flow.margin;\n break;\n case __WEBPACK_IMPORTED_MODULE_0__constants__[\"F\" /* Top */]:\n y -= h + offset - Math.floor(axisBounds.y1);\n flow.top += w + flow.margin;\n break;\n case __WEBPACK_IMPORTED_MODULE_0__constants__[\"c\" /* Bottom */]:\n y += offset + Math.ceil(axisBounds.y2);\n flow.bottom += w + flow.margin;\n break;\n case __WEBPACK_IMPORTED_MODULE_0__constants__[\"G\" /* TopLeft */]:\n x += offset;\n y += offset;\n break;\n case __WEBPACK_IMPORTED_MODULE_0__constants__[\"H\" /* TopRight */]:\n x += width - w - offset;\n y += offset;\n break;\n case __WEBPACK_IMPORTED_MODULE_0__constants__[\"d\" /* BottomLeft */]:\n x += offset;\n y += height - h - offset;\n break;\n case __WEBPACK_IMPORTED_MODULE_0__constants__[\"e\" /* BottomRight */]:\n x += width - w - offset;\n y += height - h - offset;\n break;\n default:\n x = item.x;\n y = item.y;\n }\n\n // update bounds\n Object(__WEBPACK_IMPORTED_MODULE_3_vega_scenegraph__[\"t\" /* boundStroke */])(bounds.set(x, y, x + w, y + h), item);\n\n // update legend layout\n if (set(item, 'x', x) | set(item, 'width', w) |\n set(item, 'y', y) | set(item, 'height', h)) {\n item.bounds = tempBounds;\n view.dirty(item);\n item.bounds = bounds;\n view.dirty(item);\n }\n\n return item.mark.bounds.clear().union(bounds);\n}\n\nfunction legendEntryLayout(entries) {\n // get max widths for each column\n var widths = entries.reduce(function(w, g) {\n w[g.column] = Math.max(g.bounds.x2 - g.x, w[g.column] || 0);\n return w;\n }, {});\n\n // set dimensions of legend entry groups\n entries.forEach(function(g) {\n g.width = widths[g.column];\n g.height = g.bounds.y2 - g.y;\n });\n}\n\nfunction viewSizeLayout(view, group, viewBounds, _) {\n var auto = _.autosize || {},\n type = auto.type,\n viewWidth = view._width,\n viewHeight = view._height,\n padding = view.padding();\n\n if (view._autosize < 1 || !type) return;\n\n var width = Math.max(0, group.width || 0),\n left = Math.max(0, Math.ceil(-viewBounds.x1)),\n right = Math.max(0, Math.ceil(viewBounds.x2 - width)),\n height = Math.max(0, group.height || 0),\n top = Math.max(0, Math.ceil(-viewBounds.y1)),\n bottom = Math.max(0, Math.ceil(viewBounds.y2 - height));\n\n if (auto.contains === __WEBPACK_IMPORTED_MODULE_0__constants__[\"v\" /* Padding */]) {\n viewWidth -= padding.left + padding.right;\n viewHeight -= padding.top + padding.bottom;\n }\n\n if (type === __WEBPACK_IMPORTED_MODULE_0__constants__[\"t\" /* None */]) {\n left = 0;\n top = 0;\n width = viewWidth;\n height = viewHeight;\n }\n\n else if (type === __WEBPACK_IMPORTED_MODULE_0__constants__[\"l\" /* Fit */]) {\n width = Math.max(0, viewWidth - left - right);\n height = Math.max(0, viewHeight - top - bottom);\n }\n\n else if (type === __WEBPACK_IMPORTED_MODULE_0__constants__[\"m\" /* FitX */]) {\n width = Math.max(0, viewWidth - left - right);\n viewHeight = height + top + bottom;\n }\n\n else if (type === __WEBPACK_IMPORTED_MODULE_0__constants__[\"n\" /* FitY */]) {\n viewWidth = width + left + right;\n height = Math.max(0, viewHeight - top - bottom);\n }\n\n else if (type === __WEBPACK_IMPORTED_MODULE_0__constants__[\"u\" /* Pad */]) {\n viewWidth = width + left + right;\n viewHeight = height + top + bottom;\n }\n\n view._resizeView(\n viewWidth, viewHeight,\n width, height,\n [left, top],\n auto.resize\n );\n}\n\n\n/***/ }),\n/* 639 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = gridLayout;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constants__ = __webpack_require__(69);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_scenegraph__ = __webpack_require__(20);\n\n\n\n\nfunction extractGroups(group) {\n var groups = group.items,\n n = groups.length,\n i = 0, mark, items;\n\n var views = {\n marks: [],\n rowheaders: [],\n rowfooters: [],\n colheaders: [],\n colfooters: [],\n rowtitle: null,\n coltitle: null\n };\n\n // layout axes, gather legends, collect bounds\n for (; i<n; ++i) {\n mark = groups[i];\n items = mark.items;\n if (mark.marktype === __WEBPACK_IMPORTED_MODULE_0__constants__[\"q\" /* Group */]) {\n switch (mark.role) {\n case __WEBPACK_IMPORTED_MODULE_0__constants__[\"b\" /* AxisRole */]:\n case __WEBPACK_IMPORTED_MODULE_0__constants__[\"s\" /* LegendRole */]:\n break;\n case __WEBPACK_IMPORTED_MODULE_0__constants__[\"z\" /* RowHeader */]: addAll(items, views.rowheaders); break;\n case __WEBPACK_IMPORTED_MODULE_0__constants__[\"y\" /* RowFooter */]: addAll(items, views.rowfooters); break;\n case __WEBPACK_IMPORTED_MODULE_0__constants__[\"g\" /* ColHeader */]: addAll(items, views.colheaders); break;\n case __WEBPACK_IMPORTED_MODULE_0__constants__[\"f\" /* ColFooter */]: addAll(items, views.colfooters); break;\n case __WEBPACK_IMPORTED_MODULE_0__constants__[\"A\" /* RowTitle */]: views.rowtitle = items[0]; break;\n case __WEBPACK_IMPORTED_MODULE_0__constants__[\"h\" /* ColTitle */]: views.coltitle = items[0]; break;\n default: addAll(items, views.marks);\n }\n }\n }\n\n return views;\n}\n\nfunction addAll(items, array) {\n for (var i=0, n=items.length; i<n; ++i) {\n array.push(items[i]);\n }\n}\n\nfunction bboxFlush(item) {\n return {x1: 0, y1: 0, x2: item.width || 0, y2: item.height || 0};\n}\n\nfunction bboxFull(item) {\n var b = item.bounds.clone();\n return b.empty()\n ? b.set(0, 0, 0, 0)\n : b.translate(-(item.x||0), -(item.y||0));\n}\n\nfunction boundFlush(item, field) {\n return field === 'x1' ? (item.x || 0)\n : field === 'y1' ? (item.y || 0)\n : field === 'x2' ? (item.x || 0) + (item.width || 0)\n : field === 'y2' ? (item.y || 0) + (item.height || 0)\n : undefined;\n}\n\nfunction boundFull(item, field) {\n return item.bounds[field];\n}\n\nfunction get(opt, key, d) {\n var v = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"A\" /* isObject */])(opt) ? opt[key] : opt;\n return v != null ? v : (d !== undefined ? d : 0);\n}\n\nfunction offsetValue(v) {\n return v < 0 ? Math.ceil(-v) : 0;\n}\n\nfunction gridLayout(view, group, opt) {\n var views = extractGroups(group, opt),\n groups = views.marks,\n flush = opt.bounds === __WEBPACK_IMPORTED_MODULE_0__constants__[\"o\" /* Flush */],\n bbox = flush ? bboxFlush : bboxFull,\n bounds = new __WEBPACK_IMPORTED_MODULE_2_vega_scenegraph__[\"a\" /* Bounds */](0, 0, 0, 0),\n alignCol = get(opt.align, __WEBPACK_IMPORTED_MODULE_0__constants__[\"i\" /* Column */]),\n alignRow = get(opt.align, __WEBPACK_IMPORTED_MODULE_0__constants__[\"x\" /* Row */]),\n padCol = get(opt.padding, __WEBPACK_IMPORTED_MODULE_0__constants__[\"i\" /* Column */]),\n padRow = get(opt.padding, __WEBPACK_IMPORTED_MODULE_0__constants__[\"x\" /* Row */]),\n off = opt.offset,\n ncols = group.columns || opt.columns || groups.length,\n nrows = ncols < 0 ? 1 : Math.ceil(groups.length / ncols),\n cells = nrows * ncols,\n xOffset = [], xExtent = [], xMax = 0, xInit = 0,\n yOffset = [], yExtent = [], yMax = 0, yInit = 0,\n n = groups.length,\n m, i, c, r, b, g, px, py, x, y, band, offset;\n\n for (i=0; i<ncols; ++i) {\n xExtent[i] = 0;\n }\n for (i=0; i<nrows; ++i) {\n yExtent[i] = 0;\n }\n\n // determine offsets for each group\n for (i=0; i<n; ++i) {\n b = bbox(groups[i]);\n c = i % ncols;\n r = ~~(i / ncols);\n px = Math.ceil(bbox(groups[i]).x2);\n py = Math.ceil(bbox(groups[i]).y2);\n xMax = Math.max(xMax, px);\n yMax = Math.max(yMax, py);\n xExtent[c] = Math.max(xExtent[c], px);\n yExtent[r] = Math.max(yExtent[r], py);\n xOffset.push(padCol + offsetValue(b.x1));\n yOffset.push(padRow + offsetValue(b.y1));\n view.dirty(groups[i]);\n }\n\n // set initial alignment offsets\n for (i=0; i<n; ++i) {\n if (i % ncols === 0) xOffset[i] = xInit;\n if (i < ncols) yOffset[i] = yInit;\n }\n\n // enforce column alignment constraints\n if (alignCol === __WEBPACK_IMPORTED_MODULE_0__constants__[\"j\" /* Each */]) {\n for (c=1; c<ncols; ++c) {\n for (offset=0, i=c; i<n; i += ncols) {\n if (offset < xOffset[i]) offset = xOffset[i];\n }\n for (i=c; i<n; i += ncols) {\n xOffset[i] = offset + xExtent[c-1];\n }\n }\n } else if (alignCol === __WEBPACK_IMPORTED_MODULE_0__constants__[\"a\" /* All */]) {\n for (offset=0, i=0; i<n; ++i) {\n if (i % ncols && offset < xOffset[i]) offset = xOffset[i];\n }\n for (i=0; i<n; ++i) {\n if (i % ncols) xOffset[i] = offset + xMax;\n }\n } else {\n for (alignCol=false, c=1; c<ncols; ++c) {\n for (i=c; i<n; i += ncols) {\n xOffset[i] += xExtent[c-1];\n }\n }\n }\n\n // enforce row alignment constraints\n if (alignRow === __WEBPACK_IMPORTED_MODULE_0__constants__[\"j\" /* Each */]) {\n for (r=1; r<nrows; ++r) {\n for (offset=0, i=r*ncols, m=i+ncols; i<m; ++i) {\n if (offset < yOffset[i]) offset = yOffset[i];\n }\n for (i=r*ncols; i<m; ++i) {\n yOffset[i] = offset + yExtent[r-1];\n }\n }\n } else if (alignRow === __WEBPACK_IMPORTED_MODULE_0__constants__[\"a\" /* All */]) {\n for (offset=0, i=ncols; i<n; ++i) {\n if (offset < yOffset[i]) offset = yOffset[i];\n }\n for (i=ncols; i<n; ++i) {\n yOffset[i] = offset + yMax;\n }\n } else {\n for (alignRow=false, r=1; r<nrows; ++r) {\n for (i=r*ncols, m=i+ncols; i<m; ++i) {\n yOffset[i] += yExtent[r-1];\n }\n }\n }\n\n // perform horizontal grid layout\n for (x=0, i=0; i<n; ++i) {\n g = groups[i];\n px = g.x || 0;\n g.x = (x = xOffset[i] + (i % ncols ? x : 0));\n g.bounds.translate(x - px, 0);\n }\n\n // perform vertical grid layout\n for (c=0; c<ncols; ++c) {\n for (y=0, i=c; i<n; i += ncols) {\n g = groups[i];\n py = g.y || 0;\n g.y = (y += yOffset[i]);\n g.bounds.translate(0, y - py);\n }\n }\n\n // perform horizontal centering\n if (get(opt.center, __WEBPACK_IMPORTED_MODULE_0__constants__[\"i\" /* Column */]) && nrows > 1 && alignCol) {\n for (i=0; i<n; ++i) {\n g = groups[i];\n b = alignCol === __WEBPACK_IMPORTED_MODULE_0__constants__[\"a\" /* All */] ? xMax : xExtent[i % ncols];\n x = b - bbox(g).x2;\n if (x > 0) {\n g.x += (px = x / 2);\n g.bounds.translate(px, 0);\n }\n }\n }\n\n // perform vertical centering\n if (get(opt.center, __WEBPACK_IMPORTED_MODULE_0__constants__[\"x\" /* Row */]) && ncols !== 1 && alignRow) {\n for (i=0; i<n; ++i) {\n g = groups[i];\n b = alignRow === __WEBPACK_IMPORTED_MODULE_0__constants__[\"a\" /* All */] ? yMax : yExtent[~~(i / ncols)];\n y = b - bbox(g).y2;\n if (y > 0) {\n g.y += (py = y / 2);\n g.bounds.translate(0, py);\n }\n }\n }\n\n // update mark bounds, mark dirty\n for (i=0; i<n; ++i) groups[i].mark.bounds.clear();\n for (i=0; i<n; ++i) {\n g = groups[i];\n view.dirty(g);\n bounds.union(g.mark.bounds.union(g.bounds));\n }\n\n // -- layout grid headers and footers --\n\n // aggregation functions for grid margin determination\n function min(a, b) { return Math.floor(Math.min(a, b)); }\n function max(a, b) { return Math.ceil(Math.max(a, b)); }\n\n // bounding box calculation methods\n bbox = flush ? boundFlush : boundFull;\n\n // perform row header layout\n band = get(opt.headerBand, __WEBPACK_IMPORTED_MODULE_0__constants__[\"x\" /* Row */], null);\n x = layoutHeaders(view, views.rowheaders, groups, ncols, nrows, -get(off, 'rowHeader'), min, 0, bbox, 'x1', 0, ncols, 1, band);\n\n // perform column header layout\n band = get(opt.headerBand, __WEBPACK_IMPORTED_MODULE_0__constants__[\"i\" /* Column */], null);\n y = layoutHeaders(view, views.colheaders, groups, ncols, ncols, -get(off, 'columnHeader'), min, 1, bbox, 'y1', 0, 1, ncols, band);\n\n // perform row footer layout\n band = get(opt.footerBand, __WEBPACK_IMPORTED_MODULE_0__constants__[\"x\" /* Row */], null);\n layoutHeaders( view, views.rowfooters, groups, ncols, nrows, get(off, 'rowFooter'), max, 0, bbox, 'x2', ncols-1, ncols, 1, band);\n\n // perform column footer layout\n band = get(opt.footerBand, __WEBPACK_IMPORTED_MODULE_0__constants__[\"i\" /* Column */], null);\n layoutHeaders( view, views.colfooters, groups, ncols, ncols, get(off, 'columnFooter'), max, 1, bbox, 'y2', cells-ncols, 1, ncols, band);\n\n // perform row title layout\n if (views.rowtitle) {\n offset = x - get(off, 'rowTitle');\n band = get(opt.titleBand, __WEBPACK_IMPORTED_MODULE_0__constants__[\"x\" /* Row */], 0.5);\n layoutTitle(view, views.rowtitle, offset, 0, bounds, band);\n }\n\n // perform column title layout\n if (views.coltitle) {\n offset = y - get(off, 'columnTitle');\n band = get(opt.titleBand, __WEBPACK_IMPORTED_MODULE_0__constants__[\"i\" /* Column */], 0.5);\n layoutTitle(view, views.coltitle, offset, 1, bounds, band);\n }\n}\n\nfunction layoutHeaders(view, headers, groups, ncols, limit, offset, agg, isX, bound, bf, start, stride, back, band) {\n var n = groups.length,\n init = 0,\n edge = 0,\n i, j, k, m, b, h, g, x, y;\n\n // if no groups, early exit and return 0\n if (!n) return init;\n\n // compute margin\n for (i=start; i<n; i+=stride) {\n if (groups[i]) init = agg(init, bound(groups[i], bf));\n }\n\n // if no headers, return margin calculation\n if (!headers.length) return init;\n\n // check if number of headers exceeds number of rows or columns\n if (headers.length > limit) {\n view.warn('Grid headers exceed limit: ' + limit);\n headers = headers.slice(0, limit);\n }\n\n // apply offset\n init += offset;\n\n // clear mark bounds for all headers\n for (j=0, m=headers.length; j<m; ++j) {\n view.dirty(headers[j]);\n headers[j].mark.bounds.clear();\n }\n\n // layout each header\n for (i=start, j=0, m=headers.length; j<m; ++j, i+=stride) {\n h = headers[j];\n b = h.mark.bounds;\n\n // search for nearest group to align to\n // necessary if table has empty cells\n for (k=i; k >= 0 && (g = groups[k]) == null; k-=back);\n\n // assign coordinates and update bounds\n if (isX) {\n x = band == null ? g.x : Math.round(g.bounds.x1 + band * g.bounds.width());\n y = init;\n } else {\n x = init;\n y = band == null ? g.y : Math.round(g.bounds.y1 + band * g.bounds.height());\n }\n b.union(h.bounds.translate(x - (h.x || 0), y - (h.y || 0)));\n h.x = x;\n h.y = y;\n view.dirty(h);\n\n // update current edge of layout bounds\n edge = agg(edge, b[bf]);\n }\n\n return edge;\n}\n\nfunction layoutTitle(view, g, offset, isX, bounds, band) {\n if (!g) return;\n view.dirty(g);\n\n // compute title coordinates\n var x = offset, y = offset;\n isX\n ? (x = Math.round(bounds.x1 + band * bounds.width()))\n : (y = Math.round(bounds.y1 + band * bounds.height()));\n\n // assign coordinates and update bounds\n g.bounds.translate(x - (g.x || 0), y - (g.y || 0));\n g.mark.bounds.clear().union(g.bounds);\n g.x = x;\n g.y = y;\n\n // queue title for redraw\n view.dirty(g);\n}\n\n\n/***/ }),\n/* 640 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_AxisTicks__ = __webpack_require__(641);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"axisticks\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_AxisTicks__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_DataJoin__ = __webpack_require__(732);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"datajoin\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_DataJoin__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_Encode__ = __webpack_require__(733);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"encode\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_Encode__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_LegendEntries__ = __webpack_require__(734);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"legendentries\", function() { return __WEBPACK_IMPORTED_MODULE_3__src_LegendEntries__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__src_LinkPath__ = __webpack_require__(736);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"linkpath\", function() { return __WEBPACK_IMPORTED_MODULE_4__src_LinkPath__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__src_Pie__ = __webpack_require__(737);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"pie\", function() { return __WEBPACK_IMPORTED_MODULE_5__src_Pie__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__src_Scale__ = __webpack_require__(738);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"scale\", function() { return __WEBPACK_IMPORTED_MODULE_6__src_Scale__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__src_SortItems__ = __webpack_require__(739);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"sortitems\", function() { return __WEBPACK_IMPORTED_MODULE_7__src_SortItems__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__src_Stack__ = __webpack_require__(740);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"stack\", function() { return __WEBPACK_IMPORTED_MODULE_8__src_Stack__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__src_ticks__ = __webpack_require__(74);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"validTicks\", function() { return __WEBPACK_IMPORTED_MODULE_9__src_ticks__[\"d\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 641 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = AxisTicks;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ticks__ = __webpack_require__(74);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n\n\n\n\n/**\n * Generates axis ticks for visualizing a spatial scale.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {Scale} params.scale - The scale to generate ticks for.\n * @param {*} [params.count=10] - The approximate number of ticks, or\n * desired tick interval, to use.\n * @param {Array<*>} [params.values] - The exact tick values to use.\n * These must be legal domain values for the provided scale.\n * If provided, the count argument is ignored.\n * @param {function(*):string} [params.formatSpecifier] - A format specifier\n * to use in conjunction with scale.tickFormat. Legal values are\n * any valid d3 4.0 format specifier.\n * @param {function(*):string} [params.format] - The format function to use.\n * If provided, the formatSpecifier argument is ignored.\n */\nfunction AxisTicks(params) {\n __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n}\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"u\" /* inherits */])(AxisTicks, __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n if (this.value && !_.modified()) {\n return pulse.StopPropagation;\n }\n\n var out = pulse.fork(pulse.NO_SOURCE | pulse.NO_FIELDS),\n ticks = this.value,\n scale = _.scale,\n count = _.count == null ? (_.values ? _.values.length : 10) : Object(__WEBPACK_IMPORTED_MODULE_0__ticks__[\"a\" /* tickCount */])(scale, _.count),\n format = _.format || Object(__WEBPACK_IMPORTED_MODULE_0__ticks__[\"b\" /* tickFormat */])(scale, count, _.formatSpecifier),\n values = _.values ? Object(__WEBPACK_IMPORTED_MODULE_0__ticks__[\"d\" /* validTicks */])(scale, _.values, count) : Object(__WEBPACK_IMPORTED_MODULE_0__ticks__[\"c\" /* tickValues */])(scale, count);\n\n if (ticks) out.rem = ticks;\n\n ticks = values.map(function(value, i) {\n return Object(__WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"k\" /* ingest */])({\n index: i / (values.length - 1),\n value: value,\n label: format(value)\n });\n });\n\n if (_.extra && ticks.length) {\n // add an extra tick pegged to the initial domain value\n // this is used to generate axes with 'binned' domains\n ticks.push(Object(__WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"k\" /* ingest */])({\n index: -1,\n extra: {value: ticks[0].value},\n label: ''\n }));\n }\n\n out.source = ticks;\n out.add = ticks;\n this.value = ticks;\n\n return out;\n};\n\n\n/***/ }),\n/* 642 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = scale;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__invertRange__ = __webpack_require__(643);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__invertRangeExtent__ = __webpack_require__(644);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__scaleBand__ = __webpack_require__(645);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__scaleBin__ = __webpack_require__(685);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__scaleSequential__ = __webpack_require__(686);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_d3_scale__ = __webpack_require__(75);\n\n\n\n\n\n\n\n\n/**\n * Augment scales with their type and needed inverse methods.\n */\nfunction create(type, constructor) {\n return function scale() {\n var s = constructor();\n\n if (!s.invertRange) {\n s.invertRange = s.invert ? Object(__WEBPACK_IMPORTED_MODULE_0__invertRange__[\"a\" /* default */])(s)\n : s.invertExtent ? Object(__WEBPACK_IMPORTED_MODULE_1__invertRangeExtent__[\"a\" /* default */])(s)\n : undefined;\n }\n\n s.type = type;\n return s;\n };\n}\n\nfunction scale(type, scale) {\n if (arguments.length > 1) {\n scales[type] = create(type, scale);\n return this;\n } else {\n return scales.hasOwnProperty(type) ? scales[type] : undefined;\n }\n}\n\nvar scales = {\n // base scale types\n identity: __WEBPACK_IMPORTED_MODULE_5_d3_scale__[\"a\" /* scaleIdentity */],\n linear: __WEBPACK_IMPORTED_MODULE_5_d3_scale__[\"c\" /* scaleLinear */],\n log: __WEBPACK_IMPORTED_MODULE_5_d3_scale__[\"d\" /* scaleLog */],\n ordinal: __WEBPACK_IMPORTED_MODULE_5_d3_scale__[\"e\" /* scaleOrdinal */],\n pow: __WEBPACK_IMPORTED_MODULE_5_d3_scale__[\"f\" /* scalePow */],\n sqrt: __WEBPACK_IMPORTED_MODULE_5_d3_scale__[\"i\" /* scaleSqrt */],\n quantile: __WEBPACK_IMPORTED_MODULE_5_d3_scale__[\"g\" /* scaleQuantile */],\n quantize: __WEBPACK_IMPORTED_MODULE_5_d3_scale__[\"h\" /* scaleQuantize */],\n threshold: __WEBPACK_IMPORTED_MODULE_5_d3_scale__[\"j\" /* scaleThreshold */],\n time: __WEBPACK_IMPORTED_MODULE_5_d3_scale__[\"k\" /* scaleTime */],\n utc: __WEBPACK_IMPORTED_MODULE_5_d3_scale__[\"l\" /* scaleUtc */],\n\n // extended scale types\n band: __WEBPACK_IMPORTED_MODULE_2__scaleBand__[\"a\" /* band */],\n point: __WEBPACK_IMPORTED_MODULE_2__scaleBand__[\"b\" /* point */],\n sequential: __WEBPACK_IMPORTED_MODULE_4__scaleSequential__[\"a\" /* default */],\n 'bin-linear': __WEBPACK_IMPORTED_MODULE_3__scaleBin__[\"a\" /* binLinear */],\n 'bin-ordinal': __WEBPACK_IMPORTED_MODULE_3__scaleBin__[\"b\" /* binOrdinal */]\n};\n\nfor (var key in scales) {\n scale(key, scales[key]);\n}\n\n\n/***/ }),\n/* 643 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(scale) {\n return function(_) {\n var lo = _[0],\n hi = _[1],\n t;\n\n if (hi < lo) {\n t = lo;\n lo = hi;\n hi = t;\n }\n\n return [\n scale.invert(lo),\n scale.invert(hi)\n ];\n }\n});\n\n\n/***/ }),\n/* 644 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(scale) {\n return function(_) {\n var range = scale.range(),\n lo = _[0],\n hi = _[1],\n min = -1, max, t, i, n;\n\n if (hi < lo) {\n t = lo;\n lo = hi;\n hi = t;\n }\n\n for (i=0, n=range.length; i<n; ++i) {\n if (range[i] >= lo && range[i] <= hi) {\n if (min < 0) min = i;\n max = i;\n }\n }\n\n if (min < 0) return undefined;\n\n lo = scale.invertExtent(range[min]);\n hi = scale.invertExtent(range[max]);\n\n return [\n lo[0] === undefined ? lo[1] : lo[0],\n hi[1] === undefined ? hi[0] : hi[1]\n ];\n }\n});\n\n\n/***/ }),\n/* 645 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = band;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = point;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__bandSpace__ = __webpack_require__(298);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_d3_array__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_d3_scale__ = __webpack_require__(75);\n\n\n\n\nfunction band() {\n var scale = Object(__WEBPACK_IMPORTED_MODULE_2_d3_scale__[\"e\" /* scaleOrdinal */])().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 space = Object(__WEBPACK_IMPORTED_MODULE_0__bandSpace__[\"a\" /* default */])(n, paddingInner, paddingOuter);\n\n step = (stop - start) / (space || 1);\n if (round) {\n step = Math.floor(step);\n }\n start += (stop - start - step * (n - paddingInner)) * align;\n bandwidth = step * (1 - paddingInner);\n if (round) {\n start = Math.round(start);\n bandwidth = Math.round(bandwidth);\n }\n var values = Object(__WEBPACK_IMPORTED_MODULE_1_d3_array__[\"n\" /* range */])(n).map(function(i) { return start + step * i; });\n return ordinalRange(reverse ? values.reverse() : values);\n }\n\n scale.domain = function(_) {\n if (arguments.length) {\n domain(_);\n return rescale();\n } else {\n return domain();\n }\n };\n\n scale.range = function(_) {\n if (arguments.length) {\n range = [+_[0], +_[1]];\n return rescale();\n } else {\n return range.slice();\n }\n };\n\n scale.rangeRound = function(_) {\n range = [+_[0], +_[1]];\n round = true;\n return 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 if (arguments.length) {\n round = !!_;\n return rescale();\n } else {\n return round;\n }\n };\n\n scale.padding = function(_) {\n if (arguments.length) {\n paddingOuter = Math.max(0, Math.min(1, _));\n paddingInner = paddingOuter;\n return rescale();\n } else {\n return paddingInner;\n }\n };\n\n scale.paddingInner = function(_) {\n if (arguments.length) {\n paddingInner = Math.max(0, Math.min(1, _));\n return rescale();\n } else {\n return paddingInner;\n }\n };\n\n scale.paddingOuter = function(_) {\n if (arguments.length) {\n paddingOuter = Math.max(0, Math.min(1, _));\n return rescale();\n } else {\n return paddingOuter;\n }\n };\n\n scale.align = function(_) {\n if (arguments.length) {\n align = Math.max(0, Math.min(1, _));\n return rescale();\n } else {\n return align;\n }\n };\n\n scale.invertRange = function(_) {\n // bail if range has null or undefined values\n if (_[0] == null || _[1] == null) return;\n\n var lo = +_[0],\n hi = +_[1],\n reverse = range[1] < range[0],\n values = reverse ? ordinalRange().reverse() : ordinalRange(),\n n = values.length - 1, a, b, t;\n\n // bail if either range endpoint is invalid\n if (lo !== lo || hi !== hi) return;\n\n // order range inputs, bail if outside of scale range\n if (hi < lo) {\n t = lo;\n lo = hi;\n hi = t;\n }\n if (hi < values[0] || lo > range[1-reverse]) return;\n\n // binary search to index into scale range\n a = Math.max(0, Object(__WEBPACK_IMPORTED_MODULE_1_d3_array__[\"d\" /* bisectRight */])(values, lo) - 1);\n b = lo===hi ? a : Object(__WEBPACK_IMPORTED_MODULE_1_d3_array__[\"d\" /* bisectRight */])(values, hi) - 1;\n\n // increment index a if lo is within padding gap\n if (lo - values[a] > bandwidth + 1e-10) ++a;\n\n if (reverse) {\n // map + swap\n t = a;\n a = n - b;\n b = n - t;\n }\n return (a > b) ? undefined : domain().slice(a, b+1);\n };\n\n scale.invert = function(_) {\n var value = scale.invertRange([_, _]);\n return value ? value[0] : value;\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\n scale.copy = function() {\n return pointish(copy());\n };\n\n return scale;\n}\n\nfunction point() {\n return pointish(band().paddingInner(1));\n}\n\n\n/***/ }),\n/* 646 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export default */\n/* unused harmony export point */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ordinal__ = __webpack_require__(299);\n\n\n\nfunction band() {\n var scale = Object(__WEBPACK_IMPORTED_MODULE_1__ordinal__[\"a\" /* default */])().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 = Object(__WEBPACK_IMPORTED_MODULE_0_d3_array__[\"n\" /* range */])(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\nfunction point() {\n return pointish(band().paddingInner(1));\n}\n\n\n/***/ }),\n/* 647 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__map__ = __webpack_require__(170);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (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 = Object(__WEBPACK_IMPORTED_MODULE_0__map__[\"a\" /* default */])(),\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 Object(__WEBPACK_IMPORTED_MODULE_0__map__[\"a\" /* default */])();\n}\n\nfunction setMap(map, key, value) {\n map.set(key, value);\n}\n\n\n/***/ }),\n/* 648 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__map__ = __webpack_require__(170);\n\n\nfunction Set() {}\n\nvar proto = __WEBPACK_IMPORTED_MODULE_0__map__[\"a\" /* default */].prototype;\n\nSet.prototype = set.prototype = {\n constructor: Set,\n has: proto.has,\n add: function(value) {\n value += \"\";\n this[__WEBPACK_IMPORTED_MODULE_0__map__[\"b\" /* 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\n/* unused harmony default export */ var _unused_webpack_default_export = (set);\n\n\n/***/ }),\n/* 649 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony default export */ var _unused_webpack_default_export = (function(map) {\n var keys = [];\n for (var key in map) keys.push(key);\n return keys;\n});\n\n\n/***/ }),\n/* 650 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony default export */ var _unused_webpack_default_export = (function(map) {\n var values = [];\n for (var key in map) values.push(map[key]);\n return values;\n});\n\n\n/***/ }),\n/* 651 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony default export */ var _unused_webpack_default_export = (function(map) {\n var entries = [];\n for (var key in map) entries.push({key: key, value: map[key]});\n return entries;\n});\n\n\n/***/ }),\n/* 652 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = identity;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__array__ = __webpack_require__(53);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__linear__ = __webpack_require__(57);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__number__ = __webpack_require__(308);\n\n\n\n\nfunction 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 = __WEBPACK_IMPORTED_MODULE_0__array__[\"a\" /* map */].call(_, __WEBPACK_IMPORTED_MODULE_2__number__[\"a\" /* default */]), scale) : domain.slice();\n };\n\n scale.copy = function() {\n return identity().domain(domain);\n };\n\n return Object(__WEBPACK_IMPORTED_MODULE_1__linear__[\"b\" /* linearish */])(scale);\n}\n\n\n/***/ }),\n/* 653 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export gray */\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = lab;\n/* unused harmony export Lab */\n/* unused harmony export lch */\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = hcl;\n/* unused harmony export Hcl */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__define__ = __webpack_require__(173);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__color__ = __webpack_require__(172);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__math__ = __webpack_require__(300);\n\n\n\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 * __WEBPACK_IMPORTED_MODULE_2__math__[\"a\" /* deg2rad */];\n return new Lab(o.l, Math.cos(h) * o.c, Math.sin(h) * o.c, o.opacity);\n }\n if (!(o instanceof __WEBPACK_IMPORTED_MODULE_1__color__[\"b\" /* Rgb */])) o = Object(__WEBPACK_IMPORTED_MODULE_1__color__[\"h\" /* 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\nfunction gray(l, opacity) {\n return new Lab(l, 0, 0, opacity == null ? 1 : opacity);\n}\n\nfunction lab(l, a, b, opacity) {\n return arguments.length === 1 ? labConvert(l) : new Lab(l, a, b, opacity == null ? 1 : opacity);\n}\n\nfunction Lab(l, a, b, opacity) {\n this.l = +l;\n this.a = +a;\n this.b = +b;\n this.opacity = +opacity;\n}\n\nObject(__WEBPACK_IMPORTED_MODULE_0__define__[\"a\" /* default */])(Lab, lab, Object(__WEBPACK_IMPORTED_MODULE_0__define__[\"b\" /* extend */])(__WEBPACK_IMPORTED_MODULE_1__color__[\"a\" /* 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 __WEBPACK_IMPORTED_MODULE_1__color__[\"b\" /* 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) * __WEBPACK_IMPORTED_MODULE_2__math__[\"b\" /* 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\nfunction lch(l, c, h, opacity) {\n return arguments.length === 1 ? hclConvert(l) : new Hcl(h, c, l, opacity == null ? 1 : opacity);\n}\n\nfunction hcl(h, c, l, opacity) {\n return arguments.length === 1 ? hclConvert(h) : new Hcl(h, c, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hcl(h, c, l, opacity) {\n this.h = +h;\n this.c = +c;\n this.l = +l;\n this.opacity = +opacity;\n}\n\nObject(__WEBPACK_IMPORTED_MODULE_0__define__[\"a\" /* default */])(Hcl, hcl, Object(__WEBPACK_IMPORTED_MODULE_0__define__[\"b\" /* extend */])(__WEBPACK_IMPORTED_MODULE_1__color__[\"a\" /* 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\n\n/***/ }),\n/* 654 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = cubehelix;\n/* unused harmony export Cubehelix */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__define__ = __webpack_require__(173);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__color__ = __webpack_require__(172);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__math__ = __webpack_require__(300);\n\n\n\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 __WEBPACK_IMPORTED_MODULE_1__color__[\"b\" /* Rgb */])) o = Object(__WEBPACK_IMPORTED_MODULE_1__color__[\"h\" /* 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) * __WEBPACK_IMPORTED_MODULE_2__math__[\"b\" /* rad2deg */] - 120 : NaN;\n return new Cubehelix(h < 0 ? h + 360 : h, s, l, o.opacity);\n}\n\nfunction cubehelix(h, s, l, opacity) {\n return arguments.length === 1 ? cubehelixConvert(h) : new Cubehelix(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Cubehelix(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\nObject(__WEBPACK_IMPORTED_MODULE_0__define__[\"a\" /* default */])(Cubehelix, cubehelix, Object(__WEBPACK_IMPORTED_MODULE_0__define__[\"b\" /* extend */])(__WEBPACK_IMPORTED_MODULE_1__color__[\"a\" /* Color */], {\n brighter: function(k) {\n k = k == null ? __WEBPACK_IMPORTED_MODULE_1__color__[\"c\" /* brighter */] : Math.pow(__WEBPACK_IMPORTED_MODULE_1__color__[\"c\" /* brighter */], k);\n return new Cubehelix(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? __WEBPACK_IMPORTED_MODULE_1__color__[\"d\" /* darker */] : Math.pow(__WEBPACK_IMPORTED_MODULE_1__color__[\"d\" /* 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) * __WEBPACK_IMPORTED_MODULE_2__math__[\"a\" /* 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 __WEBPACK_IMPORTED_MODULE_1__color__[\"b\" /* 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\n\n/***/ }),\n/* 655 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(a, b) {\n return a = +a, b -= a, function(t) {\n return Math.round(a + b * t);\n };\n});\n\n\n/***/ }),\n/* 656 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return interpolateTransformCss; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return interpolateTransformSvg; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__number__ = __webpack_require__(110);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__parse__ = __webpack_require__(657);\n\n\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: Object(__WEBPACK_IMPORTED_MODULE_0__number__[\"a\" /* default */])(xa, xb)}, {i: i - 2, x: Object(__WEBPACK_IMPORTED_MODULE_0__number__[\"a\" /* default */])(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: Object(__WEBPACK_IMPORTED_MODULE_0__number__[\"a\" /* default */])(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: Object(__WEBPACK_IMPORTED_MODULE_0__number__[\"a\" /* default */])(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: Object(__WEBPACK_IMPORTED_MODULE_0__number__[\"a\" /* default */])(xa, xb)}, {i: i - 2, x: Object(__WEBPACK_IMPORTED_MODULE_0__number__[\"a\" /* default */])(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\nvar interpolateTransformCss = interpolateTransform(__WEBPACK_IMPORTED_MODULE_1__parse__[\"a\" /* parseCss */], \"px, \", \"px)\", \"deg)\");\nvar interpolateTransformSvg = interpolateTransform(__WEBPACK_IMPORTED_MODULE_1__parse__[\"b\" /* parseSvg */], \", \", \")\", \")\");\n\n\n/***/ }),\n/* 657 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = parseCss;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = parseSvg;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__decompose__ = __webpack_require__(658);\n\n\nvar cssNode,\n cssRoot,\n cssView,\n svgNode;\n\nfunction parseCss(value) {\n if (value === \"none\") return __WEBPACK_IMPORTED_MODULE_0__decompose__[\"b\" /* 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 Object(__WEBPACK_IMPORTED_MODULE_0__decompose__[\"a\" /* default */])(+value[0], +value[1], +value[2], +value[3], +value[4], +value[5]);\n}\n\nfunction parseSvg(value) {\n if (value == null) return __WEBPACK_IMPORTED_MODULE_0__decompose__[\"b\" /* 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 __WEBPACK_IMPORTED_MODULE_0__decompose__[\"b\" /* identity */];\n value = value.matrix;\n return Object(__WEBPACK_IMPORTED_MODULE_0__decompose__[\"a\" /* default */])(value.a, value.b, value.c, value.d, value.e, value.f);\n}\n\n\n/***/ }),\n/* 658 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return identity; });\nvar degrees = 180 / Math.PI;\n\nvar identity = {\n translateX: 0,\n translateY: 0,\n rotate: 0,\n skewX: 0,\n scaleX: 1,\n scaleY: 1\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 659 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar 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]\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 660 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return hslLong; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(33);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__color__ = __webpack_require__(76);\n\n\n\nfunction hsl(hue) {\n return function(start, end) {\n var h = hue((start = Object(__WEBPACK_IMPORTED_MODULE_0_d3_color__[\"d\" /* hsl */])(start)).h, (end = Object(__WEBPACK_IMPORTED_MODULE_0_d3_color__[\"d\" /* hsl */])(end)).h),\n s = Object(__WEBPACK_IMPORTED_MODULE_1__color__[\"a\" /* default */])(start.s, end.s),\n l = Object(__WEBPACK_IMPORTED_MODULE_1__color__[\"a\" /* default */])(start.l, end.l),\n opacity = Object(__WEBPACK_IMPORTED_MODULE_1__color__[\"a\" /* default */])(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\n/* harmony default export */ __webpack_exports__[\"a\"] = (hsl(__WEBPACK_IMPORTED_MODULE_1__color__[\"c\" /* hue */]));\nvar hslLong = hsl(__WEBPACK_IMPORTED_MODULE_1__color__[\"a\" /* default */]);\n\n\n/***/ }),\n/* 661 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = lab;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(33);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__color__ = __webpack_require__(76);\n\n\n\nfunction lab(start, end) {\n var l = Object(__WEBPACK_IMPORTED_MODULE_1__color__[\"a\" /* default */])((start = Object(__WEBPACK_IMPORTED_MODULE_0_d3_color__[\"e\" /* lab */])(start)).l, (end = Object(__WEBPACK_IMPORTED_MODULE_0_d3_color__[\"e\" /* lab */])(end)).l),\n a = Object(__WEBPACK_IMPORTED_MODULE_1__color__[\"a\" /* default */])(start.a, end.a),\n b = Object(__WEBPACK_IMPORTED_MODULE_1__color__[\"a\" /* default */])(start.b, end.b),\n opacity = Object(__WEBPACK_IMPORTED_MODULE_1__color__[\"a\" /* default */])(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\n\n/***/ }),\n/* 662 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return hclLong; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(33);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__color__ = __webpack_require__(76);\n\n\n\nfunction hcl(hue) {\n return function(start, end) {\n var h = hue((start = Object(__WEBPACK_IMPORTED_MODULE_0_d3_color__[\"c\" /* hcl */])(start)).h, (end = Object(__WEBPACK_IMPORTED_MODULE_0_d3_color__[\"c\" /* hcl */])(end)).h),\n c = Object(__WEBPACK_IMPORTED_MODULE_1__color__[\"a\" /* default */])(start.c, end.c),\n l = Object(__WEBPACK_IMPORTED_MODULE_1__color__[\"a\" /* default */])(start.l, end.l),\n opacity = Object(__WEBPACK_IMPORTED_MODULE_1__color__[\"a\" /* default */])(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\n/* harmony default export */ __webpack_exports__[\"a\"] = (hcl(__WEBPACK_IMPORTED_MODULE_1__color__[\"c\" /* hue */]));\nvar hclLong = hcl(__WEBPACK_IMPORTED_MODULE_1__color__[\"a\" /* default */]);\n\n\n/***/ }),\n/* 663 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return cubehelixLong; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(33);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__color__ = __webpack_require__(76);\n\n\n\nfunction cubehelix(hue) {\n return (function cubehelixGamma(y) {\n y = +y;\n\n function cubehelix(start, end) {\n var h = hue((start = Object(__WEBPACK_IMPORTED_MODULE_0_d3_color__[\"b\" /* cubehelix */])(start)).h, (end = Object(__WEBPACK_IMPORTED_MODULE_0_d3_color__[\"b\" /* cubehelix */])(end)).h),\n s = Object(__WEBPACK_IMPORTED_MODULE_1__color__[\"a\" /* default */])(start.s, end.s),\n l = Object(__WEBPACK_IMPORTED_MODULE_1__color__[\"a\" /* default */])(start.l, end.l),\n opacity = Object(__WEBPACK_IMPORTED_MODULE_1__color__[\"a\" /* default */])(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\n/* harmony default export */ __webpack_exports__[\"b\"] = (cubehelix(__WEBPACK_IMPORTED_MODULE_1__color__[\"c\" /* hue */]));\nvar cubehelixLong = cubehelix(__WEBPACK_IMPORTED_MODULE_1__color__[\"a\" /* default */]);\n\n\n/***/ }),\n/* 664 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = piecewise;\nfunction 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\n\n/***/ }),\n/* 665 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 666 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_d3_format__ = __webpack_require__(77);\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(domain, count, specifier) {\n var start = domain[0],\n stop = domain[domain.length - 1],\n step = Object(__WEBPACK_IMPORTED_MODULE_0_d3_array__[\"r\" /* tickStep */])(start, stop, count == null ? 10 : count),\n precision;\n specifier = Object(__WEBPACK_IMPORTED_MODULE_1_d3_format__[\"d\" /* 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 = Object(__WEBPACK_IMPORTED_MODULE_1_d3_format__[\"f\" /* precisionPrefix */])(step, value))) specifier.precision = precision;\n return Object(__WEBPACK_IMPORTED_MODULE_1_d3_format__[\"c\" /* 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 = Object(__WEBPACK_IMPORTED_MODULE_1_d3_format__[\"g\" /* 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 = Object(__WEBPACK_IMPORTED_MODULE_1_d3_format__[\"e\" /* precisionFixed */])(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return Object(__WEBPACK_IMPORTED_MODULE_1_d3_format__[\"a\" /* format */])(specifier);\n});\n\n\n/***/ }),\n/* 667 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return format; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return formatPrefix; });\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = defaultLocale;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__locale__ = __webpack_require__(309);\n\n\nvar locale;\nvar format;\nvar formatPrefix;\n\ndefaultLocale({\n decimal: \".\",\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\n\nfunction defaultLocale(definition) {\n locale = Object(__WEBPACK_IMPORTED_MODULE_0__locale__[\"a\" /* default */])(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n\n\n/***/ }),\n/* 668 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 669 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n});\n\n\n/***/ }),\n/* 670 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 671 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__formatPrefixAuto__ = __webpack_require__(311);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__formatRounded__ = __webpack_require__(672);\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\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 Object(__WEBPACK_IMPORTED_MODULE_1__formatRounded__[\"a\" /* default */])(x * 100, p); },\n \"r\": __WEBPACK_IMPORTED_MODULE_1__formatRounded__[\"a\" /* default */],\n \"s\": __WEBPACK_IMPORTED_MODULE_0__formatPrefixAuto__[\"a\" /* default */],\n \"X\": function(x) { return Math.round(x).toString(16).toUpperCase(); },\n \"x\": function(x) { return Math.round(x).toString(16); }\n});\n\n\n/***/ }),\n/* 672 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__formatDecimal__ = __webpack_require__(176);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(x, p) {\n var d = Object(__WEBPACK_IMPORTED_MODULE_0__formatDecimal__[\"a\" /* default */])(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\n\n/***/ }),\n/* 673 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(x) {\n return x;\n});\n\n\n/***/ }),\n/* 674 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__exponent__ = __webpack_require__(112);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(step) {\n return Math.max(0, -Object(__WEBPACK_IMPORTED_MODULE_0__exponent__[\"a\" /* default */])(Math.abs(step)));\n});\n\n\n/***/ }),\n/* 675 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__exponent__ = __webpack_require__(112);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(Object(__WEBPACK_IMPORTED_MODULE_0__exponent__[\"a\" /* default */])(value) / 3))) * 3 - Object(__WEBPACK_IMPORTED_MODULE_0__exponent__[\"a\" /* default */])(Math.abs(step)));\n});\n\n\n/***/ }),\n/* 676 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__exponent__ = __webpack_require__(112);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, Object(__WEBPACK_IMPORTED_MODULE_0__exponent__[\"a\" /* default */])(max) - Object(__WEBPACK_IMPORTED_MODULE_0__exponent__[\"a\" /* default */])(step)) + 1;\n});\n\n\n/***/ }),\n/* 677 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = log;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_d3_format__ = __webpack_require__(77);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constant__ = __webpack_require__(175);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__nice__ = __webpack_require__(312);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__continuous__ = __webpack_require__(111);\n\n\n\n\n\n\nfunction deinterpolate(a, b) {\n return (b = Math.log(b / a))\n ? function(x) { return Math.log(x / a) / b; }\n : Object(__WEBPACK_IMPORTED_MODULE_2__constant__[\"a\" /* default */])(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\nfunction log() {\n var scale = Object(__WEBPACK_IMPORTED_MODULE_4__continuous__[\"b\" /* default */])(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 = Object(__WEBPACK_IMPORTED_MODULE_0_d3_array__[\"s\" /* 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 = Object(__WEBPACK_IMPORTED_MODULE_1_d3_format__[\"a\" /* 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(Object(__WEBPACK_IMPORTED_MODULE_3__nice__[\"a\" /* default */])(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 Object(__WEBPACK_IMPORTED_MODULE_4__continuous__[\"a\" /* copy */])(scale, log().base(base));\n };\n\n return scale;\n}\n\n\n/***/ }),\n/* 678 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = pow;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = sqrt;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constant__ = __webpack_require__(175);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__linear__ = __webpack_require__(57);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__continuous__ = __webpack_require__(111);\n\n\n\n\nfunction raise(x, exponent) {\n return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent);\n}\n\nfunction pow() {\n var exponent = 1,\n scale = Object(__WEBPACK_IMPORTED_MODULE_2__continuous__[\"b\" /* default */])(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 : Object(__WEBPACK_IMPORTED_MODULE_0__constant__[\"a\" /* default */])(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 Object(__WEBPACK_IMPORTED_MODULE_2__continuous__[\"a\" /* copy */])(scale, pow().exponent(exponent));\n };\n\n return Object(__WEBPACK_IMPORTED_MODULE_1__linear__[\"b\" /* linearish */])(scale);\n}\n\nfunction sqrt() {\n return pow().exponent(0.5);\n}\n\n\n/***/ }),\n/* 679 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = quantile;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__array__ = __webpack_require__(53);\n\n\n\nfunction 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] = Object(__WEBPACK_IMPORTED_MODULE_0_d3_array__[\"m\" /* quantile */])(domain, i / n);\n return scale;\n }\n\n function scale(x) {\n if (!isNaN(x = +x)) return range[Object(__WEBPACK_IMPORTED_MODULE_0_d3_array__[\"b\" /* 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(__WEBPACK_IMPORTED_MODULE_0_d3_array__[\"a\" /* ascending */]);\n return rescale();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = __WEBPACK_IMPORTED_MODULE_1__array__[\"b\" /* 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\n\n/***/ }),\n/* 680 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = quantize;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__array__ = __webpack_require__(53);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__linear__ = __webpack_require__(57);\n\n\n\n\nfunction 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[Object(__WEBPACK_IMPORTED_MODULE_0_d3_array__[\"b\" /* 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 = __WEBPACK_IMPORTED_MODULE_1__array__[\"b\" /* 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 Object(__WEBPACK_IMPORTED_MODULE_2__linear__[\"b\" /* linearish */])(scale);\n}\n\n\n/***/ }),\n/* 681 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = threshold;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__array__ = __webpack_require__(53);\n\n\n\nfunction threshold() {\n var domain = [0.5],\n range = [0, 1],\n n = 1;\n\n function scale(x) {\n if (x <= x) return range[Object(__WEBPACK_IMPORTED_MODULE_0_d3_array__[\"b\" /* bisect */])(domain, x, 0, n)];\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain = __WEBPACK_IMPORTED_MODULE_1__array__[\"b\" /* slice */].call(_), n = Math.min(domain.length, range.length - 1), scale) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = __WEBPACK_IMPORTED_MODULE_1__array__[\"b\" /* 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\n\n/***/ }),\n/* 682 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__time__ = __webpack_require__(313);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_d3_time_format__ = __webpack_require__(66);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_d3_time__ = __webpack_require__(95);\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n return Object(__WEBPACK_IMPORTED_MODULE_0__time__[\"a\" /* calendar */])(__WEBPACK_IMPORTED_MODULE_2_d3_time__[\"v\" /* utcYear */], __WEBPACK_IMPORTED_MODULE_2_d3_time__[\"q\" /* utcMonth */], __WEBPACK_IMPORTED_MODULE_2_d3_time__[\"u\" /* utcWeek */], __WEBPACK_IMPORTED_MODULE_2_d3_time__[\"l\" /* utcDay */], __WEBPACK_IMPORTED_MODULE_2_d3_time__[\"m\" /* utcHour */], __WEBPACK_IMPORTED_MODULE_2_d3_time__[\"o\" /* utcMinute */], __WEBPACK_IMPORTED_MODULE_2_d3_time__[\"r\" /* utcSecond */], __WEBPACK_IMPORTED_MODULE_2_d3_time__[\"n\" /* utcMillisecond */], __WEBPACK_IMPORTED_MODULE_1_d3_time_format__[\"d\" /* utcFormat */]).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]);\n});\n\n\n/***/ }),\n/* 683 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export default */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__linear__ = __webpack_require__(57);\n\n\nfunction 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 Object(__WEBPACK_IMPORTED_MODULE_0__linear__[\"b\" /* linearish */])(scale);\n}\n\n\n/***/ }),\n/* 684 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export default */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__linear__ = __webpack_require__(57);\n\n\nfunction 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 Object(__WEBPACK_IMPORTED_MODULE_0__linear__[\"b\" /* linearish */])(scale);\n}\n\n\n/***/ }),\n/* 685 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = binLinear;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = binOrdinal;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_d3_scale__ = __webpack_require__(75);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n\n\n\n\nvar map = Array.prototype.map,\n slice = Array.prototype.slice;\n\nfunction numbers(_) {\n return map.call(_, function(x) { return +x; });\n}\n\nfunction binLinear() {\n var linear = Object(__WEBPACK_IMPORTED_MODULE_1_d3_scale__[\"c\" /* scaleLinear */])(),\n domain = [];\n\n function scale(x) {\n return linear(x);\n }\n\n function setDomain(_) {\n domain = numbers(_);\n linear.domain([domain[0], Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"L\" /* peek */])(domain)]);\n }\n\n scale.domain = function(_) {\n return arguments.length ? (setDomain(_), scale) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (linear.range(_), scale) : linear.range();\n };\n\n scale.rangeRound = function(_) {\n return arguments.length ? (linear.rangeRound(_), scale) : linear.rangeRound();\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (linear.interpolate(_), scale) : linear.interpolate();\n };\n\n scale.invert = function(_) {\n return linear.invert(_);\n };\n\n scale.ticks = function(count) {\n var n = domain.length,\n stride = ~~(n / (count || n));\n\n return stride < 2\n ? scale.domain()\n : domain.filter(function(x, i) { return !(i % stride); });\n };\n\n scale.tickFormat = function() {\n return linear.tickFormat.apply(linear, arguments);\n };\n\n scale.copy = function() {\n return binLinear().domain(scale.domain()).range(scale.range());\n };\n\n return scale;\n}\n\nfunction binOrdinal() {\n var domain = [],\n range = [];\n\n function scale(x) {\n return x == null || x !== x\n ? undefined\n : range[(Object(__WEBPACK_IMPORTED_MODULE_0_d3_array__[\"b\" /* bisect */])(domain, x) - 1) % range.length];\n }\n\n scale.domain = function(_) {\n if (arguments.length) {\n domain = numbers(_);\n return scale;\n } else {\n return domain.slice();\n }\n };\n\n scale.range = function(_) {\n if (arguments.length) {\n range = slice.call(_);\n return scale;\n } else {\n return range.slice();\n }\n };\n\n scale.copy = function() {\n return binOrdinal().domain(scale.domain()).range(scale.range());\n };\n\n return scale;\n}\n\n\n/***/ }),\n/* 686 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = sequential;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_d3_scale__ = __webpack_require__(75);\n\n\n\nfunction sequential(interpolator) {\n var linear = Object(__WEBPACK_IMPORTED_MODULE_1_d3_scale__[\"c\" /* scaleLinear */])(),\n x0 = 0,\n dx = 1,\n clamp = false;\n\n function update() {\n var domain = linear.domain();\n x0 = domain[0];\n dx = Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"L\" /* peek */])(domain) - x0;\n }\n\n function scale(x) {\n var t = (x - x0) / dx;\n return interpolator(clamp ? Math.max(0, Math.min(1, t)) : t);\n }\n\n scale.clamp = function(_) {\n if (arguments.length) {\n clamp = !!_;\n return scale;\n } else {\n return clamp;\n }\n };\n\n scale.domain = function(_) {\n return arguments.length ? (linear.domain(_), update(), scale) : linear.domain();\n };\n\n scale.interpolator = function(_) {\n if (arguments.length) {\n interpolator = _;\n return scale;\n } else {\n return interpolator;\n }\n };\n\n scale.copy = function() {\n return sequential().domain(linear.domain()).clamp(clamp).interpolator(interpolator);\n };\n\n scale.ticks = function(count) {\n return linear.ticks(count);\n };\n\n scale.tickFormat = function(count, specifier) {\n return linear.tickFormat(count, specifier);\n };\n\n scale.nice = function(count) {\n return linear.nice(count), update(), scale;\n };\n\n return scale;\n}\n\n\n/***/ }),\n/* 687 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = interpolateRange;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = scaleFraction;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = interpolate;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_d3_interpolate__ = __webpack_require__(38);\n\n\n\nfunction interpolateRange(interpolator, range) {\n var start = range[0],\n span = Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"L\" /* peek */])(range) - start;\n return function(i) { return interpolator(start + i * span); };\n}\n\nfunction scaleFraction(scale, min, max) {\n var delta = max - min;\n return !delta ? Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"k\" /* constant */])(0)\n : scale.type === 'linear' || scale.type === 'sequential'\n ? function(_) { return (_ - min) / delta; }\n : scale.copy().domain([min, max]).range([0, 1]).interpolate(lerp);\n}\n\nfunction lerp(a, b) {\n var span = b - a;\n return function(i) { return a + i * span; }\n}\n\nfunction interpolate(type, gamma) {\n var interp = __WEBPACK_IMPORTED_MODULE_1_d3_interpolate__[method(type)];\n return (gamma != null && interp && interp.gamma)\n ? interp.gamma(gamma)\n : interp;\n}\n\nfunction method(type) {\n return 'interpolate' + type.toLowerCase()\n .split('-')\n .map(function(s) { return s[0].toUpperCase() + s.slice(1); })\n .join('');\n}\n\n\n/***/ }),\n/* 688 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = scheme;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = schemeDiscretized;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__palettes__ = __webpack_require__(689);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_d3_scale_chromatic__ = __webpack_require__(690);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_d3_interpolate__ = __webpack_require__(38);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vega_util__ = __webpack_require__(0);\n\n\n\n\n\nvar discretized = {\n blueorange: __WEBPACK_IMPORTED_MODULE_0__palettes__[\"a\" /* blueOrange */]\n};\n\nvar schemes = {\n // d3 categorical palettes\n category10: __WEBPACK_IMPORTED_MODULE_1_d3_scale_chromatic__[\"schemeCategory10\"],\n accent: __WEBPACK_IMPORTED_MODULE_1_d3_scale_chromatic__[\"schemeAccent\"],\n dark2: __WEBPACK_IMPORTED_MODULE_1_d3_scale_chromatic__[\"schemeDark2\"],\n paired: __WEBPACK_IMPORTED_MODULE_1_d3_scale_chromatic__[\"schemePaired\"],\n pastel1: __WEBPACK_IMPORTED_MODULE_1_d3_scale_chromatic__[\"schemePastel1\"],\n pastel2: __WEBPACK_IMPORTED_MODULE_1_d3_scale_chromatic__[\"schemePastel2\"],\n set1: __WEBPACK_IMPORTED_MODULE_1_d3_scale_chromatic__[\"schemeSet1\"],\n set2: __WEBPACK_IMPORTED_MODULE_1_d3_scale_chromatic__[\"schemeSet2\"],\n set3: __WEBPACK_IMPORTED_MODULE_1_d3_scale_chromatic__[\"schemeSet3\"],\n\n // additional categorical palettes\n category20: __WEBPACK_IMPORTED_MODULE_0__palettes__[\"b\" /* category20 */],\n category20b: __WEBPACK_IMPORTED_MODULE_0__palettes__[\"c\" /* category20b */],\n category20c: __WEBPACK_IMPORTED_MODULE_0__palettes__[\"d\" /* category20c */],\n tableau10: __WEBPACK_IMPORTED_MODULE_0__palettes__[\"e\" /* tableau10 */],\n tableau20: __WEBPACK_IMPORTED_MODULE_0__palettes__[\"f\" /* tableau20 */],\n\n // sequential multi-hue interpolators\n viridis: __WEBPACK_IMPORTED_MODULE_1_d3_scale_chromatic__[\"interpolateViridis\"],\n magma: __WEBPACK_IMPORTED_MODULE_1_d3_scale_chromatic__[\"interpolateMagma\"],\n inferno: __WEBPACK_IMPORTED_MODULE_1_d3_scale_chromatic__[\"interpolateInferno\"],\n plasma: __WEBPACK_IMPORTED_MODULE_1_d3_scale_chromatic__[\"interpolatePlasma\"],\n\n // cyclic interpolators\n rainbow: __WEBPACK_IMPORTED_MODULE_1_d3_scale_chromatic__[\"interpolateRainbow\"],\n sinebow: __WEBPACK_IMPORTED_MODULE_1_d3_scale_chromatic__[\"interpolateSinebow\"],\n\n // extended interpolators\n blueorange: Object(__WEBPACK_IMPORTED_MODULE_2_d3_interpolate__[\"interpolateRgbBasis\"])(Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"L\" /* peek */])(__WEBPACK_IMPORTED_MODULE_0__palettes__[\"a\" /* blueOrange */]))\n};\n\nfunction add(name, suffix) {\n schemes[name] = __WEBPACK_IMPORTED_MODULE_1_d3_scale_chromatic__['interpolate' + suffix];\n discretized[name] = __WEBPACK_IMPORTED_MODULE_1_d3_scale_chromatic__['scheme' + suffix];\n}\n\n// sequential single-hue\nadd('blues', 'Blues');\nadd('greens', 'Greens');\nadd('greys', 'Greys');\nadd('purples', 'Purples');\nadd('reds', 'Reds');\nadd('oranges', 'Oranges');\n\n// diverging\nadd('brownbluegreen', 'BrBG');\nadd('purplegreen', 'PRGn');\nadd('pinkyellowgreen', 'PiYG');\nadd('purpleorange', 'PuOr');\nadd('redblue', 'RdBu');\nadd('redgrey', 'RdGy');\nadd('redyellowblue', 'RdYlBu');\nadd('redyellowgreen', 'RdYlGn');\nadd('spectral', 'Spectral');\n\n// sequential multi-hue\nadd('bluegreen', 'BuGn');\nadd('bluepurple', 'BuPu');\nadd('greenblue', 'GnBu');\nadd('orangered', 'OrRd');\nadd('purplebluegreen', 'PuBuGn');\nadd('purpleblue', 'PuBu');\nadd('purplered', 'PuRd');\nadd('redpurple', 'RdPu');\nadd('yellowgreenblue', 'YlGnBu');\nadd('yellowgreen', 'YlGn');\nadd('yelloworangebrown', 'YlOrBr');\nadd('yelloworangered', 'YlOrRd');\n\nfunction scheme(name, scheme) {\n if (arguments.length > 1) {\n schemes[name] = scheme;\n return this;\n }\n\n var part = name.split('-');\n name = part[0];\n part = +part[1] + 1;\n\n return part && discretized.hasOwnProperty(name) ? discretized[name][part-1]\n : !part && schemes.hasOwnProperty(name) ? schemes[name]\n : undefined;\n}\n\nfunction schemeDiscretized(name, schemeArray, interpolator) {\n if (arguments.length > 1) {\n discretized[name] = schemeArray;\n schemes[name] = interpolator || Object(__WEBPACK_IMPORTED_MODULE_2_d3_interpolate__[\"interpolateRgbBasis\"])(Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"L\" /* peek */])(schemeArray));\n return this;\n }\n\n return discretized.hasOwnProperty(name)\n ? discretized[name]\n : undefined;\n}\n\n\n/***/ }),\n/* 689 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return category20; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return category20b; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return category20c; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return tableau10; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return tableau20; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return blueOrange; });\nfunction colors(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\nvar category20 = colors(\n '1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5'\n);\n\nvar category20b = colors(\n '393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6'\n);\n\nvar category20c = colors(\n '3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9'\n);\n\nvar tableau10 = colors(\n '4c78a8f58518e4575672b7b254a24beeca3bb279a2ff9da69d755dbab0ac'\n);\n\nvar tableau20 = colors(\n '4c78a89ecae9f58518ffbf7954a24b88d27ab79a20f2cf5b43989483bcb6e45756ff9d9879706ebab0acd67195fcbfd2b279a2d6a5c99e765fd8b5a5'\n);\n\nvar blueOrange = new Array(3).concat(\n \"67a9cff7f7f7f1a340\",\n \"0571b092c5defdb863e66101\",\n \"0571b092c5def7f7f7fdb863e66101\",\n \"2166ac67a9cfd1e5f0fee0b6f1a340b35806\",\n \"2166ac67a9cfd1e5f0f7f7f7fee0b6f1a340b35806\",\n \"2166ac4393c392c5ded1e5f0fee0b6fdb863e08214b35806\",\n \"2166ac4393c392c5ded1e5f0f7f7f7fee0b6fdb863e08214b35806\",\n \"0530612166ac4393c392c5ded1e5f0fee0b6fdb863e08214b358067f3b08\",\n \"0530612166ac4393c392c5ded1e5f0f7f7f7fee0b6fdb863e08214b358067f3b08\"\n).map(colors);\n\n\n/***/ }),\n/* 690 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_categorical_category10__ = __webpack_require__(691);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemeCategory10\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_categorical_category10__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_categorical_Accent__ = __webpack_require__(692);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemeAccent\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_categorical_Accent__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_categorical_Dark2__ = __webpack_require__(693);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemeDark2\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_categorical_Dark2__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_categorical_Paired__ = __webpack_require__(694);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemePaired\", function() { return __WEBPACK_IMPORTED_MODULE_3__src_categorical_Paired__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__src_categorical_Pastel1__ = __webpack_require__(695);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemePastel1\", function() { return __WEBPACK_IMPORTED_MODULE_4__src_categorical_Pastel1__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__src_categorical_Pastel2__ = __webpack_require__(696);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemePastel2\", function() { return __WEBPACK_IMPORTED_MODULE_5__src_categorical_Pastel2__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__src_categorical_Set1__ = __webpack_require__(697);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemeSet1\", function() { return __WEBPACK_IMPORTED_MODULE_6__src_categorical_Set1__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__src_categorical_Set2__ = __webpack_require__(698);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemeSet2\", function() { return __WEBPACK_IMPORTED_MODULE_7__src_categorical_Set2__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__src_categorical_Set3__ = __webpack_require__(699);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemeSet3\", function() { return __WEBPACK_IMPORTED_MODULE_8__src_categorical_Set3__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__src_diverging_BrBG__ = __webpack_require__(700);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateBrBG\", function() { return __WEBPACK_IMPORTED_MODULE_9__src_diverging_BrBG__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemeBrBG\", function() { return __WEBPACK_IMPORTED_MODULE_9__src_diverging_BrBG__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__src_diverging_PRGn__ = __webpack_require__(701);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolatePRGn\", function() { return __WEBPACK_IMPORTED_MODULE_10__src_diverging_PRGn__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemePRGn\", function() { return __WEBPACK_IMPORTED_MODULE_10__src_diverging_PRGn__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__src_diverging_PiYG__ = __webpack_require__(702);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolatePiYG\", function() { return __WEBPACK_IMPORTED_MODULE_11__src_diverging_PiYG__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemePiYG\", function() { return __WEBPACK_IMPORTED_MODULE_11__src_diverging_PiYG__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__src_diverging_PuOr__ = __webpack_require__(703);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolatePuOr\", function() { return __WEBPACK_IMPORTED_MODULE_12__src_diverging_PuOr__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemePuOr\", function() { return __WEBPACK_IMPORTED_MODULE_12__src_diverging_PuOr__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__src_diverging_RdBu__ = __webpack_require__(704);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateRdBu\", function() { return __WEBPACK_IMPORTED_MODULE_13__src_diverging_RdBu__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemeRdBu\", function() { return __WEBPACK_IMPORTED_MODULE_13__src_diverging_RdBu__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__src_diverging_RdGy__ = __webpack_require__(705);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateRdGy\", function() { return __WEBPACK_IMPORTED_MODULE_14__src_diverging_RdGy__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemeRdGy\", function() { return __WEBPACK_IMPORTED_MODULE_14__src_diverging_RdGy__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__src_diverging_RdYlBu__ = __webpack_require__(706);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateRdYlBu\", function() { return __WEBPACK_IMPORTED_MODULE_15__src_diverging_RdYlBu__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemeRdYlBu\", function() { return __WEBPACK_IMPORTED_MODULE_15__src_diverging_RdYlBu__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__src_diverging_RdYlGn__ = __webpack_require__(707);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateRdYlGn\", function() { return __WEBPACK_IMPORTED_MODULE_16__src_diverging_RdYlGn__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemeRdYlGn\", function() { return __WEBPACK_IMPORTED_MODULE_16__src_diverging_RdYlGn__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__src_diverging_Spectral__ = __webpack_require__(708);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateSpectral\", function() { return __WEBPACK_IMPORTED_MODULE_17__src_diverging_Spectral__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemeSpectral\", function() { return __WEBPACK_IMPORTED_MODULE_17__src_diverging_Spectral__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__src_sequential_multi_BuGn__ = __webpack_require__(709);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateBuGn\", function() { return __WEBPACK_IMPORTED_MODULE_18__src_sequential_multi_BuGn__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemeBuGn\", function() { return __WEBPACK_IMPORTED_MODULE_18__src_sequential_multi_BuGn__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__src_sequential_multi_BuPu__ = __webpack_require__(710);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateBuPu\", function() { return __WEBPACK_IMPORTED_MODULE_19__src_sequential_multi_BuPu__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemeBuPu\", function() { return __WEBPACK_IMPORTED_MODULE_19__src_sequential_multi_BuPu__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__src_sequential_multi_GnBu__ = __webpack_require__(711);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateGnBu\", function() { return __WEBPACK_IMPORTED_MODULE_20__src_sequential_multi_GnBu__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemeGnBu\", function() { return __WEBPACK_IMPORTED_MODULE_20__src_sequential_multi_GnBu__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__src_sequential_multi_OrRd__ = __webpack_require__(712);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateOrRd\", function() { return __WEBPACK_IMPORTED_MODULE_21__src_sequential_multi_OrRd__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemeOrRd\", function() { return __WEBPACK_IMPORTED_MODULE_21__src_sequential_multi_OrRd__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__src_sequential_multi_PuBuGn__ = __webpack_require__(713);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolatePuBuGn\", function() { return __WEBPACK_IMPORTED_MODULE_22__src_sequential_multi_PuBuGn__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemePuBuGn\", function() { return __WEBPACK_IMPORTED_MODULE_22__src_sequential_multi_PuBuGn__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__src_sequential_multi_PuBu__ = __webpack_require__(714);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolatePuBu\", function() { return __WEBPACK_IMPORTED_MODULE_23__src_sequential_multi_PuBu__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemePuBu\", function() { return __WEBPACK_IMPORTED_MODULE_23__src_sequential_multi_PuBu__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__src_sequential_multi_PuRd__ = __webpack_require__(715);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolatePuRd\", function() { return __WEBPACK_IMPORTED_MODULE_24__src_sequential_multi_PuRd__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemePuRd\", function() { return __WEBPACK_IMPORTED_MODULE_24__src_sequential_multi_PuRd__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__src_sequential_multi_RdPu__ = __webpack_require__(716);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateRdPu\", function() { return __WEBPACK_IMPORTED_MODULE_25__src_sequential_multi_RdPu__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemeRdPu\", function() { return __WEBPACK_IMPORTED_MODULE_25__src_sequential_multi_RdPu__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_26__src_sequential_multi_YlGnBu__ = __webpack_require__(717);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateYlGnBu\", function() { return __WEBPACK_IMPORTED_MODULE_26__src_sequential_multi_YlGnBu__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemeYlGnBu\", function() { return __WEBPACK_IMPORTED_MODULE_26__src_sequential_multi_YlGnBu__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_27__src_sequential_multi_YlGn__ = __webpack_require__(718);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateYlGn\", function() { return __WEBPACK_IMPORTED_MODULE_27__src_sequential_multi_YlGn__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemeYlGn\", function() { return __WEBPACK_IMPORTED_MODULE_27__src_sequential_multi_YlGn__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_28__src_sequential_multi_YlOrBr__ = __webpack_require__(719);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateYlOrBr\", function() { return __WEBPACK_IMPORTED_MODULE_28__src_sequential_multi_YlOrBr__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemeYlOrBr\", function() { return __WEBPACK_IMPORTED_MODULE_28__src_sequential_multi_YlOrBr__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_29__src_sequential_multi_YlOrRd__ = __webpack_require__(720);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateYlOrRd\", function() { return __WEBPACK_IMPORTED_MODULE_29__src_sequential_multi_YlOrRd__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemeYlOrRd\", function() { return __WEBPACK_IMPORTED_MODULE_29__src_sequential_multi_YlOrRd__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_30__src_sequential_single_Blues__ = __webpack_require__(721);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateBlues\", function() { return __WEBPACK_IMPORTED_MODULE_30__src_sequential_single_Blues__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemeBlues\", function() { return __WEBPACK_IMPORTED_MODULE_30__src_sequential_single_Blues__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_31__src_sequential_single_Greens__ = __webpack_require__(722);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateGreens\", function() { return __WEBPACK_IMPORTED_MODULE_31__src_sequential_single_Greens__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemeGreens\", function() { return __WEBPACK_IMPORTED_MODULE_31__src_sequential_single_Greens__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_32__src_sequential_single_Greys__ = __webpack_require__(723);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateGreys\", function() { return __WEBPACK_IMPORTED_MODULE_32__src_sequential_single_Greys__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemeGreys\", function() { return __WEBPACK_IMPORTED_MODULE_32__src_sequential_single_Greys__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_33__src_sequential_single_Purples__ = __webpack_require__(724);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolatePurples\", function() { return __WEBPACK_IMPORTED_MODULE_33__src_sequential_single_Purples__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemePurples\", function() { return __WEBPACK_IMPORTED_MODULE_33__src_sequential_single_Purples__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_34__src_sequential_single_Reds__ = __webpack_require__(725);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateReds\", function() { return __WEBPACK_IMPORTED_MODULE_34__src_sequential_single_Reds__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemeReds\", function() { return __WEBPACK_IMPORTED_MODULE_34__src_sequential_single_Reds__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_35__src_sequential_single_Oranges__ = __webpack_require__(726);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateOranges\", function() { return __WEBPACK_IMPORTED_MODULE_35__src_sequential_single_Oranges__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"schemeOranges\", function() { return __WEBPACK_IMPORTED_MODULE_35__src_sequential_single_Oranges__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_36__src_sequential_multi_cubehelix__ = __webpack_require__(727);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateCubehelixDefault\", function() { return __WEBPACK_IMPORTED_MODULE_36__src_sequential_multi_cubehelix__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_37__src_sequential_multi_rainbow__ = __webpack_require__(728);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateRainbow\", function() { return __WEBPACK_IMPORTED_MODULE_37__src_sequential_multi_rainbow__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateWarm\", function() { return __WEBPACK_IMPORTED_MODULE_37__src_sequential_multi_rainbow__[\"c\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateCool\", function() { return __WEBPACK_IMPORTED_MODULE_37__src_sequential_multi_rainbow__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_38__src_sequential_multi_sinebow__ = __webpack_require__(729);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateSinebow\", function() { return __WEBPACK_IMPORTED_MODULE_38__src_sequential_multi_sinebow__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_39__src_sequential_multi_viridis__ = __webpack_require__(730);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateViridis\", function() { return __WEBPACK_IMPORTED_MODULE_39__src_sequential_multi_viridis__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateMagma\", function() { return __WEBPACK_IMPORTED_MODULE_39__src_sequential_multi_viridis__[\"c\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolateInferno\", function() { return __WEBPACK_IMPORTED_MODULE_39__src_sequential_multi_viridis__[\"b\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"interpolatePlasma\", function() { return __WEBPACK_IMPORTED_MODULE_39__src_sequential_multi_viridis__[\"d\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 691 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */])(\"1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf\"));\n\n\n/***/ }),\n/* 692 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */])(\"7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666\"));\n\n\n/***/ }),\n/* 693 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */])(\"1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666\"));\n\n\n/***/ }),\n/* 694 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */])(\"a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928\"));\n\n\n/***/ }),\n/* 695 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */])(\"fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2\"));\n\n\n/***/ }),\n/* 696 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */])(\"b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc\"));\n\n\n/***/ }),\n/* 697 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */])(\"e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999\"));\n\n\n/***/ }),\n/* 698 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */])(\"66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3\"));\n\n\n/***/ }),\n/* 699 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */])(\"8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f\"));\n\n\n/***/ }),\n/* 700 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return scheme; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ramp__ = __webpack_require__(10);\n\n\n\nvar 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(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_1__ramp__[\"a\" /* default */])(scheme));\n\n\n/***/ }),\n/* 701 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return scheme; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ramp__ = __webpack_require__(10);\n\n\n\nvar 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(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_1__ramp__[\"a\" /* default */])(scheme));\n\n\n/***/ }),\n/* 702 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return scheme; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ramp__ = __webpack_require__(10);\n\n\n\nvar 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(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_1__ramp__[\"a\" /* default */])(scheme));\n\n\n/***/ }),\n/* 703 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return scheme; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ramp__ = __webpack_require__(10);\n\n\n\nvar 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(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_1__ramp__[\"a\" /* default */])(scheme));\n\n\n/***/ }),\n/* 704 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return scheme; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ramp__ = __webpack_require__(10);\n\n\n\nvar 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(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_1__ramp__[\"a\" /* default */])(scheme));\n\n\n/***/ }),\n/* 705 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return scheme; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ramp__ = __webpack_require__(10);\n\n\n\nvar 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(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_1__ramp__[\"a\" /* default */])(scheme));\n\n\n/***/ }),\n/* 706 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return scheme; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ramp__ = __webpack_require__(10);\n\n\n\nvar 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(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_1__ramp__[\"a\" /* default */])(scheme));\n\n\n/***/ }),\n/* 707 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return scheme; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ramp__ = __webpack_require__(10);\n\n\n\nvar 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(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_1__ramp__[\"a\" /* default */])(scheme));\n\n\n/***/ }),\n/* 708 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return scheme; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ramp__ = __webpack_require__(10);\n\n\n\nvar 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(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_1__ramp__[\"a\" /* default */])(scheme));\n\n\n/***/ }),\n/* 709 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return scheme; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ramp__ = __webpack_require__(10);\n\n\n\nvar scheme = new Array(3).concat(\n \"e5f5f999d8c92ca25f\",\n \"edf8fbb2e2e266c2a4238b45\",\n \"edf8fbb2e2e266c2a42ca25f006d2c\",\n \"edf8fbccece699d8c966c2a42ca25f006d2c\",\n \"edf8fbccece699d8c966c2a441ae76238b45005824\",\n \"f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824\",\n \"f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b\"\n).map(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_1__ramp__[\"a\" /* default */])(scheme));\n\n\n/***/ }),\n/* 710 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return scheme; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ramp__ = __webpack_require__(10);\n\n\n\nvar scheme = new Array(3).concat(\n \"e0ecf49ebcda8856a7\",\n \"edf8fbb3cde38c96c688419d\",\n \"edf8fbb3cde38c96c68856a7810f7c\",\n \"edf8fbbfd3e69ebcda8c96c68856a7810f7c\",\n \"edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b\",\n \"f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b\",\n \"f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b\"\n).map(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_1__ramp__[\"a\" /* default */])(scheme));\n\n\n/***/ }),\n/* 711 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return scheme; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ramp__ = __webpack_require__(10);\n\n\n\nvar scheme = new Array(3).concat(\n \"e0f3dba8ddb543a2ca\",\n \"f0f9e8bae4bc7bccc42b8cbe\",\n \"f0f9e8bae4bc7bccc443a2ca0868ac\",\n \"f0f9e8ccebc5a8ddb57bccc443a2ca0868ac\",\n \"f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e\",\n \"f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e\",\n \"f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081\"\n).map(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_1__ramp__[\"a\" /* default */])(scheme));\n\n\n/***/ }),\n/* 712 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return scheme; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ramp__ = __webpack_require__(10);\n\n\n\nvar scheme = new Array(3).concat(\n \"fee8c8fdbb84e34a33\",\n \"fef0d9fdcc8afc8d59d7301f\",\n \"fef0d9fdcc8afc8d59e34a33b30000\",\n \"fef0d9fdd49efdbb84fc8d59e34a33b30000\",\n \"fef0d9fdd49efdbb84fc8d59ef6548d7301f990000\",\n \"fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000\",\n \"fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000\"\n).map(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_1__ramp__[\"a\" /* default */])(scheme));\n\n\n/***/ }),\n/* 713 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return scheme; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ramp__ = __webpack_require__(10);\n\n\n\nvar scheme = new Array(3).concat(\n \"ece2f0a6bddb1c9099\",\n \"f6eff7bdc9e167a9cf02818a\",\n \"f6eff7bdc9e167a9cf1c9099016c59\",\n \"f6eff7d0d1e6a6bddb67a9cf1c9099016c59\",\n \"f6eff7d0d1e6a6bddb67a9cf3690c002818a016450\",\n \"fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450\",\n \"fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636\"\n).map(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_1__ramp__[\"a\" /* default */])(scheme));\n\n\n/***/ }),\n/* 714 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return scheme; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ramp__ = __webpack_require__(10);\n\n\n\nvar scheme = new Array(3).concat(\n \"ece7f2a6bddb2b8cbe\",\n \"f1eef6bdc9e174a9cf0570b0\",\n \"f1eef6bdc9e174a9cf2b8cbe045a8d\",\n \"f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d\",\n \"f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b\",\n \"fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b\",\n \"fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858\"\n).map(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_1__ramp__[\"a\" /* default */])(scheme));\n\n\n/***/ }),\n/* 715 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return scheme; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ramp__ = __webpack_require__(10);\n\n\n\nvar scheme = new Array(3).concat(\n \"e7e1efc994c7dd1c77\",\n \"f1eef6d7b5d8df65b0ce1256\",\n \"f1eef6d7b5d8df65b0dd1c77980043\",\n \"f1eef6d4b9dac994c7df65b0dd1c77980043\",\n \"f1eef6d4b9dac994c7df65b0e7298ace125691003f\",\n \"f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f\",\n \"f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f\"\n).map(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_1__ramp__[\"a\" /* default */])(scheme));\n\n\n/***/ }),\n/* 716 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return scheme; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ramp__ = __webpack_require__(10);\n\n\n\nvar scheme = new Array(3).concat(\n \"fde0ddfa9fb5c51b8a\",\n \"feebe2fbb4b9f768a1ae017e\",\n \"feebe2fbb4b9f768a1c51b8a7a0177\",\n \"feebe2fcc5c0fa9fb5f768a1c51b8a7a0177\",\n \"feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177\",\n \"fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177\",\n \"fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a\"\n).map(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_1__ramp__[\"a\" /* default */])(scheme));\n\n\n/***/ }),\n/* 717 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return scheme; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ramp__ = __webpack_require__(10);\n\n\n\nvar scheme = new Array(3).concat(\n \"edf8b17fcdbb2c7fb8\",\n \"ffffcca1dab441b6c4225ea8\",\n \"ffffcca1dab441b6c42c7fb8253494\",\n \"ffffccc7e9b47fcdbb41b6c42c7fb8253494\",\n \"ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84\",\n \"ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84\",\n \"ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58\"\n).map(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_1__ramp__[\"a\" /* default */])(scheme));\n\n\n/***/ }),\n/* 718 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return scheme; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ramp__ = __webpack_require__(10);\n\n\n\nvar scheme = new Array(3).concat(\n \"f7fcb9addd8e31a354\",\n \"ffffccc2e69978c679238443\",\n \"ffffccc2e69978c67931a354006837\",\n \"ffffccd9f0a3addd8e78c67931a354006837\",\n \"ffffccd9f0a3addd8e78c67941ab5d238443005a32\",\n \"ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32\",\n \"ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529\"\n).map(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_1__ramp__[\"a\" /* default */])(scheme));\n\n\n/***/ }),\n/* 719 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return scheme; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ramp__ = __webpack_require__(10);\n\n\n\nvar scheme = new Array(3).concat(\n \"fff7bcfec44fd95f0e\",\n \"ffffd4fed98efe9929cc4c02\",\n \"ffffd4fed98efe9929d95f0e993404\",\n \"ffffd4fee391fec44ffe9929d95f0e993404\",\n \"ffffd4fee391fec44ffe9929ec7014cc4c028c2d04\",\n \"ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04\",\n \"ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506\"\n).map(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_1__ramp__[\"a\" /* default */])(scheme));\n\n\n/***/ }),\n/* 720 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return scheme; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ramp__ = __webpack_require__(10);\n\n\n\nvar scheme = new Array(3).concat(\n \"ffeda0feb24cf03b20\",\n \"ffffb2fecc5cfd8d3ce31a1c\",\n \"ffffb2fecc5cfd8d3cf03b20bd0026\",\n \"ffffb2fed976feb24cfd8d3cf03b20bd0026\",\n \"ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026\",\n \"ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026\",\n \"ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026\"\n).map(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_1__ramp__[\"a\" /* default */])(scheme));\n\n\n/***/ }),\n/* 721 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return scheme; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ramp__ = __webpack_require__(10);\n\n\n\nvar scheme = new Array(3).concat(\n \"deebf79ecae13182bd\",\n \"eff3ffbdd7e76baed62171b5\",\n \"eff3ffbdd7e76baed63182bd08519c\",\n \"eff3ffc6dbef9ecae16baed63182bd08519c\",\n \"eff3ffc6dbef9ecae16baed64292c62171b5084594\",\n \"f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594\",\n \"f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b\"\n).map(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_1__ramp__[\"a\" /* default */])(scheme));\n\n\n/***/ }),\n/* 722 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return scheme; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ramp__ = __webpack_require__(10);\n\n\n\nvar scheme = new Array(3).concat(\n \"e5f5e0a1d99b31a354\",\n \"edf8e9bae4b374c476238b45\",\n \"edf8e9bae4b374c47631a354006d2c\",\n \"edf8e9c7e9c0a1d99b74c47631a354006d2c\",\n \"edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32\",\n \"f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32\",\n \"f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b\"\n).map(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_1__ramp__[\"a\" /* default */])(scheme));\n\n\n/***/ }),\n/* 723 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return scheme; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ramp__ = __webpack_require__(10);\n\n\n\nvar scheme = new Array(3).concat(\n \"f0f0f0bdbdbd636363\",\n \"f7f7f7cccccc969696525252\",\n \"f7f7f7cccccc969696636363252525\",\n \"f7f7f7d9d9d9bdbdbd969696636363252525\",\n \"f7f7f7d9d9d9bdbdbd969696737373525252252525\",\n \"fffffff0f0f0d9d9d9bdbdbd969696737373525252252525\",\n \"fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000\"\n).map(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_1__ramp__[\"a\" /* default */])(scheme));\n\n\n/***/ }),\n/* 724 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return scheme; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ramp__ = __webpack_require__(10);\n\n\n\nvar scheme = new Array(3).concat(\n \"efedf5bcbddc756bb1\",\n \"f2f0f7cbc9e29e9ac86a51a3\",\n \"f2f0f7cbc9e29e9ac8756bb154278f\",\n \"f2f0f7dadaebbcbddc9e9ac8756bb154278f\",\n \"f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486\",\n \"fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486\",\n \"fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d\"\n).map(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_1__ramp__[\"a\" /* default */])(scheme));\n\n\n/***/ }),\n/* 725 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return scheme; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ramp__ = __webpack_require__(10);\n\n\n\nvar scheme = new Array(3).concat(\n \"fee0d2fc9272de2d26\",\n \"fee5d9fcae91fb6a4acb181d\",\n \"fee5d9fcae91fb6a4ade2d26a50f15\",\n \"fee5d9fcbba1fc9272fb6a4ade2d26a50f15\",\n \"fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d\",\n \"fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d\",\n \"fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d\"\n).map(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_1__ramp__[\"a\" /* default */])(scheme));\n\n\n/***/ }),\n/* 726 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return scheme; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ramp__ = __webpack_require__(10);\n\n\n\nvar scheme = new Array(3).concat(\n \"fee6cefdae6be6550d\",\n \"feeddefdbe85fd8d3cd94701\",\n \"feeddefdbe85fd8d3ce6550da63603\",\n \"feeddefdd0a2fdae6bfd8d3ce6550da63603\",\n \"feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04\",\n \"fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04\",\n \"fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704\"\n).map(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_1__ramp__[\"a\" /* default */])(scheme));\n\n\n/***/ }),\n/* 727 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(33);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_d3_interpolate__ = __webpack_require__(38);\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_1_d3_interpolate__[\"interpolateCubehelixLong\"])(Object(__WEBPACK_IMPORTED_MODULE_0_d3_color__[\"b\" /* cubehelix */])(300, 0.5, 0.0), Object(__WEBPACK_IMPORTED_MODULE_0_d3_color__[\"b\" /* cubehelix */])(-240, 0.5, 1.0)));\n\n\n/***/ }),\n/* 728 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return warm; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return cool; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(33);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_d3_interpolate__ = __webpack_require__(38);\n\n\n\nvar warm = Object(__WEBPACK_IMPORTED_MODULE_1_d3_interpolate__[\"interpolateCubehelixLong\"])(Object(__WEBPACK_IMPORTED_MODULE_0_d3_color__[\"b\" /* cubehelix */])(-100, 0.75, 0.35), Object(__WEBPACK_IMPORTED_MODULE_0_d3_color__[\"b\" /* cubehelix */])(80, 1.50, 0.8));\n\nvar cool = Object(__WEBPACK_IMPORTED_MODULE_1_d3_interpolate__[\"interpolateCubehelixLong\"])(Object(__WEBPACK_IMPORTED_MODULE_0_d3_color__[\"b\" /* cubehelix */])(260, 0.75, 0.35), Object(__WEBPACK_IMPORTED_MODULE_0_d3_color__[\"b\" /* cubehelix */])(80, 1.50, 0.8));\n\nvar c = Object(__WEBPACK_IMPORTED_MODULE_0_d3_color__[\"b\" /* cubehelix */])();\n\n/* harmony default export */ __webpack_exports__[\"b\"] = (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\n\n/***/ }),\n/* 729 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_color__ = __webpack_require__(33);\n\n\nvar c = Object(__WEBPACK_IMPORTED_MODULE_0_d3_color__[\"f\" /* rgb */])(),\n pi_1_3 = Math.PI / 3,\n pi_2_3 = Math.PI * 2 / 3;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 730 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return magma; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return inferno; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return plasma; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__colors__ = __webpack_require__(5);\n\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\n/* harmony default export */ __webpack_exports__[\"a\"] = (ramp(Object(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */])(\"44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725\")));\n\nvar magma = ramp(Object(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */])(\"00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf\"));\n\nvar inferno = ramp(Object(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */])(\"00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4\"));\n\nvar plasma = ramp(Object(__WEBPACK_IMPORTED_MODULE_0__colors__[\"a\" /* default */])(\"0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921\"));\n\n\n/***/ }),\n/* 731 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = timeInterval;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = utcInterval;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_time__ = __webpack_require__(95);\n\n\nvar time = {\n millisecond: __WEBPACK_IMPORTED_MODULE_0_d3_time__[\"c\" /* timeMillisecond */],\n second: __WEBPACK_IMPORTED_MODULE_0_d3_time__[\"g\" /* timeSecond */],\n minute: __WEBPACK_IMPORTED_MODULE_0_d3_time__[\"d\" /* timeMinute */],\n hour: __WEBPACK_IMPORTED_MODULE_0_d3_time__[\"b\" /* timeHour */],\n day: __WEBPACK_IMPORTED_MODULE_0_d3_time__[\"a\" /* timeDay */],\n week: __WEBPACK_IMPORTED_MODULE_0_d3_time__[\"j\" /* timeWeek */],\n month: __WEBPACK_IMPORTED_MODULE_0_d3_time__[\"f\" /* timeMonth */],\n year: __WEBPACK_IMPORTED_MODULE_0_d3_time__[\"k\" /* timeYear */]\n};\n\nvar utc = {\n millisecond: __WEBPACK_IMPORTED_MODULE_0_d3_time__[\"n\" /* utcMillisecond */],\n second: __WEBPACK_IMPORTED_MODULE_0_d3_time__[\"r\" /* utcSecond */],\n minute: __WEBPACK_IMPORTED_MODULE_0_d3_time__[\"o\" /* utcMinute */],\n hour: __WEBPACK_IMPORTED_MODULE_0_d3_time__[\"m\" /* utcHour */],\n day: __WEBPACK_IMPORTED_MODULE_0_d3_time__[\"l\" /* utcDay */],\n week: __WEBPACK_IMPORTED_MODULE_0_d3_time__[\"u\" /* utcWeek */],\n month: __WEBPACK_IMPORTED_MODULE_0_d3_time__[\"q\" /* utcMonth */],\n year: __WEBPACK_IMPORTED_MODULE_0_d3_time__[\"v\" /* utcYear */]\n}\n\nfunction timeInterval(name) {\n return time.hasOwnProperty(name) && time[name];\n}\n\nfunction utcInterval(name) {\n return utc.hasOwnProperty(name) && utc[name];\n}\n\n\n/***/ }),\n/* 732 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = DataJoin;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Joins a set of data elements against a set of visual items.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(object): object} [params.item] - An item generator function.\n * @param {function(object): *} [params.key] - The key field associating data and visual items.\n */\nfunction DataJoin(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n}\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(DataJoin, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nfunction defaultItemCreate() {\n return Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"k\" /* ingest */])({});\n}\n\nfunction isExit(t) {\n return t.exit;\n}\n\nprototype.transform = function(_, pulse) {\n var df = pulse.dataflow,\n out = pulse.fork(pulse.NO_SOURCE | pulse.NO_FIELDS),\n item = _.item || defaultItemCreate,\n key = _.key || __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"r\" /* tupleid */],\n map = this.value;\n\n // prevent transient (e.g., hover) requests from\n // cascading across marks derived from marks\n if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(out.encode)) {\n out.encode = null;\n }\n\n if (map && (_.modified('key') || pulse.modified(key))) {\n Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"m\" /* error */])('DataJoin does not support modified key function or fields.');\n }\n\n if (!map) {\n pulse = pulse.addAll();\n this.value = map = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"q\" /* fastmap */])().test(isExit);\n map.lookup = function(t) { return map.get(key(t)); };\n }\n\n pulse.visit(pulse.ADD, function(t) {\n var k = key(t),\n x = map.get(k);\n\n if (x) {\n if (x.exit) {\n map.empty--;\n out.add.push(x);\n } else {\n out.mod.push(x);\n }\n } else {\n map.set(k, (x = item(t)));\n out.add.push(x);\n }\n\n x.datum = t;\n x.exit = false;\n });\n\n pulse.visit(pulse.MOD, function(t) {\n var k = key(t),\n x = map.get(k);\n\n if (x) {\n x.datum = t;\n out.mod.push(x);\n }\n });\n\n pulse.visit(pulse.REM, function(t) {\n var k = key(t),\n x = map.get(k);\n\n if (t === x.datum && !x.exit) {\n out.rem.push(x);\n x.exit = true;\n ++map.empty;\n }\n });\n\n if (pulse.changed(pulse.ADD_MOD)) out.modifies('datum');\n\n if (_.clean && map.empty > df.cleanThreshold) df.runAfter(map.clean);\n\n return out;\n};\n\n\n/***/ }),\n/* 733 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Encode;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Invokes encoding functions for visual items.\n * @constructor\n * @param {object} params - The parameters to the encoding functions. This\n * parameter object will be passed through to all invoked encoding functions.\n * @param {object} param.encoders - The encoding functions\n * @param {function(object, object): boolean} [param.encoders.update] - Update encoding set\n * @param {function(object, object): boolean} [param.encoders.enter] - Enter encoding set\n * @param {function(object, object): boolean} [param.encoders.exit] - Exit encoding set\n */\nfunction Encode(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n}\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(Encode, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var out = pulse.fork(pulse.ADD_REM),\n encoders = _.encoders,\n encode = pulse.encode;\n\n // if an array, the encode directive includes additional sets\n // that must be defined in order for the primary set to be invoked\n // e.g., only run the update set if the hover set is defined\n if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(encode)) {\n if (out.changed() || encode.every(function(e) { return encoders[e]; })) {\n encode = encode[0];\n out.encode = null; // consume targeted encode directive\n } else {\n return pulse.StopPropagation;\n }\n }\n\n // marshall encoder functions\n var reenter = encode === 'enter',\n update = encoders.update || __WEBPACK_IMPORTED_MODULE_1_vega_util__[\"p\" /* falsy */],\n enter = encoders.enter || __WEBPACK_IMPORTED_MODULE_1_vega_util__[\"p\" /* falsy */],\n exit = encoders.exit || __WEBPACK_IMPORTED_MODULE_1_vega_util__[\"p\" /* falsy */],\n set = (encode && !reenter ? encoders[encode] : update) || __WEBPACK_IMPORTED_MODULE_1_vega_util__[\"p\" /* falsy */];\n\n if (pulse.changed(pulse.ADD)) {\n pulse.visit(pulse.ADD, function(t) {\n enter(t, _);\n update(t, _);\n if (set !== __WEBPACK_IMPORTED_MODULE_1_vega_util__[\"p\" /* falsy */] && set !== update) set(t, _);\n });\n out.modifies(enter.output);\n out.modifies(update.output);\n if (set !== __WEBPACK_IMPORTED_MODULE_1_vega_util__[\"p\" /* falsy */] && set !== update) out.modifies(set.output);\n }\n\n if (pulse.changed(pulse.REM) && exit !== __WEBPACK_IMPORTED_MODULE_1_vega_util__[\"p\" /* falsy */]) {\n pulse.visit(pulse.REM, function(t) { exit(t, _); });\n out.modifies(exit.output);\n }\n\n if (reenter || set !== __WEBPACK_IMPORTED_MODULE_1_vega_util__[\"p\" /* falsy */]) {\n var flag = pulse.MOD | (_.modified() ? pulse.REFLOW : 0);\n if (reenter) {\n pulse.visit(flag, function(t) {\n var mod = enter(t, _);\n if (set(t, _) || mod) out.mod.push(t);\n });\n if (out.mod.length) out.modifies(enter.output);\n } else {\n pulse.visit(flag, function(t) {\n if (set(t, _)) out.mod.push(t);\n });\n }\n if (out.mod.length) out.modifies(set.output);\n }\n\n return out.changed() ? out : pulse.StopPropagation;\n};\n\n\n/***/ }),\n/* 734 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = LegendEntries;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__labels__ = __webpack_require__(735);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__legend_types__ = __webpack_require__(314);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ticks__ = __webpack_require__(74);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_vega_scale__ = __webpack_require__(52);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_vega_util__ = __webpack_require__(0);\n\n\n\n\n\n\n\n/**\n * Generates legend entries for visualizing a scale.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {Scale} params.scale - The scale to generate items for.\n * @param {*} [params.count=5] - The approximate number of items, or\n * desired tick interval, to use.\n * @param {Array<*>} [params.values] - The exact tick values to use.\n * These must be legal domain values for the provided scale.\n * If provided, the count argument is ignored.\n * @param {string} [params.formatSpecifier] - A format specifier\n * to use in conjunction with scale.tickFormat. Legal values are\n * any valid D3 format specifier string.\n * @param {function(*):string} [params.format] - The format function to use.\n * If provided, the formatSpecifier argument is ignored.\n */\nfunction LegendEntries(params) {\n __WEBPACK_IMPORTED_MODULE_3_vega_dataflow__[\"g\" /* Transform */].call(this, [], params);\n}\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_5_vega_util__[\"u\" /* inherits */])(LegendEntries, __WEBPACK_IMPORTED_MODULE_3_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n if (this.value != null && !_.modified()) {\n return pulse.StopPropagation;\n }\n\n var out = pulse.fork(pulse.NO_SOURCE | pulse.NO_FIELDS),\n items = this.value,\n type = _.type || __WEBPACK_IMPORTED_MODULE_1__legend_types__[\"c\" /* Symbols */],\n scale = _.scale,\n count = _.count == null ? 5 : Object(__WEBPACK_IMPORTED_MODULE_2__ticks__[\"a\" /* tickCount */])(scale, _.count),\n format = _.format || Object(__WEBPACK_IMPORTED_MODULE_2__ticks__[\"b\" /* tickFormat */])(scale, count, _.formatSpecifier),\n values = _.values || Object(__WEBPACK_IMPORTED_MODULE_0__labels__[\"c\" /* labelValues */])(scale, count, type),\n domain, fraction, size, offset;\n\n format = Object(__WEBPACK_IMPORTED_MODULE_0__labels__[\"a\" /* labelFormat */])(scale, format, type);\n if (items) out.rem = items;\n\n if (type === __WEBPACK_IMPORTED_MODULE_1__legend_types__[\"c\" /* Symbols */]) {\n if (Object(__WEBPACK_IMPORTED_MODULE_5_vega_util__[\"y\" /* isFunction */])(size = _.size)) {\n // if first value maps to size zero, remove from list (vega#717)\n if (!_.values && scale(values[0]) === 0) {\n values = values.slice(1);\n }\n // compute size offset for legend entries\n offset = values.reduce(function(max, value) {\n return Math.max(max, size(value, _));\n }, 0);\n } else {\n size = Object(__WEBPACK_IMPORTED_MODULE_5_vega_util__[\"k\" /* constant */])(offset = size || 8);\n }\n\n items = values.map(function(value, index) {\n return Object(__WEBPACK_IMPORTED_MODULE_3_vega_dataflow__[\"k\" /* ingest */])({\n index: index,\n label: format(value, index, values),\n value: value,\n offset: offset,\n size: size(value, _)\n });\n });\n }\n\n else if (type === __WEBPACK_IMPORTED_MODULE_1__legend_types__[\"b\" /* Gradient */]) {\n domain = scale.domain(),\n fraction = Object(__WEBPACK_IMPORTED_MODULE_4_vega_scale__[\"e\" /* scaleFraction */])(scale, domain[0], Object(__WEBPACK_IMPORTED_MODULE_5_vega_util__[\"L\" /* peek */])(domain));\n\n // if automatic label generation produces 2 or fewer values,\n // use the domain end points instead (fixes vega/vega#1364)\n if (values.length < 3 && !_.values && domain[0] !== Object(__WEBPACK_IMPORTED_MODULE_5_vega_util__[\"L\" /* peek */])(domain)) {\n values = [domain[0], Object(__WEBPACK_IMPORTED_MODULE_5_vega_util__[\"L\" /* peek */])(domain)];\n }\n\n items = values.map(function(value, index) {\n return Object(__WEBPACK_IMPORTED_MODULE_3_vega_dataflow__[\"k\" /* ingest */])({\n index: index,\n label: format(value, index, values),\n value: value,\n perc: fraction(value)\n });\n });\n }\n\n else {\n size = values.length - 1;\n fraction = Object(__WEBPACK_IMPORTED_MODULE_0__labels__[\"b\" /* labelFraction */])(scale);\n\n items = values.map(function(value, index) {\n return Object(__WEBPACK_IMPORTED_MODULE_3_vega_dataflow__[\"k\" /* ingest */])({\n index: index,\n label: format(value, index, values),\n value: value,\n perc: index ? fraction(value) : 0,\n perc2: index === size ? 1 : fraction(values[index+1])\n });\n });\n }\n\n out.source = items;\n out.add = items;\n this.value = items;\n\n return out;\n};\n\n\n/***/ }),\n/* 735 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = labelValues;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = labelFormat;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = labelFraction;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__legend_types__ = __webpack_require__(314);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__scale_types__ = __webpack_require__(169);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ticks__ = __webpack_require__(74);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vega_util__ = __webpack_require__(0);\n\n\n\n\n\nvar symbols = {};\nsymbols[__WEBPACK_IMPORTED_MODULE_1__scale_types__[\"i\" /* Quantile */]] = quantileSymbols;\nsymbols[__WEBPACK_IMPORTED_MODULE_1__scale_types__[\"j\" /* Quantize */]] = quantizeSymbols;\nsymbols[__WEBPACK_IMPORTED_MODULE_1__scale_types__[\"m\" /* Threshold */]] = thresholdSymbols;\nsymbols[__WEBPACK_IMPORTED_MODULE_1__scale_types__[\"b\" /* BinLinear */]] = symbols[__WEBPACK_IMPORTED_MODULE_1__scale_types__[\"c\" /* BinOrdinal */]] = binSymbols;\n\nfunction labelValues(scale, count) {\n var values = symbols[scale.type];\n return values ? values(scale) : Object(__WEBPACK_IMPORTED_MODULE_2__ticks__[\"c\" /* tickValues */])(scale, count);\n}\n\nfunction quantizeSymbols(scale) {\n var domain = scale.domain(),\n x0 = domain[0],\n x1 = Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"L\" /* peek */])(domain),\n n = scale.range().length,\n values = new Array(n),\n i = 0;\n\n values[0] = -Infinity;\n while (++i < n) values[i] = (i * x1 - (i - n) * x0) / n;\n values.max = +Infinity;\n\n return values;\n}\n\nfunction quantileSymbols(scale) {\n var values = [-Infinity].concat(scale.quantiles());\n values.max = +Infinity;\n\n return values;\n}\n\nfunction thresholdSymbols(scale) {\n var values = [-Infinity].concat(scale.domain());\n values.max = +Infinity;\n\n return values;\n}\n\nfunction binSymbols(scale) {\n var values = scale.domain();\n values.max = values.pop();\n\n return values;\n}\n\nfunction labelFormat(scale, format, type) {\n return type === __WEBPACK_IMPORTED_MODULE_0__legend_types__[\"c\" /* Symbols */] && symbols[scale.type] ? formatRange(format)\n : type === __WEBPACK_IMPORTED_MODULE_0__legend_types__[\"a\" /* Discrete */] ? formatDiscrete(format)\n : formatPoint(format);\n}\n\nfunction formatRange(format) {\n return function(value, index, array) {\n var limit = array[index + 1] || array.max || +Infinity,\n lo = formatValue(value, format),\n hi = formatValue(limit, format);\n return lo && hi ? lo + '\\u2013' + hi : hi ? '< ' + hi : '\\u2265 ' + lo;\n };\n}\n\nfunction formatDiscrete(format) {\n return function(value, index) {\n return index ? format(value) : null;\n }\n}\n\nfunction formatPoint(format) {\n return function(value) {\n return format(value);\n };\n}\n\nfunction formatValue(value, format) {\n return isFinite(value) ? format(value) : null;\n}\n\nfunction labelFraction(scale) {\n var domain = scale.domain(),\n count = domain.length - 1,\n lo = +domain[0],\n hi = +Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"L\" /* peek */])(domain),\n span = hi - lo;\n\n if (scale.type === __WEBPACK_IMPORTED_MODULE_1__scale_types__[\"m\" /* Threshold */]) {\n var adjust = count ? span / count : 0.1;\n lo -= adjust;\n hi += adjust;\n span = hi - lo;\n }\n\n return function(value) {\n return (value - lo) / span;\n };\n}\n\n\n/***/ }),\n/* 736 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = LinkPath;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\nvar Paths = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"q\" /* fastmap */])({\n 'line': line,\n 'line-radial': lineR,\n 'arc': arc,\n 'arc-radial': arcR,\n 'curve': curve,\n 'curve-radial': curveR,\n 'orthogonal-horizontal': orthoX,\n 'orthogonal-vertical': orthoY,\n 'orthogonal-radial': orthoR,\n 'diagonal-horizontal': diagonalX,\n 'diagonal-vertical': diagonalY,\n 'diagonal-radial': diagonalR\n});\n\nfunction sourceX(t) { return t.source.x; }\nfunction sourceY(t) { return t.source.y; }\nfunction targetX(t) { return t.target.x; }\nfunction targetY(t) { return t.target.y; }\n\n /**\n * Layout paths linking source and target elements.\n * @constructor\n * @param {object} params - The parameters for this operator.\n */\nfunction LinkPath(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, {}, params);\n}\n\nLinkPath.Definition = {\n \"type\": \"LinkPath\",\n \"metadata\": {\"modifies\": true},\n \"params\": [\n { \"name\": \"sourceX\", \"type\": \"field\", \"default\": \"source.x\" },\n { \"name\": \"sourceY\", \"type\": \"field\", \"default\": \"source.y\" },\n { \"name\": \"targetX\", \"type\": \"field\", \"default\": \"target.x\" },\n { \"name\": \"targetY\", \"type\": \"field\", \"default\": \"target.y\" },\n { \"name\": \"orient\", \"type\": \"enum\", \"default\": \"vertical\",\n \"values\": [\"horizontal\", \"vertical\", \"radial\"] },\n { \"name\": \"shape\", \"type\": \"enum\", \"default\": \"line\",\n \"values\": [\"line\", \"arc\", \"curve\", \"diagonal\", \"orthogonal\"] },\n { \"name\": \"as\", \"type\": \"string\", \"default\": \"path\" }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(LinkPath, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var sx = _.sourceX || sourceX,\n sy = _.sourceY || sourceY,\n tx = _.targetX || targetX,\n ty = _.targetY || targetY,\n as = _.as || 'path',\n orient = _.orient || 'vertical',\n shape = _.shape || 'line',\n path = Paths.get(shape + '-' + orient) || Paths.get(shape);\n\n if (!path) {\n Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"m\" /* error */])('LinkPath unsupported type: ' + _.shape\n + (_.orient ? '-' + _.orient : ''));\n }\n\n pulse.visit(pulse.SOURCE, function(t) {\n t[as] = path(sx(t), sy(t), tx(t), ty(t));\n });\n\n return pulse.reflow(_.modified()).modifies(as);\n};\n\n// -- Link Path Generation Methods -----\n\nfunction line(sx, sy, tx, ty) {\n return 'M' + sx + ',' + sy +\n 'L' + tx + ',' + ty;\n}\n\nfunction lineR(sa, sr, ta, tr) {\n return line(\n sr * Math.cos(sa), sr * Math.sin(sa),\n tr * Math.cos(ta), tr * Math.sin(ta)\n );\n}\n\nfunction arc(sx, sy, tx, ty) {\n var dx = tx - sx,\n dy = ty - sy,\n rr = Math.sqrt(dx * dx + dy * dy) / 2,\n ra = 180 * Math.atan2(dy, dx) / Math.PI;\n return 'M' + sx + ',' + sy +\n 'A' + rr + ',' + rr +\n ' ' + ra + ' 0 1' +\n ' ' + tx + ',' + ty;\n}\n\nfunction arcR(sa, sr, ta, tr) {\n return arc(\n sr * Math.cos(sa), sr * Math.sin(sa),\n tr * Math.cos(ta), tr * Math.sin(ta)\n );\n}\n\nfunction curve(sx, sy, tx, ty) {\n var dx = tx - sx,\n dy = ty - sy,\n ix = 0.2 * (dx + dy),\n iy = 0.2 * (dy - dx);\n return 'M' + sx + ',' + sy +\n 'C' + (sx+ix) + ',' + (sy+iy) +\n ' ' + (tx+iy) + ',' + (ty-ix) +\n ' ' + tx + ',' + ty;\n}\n\nfunction curveR(sa, sr, ta, tr) {\n return curve(\n sr * Math.cos(sa), sr * Math.sin(sa),\n tr * Math.cos(ta), tr * Math.sin(ta)\n );\n}\n\nfunction orthoX(sx, sy, tx, ty) {\n return 'M' + sx + ',' + sy +\n 'V' + ty + 'H' + tx;\n}\n\nfunction orthoY(sx, sy, tx, ty) {\n return 'M' + sx + ',' + sy +\n 'H' + tx + 'V' + ty;\n}\n\nfunction orthoR(sa, sr, ta, tr) {\n var sc = Math.cos(sa),\n ss = Math.sin(sa),\n tc = Math.cos(ta),\n ts = Math.sin(ta),\n sf = Math.abs(ta - sa) > Math.PI ? ta <= sa : ta > sa;\n return 'M' + (sr*sc) + ',' + (sr*ss) +\n 'A' + sr + ',' + sr + ' 0 0,' + (sf?1:0) +\n ' ' + (sr*tc) + ',' + (sr*ts) +\n 'L' + (tr*tc) + ',' + (tr*ts);\n}\n\nfunction diagonalX(sx, sy, tx, ty) {\n var m = (sx + tx) / 2;\n return 'M' + sx + ',' + sy +\n 'C' + m + ',' + sy +\n ' ' + m + ',' + ty +\n ' ' + tx + ',' + ty;\n}\n\nfunction diagonalY(sx, sy, tx, ty) {\n var m = (sy + ty) / 2;\n return 'M' + sx + ',' + sy +\n 'C' + sx + ',' + m +\n ' ' + tx + ',' + m +\n ' ' + tx + ',' + ty;\n}\n\nfunction diagonalR(sa, sr, ta, tr) {\n var sc = Math.cos(sa),\n ss = Math.sin(sa),\n tc = Math.cos(ta),\n ts = Math.sin(ta),\n mr = (sr + tr) / 2;\n return 'M' + (sr*sc) + ',' + (sr*ss) +\n 'C' + (mr*sc) + ',' + (mr*ss) +\n ' ' + (mr*tc) + ',' + (mr*ts) +\n ' ' + (tr*tc) + ',' + (tr*ts);\n}\n\n\n/***/ }),\n/* 737 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Pie;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_d3_array__ = __webpack_require__(9);\n\n\n\n\n/**\n * Pie and donut chart layout.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(object): *} params.field - The value field to size pie segments.\n * @param {number} [params.startAngle=0] - The start angle (in radians) of the layout.\n * @param {number} [params.endAngle=2Ï€] - The end angle (in radians) of the layout.\n * @param {boolean} [params.sort] - Boolean flag for sorting sectors by value.\n */\nfunction Pie(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n}\n\nPie.Definition = {\n \"type\": \"Pie\",\n \"metadata\": {\"modifies\": true},\n \"params\": [\n { \"name\": \"field\", \"type\": \"field\" },\n { \"name\": \"startAngle\", \"type\": \"number\", \"default\": 0 },\n { \"name\": \"endAngle\", \"type\": \"number\", \"default\": 6.283185307179586 },\n { \"name\": \"sort\", \"type\": \"boolean\", \"default\": false },\n { \"name\": \"as\", \"type\": \"string\", \"array\": true, \"length\": 2, \"default\": [\"startAngle\", \"endAngle\"] }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(Pie, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var as = _.as || ['startAngle', 'endAngle'],\n startAngle = as[0],\n endAngle = as[1],\n field = _.field || __WEBPACK_IMPORTED_MODULE_1_vega_util__[\"G\" /* one */],\n start = _.startAngle || 0,\n stop = _.endAngle != null ? _.endAngle : 2 * Math.PI,\n data = pulse.source,\n values = data.map(field),\n n = values.length,\n a = start,\n k = (stop - start) / Object(__WEBPACK_IMPORTED_MODULE_2_d3_array__[\"o\" /* sum */])(values),\n index = Object(__WEBPACK_IMPORTED_MODULE_2_d3_array__[\"n\" /* range */])(n),\n i, t, v;\n\n if (_.sort) {\n index.sort(function(a, b) {\n return values[a] - values[b];\n });\n }\n\n for (i=0; i<n; ++i) {\n v = values[index[i]];\n t = data[index[i]];\n t[startAngle] = a;\n t[endAngle] = (a += v * k);\n }\n\n this.value = values;\n return pulse.reflow(_.modified()).modifies(as);\n};\n\n\n/***/ }),\n/* 738 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Scale;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ticks__ = __webpack_require__(74);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__scale_types__ = __webpack_require__(169);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_vega_scale__ = __webpack_require__(52);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_d3_interpolate__ = __webpack_require__(38);\n\n\n\n\n\n\n\n\n\n\nvar DEFAULT_COUNT = 5;\n\nvar INCLUDE_ZERO = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"S\" /* toSet */])([__WEBPACK_IMPORTED_MODULE_3__scale_types__[\"d\" /* Linear */], __WEBPACK_IMPORTED_MODULE_3__scale_types__[\"h\" /* Pow */], __WEBPACK_IMPORTED_MODULE_3__scale_types__[\"l\" /* Sqrt */]]);\n\nvar INCLUDE_PAD = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"S\" /* toSet */])([__WEBPACK_IMPORTED_MODULE_3__scale_types__[\"d\" /* Linear */], __WEBPACK_IMPORTED_MODULE_3__scale_types__[\"e\" /* Log */], __WEBPACK_IMPORTED_MODULE_3__scale_types__[\"h\" /* Pow */], __WEBPACK_IMPORTED_MODULE_3__scale_types__[\"l\" /* Sqrt */], __WEBPACK_IMPORTED_MODULE_3__scale_types__[\"n\" /* Time */], __WEBPACK_IMPORTED_MODULE_3__scale_types__[\"o\" /* Utc */]]);\n\nvar SKIP = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"S\" /* toSet */])([\n 'set', 'modified', 'clear', 'type', 'scheme', 'schemeExtent', 'schemeCount',\n 'domain', 'domainMin', 'domainMid', 'domainMax', 'domainRaw', 'domainImplicit', 'nice', 'zero',\n 'range', 'rangeStep', 'round', 'reverse', 'interpolate', 'interpolateGamma'\n]);\n\n/**\n * Maintains a scale function mapping data values to visual channels.\n * @constructor\n * @param {object} params - The parameters for this operator.\n */\nfunction Scale(params) {\n __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n this.modified(true); // always treat as modified\n}\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"u\" /* inherits */])(Scale, __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var df = pulse.dataflow,\n scale = this.value,\n prop;\n\n if (!scale || _.modified('type')) {\n this.value = scale = Object(__WEBPACK_IMPORTED_MODULE_4_vega_scale__[\"d\" /* scale */])((_.type || __WEBPACK_IMPORTED_MODULE_3__scale_types__[\"d\" /* Linear */]).toLowerCase())();\n }\n\n for (prop in _) if (!SKIP[prop]) {\n // padding is a scale property for band/point but not others\n if (prop === 'padding' && INCLUDE_PAD[scale.type]) continue;\n // invoke scale property setter, raise warning if not found\n Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"y\" /* isFunction */])(scale[prop])\n ? scale[prop](_[prop])\n : df.warn('Unsupported scale property: ' + prop);\n }\n\n configureRange(scale, _, configureDomain(scale, _, df));\n\n return pulse.fork(pulse.NO_SOURCE | pulse.NO_FIELDS);\n};\n\nfunction configureDomain(scale, _, df) {\n // check raw domain, if provided use that and exit early\n var raw = rawDomain(scale, _.domainRaw, df);\n if (raw > -1) return raw;\n\n var domain = _.domain,\n type = scale.type,\n zero = _.zero || (_.zero === undefined && INCLUDE_ZERO[type]),\n n, mid;\n\n if (!domain) return 0;\n\n // adjust continuous domain for minimum pixel padding\n if (INCLUDE_PAD[type] && _.padding && domain[0] !== Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"L\" /* peek */])(domain)) {\n domain = padDomain(type, domain, _.range, _.padding, _.exponent);\n }\n\n // adjust domain based on zero, min, max settings\n if (zero || _.domainMin != null || _.domainMax != null || _.domainMid != null) {\n n = ((domain = domain.slice()).length - 1) || 1;\n if (zero) {\n if (domain[0] > 0) domain[0] = 0;\n if (domain[n] < 0) domain[n] = 0;\n }\n if (_.domainMin != null) domain[0] = _.domainMin;\n if (_.domainMax != null) domain[n] = _.domainMax;\n\n if (_.domainMid != null) {\n mid = _.domainMid;\n if (mid < domain[0] || mid > domain[n]) {\n df.warn('Scale domainMid exceeds domain min or max.', mid);\n }\n domain.splice(n, 0, mid);\n }\n }\n\n // set the scale domain\n scale.domain(domainCheck(type, domain, df));\n\n // if ordinal scale domain is defined, prevent implicit\n // domain construction as side-effect of scale lookup\n if (type === __WEBPACK_IMPORTED_MODULE_3__scale_types__[\"f\" /* Ordinal */]) {\n scale.unknown(_.domainImplicit ? __WEBPACK_IMPORTED_MODULE_4_vega_scale__[\"f\" /* scaleImplicit */] : undefined);\n }\n\n // perform 'nice' adjustment as requested\n if (_.nice && scale.nice) {\n scale.nice((_.nice !== true && Object(__WEBPACK_IMPORTED_MODULE_0__ticks__[\"a\" /* tickCount */])(scale, _.nice)) || null);\n }\n\n // return the cardinality of the domain\n return domain.length;\n}\n\nfunction rawDomain(scale, raw, df) {\n if (raw) {\n scale.domain(domainCheck(scale.type, raw, df));\n return raw.length;\n } else {\n return -1;\n }\n}\n\nfunction padDomain(type, domain, range, pad, exponent) {\n var span = Math.abs(Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"L\" /* peek */])(range) - range[0]),\n frac = span / (span - 2 * pad),\n d = type === __WEBPACK_IMPORTED_MODULE_3__scale_types__[\"e\" /* Log */] ? Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"Z\" /* zoomLog */])(domain, null, frac)\n : type === __WEBPACK_IMPORTED_MODULE_3__scale_types__[\"l\" /* Sqrt */] ? Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"_0\" /* zoomPow */])(domain, null, frac, 0.5)\n : type === __WEBPACK_IMPORTED_MODULE_3__scale_types__[\"h\" /* Pow */] ? Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"_0\" /* zoomPow */])(domain, null, frac, exponent)\n : Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"Y\" /* zoomLinear */])(domain, null, frac);\n\n domain = domain.slice();\n domain[0] = d[0];\n domain[domain.length-1] = d[1];\n return domain;\n}\n\nfunction domainCheck(type, domain, df) {\n if (type === __WEBPACK_IMPORTED_MODULE_3__scale_types__[\"e\" /* Log */]) {\n // sum signs of domain values\n // if all pos or all neg, abs(sum) === domain.length\n var s = Math.abs(domain.reduce(function(s, v) {\n return s + (v < 0 ? -1 : v > 0 ? 1 : 0);\n }, 0));\n\n if (s !== domain.length) {\n df.warn('Log scale domain includes zero: ' + Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"O\" /* stringValue */])(domain));\n }\n }\n return domain;\n}\n\nfunction configureRange(scale, _, count) {\n var round = _.round || false,\n range = _.range;\n\n // if range step specified, calculate full range extent\n if (_.rangeStep != null) {\n range = configureRangeStep(scale.type, _, count);\n }\n\n // else if a range scheme is defined, use that\n else if (_.scheme) {\n range = configureScheme(scale.type, _, count);\n if (Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"y\" /* isFunction */])(range)) return scale.interpolator(range);\n }\n\n // given a range array for a sequential scale, convert to interpolator\n else if (range && scale.type === __WEBPACK_IMPORTED_MODULE_3__scale_types__[\"k\" /* Sequential */]) {\n return scale.interpolator(Object(__WEBPACK_IMPORTED_MODULE_5_d3_interpolate__[\"interpolateRgbBasis\"])(flip(range, _.reverse)));\n }\n\n // configure rounding / interpolation\n if (range && _.interpolate && scale.interpolate) {\n scale.interpolate(Object(__WEBPACK_IMPORTED_MODULE_4_vega_scale__[\"b\" /* interpolate */])(_.interpolate, _.interpolateGamma));\n } else if (Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"y\" /* isFunction */])(scale.round)) {\n scale.round(round);\n } else if (Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"y\" /* isFunction */])(scale.rangeRound)) {\n scale.interpolate(round ? __WEBPACK_IMPORTED_MODULE_5_d3_interpolate__[\"interpolateRound\"] : __WEBPACK_IMPORTED_MODULE_5_d3_interpolate__[\"interpolate\"]);\n }\n\n if (range) scale.range(flip(range, _.reverse));\n}\n\nfunction configureRangeStep(type, _, count) {\n if (type !== __WEBPACK_IMPORTED_MODULE_3__scale_types__[\"a\" /* Band */] && type !== __WEBPACK_IMPORTED_MODULE_3__scale_types__[\"g\" /* Point */]) {\n Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"m\" /* error */])('Only band and point scales support rangeStep.');\n }\n\n // calculate full range based on requested step size and padding\n var outer = (_.paddingOuter != null ? _.paddingOuter : _.padding) || 0,\n inner = type === __WEBPACK_IMPORTED_MODULE_3__scale_types__[\"g\" /* Point */] ? 1\n : ((_.paddingInner != null ? _.paddingInner : _.padding) || 0);\n return [0, _.rangeStep * Object(__WEBPACK_IMPORTED_MODULE_4_vega_scale__[\"a\" /* bandSpace */])(count, inner, outer)];\n}\n\nfunction configureScheme(type, _, count) {\n var name = _.scheme.toLowerCase(),\n scheme = Object(__WEBPACK_IMPORTED_MODULE_4_vega_scale__[\"g\" /* scheme */])(name),\n extent = _.schemeExtent,\n discrete;\n\n if (!scheme) {\n Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"m\" /* error */])('Unrecognized scheme name: ' + _.scheme);\n }\n\n // determine size for potential discrete range\n count = (type === __WEBPACK_IMPORTED_MODULE_3__scale_types__[\"m\" /* Threshold */]) ? count + 1\n : (type === __WEBPACK_IMPORTED_MODULE_3__scale_types__[\"c\" /* BinOrdinal */]) ? count - 1\n : (type === __WEBPACK_IMPORTED_MODULE_3__scale_types__[\"i\" /* Quantile */] || type === __WEBPACK_IMPORTED_MODULE_3__scale_types__[\"j\" /* Quantize */]) ? (+_.schemeCount || DEFAULT_COUNT)\n : count;\n\n // adjust and/or quantize scheme as appropriate\n return type === __WEBPACK_IMPORTED_MODULE_3__scale_types__[\"k\" /* Sequential */] ? adjustScheme(scheme, extent, _.reverse)\n : !extent && (discrete = Object(__WEBPACK_IMPORTED_MODULE_4_vega_scale__[\"g\" /* scheme */])(name + '-' + count)) ? discrete\n : Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"y\" /* isFunction */])(scheme) ? quantize(adjustScheme(scheme, extent), count)\n : type === __WEBPACK_IMPORTED_MODULE_3__scale_types__[\"f\" /* Ordinal */] ? scheme : scheme.slice(0, count);\n}\n\nfunction adjustScheme(scheme, extent, reverse) {\n return (Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"y\" /* isFunction */])(scheme) && (extent || reverse))\n ? Object(__WEBPACK_IMPORTED_MODULE_4_vega_scale__[\"c\" /* interpolateRange */])(scheme, flip(extent || [0, 1], reverse))\n : scheme;\n}\n\nfunction flip(array, reverse) {\n return reverse ? array.slice().reverse() : array;\n}\n\nfunction quantize(interpolator, count) {\n var samples = new Array(count),\n n = count + 1;\n for (var i = 0; i < count;) samples[i] = interpolator(++i / n);\n return samples;\n}\n\n\n/***/ }),\n/* 739 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = SortItems;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Sorts scenegraph items in the pulse source array.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(*,*): number} [params.sort] - A comparator\n * function for sorting tuples.\n */\nfunction SortItems(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n}\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(SortItems, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var mod = _.modified('sort')\n || pulse.changed(pulse.ADD)\n || pulse.modified(_.sort.fields)\n || pulse.modified('datum');\n\n if (mod) pulse.source.sort(_.sort);\n\n this.modified(mod);\n return pulse;\n};\n\n\n/***/ }),\n/* 740 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Stack;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\nvar Center = 'center',\n Normalize = 'normalize';\n\n/**\n * Stack layout for visualization elements.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(object): *} params.field - The value field to stack.\n * @param {Array<function(object): *>} [params.groupby] - An array of accessors to groupby.\n * @param {function(object,object): number} [params.sort] - A comparator for stack sorting.\n * @param {string} [offset='zero'] - One of 'zero', 'center', 'normalize'.\n */\nfunction Stack(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n}\n\nStack.Definition = {\n \"type\": \"Stack\",\n \"metadata\": {\"modifies\": true},\n \"params\": [\n { \"name\": \"field\", \"type\": \"field\" },\n { \"name\": \"groupby\", \"type\": \"field\", \"array\": true },\n { \"name\": \"sort\", \"type\": \"compare\" },\n { \"name\": \"offset\", \"type\": \"enum\", \"default\": \"zero\", \"values\": [\"zero\", \"center\", \"normalize\"] },\n { \"name\": \"as\", \"type\": \"string\", \"array\": true, \"length\": 2, \"default\": [\"y0\", \"y1\"] }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(Stack, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var as = _.as || ['y0', 'y1'],\n y0 = as[0],\n y1 = as[1],\n field = _.field || __WEBPACK_IMPORTED_MODULE_1_vega_util__[\"G\" /* one */],\n stack = _.offset === Center ? stackCenter\n : _.offset === Normalize ? stackNormalize\n : stackZero,\n groups, i, n, max;\n\n // partition, sum, and sort the stack groups\n groups = partition(pulse.source, _.groupby, _.sort, field);\n\n // compute stack layouts per group\n for (i=0, n=groups.length, max=groups.max; i<n; ++i) {\n stack(groups[i], max, field, y0, y1);\n }\n\n return pulse.reflow(_.modified()).modifies(as);\n};\n\nfunction stackCenter(group, max, field, y0, y1) {\n var last = (max - group.sum) / 2,\n m = group.length,\n j = 0, t;\n\n for (; j<m; ++j) {\n t = group[j];\n t[y0] = last;\n t[y1] = (last += Math.abs(field(t)));\n }\n}\n\nfunction stackNormalize(group, max, field, y0, y1) {\n var scale = 1 / group.sum,\n last = 0,\n m = group.length,\n j = 0, v = 0, t;\n\n for (; j<m; ++j) {\n t = group[j];\n t[y0] = last;\n t[y1] = last = scale * (v += Math.abs(field(t)));\n }\n}\n\nfunction stackZero(group, max, field, y0, y1) {\n var lastPos = 0,\n lastNeg = 0,\n m = group.length,\n j = 0, v, t;\n\n for (; j<m; ++j) {\n t = group[j];\n v = field(t);\n if (v < 0) {\n t[y0] = lastNeg;\n t[y1] = (lastNeg += v);\n } else {\n t[y0] = lastPos;\n t[y1] = (lastPos += v);\n }\n }\n}\n\nfunction partition(data, groupby, sort, field) {\n var groups = [],\n get = function(f) { return f(t); },\n map, i, n, m, t, k, g, s, max;\n\n // partition data points into stack groups\n if (groupby == null) {\n groups.push(data.slice());\n } else {\n for (map={}, i=0, n=data.length; i<n; ++i) {\n t = data[i];\n k = groupby.map(get);\n g = map[k];\n if (!g) {\n map[k] = (g = []);\n groups.push(g);\n }\n g.push(t);\n }\n }\n\n // compute sums of groups, sort groups as needed\n for (k=0, max=0, m=groups.length; k<m; ++k) {\n g = groups[k];\n for (i=0, s=0, n=g.length; i<n; ++i) {\n s += Math.abs(field(g[i]));\n }\n g.sum = s;\n if (s > max) max = s;\n if (sort) g.sort(sort);\n }\n groups.max = max;\n\n return groups;\n}\n\n\n/***/ }),\n/* 741 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_Contour__ = __webpack_require__(742);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"contour\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_Contour__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_GeoJSON__ = __webpack_require__(750);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"geojson\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_GeoJSON__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_GeoPath__ = __webpack_require__(751);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"geopath\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_GeoPath__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_GeoPoint__ = __webpack_require__(780);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"geopoint\", function() { return __WEBPACK_IMPORTED_MODULE_3__src_GeoPoint__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__src_GeoShape__ = __webpack_require__(781);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"geoshape\", function() { return __WEBPACK_IMPORTED_MODULE_4__src_GeoShape__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__src_Graticule__ = __webpack_require__(782);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"graticule\", function() { return __WEBPACK_IMPORTED_MODULE_5__src_Graticule__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__src_Projection__ = __webpack_require__(783);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"projection\", function() { return __WEBPACK_IMPORTED_MODULE_6__src_Projection__[\"a\"]; });\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 742 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Contour;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_d3_array__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_d3_contour__ = __webpack_require__(743);\n\n\n\n\n\nvar CONTOUR_PARAMS = ['size', 'smooth'];\nvar DENSITY_PARAMS = ['x', 'y', 'weight', 'size', 'cellSize', 'bandwidth'];\n\n/**\n * Generate contours based on kernel-density estimation of point data.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {Array<number>} params.size - The dimensions [width, height] over which to compute contours.\n * If the values parameter is provided, this must be the dimensions of the input data.\n * If density estimation is performed, this is the output view dimensions in pixels.\n * @param {Array<number>} [params.values] - An array of numeric values representing an\n * width x height grid of values over which to compute contours. If unspecified, this\n * transform will instead attempt to compute contours for the kernel density estimate\n * using values drawn from data tuples in the input pulse.\n * @param {function(object): number} [params.x] - The pixel x-coordinate accessor for density estimation.\n * @param {function(object): number} [params.y] - The pixel y-coordinate accessor for density estimation.\n * @param {function(object): number} [params.weight] - The data point weight accessor for density estimation.\n * @param {number} [params.cellSize] - Contour density calculation cell size.\n * @param {number} [params.bandwidth] - Kernel density estimation bandwidth.\n * @param {Array<number>} [params.thresholds] - Contour threshold array. If\n * this parameter is set, the count and nice parameters will be ignored.\n * @param {number} [params.count] - The desired number of contours.\n * @param {boolean} [params.nice] - Boolean flag indicating if the contour\n * threshold values should be automatically aligned to \"nice\"\n * human-friendly values. Setting this flag may cause the number of\n * thresholds to deviate from the specified count.\n * @param {boolean} [params.smooth] - Boolean flag indicating if the contour\n * polygons should be smoothed using linear interpolation. The default is\n * true. The parameter is ignored when using density estimation.\n */\nfunction Contour(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n}\n\nContour.Definition = {\n \"type\": \"Contour\",\n \"metadata\": {\"generates\": true},\n \"params\": [\n { \"name\": \"size\", \"type\": \"number\", \"array\": true, \"length\": 2, \"required\": true },\n { \"name\": \"values\", \"type\": \"number\", \"array\": true },\n { \"name\": \"x\", \"type\": \"field\" },\n { \"name\": \"y\", \"type\": \"field\" },\n { \"name\": \"weight\", \"type\": \"field\" },\n { \"name\": \"cellSize\", \"type\": \"number\" },\n { \"name\": \"bandwidth\", \"type\": \"number\" },\n { \"name\": \"count\", \"type\": \"number\" },\n { \"name\": \"smooth\", \"type\": \"boolean\" },\n { \"name\": \"nice\", \"type\": \"boolean\", \"default\": false },\n { \"name\": \"thresholds\", \"type\": \"number\", \"array\": true }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(Contour, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n if (this.value && !pulse.changed() && !_.modified())\n return pulse.StopPropagation;\n\n var out = pulse.fork(pulse.NO_SOURCE | pulse.NO_FIELDS),\n count = _.count || 10,\n contour, params, values;\n\n if (_.values) {\n contour = Object(__WEBPACK_IMPORTED_MODULE_3_d3_contour__[\"b\" /* contours */])();\n params = CONTOUR_PARAMS;\n values = _.values;\n } else {\n contour = Object(__WEBPACK_IMPORTED_MODULE_3_d3_contour__[\"a\" /* contourDensity */])();\n params = DENSITY_PARAMS;\n values = pulse.materialize(pulse.SOURCE).source;\n }\n\n // set threshold parameter\n contour.thresholds(_.thresholds || (_.nice ? count : quantize(count)));\n\n // set all other parameters\n params.forEach(function(param) {\n if (_[param] != null) contour[param](_[param]);\n });\n\n if (this.value) out.rem = this.value;\n values = values && values.length ? contour(values).map(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"k\" /* ingest */]) : [];\n this.value = out.source = out.add = values;\n\n return out;\n};\n\nfunction quantize(k) {\n return function(values) {\n var ex = Object(__WEBPACK_IMPORTED_MODULE_2_d3_array__[\"f\" /* extent */])(values), x0 = ex[0], dx = ex[1] - x0,\n t = [], i = 1;\n for (; i<=k; ++i) t.push(x0 + dx * i / (k + 1));\n return t;\n };\n}\n\n\n/***/ }),\n/* 743 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_contours__ = __webpack_require__(315);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_contours__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_density__ = __webpack_require__(748);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_density__[\"a\"]; });\n\n\n\n\n/***/ }),\n/* 744 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(a, b) {\n return a - b;\n});\n\n\n/***/ }),\n/* 745 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 746 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 747 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {});\n\n\n/***/ }),\n/* 748 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__array__ = __webpack_require__(316);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__blur__ = __webpack_require__(749);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__constant__ = __webpack_require__(317);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__contours__ = __webpack_require__(315);\n\n\n\n\n\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\n/* harmony default export */ __webpack_exports__[\"a\"] = (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 = Object(__WEBPACK_IMPORTED_MODULE_3__constant__[\"a\" /* default */])(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 Object(__WEBPACK_IMPORTED_MODULE_2__blur__[\"a\" /* blurX */])({width: n, height: m, data: values0}, {width: n, height: m, data: values1}, r >> k);\n Object(__WEBPACK_IMPORTED_MODULE_2__blur__[\"b\" /* blurY */])({width: n, height: m, data: values1}, {width: n, height: m, data: values0}, r >> k);\n Object(__WEBPACK_IMPORTED_MODULE_2__blur__[\"a\" /* blurX */])({width: n, height: m, data: values0}, {width: n, height: m, data: values1}, r >> k);\n Object(__WEBPACK_IMPORTED_MODULE_2__blur__[\"b\" /* blurY */])({width: n, height: m, data: values1}, {width: n, height: m, data: values0}, r >> k);\n Object(__WEBPACK_IMPORTED_MODULE_2__blur__[\"a\" /* blurX */])({width: n, height: m, data: values0}, {width: n, height: m, data: values1}, r >> k);\n Object(__WEBPACK_IMPORTED_MODULE_2__blur__[\"b\" /* 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 = Object(__WEBPACK_IMPORTED_MODULE_0_d3_array__[\"g\" /* max */])(values0);\n tz = Object(__WEBPACK_IMPORTED_MODULE_0_d3_array__[\"r\" /* tickStep */])(0, stop, tz);\n tz = Object(__WEBPACK_IMPORTED_MODULE_0_d3_array__[\"n\" /* range */])(0, Math.floor(stop / tz) * tz, tz);\n tz.shift();\n }\n\n return Object(__WEBPACK_IMPORTED_MODULE_4__contours__[\"a\" /* default */])()\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\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_3__constant__[\"a\" /* default */])(+_), density) : x;\n };\n\n density.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_3__constant__[\"a\" /* default */])(+_), density) : y;\n };\n\n density.weight = function(_) {\n return arguments.length ? (weight = typeof _ === \"function\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_3__constant__[\"a\" /* default */])(+_), 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(_) ? Object(__WEBPACK_IMPORTED_MODULE_3__constant__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_1__array__[\"a\" /* slice */].call(_)) : Object(__WEBPACK_IMPORTED_MODULE_3__constant__[\"a\" /* default */])(_), 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\n\n/***/ }),\n/* 749 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = blurX;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = blurY;\n// TODO Optimize edge cases.\n// TODO Optimize index calculation.\n// TODO Optimize arguments.\nfunction 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.\nfunction 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\n\n/***/ }),\n/* 750 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = GeoJSON;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constants__ = __webpack_require__(318);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n\n\n\n\n/**\n * Consolidate an array of [longitude, latitude] points or GeoJSON features\n * into a combined GeoJSON object. This transform is particularly useful for\n * combining geo data for a Projection's fit argument. The resulting GeoJSON\n * data is available as this transform's value. Input pulses are unchanged.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {Array<function(object): *>} [params.fields] - A two-element array\n * of field accessors for the longitude and latitude values.\n * @param {function(object): *} params.geojson - A field accessor for\n * retrieving GeoJSON feature data.\n */\nfunction GeoJSON(params) {\n __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n}\n\nGeoJSON.Definition = {\n \"type\": \"GeoJSON\",\n \"metadata\": {},\n \"params\": [\n { \"name\": \"fields\", \"type\": \"field\", \"array\": true, \"length\": 2 },\n { \"name\": \"geojson\", \"type\": \"field\" },\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"u\" /* inherits */])(GeoJSON, __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var features = this._features,\n points = this._points,\n fields = _.fields,\n lon = fields && fields[0],\n lat = fields && fields[1],\n geojson = _.geojson,\n flag = pulse.ADD,\n mod;\n\n mod = _.modified()\n || pulse.changed(pulse.REM)\n || pulse.modified(Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"g\" /* accessorFields */])(geojson))\n || (lon && (pulse.modified(Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"g\" /* accessorFields */])(lon))))\n || (lat && (pulse.modified(Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"g\" /* accessorFields */])(lat))));\n\n if (!this.value || mod) {\n flag = pulse.SOURCE;\n this._features = (features = []);\n this._points = (points = []);\n }\n\n if (geojson) {\n pulse.visit(flag, function(t) {\n features.push(geojson(t));\n });\n }\n\n if (lon && lat) {\n pulse.visit(flag, function(t) {\n var x = lon(t),\n y = lat(t);\n if (x != null && y != null && (x = +x) === x && (y = +y) === y) {\n points.push([x, y]);\n }\n });\n features = features.concat({\n type: __WEBPACK_IMPORTED_MODULE_0__constants__[\"a\" /* Feature */],\n geometry: {\n type: __WEBPACK_IMPORTED_MODULE_0__constants__[\"c\" /* MultiPoint */],\n coordinates: points\n }\n });\n }\n\n this.value = {\n type: __WEBPACK_IMPORTED_MODULE_0__constants__[\"b\" /* FeatureCollection */],\n features: features\n };\n};\n\n\n/***/ }),\n/* 751 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = GeoPath;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_projection__ = __webpack_require__(113);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n\n\n\n\n/**\n * Map GeoJSON data to an SVG path string.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(number, number): *} params.projection - The cartographic\n * projection to apply.\n * @param {function(object): *} [params.field] - The field with GeoJSON data,\n * or null if the tuple itself is a GeoJSON feature.\n * @param {string} [params.as='path'] - The output field in which to store\n * the generated path data (default 'path').\n */\nfunction GeoPath(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n}\n\nGeoPath.Definition = {\n \"type\": \"GeoPath\",\n \"metadata\": {\"modifies\": true},\n \"params\": [\n { \"name\": \"projection\", \"type\": \"projection\" },\n { \"name\": \"field\", \"type\": \"field\" },\n { \"name\": \"pointRadius\", \"type\": \"number\", \"expr\": true },\n { \"name\": \"as\", \"type\": \"string\", \"default\": \"path\" }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"u\" /* inherits */])(GeoPath, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var out = pulse.fork(pulse.ALL),\n path = this.value,\n field = _.field || __WEBPACK_IMPORTED_MODULE_2_vega_util__[\"t\" /* identity */],\n as = _.as || 'path',\n flag = out.SOURCE;\n\n function set(t) { t[as] = path(field(t)); }\n\n if (!path || _.modified()) {\n // parameters updated, reset and reflow\n this.value = path = Object(__WEBPACK_IMPORTED_MODULE_1_vega_projection__[\"a\" /* getProjectionPath */])(_.projection);\n out.materialize().reflow();\n } else {\n flag = field === __WEBPACK_IMPORTED_MODULE_2_vega_util__[\"t\" /* identity */] || pulse.modified(field.fields)\n ? out.ADD_MOD\n : out.ADD;\n }\n\n var prev = initPath(path, _.pointRadius);\n out.visit(flag, set);\n path.pointRadius(prev);\n\n return out.modifies(as);\n};\n\nfunction initPath(path, pointRadius) {\n var prev = path.pointRadius();\n path.context(null);\n if (pointRadius != null) {\n path.pointRadius(pointRadius);\n }\n return prev;\n}\n\n\n/***/ }),\n/* 752 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return projectionProperties; });\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = projection;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = getProjectionPath;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_geo__ = __webpack_require__(177);\n\n\nvar defaultPath = Object(__WEBPACK_IMPORTED_MODULE_0_d3_geo__[\"r\" /* geoPath */])();\n\nvar projectionProperties = [\n // standard properties in d3-geo\n 'clipAngle',\n 'clipExtent',\n 'scale',\n 'translate',\n 'center',\n 'rotate',\n 'parallels',\n 'precision',\n 'reflectX',\n 'reflectY',\n\n // extended properties in d3-geo-projections\n 'coefficient',\n 'distance',\n 'fraction',\n 'lobes',\n 'parallel',\n 'radius',\n 'ratio',\n 'spacing',\n 'tilt'\n];\n\n/**\n * Augment projections with their type and a copy method.\n */\nfunction create(type, constructor) {\n return function projection() {\n var p = constructor();\n\n p.type = type;\n\n p.path = Object(__WEBPACK_IMPORTED_MODULE_0_d3_geo__[\"r\" /* geoPath */])().projection(p);\n\n p.copy = p.copy || function() {\n var c = projection();\n projectionProperties.forEach(function(prop) {\n if (p.hasOwnProperty(prop)) c[prop](p[prop]());\n });\n c.path.pointRadius(p.path.pointRadius());\n return c;\n };\n\n return p;\n };\n}\n\nfunction projection(type, proj) {\n if (!type || typeof type !== 'string') {\n throw new Error('Projection type must be a name string.');\n }\n type = type.toLowerCase();\n if (arguments.length > 1) {\n projections[type] = create(type, proj);\n return this;\n } else {\n return projections.hasOwnProperty(type) ? projections[type] : null;\n }\n}\n\nfunction getProjectionPath(proj) {\n return (proj && proj.path) || defaultPath;\n}\n\nvar projections = {\n // base d3-geo projection types\n albers: __WEBPACK_IMPORTED_MODULE_0_d3_geo__[\"a\" /* geoAlbers */],\n albersusa: __WEBPACK_IMPORTED_MODULE_0_d3_geo__[\"b\" /* geoAlbersUsa */],\n azimuthalequalarea: __WEBPACK_IMPORTED_MODULE_0_d3_geo__[\"d\" /* geoAzimuthalEqualArea */],\n azimuthalequidistant: __WEBPACK_IMPORTED_MODULE_0_d3_geo__[\"e\" /* geoAzimuthalEquidistant */],\n conicconformal: __WEBPACK_IMPORTED_MODULE_0_d3_geo__[\"h\" /* geoConicConformal */],\n conicequalarea: __WEBPACK_IMPORTED_MODULE_0_d3_geo__[\"i\" /* geoConicEqualArea */],\n conicequidistant: __WEBPACK_IMPORTED_MODULE_0_d3_geo__[\"j\" /* geoConicEquidistant */],\n equirectangular: __WEBPACK_IMPORTED_MODULE_0_d3_geo__[\"k\" /* geoEquirectangular */],\n gnomonic: __WEBPACK_IMPORTED_MODULE_0_d3_geo__[\"l\" /* geoGnomonic */],\n identity: __WEBPACK_IMPORTED_MODULE_0_d3_geo__[\"n\" /* geoIdentity */],\n mercator: __WEBPACK_IMPORTED_MODULE_0_d3_geo__[\"o\" /* geoMercator */],\n naturalEarth1: __WEBPACK_IMPORTED_MODULE_0_d3_geo__[\"p\" /* geoNaturalEarth1 */],\n orthographic: __WEBPACK_IMPORTED_MODULE_0_d3_geo__[\"q\" /* geoOrthographic */],\n stereographic: __WEBPACK_IMPORTED_MODULE_0_d3_geo__[\"s\" /* geoStereographic */],\n transversemercator: __WEBPACK_IMPORTED_MODULE_0_d3_geo__[\"t\" /* geoTransverseMercator */]\n};\n\nfor (var key in projections) {\n projection(key, projections[key]);\n}\n\n\n/***/ }),\n/* 753 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__adder__ = __webpack_require__(58);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__area__ = __webpack_require__(319);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__cartesian__ = __webpack_require__(78);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__math__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__stream__ = __webpack_require__(54);\n\n\n\n\n\n\nvar lambda0, phi0, lambda1, phi1, // bounds\n lambda2, // previous lambda-coordinate\n lambda00, phi00, // first point\n p0, // previous 3D point\n deltaSum = Object(__WEBPACK_IMPORTED_MODULE_0__adder__[\"a\" /* default */])(),\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 __WEBPACK_IMPORTED_MODULE_1__area__[\"b\" /* areaStream */].polygonStart();\n },\n polygonEnd: function() {\n __WEBPACK_IMPORTED_MODULE_1__area__[\"b\" /* areaStream */].polygonEnd();\n boundsStream.point = boundsPoint;\n boundsStream.lineStart = boundsLineStart;\n boundsStream.lineEnd = boundsLineEnd;\n if (__WEBPACK_IMPORTED_MODULE_1__area__[\"a\" /* areaRingSum */] < 0) lambda0 = -(lambda1 = 180), phi0 = -(phi1 = 90);\n else if (deltaSum > __WEBPACK_IMPORTED_MODULE_3__math__[\"i\" /* epsilon */]) phi1 = 90;\n else if (deltaSum < -__WEBPACK_IMPORTED_MODULE_3__math__[\"i\" /* 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 = Object(__WEBPACK_IMPORTED_MODULE_2__cartesian__[\"a\" /* cartesian */])([lambda * __WEBPACK_IMPORTED_MODULE_3__math__[\"r\" /* radians */], phi * __WEBPACK_IMPORTED_MODULE_3__math__[\"r\" /* radians */]]);\n if (p0) {\n var normal = Object(__WEBPACK_IMPORTED_MODULE_2__cartesian__[\"c\" /* cartesianCross */])(p0, p),\n equatorial = [normal[1], -normal[0], 0],\n inflection = Object(__WEBPACK_IMPORTED_MODULE_2__cartesian__[\"c\" /* cartesianCross */])(equatorial, normal);\n Object(__WEBPACK_IMPORTED_MODULE_2__cartesian__[\"e\" /* cartesianNormalizeInPlace */])(inflection);\n inflection = Object(__WEBPACK_IMPORTED_MODULE_2__cartesian__[\"g\" /* spherical */])(inflection);\n var delta = lambda - lambda2,\n sign = delta > 0 ? 1 : -1,\n lambdai = inflection[0] * __WEBPACK_IMPORTED_MODULE_3__math__[\"h\" /* degrees */] * sign,\n phii,\n antimeridian = Object(__WEBPACK_IMPORTED_MODULE_3__math__[\"a\" /* abs */])(delta) > 180;\n if (antimeridian ^ (sign * lambda2 < lambdai && lambdai < sign * lambda)) {\n phii = inflection[1] * __WEBPACK_IMPORTED_MODULE_3__math__[\"h\" /* 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] * __WEBPACK_IMPORTED_MODULE_3__math__[\"h\" /* 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(Object(__WEBPACK_IMPORTED_MODULE_3__math__[\"a\" /* abs */])(delta) > 180 ? delta + (delta > 0 ? 360 : -360) : delta);\n } else {\n lambda00 = lambda, phi00 = phi;\n }\n __WEBPACK_IMPORTED_MODULE_1__area__[\"b\" /* areaStream */].point(lambda, phi);\n linePoint(lambda, phi);\n}\n\nfunction boundsRingStart() {\n __WEBPACK_IMPORTED_MODULE_1__area__[\"b\" /* areaStream */].lineStart();\n}\n\nfunction boundsRingEnd() {\n boundsRingPoint(lambda00, phi00);\n __WEBPACK_IMPORTED_MODULE_1__area__[\"b\" /* areaStream */].lineEnd();\n if (Object(__WEBPACK_IMPORTED_MODULE_3__math__[\"a\" /* abs */])(deltaSum) > __WEBPACK_IMPORTED_MODULE_3__math__[\"i\" /* 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\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(feature) {\n var i, n, a, b, merged, deltaMax, delta;\n\n phi1 = lambda1 = -(lambda0 = phi0 = Infinity);\n ranges = [];\n Object(__WEBPACK_IMPORTED_MODULE_4__stream__[\"a\" /* default */])(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\n\n/***/ }),\n/* 754 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__math__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__noop__ = __webpack_require__(43);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__stream__ = __webpack_require__(54);\n\n\n\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: __WEBPACK_IMPORTED_MODULE_1__noop__[\"a\" /* default */],\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 *= __WEBPACK_IMPORTED_MODULE_0__math__[\"r\" /* radians */], phi *= __WEBPACK_IMPORTED_MODULE_0__math__[\"r\" /* radians */];\n var cosPhi = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"g\" /* cos */])(phi);\n centroidPointCartesian(cosPhi * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"g\" /* cos */])(lambda), cosPhi * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(lambda), Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* 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 *= __WEBPACK_IMPORTED_MODULE_0__math__[\"r\" /* radians */], phi *= __WEBPACK_IMPORTED_MODULE_0__math__[\"r\" /* radians */];\n var cosPhi = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"g\" /* cos */])(phi);\n x0 = cosPhi * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"g\" /* cos */])(lambda);\n y0 = cosPhi * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(lambda);\n z0 = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(phi);\n centroidStream.point = centroidLinePoint;\n centroidPointCartesian(x0, y0, z0);\n}\n\nfunction centroidLinePoint(lambda, phi) {\n lambda *= __WEBPACK_IMPORTED_MODULE_0__math__[\"r\" /* radians */], phi *= __WEBPACK_IMPORTED_MODULE_0__math__[\"r\" /* radians */];\n var cosPhi = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"g\" /* cos */])(phi),\n x = cosPhi * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"g\" /* cos */])(lambda),\n y = cosPhi * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(lambda),\n z = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(phi),\n w = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"e\" /* atan2 */])(Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"u\" /* 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 *= __WEBPACK_IMPORTED_MODULE_0__math__[\"r\" /* radians */], phi *= __WEBPACK_IMPORTED_MODULE_0__math__[\"r\" /* radians */];\n centroidStream.point = centroidRingPoint;\n var cosPhi = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"g\" /* cos */])(phi);\n x0 = cosPhi * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"g\" /* cos */])(lambda);\n y0 = cosPhi * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(lambda);\n z0 = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(phi);\n centroidPointCartesian(x0, y0, z0);\n}\n\nfunction centroidRingPoint(lambda, phi) {\n lambda *= __WEBPACK_IMPORTED_MODULE_0__math__[\"r\" /* radians */], phi *= __WEBPACK_IMPORTED_MODULE_0__math__[\"r\" /* radians */];\n var cosPhi = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"g\" /* cos */])(phi),\n x = cosPhi * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"g\" /* cos */])(lambda),\n y = cosPhi * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(lambda),\n z = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(phi),\n cx = y0 * z - z0 * y,\n cy = z0 * x - x0 * z,\n cz = x0 * y - y0 * x,\n m = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"u\" /* sqrt */])(cx * cx + cy * cy + cz * cz),\n w = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"c\" /* 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\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(object) {\n W0 = W1 =\n X0 = Y0 = Z0 =\n X1 = Y1 = Z1 =\n X2 = Y2 = Z2 = 0;\n Object(__WEBPACK_IMPORTED_MODULE_2__stream__[\"a\" /* default */])(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 < __WEBPACK_IMPORTED_MODULE_0__math__[\"j\" /* 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 < __WEBPACK_IMPORTED_MODULE_0__math__[\"i\" /* 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 < __WEBPACK_IMPORTED_MODULE_0__math__[\"j\" /* epsilon2 */]) return [NaN, NaN];\n }\n\n return [Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"e\" /* atan2 */])(y, x) * __WEBPACK_IMPORTED_MODULE_0__math__[\"h\" /* degrees */], Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"c\" /* asin */])(z / Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"u\" /* sqrt */])(m)) * __WEBPACK_IMPORTED_MODULE_0__math__[\"h\" /* degrees */]];\n});\n\n\n/***/ }),\n/* 755 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(x) {\n return function() {\n return x;\n };\n});\n\n\n/***/ }),\n/* 756 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__rectangle__ = __webpack_require__(115);\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (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 = Object(__WEBPACK_IMPORTED_MODULE_0__rectangle__[\"a\" /* default */])(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\n\n/***/ }),\n/* 757 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 758 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__polygonContains__ = __webpack_require__(327);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__distance__ = __webpack_require__(329);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__math__ = __webpack_require__(6);\n\n\n\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 Object(__WEBPACK_IMPORTED_MODULE_1__distance__[\"a\" /* default */])(coordinates, point) === 0;\n}\n\nfunction containsLine(coordinates, point) {\n var ab = Object(__WEBPACK_IMPORTED_MODULE_1__distance__[\"a\" /* default */])(coordinates[0], coordinates[1]),\n ao = Object(__WEBPACK_IMPORTED_MODULE_1__distance__[\"a\" /* default */])(coordinates[0], point),\n ob = Object(__WEBPACK_IMPORTED_MODULE_1__distance__[\"a\" /* default */])(point, coordinates[1]);\n return ao + ob <= ab + __WEBPACK_IMPORTED_MODULE_2__math__[\"i\" /* epsilon */];\n}\n\nfunction containsPolygon(coordinates, point) {\n return !!Object(__WEBPACK_IMPORTED_MODULE_0__polygonContains__[\"a\" /* default */])(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] * __WEBPACK_IMPORTED_MODULE_2__math__[\"r\" /* radians */], point[1] * __WEBPACK_IMPORTED_MODULE_2__math__[\"r\" /* radians */]];\n}\n\n/* unused harmony default export */ var _unused_webpack_default_export = (function(object, point) {\n return (object && containsObjectType.hasOwnProperty(object.type)\n ? containsObjectType[object.type]\n : containsGeometry)(object, point);\n});\n\n\n/***/ }),\n/* 759 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = graticule;\n/* unused harmony export graticule10 */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_array__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__math__ = __webpack_require__(6);\n\n\n\nfunction graticuleX(y0, y1, dy) {\n var y = Object(__WEBPACK_IMPORTED_MODULE_0_d3_array__[\"n\" /* range */])(y0, y1 - __WEBPACK_IMPORTED_MODULE_1__math__[\"i\" /* 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 = Object(__WEBPACK_IMPORTED_MODULE_0_d3_array__[\"n\" /* range */])(x0, x1 - __WEBPACK_IMPORTED_MODULE_1__math__[\"i\" /* epsilon */], dx).concat(x1);\n return function(y) { return x.map(function(x) { return [x, y]; }); };\n}\n\nfunction 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 Object(__WEBPACK_IMPORTED_MODULE_0_d3_array__[\"n\" /* range */])(Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"f\" /* ceil */])(X0 / DX) * DX, X1, DX).map(X)\n .concat(Object(__WEBPACK_IMPORTED_MODULE_0_d3_array__[\"n\" /* range */])(Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"f\" /* ceil */])(Y0 / DY) * DY, Y1, DY).map(Y))\n .concat(Object(__WEBPACK_IMPORTED_MODULE_0_d3_array__[\"n\" /* range */])(Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"f\" /* ceil */])(x0 / dx) * dx, x1, dx).filter(function(x) { return Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"a\" /* abs */])(x % DX) > __WEBPACK_IMPORTED_MODULE_1__math__[\"i\" /* epsilon */]; }).map(x))\n .concat(Object(__WEBPACK_IMPORTED_MODULE_0_d3_array__[\"n\" /* range */])(Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"f\" /* ceil */])(y0 / dy) * dy, y1, dy).filter(function(y) { return Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"a\" /* abs */])(y % DY) > __WEBPACK_IMPORTED_MODULE_1__math__[\"i\" /* 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 + __WEBPACK_IMPORTED_MODULE_1__math__[\"i\" /* epsilon */]], [180, 90 - __WEBPACK_IMPORTED_MODULE_1__math__[\"i\" /* epsilon */]]])\n .extentMinor([[-180, -80 - __WEBPACK_IMPORTED_MODULE_1__math__[\"i\" /* epsilon */]], [180, 80 + __WEBPACK_IMPORTED_MODULE_1__math__[\"i\" /* epsilon */]]]);\n}\n\nfunction graticule10() {\n return graticule()();\n}\n\n\n/***/ }),\n/* 760 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__math__ = __webpack_require__(6);\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (function(a, b) {\n var x0 = a[0] * __WEBPACK_IMPORTED_MODULE_0__math__[\"r\" /* radians */],\n y0 = a[1] * __WEBPACK_IMPORTED_MODULE_0__math__[\"r\" /* radians */],\n x1 = b[0] * __WEBPACK_IMPORTED_MODULE_0__math__[\"r\" /* radians */],\n y1 = b[1] * __WEBPACK_IMPORTED_MODULE_0__math__[\"r\" /* radians */],\n cy0 = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"g\" /* cos */])(y0),\n sy0 = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(y0),\n cy1 = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"g\" /* cos */])(y1),\n sy1 = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(y1),\n kx0 = cy0 * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"g\" /* cos */])(x0),\n ky0 = cy0 * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(x0),\n kx1 = cy1 * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"g\" /* cos */])(x1),\n ky1 = cy1 * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(x1),\n d = 2 * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"c\" /* asin */])(Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"u\" /* sqrt */])(Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"m\" /* haversin */])(y1 - y0) + cy0 * cy1 * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"m\" /* haversin */])(x1 - x0))),\n k = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(d);\n\n var interpolate = d ? function(t) {\n var B = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(t *= d) / k,\n A = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* 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 Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"e\" /* atan2 */])(y, x) * __WEBPACK_IMPORTED_MODULE_0__math__[\"h\" /* degrees */],\n Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"e\" /* atan2 */])(z, Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"u\" /* sqrt */])(x * x + y * y)) * __WEBPACK_IMPORTED_MODULE_0__math__[\"h\" /* degrees */]\n ];\n } : function() {\n return [x0 * __WEBPACK_IMPORTED_MODULE_0__math__[\"h\" /* degrees */], y0 * __WEBPACK_IMPORTED_MODULE_0__math__[\"h\" /* degrees */]];\n };\n\n interpolate.distance = d;\n\n return interpolate;\n});\n\n\n/***/ }),\n/* 761 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__identity__ = __webpack_require__(178);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__stream__ = __webpack_require__(54);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__area__ = __webpack_require__(762);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__bounds__ = __webpack_require__(331);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__centroid__ = __webpack_require__(763);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__context__ = __webpack_require__(764);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__measure__ = __webpack_require__(765);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__string__ = __webpack_require__(766);\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (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 Object(__WEBPACK_IMPORTED_MODULE_1__stream__[\"a\" /* default */])(object, projectionStream(contextStream));\n }\n return contextStream.result();\n }\n\n path.area = function(object) {\n Object(__WEBPACK_IMPORTED_MODULE_1__stream__[\"a\" /* default */])(object, projectionStream(__WEBPACK_IMPORTED_MODULE_2__area__[\"a\" /* default */]));\n return __WEBPACK_IMPORTED_MODULE_2__area__[\"a\" /* default */].result();\n };\n\n path.measure = function(object) {\n Object(__WEBPACK_IMPORTED_MODULE_1__stream__[\"a\" /* default */])(object, projectionStream(__WEBPACK_IMPORTED_MODULE_6__measure__[\"a\" /* default */]));\n return __WEBPACK_IMPORTED_MODULE_6__measure__[\"a\" /* default */].result();\n };\n\n path.bounds = function(object) {\n Object(__WEBPACK_IMPORTED_MODULE_1__stream__[\"a\" /* default */])(object, projectionStream(__WEBPACK_IMPORTED_MODULE_3__bounds__[\"a\" /* default */]));\n return __WEBPACK_IMPORTED_MODULE_3__bounds__[\"a\" /* default */].result();\n };\n\n path.centroid = function(object) {\n Object(__WEBPACK_IMPORTED_MODULE_1__stream__[\"a\" /* default */])(object, projectionStream(__WEBPACK_IMPORTED_MODULE_4__centroid__[\"a\" /* default */]));\n return __WEBPACK_IMPORTED_MODULE_4__centroid__[\"a\" /* default */].result();\n };\n\n path.projection = function(_) {\n return arguments.length ? (projectionStream = _ == null ? (projection = null, __WEBPACK_IMPORTED_MODULE_0__identity__[\"a\" /* default */]) : (projection = _).stream, path) : projection;\n };\n\n path.context = function(_) {\n if (!arguments.length) return context;\n contextStream = _ == null ? (context = null, new __WEBPACK_IMPORTED_MODULE_7__string__[\"a\" /* default */]) : new __WEBPACK_IMPORTED_MODULE_5__context__[\"a\" /* default */](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\n\n/***/ }),\n/* 762 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__adder__ = __webpack_require__(58);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__math__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__noop__ = __webpack_require__(43);\n\n\n\n\nvar areaSum = Object(__WEBPACK_IMPORTED_MODULE_0__adder__[\"a\" /* default */])(),\n areaRingSum = Object(__WEBPACK_IMPORTED_MODULE_0__adder__[\"a\" /* default */])(),\n x00,\n y00,\n x0,\n y0;\n\nvar areaStream = {\n point: __WEBPACK_IMPORTED_MODULE_2__noop__[\"a\" /* default */],\n lineStart: __WEBPACK_IMPORTED_MODULE_2__noop__[\"a\" /* default */],\n lineEnd: __WEBPACK_IMPORTED_MODULE_2__noop__[\"a\" /* default */],\n polygonStart: function() {\n areaStream.lineStart = areaRingStart;\n areaStream.lineEnd = areaRingEnd;\n },\n polygonEnd: function() {\n areaStream.lineStart = areaStream.lineEnd = areaStream.point = __WEBPACK_IMPORTED_MODULE_2__noop__[\"a\" /* default */];\n areaSum.add(Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"a\" /* 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\n/* harmony default export */ __webpack_exports__[\"a\"] = (areaStream);\n\n\n/***/ }),\n/* 763 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__math__ = __webpack_require__(6);\n\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 = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"u\" /* 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 = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"u\" /* 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\n/* harmony default export */ __webpack_exports__[\"a\"] = (centroidStream);\n\n\n/***/ }),\n/* 764 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = PathContext;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__math__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__noop__ = __webpack_require__(43);\n\n\n\nfunction 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, __WEBPACK_IMPORTED_MODULE_0__math__[\"w\" /* tau */]);\n break;\n }\n }\n },\n result: __WEBPACK_IMPORTED_MODULE_1__noop__[\"a\" /* default */]\n};\n\n\n/***/ }),\n/* 765 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__adder__ = __webpack_require__(58);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__math__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__noop__ = __webpack_require__(43);\n\n\n\n\nvar lengthSum = Object(__WEBPACK_IMPORTED_MODULE_0__adder__[\"a\" /* default */])(),\n lengthRing,\n x00,\n y00,\n x0,\n y0;\n\nvar lengthStream = {\n point: __WEBPACK_IMPORTED_MODULE_2__noop__[\"a\" /* default */],\n lineStart: function() {\n lengthStream.point = lengthPointFirst;\n },\n lineEnd: function() {\n if (lengthRing) lengthPoint(x00, y00);\n lengthStream.point = __WEBPACK_IMPORTED_MODULE_2__noop__[\"a\" /* default */];\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(Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"u\" /* sqrt */])(x0 * x0 + y0 * y0));\n x0 = x, y0 = y;\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (lengthStream);\n\n\n/***/ }),\n/* 766 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = PathString;\nfunction 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\n\n/***/ }),\n/* 767 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__cartesian__ = __webpack_require__(78);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__math__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__transform__ = __webpack_require__(116);\n\n\n\n\nvar maxDepth = 16, // maximum depth of subdivision\n cosMinDistance = Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"g\" /* cos */])(30 * __WEBPACK_IMPORTED_MODULE_1__math__[\"r\" /* radians */]); // cos(minimum angular distance)\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(project, delta2) {\n return +delta2 ? resample(project, delta2) : resampleNone(project);\n});\n\nfunction resampleNone(project) {\n return Object(__WEBPACK_IMPORTED_MODULE_2__transform__[\"a\" /* 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 = Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"u\" /* sqrt */])(a * a + b * b + c * c),\n phi2 = Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"c\" /* asin */])(c /= m),\n lambda2 = Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"a\" /* abs */])(Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"a\" /* abs */])(c) - 1) < __WEBPACK_IMPORTED_MODULE_1__math__[\"i\" /* epsilon */] || Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"a\" /* abs */])(lambda0 - lambda1) < __WEBPACK_IMPORTED_MODULE_1__math__[\"i\" /* epsilon */] ? (lambda0 + lambda1) / 2 : Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"e\" /* 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 || Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"a\" /* 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 = Object(__WEBPACK_IMPORTED_MODULE_0__cartesian__[\"a\" /* 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\n\n/***/ }),\n/* 768 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = cylindricalEqualAreaRaw;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__math__ = __webpack_require__(6);\n\n\nfunction cylindricalEqualAreaRaw(phi0) {\n var cosPhi0 = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"g\" /* cos */])(phi0);\n\n function forward(lambda, phi) {\n return [lambda * cosPhi0, Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(phi) / cosPhi0];\n }\n\n forward.invert = function(x, y) {\n return [x / cosPhi0, Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"c\" /* asin */])(y * cosPhi0)];\n };\n\n return forward;\n}\n\n\n/***/ }),\n/* 769 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__math__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__albers__ = __webpack_require__(332);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__conicEqualArea__ = __webpack_require__(179);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__fit__ = __webpack_require__(181);\n\n\n\n\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\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n var cache,\n cacheStream,\n lower48 = Object(__WEBPACK_IMPORTED_MODULE_1__albers__[\"a\" /* default */])(), lower48Point,\n alaska = Object(__WEBPACK_IMPORTED_MODULE_2__conicEqualArea__[\"a\" /* default */])().rotate([154, 0]).center([-2, 58.5]).parallels([55, 65]), alaskaPoint, // EPSG:3338\n hawaii = Object(__WEBPACK_IMPORTED_MODULE_2__conicEqualArea__[\"a\" /* default */])().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 + __WEBPACK_IMPORTED_MODULE_0__math__[\"i\" /* epsilon */], y + 0.120 * k + __WEBPACK_IMPORTED_MODULE_0__math__[\"i\" /* epsilon */]], [x - 0.214 * k - __WEBPACK_IMPORTED_MODULE_0__math__[\"i\" /* epsilon */], y + 0.234 * k - __WEBPACK_IMPORTED_MODULE_0__math__[\"i\" /* epsilon */]]])\n .stream(pointStream);\n\n hawaiiPoint = hawaii\n .translate([x - 0.205 * k, y + 0.212 * k])\n .clipExtent([[x - 0.214 * k + __WEBPACK_IMPORTED_MODULE_0__math__[\"i\" /* epsilon */], y + 0.166 * k + __WEBPACK_IMPORTED_MODULE_0__math__[\"i\" /* epsilon */]], [x - 0.115 * k - __WEBPACK_IMPORTED_MODULE_0__math__[\"i\" /* epsilon */], y + 0.234 * k - __WEBPACK_IMPORTED_MODULE_0__math__[\"i\" /* epsilon */]]])\n .stream(pointStream);\n\n return reset();\n };\n\n albersUsa.fitExtent = function(extent, object) {\n return Object(__WEBPACK_IMPORTED_MODULE_3__fit__[\"a\" /* fitExtent */])(albersUsa, extent, object);\n };\n\n albersUsa.fitSize = function(size, object) {\n return Object(__WEBPACK_IMPORTED_MODULE_3__fit__[\"c\" /* fitSize */])(albersUsa, size, object);\n };\n\n albersUsa.fitWidth = function(width, object) {\n return Object(__WEBPACK_IMPORTED_MODULE_3__fit__[\"d\" /* fitWidth */])(albersUsa, width, object);\n };\n\n albersUsa.fitHeight = function(height, object) {\n return Object(__WEBPACK_IMPORTED_MODULE_3__fit__[\"b\" /* 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\n\n/***/ }),\n/* 770 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export azimuthalEqualAreaRaw */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__math__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__azimuthal__ = __webpack_require__(79);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__index__ = __webpack_require__(34);\n\n\n\n\nvar azimuthalEqualAreaRaw = Object(__WEBPACK_IMPORTED_MODULE_1__azimuthal__[\"b\" /* azimuthalRaw */])(function(cxcy) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"u\" /* sqrt */])(2 / (1 + cxcy));\n});\n\nazimuthalEqualAreaRaw.invert = Object(__WEBPACK_IMPORTED_MODULE_1__azimuthal__[\"a\" /* azimuthalInvert */])(function(z) {\n return 2 * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"c\" /* asin */])(z / 2);\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n return Object(__WEBPACK_IMPORTED_MODULE_2__index__[\"a\" /* default */])(azimuthalEqualAreaRaw)\n .scale(124.75)\n .clipAngle(180 - 1e-3);\n});\n\n\n/***/ }),\n/* 771 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export azimuthalEquidistantRaw */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__math__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__azimuthal__ = __webpack_require__(79);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__index__ = __webpack_require__(34);\n\n\n\n\nvar azimuthalEquidistantRaw = Object(__WEBPACK_IMPORTED_MODULE_1__azimuthal__[\"b\" /* azimuthalRaw */])(function(c) {\n return (c = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"b\" /* acos */])(c)) && c / Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(c);\n});\n\nazimuthalEquidistantRaw.invert = Object(__WEBPACK_IMPORTED_MODULE_1__azimuthal__[\"a\" /* azimuthalInvert */])(function(z) {\n return z;\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n return Object(__WEBPACK_IMPORTED_MODULE_2__index__[\"a\" /* default */])(azimuthalEquidistantRaw)\n .scale(79.4188)\n .clipAngle(180 - 1e-3);\n});\n\n\n/***/ }),\n/* 772 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export conicConformalRaw */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__math__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__conic__ = __webpack_require__(180);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mercator__ = __webpack_require__(182);\n\n\n\n\nfunction tany(y) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"v\" /* tan */])((__WEBPACK_IMPORTED_MODULE_0__math__[\"l\" /* halfPi */] + y) / 2);\n}\n\nfunction conicConformalRaw(y0, y1) {\n var cy0 = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"g\" /* cos */])(y0),\n n = y0 === y1 ? Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(y0) : Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"n\" /* log */])(cy0 / Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"g\" /* cos */])(y1)) / Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"n\" /* log */])(tany(y1) / tany(y0)),\n f = cy0 * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"p\" /* pow */])(tany(y0), n) / n;\n\n if (!n) return __WEBPACK_IMPORTED_MODULE_2__mercator__[\"c\" /* mercatorRaw */];\n\n function project(x, y) {\n if (f > 0) { if (y < -__WEBPACK_IMPORTED_MODULE_0__math__[\"l\" /* halfPi */] + __WEBPACK_IMPORTED_MODULE_0__math__[\"i\" /* epsilon */]) y = -__WEBPACK_IMPORTED_MODULE_0__math__[\"l\" /* halfPi */] + __WEBPACK_IMPORTED_MODULE_0__math__[\"i\" /* epsilon */]; }\n else { if (y > __WEBPACK_IMPORTED_MODULE_0__math__[\"l\" /* halfPi */] - __WEBPACK_IMPORTED_MODULE_0__math__[\"i\" /* epsilon */]) y = __WEBPACK_IMPORTED_MODULE_0__math__[\"l\" /* halfPi */] - __WEBPACK_IMPORTED_MODULE_0__math__[\"i\" /* epsilon */]; }\n var r = f / Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"p\" /* pow */])(tany(y), n);\n return [r * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(n * x), f - r * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"g\" /* cos */])(n * x)];\n }\n\n project.invert = function(x, y) {\n var fy = f - y, r = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"s\" /* sign */])(n) * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"u\" /* sqrt */])(x * x + fy * fy);\n return [Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"e\" /* atan2 */])(x, Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"a\" /* abs */])(fy)) / n * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"s\" /* sign */])(fy), 2 * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"d\" /* atan */])(Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"p\" /* pow */])(f / r, 1 / n)) - __WEBPACK_IMPORTED_MODULE_0__math__[\"l\" /* halfPi */]];\n };\n\n return project;\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n return Object(__WEBPACK_IMPORTED_MODULE_1__conic__[\"a\" /* conicProjection */])(conicConformalRaw)\n .scale(109.5)\n .parallels([30, 30]);\n});\n\n\n/***/ }),\n/* 773 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export conicEquidistantRaw */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__math__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__conic__ = __webpack_require__(180);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__equirectangular__ = __webpack_require__(333);\n\n\n\n\nfunction conicEquidistantRaw(y0, y1) {\n var cy0 = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"g\" /* cos */])(y0),\n n = y0 === y1 ? Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(y0) : (cy0 - Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"g\" /* cos */])(y1)) / (y1 - y0),\n g = cy0 / n + y0;\n\n if (Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"a\" /* abs */])(n) < __WEBPACK_IMPORTED_MODULE_0__math__[\"i\" /* epsilon */]) return __WEBPACK_IMPORTED_MODULE_2__equirectangular__[\"b\" /* equirectangularRaw */];\n\n function project(x, y) {\n var gy = g - y, nx = n * x;\n return [gy * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(nx), g - gy * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"g\" /* cos */])(nx)];\n }\n\n project.invert = function(x, y) {\n var gy = g - y;\n return [Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"e\" /* atan2 */])(x, Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"a\" /* abs */])(gy)) / n * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"s\" /* sign */])(gy), g - Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"s\" /* sign */])(n) * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"u\" /* sqrt */])(x * x + gy * gy)];\n };\n\n return project;\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n return Object(__WEBPACK_IMPORTED_MODULE_1__conic__[\"a\" /* conicProjection */])(conicEquidistantRaw)\n .scale(131.154)\n .center([0, 13.9389]);\n});\n\n\n/***/ }),\n/* 774 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export gnomonicRaw */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__math__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__azimuthal__ = __webpack_require__(79);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__index__ = __webpack_require__(34);\n\n\n\n\nfunction gnomonicRaw(x, y) {\n var cy = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"g\" /* cos */])(y), k = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"g\" /* cos */])(x) * cy;\n return [cy * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(x) / k, Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(y) / k];\n}\n\ngnomonicRaw.invert = Object(__WEBPACK_IMPORTED_MODULE_1__azimuthal__[\"a\" /* azimuthalInvert */])(__WEBPACK_IMPORTED_MODULE_0__math__[\"d\" /* atan */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n return Object(__WEBPACK_IMPORTED_MODULE_2__index__[\"a\" /* default */])(gnomonicRaw)\n .scale(144.049)\n .clipAngle(60);\n});\n\n\n/***/ }),\n/* 775 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__clip_rectangle__ = __webpack_require__(115);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__identity__ = __webpack_require__(178);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__transform__ = __webpack_require__(116);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__fit__ = __webpack_require__(181);\n\n\n\n\n\nfunction scaleTranslate(kx, ky, tx, ty) {\n return kx === 1 && ky === 1 && tx === 0 && ty === 0 ? __WEBPACK_IMPORTED_MODULE_1__identity__[\"a\" /* default */] : Object(__WEBPACK_IMPORTED_MODULE_2__transform__[\"a\" /* transformer */])({\n point: function(x, y) {\n this.stream.point(x * kx + tx, y * ky + ty);\n }\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n var k = 1, tx = 0, ty = 0, sx = 1, sy = 1, transform = __WEBPACK_IMPORTED_MODULE_1__identity__[\"a\" /* default */], // scale, translate and reflect\n x0 = null, y0, x1, y1, // clip extent\n postclip = __WEBPACK_IMPORTED_MODULE_1__identity__[\"a\" /* default */],\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, __WEBPACK_IMPORTED_MODULE_1__identity__[\"a\" /* default */]) : Object(__WEBPACK_IMPORTED_MODULE_0__clip_rectangle__[\"a\" /* default */])(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 Object(__WEBPACK_IMPORTED_MODULE_3__fit__[\"a\" /* fitExtent */])(projection, extent, object);\n },\n fitSize: function(size, object) {\n return Object(__WEBPACK_IMPORTED_MODULE_3__fit__[\"c\" /* fitSize */])(projection, size, object);\n },\n fitWidth: function(width, object) {\n return Object(__WEBPACK_IMPORTED_MODULE_3__fit__[\"d\" /* fitWidth */])(projection, width, object);\n },\n fitHeight: function(height, object) {\n return Object(__WEBPACK_IMPORTED_MODULE_3__fit__[\"b\" /* fitHeight */])(projection, height, object);\n }\n };\n});\n\n\n/***/ }),\n/* 776 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export naturalEarth1Raw */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__index__ = __webpack_require__(34);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__math__ = __webpack_require__(6);\n\n\n\nfunction 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 (Object(__WEBPACK_IMPORTED_MODULE_1__math__[\"a\" /* abs */])(delta) > __WEBPACK_IMPORTED_MODULE_1__math__[\"i\" /* 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\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n return Object(__WEBPACK_IMPORTED_MODULE_0__index__[\"a\" /* default */])(naturalEarth1Raw)\n .scale(175.295);\n});\n\n\n/***/ }),\n/* 777 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export orthographicRaw */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__math__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__azimuthal__ = __webpack_require__(79);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__index__ = __webpack_require__(34);\n\n\n\n\nfunction orthographicRaw(x, y) {\n return [Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"g\" /* cos */])(y) * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(x), Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(y)];\n}\n\northographicRaw.invert = Object(__WEBPACK_IMPORTED_MODULE_1__azimuthal__[\"a\" /* azimuthalInvert */])(__WEBPACK_IMPORTED_MODULE_0__math__[\"c\" /* asin */]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n return Object(__WEBPACK_IMPORTED_MODULE_2__index__[\"a\" /* default */])(orthographicRaw)\n .scale(249.5)\n .clipAngle(90 + __WEBPACK_IMPORTED_MODULE_0__math__[\"i\" /* epsilon */]);\n});\n\n\n/***/ }),\n/* 778 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export stereographicRaw */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__math__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__azimuthal__ = __webpack_require__(79);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__index__ = __webpack_require__(34);\n\n\n\n\nfunction stereographicRaw(x, y) {\n var cy = Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"g\" /* cos */])(y), k = 1 + Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"g\" /* cos */])(x) * cy;\n return [cy * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(x) / k, Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"t\" /* sin */])(y) / k];\n}\n\nstereographicRaw.invert = Object(__WEBPACK_IMPORTED_MODULE_1__azimuthal__[\"a\" /* azimuthalInvert */])(function(z) {\n return 2 * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"d\" /* atan */])(z);\n});\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n return Object(__WEBPACK_IMPORTED_MODULE_2__index__[\"a\" /* default */])(stereographicRaw)\n .scale(250)\n .clipAngle(142);\n});\n\n\n/***/ }),\n/* 779 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export transverseMercatorRaw */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__math__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mercator__ = __webpack_require__(182);\n\n\n\nfunction transverseMercatorRaw(lambda, phi) {\n return [Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"n\" /* log */])(Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"v\" /* tan */])((__WEBPACK_IMPORTED_MODULE_0__math__[\"l\" /* halfPi */] + phi) / 2)), -lambda];\n}\n\ntransverseMercatorRaw.invert = function(x, y) {\n return [-y, 2 * Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"d\" /* atan */])(Object(__WEBPACK_IMPORTED_MODULE_0__math__[\"k\" /* exp */])(x)) - __WEBPACK_IMPORTED_MODULE_0__math__[\"l\" /* halfPi */]];\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n var m = Object(__WEBPACK_IMPORTED_MODULE_1__mercator__[\"b\" /* 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\n\n/***/ }),\n/* 780 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = GeoPoint;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Geo-code a longitude/latitude point to an x/y coordinate.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(number, number): *} params.projection - The cartographic\n * projection to apply.\n * @param {Array<function(object): *>} params.fields - A two-element array of\n * field accessors for the longitude and latitude values.\n * @param {Array<string>} [params.as] - A two-element array of field names\n * under which to store the result. Defaults to ['x','y'].\n */\nfunction GeoPoint(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n}\n\nGeoPoint.Definition = {\n \"type\": \"GeoPoint\",\n \"metadata\": {\"modifies\": true},\n \"params\": [\n { \"name\": \"projection\", \"type\": \"projection\", \"required\": true },\n { \"name\": \"fields\", \"type\": \"field\", \"array\": true, \"required\": true, \"length\": 2 },\n { \"name\": \"as\", \"type\": \"string\", \"array\": true, \"length\": 2, \"default\": [\"x\", \"y\"] }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(GeoPoint, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var proj = _.projection,\n lon = _.fields[0],\n lat = _.fields[1],\n as = _.as || ['x', 'y'],\n x = as[0],\n y = as[1],\n mod;\n\n function set(t) {\n var xy = proj([lon(t), lat(t)]);\n if (xy) {\n t[x] = xy[0];\n t[y] = xy[1];\n } else {\n t[x] = undefined;\n t[y] = undefined;\n }\n }\n\n if (_.modified()) {\n // parameters updated, reflow\n pulse = pulse.materialize().reflow(true).visit(pulse.SOURCE, set);\n } else {\n mod = pulse.modified(lon.fields) || pulse.modified(lat.fields);\n pulse.visit(mod ? pulse.ADD_MOD : pulse.ADD, set);\n }\n\n return pulse.modifies(as);\n};\n\n\n/***/ }),\n/* 781 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = GeoShape;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_projection__ = __webpack_require__(113);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n\n\n\n\n/**\n * Annotate items with a geopath shape generator.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(number, number): *} params.projection - The cartographic\n * projection to apply.\n * @param {function(object): *} [params.field] - The field with GeoJSON data,\n * or null if the tuple itself is a GeoJSON feature.\n * @param {string} [params.as='shape'] - The output field in which to store\n * the generated path data (default 'shape').\n */\nfunction GeoShape(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n}\n\nGeoShape.Definition = {\n \"type\": \"GeoShape\",\n \"metadata\": {\"modifies\": true},\n \"params\": [\n { \"name\": \"projection\", \"type\": \"projection\" },\n { \"name\": \"field\", \"type\": \"field\", \"default\": \"datum\" },\n { \"name\": \"pointRadius\", \"type\": \"number\", \"expr\": true },\n { \"name\": \"as\", \"type\": \"string\", \"default\": \"shape\" }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"u\" /* inherits */])(GeoShape, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var out = pulse.fork(pulse.ALL),\n shape = this.value,\n datum = _.field || Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"r\" /* field */])('datum'),\n as = _.as || 'shape',\n flag = out.ADD_MOD;\n\n if (!shape || _.modified()) {\n // parameters updated, reset and reflow\n this.value = shape = shapeGenerator(\n Object(__WEBPACK_IMPORTED_MODULE_1_vega_projection__[\"a\" /* getProjectionPath */])(_.projection),\n datum,\n _.pointRadius\n );\n out.materialize().reflow();\n flag = out.SOURCE;\n }\n\n out.visit(flag, function(t) { t[as] = shape; });\n\n return out.modifies(as);\n};\n\nfunction shapeGenerator(path, field, pointRadius) {\n var shape = pointRadius == null\n ? function(_) { return path(field(_)); }\n : function(_) {\n var prev = path.pointRadius(),\n value = path.pointRadius(pointRadius)(field(_));\n path.pointRadius(prev);\n return value;\n };\n shape.context = function(_) {\n path.context(_);\n return shape;\n };\n\n return shape;\n}\n\n\n/***/ }),\n/* 782 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Graticule;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_d3_geo__ = __webpack_require__(177);\n\n\n\n\n/**\n * GeoJSON feature generator for creating graticules.\n * @constructor\n */\nfunction Graticule(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, [], params);\n this.generator = Object(__WEBPACK_IMPORTED_MODULE_2_d3_geo__[\"m\" /* geoGraticule */])();\n}\n\nGraticule.Definition = {\n \"type\": \"Graticule\",\n \"metadata\": {\"changes\": true},\n \"params\": [\n { \"name\": \"extent\", \"type\": \"array\", \"array\": true, \"length\": 2,\n \"content\": {\"type\": \"number\", \"array\": true, \"length\": 2} },\n { \"name\": \"extentMajor\", \"type\": \"array\", \"array\": true, \"length\": 2,\n \"content\": {\"type\": \"number\", \"array\": true, \"length\": 2} },\n { \"name\": \"extentMinor\", \"type\": \"array\", \"array\": true, \"length\": 2,\n \"content\": {\"type\": \"number\", \"array\": true, \"length\": 2} },\n { \"name\": \"step\", \"type\": \"number\", \"array\": true, \"length\": 2 },\n { \"name\": \"stepMajor\", \"type\": \"number\", \"array\": true, \"length\": 2, \"default\": [90, 360] },\n { \"name\": \"stepMinor\", \"type\": \"number\", \"array\": true, \"length\": 2, \"default\": [10, 10] },\n { \"name\": \"precision\", \"type\": \"number\", \"default\": 2.5 }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(Graticule, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var src = this.value,\n gen = this.generator, t;\n\n if (!src.length || _.modified()) {\n for (var prop in _) {\n if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"y\" /* isFunction */])(gen[prop])) {\n gen[prop](_[prop]);\n }\n }\n }\n\n t = gen();\n if (src.length) {\n pulse.mod.push(Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"o\" /* replace */])(src[0], t));\n } else {\n pulse.add.push(Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"k\" /* ingest */])(t));\n }\n src[0] = t;\n\n return pulse;\n};\n\n\n/***/ }),\n/* 783 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Projection;\n/* unused harmony export collectGeoJSON */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constants__ = __webpack_require__(318);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_projection__ = __webpack_require__(113);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vega_util__ = __webpack_require__(0);\n\n\n\n\n\n/**\n * Maintains a cartographic projection.\n * @constructor\n * @param {object} params - The parameters for this operator.\n */\nfunction Projection(params) {\n __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n this.modified(true); // always treat as modified\n}\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"u\" /* inherits */])(Projection, __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var proj = this.value;\n\n if (!proj || _.modified('type')) {\n this.value = (proj = create(_.type));\n __WEBPACK_IMPORTED_MODULE_2_vega_projection__[\"c\" /* projectionProperties */].forEach(function(prop) {\n if (_[prop] != null) set(proj, prop, _[prop]);\n });\n } else {\n __WEBPACK_IMPORTED_MODULE_2_vega_projection__[\"c\" /* projectionProperties */].forEach(function(prop) {\n if (_.modified(prop)) set(proj, prop, _[prop]);\n });\n }\n\n if (_.pointRadius != null) proj.path.pointRadius(_.pointRadius);\n if (_.fit) fit(proj, _);\n\n return pulse.fork(pulse.NO_SOURCE | pulse.NO_FIELDS);\n};\n\nfunction fit(proj, _) {\n var data = collectGeoJSON(_.fit);\n _.extent ? proj.fitExtent(_.extent, data)\n : _.size ? proj.fitSize(_.size, data) : 0;\n}\n\nfunction create(type) {\n var constructor = Object(__WEBPACK_IMPORTED_MODULE_2_vega_projection__[\"b\" /* projection */])((type || 'mercator').toLowerCase());\n if (!constructor) Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"m\" /* error */])('Unrecognized projection type: ' + type);\n return constructor();\n}\n\nfunction set(proj, key, value) {\n if (Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"y\" /* isFunction */])(proj[key])) proj[key](value);\n}\n\nfunction collectGeoJSON(features) {\n features = Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"i\" /* array */])(features);\n return features.length === 1\n ? features[0]\n : {\n type: __WEBPACK_IMPORTED_MODULE_0__constants__[\"b\" /* FeatureCollection */],\n features: features.reduce(function(list, f) {\n (f && f.type === __WEBPACK_IMPORTED_MODULE_0__constants__[\"b\" /* FeatureCollection */]) ? list.push.apply(list, f.features)\n : Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"v\" /* isArray */])(f) ? list.push.apply(list, f)\n : list.push(f);\n return list;\n }, [])\n };\n}\n\n/***/ }),\n/* 784 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_Force__ = __webpack_require__(785);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"force\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_Force__[\"a\"]; });\n\n\n\n/***/ }),\n/* 785 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Force;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_d3_force__ = __webpack_require__(786);\n\n\n\n\nvar ForceMap = {\n center: __WEBPACK_IMPORTED_MODULE_2_d3_force__[\"a\" /* forceCenter */],\n collide: __WEBPACK_IMPORTED_MODULE_2_d3_force__[\"b\" /* forceCollide */],\n nbody: __WEBPACK_IMPORTED_MODULE_2_d3_force__[\"d\" /* forceManyBody */],\n link: __WEBPACK_IMPORTED_MODULE_2_d3_force__[\"c\" /* forceLink */],\n x: __WEBPACK_IMPORTED_MODULE_2_d3_force__[\"f\" /* forceX */],\n y: __WEBPACK_IMPORTED_MODULE_2_d3_force__[\"g\" /* forceY */]\n};\n\nvar Forces = 'forces',\n ForceParams = [\n 'alpha', 'alphaMin', 'alphaTarget',\n 'velocityDecay', 'forces'\n ],\n ForceConfig = ['static', 'iterations'],\n ForceOutput = ['x', 'y', 'vx', 'vy'];\n\n/**\n * Force simulation layout.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {Array<object>} params.forces - The forces to apply.\n */\nfunction Force(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n}\n\nForce.Definition = {\n \"type\": \"Force\",\n \"metadata\": {\"modifies\": true},\n \"params\": [\n { \"name\": \"static\", \"type\": \"boolean\", \"default\": false },\n { \"name\": \"restart\", \"type\": \"boolean\", \"default\": false },\n { \"name\": \"iterations\", \"type\": \"number\", \"default\": 300 },\n { \"name\": \"alpha\", \"type\": \"number\", \"default\": 1 },\n { \"name\": \"alphaMin\", \"type\": \"number\", \"default\": 0.001 },\n { \"name\": \"alphaTarget\", \"type\": \"number\", \"default\": 0 },\n { \"name\": \"velocityDecay\", \"type\": \"number\", \"default\": 0.4 },\n { \"name\": \"forces\", \"type\": \"param\", \"array\": true,\n \"params\": [\n {\n \"key\": {\"force\": \"center\"},\n \"params\": [\n { \"name\": \"x\", \"type\": \"number\", \"default\": 0 },\n { \"name\": \"y\", \"type\": \"number\", \"default\": 0 }\n ]\n },\n {\n \"key\": {\"force\": \"collide\"},\n \"params\": [\n { \"name\": \"radius\", \"type\": \"number\", \"expr\": true },\n { \"name\": \"strength\", \"type\": \"number\", \"default\": 0.7 },\n { \"name\": \"iterations\", \"type\": \"number\", \"default\": 1 }\n ]\n },\n {\n \"key\": {\"force\": \"nbody\"},\n \"params\": [\n { \"name\": \"strength\", \"type\": \"number\", \"default\": -30 },\n { \"name\": \"theta\", \"type\": \"number\", \"default\": 0.9 },\n { \"name\": \"distanceMin\", \"type\": \"number\", \"default\": 1 },\n { \"name\": \"distanceMax\", \"type\": \"number\" }\n ]\n },\n {\n \"key\": {\"force\": \"link\"},\n \"params\": [\n { \"name\": \"links\", \"type\": \"data\" },\n { \"name\": \"id\", \"type\": \"field\" },\n { \"name\": \"distance\", \"type\": \"number\", \"default\": 30, \"expr\": true },\n { \"name\": \"strength\", \"type\": \"number\", \"expr\": true },\n { \"name\": \"iterations\", \"type\": \"number\", \"default\": 1 }\n ]\n },\n {\n \"key\": {\"force\": \"x\"},\n \"params\": [\n { \"name\": \"strength\", \"type\": \"number\", \"default\": 0.1 },\n { \"name\": \"x\", \"type\": \"field\" }\n ]\n },\n {\n \"key\": {\"force\": \"y\"},\n \"params\": [\n { \"name\": \"strength\", \"type\": \"number\", \"default\": 0.1 },\n { \"name\": \"y\", \"type\": \"field\" }\n ]\n }\n ] },\n {\n \"name\": \"as\", \"type\": \"string\", \"array\": true, \"modify\": false,\n \"default\": ForceOutput\n }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(Force, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var sim = this.value,\n change = pulse.changed(pulse.ADD_REM),\n params = _.modified(ForceParams),\n iters = _.iterations || 300;\n\n // configure simulation\n if (!sim) {\n this.value = sim = simulation(pulse.source, _);\n sim.on('tick', rerun(pulse.dataflow, this));\n if (!_.static) {\n change = true;\n sim.tick(); // ensure we run on init\n }\n pulse.modifies('index');\n } else {\n if (change) {\n pulse.modifies('index');\n sim.nodes(pulse.source);\n }\n if (params || pulse.changed(pulse.MOD)) {\n setup(sim, _, 0, pulse);\n }\n }\n\n // run simulation\n if (params || change || _.modified(ForceConfig)\n || (pulse.changed() && _.restart))\n {\n sim.alpha(Math.max(sim.alpha(), _.alpha || 1))\n .alphaDecay(1 - Math.pow(sim.alphaMin(), 1 / iters));\n\n if (_.static) {\n for (sim.stop(); --iters >= 0;) sim.tick();\n } else {\n if (sim.stopped()) sim.restart();\n if (!change) return pulse.StopPropagation; // defer to sim ticks\n }\n }\n\n return this.finish(_, pulse);\n};\n\nprototype.finish = function(_, pulse) {\n var dataflow = pulse.dataflow;\n\n // inspect dependencies, touch link source data\n for (var args=this._argops, j=0, m=args.length, arg; j<m; ++j) {\n arg = args[j];\n if (arg.name !== Forces || arg.op._argval.force !== 'link') {\n continue;\n }\n for (var ops=arg.op._argops, i=0, n=ops.length, op; i<n; ++i) {\n if (ops[i].name === 'links' && (op = ops[i].op.source)) {\n dataflow.pulse(op, dataflow.changeset().reflow());\n break;\n }\n }\n }\n\n // reflow all nodes\n return pulse.reflow(_.modified()).modifies(ForceOutput);\n};\n\nfunction rerun(df, op) {\n return function() { df.touch(op).run(); }\n}\n\nfunction simulation(nodes, _) {\n var sim = Object(__WEBPACK_IMPORTED_MODULE_2_d3_force__[\"e\" /* forceSimulation */])(nodes),\n stopped = false,\n stop = sim.stop,\n restart = sim.restart;\n\n sim.stopped = function() {\n return stopped;\n };\n sim.restart = function() {\n stopped = false;\n return restart();\n };\n sim.stop = function() {\n stopped = true;\n return stop();\n };\n\n return setup(sim, _, true).on('end', function() { stopped = true; });\n}\n\nfunction setup(sim, _, init, pulse) {\n var f = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"i\" /* array */])(_.forces), i, n, p, name;\n\n for (i=0, n=ForceParams.length; i<n; ++i) {\n p = ForceParams[i];\n if (p !== Forces && _.modified(p)) sim[p](_[p]);\n }\n\n for (i=0, n=f.length; i<n; ++i) {\n name = Forces + i;\n p = init || _.modified(Forces, i) ? getForce(f[i])\n : pulse && modified(f[i], pulse) ? sim.force(name)\n : null;\n if (p) sim.force(name, p);\n }\n\n for (n=(sim.numForces || 0); i<n; ++i) {\n sim.force(Forces + i, null); // remove\n }\n\n sim.numForces = f.length;\n return sim;\n}\n\nfunction modified(f, pulse) {\n var k, v;\n for (k in f) {\n if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"y\" /* isFunction */])(v = f[k]) && pulse.modified(Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"g\" /* accessorFields */])(v)))\n return 1;\n }\n return 0;\n}\n\nfunction getForce(_) {\n var f, p;\n\n if (!ForceMap.hasOwnProperty(_.force)) {\n Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"m\" /* error */])('Unrecognized force: ' + _.force);\n }\n f = ForceMap[_.force]();\n\n for (p in _) {\n if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"y\" /* isFunction */])(f[p])) setForceParam(f[p], _[p], _);\n }\n\n return f;\n}\n\nfunction setForceParam(f, v, _) {\n f(Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"y\" /* isFunction */])(v) ? function(d) { return v(d, _); } : v);\n}\n\n\n/***/ }),\n/* 786 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_center__ = __webpack_require__(787);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_center__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_collide__ = __webpack_require__(788);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_collide__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_link__ = __webpack_require__(802);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_link__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_manyBody__ = __webpack_require__(803);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return __WEBPACK_IMPORTED_MODULE_3__src_manyBody__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__src_radial__ = __webpack_require__(808);\n/* unused harmony reexport forceRadial */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__src_simulation__ = __webpack_require__(335);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return __WEBPACK_IMPORTED_MODULE_5__src_simulation__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__src_x__ = __webpack_require__(809);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return __WEBPACK_IMPORTED_MODULE_6__src_x__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__src_y__ = __webpack_require__(810);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return __WEBPACK_IMPORTED_MODULE_7__src_y__[\"a\"]; });\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 787 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 788 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constant__ = __webpack_require__(59);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__jiggle__ = __webpack_require__(183);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_d3_quadtree__ = __webpack_require__(334);\n\n\n\n\nfunction x(d) {\n return d.x + d.vx;\n}\n\nfunction y(d) {\n return d.y + d.vy;\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(radius) {\n var nodes,\n radii,\n strength = 1,\n iterations = 1;\n\n if (typeof radius !== \"function\") radius = Object(__WEBPACK_IMPORTED_MODULE_0__constant__[\"a\" /* default */])(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 = Object(__WEBPACK_IMPORTED_MODULE_2_d3_quadtree__[\"a\" /* 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 = Object(__WEBPACK_IMPORTED_MODULE_1__jiggle__[\"a\" /* default */])(), l += x * x;\n if (y === 0) y = Object(__WEBPACK_IMPORTED_MODULE_1__jiggle__[\"a\" /* default */])(), 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\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_0__constant__[\"a\" /* default */])(+_), initialize(), force) : radius;\n };\n\n return force;\n});\n\n\n/***/ }),\n/* 789 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = quadtree;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__add__ = __webpack_require__(790);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__cover__ = __webpack_require__(791);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__data__ = __webpack_require__(792);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__extent__ = __webpack_require__(793);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__find__ = __webpack_require__(794);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__remove__ = __webpack_require__(795);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__root__ = __webpack_require__(796);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__size__ = __webpack_require__(797);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__visit__ = __webpack_require__(798);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__visitAfter__ = __webpack_require__(799);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__x__ = __webpack_require__(800);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__y__ = __webpack_require__(801);\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction quadtree(nodes, x, y) {\n var tree = new Quadtree(x == null ? __WEBPACK_IMPORTED_MODULE_10__x__[\"b\" /* defaultX */] : x, y == null ? __WEBPACK_IMPORTED_MODULE_11__y__[\"b\" /* 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 = __WEBPACK_IMPORTED_MODULE_0__add__[\"b\" /* default */];\ntreeProto.addAll = __WEBPACK_IMPORTED_MODULE_0__add__[\"a\" /* addAll */];\ntreeProto.cover = __WEBPACK_IMPORTED_MODULE_1__cover__[\"a\" /* default */];\ntreeProto.data = __WEBPACK_IMPORTED_MODULE_2__data__[\"a\" /* default */];\ntreeProto.extent = __WEBPACK_IMPORTED_MODULE_3__extent__[\"a\" /* default */];\ntreeProto.find = __WEBPACK_IMPORTED_MODULE_4__find__[\"a\" /* default */];\ntreeProto.remove = __WEBPACK_IMPORTED_MODULE_5__remove__[\"a\" /* default */];\ntreeProto.removeAll = __WEBPACK_IMPORTED_MODULE_5__remove__[\"b\" /* removeAll */];\ntreeProto.root = __WEBPACK_IMPORTED_MODULE_6__root__[\"a\" /* default */];\ntreeProto.size = __WEBPACK_IMPORTED_MODULE_7__size__[\"a\" /* default */];\ntreeProto.visit = __WEBPACK_IMPORTED_MODULE_8__visit__[\"a\" /* default */];\ntreeProto.visitAfter = __WEBPACK_IMPORTED_MODULE_9__visitAfter__[\"a\" /* default */];\ntreeProto.x = __WEBPACK_IMPORTED_MODULE_10__x__[\"a\" /* default */];\ntreeProto.y = __WEBPACK_IMPORTED_MODULE_11__y__[\"a\" /* default */];\n\n\n/***/ }),\n/* 790 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = addAll;\n/* harmony default export */ __webpack_exports__[\"b\"] = (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\nfunction 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\n\n/***/ }),\n/* 791 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 792 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 793 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 794 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__quad__ = __webpack_require__(184);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (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 __WEBPACK_IMPORTED_MODULE_0__quad__[\"a\" /* default */](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 __WEBPACK_IMPORTED_MODULE_0__quad__[\"a\" /* default */](node[3], xm, ym, x2, y2),\n new __WEBPACK_IMPORTED_MODULE_0__quad__[\"a\" /* default */](node[2], x1, ym, xm, y2),\n new __WEBPACK_IMPORTED_MODULE_0__quad__[\"a\" /* default */](node[1], xm, y1, x2, ym),\n new __WEBPACK_IMPORTED_MODULE_0__quad__[\"a\" /* default */](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\n\n/***/ }),\n/* 795 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = removeAll;\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\nfunction removeAll(data) {\n for (var i = 0, n = data.length; i < n; ++i) this.remove(data[i]);\n return this;\n}\n\n\n/***/ }),\n/* 796 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n return this._root;\n});\n\n\n/***/ }),\n/* 797 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 798 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__quad__ = __webpack_require__(184);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(callback) {\n var quads = [], q, node = this._root, child, x0, y0, x1, y1;\n if (node) quads.push(new __WEBPACK_IMPORTED_MODULE_0__quad__[\"a\" /* default */](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 __WEBPACK_IMPORTED_MODULE_0__quad__[\"a\" /* default */](child, xm, ym, x1, y1));\n if (child = node[2]) quads.push(new __WEBPACK_IMPORTED_MODULE_0__quad__[\"a\" /* default */](child, x0, ym, xm, y1));\n if (child = node[1]) quads.push(new __WEBPACK_IMPORTED_MODULE_0__quad__[\"a\" /* default */](child, xm, y0, x1, ym));\n if (child = node[0]) quads.push(new __WEBPACK_IMPORTED_MODULE_0__quad__[\"a\" /* default */](child, x0, y0, xm, ym));\n }\n }\n return this;\n});\n\n\n/***/ }),\n/* 799 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__quad__ = __webpack_require__(184);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(callback) {\n var quads = [], next = [], q;\n if (this._root) quads.push(new __WEBPACK_IMPORTED_MODULE_0__quad__[\"a\" /* default */](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 __WEBPACK_IMPORTED_MODULE_0__quad__[\"a\" /* default */](child, x0, y0, xm, ym));\n if (child = node[1]) quads.push(new __WEBPACK_IMPORTED_MODULE_0__quad__[\"a\" /* default */](child, xm, y0, x1, ym));\n if (child = node[2]) quads.push(new __WEBPACK_IMPORTED_MODULE_0__quad__[\"a\" /* default */](child, x0, ym, xm, y1));\n if (child = node[3]) quads.push(new __WEBPACK_IMPORTED_MODULE_0__quad__[\"a\" /* default */](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\n\n/***/ }),\n/* 800 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = defaultX;\nfunction defaultX(d) {\n return d[0];\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(_) {\n return arguments.length ? (this._x = _, this) : this._x;\n});\n\n\n/***/ }),\n/* 801 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = defaultY;\nfunction defaultY(d) {\n return d[1];\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(_) {\n return arguments.length ? (this._y = _, this) : this._y;\n});\n\n\n/***/ }),\n/* 802 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constant__ = __webpack_require__(59);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__jiggle__ = __webpack_require__(183);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_d3_collection__ = __webpack_require__(109);\n\n\n\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\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(links) {\n var id = index,\n strength = defaultStrength,\n strengths,\n distance = Object(__WEBPACK_IMPORTED_MODULE_0__constant__[\"a\" /* default */])(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 || Object(__WEBPACK_IMPORTED_MODULE_1__jiggle__[\"a\" /* default */])();\n y = target.y + target.vy - source.y - source.vy || Object(__WEBPACK_IMPORTED_MODULE_1__jiggle__[\"a\" /* default */])();\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 = Object(__WEBPACK_IMPORTED_MODULE_2_d3_collection__[\"a\" /* 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\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_0__constant__[\"a\" /* default */])(+_), initializeStrength(), force) : strength;\n };\n\n force.distance = function(_) {\n return arguments.length ? (distance = typeof _ === \"function\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_0__constant__[\"a\" /* default */])(+_), initializeDistance(), force) : distance;\n };\n\n return force;\n});\n\n\n/***/ }),\n/* 803 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constant__ = __webpack_require__(59);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__jiggle__ = __webpack_require__(183);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_d3_quadtree__ = __webpack_require__(334);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__simulation__ = __webpack_require__(335);\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n var nodes,\n node,\n alpha,\n strength = Object(__WEBPACK_IMPORTED_MODULE_0__constant__[\"a\" /* default */])(-30),\n strengths,\n distanceMin2 = 1,\n distanceMax2 = Infinity,\n theta2 = 0.81;\n\n function force(_) {\n var i, n = nodes.length, tree = Object(__WEBPACK_IMPORTED_MODULE_2_d3_quadtree__[\"a\" /* quadtree */])(nodes, __WEBPACK_IMPORTED_MODULE_3__simulation__[\"b\" /* x */], __WEBPACK_IMPORTED_MODULE_3__simulation__[\"c\" /* 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 = Object(__WEBPACK_IMPORTED_MODULE_1__jiggle__[\"a\" /* default */])(), l += x * x;\n if (y === 0) y = Object(__WEBPACK_IMPORTED_MODULE_1__jiggle__[\"a\" /* default */])(), 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 = Object(__WEBPACK_IMPORTED_MODULE_1__jiggle__[\"a\" /* default */])(), l += x * x;\n if (y === 0) y = Object(__WEBPACK_IMPORTED_MODULE_1__jiggle__[\"a\" /* default */])(), 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\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_0__constant__[\"a\" /* default */])(+_), 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\n\n/***/ }),\n/* 804 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_dispatch__ = __webpack_require__(805);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_dispatch__[\"a\"]; });\n\n\n\n/***/ }),\n/* 805 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar 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\n/* harmony default export */ __webpack_exports__[\"a\"] = (dispatch);\n\n\n/***/ }),\n/* 806 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__timer__ = __webpack_require__(185);\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (function(callback, delay, time) {\n var t = new __WEBPACK_IMPORTED_MODULE_0__timer__[\"a\" /* 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\n\n/***/ }),\n/* 807 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__timer__ = __webpack_require__(185);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(callback, delay, time) {\n var t = new __WEBPACK_IMPORTED_MODULE_0__timer__[\"a\" /* Timer */], total = delay;\n if (delay == null) return t.restart(callback, delay, time), t;\n delay = +delay, time = time == null ? Object(__WEBPACK_IMPORTED_MODULE_0__timer__[\"b\" /* 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\n\n/***/ }),\n/* 808 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constant__ = __webpack_require__(59);\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (function(radius, x, y) {\n var nodes,\n strength = Object(__WEBPACK_IMPORTED_MODULE_0__constant__[\"a\" /* default */])(0.1),\n strengths,\n radiuses;\n\n if (typeof radius !== \"function\") radius = Object(__WEBPACK_IMPORTED_MODULE_0__constant__[\"a\" /* default */])(+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\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_0__constant__[\"a\" /* default */])(+_), initialize(), force) : strength;\n };\n\n force.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_0__constant__[\"a\" /* default */])(+_), 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\n\n/***/ }),\n/* 809 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constant__ = __webpack_require__(59);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(x) {\n var strength = Object(__WEBPACK_IMPORTED_MODULE_0__constant__[\"a\" /* default */])(0.1),\n nodes,\n strengths,\n xz;\n\n if (typeof x !== \"function\") x = Object(__WEBPACK_IMPORTED_MODULE_0__constant__[\"a\" /* default */])(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\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_0__constant__[\"a\" /* default */])(+_), initialize(), force) : strength;\n };\n\n force.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_0__constant__[\"a\" /* default */])(+_), initialize(), force) : x;\n };\n\n return force;\n});\n\n\n/***/ }),\n/* 810 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constant__ = __webpack_require__(59);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(y) {\n var strength = Object(__WEBPACK_IMPORTED_MODULE_0__constant__[\"a\" /* default */])(0.1),\n nodes,\n strengths,\n yz;\n\n if (typeof y !== \"function\") y = Object(__WEBPACK_IMPORTED_MODULE_0__constant__[\"a\" /* default */])(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\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_0__constant__[\"a\" /* default */])(+_), initialize(), force) : strength;\n };\n\n force.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_0__constant__[\"a\" /* default */])(+_), initialize(), force) : y;\n };\n\n return force;\n});\n\n\n/***/ }),\n/* 811 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_Nest__ = __webpack_require__(812);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"nest\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_Nest__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_Pack__ = __webpack_require__(834);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"pack\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_Pack__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__src_Partition__ = __webpack_require__(835);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"partition\", function() { return __WEBPACK_IMPORTED_MODULE_2__src_Partition__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__src_Stratify__ = __webpack_require__(836);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"stratify\", function() { return __WEBPACK_IMPORTED_MODULE_3__src_Stratify__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__src_Tree__ = __webpack_require__(837);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"tree\", function() { return __WEBPACK_IMPORTED_MODULE_4__src_Tree__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__src_TreeLinks__ = __webpack_require__(838);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"treelinks\", function() { return __WEBPACK_IMPORTED_MODULE_5__src_TreeLinks__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__src_Treemap__ = __webpack_require__(839);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"treemap\", function() { return __WEBPACK_IMPORTED_MODULE_6__src_Treemap__[\"a\"]; });\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 812 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Nest;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lookup__ = __webpack_require__(337);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_d3_collection__ = __webpack_require__(109);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_d3_hierarchy__ = __webpack_require__(60);\n\n\n\n\n\n\n /**\n * Nest tuples into a tree structure, grouped by key values.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {Array<function(object): *>} params.keys - The key fields to nest by, in order.\n * @param {boolean} [params.generate=false] - A boolean flag indicating if\n * non-leaf nodes generated by this transform should be included in the\n * output. The default (false) includes only the input data (leaf nodes)\n * in the data stream.\n */\nfunction Nest(params) {\n __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n}\n\nNest.Definition = {\n \"type\": \"Nest\",\n \"metadata\": {\"treesource\": true, \"changes\": true},\n \"params\": [\n { \"name\": \"keys\", \"type\": \"field\", \"array\": true },\n { \"name\": \"generate\", \"type\": \"boolean\" }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"u\" /* inherits */])(Nest, __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"g\" /* Transform */]);\n\nfunction children(n) {\n return n.values;\n}\n\nprototype.transform = function(_, pulse) {\n if (!pulse.source) {\n Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"m\" /* error */])('Nest transform requires an upstream data source.');\n }\n\n var gen = _.generate,\n mod = _.modified(),\n out = pulse.clone(),\n tree = this.value;\n\n if (!tree || mod || pulse.changed()) {\n // collect nodes to remove\n if (tree) {\n tree.each(function(node) {\n if (node.children && Object(__WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"m\" /* isTuple */])(node.data)) {\n out.rem.push(node.data);\n }\n });\n }\n\n // generate new tree structure\n this.value = tree = Object(__WEBPACK_IMPORTED_MODULE_4_d3_hierarchy__[\"b\" /* hierarchy */])({\n values: Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"i\" /* array */])(_.keys)\n .reduce(function(n, k) { n.key(k); return n; }, Object(__WEBPACK_IMPORTED_MODULE_3_d3_collection__[\"b\" /* nest */])())\n .entries(out.source)\n }, children);\n\n // collect nodes to add\n if (gen) {\n tree.each(function(node) {\n if (node.children) {\n node = Object(__WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"k\" /* ingest */])(node.data);\n out.add.push(node);\n out.source.push(node);\n }\n });\n }\n\n // build lookup table\n Object(__WEBPACK_IMPORTED_MODULE_0__lookup__[\"a\" /* default */])(tree, __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"r\" /* tupleid */], __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"r\" /* tupleid */]);\n }\n\n out.source.root = tree;\n return out;\n};\n\n\n/***/ }),\n/* 813 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nfunction 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\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 814 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nfunction 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\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n return this.eachAfter(count);\n});\n\n\n/***/ }),\n/* 815 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 816 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 817 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 818 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 819 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(compare) {\n return this.eachBefore(function(node) {\n if (node.children) {\n node.children.sort(compare);\n }\n });\n});\n\n\n/***/ }),\n/* 820 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 821 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n var node = this, nodes = [node];\n while (node = node.parent) {\n nodes.push(node);\n }\n return nodes;\n});\n\n\n/***/ }),\n/* 822 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n var nodes = [];\n this.each(function(node) {\n nodes.push(node);\n });\n return nodes;\n});\n\n\n/***/ }),\n/* 823 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n var leaves = [];\n this.eachBefore(function(node) {\n if (!node.children) {\n leaves.push(node);\n }\n });\n return leaves;\n});\n\n\n/***/ }),\n/* 824 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 825 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__siblings__ = __webpack_require__(338);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__accessors__ = __webpack_require__(187);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__constant__ = __webpack_require__(340);\n\n\n\n\nfunction defaultRadius(d) {\n return Math.sqrt(d.value);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n var radius = null,\n dx = 1,\n dy = 1,\n padding = __WEBPACK_IMPORTED_MODULE_2__constant__[\"a\" /* 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(__WEBPACK_IMPORTED_MODULE_2__constant__[\"a\" /* 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 = Object(__WEBPACK_IMPORTED_MODULE_1__accessors__[\"a\" /* 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 : Object(__WEBPACK_IMPORTED_MODULE_2__constant__[\"b\" /* default */])(+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 = Object(__WEBPACK_IMPORTED_MODULE_0__siblings__[\"a\" /* 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\n\n/***/ }),\n/* 826 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return slice; });\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = shuffle;\nvar slice = Array.prototype.slice;\n\nfunction 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\n\n/***/ }),\n/* 827 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__treemap_round__ = __webpack_require__(341);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__treemap_dice__ = __webpack_require__(80);\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (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(__WEBPACK_IMPORTED_MODULE_0__treemap_round__[\"a\" /* default */]);\n return root;\n }\n\n function positionNode(dy, n) {\n return function(node) {\n if (node.children) {\n Object(__WEBPACK_IMPORTED_MODULE_1__treemap_dice__[\"a\" /* default */])(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\n\n/***/ }),\n/* 828 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__accessors__ = __webpack_require__(187);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__hierarchy_index__ = __webpack_require__(186);\n\n\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\n/* harmony default export */ __webpack_exports__[\"a\"] = (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 __WEBPACK_IMPORTED_MODULE_1__hierarchy_index__[\"a\" /* 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(__WEBPACK_IMPORTED_MODULE_1__hierarchy_index__[\"b\" /* 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 = Object(__WEBPACK_IMPORTED_MODULE_0__accessors__[\"b\" /* required */])(x), stratify) : id;\n };\n\n stratify.parentId = function(x) {\n return arguments.length ? (parentId = Object(__WEBPACK_IMPORTED_MODULE_0__accessors__[\"b\" /* required */])(x), stratify) : parentId;\n };\n\n return stratify;\n});\n\n\n/***/ }),\n/* 829 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__hierarchy_index__ = __webpack_require__(186);\n\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(__WEBPACK_IMPORTED_MODULE_0__hierarchy_index__[\"a\" /* 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\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 830 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__round__ = __webpack_require__(341);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__squarify__ = __webpack_require__(188);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__accessors__ = __webpack_require__(187);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__constant__ = __webpack_require__(340);\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n var tile = __WEBPACK_IMPORTED_MODULE_1__squarify__[\"a\" /* default */],\n round = false,\n dx = 1,\n dy = 1,\n paddingStack = [0],\n paddingInner = __WEBPACK_IMPORTED_MODULE_3__constant__[\"a\" /* constantZero */],\n paddingTop = __WEBPACK_IMPORTED_MODULE_3__constant__[\"a\" /* constantZero */],\n paddingRight = __WEBPACK_IMPORTED_MODULE_3__constant__[\"a\" /* constantZero */],\n paddingBottom = __WEBPACK_IMPORTED_MODULE_3__constant__[\"a\" /* constantZero */],\n paddingLeft = __WEBPACK_IMPORTED_MODULE_3__constant__[\"a\" /* 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(__WEBPACK_IMPORTED_MODULE_0__round__[\"a\" /* default */]);\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 = Object(__WEBPACK_IMPORTED_MODULE_2__accessors__[\"b\" /* 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 : Object(__WEBPACK_IMPORTED_MODULE_3__constant__[\"b\" /* default */])(+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 : Object(__WEBPACK_IMPORTED_MODULE_3__constant__[\"b\" /* default */])(+x), treemap) : paddingTop;\n };\n\n treemap.paddingRight = function(x) {\n return arguments.length ? (paddingRight = typeof x === \"function\" ? x : Object(__WEBPACK_IMPORTED_MODULE_3__constant__[\"b\" /* default */])(+x), treemap) : paddingRight;\n };\n\n treemap.paddingBottom = function(x) {\n return arguments.length ? (paddingBottom = typeof x === \"function\" ? x : Object(__WEBPACK_IMPORTED_MODULE_3__constant__[\"b\" /* default */])(+x), treemap) : paddingBottom;\n };\n\n treemap.paddingLeft = function(x) {\n return arguments.length ? (paddingLeft = typeof x === \"function\" ? x : Object(__WEBPACK_IMPORTED_MODULE_3__constant__[\"b\" /* default */])(+x), treemap) : paddingLeft;\n };\n\n return treemap;\n});\n\n\n/***/ }),\n/* 831 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (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\n\n/***/ }),\n/* 832 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__dice__ = __webpack_require__(80);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__slice__ = __webpack_require__(117);\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(parent, x0, y0, x1, y1) {\n (parent.depth & 1 ? __WEBPACK_IMPORTED_MODULE_1__slice__[\"a\" /* default */] : __WEBPACK_IMPORTED_MODULE_0__dice__[\"a\" /* default */])(parent, x0, y0, x1, y1);\n});\n\n\n/***/ }),\n/* 833 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__dice__ = __webpack_require__(80);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__slice__ = __webpack_require__(117);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__squarify__ = __webpack_require__(188);\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ((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) Object(__WEBPACK_IMPORTED_MODULE_0__dice__[\"a\" /* default */])(row, x0, y0, x1, y0 += (y1 - y0) * row.value / value);\n else Object(__WEBPACK_IMPORTED_MODULE_1__slice__[\"a\" /* default */])(row, x0, y0, x0 += (x1 - x0) * row.value / value, y1);\n value -= row.value;\n }\n } else {\n parent._squarify = rows = Object(__WEBPACK_IMPORTED_MODULE_2__squarify__[\"c\" /* 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})(__WEBPACK_IMPORTED_MODULE_2__squarify__[\"b\" /* phi */]));\n\n\n/***/ }),\n/* 834 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Pack;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__HierarchyLayout__ = __webpack_require__(118);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_d3_hierarchy__ = __webpack_require__(60);\n\n\n\n\nvar Output = ['x', 'y', 'r', 'depth', 'children'];\n\n/**\n * Packed circle tree layout.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(object): *} params.field - The value field to size nodes.\n */\nfunction Pack(params) {\n __WEBPACK_IMPORTED_MODULE_0__HierarchyLayout__[\"a\" /* default */].call(this, params);\n}\n\nPack.Definition = {\n \"type\": \"Pack\",\n \"metadata\": {\"tree\": true, \"modifies\": true},\n \"params\": [\n { \"name\": \"field\", \"type\": \"field\" },\n { \"name\": \"sort\", \"type\": \"compare\" },\n { \"name\": \"padding\", \"type\": \"number\", \"default\": 0 },\n { \"name\": \"radius\", \"type\": \"field\", \"default\": null },\n { \"name\": \"size\", \"type\": \"number\", \"array\": true, \"length\": 2 },\n { \"name\": \"as\", \"type\": \"string\", \"array\": true, \"length\": Output.length, \"default\": Output }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(Pack, __WEBPACK_IMPORTED_MODULE_0__HierarchyLayout__[\"a\" /* default */]);\n\nprototype.layout = __WEBPACK_IMPORTED_MODULE_2_d3_hierarchy__[\"c\" /* pack */];\n\nprototype.params = ['size', 'padding'];\n\nprototype.fields = Output;\n\n\n/***/ }),\n/* 835 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Partition;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__HierarchyLayout__ = __webpack_require__(118);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_d3_hierarchy__ = __webpack_require__(60);\n\n\n\n\nvar Output = ['x0', 'y0', 'x1', 'y1', 'depth', 'children'];\n\n/**\n * Partition tree layout.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(object): *} params.field - The value field to size nodes.\n */\nfunction Partition(params) {\n __WEBPACK_IMPORTED_MODULE_0__HierarchyLayout__[\"a\" /* default */].call(this, params);\n}\n\nPartition.Definition = {\n \"type\": \"Partition\",\n \"metadata\": {\"tree\": true, \"modifies\": true},\n \"params\": [\n { \"name\": \"field\", \"type\": \"field\" },\n { \"name\": \"sort\", \"type\": \"compare\" },\n { \"name\": \"padding\", \"type\": \"number\", \"default\": 0 },\n { \"name\": \"round\", \"type\": \"boolean\", \"default\": false },\n { \"name\": \"size\", \"type\": \"number\", \"array\": true, \"length\": 2 },\n { \"name\": \"as\", \"type\": \"string\", \"array\": true, \"length\": Output.length, \"default\": Output }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(Partition, __WEBPACK_IMPORTED_MODULE_0__HierarchyLayout__[\"a\" /* default */]);\n\nprototype.layout = __WEBPACK_IMPORTED_MODULE_2_d3_hierarchy__[\"d\" /* partition */];\n\nprototype.params = ['size', 'round', 'padding'];\n\nprototype.fields = Output;\n\n\n/***/ }),\n/* 836 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Stratify;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lookup__ = __webpack_require__(337);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_d3_hierarchy__ = __webpack_require__(60);\n\n\n\n\n\n /**\n * Stratify a collection of tuples into a tree structure based on\n * id and parent id fields.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(object): *} params.key - Unique key field for each tuple.\n * @param {function(object): *} params.parentKey - Field with key for parent tuple.\n */\nfunction Stratify(params) {\n __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n}\n\nStratify.Definition = {\n \"type\": \"Stratify\",\n \"metadata\": {\"treesource\": true},\n \"params\": [\n { \"name\": \"key\", \"type\": \"field\", \"required\": true },\n { \"name\": \"parentKey\", \"type\": \"field\", \"required\": true }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"u\" /* inherits */])(Stratify, __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n if (!pulse.source) {\n Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"m\" /* error */])('Stratify transform requires an upstream data source.');\n }\n\n var tree = this.value,\n mod = _.modified(),\n out = pulse.fork(pulse.ALL).materialize(pulse.SOURCE),\n run = !this.value\n || mod\n || pulse.changed(pulse.ADD_REM)\n || pulse.modified(_.key.fields)\n || pulse.modified(_.parentKey.fields);\n\n // prevent upstream source pollution\n out.source = out.source.slice();\n\n if (run) {\n if (out.source.length) {\n tree = Object(__WEBPACK_IMPORTED_MODULE_0__lookup__[\"a\" /* default */])(\n Object(__WEBPACK_IMPORTED_MODULE_3_d3_hierarchy__[\"e\" /* stratify */])().id(_.key).parentId(_.parentKey)(out.source)\n , _.key, __WEBPACK_IMPORTED_MODULE_2_vega_util__[\"V\" /* truthy */]);\n } else {\n tree = Object(__WEBPACK_IMPORTED_MODULE_0__lookup__[\"a\" /* default */])(Object(__WEBPACK_IMPORTED_MODULE_3_d3_hierarchy__[\"e\" /* stratify */])()([{}]), _.key, _.key);\n }\n }\n\n out.source.root = this.value = tree;\n return out;\n};\n\n\n/***/ }),\n/* 837 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Tree;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__HierarchyLayout__ = __webpack_require__(118);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_d3_hierarchy__ = __webpack_require__(60);\n\n\n\n\nvar Layouts = {\n tidy: __WEBPACK_IMPORTED_MODULE_2_d3_hierarchy__[\"f\" /* tree */],\n cluster: __WEBPACK_IMPORTED_MODULE_2_d3_hierarchy__[\"a\" /* cluster */]\n};\n\nvar Output = ['x', 'y', 'depth', 'children'];\n\n/**\n * Tree layout. Depending on the method parameter, performs either\n * Reingold-Tilford 'tidy' layout or dendrogram 'cluster' layout.\n * @constructor\n * @param {object} params - The parameters for this operator.\n */\nfunction Tree(params) {\n __WEBPACK_IMPORTED_MODULE_0__HierarchyLayout__[\"a\" /* default */].call(this, params);\n}\n\nTree.Definition = {\n \"type\": \"Tree\",\n \"metadata\": {\"tree\": true, \"modifies\": true},\n \"params\": [\n { \"name\": \"field\", \"type\": \"field\" },\n { \"name\": \"sort\", \"type\": \"compare\" },\n { \"name\": \"method\", \"type\": \"enum\", \"default\": \"tidy\", \"values\": [\"tidy\", \"cluster\"] },\n { \"name\": \"size\", \"type\": \"number\", \"array\": true, \"length\": 2 },\n { \"name\": \"nodeSize\", \"type\": \"number\", \"array\": true, \"length\": 2 },\n { \"name\": \"as\", \"type\": \"string\", \"array\": true, \"length\": Output.length, \"default\": Output }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(Tree, __WEBPACK_IMPORTED_MODULE_0__HierarchyLayout__[\"a\" /* default */]);\n\n/**\n * Tree layout generator. Supports both 'tidy' and 'cluster' layouts.\n */\nprototype.layout = function(method) {\n var m = method || 'tidy';\n if (Layouts.hasOwnProperty(m)) return Layouts[m]();\n else Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"m\" /* error */])('Unrecognized Tree layout method: ' + m);\n};\n\nprototype.params = ['size', 'nodeSize', 'separation'];\n\nprototype.fields = Output;\n\n\n/***/ }),\n/* 838 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = TreeLinks;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n /**\n * Generate tuples representing links between tree nodes.\n * The resulting tuples will contain 'source' and 'target' fields,\n * which point to parent and child node tuples, respectively.\n * @constructor\n * @param {object} params - The parameters for this operator.\n */\nfunction TreeLinks(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, [], params);\n}\n\nTreeLinks.Definition = {\n \"type\": \"TreeLinks\",\n \"metadata\": {\"tree\": true, \"generates\": true, \"changes\": true},\n \"params\": []\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(TreeLinks, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var links = this.value,\n tree = pulse.source && pulse.source.root,\n out = pulse.fork(pulse.NO_SOURCE),\n lut = {};\n\n if (!tree) Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"m\" /* error */])('TreeLinks transform requires a tree data source.');\n\n if (pulse.changed(pulse.ADD_REM)) {\n // remove previous links\n out.rem = links;\n\n // build lookup table of valid tuples\n pulse.visit(pulse.SOURCE, function(t) { lut[Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"r\" /* tupleid */])(t)] = 1; });\n\n // generate links for all edges incident on valid tuples\n tree.each(function(node) {\n var t = node.data,\n p = node.parent && node.parent.data;\n if (p && lut[Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"r\" /* tupleid */])(t)] && lut[Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"r\" /* tupleid */])(p)]) {\n out.add.push(Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"k\" /* ingest */])({source: p, target: t}));\n }\n });\n this.value = out.add;\n }\n\n else if (pulse.changed(pulse.MOD)) {\n // build lookup table of modified tuples\n pulse.visit(pulse.MOD, function(t) { lut[Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"r\" /* tupleid */])(t)] = 1; });\n\n // gather links incident on modified tuples\n links.forEach(function(link) {\n if (lut[Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"r\" /* tupleid */])(link.source)] || lut[Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"r\" /* tupleid */])(link.target)]) {\n out.mod.push(link);\n }\n });\n }\n\n return out;\n};\n\n\n/***/ }),\n/* 839 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Treemap;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__HierarchyLayout__ = __webpack_require__(118);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_d3_hierarchy__ = __webpack_require__(60);\n\n\n\n\nvar Tiles = {\n binary: __WEBPACK_IMPORTED_MODULE_2_d3_hierarchy__[\"h\" /* treemapBinary */],\n dice: __WEBPACK_IMPORTED_MODULE_2_d3_hierarchy__[\"i\" /* treemapDice */],\n slice: __WEBPACK_IMPORTED_MODULE_2_d3_hierarchy__[\"k\" /* treemapSlice */],\n slicedice: __WEBPACK_IMPORTED_MODULE_2_d3_hierarchy__[\"l\" /* treemapSliceDice */],\n squarify: __WEBPACK_IMPORTED_MODULE_2_d3_hierarchy__[\"m\" /* treemapSquarify */],\n resquarify: __WEBPACK_IMPORTED_MODULE_2_d3_hierarchy__[\"j\" /* treemapResquarify */]\n};\n\nvar Output = ['x0', 'y0', 'x1', 'y1', 'depth', 'children'];\n\n/**\n * Treemap layout.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(object): *} params.field - The value field to size nodes.\n */\nfunction Treemap(params) {\n __WEBPACK_IMPORTED_MODULE_0__HierarchyLayout__[\"a\" /* default */].call(this, params);\n}\n\nTreemap.Definition = {\n \"type\": \"Treemap\",\n \"metadata\": {\"tree\": true, \"modifies\": true},\n \"params\": [\n { \"name\": \"field\", \"type\": \"field\" },\n { \"name\": \"sort\", \"type\": \"compare\" },\n { \"name\": \"method\", \"type\": \"enum\", \"default\": \"squarify\",\n \"values\": [\"squarify\", \"resquarify\", \"binary\", \"dice\", \"slice\", \"slicedice\"] },\n { \"name\": \"padding\", \"type\": \"number\", \"default\": 0 },\n { \"name\": \"paddingInner\", \"type\": \"number\", \"default\": 0 },\n { \"name\": \"paddingOuter\", \"type\": \"number\", \"default\": 0 },\n { \"name\": \"paddingTop\", \"type\": \"number\", \"default\": 0 },\n { \"name\": \"paddingRight\", \"type\": \"number\", \"default\": 0 },\n { \"name\": \"paddingBottom\", \"type\": \"number\", \"default\": 0 },\n { \"name\": \"paddingLeft\", \"type\": \"number\", \"default\": 0 },\n { \"name\": \"ratio\", \"type\": \"number\", \"default\": 1.618033988749895 },\n { \"name\": \"round\", \"type\": \"boolean\", \"default\": false },\n { \"name\": \"size\", \"type\": \"number\", \"array\": true, \"length\": 2 },\n { \"name\": \"as\", \"type\": \"string\", \"array\": true, \"length\": Output.length, \"default\": Output }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(Treemap, __WEBPACK_IMPORTED_MODULE_0__HierarchyLayout__[\"a\" /* default */]);\n\n/**\n * Treemap layout generator. Adds 'method' and 'ratio' parameters\n * to configure the underlying tile method.\n */\nprototype.layout = function() {\n var x = Object(__WEBPACK_IMPORTED_MODULE_2_d3_hierarchy__[\"g\" /* treemap */])();\n x.ratio = function(_) {\n var t = x.tile();\n if (t.ratio) x.tile(t.ratio(_));\n };\n x.method = function(_) {\n if (Tiles.hasOwnProperty(_)) x.tile(Tiles[_]);\n else Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"m\" /* error */])('Unrecognized Treemap layout method: ' + _);\n };\n return x;\n};\n\nprototype.params = [\n 'method', 'ratio', 'size', 'round',\n 'padding', 'paddingInner', 'paddingOuter',\n 'paddingTop', 'paddingRight', 'paddingBottom', 'paddingLeft'\n];\n\nprototype.fields = Output;\n\n\n/***/ }),\n/* 840 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_Voronoi__ = __webpack_require__(841);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"voronoi\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_Voronoi__[\"a\"]; });\n\n\n\n/***/ }),\n/* 841 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Voronoi;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_d3_voronoi__ = __webpack_require__(842);\n\n\n\n\nfunction Voronoi(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n}\n\nVoronoi.Definition = {\n \"type\": \"Voronoi\",\n \"metadata\": {\"modifies\": true},\n \"params\": [\n { \"name\": \"x\", \"type\": \"field\", \"required\": true },\n { \"name\": \"y\", \"type\": \"field\", \"required\": true },\n { \"name\": \"size\", \"type\": \"number\", \"array\": true, \"length\": 2 },\n { \"name\": \"extent\", \"type\": \"array\", \"array\": true, \"length\": 2,\n \"default\": [[-1e5, -1e5], [1e5, 1e5]],\n \"content\": {\"type\": \"number\", \"array\": true, \"length\": 2} },\n { \"name\": \"as\", \"type\": \"string\", \"default\": \"path\" }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(Voronoi, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nvar defaultExtent = [[-1e5, -1e5], [1e5, 1e5]];\n\nprototype.transform = function(_, pulse) {\n var as = _.as || 'path',\n data = pulse.source,\n diagram, polygons, i, n;\n\n // configure and construct voronoi diagram\n diagram = Object(__WEBPACK_IMPORTED_MODULE_2_d3_voronoi__[\"a\" /* voronoi */])().x(_.x).y(_.y);\n if (_.size) diagram.size(_.size);\n else diagram.extent(_.extent || defaultExtent);\n\n this.value = (diagram = diagram(data));\n\n // map polygons to paths\n polygons = diagram.polygons();\n for (i=0, n=data.length; i<n; ++i) {\n data[i][as] = polygons[i]\n ? 'M' + polygons[i].join('L') + 'Z'\n : null;\n }\n\n return pulse.reflow(_.modified()).modifies(as);\n};\n\n\n/***/ }),\n/* 842 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_voronoi__ = __webpack_require__(843);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_voronoi__[\"a\"]; });\n\n\n\n/***/ }),\n/* 843 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constant__ = __webpack_require__(844);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__point__ = __webpack_require__(845);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Diagram__ = __webpack_require__(81);\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n var x = __WEBPACK_IMPORTED_MODULE_1__point__[\"a\" /* x */],\n y = __WEBPACK_IMPORTED_MODULE_1__point__[\"b\" /* y */],\n extent = null;\n\n function voronoi(data) {\n return new __WEBPACK_IMPORTED_MODULE_2__Diagram__[\"d\" /* default */](data.map(function(d, i) {\n var s = [Math.round(x(d, i, data) / __WEBPACK_IMPORTED_MODULE_2__Diagram__[\"f\" /* epsilon */]) * __WEBPACK_IMPORTED_MODULE_2__Diagram__[\"f\" /* epsilon */], Math.round(y(d, i, data) / __WEBPACK_IMPORTED_MODULE_2__Diagram__[\"f\" /* epsilon */]) * __WEBPACK_IMPORTED_MODULE_2__Diagram__[\"f\" /* 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\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_0__constant__[\"a\" /* default */])(+_), voronoi) : x;\n };\n\n voronoi.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : Object(__WEBPACK_IMPORTED_MODULE_0__constant__[\"a\" /* default */])(+_), 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\n\n/***/ }),\n/* 844 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(x) {\n return function() {\n return x;\n };\n});\n\n\n/***/ }),\n/* 845 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = x;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = y;\nfunction x(d) {\n return d[0];\n}\n\nfunction y(d) {\n return d[1];\n}\n\n\n/***/ }),\n/* 846 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = removeBeach;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = addBeach;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__RedBlackTree__ = __webpack_require__(189);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Cell__ = __webpack_require__(342);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Circle__ = __webpack_require__(343);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Edge__ = __webpack_require__(190);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__Diagram__ = __webpack_require__(81);\n\n\n\n\n\n\nvar beachPool = [];\n\nfunction Beach() {\n Object(__WEBPACK_IMPORTED_MODULE_0__RedBlackTree__[\"a\" /* 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 Object(__WEBPACK_IMPORTED_MODULE_2__Circle__[\"b\" /* detachCircle */])(beach);\n __WEBPACK_IMPORTED_MODULE_4__Diagram__[\"a\" /* beaches */].remove(beach);\n beachPool.push(beach);\n Object(__WEBPACK_IMPORTED_MODULE_0__RedBlackTree__[\"a\" /* RedBlackNode */])(beach);\n}\n\nfunction 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) < __WEBPACK_IMPORTED_MODULE_4__Diagram__[\"f\" /* epsilon */]\n && Math.abs(y - lArc.circle.cy) < __WEBPACK_IMPORTED_MODULE_4__Diagram__[\"f\" /* epsilon */]) {\n previous = lArc.P;\n disappearing.unshift(lArc);\n detachBeach(lArc);\n lArc = previous;\n }\n\n disappearing.unshift(lArc);\n Object(__WEBPACK_IMPORTED_MODULE_2__Circle__[\"b\" /* detachCircle */])(lArc);\n\n var rArc = next;\n while (rArc.circle\n && Math.abs(x - rArc.circle.x) < __WEBPACK_IMPORTED_MODULE_4__Diagram__[\"f\" /* epsilon */]\n && Math.abs(y - rArc.circle.cy) < __WEBPACK_IMPORTED_MODULE_4__Diagram__[\"f\" /* epsilon */]) {\n next = rArc.N;\n disappearing.push(rArc);\n detachBeach(rArc);\n rArc = next;\n }\n\n disappearing.push(rArc);\n Object(__WEBPACK_IMPORTED_MODULE_2__Circle__[\"b\" /* 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 Object(__WEBPACK_IMPORTED_MODULE_3__Edge__[\"d\" /* setEdgeEnd */])(rArc.edge, lArc.site, rArc.site, vertex);\n }\n\n lArc = disappearing[0];\n rArc = disappearing[nArcs - 1];\n rArc.edge = Object(__WEBPACK_IMPORTED_MODULE_3__Edge__[\"c\" /* createEdge */])(lArc.site, rArc.site, null, vertex);\n\n Object(__WEBPACK_IMPORTED_MODULE_2__Circle__[\"a\" /* attachCircle */])(lArc);\n Object(__WEBPACK_IMPORTED_MODULE_2__Circle__[\"a\" /* attachCircle */])(rArc);\n}\n\nfunction addBeach(site) {\n var x = site[0],\n directrix = site[1],\n lArc,\n rArc,\n dxl,\n dxr,\n node = __WEBPACK_IMPORTED_MODULE_4__Diagram__[\"a\" /* beaches */]._;\n\n while (node) {\n dxl = leftBreakPoint(node, directrix) - x;\n if (dxl > __WEBPACK_IMPORTED_MODULE_4__Diagram__[\"f\" /* epsilon */]) node = node.L; else {\n dxr = x - rightBreakPoint(node, directrix);\n if (dxr > __WEBPACK_IMPORTED_MODULE_4__Diagram__[\"f\" /* epsilon */]) {\n if (!node.R) {\n lArc = node;\n break;\n }\n node = node.R;\n } else {\n if (dxl > -__WEBPACK_IMPORTED_MODULE_4__Diagram__[\"f\" /* epsilon */]) {\n lArc = node.P;\n rArc = node;\n } else if (dxr > -__WEBPACK_IMPORTED_MODULE_4__Diagram__[\"f\" /* epsilon */]) {\n lArc = node;\n rArc = node.N;\n } else {\n lArc = rArc = node;\n }\n break;\n }\n }\n }\n\n Object(__WEBPACK_IMPORTED_MODULE_1__Cell__[\"c\" /* createCell */])(site);\n var newArc = createBeach(site);\n __WEBPACK_IMPORTED_MODULE_4__Diagram__[\"a\" /* beaches */].insert(lArc, newArc);\n\n if (!lArc && !rArc) return;\n\n if (lArc === rArc) {\n Object(__WEBPACK_IMPORTED_MODULE_2__Circle__[\"b\" /* detachCircle */])(lArc);\n rArc = createBeach(lArc.site);\n __WEBPACK_IMPORTED_MODULE_4__Diagram__[\"a\" /* beaches */].insert(newArc, rArc);\n newArc.edge = rArc.edge = Object(__WEBPACK_IMPORTED_MODULE_3__Edge__[\"c\" /* createEdge */])(lArc.site, newArc.site);\n Object(__WEBPACK_IMPORTED_MODULE_2__Circle__[\"a\" /* attachCircle */])(lArc);\n Object(__WEBPACK_IMPORTED_MODULE_2__Circle__[\"a\" /* attachCircle */])(rArc);\n return;\n }\n\n if (!rArc) { // && lArc\n newArc.edge = Object(__WEBPACK_IMPORTED_MODULE_3__Edge__[\"c\" /* createEdge */])(lArc.site, newArc.site);\n return;\n }\n\n // else lArc !== rArc\n Object(__WEBPACK_IMPORTED_MODULE_2__Circle__[\"b\" /* detachCircle */])(lArc);\n Object(__WEBPACK_IMPORTED_MODULE_2__Circle__[\"b\" /* 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 Object(__WEBPACK_IMPORTED_MODULE_3__Edge__[\"d\" /* setEdgeEnd */])(rArc.edge, lSite, rSite, vertex);\n newArc.edge = Object(__WEBPACK_IMPORTED_MODULE_3__Edge__[\"c\" /* createEdge */])(lSite, site, null, vertex);\n rArc.edge = Object(__WEBPACK_IMPORTED_MODULE_3__Edge__[\"c\" /* createEdge */])(site, rSite, null, vertex);\n Object(__WEBPACK_IMPORTED_MODULE_2__Circle__[\"a\" /* attachCircle */])(lArc);\n Object(__WEBPACK_IMPORTED_MODULE_2__Circle__[\"a\" /* 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\n\n/***/ }),\n/* 847 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_Wordcloud__ = __webpack_require__(848);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"wordcloud\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_Wordcloud__[\"a\"]; });\n\n\n\n/***/ }),\n/* 848 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Wordcloud;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__CloudLayout__ = __webpack_require__(849);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vega_scale__ = __webpack_require__(52);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_vega_statistics__ = __webpack_require__(46);\n\n\n\n\n\n\nvar Output = ['x', 'y', 'font', 'fontSize', 'fontStyle', 'fontWeight', 'angle'];\n\nvar Params = ['text', 'font', 'rotate', 'fontSize', 'fontStyle', 'fontWeight'];\n\nfunction Wordcloud(params) {\n __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"g\" /* Transform */].call(this, Object(__WEBPACK_IMPORTED_MODULE_0__CloudLayout__[\"a\" /* default */])(), params);\n}\n\nWordcloud.Definition = {\n \"type\": \"Wordcloud\",\n \"metadata\": {\"modifies\": true},\n \"params\": [\n { \"name\": \"size\", \"type\": \"number\", \"array\": true, \"length\": 2 },\n { \"name\": \"font\", \"type\": \"string\", \"expr\": true, \"default\": \"sans-serif\" },\n { \"name\": \"fontStyle\", \"type\": \"string\", \"expr\": true, \"default\": \"normal\" },\n { \"name\": \"fontWeight\", \"type\": \"string\", \"expr\": true, \"default\": \"normal\" },\n { \"name\": \"fontSize\", \"type\": \"number\", \"expr\": true, \"default\": 14 },\n { \"name\": \"fontSizeRange\", \"type\": \"number\", \"array\": \"nullable\", \"default\": [10, 50] },\n { \"name\": \"rotate\", \"type\": \"number\", \"expr\": true, \"default\": 0 },\n { \"name\": \"text\", \"type\": \"field\" },\n { \"name\": \"spiral\", \"type\": \"string\", \"values\": [\"archimedean\", \"rectangular\"] },\n { \"name\": \"padding\", \"type\": \"number\", \"expr\": true },\n { \"name\": \"as\", \"type\": \"string\", \"array\": true, \"length\": 7, \"default\": Output }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"u\" /* inherits */])(Wordcloud, __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n function modp(param) {\n var p = _[param];\n return Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"y\" /* isFunction */])(p) && pulse.modified(p.fields);\n }\n\n var mod = _.modified();\n if (!(mod || pulse.changed(pulse.ADD_REM) || Params.some(modp))) return;\n\n var data = pulse.materialize(pulse.SOURCE).source,\n layout = this.value,\n as = _.as || Output,\n fontSize = _.fontSize || 14,\n range;\n\n Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"y\" /* isFunction */])(fontSize)\n ? (range = _.fontSizeRange)\n : (fontSize = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"k\" /* constant */])(fontSize));\n\n // create font size scaling function as needed\n if (range) {\n var fsize = fontSize,\n sizeScale = Object(__WEBPACK_IMPORTED_MODULE_3_vega_scale__[\"d\" /* scale */])('sqrt')()\n .domain(extent(fsize, data))\n .range(range);\n fontSize = function(x) { return sizeScale(fsize(x)); };\n }\n\n data.forEach(function(t) {\n t[as[0]] = NaN;\n t[as[1]] = NaN;\n t[as[3]] = 0;\n });\n\n // configure layout\n var words = layout\n .words(data)\n .text(_.text)\n .size(_.size || [500, 500])\n .padding(_.padding || 1)\n .spiral(_.spiral || 'archimedean')\n .rotate(_.rotate || 0)\n .font(_.font || 'sans-serif')\n .fontStyle(_.fontStyle || 'normal')\n .fontWeight(_.fontWeight || 'normal')\n .fontSize(fontSize)\n .random(__WEBPACK_IMPORTED_MODULE_4_vega_statistics__[\"d\" /* random */])\n .layout();\n\n var size = layout.size(),\n dx = size[0] >> 1,\n dy = size[1] >> 1,\n i = 0,\n n = words.length,\n w, t;\n\n for (; i<n; ++i) {\n w = words[i];\n t = w.datum;\n t[as[0]] = w.x + dx;\n t[as[1]] = w.y + dy;\n t[as[2]] = w.font;\n t[as[3]] = w.size;\n t[as[4]] = w.style;\n t[as[5]] = w.weight;\n t[as[6]] = w.rotate;\n }\n\n return pulse.reflow(mod).modifies(as);\n};\n\nfunction extent(field, data) {\n var min = +Infinity,\n max = -Infinity,\n i = 0,\n n = data.length,\n v;\n\n for (; i<n; ++i) {\n v = field(data[i]);\n if (v < min) min = v;\n if (v > max) max = v;\n }\n\n return [min, max];\n}\n\n\n/***/ }),\n/* 849 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_canvas__ = __webpack_require__(97);\n\n\n/*\nCopyright (c) 2013, Jason Davies.\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n * Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n * The name Jason Davies may not be used to endorse or promote products\n derived from this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL JASON DAVIES BE LIABLE FOR ANY DIRECT, INDIRECT,\nINCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\nPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\nLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE\nOR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\nADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n\n// Word cloud layout by Jason Davies, https://www.jasondavies.com/wordcloud/\n// Algorithm due to Jonathan Feinberg, http://static.mrfeinberg.com/bv_ch03.pdf\n\nvar cloudRadians = Math.PI / 180,\n cw = 1 << 11 >> 5,\n ch = 1 << 11;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n var size = [256, 256],\n text,\n font,\n fontSize,\n fontStyle,\n fontWeight,\n rotate,\n padding,\n spiral = archimedeanSpiral,\n words = [],\n random = Math.random,\n cloud = {};\n\n cloud.layout = function() {\n var contextAndRatio = getContext(Object(__WEBPACK_IMPORTED_MODULE_0_vega_canvas__[\"a\" /* canvas */])()),\n board = zeroArray((size[0] >> 5) * size[1]),\n bounds = null,\n n = words.length,\n i = -1,\n tags = [],\n data = words.map(function(d) {\n return {\n text: text(d),\n font: font(d),\n style: fontStyle(d),\n weight: fontWeight(d),\n rotate: rotate(d),\n size: ~~fontSize(d),\n padding: padding(d),\n xoff: 0,\n yoff: 0,\n x1: 0,\n y1: 0,\n x0: 0,\n y0: 0,\n hasText: false,\n sprite: null,\n datum: d\n };\n }).sort(function(a, b) { return b.size - a.size; });\n\n while (++i < n) {\n var d = data[i];\n d.x = (size[0] * (random() + .5)) >> 1;\n d.y = (size[1] * (random() + .5)) >> 1;\n cloudSprite(contextAndRatio, d, data, i);\n if (d.hasText && place(board, d, bounds)) {\n tags.push(d);\n if (bounds) cloudBounds(bounds, d);\n else bounds = [{x: d.x + d.x0, y: d.y + d.y0}, {x: d.x + d.x1, y: d.y + d.y1}];\n // Temporary hack\n d.x -= size[0] >> 1;\n d.y -= size[1] >> 1;\n }\n }\n\n return tags;\n };\n\n function getContext(canvas) {\n canvas.width = canvas.height = 1;\n var ratio = Math.sqrt(canvas.getContext(\"2d\").getImageData(0, 0, 1, 1).data.length >> 2);\n canvas.width = (cw << 5) / ratio;\n canvas.height = ch / ratio;\n\n var context = canvas.getContext(\"2d\");\n context.fillStyle = context.strokeStyle = \"red\";\n context.textAlign = \"center\";\n\n return {context: context, ratio: ratio};\n }\n\n function place(board, tag, bounds) {\n var startX = tag.x,\n startY = tag.y,\n maxDelta = Math.sqrt(size[0] * size[0] + size[1] * size[1]),\n s = spiral(size),\n dt = random() < .5 ? 1 : -1,\n t = -dt,\n dxdy,\n dx,\n dy;\n\n while (dxdy = s(t += dt)) {\n dx = ~~dxdy[0];\n dy = ~~dxdy[1];\n\n if (Math.min(Math.abs(dx), Math.abs(dy)) >= maxDelta) break;\n\n tag.x = startX + dx;\n tag.y = startY + dy;\n\n if (tag.x + tag.x0 < 0 || tag.y + tag.y0 < 0 ||\n tag.x + tag.x1 > size[0] || tag.y + tag.y1 > size[1]) continue;\n // TODO only check for collisions within current bounds.\n if (!bounds || !cloudCollide(tag, board, size[0])) {\n if (!bounds || collideRects(tag, bounds)) {\n var sprite = tag.sprite,\n w = tag.width >> 5,\n sw = size[0] >> 5,\n lx = tag.x - (w << 4),\n sx = lx & 0x7f,\n msx = 32 - sx,\n h = tag.y1 - tag.y0,\n x = (tag.y + tag.y0) * sw + (lx >> 5),\n last;\n for (var j = 0; j < h; j++) {\n last = 0;\n for (var i = 0; i <= w; i++) {\n board[x + i] |= (last << msx) | (i < w ? (last = sprite[j * w + i]) >>> sx : 0);\n }\n x += sw;\n }\n tag.sprite = null;\n return true;\n }\n }\n }\n return false;\n }\n\n cloud.words = function(_) {\n if (arguments.length) {\n words = _;\n return cloud;\n } else {\n return words;\n }\n };\n\n cloud.size = function(_) {\n if (arguments.length) {\n size = [+_[0], +_[1]];\n return cloud;\n } else {\n return size;\n }\n };\n\n cloud.font = function(_) {\n if (arguments.length) {\n font = functor(_);\n return cloud;\n } else {\n return font;\n }\n };\n\n cloud.fontStyle = function(_) {\n if (arguments.length) {\n fontStyle = functor(_);\n return cloud;\n } else {\n return fontStyle;\n }\n };\n\n cloud.fontWeight = function(_) {\n if (arguments.length) {\n fontWeight = functor(_);\n return cloud;\n } else {\n return fontWeight;\n }\n };\n\n cloud.rotate = function(_) {\n if (arguments.length) {\n rotate = functor(_);\n return cloud;\n } else {\n return rotate;\n }\n };\n\n cloud.text = function(_) {\n if (arguments.length) {\n text = functor(_);\n return cloud;\n } else {\n return text;\n }\n };\n\n cloud.spiral = function(_) {\n if (arguments.length) {\n spiral = spirals[_] || _;\n return cloud;\n } else {\n return spiral;\n }\n };\n\n cloud.fontSize = function(_) {\n if (arguments.length) {\n fontSize = functor(_);\n return cloud;\n } else {\n return fontSize;\n }\n };\n\n cloud.padding = function(_) {\n if (arguments.length) {\n padding = functor(_);\n return cloud;\n } else {\n return padding;\n }\n };\n\n cloud.random = function(_) {\n if (arguments.length) {\n random = _;\n return cloud;\n } else {\n return random;\n }\n };\n\n return cloud;\n});\n\n// Fetches a monochrome sprite bitmap for the specified text.\n// Load in batches for speed.\nfunction cloudSprite(contextAndRatio, d, data, di) {\n if (d.sprite) return;\n var c = contextAndRatio.context,\n ratio = contextAndRatio.ratio;\n\n c.clearRect(0, 0, (cw << 5) / ratio, ch / ratio);\n var x = 0,\n y = 0,\n maxh = 0,\n n = data.length,\n w, w32, h, i, j;\n --di;\n while (++di < n) {\n d = data[di];\n c.save();\n c.font = d.style + \" \" + d.weight + \" \" + ~~((d.size + 1) / ratio) + \"px \" + d.font;\n w = c.measureText(d.text + \"m\").width * ratio;\n h = d.size << 1;\n if (d.rotate) {\n var sr = Math.sin(d.rotate * cloudRadians),\n cr = Math.cos(d.rotate * cloudRadians),\n wcr = w * cr,\n wsr = w * sr,\n hcr = h * cr,\n hsr = h * sr;\n w = (Math.max(Math.abs(wcr + hsr), Math.abs(wcr - hsr)) + 0x1f) >> 5 << 5;\n h = ~~Math.max(Math.abs(wsr + hcr), Math.abs(wsr - hcr));\n } else {\n w = (w + 0x1f) >> 5 << 5;\n }\n if (h > maxh) maxh = h;\n if (x + w >= (cw << 5)) {\n x = 0;\n y += maxh;\n maxh = 0;\n }\n if (y + h >= ch) break;\n c.translate((x + (w >> 1)) / ratio, (y + (h >> 1)) / ratio);\n if (d.rotate) c.rotate(d.rotate * cloudRadians);\n c.fillText(d.text, 0, 0);\n if (d.padding) {\n c.lineWidth = 2 * d.padding;\n c.strokeText(d.text, 0, 0);\n }\n c.restore();\n d.width = w;\n d.height = h;\n d.xoff = x;\n d.yoff = y;\n d.x1 = w >> 1;\n d.y1 = h >> 1;\n d.x0 = -d.x1;\n d.y0 = -d.y1;\n d.hasText = true;\n x += w;\n }\n var pixels = c.getImageData(0, 0, (cw << 5) / ratio, ch / ratio).data,\n sprite = [];\n while (--di >= 0) {\n d = data[di];\n if (!d.hasText) continue;\n w = d.width;\n w32 = w >> 5;\n h = d.y1 - d.y0;\n // Zero the buffer\n for (i = 0; i < h * w32; i++) sprite[i] = 0;\n x = d.xoff;\n if (x == null) return;\n y = d.yoff;\n var seen = 0,\n seenRow = -1;\n for (j = 0; j < h; j++) {\n for (i = 0; i < w; i++) {\n var k = w32 * j + (i >> 5),\n m = pixels[((y + j) * (cw << 5) + (x + i)) << 2] ? 1 << (31 - (i % 32)) : 0;\n sprite[k] |= m;\n seen |= m;\n }\n if (seen) seenRow = j;\n else {\n d.y0++;\n h--;\n j--;\n y++;\n }\n }\n d.y1 = d.y0 + seenRow;\n d.sprite = sprite.slice(0, (d.y1 - d.y0) * w32);\n }\n}\n\n// Use mask-based collision detection.\nfunction cloudCollide(tag, board, sw) {\n sw >>= 5;\n var sprite = tag.sprite,\n w = tag.width >> 5,\n lx = tag.x - (w << 4),\n sx = lx & 0x7f,\n msx = 32 - sx,\n h = tag.y1 - tag.y0,\n x = (tag.y + tag.y0) * sw + (lx >> 5),\n last;\n for (var j = 0; j < h; j++) {\n last = 0;\n for (var i = 0; i <= w; i++) {\n if (((last << msx) | (i < w ? (last = sprite[j * w + i]) >>> sx : 0))\n & board[x + i]) return true;\n }\n x += sw;\n }\n return false;\n}\n\nfunction cloudBounds(bounds, d) {\n var b0 = bounds[0],\n b1 = bounds[1];\n if (d.x + d.x0 < b0.x) b0.x = d.x + d.x0;\n if (d.y + d.y0 < b0.y) b0.y = d.y + d.y0;\n if (d.x + d.x1 > b1.x) b1.x = d.x + d.x1;\n if (d.y + d.y1 > b1.y) b1.y = d.y + d.y1;\n}\n\nfunction collideRects(a, b) {\n return a.x + a.x1 > b[0].x && a.x + a.x0 < b[1].x && a.y + a.y1 > b[0].y && a.y + a.y0 < b[1].y;\n}\n\nfunction archimedeanSpiral(size) {\n var e = size[0] / size[1];\n return function(t) {\n return [e * (t *= .1) * Math.cos(t), t * Math.sin(t)];\n };\n}\n\nfunction rectangularSpiral(size) {\n var dy = 4,\n dx = dy * size[0] / size[1],\n x = 0,\n y = 0;\n return function(t) {\n var sign = t < 0 ? -1 : 1;\n // See triangular numbers: T_n = n * (n + 1) / 2.\n switch ((Math.sqrt(1 + 4 * sign * t) - sign) & 3) {\n case 0: x += dx; break;\n case 1: y += dy; break;\n case 2: x -= dx; break;\n default: y -= dy; break;\n }\n return [x, y];\n };\n}\n\n// TODO reuse arrays?\nfunction zeroArray(n) {\n var a = [],\n i = -1;\n while (++i < n) a[i] = 0;\n return a;\n}\n\nfunction functor(d) {\n return typeof d === \"function\" ? d : function() { return d; };\n}\n\nvar spirals = {\n archimedean: archimedeanSpiral,\n rectangular: rectangularSpiral\n};\n\n\n/***/ }),\n/* 850 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_CrossFilter__ = __webpack_require__(851);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"crossfilter\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_CrossFilter__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_ResolveFilter__ = __webpack_require__(855);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"resolvefilter\", function() { return __WEBPACK_IMPORTED_MODULE_1__src_ResolveFilter__[\"a\"]; });\n\n\n\n\n/***/ }),\n/* 851 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = CrossFilter;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Bitmaps__ = __webpack_require__(852);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Dimension__ = __webpack_require__(853);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__SortedIndex__ = __webpack_require__(854);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_vega_util__ = __webpack_require__(0);\n\n\n\n\n\n\n/**\n * An indexed multi-dimensional filter.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {Array<function(object): *>} params.fields - An array of dimension accessors to filter.\n * @param {Array} params.query - An array of per-dimension range queries.\n */\nfunction CrossFilter(params) {\n __WEBPACK_IMPORTED_MODULE_3_vega_dataflow__[\"g\" /* Transform */].call(this, Object(__WEBPACK_IMPORTED_MODULE_0__Bitmaps__[\"a\" /* default */])(), params);\n this._indices = null;\n this._dims = null;\n}\n\nCrossFilter.Definition = {\n \"type\": \"CrossFilter\",\n \"metadata\": {},\n \"params\": [\n { \"name\": \"fields\", \"type\": \"field\", \"array\": true, \"required\": true },\n { \"name\": \"query\", \"type\": \"array\", \"array\": true, \"required\": true,\n \"content\": {\"type\": \"number\", \"array\": true, \"length\": 2} }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"u\" /* inherits */])(CrossFilter, __WEBPACK_IMPORTED_MODULE_3_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n if (!this._dims) {\n return this.init(_, pulse);\n } else {\n var init = _.modified('fields')\n || _.fields.some(function(f) { return pulse.modified(f.fields); });\n\n return init\n ? this.reinit(_, pulse)\n : this.eval(_, pulse);\n }\n};\n\nprototype.init = function(_, pulse) {\n var fields = _.fields,\n query = _.query,\n indices = this._indices = {},\n dims = this._dims = [],\n m = query.length,\n i = 0, key, index;\n\n // instantiate indices and dimensions\n for (; i<m; ++i) {\n key = fields[i].fname;\n index = indices[key] || (indices[key] = Object(__WEBPACK_IMPORTED_MODULE_2__SortedIndex__[\"a\" /* default */])());\n dims.push(Object(__WEBPACK_IMPORTED_MODULE_1__Dimension__[\"a\" /* default */])(index, i, query[i]));\n }\n\n return this.eval(_, pulse);\n};\n\nprototype.reinit = function(_, pulse) {\n var output = pulse.materialize().fork(),\n fields = _.fields,\n query = _.query,\n indices = this._indices,\n dims = this._dims,\n bits = this.value,\n curr = bits.curr(),\n prev = bits.prev(),\n all = bits.all(),\n out = (output.rem = output.add),\n mod = output.mod,\n m = query.length,\n adds = {}, add, index, key,\n mods, remMap, modMap, i, n, f;\n\n // set prev to current state\n prev.set(curr);\n\n // if pulse has remove tuples, process them first\n if (pulse.rem.length) {\n remMap = this.remove(_, pulse, output);\n }\n\n // if pulse has added tuples, add them to state\n if (pulse.add.length) {\n bits.add(pulse.add);\n }\n\n // if pulse has modified tuples, create an index map\n if (pulse.mod.length) {\n modMap = {};\n for (mods=pulse.mod, i=0, n=mods.length; i<n; ++i) {\n modMap[mods[i]._index] = 1;\n }\n }\n\n // re-initialize indices as needed, update curr bitmap\n for (i=0; i<m; ++i) {\n f = fields[i];\n if (!dims[i] || _.modified('fields', i) || pulse.modified(f.fields)) {\n key = f.fname;\n if (!(add = adds[key])) {\n indices[key] = index = Object(__WEBPACK_IMPORTED_MODULE_2__SortedIndex__[\"a\" /* default */])();\n adds[key] = add = index.insert(f, pulse.source, 0);\n }\n dims[i] = Object(__WEBPACK_IMPORTED_MODULE_1__Dimension__[\"a\" /* default */])(index, i, query[i]).onAdd(add, curr);\n }\n }\n\n // visit each tuple\n // if filter state changed, push index to add/rem\n // else if in mod and passes a filter, push index to mod\n for (i=0, n=bits.data().length; i<n; ++i) {\n if (remMap[i]) { // skip if removed tuple\n continue;\n } else if (prev[i] !== curr[i]) { // add if state changed\n out.push(i);\n } else if (modMap[i] && curr[i] !== all) { // otherwise, pass mods through\n mod.push(i);\n }\n }\n\n bits.mask = (1 << m) - 1;\n return output;\n};\n\nprototype.eval = function(_, pulse) {\n var output = pulse.materialize().fork(),\n m = this._dims.length,\n mask = 0;\n\n if (pulse.rem.length) {\n this.remove(_, pulse, output);\n mask |= (1 << m) - 1;\n }\n\n if (_.modified('query') && !_.modified('fields')) {\n mask |= this.update(_, pulse, output);\n }\n\n if (pulse.add.length) {\n this.insert(_, pulse, output);\n mask |= (1 << m) - 1;\n }\n\n if (pulse.mod.length) {\n this.modify(pulse, output);\n mask |= (1 << m) - 1;\n }\n\n this.value.mask = mask;\n return output;\n};\n\nprototype.insert = function(_, pulse, output) {\n var tuples = pulse.add,\n bits = this.value,\n dims = this._dims,\n indices = this._indices,\n fields = _.fields,\n adds = {},\n out = output.add,\n k = bits.size(),\n n = k + tuples.length,\n m = dims.length, j, key, add;\n\n // resize bitmaps and add tuples as needed\n bits.resize(n, m);\n bits.add(tuples);\n\n var curr = bits.curr(),\n prev = bits.prev(),\n all = bits.all();\n\n // add to dimensional indices\n for (j=0; j<m; ++j) {\n key = fields[j].fname;\n add = adds[key] || (adds[key] = indices[key].insert(fields[j], tuples, k));\n dims[j].onAdd(add, curr);\n }\n\n // set previous filters, output if passes at least one filter\n for (; k<n; ++k) {\n prev[k] = all;\n if (curr[k] !== all) out.push(k);\n }\n};\n\nprototype.modify = function(pulse, output) {\n var out = output.mod,\n bits = this.value,\n curr = bits.curr(),\n all = bits.all(),\n tuples = pulse.mod,\n i, n, k;\n\n for (i=0, n=tuples.length; i<n; ++i) {\n k = tuples[i]._index;\n if (curr[k] !== all) out.push(k);\n }\n};\n\nprototype.remove = function(_, pulse, output) {\n var indices = this._indices,\n bits = this.value,\n curr = bits.curr(),\n prev = bits.prev(),\n all = bits.all(),\n map = {},\n out = output.rem,\n tuples = pulse.rem,\n i, n, k, f;\n\n // process tuples, output if passes at least one filter\n for (i=0, n=tuples.length; i<n; ++i) {\n k = tuples[i]._index;\n map[k] = 1; // build index map\n prev[k] = (f = curr[k]);\n curr[k] = all;\n if (f !== all) out.push(k);\n }\n\n // remove from dimensional indices\n for (k in indices) {\n indices[k].remove(n, map);\n }\n\n this.reindex(pulse, n, map);\n return map;\n};\n\n// reindex filters and indices after propagation completes\nprototype.reindex = function(pulse, num, map) {\n var indices = this._indices,\n bits = this.value;\n\n pulse.runAfter(function() {\n var indexMap = bits.remove(num, map);\n for (var key in indices) indices[key].reindex(indexMap);\n });\n};\n\nprototype.update = function(_, pulse, output) {\n var dims = this._dims,\n query = _.query,\n stamp = pulse.stamp,\n m = dims.length,\n mask = 0, i, q;\n\n // survey how many queries have changed\n output.filters = 0;\n for (q=0; q<m; ++q) {\n if (_.modified('query', q)) { i = q; ++mask; }\n }\n\n if (mask === 1) {\n // only one query changed, use more efficient update\n mask = dims[i].one;\n this.incrementOne(dims[i], query[i], output.add, output.rem);\n } else {\n // multiple queries changed, perform full record keeping\n for (q=0, mask=0; q<m; ++q) {\n if (!_.modified('query', q)) continue;\n mask |= dims[q].one;\n this.incrementAll(dims[q], query[q], stamp, output.add);\n output.rem = output.add; // duplicate add/rem for downstream resolve\n }\n }\n\n return mask;\n};\n\nprototype.incrementAll = function(dim, query, stamp, out) {\n var bits = this.value,\n seen = bits.seen(),\n curr = bits.curr(),\n prev = bits.prev(),\n index = dim.index(),\n old = dim.bisect(dim.range),\n range = dim.bisect(query),\n lo1 = range[0],\n hi1 = range[1],\n lo0 = old[0],\n hi0 = old[1],\n one = dim.one,\n i, j, k;\n\n // Fast incremental update based on previous lo index.\n if (lo1 < lo0) {\n for (i = lo1, j = Math.min(lo0, hi1); i < j; ++i) {\n k = index[i];\n if (seen[k] !== stamp) {\n prev[k] = curr[k];\n seen[k] = stamp;\n out.push(k);\n }\n curr[k] ^= one;\n }\n } else if (lo1 > lo0) {\n for (i = lo0, j = Math.min(lo1, hi0); i < j; ++i) {\n k = index[i];\n if (seen[k] !== stamp) {\n prev[k] = curr[k];\n seen[k] = stamp;\n out.push(k);\n }\n curr[k] ^= one;\n }\n }\n\n // Fast incremental update based on previous hi index.\n if (hi1 > hi0) {\n for (i = Math.max(lo1, hi0), j = hi1; i < j; ++i) {\n k = index[i];\n if (seen[k] !== stamp) {\n prev[k] = curr[k];\n seen[k] = stamp;\n out.push(k);\n }\n curr[k] ^= one;\n }\n } else if (hi1 < hi0) {\n for (i = Math.max(lo0, hi1), j = hi0; i < j; ++i) {\n k = index[i];\n if (seen[k] !== stamp) {\n prev[k] = curr[k];\n seen[k] = stamp;\n out.push(k);\n }\n curr[k] ^= one;\n }\n }\n\n dim.range = query.slice();\n};\n\nprototype.incrementOne = function(dim, query, add, rem) {\n var bits = this.value,\n curr = bits.curr(),\n index = dim.index(),\n old = dim.bisect(dim.range),\n range = dim.bisect(query),\n lo1 = range[0],\n hi1 = range[1],\n lo0 = old[0],\n hi0 = old[1],\n one = dim.one,\n i, j, k;\n\n // Fast incremental update based on previous lo index.\n if (lo1 < lo0) {\n for (i = lo1, j = Math.min(lo0, hi1); i < j; ++i) {\n k = index[i];\n curr[k] ^= one;\n add.push(k);\n }\n } else if (lo1 > lo0) {\n for (i = lo0, j = Math.min(lo1, hi0); i < j; ++i) {\n k = index[i];\n curr[k] ^= one;\n rem.push(k);\n }\n }\n\n // Fast incremental update based on previous hi index.\n if (hi1 > hi0) {\n for (i = Math.max(lo1, hi0), j = hi1; i < j; ++i) {\n k = index[i];\n curr[k] ^= one;\n add.push(k);\n }\n } else if (hi1 < hi0) {\n for (i = Math.max(lo0, hi1), j = hi0; i < j; ++i) {\n k = index[i];\n curr[k] ^= one;\n rem.push(k);\n }\n }\n\n dim.range = query.slice();\n};\n\n\n/***/ }),\n/* 852 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Bitmaps;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__arrays__ = __webpack_require__(344);\n\n\n/**\n * Maintains CrossFilter state.\n */\nfunction Bitmaps() {\n\n var width = 8,\n data = [],\n seen = Object(__WEBPACK_IMPORTED_MODULE_0__arrays__[\"b\" /* array32 */])(0),\n curr = array(0, width),\n prev = array(0, width);\n\n return {\n\n data: function() { return data; },\n\n seen: function() {\n return (seen = lengthen(seen, data.length));\n },\n\n add: function(array) {\n for (var i=0, j=data.length, n=array.length, t; i<n; ++i) {\n t = array[i];\n t._index = j++;\n data.push(t);\n }\n },\n\n remove: function(num, map) { // map: index -> boolean (true => remove)\n var n = data.length,\n copy = Array(n - num),\n reindex = data, // reuse old data array for index map\n t, i, j;\n\n // seek forward to first removal\n for (i=0; !map[i] && i<n; ++i) {\n copy[i] = data[i];\n reindex[i] = i;\n }\n\n // condense arrays\n for (j=i; i<n; ++i) {\n t = data[i];\n if (!map[i]) {\n reindex[i] = j;\n curr[j] = curr[i];\n prev[j] = prev[i];\n copy[j] = t;\n t._index = j++;\n } else {\n reindex[i] = -1;\n }\n curr[i] = 0; // clear unused bits\n }\n\n data = copy;\n return reindex;\n },\n\n size: function() { return data.length; },\n\n curr: function() { return curr; },\n\n prev: function() { return prev; },\n\n reset: function(k) { prev[k] = curr[k]; },\n\n all: function() {\n return width < 0x101 ? 0xff : width < 0x10001 ? 0xffff : 0xffffffff;\n },\n\n set: function(k, one) { curr[k] |= one; },\n\n clear: function(k, one) { curr[k] &= ~one; },\n\n resize: function(n, m) {\n var k = curr.length;\n if (n > k || m > width) {\n width = Math.max(m, width);\n curr = array(n, width, curr);\n prev = array(n, width);\n }\n }\n };\n}\n\nfunction lengthen(array, length, copy) {\n if (array.length >= length) return array;\n copy = copy || new array.constructor(length);\n copy.set(array);\n return copy;\n}\n\nfunction array(n, m, array) {\n var copy = (m < 0x101 ? __WEBPACK_IMPORTED_MODULE_0__arrays__[\"c\" /* array8 */] : m < 0x10001 ? __WEBPACK_IMPORTED_MODULE_0__arrays__[\"a\" /* array16 */] : __WEBPACK_IMPORTED_MODULE_0__arrays__[\"b\" /* array32 */])(n);\n if (array) copy.set(array);\n return copy;\n}\n\n\n/***/ }),\n/* 853 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(index, i, query) {\n var bit = (1 << i);\n\n return {\n one: bit,\n zero: ~bit,\n range: query.slice(),\n bisect: index.bisect,\n index: index.index,\n size: index.size,\n\n onAdd: function(added, curr) {\n var dim = this,\n range = dim.bisect(dim.range, added.value),\n idx = added.index,\n lo = range[0],\n hi = range[1],\n n1 = idx.length, i;\n\n for (i=0; i<lo; ++i) curr[idx[i]] |= bit;\n for (i=hi; i<n1; ++i) curr[idx[i]] |= bit;\n return dim;\n }\n };\n});\n\n\n/***/ }),\n/* 854 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = SortedIndex;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__arrays__ = __webpack_require__(344);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_d3_array__ = __webpack_require__(9);\n\n\n\n/**\n * Maintains a list of values, sorted by key.\n */\nfunction SortedIndex() {\n var index = Object(__WEBPACK_IMPORTED_MODULE_0__arrays__[\"b\" /* array32 */])(0),\n value = [],\n size = 0;\n\n function insert(key, data, base) {\n if (!data.length) return [];\n\n var n0 = size,\n n1 = data.length,\n addv = Array(n1),\n addi = Object(__WEBPACK_IMPORTED_MODULE_0__arrays__[\"b\" /* array32 */])(n1),\n oldv, oldi, i;\n\n for (i=0; i<n1; ++i) {\n addv[i] = key(data[i]);\n addi[i] = i;\n }\n addv = sort(addv, addi);\n\n if (n0) {\n oldv = value;\n oldi = index;\n value = Array(n0 + n1);\n index = Object(__WEBPACK_IMPORTED_MODULE_0__arrays__[\"b\" /* array32 */])(n0 + n1);\n merge(base, oldv, oldi, n0, addv, addi, n1, value, index);\n } else {\n if (base > 0) for (i=0; i<n1; ++i) {\n addi[i] += base;\n }\n value = addv;\n index = addi;\n }\n size = n0 + n1;\n\n return {index: addi, value: addv};\n }\n\n function remove(num, map) {\n // map: index -> remove\n var n = size,\n idx, i, j;\n\n // seek forward to first removal\n for (i=0; !map[index[i]] && i<n; ++i);\n\n // condense index and value arrays\n for (j=i; i<n; ++i) {\n if (!map[idx=index[i]]) {\n index[j] = idx;\n value[j] = value[i];\n ++j;\n }\n }\n\n size = n - num;\n }\n\n function reindex(map) {\n for (var i=0, n=size; i<n; ++i) {\n index[i] = map[index[i]];\n }\n }\n\n function bisect(range, array) {\n var n;\n if (array) {\n n = array.length;\n } else {\n array = value;\n n = size;\n }\n return [\n Object(__WEBPACK_IMPORTED_MODULE_1_d3_array__[\"c\" /* bisectLeft */])(array, range[0], 0, n),\n Object(__WEBPACK_IMPORTED_MODULE_1_d3_array__[\"d\" /* bisectRight */])(array, range[1], 0, n)\n ];\n }\n\n return {\n insert: insert,\n remove: remove,\n bisect: bisect,\n reindex: reindex,\n index: function() { return index; },\n size: function() { return size; }\n };\n}\n\nfunction sort(values, index) {\n values.sort.call(index, function(a, b) {\n var x = values[a],\n y = values[b];\n return x < y ? -1 : x > y ? 1 : 0;\n });\n return Object(__WEBPACK_IMPORTED_MODULE_1_d3_array__[\"l\" /* permute */])(values, index);\n}\n\nfunction merge(base, value0, index0, n0, value1, index1, n1, value, index) {\n var i0 = 0, i1 = 0, i;\n\n for (i=0; i0 < n0 && i1 < n1; ++i) {\n if (value0[i0] < value1[i1]) {\n value[i] = value0[i0];\n index[i] = index0[i0++];\n } else {\n value[i] = value1[i1];\n index[i] = index1[i1++] + base;\n }\n }\n\n for (; i0 < n0; ++i0, ++i) {\n value[i] = value0[i0];\n index[i] = index0[i0];\n }\n\n for (; i1 < n1; ++i1, ++i) {\n value[i] = value1[i1];\n index[i] = index1[i1] + base;\n }\n}\n\n\n/***/ }),\n/* 855 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = ResolveFilter;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Selectively filters tuples by resolving against a filter bitmap.\n * Useful for processing the output of a cross-filter transform.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {object} params.ignore - A bit mask indicating which filters to ignore.\n * @param {object} params.filter - The per-tuple filter bitmaps. Typically this\n * parameter value is a reference to a {@link CrossFilter} transform.\n */\nfunction ResolveFilter(params) {\n __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */].call(this, null, params);\n}\n\nResolveFilter.Definition = {\n \"type\": \"ResolveFilter\",\n \"metadata\": {},\n \"params\": [\n { \"name\": \"ignore\", \"type\": \"number\", \"required\": true,\n \"description\": \"A bit mask indicating which filters to ignore.\" },\n { \"name\": \"filter\", \"type\": \"object\", \"required\": true,\n \"description\": \"Per-tuple filter bitmaps from a CrossFilter transform.\" }\n ]\n};\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"u\" /* inherits */])(ResolveFilter, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"g\" /* Transform */]);\n\nprototype.transform = function(_, pulse) {\n var ignore = ~(_.ignore || 0), // bit mask where zeros -> dims to ignore\n bitmap = _.filter,\n mask = bitmap.mask;\n\n // exit early if no relevant filter changes\n if ((mask & ignore) === 0) return pulse.StopPropagation;\n\n var output = pulse.fork(pulse.ALL),\n data = bitmap.data(),\n curr = bitmap.curr(),\n prev = bitmap.prev(),\n pass = function(k) {\n return !(curr[k] & ignore) ? data[k] : null;\n };\n\n // propagate all mod tuples that pass the filter\n output.filter(output.MOD, pass);\n\n // determine add & rem tuples via filter functions\n // for efficiency, we do *not* populate new arrays,\n // instead we add filter functions applied downstream\n\n if (!(mask & (mask-1))) { // only one filter changed\n output.filter(output.ADD, pass);\n output.filter(output.REM, function(k) {\n return (curr[k] & ignore) === mask ? data[k] : null;\n });\n\n } else { // multiple filters changed\n output.filter(output.ADD, function(k) {\n var c = curr[k] & ignore,\n f = !c && (c ^ (prev[k] & ignore));\n return f ? data[k] : null;\n });\n output.filter(output.REM, function(k) {\n var c = curr[k] & ignore,\n f = c && !(c ^ (c ^ (prev[k] & ignore)));\n return f ? data[k] : null;\n });\n }\n\n // add filter to source data in case of reflow...\n return output.filter(output.SOURCE, function(t) { return pass(t._index); });\n};\n\n\n/***/ }),\n/* 856 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\"_from\":\"vega-lib@^4.0.0-rc.3\",\"_id\":\"vega-lib@4.2.0\",\"_inBundle\":false,\"_integrity\":\"sha1-eK3AhsewIw2ltBw/38AgK0jiKPo=\",\"_location\":\"/vega-lib\",\"_phantomChildren\":{},\"_requested\":{\"type\":\"range\",\"registry\":true,\"raw\":\"vega-lib@^4.0.0-rc.3\",\"name\":\"vega-lib\",\"escapedName\":\"vega-lib\",\"rawSpec\":\"^4.0.0-rc.3\",\"saveSpec\":null,\"fetchSpec\":\"^4.0.0-rc.3\"},\"_requiredBy\":[\"/\",\"/vega-embed\"],\"_resolved\":\"https://registry.npmjs.org/vega-lib/-/vega-lib-4.2.0.tgz\",\"_shasum\":\"78adc086c7b0230da5b41c3fdfc0202b48e228fa\",\"_spec\":\"vega-lib@^4.0.0-rc.3\",\"_where\":\"/home/travis/build/simonw/datasette-vega\",\"author\":{\"name\":\"UW Interactive Data Lab\",\"url\":\"http://idl.cs.washington.edu\"},\"browser\":{\"buffer\":false,\"fs\":false},\"bugs\":{\"url\":\"https://github.com/vega/vega-lib/issues\"},\"bundleDependencies\":false,\"contributors\":[{\"name\":\"Jeffrey Heer\",\"url\":\"http://idl.cs.washington.edu\"},{\"name\":\"Arvind Satyanarayan\",\"url\":\"http://arvindsatya.com\"},{\"name\":\"Ryan Russell\",\"url\":\"https://github.com/RussellSprouts\"},{\"name\":\"Emily Gu\",\"url\":\"https://github.com/emilygu\"},{\"name\":\"Dominik Moritz\",\"url\":\"https://www.domoritz.de\"},{\"name\":\"Yuri Astrakhan\",\"url\":\"https://github.com/nyurik\"}],\"dependencies\":{\"vega-crossfilter\":\"^3.0.0\",\"vega-dataflow\":\"^4.0.4\",\"vega-encode\":\"^3.1.4\",\"vega-event-selector\":\"^2.0.0\",\"vega-expression\":\"^2.3.1\",\"vega-force\":\"^3.0.0\",\"vega-geo\":\"^3.1.0\",\"vega-hierarchy\":\"^3.0.3\",\"vega-loader\":\"^3.0.1\",\"vega-parser\":\"^3.7.2\",\"vega-projection\":\"^1.2.0\",\"vega-runtime\":\"^3.1.0\",\"vega-scale\":\"^2.4.0\",\"vega-scenegraph\":\"^3.2.2\",\"vega-statistics\":\"^1.2.1\",\"vega-transforms\":\"^2.2.0\",\"vega-typings\":\"*\",\"vega-util\":\"^1.7.0\",\"vega-view\":\"^3.3.3\",\"vega-view-transforms\":\"^2.0.2\",\"vega-voronoi\":\"^3.0.0\",\"vega-wordcloud\":\"^3.0.0\"},\"deprecated\":false,\"description\":\"Include Vega in projects using minimal dependencies.\",\"devDependencies\":{\"eslint\":\"5\",\"rollup\":\"0.62.0\",\"rollup-plugin-json\":\"^3.0.0\",\"rollup-plugin-node-resolve\":\"^3.3.0\",\"tape\":\"4\",\"tv4\":\"1\",\"uglify-js\":\"3\"},\"homepage\":\"https://github.com/vega/vega-lib#readme\",\"jsdelivr\":\"build/vega.min.js\",\"jsnext:main\":\"index\",\"keywords\":[\"vega\",\"visualization\",\"interaction\",\"dataflow\",\"library\",\"data\",\"d3\"],\"license\":\"BSD-3-Clause\",\"main\":\"build/vega.js\",\"module\":\"index\",\"name\":\"vega-lib\",\"repository\":{\"type\":\"git\",\"url\":\"git+https://github.com/vega/vega-lib.git\"},\"scripts\":{\"build\":\"npm run rollup && bin/rollup -e\",\"postbuild\":\"uglifyjs build/vega.js -c -m -o build/vega.min.js && uglifyjs build/vega-core.js -c -m -o build/vega-core.min.js\",\"postpublish\":\"git push && git push --tags\",\"prebuild\":\"rm -rf build && mkdir build\",\"prepublishOnly\":\"npm run test && npm run build\",\"pretest\":\"npm run prebuild && npm run rollup\",\"rollup\":\"bin/rollup && bin/schema > build/vega-schema.json\",\"test\":\"TZ=America/Los_Angeles tape 'test/**/*-test.js' && eslint index.js test\"},\"unpkg\":\"build/vega.min.js\",\"version\":\"4.2.0\"}\n\n/***/ }),\n/* 857 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_View__ = __webpack_require__(858);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__src_View__[\"a\"]; });\n\n\n\n/***/ }),\n/* 858 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = View;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__cursor__ = __webpack_require__(859);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__data__ = __webpack_require__(860);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__events__ = __webpack_require__(861);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__hover__ = __webpack_require__(863);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__finalize__ = __webpack_require__(864);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__initialize__ = __webpack_require__(865);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__render_to_image_url__ = __webpack_require__(868);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__render_to_canvas__ = __webpack_require__(869);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__render_to_svg__ = __webpack_require__(870);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__render_size__ = __webpack_require__(119);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__runtime__ = __webpack_require__(871);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__scale__ = __webpack_require__(927);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__size__ = __webpack_require__(928);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__state__ = __webpack_require__(929);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__timer__ = __webpack_require__(930);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__tooltip__ = __webpack_require__(931);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__trap__ = __webpack_require__(347);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19_vega_scenegraph__ = __webpack_require__(20);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Create a new View instance from a Vega dataflow runtime specification.\n * The generated View will not immediately be ready for display. Callers\n * should also invoke the initialize method (e.g., to set the parent\n * DOM element in browser-based deployment) and then invoke the run\n * method to evaluate the dataflow graph. Rendering will automatically\n * be peformed upon dataflow runs.\n * @constructor\n * @param {object} spec - The Vega dataflow runtime specification.\n */\nfunction View(spec, options) {\n var view = this;\n options = options || {};\n\n __WEBPACK_IMPORTED_MODULE_17_vega_dataflow__[\"a\" /* Dataflow */].call(view);\n view.loader(options.loader || view._loader);\n view.logLevel(options.logLevel || 0);\n\n view._el = null;\n view._renderType = options.renderer || __WEBPACK_IMPORTED_MODULE_19_vega_scenegraph__[\"i\" /* RenderType */].Canvas;\n view._scenegraph = new __WEBPACK_IMPORTED_MODULE_19_vega_scenegraph__[\"o\" /* Scenegraph */]();\n var root = view._scenegraph.root;\n\n // initialize renderer, handler and event management\n view._renderer = null;\n view._tooltip = options.tooltip || __WEBPACK_IMPORTED_MODULE_15__tooltip__[\"a\" /* default */],\n view._redraw = true;\n view._handler = new __WEBPACK_IMPORTED_MODULE_19_vega_scenegraph__[\"b\" /* CanvasHandler */]().scene(root);\n view._preventDefault = false;\n view._timers = [];\n view._eventListeners = [];\n view._resizeListeners = [];\n\n // initialize dataflow graph\n var ctx = Object(__WEBPACK_IMPORTED_MODULE_10__runtime__[\"a\" /* default */])(view, spec, options.functions);\n view._runtime = ctx;\n view._signals = ctx.signals;\n view._bind = (spec.bindings || []).map(function(_) {\n return {\n state: null,\n param: Object(__WEBPACK_IMPORTED_MODULE_18_vega_util__[\"n\" /* extend */])({}, _)\n };\n });\n\n // initialize scenegraph\n if (ctx.root) ctx.root.set(root);\n root.source = ctx.data.root.input;\n view.pulse(\n ctx.data.root.input,\n view.changeset().insert(root.items)\n );\n\n // initialize background color\n view._background = ctx.background || null;\n\n // initialize event configuration\n view._eventConfig = Object(__WEBPACK_IMPORTED_MODULE_2__events__[\"b\" /* initializeEventConfig */])(ctx.eventConfig);\n\n // initialize view size\n view._width = view.width();\n view._height = view.height();\n view._viewWidth = Object(__WEBPACK_IMPORTED_MODULE_12__size__[\"d\" /* viewWidth */])(view, view._width);\n view._viewHeight = Object(__WEBPACK_IMPORTED_MODULE_12__size__[\"c\" /* viewHeight */])(view, view._height);\n view._origin = [0, 0];\n view._resize = 0;\n view._autosize = 1;\n Object(__WEBPACK_IMPORTED_MODULE_12__size__[\"a\" /* initializeResize */])(view);\n\n // initialize cursor\n Object(__WEBPACK_IMPORTED_MODULE_0__cursor__[\"a\" /* default */])(view);\n}\n\nvar prototype = Object(__WEBPACK_IMPORTED_MODULE_18_vega_util__[\"u\" /* inherits */])(View, __WEBPACK_IMPORTED_MODULE_17_vega_dataflow__[\"a\" /* Dataflow */]);\n\n// -- DATAFLOW / RENDERING ----\n\nprototype.run = function(encode) {\n // evaluate dataflow\n __WEBPACK_IMPORTED_MODULE_17_vega_dataflow__[\"a\" /* Dataflow */].prototype.run.call(this, encode);\n\n if (this._pending) {\n // resize next cycle if loading data sets\n this.resize();\n } else if (this._redraw || this._resize) {\n // render as needed\n try {\n this.render();\n } catch (e) {\n this.error(e);\n }\n }\n\n return this;\n};\n\nprototype.render = function() {\n if (this._renderer) {\n if (this._resize) {\n this._resize = 0;\n Object(__WEBPACK_IMPORTED_MODULE_9__render_size__[\"c\" /* resizeRenderer */])(this);\n }\n this._renderer.render(this._scenegraph.root);\n }\n this._redraw = false;\n return this;\n};\n\nprototype.dirty = function(item) {\n this._redraw = true;\n this._renderer && this._renderer.dirty(item);\n};\n\n// -- GET / SET ----\n\nprototype.container = function() {\n return this._el;\n};\n\nprototype.scenegraph = function() {\n return this._scenegraph;\n};\n\nprototype.origin = function() {\n return this._origin.slice();\n};\n\nfunction lookupSignal(view, name) {\n return view._signals.hasOwnProperty(name)\n ? view._signals[name]\n : Object(__WEBPACK_IMPORTED_MODULE_18_vega_util__[\"m\" /* error */])('Unrecognized signal name: ' + Object(__WEBPACK_IMPORTED_MODULE_18_vega_util__[\"O\" /* stringValue */])(name));\n}\n\nprototype.signal = function(name, value, options) {\n var op = lookupSignal(this, name);\n return arguments.length === 1\n ? op.value\n : this.update(op, value, options);\n};\n\nprototype.background = function(_) {\n if (arguments.length) {\n this._background = _;\n this._resize = 1;\n return this;\n } else {\n return this._background;\n }\n};\n\nprototype.width = function(_) {\n return arguments.length ? this.signal('width', _) : this.signal('width');\n};\n\nprototype.height = function(_) {\n return arguments.length ? this.signal('height', _) : this.signal('height');\n};\n\nprototype.padding = function(_) {\n return arguments.length ? this.signal('padding', _) : this.signal('padding');\n};\n\nprototype.autosize = function(_) {\n return arguments.length ? this.signal('autosize', _) : this.signal('autosize');\n};\n\nprototype.renderer = function(type) {\n if (!arguments.length) return this._renderType;\n if (!Object(__WEBPACK_IMPORTED_MODULE_19_vega_scenegraph__[\"L\" /* renderModule */])(type)) Object(__WEBPACK_IMPORTED_MODULE_18_vega_util__[\"m\" /* error */])('Unrecognized renderer type: ' + type);\n if (type !== this._renderType) {\n this._renderType = type;\n this._resetRenderer();\n }\n return this;\n};\n\nprototype.tooltip = function(handler) {\n if (!arguments.length) return this._tooltip;\n if (handler !== this._tooltip) {\n this._tooltip = handler;\n this._resetRenderer();\n }\n return this;\n};\n\nprototype.loader = function(loader) {\n if (!arguments.length) return this._loader;\n if (loader !== this._loader) {\n __WEBPACK_IMPORTED_MODULE_17_vega_dataflow__[\"a\" /* Dataflow */].prototype.loader.call(this, loader);\n this._resetRenderer();\n }\n return this;\n};\n\nprototype.resize = function() {\n // set flag to perform autosize\n this._autosize = 1;\n // touch autosize signal to ensure top-level ViewLayout runs\n return this.touch(lookupSignal(this, 'autosize'));\n};\n\nprototype._resetRenderer = function() {\n if (this._renderer) {\n this._renderer = null;\n this.initialize(this._el);\n }\n};\n\n// -- SIZING ----\nprototype._resizeView = __WEBPACK_IMPORTED_MODULE_12__size__[\"b\" /* resizeView */];\n\n// -- EVENT HANDLING ----\n\nprototype.addEventListener = function(type, handler, options) {\n var callback = handler;\n if (!(options && options.trap === false)) {\n // wrap callback in error handler\n callback = Object(__WEBPACK_IMPORTED_MODULE_16__trap__[\"a\" /* default */])(this, handler);\n callback.raw = handler;\n }\n this._handler.on(type, callback);\n return this;\n};\n\nprototype.removeEventListener = function(type, handler) {\n var handlers = this._handler.handlers(type),\n i = handlers.length, h, t;\n\n // search registered handlers, remove if match found\n while (--i >= 0) {\n t = handlers[i].type;\n h = handlers[i].handler;\n if (type === t && (handler === h || handler === h.raw)) {\n this._handler.off(t, h);\n break;\n }\n }\n return this;\n};\n\nprototype.addResizeListener = function(handler) {\n var l = this._resizeListeners;\n if (l.indexOf(handler) < 0) {\n // add handler if it isn't already registered\n // note: error trapping handled elsewhere, so\n // no need to wrap handlers here\n l.push(handler);\n }\n return this;\n};\n\nprototype.removeResizeListener = function(handler) {\n var l = this._resizeListeners,\n i = l.indexOf(handler);\n if (i >= 0) {\n l.splice(i, 1);\n }\n return this;\n};\n\nfunction findSignalHandler(signal, handler) {\n var t = signal._targets || [],\n h = t.filter(function(op) {\n var u = op._update;\n return u && u.handler === handler;\n });\n return h.length ? h[0] : null;\n}\n\nprototype.addSignalListener = function(name, handler) {\n var s = lookupSignal(this, name),\n h = findSignalHandler(s, handler);\n\n if (!h) {\n h = Object(__WEBPACK_IMPORTED_MODULE_16__trap__[\"a\" /* default */])(this, function() { handler(name, s.value); });\n h.handler = handler;\n this.on(s, null, h);\n }\n return this;\n};\n\nprototype.removeSignalListener = function(name, handler) {\n var s = lookupSignal(this, name),\n h = findSignalHandler(s, handler);\n\n if (h) s._targets.remove(h);\n return this;\n};\n\nprototype.preventDefault = function(_) {\n if (arguments.length) {\n this._preventDefault = _;\n return this;\n } else {\n return this._preventDefault;\n }\n};\n\nprototype.timer = __WEBPACK_IMPORTED_MODULE_14__timer__[\"a\" /* default */];\nprototype.events = __WEBPACK_IMPORTED_MODULE_2__events__[\"a\" /* events */];\nprototype.finalize = __WEBPACK_IMPORTED_MODULE_4__finalize__[\"a\" /* default */];\nprototype.hover = __WEBPACK_IMPORTED_MODULE_3__hover__[\"a\" /* default */];\n\n// -- DATA ----\nprototype.data = __WEBPACK_IMPORTED_MODULE_1__data__[\"b\" /* data */];\nprototype.change = __WEBPACK_IMPORTED_MODULE_1__data__[\"a\" /* change */];\nprototype.insert = __WEBPACK_IMPORTED_MODULE_1__data__[\"c\" /* insert */];\nprototype.remove = __WEBPACK_IMPORTED_MODULE_1__data__[\"d\" /* remove */];\n\n// -- SCALES --\nprototype.scale = __WEBPACK_IMPORTED_MODULE_11__scale__[\"a\" /* scale */];\n\n// -- INITIALIZATION ----\nprototype.initialize = __WEBPACK_IMPORTED_MODULE_5__initialize__[\"a\" /* default */];\n\n// -- HEADLESS RENDERING ----\nprototype.toImageURL = __WEBPACK_IMPORTED_MODULE_6__render_to_image_url__[\"a\" /* default */];\nprototype.toCanvas = __WEBPACK_IMPORTED_MODULE_7__render_to_canvas__[\"a\" /* default */];\nprototype.toSVG = __WEBPACK_IMPORTED_MODULE_8__render_to_svg__[\"a\" /* default */];\n\n// -- SAVE / RESTORE STATE ----\nprototype.getState = __WEBPACK_IMPORTED_MODULE_13__state__[\"a\" /* getState */];\nprototype.setState = __WEBPACK_IMPORTED_MODULE_13__state__[\"b\" /* setState */];\n\n\n/***/ }),\n/* 859 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n\n\nvar Default = 'default';\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(view) {\n var cursor = view._signals.cursor;\n\n // add cursor signal to dataflow, if needed\n if (!cursor) {\n view._signals.cursor = (cursor = view.add({user: Default, item: null}));\n }\n\n // evaluate cursor on each mousemove event\n view.on(view.events('view', 'mousemove'), cursor,\n function(_, event) {\n var value = cursor.value,\n user = value ? (Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"C\" /* isString */])(value) ? value : value.user) : Default,\n item = event.item && event.item.cursor || null;\n\n return (value && user === value.user && item == value.item) ? value\n : {user: user, item: item};\n }\n );\n\n // when cursor signal updates, set visible cursor\n view.add(null, function(_) {\n var user = _.cursor,\n item = this.value;\n\n if (!Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"C\" /* isString */])(user)) {\n item = user.item;\n user = user.user;\n }\n\n setCursor(user && user !== Default ? user : (item || user));\n\n return item;\n }, {cursor: cursor});\n});\n\nfunction setCursor(cursor) {\n // set cursor on document body\n // this ensures cursor applies even if dragging out of view\n if (typeof document !== 'undefined' && document.body) {\n document.body.style.cursor = cursor;\n }\n}\n\n\n/***/ }),\n/* 860 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = data;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = change;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = insert;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = remove;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\nfunction dataref(view, name) {\n var data = view._runtime.data;\n if (!data.hasOwnProperty(name)) {\n Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"m\" /* error */])('Unrecognized data set: ' + name);\n }\n return data[name];\n}\n\nfunction data(name) {\n return dataref(this, name).values.value;\n}\n\nfunction change(name, changes) {\n if (!Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"l\" /* isChangeSet */])(changes)) {\n Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"m\" /* error */])('Second argument to changes must be a changeset.');\n }\n var dataset = dataref(this, name);\n dataset.modified = true;\n return this.pulse(dataset.input, changes);\n}\n\nfunction insert(name, _) {\n return change.call(this, name, Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"h\" /* changeset */])().insert(_));\n}\n\nfunction remove(name, _) {\n return change.call(this, name, Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"h\" /* changeset */])().remove(_));\n}\n\n\n/***/ }),\n/* 861 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = initializeEventConfig;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = events;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__events_extend__ = __webpack_require__(862);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n\n\n\n\nvar VIEW = 'view',\n TIMER = 'timer',\n WINDOW = 'window',\n NO_TRAP = {trap: false};\n\n/**\n * Initialize event handling configuration.\n * @param {object} config - The configuration settings.\n * @return {object}\n */\nfunction initializeEventConfig(config) {\n config = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"n\" /* extend */])({}, config);\n\n var def = config.defaults;\n if (def) {\n if (Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"v\" /* isArray */])(def.prevent)) {\n def.prevent = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"S\" /* toSet */])(def.prevent);\n }\n if (Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"v\" /* isArray */])(def.allow)) {\n def.allow = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"S\" /* toSet */])(def.allow);\n }\n }\n\n return config;\n}\n\nfunction prevent(view, type) {\n var def = view._eventConfig.defaults,\n prevent = def && def.prevent,\n allow = def && def.allow;\n\n return prevent === false || allow === true ? false\n : prevent === true || allow === false ? true\n : prevent ? prevent[type]\n : allow ? !allow[type]\n : view.preventDefault();\n}\n\n/**\n * Create a new event stream from an event source.\n * @param {object} source - The event source to monitor.\n * @param {string} type - The event type.\n * @param {function(object): boolean} [filter] - Event filter function.\n * @return {EventStream}\n */\nfunction events(source, type, filter) {\n var view = this,\n s = new __WEBPACK_IMPORTED_MODULE_1_vega_dataflow__[\"b\" /* EventStream */](filter),\n send = function(e, item) {\n if (source === VIEW && prevent(view, type)) {\n e.preventDefault();\n }\n try {\n s.receive(Object(__WEBPACK_IMPORTED_MODULE_0__events_extend__[\"a\" /* default */])(view, e, item));\n } catch (error) {\n view.error(error);\n } finally {\n view.run();\n }\n },\n sources;\n\n if (source === TIMER) {\n view.timer(send, type);\n }\n\n else if (source === VIEW) {\n // send traps errors, so use {trap: false} option\n view.addEventListener(type, send, NO_TRAP);\n }\n\n else {\n if (source === WINDOW) {\n if (typeof window !== 'undefined') sources = [window];\n } else if (typeof document !== 'undefined') {\n sources = document.querySelectorAll(source);\n }\n\n if (!sources) {\n view.warn('Can not resolve event source: ' + source);\n } else {\n for (var i=0, n=sources.length; i<n; ++i) {\n sources[i].addEventListener(type, send);\n }\n\n view._eventListeners.push({\n type: type,\n sources: sources,\n handler: send\n });\n }\n }\n\n return s;\n}\n\n\n/***/ }),\n/* 862 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__render_size__ = __webpack_require__(119);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_scenegraph__ = __webpack_require__(20);\n\n\n\n\n/**\n * Extend an event with additional view-specific methods.\n * Adds a new property ('vega') to an event that provides a number\n * of methods for querying information about the current interaction.\n * The vega object provides the following methods:\n * view - Returns the backing View instance.\n * item - Returns the currently active scenegraph item (if any).\n * group - Returns the currently active scenegraph group (if any).\n * This method accepts a single string-typed argument indicating the name\n * of the desired parent group. The scenegraph will be traversed from\n * the item up towards the root to search for a matching group. If no\n * argument is provided the enclosing group for the active item is\n * returned, unless the item it itself a group, in which case it is\n * returned directly.\n * xy - Returns a two-element array containing the x and y coordinates for\n * mouse or touch events. For touch events, this is based on the first\n * elements in the changedTouches array. This method accepts a single\n * argument: either an item instance or mark name that should serve as\n * the reference coordinate system. If no argument is provided the\n * top-level view coordinate system is assumed.\n * x - Returns the current x-coordinate, accepts the same arguments as xy.\n * y - Returns the current y-coordinate, accepts the same arguments as xy.\n * @param {Event} event - The input event to extend.\n * @param {Item} item - The currently active scenegraph item (if any).\n * @return {Event} - The extended input event.\n */\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(view, event, item) {\n var el = view._renderer.canvas(),\n p, e, translate;\n\n if (el) {\n translate = Object(__WEBPACK_IMPORTED_MODULE_0__render_size__[\"b\" /* offset */])(view);\n e = event.changedTouches ? event.changedTouches[0] : event;\n p = Object(__WEBPACK_IMPORTED_MODULE_2_vega_scenegraph__[\"K\" /* point */])(e, el);\n p[0] -= translate[0];\n p[1] -= translate[1];\n }\n\n event.dataflow = view;\n event.vega = extension(view, item, p);\n event.item = item;\n return event;\n});\n\nfunction extension(view, item, point) {\n var itemGroup = item\n ? item.mark.marktype === 'group' ? item : item.mark.group\n : null;\n\n function group(name) {\n var g = itemGroup, i;\n if (name) for (i = item; i; i = i.mark.group) {\n if (i.mark.name === name) { g = i; break; }\n }\n return g && g.mark && g.mark.interactive ? g : {};\n }\n\n function xy(item) {\n if (!item) return point;\n if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"C\" /* isString */])(item)) item = group(item);\n\n var p = point.slice();\n while (item) {\n p[0] -= item.x || 0;\n p[1] -= item.y || 0;\n item = item.mark && item.mark.group;\n }\n return p;\n }\n\n return {\n view: Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"k\" /* constant */])(view),\n item: Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"k\" /* constant */])(item || {}),\n group: group,\n xy: xy,\n x: function(item) { return xy(item)[0]; },\n y: function(item) { return xy(item)[1]; }\n };\n}\n\n\n/***/ }),\n/* 863 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nfunction itemFilter(event) {\n return event.item;\n}\n\nfunction markTarget(event) {\n // grab upstream collector feeding the mark operator\n var source = event.item.mark.source;\n return source.source || source;\n}\n\nfunction invoke(name) {\n return function(_, event) {\n return event.vega.view()\n .changeset()\n .encode(event.item, name);\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(hoverSet, leaveSet) {\n hoverSet = [hoverSet || 'hover'];\n leaveSet = [leaveSet || 'update', hoverSet[0]];\n\n // invoke hover set upon mouseover\n this.on(\n this.events('view', 'mouseover', itemFilter),\n markTarget,\n invoke(hoverSet)\n );\n\n // invoke leave set upon mouseout\n this.on(\n this.events('view', 'mouseout', itemFilter),\n markTarget,\n invoke(leaveSet)\n );\n\n return this;\n});\n\n\n/***/ }),\n/* 864 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/**\n * Finalize a View instance that is being removed.\n * Cancel any running timers.\n * Remove all external event listeners.\n * Remove any currently displayed tooltip.\n */\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n var tooltip = this._tooltip,\n timers = this._timers,\n listeners = this._eventListeners,\n n, m, e;\n\n n = timers.length;\n while (--n >= 0) {\n timers[n].stop();\n }\n\n n = listeners.length;\n while (--n >= 0) {\n e = listeners[n];\n m = e.sources.length;\n while (--m >= 0) {\n e.sources[m].removeEventListener(e.type, e.handler);\n }\n }\n\n if (tooltip) {\n tooltip.call(this, this._handler, null, null, null);\n }\n\n return this;\n});\n\n\n/***/ }),\n/* 865 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__bind__ = __webpack_require__(866);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__element__ = __webpack_require__(345);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__initialize_renderer__ = __webpack_require__(346);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__initialize_handler__ = __webpack_require__(867);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_vega_scenegraph__ = __webpack_require__(20);\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(el, elBind) {\n var view = this,\n type = view._renderType,\n module = Object(__WEBPACK_IMPORTED_MODULE_4_vega_scenegraph__[\"L\" /* renderModule */])(type),\n Handler, Renderer;\n\n // containing dom element\n el = view._el = el ? lookup(view, el) : null;\n\n // select appropriate renderer & handler\n if (!module) view.error('Unrecognized renderer type: ' + type);\n Handler = module.handler || __WEBPACK_IMPORTED_MODULE_4_vega_scenegraph__[\"b\" /* CanvasHandler */];\n Renderer = (el ? module.renderer : module.headless);\n\n // initialize renderer and input handler\n view._renderer = !Renderer ? null\n : Object(__WEBPACK_IMPORTED_MODULE_2__initialize_renderer__[\"a\" /* default */])(view, view._renderer, el, Renderer);\n view._handler = Object(__WEBPACK_IMPORTED_MODULE_3__initialize_handler__[\"a\" /* default */])(view, view._handler, el, Handler);\n view._redraw = true;\n\n // initialize signal bindings\n if (el) {\n elBind = elBind ? lookup(view, elBind)\n : el.appendChild(Object(__WEBPACK_IMPORTED_MODULE_1__element__[\"a\" /* default */])('div', {'class': 'vega-bindings'}));\n\n view._bind.forEach(function(_) {\n if (_.param.element) {\n _.element = lookup(view, _.param.element);\n }\n });\n\n view._bind.forEach(function(_) {\n Object(__WEBPACK_IMPORTED_MODULE_0__bind__[\"a\" /* default */])(view, _.element || elBind, _);\n });\n }\n\n return view;\n});\n\nfunction lookup(view, el) {\n if (typeof el === 'string') {\n if (typeof document !== 'undefined') {\n el = document.querySelector(el);\n if (!el) {\n view.error('Signal bind element not found: ' + el);\n return null;\n }\n } else {\n view.error('DOM document instance not found.');\n return null;\n }\n }\n if (el) {\n try {\n el.innerHTML = '';\n } catch (e) {\n el = null;\n view.error(e);\n }\n }\n return el;\n}\n\n\n/***/ }),\n/* 866 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__element__ = __webpack_require__(345);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_d3_array__ = __webpack_require__(9);\n\n\n\n\nvar BindClass = 'vega-bind',\n NameClass = 'vega-bind-name',\n RadioClass = 'vega-bind-radio',\n OptionClass = 'vega-option-';\n\n/**\n * Bind a signal to an external HTML input element. The resulting two-way\n * binding will propagate input changes to signals, and propagate signal\n * changes to the input element state. If this view instance has no parent\n * element, we assume the view is headless and no bindings are created.\n * @param {Element|string} el - The parent DOM element to which the input\n * element should be appended as a child. If string-valued, this argument\n * will be treated as a CSS selector. If null or undefined, the parent\n * element of this view will be used as the element.\n * @param {object} param - The binding parameters which specify the signal\n * to bind to, the input element type, and type-specific configuration.\n * @return {View} - This view instance.\n */\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(view, el, binding) {\n if (!el) return;\n\n var param = binding.param,\n bind = binding.state;\n\n if (!bind) {\n bind = binding.state = {\n elements: null,\n active: false,\n set: null,\n update: function(value) {\n if (value !== view.signal(param.signal)) {\n bind.source = true;\n view.signal(param.signal, value).run();\n }\n }\n };\n if (param.debounce) {\n bind.update = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"l\" /* debounce */])(param.debounce, bind.update);\n }\n }\n\n generate(bind, el, param, view.signal(param.signal));\n\n if (!bind.active) {\n view.on(view._signals[param.signal], null, function() {\n bind.source\n ? (bind.source = false)\n : bind.set(view.signal(param.signal));\n });\n bind.active = true;\n }\n\n return bind;\n});\n\n/**\n * Generate an HTML input form element and bind it to a signal.\n */\nfunction generate(bind, el, param, value) {\n var div = Object(__WEBPACK_IMPORTED_MODULE_0__element__[\"a\" /* default */])('div', {'class': BindClass});\n\n div.appendChild(Object(__WEBPACK_IMPORTED_MODULE_0__element__[\"a\" /* default */])('span',\n {'class': NameClass},\n (param.name || param.signal)\n ));\n\n el.appendChild(div);\n\n var input = form;\n switch (param.input) {\n case 'checkbox': input = checkbox; break;\n case 'select': input = select; break;\n case 'radio': input = radio; break;\n case 'range': input = range; break;\n }\n\n input(bind, div, param, value);\n}\n\n/**\n * Generates an arbitrary input form element.\n * The input type is controlled via user-provided parameters.\n */\nfunction form(bind, el, param, value) {\n var node = Object(__WEBPACK_IMPORTED_MODULE_0__element__[\"a\" /* default */])('input');\n\n for (var key in param) {\n if (key !== 'signal' && key !== 'element') {\n node.setAttribute(key === 'input' ? 'type' : key, param[key]);\n }\n }\n node.setAttribute('name', param.signal);\n node.value = value;\n\n el.appendChild(node);\n\n node.addEventListener('input', function() {\n bind.update(node.value);\n });\n\n bind.elements = [node];\n bind.set = function(value) { node.value = value; };\n}\n\n/**\n * Generates a checkbox input element.\n */\nfunction checkbox(bind, el, param, value) {\n var attr = {type: 'checkbox', name: param.signal};\n if (value) attr.checked = true;\n var node = Object(__WEBPACK_IMPORTED_MODULE_0__element__[\"a\" /* default */])('input', attr);\n\n el.appendChild(node);\n\n node.addEventListener('change', function() {\n bind.update(node.checked);\n });\n\n bind.elements = [node];\n bind.set = function(value) { node.checked = !!value || null; }\n}\n\n/**\n * Generates a selection list input element.\n */\nfunction select(bind, el, param, value) {\n var node = Object(__WEBPACK_IMPORTED_MODULE_0__element__[\"a\" /* default */])('select', {name: param.signal});\n\n param.options.forEach(function(option) {\n var attr = {value: option};\n if (valuesEqual(option, value)) attr.selected = true;\n node.appendChild(Object(__WEBPACK_IMPORTED_MODULE_0__element__[\"a\" /* default */])('option', attr, option+''));\n });\n\n el.appendChild(node);\n\n node.addEventListener('change', function() {\n bind.update(param.options[node.selectedIndex]);\n });\n\n bind.elements = [node];\n bind.set = function(value) {\n for (var i=0, n=param.options.length; i<n; ++i) {\n if (valuesEqual(param.options[i], value)) {\n node.selectedIndex = i; return;\n }\n }\n };\n}\n\n/**\n * Generates a radio button group.\n */\nfunction radio(bind, el, param, value) {\n var group = Object(__WEBPACK_IMPORTED_MODULE_0__element__[\"a\" /* default */])('span', {'class': RadioClass});\n\n el.appendChild(group);\n\n bind.elements = param.options.map(function(option) {\n var id = OptionClass + param.signal + '-' + option;\n\n var attr = {\n id: id,\n type: 'radio',\n name: param.signal,\n value: option\n };\n if (valuesEqual(option, value)) attr.checked = true;\n\n var input = Object(__WEBPACK_IMPORTED_MODULE_0__element__[\"a\" /* default */])('input', attr);\n\n input.addEventListener('change', function() {\n bind.update(option);\n });\n\n group.appendChild(input);\n group.appendChild(Object(__WEBPACK_IMPORTED_MODULE_0__element__[\"a\" /* default */])('label', {'for': id}, option+''));\n\n return input;\n });\n\n bind.set = function(value) {\n var nodes = bind.elements,\n i = 0,\n n = nodes.length;\n for (; i<n; ++i) {\n if (valuesEqual(nodes[i].value, value)) nodes[i].checked = true;\n }\n };\n}\n\n/**\n * Generates a slider input element.\n */\nfunction range(bind, el, param, value) {\n value = value !== undefined ? value : ((+param.max) + (+param.min)) / 2;\n\n var min = param.min || Math.min(0, +value) || 0,\n max = param.max || Math.max(100, +value) || 100,\n step = param.step || Object(__WEBPACK_IMPORTED_MODULE_2_d3_array__[\"r\" /* tickStep */])(min, max, 100);\n\n var node = Object(__WEBPACK_IMPORTED_MODULE_0__element__[\"a\" /* default */])('input', {\n type: 'range',\n name: param.signal,\n min: min,\n max: max,\n step: step\n });\n node.value = value;\n\n var label = Object(__WEBPACK_IMPORTED_MODULE_0__element__[\"a\" /* default */])('label', {}, +value);\n\n el.appendChild(node);\n el.appendChild(label);\n\n function update() {\n label.textContent = node.value;\n bind.update(+node.value);\n }\n\n // subscribe to both input and change\n node.addEventListener('input', update);\n node.addEventListener('change', update);\n\n bind.elements = [node];\n bind.set = function(value) {\n node.value = value;\n label.textContent = value;\n };\n}\n\nfunction valuesEqual(a, b) {\n return a === b || (a+'' === b+'');\n}\n\n\n/***/ }),\n/* 867 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__render_size__ = __webpack_require__(119);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__trap__ = __webpack_require__(347);\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(view, prevHandler, el, constructor) {\n // instantiate scenegraph handler\n var handler = new constructor(view.loader(), Object(__WEBPACK_IMPORTED_MODULE_1__trap__[\"a\" /* default */])(view, view.tooltip()))\n .scene(view.scenegraph().root)\n .initialize(el, Object(__WEBPACK_IMPORTED_MODULE_0__render_size__[\"b\" /* offset */])(view), view);\n\n // transfer event handlers\n if (prevHandler) {\n prevHandler.handlers().forEach(function(h) {\n handler.on(h.type, h.handler);\n });\n }\n\n return handler;\n});\n\n\n/***/ }),\n/* 868 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__render_headless__ = __webpack_require__(191);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_scenegraph__ = __webpack_require__(20);\n\n\n\n/**\n * Produce an image URL for the visualization. Depending on the type\n * parameter, the generated URL contains data for either a PNG or SVG image.\n * The URL can be used (for example) to download images of the visualization.\n * This method is asynchronous, returning a Promise instance.\n * @param {string} type - The image type. One of 'svg', 'png' or 'canvas'.\n * The 'canvas' and 'png' types are synonyms for a PNG image.\n * @return {Promise} - A promise that resolves to an image URL.\n */\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(type, scaleFactor) {\n return (type !== __WEBPACK_IMPORTED_MODULE_1_vega_scenegraph__[\"i\" /* RenderType */].Canvas && type !== __WEBPACK_IMPORTED_MODULE_1_vega_scenegraph__[\"i\" /* RenderType */].SVG && type !== __WEBPACK_IMPORTED_MODULE_1_vega_scenegraph__[\"i\" /* RenderType */].PNG)\n ? Promise.reject('Unrecognized image type: ' + type)\n : Object(__WEBPACK_IMPORTED_MODULE_0__render_headless__[\"a\" /* default */])(this, type, scaleFactor).then(function(renderer) {\n return type === __WEBPACK_IMPORTED_MODULE_1_vega_scenegraph__[\"i\" /* RenderType */].SVG\n ? toBlobURL(renderer.svg(), 'image/svg+xml')\n : renderer.canvas().toDataURL('image/png');\n });\n});\n\nfunction toBlobURL(data, mime) {\n var blob = new Blob([data], {type: mime});\n return window.URL.createObjectURL(blob);\n}\n\n\n/***/ }),\n/* 869 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__render_headless__ = __webpack_require__(191);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_scenegraph__ = __webpack_require__(20);\n\n\n\n/**\n * Produce a Canvas instance containing a rendered visualization.\n * This method is asynchronous, returning a Promise instance.\n * @return {Promise} - A promise that resolves to a Canvas instance.\n */\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(scaleFactor) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__render_headless__[\"a\" /* default */])(this, __WEBPACK_IMPORTED_MODULE_1_vega_scenegraph__[\"i\" /* RenderType */].Canvas, scaleFactor)\n .then(function(renderer) { return renderer.canvas(); });\n});\n\n\n/***/ }),\n/* 870 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__render_headless__ = __webpack_require__(191);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_scenegraph__ = __webpack_require__(20);\n\n\n\n/**\n * Produce a rendered SVG string of the visualization.\n * This method is asynchronous, returning a Promise instance.\n * @return {Promise} - A promise that resolves to an SVG string.\n */\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(scaleFactor) {\n return Object(__WEBPACK_IMPORTED_MODULE_0__render_headless__[\"a\" /* default */])(this, __WEBPACK_IMPORTED_MODULE_1_vega_scenegraph__[\"i\" /* RenderType */].SVG, scaleFactor)\n .then(function(renderer) { return renderer.svg(); });\n});\n\n\n/***/ }),\n/* 871 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_parser__ = __webpack_require__(348);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_runtime__ = __webpack_require__(366);\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(view, spec, functions) {\n var fn = functions || __WEBPACK_IMPORTED_MODULE_1_vega_parser__[\"c\" /* functionContext */];\n return Object(__WEBPACK_IMPORTED_MODULE_2_vega_runtime__[\"b\" /* parse */])(spec, Object(__WEBPACK_IMPORTED_MODULE_2_vega_runtime__[\"a\" /* context */])(view, __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"q\" /* transforms */], fn));\n});\n\n\n/***/ }),\n/* 872 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__parsers_view__ = __webpack_require__(873);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Scope__ = __webpack_require__(364);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__config__ = __webpack_require__(365);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vega_util__ = __webpack_require__(0);\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(spec, config) {\n if (!Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"A\" /* isObject */])(spec)) Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"m\" /* error */])('Input Vega specification must be an object.');\n return Object(__WEBPACK_IMPORTED_MODULE_0__parsers_view__[\"a\" /* default */])(spec, new __WEBPACK_IMPORTED_MODULE_1__Scope__[\"a\" /* default */](Object(__WEBPACK_IMPORTED_MODULE_2__config__[\"a\" /* default */])([config, spec.config])))\n .toRuntime();\n});\n\n\n/***/ }),\n/* 873 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = parseView;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__autosize__ = __webpack_require__(874);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__padding__ = __webpack_require__(875);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__signal__ = __webpack_require__(192);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__spec__ = __webpack_require__(120);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__encode_encode_util__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__marks_marktypes__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__marks_roles__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__util__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__DataScope__ = __webpack_require__(82);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__transforms__ = __webpack_require__(25);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_vega_util__ = __webpack_require__(0);\n\n\n\n\n\n\n\n\n\n\n\n\nvar defined = Object(__WEBPACK_IMPORTED_MODULE_10_vega_util__[\"S\" /* toSet */])(['width', 'height', 'padding', 'autosize']);\n\nfunction parseView(spec, scope) {\n var config = scope.config,\n op, input, encode, parent, root;\n\n scope.background = spec.background || config.background;\n scope.eventConfig = config.events;\n root = Object(__WEBPACK_IMPORTED_MODULE_7__util__[\"o\" /* ref */])(scope.root = scope.add(Object(__WEBPACK_IMPORTED_MODULE_7__util__[\"n\" /* operator */])()));\n scope.addSignal('width', spec.width || 0);\n scope.addSignal('height', spec.height || 0);\n scope.addSignal('padding', Object(__WEBPACK_IMPORTED_MODULE_1__padding__[\"a\" /* default */])(spec.padding, config));\n scope.addSignal('autosize', Object(__WEBPACK_IMPORTED_MODULE_0__autosize__[\"a\" /* default */])(spec.autosize, config));\n\n Object(__WEBPACK_IMPORTED_MODULE_10_vega_util__[\"i\" /* array */])(spec.signals).forEach(function(_) {\n if (!defined[_.name]) Object(__WEBPACK_IMPORTED_MODULE_2__signal__[\"a\" /* default */])(_, scope);\n });\n\n // Store root group item\n input = scope.add(Object(__WEBPACK_IMPORTED_MODULE_9__transforms__[\"d\" /* Collect */])());\n\n // Encode root group item\n encode = Object(__WEBPACK_IMPORTED_MODULE_4__encode_encode_util__[\"d\" /* extendEncode */])({\n enter: { x: {value: 0}, y: {value: 0} },\n update: { width: {signal: 'width'}, height: {signal: 'height'} }\n }, spec.encode);\n\n encode = scope.add(Object(__WEBPACK_IMPORTED_MODULE_9__transforms__[\"g\" /* Encode */])(\n Object(__WEBPACK_IMPORTED_MODULE_4__encode_encode_util__[\"c\" /* encoders */])(encode, __WEBPACK_IMPORTED_MODULE_5__marks_marktypes__[\"a\" /* GroupMark */], __WEBPACK_IMPORTED_MODULE_6__marks_roles__[\"g\" /* FrameRole */], spec.style, scope, {pulse: Object(__WEBPACK_IMPORTED_MODULE_7__util__[\"o\" /* ref */])(input)}))\n );\n\n // Perform view layout\n parent = scope.add(Object(__WEBPACK_IMPORTED_MODULE_9__transforms__[\"B\" /* ViewLayout */])({\n layout: scope.objectProperty(spec.layout),\n legendMargin: config.legendMargin,\n autosize: scope.signalRef('autosize'),\n mark: root,\n pulse: Object(__WEBPACK_IMPORTED_MODULE_7__util__[\"o\" /* ref */])(encode)\n }));\n scope.operators.pop();\n\n // Parse remainder of specification\n scope.pushState(Object(__WEBPACK_IMPORTED_MODULE_7__util__[\"o\" /* ref */])(encode), Object(__WEBPACK_IMPORTED_MODULE_7__util__[\"o\" /* ref */])(parent), null);\n Object(__WEBPACK_IMPORTED_MODULE_3__spec__[\"a\" /* default */])(spec, scope, true);\n scope.operators.push(parent);\n\n // Bound / render / sieve root item\n op = scope.add(Object(__WEBPACK_IMPORTED_MODULE_9__transforms__[\"c\" /* Bound */])({mark: root, pulse: Object(__WEBPACK_IMPORTED_MODULE_7__util__[\"o\" /* ref */])(parent)}));\n op = scope.add(Object(__WEBPACK_IMPORTED_MODULE_9__transforms__[\"w\" /* Render */])({pulse: Object(__WEBPACK_IMPORTED_MODULE_7__util__[\"o\" /* ref */])(op)}));\n op = scope.add(Object(__WEBPACK_IMPORTED_MODULE_9__transforms__[\"y\" /* Sieve */])({pulse: Object(__WEBPACK_IMPORTED_MODULE_7__util__[\"o\" /* ref */])(op)}));\n\n // Track metadata for root item\n scope.addData('root', new __WEBPACK_IMPORTED_MODULE_8__DataScope__[\"a\" /* default */](scope, input, input, op));\n\n return scope;\n}\n\n\n/***/ }),\n/* 874 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(spec, config) {\n spec = spec || config.autosize;\n if (Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"A\" /* isObject */])(spec)) {\n return spec;\n } else {\n spec = spec || 'pad';\n return {type: spec};\n }\n});\n\n\n/***/ }),\n/* 875 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(spec, config) {\n spec = spec || config.padding;\n return Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"A\" /* isObject */])(spec)\n ? {\n top: number(spec.top),\n bottom: number(spec.bottom),\n left: number(spec.left),\n right: number(spec.right)\n }\n : paddingObject(number(spec));\n});\n\nfunction number(_) {\n return +_ || 0;\n}\n\nfunction paddingObject(_) {\n return {top: _, bottom: _, left: _, right: _};\n}\n\n\n/***/ }),\n/* 876 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__ast__ = __webpack_require__(352);\n/*\n The following expression parser is based on Esprima (http://esprima.org/).\n Original header comment and license for Esprima is included here:\n\n Copyright (C) 2013 Ariya Hidayat <ariya.hidayat@gmail.com>\n Copyright (C) 2013 Thaddee Tyl <thaddee.tyl@gmail.com>\n Copyright (C) 2013 Mathias Bynens <mathias@qiwi.be>\n Copyright (C) 2012 Ariya Hidayat <ariya.hidayat@gmail.com>\n Copyright (C) 2012 Mathias Bynens <mathias@qiwi.be>\n Copyright (C) 2012 Joost-Wim Boekesteijn <joost-wim@boekesteijn.nl>\n Copyright (C) 2012 Kris Kowal <kris.kowal@cixar.com>\n Copyright (C) 2012 Yusuke Suzuki <utatane.tea@gmail.com>\n Copyright (C) 2012 Arpad Borsos <arpad.borsos@googlemail.com>\n Copyright (C) 2011 Ariya Hidayat <ariya.hidayat@gmail.com>\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY\n DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n\n\nvar TokenName,\n source,\n index,\n length,\n lookahead;\n\nvar TokenBooleanLiteral = 1,\n TokenEOF = 2,\n TokenIdentifier = 3,\n TokenKeyword = 4,\n TokenNullLiteral = 5,\n TokenNumericLiteral = 6,\n TokenPunctuator = 7,\n TokenStringLiteral = 8,\n TokenRegularExpression = 9;\n\nTokenName = {};\nTokenName[TokenBooleanLiteral] = 'Boolean';\nTokenName[TokenEOF] = '<end>';\nTokenName[TokenIdentifier] = 'Identifier';\nTokenName[TokenKeyword] = 'Keyword';\nTokenName[TokenNullLiteral] = 'Null';\nTokenName[TokenNumericLiteral] = 'Numeric';\nTokenName[TokenPunctuator] = 'Punctuator';\nTokenName[TokenStringLiteral] = 'String';\nTokenName[TokenRegularExpression] = 'RegularExpression';\n\nvar SyntaxArrayExpression = 'ArrayExpression',\n SyntaxBinaryExpression = 'BinaryExpression',\n SyntaxCallExpression = 'CallExpression',\n SyntaxConditionalExpression = 'ConditionalExpression',\n SyntaxIdentifier = 'Identifier',\n SyntaxLiteral = 'Literal',\n SyntaxLogicalExpression = 'LogicalExpression',\n SyntaxMemberExpression = 'MemberExpression',\n SyntaxObjectExpression = 'ObjectExpression',\n SyntaxProperty = 'Property',\n SyntaxUnaryExpression = 'UnaryExpression';\n\n// Error messages should be identical to V8.\nvar MessageUnexpectedToken = 'Unexpected token %0',\n MessageUnexpectedNumber = 'Unexpected number',\n MessageUnexpectedString = 'Unexpected string',\n MessageUnexpectedIdentifier = 'Unexpected identifier',\n MessageUnexpectedReserved = 'Unexpected reserved word',\n MessageUnexpectedEOS = 'Unexpected end of input',\n MessageInvalidRegExp = 'Invalid regular expression',\n MessageUnterminatedRegExp = 'Invalid regular expression: missing /',\n MessageStrictOctalLiteral = 'Octal literals are not allowed in strict mode.',\n MessageStrictDuplicateProperty = 'Duplicate data property in object literal not allowed in strict mode';\n\nvar ILLEGAL = 'ILLEGAL',\n DISABLED = 'Disabled.';\n\n// See also tools/generate-unicode-regex.py.\nvar RegexNonAsciiIdentifierStart = new RegExp('[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B2\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]'),\n RegexNonAsciiIdentifierPart = new RegExp('[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B2\\u08E4-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58\\u0C59\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D60-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA69D\\uA69F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2D\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]');\n\n// Ensure the condition is true, otherwise throw an error.\n// This is only to have a better contract semantic, i.e. another safety net\n// to catch a logic error. The condition shall be fulfilled in normal case.\n// Do NOT use this to enforce a certain condition on any user input.\n\nfunction assert(condition, message) {\n /* istanbul ignore next */\n if (!condition) {\n throw new Error('ASSERT: ' + message);\n }\n}\n\nfunction isDecimalDigit(ch) {\n return (ch >= 0x30 && ch <= 0x39); // 0..9\n}\n\nfunction isHexDigit(ch) {\n return '0123456789abcdefABCDEF'.indexOf(ch) >= 0;\n}\n\nfunction isOctalDigit(ch) {\n return '01234567'.indexOf(ch) >= 0;\n}\n\n// 7.2 White Space\n\nfunction isWhiteSpace(ch) {\n return (ch === 0x20) || (ch === 0x09) || (ch === 0x0B) || (ch === 0x0C) || (ch === 0xA0) ||\n (ch >= 0x1680 && [0x1680, 0x180E, 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2007, 0x2008, 0x2009, 0x200A, 0x202F, 0x205F, 0x3000, 0xFEFF].indexOf(ch) >= 0);\n}\n\n// 7.3 Line Terminators\n\nfunction isLineTerminator(ch) {\n return (ch === 0x0A) || (ch === 0x0D) || (ch === 0x2028) || (ch === 0x2029);\n}\n\n// 7.6 Identifier Names and Identifiers\n\nfunction isIdentifierStart(ch) {\n return (ch === 0x24) || (ch === 0x5F) || // $ (dollar) and _ (underscore)\n (ch >= 0x41 && ch <= 0x5A) || // A..Z\n (ch >= 0x61 && ch <= 0x7A) || // a..z\n (ch === 0x5C) || // \\ (backslash)\n ((ch >= 0x80) && RegexNonAsciiIdentifierStart.test(String.fromCharCode(ch)));\n}\n\nfunction isIdentifierPart(ch) {\n return (ch === 0x24) || (ch === 0x5F) || // $ (dollar) and _ (underscore)\n (ch >= 0x41 && ch <= 0x5A) || // A..Z\n (ch >= 0x61 && ch <= 0x7A) || // a..z\n (ch >= 0x30 && ch <= 0x39) || // 0..9\n (ch === 0x5C) || // \\ (backslash)\n ((ch >= 0x80) && RegexNonAsciiIdentifierPart.test(String.fromCharCode(ch)));\n}\n\n// 7.6.1.1 Keywords\n\nvar keywords = {\n 'if':1, 'in':1, 'do':1,\n 'var':1, 'for':1, 'new':1, 'try':1, 'let':1,\n 'this':1, 'else':1, 'case':1, 'void':1, 'with':1, 'enum':1,\n 'while':1, 'break':1, 'catch':1, 'throw':1, 'const':1, 'yield':1, 'class':1, 'super':1,\n 'return':1, 'typeof':1, 'delete':1, 'switch':1, 'export':1, 'import':1, 'public':1, 'static':1,\n 'default':1, 'finally':1, 'extends':1, 'package':1, 'private':1,\n 'function':1, 'continue':1, 'debugger':1,\n 'interface':1, 'protected':1,\n 'instanceof':1, 'implements':1\n};\n\nfunction skipComment() {\n var ch;\n\n while (index < length) {\n ch = source.charCodeAt(index);\n\n if (isWhiteSpace(ch) || isLineTerminator(ch)) {\n ++index;\n } else {\n break;\n }\n }\n}\n\nfunction scanHexEscape(prefix) {\n var i, len, ch, code = 0;\n\n len = (prefix === 'u') ? 4 : 2;\n for (i = 0; i < len; ++i) {\n if (index < length && isHexDigit(source[index])) {\n ch = source[index++];\n code = code * 16 + '0123456789abcdef'.indexOf(ch.toLowerCase());\n } else {\n throwError({}, MessageUnexpectedToken, ILLEGAL);\n }\n }\n return String.fromCharCode(code);\n}\n\nfunction scanUnicodeCodePointEscape() {\n var ch, code, cu1, cu2;\n\n ch = source[index];\n code = 0;\n\n // At least, one hex digit is required.\n if (ch === '}') {\n throwError({}, MessageUnexpectedToken, ILLEGAL);\n }\n\n while (index < length) {\n ch = source[index++];\n if (!isHexDigit(ch)) {\n break;\n }\n code = code * 16 + '0123456789abcdef'.indexOf(ch.toLowerCase());\n }\n\n if (code > 0x10FFFF || ch !== '}') {\n throwError({}, MessageUnexpectedToken, ILLEGAL);\n }\n\n // UTF-16 Encoding\n if (code <= 0xFFFF) {\n return String.fromCharCode(code);\n }\n cu1 = ((code - 0x10000) >> 10) + 0xD800;\n cu2 = ((code - 0x10000) & 1023) + 0xDC00;\n return String.fromCharCode(cu1, cu2);\n}\n\nfunction getEscapedIdentifier() {\n var ch, id;\n\n ch = source.charCodeAt(index++);\n id = String.fromCharCode(ch);\n\n // '\\u' (U+005C, U+0075) denotes an escaped character.\n if (ch === 0x5C) {\n if (source.charCodeAt(index) !== 0x75) {\n throwError({}, MessageUnexpectedToken, ILLEGAL);\n }\n ++index;\n ch = scanHexEscape('u');\n if (!ch || ch === '\\\\' || !isIdentifierStart(ch.charCodeAt(0))) {\n throwError({}, MessageUnexpectedToken, ILLEGAL);\n }\n id = ch;\n }\n\n while (index < length) {\n ch = source.charCodeAt(index);\n if (!isIdentifierPart(ch)) {\n break;\n }\n ++index;\n id += String.fromCharCode(ch);\n\n // '\\u' (U+005C, U+0075) denotes an escaped character.\n if (ch === 0x5C) {\n id = id.substr(0, id.length - 1);\n if (source.charCodeAt(index) !== 0x75) {\n throwError({}, MessageUnexpectedToken, ILLEGAL);\n }\n ++index;\n ch = scanHexEscape('u');\n if (!ch || ch === '\\\\' || !isIdentifierPart(ch.charCodeAt(0))) {\n throwError({}, MessageUnexpectedToken, ILLEGAL);\n }\n id += ch;\n }\n }\n\n return id;\n}\n\nfunction getIdentifier() {\n var start, ch;\n\n start = index++;\n while (index < length) {\n ch = source.charCodeAt(index);\n if (ch === 0x5C) {\n // Blackslash (U+005C) marks Unicode escape sequence.\n index = start;\n return getEscapedIdentifier();\n }\n if (isIdentifierPart(ch)) {\n ++index;\n } else {\n break;\n }\n }\n\n return source.slice(start, index);\n}\n\nfunction scanIdentifier() {\n var start, id, type;\n\n start = index;\n\n // Backslash (U+005C) starts an escaped character.\n id = (source.charCodeAt(index) === 0x5C) ? getEscapedIdentifier() : getIdentifier();\n\n // There is no keyword or literal with only one character.\n // Thus, it must be an identifier.\n if (id.length === 1) {\n type = TokenIdentifier;\n } else if (keywords.hasOwnProperty(id)) {\n type = TokenKeyword;\n } else if (id === 'null') {\n type = TokenNullLiteral;\n } else if (id === 'true' || id === 'false') {\n type = TokenBooleanLiteral;\n } else {\n type = TokenIdentifier;\n }\n\n return {\n type: type,\n value: id,\n start: start,\n end: index\n };\n}\n\n// 7.7 Punctuators\n\nfunction scanPunctuator() {\n var start = index,\n code = source.charCodeAt(index),\n code2,\n ch1 = source[index],\n ch2,\n ch3,\n ch4;\n\n switch (code) {\n\n // Check for most common single-character punctuators.\n case 0x2E: // . dot\n case 0x28: // ( open bracket\n case 0x29: // ) close bracket\n case 0x3B: // ; semicolon\n case 0x2C: // , comma\n case 0x7B: // { open curly brace\n case 0x7D: // } close curly brace\n case 0x5B: // [\n case 0x5D: // ]\n case 0x3A: // :\n case 0x3F: // ?\n case 0x7E: // ~\n ++index;\n return {\n type: TokenPunctuator,\n value: String.fromCharCode(code),\n start: start,\n end: index\n };\n\n default:\n code2 = source.charCodeAt(index + 1);\n\n // '=' (U+003D) marks an assignment or comparison operator.\n if (code2 === 0x3D) {\n switch (code) {\n case 0x2B: // +\n case 0x2D: // -\n case 0x2F: // /\n case 0x3C: // <\n case 0x3E: // >\n case 0x5E: // ^\n case 0x7C: // |\n case 0x25: // %\n case 0x26: // &\n case 0x2A: // *\n index += 2;\n return {\n type: TokenPunctuator,\n value: String.fromCharCode(code) + String.fromCharCode(code2),\n start: start,\n end: index\n };\n\n case 0x21: // !\n case 0x3D: // =\n index += 2;\n\n // !== and ===\n if (source.charCodeAt(index) === 0x3D) {\n ++index;\n }\n return {\n type: TokenPunctuator,\n value: source.slice(start, index),\n start: start,\n end: index\n };\n }\n }\n }\n\n // 4-character punctuator: >>>=\n\n ch4 = source.substr(index, 4);\n\n if (ch4 === '>>>=') {\n index += 4;\n return {\n type: TokenPunctuator,\n value: ch4,\n start: start,\n end: index\n };\n }\n\n // 3-character punctuators: === !== >>> <<= >>=\n\n ch3 = ch4.substr(0, 3);\n\n if (ch3 === '>>>' || ch3 === '<<=' || ch3 === '>>=') {\n index += 3;\n return {\n type: TokenPunctuator,\n value: ch3,\n start: start,\n end: index\n };\n }\n\n // Other 2-character punctuators: ++ -- << >> && ||\n ch2 = ch3.substr(0, 2);\n\n if ((ch1 === ch2[1] && ('+-<>&|'.indexOf(ch1) >= 0)) || ch2 === '=>') {\n index += 2;\n return {\n type: TokenPunctuator,\n value: ch2,\n start: start,\n end: index\n };\n }\n\n // 1-character punctuators: < > = ! + - * % & | ^ /\n\n if ('<>=!+-*%&|^/'.indexOf(ch1) >= 0) {\n ++index;\n return {\n type: TokenPunctuator,\n value: ch1,\n start: start,\n end: index\n };\n }\n\n throwError({}, MessageUnexpectedToken, ILLEGAL);\n}\n\n// 7.8.3 Numeric Literals\n\nfunction scanHexLiteral(start) {\n var number = '';\n\n while (index < length) {\n if (!isHexDigit(source[index])) {\n break;\n }\n number += source[index++];\n }\n\n if (number.length === 0) {\n throwError({}, MessageUnexpectedToken, ILLEGAL);\n }\n\n if (isIdentifierStart(source.charCodeAt(index))) {\n throwError({}, MessageUnexpectedToken, ILLEGAL);\n }\n\n return {\n type: TokenNumericLiteral,\n value: parseInt('0x' + number, 16),\n start: start,\n end: index\n };\n}\n\nfunction scanOctalLiteral(start) {\n var number = '0' + source[index++];\n while (index < length) {\n if (!isOctalDigit(source[index])) {\n break;\n }\n number += source[index++];\n }\n\n if (isIdentifierStart(source.charCodeAt(index)) || isDecimalDigit(source.charCodeAt(index))) {\n throwError({}, MessageUnexpectedToken, ILLEGAL);\n }\n\n return {\n type: TokenNumericLiteral,\n value: parseInt(number, 8),\n octal: true,\n start: start,\n end: index\n };\n}\n\nfunction scanNumericLiteral() {\n var number, start, ch;\n\n ch = source[index];\n assert(isDecimalDigit(ch.charCodeAt(0)) || (ch === '.'),\n 'Numeric literal must start with a decimal digit or a decimal point');\n\n start = index;\n number = '';\n if (ch !== '.') {\n number = source[index++];\n ch = source[index];\n\n // Hex number starts with '0x'.\n // Octal number starts with '0'.\n if (number === '0') {\n if (ch === 'x' || ch === 'X') {\n ++index;\n return scanHexLiteral(start);\n }\n if (isOctalDigit(ch)) {\n return scanOctalLiteral(start);\n }\n\n // decimal number starts with '0' such as '09' is illegal.\n if (ch && isDecimalDigit(ch.charCodeAt(0))) {\n throwError({}, MessageUnexpectedToken, ILLEGAL);\n }\n }\n\n while (isDecimalDigit(source.charCodeAt(index))) {\n number += source[index++];\n }\n ch = source[index];\n }\n\n if (ch === '.') {\n number += source[index++];\n while (isDecimalDigit(source.charCodeAt(index))) {\n number += source[index++];\n }\n ch = source[index];\n }\n\n if (ch === 'e' || ch === 'E') {\n number += source[index++];\n\n ch = source[index];\n if (ch === '+' || ch === '-') {\n number += source[index++];\n }\n if (isDecimalDigit(source.charCodeAt(index))) {\n while (isDecimalDigit(source.charCodeAt(index))) {\n number += source[index++];\n }\n } else {\n throwError({}, MessageUnexpectedToken, ILLEGAL);\n }\n }\n\n if (isIdentifierStart(source.charCodeAt(index))) {\n throwError({}, MessageUnexpectedToken, ILLEGAL);\n }\n\n return {\n type: TokenNumericLiteral,\n value: parseFloat(number),\n start: start,\n end: index\n };\n}\n\n// 7.8.4 String Literals\n\nfunction scanStringLiteral() {\n var str = '',\n quote, start, ch, code, octal = false;\n\n quote = source[index];\n assert((quote === '\\'' || quote === '\"'),\n 'String literal must starts with a quote');\n\n start = index;\n ++index;\n\n while (index < length) {\n ch = source[index++];\n\n if (ch === quote) {\n quote = '';\n break;\n } else if (ch === '\\\\') {\n ch = source[index++];\n if (!ch || !isLineTerminator(ch.charCodeAt(0))) {\n switch (ch) {\n case 'u':\n case 'x':\n if (source[index] === '{') {\n ++index;\n str += scanUnicodeCodePointEscape();\n } else {\n str += scanHexEscape(ch);\n }\n break;\n case 'n':\n str += '\\n';\n break;\n case 'r':\n str += '\\r';\n break;\n case 't':\n str += '\\t';\n break;\n case 'b':\n str += '\\b';\n break;\n case 'f':\n str += '\\f';\n break;\n case 'v':\n str += '\\x0B';\n break;\n\n default:\n if (isOctalDigit(ch)) {\n code = '01234567'.indexOf(ch);\n\n // \\0 is not octal escape sequence\n if (code !== 0) {\n octal = true;\n }\n\n if (index < length && isOctalDigit(source[index])) {\n octal = true;\n code = code * 8 + '01234567'.indexOf(source[index++]);\n\n // 3 digits are only allowed when string starts\n // with 0, 1, 2, 3\n if ('0123'.indexOf(ch) >= 0 &&\n index < length &&\n isOctalDigit(source[index])) {\n code = code * 8 + '01234567'.indexOf(source[index++]);\n }\n }\n str += String.fromCharCode(code);\n } else {\n str += ch;\n }\n break;\n }\n } else {\n if (ch === '\\r' && source[index] === '\\n') {\n ++index;\n }\n }\n } else if (isLineTerminator(ch.charCodeAt(0))) {\n break;\n } else {\n str += ch;\n }\n }\n\n if (quote !== '') {\n throwError({}, MessageUnexpectedToken, ILLEGAL);\n }\n\n return {\n type: TokenStringLiteral,\n value: str,\n octal: octal,\n start: start,\n end: index\n };\n}\n\nfunction testRegExp(pattern, flags) {\n var tmp = pattern;\n\n if (flags.indexOf('u') >= 0) {\n // Replace each astral symbol and every Unicode code point\n // escape sequence with a single ASCII symbol to avoid throwing on\n // regular expressions that are only valid in combination with the\n // `/u` flag.\n // Note: replacing with the ASCII symbol `x` might cause false\n // negatives in unlikely scenarios. For example, `[\\u{61}-b]` is a\n // perfectly valid pattern that is equivalent to `[a-b]`, but it\n // would be replaced by `[x-b]` which throws an error.\n tmp = tmp\n .replace(/\\\\u\\{([0-9a-fA-F]+)\\}/g, function($0, $1) {\n if (parseInt($1, 16) <= 0x10FFFF) {\n return 'x';\n }\n throwError({}, MessageInvalidRegExp);\n })\n .replace(/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g, 'x');\n }\n\n // First, detect invalid regular expressions.\n try {\n new RegExp(tmp);\n } catch (e) {\n throwError({}, MessageInvalidRegExp);\n }\n\n // Return a regular expression object for this pattern-flag pair, or\n // `null` in case the current environment doesn't support the flags it\n // uses.\n try {\n return new RegExp(pattern, flags);\n } catch (exception) {\n return null;\n }\n}\n\nfunction scanRegExpBody() {\n var ch, str, classMarker, terminated, body;\n\n ch = source[index];\n assert(ch === '/', 'Regular expression literal must start with a slash');\n str = source[index++];\n\n classMarker = false;\n terminated = false;\n while (index < length) {\n ch = source[index++];\n str += ch;\n if (ch === '\\\\') {\n ch = source[index++];\n // ECMA-262 7.8.5\n if (isLineTerminator(ch.charCodeAt(0))) {\n throwError({}, MessageUnterminatedRegExp);\n }\n str += ch;\n } else if (isLineTerminator(ch.charCodeAt(0))) {\n throwError({}, MessageUnterminatedRegExp);\n } else if (classMarker) {\n if (ch === ']') {\n classMarker = false;\n }\n } else {\n if (ch === '/') {\n terminated = true;\n break;\n } else if (ch === '[') {\n classMarker = true;\n }\n }\n }\n\n if (!terminated) {\n throwError({}, MessageUnterminatedRegExp);\n }\n\n // Exclude leading and trailing slash.\n body = str.substr(1, str.length - 2);\n return {\n value: body,\n literal: str\n };\n}\n\nfunction scanRegExpFlags() {\n var ch, str, flags;\n\n str = '';\n flags = '';\n while (index < length) {\n ch = source[index];\n if (!isIdentifierPart(ch.charCodeAt(0))) {\n break;\n }\n\n ++index;\n if (ch === '\\\\' && index < length) {\n throwError({}, MessageUnexpectedToken, ILLEGAL);\n } else {\n flags += ch;\n str += ch;\n }\n }\n\n if (flags.search(/[^gimuy]/g) >= 0) {\n throwError({}, MessageInvalidRegExp, flags);\n }\n\n return {\n value: flags,\n literal: str\n };\n}\n\nfunction scanRegExp() {\n var start, body, flags, value;\n\n lookahead = null;\n skipComment();\n start = index;\n\n body = scanRegExpBody();\n flags = scanRegExpFlags();\n value = testRegExp(body.value, flags.value);\n\n return {\n literal: body.literal + flags.literal,\n value: value,\n regex: {\n pattern: body.value,\n flags: flags.value\n },\n start: start,\n end: index\n };\n}\n\nfunction isIdentifierName(token) {\n return token.type === TokenIdentifier ||\n token.type === TokenKeyword ||\n token.type === TokenBooleanLiteral ||\n token.type === TokenNullLiteral;\n}\n\nfunction advance() {\n var ch;\n\n skipComment();\n\n if (index >= length) {\n return {\n type: TokenEOF,\n start: index,\n end: index\n };\n }\n\n ch = source.charCodeAt(index);\n\n if (isIdentifierStart(ch)) {\n return scanIdentifier();\n }\n\n // Very common: ( and ) and ;\n if (ch === 0x28 || ch === 0x29 || ch === 0x3B) {\n return scanPunctuator();\n }\n\n // String literal starts with single quote (U+0027) or double quote (U+0022).\n if (ch === 0x27 || ch === 0x22) {\n return scanStringLiteral();\n }\n\n\n // Dot (.) U+002E can also start a floating-point number, hence the need\n // to check the next character.\n if (ch === 0x2E) {\n if (isDecimalDigit(source.charCodeAt(index + 1))) {\n return scanNumericLiteral();\n }\n return scanPunctuator();\n }\n\n if (isDecimalDigit(ch)) {\n return scanNumericLiteral();\n }\n\n return scanPunctuator();\n}\n\nfunction lex() {\n var token;\n\n token = lookahead;\n index = token.end;\n\n lookahead = advance();\n\n index = token.end;\n\n return token;\n}\n\nfunction peek() {\n var pos;\n\n pos = index;\n\n lookahead = advance();\n index = pos;\n}\n\nfunction finishArrayExpression(elements) {\n var node = new __WEBPACK_IMPORTED_MODULE_0__ast__[\"a\" /* default */](SyntaxArrayExpression);\n node.elements = elements;\n return node;\n}\n\nfunction finishBinaryExpression(operator, left, right) {\n var node = new __WEBPACK_IMPORTED_MODULE_0__ast__[\"a\" /* default */]((operator === '||' || operator === '&&') ? SyntaxLogicalExpression : SyntaxBinaryExpression);\n node.operator = operator;\n node.left = left;\n node.right = right;\n return node;\n}\n\nfunction finishCallExpression(callee, args) {\n var node = new __WEBPACK_IMPORTED_MODULE_0__ast__[\"a\" /* default */](SyntaxCallExpression);\n node.callee = callee;\n node.arguments = args;\n return node;\n}\n\nfunction finishConditionalExpression(test, consequent, alternate) {\n var node = new __WEBPACK_IMPORTED_MODULE_0__ast__[\"a\" /* default */](SyntaxConditionalExpression);\n node.test = test;\n node.consequent = consequent;\n node.alternate = alternate;\n return node;\n}\n\nfunction finishIdentifier(name) {\n var node = new __WEBPACK_IMPORTED_MODULE_0__ast__[\"a\" /* default */](SyntaxIdentifier);\n node.name = name;\n return node;\n}\n\nfunction finishLiteral(token) {\n var node = new __WEBPACK_IMPORTED_MODULE_0__ast__[\"a\" /* default */](SyntaxLiteral);\n node.value = token.value;\n node.raw = source.slice(token.start, token.end);\n if (token.regex) {\n if (node.raw === '//') {\n node.raw = '/(?:)/';\n }\n node.regex = token.regex;\n }\n return node;\n}\n\nfunction finishMemberExpression(accessor, object, property) {\n var node = new __WEBPACK_IMPORTED_MODULE_0__ast__[\"a\" /* default */](SyntaxMemberExpression);\n node.computed = accessor === '[';\n node.object = object;\n node.property = property;\n if (!node.computed) property.member = true;\n return node;\n}\n\nfunction finishObjectExpression(properties) {\n var node = new __WEBPACK_IMPORTED_MODULE_0__ast__[\"a\" /* default */](SyntaxObjectExpression);\n node.properties = properties;\n return node;\n}\n\nfunction finishProperty(kind, key, value) {\n var node = new __WEBPACK_IMPORTED_MODULE_0__ast__[\"a\" /* default */](SyntaxProperty);\n node.key = key;\n node.value = value;\n node.kind = kind;\n return node;\n}\n\nfunction finishUnaryExpression(operator, argument) {\n var node = new __WEBPACK_IMPORTED_MODULE_0__ast__[\"a\" /* default */](SyntaxUnaryExpression);\n node.operator = operator;\n node.argument = argument;\n node.prefix = true;\n return node;\n}\n\n// Throw an exception\n\nfunction throwError(token, messageFormat) {\n var error,\n args = Array.prototype.slice.call(arguments, 2),\n msg = messageFormat.replace(\n /%(\\d)/g,\n function(whole, index) {\n assert(index < args.length, 'Message reference must be in range');\n return args[index];\n }\n );\n\n\n error = new Error(msg);\n error.index = index;\n error.description = msg;\n throw error;\n}\n\n// Throw an exception because of the token.\n\nfunction throwUnexpected(token) {\n if (token.type === TokenEOF) {\n throwError(token, MessageUnexpectedEOS);\n }\n\n if (token.type === TokenNumericLiteral) {\n throwError(token, MessageUnexpectedNumber);\n }\n\n if (token.type === TokenStringLiteral) {\n throwError(token, MessageUnexpectedString);\n }\n\n if (token.type === TokenIdentifier) {\n throwError(token, MessageUnexpectedIdentifier);\n }\n\n if (token.type === TokenKeyword) {\n throwError(token, MessageUnexpectedReserved);\n }\n\n // BooleanLiteral, NullLiteral, or Punctuator.\n throwError(token, MessageUnexpectedToken, token.value);\n}\n\n// Expect the next token to match the specified punctuator.\n// If not, an exception will be thrown.\n\nfunction expect(value) {\n var token = lex();\n if (token.type !== TokenPunctuator || token.value !== value) {\n throwUnexpected(token);\n }\n}\n\n// Return true if the next token matches the specified punctuator.\n\nfunction match(value) {\n return lookahead.type === TokenPunctuator && lookahead.value === value;\n}\n\n// Return true if the next token matches the specified keyword\n\nfunction matchKeyword(keyword) {\n return lookahead.type === TokenKeyword && lookahead.value === keyword;\n}\n\n// 11.1.4 Array Initialiser\n\nfunction parseArrayInitialiser() {\n var elements = [];\n\n index = lookahead.start;\n expect('[');\n\n while (!match(']')) {\n if (match(',')) {\n lex();\n elements.push(null);\n } else {\n elements.push(parseConditionalExpression());\n\n if (!match(']')) {\n expect(',');\n }\n }\n }\n\n lex();\n\n return finishArrayExpression(elements);\n}\n\n// 11.1.5 Object Initialiser\n\nfunction parseObjectPropertyKey() {\n var token;\n\n index = lookahead.start;\n token = lex();\n\n // Note: This function is called only from parseObjectProperty(), where\n // EOF and Punctuator tokens are already filtered out.\n\n if (token.type === TokenStringLiteral || token.type === TokenNumericLiteral) {\n if (token.octal) {\n throwError(token, MessageStrictOctalLiteral);\n }\n return finishLiteral(token);\n }\n\n return finishIdentifier(token.value);\n}\n\nfunction parseObjectProperty() {\n var token, key, id, value;\n\n index = lookahead.start;\n token = lookahead;\n\n if (token.type === TokenIdentifier) {\n id = parseObjectPropertyKey();\n expect(':');\n value = parseConditionalExpression();\n return finishProperty('init', id, value);\n }\n if (token.type === TokenEOF || token.type === TokenPunctuator) {\n throwUnexpected(token);\n } else {\n key = parseObjectPropertyKey();\n expect(':');\n value = parseConditionalExpression();\n return finishProperty('init', key, value);\n }\n}\n\nfunction parseObjectInitialiser() {\n var properties = [],\n property, name, key, map = {},\n toString = String;\n\n index = lookahead.start;\n expect('{');\n\n while (!match('}')) {\n property = parseObjectProperty();\n\n if (property.key.type === SyntaxIdentifier) {\n name = property.key.name;\n } else {\n name = toString(property.key.value);\n }\n\n key = '$' + name;\n if (Object.prototype.hasOwnProperty.call(map, key)) {\n throwError({}, MessageStrictDuplicateProperty);\n } else {\n map[key] = true;\n }\n\n properties.push(property);\n\n if (!match('}')) {\n expect(',');\n }\n }\n\n expect('}');\n\n return finishObjectExpression(properties);\n}\n\n// 11.1.6 The Grouping Operator\n\nfunction parseGroupExpression() {\n var expr;\n\n expect('(');\n\n expr = parseExpression();\n\n expect(')');\n\n return expr;\n}\n\n\n// 11.1 Primary Expressions\n\nvar legalKeywords = {\n \"if\": 1,\n \"this\": 1\n};\n\nfunction parsePrimaryExpression() {\n var type, token, expr;\n\n if (match('(')) {\n return parseGroupExpression();\n }\n\n if (match('[')) {\n return parseArrayInitialiser();\n }\n\n if (match('{')) {\n return parseObjectInitialiser();\n }\n\n type = lookahead.type;\n index = lookahead.start;\n\n\n if (type === TokenIdentifier || legalKeywords[lookahead.value]) {\n expr = finishIdentifier(lex().value);\n } else if (type === TokenStringLiteral || type === TokenNumericLiteral) {\n if (lookahead.octal) {\n throwError(lookahead, MessageStrictOctalLiteral);\n }\n expr = finishLiteral(lex());\n } else if (type === TokenKeyword) {\n throw new Error(DISABLED);\n } else if (type === TokenBooleanLiteral) {\n token = lex();\n token.value = (token.value === 'true');\n expr = finishLiteral(token);\n } else if (type === TokenNullLiteral) {\n token = lex();\n token.value = null;\n expr = finishLiteral(token);\n } else if (match('/') || match('/=')) {\n expr = finishLiteral(scanRegExp());\n peek();\n } else {\n throwUnexpected(lex());\n }\n\n return expr;\n}\n\n// 11.2 Left-Hand-Side Expressions\n\nfunction parseArguments() {\n var args = [];\n\n expect('(');\n\n if (!match(')')) {\n while (index < length) {\n args.push(parseConditionalExpression());\n if (match(')')) {\n break;\n }\n expect(',');\n }\n }\n\n expect(')');\n\n return args;\n}\n\nfunction parseNonComputedProperty() {\n var token;\n index = lookahead.start;\n token = lex();\n\n if (!isIdentifierName(token)) {\n throwUnexpected(token);\n }\n\n return finishIdentifier(token.value);\n}\n\nfunction parseNonComputedMember() {\n expect('.');\n\n return parseNonComputedProperty();\n}\n\nfunction parseComputedMember() {\n var expr;\n\n expect('[');\n\n expr = parseExpression();\n\n expect(']');\n\n return expr;\n}\n\nfunction parseLeftHandSideExpressionAllowCall() {\n var expr, args, property;\n\n expr = parsePrimaryExpression();\n\n for (;;) {\n if (match('.')) {\n property = parseNonComputedMember();\n expr = finishMemberExpression('.', expr, property);\n } else if (match('(')) {\n args = parseArguments();\n expr = finishCallExpression(expr, args);\n } else if (match('[')) {\n property = parseComputedMember();\n expr = finishMemberExpression('[', expr, property);\n } else {\n break;\n }\n }\n\n return expr;\n}\n\n// 11.3 Postfix Expressions\n\nfunction parsePostfixExpression() {\n var expr = parseLeftHandSideExpressionAllowCall();\n\n if (lookahead.type === TokenPunctuator) {\n if ((match('++') || match('--'))) {\n throw new Error(DISABLED);\n }\n }\n\n return expr;\n}\n\n// 11.4 Unary Operators\n\nfunction parseUnaryExpression() {\n var token, expr;\n\n if (lookahead.type !== TokenPunctuator && lookahead.type !== TokenKeyword) {\n expr = parsePostfixExpression();\n } else if (match('++') || match('--')) {\n throw new Error(DISABLED);\n } else if (match('+') || match('-') || match('~') || match('!')) {\n token = lex();\n expr = parseUnaryExpression();\n expr = finishUnaryExpression(token.value, expr);\n } else if (matchKeyword('delete') || matchKeyword('void') || matchKeyword('typeof')) {\n throw new Error(DISABLED);\n } else {\n expr = parsePostfixExpression();\n }\n\n return expr;\n}\n\nfunction binaryPrecedence(token) {\n var prec = 0;\n\n if (token.type !== TokenPunctuator && token.type !== TokenKeyword) {\n return 0;\n }\n\n switch (token.value) {\n case '||':\n prec = 1;\n break;\n\n case '&&':\n prec = 2;\n break;\n\n case '|':\n prec = 3;\n break;\n\n case '^':\n prec = 4;\n break;\n\n case '&':\n prec = 5;\n break;\n\n case '==':\n case '!=':\n case '===':\n case '!==':\n prec = 6;\n break;\n\n case '<':\n case '>':\n case '<=':\n case '>=':\n case 'instanceof':\n case 'in':\n prec = 7;\n break;\n\n case '<<':\n case '>>':\n case '>>>':\n prec = 8;\n break;\n\n case '+':\n case '-':\n prec = 9;\n break;\n\n case '*':\n case '/':\n case '%':\n prec = 11;\n break;\n\n default:\n break;\n }\n\n return prec;\n}\n\n// 11.5 Multiplicative Operators\n// 11.6 Additive Operators\n// 11.7 Bitwise Shift Operators\n// 11.8 Relational Operators\n// 11.9 Equality Operators\n// 11.10 Binary Bitwise Operators\n// 11.11 Binary Logical Operators\n\nfunction parseBinaryExpression() {\n var marker, markers, expr, token, prec, stack, right, operator, left, i;\n\n marker = lookahead;\n left = parseUnaryExpression();\n\n token = lookahead;\n prec = binaryPrecedence(token);\n if (prec === 0) {\n return left;\n }\n token.prec = prec;\n lex();\n\n markers = [marker, lookahead];\n right = parseUnaryExpression();\n\n stack = [left, token, right];\n\n while ((prec = binaryPrecedence(lookahead)) > 0) {\n\n // Reduce: make a binary expression from the three topmost entries.\n while ((stack.length > 2) && (prec <= stack[stack.length - 2].prec)) {\n right = stack.pop();\n operator = stack.pop().value;\n left = stack.pop();\n markers.pop();\n expr = finishBinaryExpression(operator, left, right);\n stack.push(expr);\n }\n\n // Shift.\n token = lex();\n token.prec = prec;\n stack.push(token);\n markers.push(lookahead);\n expr = parseUnaryExpression();\n stack.push(expr);\n }\n\n // Final reduce to clean-up the stack.\n i = stack.length - 1;\n expr = stack[i];\n markers.pop();\n while (i > 1) {\n markers.pop()\n expr = finishBinaryExpression(stack[i - 1].value, stack[i - 2], expr);\n i -= 2;\n }\n\n return expr;\n}\n\n// 11.12 Conditional Operator\n\nfunction parseConditionalExpression() {\n var expr, consequent, alternate;\n\n expr = parseBinaryExpression();\n\n if (match('?')) {\n lex();\n consequent = parseConditionalExpression();\n expect(':');\n alternate = parseConditionalExpression();\n\n expr = finishConditionalExpression(expr, consequent, alternate);\n }\n\n return expr;\n}\n\n// 11.14 Comma Operator\n\nfunction parseExpression() {\n var expr = parseConditionalExpression();\n\n if (match(',')) {\n throw new Error(DISABLED); // no sequence expressions\n }\n\n return expr;\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(code) {\n source = code;\n index = 0;\n length = source.length;\n lookahead = null;\n\n peek();\n\n var expr = parseExpression();\n\n if (lookahead.type !== TokenEOF) {\n throw new Error(\"Unexpect token after expression.\");\n }\n return expr;\n});\n\n\n/***/ }),\n/* 877 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constants__ = __webpack_require__(353);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__functions__ = __webpack_require__(354);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(opt) {\n opt = opt || {};\n\n var whitelist = opt.whitelist ? Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"S\" /* toSet */])(opt.whitelist) : {},\n blacklist = opt.blacklist ? Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"S\" /* toSet */])(opt.blacklist) : {},\n constants = opt.constants || __WEBPACK_IMPORTED_MODULE_0__constants__[\"a\" /* default */],\n functions = (opt.functions || __WEBPACK_IMPORTED_MODULE_1__functions__[\"a\" /* default */])(visit),\n globalvar = opt.globalvar,\n fieldvar = opt.fieldvar,\n globals = {},\n fields = {},\n memberDepth = 0;\n\n var outputGlobal = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"y\" /* isFunction */])(globalvar)\n ? globalvar\n : function (id) { return globalvar + '[\"' + id + '\"]'; };\n\n function visit(ast) {\n if (Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"C\" /* isString */])(ast)) return ast;\n var generator = Generators[ast.type];\n if (generator == null) Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"m\" /* error */])('Unsupported type: ' + ast.type);\n return generator(ast);\n }\n\n var Generators = {\n Literal: function(n) {\n return n.raw;\n },\n\n Identifier: function(n) {\n var id = n.name;\n if (memberDepth > 0) {\n return id;\n } else if (blacklist.hasOwnProperty(id)) {\n return Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"m\" /* error */])('Illegal identifier: ' + id);\n } else if (constants.hasOwnProperty(id)) {\n return constants[id];\n } else if (whitelist.hasOwnProperty(id)) {\n return id;\n } else {\n globals[id] = 1;\n return outputGlobal(id);\n }\n },\n\n MemberExpression: function(n) {\n var d = !n.computed;\n var o = visit(n.object);\n if (d) memberDepth += 1;\n var p = visit(n.property);\n if (o === fieldvar) { fields[p] = 1; } // HACKish...\n if (d) memberDepth -= 1;\n return o + (d ? '.'+p : '['+p+']');\n },\n\n CallExpression: function(n) {\n if (n.callee.type !== 'Identifier') {\n Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"m\" /* error */])('Illegal callee type: ' + n.callee.type);\n }\n var callee = n.callee.name;\n var args = n.arguments;\n var fn = functions.hasOwnProperty(callee) && functions[callee];\n if (!fn) Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"m\" /* error */])('Unrecognized function: ' + callee);\n return Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"y\" /* isFunction */])(fn)\n ? fn(args)\n : fn + '(' + args.map(visit).join(',') + ')';\n },\n\n ArrayExpression: function(n) {\n return '[' + n.elements.map(visit).join(',') + ']';\n },\n\n BinaryExpression: function(n) {\n return '(' + visit(n.left) + n.operator + visit(n.right) + ')';\n },\n\n UnaryExpression: function(n) {\n return '(' + n.operator + visit(n.argument) + ')';\n },\n\n ConditionalExpression: function(n) {\n return '(' + visit(n.test) +\n '?' + visit(n.consequent) +\n ':' + visit(n.alternate) +\n ')';\n },\n\n LogicalExpression: function(n) {\n return '(' + visit(n.left) + n.operator + visit(n.right) + ')';\n },\n\n ObjectExpression: function(n) {\n return '{' + n.properties.map(visit).join(',') + '}';\n },\n\n Property: function(n) {\n memberDepth += 1;\n var k = visit(n.key);\n memberDepth -= 1;\n return k + ':' + visit(n.value);\n }\n };\n\n function codegen(ast) {\n var result = {\n code: visit(ast),\n globals: Object.keys(globals),\n fields: Object.keys(fields)\n };\n globals = {};\n fields = {};\n return result;\n }\n\n codegen.functions = functions;\n codegen.constants = constants;\n\n return codegen;\n});\n\n\n/***/ }),\n/* 878 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = format;\n/* harmony export (immutable) */ __webpack_exports__[\"f\"] = timeFormat;\n/* harmony export (immutable) */ __webpack_exports__[\"h\"] = utcFormat;\n/* harmony export (immutable) */ __webpack_exports__[\"g\"] = timeParse;\n/* harmony export (immutable) */ __webpack_exports__[\"i\"] = utcParse;\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = monthFormat;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = monthAbbrevFormat;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = dayFormat;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = dayAbbrevFormat;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_format__ = __webpack_require__(77);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_d3_time_format__ = __webpack_require__(66);\n\n\n\nvar formatCache = {};\n\nfunction formatter(type, method, specifier) {\n var k = type + ':' + specifier,\n e = formatCache[k];\n if (!e || e[0] !== method) {\n formatCache[k] = (e = [method, method(specifier)]);\n }\n return e[1];\n}\n\nfunction format(_, specifier) {\n return formatter('format', __WEBPACK_IMPORTED_MODULE_0_d3_format__[\"a\" /* format */], specifier)(_);\n}\n\nfunction timeFormat(_, specifier) {\n return formatter('timeFormat', __WEBPACK_IMPORTED_MODULE_1_d3_time_format__[\"a\" /* timeFormat */], specifier)(_);\n}\n\nfunction utcFormat(_, specifier) {\n return formatter('utcFormat', __WEBPACK_IMPORTED_MODULE_1_d3_time_format__[\"d\" /* utcFormat */], specifier)(_);\n}\n\nfunction timeParse(_, specifier) {\n return formatter('timeParse', __WEBPACK_IMPORTED_MODULE_1_d3_time_format__[\"c\" /* timeParse */], specifier)(_);\n}\n\nfunction utcParse(_, specifier) {\n return formatter('utcParse', __WEBPACK_IMPORTED_MODULE_1_d3_time_format__[\"e\" /* utcParse */], specifier)(_);\n}\n\nvar dateObj = new Date(2000, 0, 1);\n\nfunction time(month, day, specifier) {\n dateObj.setMonth(month);\n dateObj.setDate(day);\n return timeFormat(dateObj, specifier);\n}\n\nfunction monthFormat(month) {\n return time(month, 1, '%B');\n}\n\nfunction monthAbbrevFormat(month) {\n return time(month, 1, '%b');\n}\n\nfunction dayFormat(day) {\n return time(0, 2 + day, '%A');\n}\n\nfunction dayAbbrevFormat(day) {\n return time(0, 2 + day, '%a');\n}\n\n\n/***/ }),\n/* 879 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = quarter;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = utcquarter;\nfunction quarter(date) {\n return 1 + ~~(new Date(date).getMonth() / 3);\n}\n\nfunction utcquarter(date) {\n return 1 + ~~(new Date(date).getUTCMonth() / 3);\n}\n\n\n/***/ }),\n/* 880 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = warn;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = info;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = debug;\nfunction log(df, method, args) {\n try {\n df[method].apply(df, ['EXPRESSION'].concat([].slice.call(args)));\n } catch (err) {\n df.warn(err);\n }\n return args[args.length-1];\n}\n\nfunction warn() {\n return log(this.context.dataflow, 'warn', arguments);\n}\n\nfunction info() {\n return log(this.context.dataflow, 'info', arguments);\n}\n\nfunction debug() {\n return log(this.context.dataflow, 'debug', arguments);\n}\n\n\n/***/ }),\n/* 881 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(item) {\n var group = this.context.group,\n value = false;\n\n if (group) while (item) {\n if (item === group) { value = true; break; }\n item = item.mark.group;\n }\n return value;\n});\n\n\n/***/ }),\n/* 882 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = pinchDistance;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = pinchAngle;\nfunction pinchDistance(event) {\n var t = event.touches,\n dx = t[0].clientX - t[1].clientX,\n dy = t[0].clientY - t[1].clientY;\n return Math.sqrt(dx * dx + dy * dy);\n}\n\nfunction pinchAngle(event) {\n var t = event.touches;\n return Math.atan2(\n t[0].clientY - t[1].clientY,\n t[0].clientX - t[1].clientX\n );\n}\n\n\n/***/ }),\n/* 883 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = screen;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = windowSize;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = containerSize;\nvar _window = (typeof window !== 'undefined' && window) || null;\n\nfunction screen() {\n return _window ? _window.screen : {};\n}\n\nfunction windowSize() {\n return _window\n ? [_window.innerWidth, _window.innerHeight]\n : [undefined, undefined];\n}\n\nfunction containerSize() {\n var view = this.context.dataflow,\n el = view.container && view.container();\n return el\n ? [el.clientWidth, el.clientHeight]\n : [undefined, undefined];\n}\n\n\n/***/ }),\n/* 884 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(range, value, threshold, left, right, center) {\n if (!threshold && threshold !== 0) return center;\n\n var a = range[0],\n b = Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"L\" /* peek */])(range),\n t = +threshold,\n l, r;\n\n // swap endpoints if range is reversed\n if (b < a) {\n l = a; a = b; b = l;\n }\n\n // compare value to endpoints\n l = Math.abs(value - a);\n r = Math.abs(b - value);\n\n // adjust if value within threshold distance of endpoint\n return l < r && l <= t ? left : r <= t ? right : center;\n});\n\n\n/***/ }),\n/* 885 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function() {\n var args = [].slice.call(arguments);\n args.unshift({});\n return __WEBPACK_IMPORTED_MODULE_0_vega_util__[\"n\" /* extend */].apply(null, args);\n});\n\n\n/***/ }),\n/* 886 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__scale__ = __webpack_require__(121);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_scenegraph__ = __webpack_require__(20);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_scale__ = __webpack_require__(52);\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(scale, p0, p1, count, group) {\n scale = Object(__WEBPACK_IMPORTED_MODULE_0__scale__[\"e\" /* getScale */])(scale, (group || this).context);\n\n var gradient = Object(__WEBPACK_IMPORTED_MODULE_1_vega_scenegraph__[\"d\" /* Gradient */])(p0, p1),\n stops = scale.domain(),\n min = stops[0],\n max = stops[stops.length-1],\n fraction = Object(__WEBPACK_IMPORTED_MODULE_2_vega_scale__[\"e\" /* scaleFraction */])(scale, min, max);\n\n if (scale.ticks) {\n stops = scale.ticks(+count || 15);\n if (min !== stops[0]) stops.unshift(min);\n if (max !== stops[stops.length-1]) stops.push(max);\n }\n\n for (var i=0, n=stops.length; i<n; ++i) {\n gradient.stop(fraction(stops[i]), scale(stops[i]));\n }\n\n return gradient;\n});\n\n\n/***/ }),\n/* 887 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return geoArea; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return geoBounds; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return geoCentroid; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_geo__ = __webpack_require__(177);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__scale__ = __webpack_require__(121);\n\n\n\nfunction geoMethod(methodName, globalMethod) {\n return function(projection, geojson, group) {\n if (projection) {\n // projection defined, use it\n var p = Object(__WEBPACK_IMPORTED_MODULE_1__scale__[\"e\" /* getScale */])(projection, (group || this).context);\n return p && p.path[methodName](geojson);\n } else {\n // projection undefined, use global method\n return globalMethod(geojson);\n }\n };\n}\n\nvar geoArea = geoMethod('area', __WEBPACK_IMPORTED_MODULE_0_d3_geo__[\"c\" /* geoArea */]);\nvar geoBounds = geoMethod('bounds', __WEBPACK_IMPORTED_MODULE_0_d3_geo__[\"f\" /* geoBounds */]);\nvar geoCentroid = geoMethod('centroid', __WEBPACK_IMPORTED_MODULE_0_d3_geo__[\"g\" /* geoCentroid */]);\n\n\n/***/ }),\n/* 888 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = geoShape;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = pathShape;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__scale__ = __webpack_require__(121);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_scenegraph__ = __webpack_require__(20);\n\n\n\nfunction geoShape(projection, geojson, group) {\n var p = Object(__WEBPACK_IMPORTED_MODULE_0__scale__[\"e\" /* getScale */])(projection, (group || this).context);\n return function(context) {\n return p ? p.path.context(context)(geojson) : '';\n }\n}\n\nfunction pathShape(path) {\n var p = null;\n return function(context) {\n return context\n ? Object(__WEBPACK_IMPORTED_MODULE_1_vega_scenegraph__[\"H\" /* pathRender */])(context, (p = p || Object(__WEBPACK_IMPORTED_MODULE_1_vega_scenegraph__[\"F\" /* pathParse */])(path)))\n : path;\n };\n}\n\n\n/***/ }),\n/* 889 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = treePath;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = treeAncestors;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__data__ = __webpack_require__(194);\n\n\nvar EMPTY = {};\n\nfunction datum(d) { return d.data; }\n\nfunction treeNodes(name, context) {\n var tree = __WEBPACK_IMPORTED_MODULE_0__data__[\"a\" /* data */].call(context, name);\n return tree.root && tree.root.lookup || EMPTY;\n}\n\nfunction treePath(name, source, target) {\n var nodes = treeNodes(name, this),\n s = nodes[source],\n t = nodes[target];\n return s && t ? s.path(t).map(datum) : undefined;\n}\n\nfunction treeAncestors(name, node) {\n var n = treeNodes(name, this)[node];\n return n ? n.ancestors().map(datum) : undefined;\n}\n\n\n/***/ }),\n/* 890 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(item, name, retval) {\n if (item) {\n var df = this.context.dataflow,\n target = item.mark.source;\n df.pulse(target, df.changeset().encode(item, name));\n }\n return retval !== undefined ? retval : item;\n});\n\n\n/***/ }),\n/* 891 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\nfunction equal(a, b) {\n return a === b || a !== a && b !== b ? true\n : Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(a) && Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(b) && a.length === b.length ? equalArray(a, b)\n : false;\n}\n\nfunction equalArray(a, b) {\n for (var i=0, n=a.length; i<n; ++i) {\n if (!equal(a[i], b[i])) return false;\n }\n return true;\n}\n\nfunction removePredicate(props) {\n return function(_) {\n for (var key in props) {\n if (!equal(_[key], props[key])) return false;\n }\n return true;\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(name, insert, remove, toggle, modify, values) {\n var df = this.context.dataflow,\n data = this.context.data[name],\n input = data.input,\n changes = data.changes,\n stamp = df.stamp(),\n predicate, key;\n\n if (df._trigger === false || !(input.value.length || insert || toggle)) {\n // nothing to do!\n return 0;\n }\n\n if (!changes || changes.stamp < stamp) {\n data.changes = (changes = df.changeset());\n changes.stamp = stamp;\n df.runAfter(function() {\n data.modified = true;\n df.pulse(input, changes).run();\n }, true, 1);\n }\n\n if (remove) {\n predicate = remove === true ? __WEBPACK_IMPORTED_MODULE_1_vega_util__[\"V\" /* truthy */]\n : (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(remove) || Object(__WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"m\" /* isTuple */])(remove)) ? remove\n : removePredicate(remove);\n changes.remove(predicate);\n }\n\n if (insert) {\n changes.insert(insert);\n }\n\n if (toggle) {\n predicate = removePredicate(toggle);\n if (input.value.some(predicate)) {\n changes.remove(predicate);\n } else {\n changes.insert(toggle);\n }\n }\n\n if (modify) {\n for (key in values) {\n changes.modify(modify, key, values[key]);\n }\n }\n\n return 1;\n});\n\n\n/***/ }),\n/* 892 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = vlPoint;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = vlInterval;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = vlMultiVisitor;\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = vlPointDomain;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = vlIntervalDomain;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__arrays__ = __webpack_require__(355);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ast__ = __webpack_require__(193);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__data__ = __webpack_require__(194);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__prefixes__ = __webpack_require__(122);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_vega_util__ = __webpack_require__(0);\n\n\n\n\n\n\nvar BIN = 'bin_',\n INTERSECT = 'intersect',\n UNION = 'union',\n UNIT_INDEX = 'index:unit';\n\nfunction testPoint(datum, entry) {\n var fields = entry.fields,\n values = entry.values,\n getter = entry.getter || (entry.getter = []),\n n = fields.length,\n i = 0, dval;\n\n for (; i<n; ++i) {\n getter[i] = getter[i] || Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"r\" /* field */])(fields[i]);\n dval = getter[i](datum);\n if (Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"x\" /* isDate */])(dval)) dval = Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"R\" /* toNumber */])(dval);\n if (Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"x\" /* isDate */])(values[i])) values[i] = Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"R\" /* toNumber */])(values[i]);\n if (entry[BIN + fields[i]]) {\n if (Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"x\" /* isDate */])(values[i][0])) values[i] = values[i].map(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"R\" /* toNumber */]);\n if (!Object(__WEBPACK_IMPORTED_MODULE_0__arrays__[\"c\" /* inrange */])(dval, values[i], true, false)) return false;\n } else if (dval !== values[i]) {\n return false;\n }\n }\n\n return true;\n}\n\n// TODO: revisit date coercion?\n// have selections populate with consistent types upon write?\n\nfunction testInterval(datum, entry) {\n var ivals = entry.intervals,\n n = ivals.length,\n i = 0,\n getter, extent, value;\n\n for (; i<n; ++i) {\n extent = ivals[i].extent;\n getter = ivals[i].getter || (ivals[i].getter = Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"r\" /* field */])(ivals[i].field));\n value = getter(datum);\n if (!extent || extent[0] === extent[1]) return false;\n if (Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"x\" /* isDate */])(value)) value = Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"R\" /* toNumber */])(value);\n if (Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"x\" /* isDate */])(extent[0])) extent = ivals[i].extent = extent.map(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"R\" /* toNumber */]);\n if (Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"z\" /* isNumber */])(extent[0]) && !Object(__WEBPACK_IMPORTED_MODULE_0__arrays__[\"c\" /* inrange */])(value, extent)) return false;\n else if (Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"C\" /* isString */])(extent[0]) && extent.indexOf(value) < 0) return false;\n }\n\n return true;\n}\n\n/**\n * Tests if a tuple is contained within an interactive selection.\n * @param {string} name - The name of the data set representing the selection.\n * @param {object} datum - The tuple to test for inclusion.\n * @param {string} op - The set operation for combining selections.\n * One of 'intersect' or 'union' (default).\n * @param {function(object,object):boolean} test - A boolean-valued test\n * predicate for determining selection status within a single unit chart.\n * @return {boolean} - True if the datum is in the selection, false otherwise.\n */\nfunction vlSelection(name, datum, op, test) {\n var data = this.context.data[name],\n entries = data ? data.values.value : [],\n unitIdx = data ? data[UNIT_INDEX] && data[UNIT_INDEX].value : undefined,\n intersect = op === INTERSECT,\n n = entries.length,\n i = 0,\n entry, miss, count, unit, b;\n\n for (; i<n; ++i) {\n entry = entries[i];\n\n if (unitIdx && intersect) {\n // multi selections union within the same unit and intersect across units.\n miss = miss || {};\n count = miss[unit=entry.unit] || 0;\n\n // if we've already matched this unit, skip.\n if (count === -1) continue;\n\n b = test(datum, entry);\n miss[unit] = b ? -1 : ++count;\n\n // if we match and there are no other units return true\n // if we've missed against all tuples in this unit return false\n if (b && unitIdx.size === 1) return true;\n if (!b && count === unitIdx.get(unit).count) return false;\n } else {\n b = test(datum, entry);\n\n // if we find a miss and we do require intersection return false\n // if we find a match and we don't require intersection return true\n if (intersect ^ b) return b;\n }\n }\n\n // if intersecting and we made it here, then we saw no misses\n // if not intersecting, then we saw no matches\n // if no active selections, return false\n return n && intersect;\n}\n\n// Assumes point selection tuples are of the form:\n// {unit: string, encodings: array<string>, fields: array<string>, values: array<*>, bins: object}\nfunction vlPoint(name, datum, op) {\n return vlSelection.call(this, name, datum, op, testPoint);\n}\n\n// Assumes interval selection typles are of the form:\n// {unit: string, intervals: array<{encoding: string, field:string, extent:array<number>}>}\nfunction vlInterval(name, datum, op) {\n return vlSelection.call(this, name, datum, op, testInterval);\n}\n\nfunction vlMultiVisitor(name, args, scope, params) {\n if (args[0].type !== __WEBPACK_IMPORTED_MODULE_1__ast__[\"b\" /* Literal */]) Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"m\" /* error */])('First argument to indata must be a string literal.');\n\n var data = args[0].value,\n // vlMulti, vlMultiDomain have different # of params, but op is always last.\n op = args.length >= 2 && args[args.length-1].value,\n field = 'unit',\n indexName = __WEBPACK_IMPORTED_MODULE_3__prefixes__[\"b\" /* indexPrefix */] + field;\n\n if (op === INTERSECT && !params.hasOwnProperty(indexName)) {\n params[indexName] = scope.getData(data).indataRef(scope, field);\n }\n\n Object(__WEBPACK_IMPORTED_MODULE_2__data__[\"b\" /* dataVisitor */])(name, args, scope, params);\n}\n\n/**\n * Materializes a point selection as a scale domain.\n * @param {string} name - The name of the dataset representing the selection.\n * @param {string} [encoding] - A particular encoding channel to materialize.\n * @param {string} [field] - A particular field to materialize.\n * @param {string} [op='intersect'] - The set operation for combining selections.\n * One of 'intersect' (default) or 'union'.\n * @returns {array} An array of values to serve as a scale domain.\n */\nfunction vlPointDomain(name, encoding, field, op) {\n var data = this.context.data[name],\n entries = data ? data.values.value : [],\n unitIdx = data ? data[UNIT_INDEX] && data[UNIT_INDEX].value : undefined,\n entry = entries[0],\n i = 0, n, index, values, continuous, units;\n\n if (!entry) return undefined;\n\n for (n = encoding ? entry.encodings.length : entry.fields.length; i<n; ++i) {\n if ((encoding && entry.encodings[i] === encoding) ||\n (field && entry.fields[i] === field)) {\n index = i;\n continuous = entry[BIN + entry.fields[i]];\n break;\n }\n }\n\n // multi selections union within the same unit and intersect across units.\n // if we've got only one unit, enforce union for more efficient materialization.\n if (unitIdx && unitIdx.size === 1) {\n op = UNION;\n }\n\n if (unitIdx && op === INTERSECT) {\n units = entries.reduce(function(acc, entry) {\n var u = acc[entry.unit] || (acc[entry.unit] = []);\n u.push({unit: entry.unit, value: entry.values[index]});\n return acc;\n }, {});\n\n values = Object.keys(units).map(function(unit) {\n return {\n unit: unit,\n value: continuous\n ? continuousDomain(units[unit], UNION)\n : discreteDomain(units[unit], UNION)\n };\n });\n } else {\n values = entries.map(function(entry) {\n return {unit: entry.unit, value: entry.values[index]};\n });\n }\n\n return continuous ? continuousDomain(values, op) : discreteDomain(values, op);\n}\n\n/**\n * Materializes an interval selection as a scale domain.\n * @param {string} name - The name of the dataset representing the selection.\n * @param {string} [encoding] - A particular encoding channel to materialize.\n * @param {string} [field] - A particular field to materialize.\n * @param {string} [op='union'] - The set operation for combining selections.\n * One of 'intersect' or 'union' (default).\n * @returns {array} An array of values to serve as a scale domain.\n */\nfunction vlIntervalDomain(name, encoding, field, op) {\n var data = this.context.data[name],\n entries = data ? data.values.value : [],\n entry = entries[0],\n i = 0, n, interval, index, values, discrete;\n\n if (!entry) return undefined;\n\n for (n = entry.intervals.length; i<n; ++i) {\n interval = entry.intervals[i];\n if ((encoding && interval.encoding === encoding) ||\n (field && interval.field === field)) {\n if (!interval.extent) return undefined;\n index = i;\n discrete = interval.extent.length > 2;\n break;\n }\n }\n\n values = entries.reduce(function(acc, entry) {\n var extent = entry.intervals[index].extent,\n value = discrete\n ? extent.map(function (d) { return {unit: entry.unit, value: d}; })\n : {unit: entry.unit, value: extent};\n\n if (discrete) {\n acc.push.apply(acc, value);\n } else {\n acc.push(value);\n }\n return acc;\n }, []);\n\n\n return discrete ? discreteDomain(values, op) : continuousDomain(values, op);\n}\n\nfunction discreteDomain(entries, op) {\n var units = {}, count = 0,\n values = {}, domain = [],\n i = 0, n = entries.length,\n entry, unit, v, key;\n\n for (; i<n; ++i) {\n entry = entries[i];\n unit = entry.unit;\n key = entry.value;\n\n if (!units[unit]) units[unit] = ++count;\n if (!(v = values[key])) {\n values[key] = v = {value: key, units: {}, count: 0};\n }\n if (!v.units[unit]) v.units[unit] = ++v.count;\n }\n\n for (key in values) {\n v = values[key];\n if (op === INTERSECT && v.count !== count) continue;\n domain.push(v.value);\n }\n\n return domain.length ? domain : undefined;\n}\n\nfunction continuousDomain(entries, op) {\n var merge = op === INTERSECT ? intersectInterval : unionInterval,\n i = 0, n = entries.length,\n extent, domain, lo, hi;\n\n for (; i<n; ++i) {\n extent = entries[i].value;\n if (Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"x\" /* isDate */])(extent[0])) extent = extent.map(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"R\" /* toNumber */]);\n lo = extent[0];\n hi = extent[1];\n if (lo > hi) {\n hi = extent[0];\n lo = extent[1];\n }\n domain = domain ? merge(domain, lo, hi) : [lo, hi];\n }\n\n return domain && domain.length && (+domain[0] !== +domain[1])\n ? domain\n : undefined;\n}\n\nfunction unionInterval(domain, lo, hi) {\n if (domain[0] > lo) domain[0] = lo;\n if (domain[1] < hi) domain[1] = hi;\n return domain;\n}\n\nfunction intersectInterval(domain, lo, hi) {\n if (hi < domain[0] || domain[1] < lo) {\n return [];\n } else {\n if (domain[0] < lo) domain[0] = lo;\n if (domain[1] > hi) domain[1] = hi;\n }\n return domain;\n}\n\n\n/***/ }),\n/* 893 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__expression__ = __webpack_require__(44);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__stream__ = __webpack_require__(356);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vega_event_selector__ = __webpack_require__(123);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_vega_util__ = __webpack_require__(0);\n\n\n\n\n\n\nvar preamble = 'var datum=event.item&&event.item.datum;';\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(spec, scope, target) {\n var events = spec.events,\n update = spec.update,\n encode = spec.encode,\n sources = [],\n value = '', entry;\n\n if (!events) {\n Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"m\" /* error */])('Signal update missing events specification.');\n }\n\n // interpret as an event selector string\n if (Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"C\" /* isString */])(events)) {\n events = Object(__WEBPACK_IMPORTED_MODULE_3_vega_event_selector__[\"a\" /* selector */])(events, scope.isSubscope() ? __WEBPACK_IMPORTED_MODULE_2__util__[\"c\" /* Scope */] : __WEBPACK_IMPORTED_MODULE_2__util__[\"d\" /* View */]);\n }\n\n // separate event streams from signal updates\n events = Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"i\" /* array */])(events).filter(function(stream) {\n if (stream.signal || stream.scale) {\n sources.push(stream);\n return 0;\n } else {\n return 1;\n }\n });\n\n // merge event streams, include as source\n if (events.length) {\n sources.push(events.length > 1 ? {merge: events} : events[0]);\n }\n\n if (encode != null) {\n if (update) Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"m\" /* error */])('Signal encode and update are mutually exclusive.');\n update = 'encode(item(),' + Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"O\" /* stringValue */])(encode) + ')';\n }\n\n // resolve update value\n value = Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"C\" /* isString */])(update) ? Object(__WEBPACK_IMPORTED_MODULE_0__expression__[\"a\" /* default */])(update, scope, preamble)\n : update.expr != null ? Object(__WEBPACK_IMPORTED_MODULE_0__expression__[\"a\" /* default */])(update.expr, scope, preamble)\n : update.value != null ? update.value\n : update.signal != null ? {\n $expr: '_.value',\n $params: {value: scope.signalRef(update.signal)}\n }\n : Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"m\" /* error */])('Invalid signal update specification.');\n\n entry = {\n target: target,\n update: value\n };\n\n if (spec.force) {\n entry.options = {force: true};\n }\n\n sources.forEach(function(source) {\n scope.addUpdate(Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"n\" /* extend */])(streamSource(source, scope), entry));\n });\n});\n\nfunction streamSource(stream, scope) {\n return {\n source: stream.signal ? scope.signalRef(stream.signal)\n : stream.scale ? scope.scaleRef(stream.scale)\n : Object(__WEBPACK_IMPORTED_MODULE_1__stream__[\"a\" /* default */])(stream, scope)\n };\n}\n\n\n/***/ }),\n/* 894 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/**\n * Parse an event selector string.\n * Returns an array of event stream definitions.\n */\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(selector, source, marks) {\n DEFAULT_SOURCE = source || VIEW;\n MARKS = marks || DEFAULT_MARKS;\n return parseMerge(selector.trim()).map(parseSelector);\n});\n\nvar VIEW = 'view',\n LBRACK = '[',\n RBRACK = ']',\n LBRACE = '{',\n RBRACE = '}',\n COLON = ':',\n COMMA = ',',\n NAME = '@',\n GT = '>',\n ILLEGAL = /[[\\]{}]/,\n DEFAULT_SOURCE,\n MARKS,\n DEFAULT_MARKS = {\n '*': 1,\n arc: 1,\n area: 1,\n group: 1,\n image: 1,\n line: 1,\n path: 1,\n rect: 1,\n rule: 1,\n shape: 1,\n symbol: 1,\n text: 1,\n trail: 1\n };\n\nfunction isMarkType(type) {\n return MARKS.hasOwnProperty(type);\n}\n\nfunction find(s, i, endChar, pushChar, popChar) {\n var count = 0,\n n = s.length,\n c;\n for (; i<n; ++i) {\n c = s[i];\n if (!count && c === endChar) return i;\n else if (popChar && popChar.indexOf(c) >= 0) --count;\n else if (pushChar && pushChar.indexOf(c) >= 0) ++count;\n }\n return i;\n}\n\nfunction parseMerge(s) {\n var output = [],\n start = 0,\n n = s.length,\n i = 0;\n\n while (i < n) {\n i = find(s, i, COMMA, LBRACK + LBRACE, RBRACK + RBRACE);\n output.push(s.substring(start, i).trim());\n start = ++i;\n }\n\n if (output.length === 0) {\n throw 'Empty event selector: ' + s;\n }\n return output;\n}\n\nfunction parseSelector(s) {\n return s[0] === '['\n ? parseBetween(s)\n : parseStream(s);\n}\n\nfunction parseBetween(s) {\n var n = s.length,\n i = 1,\n b, stream;\n\n i = find(s, i, RBRACK, LBRACK, RBRACK);\n if (i === n) {\n throw 'Empty between selector: ' + s;\n }\n\n b = parseMerge(s.substring(1, i));\n if (b.length !== 2) {\n throw 'Between selector must have two elements: ' + s;\n }\n\n s = s.slice(i + 1).trim();\n if (s[0] !== GT) {\n throw 'Expected \\'>\\' after between selector: ' + s;\n }\n\n b = b.map(parseSelector);\n\n stream = parseSelector(s.slice(1).trim());\n if (stream.between) {\n return {\n between: b,\n stream: stream\n };\n } else {\n stream.between = b;\n }\n\n return stream;\n}\n\nfunction parseStream(s) {\n var stream = {source: DEFAULT_SOURCE},\n source = [],\n throttle = [0, 0],\n markname = 0,\n start = 0,\n n = s.length,\n i = 0, j,\n filter;\n\n // extract throttle from end\n if (s[n-1] === RBRACE) {\n i = s.lastIndexOf(LBRACE);\n if (i >= 0) {\n try {\n throttle = parseThrottle(s.substring(i+1, n-1));\n } catch (e) {\n throw 'Invalid throttle specification: ' + s;\n }\n s = s.slice(0, i).trim();\n n = s.length;\n } else throw 'Unmatched right brace: ' + s;\n i = 0;\n }\n\n if (!n) throw s;\n\n // set name flag based on first char\n if (s[0] === NAME) markname = ++i;\n\n // extract first part of multi-part stream selector\n j = find(s, i, COLON);\n if (j < n) {\n source.push(s.substring(start, j).trim());\n start = i = ++j;\n }\n\n // extract remaining part of stream selector\n i = find(s, i, LBRACK);\n if (i === n) {\n source.push(s.substring(start, n).trim());\n } else {\n source.push(s.substring(start, i).trim());\n filter = [];\n start = ++i;\n if (start === n) throw 'Unmatched left bracket: ' + s;\n }\n\n // extract filters\n while (i < n) {\n i = find(s, i, RBRACK);\n if (i === n) throw 'Unmatched left bracket: ' + s;\n filter.push(s.substring(start, i).trim());\n if (i < n-1 && s[++i] !== LBRACK) throw 'Expected left bracket: ' + s;\n start = ++i;\n }\n\n // marshall event stream specification\n if (!(n = source.length) || ILLEGAL.test(source[n-1])) {\n throw 'Invalid event selector: ' + s;\n }\n\n if (n > 1) {\n stream.type = source[1];\n if (markname) {\n stream.markname = source[0].slice(1);\n } else if (isMarkType(source[0])) {\n stream.marktype = source[0];\n } else {\n stream.source = source[0];\n }\n } else {\n stream.type = source[0];\n }\n if (stream.type.slice(-1) === '!') {\n stream.consume = true;\n stream.type = stream.type.slice(0, -1)\n }\n if (filter != null) stream.filter = filter;\n if (throttle[0]) stream.throttle = throttle[0];\n if (throttle[1]) stream.debounce = throttle[1];\n\n return stream;\n}\n\nfunction parseThrottle(s) {\n var a = s.split(COMMA);\n if (!s.length || a.length > 2) throw s;\n return a.map(function(_) {\n var x = +_;\n if (x !== x) throw s;\n return x;\n });\n}\n\n\n/***/ }),\n/* 895 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(proj, scope) {\n var params = {};\n\n for (var name in proj) {\n if (name === 'name') continue;\n params[name] = parseParameter(proj[name], name, scope);\n }\n\n scope.addProjection(proj.name, params);\n});\n\nfunction parseParameter(_, name, scope) {\n return Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"v\" /* isArray */])(_) ? _.map(function(_) { return parseParameter(_, name, scope); })\n : !Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"A\" /* isObject */])(_) ? _\n : _.signal ? scope.signalRef(_.signal)\n : name === 'fit' ? _\n : Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"m\" /* error */])('Unsupported parameter object: ' + Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"O\" /* stringValue */])(_));\n}\n\n\n/***/ }),\n/* 896 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__guides_constants__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__guides_legend_gradient__ = __webpack_require__(897);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__guides_legend_gradient_discrete__ = __webpack_require__(904);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__guides_legend_gradient_labels__ = __webpack_require__(905);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__guides_legend_symbol_groups__ = __webpack_require__(906);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__guides_legend_title__ = __webpack_require__(907);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__guides_guide_group__ = __webpack_require__(195);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__guides_guide_util__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__expression__ = __webpack_require__(44);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__mark__ = __webpack_require__(126);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__scale__ = __webpack_require__(357);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__marks_roles__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__encode_encode_util__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__util__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__transforms__ = __webpack_require__(25);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15_vega_util__ = __webpack_require__(0);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(spec, scope) {\n var config = scope.config.legend,\n encode = spec.encode || {},\n legendEncode = encode.legend || {},\n name = legendEncode.name || undefined,\n interactive = legendEncode.interactive,\n style = legendEncode.style,\n entryEncode, entryLayout, params, children,\n type, datum, dataRef, entryRef, group;\n\n // resolve 'canonical' scale name\n var scale = __WEBPACK_IMPORTED_MODULE_0__guides_constants__[\"l\" /* LegendScales */].reduce(function(a, b) { return a || spec[b]; }, 0);\n if (!scale) Object(__WEBPACK_IMPORTED_MODULE_15_vega_util__[\"m\" /* error */])('Missing valid scale for legend.');\n\n // resolve legend type (symbol, gradient, or discrete gradient)\n type = legendType(spec, scope.scaleType(scale));\n\n // single-element data source for legend group\n datum = {\n orient: Object(__WEBPACK_IMPORTED_MODULE_7__guides_guide_util__[\"g\" /* lookup */])('orient', spec, config),\n title: spec.title != null,\n type: type\n };\n dataRef = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"o\" /* ref */])(scope.add(Object(__WEBPACK_IMPORTED_MODULE_14__transforms__[\"d\" /* Collect */])(null, [datum])));\n\n // encoding properties for legend group\n legendEncode = Object(__WEBPACK_IMPORTED_MODULE_12__encode_encode_util__[\"d\" /* extendEncode */])(\n buildLegendEncode(spec, config),legendEncode, __WEBPACK_IMPORTED_MODULE_0__guides_constants__[\"r\" /* Skip */]\n );\n\n // encoding properties for legend entry sub-group\n entryEncode = {enter: {x: {value: 0}, y: {value: 0}}};\n\n // data source for legend values\n entryRef = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"o\" /* ref */])(scope.add(Object(__WEBPACK_IMPORTED_MODULE_14__transforms__[\"l\" /* LegendEntries */])(params = {\n type: type,\n scale: scope.scaleRef(scale),\n count: scope.objectProperty(spec.tickCount),\n values: scope.objectProperty(spec.values),\n formatSpecifier: scope.property(spec.format)\n })));\n\n // continuous gradient legend\n if (type === __WEBPACK_IMPORTED_MODULE_0__guides_constants__[\"e\" /* Gradient */]) {\n children = [\n Object(__WEBPACK_IMPORTED_MODULE_1__guides_legend_gradient__[\"a\" /* default */])(spec, scale, config, encode.gradient),\n Object(__WEBPACK_IMPORTED_MODULE_3__guides_legend_gradient_labels__[\"a\" /* default */])(spec, config, encode.labels, entryRef)\n ];\n // adjust default tick count based on the gradient length\n params.count = params.count || scope.signalRef(\n 'max(2,2*floor((' + Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"g\" /* deref */])(Object(__WEBPACK_IMPORTED_MODULE_7__guides_guide_util__[\"d\" /* gradientLength */])(spec, config)) + ')/100))'\n );\n }\n\n // discrete gradient legend\n else if (type === __WEBPACK_IMPORTED_MODULE_0__guides_constants__[\"c\" /* Discrete */]) {\n children = [\n Object(__WEBPACK_IMPORTED_MODULE_2__guides_legend_gradient_discrete__[\"a\" /* default */])(spec, scale, config, encode.gradient, entryRef),\n Object(__WEBPACK_IMPORTED_MODULE_3__guides_legend_gradient_labels__[\"a\" /* default */])(spec, config, encode.labels, entryRef)\n ];\n }\n\n // symbol legend\n else {\n // determine legend symbol group layout\n entryLayout = Object(__WEBPACK_IMPORTED_MODULE_4__guides_legend_symbol_groups__[\"b\" /* legendSymbolLayout */])(spec, config);\n children = [\n Object(__WEBPACK_IMPORTED_MODULE_4__guides_legend_symbol_groups__[\"a\" /* default */])(spec, config, encode, entryRef, Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"g\" /* deref */])(entryLayout.columns))\n ];\n // pass symbol size information to legend entry generator\n params.size = sizeExpression(spec, scope, children[0].marks);\n }\n\n // generate legend marks\n children = [\n Object(__WEBPACK_IMPORTED_MODULE_6__guides_guide_group__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_11__marks_roles__[\"i\" /* LegendEntryRole */], null, null, dataRef, interactive,\n entryEncode, children, entryLayout)\n ];\n\n // include legend title if defined\n if (datum.title) {\n children.push(Object(__WEBPACK_IMPORTED_MODULE_5__guides_legend_title__[\"a\" /* default */])(spec, config, encode.title, dataRef));\n }\n\n // build legend specification\n group = Object(__WEBPACK_IMPORTED_MODULE_6__guides_guide_group__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_11__marks_roles__[\"l\" /* LegendRole */], style, name, dataRef, interactive, legendEncode, children);\n if (spec.zindex) group.zindex = spec.zindex;\n\n // parse legend specification\n return Object(__WEBPACK_IMPORTED_MODULE_9__mark__[\"a\" /* default */])(group, scope);\n});\n\nfunction legendType(spec, scaleType) {\n var type = spec.type || __WEBPACK_IMPORTED_MODULE_0__guides_constants__[\"t\" /* Symbols */];\n\n if (!spec.type && scaleCount(spec) === 1 && (spec.fill || spec.stroke)) {\n type = Object(__WEBPACK_IMPORTED_MODULE_10__scale__[\"b\" /* isContinuous */])(scaleType) ? __WEBPACK_IMPORTED_MODULE_0__guides_constants__[\"e\" /* Gradient */]\n : Object(__WEBPACK_IMPORTED_MODULE_10__scale__[\"c\" /* isDiscretizing */])(scaleType) ? __WEBPACK_IMPORTED_MODULE_0__guides_constants__[\"c\" /* Discrete */]\n : __WEBPACK_IMPORTED_MODULE_0__guides_constants__[\"t\" /* Symbols */];\n }\n\n return type !== __WEBPACK_IMPORTED_MODULE_0__guides_constants__[\"e\" /* Gradient */] ? type\n : Object(__WEBPACK_IMPORTED_MODULE_10__scale__[\"c\" /* isDiscretizing */])(scaleType) ? __WEBPACK_IMPORTED_MODULE_0__guides_constants__[\"c\" /* Discrete */]\n : __WEBPACK_IMPORTED_MODULE_0__guides_constants__[\"e\" /* Gradient */];\n}\n\nfunction scaleCount(spec) {\n return __WEBPACK_IMPORTED_MODULE_0__guides_constants__[\"l\" /* LegendScales */].reduce(function(count, type) {\n return count + (spec[type] ? 1 : 0);\n }, 0);\n}\n\nfunction buildLegendEncode(spec, config) {\n var encode = {enter: {}, update: {}};\n\n Object(__WEBPACK_IMPORTED_MODULE_12__encode_encode_util__[\"a\" /* addEncode */])(encode, 'offset', Object(__WEBPACK_IMPORTED_MODULE_7__guides_guide_util__[\"g\" /* lookup */])('offset', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_12__encode_encode_util__[\"a\" /* addEncode */])(encode, 'padding', Object(__WEBPACK_IMPORTED_MODULE_7__guides_guide_util__[\"g\" /* lookup */])('padding', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_12__encode_encode_util__[\"a\" /* addEncode */])(encode, 'titlePadding', Object(__WEBPACK_IMPORTED_MODULE_7__guides_guide_util__[\"g\" /* lookup */])('titlePadding', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_12__encode_encode_util__[\"a\" /* addEncode */])(encode, 'fill', Object(__WEBPACK_IMPORTED_MODULE_7__guides_guide_util__[\"g\" /* lookup */])('fillColor', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_12__encode_encode_util__[\"a\" /* addEncode */])(encode, 'stroke', Object(__WEBPACK_IMPORTED_MODULE_7__guides_guide_util__[\"g\" /* lookup */])('strokeColor', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_12__encode_encode_util__[\"a\" /* addEncode */])(encode, 'strokeWidth', Object(__WEBPACK_IMPORTED_MODULE_7__guides_guide_util__[\"g\" /* lookup */])('strokeWidth', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_12__encode_encode_util__[\"a\" /* addEncode */])(encode, 'cornerRadius', Object(__WEBPACK_IMPORTED_MODULE_7__guides_guide_util__[\"g\" /* lookup */])('cornerRadius', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_12__encode_encode_util__[\"a\" /* addEncode */])(encode, 'strokeDash', config.strokeDash);\n\n return encode;\n}\n\nfunction sizeExpression(spec, scope, marks) {\n var fontSize, size, strokeWidth, expr;\n\n strokeWidth = Object(__WEBPACK_IMPORTED_MODULE_7__guides_guide_util__[\"b\" /* getEncoding */])('strokeWidth', marks[0].encode);\n\n size = spec.size ? 'scale(\"' + spec.size + '\",datum)'\n : Object(__WEBPACK_IMPORTED_MODULE_7__guides_guide_util__[\"b\" /* getEncoding */])('size', marks[0].encode, scope);\n\n fontSize = getFontSize(marks[1].encode, scope, __WEBPACK_IMPORTED_MODULE_0__guides_constants__[\"g\" /* GuideLabelStyle */]);\n\n expr = 'max('\n + 'ceil(sqrt(' + Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"g\" /* deref */])(size) + ')+' + Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"g\" /* deref */])(strokeWidth) + '),'\n + Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"g\" /* deref */])(fontSize)\n + ')';\n\n return Object(__WEBPACK_IMPORTED_MODULE_8__expression__[\"a\" /* default */])(expr, scope);\n}\n\nfunction getFontSize(encode, scope, style) {\n return Object(__WEBPACK_IMPORTED_MODULE_7__guides_guide_util__[\"b\" /* getEncoding */])('fontSize', encode) || Object(__WEBPACK_IMPORTED_MODULE_7__guides_guide_util__[\"c\" /* getStyle */])('fontSize', scope, style);\n}\n\n\n/***/ }),\n/* 897 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__guide_mark__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__guide_util__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__marks_marktypes__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__marks_roles__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__encode_encode_util__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_vega_util__ = __webpack_require__(0);\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(spec, scale, config, userEncode) {\n var zero = {value: 0},\n vertical = Object(__WEBPACK_IMPORTED_MODULE_1__guide_util__[\"f\" /* isVertical */])(spec, config.gradientDirection),\n thickness = Object(__WEBPACK_IMPORTED_MODULE_1__guide_util__[\"e\" /* gradientThickness */])(spec, config),\n length = Object(__WEBPACK_IMPORTED_MODULE_1__guide_util__[\"d\" /* gradientLength */])(spec, config),\n encode, enter, start, stop, width, height;\n\n if (vertical) {\n start = [0, 1];\n stop = [0, 0];\n width = thickness;\n height = length;\n } else {\n start = [0, 0];\n stop = [1, 0];\n width = length;\n height = thickness;\n }\n\n encode = {\n enter: enter = {\n opacity: zero,\n x: zero,\n y: zero,\n width: Object(__WEBPACK_IMPORTED_MODULE_4__encode_encode_util__[\"b\" /* encoder */])(width),\n height: Object(__WEBPACK_IMPORTED_MODULE_4__encode_encode_util__[\"b\" /* encoder */])(height)\n },\n update: Object(__WEBPACK_IMPORTED_MODULE_5_vega_util__[\"n\" /* extend */])({}, enter, {\n opacity: {value: 1},\n fill: {gradient: scale, start: start, stop: stop}\n }),\n exit: {\n opacity: zero\n }\n };\n Object(__WEBPACK_IMPORTED_MODULE_4__encode_encode_util__[\"a\" /* addEncode */])(encode, 'stroke', Object(__WEBPACK_IMPORTED_MODULE_1__guide_util__[\"g\" /* lookup */])('gradientStrokeColor', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_4__encode_encode_util__[\"a\" /* addEncode */])(encode, 'strokeWidth', Object(__WEBPACK_IMPORTED_MODULE_1__guide_util__[\"g\" /* lookup */])('gradientStrokeWidth', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_4__encode_encode_util__[\"a\" /* addEncode */])(encode, 'opacity', Object(__WEBPACK_IMPORTED_MODULE_1__guide_util__[\"g\" /* lookup */])('gradientOpacity', spec, config), 'update');\n\n return Object(__WEBPACK_IMPORTED_MODULE_0__guide_mark__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_2__marks_marktypes__[\"b\" /* RectMark */], __WEBPACK_IMPORTED_MODULE_3__marks_roles__[\"j\" /* LegendGradientRole */], null, undefined, undefined, encode, userEncode);\n});\n\n\n/***/ }),\n/* 898 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = parseEncode;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__encode_adjust_spatial__ = __webpack_require__(899);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__encode_entry__ = __webpack_require__(124);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__encode_rule__ = __webpack_require__(903);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__encode_set__ = __webpack_require__(360);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_vega_util__ = __webpack_require__(0);\n\n\n\n\n\n\nfunction parseEncode(encode, marktype, params, scope) {\n var fields = {},\n code = 'var o=item,datum=o.datum,$;',\n channel, enc, value;\n\n for (channel in encode) {\n enc = encode[channel];\n if (Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"v\" /* isArray */])(enc)) { // rule\n code += Object(__WEBPACK_IMPORTED_MODULE_2__encode_rule__[\"a\" /* default */])(channel, enc, scope, params, fields);\n } else {\n value = Object(__WEBPACK_IMPORTED_MODULE_1__encode_entry__[\"a\" /* default */])(channel, enc, scope, params, fields);\n code += Object(__WEBPACK_IMPORTED_MODULE_3__encode_set__[\"a\" /* default */])('o', channel, value);\n }\n }\n\n code += Object(__WEBPACK_IMPORTED_MODULE_0__encode_adjust_spatial__[\"a\" /* default */])(encode, marktype);\n code += 'return 1;';\n\n return {\n $expr: code,\n $fields: Object.keys(fields),\n $output: Object.keys(encode)\n };\n}\n\n\n/***/ }),\n/* 899 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n\n\nvar Skip = Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"S\" /* toSet */])(['rule']),\n Swap = Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"S\" /* toSet */])(['group', 'image', 'rect']);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(encode, marktype) {\n var code = '';\n\n if (Skip[marktype]) return code;\n\n if (encode.x2) {\n if (encode.x) {\n if (Swap[marktype]) {\n code += 'if(o.x>o.x2)$=o.x,o.x=o.x2,o.x2=$;';\n }\n code += 'o.width=o.x2-o.x;';\n } else {\n code += 'o.x=o.x2-(o.width||0);';\n }\n }\n\n if (encode.xc) {\n code += 'o.x=o.xc-(o.width||0)/2;';\n }\n\n if (encode.y2) {\n if (encode.y) {\n if (Swap[marktype]) {\n code += 'if(o.y>o.y2)$=o.y,o.y=o.y2,o.y2=$;';\n }\n code += 'o.height=o.y2-o.y;';\n } else {\n code += 'o.y=o.y2-(o.height||0);';\n }\n }\n\n if (encode.yc) {\n code += 'o.y=o.yc-(o.height||0)/2;';\n }\n\n return code;\n});\n\n\n/***/ }),\n/* 900 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__entry__ = __webpack_require__(124);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(enc, scope, params, fields) {\n function color(type, x, y, z) {\n var a = Object(__WEBPACK_IMPORTED_MODULE_0__entry__[\"a\" /* default */])(null, x, scope, params, fields),\n b = Object(__WEBPACK_IMPORTED_MODULE_0__entry__[\"a\" /* default */])(null, y, scope, params, fields),\n c = Object(__WEBPACK_IMPORTED_MODULE_0__entry__[\"a\" /* default */])(null, z, scope, params, fields);\n return 'this.' + type + '(' + [a, b, c].join(',') + ').toString()';\n }\n\n return (enc.c) ? color('hcl', enc.h, enc.c, enc.l)\n : (enc.h || enc.s) ? color('hsl', enc.h, enc.s, enc.l)\n : (enc.l || enc.a) ? color('lab', enc.l, enc.a, enc.b)\n : (enc.r || enc.g || enc.b) ? color('rgb', enc.r, enc.g, enc.b)\n : null;\n});\n\n\n/***/ }),\n/* 901 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__scale__ = __webpack_require__(359);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(enc, scope, params, fields) {\n return 'this.gradient('\n + Object(__WEBPACK_IMPORTED_MODULE_0__scale__[\"b\" /* getScale */])(enc.gradient, scope, params, fields)\n + ',' + Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"O\" /* stringValue */])(enc.start)\n + ',' + Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"O\" /* stringValue */])(enc.stop)\n + ',' + Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"O\" /* stringValue */])(enc.count)\n + ')';\n});\n\n\n/***/ }),\n/* 902 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__entry__ = __webpack_require__(124);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(property, scope, params, fields) {\n return Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"A\" /* isObject */])(property)\n ? '(' + Object(__WEBPACK_IMPORTED_MODULE_0__entry__[\"a\" /* default */])(null, property, scope, params, fields) + ')'\n : property;\n});\n\n\n/***/ }),\n/* 903 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__entry__ = __webpack_require__(124);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__set__ = __webpack_require__(360);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__expression__ = __webpack_require__(125);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vega_util__ = __webpack_require__(0);\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(channel, rules, scope, params, fields) {\n var code = '';\n\n rules.forEach(function(rule) {\n var value = Object(__WEBPACK_IMPORTED_MODULE_0__entry__[\"a\" /* default */])(channel, rule, scope, params, fields);\n code += rule.test\n ? Object(__WEBPACK_IMPORTED_MODULE_2__expression__[\"a\" /* default */])(rule.test, scope, params, fields) + '?' + value + ':'\n : value;\n });\n\n // if no else clause, terminate with null (vega/vega#1366)\n if (Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"L\" /* peek */])(code) === ':') {\n code += 'null';\n }\n\n return Object(__WEBPACK_IMPORTED_MODULE_1__set__[\"a\" /* default */])('o', channel, code);\n});\n\n\n/***/ }),\n/* 904 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constants__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__guide_mark__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__guide_util__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__marks_marktypes__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__marks_roles__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__encode_encode_util__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_vega_util__ = __webpack_require__(0);\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(spec, scale, config, userEncode, dataRef) {\n var zero = {value: 0},\n vertical = Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"f\" /* isVertical */])(spec, config.gradientDirection),\n thickness = Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"e\" /* gradientThickness */])(spec, config),\n length = Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"d\" /* gradientLength */])(spec, config),\n encode, enter, u, v, uu, vv, adjust = '';\n\n vertical\n ? (u = 'y', uu = 'y2', v = 'x', vv = 'width', adjust = '1-')\n : (u = 'x', uu = 'x2', v = 'y', vv = 'height');\n\n enter = {\n opacity: zero,\n fill: {scale: scale, field: __WEBPACK_IMPORTED_MODULE_0__constants__[\"v\" /* Value */]}\n };\n enter[u] = {signal: adjust + 'datum.' + __WEBPACK_IMPORTED_MODULE_0__constants__[\"n\" /* Perc */], mult: length};\n enter[v] = zero;\n enter[uu] = {signal: adjust + 'datum.' + __WEBPACK_IMPORTED_MODULE_0__constants__[\"o\" /* Perc2 */], mult: length};\n enter[vv] = Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"b\" /* encoder */])(thickness);\n\n encode = {\n enter: enter,\n update: Object(__WEBPACK_IMPORTED_MODULE_6_vega_util__[\"n\" /* extend */])({}, enter, {opacity: {value: 1}}),\n exit: {opacity: zero}\n };\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'stroke', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('gradientStrokeColor', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'strokeWidth', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('gradientStrokeWidth', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'opacity', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('gradientOpacity', spec, config), 'update');\n\n return Object(__WEBPACK_IMPORTED_MODULE_1__guide_mark__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_3__marks_marktypes__[\"b\" /* RectMark */], __WEBPACK_IMPORTED_MODULE_4__marks_roles__[\"h\" /* LegendBandRole */], null, __WEBPACK_IMPORTED_MODULE_0__constants__[\"v\" /* Value */], dataRef, encode, userEncode);\n});\n\n\n/***/ }),\n/* 905 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constants__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__guide_mark__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__guide_util__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__marks_marktypes__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__marks_roles__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__encode_encode_util__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__util__ = __webpack_require__(12);\n\n\n\n\n\n\n\n\nvar alignExpr = 'datum.' + __WEBPACK_IMPORTED_MODULE_0__constants__[\"n\" /* Perc */] + '<=0?\"left\"'\n + ':datum.' + __WEBPACK_IMPORTED_MODULE_0__constants__[\"n\" /* Perc */] + '>=1?\"right\":\"center\"';\n\nvar baselineExpr = 'datum.' + __WEBPACK_IMPORTED_MODULE_0__constants__[\"n\" /* Perc */] + '<=0?\"bottom\"'\n + ':datum.' + __WEBPACK_IMPORTED_MODULE_0__constants__[\"n\" /* Perc */] + '>=1?\"top\":\"middle\"';\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(spec, config, userEncode, dataRef) {\n var zero = {value: 0},\n vertical = Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"f\" /* isVertical */])(spec, config.gradientDirection),\n thickness = Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"b\" /* encoder */])(Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"e\" /* gradientThickness */])(spec, config)),\n length = Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"d\" /* gradientLength */])(spec, config),\n overlap = Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('labelOverlap', spec, config),\n encode, enter, update, u, v, adjust = '';\n\n encode = {\n enter: enter = {\n opacity: zero\n },\n update: update = {\n opacity: {value: 1},\n text: {field: __WEBPACK_IMPORTED_MODULE_0__constants__[\"j\" /* Label */]}\n },\n exit: {\n opacity: zero\n }\n };\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'fill', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('labelColor', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'font', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('labelFont', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'fontSize', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('labelFontSize', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'fontWeight', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('labelFontWeight', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'fillOpacity', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('labelOpacity', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'limit', Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"r\" /* value */])(spec.labelLimit, config.gradientLabelLimit));\n\n if (vertical) {\n enter.align = {value: 'left'};\n enter.baseline = update.baseline = {signal: baselineExpr};\n u = 'y'; v = 'x'; adjust = '1-';\n } else {\n enter.align = update.align = {signal: alignExpr};\n enter.baseline = {value: 'top'};\n u = 'x'; v = 'y';\n }\n\n enter[u] = update[u] = {signal: adjust + 'datum.' + __WEBPACK_IMPORTED_MODULE_0__constants__[\"n\" /* Perc */], mult: length};\n\n enter[v] = update[v] = thickness;\n thickness.offset = Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"r\" /* value */])(spec.labelOffset, config.gradientLabelOffset) || 0;\n\n spec = Object(__WEBPACK_IMPORTED_MODULE_1__guide_mark__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_3__marks_marktypes__[\"e\" /* TextMark */], __WEBPACK_IMPORTED_MODULE_4__marks_roles__[\"k\" /* LegendLabelRole */], __WEBPACK_IMPORTED_MODULE_0__constants__[\"g\" /* GuideLabelStyle */], __WEBPACK_IMPORTED_MODULE_0__constants__[\"v\" /* Value */], dataRef, encode, userEncode);\n if (overlap) spec.overlap = {method: overlap, order: 'datum.' + __WEBPACK_IMPORTED_MODULE_0__constants__[\"i\" /* Index */]};\n return spec;\n});\n\n\n/***/ }),\n/* 906 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = legendSymbolLayout;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constants__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__guide_group__ = __webpack_require__(195);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__guide_mark__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__guide_util__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__marks_marktypes__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__marks_roles__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__encode_encode_util__ = __webpack_require__(16);\n\n\n\n\n\n\n\n\nvar zero = {value: 0};\n\n// userEncode is top-level, includes entries, symbols, labels\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(spec, config, userEncode, dataRef, columns) {\n var entries = userEncode.entries,\n interactive = !!(entries && entries.interactive),\n name = entries ? entries.name : undefined,\n height = Object(__WEBPACK_IMPORTED_MODULE_3__guide_util__[\"g\" /* lookup */])('clipHeight', spec, config),\n symbolOffset = Object(__WEBPACK_IMPORTED_MODULE_3__guide_util__[\"g\" /* lookup */])('symbolOffset', spec, config),\n valueRef = {data: 'value'},\n encode = {},\n xSignal = columns + '?' + 'datum.' + __WEBPACK_IMPORTED_MODULE_0__constants__[\"m\" /* Offset */] + ':' + 'datum.' + __WEBPACK_IMPORTED_MODULE_0__constants__[\"q\" /* Size */],\n yEncode = height ? Object(__WEBPACK_IMPORTED_MODULE_6__encode_encode_util__[\"b\" /* encoder */])(height) : {field: __WEBPACK_IMPORTED_MODULE_0__constants__[\"q\" /* Size */]},\n index = 'datum.' + __WEBPACK_IMPORTED_MODULE_0__constants__[\"i\" /* Index */],\n ncols = 'max(1,' + columns + ')',\n enter, update, labelOffset, symbols, labels, nrows, sort;\n\n yEncode.mult = 0.5;\n\n // -- LEGEND SYMBOLS --\n encode = {\n enter: enter = {\n opacity: zero,\n x: {signal: xSignal, mult: 0.5, offset: symbolOffset},\n y: yEncode\n },\n update: update = {\n opacity: {value: 1},\n x: enter.x,\n y: enter.y\n },\n exit: {\n opacity: zero\n }\n };\n\n if (!spec.fill) {\n Object(__WEBPACK_IMPORTED_MODULE_6__encode_encode_util__[\"a\" /* addEncode */])(encode, 'fill', config.symbolBaseFillColor);\n Object(__WEBPACK_IMPORTED_MODULE_6__encode_encode_util__[\"a\" /* addEncode */])(encode, 'stroke', config.symbolBaseStrokeColor);\n }\n Object(__WEBPACK_IMPORTED_MODULE_6__encode_encode_util__[\"a\" /* addEncode */])(encode, 'shape', Object(__WEBPACK_IMPORTED_MODULE_3__guide_util__[\"g\" /* lookup */])('symbolType', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_6__encode_encode_util__[\"a\" /* addEncode */])(encode, 'size', Object(__WEBPACK_IMPORTED_MODULE_3__guide_util__[\"g\" /* lookup */])('symbolSize', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_6__encode_encode_util__[\"a\" /* addEncode */])(encode, 'strokeWidth', Object(__WEBPACK_IMPORTED_MODULE_3__guide_util__[\"g\" /* lookup */])('symbolStrokeWidth', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_6__encode_encode_util__[\"a\" /* addEncode */])(encode, 'fill', Object(__WEBPACK_IMPORTED_MODULE_3__guide_util__[\"g\" /* lookup */])('symbolFillColor', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_6__encode_encode_util__[\"a\" /* addEncode */])(encode, 'stroke', Object(__WEBPACK_IMPORTED_MODULE_3__guide_util__[\"g\" /* lookup */])('symbolStrokeColor', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_6__encode_encode_util__[\"a\" /* addEncode */])(encode, 'opacity', Object(__WEBPACK_IMPORTED_MODULE_3__guide_util__[\"g\" /* lookup */])('symbolOpacity', spec, config), 'update');\n\n __WEBPACK_IMPORTED_MODULE_0__constants__[\"l\" /* LegendScales */].forEach(function(scale) {\n if (spec[scale]) {\n update[scale] = enter[scale] = {scale: spec[scale], field: __WEBPACK_IMPORTED_MODULE_0__constants__[\"v\" /* Value */]};\n }\n });\n\n symbols = Object(__WEBPACK_IMPORTED_MODULE_2__guide_mark__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_4__marks_marktypes__[\"d\" /* SymbolMark */], __WEBPACK_IMPORTED_MODULE_5__marks_roles__[\"m\" /* LegendSymbolRole */], null,\n __WEBPACK_IMPORTED_MODULE_0__constants__[\"v\" /* Value */], valueRef, encode, userEncode.symbols\n );\n if (height) symbols.clip = true;\n\n // -- LEGEND LABELS --\n labelOffset = Object(__WEBPACK_IMPORTED_MODULE_6__encode_encode_util__[\"b\" /* encoder */])(symbolOffset);\n labelOffset.offset = Object(__WEBPACK_IMPORTED_MODULE_3__guide_util__[\"g\" /* lookup */])('labelOffset', spec, config);\n\n encode = {\n enter: enter = {\n opacity: zero,\n x: {signal: xSignal, offset: labelOffset},\n y: yEncode\n },\n update: update = {\n opacity: {value: 1},\n text: {field: __WEBPACK_IMPORTED_MODULE_0__constants__[\"j\" /* Label */]},\n x: enter.x,\n y: enter.y\n },\n exit: {\n opacity: zero\n }\n };\n\n Object(__WEBPACK_IMPORTED_MODULE_6__encode_encode_util__[\"a\" /* addEncode */])(encode, 'align', Object(__WEBPACK_IMPORTED_MODULE_3__guide_util__[\"g\" /* lookup */])('labelAlign', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_6__encode_encode_util__[\"a\" /* addEncode */])(encode, 'baseline', Object(__WEBPACK_IMPORTED_MODULE_3__guide_util__[\"g\" /* lookup */])('labelBaseline', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_6__encode_encode_util__[\"a\" /* addEncode */])(encode, 'fill', Object(__WEBPACK_IMPORTED_MODULE_3__guide_util__[\"g\" /* lookup */])('labelColor', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_6__encode_encode_util__[\"a\" /* addEncode */])(encode, 'font', Object(__WEBPACK_IMPORTED_MODULE_3__guide_util__[\"g\" /* lookup */])('labelFont', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_6__encode_encode_util__[\"a\" /* addEncode */])(encode, 'fontSize', Object(__WEBPACK_IMPORTED_MODULE_3__guide_util__[\"g\" /* lookup */])('labelFontSize', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_6__encode_encode_util__[\"a\" /* addEncode */])(encode, 'fontWeight', Object(__WEBPACK_IMPORTED_MODULE_3__guide_util__[\"g\" /* lookup */])('labelFontWeight', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_6__encode_encode_util__[\"a\" /* addEncode */])(encode, 'limit', Object(__WEBPACK_IMPORTED_MODULE_3__guide_util__[\"g\" /* lookup */])('labelLimit', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_6__encode_encode_util__[\"a\" /* addEncode */])(encode, 'fillOpacity', Object(__WEBPACK_IMPORTED_MODULE_3__guide_util__[\"g\" /* lookup */])('labelOpacity', spec, config));\n\n labels = Object(__WEBPACK_IMPORTED_MODULE_2__guide_mark__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_4__marks_marktypes__[\"e\" /* TextMark */], __WEBPACK_IMPORTED_MODULE_5__marks_roles__[\"k\" /* LegendLabelRole */], __WEBPACK_IMPORTED_MODULE_0__constants__[\"g\" /* GuideLabelStyle */],\n __WEBPACK_IMPORTED_MODULE_0__constants__[\"v\" /* Value */], valueRef, encode, userEncode.labels\n );\n\n // -- LEGEND ENTRY GROUPS --\n encode = {\n enter: {\n noBound: {value: true}, // ignore width/height in bounds calc\n width: zero,\n height: height ? Object(__WEBPACK_IMPORTED_MODULE_6__encode_encode_util__[\"b\" /* encoder */])(height) : zero,\n opacity: zero\n },\n exit: {opacity: zero},\n update: update = {\n opacity: {value: 1},\n row: {signal: null},\n column: {signal: null}\n }\n };\n\n // annotate and sort groups to ensure correct ordering\n if (Object(__WEBPACK_IMPORTED_MODULE_3__guide_util__[\"f\" /* isVertical */])(spec, config.symbolDirection)) {\n nrows = 'ceil(item.mark.items.length/' + ncols + ')';\n update.row.signal = index + '%' + nrows;\n update.column.signal = 'floor(' + index + '/' + nrows + ')';\n sort = {field: ['row', index]};\n } else {\n update.row.signal = 'floor(' + index + '/' + ncols + ')';\n update.column.signal = index + '%' + ncols;\n sort = {field: index};\n }\n // handle zero column case (implies infinite columns)\n update.column.signal = columns + '?' + update.column.signal + ':' + index;\n\n // facet legend entries into sub-groups\n dataRef = {facet: {data: dataRef, name: 'value', groupby: __WEBPACK_IMPORTED_MODULE_0__constants__[\"i\" /* Index */]}};\n\n spec = Object(__WEBPACK_IMPORTED_MODULE_1__guide_group__[\"a\" /* default */])(\n __WEBPACK_IMPORTED_MODULE_5__marks_roles__[\"p\" /* ScopeRole */], null, name, dataRef, interactive,\n Object(__WEBPACK_IMPORTED_MODULE_6__encode_encode_util__[\"d\" /* extendEncode */])(encode, entries, __WEBPACK_IMPORTED_MODULE_0__constants__[\"r\" /* Skip */]), [symbols, labels]\n );\n spec.sort = sort;\n return spec;\n});\n\nfunction legendSymbolLayout(spec, config) {\n // layout parameters for legend entries\n return {\n align: Object(__WEBPACK_IMPORTED_MODULE_3__guide_util__[\"g\" /* lookup */])('gridAlign', spec, config),\n center: {row: true, column: false},\n columns: Object(__WEBPACK_IMPORTED_MODULE_3__guide_util__[\"a\" /* entryColumns */])(spec, config),\n padding: {\n row: Object(__WEBPACK_IMPORTED_MODULE_3__guide_util__[\"g\" /* lookup */])('rowPadding', spec, config),\n column: Object(__WEBPACK_IMPORTED_MODULE_3__guide_util__[\"g\" /* lookup */])('columnPadding', spec, config)\n }\n };\n}\n\n\n/***/ }),\n/* 907 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constants__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__guide_mark__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__guide_util__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__marks_marktypes__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__marks_roles__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__encode_encode_util__ = __webpack_require__(16);\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(spec, config, userEncode, dataRef) {\n var zero = {value: 0},\n encode, enter;\n\n encode = {\n enter: enter = {\n opacity: zero,\n x: {field: {group: 'padding'}},\n y: {field: {group: 'padding'}}\n },\n update: {\n opacity: {value: 1},\n text: Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"b\" /* encoder */])(spec.title),\n x: enter.x,\n y: enter.y\n },\n exit: {\n opacity: zero\n }\n };\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'align', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('titleAlign', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'baseline', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('titleBaseline', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'fill', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('titleColor', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'font', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('titleFont', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'fontSize', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('titleFontSize', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'fontWeight', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('titleFontWeight', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'limit', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('titleLimit', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'fillOpacity', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('titleOpacity', spec, config));\n\n return Object(__WEBPACK_IMPORTED_MODULE_1__guide_mark__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_3__marks_marktypes__[\"e\" /* TextMark */], __WEBPACK_IMPORTED_MODULE_4__marks_roles__[\"n\" /* LegendTitleRole */], __WEBPACK_IMPORTED_MODULE_0__constants__[\"h\" /* GuideTitleStyle */], null, dataRef, encode, userEncode);\n});\n\n\n/***/ }),\n/* 908 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(clip, scope) {\n var expr;\n\n if (Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"A\" /* isObject */])(clip)) {\n if (clip.signal) {\n expr = clip.signal;\n } else if (clip.path) {\n expr = 'pathShape(' + param(clip.path) + ')';\n } else if (clip.sphere) {\n expr = 'geoShape(' + param(clip.sphere) + ', {type: \"Sphere\"})';\n }\n }\n\n return expr\n ? scope.signalRef(expr)\n : !!clip;\n});\n\nfunction param(value) {\n return Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"A\" /* isObject */])(value) && value.signal\n ? value.signal\n : Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"O\" /* stringValue */])(value);\n}\n\n/***/ }),\n/* 909 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__role__ = __webpack_require__(361);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(spec) {\n return {\n marktype: spec.type,\n name: spec.name || undefined,\n role: spec.role || Object(__WEBPACK_IMPORTED_MODULE_0__role__[\"a\" /* default */])(spec),\n zindex: +spec.zindex || undefined\n };\n});\n\n\n/***/ }),\n/* 910 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(spec, scope) {\n return spec && spec.signal ? scope.signalRef(spec.signal)\n : spec === false ? false\n : true;\n});\n\n\n/***/ }),\n/* 911 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__data__ = __webpack_require__(362);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__spec__ = __webpack_require__(120);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__DataScope__ = __webpack_require__(82);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__transforms__ = __webpack_require__(25);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_vega_util__ = __webpack_require__(0);\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(spec, scope, group) {\n var facet = spec.from.facet,\n name = facet.name,\n data = Object(__WEBPACK_IMPORTED_MODULE_0__data__[\"b\" /* getDataRef */])(facet, scope),\n subscope, source, values, op;\n\n if (!facet.name) {\n Object(__WEBPACK_IMPORTED_MODULE_5_vega_util__[\"m\" /* error */])('Facet must have a name: ' + Object(__WEBPACK_IMPORTED_MODULE_5_vega_util__[\"O\" /* stringValue */])(facet));\n }\n if (!facet.data) {\n Object(__WEBPACK_IMPORTED_MODULE_5_vega_util__[\"m\" /* error */])('Facet must reference a data set: ' + Object(__WEBPACK_IMPORTED_MODULE_5_vega_util__[\"O\" /* stringValue */])(facet));\n }\n\n if (facet.field) {\n op = scope.add(Object(__WEBPACK_IMPORTED_MODULE_4__transforms__[\"s\" /* PreFacet */])({\n field: scope.fieldRef(facet.field),\n pulse: data\n }));\n } else if (facet.groupby) {\n op = scope.add(Object(__WEBPACK_IMPORTED_MODULE_4__transforms__[\"i\" /* Facet */])({\n key: scope.keyRef(facet.groupby),\n group: Object(__WEBPACK_IMPORTED_MODULE_3__util__[\"o\" /* ref */])(scope.proxy(group.parent)),\n pulse: data\n }));\n } else {\n Object(__WEBPACK_IMPORTED_MODULE_5_vega_util__[\"m\" /* error */])('Facet must specify groupby or field: ' + Object(__WEBPACK_IMPORTED_MODULE_5_vega_util__[\"O\" /* stringValue */])(facet));\n }\n\n // initialize facet subscope\n subscope = scope.fork();\n source = subscope.add(Object(__WEBPACK_IMPORTED_MODULE_4__transforms__[\"d\" /* Collect */])());\n values = subscope.add(Object(__WEBPACK_IMPORTED_MODULE_4__transforms__[\"y\" /* Sieve */])({pulse: Object(__WEBPACK_IMPORTED_MODULE_3__util__[\"o\" /* ref */])(source)}));\n subscope.addData(name, new __WEBPACK_IMPORTED_MODULE_2__DataScope__[\"a\" /* default */](subscope, source, source, values));\n subscope.addSignal('parent', null);\n\n // parse faceted subflow\n op.params.subflow = {\n $subflow: Object(__WEBPACK_IMPORTED_MODULE_1__spec__[\"a\" /* default */])(spec, subscope).toRuntime()\n };\n});\n\n\n/***/ }),\n/* 912 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__spec__ = __webpack_require__(120);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__transforms__ = __webpack_require__(25);\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(spec, scope, input) {\n var op = scope.add(Object(__WEBPACK_IMPORTED_MODULE_1__transforms__[\"s\" /* PreFacet */])({pulse: input.pulse})),\n subscope = scope.fork();\n\n subscope.add(Object(__WEBPACK_IMPORTED_MODULE_1__transforms__[\"y\" /* Sieve */])());\n subscope.addSignal('parent', null);\n\n // parse group mark subflow\n op.params.subflow = {\n $subflow: Object(__WEBPACK_IMPORTED_MODULE_0__spec__[\"a\" /* default */])(spec, subscope).toRuntime()\n };\n});\n\n\n/***/ }),\n/* 913 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__guides_constants__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__guides_guide_mark__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__guides_guide_util__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__mark__ = __webpack_require__(126);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__marks_marktypes__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__marks_roles__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__encode_encode_util__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__util__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__transforms__ = __webpack_require__(25);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_vega_util__ = __webpack_require__(0);\n\n\n\n\n\n\n\n\n\n\n\nfunction anchorExpr(startValue, endValue, centerValue) {\n return 'item.anchor===\"' + __WEBPACK_IMPORTED_MODULE_0__guides_constants__[\"s\" /* Start */] + '\"?' + startValue\n + ':item.anchor===\"' + __WEBPACK_IMPORTED_MODULE_0__guides_constants__[\"d\" /* End */] + '\"?' + endValue\n + ':' + centerValue;\n}\n\n// title text alignment\nvar alignExpr = anchorExpr(\n Object(__WEBPACK_IMPORTED_MODULE_9_vega_util__[\"O\" /* stringValue */])(__WEBPACK_IMPORTED_MODULE_0__guides_constants__[\"k\" /* Left */]), Object(__WEBPACK_IMPORTED_MODULE_9_vega_util__[\"O\" /* stringValue */])(__WEBPACK_IMPORTED_MODULE_0__guides_constants__[\"p\" /* Right */]), Object(__WEBPACK_IMPORTED_MODULE_9_vega_util__[\"O\" /* stringValue */])(__WEBPACK_IMPORTED_MODULE_0__guides_constants__[\"b\" /* Center */])\n);\n\n// multiplication factor for anchor positioning\nvar multExpr = anchorExpr(\n '+(item.orient===\"' + __WEBPACK_IMPORTED_MODULE_0__guides_constants__[\"p\" /* Right */] + '\")',\n '+(item.orient!==\"' + __WEBPACK_IMPORTED_MODULE_0__guides_constants__[\"k\" /* Left */] + '\")',\n '0.5'\n);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(spec, scope) {\n spec = Object(__WEBPACK_IMPORTED_MODULE_9_vega_util__[\"C\" /* isString */])(spec) ? {text: spec} : spec;\n\n var config = scope.config.title,\n encode = Object(__WEBPACK_IMPORTED_MODULE_9_vega_util__[\"n\" /* extend */])({}, spec.encode),\n datum, dataRef, title;\n\n // single-element data source for group title\n datum = {\n orient: Object(__WEBPACK_IMPORTED_MODULE_2__guides_guide_util__[\"g\" /* lookup */])('orient', spec, config)\n };\n dataRef = Object(__WEBPACK_IMPORTED_MODULE_7__util__[\"o\" /* ref */])(scope.add(Object(__WEBPACK_IMPORTED_MODULE_8__transforms__[\"d\" /* Collect */])(null, [datum])));\n\n // build title specification\n encode.name = spec.name;\n encode.interactive = spec.interactive;\n title = buildTitle(spec, config, encode, dataRef);\n if (spec.zindex) title.zindex = spec.zindex;\n\n // parse title specification\n return Object(__WEBPACK_IMPORTED_MODULE_3__mark__[\"a\" /* default */])(title, scope);\n});\n\nfunction buildTitle(spec, config, userEncode, dataRef) {\n var zero = {value: 0},\n title = spec.text,\n orient = Object(__WEBPACK_IMPORTED_MODULE_2__guides_guide_util__[\"g\" /* lookup */])('orient', spec, config),\n anchor = Object(__WEBPACK_IMPORTED_MODULE_2__guides_guide_util__[\"g\" /* lookup */])('anchor', spec, config),\n sign = (orient === __WEBPACK_IMPORTED_MODULE_0__guides_constants__[\"k\" /* Left */] || orient === __WEBPACK_IMPORTED_MODULE_0__guides_constants__[\"u\" /* Top */]) ? -1 : 1,\n horizontal = (orient === __WEBPACK_IMPORTED_MODULE_0__guides_constants__[\"u\" /* Top */] || orient === __WEBPACK_IMPORTED_MODULE_0__guides_constants__[\"a\" /* Bottom */]),\n extent = {group: (horizontal ? 'width' : 'height')},\n encode, enter, update, pos, opp;\n\n // title positioning along orientation axis\n pos = {field: extent, mult: {signal: multExpr}};\n\n // title baseline position\n opp = sign < 0 ? zero\n : horizontal ? {field: {group: 'height'}}\n : {field: {group: 'width'}};\n\n encode = {\n enter: enter = {\n opacity: zero\n },\n update: update = {\n opacity: {value: 1},\n text: Object(__WEBPACK_IMPORTED_MODULE_6__encode_encode_util__[\"b\" /* encoder */])(title),\n anchor: Object(__WEBPACK_IMPORTED_MODULE_6__encode_encode_util__[\"b\" /* encoder */])(anchor),\n orient: Object(__WEBPACK_IMPORTED_MODULE_6__encode_encode_util__[\"b\" /* encoder */])(orient),\n extent: {field: extent},\n align: {signal: alignExpr}\n },\n exit: {\n opacity: zero\n }\n };\n\n if (horizontal) {\n update.x = pos;\n update.y = opp;\n enter.angle = zero;\n enter.baseline = {value: orient === __WEBPACK_IMPORTED_MODULE_0__guides_constants__[\"u\" /* Top */] ? __WEBPACK_IMPORTED_MODULE_0__guides_constants__[\"a\" /* Bottom */] : __WEBPACK_IMPORTED_MODULE_0__guides_constants__[\"u\" /* Top */]};\n } else {\n update.x = opp;\n update.y = pos;\n enter.angle = {value: sign * 90};\n enter.baseline = {value: __WEBPACK_IMPORTED_MODULE_0__guides_constants__[\"a\" /* Bottom */]};\n }\n\n Object(__WEBPACK_IMPORTED_MODULE_6__encode_encode_util__[\"a\" /* addEncode */])(encode, 'align', Object(__WEBPACK_IMPORTED_MODULE_2__guides_guide_util__[\"g\" /* lookup */])('align', spec, config), 'update');\n Object(__WEBPACK_IMPORTED_MODULE_6__encode_encode_util__[\"a\" /* addEncode */])(encode, 'angle', Object(__WEBPACK_IMPORTED_MODULE_2__guides_guide_util__[\"g\" /* lookup */])('angle', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_6__encode_encode_util__[\"a\" /* addEncode */])(encode, 'baseline', Object(__WEBPACK_IMPORTED_MODULE_2__guides_guide_util__[\"g\" /* lookup */])('baseline', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_6__encode_encode_util__[\"a\" /* addEncode */])(encode, 'fill', Object(__WEBPACK_IMPORTED_MODULE_2__guides_guide_util__[\"g\" /* lookup */])('color', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_6__encode_encode_util__[\"a\" /* addEncode */])(encode, 'font', Object(__WEBPACK_IMPORTED_MODULE_2__guides_guide_util__[\"g\" /* lookup */])('font', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_6__encode_encode_util__[\"a\" /* addEncode */])(encode, 'fontSize', Object(__WEBPACK_IMPORTED_MODULE_2__guides_guide_util__[\"g\" /* lookup */])('fontSize', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_6__encode_encode_util__[\"a\" /* addEncode */])(encode, 'fontWeight', Object(__WEBPACK_IMPORTED_MODULE_2__guides_guide_util__[\"g\" /* lookup */])('fontWeight', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_6__encode_encode_util__[\"a\" /* addEncode */])(encode, 'frame', Object(__WEBPACK_IMPORTED_MODULE_2__guides_guide_util__[\"g\" /* lookup */])('frame', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_6__encode_encode_util__[\"a\" /* addEncode */])(encode, 'limit', Object(__WEBPACK_IMPORTED_MODULE_2__guides_guide_util__[\"g\" /* lookup */])('limit', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_6__encode_encode_util__[\"a\" /* addEncode */])(encode, 'offset', Object(__WEBPACK_IMPORTED_MODULE_2__guides_guide_util__[\"g\" /* lookup */])('offset', spec, config) || 0);\n\n return Object(__WEBPACK_IMPORTED_MODULE_1__guides_guide_mark__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_4__marks_marktypes__[\"e\" /* TextMark */], __WEBPACK_IMPORTED_MODULE_5__marks_roles__[\"q\" /* TitleRole */], spec.style || __WEBPACK_IMPORTED_MODULE_0__guides_constants__[\"f\" /* GroupTitleStyle */],\n null, dataRef, encode, userEncode);\n}\n\n\n/***/ }),\n/* 914 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = parseData;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__transform__ = __webpack_require__(196);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__trigger__ = __webpack_require__(363);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__transforms__ = __webpack_require__(25);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_vega_util__ = __webpack_require__(0);\n\n\n\n\n\n\nfunction parseData(data, scope) {\n var transforms = [];\n\n if (data.transform) {\n data.transform.forEach(function(tx) {\n transforms.push(Object(__WEBPACK_IMPORTED_MODULE_0__transform__[\"a\" /* default */])(tx, scope));\n });\n }\n\n if (data.on) {\n data.on.forEach(function(on) {\n Object(__WEBPACK_IMPORTED_MODULE_1__trigger__[\"a\" /* default */])(on, scope, data.name);\n });\n }\n\n scope.addDataPipeline(data.name, analyze(data, scope, transforms));\n}\n\n/**\n * Analyze a data pipeline, add needed operators.\n */\nfunction analyze(data, scope, ops) {\n // POSSIBLE TODOs:\n // - error checking for treesource on tree operators (BUT what if tree is upstream?)\n // - this is local analysis, perhaps some tasks better for global analysis...\n\n var output = [],\n source = null,\n modify = false,\n generate = false,\n upstream, i, n, t, m;\n\n if (data.values) {\n // hard-wired input data set\n output.push(source = collect({\n $ingest: data.values,\n $format: data.format\n }));\n } else if (data.url) {\n // load data from external source\n // if either url or format has signal, use dynamic loader\n // otherwise, request load upon dataflow init\n source = (Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"j\" /* hasSignal */])(data.url) || Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"j\" /* hasSignal */])(data.format))\n ? {$load: Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"o\" /* ref */])(scope.add(load(scope, data, source)))}\n : {$request: data.url, $format: data.format};\n output.push(source = collect(source));\n } else if (data.source) {\n // derives from one or more other data sets\n source = upstream = Object(__WEBPACK_IMPORTED_MODULE_4_vega_util__[\"i\" /* array */])(data.source).map(function(d) {\n return Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"o\" /* ref */])(scope.getData(d).output);\n });\n output.push(null); // populate later\n }\n\n // scan data transforms, add collectors as needed\n for (i=0, n=ops.length; i<n; ++i) {\n t = ops[i];\n m = t.metadata;\n\n if (!source && !m.source) {\n output.push(source = collect());\n }\n output.push(t);\n\n if (m.generates) generate = true;\n if (m.modifies && !generate) modify = true;\n\n if (m.source) source = t;\n else if (m.changes) source = null;\n }\n\n if (upstream) {\n n = upstream.length - 1;\n output[0] = Object(__WEBPACK_IMPORTED_MODULE_3__transforms__[\"v\" /* Relay */])({\n derive: modify,\n pulse: n ? upstream : upstream[0]\n });\n if (modify || n) {\n // collect derived and multi-pulse tuples\n output.splice(1, 0, collect());\n }\n }\n\n if (!source) output.push(collect());\n output.push(Object(__WEBPACK_IMPORTED_MODULE_3__transforms__[\"y\" /* Sieve */])({}));\n return output;\n}\n\nfunction collect(values) {\n var s = Object(__WEBPACK_IMPORTED_MODULE_3__transforms__[\"d\" /* Collect */])({}, values);\n s.metadata = {source: true};\n return s;\n}\n\nfunction load(scope, data) {\n return Object(__WEBPACK_IMPORTED_MODULE_3__transforms__[\"m\" /* Load */])({\n url: scope.property(data.url),\n format: scope.objectProperty(data.format)\n });\n}\n\n\n/***/ }),\n/* 915 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__guides_axis_config__ = __webpack_require__(916);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__guides_axis_domain__ = __webpack_require__(917);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__guides_axis_grid__ = __webpack_require__(918);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__guides_axis_ticks__ = __webpack_require__(919);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__guides_axis_labels__ = __webpack_require__(920);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__guides_axis_title__ = __webpack_require__(921);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__guides_guide_group__ = __webpack_require__(195);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__guides_guide_util__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__marks_roles__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__mark__ = __webpack_require__(126);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__encode_encode_util__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__guides_constants__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__util__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__transforms__ = __webpack_require__(25);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(spec, scope) {\n var config = Object(__WEBPACK_IMPORTED_MODULE_0__guides_axis_config__[\"a\" /* default */])(spec, scope),\n encode = spec.encode || {},\n axisEncode = encode.axis || {},\n name = axisEncode.name || undefined,\n interactive = axisEncode.interactive,\n style = axisEncode.style,\n datum, dataRef, ticksRef, size, group, children;\n\n // single-element data source for axis group\n datum = {\n orient: spec.orient,\n ticks: !!Object(__WEBPACK_IMPORTED_MODULE_7__guides_guide_util__[\"g\" /* lookup */])('ticks', spec, config),\n labels: !!Object(__WEBPACK_IMPORTED_MODULE_7__guides_guide_util__[\"g\" /* lookup */])('labels', spec, config),\n grid: !!Object(__WEBPACK_IMPORTED_MODULE_7__guides_guide_util__[\"g\" /* lookup */])('grid', spec, config),\n domain: !!Object(__WEBPACK_IMPORTED_MODULE_7__guides_guide_util__[\"g\" /* lookup */])('domain', spec, config),\n title: !!Object(__WEBPACK_IMPORTED_MODULE_12__util__[\"r\" /* value */])(spec.title, false)\n };\n dataRef = Object(__WEBPACK_IMPORTED_MODULE_12__util__[\"o\" /* ref */])(scope.add(Object(__WEBPACK_IMPORTED_MODULE_13__transforms__[\"d\" /* Collect */])({}, [datum])));\n\n // encoding properties for axis group item\n axisEncode = Object(__WEBPACK_IMPORTED_MODULE_10__encode_encode_util__[\"d\" /* extendEncode */])({\n update: {\n range: {signal: 'abs(span(range(\"' + spec.scale + '\")))'},\n offset: Object(__WEBPACK_IMPORTED_MODULE_10__encode_encode_util__[\"b\" /* encoder */])(Object(__WEBPACK_IMPORTED_MODULE_12__util__[\"r\" /* value */])(spec.offset, 0)),\n position: Object(__WEBPACK_IMPORTED_MODULE_10__encode_encode_util__[\"b\" /* encoder */])(Object(__WEBPACK_IMPORTED_MODULE_12__util__[\"r\" /* value */])(spec.position, 0)),\n titlePadding: Object(__WEBPACK_IMPORTED_MODULE_10__encode_encode_util__[\"b\" /* encoder */])(Object(__WEBPACK_IMPORTED_MODULE_7__guides_guide_util__[\"g\" /* lookup */])('titlePadding', spec, config)),\n minExtent: Object(__WEBPACK_IMPORTED_MODULE_10__encode_encode_util__[\"b\" /* encoder */])(Object(__WEBPACK_IMPORTED_MODULE_7__guides_guide_util__[\"g\" /* lookup */])('minExtent', spec, config)),\n maxExtent: Object(__WEBPACK_IMPORTED_MODULE_10__encode_encode_util__[\"b\" /* encoder */])(Object(__WEBPACK_IMPORTED_MODULE_7__guides_guide_util__[\"g\" /* lookup */])('maxExtent', spec, config))\n }\n }, encode.axis, __WEBPACK_IMPORTED_MODULE_11__guides_constants__[\"r\" /* Skip */]);\n\n // data source for axis ticks\n ticksRef = Object(__WEBPACK_IMPORTED_MODULE_12__util__[\"o\" /* ref */])(scope.add(Object(__WEBPACK_IMPORTED_MODULE_13__transforms__[\"b\" /* AxisTicks */])({\n scale: scope.scaleRef(spec.scale),\n extra: scope.property(Object(__WEBPACK_IMPORTED_MODULE_7__guides_guide_util__[\"g\" /* lookup */])('tickExtra', spec, config)),\n count: scope.objectProperty(spec.tickCount),\n values: scope.objectProperty(spec.values),\n formatSpecifier: scope.property(spec.format)\n })));\n\n // generate axis marks\n children = [];\n\n // include axis gridlines if requested\n if (datum.grid) {\n children.push(Object(__WEBPACK_IMPORTED_MODULE_2__guides_axis_grid__[\"a\" /* default */])(spec, config, encode.grid, ticksRef));\n }\n\n // include axis ticks if requested\n if (datum.ticks) {\n size = Object(__WEBPACK_IMPORTED_MODULE_7__guides_guide_util__[\"g\" /* lookup */])('tickSize', spec, config);\n children.push(Object(__WEBPACK_IMPORTED_MODULE_3__guides_axis_ticks__[\"a\" /* default */])(spec, config, encode.ticks, ticksRef, size));\n }\n\n // include axis labels if requested\n if (datum.labels) {\n size = datum.ticks ? size : 0;\n children.push(Object(__WEBPACK_IMPORTED_MODULE_4__guides_axis_labels__[\"a\" /* default */])(spec, config, encode.labels, ticksRef, size));\n }\n\n // include axis domain path if requested\n if (datum.domain) {\n children.push(Object(__WEBPACK_IMPORTED_MODULE_1__guides_axis_domain__[\"a\" /* default */])(spec, config, encode.domain, dataRef));\n }\n\n // include axis title if defined\n if (datum.title) {\n children.push(Object(__WEBPACK_IMPORTED_MODULE_5__guides_axis_title__[\"a\" /* default */])(spec, config, encode.title, dataRef));\n }\n\n // build axis specification\n group = Object(__WEBPACK_IMPORTED_MODULE_6__guides_guide_group__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_8__marks_roles__[\"d\" /* AxisRole */], style, name, dataRef, interactive, axisEncode, children);\n if (spec.zindex) group.zindex = spec.zindex;\n\n // parse axis specification\n return Object(__WEBPACK_IMPORTED_MODULE_9__mark__[\"a\" /* default */])(group, scope);\n});\n\n\n/***/ }),\n/* 916 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constants__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(spec, scope) {\n var config = scope.config,\n orient = spec.orient,\n xy = (orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"u\" /* Top */] || orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"a\" /* Bottom */]) ? config.axisX : config.axisY,\n or = config['axis' + orient[0].toUpperCase() + orient.slice(1)],\n band = scope.scaleType(spec.scale) === 'band' && config.axisBand;\n\n return (xy || or || band)\n ? Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"n\" /* extend */])({}, config.axis, xy, or, band)\n : config.axis;\n});\n\n/***/ }),\n/* 917 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constants__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__guide_mark__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__guide_util__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__marks_marktypes__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__marks_roles__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__encode_encode_util__ = __webpack_require__(16);\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(spec, config, userEncode, dataRef) {\n var orient = spec.orient,\n zero = {value: 0},\n encode, enter, update, u, u2, v;\n\n encode = {\n enter: enter = {\n opacity: zero\n },\n update: update = {\n opacity: {value: 1}\n },\n exit: {\n opacity: zero\n }\n };\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'stroke', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('domainColor', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'strokeWidth', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('domainWidth', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'strokeOpacity', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('domainOpacity', spec, config));\n\n if (orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"u\" /* Top */] || orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"a\" /* Bottom */]) {\n u = 'x';\n v = 'y';\n } else {\n u = 'y';\n v = 'x';\n }\n u2 = u + '2';\n\n enter[v] = zero;\n update[u] = enter[u] = position(spec, 0);\n update[u2] = enter[u2] = position(spec, 1);\n\n return Object(__WEBPACK_IMPORTED_MODULE_1__guide_mark__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_3__marks_marktypes__[\"c\" /* RuleMark */], __WEBPACK_IMPORTED_MODULE_4__marks_roles__[\"a\" /* AxisDomainRole */], null, null, dataRef, encode, userEncode);\n});\n\nfunction position(spec, pos) {\n return {scale: spec.scale, range: pos};\n}\n\n\n/***/ }),\n/* 918 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constants__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__guide_mark__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__guide_util__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__marks_marktypes__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__marks_roles__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__encode_encode_util__ = __webpack_require__(16);\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(spec, config, userEncode, dataRef) {\n var orient = spec.orient,\n vscale = spec.gridScale,\n sign = (orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"k\" /* Left */] || orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"u\" /* Top */]) ? 1 : -1,\n offset = sign * spec.offset || 0,\n zero = {value: 0},\n encode, enter, exit, update, tickPos, u, v, v2, s;\n\n encode = {\n enter: enter = {\n opacity: zero\n },\n update: update = {\n opacity: {value: 1}\n },\n exit: exit = {\n opacity: zero\n }\n };\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'stroke', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('gridColor', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'strokeDash', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('gridDash', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'strokeOpacity', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('gridOpacity', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'strokeWidth', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('gridWidth', spec, config));\n\n tickPos = {\n scale: spec.scale,\n field: __WEBPACK_IMPORTED_MODULE_0__constants__[\"v\" /* Value */],\n band: Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('bandPosition', spec, config),\n round: Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('tickRound', spec, config),\n extra: Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('tickExtra', spec, config),\n offset: Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('tickOffset', spec, config)\n };\n\n if (orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"u\" /* Top */] || orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"a\" /* Bottom */]) {\n u = 'x';\n v = 'y';\n s = 'height';\n } else {\n u = 'y';\n v = 'x';\n s = 'width';\n }\n v2 = v + '2';\n\n update[u] = enter[u] = exit[u] = tickPos;\n\n if (vscale) {\n enter[v] = {scale: vscale, range: 0, mult: sign, offset: offset};\n update[v2] = enter[v2] = {scale: vscale, range: 1, mult: sign, offset: offset};\n } else {\n enter[v] = {value: offset};\n update[v2] = enter[v2] = {signal: s, mult: sign, offset: offset};\n }\n\n return Object(__WEBPACK_IMPORTED_MODULE_1__guide_mark__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_3__marks_marktypes__[\"c\" /* RuleMark */], __WEBPACK_IMPORTED_MODULE_4__marks_roles__[\"b\" /* AxisGridRole */], null, __WEBPACK_IMPORTED_MODULE_0__constants__[\"v\" /* Value */], dataRef, encode, userEncode);\n});\n\n\n/***/ }),\n/* 919 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constants__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__guide_mark__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__guide_util__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__marks_marktypes__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__marks_roles__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__encode_encode_util__ = __webpack_require__(16);\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(spec, config, userEncode, dataRef, size) {\n var orient = spec.orient,\n sign = (orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"k\" /* Left */] || orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"u\" /* Top */]) ? -1 : 1,\n zero = {value: 0},\n encode, enter, exit, update, tickSize, tickPos;\n\n encode = {\n enter: enter = {\n opacity: zero\n },\n update: update = {\n opacity: {value: 1}\n },\n exit: exit = {\n opacity: zero\n }\n };\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'stroke', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('tickColor', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'strokeOpacity', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('tickOpacity', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'strokeWidth', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('tickWidth', spec, config));\n\n tickSize = Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"b\" /* encoder */])(size);\n tickSize.mult = sign;\n\n tickPos = {\n scale: spec.scale,\n field: __WEBPACK_IMPORTED_MODULE_0__constants__[\"v\" /* Value */],\n band: Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('bandPosition', spec, config),\n round: Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('tickRound', spec, config),\n extra: Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('tickExtra', spec, config),\n offset: Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('tickOffset', spec, config)\n };\n\n if (orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"u\" /* Top */] || orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"a\" /* Bottom */]) {\n update.y = enter.y = zero;\n update.y2 = enter.y2 = tickSize;\n update.x = enter.x = exit.x = tickPos;\n } else {\n update.x = enter.x = zero;\n update.x2 = enter.x2 = tickSize;\n update.y = enter.y = exit.y = tickPos;\n }\n\n return Object(__WEBPACK_IMPORTED_MODULE_1__guide_mark__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_3__marks_marktypes__[\"c\" /* RuleMark */], __WEBPACK_IMPORTED_MODULE_4__marks_roles__[\"e\" /* AxisTickRole */], null, __WEBPACK_IMPORTED_MODULE_0__constants__[\"v\" /* Value */], dataRef, encode, userEncode);\n});\n\n\n/***/ }),\n/* 920 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constants__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__guide_mark__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__guide_util__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__marks_marktypes__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__marks_roles__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__encode_encode_util__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__util__ = __webpack_require__(12);\n\n\n\n\n\n\n\n\nfunction flushExpr(scale, threshold, a, b, c) {\n return {\n signal: 'flush(range(\"' + scale + '\"), '\n + 'scale(\"' + scale + '\", datum.value), '\n + threshold + ',' + a + ',' + b + ',' + c + ')'\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(spec, config, userEncode, dataRef, size) {\n var orient = spec.orient,\n sign = (orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"k\" /* Left */] || orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"u\" /* Top */]) ? -1 : 1,\n isXAxis = (orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"u\" /* Top */] || orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"a\" /* Bottom */]),\n scale = spec.scale,\n flush = Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"g\" /* deref */])(Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('labelFlush', spec, config)),\n flushOffset = Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"g\" /* deref */])(Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('labelFlushOffset', spec, config)),\n flushOn = flush === 0 || !!flush,\n labelAlign = Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('labelAlign', spec, config),\n labelBaseline = Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('labelBaseline', spec, config),\n zero = {value: 0},\n encode, enter, tickSize, tickPos, align, baseline, offset, bound, overlap;\n\n tickSize = Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"b\" /* encoder */])(size);\n tickSize.mult = sign;\n tickSize.offset = Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"b\" /* encoder */])(Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('labelPadding', spec, config) || 0);\n tickSize.offset.mult = sign;\n\n tickPos = {\n scale: scale,\n field: __WEBPACK_IMPORTED_MODULE_0__constants__[\"v\" /* Value */],\n band: 0.5,\n offset: Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('tickOffset', spec, config)\n };\n\n if (isXAxis) {\n align = labelAlign || (flushOn\n ? flushExpr(scale, flush, '\"left\"', '\"right\"', '\"center\"')\n : 'center');\n baseline = labelBaseline || (orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"u\" /* Top */] ? 'bottom' : 'top');\n offset = !labelAlign;\n } else {\n\n align = labelAlign || (orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"p\" /* Right */] ? 'left' : 'right');\n baseline = labelBaseline || (flushOn\n ? flushExpr(scale, flush, '\"top\"', '\"bottom\"', '\"middle\"')\n : 'middle');\n offset = !labelBaseline;\n }\n\n offset = offset && flushOn && flushOffset\n ? flushExpr(scale, flush, '-' + flushOffset, flushOffset, 0)\n : null;\n\n encode = {\n enter: enter = {\n opacity: zero,\n x: isXAxis ? tickPos : tickSize,\n y: isXAxis ? tickSize : tickPos\n },\n update: {\n opacity: {value: 1},\n text: {field: __WEBPACK_IMPORTED_MODULE_0__constants__[\"j\" /* Label */]},\n x: enter.x,\n y: enter.y\n },\n exit: {\n opacity: zero,\n x: enter.x,\n y: enter.y\n }\n };\n\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, isXAxis ? 'dx' : 'dy', offset);\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'align', align);\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'baseline', baseline);\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'angle', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('labelAngle', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'fill', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('labelColor', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'font', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('labelFont', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'fontSize', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('labelFontSize', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'fontWeight', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('labelFontWeight', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'limit', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('labelLimit', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_5__encode_encode_util__[\"a\" /* addEncode */])(encode, 'fillOpacity', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('labelOpacity', spec, config));\n bound = Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('labelBound', spec, config);\n overlap = Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('labelOverlap', spec, config);\n\n spec = Object(__WEBPACK_IMPORTED_MODULE_1__guide_mark__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_3__marks_marktypes__[\"e\" /* TextMark */], __WEBPACK_IMPORTED_MODULE_4__marks_roles__[\"c\" /* AxisLabelRole */], __WEBPACK_IMPORTED_MODULE_0__constants__[\"g\" /* GuideLabelStyle */], __WEBPACK_IMPORTED_MODULE_0__constants__[\"v\" /* Value */], dataRef, encode, userEncode);\n\n // if overlap method or bound defined, request label overlap removal\n if (overlap || bound) {\n spec.overlap = {\n method: overlap,\n order: 'datum.index',\n bound: bound ? {scale: scale, orient: orient, tolerance: bound} : null\n };\n }\n\n return spec;\n});\n\n\n/***/ }),\n/* 921 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__constants__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__guide_mark__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__guide_util__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__encode_encode_util__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__marks_marktypes__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__marks_roles__ = __webpack_require__(14);\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(spec, config, userEncode, dataRef) {\n var orient = spec.orient,\n sign = (orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"k\" /* Left */] || orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"u\" /* Top */]) ? -1 : 1,\n horizontal = (orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"u\" /* Top */] || orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"a\" /* Bottom */]),\n zero = {value: 0},\n encode, enter, update, titlePos;\n\n encode = {\n enter: enter = {\n opacity: zero\n },\n update: update = {\n opacity: {value: 1},\n text: Object(__WEBPACK_IMPORTED_MODULE_3__encode_encode_util__[\"b\" /* encoder */])(spec.title)\n },\n exit: {\n opacity: zero\n }\n };\n\n titlePos = {\n scale: spec.scale,\n range: 0.5\n };\n\n if (horizontal) {\n update.x = titlePos;\n enter.angle = {value: 0};\n enter.baseline = {value: orient === __WEBPACK_IMPORTED_MODULE_0__constants__[\"u\" /* Top */] ? 'bottom' : 'top'};\n } else {\n update.y = titlePos;\n enter.angle = {value: sign * 90};\n enter.baseline = {value: 'bottom'};\n }\n\n Object(__WEBPACK_IMPORTED_MODULE_3__encode_encode_util__[\"a\" /* addEncode */])(encode, 'align', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('titleAlign', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_3__encode_encode_util__[\"a\" /* addEncode */])(encode, 'angle', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('titleAngle', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_3__encode_encode_util__[\"a\" /* addEncode */])(encode, 'baseline', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('titleBaseline', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_3__encode_encode_util__[\"a\" /* addEncode */])(encode, 'fill', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('titleColor', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_3__encode_encode_util__[\"a\" /* addEncode */])(encode, 'font', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('titleFont', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_3__encode_encode_util__[\"a\" /* addEncode */])(encode, 'fontSize', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('titleFontSize', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_3__encode_encode_util__[\"a\" /* addEncode */])(encode, 'fontWeight', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('titleFontWeight', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_3__encode_encode_util__[\"a\" /* addEncode */])(encode, 'limit', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('titleLimit', spec, config));\n Object(__WEBPACK_IMPORTED_MODULE_3__encode_encode_util__[\"a\" /* addEncode */])(encode, 'fillOpacity', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('titleOpacity', spec, config));\n\n !Object(__WEBPACK_IMPORTED_MODULE_3__encode_encode_util__[\"a\" /* addEncode */])(encode, 'x', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('titleX', spec, config), 'update')\n && horizontal && !Object(__WEBPACK_IMPORTED_MODULE_3__encode_encode_util__[\"e\" /* has */])('x', userEncode)\n && (encode.enter.auto = {value: true});\n\n !Object(__WEBPACK_IMPORTED_MODULE_3__encode_encode_util__[\"a\" /* addEncode */])(encode, 'y', Object(__WEBPACK_IMPORTED_MODULE_2__guide_util__[\"g\" /* lookup */])('titleY', spec, config), 'update')\n && !horizontal && !Object(__WEBPACK_IMPORTED_MODULE_3__encode_encode_util__[\"e\" /* has */])('y', userEncode)\n && (encode.enter.auto = {value: true});\n\n return Object(__WEBPACK_IMPORTED_MODULE_1__guide_mark__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_4__marks_marktypes__[\"e\" /* TextMark */], __WEBPACK_IMPORTED_MODULE_5__marks_roles__[\"f\" /* AxisTitleRole */], __WEBPACK_IMPORTED_MODULE_0__constants__[\"h\" /* GuideTitleStyle */], null, dataRef, encode, userEncode);\n});\n\n\n/***/ }),\n/* 922 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = parseOperatorParameters;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__expression__ = __webpack_require__(83);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__parameters__ = __webpack_require__(368);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(369);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vega_util__ = __webpack_require__(0);\n\n\n\n\n\n/**\n * Parse a dataflow operator.\n */\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(spec, ctx) {\n if (Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"c\" /* isOperator */])(spec.type) || !spec.type) {\n ctx.operator(spec,\n spec.update ? Object(__WEBPACK_IMPORTED_MODULE_0__expression__[\"d\" /* operatorExpression */])(spec.update, ctx) : null);\n } else {\n ctx.transform(spec, spec.type);\n }\n});\n\n/**\n * Parse and assign operator parameters.\n */\nfunction parseOperatorParameters(spec, ctx) {\n var op, params;\n if (spec.params) {\n if (!(op = ctx.get(spec.id))) {\n Object(__WEBPACK_IMPORTED_MODULE_3_vega_util__[\"m\" /* error */])('Invalid operator id: ' + spec.id);\n }\n params = Object(__WEBPACK_IMPORTED_MODULE_1__parameters__[\"a\" /* default */])(spec.params, ctx);\n ctx.dataflow.connect(op, op.parameters(params));\n }\n}\n\n\n/***/ }),\n/* 923 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__expression__ = __webpack_require__(83);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Parse an event stream specification.\n */\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(spec, ctx) {\n var filter = spec.filter != null ? Object(__WEBPACK_IMPORTED_MODULE_0__expression__[\"b\" /* eventExpression */])(spec.filter, ctx) : undefined,\n stream = spec.stream != null ? ctx.get(spec.stream) : undefined,\n args;\n\n if (spec.source) {\n stream = ctx.events(spec.source, spec.type, filter);\n }\n else if (spec.merge) {\n args = spec.merge.map(ctx.get.bind(ctx));\n stream = args[0].merge.apply(args[0], args.slice(1));\n }\n\n if (spec.between) {\n args = spec.between.map(ctx.get.bind(ctx));\n stream = stream.between(args[0], args[1]);\n }\n\n if (spec.filter) {\n stream = stream.filter(filter);\n }\n\n if (spec.throttle != null) {\n stream = stream.throttle(+spec.throttle);\n }\n\n if (spec.debounce != null) {\n stream = stream.debounce(+spec.debounce);\n }\n\n if (stream == null) {\n Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"m\" /* error */])('Invalid stream definition: ' + JSON.stringify(spec));\n }\n\n if (spec.consume) stream.consume(true);\n\n ctx.stream(spec, stream);\n});\n\n\n/***/ }),\n/* 924 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__expression__ = __webpack_require__(83);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__parameters__ = __webpack_require__(368);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vega_util__ = __webpack_require__(0);\n\n\n\n\n/**\n * Parse an event-driven operator update.\n */\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(spec, ctx) {\n var srcid = Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"A\" /* isObject */])(srcid = spec.source) ? srcid.$ref : srcid,\n source = ctx.get(srcid),\n target = null,\n update = spec.update,\n params = undefined;\n\n if (!source) Object(__WEBPACK_IMPORTED_MODULE_2_vega_util__[\"m\" /* error */])('Source not defined: ' + spec.source);\n\n if (spec.target && spec.target.$expr) {\n target = Object(__WEBPACK_IMPORTED_MODULE_0__expression__[\"b\" /* eventExpression */])(spec.target.$expr, ctx);\n } else {\n target = ctx.get(spec.target);\n }\n\n if (update && update.$expr) {\n if (update.$params) {\n params = Object(__WEBPACK_IMPORTED_MODULE_1__parameters__[\"a\" /* default */])(update.$params, ctx);\n }\n update = Object(__WEBPACK_IMPORTED_MODULE_0__expression__[\"c\" /* handlerExpression */])(update.$expr, ctx);\n }\n\n ctx.update(spec, source, target, update, params);\n});\n\n\n/***/ }),\n/* 925 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__state__ = __webpack_require__(926);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(369);\n\n\n\n/**\n * Context objects store the current parse state.\n * Enables lookup of parsed operators, event streams, accessors, etc.\n * Provides a 'fork' method for creating child contexts for subflows.\n */\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(df, transforms, functions) {\n return new Context(df, transforms, functions);\n});\n\nfunction Context(df, transforms, functions) {\n this.dataflow = df;\n this.transforms = transforms;\n this.events = df.events.bind(df);\n this.signals = {};\n this.scales = {};\n this.nodes = {};\n this.data = {};\n this.fn = {};\n if (functions) {\n this.functions = Object.create(functions);\n this.functions.context = this;\n }\n}\n\nfunction ContextFork(ctx) {\n this.dataflow = ctx.dataflow;\n this.transforms = ctx.transforms;\n this.functions = ctx.functions;\n this.events = ctx.events;\n this.signals = Object.create(ctx.signals);\n this.scales = Object.create(ctx.scales);\n this.nodes = Object.create(ctx.nodes);\n this.data = Object.create(ctx.data);\n this.fn = Object.create(ctx.fn);\n if (ctx.functions) {\n this.functions = Object.create(ctx.functions);\n this.functions.context = this;\n }\n}\n\nContext.prototype = ContextFork.prototype = {\n fork: function() {\n var ctx = new ContextFork(this);\n (this.subcontext || (this.subcontext = [])).push(ctx);\n return ctx;\n },\n get: function(id) {\n return this.nodes[id];\n },\n set: function(id, node) {\n return this.nodes[id] = node;\n },\n add: function(spec, op) {\n var ctx = this,\n df = ctx.dataflow,\n data;\n\n ctx.set(spec.id, op);\n\n if (Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"b\" /* isCollect */])(spec.type) && (data = spec.value)) {\n if (data.$ingest) {\n df.ingest(op, data.$ingest, data.$format);\n } else if (data.$load) {\n ctx.get(data.$load.$ref).target = op;\n } else if (data.$request) {\n df.request(op, data.$request, data.$format);\n } else {\n df.pulse(op, df.changeset().insert(data));\n }\n }\n\n if (spec.root) {\n ctx.root = op;\n }\n\n if (spec.parent) {\n var p = ctx.get(spec.parent.$ref);\n if (p) {\n df.connect(p, [op]);\n op.targets().add(p);\n } else {\n (ctx.unresolved = ctx.unresolved || []).push(function() {\n p = ctx.get(spec.parent.$ref);\n df.connect(p, [op]);\n op.targets().add(p);\n });\n }\n }\n\n if (spec.signal) {\n ctx.signals[spec.signal] = op;\n }\n\n if (spec.scale) {\n ctx.scales[spec.scale] = op;\n }\n\n if (spec.data) {\n for (var name in spec.data) {\n data = ctx.data[name] || (ctx.data[name] = {});\n spec.data[name].forEach(function(role) { data[role] = op; });\n }\n }\n },\n resolve: function() {\n (this.unresolved || []).forEach(function(fn) { fn(); });\n delete this.unresolved;\n return this;\n },\n operator: function(spec, update, params) {\n this.add(spec, this.dataflow.add(spec.value, update, params, spec.react));\n },\n transform: function(spec, type, params) {\n this.add(spec, this.dataflow.add(this.transforms[Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"a\" /* canonicalType */])(type)], params));\n },\n stream: function(spec, stream) {\n this.set(spec.id, stream);\n },\n update: function(spec, stream, target, update, params) {\n this.dataflow.on(stream, target, update, params, spec.options);\n },\n getState: __WEBPACK_IMPORTED_MODULE_0__state__[\"a\" /* getState */],\n setState: __WEBPACK_IMPORTED_MODULE_0__state__[\"b\" /* setState */]\n};\n\n\n/***/ }),\n/* 926 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = getState;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = setState;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n\n\nvar SKIP = {skip: true};\n\nfunction getState(options) {\n var ctx = this,\n state = {};\n\n if (options.signals) {\n var signals = (state.signals = {});\n Object.keys(ctx.signals).forEach(function(key) {\n var op = ctx.signals[key];\n if (options.signals(key, op)) {\n signals[key] = op.value;\n }\n });\n }\n\n if (options.data) {\n var data = (state.data = {});\n Object.keys(ctx.data).forEach(function(key) {\n var dataset = ctx.data[key];\n if (options.data(key, dataset)) {\n data[key] = dataset.input.value;\n }\n });\n }\n\n if (ctx.subcontext && options.recurse !== false) {\n state.subcontext = ctx.subcontext.map(function(ctx) {\n return ctx.getState(options);\n });\n }\n\n return state;\n}\n\nfunction setState(state) {\n var ctx = this,\n df = ctx.dataflow,\n data = state.data,\n signals = state.signals;\n\n Object.keys(signals || {}).forEach(function(key) {\n df.update(ctx.signals[key], signals[key], SKIP);\n });\n\n Object.keys(data || {}).forEach(function(key) {\n df.pulse(\n ctx.data[key].input,\n df.changeset().remove(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"V\" /* truthy */]).insert(data[key])\n );\n });\n\n (state.subcontext || []).forEach(function(substate, i) {\n var subctx = ctx.subcontext[i];\n if (subctx) subctx.setState(substate);\n });\n}\n\n\n/***/ }),\n/* 927 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = scale;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n\n\nfunction scale(name) {\n var scales = this._runtime.scales;\n if (!scales.hasOwnProperty(name)) {\n Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"m\" /* error */])('Unrecognized scale or projection: ' + name);\n }\n return scales[name].value;\n}\n\n\n/***/ }),\n/* 928 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = viewWidth;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = viewHeight;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = initializeResize;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = resizeView;\nvar Width = 'width',\n Height = 'height',\n Padding = 'padding',\n Skip = {skip: true};\n\nfunction viewWidth(view, width) {\n var a = view.autosize(),\n p = view.padding();\n return width - (a && a.contains === Padding ? p.left + p.right : 0);\n}\n\nfunction viewHeight(view, height) {\n var a = view.autosize(),\n p = view.padding();\n return height - (a && a.contains === Padding ? p.top + p.bottom : 0);\n}\n\nfunction initializeResize(view) {\n var s = view._signals,\n w = s[Width],\n h = s[Height],\n p = s[Padding];\n\n function resetSize() {\n view._autosize = view._resize = 1;\n }\n\n // respond to width signal\n view._resizeWidth = view.add(null,\n function(_) {\n view._width = _.size;\n view._viewWidth = viewWidth(view, _.size);\n resetSize();\n },\n {size: w}\n );\n\n // respond to height signal\n view._resizeHeight = view.add(null,\n function(_) {\n view._height = _.size;\n view._viewHeight = viewHeight(view, _.size);\n resetSize();\n },\n {size: h}\n );\n\n // respond to padding signal\n var resizePadding = view.add(null, resetSize, {pad: p});\n\n // set rank to run immediately after source signal\n view._resizeWidth.rank = w.rank + 1;\n view._resizeHeight.rank = h.rank + 1;\n resizePadding.rank = p.rank + 1;\n}\n\nfunction resizeView(viewWidth, viewHeight, width, height, origin, auto) {\n this.runAfter(function(view) {\n var rerun = 0;\n\n // reset autosize flag\n view._autosize = 0;\n\n // width value changed: update signal, skip resize op\n if (view.width() !== width) {\n rerun = 1;\n view.signal(Width, width, Skip); // set width, skip update calc\n view._resizeWidth.skip(true); // skip width resize handler\n }\n\n // height value changed: update signal, skip resize op\n if (view.height() !== height) {\n rerun = 1;\n view.signal(Height, height, Skip); // set height, skip update calc\n view._resizeHeight.skip(true); // skip height resize handler\n }\n\n // view width changed: update view property, set resize flag\n if (view._viewWidth !== viewWidth) {\n view._resize = 1;\n view._viewWidth = viewWidth;\n }\n\n // view height changed: update view property, set resize flag\n if (view._viewHeight !== viewHeight) {\n view._resize = 1;\n view._viewHeight = viewHeight;\n }\n\n // origin changed: update view property, set resize flag\n if (view._origin[0] !== origin[0] || view._origin[1] !== origin[1]) {\n view._resize = 1;\n view._origin = origin;\n }\n\n // run dataflow on width/height signal change\n if (rerun) view.run('enter');\n if (auto) view.runAfter(function() { view.resize(); });\n }, false, 1);\n}\n\n\n/***/ }),\n/* 929 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = getState;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = setState;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n\n\n\n/**\n * Get the current view state, consisting of signal values and/or data sets.\n * @param {object} [options] - Options flags indicating which state to export.\n * If unspecified, all signals and data sets will be exported.\n * @param {function(string, Operator):boolean} [options.signals] - Optional\n * predicate function for testing if a signal should be included in the\n * exported state. If unspecified, all signals will be included, except for\n * those named 'parent' or those which refer to a Transform value.\n * @param {function(string, object):boolean} [options.data] - Optional\n * predicate function for testing if a data set's input should be included\n * in the exported state. If unspecified, all data sets that have been\n * explicitly modified will be included.\n * @param {boolean} [options.recurse=true] - Flag indicating if the exported\n * state should recursively include state from group mark sub-contexts.\n * @return {object} - An object containing the exported state values.\n */\nfunction getState(options) {\n return this._runtime.getState(options || {\n data: dataTest,\n signals: signalTest,\n recurse: true\n });\n}\n\nfunction dataTest(name, data) {\n return data.modified\n && Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(data.input.value)\n && name.indexOf('_:vega:_');\n}\n\nfunction signalTest(name, op) {\n return !(name === 'parent' || op instanceof __WEBPACK_IMPORTED_MODULE_0_vega_dataflow__[\"q\" /* transforms */].proxy);\n}\n\n/**\n * Sets the current view state and updates the view by invoking run.\n * @param {object} state - A state object containing signal and/or\n * data set values, following the format used by the getState method.\n * @return {View} - This view instance.\n */\nfunction setState(state) {\n var view = this;\n view.runAfter(function() {\n view._trigger = false;\n view._runtime.setState(state);\n view.run().runAfter(function() { view._trigger = true; });\n });\n return this;\n}\n\n\n/***/ }),\n/* 930 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_d3_timer__ = __webpack_require__(336);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(callback, delay) {\n function tick(elapsed) {\n callback({timestamp: Date.now(), elapsed: elapsed});\n }\n this._timers.push(Object(__WEBPACK_IMPORTED_MODULE_0_d3_timer__[\"a\" /* interval */])(tick, delay));\n});\n\n\n/***/ }),\n/* 931 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function(handler, event, item, value) {\n var el = handler.element();\n if (el) el.setAttribute('title', formatTooltip(value));\n});\n\nfunction formatTooltip(value) {\n return value == null ? ''\n : Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"v\" /* isArray */])(value) ? formatArray(value)\n : Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"A\" /* isObject */])(value) && !Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"x\" /* isDate */])(value) ? formatObject(value)\n : value + '';\n}\n\nfunction formatObject(obj) {\n return Object.keys(obj).map(function(key) {\n var v = obj[key];\n return key + ': ' + (Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"v\" /* isArray */])(v) ? formatArray(v) : formatValue(v));\n }).join('\\n');\n}\n\nfunction formatArray(value) {\n return '[' + value.map(formatValue).join(', ') + ']';\n}\n\nfunction formatValue(value) {\n return Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"v\" /* isArray */])(value) ? '[\\u2026]'\n : Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"A\" /* isObject */])(value) && !Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"x\" /* isDate */])(value) ? '{\\u2026}'\n : value;\n}\n\n\n/***/ }),\n/* 932 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"version\", function() { return version; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__aggregate__ = __webpack_require__(84);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__axis__ = __webpack_require__(198);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__bin__ = __webpack_require__(85);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__compositemark__ = __webpack_require__(127);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__compile_compile__ = __webpack_require__(939);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"compile\", function() { return __WEBPACK_IMPORTED_MODULE_5__compile_compile__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__config__ = __webpack_require__(371);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__data__ = __webpack_require__(45);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__datetime__ = __webpack_require__(128);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__encoding__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__facet__ = __webpack_require__(978);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__facet___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10__facet__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__header__ = __webpack_require__(377);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__legend__ = __webpack_require__(199);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__mark__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__scale__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__sort__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__spec__ = __webpack_require__(61);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__stack__ = __webpack_require__(201);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__timeunit__ = __webpack_require__(86);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__transform__ = __webpack_require__(202);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__type__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__validate__ = __webpack_require__(979);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__package_json__ = __webpack_require__(980);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__package_json___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_24__package_json__);\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"aggregate\", function() { return __WEBPACK_IMPORTED_MODULE_0__aggregate__; });\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"axis\", function() { return __WEBPACK_IMPORTED_MODULE_1__axis__; });\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"bin\", function() { return __WEBPACK_IMPORTED_MODULE_2__bin__; });\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"channel\", function() { return __WEBPACK_IMPORTED_MODULE_3__channel__; });\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"compositeMark\", function() { return __WEBPACK_IMPORTED_MODULE_4__compositemark__; });\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"config\", function() { return __WEBPACK_IMPORTED_MODULE_6__config__; });\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"data\", function() { return __WEBPACK_IMPORTED_MODULE_7__data__; });\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"datetime\", function() { return __WEBPACK_IMPORTED_MODULE_8__datetime__; });\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"encoding\", function() { return __WEBPACK_IMPORTED_MODULE_9__encoding__; });\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"facet\", function() { return __WEBPACK_IMPORTED_MODULE_10__facet__; });\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"fieldDef\", function() { return __WEBPACK_IMPORTED_MODULE_11__fielddef__; });\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"header\", function() { return __WEBPACK_IMPORTED_MODULE_12__header__; });\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"legend\", function() { return __WEBPACK_IMPORTED_MODULE_13__legend__; });\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"mark\", function() { return __WEBPACK_IMPORTED_MODULE_14__mark__; });\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"scale\", function() { return __WEBPACK_IMPORTED_MODULE_15__scale__; });\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"sort\", function() { return __WEBPACK_IMPORTED_MODULE_16__sort__; });\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"spec\", function() { return __WEBPACK_IMPORTED_MODULE_17__spec__; });\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"stack\", function() { return __WEBPACK_IMPORTED_MODULE_18__stack__; });\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"timeUnit\", function() { return __WEBPACK_IMPORTED_MODULE_19__timeunit__; });\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"transform\", function() { return __WEBPACK_IMPORTED_MODULE_20__transform__; });\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"type\", function() { return __WEBPACK_IMPORTED_MODULE_21__type__; });\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"util\", function() { return __WEBPACK_IMPORTED_MODULE_22__util__; });\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"validate\", function() { return __WEBPACK_IMPORTED_MODULE_23__validate__; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar version = __WEBPACK_IMPORTED_MODULE_24__package_json___default.a.version;\n\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 933 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar json = typeof JSON !== 'undefined' ? JSON : __webpack_require__(934);\n\nmodule.exports = function (obj, opts) {\n if (!opts) opts = {};\n if (typeof opts === 'function') opts = { cmp: opts };\n var space = opts.space || '';\n if (typeof space === 'number') space = Array(space+1).join(' ');\n var cycles = (typeof opts.cycles === 'boolean') ? opts.cycles : false;\n var replacer = opts.replacer || function(key, value) { return value; };\n\n var cmp = opts.cmp && (function (f) {\n return function (node) {\n return function (a, b) {\n var aobj = { key: a, value: node[a] };\n var bobj = { key: b, value: node[b] };\n return f(aobj, bobj);\n };\n };\n })(opts.cmp);\n\n var seen = [];\n return (function stringify (parent, key, node, level) {\n var indent = space ? ('\\n' + new Array(level + 1).join(space)) : '';\n var colonSeparator = space ? ': ' : ':';\n\n if (node && node.toJSON && typeof node.toJSON === 'function') {\n node = node.toJSON();\n }\n\n node = replacer.call(parent, key, node);\n\n if (node === undefined) {\n return;\n }\n if (typeof node !== 'object' || node === null) {\n return json.stringify(node);\n }\n if (isArray(node)) {\n var out = [];\n for (var i = 0; i < node.length; i++) {\n var item = stringify(node, i, node[i], level+1) || json.stringify(null);\n out.push(indent + space + item);\n }\n return '[' + out.join(',') + indent + ']';\n }\n else {\n if (seen.indexOf(node) !== -1) {\n if (cycles) return json.stringify('__cycle__');\n throw new TypeError('Converting circular structure to JSON');\n }\n else seen.push(node);\n\n var keys = objectKeys(node).sort(cmp && cmp(node));\n var out = [];\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var value = stringify(node, key, node[key], level+1);\n\n if(!value) continue;\n\n var keyValue = json.stringify(key)\n + colonSeparator\n + value;\n ;\n out.push(indent + space + keyValue);\n }\n seen.splice(seen.indexOf(node), 1);\n return '{' + out.join(',') + indent + '}';\n }\n })({ '': obj }, '', obj, 0);\n};\n\nvar isArray = Array.isArray || function (x) {\n return {}.toString.call(x) === '[object Array]';\n};\n\nvar objectKeys = Object.keys || function (obj) {\n var has = Object.prototype.hasOwnProperty || function () { return true };\n var keys = [];\n for (var key in obj) {\n if (has.call(obj, key)) keys.push(key);\n }\n return keys;\n};\n\n\n/***/ }),\n/* 934 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.parse = __webpack_require__(935);\nexports.stringify = __webpack_require__(936);\n\n\n/***/ }),\n/* 935 */\n/***/ (function(module, exports) {\n\nvar at, // The index of the current character\n ch, // The current character\n escapee = {\n '\"': '\"',\n '\\\\': '\\\\',\n '/': '/',\n b: '\\b',\n f: '\\f',\n n: '\\n',\n r: '\\r',\n t: '\\t'\n },\n text,\n\n error = function (m) {\n // Call error when something is wrong.\n throw {\n name: 'SyntaxError',\n message: m,\n at: at,\n text: text\n };\n },\n \n next = function (c) {\n // If a c parameter is provided, verify that it matches the current character.\n if (c && c !== ch) {\n error(\"Expected '\" + c + \"' instead of '\" + ch + \"'\");\n }\n \n // Get the next character. When there are no more characters,\n // return the empty string.\n \n ch = text.charAt(at);\n at += 1;\n return ch;\n },\n \n number = function () {\n // Parse a number value.\n var number,\n string = '';\n \n if (ch === '-') {\n string = '-';\n next('-');\n }\n while (ch >= '0' && ch <= '9') {\n string += ch;\n next();\n }\n if (ch === '.') {\n string += '.';\n while (next() && ch >= '0' && ch <= '9') {\n string += ch;\n }\n }\n if (ch === 'e' || ch === 'E') {\n string += ch;\n next();\n if (ch === '-' || ch === '+') {\n string += ch;\n next();\n }\n while (ch >= '0' && ch <= '9') {\n string += ch;\n next();\n }\n }\n number = +string;\n if (!isFinite(number)) {\n error(\"Bad number\");\n } else {\n return number;\n }\n },\n \n string = function () {\n // Parse a string value.\n var hex,\n i,\n string = '',\n uffff;\n \n // When parsing for string values, we must look for \" and \\ characters.\n if (ch === '\"') {\n while (next()) {\n if (ch === '\"') {\n next();\n return string;\n } else if (ch === '\\\\') {\n next();\n if (ch === 'u') {\n uffff = 0;\n for (i = 0; i < 4; i += 1) {\n hex = parseInt(next(), 16);\n if (!isFinite(hex)) {\n break;\n }\n uffff = uffff * 16 + hex;\n }\n string += String.fromCharCode(uffff);\n } else if (typeof escapee[ch] === 'string') {\n string += escapee[ch];\n } else {\n break;\n }\n } else {\n string += ch;\n }\n }\n }\n error(\"Bad string\");\n },\n\n white = function () {\n\n// Skip whitespace.\n\n while (ch && ch <= ' ') {\n next();\n }\n },\n\n word = function () {\n\n// true, false, or null.\n\n switch (ch) {\n case 't':\n next('t');\n next('r');\n next('u');\n next('e');\n return true;\n case 'f':\n next('f');\n next('a');\n next('l');\n next('s');\n next('e');\n return false;\n case 'n':\n next('n');\n next('u');\n next('l');\n next('l');\n return null;\n }\n error(\"Unexpected '\" + ch + \"'\");\n },\n\n value, // Place holder for the value function.\n\n array = function () {\n\n// Parse an array value.\n\n var array = [];\n\n if (ch === '[') {\n next('[');\n white();\n if (ch === ']') {\n next(']');\n return array; // empty array\n }\n while (ch) {\n array.push(value());\n white();\n if (ch === ']') {\n next(']');\n return array;\n }\n next(',');\n white();\n }\n }\n error(\"Bad array\");\n },\n\n object = function () {\n\n// Parse an object value.\n\n var key,\n object = {};\n\n if (ch === '{') {\n next('{');\n white();\n if (ch === '}') {\n next('}');\n return object; // empty object\n }\n while (ch) {\n key = string();\n white();\n next(':');\n if (Object.hasOwnProperty.call(object, key)) {\n error('Duplicate key \"' + key + '\"');\n }\n object[key] = value();\n white();\n if (ch === '}') {\n next('}');\n return object;\n }\n next(',');\n white();\n }\n }\n error(\"Bad object\");\n };\n\nvalue = function () {\n\n// Parse a JSON value. It could be an object, an array, a string, a number,\n// or a word.\n\n white();\n switch (ch) {\n case '{':\n return object();\n case '[':\n return array();\n case '\"':\n return string();\n case '-':\n return number();\n default:\n return ch >= '0' && ch <= '9' ? number() : word();\n }\n};\n\n// Return the json_parse function. It will have access to all of the above\n// functions and variables.\n\nmodule.exports = function (source, reviver) {\n var result;\n \n text = source;\n at = 0;\n ch = ' ';\n result = value();\n white();\n if (ch) {\n error(\"Syntax error\");\n }\n\n // If there is a reviver function, we recursively walk the new structure,\n // passing each name/value pair to the reviver function for possible\n // transformation, starting with a temporary root object that holds the result\n // in an empty key. If there is not a reviver function, we simply return the\n // result.\n\n return typeof reviver === 'function' ? (function walk(holder, key) {\n var k, v, value = holder[key];\n if (value && typeof value === 'object') {\n for (k in value) {\n if (Object.prototype.hasOwnProperty.call(value, k)) {\n v = walk(value, k);\n if (v !== undefined) {\n value[k] = v;\n } else {\n delete value[k];\n }\n }\n }\n }\n return reviver.call(holder, key, value);\n }({'': result}, '')) : result;\n};\n\n\n/***/ }),\n/* 936 */\n/***/ (function(module, exports) {\n\nvar cx = /[\\u0000\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g,\n escapable = /[\\\\\\\"\\x00-\\x1f\\x7f-\\x9f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g,\n gap,\n indent,\n meta = { // table of character substitutions\n '\\b': '\\\\b',\n '\\t': '\\\\t',\n '\\n': '\\\\n',\n '\\f': '\\\\f',\n '\\r': '\\\\r',\n '\"' : '\\\\\"',\n '\\\\': '\\\\\\\\'\n },\n rep;\n\nfunction quote(string) {\n // If the string contains no control characters, no quote characters, and no\n // backslash characters, then we can safely slap some quotes around it.\n // Otherwise we must also replace the offending characters with safe escape\n // sequences.\n \n escapable.lastIndex = 0;\n return escapable.test(string) ? '\"' + string.replace(escapable, function (a) {\n var c = meta[a];\n return typeof c === 'string' ? c :\n '\\\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);\n }) + '\"' : '\"' + string + '\"';\n}\n\nfunction str(key, holder) {\n // Produce a string from holder[key].\n var i, // The loop counter.\n k, // The member key.\n v, // The member value.\n length,\n mind = gap,\n partial,\n value = holder[key];\n \n // If the value has a toJSON method, call it to obtain a replacement value.\n if (value && typeof value === 'object' &&\n typeof value.toJSON === 'function') {\n value = value.toJSON(key);\n }\n \n // If we were called with a replacer function, then call the replacer to\n // obtain a replacement value.\n if (typeof rep === 'function') {\n value = rep.call(holder, key, value);\n }\n \n // What happens next depends on the value's type.\n switch (typeof value) {\n case 'string':\n return quote(value);\n \n case 'number':\n // JSON numbers must be finite. Encode non-finite numbers as null.\n return isFinite(value) ? String(value) : 'null';\n \n case 'boolean':\n case 'null':\n // If the value is a boolean or null, convert it to a string. Note:\n // typeof null does not produce 'null'. The case is included here in\n // the remote chance that this gets fixed someday.\n return String(value);\n \n case 'object':\n if (!value) return 'null';\n gap += indent;\n partial = [];\n \n // Array.isArray\n if (Object.prototype.toString.apply(value) === '[object Array]') {\n length = value.length;\n for (i = 0; i < length; i += 1) {\n partial[i] = str(i, value) || 'null';\n }\n \n // Join all of the elements together, separated with commas, and\n // wrap them in brackets.\n v = partial.length === 0 ? '[]' : gap ?\n '[\\n' + gap + partial.join(',\\n' + gap) + '\\n' + mind + ']' :\n '[' + partial.join(',') + ']';\n gap = mind;\n return v;\n }\n \n // If the replacer is an array, use it to select the members to be\n // stringified.\n if (rep && typeof rep === 'object') {\n length = rep.length;\n for (i = 0; i < length; i += 1) {\n k = rep[i];\n if (typeof k === 'string') {\n v = str(k, value);\n if (v) {\n partial.push(quote(k) + (gap ? ': ' : ':') + v);\n }\n }\n }\n }\n else {\n // Otherwise, iterate through all of the keys in the object.\n for (k in value) {\n if (Object.prototype.hasOwnProperty.call(value, k)) {\n v = str(k, value);\n if (v) {\n partial.push(quote(k) + (gap ? ': ' : ':') + v);\n }\n }\n }\n }\n \n // Join all of the member texts together, separated with commas,\n // and wrap them in braces.\n\n v = partial.length === 0 ? '{}' : gap ?\n '{\\n' + gap + partial.join(',\\n' + gap) + '\\n' + mind + '}' :\n '{' + partial.join(',') + '}';\n gap = mind;\n return v;\n }\n}\n\nmodule.exports = function (value, replacer, space) {\n var i;\n gap = '';\n indent = '';\n \n // If the space parameter is a number, make an indent string containing that\n // many spaces.\n if (typeof space === 'number') {\n for (i = 0; i < space; i += 1) {\n indent += ' ';\n }\n }\n // If the space parameter is a string, it will be used as the indent string.\n else if (typeof space === 'string') {\n indent = space;\n }\n\n // If there is a replacer, it must be a function or an array.\n // Otherwise, throw an error.\n rep = replacer;\n if (replacer && typeof replacer !== 'function'\n && (typeof replacer !== 'object' || typeof replacer.length !== 'number')) {\n throw new Error('JSON.stringify');\n }\n \n // Make a fake root object containing our value under the key of ''.\n // Return the result of stringifying the value.\n return str('', {'': value});\n};\n\n\n/***/ }),\n/* 937 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = getMarkSpecificConfigMixins;\nfunction getMarkSpecificConfigMixins(markSpecificConfig, channel) {\n var _a;\n var value = markSpecificConfig[channel];\n return value !== undefined ? (_a = {}, _a[channel] = { value: value }, _a) : {};\n}\n//# sourceMappingURL=common.js.map\n\n/***/ }),\n/* 938 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ERRORBAR; });\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = normalizeErrorBar;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n\nvar ERRORBAR = 'error-bar';\nfunction normalizeErrorBar(spec) {\n // TODO: use selection\n var _m = spec.mark, _sel = spec.selection, _p = spec.projection, encoding = spec.encoding, outerSpec = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"e\" /* __rest */](spec, [\"mark\", \"selection\", \"projection\", \"encoding\"]);\n var _s = encoding.size, encodingWithoutSize = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"e\" /* __rest */](encoding, [\"size\"]);\n var _x2 = encoding.x2, _y2 = encoding.y2, encodingWithoutX2Y2 = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"e\" /* __rest */](encoding, [\"x2\", \"y2\"]);\n var _x = encodingWithoutX2Y2.x, _y = encodingWithoutX2Y2.y, encodingWithoutX_X2_Y_Y2 = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"e\" /* __rest */](encodingWithoutX2Y2, [\"x\", \"y\"]);\n if (!encoding.x2 && !encoding.y2) {\n throw new Error('Neither x2 or y2 provided');\n }\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, outerSpec, { layer: [\n {\n mark: 'rule',\n encoding: encodingWithoutSize\n }, {\n mark: 'tick',\n encoding: encodingWithoutX2Y2\n }, {\n mark: 'tick',\n encoding: encoding.x2 ? __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ x: encoding.x2, y: encoding.y }, encodingWithoutX_X2_Y_Y2) : __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ x: encoding.x, y: encoding.y2 }, encodingWithoutX_X2_Y_Y2)\n }\n ] });\n}\n//# sourceMappingURL=errorbar.js.map\n\n/***/ }),\n/* 939 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = compile;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__config__ = __webpack_require__(371);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__spec__ = __webpack_require__(61);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__toplevelprops__ = __webpack_require__(373);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__buildmodel__ = __webpack_require__(129);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__data_assemble__ = __webpack_require__(392);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__data_optimize__ = __webpack_require__(380);\n\n\n\n\n\n\n\n\n\n\n/**\n * Vega-Lite's main function, for compiling Vega-lite spec into Vega spec.\n *\n * At a high-level, we make the following transformations in different phases:\n *\n * Input spec\n * |\n * | (Normalization)\n * v\n * Normalized Spec (Row/Column channels in single-view specs becomes faceted specs, composite marks becomes layered specs.)\n * |\n * | (Build Model)\n * v\n * A model tree of the spec\n * |\n * | (Parse)\n * v\n * A model tree with parsed components (intermediate structure of visualization primitives in a format that can be easily merged)\n * |\n * | (Optimize)\n * v\n * A model tree with parsed components with the data component optimized\n * |\n * | (Assemble)\n * v\n * Vega spec\n */\nfunction compile(inputSpec, opt) {\n if (opt === void 0) { opt = {}; }\n // 0. Augment opt with default opts\n if (opt.logger) {\n // set the singleton logger to the provided logger\n __WEBPACK_IMPORTED_MODULE_3__log__[\"d\" /* set */](opt.logger);\n }\n if (opt.fieldTitle) {\n // set the singleton field title formatter\n __WEBPACK_IMPORTED_MODULE_2__fielddef__[\"setTitleFormatter\"](opt.fieldTitle);\n }\n try {\n // 1. Initialize config by deep merging default config with the config provided via option and the input spec.\n var config = Object(__WEBPACK_IMPORTED_MODULE_1__config__[\"initConfig\"])(Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"mergeDeep\"])({}, opt.config, inputSpec.config));\n // 2. Normalize: Convert input spec -> normalized spec\n // - Decompose all extended unit specs into composition of unit spec. For example, a box plot get expanded into multiple layers of bars, ticks, and rules. The shorthand row/column channel is also expanded to a facet spec.\n var spec = Object(__WEBPACK_IMPORTED_MODULE_4__spec__[\"normalize\"])(inputSpec, config);\n // - Normalize autosize to be a autosize properties object.\n var autosize = Object(__WEBPACK_IMPORTED_MODULE_5__toplevelprops__[\"c\" /* normalizeAutoSize */])(inputSpec.autosize, config.autosize, Object(__WEBPACK_IMPORTED_MODULE_4__spec__[\"isLayerSpec\"])(spec) || Object(__WEBPACK_IMPORTED_MODULE_4__spec__[\"isUnitSpec\"])(spec));\n // 3. Build Model: normalized spec -> Model (a tree structure)\n // This phases instantiates the models with default config by doing a top-down traversal. This allows us to pass properties that child models derive from their parents via their constructors.\n // See the abstract `Model` class and its children (UnitModel, LayerModel, FacetModel, RepeatModel, ConcatModel) for different types of models.\n var model = Object(__WEBPACK_IMPORTED_MODULE_7__buildmodel__[\"a\" /* buildModel */])(spec, null, '', undefined, undefined, config, autosize.type === 'fit');\n // 4 Parse: Model --> Model with components\n // Note that components = intermediate representations that are equivalent to Vega specs.\n // We need these intermediate representation because we need to merge many visualizaiton \"components\" like projections, scales, axes, and legends.\n // We will later convert these components into actual Vega specs in the assemble phase.\n // In this phase, we do a bottom-up traversal over the whole tree to\n // parse for each type of components once (e.g., data, layout, mark, scale).\n // By doing bottom-up traversal, we start parsing components of unit specs and\n // then merge child components of parent composite specs.\n //\n // Please see inside model.parse() for order of different components parsed.\n model.parse();\n // 5. Optimize the dataflow. This will modify the data component of the model.\n Object(__WEBPACK_IMPORTED_MODULE_9__data_optimize__[\"b\" /* optimizeDataflow */])(model.component.data);\n // 6. Assemble: convert model components --> Vega Spec.\n return assembleTopLevelModel(model, getTopLevelProperties(inputSpec, config, autosize));\n }\n finally {\n // Reset the singleton logger if a logger is provided\n if (opt.logger) {\n __WEBPACK_IMPORTED_MODULE_3__log__[\"c\" /* reset */]();\n }\n // Reset the singleton field title formatter if provided\n if (opt.fieldTitle) {\n __WEBPACK_IMPORTED_MODULE_2__fielddef__[\"resetTitleFormatter\"]();\n }\n }\n}\nfunction getTopLevelProperties(topLevelSpec, config, autosize) {\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ autosize: Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"keys\"])(autosize).length === 1 && autosize.type ? autosize.type : autosize }, Object(__WEBPACK_IMPORTED_MODULE_5__toplevelprops__[\"b\" /* extractTopLevelProperties */])(config), Object(__WEBPACK_IMPORTED_MODULE_5__toplevelprops__[\"b\" /* extractTopLevelProperties */])(topLevelSpec));\n}\n/*\n * Assemble the top-level model.\n *\n * Note: this couldn't be `model.assemble()` since the top-level model\n * needs some special treatment to generate top-level properties.\n */\nfunction assembleTopLevelModel(model, topLevelProperties) {\n // TODO: change type to become VgSpec\n // Config with Vega-Lite only config removed.\n var vgConfig = model.config ? Object(__WEBPACK_IMPORTED_MODULE_1__config__[\"stripAndRedirectConfig\"])(model.config) : undefined;\n var data = [].concat(model.assembleSelectionData([]), \n // only assemble data in the root\n Object(__WEBPACK_IMPORTED_MODULE_8__data_assemble__[\"b\" /* assembleRootData */])(model.component.data, topLevelProperties.datasets || {}));\n delete topLevelProperties.datasets;\n var projections = model.assembleProjections();\n var title = model.assembleTitle();\n var style = model.assembleGroupStyle();\n var layoutSignals = model.assembleLayoutSignals();\n // move width and height signals with values to top level\n layoutSignals = layoutSignals.filter(function (signal) {\n if ((signal.name === 'width' || signal.name === 'height') && signal.value !== undefined) {\n topLevelProperties[signal.name] = +signal.value;\n return false;\n }\n return true;\n });\n var output = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ $schema: 'https://vega.github.io/schema/vega/v3.json' }, (model.description ? { description: model.description } : {}), topLevelProperties, (title ? { title: title } : {}), (style ? { style: style } : {}), { data: data }, (projections.length > 0 ? { projections: projections } : {}), model.assembleGroup(layoutSignals.concat(model.assembleSelectionTopLevelSignals([]))), (vgConfig ? { config: vgConfig } : {}));\n return {\n spec: output\n // TODO: add warning / errors here\n };\n}\n//# sourceMappingURL=compile.js.map\n\n/***/ }),\n/* 940 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return VL_ONLY_GUIDE_CONFIG; });\nvar VL_ONLY_GUIDE_CONFIG = ['shortTimeLabels'];\n//# sourceMappingURL=guide.js.map\n\n/***/ }),\n/* 941 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ConcatModel; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__spec__ = __webpack_require__(61);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__baseconcat__ = __webpack_require__(374);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__buildmodel__ = __webpack_require__(129);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__layoutsize_parse__ = __webpack_require__(89);\n\n\n\n\n\n\nvar ConcatModel = /** @class */ (function (_super) {\n __WEBPACK_IMPORTED_MODULE_0_tslib__[\"c\" /* __extends */](ConcatModel, _super);\n function ConcatModel(spec, parent, parentGivenName, repeater, config) {\n var _this = _super.call(this, spec, parent, parentGivenName, config, repeater, spec.resolve) || this;\n _this.type = 'concat';\n if (spec.resolve && spec.resolve.axis && (spec.resolve.axis.x === 'shared' || spec.resolve.axis.y === 'shared')) {\n __WEBPACK_IMPORTED_MODULE_1__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_1__log__[\"b\" /* message */].CONCAT_CANNOT_SHARE_AXIS);\n }\n _this.isVConcat = Object(__WEBPACK_IMPORTED_MODULE_2__spec__[\"isVConcatSpec\"])(spec);\n _this.children = (Object(__WEBPACK_IMPORTED_MODULE_2__spec__[\"isVConcatSpec\"])(spec) ? spec.vconcat : spec.hconcat).map(function (child, i) {\n return Object(__WEBPACK_IMPORTED_MODULE_4__buildmodel__[\"a\" /* buildModel */])(child, _this, _this.getName('concat_' + i), undefined, repeater, config, false);\n });\n return _this;\n }\n ConcatModel.prototype.parseLayoutSize = function () {\n Object(__WEBPACK_IMPORTED_MODULE_5__layoutsize_parse__[\"b\" /* parseConcatLayoutSize */])(this);\n };\n ConcatModel.prototype.parseAxisGroup = function () {\n return null;\n };\n ConcatModel.prototype.assembleDefaultLayout = function () {\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, (this.isVConcat ? { columns: 1 } : {}), { bounds: 'full', \n // Use align each so it can work with multiple plots with different size\n align: 'each' });\n };\n return ConcatModel;\n}(__WEBPACK_IMPORTED_MODULE_3__baseconcat__[\"a\" /* BaseConcatModel */]));\n\n//# sourceMappingURL=concat.js.map\n\n/***/ }),\n/* 942 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return LegendComponent; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__split__ = __webpack_require__(27);\n\n\nvar LegendComponent = /** @class */ (function (_super) {\n __WEBPACK_IMPORTED_MODULE_0_tslib__[\"c\" /* __extends */](LegendComponent, _super);\n function LegendComponent() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return LegendComponent;\n}(__WEBPACK_IMPORTED_MODULE_1__split__[\"a\" /* Split */]));\n\n//# sourceMappingURL=component.js.map\n\n/***/ }),\n/* 943 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (immutable) */ __webpack_exports__[\"symbols\"] = symbols;\n/* harmony export (immutable) */ __webpack_exports__[\"gradient\"] = gradient;\n/* harmony export (immutable) */ __webpack_exports__[\"labels\"] = labels;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__mark__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__scale__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__common__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__mark_mixins__ = __webpack_require__(32);\n\n\n\n\n\n\n\n\n\nfunction symbols(fieldDef, symbolsSpec, model, channel, type) {\n if (type === 'gradient') {\n return undefined;\n }\n var out = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, Object(__WEBPACK_IMPORTED_MODULE_7__common__[\"a\" /* applyMarkConfig */])({}, model, __WEBPACK_IMPORTED_MODULE_4__mark__[\"FILL_STROKE_CONFIG\"]), __WEBPACK_IMPORTED_MODULE_8__mark_mixins__[\"e\" /* color */](model));\n switch (model.mark) {\n case __WEBPACK_IMPORTED_MODULE_4__mark__[\"BAR\"]:\n case __WEBPACK_IMPORTED_MODULE_4__mark__[\"TICK\"]:\n case __WEBPACK_IMPORTED_MODULE_4__mark__[\"TEXT\"]:\n out.shape = { value: 'square' };\n break;\n case __WEBPACK_IMPORTED_MODULE_4__mark__[\"CIRCLE\"]:\n case __WEBPACK_IMPORTED_MODULE_4__mark__[\"SQUARE\"]:\n out.shape = { value: model.mark };\n break;\n case __WEBPACK_IMPORTED_MODULE_4__mark__[\"POINT\"]:\n case __WEBPACK_IMPORTED_MODULE_4__mark__[\"LINE\"]:\n case __WEBPACK_IMPORTED_MODULE_4__mark__[\"GEOSHAPE\"]:\n case __WEBPACK_IMPORTED_MODULE_4__mark__[\"AREA\"]:\n // use default circle\n break;\n }\n var markDef = model.markDef, encoding = model.encoding;\n var filled = markDef.filled;\n if (out.fill) {\n // for fill legend, we don't want any fill in symbol\n if (channel === 'fill' || (filled && channel === __WEBPACK_IMPORTED_MODULE_2__channel__[\"COLOR\"])) {\n delete out.fill;\n }\n else {\n if (out.fill['field']) {\n // For others, remove fill field\n delete out.fill;\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(out.fill)) {\n var fill = getFirstConditionValue(encoding.fill || encoding.color) || markDef.fill || (filled && markDef.color);\n if (fill) {\n out.fill = { value: fill };\n }\n }\n }\n }\n if (out.stroke) {\n if (channel === 'stroke' || (!filled && channel === __WEBPACK_IMPORTED_MODULE_2__channel__[\"COLOR\"])) {\n delete out.stroke;\n }\n else {\n if (out.stroke['field']) {\n // For others, remove stroke field\n delete out.stroke;\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(out.stroke)) {\n var stroke = getFirstConditionValue(encoding.stroke || encoding.color) || markDef.stroke || (!filled && markDef.color);\n if (stroke) {\n out.stroke = { value: stroke };\n }\n }\n }\n }\n if (out.fill && out.fill['value'] !== 'transparent' && !out.stroke) {\n // for non color channel's legend, we need to override symbol stroke config from Vega config\n out.stroke = { value: 'transparent' };\n }\n if (channel !== __WEBPACK_IMPORTED_MODULE_2__channel__[\"SHAPE\"]) {\n var shape = getFirstConditionValue(encoding.shape) || markDef.shape;\n if (shape) {\n out.shape = { value: shape };\n }\n }\n if (channel !== __WEBPACK_IMPORTED_MODULE_2__channel__[\"OPACITY\"]) {\n var opacity = getMaxValue(encoding.opacity) || markDef.opacity;\n if (opacity) { // only apply opacity if it is neither zero or undefined\n out.opacity = { value: opacity };\n }\n }\n out = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, out, symbolsSpec);\n return Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"keys\"])(out).length > 0 ? out : undefined;\n}\nfunction gradient(fieldDef, gradientSpec, model, channel, type) {\n var out = {};\n if (type === 'gradient') {\n var opacity = getMaxValue(model.encoding.opacity) || model.markDef.opacity;\n if (opacity) { // only apply opacity if it is neither zero or undefined\n out.opacity = { value: opacity };\n }\n }\n out = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, out, gradientSpec);\n return Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"keys\"])(out).length > 0 ? out : undefined;\n}\nfunction labels(fieldDef, labelsSpec, model, channel, type) {\n var legend = model.legend(channel);\n var config = model.config;\n var out = {};\n if (Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"isTimeFieldDef\"])(fieldDef)) {\n var isUTCScale = model.getScaleComponent(channel).get('type') === __WEBPACK_IMPORTED_MODULE_5__scale__[\"ScaleType\"].UTC;\n var expr = Object(__WEBPACK_IMPORTED_MODULE_7__common__[\"n\" /* timeFormatExpression */])('datum.value', fieldDef.timeUnit, legend.format, config.legend.shortTimeLabels, config.timeFormat, isUTCScale);\n labelsSpec = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, (expr ? { text: { signal: expr } } : {}), labelsSpec);\n }\n out = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, out, labelsSpec);\n return Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"keys\"])(out).length > 0 ? out : undefined;\n}\nfunction getMaxValue(channelDef) {\n return getConditionValue(channelDef, function (v, conditionalDef) { return Math.max(v, conditionalDef.value); });\n}\nfunction getFirstConditionValue(channelDef) {\n return getConditionValue(channelDef, function (v, conditionalDef) { return v !== undefined ? v : conditionalDef.value; });\n}\nfunction getConditionValue(channelDef, reducer) {\n if (Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"hasConditionalValueDef\"])(channelDef)) {\n return (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(channelDef.condition) ? channelDef.condition : [channelDef.condition])\n .reduce(reducer, channelDef.value);\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"isValueDef\"])(channelDef)) {\n return channelDef.value;\n }\n return undefined;\n}\n//# sourceMappingURL=encode.js.map\n\n/***/ }),\n/* 944 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = values;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = type;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__scale__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(3);\n\n\n\n\nfunction values(legend, fieldDef) {\n var vals = legend.values;\n if (vals) {\n return Object(__WEBPACK_IMPORTED_MODULE_1__fielddef__[\"valueArray\"])(fieldDef, vals);\n }\n return undefined;\n}\nfunction type(t, channel, scaleType) {\n if (Object(__WEBPACK_IMPORTED_MODULE_0__channel__[\"isColorChannel\"])(channel) && ((t === 'quantitative' && !Object(__WEBPACK_IMPORTED_MODULE_2__scale__[\"isBinScale\"])(scaleType)) ||\n (t === 'temporal' && Object(__WEBPACK_IMPORTED_MODULE_3__util__[\"contains\"])(['time', 'utc'], scaleType)))) {\n return 'gradient';\n }\n return undefined;\n}\n//# sourceMappingURL=properties.js.map\n\n/***/ }),\n/* 945 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = assembleProjections;\n/* unused harmony export assembleProjectionsForModelAndChildren */\n/* unused harmony export assembleProjectionForModel */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__vega_schema__ = __webpack_require__(29);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__model__ = __webpack_require__(15);\n\n\n\n\nfunction assembleProjections(model) {\n if (Object(__WEBPACK_IMPORTED_MODULE_3__model__[\"e\" /* isLayerModel */])(model) || Object(__WEBPACK_IMPORTED_MODULE_3__model__[\"c\" /* isConcatModel */])(model) || Object(__WEBPACK_IMPORTED_MODULE_3__model__[\"f\" /* isRepeatModel */])(model)) {\n return assembleProjectionsForModelAndChildren(model);\n }\n else {\n return assembleProjectionForModel(model);\n }\n}\nfunction assembleProjectionsForModelAndChildren(model) {\n return model.children.reduce(function (projections, child) {\n return projections.concat(child.assembleProjections());\n }, assembleProjectionForModel(model));\n}\nfunction assembleProjectionForModel(model) {\n var component = model.component.projection;\n if (!component || component.merged) {\n return [];\n }\n var projection = component.combine();\n var name = projection.name, rest = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"e\" /* __rest */](projection, [\"name\"]); // we need to extract name so that it is always present in the output and pass TS type validation\n var size = {\n signal: \"[\" + component.size.map(function (ref) { return ref.signal; }).join(', ') + \"]\"\n };\n var fit = component.data.reduce(function (sources, data) {\n var source = Object(__WEBPACK_IMPORTED_MODULE_2__vega_schema__[\"f\" /* isVgSignalRef */])(data) ? data.signal : \"data('\" + model.lookupDataSource(data) + \"')\";\n if (!Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"contains\"])(sources, source)) {\n // build a unique list of sources\n sources.push(source);\n }\n return sources;\n }, []);\n if (fit.length <= 0) {\n throw new Error(\"Projection's fit didn't find any data sources\");\n }\n return [__WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ name: name,\n size: size, fit: {\n signal: fit.length > 1 ? \"[\" + fit.join(', ') + \"]\" : fit[0]\n } }, rest)];\n}\n//# sourceMappingURL=assemble.js.map\n\n/***/ }),\n/* 946 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = parseProjection;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__data__ = __webpack_require__(45);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__projection__ = __webpack_require__(947);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__type__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__model__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__component__ = __webpack_require__(948);\n\n\n\n\n\n\n\n\nfunction parseProjection(model) {\n if (Object(__WEBPACK_IMPORTED_MODULE_6__model__[\"g\" /* isUnitModel */])(model)) {\n model.component.projection = parseUnitProjection(model);\n }\n else {\n // because parse happens from leaves up (unit specs before layer spec),\n // we can be sure that the above if statement has already occurred\n // and therefore we have access to child.component.projection\n // for each of model's children\n model.component.projection = parseNonUnitProjections(model);\n }\n}\nfunction parseUnitProjection(model) {\n var specifiedProjection = model.specifiedProjection, config = model.config, hasProjection = model.hasProjection;\n if (hasProjection) {\n var data_1 = [];\n [[__WEBPACK_IMPORTED_MODULE_1__channel__[\"LONGITUDE\"], __WEBPACK_IMPORTED_MODULE_1__channel__[\"LATITUDE\"]], [__WEBPACK_IMPORTED_MODULE_1__channel__[\"LONGITUDE2\"], __WEBPACK_IMPORTED_MODULE_1__channel__[\"LATITUDE2\"]]].forEach(function (posssiblePair) {\n if (model.channelHasField(posssiblePair[0]) || model.channelHasField(posssiblePair[1])) {\n data_1.push({\n signal: model.getName(\"geojson_\" + data_1.length)\n });\n }\n });\n if (model.channelHasField(__WEBPACK_IMPORTED_MODULE_1__channel__[\"SHAPE\"]) && model.fieldDef(__WEBPACK_IMPORTED_MODULE_1__channel__[\"SHAPE\"]).type === __WEBPACK_IMPORTED_MODULE_4__type__[\"GEOJSON\"]) {\n data_1.push({\n signal: model.getName(\"geojson_\" + data_1.length)\n });\n }\n if (data_1.length === 0) {\n // main source is geojson, so we can just use that\n data_1.push(model.requestDataName(__WEBPACK_IMPORTED_MODULE_2__data__[\"MAIN\"]));\n }\n return new __WEBPACK_IMPORTED_MODULE_7__component__[\"a\" /* ProjectionComponent */](model.projectionName(true), __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, (config.projection || {}), (specifiedProjection || {})), [model.getSizeSignalRef('width'), model.getSizeSignalRef('height')], data_1);\n }\n return undefined;\n}\nfunction mergeIfNoConflict(first, second) {\n var allPropertiesShared = Object(__WEBPACK_IMPORTED_MODULE_5__util__[\"every\"])(__WEBPACK_IMPORTED_MODULE_3__projection__[\"a\" /* PROJECTION_PROPERTIES */], function (prop) {\n // neither has the poperty\n if (!first.explicit.hasOwnProperty(prop) &&\n !second.explicit.hasOwnProperty(prop)) {\n return true;\n }\n // both have property and an equal value for property\n if (first.explicit.hasOwnProperty(prop) &&\n second.explicit.hasOwnProperty(prop) &&\n // some properties might be signals or objects and require hashing for comparison\n Object(__WEBPACK_IMPORTED_MODULE_5__util__[\"stringify\"])(first.get(prop)) === Object(__WEBPACK_IMPORTED_MODULE_5__util__[\"stringify\"])(second.get(prop))) {\n return true;\n }\n return false;\n });\n var size = Object(__WEBPACK_IMPORTED_MODULE_5__util__[\"stringify\"])(first.size) === Object(__WEBPACK_IMPORTED_MODULE_5__util__[\"stringify\"])(second.size);\n if (size) {\n if (allPropertiesShared) {\n return first;\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_5__util__[\"stringify\"])(first.explicit) === Object(__WEBPACK_IMPORTED_MODULE_5__util__[\"stringify\"])({})) {\n return second;\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_5__util__[\"stringify\"])(second.explicit) === Object(__WEBPACK_IMPORTED_MODULE_5__util__[\"stringify\"])({})) {\n return first;\n }\n }\n // if all properties don't match, let each unit spec have its own projection\n return null;\n}\nfunction parseNonUnitProjections(model) {\n if (model.children.length === 0) {\n return undefined;\n }\n var nonUnitProjection;\n var mergable = Object(__WEBPACK_IMPORTED_MODULE_5__util__[\"every\"])(model.children, function (child) {\n parseProjection(child);\n var projection = child.component.projection;\n if (!projection) {\n // child layer does not use a projection\n return true;\n }\n else if (!nonUnitProjection) {\n // cached 'projection' is null, cache this one\n nonUnitProjection = projection;\n return true;\n }\n else {\n var merge = mergeIfNoConflict(nonUnitProjection, projection);\n if (merge) {\n nonUnitProjection = merge;\n }\n return !!merge;\n }\n });\n // it cached one and all other children share the same projection,\n if (nonUnitProjection && mergable) {\n // so we can elevate it to the layer level\n var name_1 = model.projectionName(true);\n var modelProjection_1 = new __WEBPACK_IMPORTED_MODULE_7__component__[\"a\" /* ProjectionComponent */](name_1, nonUnitProjection.specifiedProjection, nonUnitProjection.size, Object(__WEBPACK_IMPORTED_MODULE_5__util__[\"duplicate\"])(nonUnitProjection.data));\n // rename and assign all others as merged\n model.children.forEach(function (child) {\n if (child.component.projection) {\n modelProjection_1.data = modelProjection_1.data.concat(child.component.projection.data);\n child.renameProjection(child.component.projection.get('name'), name_1);\n child.component.projection.merged = true;\n }\n });\n return modelProjection_1;\n }\n return undefined;\n}\n//# sourceMappingURL=parse.js.map\n\n/***/ }),\n/* 947 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return PROJECTION_PROPERTIES; });\nvar PROJECTION_PROPERTIES = [\n 'type',\n 'clipAngle',\n 'clipExtent',\n 'center',\n 'rotate',\n 'precision',\n 'coefficient',\n 'distance',\n 'fraction',\n 'lobes',\n 'parallel',\n 'radius',\n 'ratio',\n 'spacing',\n 'tilt'\n];\n//# sourceMappingURL=projection.js.map\n\n/***/ }),\n/* 948 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ProjectionComponent; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__split__ = __webpack_require__(27);\n\n\nvar ProjectionComponent = /** @class */ (function (_super) {\n __WEBPACK_IMPORTED_MODULE_0_tslib__[\"c\" /* __extends */](ProjectionComponent, _super);\n function ProjectionComponent(name, specifiedProjection, size, data) {\n var _this = _super.call(this, __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, specifiedProjection), // all explicit properties of projection\n { name: name } // name as initial implicit property\n ) || this;\n _this.specifiedProjection = specifiedProjection;\n _this.size = size;\n _this.data = data;\n _this.merged = false;\n return _this;\n }\n return ProjectionComponent;\n}(__WEBPACK_IMPORTED_MODULE_1__split__[\"a\" /* Split */]));\n\n//# sourceMappingURL=component.js.map\n\n/***/ }),\n/* 949 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = assembleScales;\n/* unused harmony export assembleScalesForModel */\n/* unused harmony export assembleScaleRange */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__vega_schema__ = __webpack_require__(29);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__model__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__selection_selection__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__domain__ = __webpack_require__(88);\n\n\n\n\n\n\n\nfunction assembleScales(model) {\n if (Object(__WEBPACK_IMPORTED_MODULE_4__model__[\"e\" /* isLayerModel */])(model) || Object(__WEBPACK_IMPORTED_MODULE_4__model__[\"c\" /* isConcatModel */])(model) || Object(__WEBPACK_IMPORTED_MODULE_4__model__[\"f\" /* isRepeatModel */])(model)) {\n // For concat / layer / repeat, include scales of children too\n return model.children.reduce(function (scales, child) {\n return scales.concat(assembleScales(child));\n }, assembleScalesForModel(model));\n }\n else {\n // For facet, child scales would not be included in the parent's scope.\n // For unit, there is no child.\n return assembleScalesForModel(model);\n }\n}\nfunction assembleScalesForModel(model) {\n return Object(__WEBPACK_IMPORTED_MODULE_2__util__[\"keys\"])(model.component.scales).reduce(function (scales, channel) {\n var scaleComponent = model.component.scales[channel];\n if (scaleComponent.merged) {\n // Skipped merged scales\n return scales;\n }\n var scale = scaleComponent.combine();\n // need to separate const and non const object destruction\n var domainRaw = scale.domainRaw, range = scale.range;\n var name = scale.name, type = scale.type, _d = scale.domainRaw, _r = scale.range, otherScaleProps = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"e\" /* __rest */](scale, [\"name\", \"type\", \"domainRaw\", \"range\"]);\n range = assembleScaleRange(range, name, model, channel);\n // As scale parsing occurs before selection parsing, a temporary signal\n // is used for domainRaw. Here, we detect if this temporary signal\n // is set, and replace it with the correct domainRaw signal.\n // For more information, see isRawSelectionDomain in selection.ts.\n if (domainRaw && Object(__WEBPACK_IMPORTED_MODULE_5__selection_selection__[\"j\" /* isRawSelectionDomain */])(domainRaw)) {\n domainRaw = Object(__WEBPACK_IMPORTED_MODULE_5__selection_selection__[\"o\" /* selectionScaleDomain */])(model, domainRaw);\n }\n scales.push(__WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ name: name,\n type: type, domain: Object(__WEBPACK_IMPORTED_MODULE_6__domain__[\"a\" /* assembleDomain */])(model, channel) }, (domainRaw ? { domainRaw: domainRaw } : {}), { range: range }, otherScaleProps));\n return scales;\n }, []);\n}\nfunction assembleScaleRange(scaleRange, scaleName, model, channel) {\n // add signals to x/y range\n if (channel === 'x' || channel === 'y') {\n if (Object(__WEBPACK_IMPORTED_MODULE_3__vega_schema__[\"e\" /* isVgRangeStep */])(scaleRange)) {\n // For x/y range step, use a signal created in layout assemble instead of a constant range step.\n return {\n step: { signal: scaleName + '_step' }\n };\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(scaleRange) && scaleRange.length === 2) {\n var r0 = scaleRange[0];\n var r1 = scaleRange[1];\n if (r0 === 0 && Object(__WEBPACK_IMPORTED_MODULE_3__vega_schema__[\"f\" /* isVgSignalRef */])(r1)) {\n // Replace width signal just in case it is renamed.\n return [0, { signal: model.getSizeName(r1.signal) }];\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_3__vega_schema__[\"f\" /* isVgSignalRef */])(r0) && r1 === 0) {\n // Replace height signal just in case it is renamed.\n return [{ signal: model.getSizeName(r0.signal) }, 0];\n }\n }\n }\n return scaleRange;\n}\n//# sourceMappingURL=assemble.js.map\n\n/***/ }),\n/* 950 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = iterateFromLeaves;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = moveParseUp;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = removeUnusedSubtrees;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = removeDuplicateTimeUnits;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__dataflow__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__facet__ = __webpack_require__(133);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__formatparse__ = __webpack_require__(205);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__source__ = __webpack_require__(134);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__timeunit__ = __webpack_require__(135);\n\n\n\n\n\n\n\n/**\n * Start optimization path at the leaves. Useful for merging up or removing things.\n *\n * If the callback returns true, the recursion continues.\n */\nfunction iterateFromLeaves(f) {\n function optimizeNextFromLeaves(node) {\n if (node instanceof __WEBPACK_IMPORTED_MODULE_5__source__[\"a\" /* SourceNode */]) {\n return;\n }\n var next = node.parent;\n if (f(node)) {\n optimizeNextFromLeaves(next);\n }\n }\n return optimizeNextFromLeaves;\n}\n/**\n * Move parse nodes up to forks.\n */\nfunction moveParseUp(node) {\n var parent = node.parent;\n // move parse up by merging or swapping\n if (node instanceof __WEBPACK_IMPORTED_MODULE_4__formatparse__[\"a\" /* ParseNode */]) {\n if (parent instanceof __WEBPACK_IMPORTED_MODULE_5__source__[\"a\" /* SourceNode */]) {\n return false;\n }\n if (parent.numChildren() > 1) {\n // don't move parse further up but continue with parent.\n return true;\n }\n if (parent instanceof __WEBPACK_IMPORTED_MODULE_4__formatparse__[\"a\" /* ParseNode */]) {\n parent.merge(node);\n }\n else {\n // don't swap with nodes that produce something that the parse node depends on (e.g. lookup)\n if (Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"hasIntersection\"])(parent.producedFields(), node.dependentFields())) {\n return true;\n }\n node.swapWithParent();\n }\n }\n return true;\n}\n/**\n * Repeatedly remove leaf nodes that are not output or facet nodes.\n * The reason is that we don't need subtrees that don't have any output nodes.\n * Facet nodes are needed for the row or column domains.\n */\nfunction removeUnusedSubtrees(node) {\n if (node instanceof __WEBPACK_IMPORTED_MODULE_2__dataflow__[\"b\" /* OutputNode */] || node.numChildren() > 0 || node instanceof __WEBPACK_IMPORTED_MODULE_3__facet__[\"a\" /* FacetNode */]) {\n // no need to continue with parent because it is output node or will have children (there was a fork)\n return false;\n }\n else {\n node.remove();\n }\n return true;\n}\n/**\n * Removes duplicate time unit nodes (as determined by the name of the\n * output field) that may be generated due to selections projected over\n * time units.\n */\nfunction removeDuplicateTimeUnits(leaf) {\n var fields = {};\n return iterateFromLeaves(function (node) {\n if (node instanceof __WEBPACK_IMPORTED_MODULE_6__timeunit__[\"a\" /* TimeUnitNode */]) {\n var pfields = node.producedFields();\n var dupe = Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"keys\"])(pfields).every(function (k) { return !!fields[k]; });\n if (dupe) {\n node.remove();\n }\n else {\n fields = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, fields, pfields);\n }\n }\n return true;\n })(leaf);\n}\n//# sourceMappingURL=optimizers.js.map\n\n/***/ }),\n/* 951 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = parseScale;\n/* unused harmony export parseScaleCore */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mark__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__scale__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__type__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__model__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__resolve__ = __webpack_require__(132);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__split__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__component__ = __webpack_require__(952);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__domain__ = __webpack_require__(88);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__properties__ = __webpack_require__(381);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__range__ = __webpack_require__(382);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__type__ = __webpack_require__(953);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction parseScale(model) {\n parseScaleCore(model);\n Object(__WEBPACK_IMPORTED_MODULE_10__domain__[\"c\" /* parseScaleDomain */])(model);\n for (var _i = 0, NON_TYPE_DOMAIN_RANGE_VEGA_SCALE_PROPERTIES_1 = __WEBPACK_IMPORTED_MODULE_3__scale__[\"NON_TYPE_DOMAIN_RANGE_VEGA_SCALE_PROPERTIES\"]; _i < NON_TYPE_DOMAIN_RANGE_VEGA_SCALE_PROPERTIES_1.length; _i++) {\n var prop = NON_TYPE_DOMAIN_RANGE_VEGA_SCALE_PROPERTIES_1[_i];\n Object(__WEBPACK_IMPORTED_MODULE_11__properties__[\"b\" /* parseScaleProperty */])(model, prop);\n }\n // range depends on zero\n Object(__WEBPACK_IMPORTED_MODULE_12__range__[\"a\" /* parseScaleRange */])(model);\n}\nfunction parseScaleCore(model) {\n if (Object(__WEBPACK_IMPORTED_MODULE_6__model__[\"g\" /* isUnitModel */])(model)) {\n model.component.scales = parseUnitScaleCore(model);\n }\n else {\n model.component.scales = parseNonUnitScaleCore(model);\n }\n}\n/**\n * Parse scales for all channels of a model.\n */\nfunction parseUnitScaleCore(model) {\n var encoding = model.encoding, config = model.config, mark = model.mark;\n return __WEBPACK_IMPORTED_MODULE_0__channel__[\"SCALE_CHANNELS\"].reduce(function (scaleComponents, channel) {\n var fieldDef;\n var specifiedScale = undefined;\n var channelDef = encoding[channel];\n // Don't generate scale for shape of geoshape\n if (Object(__WEBPACK_IMPORTED_MODULE_1__fielddef__[\"isFieldDef\"])(channelDef) && mark === __WEBPACK_IMPORTED_MODULE_2__mark__[\"GEOSHAPE\"] &&\n channel === __WEBPACK_IMPORTED_MODULE_0__channel__[\"SHAPE\"] && channelDef.type === __WEBPACK_IMPORTED_MODULE_4__type__[\"GEOJSON\"]) {\n return scaleComponents;\n }\n if (Object(__WEBPACK_IMPORTED_MODULE_1__fielddef__[\"isFieldDef\"])(channelDef)) {\n fieldDef = channelDef;\n specifiedScale = channelDef.scale;\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_1__fielddef__[\"hasConditionalFieldDef\"])(channelDef)) {\n fieldDef = channelDef.condition;\n specifiedScale = channelDef.condition['scale']; // We use ['scale'] since we know that channel here has scale for sure\n }\n else if (channel === __WEBPACK_IMPORTED_MODULE_0__channel__[\"X\"]) {\n fieldDef = Object(__WEBPACK_IMPORTED_MODULE_1__fielddef__[\"getFieldDef\"])(encoding.x2);\n }\n else if (channel === __WEBPACK_IMPORTED_MODULE_0__channel__[\"Y\"]) {\n fieldDef = Object(__WEBPACK_IMPORTED_MODULE_1__fielddef__[\"getFieldDef\"])(encoding.y2);\n }\n if (fieldDef && specifiedScale !== null && specifiedScale !== false) {\n specifiedScale = specifiedScale || {};\n var specifiedScaleType = specifiedScale.type;\n var sType = Object(__WEBPACK_IMPORTED_MODULE_13__type__[\"a\" /* scaleType */])(specifiedScale.type, channel, fieldDef, mark, config.scale);\n scaleComponents[channel] = new __WEBPACK_IMPORTED_MODULE_9__component__[\"a\" /* ScaleComponent */](model.scaleName(channel + '', true), { value: sType, explicit: specifiedScaleType === sType });\n }\n return scaleComponents;\n }, {});\n}\nvar scaleTypeTieBreaker = Object(__WEBPACK_IMPORTED_MODULE_8__split__[\"f\" /* tieBreakByComparing */])(function (st1, st2) { return (Object(__WEBPACK_IMPORTED_MODULE_3__scale__[\"scaleTypePrecedence\"])(st1) - Object(__WEBPACK_IMPORTED_MODULE_3__scale__[\"scaleTypePrecedence\"])(st2)); });\nfunction parseNonUnitScaleCore(model) {\n var scaleComponents = model.component.scales = {};\n var scaleTypeWithExplicitIndex = {};\n var resolve = model.component.resolve;\n var _loop_1 = function (child) {\n parseScaleCore(child);\n // Instead of always merging right away -- check if it is compatible to merge first!\n Object(__WEBPACK_IMPORTED_MODULE_5__util__[\"keys\"])(child.component.scales).forEach(function (channel) {\n // if resolve is undefined, set default first\n resolve.scale[channel] = resolve.scale[channel] || Object(__WEBPACK_IMPORTED_MODULE_7__resolve__[\"a\" /* defaultScaleResolve */])(channel, model);\n if (resolve.scale[channel] === 'shared') {\n var explicitScaleType = scaleTypeWithExplicitIndex[channel];\n var childScaleType = child.component.scales[channel].getWithExplicit('type');\n if (explicitScaleType) {\n if (Object(__WEBPACK_IMPORTED_MODULE_3__scale__[\"scaleCompatible\"])(explicitScaleType.value, childScaleType.value)) {\n // merge scale component if type are compatible\n scaleTypeWithExplicitIndex[channel] = Object(__WEBPACK_IMPORTED_MODULE_8__split__[\"e\" /* mergeValuesWithExplicit */])(explicitScaleType, childScaleType, 'type', 'scale', scaleTypeTieBreaker);\n }\n else {\n // Otherwise, update conflicting channel to be independent\n resolve.scale[channel] = 'independent';\n // Remove from the index so they don't get merged\n delete scaleTypeWithExplicitIndex[channel];\n }\n }\n else {\n scaleTypeWithExplicitIndex[channel] = childScaleType;\n }\n }\n });\n };\n // Parse each child scale and determine if a particular channel can be merged.\n for (var _i = 0, _a = model.children; _i < _a.length; _i++) {\n var child = _a[_i];\n _loop_1(child);\n }\n // Merge each channel listed in the index\n Object(__WEBPACK_IMPORTED_MODULE_5__util__[\"keys\"])(scaleTypeWithExplicitIndex).forEach(function (channel) {\n // Create new merged scale component\n var name = model.scaleName(channel, true);\n var typeWithExplicit = scaleTypeWithExplicitIndex[channel];\n scaleComponents[channel] = new __WEBPACK_IMPORTED_MODULE_9__component__[\"a\" /* ScaleComponent */](name, typeWithExplicit);\n // rename each child and mark them as merged\n for (var _i = 0, _a = model.children; _i < _a.length; _i++) {\n var child = _a[_i];\n var childScale = child.component.scales[channel];\n if (childScale) {\n child.renameScale(childScale.get('name'), name);\n childScale.merged = true;\n }\n }\n });\n return scaleComponents;\n}\n//# sourceMappingURL=parse.js.map\n\n/***/ }),\n/* 952 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ScaleComponent; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__split__ = __webpack_require__(27);\n\n\nvar ScaleComponent = /** @class */ (function (_super) {\n __WEBPACK_IMPORTED_MODULE_0_tslib__[\"c\" /* __extends */](ScaleComponent, _super);\n function ScaleComponent(name, typeWithExplicit) {\n var _this = _super.call(this, {}, // no initial explicit property\n { name: name } // name as initial implicit property\n ) || this;\n _this.merged = false;\n _this.domains = [];\n _this.setWithExplicit('type', typeWithExplicit);\n return _this;\n }\n return ScaleComponent;\n}(__WEBPACK_IMPORTED_MODULE_1__split__[\"a\" /* Split */]));\n\n//# sourceMappingURL=component.js.map\n\n/***/ }),\n/* 953 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = scaleType;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__scale__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(3);\n\n\n\n\n/**\n * Determine if there is a specified scale type and if it is appropriate,\n * or determine default type if type is unspecified or inappropriate.\n */\n// NOTE: CompassQL uses this method.\nfunction scaleType(specifiedType, channel, fieldDef, mark, scaleConfig) {\n var defaultScaleType = defaultType(channel, fieldDef, mark, scaleConfig);\n if (!Object(__WEBPACK_IMPORTED_MODULE_0__channel__[\"isScaleChannel\"])(channel)) {\n // There is no scale for these channels\n return null;\n }\n if (specifiedType !== undefined) {\n // Check if explicitly specified scale type is supported by the channel\n if (!Object(__WEBPACK_IMPORTED_MODULE_2__scale__[\"channelSupportScaleType\"])(channel, specifiedType)) {\n __WEBPACK_IMPORTED_MODULE_1__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_1__log__[\"b\" /* message */].scaleTypeNotWorkWithChannel(channel, specifiedType, defaultScaleType));\n return defaultScaleType;\n }\n // Check if explicitly specified scale type is supported by the data type\n if (!Object(__WEBPACK_IMPORTED_MODULE_2__scale__[\"scaleTypeSupportDataType\"])(specifiedType, fieldDef.type, fieldDef.bin)) {\n __WEBPACK_IMPORTED_MODULE_1__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_1__log__[\"b\" /* message */].scaleTypeNotWorkWithFieldDef(specifiedType, defaultScaleType));\n return defaultScaleType;\n }\n return specifiedType;\n }\n return defaultScaleType;\n}\n/**\n * Determine appropriate default scale type.\n */\n// NOTE: Voyager uses this method.\nfunction defaultType(channel, fieldDef, mark, scaleConfig) {\n switch (fieldDef.type) {\n case 'nominal':\n case 'ordinal':\n if (Object(__WEBPACK_IMPORTED_MODULE_0__channel__[\"isColorChannel\"])(channel) || Object(__WEBPACK_IMPORTED_MODULE_0__channel__[\"rangeType\"])(channel) === 'discrete') {\n if (channel === 'shape' && fieldDef.type === 'ordinal') {\n __WEBPACK_IMPORTED_MODULE_1__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_1__log__[\"b\" /* message */].discreteChannelCannotEncode(channel, 'ordinal'));\n }\n return 'ordinal';\n }\n if (__WEBPACK_IMPORTED_MODULE_3__util__[\"contains\"](['x', 'y'], channel)) {\n if (__WEBPACK_IMPORTED_MODULE_3__util__[\"contains\"](['rect', 'bar', 'rule'], mark)) {\n // The rect/bar mark should fit into a band.\n // For rule, using band scale to make rule align with axis ticks better https://github.com/vega/vega-lite/issues/3429\n return 'band';\n }\n if (mark === 'bar') {\n return 'band';\n }\n }\n // Otherwise, use ordinal point scale so we can easily get center positions of the marks.\n return 'point';\n case 'temporal':\n if (Object(__WEBPACK_IMPORTED_MODULE_0__channel__[\"isColorChannel\"])(channel)) {\n return 'sequential';\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_0__channel__[\"rangeType\"])(channel) === 'discrete') {\n __WEBPACK_IMPORTED_MODULE_1__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_1__log__[\"b\" /* message */].discreteChannelCannotEncode(channel, 'temporal'));\n // TODO: consider using quantize (equivalent to binning) once we have it\n return 'ordinal';\n }\n return 'time';\n case 'quantitative':\n if (Object(__WEBPACK_IMPORTED_MODULE_0__channel__[\"isColorChannel\"])(channel)) {\n if (fieldDef.bin) {\n return 'bin-ordinal';\n }\n // Use `sequential` as the default color scale for continuous data\n // since it supports both array range and scheme range.\n return 'sequential';\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_0__channel__[\"rangeType\"])(channel) === 'discrete') {\n __WEBPACK_IMPORTED_MODULE_1__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_1__log__[\"b\" /* message */].discreteChannelCannotEncode(channel, 'quantitative'));\n // TODO: consider using quantize (equivalent to binning) once we have it\n return 'ordinal';\n }\n // x and y use a linear scale because selections don't work with bin scales.\n // Binned scales apply discretization but pan/zoom apply transformations to a [min, max] extent domain.\n if (fieldDef.bin && channel !== 'x' && channel !== 'y') {\n return 'bin-linear';\n }\n return 'linear';\n case 'latitude':\n case 'longitude':\n case 'geojson':\n return undefined;\n }\n /* istanbul ignore next: should never reach this */\n throw new Error(__WEBPACK_IMPORTED_MODULE_1__log__[\"b\" /* message */].invalidFieldType(fieldDef.type));\n}\n//# sourceMappingURL=type.js.map\n\n/***/ }),\n/* 954 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__multi__ = __webpack_require__(383);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__selection__ = __webpack_require__(18);\n\n\n\nvar single = {\n predicate: 'vlSingle',\n scaleDomain: 'vlSingleDomain',\n signals: __WEBPACK_IMPORTED_MODULE_1__multi__[\"b\" /* signals */],\n topLevelSignals: function (model, selCmpt, signals) {\n var hasSignal = signals.filter(function (s) { return s.name === selCmpt.name; });\n var data = \"data(\" + Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"O\" /* stringValue */])(selCmpt.name + __WEBPACK_IMPORTED_MODULE_2__selection__[\"b\" /* STORE */]) + \")\";\n var values = data + \"[0].values\";\n return hasSignal.length ? signals : signals.concat({\n name: selCmpt.name,\n update: data + \".length && {\" +\n selCmpt.project.map(function (p, i) { return p.field + \": \" + values + \"[\" + i + \"]\"; }).join(', ') + '}'\n });\n },\n modifyExpr: function (model, selCmpt) {\n var tpl = selCmpt.name + __WEBPACK_IMPORTED_MODULE_2__selection__[\"c\" /* TUPLE */];\n return tpl + ', ' +\n (selCmpt.resolve === 'global' ? 'true' : \"{unit: \" + Object(__WEBPACK_IMPORTED_MODULE_2__selection__[\"p\" /* unitName */])(model) + \"}\");\n }\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (single);\n//# sourceMappingURL=single.js.map\n\n/***/ }),\n/* 955 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = forEachTransform;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__inputs__ = __webpack_require__(956);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__nearest__ = __webpack_require__(208);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__project__ = __webpack_require__(957);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__scales__ = __webpack_require__(136);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__toggle__ = __webpack_require__(958);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__translate__ = __webpack_require__(959);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__zoom__ = __webpack_require__(960);\n\n\n\n\n\n\n\nvar compilers = { project: __WEBPACK_IMPORTED_MODULE_2__project__[\"a\" /* default */], toggle: __WEBPACK_IMPORTED_MODULE_4__toggle__[\"a\" /* default */], scales: __WEBPACK_IMPORTED_MODULE_3__scales__[\"a\" /* default */],\n translate: __WEBPACK_IMPORTED_MODULE_5__translate__[\"a\" /* default */], zoom: __WEBPACK_IMPORTED_MODULE_6__zoom__[\"a\" /* default */], inputs: __WEBPACK_IMPORTED_MODULE_0__inputs__[\"a\" /* default */], nearest: __WEBPACK_IMPORTED_MODULE_1__nearest__[\"a\" /* default */] };\nfunction forEachTransform(selCmpt, cb) {\n for (var t in compilers) {\n if (compilers[t].has(selCmpt)) {\n cb(compilers[t]);\n }\n }\n}\n//# sourceMappingURL=transforms.js.map\n\n/***/ }),\n/* 956 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__selection__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__nearest__ = __webpack_require__(208);\n\n\n\n\nvar inputBindings = {\n has: function (selCmpt) {\n return selCmpt.type === 'single' && selCmpt.resolve === 'global' &&\n selCmpt.bind && selCmpt.bind !== 'scales';\n },\n topLevelSignals: function (model, selCmpt, signals) {\n var name = selCmpt.name;\n var proj = selCmpt.project;\n var bind = selCmpt.bind;\n var datum = __WEBPACK_IMPORTED_MODULE_3__nearest__[\"a\" /* default */].has(selCmpt) ?\n '(item().isVoronoi ? datum.datum : datum)' : 'datum';\n proj.forEach(function (p) {\n var sgname = Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"varName\"])(name + \"_\" + p.field);\n var hasSignal = signals.filter(function (s) { return s.name === sgname; });\n if (!hasSignal.length) {\n signals.unshift({\n name: sgname,\n value: '',\n on: [{\n events: selCmpt.events,\n update: \"datum && item().mark.marktype !== 'group' ? \" + Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"accessPathWithDatum\"])(p.field, datum) + \" : null\"\n }],\n bind: bind[p.field] || bind[p.channel] || bind\n });\n }\n });\n return signals;\n },\n signals: function (model, selCmpt, signals) {\n var name = selCmpt.name;\n var proj = selCmpt.project;\n var signal = signals.filter(function (s) { return s.name === name + __WEBPACK_IMPORTED_MODULE_2__selection__[\"c\" /* TUPLE */]; })[0];\n var fields = proj.map(function (p) { return Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"O\" /* stringValue */])(p.field); }).join(', ');\n var values = proj.map(function (p) { return Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"varName\"])(name + \"_\" + p.field); });\n if (values.length) {\n signal.update = values.join(' && ') + \" ? {fields: [\" + fields + \"], values: [\" + values.join(', ') + \"]} : null\";\n }\n delete signal.value;\n delete signal.on;\n return signals;\n }\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (inputBindings);\n//# sourceMappingURL=inputs.js.map\n\n/***/ }),\n/* 957 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__data_timeunit__ = __webpack_require__(135);\n\n\n\nvar project = {\n has: function (selDef) {\n var def = selDef;\n return def.fields !== undefined || def.encodings !== undefined;\n },\n parse: function (model, selDef, selCmpt) {\n var channels = {};\n var timeUnits = {};\n // TODO: find a possible channel mapping for these fields.\n (selDef.fields || []).forEach(function (field) { return channels[field] = null; });\n (selDef.encodings || []).forEach(function (channel) {\n var fieldDef = model.fieldDef(channel);\n if (fieldDef) {\n if (fieldDef.timeUnit) {\n var tuField = model.vgField(channel);\n channels[tuField] = channel;\n // Construct TimeUnitComponents which will be combined into a\n // TimeUnitNode. This node may need to be inserted into the\n // dataflow if the selection is used across views that do not\n // have these time units defined.\n timeUnits[tuField] = {\n as: tuField,\n field: fieldDef.field,\n timeUnit: fieldDef.timeUnit\n };\n }\n else {\n channels[fieldDef.field] = channel;\n }\n }\n else {\n __WEBPACK_IMPORTED_MODULE_0__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_0__log__[\"b\" /* message */].cannotProjectOnChannelWithoutField(channel));\n }\n });\n var projection = selCmpt.project || (selCmpt.project = []);\n for (var field in channels) {\n if (channels.hasOwnProperty(field)) {\n projection.push({ field: field, channel: channels[field] });\n }\n }\n var fields = selCmpt.fields || (selCmpt.fields = {});\n projection.filter(function (p) { return p.channel; }).forEach(function (p) { return fields[p.channel] = p.field; });\n if (Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"keys\"])(timeUnits).length) {\n selCmpt.timeUnit = new __WEBPACK_IMPORTED_MODULE_2__data_timeunit__[\"a\" /* TimeUnitNode */](null, timeUnits);\n }\n }\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (project);\n//# sourceMappingURL=project.js.map\n\n/***/ }),\n/* 958 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__selection__ = __webpack_require__(18);\n\nvar TOGGLE = '_toggle';\nvar toggle = {\n has: function (selCmpt) {\n return selCmpt.type === 'multi' && selCmpt.toggle;\n },\n signals: function (model, selCmpt, signals) {\n return signals.concat({\n name: selCmpt.name + TOGGLE,\n value: false,\n on: [{ events: selCmpt.events, update: selCmpt.toggle }]\n });\n },\n modifyExpr: function (model, selCmpt, expr) {\n var tpl = selCmpt.name + __WEBPACK_IMPORTED_MODULE_0__selection__[\"c\" /* TUPLE */];\n var signal = selCmpt.name + TOGGLE;\n return signal + \" ? null : \" + tpl + \", \" +\n (selCmpt.resolve === 'global' ?\n signal + \" ? null : true, \" :\n signal + \" ? null : {unit: \" + Object(__WEBPACK_IMPORTED_MODULE_0__selection__[\"p\" /* unitName */])(model) + \"}, \") +\n (signal + \" ? \" + tpl + \" : null\");\n }\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (toggle);\n//# sourceMappingURL=toggle.js.map\n\n/***/ }),\n/* 959 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_event_selector__ = __webpack_require__(123);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__interval__ = __webpack_require__(207);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__selection__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__scales__ = __webpack_require__(136);\n\n\n\n\n\nvar ANCHOR = '_translate_anchor';\nvar DELTA = '_translate_delta';\nvar translate = {\n has: function (selCmpt) {\n return selCmpt.type === 'interval' && selCmpt.translate;\n },\n signals: function (model, selCmpt, signals) {\n var name = selCmpt.name;\n var hasScales = __WEBPACK_IMPORTED_MODULE_4__scales__[\"a\" /* default */].has(selCmpt);\n var anchor = name + ANCHOR;\n var _a = Object(__WEBPACK_IMPORTED_MODULE_3__selection__[\"l\" /* positionalProjections */])(selCmpt), x = _a.x, y = _a.y;\n var events = Object(__WEBPACK_IMPORTED_MODULE_0_vega_event_selector__[\"a\" /* selector */])(selCmpt.translate, 'scope');\n if (!hasScales) {\n events = events.map(function (e) { return (e.between[0].markname = name + __WEBPACK_IMPORTED_MODULE_2__interval__[\"a\" /* BRUSH */], e); });\n }\n signals.push({\n name: anchor,\n value: {},\n on: [{\n events: events.map(function (e) { return e.between[0]; }),\n update: '{x: x(unit), y: y(unit)' +\n (x !== null ? ', extent_x: ' + (hasScales ? Object(__WEBPACK_IMPORTED_MODULE_4__scales__[\"b\" /* domain */])(model, __WEBPACK_IMPORTED_MODULE_1__channel__[\"X\"]) :\n \"slice(\" + Object(__WEBPACK_IMPORTED_MODULE_3__selection__[\"i\" /* channelSignalName */])(selCmpt, 'x', 'visual') + \")\") : '') +\n (y !== null ? ', extent_y: ' + (hasScales ? Object(__WEBPACK_IMPORTED_MODULE_4__scales__[\"b\" /* domain */])(model, __WEBPACK_IMPORTED_MODULE_1__channel__[\"Y\"]) :\n \"slice(\" + Object(__WEBPACK_IMPORTED_MODULE_3__selection__[\"i\" /* channelSignalName */])(selCmpt, 'y', 'visual') + \")\") : '') + '}'\n }]\n }, {\n name: name + DELTA,\n value: {},\n on: [{\n events: events,\n update: \"{x: \" + anchor + \".x - x(unit), y: \" + anchor + \".y - y(unit)}\"\n }]\n });\n if (x !== null) {\n onDelta(model, selCmpt, __WEBPACK_IMPORTED_MODULE_1__channel__[\"X\"], 'width', signals);\n }\n if (y !== null) {\n onDelta(model, selCmpt, __WEBPACK_IMPORTED_MODULE_1__channel__[\"Y\"], 'height', signals);\n }\n return signals;\n }\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (translate);\nfunction onDelta(model, selCmpt, channel, size, signals) {\n var name = selCmpt.name;\n var hasScales = __WEBPACK_IMPORTED_MODULE_4__scales__[\"a\" /* default */].has(selCmpt);\n var signal = signals.filter(function (s) {\n return s.name === Object(__WEBPACK_IMPORTED_MODULE_3__selection__[\"i\" /* channelSignalName */])(selCmpt, channel, hasScales ? 'data' : 'visual');\n })[0];\n var anchor = name + ANCHOR;\n var delta = name + DELTA;\n var sizeSg = model.getSizeSignalRef(size).signal;\n var scaleCmpt = model.getScaleComponent(channel);\n var scaleType = scaleCmpt.get('type');\n var sign = hasScales && channel === __WEBPACK_IMPORTED_MODULE_1__channel__[\"X\"] ? '-' : ''; // Invert delta when panning x-scales.\n var extent = anchor + \".extent_\" + channel;\n var offset = \"\" + sign + delta + \".\" + channel + \" / \" + (hasScales ? \"\" + sizeSg : \"span(\" + extent + \")\");\n var panFn = !hasScales ? 'panLinear' :\n scaleType === 'log' ? 'panLog' :\n scaleType === 'pow' ? 'panPow' : 'panLinear';\n var update = panFn + \"(\" + extent + \", \" + offset +\n (hasScales && scaleType === 'pow' ? \", \" + (scaleCmpt.get('exponent') || 1) : '') + ')';\n signal.on.push({\n events: { signal: delta },\n update: hasScales ? update : \"clampRange(\" + update + \", 0, \" + sizeSg + \")\"\n });\n}\n//# sourceMappingURL=translate.js.map\n\n/***/ }),\n/* 960 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_event_selector__ = __webpack_require__(123);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__interval__ = __webpack_require__(207);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__selection__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__scales__ = __webpack_require__(136);\n\n\n\n\n\n\nvar ANCHOR = '_zoom_anchor';\nvar DELTA = '_zoom_delta';\nvar zoom = {\n has: function (selCmpt) {\n return selCmpt.type === 'interval' && selCmpt.zoom;\n },\n signals: function (model, selCmpt, signals) {\n var name = selCmpt.name;\n var hasScales = __WEBPACK_IMPORTED_MODULE_5__scales__[\"a\" /* default */].has(selCmpt);\n var delta = name + DELTA;\n var _a = Object(__WEBPACK_IMPORTED_MODULE_4__selection__[\"l\" /* positionalProjections */])(selCmpt), x = _a.x, y = _a.y;\n var sx = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"O\" /* stringValue */])(model.scaleName(__WEBPACK_IMPORTED_MODULE_2__channel__[\"X\"]));\n var sy = Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"O\" /* stringValue */])(model.scaleName(__WEBPACK_IMPORTED_MODULE_2__channel__[\"Y\"]));\n var events = Object(__WEBPACK_IMPORTED_MODULE_0_vega_event_selector__[\"a\" /* selector */])(selCmpt.zoom, 'scope');\n if (!hasScales) {\n events = events.map(function (e) { return (e.markname = name + __WEBPACK_IMPORTED_MODULE_3__interval__[\"a\" /* BRUSH */], e); });\n }\n signals.push({\n name: name + ANCHOR,\n on: [{\n events: events,\n update: !hasScales ? \"{x: x(unit), y: y(unit)}\" :\n '{' + [\n (sx ? \"x: invert(\" + sx + \", x(unit))\" : ''),\n (sy ? \"y: invert(\" + sy + \", y(unit))\" : '')\n ].filter(function (expr) { return !!expr; }).join(', ') + '}'\n }]\n }, {\n name: delta,\n on: [{\n events: events,\n force: true,\n update: 'pow(1.001, event.deltaY * pow(16, event.deltaMode))'\n }]\n });\n if (x !== null) {\n onDelta(model, selCmpt, 'x', 'width', signals);\n }\n if (y !== null) {\n onDelta(model, selCmpt, 'y', 'height', signals);\n }\n return signals;\n }\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (zoom);\nfunction onDelta(model, selCmpt, channel, size, signals) {\n var name = selCmpt.name;\n var hasScales = __WEBPACK_IMPORTED_MODULE_5__scales__[\"a\" /* default */].has(selCmpt);\n var signal = signals.filter(function (s) {\n return s.name === Object(__WEBPACK_IMPORTED_MODULE_4__selection__[\"i\" /* channelSignalName */])(selCmpt, channel, hasScales ? 'data' : 'visual');\n })[0];\n var sizeSg = model.getSizeSignalRef(size).signal;\n var scaleCmpt = model.getScaleComponent(channel);\n var scaleType = scaleCmpt.get('type');\n var base = hasScales ? Object(__WEBPACK_IMPORTED_MODULE_5__scales__[\"b\" /* domain */])(model, channel) : signal.name;\n var delta = name + DELTA;\n var anchor = \"\" + name + ANCHOR + \".\" + channel;\n var zoomFn = !hasScales ? 'zoomLinear' :\n scaleType === 'log' ? 'zoomLog' :\n scaleType === 'pow' ? 'zoomPow' : 'zoomLinear';\n var update = zoomFn + \"(\" + base + \", \" + anchor + \", \" + delta +\n (hasScales && scaleType === 'pow' ? \", \" + (scaleCmpt.get('exponent') || 1) : '') + ')';\n signal.on.push({\n events: { signal: delta },\n update: hasScales ? update : \"clampRange(\" + update + \", 0, \" + sizeSg + \")\"\n });\n}\n//# sourceMappingURL=zoom.js.map\n\n/***/ }),\n/* 961 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return AncestorParse; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__split__ = __webpack_require__(27);\n\n\n/**\n * Class to track interesting properties (see https://15721.courses.cs.cmu.edu/spring2016/papers/graefe-ieee1995.pdf)\n * about how fields have been parsed or whether they have been derived in a transforms. We use this to not parse the\n * same field again (or differently).\n */\nvar AncestorParse = /** @class */ (function (_super) {\n __WEBPACK_IMPORTED_MODULE_0_tslib__[\"c\" /* __extends */](AncestorParse, _super);\n function AncestorParse(explicit, implicit, parseNothing) {\n if (explicit === void 0) { explicit = {}; }\n if (implicit === void 0) { implicit = {}; }\n if (parseNothing === void 0) { parseNothing = false; }\n var _this = _super.call(this, explicit, implicit) || this;\n _this.explicit = explicit;\n _this.implicit = implicit;\n _this.parseNothing = parseNothing;\n return _this;\n }\n AncestorParse.prototype.clone = function () {\n var clone = _super.prototype.clone.call(this);\n clone.parseNothing = this.parseNothing;\n return clone;\n };\n return AncestorParse;\n}(__WEBPACK_IMPORTED_MODULE_1__split__[\"a\" /* Split */]));\n\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 962 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return LayerModel; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__spec__ = __webpack_require__(61);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__axis_parse__ = __webpack_require__(394);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__data_parse__ = __webpack_require__(130);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__layoutsize_assemble__ = __webpack_require__(131);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__layoutsize_parse__ = __webpack_require__(89);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__legend_assemble__ = __webpack_require__(378);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__model__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__selection_selection__ = __webpack_require__(18);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__unit__ = __webpack_require__(396);\n\n\n\n\n\n\n\n\n\n\n\n\nvar LayerModel = /** @class */ (function (_super) {\n __WEBPACK_IMPORTED_MODULE_0_tslib__[\"c\" /* __extends */](LayerModel, _super);\n function LayerModel(spec, parent, parentGivenName, parentGivenSize, repeater, config, fit) {\n var _this = _super.call(this, spec, parent, parentGivenName, config, repeater, spec.resolve) || this;\n _this.type = 'layer';\n var layoutSize = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, parentGivenSize, (spec.width ? { width: spec.width } : {}), (spec.height ? { height: spec.height } : {}));\n _this.initSize(layoutSize);\n _this.children = spec.layer.map(function (layer, i) {\n if (Object(__WEBPACK_IMPORTED_MODULE_2__spec__[\"isLayerSpec\"])(layer)) {\n return new LayerModel(layer, _this, _this.getName('layer_' + i), layoutSize, repeater, config, fit);\n }\n if (Object(__WEBPACK_IMPORTED_MODULE_2__spec__[\"isUnitSpec\"])(layer)) {\n return new __WEBPACK_IMPORTED_MODULE_11__unit__[\"a\" /* UnitModel */](layer, _this, _this.getName('layer_' + i), layoutSize, repeater, config, fit);\n }\n throw new Error(__WEBPACK_IMPORTED_MODULE_1__log__[\"b\" /* message */].INVALID_SPEC);\n });\n return _this;\n }\n LayerModel.prototype.parseData = function () {\n this.component.data = Object(__WEBPACK_IMPORTED_MODULE_5__data_parse__[\"a\" /* parseData */])(this);\n for (var _i = 0, _a = this.children; _i < _a.length; _i++) {\n var child = _a[_i];\n child.parseData();\n }\n };\n LayerModel.prototype.parseLayoutSize = function () {\n Object(__WEBPACK_IMPORTED_MODULE_7__layoutsize_parse__[\"c\" /* parseLayerLayoutSize */])(this);\n };\n LayerModel.prototype.parseSelection = function () {\n var _this = this;\n // Merge selections up the hierarchy so that they may be referenced\n // across unit specs. Persist their definitions within each child\n // to assemble signals which remain within output Vega unit groups.\n this.component.selection = {};\n var _loop_1 = function (child) {\n child.parseSelection();\n Object(__WEBPACK_IMPORTED_MODULE_3__util__[\"keys\"])(child.component.selection).forEach(function (key) {\n _this.component.selection[key] = child.component.selection[key];\n });\n };\n for (var _i = 0, _a = this.children; _i < _a.length; _i++) {\n var child = _a[_i];\n _loop_1(child);\n }\n };\n LayerModel.prototype.parseMarkGroup = function () {\n for (var _i = 0, _a = this.children; _i < _a.length; _i++) {\n var child = _a[_i];\n child.parseMarkGroup();\n }\n };\n LayerModel.prototype.parseAxisAndHeader = function () {\n Object(__WEBPACK_IMPORTED_MODULE_4__axis_parse__[\"a\" /* parseLayerAxis */])(this);\n };\n LayerModel.prototype.assembleSelectionTopLevelSignals = function (signals) {\n return this.children.reduce(function (sg, child) { return child.assembleSelectionTopLevelSignals(sg); }, signals);\n };\n // TODO: Support same named selections across children.\n LayerModel.prototype.assembleSelectionSignals = function () {\n return this.children.reduce(function (signals, child) {\n return signals.concat(child.assembleSelectionSignals());\n }, []);\n };\n LayerModel.prototype.assembleLayoutSignals = function () {\n return this.children.reduce(function (signals, child) {\n return signals.concat(child.assembleLayoutSignals());\n }, Object(__WEBPACK_IMPORTED_MODULE_6__layoutsize_assemble__[\"a\" /* assembleLayoutSignals */])(this));\n };\n LayerModel.prototype.assembleSelectionData = function (data) {\n return this.children.reduce(function (db, child) { return child.assembleSelectionData(db); }, data);\n };\n LayerModel.prototype.assembleTitle = function () {\n var title = _super.prototype.assembleTitle.call(this);\n if (title) {\n return title;\n }\n // If title does not provide layer, look into children\n for (var _i = 0, _a = this.children; _i < _a.length; _i++) {\n var child = _a[_i];\n title = child.assembleTitle();\n if (title) {\n return title;\n }\n }\n return undefined;\n };\n LayerModel.prototype.assembleLayout = function () {\n return null;\n };\n LayerModel.prototype.assembleMarks = function () {\n return Object(__WEBPACK_IMPORTED_MODULE_10__selection_selection__[\"d\" /* assembleLayerSelectionMarks */])(this, Object(__WEBPACK_IMPORTED_MODULE_3__util__[\"flatten\"])(this.children.map(function (child) {\n return child.assembleMarks();\n })));\n };\n LayerModel.prototype.assembleLegends = function () {\n return this.children.reduce(function (legends, child) {\n return legends.concat(child.assembleLegends());\n }, Object(__WEBPACK_IMPORTED_MODULE_8__legend_assemble__[\"a\" /* assembleLegends */])(this));\n };\n return LayerModel;\n}(__WEBPACK_IMPORTED_MODULE_9__model__[\"a\" /* Model */]));\n\n//# sourceMappingURL=layer.js.map\n\n/***/ }),\n/* 963 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return AxisComponent; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__split__ = __webpack_require__(27);\n\n\n\nfunction isFalseOrNull(v) {\n return v === false || v === null;\n}\nvar AxisComponent = /** @class */ (function (_super) {\n __WEBPACK_IMPORTED_MODULE_0_tslib__[\"c\" /* __extends */](AxisComponent, _super);\n function AxisComponent(explicit, implicit, mainExtracted) {\n if (explicit === void 0) { explicit = {}; }\n if (implicit === void 0) { implicit = {}; }\n if (mainExtracted === void 0) { mainExtracted = false; }\n var _this = _super.call(this) || this;\n _this.explicit = explicit;\n _this.implicit = implicit;\n _this.mainExtracted = mainExtracted;\n return _this;\n }\n AxisComponent.prototype.clone = function () {\n return new AxisComponent(Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"duplicate\"])(this.explicit), Object(__WEBPACK_IMPORTED_MODULE_1__util__[\"duplicate\"])(this.implicit), this.mainExtracted);\n };\n AxisComponent.prototype.hasAxisPart = function (part) {\n // FIXME(https://github.com/vega/vega-lite/issues/2552) this method can be wrong if users use a Vega theme.\n if (part === 'axis') { // always has the axis container part\n return true;\n }\n if (part === 'grid' || part === 'title') {\n return !!this.get(part);\n }\n // Other parts are enabled by default, so they should not be false or null.\n return !isFalseOrNull(this.get(part));\n };\n return AxisComponent;\n}(__WEBPACK_IMPORTED_MODULE_2__split__[\"a\" /* Split */]));\n\n//# sourceMappingURL=component.js.map\n\n/***/ }),\n/* 964 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = labels;\n/* unused harmony export labelBaseline */\n/* unused harmony export labelAngle */\n/* unused harmony export labelAlign */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__scale__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__type__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__common__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__config__ = __webpack_require__(395);\n\n\n\n\n\n\n\n\nfunction labels(model, channel, specifiedLabelsSpec, orient) {\n var fieldDef = model.fieldDef(channel) ||\n (channel === 'x' ? model.fieldDef('x2') :\n channel === 'y' ? model.fieldDef('y2') :\n undefined);\n var axis = model.axis(channel);\n var config = model.config;\n var labelsSpec = {};\n // Text\n if (Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"isTimeFieldDef\"])(fieldDef)) {\n var isUTCScale = model.getScaleComponent(channel).get('type') === __WEBPACK_IMPORTED_MODULE_3__scale__[\"ScaleType\"].UTC;\n var expr = Object(__WEBPACK_IMPORTED_MODULE_6__common__[\"n\" /* timeFormatExpression */])('datum.value', fieldDef.timeUnit, axis.format, config.axis.shortTimeLabels, config.timeFormat, isUTCScale);\n if (expr) {\n labelsSpec.text = { signal: expr };\n }\n }\n // Label Angle\n var angle = Object(__WEBPACK_IMPORTED_MODULE_7__config__[\"a\" /* getAxisConfig */])('labelAngle', model.config, channel, orient, model.getScaleComponent(channel).get('type'));\n if (angle === undefined) {\n angle = labelAngle(axis, channel, fieldDef);\n if (angle) {\n labelsSpec.angle = { value: angle };\n }\n }\n if (angle !== undefined) {\n var align = labelAlign(angle, orient);\n if (align) {\n labelsSpec.align = { value: align };\n }\n labelsSpec.baseline = labelBaseline(angle, orient);\n }\n labelsSpec = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, labelsSpec, specifiedLabelsSpec);\n return Object(__WEBPACK_IMPORTED_MODULE_5__util__[\"keys\"])(labelsSpec).length === 0 ? undefined : labelsSpec;\n}\nfunction labelBaseline(angle, orient) {\n if (orient === 'top' || orient === 'bottom') {\n if (angle <= 45 || 315 <= angle) {\n return { value: orient === 'top' ? 'bottom' : 'top' };\n }\n else if (135 <= angle && angle <= 225) {\n return { value: orient === 'top' ? 'top' : 'bottom' };\n }\n else {\n return { value: 'middle' };\n }\n }\n else {\n if ((angle <= 45 || 315 <= angle) || (135 <= angle && angle <= 225)) {\n return { value: 'middle' };\n }\n else if (45 <= angle && angle <= 135) {\n return { value: orient === 'left' ? 'top' : 'bottom' };\n }\n else {\n return { value: orient === 'left' ? 'bottom' : 'top' };\n }\n }\n}\nfunction labelAngle(axis, channel, fieldDef) {\n if (axis.labelAngle !== undefined) {\n // Make angle within [0,360)\n return ((axis.labelAngle % 360) + 360) % 360;\n }\n else {\n if (channel === __WEBPACK_IMPORTED_MODULE_1__channel__[\"X\"] && Object(__WEBPACK_IMPORTED_MODULE_5__util__[\"contains\"])([__WEBPACK_IMPORTED_MODULE_4__type__[\"NOMINAL\"], __WEBPACK_IMPORTED_MODULE_4__type__[\"ORDINAL\"]], fieldDef.type)) {\n return 270;\n }\n }\n return undefined;\n}\nfunction labelAlign(angle, orient) {\n angle = ((angle % 360) + 360) % 360;\n if (orient === 'top' || orient === 'bottom') {\n if (angle % 180 === 0) {\n return 'center';\n }\n else if (0 < angle && angle < 180) {\n return orient === 'top' ? 'right' : 'left';\n }\n else {\n return orient === 'top' ? 'left' : 'right';\n }\n }\n else {\n if ((angle + 90) % 180 === 0) {\n return 'center';\n }\n else if (90 <= angle && angle < 270) {\n return orient === 'left' ? 'left' : 'right';\n }\n else {\n return orient === 'left' ? 'right' : 'left';\n }\n }\n}\n//# sourceMappingURL=encode.js.map\n\n/***/ }),\n/* 965 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = grid;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = gridScale;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = labelFlush;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = labelOverlap;\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = orient;\n/* harmony export (immutable) */ __webpack_exports__[\"f\"] = tickCount;\n/* unused harmony export title */\n/* harmony export (immutable) */ __webpack_exports__[\"g\"] = values;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__bin__ = __webpack_require__(85);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__scale__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__type__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__util__ = __webpack_require__(3);\n\n\n\n\n\n\n\n\n// TODO: we need to refactor this method after we take care of config refactoring\n/**\n * Default rules for whether to show a grid should be shown for a channel.\n * If `grid` is unspecified, the default value is `true` for ordinal scales that are not binned\n */\nfunction grid(scaleType, fieldDef) {\n return !Object(__WEBPACK_IMPORTED_MODULE_5__scale__[\"hasDiscreteDomain\"])(scaleType) && !fieldDef.bin;\n}\nfunction gridScale(model, channel) {\n var gridChannel = channel === 'x' ? 'y' : 'x';\n if (model.getScaleComponent(gridChannel)) {\n return model.scaleName(gridChannel);\n }\n return undefined;\n}\nfunction labelFlush(fieldDef, channel, specifiedAxis) {\n if (specifiedAxis.labelFlush !== undefined) {\n return specifiedAxis.labelFlush;\n }\n if (channel === 'x' && Object(__WEBPACK_IMPORTED_MODULE_7__util__[\"contains\"])(['quantitative', 'temporal'], fieldDef.type)) {\n return true;\n }\n return undefined;\n}\nfunction labelOverlap(fieldDef, specifiedAxis, channel, scaleType) {\n if (specifiedAxis.labelOverlap !== undefined) {\n return specifiedAxis.labelOverlap;\n }\n // do not prevent overlap for nominal data because there is no way to infer what the missing labels are\n if (fieldDef.type !== 'nominal') {\n if (scaleType === 'log') {\n return 'greedy';\n }\n return true;\n }\n return undefined;\n}\nfunction orient(channel) {\n switch (channel) {\n case __WEBPACK_IMPORTED_MODULE_2__channel__[\"X\"]:\n return 'bottom';\n case __WEBPACK_IMPORTED_MODULE_2__channel__[\"Y\"]:\n return 'left';\n }\n /* istanbul ignore next: This should never happen. */\n throw new Error(__WEBPACK_IMPORTED_MODULE_4__log__[\"b\" /* message */].INVALID_CHANNEL_FOR_AXIS);\n}\nfunction tickCount(channel, fieldDef, scaleType, size) {\n if (!Object(__WEBPACK_IMPORTED_MODULE_5__scale__[\"hasDiscreteDomain\"])(scaleType) && scaleType !== 'log' && !Object(__WEBPACK_IMPORTED_MODULE_7__util__[\"contains\"])(['month', 'hours', 'day', 'quarter'], fieldDef.timeUnit)) {\n if (fieldDef.bin) {\n // for binned data, we don't want more ticks than maxbins\n return { signal: \"ceil(\" + size.signal + \"/20)\" };\n }\n return { signal: \"ceil(\" + size.signal + \"/40)\" };\n }\n return undefined;\n}\nfunction title(maxLength, fieldDef, config) {\n // if not defined, automatically determine axis title from field def\n var fieldTitle = Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"title\"])(fieldDef, config);\n return maxLength ? Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"U\" /* truncate */])(fieldTitle, maxLength) : fieldTitle;\n}\nfunction values(specifiedAxis, model, fieldDef, channel) {\n var vals = specifiedAxis.values;\n if (vals) {\n return Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"valueArray\"])(fieldDef, vals);\n }\n if (fieldDef.bin && fieldDef.type === __WEBPACK_IMPORTED_MODULE_6__type__[\"QUANTITATIVE\"]) {\n var domain = model.scaleDomain(channel);\n if (domain && domain !== 'unaggregated' && !Object(__WEBPACK_IMPORTED_MODULE_5__scale__[\"isSelectionDomain\"])(domain)) { // explicit value\n return undefined;\n }\n var signal = model.getName(Object(__WEBPACK_IMPORTED_MODULE_1__bin__[\"binToString\"])(fieldDef.bin) + \"_\" + fieldDef.field + \"_bins\");\n return { signal: \"sequence(\" + signal + \".start, \" + signal + \".stop + \" + signal + \".step, \" + signal + \".step)\" };\n }\n return undefined;\n}\n//# sourceMappingURL=properties.js.map\n\n/***/ }),\n/* 966 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = normalizeMarkDef;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__encoding__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__mark__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__type__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__common__ = __webpack_require__(23);\n\n\n\n\n\n\n\n\nfunction normalizeMarkDef(mark, encoding, config) {\n var markDef = Object(__WEBPACK_IMPORTED_MODULE_4__mark__[\"isMarkDef\"])(mark) ? __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, mark) : { type: mark };\n // set orient, which can be overridden by rules as sometimes the specified orient is invalid.\n var specifiedOrient = markDef.orient || Object(__WEBPACK_IMPORTED_MODULE_7__common__[\"e\" /* getMarkConfig */])('orient', markDef, config);\n markDef.orient = orient(markDef.type, encoding, specifiedOrient);\n if (specifiedOrient !== undefined && specifiedOrient !== markDef.orient) {\n __WEBPACK_IMPORTED_MODULE_3__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_3__log__[\"b\" /* message */].orientOverridden(markDef.orient, specifiedOrient));\n }\n // set opacity and filled if not specified in mark config\n var specifiedOpacity = markDef.opacity !== undefined ? markDef.opacity : Object(__WEBPACK_IMPORTED_MODULE_7__common__[\"e\" /* getMarkConfig */])('opacity', markDef, config);\n if (specifiedOpacity === undefined) {\n markDef.opacity = opacity(markDef.type, encoding);\n }\n var specifiedFilled = markDef.filled;\n if (specifiedFilled === undefined) {\n markDef.filled = filled(markDef, config);\n }\n // set cursor, which should be pointer if href channel is present unless otherwise specified\n var specifiedCursor = markDef.cursor || Object(__WEBPACK_IMPORTED_MODULE_7__common__[\"e\" /* getMarkConfig */])('cursor', markDef, config);\n if (specifiedCursor === undefined) {\n markDef.cursor = cursor(markDef, encoding, config);\n }\n return markDef;\n}\nfunction cursor(markDef, encoding, config) {\n if (encoding.href || markDef.href || Object(__WEBPACK_IMPORTED_MODULE_7__common__[\"e\" /* getMarkConfig */])('href', markDef, config)) {\n return 'pointer';\n }\n return markDef.cursor;\n}\nfunction opacity(mark, encoding) {\n if (Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"contains\"])([__WEBPACK_IMPORTED_MODULE_4__mark__[\"POINT\"], __WEBPACK_IMPORTED_MODULE_4__mark__[\"TICK\"], __WEBPACK_IMPORTED_MODULE_4__mark__[\"CIRCLE\"], __WEBPACK_IMPORTED_MODULE_4__mark__[\"SQUARE\"]], mark)) {\n // point-based marks\n if (!Object(__WEBPACK_IMPORTED_MODULE_1__encoding__[\"isAggregate\"])(encoding)) {\n return 0.7;\n }\n }\n return undefined;\n}\nfunction filled(markDef, config) {\n var filledConfig = Object(__WEBPACK_IMPORTED_MODULE_7__common__[\"e\" /* getMarkConfig */])('filled', markDef, config);\n var mark = markDef.type;\n return filledConfig !== undefined ? filledConfig : mark !== __WEBPACK_IMPORTED_MODULE_4__mark__[\"POINT\"] && mark !== __WEBPACK_IMPORTED_MODULE_4__mark__[\"LINE\"] && mark !== __WEBPACK_IMPORTED_MODULE_4__mark__[\"RULE\"];\n}\nfunction orient(mark, encoding, specifiedOrient) {\n switch (mark) {\n case __WEBPACK_IMPORTED_MODULE_4__mark__[\"POINT\"]:\n case __WEBPACK_IMPORTED_MODULE_4__mark__[\"CIRCLE\"]:\n case __WEBPACK_IMPORTED_MODULE_4__mark__[\"SQUARE\"]:\n case __WEBPACK_IMPORTED_MODULE_4__mark__[\"TEXT\"]:\n case __WEBPACK_IMPORTED_MODULE_4__mark__[\"RECT\"]:\n // orient is meaningless for these marks.\n return undefined;\n }\n var yIsRange = encoding.y2;\n var xIsRange = encoding.x2;\n switch (mark) {\n case __WEBPACK_IMPORTED_MODULE_4__mark__[\"BAR\"]:\n if (yIsRange || xIsRange) {\n // Ranged bar does not always have clear orientation, so we allow overriding\n if (specifiedOrient) {\n return specifiedOrient;\n }\n // If y is range and x is non-range, non-bin Q, y is likely a prebinned field\n var xDef = encoding.x;\n if (!xIsRange && Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"isFieldDef\"])(xDef) && xDef.type === __WEBPACK_IMPORTED_MODULE_5__type__[\"QUANTITATIVE\"] && !xDef.bin) {\n return 'horizontal';\n }\n // If x is range and y is non-range, non-bin Q, x is likely a prebinned field\n var yDef = encoding.y;\n if (!yIsRange && Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"isFieldDef\"])(yDef) && yDef.type === __WEBPACK_IMPORTED_MODULE_5__type__[\"QUANTITATIVE\"] && !yDef.bin) {\n return 'vertical';\n }\n }\n /* tslint:disable */\n case __WEBPACK_IMPORTED_MODULE_4__mark__[\"RULE\"]: // intentionally fall through\n // return undefined for line segment rule and bar with both axis ranged\n if (xIsRange && yIsRange) {\n return undefined;\n }\n case __WEBPACK_IMPORTED_MODULE_4__mark__[\"AREA\"]: // intentionally fall through\n // If there are range for both x and y, y (vertical) has higher precedence.\n if (yIsRange) {\n return 'vertical';\n }\n else if (xIsRange) {\n return 'horizontal';\n }\n else if (mark === __WEBPACK_IMPORTED_MODULE_4__mark__[\"RULE\"]) {\n if (encoding.x && !encoding.y) {\n return 'vertical';\n }\n else if (encoding.y && !encoding.x) {\n return 'horizontal';\n }\n }\n case __WEBPACK_IMPORTED_MODULE_4__mark__[\"LINE\"]: // intentional fall through\n case __WEBPACK_IMPORTED_MODULE_4__mark__[\"TICK\"]: // Tick is opposite to bar, line, area and never have ranged mark.\n /* tslint:enable */\n var xIsContinuous = Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"isFieldDef\"])(encoding.x) && Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"isContinuous\"])(encoding.x);\n var yIsContinuous = Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"isFieldDef\"])(encoding.y) && Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"isContinuous\"])(encoding.y);\n if (xIsContinuous && !yIsContinuous) {\n return mark !== 'tick' ? 'horizontal' : 'vertical';\n }\n else if (!xIsContinuous && yIsContinuous) {\n return mark !== 'tick' ? 'vertical' : 'horizontal';\n }\n else if (xIsContinuous && yIsContinuous) {\n var xDef = encoding.x; // we can cast here since they are surely fieldDef\n var yDef = encoding.y;\n var xIsTemporal = xDef.type === __WEBPACK_IMPORTED_MODULE_5__type__[\"TEMPORAL\"];\n var yIsTemporal = yDef.type === __WEBPACK_IMPORTED_MODULE_5__type__[\"TEMPORAL\"];\n // temporal without timeUnit is considered continuous, but better serves as dimension\n if (xIsTemporal && !yIsTemporal) {\n return mark !== 'tick' ? 'vertical' : 'horizontal';\n }\n else if (!xIsTemporal && yIsTemporal) {\n return mark !== 'tick' ? 'horizontal' : 'vertical';\n }\n if (!xDef.aggregate && yDef.aggregate) {\n return mark !== 'tick' ? 'vertical' : 'horizontal';\n }\n else if (xDef.aggregate && !yDef.aggregate) {\n return mark !== 'tick' ? 'horizontal' : 'vertical';\n }\n if (specifiedOrient) {\n // When ambiguous, use user specified one.\n return specifiedOrient;\n }\n return 'vertical';\n }\n else {\n // Discrete x Discrete case\n if (specifiedOrient) {\n // When ambiguous, use user specified one.\n return specifiedOrient;\n }\n return undefined;\n }\n }\n return 'vertical';\n}\n//# sourceMappingURL=init.js.map\n\n/***/ }),\n/* 967 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = parseMarkGroup;\n/* unused harmony export getSort */\n/* unused harmony export pathGroupingFields */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__data__ = __webpack_require__(45);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__encoding__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__mark__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__sort__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__util__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__common__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__area__ = __webpack_require__(968);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__bar__ = __webpack_require__(969);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__geoshape__ = __webpack_require__(970);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__line__ = __webpack_require__(971);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__point__ = __webpack_require__(972);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__rect__ = __webpack_require__(973);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__rule__ = __webpack_require__(974);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__text__ = __webpack_require__(975);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__tick__ = __webpack_require__(976);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar markCompiler = {\n area: __WEBPACK_IMPORTED_MODULE_9__area__[\"a\" /* area */],\n bar: __WEBPACK_IMPORTED_MODULE_10__bar__[\"a\" /* bar */],\n circle: __WEBPACK_IMPORTED_MODULE_13__point__[\"a\" /* circle */],\n geoshape: __WEBPACK_IMPORTED_MODULE_11__geoshape__[\"a\" /* geoshape */],\n line: __WEBPACK_IMPORTED_MODULE_12__line__[\"a\" /* line */],\n point: __WEBPACK_IMPORTED_MODULE_13__point__[\"b\" /* point */],\n rect: __WEBPACK_IMPORTED_MODULE_14__rect__[\"a\" /* rect */],\n rule: __WEBPACK_IMPORTED_MODULE_15__rule__[\"a\" /* rule */],\n square: __WEBPACK_IMPORTED_MODULE_13__point__[\"c\" /* square */],\n text: __WEBPACK_IMPORTED_MODULE_16__text__[\"a\" /* text */],\n tick: __WEBPACK_IMPORTED_MODULE_17__tick__[\"a\" /* tick */],\n trail: __WEBPACK_IMPORTED_MODULE_12__line__[\"b\" /* trail */]\n};\nfunction parseMarkGroup(model) {\n if (Object(__WEBPACK_IMPORTED_MODULE_7__util__[\"contains\"])([__WEBPACK_IMPORTED_MODULE_5__mark__[\"LINE\"], __WEBPACK_IMPORTED_MODULE_5__mark__[\"AREA\"], __WEBPACK_IMPORTED_MODULE_5__mark__[\"TRAIL\"]], model.mark)) {\n return parsePathMark(model);\n }\n else {\n return getMarkGroups(model);\n }\n}\nvar FACETED_PATH_PREFIX = 'faceted_path_';\nfunction parsePathMark(model) {\n var details = pathGroupingFields(model.mark, model.encoding);\n var pathMarks = getMarkGroups(model, {\n // If has subfacet for line/area group, need to use faceted data from below.\n fromPrefix: (details.length > 0 ? FACETED_PATH_PREFIX : '')\n });\n if (details.length > 0) { // have level of details - need to facet line into subgroups\n // TODO: for non-stacked plot, map order to zindex. (Maybe rename order for layer to zindex?)\n return [{\n name: model.getName('pathgroup'),\n type: 'group',\n from: {\n facet: {\n name: FACETED_PATH_PREFIX + model.requestDataName(__WEBPACK_IMPORTED_MODULE_2__data__[\"MAIN\"]),\n data: model.requestDataName(__WEBPACK_IMPORTED_MODULE_2__data__[\"MAIN\"]),\n groupby: details,\n }\n },\n encode: {\n update: {\n width: { field: { group: 'width' } },\n height: { field: { group: 'height' } }\n }\n },\n marks: pathMarks\n }];\n }\n else {\n return pathMarks;\n }\n}\nfunction getSort(model) {\n var encoding = model.encoding, stack = model.stack, mark = model.mark, markDef = model.markDef;\n var order = encoding.order;\n if (!Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(order) && Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"isValueDef\"])(order)) {\n return undefined;\n }\n else if ((Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(order) || Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"isFieldDef\"])(order)) && !stack) {\n // Sort by the order field if it is specified and the field is not stacked. (For stacked field, order specify stack order.)\n return Object(__WEBPACK_IMPORTED_MODULE_8__common__[\"m\" /* sortParams */])(order, { expr: 'datum' });\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_5__mark__[\"isPathMark\"])(mark)) {\n // For both line and area, we sort values based on dimension by default\n var dimensionChannelDef = encoding[markDef.orient === 'horizontal' ? 'y' : 'x'];\n if (Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"isFieldDef\"])(dimensionChannelDef)) {\n var s = dimensionChannelDef.sort;\n var sortField = Object(__WEBPACK_IMPORTED_MODULE_6__sort__[\"isSortField\"])(s) ?\n Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"vgField\"])({\n // FIXME: this op might not already exist?\n // FIXME: what if dimensionChannel (x or y) contains custom domain?\n aggregate: Object(__WEBPACK_IMPORTED_MODULE_3__encoding__[\"isAggregate\"])(model.encoding) ? s.op : undefined,\n field: s.field\n }, { expr: 'datum' }) :\n Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"vgField\"])(dimensionChannelDef, {\n // For stack with imputation, we only have bin_mid\n binSuffix: model.stack && model.stack.impute ? 'mid' : undefined,\n expr: 'datum'\n });\n return {\n field: sortField,\n order: 'descending'\n };\n }\n return undefined;\n }\n return undefined;\n}\nfunction getMarkGroups(model, opt) {\n if (opt === void 0) { opt = { fromPrefix: '' }; }\n var mark = model.mark;\n var clip = model.markDef.clip !== undefined ?\n !!model.markDef.clip : scaleClip(model);\n var style = Object(__WEBPACK_IMPORTED_MODULE_8__common__[\"g\" /* getStyles */])(model.markDef);\n var key = model.encoding.key;\n var sort = getSort(model);\n var postEncodingTransform = markCompiler[mark].postEncodingTransform ? markCompiler[mark].postEncodingTransform(model) : null;\n return [__WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ name: model.getName('marks'), type: markCompiler[mark].vgMark }, (clip ? { clip: true } : {}), (style ? { style: style } : {}), (key ? { key: { field: key.field } } : {}), (sort ? { sort: sort } : {}), { from: { data: opt.fromPrefix + model.requestDataName(__WEBPACK_IMPORTED_MODULE_2__data__[\"MAIN\"]) }, encode: {\n update: markCompiler[mark].encodeEntry(model)\n } }, (postEncodingTransform ? {\n transform: postEncodingTransform\n } : {}))];\n}\n/**\n * Returns list of path grouping fields\n * that the model's spec contains.\n */\nfunction pathGroupingFields(mark, encoding) {\n return Object(__WEBPACK_IMPORTED_MODULE_7__util__[\"keys\"])(encoding).reduce(function (details, channel) {\n switch (channel) {\n // x, y, x2, y2, lat, long, lat1, long2, order, tooltip, href, cursor should not cause lines to group\n case 'x':\n case 'y':\n case 'order':\n case 'tooltip':\n case 'href':\n case 'x2':\n case 'y2':\n case 'latitude':\n case 'longitude':\n case 'latitude2':\n case 'longitude2':\n // TODO: case 'cursor':\n // text, shape, shouldn't be a part of line/trail/area\n case 'text':\n case 'shape':\n return details;\n case 'detail':\n case 'key':\n var channelDef = encoding[channel];\n if (channelDef) {\n (Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"v\" /* isArray */])(channelDef) ? channelDef : [channelDef]).forEach(function (fieldDef) {\n if (!fieldDef.aggregate) {\n details.push(Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"vgField\"])(fieldDef, {}));\n }\n });\n }\n return details;\n case 'size':\n if (mark === 'trail') {\n // For trail, size should not group trail lines.\n return details;\n }\n // For line, it should group lines.\n /* tslint:disable */\n // intentional fall through\n case 'color':\n case 'fill':\n case 'stroke':\n case 'opacity':\n // TODO strokeDashOffset:\n /* tslint:enable */\n var fieldDef = Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"getFieldDef\"])(encoding[channel]);\n if (fieldDef && !fieldDef.aggregate) {\n details.push(Object(__WEBPACK_IMPORTED_MODULE_4__fielddef__[\"vgField\"])(fieldDef, {}));\n }\n return details;\n default:\n throw new Error(\"Bug: Channel \" + channel + \" unimplemented for line mark\");\n }\n }, []);\n}\n/**\n * If scales are bound to interval selections, we want to automatically clip\n * marks to account for panning/zooming interactions. We identify bound scales\n * by the domainRaw property, which gets added during scale parsing.\n */\nfunction scaleClip(model) {\n var xScale = model.getScaleComponent('x');\n var yScale = model.getScaleComponent('y');\n return (xScale && xScale.get('domainRaw')) ||\n (yScale && yScale.get('domainRaw')) ? true : false;\n}\n//# sourceMappingURL=mark.js.map\n\n/***/ }),\n/* 968 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return area; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins__ = __webpack_require__(32);\n\n\nvar area = {\n vgMark: 'area',\n encodeEntry: function (model) {\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, __WEBPACK_IMPORTED_MODULE_1__mixins__[\"b\" /* baseEncodeEntry */](model, { size: 'ignore', orient: 'include' }), __WEBPACK_IMPORTED_MODULE_1__mixins__[\"h\" /* pointPosition */]('x', model, 'zeroOrMin'), __WEBPACK_IMPORTED_MODULE_1__mixins__[\"h\" /* pointPosition */]('y', model, 'zeroOrMin'), __WEBPACK_IMPORTED_MODULE_1__mixins__[\"i\" /* pointPosition2 */](model, 'zeroOrMin', model.markDef.orient === 'horizontal' ? 'x2' : 'y2'), __WEBPACK_IMPORTED_MODULE_1__mixins__[\"f\" /* defined */](model));\n }\n};\n//# sourceMappingURL=area.js.map\n\n/***/ }),\n/* 969 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return bar; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__scale__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__vega_schema__ = __webpack_require__(29);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__mixins__ = __webpack_require__(32);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__valueref__ = __webpack_require__(55);\n\n\n\n\n\n\n\n\n\nvar bar = {\n vgMark: 'rect',\n encodeEntry: function (model) {\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, __WEBPACK_IMPORTED_MODULE_7__mixins__[\"b\" /* baseEncodeEntry */](model, { size: 'ignore', orient: 'ignore' }), x(model), y(model));\n }\n};\nfunction x(model) {\n var config = model.config, encoding = model.encoding, markDef = model.markDef, width = model.width;\n var orient = markDef.orient;\n var sizeDef = encoding.size;\n var xDef = encoding.x;\n var x2Def = encoding.x2;\n var xScaleName = model.scaleName(__WEBPACK_IMPORTED_MODULE_2__channel__[\"X\"]);\n var xScale = model.getScaleComponent(__WEBPACK_IMPORTED_MODULE_2__channel__[\"X\"]);\n // x, x2, and width -- we must specify two of these in all conditions\n if (orient === 'horizontal' || x2Def) {\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, __WEBPACK_IMPORTED_MODULE_7__mixins__[\"h\" /* pointPosition */]('x', model, 'zeroOrMin'), __WEBPACK_IMPORTED_MODULE_7__mixins__[\"i\" /* pointPosition2 */](model, 'zeroOrMin', 'x2'));\n }\n else { // vertical\n if (Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"isFieldDef\"])(xDef)) {\n var xScaleType = xScale.get('type');\n if (xDef.bin && !sizeDef && !Object(__WEBPACK_IMPORTED_MODULE_5__scale__[\"hasDiscreteDomain\"])(xScaleType)) {\n return __WEBPACK_IMPORTED_MODULE_7__mixins__[\"c\" /* binnedPosition */](xDef, 'x', model.scaleName('x'), markDef.binSpacing === undefined ? config.bar.binSpacing : markDef.binSpacing, xScale.get('reverse'));\n }\n else {\n if (xScaleType === __WEBPACK_IMPORTED_MODULE_5__scale__[\"ScaleType\"].BAND) {\n return __WEBPACK_IMPORTED_MODULE_7__mixins__[\"a\" /* bandPosition */](xDef, 'x', model);\n }\n }\n }\n // sized bin, normal point-ordinal axis, quantitative x-axis, or no x\n return __WEBPACK_IMPORTED_MODULE_7__mixins__[\"d\" /* centeredBandPosition */]('x', model, __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, __WEBPACK_IMPORTED_MODULE_8__valueref__[\"f\" /* mid */](width)), defaultSizeRef(markDef, xScaleName, xScale, config));\n }\n}\nfunction y(model) {\n var config = model.config, encoding = model.encoding, height = model.height, markDef = model.markDef;\n var orient = markDef.orient;\n var sizeDef = encoding.size;\n var yDef = encoding.y;\n var y2Def = encoding.y2;\n var yScaleName = model.scaleName(__WEBPACK_IMPORTED_MODULE_2__channel__[\"Y\"]);\n var yScale = model.getScaleComponent(__WEBPACK_IMPORTED_MODULE_2__channel__[\"Y\"]);\n // y, y2 & height -- we must specify two of these in all conditions\n if (orient === 'vertical' || y2Def) {\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, __WEBPACK_IMPORTED_MODULE_7__mixins__[\"h\" /* pointPosition */]('y', model, 'zeroOrMin'), __WEBPACK_IMPORTED_MODULE_7__mixins__[\"i\" /* pointPosition2 */](model, 'zeroOrMin', 'y2'));\n }\n else {\n if (Object(__WEBPACK_IMPORTED_MODULE_3__fielddef__[\"isFieldDef\"])(yDef)) {\n var yScaleType = yScale.get('type');\n if (yDef.bin && !sizeDef && !Object(__WEBPACK_IMPORTED_MODULE_5__scale__[\"hasDiscreteDomain\"])(yScaleType)) {\n return __WEBPACK_IMPORTED_MODULE_7__mixins__[\"c\" /* binnedPosition */](yDef, 'y', model.scaleName('y'), markDef.binSpacing === undefined ? config.bar.binSpacing : markDef.binSpacing, yScale.get('reverse'));\n }\n else if (yScaleType === __WEBPACK_IMPORTED_MODULE_5__scale__[\"ScaleType\"].BAND) {\n return __WEBPACK_IMPORTED_MODULE_7__mixins__[\"a\" /* bandPosition */](yDef, 'y', model);\n }\n }\n return __WEBPACK_IMPORTED_MODULE_7__mixins__[\"d\" /* centeredBandPosition */]('y', model, __WEBPACK_IMPORTED_MODULE_8__valueref__[\"f\" /* mid */](height), defaultSizeRef(markDef, yScaleName, yScale, config));\n }\n}\nfunction defaultSizeRef(markDef, scaleName, scale, config) {\n if (markDef.size !== undefined) {\n return { value: markDef.size };\n }\n else if (config.bar.discreteBandSize) {\n return { value: config.bar.discreteBandSize };\n }\n else if (scale) {\n var scaleType = scale.get('type');\n if (scaleType === __WEBPACK_IMPORTED_MODULE_5__scale__[\"ScaleType\"].POINT) {\n var scaleRange = scale.get('range');\n if (Object(__WEBPACK_IMPORTED_MODULE_6__vega_schema__[\"e\" /* isVgRangeStep */])(scaleRange) && Object(__WEBPACK_IMPORTED_MODULE_1_vega_util__[\"z\" /* isNumber */])(scaleRange.step)) {\n return { value: scaleRange.step - 1 };\n }\n __WEBPACK_IMPORTED_MODULE_4__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_4__log__[\"b\" /* message */].BAR_WITH_POINT_SCALE_AND_RANGESTEP_NULL);\n }\n else if (scaleType === __WEBPACK_IMPORTED_MODULE_5__scale__[\"ScaleType\"].BAND) {\n return __WEBPACK_IMPORTED_MODULE_8__valueref__[\"a\" /* bandRef */](scaleName);\n }\n else { // non-ordinal scale\n return { value: config.bar.continuousBandSize };\n }\n }\n else if (config.scale.rangeStep && config.scale.rangeStep !== null) {\n return { value: config.scale.rangeStep - 1 };\n }\n return { value: 20 };\n}\n//# sourceMappingURL=bar.js.map\n\n/***/ }),\n/* 970 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return geoshape; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins__ = __webpack_require__(32);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__type__ = __webpack_require__(24);\n\n\n\n\nvar geoshape = {\n vgMark: 'shape',\n encodeEntry: function (model) {\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, __WEBPACK_IMPORTED_MODULE_1__mixins__[\"b\" /* baseEncodeEntry */](model, { size: 'ignore', orient: 'ignore' }));\n },\n postEncodingTransform: function (model) {\n var encoding = model.encoding;\n var shapeDef = encoding.shape;\n var transform = __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({ type: 'geoshape', projection: model.projectionName() }, (shapeDef && Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"isFieldDef\"])(shapeDef) && shapeDef.type === __WEBPACK_IMPORTED_MODULE_3__type__[\"GEOJSON\"] ? { field: Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"vgField\"])(shapeDef, { expr: 'datum' }) } : {}));\n return [transform];\n }\n};\n//# sourceMappingURL=geoshape.js.map\n\n/***/ }),\n/* 971 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return line; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return trail; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins__ = __webpack_require__(32);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__valueref__ = __webpack_require__(55);\n\n\n\nvar line = {\n vgMark: 'line',\n encodeEntry: function (model) {\n var width = model.width, height = model.height;\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, __WEBPACK_IMPORTED_MODULE_1__mixins__[\"b\" /* baseEncodeEntry */](model, { size: 'ignore', orient: 'ignore' }), __WEBPACK_IMPORTED_MODULE_1__mixins__[\"h\" /* pointPosition */]('x', model, __WEBPACK_IMPORTED_MODULE_2__valueref__[\"f\" /* mid */](width)), __WEBPACK_IMPORTED_MODULE_1__mixins__[\"h\" /* pointPosition */]('y', model, __WEBPACK_IMPORTED_MODULE_2__valueref__[\"f\" /* mid */](height)), __WEBPACK_IMPORTED_MODULE_1__mixins__[\"g\" /* nonPosition */]('size', model, {\n vgChannel: 'strokeWidth' // VL's line size is strokeWidth\n }), __WEBPACK_IMPORTED_MODULE_1__mixins__[\"f\" /* defined */](model));\n }\n};\nvar trail = {\n vgMark: 'trail',\n encodeEntry: function (model) {\n var width = model.width, height = model.height;\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, __WEBPACK_IMPORTED_MODULE_1__mixins__[\"b\" /* baseEncodeEntry */](model, { size: 'include', orient: 'ignore' }), __WEBPACK_IMPORTED_MODULE_1__mixins__[\"h\" /* pointPosition */]('x', model, __WEBPACK_IMPORTED_MODULE_2__valueref__[\"f\" /* mid */](width)), __WEBPACK_IMPORTED_MODULE_1__mixins__[\"h\" /* pointPosition */]('y', model, __WEBPACK_IMPORTED_MODULE_2__valueref__[\"f\" /* mid */](height)), __WEBPACK_IMPORTED_MODULE_1__mixins__[\"g\" /* nonPosition */]('size', model), __WEBPACK_IMPORTED_MODULE_1__mixins__[\"f\" /* defined */](model));\n }\n};\n//# sourceMappingURL=line.js.map\n\n/***/ }),\n/* 972 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export shapeMixins */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return point; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return circle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return square; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mixins__ = __webpack_require__(32);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__valueref__ = __webpack_require__(55);\n\n\n\n\nfunction encodeEntry(model, fixedShape) {\n var config = model.config, width = model.width, height = model.height;\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, __WEBPACK_IMPORTED_MODULE_2__mixins__[\"b\" /* baseEncodeEntry */](model, { size: 'include', orient: 'ignore' }), __WEBPACK_IMPORTED_MODULE_2__mixins__[\"h\" /* pointPosition */]('x', model, __WEBPACK_IMPORTED_MODULE_3__valueref__[\"f\" /* mid */](width)), __WEBPACK_IMPORTED_MODULE_2__mixins__[\"h\" /* pointPosition */]('y', model, __WEBPACK_IMPORTED_MODULE_3__valueref__[\"f\" /* mid */](height)), __WEBPACK_IMPORTED_MODULE_2__mixins__[\"g\" /* nonPosition */]('size', model), shapeMixins(model, config, fixedShape));\n}\nfunction shapeMixins(model, config, fixedShape) {\n if (fixedShape) {\n return { shape: { value: fixedShape } };\n }\n return __WEBPACK_IMPORTED_MODULE_2__mixins__[\"g\" /* nonPosition */]('shape', model, { defaultValue: Object(__WEBPACK_IMPORTED_MODULE_1__common__[\"e\" /* getMarkConfig */])('shape', model.markDef, config) });\n}\nvar point = {\n vgMark: 'symbol',\n encodeEntry: function (model) {\n return encodeEntry(model);\n }\n};\nvar circle = {\n vgMark: 'symbol',\n encodeEntry: function (model) {\n return encodeEntry(model, 'circle');\n }\n};\nvar square = {\n vgMark: 'symbol',\n encodeEntry: function (model) {\n return encodeEntry(model, 'square');\n }\n};\n//# sourceMappingURL=point.js.map\n\n/***/ }),\n/* 973 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return rect; });\n/* unused harmony export x */\n/* unused harmony export y */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__channel__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__fielddef__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__mark__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__scale__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__mixins__ = __webpack_require__(32);\n\n\n\n\n\n\n\nvar rect = {\n vgMark: 'rect',\n encodeEntry: function (model) {\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, __WEBPACK_IMPORTED_MODULE_6__mixins__[\"b\" /* baseEncodeEntry */](model, { size: 'ignore', orient: 'ignore' }), x(model), y(model));\n }\n};\nfunction x(model) {\n var xDef = model.encoding.x;\n var x2Def = model.encoding.x2;\n var xScale = model.getScaleComponent(__WEBPACK_IMPORTED_MODULE_1__channel__[\"X\"]);\n var xScaleType = xScale ? xScale.get('type') : undefined;\n if (Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"isFieldDef\"])(xDef) && xDef.bin && !x2Def) {\n return __WEBPACK_IMPORTED_MODULE_6__mixins__[\"c\" /* binnedPosition */](xDef, 'x', model.scaleName('x'), 0, xScale.get('reverse'));\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"isFieldDef\"])(xDef) && xScale && Object(__WEBPACK_IMPORTED_MODULE_5__scale__[\"hasDiscreteDomain\"])(xScaleType)) {\n /* istanbul ignore else */\n if (xScaleType === __WEBPACK_IMPORTED_MODULE_5__scale__[\"ScaleType\"].BAND) {\n return __WEBPACK_IMPORTED_MODULE_6__mixins__[\"a\" /* bandPosition */](xDef, 'x', model);\n }\n else {\n // We don't support rect mark with point/ordinal scale\n throw new Error(__WEBPACK_IMPORTED_MODULE_3__log__[\"b\" /* message */].scaleTypeNotWorkWithMark(__WEBPACK_IMPORTED_MODULE_4__mark__[\"RECT\"], xScaleType));\n }\n }\n else { // continuous scale or no scale\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, __WEBPACK_IMPORTED_MODULE_6__mixins__[\"h\" /* pointPosition */]('x', model, 'zeroOrMax'), __WEBPACK_IMPORTED_MODULE_6__mixins__[\"i\" /* pointPosition2 */](model, 'zeroOrMin', 'x2'));\n }\n}\nfunction y(model) {\n var yDef = model.encoding.y;\n var y2Def = model.encoding.y2;\n var yScale = model.getScaleComponent(__WEBPACK_IMPORTED_MODULE_1__channel__[\"Y\"]);\n var yScaleType = yScale ? yScale.get('type') : undefined;\n if (Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"isFieldDef\"])(yDef) && yDef.bin && !y2Def) {\n return __WEBPACK_IMPORTED_MODULE_6__mixins__[\"c\" /* binnedPosition */](yDef, 'y', model.scaleName('y'), 0, yScale.get('reverse'));\n }\n else if (Object(__WEBPACK_IMPORTED_MODULE_2__fielddef__[\"isFieldDef\"])(yDef) && yScale && Object(__WEBPACK_IMPORTED_MODULE_5__scale__[\"hasDiscreteDomain\"])(yScaleType)) {\n /* istanbul ignore else */\n if (yScaleType === __WEBPACK_IMPORTED_MODULE_5__scale__[\"ScaleType\"].BAND) {\n return __WEBPACK_IMPORTED_MODULE_6__mixins__[\"a\" /* bandPosition */](yDef, 'y', model);\n }\n else {\n // We don't support rect mark with point/ordinal scale\n throw new Error(__WEBPACK_IMPORTED_MODULE_3__log__[\"b\" /* message */].scaleTypeNotWorkWithMark(__WEBPACK_IMPORTED_MODULE_4__mark__[\"RECT\"], yScaleType));\n }\n }\n else { // continuous scale or no scale\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, __WEBPACK_IMPORTED_MODULE_6__mixins__[\"h\" /* pointPosition */]('y', model, 'zeroOrMax'), __WEBPACK_IMPORTED_MODULE_6__mixins__[\"i\" /* pointPosition2 */](model, 'zeroOrMin', 'y2'));\n }\n}\n//# sourceMappingURL=rect.js.map\n\n/***/ }),\n/* 974 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return rule; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mixins__ = __webpack_require__(32);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__valueref__ = __webpack_require__(55);\n\n\n\nvar rule = {\n vgMark: 'rule',\n encodeEntry: function (model) {\n var _config = model.config, markDef = model.markDef, width = model.width, height = model.height;\n var orient = markDef.orient;\n if (!model.encoding.x && !model.encoding.y && !model.encoding.latitude && !model.encoding.longitude) {\n // Show nothing if we have none of x, y, lat, and long.\n return {};\n }\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, __WEBPACK_IMPORTED_MODULE_1__mixins__[\"b\" /* baseEncodeEntry */](model, { size: 'ignore', orient: 'ignore' }), __WEBPACK_IMPORTED_MODULE_1__mixins__[\"h\" /* pointPosition */]('x', model, orient === 'horizontal' ? 'zeroOrMin' : __WEBPACK_IMPORTED_MODULE_2__valueref__[\"f\" /* mid */](width)), __WEBPACK_IMPORTED_MODULE_1__mixins__[\"h\" /* pointPosition */]('y', model, orient === 'vertical' ? 'zeroOrMin' : __WEBPACK_IMPORTED_MODULE_2__valueref__[\"f\" /* mid */](height)), (orient !== 'vertical' ? __WEBPACK_IMPORTED_MODULE_1__mixins__[\"i\" /* pointPosition2 */](model, 'zeroOrMax', 'x2') : {}), (orient !== 'horizontal' ? __WEBPACK_IMPORTED_MODULE_1__mixins__[\"i\" /* pointPosition2 */](model, 'zeroOrMax', 'y2') : {}), __WEBPACK_IMPORTED_MODULE_1__mixins__[\"g\" /* nonPosition */]('size', model, {\n vgChannel: 'strokeWidth',\n defaultValue: markDef.size\n }));\n }\n};\n//# sourceMappingURL=rule.js.map\n\n/***/ }),\n/* 975 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return text; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mixins__ = __webpack_require__(32);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__valueref__ = __webpack_require__(55);\n\n\n\n\nvar text = {\n vgMark: 'text',\n encodeEntry: function (model) {\n var config = model.config, encoding = model.encoding, width = model.width, height = model.height, markDef = model.markDef;\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, __WEBPACK_IMPORTED_MODULE_2__mixins__[\"b\" /* baseEncodeEntry */](model, { size: 'ignore', orient: 'ignore' }), __WEBPACK_IMPORTED_MODULE_2__mixins__[\"h\" /* pointPosition */]('x', model, __WEBPACK_IMPORTED_MODULE_3__valueref__[\"f\" /* mid */](width)), __WEBPACK_IMPORTED_MODULE_2__mixins__[\"h\" /* pointPosition */]('y', model, __WEBPACK_IMPORTED_MODULE_3__valueref__[\"f\" /* mid */](height)), __WEBPACK_IMPORTED_MODULE_2__mixins__[\"j\" /* text */](model), __WEBPACK_IMPORTED_MODULE_2__mixins__[\"g\" /* nonPosition */]('size', model, __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, (markDef.size ? { defaultValue: markDef.size } : {}), { vgChannel: 'fontSize' // VL's text size is fontSize\n })), __WEBPACK_IMPORTED_MODULE_2__mixins__[\"k\" /* valueIfDefined */]('align', align(model.markDef, encoding, config)));\n }\n};\nfunction align(markDef, encoding, config) {\n var a = markDef.align || Object(__WEBPACK_IMPORTED_MODULE_1__common__[\"e\" /* getMarkConfig */])('align', markDef, config);\n if (a === undefined) {\n return 'center';\n }\n // If there is a config, Vega-parser will process this already.\n return undefined;\n}\n//# sourceMappingURL=text.js.map\n\n/***/ }),\n/* 976 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return tick; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__vega_schema__ = __webpack_require__(29);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__mixins__ = __webpack_require__(32);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__valueref__ = __webpack_require__(55);\n\n\n\n\nvar tick = {\n vgMark: 'rect',\n encodeEntry: function (model) {\n var _a;\n var config = model.config, markDef = model.markDef, width = model.width, height = model.height;\n var orient = markDef.orient;\n var vgSizeChannel = orient === 'horizontal' ? 'width' : 'height';\n var vgThicknessChannel = orient === 'horizontal' ? 'height' : 'width';\n return __WEBPACK_IMPORTED_MODULE_0_tslib__[\"a\" /* __assign */]({}, __WEBPACK_IMPORTED_MODULE_2__mixins__[\"b\" /* baseEncodeEntry */](model, { size: 'ignore', orient: 'ignore' }), __WEBPACK_IMPORTED_MODULE_2__mixins__[\"h\" /* pointPosition */]('x', model, __WEBPACK_IMPORTED_MODULE_3__valueref__[\"f\" /* mid */](width), 'xc'), __WEBPACK_IMPORTED_MODULE_2__mixins__[\"h\" /* pointPosition */]('y', model, __WEBPACK_IMPORTED_MODULE_3__valueref__[\"f\" /* mid */](height), 'yc'), __WEBPACK_IMPORTED_MODULE_2__mixins__[\"g\" /* nonPosition */]('size', model, {\n defaultValue: defaultSize(model),\n vgChannel: vgSizeChannel\n }), (_a = {}, _a[vgThicknessChannel] = { value: markDef.thickness || config.tick.thickness }, _a));\n }\n};\nfunction defaultSize(model) {\n var config = model.config, markDef = model.markDef;\n var orient = markDef.orient;\n var scale = model.getScaleComponent(orient === 'horizontal' ? 'x' : 'y');\n if (markDef.size !== undefined) {\n return markDef.size;\n }\n else if (config.tick.bandSize !== undefined) {\n return config.tick.bandSize;\n }\n else {\n var scaleRange = scale ? scale.get('range') : undefined;\n var rangeStep = scaleRange && Object(__WEBPACK_IMPORTED_MODULE_1__vega_schema__[\"e\" /* isVgRangeStep */])(scaleRange) ?\n scaleRange.step :\n config.scale.rangeStep;\n if (typeof rangeStep !== 'number') {\n // FIXME consolidate this log\n throw new Error('Function does not handle non-numeric rangeStep');\n }\n return rangeStep / 1.5;\n }\n}\n//# sourceMappingURL=tick.js.map\n\n/***/ }),\n/* 977 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return RepeatModel; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__log__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__baseconcat__ = __webpack_require__(374);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__buildmodel__ = __webpack_require__(129);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__layoutsize_parse__ = __webpack_require__(89);\n\n\n\n\n\nvar RepeatModel = /** @class */ (function (_super) {\n __WEBPACK_IMPORTED_MODULE_0_tslib__[\"c\" /* __extends */](RepeatModel, _super);\n function RepeatModel(spec, parent, parentGivenName, repeatValues, config) {\n var _this = _super.call(this, spec, parent, parentGivenName, config, repeatValues, spec.resolve) || this;\n _this.type = 'repeat';\n if (spec.resolve && spec.resolve.axis && (spec.resolve.axis.x === 'shared' || spec.resolve.axis.y === 'shared')) {\n __WEBPACK_IMPORTED_MODULE_1__log__[\"e\" /* warn */](__WEBPACK_IMPORTED_MODULE_1__log__[\"b\" /* message */].REPEAT_CANNOT_SHARE_AXIS);\n }\n _this.repeat = spec.repeat;\n _this.children = _this._initChildren(spec, _this.repeat, repeatValues, config);\n return _this;\n }\n RepeatModel.prototype._initChildren = function (spec, repeat, repeater, config) {\n var children = [];\n var row = repeat.row || [repeater ? repeater.row : null];\n var column = repeat.column || [repeater ? repeater.column : null];\n // cross product\n for (var _i = 0, row_1 = row; _i < row_1.length; _i++) {\n var rowField = row_1[_i];\n for (var _a = 0, column_1 = column; _a < column_1.length; _a++) {\n var columnField = column_1[_a];\n var name_1 = (rowField ? '_' + rowField : '') + (columnField ? '_' + columnField : '');\n var childRepeat = {\n row: rowField,\n column: columnField\n };\n children.push(Object(__WEBPACK_IMPORTED_MODULE_3__buildmodel__[\"a\" /* buildModel */])(spec.spec, this, this.getName('child' + name_1), undefined, childRepeat, config, false));\n }\n }\n return children;\n };\n RepeatModel.prototype.parseLayoutSize = function () {\n Object(__WEBPACK_IMPORTED_MODULE_4__layoutsize_parse__[\"d\" /* parseRepeatLayoutSize */])(this);\n };\n RepeatModel.prototype.assembleDefaultLayout = function () {\n return {\n columns: this.repeat && this.repeat.column ? this.repeat.column.length : 1,\n bounds: 'full',\n align: 'all'\n };\n };\n return RepeatModel;\n}(__WEBPACK_IMPORTED_MODULE_2__baseconcat__[\"a\" /* BaseConcatModel */]));\n\n//# sourceMappingURL=repeat.js.map\n\n/***/ }),\n/* 978 */\n/***/ (function(module, exports) {\n\n//# sourceMappingURL=facet.js.map\n\n/***/ }),\n/* 979 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DEFAULT_REQUIRED_CHANNEL_MAP\", function() { return DEFAULT_REQUIRED_CHANNEL_MAP; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DEFAULT_SUPPORTED_CHANNEL_TYPE\", function() { return DEFAULT_SUPPORTED_CHANNEL_TYPE; });\n/* harmony export (immutable) */ __webpack_exports__[\"getEncodingMappingError\"] = getEncodingMappingError;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__mark__ = __webpack_require__(17);\n\n\n\n/**\n * Required Encoding Channels for each mark type\n */\nvar DEFAULT_REQUIRED_CHANNEL_MAP = {\n text: ['text'],\n line: ['x', 'y'],\n trail: ['x', 'y'],\n area: ['x', 'y']\n};\n/**\n * Supported Encoding Channel for each mark type\n */\nvar DEFAULT_SUPPORTED_CHANNEL_TYPE = {\n bar: Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"S\" /* toSet */])(['row', 'column', 'x', 'y', 'size', 'color', 'fill', 'stroke', 'detail']),\n line: Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"S\" /* toSet */])(['row', 'column', 'x', 'y', 'color', 'fill', 'stroke', 'color', 'detail']),\n trail: Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"S\" /* toSet */])(['row', 'column', 'x', 'y', 'color', 'fill', 'stroke', 'color', 'detail', 'size']),\n area: Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"S\" /* toSet */])(['row', 'column', 'x', 'y', 'color', 'fill', 'stroke', 'detail']),\n tick: Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"S\" /* toSet */])(['row', 'column', 'x', 'y', 'color', 'fill', 'stroke', 'detail']),\n circle: Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"S\" /* toSet */])(['row', 'column', 'x', 'y', 'color', 'fill', 'stroke', 'size', 'detail']),\n square: Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"S\" /* toSet */])(['row', 'column', 'x', 'y', 'color', 'fill', 'stroke', 'size', 'detail']),\n point: Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"S\" /* toSet */])(['row', 'column', 'x', 'y', 'color', 'fill', 'stroke', 'size', 'detail', 'shape']),\n geoshape: Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"S\" /* toSet */])(['row', 'column', 'color', 'fill', 'stroke', 'detail', 'shape']),\n text: Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"S\" /* toSet */])(['row', 'column', 'size', 'color', 'fill', 'stroke', 'text']) // TODO(#724) revise\n};\n// TODO: consider if we should add validate method and\n// requires ZSchema in the main vega-lite repo\n/**\n * Further check if encoding mapping of a spec is invalid and\n * return error if it is invalid.\n *\n * This checks if\n * (1) all the required encoding channels for the mark type are specified\n * (2) all the specified encoding channels are supported by the mark type\n * @param {[type]} spec [description]\n * @param {RequiredChannelMap = DefaultRequiredChannelMap} requiredChannelMap\n * @param {SupportedChannelMap = DefaultSupportedChannelMap} supportedChannelMap\n * @return {String} Return one reason why the encoding is invalid,\n * or null if the encoding is valid.\n */\nfunction getEncodingMappingError(spec, requiredChannelMap, supportedChannelMap) {\n if (requiredChannelMap === void 0) { requiredChannelMap = DEFAULT_REQUIRED_CHANNEL_MAP; }\n if (supportedChannelMap === void 0) { supportedChannelMap = DEFAULT_SUPPORTED_CHANNEL_TYPE; }\n var mark = Object(__WEBPACK_IMPORTED_MODULE_1__mark__[\"isMarkDef\"])(spec.mark) ? spec.mark.type : spec.mark;\n var encoding = spec.encoding;\n var requiredChannels = requiredChannelMap[mark];\n var supportedChannels = supportedChannelMap[mark];\n for (var i in requiredChannels) { // all required channels are in encoding`\n if (!(requiredChannels[i] in encoding)) {\n return 'Missing encoding channel \\\"' + requiredChannels[i] +\n '\\\" for mark \\\"' + mark + '\\\"';\n }\n }\n for (var channel in encoding) { // all channels in encoding are supported\n if (!supportedChannels[channel]) {\n return 'Encoding channel \\\"' + channel +\n '\\\" is not supported by mark type \\\"' + mark + '\\\"';\n }\n }\n if (mark === __WEBPACK_IMPORTED_MODULE_1__mark__[\"BAR\"] && !encoding.x && !encoding.y) {\n return 'Missing both x and y for bar';\n }\n return null;\n}\n//# sourceMappingURL=validate.js.map\n\n/***/ }),\n/* 980 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\"name\":\"vega-lite\",\"author\":\"Jeffrey Heer, Dominik Moritz, Kanit \\\"Ham\\\" Wongsuphasawat\",\"version\":\"2.6.0\",\"collaborators\":[\"Kanit Wongsuphasawat <kanitw@gmail.com> (http://kanitw.yellowpigz.com)\",\"Dominik Moritz <domoritz@cs.washington.edu> (https://www.domoritz.de)\",\"Jeffrey Heer <jheer@uw.edu> (http://jheer.org)\"],\"homepage\":\"https://vega.github.io/vega-lite/\",\"description\":\"Vega-Lite is a concise high-level language for interactive visualization.\",\"main\":\"build/vega-lite.js\",\"unpkg\":\"build/vega-lite.min.js\",\"jsdelivr\":\"build/vega-lite.min.js\",\"module\":\"build/src/index\",\"types\":\"build/src/index.d.ts\",\"bin\":{\"vl2png\":\"./bin/vl2png\",\"vl2svg\":\"./bin/vl2svg\",\"vl2vg\":\"./bin/vl2vg\"},\"directories\":{\"test\":\"test\"},\"scripts\":{\"prebuild\":\"mkdir -p build/src\",\"build\":\"npm run build:only\",\"build:only\":\"tsc && rollup -c\",\"postbuild\":\"uglifyjs build/vega-lite.js -cm --source-map content=build/vega-lite.js.map,filename=build/vega-lite.min.js.map -o build/vega-lite.min.js && npm run schema\",\"build:examples\":\"npm run data && TZ=America/Los_Angeles scripts/build-examples.sh\",\"build:examples-full\":\"TZ=America/Los_Angeles scripts/build-examples.sh 1\",\"build:example\":\"TZ=America/Los_Angeles scripts/build-example.sh\",\"build:toc\":\"bundle exec jekyll build -q && scripts/generate-toc\",\"build:site\":\"tsc -p site && webpack --config site/webpack.config.js\",\"build:versions\":\"scripts/update-version.sh\",\"check:examples\":\"scripts/check-examples.sh\",\"check:schema\":\"scripts/check-schema.sh\",\"clean\":\"rm -rf build && rm -f examples/compiled/*.png && find site/examples ! -name 'index.md' -type f -delete\",\"data\":\"rsync -r node_modules/vega-datasets/data/* data\",\"deploy\":\"scripts/deploy.sh\",\"deploy:gh\":\"scripts/deploy-gh.sh\",\"deploy:schema\":\"scripts/deploy-schema.sh\",\"preschema\":\"npm run prebuild\",\"schema\":\"node --stack-size=1200 ./node_modules/.bin/ts-json-schema-generator --path tsconfig.json --type TopLevelSpec > build/vega-lite-schema.json && npm run renameschema && cp build/vega-lite-schema.json _data/\",\"renameschema\":\"scripts/rename-schema.sh\",\"presite\":\"npm run prebuild && npm run data && npm run build:site && npm run build:toc && npm run build:versions && scripts/create-example-pages\",\"site\":\"bundle exec jekyll serve --incremental\",\"lint\":\"tslint -p . -e 'package.json'\",\"test\":\"jest test/ && npm run lint && npm run schema && jest examples/ && npm run test:runtime\",\"test:inspect\":\"node --inspect-brk ./node_modules/.bin/jest --runInBand test\",\"test:runtime\":\"TZ=America/Los_Angeles TS_NODE_COMPILER_OPTIONS='{\\\"module\\\":\\\"commonjs\\\"}' wdio wdio.conf.js\",\"test:runtime:generate\":\"rm -Rf test-runtime/resources && VL_GENERATE_TESTS=true npm run test:runtime\",\"watch:build\":\"npm run build:only && concurrently --kill-others -n Typescript,Rollup 'tsc -w' 'rollup -c -w'\",\"watch:site\":\"concurrently --kill-others -n Typescript,Webpack 'tsc -p site --watch' 'webpack --config site/webpack.config.js --mode development --watch'\",\"watch:test\":\"jest --watch\"},\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/vega/vega-lite.git\"},\"license\":\"BSD-3-Clause\",\"bugs\":{\"url\":\"https://github.com/vega/vega-lite/issues\"},\"devDependencies\":{\"@types/chai\":\"^4.1.4\",\"@types/d3\":\"^5.0.0\",\"@types/highlight.js\":\"^9.12.3\",\"@types/jest\":\"^23.1.1\",\"@types/mkdirp\":\"^0.5.2\",\"@types/node\":\"^9.0.0\",\"@types/webdriverio\":\"^4.10.2\",\"ajv\":\"^6.5.1\",\"chai\":\"^4.1.2\",\"cheerio\":\"^1.0.0-rc.2\",\"chromedriver\":\"^2.40.0\",\"codecov\":\"^3.0.2\",\"concurrently\":\"^3.6.0\",\"d3\":\"^5.5.0\",\"highlight.js\":\"^9.12.0\",\"jest\":\"^23.1.0\",\"mkdirp\":\"^0.5.1\",\"rollup\":\"^0.59.4\",\"rollup-plugin-commonjs\":\"^9.1.3\",\"rollup-plugin-json\":\"^3.0.0\",\"rollup-plugin-node-resolve\":\"^3.3.0\",\"rollup-plugin-sourcemaps\":\"^0.4.2\",\"source-map-support\":\"^0.5.6\",\"svg2png-many\":\"^0.0.7\",\"ts-jest\":\"^22.4.6\",\"ts-json-schema-generator\":\"^0.28.0\",\"ts-node\":\"^6.1.1\",\"tslint\":\"5.10.0\",\"tslint-eslint-rules\":\"^5.3.1\",\"typescript\":\"^2.9.2\",\"uglify-js\":\"^3.4.1\",\"vega\":\"^4.0.0-rc.3\",\"vega-datasets\":\"^1.19.0\",\"vega-embed\":\"^3.16.0\",\"vega-tooltip\":\"^0.11.0\",\"wdio-chromedriver-service\":\"^0.1.3\",\"wdio-dot-reporter\":\"0.0.9\",\"wdio-mocha-framework\":\"^0.5.13\",\"wdio-static-server-service\":\"^1.0.1\",\"webdriverio\":\"^4.13.0\",\"webpack\":\"^4.12.0\",\"webpack-cli\":\"^3.0.8\",\"yaml-front-matter\":\"^4.0.0\"},\"dependencies\":{\"@types/json-stable-stringify\":\"^1.0.32\",\"json-stable-stringify\":\"^1.0.1\",\"tslib\":\"^1.9.2\",\"vega-event-selector\":\"^2.0.0\",\"vega-typings\":\"^0.3.17\",\"vega-util\":\"^1.7.0\",\"yargs\":\"^11.0.0\"},\"jest\":{\"transform\":{\"^.+\\\\.tsx?$\":\"ts-jest\"},\"testRegex\":\"(/__tests__/.*|(\\\\.|/)(test|spec))\\\\.(jsx?|tsx?)$\",\"moduleFileExtensions\":[\"ts\",\"tsx\",\"js\",\"jsx\",\"json\",\"node\"],\"testPathIgnorePatterns\":[\"node_modules\",\"test-runtime\",\"<rootDir>/build\",\"_site\",\"src\"],\"coverageDirectory\":\"./coverage/\",\"collectCoverage\":false}}\n\n/***/ }),\n/* 981 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Parse a vega schema url into library and version.\n */\nfunction default_1(url) {\n var regex = /\\/schema\\/([\\w-]+)\\/([\\w\\.\\-]+)\\.json$/g;\n var _a = regex.exec(url).slice(1, 3), library = _a[0], version = _a[1];\n return { library: library, version: version };\n}\nexports.default = default_1;\n//# sourceMappingURL=index.js.map\n\n/***/ }),\n/* 982 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__theme_excel__ = __webpack_require__(983);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"excel\", function() { return __WEBPACK_IMPORTED_MODULE_0__theme_excel__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__theme_ggplot2__ = __webpack_require__(984);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"ggplot2\", function() { return __WEBPACK_IMPORTED_MODULE_1__theme_ggplot2__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__theme_quartz__ = __webpack_require__(985);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"quartz\", function() { return __WEBPACK_IMPORTED_MODULE_2__theme_quartz__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__theme_vox__ = __webpack_require__(986);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"vox\", function() { return __WEBPACK_IMPORTED_MODULE_3__theme_vox__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__theme_dark__ = __webpack_require__(987);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"dark\", function() { return __WEBPACK_IMPORTED_MODULE_4__theme_dark__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__theme_fivethirtyeight__ = __webpack_require__(988);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"fivethirtyeight\", function() { return __WEBPACK_IMPORTED_MODULE_5__theme_fivethirtyeight__[\"a\"]; });\n\n\n\n\n\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sSUFBSSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sSUFBSSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsT0FBTyxJQUFJLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLElBQUksR0FBRyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxPQUFPLElBQUksSUFBSSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQy9DLE9BQU8sRUFBRSxPQUFPLElBQUksZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUMifQ==\n\n/***/ }),\n/* 983 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar markColor = '#4572a7';\nvar excelTheme = {\n background: '#fff',\n arc: { fill: markColor },\n area: { fill: markColor },\n line: { stroke: markColor, strokeWidth: 2 },\n path: { stroke: markColor },\n rect: { fill: markColor },\n shape: { stroke: markColor },\n symbol: { fill: markColor, strokeWidth: 1.5, size: 50 },\n axis: {\n bandPosition: 0.5,\n grid: true,\n gridColor: '#000000',\n gridOpacity: 1,\n gridWidth: 0.5,\n labelPadding: 10,\n tickSize: 5,\n tickWidth: 0.5,\n },\n axisBand: {\n grid: false,\n tickExtra: true,\n },\n legend: {\n labelBaseline: 'middle',\n labelFontSize: 11,\n symbolSize: 50,\n symbolType: 'square',\n },\n range: {\n category: [\n '#4572a7',\n '#aa4643',\n '#8aa453',\n '#71598e',\n '#4598ae',\n '#d98445',\n '#94aace',\n '#d09393',\n '#b9cc98',\n '#a99cbc',\n ],\n },\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (excelTheme);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtZXhjZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdGhlbWUtZXhjZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsSUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDO0FBRTVCLElBQU0sVUFBVSxHQUFXO0lBQ3pCLFVBQVUsRUFBRSxNQUFNO0lBRWxCLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7SUFDeEIsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtJQUN6QixJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxDQUFDLEVBQUU7SUFDM0MsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtJQUMzQixJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO0lBQ3pCLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDNUIsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUU7SUFFdkQsSUFBSSxFQUFFO1FBQ0osWUFBWSxFQUFFLEdBQUc7UUFDakIsSUFBSSxFQUFFLElBQUk7UUFDVixTQUFTLEVBQUUsU0FBUztRQUNwQixXQUFXLEVBQUUsQ0FBQztRQUNkLFNBQVMsRUFBRSxHQUFHO1FBQ2QsWUFBWSxFQUFFLEVBQUU7UUFDaEIsUUFBUSxFQUFFLENBQUM7UUFDWCxTQUFTLEVBQUUsR0FBRztLQUNmO0lBRUQsUUFBUSxFQUFFO1FBQ1IsSUFBSSxFQUFFLEtBQUs7UUFDWCxTQUFTLEVBQUUsSUFBSTtLQUNoQjtJQUVELE1BQU0sRUFBRTtRQUNOLGFBQWEsRUFBRSxRQUFRO1FBQ3ZCLGFBQWEsRUFBRSxFQUFFO1FBQ2pCLFVBQVUsRUFBRSxFQUFFO1FBQ2QsVUFBVSxFQUFFLFFBQVE7S0FDckI7SUFFRCxLQUFLLEVBQUU7UUFDTCxRQUFRLEVBQUU7WUFDUixTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1NBQ1Y7S0FDRjtDQUNGLENBQUM7QUFFRixlQUFlLFVBQVUsQ0FBQyJ9\n\n/***/ }),\n/* 984 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar markColor = '#000';\nvar ggplot2Theme = {\n group: {\n fill: '#e5e5e5',\n },\n arc: { fill: markColor },\n area: { fill: markColor },\n line: { stroke: markColor },\n path: { stroke: markColor },\n rect: { fill: markColor },\n shape: { stroke: markColor },\n symbol: { fill: markColor, size: 40 },\n axis: {\n domain: false,\n grid: true,\n gridColor: '#FFFFFF',\n gridOpacity: 1,\n labelColor: '#7F7F7F',\n labelPadding: 4,\n tickColor: '#7F7F7F',\n tickSize: 5.67,\n titleFontSize: 16,\n titleFontWeight: 'normal',\n },\n legend: {\n labelBaseline: 'middle',\n labelFontSize: 11,\n symbolSize: 40,\n },\n range: {\n category: [\n '#000000',\n '#7F7F7F',\n '#1A1A1A',\n '#999999',\n '#333333',\n '#B0B0B0',\n '#4D4D4D',\n '#C9C9C9',\n '#666666',\n '#DCDCDC',\n ],\n },\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (ggplot2Theme);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtZ2dwbG90Mi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90aGVtZS1nZ3Bsb3QyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLElBQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQztBQUV6QixJQUFNLFlBQVksR0FBVztJQUMzQixLQUFLLEVBQUU7UUFDTCxJQUFJLEVBQUUsU0FBUztLQUNoQjtJQUVELEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7SUFDeEIsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtJQUN6QixJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQzNCLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDM0IsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtJQUN6QixLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQzVCLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRTtJQUVyQyxJQUFJLEVBQUU7UUFDSixNQUFNLEVBQUUsS0FBSztRQUNiLElBQUksRUFBRSxJQUFJO1FBQ1YsU0FBUyxFQUFFLFNBQVM7UUFDcEIsV0FBVyxFQUFFLENBQUM7UUFDZCxVQUFVLEVBQUUsU0FBUztRQUNyQixZQUFZLEVBQUUsQ0FBQztRQUNmLFNBQVMsRUFBRSxTQUFTO1FBQ3BCLFFBQVEsRUFBRSxJQUFJO1FBQ2QsYUFBYSxFQUFFLEVBQUU7UUFDakIsZUFBZSxFQUFFLFFBQVE7S0FDMUI7SUFFRCxNQUFNLEVBQUU7UUFDTixhQUFhLEVBQUUsUUFBUTtRQUN2QixhQUFhLEVBQUUsRUFBRTtRQUNqQixVQUFVLEVBQUUsRUFBRTtLQUNmO0lBRUQsS0FBSyxFQUFFO1FBQ0wsUUFBUSxFQUFFO1lBQ1IsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztTQUNWO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsZUFBZSxZQUFZLENBQUMifQ==\n\n/***/ }),\n/* 985 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar markColor = '#ab5787';\nvar axisColor = '#979797';\nvar quartzTheme = {\n background: '#f9f9f9',\n arc: { fill: markColor },\n area: { fill: markColor },\n line: { stroke: markColor },\n path: { stroke: markColor },\n rect: { fill: markColor },\n shape: { stroke: markColor },\n symbol: { fill: markColor, size: 30 },\n axis: {\n domainColor: axisColor,\n domainWidth: 0.5,\n gridWidth: 0.2,\n labelColor: axisColor,\n tickColor: axisColor,\n tickWidth: 0.2,\n titleColor: axisColor,\n },\n axisBand: {\n grid: false,\n },\n axisX: {\n grid: true,\n tickSize: 10,\n },\n axisY: {\n domain: false,\n grid: true,\n tickSize: 0,\n },\n legend: {\n labelFontSize: 11,\n padding: 1,\n symbolSize: 30,\n symbolType: 'square',\n },\n range: {\n category: [\n '#ab5787',\n '#51b2e5',\n '#703c5c',\n '#168dd9',\n '#d190b6',\n '#00609f',\n '#d365ba',\n '#154866',\n '#666666',\n '#c4c4c4',\n ],\n },\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (quartzTheme);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtcXVhcnR6LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RoZW1lLXF1YXJ0ei50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxJQUFNLFNBQVMsR0FBRyxTQUFTLENBQUM7QUFDNUIsSUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDO0FBRTVCLElBQU0sV0FBVyxHQUFXO0lBQzFCLFVBQVUsRUFBRSxTQUFTO0lBRXJCLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7SUFDeEIsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtJQUN6QixJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQzNCLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDM0IsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtJQUN6QixLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQzVCLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRTtJQUVyQyxJQUFJLEVBQUU7UUFDSixXQUFXLEVBQUUsU0FBUztRQUN0QixXQUFXLEVBQUUsR0FBRztRQUNoQixTQUFTLEVBQUUsR0FBRztRQUNkLFVBQVUsRUFBRSxTQUFTO1FBQ3JCLFNBQVMsRUFBRSxTQUFTO1FBQ3BCLFNBQVMsRUFBRSxHQUFHO1FBQ2QsVUFBVSxFQUFFLFNBQVM7S0FDdEI7SUFFRCxRQUFRLEVBQUU7UUFDUixJQUFJLEVBQUUsS0FBSztLQUNaO0lBRUQsS0FBSyxFQUFFO1FBQ0wsSUFBSSxFQUFFLElBQUk7UUFDVixRQUFRLEVBQUUsRUFBRTtLQUNiO0lBRUQsS0FBSyxFQUFFO1FBQ0wsTUFBTSxFQUFFLEtBQUs7UUFDYixJQUFJLEVBQUUsSUFBSTtRQUNWLFFBQVEsRUFBRSxDQUFDO0tBQ1o7SUFFRCxNQUFNLEVBQUU7UUFDTixhQUFhLEVBQUUsRUFBRTtRQUNqQixPQUFPLEVBQUUsQ0FBQztRQUNWLFVBQVUsRUFBRSxFQUFFO1FBQ2QsVUFBVSxFQUFFLFFBQVE7S0FDckI7SUFFRCxLQUFLLEVBQUU7UUFDTCxRQUFRLEVBQUU7WUFDUixTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1NBQ1Y7S0FDRjtDQUNGLENBQUM7QUFFRixlQUFlLFdBQVcsQ0FBQyJ9\n\n/***/ }),\n/* 986 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar markColor = '#3e5c69';\nvar voxTheme = {\n background: '#fff',\n arc: { fill: markColor },\n area: { fill: markColor },\n line: { stroke: markColor },\n path: { stroke: markColor },\n rect: { fill: markColor },\n shape: { stroke: markColor },\n symbol: { fill: markColor },\n axis: {\n domainWidth: 0.5,\n grid: true,\n labelPadding: 2,\n tickSize: 5,\n tickWidth: 0.5,\n titleFontWeight: 'normal',\n },\n axisBand: {\n grid: false,\n },\n axisX: {\n gridWidth: 0.2,\n },\n axisY: {\n gridDash: [3],\n gridWidth: 0.4,\n },\n legend: {\n labelFontSize: 11,\n padding: 1,\n symbolType: 'square',\n },\n range: {\n category: [\n '#3e5c69',\n '#6793a6',\n '#182429',\n '#0570b0',\n '#3690c0',\n '#74a9cf',\n '#a6bddb',\n '#e2ddf2',\n ],\n },\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (voxTheme);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtdm94LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RoZW1lLXZveC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxJQUFNLFNBQVMsR0FBRyxTQUFTLENBQUM7QUFFNUIsSUFBTSxRQUFRLEdBQVc7SUFDdkIsVUFBVSxFQUFFLE1BQU07SUFFbEIsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtJQUN4QixJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO0lBQ3pCLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDM0IsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtJQUMzQixJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO0lBQ3pCLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDNUIsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtJQUUzQixJQUFJLEVBQUU7UUFDSixXQUFXLEVBQUUsR0FBRztRQUNoQixJQUFJLEVBQUUsSUFBSTtRQUNWLFlBQVksRUFBRSxDQUFDO1FBQ2YsUUFBUSxFQUFFLENBQUM7UUFDWCxTQUFTLEVBQUUsR0FBRztRQUNkLGVBQWUsRUFBRSxRQUFRO0tBQzFCO0lBRUQsUUFBUSxFQUFFO1FBQ1IsSUFBSSxFQUFFLEtBQUs7S0FDWjtJQUVELEtBQUssRUFBRTtRQUNMLFNBQVMsRUFBRSxHQUFHO0tBQ2Y7SUFFRCxLQUFLLEVBQUU7UUFDTCxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDYixTQUFTLEVBQUUsR0FBRztLQUNmO0lBRUQsTUFBTSxFQUFFO1FBQ04sYUFBYSxFQUFFLEVBQUU7UUFDakIsT0FBTyxFQUFFLENBQUM7UUFDVixVQUFVLEVBQUUsUUFBUTtLQUNyQjtJQUVELEtBQUssRUFBRTtRQUNMLFFBQVEsRUFBRTtZQUNSLFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1NBQ1Y7S0FDRjtDQUNGLENBQUM7QUFFRixlQUFlLFFBQVEsQ0FBQyJ9\n\n/***/ }),\n/* 987 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar lightColor = '#fff';\nvar medColor = '#aaa';\nvar darkTheme = {\n background: '#333',\n title: { color: lightColor },\n style: {\n 'guide-label': {\n fill: lightColor,\n },\n 'guide-title': {\n fill: lightColor,\n },\n },\n axis: {\n domainColor: lightColor,\n gridColor: medColor,\n tickColor: lightColor,\n },\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (darkTheme);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtZGFyay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90aGVtZS1kYXJrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLElBQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQztBQUMxQixJQUFNLFFBQVEsR0FBRyxNQUFNLENBQUM7QUFFeEIsSUFBTSxTQUFTLEdBQVc7SUFDeEIsVUFBVSxFQUFFLE1BQU07SUFFbEIsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRTtJQUU1QixLQUFLLEVBQUU7UUFDTCxhQUFhLEVBQUU7WUFDYixJQUFJLEVBQUUsVUFBVTtTQUNqQjtRQUNELGFBQWEsRUFBRTtZQUNiLElBQUksRUFBRSxVQUFVO1NBQ2pCO0tBQ0Y7SUFFRCxJQUFJLEVBQUU7UUFDSixXQUFXLEVBQUUsVUFBVTtRQUN2QixTQUFTLEVBQUUsUUFBUTtRQUNuQixTQUFTLEVBQUUsVUFBVTtLQUN0QjtDQUNGLENBQUM7QUFFRixlQUFlLFNBQVMsQ0FBQyJ9\n\n/***/ }),\n/* 988 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar markColor = '#30a2da';\nvar axisColor = '#cbcbcb';\nvar backgroundColor = '#f0f0f0';\nvar fivethirtyeighttheme = {\n arc: { fill: markColor },\n area: { fill: markColor },\n axisBand: {\n grid: false,\n },\n axisBottom: {\n domain: false,\n domainColor: 'black',\n domainWidth: 3,\n grid: true,\n gridColor: axisColor,\n gridWidth: 1,\n labelFontSize: 12,\n labelPadding: 4,\n tickColor: axisColor,\n tickSize: 10,\n titleFontSize: 14,\n titlePadding: 10,\n },\n axisLeft: {\n domainColor: axisColor,\n domainWidth: 1,\n gridColor: axisColor,\n gridWidth: 1,\n labelFontSize: 12,\n labelPadding: 4,\n tickColor: axisColor,\n tickSize: 10,\n ticks: true,\n titleFontSize: 14,\n titlePadding: 10,\n },\n axisRight: {\n domainColor: axisColor,\n domainWidth: 1,\n gridColor: axisColor,\n gridWidth: 1,\n labelFontSize: 12,\n labelPadding: 4,\n tickColor: axisColor,\n tickSize: 10,\n ticks: true,\n titleFontSize: 14,\n titlePadding: 10,\n },\n axisTop: {\n domain: false,\n domainColor: 'black',\n domainWidth: 3,\n grid: true,\n gridColor: axisColor,\n gridWidth: 1,\n labelFontSize: 12,\n labelPadding: 4,\n tickColor: axisColor,\n tickSize: 10,\n titleFontSize: 14,\n titlePadding: 10,\n },\n background: backgroundColor,\n group: {\n fill: backgroundColor,\n },\n legend: {\n labelFontSize: 11,\n padding: 1,\n symbolSize: 30,\n symbolType: 'square',\n titleFontSize: 14,\n titlePadding: 10,\n },\n line: {\n stroke: markColor,\n strokeWidth: 2,\n },\n path: { stroke: markColor, strokeWidth: 0.5 },\n point: { filled: true },\n rect: { fill: markColor },\n range: {\n category: [\n '#30a2da',\n '#fc4f30',\n '#e5ae38',\n '#6d904f',\n '#8b8b8b',\n '#b96db8',\n '#ff9e27',\n '#56cc60',\n '#52d2ca',\n '#52689e',\n '#545454',\n '#9fe4f8',\n ],\n diverging: [\n '#cc0020',\n '#e77866',\n '#f6e7e1',\n '#d6e8ed',\n '#91bfd9',\n '#1d78b5',\n ],\n heatmap: ['#d6e8ed', '#cee0e5', '#91bfd9', '#549cc6', '#1d78b5'],\n },\n symbol: {\n opacity: 1,\n shape: 'circle',\n size: 40,\n strokeWidth: 1,\n },\n shape: { stroke: markColor },\n style: {\n bar: {\n binSpacing: 2,\n fill: markColor,\n stroke: null,\n },\n },\n title: {\n anchor: 'start',\n fontSize: 24,\n fontWeight: 600,\n offset: 20,\n },\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (fivethirtyeighttheme);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtZml2ZXRoaXJ0eWVpZ2h0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RoZW1lLWZpdmV0aGlydHllaWdodC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxJQUFNLFNBQVMsR0FBRyxTQUFTLENBQUM7QUFDNUIsSUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDO0FBQzVCLElBQU0sZUFBZSxHQUFHLFNBQVMsQ0FBQztBQUVsQyxJQUFNLG9CQUFvQixHQUFXO0lBQ25DLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7SUFDeEIsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtJQUV6QixRQUFRLEVBQUU7UUFDUixJQUFJLEVBQUUsS0FBSztLQUNaO0lBRUQsVUFBVSxFQUFFO1FBQ1YsTUFBTSxFQUFFLEtBQUs7UUFDYixXQUFXLEVBQUUsT0FBTztRQUNwQixXQUFXLEVBQUUsQ0FBQztRQUNkLElBQUksRUFBRSxJQUFJO1FBQ1YsU0FBUyxFQUFFLFNBQVM7UUFDcEIsU0FBUyxFQUFFLENBQUM7UUFDWixhQUFhLEVBQUUsRUFBRTtRQUNqQixZQUFZLEVBQUUsQ0FBQztRQUNmLFNBQVMsRUFBRSxTQUFTO1FBQ3BCLFFBQVEsRUFBRSxFQUFFO1FBQ1osYUFBYSxFQUFFLEVBQUU7UUFDakIsWUFBWSxFQUFFLEVBQUU7S0FDakI7SUFFRCxRQUFRLEVBQUU7UUFDUixXQUFXLEVBQUUsU0FBUztRQUN0QixXQUFXLEVBQUUsQ0FBQztRQUNkLFNBQVMsRUFBRSxTQUFTO1FBQ3BCLFNBQVMsRUFBRSxDQUFDO1FBQ1osYUFBYSxFQUFFLEVBQUU7UUFDakIsWUFBWSxFQUFFLENBQUM7UUFDZixTQUFTLEVBQUUsU0FBUztRQUNwQixRQUFRLEVBQUUsRUFBRTtRQUNaLEtBQUssRUFBRSxJQUFJO1FBQ1gsYUFBYSxFQUFFLEVBQUU7UUFDakIsWUFBWSxFQUFFLEVBQUU7S0FDakI7SUFFRCxTQUFTLEVBQUU7UUFD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\n\n/***/ }),\n/* 989 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Handler__ = __webpack_require__(397);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__defaults__ = __webpack_require__(398);\n/* unused harmony namespace reexport */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__formatValue__ = __webpack_require__(399);\n/* unused harmony namespace reexport */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__position__ = __webpack_require__(400);\n/* unused harmony namespace reexport */\n/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__Handler__[\"a\"]; });\n\n\n\n\n\n/**\n * Create a tooltip handler and register it with the provided view.\n *\n * @param view The Vega view.\n * @param opt Tooltip options.\n */\n/* unused harmony default export */ var _unused_webpack_default_export = (function (view, opt) {\n var handler = new __WEBPACK_IMPORTED_MODULE_0__Handler__[\"a\" /* Handler */](opt);\n view.tooltip(handler.call).run();\n return handler;\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVwQyxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFdBQVcsQ0FBQztBQUUxQjs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxPQUFPLFdBQVUsSUFBVSxFQUFFLEdBQXNCO0lBQ3hELElBQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRWpDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBRWpDLE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMifQ==\n\n/***/ }),\n/* 990 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// generated with build-style.sh\n/* harmony default export */ __webpack_exports__[\"a\"] = (\"#vg-tooltip-element {\\n visibility: hidden;\\n padding: 8px;\\n position: fixed;\\n z-index: 1000;\\n font-family: sans-serif;\\n font-size: 11px;\\n border-radius: 3px;\\n box-shadow: 2px 2px 4px rgba(0,0,0,0.1);\\n\\n /* The default theme is the light theme. */\\n background-color: rgba(255, 255, 255, 0.95);\\n border: 1px solid #d9d9d9;\\n color: black;\\n}\\n#vg-tooltip-element.visible {\\n visibility: visible;\\n}\\n#vg-tooltip-element h2 {\\n margin-top: 0;\\n margin-bottom: 10px;\\n font-size: 13px;\\n}\\n#vg-tooltip-element table {\\n border-spacing: 0;\\n}\\n#vg-tooltip-element td {\\n overflow: hidden;\\n text-overflow: ellipsis;\\n padding-top: 2px;\\n padding-bottom: 2px;\\n}\\n#vg-tooltip-element td.key {\\n color: #808080;\\n max-width: 150px;\\n text-align: right;\\n padding-right: 4px;\\n}\\n#vg-tooltip-element td.value {\\n display: block;\\n max-width: 300px;\\n max-height: 7em;\\n text-align: left;\\n}\\n\\n/* Dark and light color themes */\\n#vg-tooltip-element.dark-theme {\\n background-color: rgba(32, 32, 32, 0.9);\\n border: 1px solid #f5f5f5;\\n color: white;\\n}\\n#vg-tooltip-element.dark-theme td.key {\\n color: #bfbfbf;\\n}\\n\\n#vg-tooltip-element.light-theme {\\n background-color: rgba(255, 255, 255, 0.95);\\n border: 1px solid #d9d9d9;\\n color: black;\\n}\\n#vg-tooltip-element.light-theme td.key {\\n color: #808080;\\n}\");\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc3R5bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0NBQWdDO0FBQ2hDLGVBQWUsczBDQThEYixDQUFBIn0=\n\n/***/ }),\n/* 991 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = post;\n/**\n * Open editor url in a new window, and pass a message.\n */\nfunction post(window, url, data) {\n var editor = window.open(url);\n var wait = 10000;\n var step = 250;\n var count = ~~(wait / step);\n function listen(evt) {\n if (evt.source === editor) {\n count = 0;\n window.removeEventListener('message', listen, false);\n }\n }\n window.addEventListener('message', listen, false);\n // send message\n // periodically resend until ack received or timeout\n function send() {\n if (count <= 0) {\n return;\n }\n editor.postMessage(data, '*');\n setTimeout(send, step);\n count -= 1;\n }\n setTimeout(send, step);\n}\n//# sourceMappingURL=post.js.map\n\n/***/ }),\n/* 992 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// generated with build-style.sh\n/* harmony default export */ __webpack_exports__[\"a\"] = (\".vega-embed {\\n position: relative;\\n display: inline-block;\\n padding-right: 38px;\\n}\\n\\n.vega-embed .vega-actions-wrapper {\\n display: inline-flex;\\n position: absolute;\\n top: 0;\\n right: 0;\\n padding: 6px;\\n z-index: 1000;\\n\\n opacity: 0.2;\\n background: white;\\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);\\n color: #1b1e23;\\n border: 1px solid #aaa;\\n border-radius: 999px;\\n transition: opacity 0.4s ease-in;\\n}\\n\\n.vega-embed:hover .vega-actions-wrapper {\\n transition: opacity 0.2s ease;\\n opacity: 1;\\n}\\n\\n.vega-embed .vega-actions {\\n position: absolute;\\n top: 0;\\n right: 0;\\n display: none;\\n flex-direction: column;\\n\\n padding-bottom: 8px;\\n padding-top: 8px;\\n border-radius: 4px;\\n box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.2);\\n border: 1px solid #d9d9d9;\\n background: white;\\n}\\n\\n.vega-embed .vega-actions-wrapper:hover {\\n background: transparent;\\n color: transparent;\\n border: none;\\n box-shadow: none;\\n}\\n\\n.vega-embed .vega-actions-wrapper:hover .vega-actions {\\n display: flex;\\n}\\n\\n.vega-embed .vega-actions a {\\n padding: 8px 16px;\\n font-family: sans-serif;\\n font-size: 14px;\\n font-weight: 600;\\n white-space: nowrap;\\n color: #434a56;\\n text-decoration: none;\\n}\\n\\n.vega-embed .vega-actions a:hover {\\n background-color: #f7f7f9;\\n color: #1b1e23;\\n}\");\n//# sourceMappingURL=style.js.map\n\n/***/ }),\n/* 993 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = mergeDeep;\n/* unused harmony export isURL */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vega_util__ = __webpack_require__(0);\n\n/**\n * From vega-lite\n */\nfunction mergeDeep(dest) {\n var src = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n src[_i - 1] = arguments[_i];\n }\n for (var _a = 0, src_1 = src; _a < src_1.length; _a++) {\n var s = src_1[_a];\n dest = deepMerge_(dest, s);\n }\n return dest;\n}\nfunction deepMerge_(dest, src) {\n if (typeof src !== 'object' || src === null) {\n return dest;\n }\n for (var p in src) {\n if (!src.hasOwnProperty(p)) {\n continue;\n }\n if (src[p] === undefined) {\n continue;\n }\n if (typeof src[p] !== 'object' || Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"v\" /* isArray */])(src[p]) || src[p] === null) {\n dest[p] = src[p];\n }\n else if (typeof dest[p] !== 'object' || dest[p] === null) {\n dest[p] = mergeDeep(Object(__WEBPACK_IMPORTED_MODULE_0_vega_util__[\"v\" /* isArray */])(src[p].constructor) ? [] : {}, src[p]);\n }\n else {\n mergeDeep(dest[p], src[p]);\n }\n }\n return dest;\n}\n// polyfill for IE\nif (!String.prototype.startsWith) {\n String.prototype.startsWith = function (search, pos) {\n return this.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n };\n}\nfunction isURL(s) {\n return s.startsWith('http://') || s.startsWith('https://') || s.startsWith('//');\n}\n//# sourceMappingURL=util.js.map\n\n/***/ }),\n/* 994 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ })\n/******/ ]);\n\n\n// WEBPACK FOOTER //\n// static/js/main.08f5d3d8.js"," \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, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\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 \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 401);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 4d033d1986c64d8577fb","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/tslib/tslib.es6.js\n// module id = 1\n// module chunks = 0","// Utilities\nexport {default as UniqueList} from './src/util/UniqueList';\n\n// Core Runtime\nexport {default as changeset, isChangeSet} from './src/ChangeSet';\nexport {default as Dataflow} from './src/dataflow/Dataflow';\nexport {default as EventStream} from './src/EventStream';\nexport {default as Parameters} from './src/Parameters';\nexport {default as Pulse} from './src/Pulse';\nexport {default as MultiPulse} from './src/MultiPulse';\nexport {default as Operator} from './src/Operator';\nexport {default as Transform} from './src/Transform';\nexport {derive, rederive, ingest, isTuple, replace, tupleid} from './src/Tuple';\n\n// Transform Registry\nexport {\n definition,\n transform,\n transforms\n} from './src/register';\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-dataflow/index.js\n// module id = 2\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport stableStringify from 'json-stable-stringify';\nimport { isArray, isNumber, isString, splitAccessPath, stringValue } from 'vega-util';\nimport { isLogicalAnd, isLogicalNot, isLogicalOr } from './logical';\n/**\n * Creates an object composed of the picked object properties.\n *\n * Example: (from lodash)\n *\n * var object = {'a': 1, 'b': '2', 'c': 3};\n * pick(object, ['a', 'c']);\n * // → {'a': 1, 'c': 3}\n *\n */\nexport function pick(obj, props) {\n var copy = {};\n for (var _i = 0, props_1 = props; _i < props_1.length; _i++) {\n var prop = props_1[_i];\n if (obj.hasOwnProperty(prop)) {\n copy[prop] = obj[prop];\n }\n }\n return copy;\n}\n/**\n * The opposite of _.pick; this method creates an object composed of the own\n * and inherited enumerable string keyed properties of object that are not omitted.\n */\nexport function omit(obj, props) {\n var copy = tslib_1.__assign({}, obj);\n for (var _i = 0, props_2 = props; _i < props_2.length; _i++) {\n var prop = props_2[_i];\n delete copy[prop];\n }\n return copy;\n}\n/**\n * Converts any object into a string representation that can be consumed by humans.\n */\nexport var stringify = stableStringify;\n/**\n * Converts any object into a string of limited size, or a number.\n */\nexport function hash(a) {\n if (isNumber(a)) {\n return a;\n }\n var str = isString(a) ? a : stableStringify(a);\n // short strings can be used as hash directly, longer strings are hashed to reduce memory usage\n if (str.length < 100) {\n return str;\n }\n // from http://werxltd.com/wp/2010/05/13/javascript-implementation-of-javas-string-hashcode-method/\n var h = 0;\n for (var i = 0; i < str.length; i++) {\n var char = str.charCodeAt(i);\n h = ((h << 5) - h) + char;\n h = h & h; // Convert to 32bit integer\n }\n return h;\n}\nexport function contains(array, item) {\n return array.indexOf(item) > -1;\n}\n/** Returns the array without the elements in item */\nexport function without(array, excludedItems) {\n return array.filter(function (item) { return !contains(excludedItems, item); });\n}\nexport function union(array, other) {\n return array.concat(without(other, array));\n}\n/**\n * Returns true if any item returns true.\n */\nexport function some(arr, f) {\n var i = 0;\n for (var k = 0; k < arr.length; k++) {\n if (f(arr[k], k, i++)) {\n return true;\n }\n }\n return false;\n}\n/**\n * Returns true if all items return true.\n */\nexport function every(arr, f) {\n var i = 0;\n for (var k = 0; k < arr.length; k++) {\n if (!f(arr[k], k, i++)) {\n return false;\n }\n }\n return true;\n}\nexport function flatten(arrays) {\n return [].concat.apply([], arrays);\n}\n/**\n * recursively merges src into dest\n */\nexport function mergeDeep(dest) {\n var src = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n src[_i - 1] = arguments[_i];\n }\n for (var _a = 0, src_1 = src; _a < src_1.length; _a++) {\n var s = src_1[_a];\n dest = deepMerge_(dest, s);\n }\n return dest;\n}\n// recursively merges src into dest\nfunction deepMerge_(dest, src) {\n if (typeof src !== 'object' || src === null) {\n return dest;\n }\n for (var p in src) {\n if (!src.hasOwnProperty(p)) {\n continue;\n }\n if (src[p] === undefined) {\n continue;\n }\n if (typeof src[p] !== 'object' || isArray(src[p]) || src[p] === null) {\n dest[p] = src[p];\n }\n else if (typeof dest[p] !== 'object' || dest[p] === null) {\n dest[p] = mergeDeep(isArray(src[p].constructor) ? [] : {}, src[p]);\n }\n else {\n mergeDeep(dest[p], src[p]);\n }\n }\n return dest;\n}\nexport function unique(values, f) {\n var results = [];\n var u = {};\n var v;\n for (var _i = 0, values_1 = values; _i < values_1.length; _i++) {\n var val = values_1[_i];\n v = f(val);\n if (v in u) {\n continue;\n }\n u[v] = 1;\n results.push(val);\n }\n return results;\n}\n/**\n * Returns true if the two dictionaries disagree. Applies only to defined values.\n */\nexport function differ(dict, other) {\n for (var key in dict) {\n if (dict.hasOwnProperty(key)) {\n if (other[key] && dict[key] && other[key] !== dict[key]) {\n return true;\n }\n }\n }\n return false;\n}\nexport function hasIntersection(a, b) {\n for (var key in a) {\n if (key in b) {\n return true;\n }\n }\n return false;\n}\nexport function isNumeric(num) {\n return !isNaN(num);\n}\nexport function differArray(array, other) {\n if (array.length !== other.length) {\n return true;\n }\n array.sort();\n other.sort();\n for (var i = 0; i < array.length; i++) {\n if (other[i] !== array[i]) {\n return true;\n }\n }\n return false;\n}\n// This is a stricter version of Object.keys but with better types. See https://github.com/Microsoft/TypeScript/pull/12253#issuecomment-263132208\nexport var keys = Object.keys;\nexport function vals(x) {\n var _vals = [];\n for (var k in x) {\n if (x.hasOwnProperty(k)) {\n _vals.push(x[k]);\n }\n }\n return _vals;\n}\nexport function flagKeys(f) {\n return keys(f);\n}\nexport function duplicate(obj) {\n return JSON.parse(JSON.stringify(obj));\n}\nexport function isBoolean(b) {\n return b === true || b === false;\n}\n/**\n * Convert a string into a valid variable name\n */\nexport function varName(s) {\n // Replace non-alphanumeric characters (anything besides a-zA-Z0-9_) with _\n var alphanumericS = s.replace(/\\W/g, '_');\n // Add _ if the string has leading numbers.\n return (s.match(/^\\d+/) ? '_' : '') + alphanumericS;\n}\nexport function logicalExpr(op, cb) {\n if (isLogicalNot(op)) {\n return '!(' + logicalExpr(op.not, cb) + ')';\n }\n else if (isLogicalAnd(op)) {\n return '(' + op.and.map(function (and) { return logicalExpr(and, cb); }).join(') && (') + ')';\n }\n else if (isLogicalOr(op)) {\n return '(' + op.or.map(function (or) { return logicalExpr(or, cb); }).join(') || (') + ')';\n }\n else {\n return cb(op);\n }\n}\n/**\n * Delete nested property of an object, and delete the ancestors of the property if they become empty.\n */\nexport function deleteNestedProperty(obj, orderedProps) {\n if (orderedProps.length === 0) {\n return true;\n }\n var prop = orderedProps.shift();\n if (deleteNestedProperty(obj[prop], orderedProps)) {\n delete obj[prop];\n }\n return Object.keys(obj).length === 0;\n}\nexport function titlecase(s) {\n return s.charAt(0).toUpperCase() + s.substr(1);\n}\n/**\n * Converts a path to an access path with datum.\n * @param path The field name.\n * @param datum The string to use for `datum`.\n */\nexport function accessPathWithDatum(path, datum) {\n if (datum === void 0) { datum = 'datum'; }\n var pieces = splitAccessPath(path);\n var prefixes = [];\n for (var i = 1; i <= pieces.length; i++) {\n var prefix = \"[\" + pieces.slice(0, i).map(stringValue).join('][') + \"]\";\n prefixes.push(\"\" + datum + prefix);\n }\n return prefixes.join(' && ');\n}\n/**\n * Return access with datum to the falttened field.\n * @param path The field name.\n * @param datum The string to use for `datum`.\n */\nexport function flatAccessWithDatum(path, datum) {\n if (datum === void 0) { datum = 'datum'; }\n return datum + \"[\" + stringValue(splitAccessPath(path).join('.')) + \"]\";\n}\n/**\n * Replaces path accesses with access to non-nested field.\n * For example, `foo[\"bar\"].baz` becomes `foo\\\\.bar\\\\.baz`.\n */\nexport function replacePathInField(path) {\n return \"\" + splitAccessPath(path).map(function (p) { return p.replace('.', '\\\\.'); }).join('\\\\.');\n}\n/**\n * Remove path accesses with access from field.\n * For example, `foo[\"bar\"].baz` becomes `foo.bar.baz`.\n */\nexport function removePathFromField(path) {\n return \"\" + splitAccessPath(path).join('.');\n}\n/**\n * Count the depth of the path. Returns 1 for fields that are not nested.\n */\nexport function accessPathDepth(path) {\n if (!path) {\n return 0;\n }\n return splitAccessPath(path).length;\n}\n//# sourceMappingURL=util.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/util.js\n// module id = 3\n// module chunks = 0","/**\n * Vega-Lite's singleton logger utility.\n */\nimport { logger, Warn } from 'vega-util';\nimport { stringify } from './util';\n/**\n * Main (default) Vega Logger instance for Vega-Lite\n */\nvar main = logger(Warn);\nvar current = main;\n/**\n * Logger tool for checking if the code throws correct warning\n */\nvar LocalLogger = /** @class */ (function () {\n function LocalLogger() {\n this.warns = [];\n this.infos = [];\n this.debugs = [];\n }\n LocalLogger.prototype.level = function () {\n return this;\n };\n LocalLogger.prototype.warn = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var _a;\n (_a = this.warns).push.apply(_a, args);\n return this;\n };\n LocalLogger.prototype.info = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var _a;\n (_a = this.infos).push.apply(_a, args);\n return this;\n };\n LocalLogger.prototype.debug = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var _a;\n (_a = this.debugs).push.apply(_a, args);\n return this;\n };\n return LocalLogger;\n}());\nexport { LocalLogger };\nexport function wrap(f) {\n return function () {\n current = new LocalLogger();\n f(current);\n reset();\n };\n}\n/**\n * Set the singleton logger to be a custom logger\n */\nexport function set(newLogger) {\n current = newLogger;\n return current;\n}\n/**\n * Reset the main logger to use the default Vega Logger\n */\nexport function reset() {\n current = main;\n return current;\n}\nexport function warn() {\n var _ = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n _[_i] = arguments[_i];\n }\n current.warn.apply(current, arguments);\n}\nexport function info() {\n var _ = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n _[_i] = arguments[_i];\n }\n current.info.apply(current, arguments);\n}\nexport function debug() {\n var _ = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n _[_i] = arguments[_i];\n }\n current.debug.apply(current, arguments);\n}\n/**\n * Collection of all Vega-Lite Error Messages\n */\nexport var message;\n(function (message) {\n message.INVALID_SPEC = 'Invalid spec';\n // FIT\n message.FIT_NON_SINGLE = 'Autosize \"fit\" only works for single views and layered views.';\n message.CANNOT_FIX_RANGE_STEP_WITH_FIT = 'Cannot use a fixed value of \"rangeStep\" when \"autosize\" is \"fit\".';\n // SELECTION\n function cannotProjectOnChannelWithoutField(channel) {\n return \"Cannot project a selection on encoding channel \\\"\" + channel + \"\\\", which has no field.\";\n }\n message.cannotProjectOnChannelWithoutField = cannotProjectOnChannelWithoutField;\n function nearestNotSupportForContinuous(mark) {\n return \"The \\\"nearest\\\" transform is not supported for \" + mark + \" marks.\";\n }\n message.nearestNotSupportForContinuous = nearestNotSupportForContinuous;\n function selectionNotFound(name) {\n return \"Cannot find a selection named \\\"\" + name + \"\\\"\";\n }\n message.selectionNotFound = selectionNotFound;\n message.SCALE_BINDINGS_CONTINUOUS = 'Scale bindings are currently only supported for scales with unbinned, continuous domains.';\n // REPEAT\n function noSuchRepeatedValue(field) {\n return \"Unknown repeated value \\\"\" + field + \"\\\".\";\n }\n message.noSuchRepeatedValue = noSuchRepeatedValue;\n // CONCAT\n message.CONCAT_CANNOT_SHARE_AXIS = 'Axes cannot be shared in concatenated views.';\n // REPEAT\n message.REPEAT_CANNOT_SHARE_AXIS = 'Axes cannot be shared in repeated views.';\n // TITLE\n function cannotSetTitleAnchor(type) {\n return \"Cannot set title \\\"anchor\\\" for a \" + type + \" spec\";\n }\n message.cannotSetTitleAnchor = cannotSetTitleAnchor;\n // DATA\n function unrecognizedParse(p) {\n return \"Unrecognized parse \\\"\" + p + \"\\\".\";\n }\n message.unrecognizedParse = unrecognizedParse;\n function differentParse(field, local, ancestor) {\n return \"An ancestor parsed field \\\"\" + field + \"\\\" as \" + ancestor + \" but a child wants to parse the field as \" + local + \".\";\n }\n message.differentParse = differentParse;\n // TRANSFORMS\n function invalidTransformIgnored(transform) {\n return \"Ignoring an invalid transform: \" + stringify(transform) + \".\";\n }\n message.invalidTransformIgnored = invalidTransformIgnored;\n message.NO_FIELDS_NEEDS_AS = 'If \"from.fields\" is not specified, \"as\" has to be a string that specifies the key to be used for the data from the secondary source.';\n // ENCODING & FACET\n function encodingOverridden(channels) {\n return \"Layer's shared \" + channels.join(',') + \" channel \" + (channels.length === 1 ? 'is' : 'are') + \" overriden\";\n }\n message.encodingOverridden = encodingOverridden;\n function projectionOverridden(opt) {\n var parentProjection = opt.parentProjection, projection = opt.projection;\n return \"Layer's shared projection \" + stringify(parentProjection) + \" is overridden by a child projection \" + stringify(projection) + \".\";\n }\n message.projectionOverridden = projectionOverridden;\n function primitiveChannelDef(channel, type, value) {\n return \"Channel \" + channel + \" is a \" + type + \". Converted to {value: \" + stringify(value) + \"}.\";\n }\n message.primitiveChannelDef = primitiveChannelDef;\n function invalidFieldType(type) {\n return \"Invalid field type \\\"\" + type + \"\\\"\";\n }\n message.invalidFieldType = invalidFieldType;\n function nonZeroScaleUsedWithLengthMark(mark, channel, opt) {\n var scaleText = opt.scaleType ? opt.scaleType + \" scale\" :\n opt.zeroFalse ? 'scale with zero=false' :\n 'scale with custom domain that excludes zero';\n return \"A \" + scaleText + \" is used to encode \" + mark + \"'s \" + channel + \". This can be misleading as the \" + (channel === 'x' ? 'width' : 'height') + \" of the \" + mark + \" can be arbitrary based on the scale domain. You may want to use point mark instead.\";\n }\n message.nonZeroScaleUsedWithLengthMark = nonZeroScaleUsedWithLengthMark;\n function invalidFieldTypeForCountAggregate(type, aggregate) {\n return \"Invalid field type \\\"\" + type + \"\\\" for aggregate: \\\"\" + aggregate + \"\\\", using \\\"quantitative\\\" instead.\";\n }\n message.invalidFieldTypeForCountAggregate = invalidFieldTypeForCountAggregate;\n function invalidAggregate(aggregate) {\n return \"Invalid aggregation operator \\\"\" + aggregate + \"\\\"\";\n }\n message.invalidAggregate = invalidAggregate;\n function emptyOrInvalidFieldType(type, channel, newType) {\n return \"Invalid field type \\\"\" + type + \"\\\" for channel \\\"\" + channel + \"\\\", using \\\"\" + newType + \"\\\" instead.\";\n }\n message.emptyOrInvalidFieldType = emptyOrInvalidFieldType;\n function droppingColor(type, opt) {\n var fill = opt.fill, stroke = opt.stroke;\n return \"Dropping color \" + type + \" as the plot also has \" + (fill && stroke ? 'fill and stroke' : fill ? 'fill' : 'stroke');\n }\n message.droppingColor = droppingColor;\n function emptyFieldDef(fieldDef, channel) {\n return \"Dropping \" + stringify(fieldDef) + \" from channel \\\"\" + channel + \"\\\" since it does not contain data field or value.\";\n }\n message.emptyFieldDef = emptyFieldDef;\n function latLongDeprecated(channel, type, newChannel) {\n return channel + \"-encoding with type \" + type + \" is deprecated. Replacing with \" + newChannel + \"-encoding.\";\n }\n message.latLongDeprecated = latLongDeprecated;\n message.LINE_WITH_VARYING_SIZE = 'Line marks cannot encode size with a non-groupby field. You may want to use trail marks instead.';\n function incompatibleChannel(channel, markOrFacet, when) {\n return channel + \" dropped as it is incompatible with \\\"\" + markOrFacet + \"\\\"\" + (when ? \" when \" + when : '') + \".\";\n }\n message.incompatibleChannel = incompatibleChannel;\n function invalidEncodingChannel(channel) {\n return channel + \"-encoding is dropped as \" + channel + \" is not a valid encoding channel.\";\n }\n message.invalidEncodingChannel = invalidEncodingChannel;\n function facetChannelShouldBeDiscrete(channel) {\n return channel + \" encoding should be discrete (ordinal / nominal / binned).\";\n }\n message.facetChannelShouldBeDiscrete = facetChannelShouldBeDiscrete;\n function discreteChannelCannotEncode(channel, type) {\n return \"Using discrete channel \\\"\" + channel + \"\\\" to encode \\\"\" + type + \"\\\" field can be misleading as it does not encode \" + (type === 'ordinal' ? 'order' : 'magnitude') + \".\";\n }\n message.discreteChannelCannotEncode = discreteChannelCannotEncode;\n // Mark\n message.BAR_WITH_POINT_SCALE_AND_RANGESTEP_NULL = 'Bar mark should not be used with point scale when rangeStep is null. Please use band scale instead.';\n function lineWithRange(hasX2, hasY2) {\n var channels = hasX2 && hasY2 ? 'x2 and y2' : hasX2 ? 'x2' : 'y2';\n return \"Line mark is for continuous lines and thus cannot be used with \" + channels + \". We will use the rule mark (line segments) instead.\";\n }\n message.lineWithRange = lineWithRange;\n function orientOverridden(original, actual) {\n return \"Specified orient \\\"\" + original + \"\\\" overridden with \\\"\" + actual + \"\\\"\";\n }\n message.orientOverridden = orientOverridden;\n // SCALE\n message.CANNOT_UNION_CUSTOM_DOMAIN_WITH_FIELD_DOMAIN = 'custom domain scale cannot be unioned with default field-based domain';\n function cannotUseScalePropertyWithNonColor(prop) {\n return \"Cannot use the scale property \\\"\" + prop + \"\\\" with non-color channel.\";\n }\n message.cannotUseScalePropertyWithNonColor = cannotUseScalePropertyWithNonColor;\n function unaggregateDomainHasNoEffectForRawField(fieldDef) {\n return \"Using unaggregated domain with raw field has no effect (\" + stringify(fieldDef) + \").\";\n }\n message.unaggregateDomainHasNoEffectForRawField = unaggregateDomainHasNoEffectForRawField;\n function unaggregateDomainWithNonSharedDomainOp(aggregate) {\n return \"Unaggregated domain not applicable for \\\"\" + aggregate + \"\\\" since it produces values outside the origin domain of the source data.\";\n }\n message.unaggregateDomainWithNonSharedDomainOp = unaggregateDomainWithNonSharedDomainOp;\n function unaggregatedDomainWithLogScale(fieldDef) {\n return \"Unaggregated domain is currently unsupported for log scale (\" + stringify(fieldDef) + \").\";\n }\n message.unaggregatedDomainWithLogScale = unaggregatedDomainWithLogScale;\n function cannotApplySizeToNonOrientedMark(mark) {\n return \"Cannot apply size to non-oriented mark \\\"\" + mark + \"\\\".\";\n }\n message.cannotApplySizeToNonOrientedMark = cannotApplySizeToNonOrientedMark;\n function rangeStepDropped(channel) {\n return \"rangeStep for \\\"\" + channel + \"\\\" is dropped as top-level \" + (channel === 'x' ? 'width' : 'height') + \" is provided.\";\n }\n message.rangeStepDropped = rangeStepDropped;\n function scaleTypeNotWorkWithChannel(channel, scaleType, defaultScaleType) {\n return \"Channel \\\"\" + channel + \"\\\" does not work with \\\"\" + scaleType + \"\\\" scale. We are using \\\"\" + defaultScaleType + \"\\\" scale instead.\";\n }\n message.scaleTypeNotWorkWithChannel = scaleTypeNotWorkWithChannel;\n function scaleTypeNotWorkWithFieldDef(scaleType, defaultScaleType) {\n return \"FieldDef does not work with \\\"\" + scaleType + \"\\\" scale. We are using \\\"\" + defaultScaleType + \"\\\" scale instead.\";\n }\n message.scaleTypeNotWorkWithFieldDef = scaleTypeNotWorkWithFieldDef;\n function scalePropertyNotWorkWithScaleType(scaleType, propName, channel) {\n return channel + \"-scale's \\\"\" + propName + \"\\\" is dropped as it does not work with \" + scaleType + \" scale.\";\n }\n message.scalePropertyNotWorkWithScaleType = scalePropertyNotWorkWithScaleType;\n function scaleTypeNotWorkWithMark(mark, scaleType) {\n return \"Scale type \\\"\" + scaleType + \"\\\" does not work with mark \\\"\" + mark + \"\\\".\";\n }\n message.scaleTypeNotWorkWithMark = scaleTypeNotWorkWithMark;\n function mergeConflictingProperty(property, propertyOf, v1, v2) {\n return \"Conflicting \" + propertyOf.toString() + \" property \\\"\" + property.toString() + \"\\\" (\" + stringify(v1) + \" and \" + stringify(v2) + \"). Using \" + stringify(v1) + \".\";\n }\n message.mergeConflictingProperty = mergeConflictingProperty;\n function independentScaleMeansIndependentGuide(channel) {\n return \"Setting the scale to be independent for \\\"\" + channel + \"\\\" means we also have to set the guide (axis or legend) to be independent.\";\n }\n message.independentScaleMeansIndependentGuide = independentScaleMeansIndependentGuide;\n function domainSortDropped(sort) {\n return \"Dropping sort property \" + stringify(sort) + \" as unioned domains only support boolean or op 'count'.\";\n }\n message.domainSortDropped = domainSortDropped;\n message.UNABLE_TO_MERGE_DOMAINS = 'Unable to merge domains';\n message.MORE_THAN_ONE_SORT = 'Domains that should be unioned has conflicting sort properties. Sort will be set to true.';\n // AXIS\n message.INVALID_CHANNEL_FOR_AXIS = 'Invalid channel for axis.';\n // STACK\n function cannotStackRangedMark(channel) {\n return \"Cannot stack \\\"\" + channel + \"\\\" if there is already \\\"\" + channel + \"2\\\"\";\n }\n message.cannotStackRangedMark = cannotStackRangedMark;\n function cannotStackNonLinearScale(scaleType) {\n return \"Cannot stack non-linear scale (\" + scaleType + \")\";\n }\n message.cannotStackNonLinearScale = cannotStackNonLinearScale;\n function stackNonSummativeAggregate(aggregate) {\n return \"Stacking is applied even though the aggregate function is non-summative (\\\"\" + aggregate + \"\\\")\";\n }\n message.stackNonSummativeAggregate = stackNonSummativeAggregate;\n // TIMEUNIT\n function invalidTimeUnit(unitName, value) {\n return \"Invalid \" + unitName + \": \" + stringify(value);\n }\n message.invalidTimeUnit = invalidTimeUnit;\n function dayReplacedWithDate(fullTimeUnit) {\n return \"Time unit \\\"\" + fullTimeUnit + \"\\\" is not supported. We are replacing it with \" + fullTimeUnit.replace('day', 'date') + \".\";\n }\n message.dayReplacedWithDate = dayReplacedWithDate;\n function droppedDay(d) {\n return \"Dropping day from datetime \" + stringify(d) + \" as day cannot be combined with other units.\";\n }\n message.droppedDay = droppedDay;\n})(message || (message = {}));\n//# sourceMappingURL=log.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/log.js\n// module id = 4\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/colors.js\n// module id = 5\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/math.js\n// module id = 6\n// module chunks = 0","/*\n * Constants and utilities for encoding channels (Visual variables)\n * such as 'x', 'y', 'color'.\n */\nimport * as tslib_1 from \"tslib\";\nimport { flagKeys } from './util';\nexport var Channel;\n(function (Channel) {\n // Facet\n Channel.ROW = 'row';\n Channel.COLUMN = 'column';\n // Position\n Channel.X = 'x';\n Channel.Y = 'y';\n Channel.X2 = 'x2';\n Channel.Y2 = 'y2';\n // Geo Position\n Channel.LATITUDE = 'latitude';\n Channel.LONGITUDE = 'longitude';\n Channel.LATITUDE2 = 'latitude2';\n Channel.LONGITUDE2 = 'longitude2';\n // Mark property with scale\n Channel.COLOR = 'color';\n Channel.FILL = 'fill';\n Channel.STROKE = 'stroke';\n Channel.SHAPE = 'shape';\n Channel.SIZE = 'size';\n Channel.OPACITY = 'opacity';\n // Non-scale channel\n Channel.TEXT = 'text';\n Channel.ORDER = 'order';\n Channel.DETAIL = 'detail';\n Channel.KEY = 'key';\n Channel.TOOLTIP = 'tooltip';\n Channel.HREF = 'href';\n})(Channel || (Channel = {}));\nexport var X = Channel.X;\nexport var Y = Channel.Y;\nexport var X2 = Channel.X2;\nexport var Y2 = Channel.Y2;\nexport var LATITUDE = Channel.LATITUDE;\nexport var LATITUDE2 = Channel.LATITUDE2;\nexport var LONGITUDE = Channel.LONGITUDE;\nexport var LONGITUDE2 = Channel.LONGITUDE2;\nexport var ROW = Channel.ROW;\nexport var COLUMN = Channel.COLUMN;\nexport var SHAPE = Channel.SHAPE;\nexport var SIZE = Channel.SIZE;\nexport var COLOR = Channel.COLOR;\nexport var FILL = Channel.FILL;\nexport var STROKE = Channel.STROKE;\nexport var TEXT = Channel.TEXT;\nexport var DETAIL = Channel.DETAIL;\nexport var KEY = Channel.KEY;\nexport var ORDER = Channel.ORDER;\nexport var OPACITY = Channel.OPACITY;\nexport var TOOLTIP = Channel.TOOLTIP;\nexport var HREF = Channel.HREF;\nexport var GEOPOSITION_CHANNEL_INDEX = {\n longitude: 1,\n longitude2: 1,\n latitude: 1,\n latitude2: 1,\n};\nexport var GEOPOSITION_CHANNELS = flagKeys(GEOPOSITION_CHANNEL_INDEX);\nvar UNIT_CHANNEL_INDEX = tslib_1.__assign({ \n // position\n x: 1, y: 1, x2: 1, y2: 1 }, GEOPOSITION_CHANNEL_INDEX, { \n // color\n color: 1, fill: 1, stroke: 1, \n // other non-position with scale\n opacity: 1, size: 1, shape: 1, \n // channels without scales\n order: 1, text: 1, detail: 1, key: 1, tooltip: 1, href: 1 });\nexport function isColorChannel(channel) {\n return channel === 'color' || channel === 'fill' || channel === 'stroke';\n}\nvar FACET_CHANNEL_INDEX = {\n row: 1,\n column: 1\n};\nvar CHANNEL_INDEX = tslib_1.__assign({}, UNIT_CHANNEL_INDEX, FACET_CHANNEL_INDEX);\nexport var CHANNELS = flagKeys(CHANNEL_INDEX);\nvar _o = CHANNEL_INDEX.order, _d = CHANNEL_INDEX.detail, SINGLE_DEF_CHANNEL_INDEX = tslib_1.__rest(CHANNEL_INDEX, [\"order\", \"detail\"]);\n/**\n * Channels that cannot have an array of channelDef.\n * model.fieldDef, getFieldDef only work for these channels.\n *\n * (The only two channels that can have an array of channelDefs are \"detail\" and \"order\".\n * Since there can be multiple fieldDefs for detail and order, getFieldDef/model.fieldDef\n * are not applicable for them. Similarly, selection projection won't work with \"detail\" and \"order\".)\n */\nexport var SINGLE_DEF_CHANNELS = flagKeys(SINGLE_DEF_CHANNEL_INDEX);\nexport function isChannel(str) {\n return !!CHANNEL_INDEX[str];\n}\n// CHANNELS without COLUMN, ROW\nexport var UNIT_CHANNELS = flagKeys(UNIT_CHANNEL_INDEX);\n// NONPOSITION_CHANNELS = UNIT_CHANNELS without X, Y, X2, Y2;\nvar _x = UNIT_CHANNEL_INDEX.x, _y = UNIT_CHANNEL_INDEX.y, \n// x2 and y2 share the same scale as x and y\n_x2 = UNIT_CHANNEL_INDEX.x2, _y2 = UNIT_CHANNEL_INDEX.y2, _latitude = UNIT_CHANNEL_INDEX.latitude, _longitude = UNIT_CHANNEL_INDEX.longitude, _latitude2 = UNIT_CHANNEL_INDEX.latitude2, _longitude2 = UNIT_CHANNEL_INDEX.longitude2, \n// The rest of unit channels then have scale\nNONPOSITION_CHANNEL_INDEX = tslib_1.__rest(UNIT_CHANNEL_INDEX, [\"x\", \"y\", \"x2\", \"y2\", \"latitude\", \"longitude\", \"latitude2\", \"longitude2\"]);\nexport var NONPOSITION_CHANNELS = flagKeys(NONPOSITION_CHANNEL_INDEX);\n// POSITION_SCALE_CHANNELS = X and Y;\nvar POSITION_SCALE_CHANNEL_INDEX = { x: 1, y: 1 };\nexport var POSITION_SCALE_CHANNELS = flagKeys(POSITION_SCALE_CHANNEL_INDEX);\n// NON_POSITION_SCALE_CHANNEL = SCALE_CHANNELS without X, Y\nvar \n// x2 and y2 share the same scale as x and y\n// text and tooltip have format instead of scale,\n// href has neither format, nor scale\n_t = NONPOSITION_CHANNEL_INDEX.text, _tt = NONPOSITION_CHANNEL_INDEX.tooltip, _hr = NONPOSITION_CHANNEL_INDEX.href, \n// detail and order have no scale\n_dd = NONPOSITION_CHANNEL_INDEX.detail, _k = NONPOSITION_CHANNEL_INDEX.key, _oo = NONPOSITION_CHANNEL_INDEX.order, NONPOSITION_SCALE_CHANNEL_INDEX = tslib_1.__rest(NONPOSITION_CHANNEL_INDEX, [\"text\", \"tooltip\", \"href\", \"detail\", \"key\", \"order\"]);\nexport var NONPOSITION_SCALE_CHANNELS = flagKeys(NONPOSITION_SCALE_CHANNEL_INDEX);\n// Declare SCALE_CHANNEL_INDEX\nvar SCALE_CHANNEL_INDEX = tslib_1.__assign({}, POSITION_SCALE_CHANNEL_INDEX, NONPOSITION_SCALE_CHANNEL_INDEX);\n/** List of channels with scales */\nexport var SCALE_CHANNELS = flagKeys(SCALE_CHANNEL_INDEX);\nexport function isScaleChannel(channel) {\n return !!SCALE_CHANNEL_INDEX[channel];\n}\n/**\n * Return whether a channel supports a particular mark type.\n * @param channel channel name\n * @param mark the mark type\n * @return whether the mark supports the channel\n */\nexport function supportMark(channel, mark) {\n return mark in getSupportedMark(channel);\n}\n/**\n * Return a dictionary showing whether a channel supports mark type.\n * @param channel\n * @return A dictionary mapping mark types to boolean values.\n */\nexport function getSupportedMark(channel) {\n switch (channel) {\n case COLOR:\n case FILL:\n case STROKE:\n case DETAIL:\n case KEY:\n case TOOLTIP:\n case HREF:\n case ORDER: // TODO: revise (order might not support rect, which is not stackable?)\n case OPACITY:\n case ROW:\n case COLUMN:\n return {\n point: true, tick: true, rule: true, circle: true, square: true,\n bar: true, rect: true, line: true, trail: true, area: true, text: true, geoshape: true\n };\n case X:\n case Y:\n case LATITUDE:\n case LONGITUDE:\n return {\n point: true, tick: true, rule: true, circle: true, square: true,\n bar: true, rect: true, line: true, trail: true, area: true, text: true\n };\n case X2:\n case Y2:\n case LATITUDE2:\n case LONGITUDE2:\n return {\n rule: true, bar: true, rect: true, area: true\n };\n case SIZE:\n return {\n point: true, tick: true, rule: true, circle: true, square: true,\n bar: true, text: true, line: true, trail: true\n };\n case SHAPE:\n return { point: true, geoshape: true };\n case TEXT:\n return { text: true };\n }\n}\nexport function rangeType(channel) {\n switch (channel) {\n case X:\n case Y:\n case SIZE:\n case OPACITY:\n // X2 and Y2 use X and Y scales, so they similarly have continuous range.\n case X2:\n case Y2:\n return 'continuous';\n case ROW:\n case COLUMN:\n case SHAPE:\n // TEXT, TOOLTIP, and HREF have no scale but have discrete output\n case TEXT:\n case TOOLTIP:\n case HREF:\n return 'discrete';\n // Color can be either continuous or discrete, depending on scale type.\n case COLOR:\n case FILL:\n case STROKE:\n return 'flexible';\n // No scale, no range type.\n case LATITUDE:\n case LONGITUDE:\n case LATITUDE2:\n case LONGITUDE2:\n case DETAIL:\n case KEY:\n case ORDER:\n return undefined;\n }\n /* istanbul ignore next: should never reach here. */\n throw new Error('rangeType not implemented for ' + channel);\n}\n//# sourceMappingURL=channel.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/channel.js\n// module id = 7\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { isArray, isBoolean, isNumber, isString } from 'vega-util';\nimport { isAggregateOp, isCountingAggregateOp } from './aggregate';\nimport { autoMaxBins, binToString } from './bin';\nimport { rangeType } from './channel';\nimport { dateTimeExpr, isDateTime } from './datetime';\nimport * as log from './log';\nimport { getLocalTimeUnit, getTimeUnitParts, isLocalSingleTimeUnit, isUtcSingleTimeUnit, normalizeTimeUnit } from './timeunit';\nimport { getFullName, QUANTITATIVE } from './type';\nimport { flatAccessWithDatum, replacePathInField, titlecase } from './util';\nexport function isConditionalSelection(c) {\n return c['selection'];\n}\nexport function isRepeatRef(field) {\n return field && !isString(field) && 'repeat' in field;\n}\nexport function toFieldDefBase(fieldDef) {\n var field = fieldDef.field, timeUnit = fieldDef.timeUnit, bin = fieldDef.bin, aggregate = fieldDef.aggregate;\n return tslib_1.__assign({}, (timeUnit ? { timeUnit: timeUnit } : {}), (bin ? { bin: bin } : {}), (aggregate ? { aggregate: aggregate } : {}), { field: field });\n}\nexport function isConditionalDef(channelDef) {\n return !!channelDef && !!channelDef.condition;\n}\n/**\n * Return if a channelDef is a ConditionalValueDef with ConditionFieldDef\n */\nexport function hasConditionalFieldDef(channelDef) {\n return !!channelDef && !!channelDef.condition && !isArray(channelDef.condition) && isFieldDef(channelDef.condition);\n}\nexport function hasConditionalValueDef(channelDef) {\n return !!channelDef && !!channelDef.condition && (isArray(channelDef.condition) || isValueDef(channelDef.condition));\n}\nexport function isFieldDef(channelDef) {\n return !!channelDef && (!!channelDef['field'] || channelDef['aggregate'] === 'count');\n}\nexport function isStringFieldDef(fieldDef) {\n return isFieldDef(fieldDef) && isString(fieldDef.field);\n}\nexport function isValueDef(channelDef) {\n return channelDef && 'value' in channelDef && channelDef['value'] !== undefined;\n}\nexport function isScaleFieldDef(channelDef) {\n return !!channelDef && (!!channelDef['scale'] || !!channelDef['sort']);\n}\nfunction isOpFieldDef(fieldDef) {\n return !!fieldDef['op'];\n}\nexport function vgField(fieldDef, opt) {\n if (opt === void 0) { opt = {}; }\n var field = fieldDef.field;\n var prefix = opt.prefix;\n var suffix = opt.suffix;\n if (isCount(fieldDef)) {\n field = 'count_*';\n }\n else {\n var fn = undefined;\n if (!opt.nofn) {\n if (isOpFieldDef(fieldDef)) {\n fn = fieldDef.op;\n }\n else if (fieldDef.bin) {\n fn = binToString(fieldDef.bin);\n suffix = opt.binSuffix || '';\n }\n else if (fieldDef.aggregate) {\n fn = String(fieldDef.aggregate);\n }\n else if (fieldDef.timeUnit) {\n fn = String(fieldDef.timeUnit);\n }\n }\n if (fn) {\n field = field ? fn + \"_\" + field : fn;\n }\n }\n if (suffix) {\n field = field + \"_\" + suffix;\n }\n if (prefix) {\n field = prefix + \"_\" + field;\n }\n if (opt.expr) {\n // Expression to access flattened field. No need to escape dots.\n return flatAccessWithDatum(field, opt.expr);\n }\n else {\n // We flattened all fields so paths should have become dot.\n return replacePathInField(field);\n }\n}\nexport function isDiscrete(fieldDef) {\n switch (fieldDef.type) {\n case 'nominal':\n case 'ordinal':\n case 'geojson':\n return true;\n case 'quantitative':\n return !!fieldDef.bin;\n case 'latitude':\n case 'longitude':\n case 'temporal':\n return false;\n }\n throw new Error(log.message.invalidFieldType(fieldDef.type));\n}\nexport function isContinuous(fieldDef) {\n return !isDiscrete(fieldDef);\n}\nexport function isCount(fieldDef) {\n return fieldDef.aggregate === 'count';\n}\nexport function verbalTitleFormatter(fieldDef, config) {\n var field = fieldDef.field, bin = fieldDef.bin, timeUnit = fieldDef.timeUnit, aggregate = fieldDef.aggregate;\n if (aggregate === 'count') {\n return config.countTitle;\n }\n else if (bin) {\n return field + \" (binned)\";\n }\n else if (timeUnit) {\n var units = getTimeUnitParts(timeUnit).join('-');\n return field + \" (\" + units + \")\";\n }\n else if (aggregate) {\n return titlecase(aggregate) + \" of \" + field;\n }\n return field;\n}\nexport function functionalTitleFormatter(fieldDef, config) {\n var fn = fieldDef.aggregate || fieldDef.timeUnit || (fieldDef.bin && 'bin');\n if (fn) {\n return fn.toUpperCase() + '(' + fieldDef.field + ')';\n }\n else {\n return fieldDef.field;\n }\n}\nexport var defaultTitleFormatter = function (fieldDef, config) {\n switch (config.fieldTitle) {\n case 'plain':\n return fieldDef.field;\n case 'functional':\n return functionalTitleFormatter(fieldDef, config);\n default:\n return verbalTitleFormatter(fieldDef, config);\n }\n};\nvar titleFormatter = defaultTitleFormatter;\nexport function setTitleFormatter(formatter) {\n titleFormatter = formatter;\n}\nexport function resetTitleFormatter() {\n setTitleFormatter(defaultTitleFormatter);\n}\nexport function title(fieldDef, config) {\n return titleFormatter(fieldDef, config);\n}\nexport function defaultType(fieldDef, channel) {\n if (fieldDef.timeUnit) {\n return 'temporal';\n }\n if (fieldDef.bin) {\n return 'quantitative';\n }\n switch (rangeType(channel)) {\n case 'continuous':\n return 'quantitative';\n case 'discrete':\n return 'nominal';\n case 'flexible': // color\n return 'nominal';\n default:\n return 'quantitative';\n }\n}\n/**\n * Returns the fieldDef -- either from the outer channelDef or from the condition of channelDef.\n * @param channelDef\n */\nexport function getFieldDef(channelDef) {\n if (isFieldDef(channelDef)) {\n return channelDef;\n }\n else if (hasConditionalFieldDef(channelDef)) {\n return channelDef.condition;\n }\n return undefined;\n}\n/**\n * Convert type to full, lowercase type, or augment the fieldDef with a default type if missing.\n */\nexport function normalize(channelDef, channel) {\n if (isString(channelDef) || isNumber(channelDef) || isBoolean(channelDef)) {\n var primitiveType = isString(channelDef) ? 'string' :\n isNumber(channelDef) ? 'number' : 'boolean';\n log.warn(log.message.primitiveChannelDef(channel, primitiveType, channelDef));\n return { value: channelDef };\n }\n // If a fieldDef contains a field, we need type.\n if (isFieldDef(channelDef)) {\n return normalizeFieldDef(channelDef, channel);\n }\n else if (hasConditionalFieldDef(channelDef)) {\n return tslib_1.__assign({}, channelDef, { \n // Need to cast as normalizeFieldDef normally return FieldDef, but here we know that it is definitely Condition<FieldDef>\n condition: normalizeFieldDef(channelDef.condition, channel) });\n }\n return channelDef;\n}\nexport function normalizeFieldDef(fieldDef, channel) {\n // Drop invalid aggregate\n if (fieldDef.aggregate && !isAggregateOp(fieldDef.aggregate)) {\n var aggregate = fieldDef.aggregate, fieldDefWithoutAggregate = tslib_1.__rest(fieldDef, [\"aggregate\"]);\n log.warn(log.message.invalidAggregate(fieldDef.aggregate));\n fieldDef = fieldDefWithoutAggregate;\n }\n // Normalize Time Unit\n if (fieldDef.timeUnit) {\n fieldDef = tslib_1.__assign({}, fieldDef, { timeUnit: normalizeTimeUnit(fieldDef.timeUnit) });\n }\n // Normalize bin\n if (fieldDef.bin) {\n fieldDef = tslib_1.__assign({}, fieldDef, { bin: normalizeBin(fieldDef.bin, channel) });\n }\n // Normalize Type\n if (fieldDef.type) {\n var fullType = getFullName(fieldDef.type);\n if (fieldDef.type !== fullType) {\n // convert short type to full type\n fieldDef = tslib_1.__assign({}, fieldDef, { type: fullType });\n }\n if (fieldDef.type !== 'quantitative') {\n if (isCountingAggregateOp(fieldDef.aggregate)) {\n log.warn(log.message.invalidFieldTypeForCountAggregate(fieldDef.type, fieldDef.aggregate));\n fieldDef = tslib_1.__assign({}, fieldDef, { type: 'quantitative' });\n }\n }\n }\n else {\n // If type is empty / invalid, then augment with default type\n var newType = defaultType(fieldDef, channel);\n log.warn(log.message.emptyOrInvalidFieldType(fieldDef.type, channel, newType));\n fieldDef = tslib_1.__assign({}, fieldDef, { type: newType });\n }\n var _a = channelCompatibility(fieldDef, channel), compatible = _a.compatible, warning = _a.warning;\n if (!compatible) {\n log.warn(warning);\n }\n return fieldDef;\n}\nexport function normalizeBin(bin, channel) {\n if (isBoolean(bin)) {\n return { maxbins: autoMaxBins(channel) };\n }\n else if (!bin.maxbins && !bin.step) {\n return tslib_1.__assign({}, bin, { maxbins: autoMaxBins(channel) });\n }\n else {\n return bin;\n }\n}\nvar COMPATIBLE = { compatible: true };\nexport function channelCompatibility(fieldDef, channel) {\n var type = fieldDef.type;\n switch (channel) {\n case 'row':\n case 'column':\n if (isContinuous(fieldDef)) {\n return {\n compatible: false,\n warning: log.message.facetChannelShouldBeDiscrete(channel)\n };\n }\n return COMPATIBLE;\n case 'x':\n case 'y':\n case 'color':\n case 'fill':\n case 'stroke':\n case 'text':\n case 'detail':\n case 'key':\n case 'tooltip':\n case 'href':\n return COMPATIBLE;\n case 'longitude':\n case 'longitude2':\n case 'latitude':\n case 'latitude2':\n if (type !== QUANTITATIVE) {\n return {\n compatible: false,\n warning: \"Channel \" + channel + \" should be used with a quantitative field only, not \" + fieldDef.type + \" field.\"\n };\n }\n return COMPATIBLE;\n case 'opacity':\n case 'size':\n case 'x2':\n case 'y2':\n if ((type === 'nominal' && !fieldDef['sort']) || type === 'geojson') {\n return {\n compatible: false,\n warning: \"Channel \" + channel + \" should not be used with an unsorted discrete field.\"\n };\n }\n return COMPATIBLE;\n case 'shape':\n if (fieldDef.type !== 'nominal' && fieldDef.type !== 'geojson') {\n return {\n compatible: false,\n warning: 'Shape channel should be used with only either nominal or geojson data'\n };\n }\n return COMPATIBLE;\n case 'order':\n if (fieldDef.type === 'nominal' && !('sort' in fieldDef)) {\n return {\n compatible: false,\n warning: \"Channel order is inappropriate for nominal field, which has no inherent order.\"\n };\n }\n return COMPATIBLE;\n }\n throw new Error('channelCompatability not implemented for channel ' + channel);\n}\nexport function isNumberFieldDef(fieldDef) {\n return fieldDef.type === 'quantitative' || !!fieldDef.bin;\n}\nexport function isTimeFieldDef(fieldDef) {\n return fieldDef.type === 'temporal' || !!fieldDef.timeUnit;\n}\n/**\n * Getting a value associated with a fielddef.\n * Convert the value to Vega expression if applicable (for datetime object, or string if the field def is temporal or has timeUnit)\n */\nexport function valueExpr(v, _a) {\n var timeUnit = _a.timeUnit, type = _a.type, time = _a.time, undefinedIfExprNotRequired = _a.undefinedIfExprNotRequired;\n var _b;\n var expr = undefined;\n if (isDateTime(v)) {\n expr = dateTimeExpr(v, true);\n }\n else if (isString(v) || isNumber(v)) {\n if (timeUnit || type === 'temporal') {\n if (isLocalSingleTimeUnit(timeUnit)) {\n expr = dateTimeExpr((_b = {}, _b[timeUnit] = v, _b), true);\n }\n else if (isUtcSingleTimeUnit(timeUnit)) {\n // FIXME is this really correct?\n expr = valueExpr(v, { timeUnit: getLocalTimeUnit(timeUnit) });\n }\n else {\n // just pass the string to date function (which will call JS Date.parse())\n expr = \"datetime(\" + JSON.stringify(v) + \")\";\n }\n }\n }\n if (expr) {\n return time ? \"time(\" + expr + \")\" : expr;\n }\n // number or boolean or normal string\n return undefinedIfExprNotRequired ? undefined : JSON.stringify(v);\n}\n/**\n * Standardize value array -- convert each value to Vega expression if applicable\n */\nexport function valueArray(fieldDef, values) {\n var timeUnit = fieldDef.timeUnit, type = fieldDef.type;\n return values.map(function (v) {\n var expr = valueExpr(v, { timeUnit: timeUnit, type: type, undefinedIfExprNotRequired: true });\n // return signal for the expression if we need an expression\n if (expr !== undefined) {\n return { signal: expr };\n }\n // otherwise just return the original value\n return v;\n });\n}\n//# sourceMappingURL=fielddef.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/fielddef.js\n// module id = 8\n// module chunks = 0","import {interpolateRgbBasis} from \"d3-interpolate\";\n\nexport default function(scheme) {\n return interpolateRgbBasis(scheme[scheme.length - 1]);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/ramp.js\n// module id = 10\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { toSet } from 'vega-util';\nimport { Channel, CHANNELS, isColorChannel } from './channel';\nimport * as log from './log';\nimport { Type, TYPE_INDEX } from './type';\nimport { contains, flagKeys, keys } from './util';\nexport var ScaleType;\n(function (ScaleType) {\n // Continuous - Quantitative\n ScaleType.LINEAR = 'linear';\n ScaleType.BIN_LINEAR = 'bin-linear';\n ScaleType.LOG = 'log';\n ScaleType.POW = 'pow';\n ScaleType.SQRT = 'sqrt';\n // Continuous - Time\n ScaleType.TIME = 'time';\n ScaleType.UTC = 'utc';\n // sequential\n ScaleType.SEQUENTIAL = 'sequential';\n // Quantile, Quantize, threshold\n ScaleType.QUANTILE = 'quantile';\n ScaleType.QUANTIZE = 'quantize';\n ScaleType.THRESHOLD = 'threshold';\n ScaleType.ORDINAL = 'ordinal';\n ScaleType.BIN_ORDINAL = 'bin-ordinal';\n ScaleType.POINT = 'point';\n ScaleType.BAND = 'band';\n})(ScaleType || (ScaleType = {}));\n/**\n * Index for scale categories -- only scale of the same categories can be merged together.\n * Current implementation is trying to be conservative and avoid merging scale type that might not work together\n */\nvar SCALE_CATEGORY_INDEX = {\n linear: 'numeric',\n log: 'numeric',\n pow: 'numeric',\n sqrt: 'numeric',\n 'bin-linear': 'bin-linear',\n time: 'time',\n utc: 'time',\n sequential: 'sequential',\n ordinal: 'ordinal',\n 'bin-ordinal': 'bin-ordinal',\n point: 'ordinal-position',\n band: 'ordinal-position'\n};\nexport var SCALE_TYPES = keys(SCALE_CATEGORY_INDEX);\n/**\n * Whether the two given scale types can be merged together.\n */\nexport function scaleCompatible(scaleType1, scaleType2) {\n var scaleCategory1 = SCALE_CATEGORY_INDEX[scaleType1];\n var scaleCategory2 = SCALE_CATEGORY_INDEX[scaleType2];\n return scaleCategory1 === scaleCategory2 ||\n (scaleCategory1 === 'ordinal-position' && scaleCategory2 === 'time') ||\n (scaleCategory2 === 'ordinal-position' && scaleCategory1 === 'time');\n}\n/**\n * Index for scale precedence -- high score = higher priority for merging.\n */\nvar SCALE_PRECEDENCE_INDEX = {\n // numeric\n linear: 0,\n log: 1,\n pow: 1,\n sqrt: 1,\n // time\n time: 0,\n utc: 0,\n // ordinal-position -- these have higher precedence than continuous scales as they support more types of data\n point: 10,\n band: 11,\n // non grouped types\n 'bin-linear': 0,\n sequential: 0,\n ordinal: 0,\n 'bin-ordinal': 0,\n};\n/**\n * Return scale categories -- only scale of the same categories can be merged together.\n */\nexport function scaleTypePrecedence(scaleType) {\n return SCALE_PRECEDENCE_INDEX[scaleType];\n}\nexport var CONTINUOUS_TO_CONTINUOUS_SCALES = ['linear', 'bin-linear', 'log', 'pow', 'sqrt', 'time', 'utc'];\nvar CONTINUOUS_TO_CONTINUOUS_INDEX = toSet(CONTINUOUS_TO_CONTINUOUS_SCALES);\nexport var CONTINUOUS_DOMAIN_SCALES = CONTINUOUS_TO_CONTINUOUS_SCALES.concat(['sequential' /* TODO add 'quantile', 'quantize', 'threshold'*/]);\nvar CONTINUOUS_DOMAIN_INDEX = toSet(CONTINUOUS_DOMAIN_SCALES);\nexport var DISCRETE_DOMAIN_SCALES = ['ordinal', 'bin-ordinal', 'point', 'band'];\nvar DISCRETE_DOMAIN_INDEX = toSet(DISCRETE_DOMAIN_SCALES);\nvar BIN_SCALES_INDEX = toSet(['bin-linear', 'bin-ordinal']);\nexport var TIME_SCALE_TYPES = ['time', 'utc'];\nexport function hasDiscreteDomain(type) {\n return type in DISCRETE_DOMAIN_INDEX;\n}\nexport function isBinScale(type) {\n return type in BIN_SCALES_INDEX;\n}\nexport function hasContinuousDomain(type) {\n return type in CONTINUOUS_DOMAIN_INDEX;\n}\nexport function isContinuousToContinuous(type) {\n return type in CONTINUOUS_TO_CONTINUOUS_INDEX;\n}\nexport var defaultScaleConfig = {\n textXRangeStep: 90,\n rangeStep: 21,\n pointPadding: 0.5,\n bandPaddingInner: 0.1,\n facetSpacing: 16,\n minBandSize: 2,\n minFontSize: 8,\n maxFontSize: 40,\n minOpacity: 0.3,\n maxOpacity: 0.8,\n // FIXME: revise if these *can* become ratios of rangeStep\n minSize: 9,\n minStrokeWidth: 1,\n maxStrokeWidth: 4\n};\nexport function isExtendedScheme(scheme) {\n return scheme && !!scheme['name'];\n}\nexport function isSelectionDomain(domain) {\n return domain && domain['selection'];\n}\nvar SCALE_PROPERTY_INDEX = {\n type: 1,\n domain: 1,\n range: 1,\n rangeStep: 1,\n scheme: 1,\n // Other properties\n reverse: 1,\n round: 1,\n // quantitative / time\n clamp: 1,\n nice: 1,\n // quantitative\n base: 1,\n exponent: 1,\n interpolate: 1,\n zero: 1,\n // band/point\n padding: 1,\n paddingInner: 1,\n paddingOuter: 1\n};\nexport var SCALE_PROPERTIES = flagKeys(SCALE_PROPERTY_INDEX);\nvar type = SCALE_PROPERTY_INDEX.type, domain = SCALE_PROPERTY_INDEX.domain, range = SCALE_PROPERTY_INDEX.range, rangeStep = SCALE_PROPERTY_INDEX.rangeStep, scheme = SCALE_PROPERTY_INDEX.scheme, NON_TYPE_DOMAIN_RANGE_VEGA_SCALE_PROPERTY_INDEX = tslib_1.__rest(SCALE_PROPERTY_INDEX, [\"type\", \"domain\", \"range\", \"rangeStep\", \"scheme\"]);\nexport var NON_TYPE_DOMAIN_RANGE_VEGA_SCALE_PROPERTIES = flagKeys(NON_TYPE_DOMAIN_RANGE_VEGA_SCALE_PROPERTY_INDEX);\nexport var SCALE_TYPE_INDEX = generateScaleTypeIndex();\nexport function scaleTypeSupportProperty(scaleType, propName) {\n switch (propName) {\n case 'type':\n case 'domain':\n case 'reverse':\n case 'range':\n return true;\n case 'scheme':\n return contains(['sequential', 'ordinal', 'bin-ordinal', 'quantile', 'quantize'], scaleType);\n case 'interpolate':\n // FIXME(https://github.com/vega/vega-lite/issues/2902) how about ordinal?\n return contains(['linear', 'bin-linear', 'pow', 'log', 'sqrt', 'utc', 'time'], scaleType);\n case 'round':\n return isContinuousToContinuous(scaleType) || scaleType === 'band' || scaleType === 'point';\n case 'padding':\n return isContinuousToContinuous(scaleType) || contains(['point', 'band'], scaleType);\n case 'paddingOuter':\n case 'rangeStep':\n return contains(['point', 'band'], scaleType);\n case 'paddingInner':\n return scaleType === 'band';\n case 'clamp':\n return isContinuousToContinuous(scaleType) || scaleType === 'sequential';\n case 'nice':\n return isContinuousToContinuous(scaleType) || scaleType === 'sequential' || scaleType === 'quantize';\n case 'exponent':\n return scaleType === 'pow';\n case 'base':\n return scaleType === 'log';\n case 'zero':\n return hasContinuousDomain(scaleType) && !contains([\n 'log',\n 'time', 'utc',\n 'bin-linear',\n 'threshold',\n 'quantile' // quantile depends on distribution so zero does not matter\n ], scaleType);\n }\n /* istanbul ignore next: should never reach here*/\n throw new Error(\"Invalid scale property \" + propName + \".\");\n}\n/**\n * Returns undefined if the input channel supports the input scale property name\n */\nexport function channelScalePropertyIncompatability(channel, propName) {\n switch (propName) {\n case 'interpolate':\n case 'scheme':\n if (!isColorChannel(channel)) {\n return log.message.cannotUseScalePropertyWithNonColor(channel);\n }\n return undefined;\n case 'type':\n case 'domain':\n case 'range':\n case 'base':\n case 'exponent':\n case 'nice':\n case 'padding':\n case 'paddingInner':\n case 'paddingOuter':\n case 'rangeStep':\n case 'reverse':\n case 'round':\n case 'clamp':\n case 'zero':\n return undefined; // GOOD!\n }\n /* istanbul ignore next: it should never reach here */\n throw new Error(\"Invalid scale property \\\"\" + propName + \"\\\".\");\n}\nexport function scaleTypeSupportDataType(specifiedType, fieldDefType, bin) {\n if (contains([Type.ORDINAL, Type.NOMINAL], fieldDefType)) {\n return specifiedType === undefined || hasDiscreteDomain(specifiedType);\n }\n else if (fieldDefType === Type.TEMPORAL) {\n return contains([ScaleType.TIME, ScaleType.UTC, ScaleType.SEQUENTIAL, undefined], specifiedType);\n }\n else if (fieldDefType === Type.QUANTITATIVE) {\n if (bin) {\n return contains([ScaleType.BIN_LINEAR, ScaleType.BIN_ORDINAL, ScaleType.LINEAR], specifiedType);\n }\n return contains([ScaleType.LOG, ScaleType.POW, ScaleType.SQRT, ScaleType.QUANTILE, ScaleType.QUANTIZE, ScaleType.LINEAR, ScaleType.SEQUENTIAL, undefined], specifiedType);\n }\n return true;\n}\nexport function channelSupportScaleType(channel, scaleType) {\n switch (channel) {\n case Channel.X:\n case Channel.Y:\n case Channel.SIZE: // TODO: size and opacity can support ordinal with more modification\n case Channel.OPACITY:\n // Although it generally doesn't make sense to use band with size and opacity,\n // it can also work since we use band: 0.5 to get midpoint.\n return isContinuousToContinuous(scaleType) || contains(['band', 'point'], scaleType);\n case Channel.COLOR:\n case Channel.FILL:\n case Channel.STROKE:\n return scaleType !== 'band'; // band does not make sense with color\n case Channel.SHAPE:\n return scaleType === 'ordinal'; // shape = lookup only\n }\n /* istanbul ignore next: it should never reach here */\n return false;\n}\nexport function getSupportedScaleType(channel, fieldDefType, bin) {\n return SCALE_TYPE_INDEX[generateScaleTypeIndexKey(channel, fieldDefType, bin)];\n}\n// generates ScaleTypeIndex where keys are encoding channels and values are list of valid ScaleTypes\nfunction generateScaleTypeIndex() {\n var index = {};\n for (var _i = 0, CHANNELS_1 = CHANNELS; _i < CHANNELS_1.length; _i++) {\n var channel = CHANNELS_1[_i];\n for (var _a = 0, _b = keys(TYPE_INDEX); _a < _b.length; _a++) {\n var fieldDefType = _b[_a];\n for (var _c = 0, SCALE_TYPES_1 = SCALE_TYPES; _c < SCALE_TYPES_1.length; _c++) {\n var scaleType = SCALE_TYPES_1[_c];\n for (var _d = 0, _e = [false, true]; _d < _e.length; _d++) {\n var bin = _e[_d];\n var key = generateScaleTypeIndexKey(channel, fieldDefType, bin);\n if (channelSupportScaleType(channel, scaleType) && scaleTypeSupportDataType(scaleType, fieldDefType, bin)) {\n index[key] = index[key] || [];\n index[key].push(scaleType);\n }\n }\n }\n }\n }\n return index;\n}\nfunction generateScaleTypeIndexKey(channel, fieldDefType, bin) {\n var key = channel + '_' + fieldDefType;\n return bin ? key + '_bin' : key;\n}\n//# sourceMappingURL=scale.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/scale.js\n// module id = 11\n// module chunks = 0","import {isObject} from 'vega-util';\n\nexport function Entry(type, value, params, parent) {\n this.id = -1;\n this.type = type;\n this.value = value;\n this.params = params;\n if (parent) this.parent = parent;\n}\n\nexport function entry(type, value, params, parent) {\n return new Entry(type, value, params, parent);\n}\n\nexport function operator(value, params) {\n return entry('operator', value, params);\n}\n\n// -----\n\nexport function ref(op) {\n var ref = {$ref: op.id};\n // if operator not yet registered, cache ref to resolve later\n if (op.id < 0) (op.refs = op.refs || []).push(ref);\n return ref;\n}\n\nexport var tupleidRef = {\n $tupleid: 1,\n toString: function() { return ':_tupleid_:'; }\n};\n\nexport function fieldRef(field, name) {\n return name ? {$field: field, $name: name} : {$field: field};\n}\n\nexport var keyFieldRef = fieldRef('key');\n\nexport function compareRef(fields, orders) {\n return {$compare: fields, $order: orders};\n}\n\nexport function keyRef(fields, flat) {\n var ref = {$key: fields};\n if (flat) ref.$flat = true;\n return ref;\n}\n\n// -----\n\nexport var Ascending = 'ascending';\n\nexport var Descending = 'descending';\n\nexport function sortKey(sort) {\n return !isObject(sort) ? ''\n : (sort.order === Descending ? '-' : '+')\n + aggrField(sort.op, sort.field);\n}\n\nexport function aggrField(op, field) {\n return (op && op.signal ? '$' + op.signal : op || '')\n + (op && field ? '_' : '')\n + (field && field.signal ? '$' + field.signal : field || '');\n}\n\n// -----\n\nexport var Scope = 'scope';\n\nexport var View = 'view';\n\nexport function isSignal(_) {\n return _ && _.signal;\n}\n\nexport function hasSignal(_) {\n if (isSignal(_)) return true;\n if (isObject(_)) for (var key in _) {\n if (hasSignal(_[key])) return true;\n }\n return false;\n}\n\nexport function value(specValue, defaultValue) {\n return specValue != null ? specValue : defaultValue;\n}\n\nexport function deref(v) {\n return v && v.signal || v;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/util.js\n// module id = 12\n// module chunks = 0","import * as tslib_1 from \"tslib\";\n/**\n * A node in the dataflow tree.\n */\nvar DataFlowNode = /** @class */ (function () {\n function DataFlowNode(parent, debugName) {\n this.debugName = debugName;\n this._children = [];\n this._parent = null;\n if (parent) {\n this.parent = parent;\n }\n }\n /**\n * Clone this node with a deep copy but don't clone links to children or parents.\n */\n DataFlowNode.prototype.clone = function () {\n throw new Error('Cannot clone node');\n };\n /**\n * Set of fields that are being created by this node.\n */\n DataFlowNode.prototype.producedFields = function () {\n return {};\n };\n DataFlowNode.prototype.dependentFields = function () {\n return {};\n };\n Object.defineProperty(DataFlowNode.prototype, \"parent\", {\n get: function () {\n return this._parent;\n },\n /**\n * Set the parent of the node and also add this not to the parent's children.\n */\n set: function (parent) {\n this._parent = parent;\n parent.addChild(this);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(DataFlowNode.prototype, \"children\", {\n get: function () {\n return this._children;\n },\n enumerable: true,\n configurable: true\n });\n DataFlowNode.prototype.numChildren = function () {\n return this._children.length;\n };\n DataFlowNode.prototype.addChild = function (child) {\n this._children.push(child);\n };\n DataFlowNode.prototype.removeChild = function (oldChild) {\n this._children.splice(this._children.indexOf(oldChild), 1);\n };\n /**\n * Remove node from the dataflow.\n */\n DataFlowNode.prototype.remove = function () {\n for (var _i = 0, _a = this._children; _i < _a.length; _i++) {\n var child = _a[_i];\n child.parent = this._parent;\n }\n this._parent.removeChild(this);\n };\n /**\n * Insert another node as a parent of this node.\n */\n DataFlowNode.prototype.insertAsParentOf = function (other) {\n var parent = other.parent;\n parent.removeChild(this);\n this.parent = parent;\n other.parent = this;\n };\n DataFlowNode.prototype.swapWithParent = function () {\n var parent = this._parent;\n var newParent = parent.parent;\n // reconnect the children\n for (var _i = 0, _a = this._children; _i < _a.length; _i++) {\n var child = _a[_i];\n child.parent = parent;\n }\n // remove old links\n this._children = []; // equivalent to removing every child link one by one\n parent.removeChild(this);\n parent.parent.removeChild(parent);\n // swap two nodes\n this.parent = newParent;\n parent.parent = this;\n };\n return DataFlowNode;\n}());\nexport { DataFlowNode };\nvar OutputNode = /** @class */ (function (_super) {\n tslib_1.__extends(OutputNode, _super);\n /**\n * @param source The name of the source. Will change in assemble.\n * @param type The type of the output node.\n * @param refCounts A global ref counter map.\n */\n function OutputNode(parent, source, type, refCounts) {\n var _this = _super.call(this, parent, source) || this;\n _this.type = type;\n _this.refCounts = refCounts;\n _this._source = _this._name = source;\n if (_this.refCounts && !(_this._name in _this.refCounts)) {\n _this.refCounts[_this._name] = 0;\n }\n return _this;\n }\n OutputNode.prototype.clone = function () {\n var cloneObj = new this.constructor;\n cloneObj.debugName = 'clone_' + this.debugName;\n cloneObj._source = this._source;\n cloneObj._name = 'clone_' + this._name;\n cloneObj.type = this.type;\n cloneObj.refCounts = this.refCounts;\n cloneObj.refCounts[cloneObj._name] = 0;\n return cloneObj;\n };\n /**\n * Request the datasource name and increase the ref counter.\n *\n * During the parsing phase, this will return the simple name such as 'main' or 'raw'.\n * It is crucial to request the name from an output node to mark it as a required node.\n * If nobody ever requests the name, this datasource will not be instantiated in the assemble phase.\n *\n * In the assemble phase, this will return the correct name.\n */\n OutputNode.prototype.getSource = function () {\n this.refCounts[this._name]++;\n return this._source;\n };\n OutputNode.prototype.isRequired = function () {\n return !!this.refCounts[this._name];\n };\n OutputNode.prototype.setSource = function (source) {\n this._source = source;\n };\n return OutputNode;\n}(DataFlowNode));\nexport { OutputNode };\n//# sourceMappingURL=dataflow.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/data/dataflow.js\n// module id = 13\n// module chunks = 0","export var MarkRole = 'mark';\nexport var FrameRole = 'frame';\nexport var ScopeRole = 'scope';\n\nexport var AxisRole = 'axis';\nexport var AxisDomainRole = 'axis-domain';\nexport var AxisGridRole = 'axis-grid';\nexport var AxisLabelRole = 'axis-label';\nexport var AxisTickRole = 'axis-tick';\nexport var AxisTitleRole = 'axis-title';\n\nexport var LegendRole = 'legend';\nexport var LegendBandRole = 'legend-band';\nexport var LegendEntryRole = 'legend-entry';\nexport var LegendGradientRole = 'legend-gradient';\nexport var LegendLabelRole = 'legend-label';\nexport var LegendSymbolRole = 'legend-symbol';\nexport var LegendTitleRole = 'legend-title';\n\nexport var TitleRole = 'title';\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/marks/roles.js\n// module id = 14\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { isNumber, isString } from 'vega-util';\nimport { isChannel, isScaleChannel } from '../channel';\nimport { forEach, reduce } from '../encoding';\nimport { getFieldDef, vgField } from '../fielddef';\nimport * as log from '../log';\nimport { hasDiscreteDomain } from '../scale';\nimport { isFacetSpec, isLayerSpec, isUnitSpec } from '../spec';\nimport { extractTitleConfig } from '../title';\nimport { extractCompositionLayout } from '../toplevelprops';\nimport { normalizeTransform } from '../transform';\nimport { contains, keys, varName } from '../util';\nimport { isVgRangeStep } from '../vega.schema';\nimport { assembleAxes } from './axis/assemble';\nimport { getHeaderGroups, getTitleGroup, HEADER_CHANNELS } from './header/index';\nimport { sizeExpr } from './layoutsize/assemble';\nimport { assembleLegends } from './legend/assemble';\nimport { parseLegend } from './legend/parse';\nimport { assembleProjections } from './projection/assemble';\nimport { parseProjection } from './projection/parse';\nimport { assembleScales } from './scale/assemble';\nimport { assembleDomain, getFieldFromDomain } from './scale/domain';\nimport { parseScale } from './scale/parse';\nimport { Split } from './split';\nvar NameMap = /** @class */ (function () {\n function NameMap() {\n this.nameMap = {};\n }\n NameMap.prototype.rename = function (oldName, newName) {\n this.nameMap[oldName] = newName;\n };\n NameMap.prototype.has = function (name) {\n return this.nameMap[name] !== undefined;\n };\n NameMap.prototype.get = function (name) {\n // If the name appears in the _nameMap, we need to read its new name.\n // We have to loop over the dict just in case the new name also gets renamed.\n while (this.nameMap[name] && name !== this.nameMap[name]) {\n name = this.nameMap[name];\n }\n return name;\n };\n return NameMap;\n}());\nexport { NameMap };\n/*\n We use type guards instead of `instanceof` as `instanceof` makes\n different parts of the compiler depend on the actual implementation of\n the model classes, which in turn depend on different parts of the compiler.\n Thus, `instanceof` leads to circular dependency problems.\n\n On the other hand, type guards only make different parts of the compiler\n depend on the type of the model classes, but not the actual implementation.\n*/\nexport function isUnitModel(model) {\n return model && model.type === 'unit';\n}\nexport function isFacetModel(model) {\n return model && model.type === 'facet';\n}\nexport function isRepeatModel(model) {\n return model && model.type === 'repeat';\n}\nexport function isConcatModel(model) {\n return model && model.type === 'concat';\n}\nexport function isLayerModel(model) {\n return model && model.type === 'layer';\n}\nvar Model = /** @class */ (function () {\n function Model(spec, parent, parentGivenName, config, repeater, resolve) {\n var _this = this;\n this.children = [];\n /**\n * Corrects the data references in marks after assemble.\n */\n this.correctDataNames = function (mark) {\n // TODO: make this correct\n // for normal data references\n if (mark.from && mark.from.data) {\n mark.from.data = _this.lookupDataSource(mark.from.data);\n }\n // for access to facet data\n if (mark.from && mark.from.facet && mark.from.facet.data) {\n mark.from.facet.data = _this.lookupDataSource(mark.from.facet.data);\n }\n return mark;\n };\n this.parent = parent;\n this.config = config;\n this.repeater = repeater;\n // If name is not provided, always use parent's givenName to avoid name conflicts.\n this.name = spec.name || parentGivenName;\n this.title = isString(spec.title) ? { text: spec.title } : spec.title;\n // Shared name maps\n this.scaleNameMap = parent ? parent.scaleNameMap : new NameMap();\n this.projectionNameMap = parent ? parent.projectionNameMap : new NameMap();\n this.layoutSizeNameMap = parent ? parent.layoutSizeNameMap : new NameMap();\n this.data = spec.data;\n this.description = spec.description;\n this.transforms = normalizeTransform(spec.transform || []);\n this.layout = isUnitSpec(spec) || isLayerSpec(spec) ? undefined : extractCompositionLayout(spec);\n this.component = {\n data: {\n sources: parent ? parent.component.data.sources : {},\n outputNodes: parent ? parent.component.data.outputNodes : {},\n outputNodeRefCounts: parent ? parent.component.data.outputNodeRefCounts : {},\n // data is faceted if the spec is a facet spec or the parent has faceted data and no data is defined\n isFaceted: isFacetSpec(spec) || (parent && parent.component.data.isFaceted && !spec.data)\n },\n layoutSize: new Split(),\n layoutHeaders: { row: {}, column: {} },\n mark: null,\n resolve: tslib_1.__assign({ scale: {}, axis: {}, legend: {} }, (resolve || {})),\n selection: null,\n scales: null,\n projection: null,\n axes: {},\n legends: {},\n };\n }\n Object.defineProperty(Model.prototype, \"width\", {\n get: function () {\n return this.getSizeSignalRef('width');\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Model.prototype, \"height\", {\n get: function () {\n return this.getSizeSignalRef('height');\n },\n enumerable: true,\n configurable: true\n });\n Model.prototype.initSize = function (size) {\n var width = size.width, height = size.height;\n if (width) {\n this.component.layoutSize.set('width', width, true);\n }\n if (height) {\n this.component.layoutSize.set('height', height, true);\n }\n };\n Model.prototype.parse = function () {\n this.parseScale();\n this.parseLayoutSize(); // depends on scale\n this.renameTopLevelLayoutSize();\n this.parseSelection();\n this.parseProjection();\n this.parseData(); // (pathorder) depends on markDef; selection filters depend on parsed selections; depends on projection because some transforms require the finalized projection name.\n this.parseAxisAndHeader(); // depends on scale and layout size\n this.parseLegend(); // depends on scale, markDef\n this.parseMarkGroup(); // depends on data name, scale, layout size, axisGroup, and children's scale, axis, legend and mark.\n };\n Model.prototype.parseScale = function () {\n parseScale(this);\n };\n Model.prototype.parseProjection = function () {\n parseProjection(this);\n };\n /**\n * Rename top-level spec's size to be just width / height, ignoring model name.\n * This essentially merges the top-level spec's width/height signals with the width/height signals\n * to help us reduce redundant signals declaration.\n */\n Model.prototype.renameTopLevelLayoutSize = function () {\n if (this.getName('width') !== 'width') {\n this.renameLayoutSize(this.getName('width'), 'width');\n }\n if (this.getName('height') !== 'height') {\n this.renameLayoutSize(this.getName('height'), 'height');\n }\n };\n Model.prototype.parseLegend = function () {\n parseLegend(this);\n };\n Model.prototype.assembleGroupStyle = function () {\n if (this.type === 'unit' || this.type === 'layer') {\n return 'cell';\n }\n return undefined;\n };\n Model.prototype.assembleLayoutSize = function () {\n if (this.type === 'unit' || this.type === 'layer') {\n return {\n width: this.getSizeSignalRef('width'),\n height: this.getSizeSignalRef('height')\n };\n }\n return undefined;\n };\n Model.prototype.assembleLayout = function () {\n if (!this.layout) {\n return undefined;\n }\n var _a = this.layout, align = _a.align, bounds = _a.bounds, center = _a.center, _b = _a.spacing, spacing = _b === void 0 ? {} : _b;\n return tslib_1.__assign({ padding: isNumber(spacing) ? spacing : {\n row: spacing.row || 10,\n column: spacing.column || 10\n } }, this.assembleDefaultLayout(), (align ? { align: align } : {}), (bounds ? { bounds: bounds } : {}), (center ? { center: center } : {}));\n };\n Model.prototype.assembleDefaultLayout = function () {\n return {};\n };\n Model.prototype.assembleHeaderMarks = function () {\n var layoutHeaders = this.component.layoutHeaders;\n var headerMarks = [];\n for (var _i = 0, HEADER_CHANNELS_1 = HEADER_CHANNELS; _i < HEADER_CHANNELS_1.length; _i++) {\n var channel = HEADER_CHANNELS_1[_i];\n if (layoutHeaders[channel].title) {\n headerMarks.push(getTitleGroup(this, channel));\n }\n }\n for (var _a = 0, HEADER_CHANNELS_2 = HEADER_CHANNELS; _a < HEADER_CHANNELS_2.length; _a++) {\n var channel = HEADER_CHANNELS_2[_a];\n headerMarks = headerMarks.concat(getHeaderGroups(this, channel));\n }\n return headerMarks;\n };\n Model.prototype.assembleAxes = function () {\n return assembleAxes(this.component.axes, this.config);\n };\n Model.prototype.assembleLegends = function () {\n return assembleLegends(this);\n };\n Model.prototype.assembleProjections = function () {\n return assembleProjections(this);\n };\n Model.prototype.assembleTitle = function () {\n var title = tslib_1.__assign({}, extractTitleConfig(this.config.title).nonMark, this.title);\n if (title.text) {\n if (!contains(['unit', 'layer'], this.type)) {\n // As described in https://github.com/vega/vega-lite/issues/2875:\n // Due to vega/vega#960 (comment), we only support title's anchor for unit and layered spec for now.\n if (title.anchor && title.anchor !== 'start') {\n log.warn(log.message.cannotSetTitleAnchor(this.type));\n }\n title.anchor = 'start';\n }\n return keys(title).length > 0 ? title : undefined;\n }\n return undefined;\n };\n /**\n * Assemble the mark group for this model. We accept optional `signals` so that we can include concat top-level signals with the top-level model's local signals.\n */\n Model.prototype.assembleGroup = function (signals) {\n if (signals === void 0) { signals = []; }\n var group = {};\n signals = signals.concat(this.assembleSelectionSignals());\n if (signals.length > 0) {\n group.signals = signals;\n }\n var layout = this.assembleLayout();\n if (layout) {\n group.layout = layout;\n }\n group.marks = [].concat(this.assembleHeaderMarks(), this.assembleMarks());\n // Only include scales if this spec is top-level or if parent is facet.\n // (Otherwise, it will be merged with upper-level's scope.)\n var scales = (!this.parent || isFacetModel(this.parent)) ? assembleScales(this) : [];\n if (scales.length > 0) {\n group.scales = scales;\n }\n var axes = this.assembleAxes();\n if (axes.length > 0) {\n group.axes = axes;\n }\n var legends = this.assembleLegends();\n if (legends.length > 0) {\n group.legends = legends;\n }\n return group;\n };\n Model.prototype.hasDescendantWithFieldOnChannel = function (channel) {\n for (var _i = 0, _a = this.children; _i < _a.length; _i++) {\n var child = _a[_i];\n if (isUnitModel(child)) {\n if (child.channelHasField(channel)) {\n return true;\n }\n }\n else {\n if (child.hasDescendantWithFieldOnChannel(channel)) {\n return true;\n }\n }\n }\n return false;\n };\n Model.prototype.getName = function (text) {\n return varName((this.name ? this.name + '_' : '') + text);\n };\n /**\n * Request a data source name for the given data source type and mark that data source as required. This method should be called in parse, so that all used data source can be correctly instantiated in assembleData().\n */\n Model.prototype.requestDataName = function (name) {\n var fullName = this.getName(name);\n // Increase ref count. This is critical because otherwise we won't create a data source.\n // We also increase the ref counts on OutputNode.getSource() calls.\n var refCounts = this.component.data.outputNodeRefCounts;\n refCounts[fullName] = (refCounts[fullName] || 0) + 1;\n return fullName;\n };\n Model.prototype.getSizeSignalRef = function (sizeType) {\n if (isFacetModel(this.parent)) {\n var channel = sizeType === 'width' ? 'x' : 'y';\n var scaleComponent = this.component.scales[channel];\n if (scaleComponent && !scaleComponent.merged) { // independent scale\n var type = scaleComponent.get('type');\n var range = scaleComponent.get('range');\n if (hasDiscreteDomain(type) && isVgRangeStep(range)) {\n var scaleName = scaleComponent.get('name');\n var domain = assembleDomain(this, channel);\n var field = getFieldFromDomain(domain);\n if (field) {\n var fieldRef = vgField({ aggregate: 'distinct', field: field }, { expr: 'datum' });\n return {\n signal: sizeExpr(scaleName, scaleComponent, fieldRef)\n };\n }\n else {\n log.warn('Unknown field for ${channel}. Cannot calculate view size.');\n return null;\n }\n }\n }\n }\n return {\n signal: this.layoutSizeNameMap.get(this.getName(sizeType))\n };\n };\n /**\n * Lookup the name of the datasource for an output node. You probably want to call this in assemble.\n */\n Model.prototype.lookupDataSource = function (name) {\n var node = this.component.data.outputNodes[name];\n if (!node) {\n // Name not found in map so let's just return what we got.\n // This can happen if we already have the correct name.\n return name;\n }\n return node.getSource();\n };\n Model.prototype.getSizeName = function (oldSizeName) {\n return this.layoutSizeNameMap.get(oldSizeName);\n };\n Model.prototype.renameLayoutSize = function (oldName, newName) {\n this.layoutSizeNameMap.rename(oldName, newName);\n };\n Model.prototype.renameScale = function (oldName, newName) {\n this.scaleNameMap.rename(oldName, newName);\n };\n Model.prototype.renameProjection = function (oldName, newName) {\n this.projectionNameMap.rename(oldName, newName);\n };\n /**\n * @return scale name for a given channel after the scale has been parsed and named.\n */\n Model.prototype.scaleName = function (originalScaleName, parse) {\n if (parse) {\n // During the parse phase always return a value\n // No need to refer to rename map because a scale can't be renamed\n // before it has the original name.\n return this.getName(originalScaleName);\n }\n // If there is a scale for the channel, it should either\n // be in the scale component or exist in the name map\n if (\n // If there is a scale for the channel, there should be a local scale component for it\n (isChannel(originalScaleName) && isScaleChannel(originalScaleName) && this.component.scales[originalScaleName]) ||\n // in the scale name map (the scale get merged by its parent)\n this.scaleNameMap.has(this.getName(originalScaleName))) {\n return this.scaleNameMap.get(this.getName(originalScaleName));\n }\n return undefined;\n };\n /**\n * @return projection name after the projection has been parsed and named.\n */\n Model.prototype.projectionName = function (parse) {\n if (parse) {\n // During the parse phase always return a value\n // No need to refer to rename map because a projection can't be renamed\n // before it has the original name.\n return this.getName('projection');\n }\n if ((this.component.projection && !this.component.projection.merged) || this.projectionNameMap.has(this.getName('projection'))) {\n return this.projectionNameMap.get(this.getName('projection'));\n }\n return undefined;\n };\n /**\n * Traverse a model's hierarchy to get the scale component for a particular channel.\n */\n Model.prototype.getScaleComponent = function (channel) {\n /* istanbul ignore next: This is warning for debugging test */\n if (!this.component.scales) {\n throw new Error('getScaleComponent cannot be called before parseScale(). Make sure you have called parseScale or use parseUnitModelWithScale().');\n }\n var localScaleComponent = this.component.scales[channel];\n if (localScaleComponent && !localScaleComponent.merged) {\n return localScaleComponent;\n }\n return (this.parent ? this.parent.getScaleComponent(channel) : undefined);\n };\n /**\n * Traverse a model's hierarchy to get a particular selection component.\n */\n Model.prototype.getSelectionComponent = function (variableName, origName) {\n var sel = this.component.selection[variableName];\n if (!sel && this.parent) {\n sel = this.parent.getSelectionComponent(variableName, origName);\n }\n if (!sel) {\n throw new Error(log.message.selectionNotFound(origName));\n }\n return sel;\n };\n return Model;\n}());\nexport { Model };\n/** Abstract class for UnitModel and FacetModel. Both of which can contain fieldDefs as a part of its own specification. */\nvar ModelWithField = /** @class */ (function (_super) {\n tslib_1.__extends(ModelWithField, _super);\n function ModelWithField() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /** Get \"field\" reference for vega */\n ModelWithField.prototype.vgField = function (channel, opt) {\n if (opt === void 0) { opt = {}; }\n var fieldDef = this.fieldDef(channel);\n if (!fieldDef) {\n return undefined;\n }\n return vgField(fieldDef, opt);\n };\n ModelWithField.prototype.reduceFieldDef = function (f, init, t) {\n return reduce(this.getMapping(), function (acc, cd, c) {\n var fieldDef = getFieldDef(cd);\n if (fieldDef) {\n return f(acc, fieldDef, c);\n }\n return acc;\n }, init, t);\n };\n ModelWithField.prototype.forEachFieldDef = function (f, t) {\n forEach(this.getMapping(), function (cd, c) {\n var fieldDef = getFieldDef(cd);\n if (fieldDef) {\n f(fieldDef, c);\n }\n }, t);\n };\n return ModelWithField;\n}(Model));\nexport { ModelWithField };\n//# sourceMappingURL=model.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/model.js\n// module id = 15\n// module chunks = 0","import parseEncode from '../encode';\nimport {FrameRole, MarkRole} from '../marks/roles';\nimport {array, extend, isArray, isObject} from 'vega-util';\n\nexport function encoder(_) {\n return isObject(_) ? extend({}, _) : {value: _};\n}\n\nexport function addEncode(object, name, value, set) {\n if (value != null) {\n if (isObject(value) && !isArray(value)) {\n object.update[name] = value;\n } else {\n object[set || 'enter'][name] = {value: value};\n }\n // object[name] = isObject(value) && !isArray(value) ? value : {value: value};\n return 1;\n } else {\n return 0;\n }\n}\n\nexport function extendEncode(encode, extra, skip) {\n for (var name in extra) {\n if (skip && skip.hasOwnProperty(name)) continue;\n encode[name] = extend(encode[name] || {}, extra[name]);\n }\n return encode;\n}\n\nexport function encoders(encode, type, role, style, scope, params) {\n var enc, key;\n params = params || {};\n params.encoders = {$encode: (enc = {})};\n\n encode = applyDefaults(encode, type, role, style, scope.config);\n\n for (key in encode) {\n enc[key] = parseEncode(encode[key], type, params, scope);\n }\n\n return params;\n}\n\nfunction applyDefaults(encode, type, role, style, config) {\n var enter = {}, key, skip, props;\n\n // ignore legend and axis\n if (role == 'legend' || String(role).indexOf('axis') === 0) {\n role = null;\n }\n\n // resolve mark config\n props = role === FrameRole ? config.group\n : (role === MarkRole) ? extend({}, config.mark, config[type])\n : null;\n\n for (key in props) {\n // do not apply defaults if relevant fields are defined\n skip = has(key, encode)\n || (key === 'fill' || key === 'stroke')\n && (has('fill', encode) || has('stroke', encode));\n\n if (!skip) enter[key] = defaultEncode(props[key]);\n }\n\n // resolve styles, apply with increasing precedence\n array(style).forEach(function(name) {\n var props = config.style && config.style[name];\n for (var key in props) {\n if (!has(key, encode)) {\n enter[key] = defaultEncode(props[key]);\n }\n }\n });\n\n encode = extend({}, encode); // defensive copy\n encode.enter = extend(enter, encode.enter);\n\n return encode;\n}\n\nfunction defaultEncode(value) {\n return value && value.signal\n ? {signal: value.signal}\n : {value: value};\n}\n\nexport function has(key, encode) {\n return encode && (\n (encode.enter && encode.enter[key]) ||\n (encode.update && encode.update[key])\n );\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/encode/encode-util.js\n// module id = 16\n// module chunks = 0","import { toSet } from 'vega-util';\nimport { contains, flagKeys } from './util';\nexport var Mark;\n(function (Mark) {\n Mark.AREA = 'area';\n Mark.BAR = 'bar';\n Mark.LINE = 'line';\n Mark.POINT = 'point';\n Mark.RECT = 'rect';\n Mark.RULE = 'rule';\n Mark.TEXT = 'text';\n Mark.TICK = 'tick';\n Mark.TRAIL = 'trail';\n Mark.CIRCLE = 'circle';\n Mark.SQUARE = 'square';\n Mark.GEOSHAPE = 'geoshape';\n})(Mark || (Mark = {}));\nexport var AREA = Mark.AREA;\nexport var BAR = Mark.BAR;\nexport var LINE = Mark.LINE;\nexport var POINT = Mark.POINT;\nexport var TEXT = Mark.TEXT;\nexport var TICK = Mark.TICK;\nexport var TRAIL = Mark.TRAIL;\nexport var RECT = Mark.RECT;\nexport var RULE = Mark.RULE;\nexport var GEOSHAPE = Mark.GEOSHAPE;\nexport var CIRCLE = Mark.CIRCLE;\nexport var SQUARE = Mark.SQUARE;\n// Using mapped type to declare index, ensuring we always have all marks when we add more.\nvar MARK_INDEX = {\n area: 1,\n bar: 1,\n line: 1,\n point: 1,\n text: 1,\n tick: 1,\n trail: 1,\n rect: 1,\n geoshape: 1,\n rule: 1,\n circle: 1,\n square: 1\n};\nexport function isMark(m) {\n return !!MARK_INDEX[m];\n}\nexport function isPathMark(m) {\n return contains(['line', 'area', 'trail'], m);\n}\nexport var PRIMITIVE_MARKS = flagKeys(MARK_INDEX);\nexport function isMarkDef(mark) {\n return mark['type'];\n}\nvar PRIMITIVE_MARK_INDEX = toSet(PRIMITIVE_MARKS);\nexport function isPrimitiveMark(mark) {\n var markType = isMarkDef(mark) ? mark.type : mark;\n return markType in PRIMITIVE_MARK_INDEX;\n}\nexport var STROKE_CONFIG = ['stroke', 'strokeWidth',\n 'strokeDash', 'strokeDashOffset', 'strokeOpacity', 'strokeJoin', 'strokeMiterLimit'];\nexport var FILL_CONFIG = ['fill', 'fillOpacity'];\nexport var FILL_STROKE_CONFIG = [].concat(STROKE_CONFIG, FILL_CONFIG);\nexport var VL_ONLY_MARK_CONFIG_PROPERTIES = ['filled', 'color'];\nexport var VL_ONLY_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX = {\n area: ['line', 'point'],\n bar: ['binSpacing', 'continuousBandSize', 'discreteBandSize'],\n line: ['point'],\n text: ['shortTimeLabels'],\n tick: ['bandSize', 'thickness']\n};\nexport var defaultMarkConfig = {\n color: '#4c78a8',\n};\nexport var defaultBarConfig = {\n binSpacing: 1,\n continuousBandSize: 5\n};\nexport var defaultTickConfig = {\n thickness: 1\n};\n//# sourceMappingURL=mark.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/mark.js\n// module id = 17\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { selector as parseSelector } from 'vega-event-selector';\nimport { isString, stringValue } from 'vega-util';\nimport { X, Y } from '../../channel';\nimport { warn } from '../../log';\nimport { SELECTION_ID } from '../../selection';\nimport { accessPathWithDatum, logicalExpr, varName } from '../../util';\nimport { isFacetModel, isUnitModel } from '../model';\nimport intervalCompiler from './interval';\nimport multiCompiler from './multi';\nimport singleCompiler from './single';\nimport { forEachTransform } from './transforms/transforms';\nexport var STORE = '_store';\nexport var TUPLE = '_tuple';\nexport var MODIFY = '_modify';\nexport var SELECTION_DOMAIN = '_selection_domain_';\nexport function parseUnitSelection(model, selDefs) {\n var selCmpts = {};\n var selectionConfig = model.config.selection;\n var _loop_1 = function (name_1) {\n if (!selDefs.hasOwnProperty(name_1)) {\n return \"continue\";\n }\n var selDef = selDefs[name_1];\n var cfg = selectionConfig[selDef.type];\n // Set default values from config if a property hasn't been specified,\n // or if it is true. E.g., \"translate\": true should use the default\n // event handlers for translate. However, true may be a valid value for\n // a property (e.g., \"nearest\": true).\n for (var key in cfg) {\n // A selection should contain either `encodings` or `fields`, only use\n // default values for these two values if neither of them is specified.\n if ((key === 'encodings' && selDef.fields) || (key === 'fields' && selDef.encodings)) {\n continue;\n }\n if (key === 'mark') {\n selDef[key] = tslib_1.__assign({}, cfg[key], selDef[key]);\n }\n if (selDef[key] === undefined || selDef[key] === true) {\n selDef[key] = cfg[key] || selDef[key];\n }\n }\n name_1 = varName(name_1);\n var selCmpt = selCmpts[name_1] = tslib_1.__assign({}, selDef, { name: name_1, events: isString(selDef.on) ? parseSelector(selDef.on, 'scope') : selDef.on });\n forEachTransform(selCmpt, function (txCompiler) {\n if (txCompiler.parse) {\n txCompiler.parse(model, selDef, selCmpt);\n }\n });\n };\n for (var name_1 in selDefs) {\n _loop_1(name_1);\n }\n return selCmpts;\n}\nexport function assembleUnitSelectionSignals(model, signals) {\n forEachSelection(model, function (selCmpt, selCompiler) {\n var name = selCmpt.name;\n var modifyExpr = selCompiler.modifyExpr(model, selCmpt);\n signals.push.apply(signals, selCompiler.signals(model, selCmpt));\n forEachTransform(selCmpt, function (txCompiler) {\n if (txCompiler.signals) {\n signals = txCompiler.signals(model, selCmpt, signals);\n }\n if (txCompiler.modifyExpr) {\n modifyExpr = txCompiler.modifyExpr(model, selCmpt, modifyExpr);\n }\n });\n signals.push({\n name: name + MODIFY,\n on: [{\n events: { signal: name + TUPLE },\n update: \"modify(\" + stringValue(selCmpt.name + STORE) + \", \" + modifyExpr + \")\"\n }]\n });\n });\n var facetModel = getFacetModel(model);\n if (signals.length && facetModel) {\n var name_2 = stringValue(facetModel.getName('cell'));\n signals.unshift({\n name: 'facet',\n value: {},\n on: [{\n events: parseSelector('mousemove', 'scope'),\n update: \"isTuple(facet) ? facet : group(\" + name_2 + \").datum\"\n }]\n });\n }\n return signals;\n}\nexport function assembleTopLevelSignals(model, signals) {\n var needsUnit = false;\n forEachSelection(model, function (selCmpt, selCompiler) {\n if (selCompiler.topLevelSignals) {\n signals = selCompiler.topLevelSignals(model, selCmpt, signals);\n }\n forEachTransform(selCmpt, function (txCompiler) {\n if (txCompiler.topLevelSignals) {\n signals = txCompiler.topLevelSignals(model, selCmpt, signals);\n }\n });\n needsUnit = true;\n });\n if (needsUnit) {\n var hasUnit = signals.filter(function (s) { return s.name === 'unit'; });\n if (!(hasUnit.length)) {\n signals.unshift({\n name: 'unit',\n value: {},\n on: [{ events: 'mousemove', update: 'isTuple(group()) ? group() : unit' }]\n });\n }\n }\n return signals;\n}\nexport function assembleUnitSelectionData(model, data) {\n forEachSelection(model, function (selCmpt) {\n var contains = data.filter(function (d) { return d.name === selCmpt.name + STORE; });\n if (!contains.length) {\n data.push({ name: selCmpt.name + STORE });\n }\n });\n return data;\n}\nexport function assembleUnitSelectionMarks(model, marks) {\n forEachSelection(model, function (selCmpt, selCompiler) {\n marks = selCompiler.marks ? selCompiler.marks(model, selCmpt, marks) : marks;\n forEachTransform(selCmpt, function (txCompiler) {\n if (txCompiler.marks) {\n marks = txCompiler.marks(model, selCmpt, marks);\n }\n });\n });\n return marks;\n}\nexport function assembleLayerSelectionMarks(model, marks) {\n model.children.forEach(function (child) {\n if (isUnitModel(child)) {\n marks = assembleUnitSelectionMarks(child, marks);\n }\n });\n return marks;\n}\nexport function selectionPredicate(model, selections, dfnode) {\n var stores = [];\n function expr(name) {\n var vname = varName(name);\n var selCmpt = model.getSelectionComponent(vname, name);\n var store = stringValue(vname + STORE);\n if (selCmpt.timeUnit) {\n var child = dfnode || model.component.data.raw;\n var tunode = selCmpt.timeUnit.clone();\n if (child.parent) {\n tunode.insertAsParentOf(child);\n }\n else {\n child.parent = tunode;\n }\n }\n if (selCmpt.empty !== 'none') {\n stores.push(store);\n }\n return compiler(selCmpt.type).predicate + (\"(\" + store + \", datum\") +\n (selCmpt.resolve === 'global' ? ')' : \", \" + stringValue(selCmpt.resolve) + \")\");\n }\n var predicateStr = logicalExpr(selections, expr);\n return (stores.length\n ? '!(' + stores.map(function (s) { return \"length(data(\" + s + \"))\"; }).join(' || ') + ') || '\n : '') + (\"(\" + predicateStr + \")\");\n}\n// Selections are parsed _after_ scales. If a scale domain is set to\n// use a selection, the SELECTION_DOMAIN constant is used as the\n// domainRaw.signal during scale.parse and then replaced with the necessary\n// selection expression function during scale.assemble. To not pollute the\n// type signatures to account for this setup, the selection domain definition\n// is coerced to a string and appended to SELECTION_DOMAIN.\nexport function isRawSelectionDomain(domainRaw) {\n return domainRaw.signal.indexOf(SELECTION_DOMAIN) >= 0;\n}\nexport function selectionScaleDomain(model, domainRaw) {\n var selDomain = JSON.parse(domainRaw.signal.replace(SELECTION_DOMAIN, ''));\n var name = varName(selDomain.selection);\n var selCmpt = model.component.selection && model.component.selection[name];\n if (selCmpt) {\n warn('Use \"bind\": \"scales\" to setup a binding for scales and selections within the same view.');\n }\n else {\n selCmpt = model.getSelectionComponent(name, selDomain.selection);\n if (!selDomain.encoding && !selDomain.field) {\n selDomain.field = selCmpt.project[0].field;\n if (selCmpt.project.length > 1) {\n warn('A \"field\" or \"encoding\" must be specified when using a selection as a scale domain. ' +\n (\"Using \\\"field\\\": \" + stringValue(selDomain.field) + \".\"));\n }\n }\n return {\n signal: compiler(selCmpt.type).scaleDomain +\n (\"(\" + stringValue(name + STORE) + \", \" + stringValue(selDomain.encoding || null) + \", \") +\n stringValue(selDomain.field || null) +\n (selCmpt.resolve === 'global' ? ')' : \", \" + stringValue(selCmpt.resolve) + \")\")\n };\n }\n return { signal: 'null' };\n}\n// Utility functions\nfunction forEachSelection(model, cb) {\n var selections = model.component.selection;\n for (var name_3 in selections) {\n if (selections.hasOwnProperty(name_3)) {\n var sel = selections[name_3];\n cb(sel, compiler(sel.type));\n }\n }\n}\nfunction compiler(type) {\n switch (type) {\n case 'single':\n return singleCompiler;\n case 'multi':\n return multiCompiler;\n case 'interval':\n return intervalCompiler;\n }\n return null;\n}\nfunction getFacetModel(model) {\n var parent = model.parent;\n while (parent) {\n if (isFacetModel(parent)) {\n break;\n }\n parent = parent.parent;\n }\n return parent;\n}\nexport function unitName(model) {\n var name = stringValue(model.name);\n var facet = getFacetModel(model);\n if (facet) {\n name += (facet.facet.row ? \" + '_' + (\" + accessPathWithDatum(facet.vgField('row'), 'facet') + \")\" : '')\n + (facet.facet.column ? \" + '_' + (\" + accessPathWithDatum(facet.vgField('column'), 'facet') + \")\" : '');\n }\n return name;\n}\nexport function requiresSelectionId(model) {\n var identifier = false;\n forEachSelection(model, function (selCmpt) {\n identifier = identifier || selCmpt.project.some(function (proj) { return proj.field === SELECTION_ID; });\n });\n return identifier;\n}\nexport function channelSignalName(selCmpt, channel, range) {\n var sgNames = selCmpt._signalNames || (selCmpt._signalNames = {});\n if (sgNames[channel] && sgNames[channel][range]) {\n return sgNames[channel][range];\n }\n sgNames[channel] = sgNames[channel] || {};\n var basename = varName(selCmpt.name + '_' + (range === 'visual' ? channel : selCmpt.fields[channel]));\n var name = basename;\n var counter = 1;\n while (sgNames[name]) {\n name = basename + \"_\" + counter++;\n }\n return (sgNames[name] = sgNames[channel][range] = name);\n}\nexport function positionalProjections(selCmpt) {\n var x = null;\n var xi = null;\n var y = null;\n var yi = null;\n selCmpt.project.forEach(function (p, i) {\n if (p.channel === X) {\n x = p;\n xi = i;\n }\n else if (p.channel === Y) {\n y = p;\n yi = i;\n }\n });\n return { x: x, xi: xi, y: y, yi: yi };\n}\n//# sourceMappingURL=selection.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/selection/selection.js\n// module id = 18\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-time/src/interval.js\n// module id = 19\n// module chunks = 0","export var Top = 'top';\nexport var Left = 'left';\nexport var Right = 'right';\nexport var Bottom = 'bottom';\nexport var Center = 'center';\n\nexport var Vertical = 'vertical';\n\nexport var Start = 'start';\nexport var Middle = 'middle';\nexport var End = 'end';\n\nexport var Index = 'index';\nexport var Label = 'label';\nexport var Offset = 'offset';\nexport var Perc = 'perc';\nexport var Perc2 = 'perc2';\nexport var Size = 'size';\nexport var Value = 'value';\n\nexport var GuideLabelStyle = 'guide-label';\nexport var GuideTitleStyle = 'guide-title';\nexport var GroupTitleStyle = 'group-title';\n\nexport var Symbols = 'symbol';\nexport var Gradient = 'gradient';\nexport var Discrete = 'discrete';\n\n// Encoding channels supported by legends\n// In priority order of 'canonical' scale\nexport var LegendScales = [\n 'size',\n 'shape',\n 'fill',\n 'stroke',\n 'strokeDash',\n 'opacity'\n];\n\nexport var Skip = {\n name: 1,\n interactive: 1\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/guides/constants.js\n// module id = 21\n// module chunks = 0","export var GroupMark = 'group';\nexport var RectMark = 'rect';\nexport var RuleMark = 'rule';\nexport var SymbolMark = 'symbol';\nexport var TextMark = 'text';\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/marks/marktypes.js\n// module id = 22\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { isArray } from 'vega-util';\nimport { isScaleChannel } from '../channel';\nimport { isScaleFieldDef, isTimeFieldDef, vgField } from '../fielddef';\nimport { ScaleType } from '../scale';\nimport { formatExpression } from '../timeunit';\nimport { QUANTITATIVE } from '../type';\nimport { contains, keys, stringify } from '../util';\nimport { wrapCondition } from './mark/mixins';\nexport function applyConfig(e, config, // TODO(#1842): consolidate MarkConfig | TextConfig?\npropsList) {\n for (var _i = 0, propsList_1 = propsList; _i < propsList_1.length; _i++) {\n var property = propsList_1[_i];\n var value = config[property];\n if (value !== undefined) {\n e[property] = { value: value };\n }\n }\n return e;\n}\nexport function applyMarkConfig(e, model, propsList) {\n for (var _i = 0, propsList_2 = propsList; _i < propsList_2.length; _i++) {\n var property = propsList_2[_i];\n var value = getMarkConfig(property, model.markDef, model.config);\n if (value !== undefined) {\n e[property] = { value: value };\n }\n }\n return e;\n}\nexport function getStyles(mark) {\n return [].concat(mark.type, mark.style || []);\n}\n/**\n * Return property value from style or mark specific config property if exists.\n * Otherwise, return general mark specific config.\n */\nexport function getMarkConfig(prop, mark, config) {\n // By default, read from mark config first!\n var value = config.mark[prop];\n // Then read mark specific config, which has higher precedence\n var markSpecificConfig = config[mark.type];\n if (markSpecificConfig[prop] !== undefined) {\n value = markSpecificConfig[prop];\n }\n // Then read style config, which has even higher precedence.\n var styles = getStyles(mark);\n for (var _i = 0, styles_1 = styles; _i < styles_1.length; _i++) {\n var style = styles_1[_i];\n var styleConfig = config.style[style];\n // MarkConfig extends VgMarkConfig so a prop may not be a valid property for style\n // However here we also check if it is defined, so it is okay to cast here\n var p = prop;\n if (styleConfig && styleConfig[p] !== undefined) {\n value = styleConfig[p];\n }\n }\n return value;\n}\nexport function formatSignalRef(fieldDef, specifiedFormat, expr, config) {\n var format = numberFormat(fieldDef, specifiedFormat, config);\n if (fieldDef.bin) {\n var startField = vgField(fieldDef, { expr: expr });\n var endField = vgField(fieldDef, { expr: expr, binSuffix: 'end' });\n return {\n signal: binFormatExpression(startField, endField, format, config)\n };\n }\n else if (fieldDef.type === 'quantitative') {\n return {\n signal: \"\" + formatExpr(vgField(fieldDef, { expr: expr, binSuffix: 'range' }), format)\n };\n }\n else if (isTimeFieldDef(fieldDef)) {\n var isUTCScale = isScaleFieldDef(fieldDef) && fieldDef['scale'] && fieldDef['scale'].type === ScaleType.UTC;\n return {\n signal: timeFormatExpression(vgField(fieldDef, { expr: expr }), fieldDef.timeUnit, specifiedFormat, config.text.shortTimeLabels, config.timeFormat, isUTCScale, true)\n };\n }\n else {\n return {\n signal: \"''+\" + vgField(fieldDef, { expr: expr })\n };\n }\n}\nexport function getSpecifiedOrDefaultValue(specifiedValue, defaultValue) {\n if (specifiedValue !== undefined) {\n return specifiedValue;\n }\n return defaultValue;\n}\n/**\n * Returns number format for a fieldDef\n *\n * @param format explicitly specified format\n */\nexport function numberFormat(fieldDef, specifiedFormat, config) {\n if (fieldDef.type === QUANTITATIVE) {\n // add number format for quantitative type only\n // Specified format in axis/legend has higher precedence than fieldDef.format\n if (specifiedFormat) {\n return specifiedFormat;\n }\n // TODO: need to make this work correctly for numeric ordinal / nominal type\n return config.numberFormat;\n }\n return undefined;\n}\nfunction formatExpr(field, format) {\n return \"format(\" + field + \", \\\"\" + (format || '') + \"\\\")\";\n}\nexport function numberFormatExpr(field, specifiedFormat, config) {\n return formatExpr(field, specifiedFormat || config.numberFormat);\n}\nexport function binFormatExpression(startField, endField, format, config) {\n return startField + \" === null || isNaN(\" + startField + \") ? \\\"null\\\" : \" + numberFormatExpr(startField, format, config) + \" + \\\" - \\\" + \" + numberFormatExpr(endField, format, config);\n}\n/**\n * Returns the time expression used for axis/legend labels or text mark for a temporal field\n */\nexport function timeFormatExpression(field, timeUnit, format, shortTimeLabels, timeFormatConfig, isUTCScale, alwaysReturn) {\n if (alwaysReturn === void 0) { alwaysReturn = false; }\n if (!timeUnit || format) {\n // If there is not time unit, or if user explicitly specify format for axis/legend/text.\n format = format || timeFormatConfig; // only use config.timeFormat if there is no timeUnit.\n if (format || alwaysReturn) {\n return (isUTCScale ? 'utc' : 'time') + \"Format(\" + field + \", '\" + format + \"')\";\n }\n else {\n return undefined;\n }\n }\n else {\n return formatExpression(timeUnit, field, shortTimeLabels, isUTCScale);\n }\n}\n/**\n * Return Vega sort parameters (tuple of field and order).\n */\nexport function sortParams(orderDef, fieldRefOption) {\n return (isArray(orderDef) ? orderDef : [orderDef]).reduce(function (s, orderChannelDef) {\n s.field.push(vgField(orderChannelDef, fieldRefOption));\n s.order.push(orderChannelDef.sort || 'ascending');\n return s;\n }, { field: [], order: [] });\n}\nexport function mergeTitleFieldDefs(f1, f2) {\n var merged = f1.slice();\n f2.forEach(function (fdToMerge) {\n for (var _i = 0, merged_1 = merged; _i < merged_1.length; _i++) {\n var fieldDef1 = merged_1[_i];\n // If already exists, no need to append to merged array\n if (stringify(fieldDef1) === stringify(fdToMerge)) {\n return;\n }\n }\n merged.push(fdToMerge);\n });\n return merged;\n}\nexport function mergeTitle(title1, title2) {\n return title1 === title2 ?\n title1 : // if title is the same just use one of them\n title1 + ', ' + title2; // join title with comma if different\n}\nexport function mergeTitleComponent(v1, v2) {\n if (isArray(v1.value) && isArray(v2.value)) {\n return {\n explicit: v1.explicit,\n value: mergeTitleFieldDefs(v1.value, v2.value)\n };\n }\n else if (!isArray(v1.value) && !isArray(v2.value)) {\n return {\n explicit: v1.explicit,\n value: mergeTitle(v1.value, v2.value)\n };\n }\n /* istanbul ignore next: Condition should not happen -- only for warning in development. */\n throw new Error('It should never reach here');\n}\n/**\n * Checks whether a fieldDef for a particular channel requires a computed bin range.\n */\nexport function binRequiresRange(fieldDef, channel) {\n if (!fieldDef.bin) {\n console.warn('Only use this method with binned field defs');\n return false;\n }\n // We need the range only when the user explicitly forces a binned field to be use discrete scale. In this case, bin range is used in axis and legend labels.\n // We could check whether the axis or legend exists (not disabled) but that seems overkill.\n return isScaleChannel(channel) && contains(['ordinal', 'nominal'], fieldDef.type);\n}\nexport function guideEncodeEntry(encoding, model) {\n return keys(encoding).reduce(function (encode, channel) {\n var valueDef = encoding[channel];\n return tslib_1.__assign({}, encode, wrapCondition(model, valueDef, channel, function (x) { return ({ value: x.value }); }));\n }, {});\n}\n//# sourceMappingURL=common.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/common.js\n// module id = 23\n// module chunks = 0","/** Constants and utilities for data type */\n/** Data type based on level of measurement */\nexport var Type;\n(function (Type) {\n Type.QUANTITATIVE = 'quantitative';\n Type.ORDINAL = 'ordinal';\n Type.TEMPORAL = 'temporal';\n Type.NOMINAL = 'nominal';\n Type.LATITUDE = 'latitude';\n Type.LONGITUDE = 'longitude';\n Type.GEOJSON = 'geojson';\n})(Type || (Type = {}));\nexport var TYPE_INDEX = {\n quantitative: 1,\n ordinal: 1,\n temporal: 1,\n nominal: 1,\n latitude: 1,\n longitude: 1,\n geojson: 1\n};\nexport function isType(t) {\n return !!TYPE_INDEX[t];\n}\nexport var QUANTITATIVE = Type.QUANTITATIVE;\nexport var ORDINAL = Type.ORDINAL;\nexport var TEMPORAL = Type.TEMPORAL;\nexport var NOMINAL = Type.NOMINAL;\nexport var GEOJSON = Type.GEOJSON;\n/**\n * Get full, lowercase type name for a given type.\n * @param type\n * @return Full type name.\n */\nexport function getFullName(type) {\n if (type) {\n type = type.toLowerCase();\n switch (type) {\n case 'q':\n case QUANTITATIVE:\n return 'quantitative';\n case 't':\n case TEMPORAL:\n return 'temporal';\n case 'o':\n case ORDINAL:\n return 'ordinal';\n case 'n':\n case NOMINAL:\n return 'nominal';\n case Type.LATITUDE:\n return 'latitude';\n case Type.LONGITUDE:\n return 'longitude';\n case GEOJSON:\n return 'geojson';\n }\n }\n // If we get invalid input, return undefined type.\n return undefined;\n}\n//# sourceMappingURL=type.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/type.js\n// module id = 24\n// module chunks = 0","import {entry} from './util';\n\nfunction transform(name) {\n return function(params, value, parent) {\n return entry(name, value, params || undefined, parent);\n };\n}\n\nexport var Aggregate = transform('aggregate');\nexport var AxisTicks = transform('axisticks');\nexport var Bound = transform('bound');\nexport var Collect = transform('collect');\nexport var Compare = transform('compare');\nexport var DataJoin = transform('datajoin');\nexport var Encode = transform('encode');\nexport var Expression = transform('expression');\nexport var Extent = transform('extent');\nexport var Facet = transform('facet');\nexport var Field = transform('field');\nexport var Key = transform('key');\nexport var LegendEntries = transform('legendentries');\nexport var Load = transform('load');\nexport var Mark = transform('mark');\nexport var MultiExtent = transform('multiextent');\nexport var MultiValues = transform('multivalues');\nexport var Overlap = transform('overlap');\nexport var Params = transform('params');\nexport var PreFacet = transform('prefacet');\nexport var Projection = transform('projection');\nexport var Proxy = transform('proxy');\nexport var Relay = transform('relay');\nexport var Render = transform('render');\nexport var Scale = transform('scale');\nexport var Sieve = transform('sieve');\nexport var SortItems = transform('sortitems');\nexport var ViewLayout = transform('viewlayout');\nexport var Values = transform('values');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/transforms.js\n// module id = 25\n// module chunks = 0","import {Vertical} from './constants';\nimport {value} from '../../util';\n\nexport function lookup(name, spec, config) {\n return value(spec[name], config[name]);\n}\n\nexport function isVertical(spec, configVal) {\n return value(spec.direction, configVal) === Vertical;\n}\n\nexport function gradientLength(spec, config) {\n return value(\n spec.gradientLength,\n config.gradientLength || config.gradientWidth\n );\n}\n\nexport function gradientThickness(spec, config) {\n return value(\n spec.gradientThickness,\n config.gradientThickness || config.gradientHeight\n );\n}\n\nexport function entryColumns(spec, config) {\n return value(\n spec.columns,\n value(config.columns, +isVertical(spec, config.symbolDirection))\n );\n}\n\nexport function getEncoding(name, encode) {\n var v = encode && (\n (encode.update && encode.update[name]) ||\n (encode.enter && encode.enter[name])\n );\n return v && v.signal ? v : v ? v.value : null;\n}\n\nexport function getStyle(name, scope, style) {\n var s = scope.config.style[style];\n return s && s[name];\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/guides/guide-util.js\n// module id = 26\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport * as log from '../log';\nimport { duplicate, keys, stringify } from '../util';\n/**\n * Generic class for storing properties that are explicitly specified\n * and implicitly determined by the compiler.\n * This is important for scale/axis/legend merging as\n * we want to prioritize properties that users explicitly specified.\n */\nvar Split = /** @class */ (function () {\n function Split(explicit, implicit) {\n if (explicit === void 0) { explicit = {}; }\n if (implicit === void 0) { implicit = {}; }\n this.explicit = explicit;\n this.implicit = implicit;\n }\n Split.prototype.clone = function () {\n return new Split(duplicate(this.explicit), duplicate(this.implicit));\n };\n Split.prototype.combine = function () {\n // FIXME remove \"as any\".\n // Add \"as any\" to avoid an error \"Spread types may only be created from object types\".\n return tslib_1.__assign({}, this.explicit, this.implicit);\n };\n Split.prototype.get = function (key) {\n // Explicit has higher precedence\n return this.explicit[key] !== undefined ? this.explicit[key] : this.implicit[key];\n };\n Split.prototype.getWithExplicit = function (key) {\n // Explicit has higher precedence\n if (this.explicit[key] !== undefined) {\n return { explicit: true, value: this.explicit[key] };\n }\n else if (this.implicit[key] !== undefined) {\n return { explicit: false, value: this.implicit[key] };\n }\n return { explicit: false, value: undefined };\n };\n Split.prototype.setWithExplicit = function (key, value) {\n if (value.value !== undefined) {\n this.set(key, value.value, value.explicit);\n }\n };\n Split.prototype.set = function (key, value, explicit) {\n delete this[explicit ? 'implicit' : 'explicit'][key];\n this[explicit ? 'explicit' : 'implicit'][key] = value;\n return this;\n };\n Split.prototype.copyKeyFromSplit = function (key, s) {\n // Explicit has higher precedence\n if (s.explicit[key] !== undefined) {\n this.set(key, s.explicit[key], true);\n }\n else if (s.implicit[key] !== undefined) {\n this.set(key, s.implicit[key], false);\n }\n };\n Split.prototype.copyKeyFromObject = function (key, s) {\n // Explicit has higher precedence\n if (s[key] !== undefined) {\n this.set(key, s[key], true);\n }\n };\n /**\n * Merge split object into this split object. Properties from the other split\n * overwrite properties from this split.\n */\n Split.prototype.copyAll = function (other) {\n for (var _i = 0, _a = keys(other.combine()); _i < _a.length; _i++) {\n var key = _a[_i];\n var val = other.getWithExplicit(key);\n this.setWithExplicit(key, val);\n }\n };\n return Split;\n}());\nexport { Split };\nexport function makeExplicit(value) {\n return {\n explicit: true,\n value: value\n };\n}\nexport function makeImplicit(value) {\n return {\n explicit: false,\n value: value\n };\n}\nexport function tieBreakByComparing(compare) {\n return function (v1, v2, property, propertyOf) {\n var diff = compare(v1.value, v2.value);\n if (diff > 0) {\n return v1;\n }\n else if (diff < 0) {\n return v2;\n }\n return defaultTieBreaker(v1, v2, property, propertyOf);\n };\n}\nexport function defaultTieBreaker(v1, v2, property, propertyOf) {\n if (v1.explicit && v2.explicit) {\n log.warn(log.message.mergeConflictingProperty(property, propertyOf, v1.value, v2.value));\n }\n // If equal score, prefer v1.\n return v1;\n}\nexport function mergeValuesWithExplicit(v1, v2, property, propertyOf, tieBreaker) {\n if (tieBreaker === void 0) { tieBreaker = defaultTieBreaker; }\n if (v1 === undefined || v1.value === undefined) {\n // For first run\n return v2;\n }\n if (v1.explicit && !v2.explicit) {\n return v1;\n }\n else if (v2.explicit && !v1.explicit) {\n return v2;\n }\n else if (stringify(v1.value) === stringify(v2.value)) {\n return v1;\n }\n else {\n return tieBreaker(v1, v2, property, propertyOf);\n }\n}\n//# sourceMappingURL=split.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/split.js\n// module id = 27\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { isArray } from 'vega-util';\nimport { CHANNELS, isChannel, supportMark } from './channel';\nimport { getFieldDef, hasConditionalFieldDef, isConditionalDef, isFieldDef, isValueDef, normalize, normalizeFieldDef } from './fielddef';\nimport * as log from './log';\nimport { Type } from './type';\nimport { contains, keys, some } from './util';\nexport function channelHasField(encoding, channel) {\n var channelDef = encoding && encoding[channel];\n if (channelDef) {\n if (isArray(channelDef)) {\n return some(channelDef, function (fieldDef) { return !!fieldDef.field; });\n }\n else {\n return isFieldDef(channelDef) || hasConditionalFieldDef(channelDef);\n }\n }\n return false;\n}\nexport function isAggregate(encoding) {\n return some(CHANNELS, function (channel) {\n if (channelHasField(encoding, channel)) {\n var channelDef = encoding[channel];\n if (isArray(channelDef)) {\n return some(channelDef, function (fieldDef) { return !!fieldDef.aggregate; });\n }\n else {\n var fieldDef = getFieldDef(channelDef);\n return fieldDef && !!fieldDef.aggregate;\n }\n }\n return false;\n });\n}\nexport function normalizeEncoding(encoding, mark) {\n return keys(encoding).reduce(function (normalizedEncoding, channel) {\n var _a;\n if (!isChannel(channel)) {\n // Drop invalid channel\n log.warn(log.message.invalidEncodingChannel(channel));\n return normalizedEncoding;\n }\n if (!supportMark(channel, mark)) {\n // Drop unsupported channel\n log.warn(log.message.incompatibleChannel(channel, mark));\n return normalizedEncoding;\n }\n // Drop line's size if the field is aggregated.\n if (channel === 'size' && mark === 'line') {\n var fieldDef = getFieldDef(encoding[channel]);\n if (fieldDef && fieldDef.aggregate) {\n log.warn(log.message.LINE_WITH_VARYING_SIZE);\n return normalizedEncoding;\n }\n }\n // Drop color if either fill or stroke is specified\n if (channel === 'color' && ('fill' in encoding || 'stroke' in encoding)) {\n log.warn(log.message.droppingColor('encoding', { fill: 'fill' in encoding, stroke: 'stroke' in encoding }));\n return normalizedEncoding;\n }\n var channelDef = encoding[channel];\n if (channel === 'detail' ||\n (channel === 'order' && !isArray(channelDef) && !isValueDef(channelDef)) ||\n (channel === 'tooltip' && isArray(channelDef))) {\n if (channelDef) {\n // Array of fieldDefs for detail channel (or production rule)\n normalizedEncoding[channel] = (isArray(channelDef) ? channelDef : [channelDef])\n .reduce(function (defs, fieldDef) {\n if (!isFieldDef(fieldDef)) {\n log.warn(log.message.emptyFieldDef(fieldDef, channel));\n }\n else {\n defs.push(normalizeFieldDef(fieldDef, channel));\n }\n return defs;\n }, []);\n }\n }\n else {\n var fieldDef = getFieldDef(encoding[channel]);\n if (fieldDef && contains([Type.LATITUDE, Type.LONGITUDE], fieldDef.type)) {\n var _b = channel, _ = normalizedEncoding[_b], newEncoding = tslib_1.__rest(normalizedEncoding, [typeof _b === \"symbol\" ? _b : _b + \"\"]);\n var newChannel = channel === 'x' ? 'longitude' :\n channel === 'y' ? 'latitude' :\n channel === 'x2' ? 'longitude2' :\n channel === 'y2' ? 'latitude2' : undefined;\n log.warn(log.message.latLongDeprecated(channel, fieldDef.type, newChannel));\n return tslib_1.__assign({}, newEncoding, (_a = {}, _a[newChannel] = tslib_1.__assign({}, normalize(fieldDef, channel), { type: 'quantitative' }), _a));\n }\n if (!isFieldDef(channelDef) && !isValueDef(channelDef) && !isConditionalDef(channelDef)) {\n log.warn(log.message.emptyFieldDef(channelDef, channel));\n return normalizedEncoding;\n }\n normalizedEncoding[channel] = normalize(channelDef, channel);\n }\n return normalizedEncoding;\n }, {});\n}\nexport function isRanged(encoding) {\n return encoding && ((!!encoding.x && !!encoding.x2) || (!!encoding.y && !!encoding.y2));\n}\nexport function fieldDefs(encoding) {\n var arr = [];\n CHANNELS.forEach(function (channel) {\n if (channelHasField(encoding, channel)) {\n var channelDef = encoding[channel];\n (isArray(channelDef) ? channelDef : [channelDef]).forEach(function (def) {\n if (isFieldDef(def)) {\n arr.push(def);\n }\n else if (hasConditionalFieldDef(def)) {\n arr.push(def.condition);\n }\n });\n }\n });\n return arr;\n}\nexport function forEach(mapping, f, thisArg) {\n if (!mapping) {\n return;\n }\n var _loop_1 = function (channel) {\n if (isArray(mapping[channel])) {\n mapping[channel].forEach(function (channelDef) {\n f.call(thisArg, channelDef, channel);\n });\n }\n else {\n f.call(thisArg, mapping[channel], channel);\n }\n };\n for (var _i = 0, _a = keys(mapping); _i < _a.length; _i++) {\n var channel = _a[_i];\n _loop_1(channel);\n }\n}\nexport function reduce(mapping, f, init, thisArg) {\n if (!mapping) {\n return init;\n }\n return keys(mapping).reduce(function (r, channel) {\n var map = mapping[channel];\n if (isArray(map)) {\n return map.reduce(function (r1, channelDef) {\n return f.call(thisArg, r1, channelDef, channel);\n }, r);\n }\n else {\n return f.call(thisArg, r, map, channel);\n }\n }, init);\n}\n//# sourceMappingURL=encoding.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/encoding.js\n// module id = 28\n// module chunks = 0","import { isArray } from 'vega-util';\nimport { flagKeys } from './util';\nexport function isVgSignalRef(o) {\n return !!o['signal'];\n}\nexport function isVgRangeStep(range) {\n return !!range['step'];\n}\nexport function isDataRefUnionedDomain(domain) {\n if (!isArray(domain)) {\n return 'fields' in domain && !('data' in domain);\n }\n return false;\n}\nexport function isFieldRefUnionDomain(domain) {\n if (!isArray(domain)) {\n return 'fields' in domain && 'data' in domain;\n }\n return false;\n}\nexport function isDataRefDomain(domain) {\n if (!isArray(domain)) {\n return 'field' in domain && 'data' in domain;\n }\n return false;\n}\nexport function isSignalRefDomain(domain) {\n if (!isArray(domain)) {\n return 'signal' in domain;\n }\n return false;\n}\nvar VG_MARK_CONFIG_INDEX = {\n opacity: 1,\n fill: 1,\n fillOpacity: 1,\n stroke: 1,\n strokeCap: 1,\n strokeWidth: 1,\n strokeOpacity: 1,\n strokeDash: 1,\n strokeDashOffset: 1,\n strokeJoin: 1,\n strokeMiterLimit: 1,\n size: 1,\n shape: 1,\n interpolate: 1,\n tension: 1,\n orient: 1,\n align: 1,\n baseline: 1,\n text: 1,\n dir: 1,\n dx: 1,\n dy: 1,\n ellipsis: 1,\n limit: 1,\n radius: 1,\n theta: 1,\n angle: 1,\n font: 1,\n fontSize: 1,\n fontWeight: 1,\n fontStyle: 1,\n cursor: 1,\n href: 1,\n tooltip: 1,\n cornerRadius: 1,\n};\nexport var VG_MARK_CONFIGS = flagKeys(VG_MARK_CONFIG_INDEX);\n//# sourceMappingURL=vega.schema.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/vega.schema.js\n// module id = 29\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/selection/index.js\n// module id = 30\n// module chunks = 0","import {Skip} from './constants';\nimport {extendEncode} from '../encode/encode-util';\n\nexport default function(type, role, style, key, dataRef, encode, extras) {\n return {\n type: type,\n name: extras ? extras.name : undefined,\n role: role,\n style: (extras && extras.style) || style,\n key: key,\n from: dataRef,\n interactive: !!(extras && extras.interactive),\n encode: extendEncode(encode, extras, Skip)\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/guides/guide-mark.js\n// module id = 31\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { isArray } from 'vega-util';\nimport { getFieldDef, isConditionalSelection, isValueDef, vgField, } from '../../fielddef';\nimport * as log from '../../log';\nimport { expression } from '../../predicate';\nimport { hasContinuousDomain } from '../../scale';\nimport { contains } from '../../util';\nimport { VG_MARK_CONFIGS } from '../../vega.schema';\nimport { getMarkConfig } from '../common';\nimport { selectionPredicate } from '../selection/selection';\nimport * as ref from './valueref';\nexport function color(model, opt) {\n if (opt === void 0) { opt = { valueOnly: false }; }\n var _a, _b;\n var markDef = model.markDef, encoding = model.encoding, config = model.config;\n var filled = markDef.filled, markType = markDef.type;\n var configValue = {\n fill: getMarkConfig('fill', markDef, config),\n stroke: getMarkConfig('stroke', markDef, config),\n color: getMarkConfig('color', markDef, config)\n };\n var transparentIfNeeded = contains(['bar', 'point', 'circle', 'square', 'geoshape'], markType) ? 'transparent' : undefined;\n var defaultValue = {\n fill: markDef.fill || configValue.fill ||\n // If there is no fill, always fill symbols, bar, geoshape\n // with transparent fills https://github.com/vega/vega-lite/issues/1316\n transparentIfNeeded,\n stroke: markDef.stroke || configValue.stroke\n };\n var colorVgChannel = filled ? 'fill' : 'stroke';\n var fillStrokeMarkDefAndConfig = tslib_1.__assign({}, (defaultValue.fill ? {\n fill: { value: defaultValue.fill }\n } : {}), (defaultValue.stroke ? {\n stroke: { value: defaultValue.stroke }\n } : {}));\n if (encoding.fill || encoding.stroke) {\n // ignore encoding.color, markDef.color, config.color\n if (markDef.color) {\n // warn for markDef.color (no need to warn encoding.color as it will be dropped in normalized already)\n log.warn(log.message.droppingColor('property', { fill: 'fill' in encoding, stroke: 'stroke' in encoding }));\n }\n return tslib_1.__assign({}, nonPosition('fill', model, { defaultValue: defaultValue.fill || transparentIfNeeded }), nonPosition('stroke', model, { defaultValue: defaultValue.stroke }));\n }\n else if (encoding.color) {\n return tslib_1.__assign({}, fillStrokeMarkDefAndConfig, nonPosition('color', model, {\n vgChannel: colorVgChannel,\n // apply default fill/stroke first, then color config, then transparent if needed.\n defaultValue: markDef[colorVgChannel] || markDef.color || configValue[colorVgChannel] || configValue.color || (filled ? transparentIfNeeded : undefined)\n }));\n }\n else if (markDef.fill || markDef.stroke) {\n // Ignore markDef.color, config.color\n if (markDef.color) {\n log.warn(log.message.droppingColor('property', { fill: 'fill' in markDef, stroke: 'stroke' in markDef }));\n }\n return fillStrokeMarkDefAndConfig;\n }\n else if (markDef.color) {\n return tslib_1.__assign({}, fillStrokeMarkDefAndConfig, (_a = {}, _a[colorVgChannel] = { value: markDef.color }, _a));\n }\n else if (configValue.fill || configValue.stroke) {\n // ignore config.color\n return fillStrokeMarkDefAndConfig;\n }\n else if (configValue.color) {\n return tslib_1.__assign({}, (transparentIfNeeded ? { fill: { value: 'transparent' } } : {}), (_b = {}, _b[colorVgChannel] = { value: configValue.color }, _b));\n }\n return {};\n}\nexport function baseEncodeEntry(model, ignore) {\n return tslib_1.__assign({}, markDefProperties(model.markDef, ignore), color(model), nonPosition('opacity', model), tooltip(model), text(model, 'href'));\n}\nfunction markDefProperties(mark, ignore) {\n return VG_MARK_CONFIGS.reduce(function (m, prop) {\n if (mark[prop] !== undefined && ignore[prop] !== 'ignore') {\n m[prop] = { value: mark[prop] };\n }\n return m;\n }, {});\n}\nexport function valueIfDefined(prop, value) {\n var _a;\n if (value !== undefined) {\n return _a = {}, _a[prop] = { value: value }, _a;\n }\n return undefined;\n}\nfunction validPredicate(vgRef) {\n return vgRef + \" !== null && !isNaN(\" + vgRef + \")\";\n}\nexport function defined(model) {\n if (model.config.invalidValues === 'filter') {\n var fields = ['x', 'y'].map(function (channel) {\n var scaleComponent = model.getScaleComponent(channel);\n if (scaleComponent) {\n var scaleType = scaleComponent.get('type');\n // Discrete domain scales can handle invalid values, but continuous scales can't.\n if (hasContinuousDomain(scaleType)) {\n return model.vgField(channel, { expr: 'datum' });\n }\n }\n return undefined;\n })\n .filter(function (field) { return !!field; })\n .map(validPredicate);\n if (fields.length > 0) {\n return {\n defined: { signal: fields.join(' && ') }\n };\n }\n }\n return {};\n}\n/**\n * Return mixins for non-positional channels with scales. (Text doesn't have scale.)\n */\nexport function nonPosition(channel, model, opt) {\n if (opt === void 0) { opt = {}; }\n var defaultValue = opt.defaultValue, vgChannel = opt.vgChannel;\n var defaultRef = opt.defaultRef || (defaultValue !== undefined ? { value: defaultValue } : undefined);\n var channelDef = model.encoding[channel];\n return wrapCondition(model, channelDef, vgChannel || channel, function (cDef) {\n return ref.midPoint(channel, cDef, model.scaleName(channel), model.getScaleComponent(channel), null, // No need to provide stack for non-position as it does not affect mid point\n defaultRef);\n });\n}\n/**\n * Return a mixin that include a Vega production rule for a Vega-Lite conditional channel definition.\n * or a simple mixin if channel def has no condition.\n */\nexport function wrapCondition(model, channelDef, vgChannel, refFn) {\n var _a, _b;\n var condition = channelDef && channelDef.condition;\n var valueRef = refFn(channelDef);\n if (condition) {\n var conditions = isArray(condition) ? condition : [condition];\n var vgConditions = conditions.map(function (c) {\n var conditionValueRef = refFn(c);\n var test = isConditionalSelection(c) ? selectionPredicate(model, c.selection) : expression(model, c.test);\n return tslib_1.__assign({ test: test }, conditionValueRef);\n });\n return _a = {},\n _a[vgChannel] = vgConditions.concat((valueRef !== undefined ? [valueRef] : [])),\n _a;\n }\n else {\n return valueRef !== undefined ? (_b = {}, _b[vgChannel] = valueRef, _b) : {};\n }\n}\nexport function tooltip(model) {\n var channel = 'tooltip';\n var channelDef = model.encoding[channel];\n if (isArray(channelDef)) {\n var keyValues = channelDef.map(function (fieldDef) {\n var key = fieldDef.title !== undefined ? fieldDef.title : vgField(fieldDef, { binSuffix: 'range' });\n var value = ref.text(fieldDef, model.config).signal;\n return \"\\\"\" + key + \"\\\": \" + value;\n });\n return { tooltip: { signal: \"{\" + keyValues.join(', ') + \"}\" } };\n }\n else {\n // if not an array, behave just like text\n return textCommon(model, channel, channelDef);\n }\n}\nexport function text(model, channel) {\n if (channel === void 0) { channel = 'text'; }\n var channelDef = model.encoding[channel];\n return textCommon(model, channel, channelDef);\n}\nfunction textCommon(model, channel, channelDef) {\n return wrapCondition(model, channelDef, channel, function (cDef) { return ref.text(cDef, model.config); });\n}\nexport function bandPosition(fieldDef, channel, model) {\n var _a, _b, _c;\n var scaleName = model.scaleName(channel);\n var sizeChannel = channel === 'x' ? 'width' : 'height';\n if (model.encoding.size || model.markDef.size !== undefined) {\n var orient = model.markDef.orient;\n if (orient) {\n var centeredBandPositionMixins = (_a = {},\n // Use xc/yc and place the mark at the middle of the band\n // This way we never have to deal with size's condition for x/y position.\n _a[channel + 'c'] = ref.fieldRef(fieldDef, scaleName, {}, { band: 0.5 }),\n _a);\n if (getFieldDef(model.encoding.size)) {\n return tslib_1.__assign({}, centeredBandPositionMixins, nonPosition('size', model, { vgChannel: sizeChannel }));\n }\n else if (isValueDef(model.encoding.size)) {\n return tslib_1.__assign({}, centeredBandPositionMixins, nonPosition('size', model, { vgChannel: sizeChannel }));\n }\n else if (model.markDef.size !== undefined) {\n return tslib_1.__assign({}, centeredBandPositionMixins, (_b = {}, _b[sizeChannel] = { value: model.markDef.size }, _b));\n }\n }\n else {\n log.warn(log.message.cannotApplySizeToNonOrientedMark(model.markDef.type));\n }\n }\n return _c = {},\n _c[channel] = ref.fieldRef(fieldDef, scaleName, { binSuffix: 'range' }),\n _c[sizeChannel] = ref.bandRef(scaleName),\n _c;\n}\nexport function centeredBandPosition(channel, model, defaultPosRef, defaultSizeRef) {\n var centerChannel = channel === 'x' ? 'xc' : 'yc';\n var sizeChannel = channel === 'x' ? 'width' : 'height';\n return tslib_1.__assign({}, pointPosition(channel, model, defaultPosRef, centerChannel), nonPosition('size', model, { defaultRef: defaultSizeRef, vgChannel: sizeChannel }));\n}\nexport function binnedPosition(fieldDef, channel, scaleName, spacing, reverse) {\n if (channel === 'x') {\n return {\n x2: ref.bin(fieldDef, scaleName, 'start', reverse ? 0 : spacing),\n x: ref.bin(fieldDef, scaleName, 'end', reverse ? spacing : 0)\n };\n }\n else {\n return {\n y2: ref.bin(fieldDef, scaleName, 'start', reverse ? spacing : 0),\n y: ref.bin(fieldDef, scaleName, 'end', reverse ? 0 : spacing)\n };\n }\n}\n/**\n * Return mixins for point (non-band) position channels.\n */\nexport function pointPosition(channel, model, defaultRef, vgChannel) {\n // TODO: refactor how refer to scale as discussed in https://github.com/vega/vega-lite/pull/1613\n var _a;\n var encoding = model.encoding, mark = model.mark, stack = model.stack;\n var channelDef = encoding[channel];\n var scaleName = model.scaleName(channel);\n var scale = model.getScaleComponent(channel);\n var offset = ref.getOffset(channel, model.markDef);\n var valueRef = !channelDef && (encoding.latitude || encoding.longitude) ?\n // use geopoint output if there are lat/long and there is no point position overriding lat/long.\n { field: model.getName(channel) } : tslib_1.__assign({}, ref.position(channel, encoding[channel], scaleName, scale, stack, ref.getDefaultRef(defaultRef, channel, scaleName, scale, mark)), (offset ? { offset: offset } : {}));\n return _a = {},\n _a[vgChannel || channel] = valueRef,\n _a;\n}\n/**\n * Return mixins for x2, y2.\n * If channel is not specified, return one channel based on orientation.\n */\nexport function pointPosition2(model, defaultRef, channel) {\n var _a;\n var encoding = model.encoding, mark = model.mark, stack = model.stack;\n var baseChannel = channel === 'x2' ? 'x' : 'y';\n var channelDef = encoding[baseChannel];\n var scaleName = model.scaleName(baseChannel);\n var scale = model.getScaleComponent(baseChannel);\n var offset = ref.getOffset(channel, model.markDef);\n var valueRef = !channelDef && (encoding.latitude || encoding.longitude) ?\n // use geopoint output if there are lat2/long2 and there is no point position2 overriding lat2/long2.\n { field: model.getName(channel) } : tslib_1.__assign({}, ref.position2(channel, channelDef, encoding[channel], scaleName, scale, stack, ref.getDefaultRef(defaultRef, baseChannel, scaleName, scale, mark)), (offset ? { offset: offset } : {}));\n return _a = {}, _a[channel] = valueRef, _a;\n}\n//# sourceMappingURL=mixins.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/mark/mixins.js\n// module id = 32\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/projection/index.js\n// module id = 34\n// module chunks = 0","import { isArray } from 'vega-util';\nexport function isSortField(sort) {\n return !!sort && (sort['op'] === 'count' || !!sort['field']) && !!sort['op'];\n}\nexport function isSortArray(sort) {\n return !!sort && isArray(sort);\n}\n//# sourceMappingURL=sort.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/sort.js\n// module id = 35\n// module chunks = 0","export var durationSecond = 1e3;\nexport var durationMinute = 6e4;\nexport var durationHour = 36e5;\nexport var durationDay = 864e5;\nexport var durationWeek = 6048e5;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-time/src/duration.js\n// module id = 36\n// module chunks = 0","function compare(a, b) {\n return a.zindex - b.zindex || a.index - b.index;\n}\n\nexport function zorder(scene) {\n if (!scene.zdirty) return scene.zitems;\n\n var items = scene.items,\n output = [], item, i, n;\n\n for (i=0, n=items.length; i<n; ++i) {\n item = items[i];\n item.index = i;\n if (item.zindex) output.push(item);\n }\n\n scene.zdirty = false;\n return scene.zitems = output.sort(compare);\n}\n\nexport function visit(scene, visitor) {\n var items = scene.items, i, n;\n if (!items || !items.length) return;\n\n var zitems = zorder(scene);\n\n if (zitems && zitems.length) {\n for (i=0, n=items.length; i<n; ++i) {\n if (!items[i].zindex) visitor(items[i]);\n }\n items = zitems;\n }\n\n for (i=0, n=items.length; i<n; ++i) {\n visitor(items[i]);\n }\n}\n\nexport function pickVisit(scene, visitor) {\n var items = scene.items, hit, i;\n if (!items || !items.length) return null;\n\n var zitems = zorder(scene);\n if (zitems && zitems.length) items = zitems;\n\n for (i=items.length; --i >= 0;) {\n if (hit = visitor(items[i])) return hit;\n }\n\n if (items === zitems) {\n for (items=scene.items, i=items.length; --i >= 0;) {\n if (!items[i].zindex) {\n if (hit = visitor(items[i])) return hit;\n }\n }\n }\n\n return null;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/util/visit.js\n// module id = 37\n// module chunks = 0","export default function Bounds(b) {\n this.clear();\n if (b) this.union(b);\n}\n\nvar prototype = Bounds.prototype;\n\nprototype.clone = function() {\n return new Bounds(this);\n};\n\nprototype.clear = function() {\n this.x1 = +Number.MAX_VALUE;\n this.y1 = +Number.MAX_VALUE;\n this.x2 = -Number.MAX_VALUE;\n this.y2 = -Number.MAX_VALUE;\n return this;\n};\n\nprototype.empty = function() {\n return (\n this.x1 === +Number.MAX_VALUE &&\n this.y1 === +Number.MAX_VALUE &&\n this.x2 === -Number.MAX_VALUE &&\n this.y2 === -Number.MAX_VALUE\n );\n};\n\nprototype.set = function(x1, y1, x2, y2) {\n if (x2 < x1) {\n this.x2 = x1;\n this.x1 = x2;\n } else {\n this.x1 = x1;\n this.x2 = x2;\n }\n if (y2 < y1) {\n this.y2 = y1;\n this.y1 = y2;\n } else {\n this.y1 = y1;\n this.y2 = y2;\n }\n return this;\n};\n\nprototype.add = function(x, y) {\n if (x < this.x1) this.x1 = x;\n if (y < this.y1) this.y1 = y;\n if (x > this.x2) this.x2 = x;\n if (y > this.y2) this.y2 = y;\n return this;\n};\n\nprototype.expand = function(d) {\n this.x1 -= d;\n this.y1 -= d;\n this.x2 += d;\n this.y2 += d;\n return this;\n};\n\nprototype.round = function() {\n this.x1 = Math.floor(this.x1);\n this.y1 = Math.floor(this.y1);\n this.x2 = Math.ceil(this.x2);\n this.y2 = Math.ceil(this.y2);\n return this;\n};\n\nprototype.translate = function(dx, dy) {\n this.x1 += dx;\n this.x2 += dx;\n this.y1 += dy;\n this.y2 += dy;\n return this;\n};\n\nprototype.rotate = function(angle, x, y) {\n var cos = Math.cos(angle),\n sin = Math.sin(angle),\n cx = x - x*cos + y*sin,\n cy = y - x*sin - y*cos,\n x1 = this.x1, x2 = this.x2,\n y1 = this.y1, y2 = this.y2;\n\n return this.clear()\n .add(cos*x1 - sin*y1 + cx, sin*x1 + cos*y1 + cy)\n .add(cos*x1 - sin*y2 + cx, sin*x1 + cos*y2 + cy)\n .add(cos*x2 - sin*y1 + cx, sin*x2 + cos*y1 + cy)\n .add(cos*x2 - sin*y2 + cx, sin*x2 + cos*y2 + cy);\n};\n\nprototype.union = function(b) {\n if (b.x1 < this.x1) this.x1 = b.x1;\n if (b.y1 < this.y1) this.y1 = b.y1;\n if (b.x2 > this.x2) this.x2 = b.x2;\n if (b.y2 > this.y2) this.y2 = b.y2;\n return this;\n};\n\nprototype.intersect = function(b) {\n if (b.x1 > this.x1) this.x1 = b.x1;\n if (b.y1 > this.y1) this.y1 = b.y1;\n if (b.x2 < this.x2) this.x2 = b.x2;\n if (b.y2 < this.y2) this.y2 = b.y2;\n return this;\n};\n\nprototype.encloses = function(b) {\n return b && (\n this.x1 <= b.x1 &&\n this.x2 >= b.x2 &&\n this.y1 <= b.y1 &&\n this.y2 >= b.y2\n );\n};\n\nprototype.alignsWith = function(b) {\n return b && (\n this.x1 == b.x1 ||\n this.x2 == b.x2 ||\n this.y1 == b.y1 ||\n this.y2 == b.y2\n );\n};\n\nprototype.intersects = function(b) {\n return b && !(\n this.x2 < b.x1 ||\n this.x1 > b.x2 ||\n this.y2 < b.y1 ||\n this.y1 > b.y2\n );\n};\n\nprototype.contains = function(x, y) {\n return !(\n x < this.x1 ||\n x > this.x2 ||\n y < this.y1 ||\n y > this.y2\n );\n};\n\nprototype.width = function() {\n return this.x2 - this.x1;\n};\n\nprototype.height = function() {\n return this.y2 - this.y1;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/Bounds.js\n// module id = 39\n// module chunks = 0","import arc from './arc';\nimport area from './area';\nimport group from './group';\nimport image from './image';\nimport line from './line';\nimport path from './path';\nimport rect from './rect';\nimport rule from './rule';\nimport shape from './shape';\nimport symbol from './symbol';\nimport text from './text';\nimport trail from './trail';\n\nexport default {\n arc: arc,\n area: area,\n group: group,\n image: image,\n line: line,\n path: path,\n rect: rect,\n rule: rule,\n shape: shape,\n symbol: symbol,\n text: text,\n trail: trail\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/marks/index.js\n// module id = 40\n// module chunks = 0","import curves from './curves';\nimport symbols from './symbols';\n\nimport {default as vg_rect} from './rectangle';\nimport {default as vg_trail} from './trail';\n\nimport {\n arc as d3_arc,\n symbol as d3_symbol,\n area as d3_area,\n line as d3_line\n} from 'd3-shape';\n\nfunction x(item) { return item.x || 0; }\nfunction y(item) { return item.y || 0; }\nfunction w(item) { return item.width || 0; }\nfunction ts(item) { return item.size || 1; }\nfunction h(item) { return item.height || 0; }\nfunction xw(item) { return (item.x || 0) + (item.width || 0); }\nfunction yh(item) { return (item.y || 0) + (item.height || 0); }\nfunction sa(item) { return item.startAngle || 0; }\nfunction ea(item) { return item.endAngle || 0; }\nfunction pa(item) { return item.padAngle || 0; }\nfunction ir(item) { return item.innerRadius || 0; }\nfunction or(item) { return item.outerRadius || 0; }\nfunction cr(item) { return item.cornerRadius || 0; }\nfunction def(item) { return !(item.defined === false); }\nfunction size(item) { return item.size == null ? 64 : item.size; }\nfunction type(item) { return symbols(item.shape || 'circle'); }\n\nvar arcShape = d3_arc().startAngle(sa).endAngle(ea).padAngle(pa)\n .innerRadius(ir).outerRadius(or).cornerRadius(cr),\n areavShape = d3_area().x(x).y1(y).y0(yh).defined(def),\n areahShape = d3_area().y(y).x1(x).x0(xw).defined(def),\n lineShape = d3_line().x(x).y(y).defined(def),\n rectShape = vg_rect().x(x).y(y).width(w).height(h).cornerRadius(cr),\n symbolShape = d3_symbol().type(type).size(size),\n trailShape = vg_trail().x(x).y(y).defined(def).size(ts);\n\nexport function arc(context, item) {\n return arcShape.context(context)(item);\n}\n\nexport function area(context, items) {\n var item = items[0],\n interp = item.interpolate || 'linear';\n return (item.orient === 'horizontal' ? areahShape : areavShape)\n .curve(curves(interp, item.orient, item.tension))\n .context(context)(items);\n}\n\nexport function line(context, items) {\n var item = items[0],\n interp = item.interpolate || 'linear';\n return lineShape.curve(curves(interp, item.orient, item.tension))\n .context(context)(items);\n}\n\nexport function rectangle(context, item, x, y) {\n return rectShape.context(context)(item, x, y);\n}\n\nexport function shape(context, item) {\n return (item.mark.shape || item.shape)\n .context(context)(item);\n}\n\nexport function symbol(context, item) {\n return symbolShape.context(context)(item);\n}\n\nexport function trail(context, items) {\n return trailShape.context(context)(items);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/path/shapes.js\n// module id = 41\n// module chunks = 0","import {pickVisit} from '../visit';\n\nvar trueFunc = function() { return true; };\n\nexport function pick(test) {\n if (!test) test = trueFunc;\n\n return function(context, scene, x, y, gx, gy) {\n x *= context.pixelRatio;\n y *= context.pixelRatio;\n\n return pickVisit(scene, function(item) {\n var b = item.bounds;\n // first hit test against bounding box\n if ((b && !b.contains(gx, gy)) || !b) return;\n // if in bounding box, perform more careful test\n if (test(context, item, x, y, gx, gy)) return item;\n });\n };\n}\n\nexport function hitPath(path, filled) {\n return function(context, o, x, y) {\n var item = Array.isArray(o) ? o[0] : o,\n fill = (filled == null) ? item.fill : filled,\n stroke = item.stroke && context.isPointInStroke, lw, lc;\n\n if (stroke) {\n lw = item.strokeWidth;\n lc = item.strokeCap;\n context.lineWidth = lw != null ? lw : 1;\n context.lineCap = lc != null ? lc : 'butt';\n }\n\n return path(context, o) ? false :\n (fill && context.isPointInPath(x, y)) ||\n (stroke && context.isPointInStroke(x, y));\n };\n}\n\nexport function pickPath(path) {\n return pick(hitPath(path));\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/util/canvas/pick.js\n// module id = 42\n// module chunks = 0","export default function noop() {}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/noop.js\n// module id = 43\n// module chunks = 0","import {codeGenerator, codegenParams} from './expression/codegen';\nimport {parse} from 'vega-expression';\nimport {error, isString, stringValue} from 'vega-util';\n\nexport var signalPrefix = '$';\n\nexport default function(expr, scope, preamble) {\n var params = {}, ast, gen;\n\n // parse the expression to an abstract syntax tree (ast)\n try {\n expr = isString(expr) ? expr : (stringValue(expr) + '');\n ast = parse(expr);\n } catch (err) {\n error('Expression parse error: ' + expr);\n }\n\n // analyze ast function calls for dependencies\n ast.visit(function visitor(node) {\n if (node.type !== 'CallExpression') return;\n var name = node.callee.name,\n visit = codegenParams.visitors[name];\n if (visit) visit(name, node.arguments, scope, params);\n });\n\n // perform code generation\n gen = codeGenerator(ast);\n\n // collect signal dependencies\n gen.globals.forEach(function(name) {\n var signalName = signalPrefix + name;\n if (!params.hasOwnProperty(signalName) && scope.getSignal(name)) {\n params[signalName] = scope.signalRef(name);\n }\n });\n\n // return generated expression code and dependencies\n return {\n $expr: preamble ? preamble + 'return(' + gen.code + ');' : gen.code,\n $fields: gen.fields,\n $params: params\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/expression.js\n// module id = 44\n// module chunks = 0","export function isUrlData(data) {\n return !!data['url'];\n}\nexport function isInlineData(data) {\n return !!data['values'];\n}\nexport function isNamedData(data) {\n return !!data['name'] && !isUrlData(data) && !isInlineData(data);\n}\nexport var MAIN = 'main';\nexport var RAW = 'raw';\n//# sourceMappingURL=data.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/data.js\n// module id = 45\n// module chunks = 0","export var random = Math.random;\n\nexport function setRandom(r) {\n random = r;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-statistics/src/random.js\n// module id = 47\n// module chunks = 0","export default function(x) {\n return function constant() {\n return x;\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/constant.js\n// module id = 49\n// module chunks = 0","export default function(bounds, item) {\n if (item.stroke && item.opacity !== 0 && item.strokeOpacity !== 0) {\n bounds.expand(item.strokeWidth != null ? +item.strokeWidth : 1);\n }\n return bounds;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/bound/boundStroke.js\n// module id = 50\n// module chunks = 0","// create a new DOM element\nexport function domCreate(doc, tag, ns) {\n if (!doc && typeof document !== 'undefined' && document.createElement) {\n doc = document;\n }\n return doc\n ? (ns ? doc.createElementNS(ns, tag) : doc.createElement(tag))\n : null;\n}\n\n// find first child element with matching tag\nexport function domFind(el, tag) {\n tag = tag.toLowerCase();\n var nodes = el.childNodes, i = 0, n = nodes.length;\n for (; i<n; ++i) if (nodes[i].tagName.toLowerCase() === tag) {\n return nodes[i];\n }\n}\n\n// retrieve child element at given index\n// create & insert if doesn't exist or if tags do not match\nexport function domChild(el, index, tag, ns) {\n var a = el.childNodes[index], b;\n if (!a || a.tagName.toLowerCase() !== tag.toLowerCase()) {\n b = a || null;\n a = domCreate(el.ownerDocument, tag, ns);\n el.insertBefore(a, b);\n }\n return a;\n}\n\n// remove all child elements at or above the given index\nexport function domClear(el, index) {\n var nodes = el.childNodes,\n curr = nodes.length;\n while (curr > index) el.removeChild(nodes[--curr]);\n return el;\n}\n\n// generate css class name for mark\nexport function cssClass(mark) {\n return 'mark-' + mark.marktype\n + (mark.role ? ' role-' + mark.role : '')\n + (mark.name ? ' ' + mark.name : '');\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/util/dom.js\n// module id = 51\n// module chunks = 0","var array = Array.prototype;\n\nexport var map = array.map;\nexport var slice = array.slice;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale/src/array.js\n// module id = 53\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/stream.js\n// module id = 54\n// module chunks = 0","import * as tslib_1 from \"tslib\";\n/**\n * Utility files for producing Vega ValueRef for marks\n */\nimport { isArray, isFunction, isString } from 'vega-util';\nimport { X, Y } from '../../channel';\nimport { isFieldDef, isValueDef, vgField, } from '../../fielddef';\nimport * as log from '../../log';\nimport { hasDiscreteDomain, ScaleType } from '../../scale';\nimport { QUANTITATIVE } from '../../type';\nimport { contains, some } from '../../util';\nimport { binRequiresRange, formatSignalRef } from '../common';\n// TODO: we need to find a way to refactor these so that scaleName is a part of scale\n// but that's complicated. For now, this is a huge step moving forward.\n/**\n * @return Vega ValueRef for normal x- or y-position without projection\n */\nexport function position(channel, channelDef, scaleName, scale, stack, defaultRef) {\n if (isFieldDef(channelDef) && stack && channel === stack.fieldChannel) {\n // x or y use stack_end so that stacked line's point mark use stack_end too.\n return fieldRef(channelDef, scaleName, { suffix: 'end' });\n }\n return midPoint(channel, channelDef, scaleName, scale, stack, defaultRef);\n}\n/**\n * @return Vega ValueRef for normal x2- or y2-position without projection\n */\nexport function position2(channel, aFieldDef, a2fieldDef, scaleName, scale, stack, defaultRef) {\n if (isFieldDef(aFieldDef) && stack &&\n // If fieldChannel is X and channel is X2 (or Y and Y2)\n channel.charAt(0) === stack.fieldChannel.charAt(0)) {\n return fieldRef(aFieldDef, scaleName, { suffix: 'start' });\n }\n return midPoint(channel, a2fieldDef, scaleName, scale, stack, defaultRef);\n}\nexport function getOffset(channel, markDef) {\n var offsetChannel = channel + 'Offset';\n // TODO: in the future read from encoding channel too\n var markDefOffsetValue = markDef[offsetChannel];\n if (markDefOffsetValue) {\n return markDefOffsetValue;\n }\n return undefined;\n}\n/**\n * Value Ref for binned fields\n */\nexport function bin(fieldDef, scaleName, side, offset) {\n var binSuffix = side === 'start' ? undefined : 'end';\n return fieldRef(fieldDef, scaleName, { binSuffix: binSuffix }, offset ? { offset: offset } : {});\n}\nexport function fieldRef(fieldDef, scaleName, opt, mixins) {\n var ref = tslib_1.__assign({}, (scaleName ? { scale: scaleName } : {}), { field: vgField(fieldDef, opt) });\n if (mixins) {\n return tslib_1.__assign({}, ref, mixins);\n }\n return ref;\n}\nexport function bandRef(scaleName, band) {\n if (band === void 0) { band = true; }\n return {\n scale: scaleName,\n band: band\n };\n}\n/**\n * Signal that returns the middle of a bin. Should only be used with x and y.\n */\nfunction binMidSignal(fieldDef, scaleName) {\n return {\n signal: \"(\" +\n (\"scale(\\\"\" + scaleName + \"\\\", \" + vgField(fieldDef, { expr: 'datum' }) + \")\") +\n \" + \" +\n (\"scale(\\\"\" + scaleName + \"\\\", \" + vgField(fieldDef, { binSuffix: 'end', expr: 'datum' }) + \")\") +\n \")/2\"\n };\n}\n/**\n * @returns {VgValueRef} Value Ref for xc / yc or mid point for other channels.\n */\nexport function midPoint(channel, channelDef, scaleName, scale, stack, defaultRef) {\n // TODO: datum support\n if (channelDef) {\n /* istanbul ignore else */\n if (isFieldDef(channelDef)) {\n if (channelDef.bin) {\n // Use middle only for x an y to place marks in the center between start and end of the bin range.\n // We do not use the mid point for other channels (e.g. size) so that properties of legends and marks match.\n if (contains([X, Y], channel) && channelDef.type === QUANTITATIVE) {\n if (stack && stack.impute) {\n // For stack, we computed bin_mid so we can impute.\n return fieldRef(channelDef, scaleName, { binSuffix: 'mid' });\n }\n // For non-stack, we can just calculate bin mid on the fly using signal.\n return binMidSignal(channelDef, scaleName);\n }\n return fieldRef(channelDef, scaleName, binRequiresRange(channelDef, channel) ? { binSuffix: 'range' } : {});\n }\n if (scale) {\n var scaleType = scale.get('type');\n if (hasDiscreteDomain(scaleType)) {\n if (scaleType === 'band') {\n // For band, to get mid point, need to offset by half of the band\n return fieldRef(channelDef, scaleName, { binSuffix: 'range' }, { band: 0.5 });\n }\n return fieldRef(channelDef, scaleName, { binSuffix: 'range' });\n }\n }\n return fieldRef(channelDef, scaleName, {}); // no need for bin suffix\n }\n else if (isValueDef(channelDef)) {\n var value = channelDef.value;\n if (contains(['x', 'x2'], channel) && value === 'width') {\n return { field: { group: 'width' } };\n }\n else if (contains(['y', 'y2'], channel) && value === 'height') {\n return { field: { group: 'height' } };\n }\n return { value: value };\n }\n // If channelDef is neither field def or value def, it's a condition-only def.\n // In such case, we will use default ref.\n }\n return isFunction(defaultRef) ? defaultRef() : defaultRef;\n}\nexport function text(textDef, config) {\n // text\n if (textDef) {\n if (isFieldDef(textDef)) {\n return formatSignalRef(textDef, textDef.format, 'datum', config);\n }\n else if (isValueDef(textDef)) {\n return { value: textDef.value };\n }\n }\n return undefined;\n}\nexport function mid(sizeRef) {\n return tslib_1.__assign({}, sizeRef, { mult: 0.5 });\n}\n/**\n * Whether the scale definitely includes zero in the domain\n */\nfunction domainDefinitelyIncludeZero(scale) {\n if (scale.get('zero') !== false) {\n return true;\n }\n var domains = scale.domains;\n if (isArray(domains)) {\n return some(domains, function (d) { return isArray(d) && d.length === 2 && d[0] <= 0 && d[1] >= 0; });\n }\n return false;\n}\nexport function getDefaultRef(defaultRef, channel, scaleName, scale, mark) {\n return function () {\n if (isString(defaultRef)) {\n if (scaleName) {\n var scaleType = scale.get('type');\n if (contains([ScaleType.LOG, ScaleType.TIME, ScaleType.UTC], scaleType)) {\n // Log scales cannot have zero.\n // Zero in time scale is arbitrary, and does not affect ratio.\n // (Time is an interval level of measurement, not ratio).\n // See https://en.wikipedia.org/wiki/Level_of_measurement for more info.\n if (mark === 'bar' || mark === 'area') {\n log.warn(log.message.nonZeroScaleUsedWithLengthMark(mark, channel, { scaleType: scaleType }));\n }\n }\n else {\n if (domainDefinitelyIncludeZero(scale)) {\n return {\n scale: scaleName,\n value: 0\n };\n }\n if (mark === 'bar' || mark === 'area') {\n log.warn(log.message.nonZeroScaleUsedWithLengthMark(mark, channel, { zeroFalse: scale.explicit.zero === false }));\n }\n }\n }\n if (defaultRef === 'zeroOrMin') {\n return channel === 'x' ? { value: 0 } : { field: { group: 'height' } };\n }\n else { // zeroOrMax\n return channel === 'x' ? { field: { group: 'width' } } : { value: 0 };\n }\n }\n return defaultRef;\n };\n}\n//# sourceMappingURL=valueref.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/mark/valueref.js\n// module id = 55\n// module chunks = 0","export default function(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-array/src/ascending.js\n// module id = 56\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale/src/linear.js\n// module id = 57\n// module chunks = 0","// 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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/adder.js\n// module id = 58\n// module chunks = 0","export default function(x) {\n return function() {\n return x;\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-force/src/constant.js\n// module id = 59\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { isObject } from 'vega-util';\nimport { COLUMN, ROW, X, X2, Y, Y2 } from './channel';\nimport * as compositeMark from './compositemark';\nimport * as vlEncoding from './encoding';\nimport { channelHasField, isRanged } from './encoding';\nimport * as log from './log';\nimport { isMarkDef, isPathMark, isPrimitiveMark } from './mark';\nimport { stack } from './stack';\nimport { duplicate, hash, keys, omit, pick, vals } from './util';\n/* Custom type guards */\nexport function isFacetSpec(spec) {\n return spec['facet'] !== undefined;\n}\nexport function isUnitSpec(spec) {\n return !!spec['mark'];\n}\nexport function isLayerSpec(spec) {\n return spec['layer'] !== undefined;\n}\nexport function isRepeatSpec(spec) {\n return spec['repeat'] !== undefined;\n}\nexport function isConcatSpec(spec) {\n return isVConcatSpec(spec) || isHConcatSpec(spec);\n}\nexport function isVConcatSpec(spec) {\n return spec['vconcat'] !== undefined;\n}\nexport function isHConcatSpec(spec) {\n return spec['hconcat'] !== undefined;\n}\n/**\n * Decompose extended unit specs into composition of pure unit specs.\n */\n// TODO: consider moving this to another file. Maybe vl.spec.normalize or vl.normalize\nexport function normalize(spec, config) {\n if (isFacetSpec(spec)) {\n return normalizeFacet(spec, config);\n }\n if (isLayerSpec(spec)) {\n return normalizeLayer(spec, config);\n }\n if (isRepeatSpec(spec)) {\n return normalizeRepeat(spec, config);\n }\n if (isVConcatSpec(spec)) {\n return normalizeVConcat(spec, config);\n }\n if (isHConcatSpec(spec)) {\n return normalizeHConcat(spec, config);\n }\n if (isUnitSpec(spec)) {\n var hasRow = channelHasField(spec.encoding, ROW);\n var hasColumn = channelHasField(spec.encoding, COLUMN);\n if (hasRow || hasColumn) {\n return normalizeFacetedUnit(spec, config);\n }\n return normalizeNonFacetUnit(spec, config);\n }\n throw new Error(log.message.INVALID_SPEC);\n}\nfunction normalizeFacet(spec, config) {\n var subspec = spec.spec, rest = tslib_1.__rest(spec, [\"spec\"]);\n return tslib_1.__assign({}, rest, { \n // TODO: remove \"any\" once we support all facet listed in https://github.com/vega/vega-lite/issues/2760\n spec: normalize(subspec, config) });\n}\nfunction mergeEncoding(opt) {\n var parentEncoding = opt.parentEncoding, encoding = opt.encoding;\n if (parentEncoding && encoding) {\n var overriden = keys(parentEncoding).reduce(function (o, key) {\n if (encoding[key]) {\n o.push(key);\n }\n return o;\n }, []);\n if (overriden.length > 0) {\n log.warn(log.message.encodingOverridden(overriden));\n }\n }\n var merged = tslib_1.__assign({}, (parentEncoding || {}), (encoding || {}));\n return keys(merged).length > 0 ? merged : undefined;\n}\nfunction mergeProjection(opt) {\n var parentProjection = opt.parentProjection, projection = opt.projection;\n if (parentProjection && projection) {\n log.warn(log.message.projectionOverridden({ parentProjection: parentProjection, projection: projection }));\n }\n return projection || parentProjection;\n}\nfunction normalizeLayer(spec, config, parentEncoding, parentProjection) {\n var layer = spec.layer, encoding = spec.encoding, projection = spec.projection, rest = tslib_1.__rest(spec, [\"layer\", \"encoding\", \"projection\"]);\n var mergedEncoding = mergeEncoding({ parentEncoding: parentEncoding, encoding: encoding });\n var mergedProjection = mergeProjection({ parentProjection: parentProjection, projection: projection });\n return tslib_1.__assign({}, rest, { layer: layer.map(function (subspec) {\n if (isLayerSpec(subspec)) {\n return normalizeLayer(subspec, config, mergedEncoding, mergedProjection);\n }\n return normalizeNonFacetUnit(subspec, config, mergedEncoding, mergedProjection);\n }) });\n}\nfunction normalizeRepeat(spec, config) {\n var subspec = spec.spec, rest = tslib_1.__rest(spec, [\"spec\"]);\n return tslib_1.__assign({}, rest, { spec: normalize(subspec, config) });\n}\nfunction normalizeVConcat(spec, config) {\n var vconcat = spec.vconcat, rest = tslib_1.__rest(spec, [\"vconcat\"]);\n return tslib_1.__assign({}, rest, { vconcat: vconcat.map(function (subspec) { return normalize(subspec, config); }) });\n}\nfunction normalizeHConcat(spec, config) {\n var hconcat = spec.hconcat, rest = tslib_1.__rest(spec, [\"hconcat\"]);\n return tslib_1.__assign({}, rest, { hconcat: hconcat.map(function (subspec) { return normalize(subspec, config); }) });\n}\nfunction normalizeFacetedUnit(spec, config) {\n // New encoding in the inside spec should not contain row / column\n // as row/column should be moved to facet\n var _a = spec.encoding, row = _a.row, column = _a.column, encoding = tslib_1.__rest(_a, [\"row\", \"column\"]);\n // Mark and encoding should be moved into the inner spec\n var mark = spec.mark, width = spec.width, projection = spec.projection, height = spec.height, selection = spec.selection, _ = spec.encoding, outerSpec = tslib_1.__rest(spec, [\"mark\", \"width\", \"projection\", \"height\", \"selection\", \"encoding\"]);\n return tslib_1.__assign({}, outerSpec, { facet: tslib_1.__assign({}, (row ? { row: row } : {}), (column ? { column: column } : {})), spec: normalizeNonFacetUnit(tslib_1.__assign({}, (projection ? { projection: projection } : {}), { mark: mark }, (width ? { width: width } : {}), (height ? { height: height } : {}), { encoding: encoding }, (selection ? { selection: selection } : {})), config) });\n}\nfunction isNonFacetUnitSpecWithPrimitiveMark(spec) {\n return isPrimitiveMark(spec.mark);\n}\nfunction getPointOverlay(markDef, markConfig, encoding) {\n if (markDef.point === 'transparent') {\n return { opacity: 0 };\n }\n else if (markDef.point) { // truthy : true or object\n return isObject(markDef.point) ? markDef.point : {};\n }\n else if (markDef.point !== undefined) { // false or null\n return null;\n }\n else { // undefined (not disabled)\n if (markConfig.point || encoding.shape) {\n // enable point overlay if config[mark].point is truthy or if encoding.shape is provided\n return isObject(markConfig.point) ? markConfig.point : {};\n }\n // markDef.point is defined as falsy\n return null;\n }\n}\nfunction getLineOverlay(markDef, markConfig) {\n if (markDef.line) { // true or object\n return markDef.line === true ? {} : markDef.line;\n }\n else if (markDef.line !== undefined) { // false or null\n return null;\n }\n else { // undefined (not disabled)\n if (markConfig.line) {\n // enable line overlay if config[mark].line is truthy\n return markConfig.line === true ? {} : markConfig.line;\n }\n // markDef.point is defined as falsy\n return null;\n }\n}\nfunction normalizeNonFacetUnit(spec, config, parentEncoding, parentProjection) {\n var encoding = spec.encoding, projection = spec.projection;\n var mark = isMarkDef(spec.mark) ? spec.mark.type : spec.mark;\n // merge parent encoding / projection first\n if (parentEncoding || parentProjection) {\n var mergedProjection = mergeProjection({ parentProjection: parentProjection, projection: projection });\n var mergedEncoding = mergeEncoding({ parentEncoding: parentEncoding, encoding: encoding });\n return normalizeNonFacetUnit(tslib_1.__assign({}, spec, (mergedProjection ? { projection: mergedProjection } : {}), (mergedEncoding ? { encoding: mergedEncoding } : {})), config);\n }\n if (isNonFacetUnitSpecWithPrimitiveMark(spec)) {\n // TODO: thoroughly test\n if (isRanged(encoding)) {\n return normalizeRangedUnit(spec);\n }\n if (mark === 'line' && (encoding.x2 || encoding.y2)) {\n log.warn(log.message.lineWithRange(!!encoding.x2, !!encoding.y2));\n return normalizeNonFacetUnit(tslib_1.__assign({ mark: 'rule' }, spec), config, parentEncoding, parentProjection);\n }\n if (isPathMark(mark)) {\n return normalizePathOverlay(spec, config);\n }\n return spec; // Nothing to normalize\n }\n else {\n return compositeMark.normalize(spec, config);\n }\n}\nfunction normalizeRangedUnit(spec) {\n var hasX = channelHasField(spec.encoding, X);\n var hasY = channelHasField(spec.encoding, Y);\n var hasX2 = channelHasField(spec.encoding, X2);\n var hasY2 = channelHasField(spec.encoding, Y2);\n if ((hasX2 && !hasX) || (hasY2 && !hasY)) {\n var normalizedSpec = duplicate(spec);\n if (hasX2 && !hasX) {\n normalizedSpec.encoding.x = normalizedSpec.encoding.x2;\n delete normalizedSpec.encoding.x2;\n }\n if (hasY2 && !hasY) {\n normalizedSpec.encoding.y = normalizedSpec.encoding.y2;\n delete normalizedSpec.encoding.y2;\n }\n return normalizedSpec;\n }\n return spec;\n}\nfunction dropLineAndPoint(markDef) {\n var _point = markDef.point, _line = markDef.line, mark = tslib_1.__rest(markDef, [\"point\", \"line\"]);\n return keys(mark).length > 1 ? mark : mark.type;\n}\nfunction normalizePathOverlay(spec, config) {\n if (config === void 0) { config = {}; }\n var _a;\n // _ is used to denote a dropped property of the unit spec\n // which should not be carried over to the layer spec\n var selection = spec.selection, projection = spec.projection, encoding = spec.encoding, mark = spec.mark, outerSpec = tslib_1.__rest(spec, [\"selection\", \"projection\", \"encoding\", \"mark\"]);\n var markDef = isMarkDef(mark) ? mark : { type: mark };\n var pointOverlay = getPointOverlay(markDef, config[markDef.type], encoding);\n var lineOverlay = markDef.type === 'area' && getLineOverlay(markDef, config[markDef.type]);\n if (!pointOverlay && !lineOverlay) {\n return tslib_1.__assign({}, spec, { \n // Do not include point / line overlay in the normalize spec\n mark: dropLineAndPoint(markDef) });\n }\n var layer = [tslib_1.__assign({}, (selection ? { selection: selection } : {}), { \n // Do not include point / line overlay in the normalize spec\n mark: dropLineAndPoint(tslib_1.__assign({}, markDef, (markDef.type === 'area' ? { opacity: 0.7 } : {}))), \n // drop shape from encoding as this might be used to trigger point overlay\n encoding: omit(encoding, ['shape']) })];\n // FIXME: determine rules for applying selections.\n // Need to copy stack config to overlayed layer\n var stackProps = stack(markDef, encoding, config ? config.stack : undefined);\n var overlayEncoding = encoding;\n if (stackProps) {\n var stackFieldChannel = stackProps.fieldChannel, offset = stackProps.offset;\n overlayEncoding = tslib_1.__assign({}, encoding, (_a = {}, _a[stackFieldChannel] = tslib_1.__assign({}, encoding[stackFieldChannel], (offset ? { stack: offset } : {})), _a));\n }\n if (lineOverlay) {\n layer.push(tslib_1.__assign({}, (projection ? { projection: projection } : {}), { mark: tslib_1.__assign({ type: 'line' }, pick(markDef, ['clip', 'interpolate']), lineOverlay), encoding: overlayEncoding }));\n }\n if (pointOverlay) {\n layer.push(tslib_1.__assign({}, (projection ? { projection: projection } : {}), { mark: tslib_1.__assign({ type: 'point', opacity: 1, filled: true }, pick(markDef, ['clip']), pointOverlay), encoding: overlayEncoding }));\n }\n return tslib_1.__assign({}, outerSpec, { layer: layer });\n}\n// TODO: add vl.spec.validate & move stuff from vl.validate to here\n/* Accumulate non-duplicate fieldDefs in a dictionary */\nfunction accumulate(dict, defs) {\n defs.forEach(function (fieldDef) {\n // Consider only pure fieldDef properties (ignoring scale, axis, legend)\n var pureFieldDef = ['field', 'type', 'value', 'timeUnit', 'bin', 'aggregate'].reduce(function (f, key) {\n if (fieldDef[key] !== undefined) {\n f[key] = fieldDef[key];\n }\n return f;\n }, {});\n var key = hash(pureFieldDef);\n dict[key] = dict[key] || fieldDef;\n });\n return dict;\n}\n/* Recursively get fieldDefs from a spec, returns a dictionary of fieldDefs */\nfunction fieldDefIndex(spec, dict) {\n if (dict === void 0) { dict = {}; }\n // FIXME(https://github.com/vega/vega-lite/issues/2207): Support fieldDefIndex for repeat\n if (isLayerSpec(spec)) {\n spec.layer.forEach(function (layer) {\n if (isUnitSpec(layer)) {\n accumulate(dict, vlEncoding.fieldDefs(layer.encoding));\n }\n else {\n fieldDefIndex(layer, dict);\n }\n });\n }\n else if (isFacetSpec(spec)) {\n accumulate(dict, vlEncoding.fieldDefs(spec.facet));\n fieldDefIndex(spec.spec, dict);\n }\n else if (isRepeatSpec(spec)) {\n fieldDefIndex(spec.spec, dict);\n }\n else if (isConcatSpec(spec)) {\n var childSpec = isVConcatSpec(spec) ? spec.vconcat : spec.hconcat;\n childSpec.forEach(function (child) { return fieldDefIndex(child, dict); });\n }\n else { // Unit Spec\n accumulate(dict, vlEncoding.fieldDefs(spec.encoding));\n }\n return dict;\n}\n/* Returns all non-duplicate fieldDefs in a spec in a flat array */\nexport function fieldDefs(spec) {\n return vals(fieldDefIndex(spec));\n}\nexport function isStacked(spec, config) {\n config = config || spec.config;\n if (isPrimitiveMark(spec.mark)) {\n return stack(spec.mark, spec.encoding, config ? config.stack : undefined) !== null;\n }\n return false;\n}\n//# sourceMappingURL=spec.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/spec.js\n// module id = 61\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { isScaleFieldDef, vgField } from '../../fielddef';\nimport { fieldFilterExpression } from '../../predicate';\nimport { isSortArray } from '../../sort';\nimport { duplicate } from '../../util';\nimport { DataFlowNode } from './dataflow';\n/**\n * We don't know what a calculate node depends on so we should never move it beyond anything that produces fields.\n */\nvar CalculateNode = /** @class */ (function (_super) {\n tslib_1.__extends(CalculateNode, _super);\n function CalculateNode(parent, transform) {\n var _this = _super.call(this, parent) || this;\n _this.transform = transform;\n return _this;\n }\n CalculateNode.prototype.clone = function () {\n return new CalculateNode(null, duplicate(this.transform));\n };\n CalculateNode.parseAllForSortIndex = function (parent, model) {\n // get all the encoding with sort fields from model\n model.forEachFieldDef(function (fieldDef, channel) {\n if (!isScaleFieldDef(fieldDef)) {\n return;\n }\n if (isSortArray(fieldDef.sort)) {\n var field_1 = fieldDef.field, timeUnit_1 = fieldDef.timeUnit;\n var sort = fieldDef.sort;\n // generate `datum[\"a\"] === val0 ? 0 : datum[\"a\"] === val1 ? 1 : ... : n` via FieldEqualPredicate\n var calculate = sort.map(function (sortValue, i) {\n return fieldFilterExpression({ field: field_1, timeUnit: timeUnit_1, equal: sortValue }) + \" ? \" + i + \" : \";\n }).join('') + sort.length;\n parent = new CalculateNode(parent, {\n calculate: calculate,\n as: sortArrayIndexField(fieldDef, channel)\n });\n }\n });\n return parent;\n };\n CalculateNode.prototype.producedFields = function () {\n var out = {};\n out[this.transform.as] = true;\n return out;\n };\n CalculateNode.prototype.assemble = function () {\n return {\n type: 'formula',\n expr: this.transform.calculate,\n as: this.transform.as\n };\n };\n return CalculateNode;\n}(DataFlowNode));\nexport { CalculateNode };\nexport function sortArrayIndexField(fieldDef, channel, expr) {\n return vgField(fieldDef, { prefix: channel, suffix: 'sort_index', expr: expr });\n}\n//# sourceMappingURL=calculate.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/data/calculate.js\n// module id = 62\n// module chunks = 0","export default function(fn, fields, name) {\n fn.fields = fields || [];\n fn.fname = name;\n return fn;\n}\n\nexport function accessorName(fn) {\n return fn == null ? null : fn.fname;\n}\n\nexport function accessorFields(fn) {\n return fn == null ? null : fn.fields;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/accessor.js\n// module id = 63\n// module chunks = 0","import {identity} from 'vega-util';\n\nexport default function UniqueList(idFunc) {\n var $ = idFunc || identity,\n list = [],\n ids = {};\n\n list.add = function(_) {\n var id = $(_);\n if (!ids[id]) {\n ids[id] = 1;\n list.push(_);\n }\n return list;\n };\n\n list.remove = function(_) {\n var id = $(_), idx;\n if (ids[id]) {\n ids[id] = 0;\n if ((idx = list.indexOf(_)) >= 0) {\n list.splice(idx, 1);\n }\n }\n return list;\n };\n\n return list;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-dataflow/src/util/UniqueList.js\n// module id = 64\n// module chunks = 0","import {extend, identity} from 'vega-util';\n\nexport function measureName(op, field, as) {\n return as || (op + (!field ? '' : '_' + field));\n}\n\nexport var AggregateOps = {\n 'values': measure({\n name: 'values',\n init: 'cell.store = true;',\n set: 'cell.data.values()', idx: -1\n }),\n 'count': measure({\n name: 'count',\n set: 'cell.num'\n }),\n '__count__': measure({\n name: 'count',\n set: 'this.missing + this.valid'\n }),\n 'missing': measure({\n name: 'missing',\n set: 'this.missing'\n }),\n 'valid': measure({\n name: 'valid',\n set: 'this.valid'\n }),\n 'sum': measure({\n name: 'sum',\n init: 'this.sum = 0;',\n add: 'this.sum += v;',\n rem: 'this.sum -= v;',\n set: 'this.sum'\n }),\n 'mean': measure({\n name: 'mean',\n init: 'this.mean = 0;',\n add: 'var d = v - this.mean; this.mean += d / this.valid;',\n rem: 'var d = v - this.mean; this.mean -= this.valid ? d / this.valid : this.mean;',\n set: 'this.mean'\n }),\n 'average': measure({\n name: 'average',\n set: 'this.mean',\n req: ['mean'], idx: 1\n }),\n 'variance': measure({\n name: 'variance',\n init: 'this.dev = 0;',\n add: 'this.dev += d * (v - this.mean);',\n rem: 'this.dev -= d * (v - this.mean);',\n set: 'this.valid > 1 ? this.dev / (this.valid-1) : 0',\n req: ['mean'], idx: 1\n }),\n 'variancep': measure({\n name: 'variancep',\n set: 'this.valid > 1 ? this.dev / this.valid : 0',\n req: ['variance'], idx: 2\n }),\n 'stdev': measure({\n name: 'stdev',\n set: 'this.valid > 1 ? Math.sqrt(this.dev / (this.valid-1)) : 0',\n req: ['variance'], idx: 2\n }),\n 'stdevp': measure({\n name: 'stdevp',\n set: 'this.valid > 1 ? Math.sqrt(this.dev / this.valid) : 0',\n req: ['variance'], idx: 2\n }),\n 'stderr': measure({\n name: 'stderr',\n set: 'this.valid > 1 ? Math.sqrt(this.dev / (this.valid * (this.valid-1))) : 0',\n req: ['variance'], idx: 2\n }),\n 'distinct': measure({\n name: 'distinct',\n set: 'cell.data.distinct(this.get)',\n req: ['values'], idx: 3\n }),\n 'ci0': measure({\n name: 'ci0',\n set: 'cell.data.ci0(this.get)',\n req: ['values'], idx: 3\n }),\n 'ci1': measure({\n name: 'ci1',\n set: 'cell.data.ci1(this.get)',\n req: ['values'], idx: 3\n }),\n 'median': measure({\n name: 'median',\n set: 'cell.data.q2(this.get)',\n req: ['values'], idx: 3\n }),\n 'q1': measure({\n name: 'q1',\n set: 'cell.data.q1(this.get)',\n req: ['values'], idx: 3\n }),\n 'q3': measure({\n name: 'q3',\n set: 'cell.data.q3(this.get)',\n req: ['values'], idx: 3\n }),\n 'argmin': measure({\n name: 'argmin',\n init: 'this.argmin = null;',\n add: 'if (v < this.min) this.argmin = t;',\n rem: 'if (v <= this.min) this.argmin = null;',\n set: 'this.argmin || cell.data.argmin(this.get)',\n req: ['min'], str: ['values'], idx: 3\n }),\n 'argmax': measure({\n name: 'argmax',\n init: 'this.argmax = null;',\n add: 'if (v > this.max) this.argmax = t;',\n rem: 'if (v >= this.max) this.argmax = null;',\n set: 'this.argmax || cell.data.argmax(this.get)',\n req: ['max'], str: ['values'], idx: 3\n }),\n 'min': measure({\n name: 'min',\n init: 'this.min = null;',\n add: 'if (v < this.min || this.min === null) this.min = v;',\n rem: 'if (v <= this.min) this.min = NaN;',\n set: 'this.min = (isNaN(this.min) ? cell.data.min(this.get) : this.min)',\n str: ['values'], idx: 4\n }),\n 'max': measure({\n name: 'max',\n init: 'this.max = null;',\n add: 'if (v > this.max || this.max === null) this.max = v;',\n rem: 'if (v >= this.max) this.max = NaN;',\n set: 'this.max = (isNaN(this.max) ? cell.data.max(this.get) : this.max)',\n str: ['values'], idx: 4\n })\n};\n\nexport var ValidAggregateOps = Object.keys(AggregateOps);\n\nexport function createMeasure(op, name) {\n return AggregateOps[op](name);\n}\n\nfunction measure(base) {\n return function(out) {\n var m = extend({init:'', add:'', rem:'', idx:0}, base);\n m.out = out || base.name;\n return m;\n };\n}\n\nfunction compareIndex(a, b) {\n return a.idx - b.idx;\n}\n\nfunction resolve(agg, stream) {\n function collect(m, a) {\n function helper(r) { if (!m[r]) collect(m, m[r] = AggregateOps[r]()); }\n if (a.req) a.req.forEach(helper);\n if (stream && a.str) a.str.forEach(helper);\n return m;\n }\n var map = agg.reduce(\n collect,\n agg.reduce(function(m, a) {\n m[a.name] = a;\n return m;\n }, {})\n );\n var values = [], key;\n for (key in map) values.push(map[key]);\n return values.sort(compareIndex);\n}\n\nexport function compileMeasures(agg, field) {\n var get = field || identity,\n all = resolve(agg, true), // assume streaming removes may occur\n init = 'var cell = this.cell; this.valid = 0; this.missing = 0;',\n ctr = 'this.cell = cell; this.init();',\n add = 'if(v==null){++this.missing; return;} if(v!==v) return; ++this.valid;',\n rem = 'if(v==null){--this.missing; return;} if(v!==v) return; --this.valid;',\n set = 'var cell = this.cell;';\n\n all.forEach(function(a) {\n init += a.init;\n add += a.add;\n rem += a.rem;\n });\n agg.slice().sort(compareIndex).forEach(function(a) {\n set += 't[\\'' + a.out + '\\']=' + a.set + ';';\n });\n set += 'return t;';\n\n ctr = Function('cell', ctr);\n ctr.prototype.init = Function(init);\n ctr.prototype.add = Function('v', 't', add);\n ctr.prototype.rem = Function('v', 't', rem);\n ctr.prototype.set = Function('t', set);\n ctr.prototype.get = get;\n ctr.fields = agg.map(function(_) { return _.out; });\n return ctr;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/util/AggregateOps.js\n// module id = 67\n// module chunks = 0","export default function(x) {\n return x === null ? NaN : +x;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-array/src/number.js\n// module id = 68\n// module chunks = 0","export var Top = 'top';\nexport var Left = 'left';\nexport var Right = 'right';\nexport var Bottom = 'bottom';\n\nexport var TopLeft = 'top-left';\nexport var TopRight = 'top-right';\nexport var BottomLeft = 'bottom-left';\nexport var BottomRight = 'bottom-right';\n\nexport var Start = 'start';\nexport var Middle = 'middle';\nexport var End = 'end';\n\nexport var Group = 'group';\n\nexport var AxisRole = 'axis';\nexport var TitleRole = 'title';\nexport var FrameRole = 'frame';\nexport var ScopeRole = 'scope';\nexport var LegendRole = 'legend';\n\nexport var RowHeader = 'row-header';\nexport var RowFooter = 'row-footer';\nexport var RowTitle = 'row-title';\nexport var ColHeader = 'column-header';\nexport var ColFooter = 'column-footer';\nexport var ColTitle = 'column-title';\n\nexport var Padding = 'padding';\n\nexport var Symbols = 'symbol';\n\nexport var Fit = 'fit';\nexport var FitX = 'fit-x';\nexport var FitY = 'fit-y';\nexport var Pad = 'pad';\nexport var None = 'none';\n\nexport var All = 'all';\nexport var Each = 'each';\nexport var Flush = 'flush';\n\nexport var Column = 'column';\nexport var Row = 'row';\n\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-view-transforms/src/constants.js\n// module id = 69\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/math.js\n// module id = 70\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/offset/none.js\n// module id = 71\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/order/none.js\n// module id = 72\n// module chunks = 0","var bounds,\n tau = Math.PI * 2,\n halfPi = tau / 4,\n circleThreshold = tau - 1e-8;\n\nexport default function context(_) {\n bounds = _;\n return context;\n}\n\nfunction noop() {}\n\nfunction add(x, y) { bounds.add(x, y); }\n\ncontext.beginPath = noop;\n\ncontext.closePath = noop;\n\ncontext.moveTo = add;\n\ncontext.lineTo = add;\n\ncontext.rect = function(x, y, w, h) {\n add(x, y);\n add(x + w, y + h);\n};\n\ncontext.quadraticCurveTo = function(x1, y1, x2, y2) {\n add(x1, y1);\n add(x2, y2);\n};\n\ncontext.bezierCurveTo = function(x1, y1, x2, y2, x3, y3) {\n add(x1, y1);\n add(x2, y2);\n add(x3, y3);\n};\n\ncontext.arc = function(cx, cy, r, sa, ea, ccw) {\n if (Math.abs(ea - sa) > circleThreshold) {\n add(cx - r, cy - r);\n add(cx + r, cy + r);\n return;\n }\n\n var xmin = Infinity, xmax = -Infinity,\n ymin = Infinity, ymax = -Infinity,\n s, i, x, y;\n\n function update(a) {\n x = r * Math.cos(a);\n y = r * Math.sin(a);\n if (x < xmin) xmin = x;\n if (x > xmax) xmax = x;\n if (y < ymin) ymin = y;\n if (y > ymax) ymax = y;\n }\n\n // Sample end points and interior points aligned with 90 degrees\n update(sa);\n update(ea);\n\n if (ea !== sa) {\n sa = sa % tau; if (sa < 0) sa += tau;\n ea = ea % tau; if (ea < 0) ea += tau;\n\n if (ea < sa) {\n ccw = !ccw; // flip direction\n s = sa; sa = ea; ea = s; // swap end-points\n }\n\n if (ccw) {\n ea -= tau;\n s = sa - (sa % halfPi);\n for (i=0; i<4 && s>ea; ++i, s-=halfPi) update(s);\n } else {\n s = sa - (sa % halfPi) + halfPi;\n for (i=0; i<4 && s<ea; ++i, s=s+halfPi) update(s);\n }\n }\n\n add(cx + xmin, cy + ymin);\n add(cx + xmax, cy + ymax);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/bound/boundContext.js\n// module id = 73\n// module chunks = 0","import {Log} from './scale-types';\nimport {timeInterval, utcInterval} from 'vega-scale';\nimport {error, isObject, isString, peek} from 'vega-util';\nimport {\n format as numberFormat,\n formatSpecifier\n} from 'd3-format';\n\n/**\n * Determine the tick count or interval function.\n * @param {Scale} scale - The scale for which to generate tick values.\n * @param {*} count - The desired tick count or interval specifier.\n * @return {*} - The tick count or interval function.\n */\nexport function tickCount(scale, count) {\n var step;\n\n if (isObject(count)) {\n step = count.step;\n count = count.interval;\n }\n\n if (isString(count)) {\n count = scale.type === 'time' ? timeInterval(count)\n : scale.type === 'utc' ? utcInterval(count)\n : error('Only time and utc scales accept interval strings.');\n if (step) count = count.every(step);\n }\n\n return count;\n}\n\n/**\n * Filter a set of candidate tick values, ensuring that only tick values\n * that lie within the scale range are included.\n * @param {Scale} scale - The scale for which to generate tick values.\n * @param {Array<*>} ticks - The candidate tick values.\n * @param {*} count - The tick count or interval function.\n * @return {Array<*>} - The filtered tick values.\n */\nexport function validTicks(scale, ticks, count) {\n var range = scale.range(),\n lo = range[0],\n hi = peek(range);\n if (lo > hi) {\n range = hi;\n hi = lo;\n lo = range;\n }\n\n ticks = ticks.filter(function(v) {\n v = scale(v);\n return !(v < lo || v > hi)\n });\n\n if (count > 0 && ticks.length > 1) {\n var endpoints = [ticks[0], peek(ticks)];\n while (ticks.length > count && ticks.length >= 3) {\n ticks = ticks.filter(function(_, i) { return !(i % 2); });\n }\n if (ticks.length < 3) {\n ticks = endpoints;\n }\n }\n\n return ticks;\n}\n\n/**\n * Generate tick values for the given scale and approximate tick count or\n * interval value. If the scale has a 'ticks' method, it will be used to\n * generate the ticks, with the count argument passed as a parameter. If the\n * scale lacks a 'ticks' method, the full scale domain will be returned.\n * @param {Scale} scale - The scale for which to generate tick values.\n * @param {*} [count] - The approximate number of desired ticks.\n * @return {Array<*>} - The generated tick values.\n */\nexport function tickValues(scale, count) {\n return scale.ticks ? scale.ticks(count) : scale.domain();\n}\n\n/**\n * Generate a label format function for a scale. If the scale has a\n * 'tickFormat' method, it will be used to generate the formatter, with the\n * count and specifier arguments passed as parameters. If the scale lacks a\n * 'tickFormat' method, the returned formatter performs simple string coercion.\n * If the input scale is a logarithmic scale and the format specifier does not\n * indicate a desired decimal precision, a special variable precision formatter\n * that automatically trims trailing zeroes will be generated.\n * @param {Scale} scale - The scale for which to generate the label formatter.\n * @param {*} [count] - The approximate number of desired ticks.\n * @param {string} [specifier] - The format specifier. Must be a legal d3 4.0\n * specifier string (see https://github.com/d3/d3-format#formatSpecifier).\n * @return {function(*):string} - The generated label formatter.\n */\nexport function tickFormat(scale, count, specifier) {\n var format = scale.tickFormat ? scale.tickFormat(count, specifier)\n : specifier ? numberFormat(specifier)\n : String;\n\n return (scale.type === Log)\n ? filter(format, variablePrecision(specifier))\n : format;\n}\n\nfunction filter(sourceFormat, targetFormat) {\n return function(_) {\n return sourceFormat(_) ? targetFormat(_) : '';\n };\n}\n\nfunction variablePrecision(specifier) {\n var s = formatSpecifier(specifier || ',');\n\n if (s.precision == null) {\n s.precision = 12;\n switch (s.type) {\n case '%': s.precision -= 2; break;\n case 'e': s.precision -= 1; break;\n }\n return trimZeroes(\n numberFormat(s), // number format\n numberFormat('.1f')(1)[1] // decimal point character\n );\n } else {\n return numberFormat(s);\n }\n}\n\nfunction trimZeroes(format, decimalChar) {\n return function(x) {\n var str = format(x),\n dec = str.indexOf(decimalChar),\n idx, end;\n\n if (dec < 0) return str;\n\n idx = rightmostDigit(str, dec);\n end = idx < str.length ? str.slice(idx) : '';\n while (--idx > dec) if (str[idx] !== '0') { ++idx; break; }\n\n return str.slice(0, idx) + end;\n };\n}\n\nfunction rightmostDigit(str, dec) {\n var i = str.lastIndexOf('e'), c;\n if (i > 0) return i;\n for (i=str.length; --i > dec;) {\n c = str.charCodeAt(i);\n if (c >= 48 && c <= 57) return i + 1; // is digit\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-encode/src/ticks.js\n// module id = 74\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-interpolate/src/color.js\n// module id = 76\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/cartesian.js\n// module id = 78\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/projection/azimuthal.js\n// module id = 79\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-hierarchy/src/treemap/dice.js\n// module id = 80\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-voronoi/src/Diagram.js\n// module id = 81\n// module chunks = 0","import {entry, ref, keyFieldRef, aggrField, sortKey} from './util';\nimport {Aggregate, Collect} from './transforms';\nimport {isString} from 'vega-util';\n\nexport default function DataScope(scope, input, output, values, aggr) {\n this.scope = scope; // parent scope object\n this.input = input; // first operator in pipeline (tuple input)\n this.output = output; // last operator in pipeline (tuple output)\n this.values = values; // operator for accessing tuples (but not tuple flow)\n\n // last aggregate in transform pipeline\n this.aggregate = aggr;\n\n // lookup table of field indices\n this.index = {};\n}\n\nDataScope.fromEntries = function(scope, entries) {\n var n = entries.length,\n i = 1,\n input = entries[0],\n values = entries[n-1],\n output = entries[n-2],\n aggr = null;\n\n // add operator entries to this scope, wire up pulse chain\n scope.add(entries[0]);\n for (; i<n; ++i) {\n entries[i].params.pulse = ref(entries[i-1]);\n scope.add(entries[i]);\n if (entries[i].type === 'aggregate') aggr = entries[i];\n }\n\n return new DataScope(scope, input, output, values, aggr);\n};\n\nvar prototype = DataScope.prototype;\n\nprototype.countsRef = function(scope, field, sort) {\n var ds = this,\n cache = ds.counts || (ds.counts = {}),\n k = fieldKey(field), v, a, p;\n\n if (k != null) {\n scope = ds.scope;\n v = cache[k];\n }\n\n if (!v) {\n p = {\n groupby: scope.fieldRef(field, 'key'),\n pulse: ref(ds.output)\n };\n if (sort && sort.field) addSortField(scope, p, sort);\n a = scope.add(Aggregate(p));\n v = scope.add(Collect({pulse: ref(a)}));\n v = {agg: a, ref: ref(v)};\n if (k != null) cache[k] = v;\n } else if (sort && sort.field) {\n addSortField(scope, v.agg.params, sort);\n }\n\n return v.ref;\n};\n\nfunction fieldKey(field) {\n return isString(field) ? field : null;\n}\n\nfunction addSortField(scope, p, sort) {\n var as = aggrField(sort.op, sort.field), s;\n\n if (p.ops) {\n for (var i=0, n=p.as.length; i<n; ++i) {\n if (p.as[i] === as) return;\n }\n } else {\n p.ops = ['count'];\n p.fields = [null];\n p.as = ['count'];\n }\n if (sort.op) {\n p.ops.push((s=sort.op.signal) ? scope.signalRef(s) : sort.op);\n p.fields.push(scope.fieldRef(sort.field));\n p.as.push(as);\n }\n}\n\nfunction cache(scope, ds, name, optype, field, counts, index) {\n var cache = ds[name] || (ds[name] = {}),\n sort = sortKey(counts),\n k = fieldKey(field), v, op;\n\n if (k != null) {\n scope = ds.scope;\n k = k + (sort ? '|' + sort : '');\n v = cache[k];\n }\n\n if (!v) {\n var params = counts\n ? {field: keyFieldRef, pulse: ds.countsRef(scope, field, counts)}\n : {field: scope.fieldRef(field), pulse: ref(ds.output)};\n if (sort) params.sort = scope.sortRef(counts);\n op = scope.add(entry(optype, undefined, params));\n if (index) ds.index[field] = op;\n v = ref(op);\n if (k != null) cache[k] = v;\n }\n return v;\n}\n\nprototype.tuplesRef = function() {\n return ref(this.values);\n};\n\nprototype.extentRef = function(scope, field) {\n return cache(scope, this, 'extent', 'extent', field, false);\n};\n\nprototype.domainRef = function(scope, field) {\n return cache(scope, this, 'domain', 'values', field, false);\n};\n\nprototype.valuesRef = function(scope, field, sort) {\n return cache(scope, this, 'vals', 'values', field, sort || true);\n};\n\nprototype.lookupRef = function(scope, field) {\n return cache(scope, this, 'lookup', 'tupleindex', field, false);\n};\n\nprototype.indataRef = function(scope, field) {\n return cache(scope, this, 'indata', 'tupleindex', field, true, true);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/DataScope.js\n// module id = 82\n// module chunks = 0","/**\n * Parse an expression given the argument signature and body code.\n */\nexport default function expression(args, code, ctx) {\n // wrap code in return statement if expression does not terminate\n if (code[code.length-1] !== ';') {\n code = 'return(' + code + ');';\n }\n var fn = Function.apply(null, args.concat(code));\n return ctx && ctx.functions ? fn.bind(ctx.functions) : fn;\n}\n\n/**\n * Parse an expression used to update an operator value.\n */\nexport function operatorExpression(code, ctx) {\n return expression(['_'], code, ctx);\n}\n\n/**\n * Parse an expression provided as an operator parameter value.\n */\nexport function parameterExpression(code, ctx) {\n return expression(['datum', '_'], code, ctx);\n}\n\n/**\n * Parse an expression applied to an event stream.\n */\nexport function eventExpression(code, ctx) {\n return expression(['event'], code, ctx);\n}\n\n/**\n * Parse an expression used to handle an event-driven operator update.\n */\nexport function handlerExpression(code, ctx) {\n return expression(['_', 'event'], code, ctx);\n}\n\n/**\n * Parse an expression that performs visual encoding.\n */\nexport function encodeExpression(code, ctx) {\n return expression(['item', '_'], code, ctx);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-runtime/src/expression.js\n// module id = 83\n// module chunks = 0","import { toSet } from 'vega-util';\nimport { contains, flagKeys } from './util';\nvar AGGREGATE_OP_INDEX = {\n argmax: 1,\n argmin: 1,\n average: 1,\n count: 1,\n distinct: 1,\n max: 1,\n mean: 1,\n median: 1,\n min: 1,\n missing: 1,\n q1: 1,\n q3: 1,\n ci0: 1,\n ci1: 1,\n stderr: 1,\n stdev: 1,\n stdevp: 1,\n sum: 1,\n valid: 1,\n values: 1,\n variance: 1,\n variancep: 1,\n};\nexport var AGGREGATE_OPS = flagKeys(AGGREGATE_OP_INDEX);\nexport function isAggregateOp(a) {\n return !!AGGREGATE_OP_INDEX[a];\n}\nexport var COUNTING_OPS = ['count', 'valid', 'missing', 'distinct'];\nexport function isCountingAggregateOp(aggregate) {\n return aggregate && contains(COUNTING_OPS, aggregate);\n}\n/** Additive-based aggregation operations. These can be applied to stack. */\nexport var SUM_OPS = [\n 'count',\n 'sum',\n 'distinct',\n 'valid',\n 'missing'\n];\n/**\n * Aggregation operators that always produce values within the range [domainMin, domainMax].\n */\nexport var SHARED_DOMAIN_OPS = [\n 'mean',\n 'average',\n 'median',\n 'q1',\n 'q3',\n 'min',\n 'max',\n];\nexport var SHARED_DOMAIN_OP_INDEX = toSet(SHARED_DOMAIN_OPS);\n//# sourceMappingURL=aggregate.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/aggregate.js\n// module id = 84\n// module chunks = 0","import { isBoolean } from 'vega-util';\nimport { COLOR, COLUMN, FILL, OPACITY, ROW, SHAPE, SIZE, STROKE } from './channel';\nimport { keys, varName } from './util';\nexport function binToString(bin) {\n if (isBoolean(bin)) {\n return 'bin';\n }\n return 'bin' + keys(bin).map(function (p) { return varName(\"_\" + p + \"_\" + bin[p]); }).join('');\n}\nexport function isBinParams(bin) {\n return bin && !isBoolean(bin);\n}\nexport function autoMaxBins(channel) {\n switch (channel) {\n case ROW:\n case COLUMN:\n case SIZE:\n case COLOR:\n case FILL:\n case STROKE:\n case OPACITY:\n // Facets and Size shouldn't have too many bins\n // We choose 6 like shape to simplify the rule\n case SHAPE:\n return 6; // Vega's \"shape\" has 6 distinct values\n default:\n return 10;\n }\n}\n//# sourceMappingURL=bin.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/bin.js\n// module id = 85\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { dateTimeExpr } from './datetime';\nimport * as log from './log';\nimport { accessPathWithDatum, flagKeys } from './util';\nexport var TimeUnit;\n(function (TimeUnit) {\n TimeUnit.YEAR = 'year';\n TimeUnit.MONTH = 'month';\n TimeUnit.DAY = 'day';\n TimeUnit.DATE = 'date';\n TimeUnit.HOURS = 'hours';\n TimeUnit.MINUTES = 'minutes';\n TimeUnit.SECONDS = 'seconds';\n TimeUnit.MILLISECONDS = 'milliseconds';\n TimeUnit.YEARMONTH = 'yearmonth';\n TimeUnit.YEARMONTHDATE = 'yearmonthdate';\n TimeUnit.YEARMONTHDATEHOURS = 'yearmonthdatehours';\n TimeUnit.YEARMONTHDATEHOURSMINUTES = 'yearmonthdatehoursminutes';\n TimeUnit.YEARMONTHDATEHOURSMINUTESSECONDS = 'yearmonthdatehoursminutesseconds';\n // MONTHDATE always include 29 February since we use year 0th (which is a leap year);\n TimeUnit.MONTHDATE = 'monthdate';\n TimeUnit.HOURSMINUTES = 'hoursminutes';\n TimeUnit.HOURSMINUTESSECONDS = 'hoursminutesseconds';\n TimeUnit.MINUTESSECONDS = 'minutesseconds';\n TimeUnit.SECONDSMILLISECONDS = 'secondsmilliseconds';\n TimeUnit.QUARTER = 'quarter';\n TimeUnit.YEARQUARTER = 'yearquarter';\n TimeUnit.QUARTERMONTH = 'quartermonth';\n TimeUnit.YEARQUARTERMONTH = 'yearquartermonth';\n TimeUnit.UTCYEAR = 'utcyear';\n TimeUnit.UTCMONTH = 'utcmonth';\n TimeUnit.UTCDAY = 'utcday';\n TimeUnit.UTCDATE = 'utcdate';\n TimeUnit.UTCHOURS = 'utchours';\n TimeUnit.UTCMINUTES = 'utcminutes';\n TimeUnit.UTCSECONDS = 'utcseconds';\n TimeUnit.UTCMILLISECONDS = 'utcmilliseconds';\n TimeUnit.UTCYEARMONTH = 'utcyearmonth';\n TimeUnit.UTCYEARMONTHDATE = 'utcyearmonthdate';\n TimeUnit.UTCYEARMONTHDATEHOURS = 'utcyearmonthdatehours';\n TimeUnit.UTCYEARMONTHDATEHOURSMINUTES = 'utcyearmonthdatehoursminutes';\n TimeUnit.UTCYEARMONTHDATEHOURSMINUTESSECONDS = 'utcyearmonthdatehoursminutesseconds';\n // MONTHDATE always include 29 February since we use year 0th (which is a leap year);\n TimeUnit.UTCMONTHDATE = 'utcmonthdate';\n TimeUnit.UTCHOURSMINUTES = 'utchoursminutes';\n TimeUnit.UTCHOURSMINUTESSECONDS = 'utchoursminutesseconds';\n TimeUnit.UTCMINUTESSECONDS = 'utcminutesseconds';\n TimeUnit.UTCSECONDSMILLISECONDS = 'utcsecondsmilliseconds';\n TimeUnit.UTCQUARTER = 'utcquarter';\n TimeUnit.UTCYEARQUARTER = 'utcyearquarter';\n TimeUnit.UTCQUARTERMONTH = 'utcquartermonth';\n TimeUnit.UTCYEARQUARTERMONTH = 'utcyearquartermonth';\n})(TimeUnit || (TimeUnit = {}));\n/** Time Unit that only corresponds to only one part of Date objects. */\nvar LOCAL_SINGLE_TIMEUNIT_INDEX = {\n year: 1,\n quarter: 1,\n month: 1,\n day: 1,\n date: 1,\n hours: 1,\n minutes: 1,\n seconds: 1,\n milliseconds: 1\n};\nexport var TIMEUNIT_PARTS = flagKeys(LOCAL_SINGLE_TIMEUNIT_INDEX);\nexport function isLocalSingleTimeUnit(timeUnit) {\n return !!LOCAL_SINGLE_TIMEUNIT_INDEX[timeUnit];\n}\nvar UTC_SINGLE_TIMEUNIT_INDEX = {\n utcyear: 1,\n utcquarter: 1,\n utcmonth: 1,\n utcday: 1,\n utcdate: 1,\n utchours: 1,\n utcminutes: 1,\n utcseconds: 1,\n utcmilliseconds: 1\n};\nexport function isUtcSingleTimeUnit(timeUnit) {\n return !!UTC_SINGLE_TIMEUNIT_INDEX[timeUnit];\n}\nvar LOCAL_MULTI_TIMEUNIT_INDEX = {\n yearquarter: 1,\n yearquartermonth: 1,\n yearmonth: 1,\n yearmonthdate: 1,\n yearmonthdatehours: 1,\n yearmonthdatehoursminutes: 1,\n yearmonthdatehoursminutesseconds: 1,\n quartermonth: 1,\n monthdate: 1,\n hoursminutes: 1,\n hoursminutesseconds: 1,\n minutesseconds: 1,\n secondsmilliseconds: 1\n};\nvar UTC_MULTI_TIMEUNIT_INDEX = {\n utcyearquarter: 1,\n utcyearquartermonth: 1,\n utcyearmonth: 1,\n utcyearmonthdate: 1,\n utcyearmonthdatehours: 1,\n utcyearmonthdatehoursminutes: 1,\n utcyearmonthdatehoursminutesseconds: 1,\n utcquartermonth: 1,\n utcmonthdate: 1,\n utchoursminutes: 1,\n utchoursminutesseconds: 1,\n utcminutesseconds: 1,\n utcsecondsmilliseconds: 1\n};\nvar UTC_TIMEUNIT_INDEX = tslib_1.__assign({}, UTC_SINGLE_TIMEUNIT_INDEX, UTC_MULTI_TIMEUNIT_INDEX);\nexport function isUTCTimeUnit(t) {\n return !!UTC_TIMEUNIT_INDEX[t];\n}\nexport function getLocalTimeUnit(t) {\n return t.substr(3);\n}\nvar TIMEUNIT_INDEX = tslib_1.__assign({}, LOCAL_SINGLE_TIMEUNIT_INDEX, UTC_SINGLE_TIMEUNIT_INDEX, LOCAL_MULTI_TIMEUNIT_INDEX, UTC_MULTI_TIMEUNIT_INDEX);\nexport var TIMEUNITS = flagKeys(TIMEUNIT_INDEX);\nexport function isTimeUnit(t) {\n return !!TIMEUNIT_INDEX[t];\n}\nvar SET_DATE_METHOD = {\n year: 'setFullYear',\n month: 'setMonth',\n date: 'setDate',\n hours: 'setHours',\n minutes: 'setMinutes',\n seconds: 'setSeconds',\n milliseconds: 'setMilliseconds',\n // Day and quarter have their own special cases\n quarter: null,\n day: null,\n};\n/**\n * Converts a date to only have the measurements relevant to the specified unit\n * i.e. ('yearmonth', '2000-12-04 07:58:14') -> '2000-12-01 00:00:00'\n * Note: the base date is Jan 01 1900 00:00:00\n */\nexport function convert(unit, date) {\n var isUTC = isUTCTimeUnit(unit);\n var result = isUTC ?\n // start with uniform date\n new Date(Date.UTC(0, 0, 1, 0, 0, 0, 0)) :\n new Date(0, 0, 1, 0, 0, 0, 0);\n for (var _i = 0, TIMEUNIT_PARTS_1 = TIMEUNIT_PARTS; _i < TIMEUNIT_PARTS_1.length; _i++) {\n var timeUnitPart = TIMEUNIT_PARTS_1[_i];\n if (containsTimeUnit(unit, timeUnitPart)) {\n switch (timeUnitPart) {\n case TimeUnit.DAY:\n throw new Error('Cannot convert to TimeUnits containing \\'day\\'');\n case TimeUnit.QUARTER: {\n var _a = dateMethods('month', isUTC), getDateMethod_1 = _a.getDateMethod, setDateMethod_1 = _a.setDateMethod;\n // indicate quarter by setting month to be the first of the quarter i.e. may (4) -> april (3)\n result[setDateMethod_1]((Math.floor(date[getDateMethod_1]() / 3)) * 3);\n break;\n }\n default:\n var _b = dateMethods(timeUnitPart, isUTC), getDateMethod = _b.getDateMethod, setDateMethod = _b.setDateMethod;\n result[setDateMethod](date[getDateMethod]());\n }\n }\n }\n return result;\n}\nfunction dateMethods(singleUnit, isUtc) {\n var rawSetDateMethod = SET_DATE_METHOD[singleUnit];\n var setDateMethod = isUtc ? 'setUTC' + rawSetDateMethod.substr(3) : rawSetDateMethod;\n var getDateMethod = 'get' + (isUtc ? 'UTC' : '') + rawSetDateMethod.substr(3);\n return { setDateMethod: setDateMethod, getDateMethod: getDateMethod };\n}\nexport function getTimeUnitParts(timeUnit) {\n return TIMEUNIT_PARTS.reduce(function (parts, part) {\n if (containsTimeUnit(timeUnit, part)) {\n return parts.concat(part);\n }\n return parts;\n }, []);\n}\n/** Returns true if fullTimeUnit contains the timeUnit, false otherwise. */\nexport function containsTimeUnit(fullTimeUnit, timeUnit) {\n var index = fullTimeUnit.indexOf(timeUnit);\n return index > -1 &&\n (timeUnit !== TimeUnit.SECONDS ||\n index === 0 ||\n fullTimeUnit.charAt(index - 1) !== 'i' // exclude milliseconds\n );\n}\n/**\n * Returns Vega expresssion for a given timeUnit and fieldRef\n */\nexport function fieldExpr(fullTimeUnit, field) {\n var fieldRef = accessPathWithDatum(field);\n var utc = isUTCTimeUnit(fullTimeUnit) ? 'utc' : '';\n function func(timeUnit) {\n if (timeUnit === TimeUnit.QUARTER) {\n // quarter starting at 0 (0,3,6,9).\n return \"(\" + utc + \"quarter(\" + fieldRef + \")-1)\";\n }\n else {\n return \"\" + utc + timeUnit + \"(\" + fieldRef + \")\";\n }\n }\n var d = TIMEUNIT_PARTS.reduce(function (dateExpr, tu) {\n if (containsTimeUnit(fullTimeUnit, tu)) {\n dateExpr[tu] = func(tu);\n }\n return dateExpr;\n }, {});\n return dateTimeExpr(d);\n}\n/**\n * returns the signal expression used for axis labels for a time unit\n */\nexport function formatExpression(timeUnit, field, shortTimeLabels, isUTCScale) {\n if (!timeUnit) {\n return undefined;\n }\n var dateComponents = [];\n var expression = '';\n var hasYear = containsTimeUnit(timeUnit, TimeUnit.YEAR);\n if (containsTimeUnit(timeUnit, TimeUnit.QUARTER)) {\n // special expression for quarter as prefix\n expression = \"'Q' + quarter(\" + field + \")\";\n }\n if (containsTimeUnit(timeUnit, TimeUnit.MONTH)) {\n // By default use short month name\n dateComponents.push(shortTimeLabels !== false ? '%b' : '%B');\n }\n if (containsTimeUnit(timeUnit, TimeUnit.DAY)) {\n dateComponents.push(shortTimeLabels ? '%a' : '%A');\n }\n else if (containsTimeUnit(timeUnit, TimeUnit.DATE)) {\n dateComponents.push('%d' + (hasYear ? ',' : '')); // add comma if there is year\n }\n if (hasYear) {\n dateComponents.push(shortTimeLabels ? '%y' : '%Y');\n }\n var timeComponents = [];\n if (containsTimeUnit(timeUnit, TimeUnit.HOURS)) {\n timeComponents.push('%H');\n }\n if (containsTimeUnit(timeUnit, TimeUnit.MINUTES)) {\n timeComponents.push('%M');\n }\n if (containsTimeUnit(timeUnit, TimeUnit.SECONDS)) {\n timeComponents.push('%S');\n }\n if (containsTimeUnit(timeUnit, TimeUnit.MILLISECONDS)) {\n timeComponents.push('%L');\n }\n var dateTimeComponents = [];\n if (dateComponents.length > 0) {\n dateTimeComponents.push(dateComponents.join(' '));\n }\n if (timeComponents.length > 0) {\n dateTimeComponents.push(timeComponents.join(':'));\n }\n if (dateTimeComponents.length > 0) {\n if (expression) {\n // Add space between quarter and main time format\n expression += \" + ' ' + \";\n }\n // We only use utcFormat for utc scale\n // For utc time units, the data is already converted as a part of timeUnit transform.\n // Thus, utc time units should use timeFormat to avoid shifting the time twice.\n if (isUTCScale) {\n expression += \"utcFormat(\" + field + \", '\" + dateTimeComponents.join(' ') + \"')\";\n }\n else {\n expression += \"timeFormat(\" + field + \", '\" + dateTimeComponents.join(' ') + \"')\";\n }\n }\n // If expression is still an empty string, return undefined instead.\n return expression || undefined;\n}\nexport function normalizeTimeUnit(timeUnit) {\n if (timeUnit !== 'day' && timeUnit.indexOf('day') >= 0) {\n log.warn(log.message.dayReplacedWithDate(timeUnit));\n return timeUnit.replace('day', 'date');\n }\n return timeUnit;\n}\n//# sourceMappingURL=timeunit.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/timeunit.js\n// module id = 86\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { isArray, isString } from 'vega-util';\nimport { selectionPredicate } from './compile/selection/selection';\nimport { valueExpr, vgField } from './fielddef';\nimport { fieldExpr as timeUnitFieldExpr, normalizeTimeUnit } from './timeunit';\nimport { logicalExpr } from './util';\nexport function isSelectionPredicate(predicate) {\n return predicate && predicate['selection'];\n}\nexport function isFieldEqualPredicate(predicate) {\n return predicate && !!predicate.field && predicate.equal !== undefined;\n}\nexport function isFieldLTPredicate(predicate) {\n return predicate && !!predicate.field && predicate.lt !== undefined;\n}\nexport function isFieldLTEPredicate(predicate) {\n return predicate && !!predicate.field && predicate.lte !== undefined;\n}\nexport function isFieldGTPredicate(predicate) {\n return predicate && !!predicate.field && predicate.gt !== undefined;\n}\nexport function isFieldGTEPredicate(predicate) {\n return predicate && !!predicate.field && predicate.gte !== undefined;\n}\nexport function isFieldRangePredicate(predicate) {\n if (predicate && predicate.field) {\n if (isArray(predicate.range) && predicate.range.length === 2) {\n return true;\n }\n }\n return false;\n}\nexport function isFieldOneOfPredicate(predicate) {\n return predicate && !!predicate.field && (isArray(predicate.oneOf) ||\n isArray(predicate.in) // backward compatibility\n );\n}\nexport function isFieldPredicate(predicate) {\n return isFieldOneOfPredicate(predicate) || isFieldEqualPredicate(predicate) || isFieldRangePredicate(predicate) || isFieldLTPredicate(predicate) || isFieldGTPredicate(predicate) || isFieldLTEPredicate(predicate) || isFieldGTEPredicate(predicate);\n}\n/**\n * Converts a predicate into an expression.\n */\n// model is only used for selection filters.\nexport function expression(model, filterOp, node) {\n return logicalExpr(filterOp, function (predicate) {\n if (isString(predicate)) {\n return predicate;\n }\n else if (isSelectionPredicate(predicate)) {\n return selectionPredicate(model, predicate.selection, node);\n }\n else { // Filter Object\n return fieldFilterExpression(predicate);\n }\n });\n}\nfunction predicateValueExpr(v, timeUnit) {\n return valueExpr(v, { timeUnit: timeUnit, time: true });\n}\nfunction predicateValuesExpr(vals, timeUnit) {\n return vals.map(function (v) { return predicateValueExpr(v, timeUnit); });\n}\n// This method is used by Voyager. Do not change its behavior without changing Voyager.\nexport function fieldFilterExpression(predicate, useInRange) {\n if (useInRange === void 0) { useInRange = true; }\n var field = predicate.field, timeUnit = predicate.timeUnit;\n var fieldExpr = timeUnit ?\n // For timeUnit, cast into integer with time() so we can use ===, inrange, indexOf to compare values directly.\n // TODO: We calculate timeUnit on the fly here. Consider if we would like to consolidate this with timeUnit pipeline\n // TODO: support utc\n ('time(' + timeUnitFieldExpr(timeUnit, field) + ')') :\n vgField(predicate, { expr: 'datum' });\n if (isFieldEqualPredicate(predicate)) {\n return fieldExpr + '===' + predicateValueExpr(predicate.equal, timeUnit);\n }\n else if (isFieldLTPredicate(predicate)) {\n var upper = predicate.lt;\n return fieldExpr + \"<\" + predicateValueExpr(upper, timeUnit);\n }\n else if (isFieldGTPredicate(predicate)) {\n var lower = predicate.gt;\n return fieldExpr + \">\" + predicateValueExpr(lower, timeUnit);\n }\n else if (isFieldLTEPredicate(predicate)) {\n var upper = predicate.lte;\n return fieldExpr + \"<=\" + predicateValueExpr(upper, timeUnit);\n }\n else if (isFieldGTEPredicate(predicate)) {\n var lower = predicate.gte;\n return fieldExpr + \">=\" + predicateValueExpr(lower, timeUnit);\n }\n else if (isFieldOneOfPredicate(predicate)) {\n // \"oneOf\" was formerly \"in\" -- so we need to add backward compatibility\n var oneOf = predicate.oneOf;\n oneOf = oneOf || predicate['in'];\n return 'indexof([' +\n predicateValuesExpr(oneOf, timeUnit).join(',') +\n '], ' + fieldExpr + ') !== -1';\n }\n else if (isFieldRangePredicate(predicate)) {\n var lower = predicate.range[0];\n var upper = predicate.range[1];\n if (lower !== null && upper !== null && useInRange) {\n return 'inrange(' + fieldExpr + ', [' +\n predicateValueExpr(lower, timeUnit) + ', ' +\n predicateValueExpr(upper, timeUnit) + '])';\n }\n var exprs = [];\n if (lower !== null) {\n exprs.push(fieldExpr + \" >= \" + predicateValueExpr(lower, timeUnit));\n }\n if (upper !== null) {\n exprs.push(fieldExpr + \" <= \" + predicateValueExpr(upper, timeUnit));\n }\n return exprs.length > 0 ? exprs.join(' && ') : 'true';\n }\n /* istanbul ignore next: it should never reach here */\n throw new Error(\"Invalid field predicate: \" + JSON.stringify(predicate));\n}\nexport function normalizePredicate(f) {\n if (isFieldPredicate(f) && f.timeUnit) {\n return tslib_1.__assign({}, f, { timeUnit: normalizeTimeUnit(f.timeUnit) });\n }\n return f;\n}\n//# sourceMappingURL=predicate.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/predicate.js\n// module id = 87\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { isString } from 'vega-util';\nimport { SHARED_DOMAIN_OP_INDEX } from '../../aggregate';\nimport { binToString, isBinParams } from '../../bin';\nimport { isScaleChannel } from '../../channel';\nimport { MAIN, RAW } from '../../data';\nimport { valueExpr, vgField } from '../../fielddef';\nimport * as log from '../../log';\nimport { hasDiscreteDomain, isBinScale, isSelectionDomain } from '../../scale';\nimport { isSortArray, isSortField } from '../../sort';\nimport * as util from '../../util';\nimport { isDataRefDomain, isDataRefUnionedDomain, isFieldRefUnionDomain } from '../../vega.schema';\nimport { binRequiresRange } from '../common';\nimport { sortArrayIndexField } from '../data/calculate';\nimport { FACET_SCALE_PREFIX } from '../data/optimize';\nimport { isFacetModel, isUnitModel } from '../model';\nimport { SELECTION_DOMAIN } from '../selection/selection';\nexport function parseScaleDomain(model) {\n if (isUnitModel(model)) {\n parseUnitScaleDomain(model);\n }\n else {\n parseNonUnitScaleDomain(model);\n }\n}\nfunction parseUnitScaleDomain(model) {\n var scales = model.specifiedScales;\n var localScaleComponents = model.component.scales;\n util.keys(localScaleComponents).forEach(function (channel) {\n var specifiedScale = scales[channel];\n var specifiedDomain = specifiedScale ? specifiedScale.domain : undefined;\n var domains = parseDomainForChannel(model, channel);\n var localScaleCmpt = localScaleComponents[channel];\n localScaleCmpt.domains = domains;\n if (isSelectionDomain(specifiedDomain)) {\n // As scale parsing occurs before selection parsing, we use a temporary\n // signal here and append the scale.domain definition. This is replaced\n // with the correct domainRaw signal during scale assembly.\n // For more information, see isRawSelectionDomain in selection.ts.\n // FIXME: replace this with a special property in the scaleComponent\n localScaleCmpt.set('domainRaw', {\n signal: SELECTION_DOMAIN + util.hash(specifiedDomain)\n }, true);\n }\n if (model.component.data.isFaceted) {\n // get resolve from closest facet parent as this decides whether we need to refer to cloned subtree or not\n var facetParent = model;\n while (!isFacetModel(facetParent) && facetParent.parent) {\n facetParent = facetParent.parent;\n }\n var resolve = facetParent.component.resolve.scale[channel];\n if (resolve === 'shared') {\n for (var _i = 0, domains_1 = domains; _i < domains_1.length; _i++) {\n var domain = domains_1[_i];\n // Replace the scale domain with data output from a cloned subtree after the facet.\n if (isDataRefDomain(domain)) {\n // use data from cloned subtree (which is the same as data but with a prefix added once)\n domain.data = FACET_SCALE_PREFIX + domain.data.replace(FACET_SCALE_PREFIX, '');\n }\n }\n }\n }\n });\n}\nfunction parseNonUnitScaleDomain(model) {\n for (var _i = 0, _a = model.children; _i < _a.length; _i++) {\n var child = _a[_i];\n parseScaleDomain(child);\n }\n var localScaleComponents = model.component.scales;\n util.keys(localScaleComponents).forEach(function (channel) {\n var domains;\n var domainRaw = null;\n for (var _i = 0, _a = model.children; _i < _a.length; _i++) {\n var child = _a[_i];\n var childComponent = child.component.scales[channel];\n if (childComponent) {\n if (domains === undefined) {\n domains = childComponent.domains;\n }\n else {\n domains = domains.concat(childComponent.domains);\n }\n var dr = childComponent.get('domainRaw');\n if (domainRaw && dr && domainRaw.signal !== dr.signal) {\n log.warn('The same selection must be used to override scale domains in a layered view.');\n }\n domainRaw = dr;\n }\n }\n localScaleComponents[channel].domains = domains;\n if (domainRaw) {\n localScaleComponents[channel].set('domainRaw', domainRaw, true);\n }\n });\n}\n/**\n * Remove unaggregated domain if it is not applicable\n * Add unaggregated domain if domain is not specified and config.scale.useUnaggregatedDomain is true.\n */\nfunction normalizeUnaggregatedDomain(domain, fieldDef, scaleType, scaleConfig) {\n if (domain === 'unaggregated') {\n var _a = canUseUnaggregatedDomain(fieldDef, scaleType), valid = _a.valid, reason = _a.reason;\n if (!valid) {\n log.warn(reason);\n return undefined;\n }\n }\n else if (domain === undefined && scaleConfig.useUnaggregatedDomain) {\n // Apply config if domain is not specified.\n var valid = canUseUnaggregatedDomain(fieldDef, scaleType).valid;\n if (valid) {\n return 'unaggregated';\n }\n }\n return domain;\n}\nexport function parseDomainForChannel(model, channel) {\n var scaleType = model.getScaleComponent(channel).get('type');\n var domain = normalizeUnaggregatedDomain(model.scaleDomain(channel), model.fieldDef(channel), scaleType, model.config.scale);\n if (domain !== model.scaleDomain(channel)) {\n model.specifiedScales[channel] = tslib_1.__assign({}, model.specifiedScales[channel], { domain: domain });\n }\n // If channel is either X or Y then union them with X2 & Y2 if they exist\n if (channel === 'x' && model.channelHasField('x2')) {\n if (model.channelHasField('x')) {\n return parseSingleChannelDomain(scaleType, domain, model, 'x').concat(parseSingleChannelDomain(scaleType, domain, model, 'x2'));\n }\n else {\n return parseSingleChannelDomain(scaleType, domain, model, 'x2');\n }\n }\n else if (channel === 'y' && model.channelHasField('y2')) {\n if (model.channelHasField('y')) {\n return parseSingleChannelDomain(scaleType, domain, model, 'y').concat(parseSingleChannelDomain(scaleType, domain, model, 'y2'));\n }\n else {\n return parseSingleChannelDomain(scaleType, domain, model, 'y2');\n }\n }\n return parseSingleChannelDomain(scaleType, domain, model, channel);\n}\nfunction mapDomainToDataSignal(domain, type, timeUnit) {\n return domain.map(function (v) {\n var data = valueExpr(v, { timeUnit: timeUnit, type: type });\n return { signal: \"{data: \" + data + \"}\" };\n });\n}\nfunction parseSingleChannelDomain(scaleType, domain, model, channel) {\n var fieldDef = model.fieldDef(channel);\n if (domain && domain !== 'unaggregated' && !isSelectionDomain(domain)) { // explicit value\n var type = fieldDef.type, timeUnit = fieldDef.timeUnit;\n if (type === 'temporal' || timeUnit) {\n return mapDomainToDataSignal(domain, type, timeUnit);\n }\n return [domain];\n }\n var stack = model.stack;\n if (stack && channel === stack.fieldChannel) {\n if (stack.offset === 'normalize') {\n return [[0, 1]];\n }\n var data = model.requestDataName(MAIN);\n return [{\n data: data,\n field: model.vgField(channel, { suffix: 'start' })\n }, {\n data: data,\n field: model.vgField(channel, { suffix: 'end' })\n }];\n }\n var sort = isScaleChannel(channel) ? domainSort(model, channel, scaleType) : undefined;\n if (domain === 'unaggregated') {\n var data = model.requestDataName(MAIN);\n var field = fieldDef.field;\n return [{\n data: data,\n field: vgField({ field: field, aggregate: 'min' })\n }, {\n data: data,\n field: vgField({ field: field, aggregate: 'max' })\n }];\n }\n else if (fieldDef.bin) { // bin\n if (isBinScale(scaleType)) {\n var signal = model.getName(binToString(fieldDef.bin) + \"_\" + fieldDef.field + \"_bins\");\n return [{ signal: \"sequence(\" + signal + \".start, \" + signal + \".stop + \" + signal + \".step, \" + signal + \".step)\" }];\n }\n if (hasDiscreteDomain(scaleType)) {\n // ordinal bin scale takes domain from bin_range, ordered by bin start\n // This is useful for both axis-based scale (x/y) and legend-based scale (other channels).\n return [{\n // If sort by aggregation of a specified sort field, we need to use RAW table,\n // so we can aggregate values for the scale independently from the main aggregation.\n data: util.isBoolean(sort) ? model.requestDataName(MAIN) : model.requestDataName(RAW),\n // Use range if we added it and the scale does not support computing a range as a signal.\n field: model.vgField(channel, binRequiresRange(fieldDef, channel) ? { binSuffix: 'range' } : {}),\n // we have to use a sort object if sort = true to make the sort correct by bin start\n sort: sort === true || !isSortField(sort) ? {\n field: model.vgField(channel, {}),\n op: 'min' // min or max doesn't matter since we sort by the start of the bin range\n } : sort\n }];\n }\n else { // continuous scales\n if (channel === 'x' || channel === 'y') {\n if (isBinParams(fieldDef.bin) && fieldDef.bin.extent) {\n return [fieldDef.bin.extent];\n }\n // X/Y position have to include start and end for non-ordinal scale\n var data = model.requestDataName(MAIN);\n return [{\n data: data,\n field: model.vgField(channel, {})\n }, {\n data: data,\n field: model.vgField(channel, { binSuffix: 'end' })\n }];\n }\n else {\n // TODO: use bin_mid\n return [{\n data: model.requestDataName(MAIN),\n field: model.vgField(channel, {})\n }];\n }\n }\n }\n else if (sort) {\n return [{\n // If sort by aggregation of a specified sort field, we need to use RAW table,\n // so we can aggregate values for the scale independently from the main aggregation.\n data: util.isBoolean(sort) ? model.requestDataName(MAIN) : model.requestDataName(RAW),\n field: model.vgField(channel),\n sort: sort\n }];\n }\n else {\n return [{\n data: model.requestDataName(MAIN),\n field: model.vgField(channel)\n }];\n }\n}\nexport function domainSort(model, channel, scaleType) {\n if (!hasDiscreteDomain(scaleType)) {\n return undefined;\n }\n var fieldDef = model.fieldDef(channel);\n var sort = fieldDef.sort;\n // if the sort is specified with array, use the derived sort index field\n if (isSortArray(sort)) {\n return {\n op: 'min',\n field: sortArrayIndexField(fieldDef, channel),\n order: 'ascending'\n };\n }\n // Sorted based on an aggregate calculation over a specified sort field (only for ordinal scale)\n if (isSortField(sort)) {\n // flatten nested fields\n return tslib_1.__assign({}, sort, (sort.field ? { field: util.replacePathInField(sort.field) } : {}));\n }\n if (sort === 'descending') {\n return {\n op: 'min',\n field: model.vgField(channel),\n order: 'descending'\n };\n }\n if (util.contains(['ascending', undefined /* default =ascending*/], sort)) {\n return true;\n }\n // sort == null\n return undefined;\n}\n/**\n * Determine if a scale can use unaggregated domain.\n * @return {Boolean} Returns true if all of the following conditons applies:\n * 1. `scale.domain` is `unaggregated`\n * 2. Aggregation function is not `count` or `sum`\n * 3. The scale is quantitative or time scale.\n */\nexport function canUseUnaggregatedDomain(fieldDef, scaleType) {\n if (!fieldDef.aggregate) {\n return {\n valid: false,\n reason: log.message.unaggregateDomainHasNoEffectForRawField(fieldDef)\n };\n }\n if (!SHARED_DOMAIN_OP_INDEX[fieldDef.aggregate]) {\n return {\n valid: false,\n reason: log.message.unaggregateDomainWithNonSharedDomainOp(fieldDef.aggregate)\n };\n }\n if (fieldDef.type === 'quantitative') {\n if (scaleType === 'log') {\n return {\n valid: false,\n reason: log.message.unaggregatedDomainWithLogScale(fieldDef)\n };\n }\n }\n return { valid: true };\n}\n/**\n * Converts an array of domains to a single Vega scale domain.\n */\nexport function mergeDomains(domains) {\n var uniqueDomains = util.unique(domains.map(function (domain) {\n // ignore sort property when computing the unique domains\n if (isDataRefDomain(domain)) {\n var _s = domain.sort, domainWithoutSort = tslib_1.__rest(domain, [\"sort\"]);\n return domainWithoutSort;\n }\n return domain;\n }), util.hash);\n var sorts = util.unique(domains.map(function (d) {\n if (isDataRefDomain(d)) {\n var s = d.sort;\n if (s !== undefined && !util.isBoolean(s)) {\n if (s.op === 'count') {\n // let's make sure that if op is count, we don't use a field\n delete s.field;\n }\n if (s.order === 'ascending') {\n // drop order: ascending as it is the default\n delete s.order;\n }\n }\n return s;\n }\n return undefined;\n }).filter(function (s) { return s !== undefined; }), util.hash);\n if (uniqueDomains.length === 1) {\n var domain = domains[0];\n if (isDataRefDomain(domain) && sorts.length > 0) {\n var sort_1 = sorts[0];\n if (sorts.length > 1) {\n log.warn(log.message.MORE_THAN_ONE_SORT);\n sort_1 = true;\n }\n return tslib_1.__assign({}, domain, { sort: sort_1 });\n }\n return domain;\n }\n // only keep simple sort properties that work with unioned domains\n var simpleSorts = util.unique(sorts.map(function (s) {\n if (s === true) {\n return s;\n }\n if (s.op === 'count') {\n return s;\n }\n log.warn(log.message.domainSortDropped(s));\n return true;\n }), util.hash);\n var sort = undefined;\n if (simpleSorts.length === 1) {\n sort = simpleSorts[0];\n }\n else if (simpleSorts.length > 1) {\n log.warn(log.message.MORE_THAN_ONE_SORT);\n sort = true;\n }\n var allData = util.unique(domains.map(function (d) {\n if (isDataRefDomain(d)) {\n return d.data;\n }\n return null;\n }), function (x) { return x; });\n if (allData.length === 1 && allData[0] !== null) {\n // create a union domain of different fields with a single data source\n var domain = tslib_1.__assign({ data: allData[0], fields: uniqueDomains.map(function (d) { return d.field; }) }, (sort ? { sort: sort } : {}));\n return domain;\n }\n return tslib_1.__assign({ fields: uniqueDomains }, (sort ? { sort: sort } : {}));\n}\n/**\n * Return a field if a scale single field.\n * Return `undefined` otherwise.\n *\n */\nexport function getFieldFromDomain(domain) {\n if (isDataRefDomain(domain) && isString(domain.field)) {\n return domain.field;\n }\n else if (isDataRefUnionedDomain(domain)) {\n var field = void 0;\n for (var _i = 0, _a = domain.fields; _i < _a.length; _i++) {\n var nonUnionDomain = _a[_i];\n if (isDataRefDomain(nonUnionDomain) && isString(nonUnionDomain.field)) {\n if (!field) {\n field = nonUnionDomain.field;\n }\n else if (field !== nonUnionDomain.field) {\n log.warn('Detected faceted independent scales that union domain of multiple fields from different data sources. We will use the first field. The result view size may be incorrect.');\n return field;\n }\n }\n }\n log.warn('Detected faceted independent scales that union domain of identical fields from different source detected. We will assume that this is the same field from a different fork of the same data source. However, if this is not case, the result view size maybe incorrect.');\n return field;\n }\n else if (isFieldRefUnionDomain(domain)) {\n log.warn('Detected faceted independent scales that union domain of multiple fields from the same data source. We will use the first field. The result view size may be incorrect.');\n var field = domain.fields[0];\n return isString(field) ? field : undefined;\n }\n return undefined;\n}\nexport function assembleDomain(model, channel) {\n var scaleComponent = model.component.scales[channel];\n var domains = scaleComponent.domains.map(function (domain) {\n // Correct references to data as the original domain's data was determined\n // in parseScale, which happens before parseData. Thus the original data\n // reference can be incorrect.\n if (isDataRefDomain(domain)) {\n domain.data = model.lookupDataSource(domain.data);\n }\n return domain;\n });\n // domains is an array that has to be merged into a single vega domain\n return mergeDomains(domains);\n}\n//# sourceMappingURL=domain.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/scale/domain.js\n// module id = 88\n// module chunks = 0","import { defaultScaleConfig, hasDiscreteDomain } from '../../scale';\nimport { isVgRangeStep } from '../../vega.schema';\nimport { mergeValuesWithExplicit } from '../split';\nexport function parseLayerLayoutSize(model) {\n parseChildrenLayoutSize(model);\n var layoutSizeCmpt = model.component.layoutSize;\n layoutSizeCmpt.setWithExplicit('width', parseNonUnitLayoutSizeForChannel(model, 'width'));\n layoutSizeCmpt.setWithExplicit('height', parseNonUnitLayoutSizeForChannel(model, 'height'));\n}\nexport var parseRepeatLayoutSize = parseLayerLayoutSize;\nexport function parseConcatLayoutSize(model) {\n parseChildrenLayoutSize(model);\n var layoutSizeCmpt = model.component.layoutSize;\n var sizeTypeToMerge = model.isVConcat ? 'width' : 'height';\n layoutSizeCmpt.setWithExplicit(sizeTypeToMerge, parseNonUnitLayoutSizeForChannel(model, sizeTypeToMerge));\n}\nexport function parseChildrenLayoutSize(model) {\n for (var _i = 0, _a = model.children; _i < _a.length; _i++) {\n var child = _a[_i];\n child.parseLayoutSize();\n }\n}\nfunction parseNonUnitLayoutSizeForChannel(model, sizeType) {\n var channel = sizeType === 'width' ? 'x' : 'y';\n var resolve = model.component.resolve;\n var mergedSize;\n // Try to merge layout size\n for (var _i = 0, _a = model.children; _i < _a.length; _i++) {\n var child = _a[_i];\n var childSize = child.component.layoutSize.getWithExplicit(sizeType);\n var scaleResolve = resolve.scale[channel];\n if (scaleResolve === 'independent' && childSize.value === 'range-step') {\n // Do not merge independent scales with range-step as their size depends\n // on the scale domains, which can be different between scales.\n mergedSize = undefined;\n break;\n }\n if (mergedSize) {\n if (scaleResolve === 'independent' && mergedSize.value !== childSize.value) {\n // For independent scale, only merge if all the sizes are the same.\n // If the values are different, abandon the merge!\n mergedSize = undefined;\n break;\n }\n mergedSize = mergeValuesWithExplicit(mergedSize, childSize, sizeType, '');\n }\n else {\n mergedSize = childSize;\n }\n }\n if (mergedSize) {\n // If merged, rename size and set size of all children.\n for (var _b = 0, _c = model.children; _b < _c.length; _b++) {\n var child = _c[_b];\n model.renameLayoutSize(child.getName(sizeType), model.getName(sizeType));\n child.component.layoutSize.set(sizeType, 'merged', false);\n }\n return mergedSize;\n }\n else {\n // Otherwise, there is no merged size.\n return {\n explicit: false,\n value: undefined\n };\n }\n}\nexport function parseUnitLayoutSize(model) {\n var layoutSizeComponent = model.component.layoutSize;\n if (!layoutSizeComponent.explicit.width) {\n var width = defaultUnitSize(model, 'width');\n layoutSizeComponent.set('width', width, false);\n }\n if (!layoutSizeComponent.explicit.height) {\n var height = defaultUnitSize(model, 'height');\n layoutSizeComponent.set('height', height, false);\n }\n}\nfunction defaultUnitSize(model, sizeType) {\n var channel = sizeType === 'width' ? 'x' : 'y';\n var config = model.config;\n var scaleComponent = model.getScaleComponent(channel);\n if (scaleComponent) {\n var scaleType = scaleComponent.get('type');\n var range = scaleComponent.get('range');\n if (hasDiscreteDomain(scaleType) && isVgRangeStep(range)) {\n // For discrete domain with range.step, use dynamic width/height\n return 'range-step';\n }\n else {\n return config.view[sizeType];\n }\n }\n else if (model.hasProjection) {\n return config.view[sizeType];\n }\n else {\n // No scale - set default size\n if (sizeType === 'width' && model.mark === 'text') {\n // width for text mark without x-field is a bit wider than typical range step\n return config.scale.textXRangeStep;\n }\n // Set width/height equal to rangeStep config or if rangeStep is null, use value from default scale config.\n return config.scale.rangeStep || defaultScaleConfig.rangeStep;\n }\n}\n//# sourceMappingURL=parse.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/layoutsize/parse.js\n// module id = 89\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/creator.js\n// module id = 90\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/point.js\n// module id = 91\n// module chunks = 0","import error from './error';\n\nexport default function(p) {\n var path = [],\n q = null,\n b = 0,\n n = p.length,\n s = '',\n i, j, c;\n\n p = p + '';\n\n function push() {\n path.push(s + p.substring(i, j));\n s = '';\n i = j + 1;\n }\n\n for (i=j=0; j<n; ++j) {\n c = p[j];\n if (c === '\\\\') {\n s += p.substring(i, j);\n i = ++j;\n } else if (c === q) {\n push();\n q = null;\n b = -1;\n } else if (q) {\n continue;\n } else if (i === b && c === '\"') {\n i = j + 1;\n q = c;\n } else if (i === b && c === \"'\") {\n i = j + 1;\n q = c;\n } else if (c === '.' && !b) {\n if (j > i) {\n push();\n } else {\n i = j + 1;\n }\n } else if (c === '[') {\n if (j > i) push();\n b = i = j + 1;\n } else if (c === ']') {\n if (!b) error('Access path missing open bracket: ' + p);\n if (b > 0) push();\n b = 0;\n i = j + 1;\n }\n }\n\n if (b) error('Access path missing closing bracket: ' + p);\n if (q) error('Access path missing closing quote: ' + p);\n\n if (j > i) {\n j++;\n push();\n }\n\n return path;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/splitAccessPath.js\n// module id = 92\n// module chunks = 0","import isArray from './isArray';\nimport isObject from './isObject';\nimport isString from './isString';\n\nexport default function $(x) {\n return isArray(x) ? '[' + x.map($) + ']'\n : isObject(x) || isString(x) ?\n // Output valid JSON and JS source strings.\n // See http://timelessrepo.com/json-isnt-a-javascript-subset\n JSON.stringify(x).replace('\\u2028','\\\\u2028').replace('\\u2029', '\\\\u2029')\n : x;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/stringValue.js\n// module id = 93\n// module chunks = 0","import Parameters from './Parameters';\nimport UniqueList from './util/UniqueList';\nimport {array, error, id, isArray} from 'vega-util';\n\nvar OP_ID = 0;\nvar PULSE = 'pulse';\nvar NO_PARAMS = new Parameters();\n\n// Boolean Flags\nvar SKIP = 1,\n MODIFIED = 2;\n\n/**\n * An Operator is a processing node in a dataflow graph.\n * Each operator stores a value and an optional value update function.\n * Operators can accept a hash of named parameters. Parameter values can\n * either be direct (JavaScript literals, arrays, objects) or indirect\n * (other operators whose values will be pulled dynamically). Operators\n * included as parameters will have this operator added as a dependency.\n * @constructor\n * @param {*} [init] - The initial value for this operator.\n * @param {function(object, Pulse)} [update] - An update function. Upon\n * evaluation of this operator, the update function will be invoked and the\n * return value will be used as the new value of this operator.\n * @param {object} [params] - The parameters for this operator.\n * @param {boolean} [react=true] - Flag indicating if this operator should\n * listen for changes to upstream operators included as parameters.\n * @see parameters\n */\nexport default function Operator(init, update, params, react) {\n this.id = ++OP_ID;\n this.value = init;\n this.stamp = -1;\n this.rank = -1;\n this.qrank = -1;\n this.flags = 0;\n\n if (update) {\n this._update = update;\n }\n if (params) this.parameters(params, react);\n}\n\nvar prototype = Operator.prototype;\n\n/**\n * Returns a list of target operators dependent on this operator.\n * If this list does not exist, it is created and then returned.\n * @return {UniqueList}\n */\nprototype.targets = function() {\n return this._targets || (this._targets = UniqueList(id));\n};\n\n/**\n * Sets the value of this operator.\n * @param {*} value - the value to set.\n * @return {Number} Returns 1 if the operator value has changed\n * according to strict equality, returns 0 otherwise.\n */\nprototype.set = function(value) {\n if (this.value !== value) {\n this.value = value;\n return 1;\n } else {\n return 0;\n }\n};\n\nfunction flag(bit) {\n return function(state) {\n var f = this.flags;\n if (arguments.length === 0) return !!(f & bit);\n this.flags = state ? (f | bit) : (f & ~bit);\n return this;\n };\n}\n\n/**\n * Indicates that operator evaluation should be skipped on the next pulse.\n * This operator will still propagate incoming pulses, but its update function\n * will not be invoked. The skip flag is reset after every pulse, so calling\n * this method will affect processing of the next pulse only.\n */\nprototype.skip = flag(SKIP);\n\n/**\n * Indicates that this operator's value has been modified on its most recent\n * pulse. Normally modification is checked via strict equality; however, in\n * some cases it is more efficient to update the internal state of an object.\n * In those cases, the modified flag can be used to trigger propagation. Once\n * set, the modification flag persists across pulses until unset. The flag can\n * be used with the last timestamp to test if a modification is recent.\n */\nprototype.modified = flag(MODIFIED);\n\n/**\n * Sets the parameters for this operator. The parameter values are analyzed for\n * operator instances. If found, this operator will be added as a dependency\n * of the parameterizing operator. Operator values are dynamically marshalled\n * from each operator parameter prior to evaluation. If a parameter value is\n * an array, the array will also be searched for Operator instances. However,\n * the search does not recurse into sub-arrays or object properties.\n * @param {object} params - A hash of operator parameters.\n * @param {boolean} [react=true] - A flag indicating if this operator should\n * automatically update (react) when parameter values change. In other words,\n * this flag determines if the operator registers itself as a listener on\n * any upstream operators included in the parameters.\n * @return {Operator[]} - An array of upstream dependencies.\n */\nprototype.parameters = function(params, react) {\n react = react !== false;\n var self = this,\n argval = (self._argval = self._argval || new Parameters()),\n argops = (self._argops = self._argops || []),\n deps = [],\n name, value, n, i;\n\n function add(name, index, value) {\n if (value instanceof Operator) {\n if (value !== self) {\n if (react) value.targets().add(self);\n deps.push(value);\n }\n argops.push({op:value, name:name, index:index});\n } else {\n argval.set(name, index, value);\n }\n }\n\n for (name in params) {\n value = params[name];\n\n if (name === PULSE) {\n array(value).forEach(function(op) {\n if (!(op instanceof Operator)) {\n error('Pulse parameters must be operator instances.');\n } else if (op !== self) {\n op.targets().add(self);\n deps.push(op);\n }\n });\n self.source = value;\n } else if (isArray(value)) {\n argval.set(name, -1, Array(n = value.length));\n for (i=0; i<n; ++i) add(name, i, value[i]);\n } else {\n add(name, -1, value);\n }\n }\n\n this.marshall().clear(); // initialize values\n return deps;\n};\n\n/**\n * Internal method for marshalling parameter values.\n * Visits each operator dependency to pull the latest value.\n * @return {Parameters} A Parameters object to pass to the update function.\n */\nprototype.marshall = function(stamp) {\n var argval = this._argval || NO_PARAMS,\n argops = this._argops, item, i, n, op, mod;\n\n if (argops && (n = argops.length)) {\n for (i=0; i<n; ++i) {\n item = argops[i];\n op = item.op;\n mod = op.modified() && op.stamp === stamp;\n argval.set(item.name, item.index, op.value, mod);\n }\n }\n return argval;\n};\n\n/**\n * Delegate method to perform operator processing.\n * Subclasses can override this method to perform custom processing.\n * By default, it marshalls parameters and calls the update function\n * if that function is defined. If the update function does not\n * change the operator value then StopPropagation is returned.\n * If no update function is defined, this method does nothing.\n * @param {Pulse} pulse - the current dataflow pulse.\n * @return The output pulse or StopPropagation. A falsy return value\n * (including undefined) will let the input pulse pass through.\n */\nprototype.evaluate = function(pulse) {\n if (this._update) {\n var params = this.marshall(pulse.stamp),\n v = this._update(params, pulse);\n\n params.clear();\n if (v !== this.value) {\n this.value = v;\n } else if (!this.modified()) {\n return pulse.StopPropagation;\n }\n }\n};\n\n/**\n * Run this operator for the current pulse. If this operator has already\n * been run at (or after) the pulse timestamp, returns StopPropagation.\n * Internally, this method calls {@link evaluate} to perform processing.\n * If {@link evaluate} returns a falsy value, the input pulse is returned.\n * This method should NOT be overridden, instead overrride {@link evaluate}.\n * @param {Pulse} pulse - the current dataflow pulse.\n * @return the output pulse for this operator (or StopPropagation)\n */\nprototype.run = function(pulse) {\n if (pulse.stamp <= this.stamp) return pulse.StopPropagation;\n var rv;\n if (this.skip()) {\n this.skip(false);\n rv = 0;\n } else {\n rv = this.evaluate(pulse);\n }\n this.stamp = pulse.stamp;\n return (this.pulse = rv || pulse);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-dataflow/src/Operator.js\n// module id = 94\n// module chunks = 0","import {tupleid} from './Tuple';\nimport {array, isArray, visitArray} from 'vega-util';\n\n/**\n * Sentinel value indicating pulse propagation should stop.\n */\nexport var StopPropagation = {};\n\n// Pulse visit type flags\nvar ADD = (1 << 0),\n REM = (1 << 1),\n MOD = (1 << 2),\n ADD_REM = ADD | REM,\n ADD_MOD = ADD | MOD,\n ALL = ADD | REM | MOD,\n REFLOW = (1 << 3),\n SOURCE = (1 << 4),\n NO_SOURCE = (1 << 5),\n NO_FIELDS = (1 << 6);\n\n/**\n * A Pulse enables inter-operator communication during a run of the\n * dataflow graph. In addition to the current timestamp, a pulse may also\n * contain a change-set of added, removed or modified data tuples, as well as\n * a pointer to a full backing data source. Tuple change sets may not\n * be fully materialized; for example, to prevent needless array creation\n * a change set may include larger arrays and corresponding filter functions.\n * The pulse provides a {@link visit} method to enable proper and efficient\n * iteration over requested data tuples.\n *\n * In addition, each pulse can track modification flags for data tuple fields.\n * Responsible transform operators should call the {@link modifies} method to\n * indicate changes to data fields. The {@link modified} method enables\n * querying of this modification state.\n *\n * @constructor\n * @param {Dataflow} dataflow - The backing dataflow instance.\n * @param {number} stamp - The current propagation timestamp.\n * @param {string} [encode] - An optional encoding set name, which is then\n * accessible as Pulse.encode. Operators can respond to (or ignore) this\n * setting as appropriate. This parameter can be used in conjunction with\n * the Encode transform in the vega-encode module.\n */\nexport default function Pulse(dataflow, stamp, encode) {\n this.dataflow = dataflow;\n this.stamp = stamp == null ? -1 : stamp;\n this.add = [];\n this.rem = [];\n this.mod = [];\n this.fields = null;\n this.encode = encode || null;\n}\n\nvar prototype = Pulse.prototype;\n\n/**\n * Sentinel value indicating pulse propagation should stop.\n */\nprototype.StopPropagation = StopPropagation;\n\n/**\n * Boolean flag indicating ADD (added) tuples.\n */\nprototype.ADD = ADD;\n\n/**\n * Boolean flag indicating REM (removed) tuples.\n */\nprototype.REM = REM;\n\n/**\n * Boolean flag indicating MOD (modified) tuples.\n */\nprototype.MOD = MOD;\n\n/**\n * Boolean flag indicating ADD (added) and REM (removed) tuples.\n */\nprototype.ADD_REM = ADD_REM;\n\n/**\n * Boolean flag indicating ADD (added) and MOD (modified) tuples.\n */\nprototype.ADD_MOD = ADD_MOD;\n\n/**\n * Boolean flag indicating ADD, REM and MOD tuples.\n */\nprototype.ALL = ALL;\n\n/**\n * Boolean flag indicating all tuples in a data source\n * except for the ADD, REM and MOD tuples.\n */\nprototype.REFLOW = REFLOW;\n\n/**\n * Boolean flag indicating a 'pass-through' to a\n * backing data source, ignoring ADD, REM and MOD tuples.\n */\nprototype.SOURCE = SOURCE;\n\n/**\n * Boolean flag indicating that source data should be\n * suppressed when creating a forked pulse.\n */\nprototype.NO_SOURCE = NO_SOURCE;\n\n/**\n * Boolean flag indicating that field modifications should be\n * suppressed when creating a forked pulse.\n */\nprototype.NO_FIELDS = NO_FIELDS;\n\n/**\n * Creates a new pulse based on the values of this pulse.\n * The dataflow, time stamp and field modification values are copied over.\n * By default, new empty ADD, REM and MOD arrays are created.\n * @param {number} flags - Integer of boolean flags indicating which (if any)\n * tuple arrays should be copied to the new pulse. The supported flag values\n * are ADD, REM and MOD. Array references are copied directly: new array\n * instances are not created.\n * @return {Pulse} - The forked pulse instance.\n * @see init\n */\nprototype.fork = function(flags) {\n return new Pulse(this.dataflow).init(this, flags);\n};\n\n/**\n * Creates a copy of this pulse with new materialized array\n * instances for the ADD, REM, MOD, and SOURCE arrays.\n * The dataflow, time stamp and field modification values are copied over.\n * @return {Pulse} - The cloned pulse instance.\n * @see init\n */\nprototype.clone = function() {\n var p = this.fork(ALL);\n p.add = p.add.slice();\n p.rem = p.rem.slice();\n p.mod = p.mod.slice();\n if (p.source) p.source = p.source.slice();\n return p.materialize(ALL | SOURCE);\n};\n\n/**\n * Returns a pulse that adds all tuples from a backing source. This is\n * useful for cases where operators are added to a dataflow after an\n * upstream data pipeline has already been processed, ensuring that\n * new operators can observe all tuples within a stream.\n * @return {Pulse} - A pulse instance with all source tuples included\n * in the add array. If the current pulse already has all source\n * tuples in its add array, it is returned directly. If the current\n * pulse does not have a backing source, it is returned directly.\n */\nprototype.addAll = function() {\n var p = this;\n if (!this.source || this.source.length === this.add.length) {\n return p;\n } else {\n p = new Pulse(this.dataflow).init(this);\n p.add = p.source;\n return p;\n }\n};\n\n/**\n * Initialize this pulse based on the values of another pulse. This method\n * is used internally by {@link fork} to initialize a new forked tuple.\n * The dataflow, time stamp and field modification values are copied over.\n * By default, new empty ADD, REM and MOD arrays are created.\n * @param {Pulse} src - The source pulse to copy from.\n * @param {number} flags - Integer of boolean flags indicating which (if any)\n * tuple arrays should be copied to the new pulse. The supported flag values\n * are ADD, REM and MOD. Array references are copied directly: new array\n * instances are not created. By default, source data arrays are copied\n * to the new pulse. Use the NO_SOURCE flag to enforce a null source.\n * @return {Pulse} - Returns this Pulse instance.\n */\nprototype.init = function(src, flags) {\n var p = this;\n p.stamp = src.stamp;\n p.encode = src.encode;\n\n if (src.fields && !(flags & NO_FIELDS)) {\n p.fields = src.fields;\n }\n\n if (flags & ADD) {\n p.addF = src.addF;\n p.add = src.add;\n } else {\n p.addF = null;\n p.add = [];\n }\n\n if (flags & REM) {\n p.remF = src.remF;\n p.rem = src.rem;\n } else {\n p.remF = null;\n p.rem = [];\n }\n\n if (flags & MOD) {\n p.modF = src.modF;\n p.mod = src.mod;\n } else {\n p.modF = null;\n p.mod = [];\n }\n\n if (flags & NO_SOURCE) {\n p.srcF = null;\n p.source = null;\n } else {\n p.srcF = src.srcF;\n p.source = src.source;\n }\n\n return p;\n};\n\n/**\n * Schedules a function to run after pulse propagation completes.\n * @param {function} func - The function to run.\n */\nprototype.runAfter = function(func) {\n this.dataflow.runAfter(func);\n};\n\n/**\n * Indicates if tuples have been added, removed or modified.\n * @param {number} [flags] - The tuple types (ADD, REM or MOD) to query.\n * Defaults to ALL, returning true if any tuple type has changed.\n * @return {boolean} - Returns true if one or more queried tuple types have\n * changed, false otherwise.\n */\nprototype.changed = function(flags) {\n var f = flags || ALL;\n return ((f & ADD) && this.add.length)\n || ((f & REM) && this.rem.length)\n || ((f & MOD) && this.mod.length);\n};\n\n/**\n * Forces a \"reflow\" of tuple values, such that all tuples in the backing\n * source are added to the MOD set, unless already present in the ADD set.\n * @param {boolean} [fork=false] - If true, returns a forked copy of this\n * pulse, and invokes reflow on that derived pulse.\n * @return {Pulse} - The reflowed pulse instance.\n */\nprototype.reflow = function(fork) {\n if (fork) return this.fork(ALL).reflow();\n\n var len = this.add.length,\n src = this.source && this.source.length;\n if (src && src !== len) {\n this.mod = this.source;\n if (len) this.filter(MOD, filter(this, ADD));\n }\n return this;\n};\n\n/**\n * Marks one or more data field names as modified to assist dependency\n * tracking and incremental processing by transform operators.\n * @param {string|Array<string>} _ - The field(s) to mark as modified.\n * @return {Pulse} - This pulse instance.\n */\nprototype.modifies = function(_) {\n var fields = array(_),\n hash = this.fields || (this.fields = {});\n fields.forEach(function(f) { hash[f] = true; });\n return this;\n};\n\n/**\n * Checks if one or more data fields have been modified during this pulse\n * propagation timestamp.\n * @param {string|Array<string>} _ - The field(s) to check for modified.\n * @return {boolean} - Returns true if any of the provided fields has been\n * marked as modified, false otherwise.\n */\nprototype.modified = function(_) {\n var fields = this.fields;\n return !(this.mod.length && fields) ? false\n : !arguments.length ? !!fields\n : isArray(_) ? _.some(function(f) { return fields[f]; })\n : fields[_];\n};\n\n/**\n * Adds a filter function to one more tuple sets. Filters are applied to\n * backing tuple arrays, to determine the actual set of tuples considered\n * added, removed or modified. They can be used to delay materialization of\n * a tuple set in order to avoid expensive array copies. In addition, the\n * filter functions can serve as value transformers: unlike standard predicate\n * function (which return boolean values), Pulse filters should return the\n * actual tuple value to process. If a tuple set is already filtered, the\n * new filter function will be appended into a conjuntive ('and') query.\n * @param {number} flags - Flags indicating the tuple set(s) to filter.\n * @param {function(*):object} filter - Filter function that will be applied\n * to the tuple set array, and should return a data tuple if the value\n * should be included in the tuple set, and falsy (or null) otherwise.\n * @return {Pulse} - Returns this pulse instance.\n */\nprototype.filter = function(flags, filter) {\n var p = this;\n if (flags & ADD) p.addF = addFilter(p.addF, filter);\n if (flags & REM) p.remF = addFilter(p.remF, filter);\n if (flags & MOD) p.modF = addFilter(p.modF, filter);\n if (flags & SOURCE) p.srcF = addFilter(p.srcF, filter);\n return p;\n};\n\nfunction addFilter(a, b) {\n return a ? function(t,i) { return a(t,i) && b(t,i); } : b;\n}\n\n/**\n * Materialize one or more tuple sets in this pulse. If the tuple set(s) have\n * a registered filter function, it will be applied and the tuple set(s) will\n * be replaced with materialized tuple arrays.\n * @param {number} flags - Flags indicating the tuple set(s) to materialize.\n * @return {Pulse} - Returns this pulse instance.\n */\nprototype.materialize = function(flags) {\n flags = flags || ALL;\n var p = this;\n if ((flags & ADD) && p.addF) {\n p.add = materialize(p.add, p.addF);\n p.addF = null;\n }\n if ((flags & REM) && p.remF) {\n p.rem = materialize(p.rem, p.remF);\n p.remF = null;\n }\n if ((flags & MOD) && p.modF) {\n p.mod = materialize(p.mod, p.modF);\n p.modF = null;\n }\n if ((flags & SOURCE) && p.srcF) {\n p.source = p.source.filter(p.srcF);\n p.srcF = null;\n }\n return p;\n};\n\nfunction materialize(data, filter) {\n var out = [];\n visitArray(data, filter, function(_) { out.push(_); });\n return out;\n}\n\nfunction filter(pulse, flags) {\n var map = {};\n pulse.visit(flags, function(t) { map[tupleid(t)] = 1; });\n return function(t) { return map[tupleid(t)] ? null : t; };\n}\n\n/**\n * Visit one or more tuple sets in this pulse.\n * @param {number} flags - Flags indicating the tuple set(s) to visit.\n * Legal values are ADD, REM, MOD and SOURCE (if a backing data source\n * has been set).\n * @param {function(object):*} - Visitor function invoked per-tuple.\n * @return {Pulse} - Returns this pulse instance.\n */\nprototype.visit = function(flags, visitor) {\n var p = this, v = visitor, src, sum;\n\n if (flags & SOURCE) {\n visitArray(p.source, p.srcF, v);\n return p;\n }\n\n if (flags & ADD) visitArray(p.add, p.addF, v);\n if (flags & REM) visitArray(p.rem, p.remF, v);\n if (flags & MOD) visitArray(p.mod, p.modF, v);\n\n if ((flags & REFLOW) && (src = p.source)) {\n sum = p.add.length + p.mod.length;\n if (sum === src.length) {\n // do nothing\n } else if (sum) {\n visitArray(src, filter(p, ADD_MOD), v);\n } else {\n // if no add/rem/mod tuples, visit source\n visitArray(src, p.srcF, v);\n }\n }\n\n return p;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-dataflow/src/Pulse.js\n// module id = 96\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/curve/linear.js\n// module id = 98\n// module chunks = 0","export default function() {}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/noop.js\n// module id = 99\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/curve/basis.js\n// module id = 100\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/curve/cardinal.js\n// module id = 101\n// module chunks = 0","// Path parsing and rendering code adapted from fabric.js -- Thanks!\nvar cmdlen = { m:2, l:2, h:1, v:1, c:6, s:4, q:4, t:2, a:7 },\n regexp = [/([MLHVCSQTAZmlhvcsqtaz])/g, /###/, /(\\d)([-+])/g, /\\s|,|###/];\n\nexport default function(pathstr) {\n var result = [],\n path,\n curr,\n chunks,\n parsed, param,\n cmd, len, i, j, n, m;\n\n // First, break path into command sequence\n path = pathstr\n .slice()\n .replace(regexp[0], '###$1')\n .split(regexp[1])\n .slice(1);\n\n // Next, parse each command in turn\n for (i=0, n=path.length; i<n; ++i) {\n curr = path[i];\n chunks = curr\n .slice(1)\n .trim()\n .replace(regexp[2],'$1###$2')\n .split(regexp[3]);\n cmd = curr.charAt(0);\n\n parsed = [cmd];\n for (j=0, m=chunks.length; j<m; ++j) {\n if ((param = +chunks[j]) === param) { // not NaN\n parsed.push(param);\n }\n }\n\n len = cmdlen[cmd.toLowerCase()];\n if (parsed.length-1 > len) {\n for (j=1, m=parsed.length; j<m; j+=len) {\n result.push([cmd].concat(parsed.slice(j, j+len)));\n }\n }\n else {\n result.push(parsed);\n }\n }\n\n return result;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/path/parse.js\n// module id = 102\n// module chunks = 0","import fill from './fill';\nimport stroke from './stroke';\nimport {visit} from '../visit';\n\nexport function drawAll(path) {\n return function(context, scene, bounds) {\n visit(scene, function(item) {\n if (!bounds || bounds.intersects(item.bounds)) {\n drawPath(path, context, item, item);\n }\n });\n };\n}\n\nexport function drawOne(path) {\n return function(context, scene, bounds) {\n if (scene.items.length && (!bounds || bounds.intersects(scene.bounds))) {\n drawPath(path, context, scene.items[0], scene.items);\n }\n };\n}\n\nfunction drawPath(path, context, item, items) {\n var opacity = item.opacity == null ? 1 : item.opacity;\n if (opacity === 0) return;\n\n if (path(context, items)) return;\n\n if (item.fill && fill(context, item, opacity)) {\n context.fill();\n }\n\n if (item.stroke && stroke(context, item, opacity)) {\n context.stroke();\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/util/canvas/draw.js\n// module id = 103\n// module chunks = 0","import color from './color';\n\nvar Empty = [];\n\nexport default function(context, item, opacity) {\n var lw = (lw = item.strokeWidth) != null ? lw : 1;\n\n if (lw <= 0) return false;\n\n opacity *= (item.strokeOpacity==null ? 1 : item.strokeOpacity);\n if (opacity > 0) {\n context.globalAlpha = opacity;\n context.strokeStyle = color(context, item, item.stroke);\n\n context.lineWidth = lw;\n context.lineCap = item.strokeCap || 'butt';\n context.lineJoin = item.strokeJoin || 'miter';\n context.miterLimit = item.strokeMiterLimit || 10;\n\n if (context.setLineDash) {\n context.setLineDash(item.strokeDash || Empty);\n context.lineDashOffset = item.strokeDashOffset || 0;\n }\n return true;\n } else {\n return false;\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/util/canvas/stroke.js\n// module id = 104\n// module chunks = 0","import translate from './translate';\n\nexport default function(item) {\n return translate(item.x || 0, item.y || 0);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/util/svg/translateItem.js\n// module id = 105\n// module chunks = 0","import {isFunction} from 'vega-util';\n\nvar clip_id = 1;\n\nexport function resetSVGClipId() {\n clip_id = 1;\n}\n\nexport default function(renderer, item, size) {\n var clip = item.clip,\n defs = renderer._defs,\n id = item.clip_id || (item.clip_id = 'clip' + clip_id++),\n c = defs.clipping[id] || (defs.clipping[id] = {id: id});\n\n if (isFunction(clip)) {\n c.path = clip(null);\n } else {\n c.width = size.width || 0;\n c.height = size.height || 0;\n }\n\n return 'url(#' + id + ')';\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/util/svg/clip.js\n// module id = 106\n// module chunks = 0","import {canvas} from 'vega-canvas';\n\nvar context,\n currFontHeight;\n\nexport var textMetrics = {\n height: fontSize,\n measureWidth: measureWidth,\n estimateWidth: estimateWidth,\n width: estimateWidth,\n canvas: useCanvas\n};\n\nuseCanvas(true);\n\n// make dumb, simple estimate if no canvas is available\nfunction estimateWidth(item) {\n currFontHeight = fontSize(item);\n return estimate(textValue(item));\n}\n\nfunction estimate(text) {\n return ~~(0.8 * text.length * currFontHeight);\n}\n\n// measure text width if canvas is available\nfunction measureWidth(item) {\n context.font = font(item);\n return measure(textValue(item));\n}\n\nfunction measure(text) {\n return context.measureText(text).width;\n}\n\nexport function fontSize(item) {\n return item.fontSize != null ? item.fontSize : 11;\n}\n\nfunction useCanvas(use) {\n context = use && (context = canvas(1,1)) ? context.getContext('2d') : null;\n textMetrics.width = context ? measureWidth : estimateWidth;\n}\n\nexport function textValue(item) {\n var s = item.text;\n if (s == null) {\n return '';\n } else {\n return item.limit > 0 ? truncate(item) : s + '';\n }\n}\n\nexport function truncate(item) {\n var limit = +item.limit,\n text = item.text + '',\n width;\n\n if (context) {\n context.font = font(item);\n width = measure;\n } else {\n currFontHeight = fontSize(item);\n width = estimate;\n }\n\n if (width(text) < limit) return text;\n\n var ellipsis = item.ellipsis || '\\u2026',\n rtl = item.dir === 'rtl',\n lo = 0,\n hi = text.length, mid;\n\n limit -= width(ellipsis);\n\n if (rtl) {\n while (lo < hi) {\n mid = (lo + hi >>> 1);\n if (width(text.slice(mid)) > limit) lo = mid + 1;\n else hi = mid;\n }\n return ellipsis + text.slice(lo);\n } else {\n while (lo < hi) {\n mid = 1 + (lo + hi >>> 1);\n if (width(text.slice(0, mid)) < limit) lo = mid;\n else hi = mid - 1;\n }\n return text.slice(0, lo) + ellipsis;\n }\n}\n\nexport function fontFamily(item, quote) {\n var font = item.font;\n return (quote && font\n ? String(font).replace(/\"/g, '\\'')\n : font) || 'sans-serif';\n}\n\nexport function font(item, quote) {\n return '' +\n (item.fontStyle ? item.fontStyle + ' ' : '') +\n (item.fontVariant ? item.fontVariant + ' ' : '') +\n (item.fontWeight ? item.fontWeight + ' ' : '') +\n fontSize(item) + 'px ' +\n fontFamily(item, quote);\n}\n\nexport function offset(item) {\n // perform our own font baseline calculation\n // why? not all browsers support SVG 1.1 'alignment-baseline' :(\n var baseline = item.baseline,\n h = fontSize(item);\n return Math.round(\n baseline === 'top' ? 0.79*h :\n baseline === 'middle' ? 0.30*h :\n baseline === 'bottom' ? -0.21*h : 0\n );\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/util/text.js\n// module id = 107\n// module chunks = 0","import ResourceLoader from './ResourceLoader';\n\n/**\n * Create a new Renderer instance.\n * @param {object} [loader] - Optional loader instance for\n * image and href URL sanitization. If not specified, a\n * standard loader instance will be generated.\n * @constructor\n */\nexport default function Renderer(loader) {\n this._el = null;\n this._bgcolor = null;\n this._loader = new ResourceLoader(loader);\n}\n\nvar prototype = Renderer.prototype;\n\n/**\n * Initialize a new Renderer instance.\n * @param {DOMElement} el - The containing DOM element for the display.\n * @param {number} width - The coordinate width of the display, in pixels.\n * @param {number} height - The coordinate height of the display, in pixels.\n * @param {Array<number>} origin - The origin of the display, in pixels.\n * The coordinate system will be translated to this point.\n * @param {number} [scaleFactor=1] - Optional scaleFactor by which to multiply\n * the width and height to determine the final pixel size.\n * @return {Renderer} - This renderer instance.\n */\nprototype.initialize = function(el, width, height, origin, scaleFactor) {\n this._el = el;\n return this.resize(width, height, origin, scaleFactor);\n};\n\n/**\n * Returns the parent container element for a visualization.\n * @return {DOMElement} - The containing DOM element.\n */\nprototype.element = function() {\n return this._el;\n};\n\n/**\n * Returns the scene element (e.g., canvas or SVG) of the visualization\n * Subclasses must override if the first child is not the scene element.\n * @return {DOMElement} - The scene (e.g., canvas or SVG) element.\n */\nprototype.canvas = function() {\n return this._el && this._el.firstChild;\n};\n\n/**\n * Get / set the background color.\n */\nprototype.background = function(bgcolor) {\n if (arguments.length === 0) return this._bgcolor;\n this._bgcolor = bgcolor;\n return this;\n};\n\n/**\n * Resize the display.\n * @param {number} width - The new coordinate width of the display, in pixels.\n * @param {number} height - The new coordinate height of the display, in pixels.\n * @param {Array<number>} origin - The new origin of the display, in pixels.\n * The coordinate system will be translated to this point.\n * @param {number} [scaleFactor=1] - Optional scaleFactor by which to multiply\n * the width and height to determine the final pixel size.\n * @return {Renderer} - This renderer instance;\n */\nprototype.resize = function(width, height, origin, scaleFactor) {\n this._width = width;\n this._height = height;\n this._origin = origin || [0, 0];\n this._scale = scaleFactor || 1;\n return this;\n};\n\n/**\n * Report a dirty item whose bounds should be redrawn.\n * This base class method does nothing. Subclasses that perform\n * incremental should implement this method.\n * @param {Item} item - The dirty item whose bounds should be redrawn.\n */\nprototype.dirty = function(/*item*/) {\n};\n\n/**\n * Render an input scenegraph, potentially with a set of dirty items.\n * This method will perform an immediate rendering with available resources.\n * The renderer may also need to perform image loading to perform a complete\n * render. This process can lead to asynchronous re-rendering of the scene\n * after this method returns. To receive notification when rendering is\n * complete, use the renderAsync method instead.\n * @param {object} scene - The root mark of a scenegraph to render.\n * @return {Renderer} - This renderer instance.\n */\nprototype.render = function(scene) {\n var r = this;\n\n // bind arguments into a render call, and cache it\n // this function may be subsequently called for async redraw\n r._call = function() { r._render(scene); };\n\n // invoke the renderer\n r._call();\n\n // clear the cached call for garbage collection\n // async redraws will stash their own copy\n r._call = null;\n\n return r;\n};\n\n/**\n * Internal rendering method. Renderer subclasses should override this\n * method to actually perform rendering.\n * @param {object} scene - The root mark of a scenegraph to render.\n */\nprototype._render = function(/*scene*/) {\n // subclasses to override\n};\n\n/**\n * Asynchronous rendering method. Similar to render, but returns a Promise\n * that resolves when all rendering is completed. Sometimes a renderer must\n * perform image loading to get a complete rendering. The returned\n * Promise will not resolve until this process completes.\n * @param {object} scene - The root mark of a scenegraph to render.\n * @return {Promise} - A Promise that resolves when rendering is complete.\n */\nprototype.renderAsync = function(scene) {\n var r = this.render(scene);\n return this._ready\n ? this._ready.then(function() { return r; })\n : Promise.resolve(r);\n};\n\n/**\n * Internal method for asynchronous resource loading.\n * Proxies method calls to the ImageLoader, and tracks loading\n * progress to invoke a re-render once complete.\n * @param {string} method - The method name to invoke on the ImageLoader.\n * @param {string} uri - The URI for the requested resource.\n * @return {Promise} - A Promise that resolves to the requested resource.\n */\nprototype._load = function(method, uri) {\n var r = this,\n p = r._loader[method](uri);\n\n if (!r._ready) {\n // re-render the scene when loading completes\n var call = r._call;\n r._ready = r._loader.ready()\n .then(function(redraw) {\n if (redraw) call();\n r._ready = null;\n });\n }\n\n return p;\n};\n\n/**\n * Sanitize a URL to include as a hyperlink in the rendered scene.\n * This method proxies a call to ImageLoader.sanitizeURL, but also tracks\n * image loading progress and invokes a re-render once complete.\n * @param {string} uri - The URI string to sanitize.\n * @return {Promise} - A Promise that resolves to the sanitized URL.\n */\nprototype.sanitizeURL = function(uri) {\n return this._load('sanitizeURL', uri);\n};\n\n/**\n * Requests an image to include in the rendered scene.\n * This method proxies a call to ImageLoader.loadImage, but also tracks\n * image loading progress and invokes a re-render once complete.\n * @param {string} uri - The URI string of the image.\n * @return {Promise} - A Promise that resolves to the loaded Image.\n */\nprototype.loadImage = function(uri) {\n return this._load('loadImage', uri);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/Renderer.js\n// module id = 108\n// module chunks = 0","export default function(a, b) {\n return a = +a, b -= a, function(t) {\n return a + b * t;\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-interpolate/src/number.js\n// module id = 110\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale/src/continuous.js\n// module id = 111\n// module chunks = 0","import formatDecimal from \"./formatDecimal\";\n\nexport default function(x) {\n return x = formatDecimal(Math.abs(x)), x ? x[1] : NaN;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-format/src/exponent.js\n// module id = 112\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/rotation.js\n// module id = 114\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/clip/rectangle.js\n// module id = 115\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/transform.js\n// module id = 116\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-hierarchy/src/treemap/slice.js\n// module id = 117\n// module chunks = 0","import {Transform} from 'vega-dataflow';\nimport {error, inherits} from 'vega-util';\n\n/**\n * Abstract class for tree layout.\n * @constructor\n * @param {object} params - The parameters for this operator.\n */\nexport default function HierarchyLayout(params) {\n Transform.call(this, null, params);\n}\n\nvar prototype = inherits(HierarchyLayout, Transform);\n\nprototype.transform = function(_, pulse) {\n if (!pulse.source || !pulse.source.root) {\n error(this.constructor.name\n + ' transform requires a backing tree data source.');\n }\n\n var layout = this.layout(_.method),\n fields = this.fields,\n root = pulse.source.root,\n as = _.as || fields;\n\n if (_.field) root.sum(_.field);\n if (_.sort) root.sort(_.sort);\n\n setParams(layout, this.params, _);\n try {\n this.value = layout(root);\n } catch (err) {\n error(err);\n }\n root.each(function(node) { setFields(node, fields, as); });\n\n return pulse.reflow(_.modified()).modifies(as).modifies('leaf');\n};\n\nfunction setParams(layout, params, _) {\n for (var p, i=0, n=params.length; i<n; ++i) {\n p = params[i];\n if (p in _) layout[p](_[p]);\n }\n}\n\nfunction setFields(node, fields, as) {\n var t = node.data;\n for (var i=0, n=fields.length-1; i<n; ++i) {\n t[as[i]] = node[fields[i]];\n }\n t[as[n]] = node.children ? node.children.length : 0;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-hierarchy/src/HierarchyLayout.js\n// module id = 118\n// module chunks = 0","export function width(view) {\n var padding = view.padding();\n return Math.max(0, view._viewWidth + padding.left + padding.right);\n}\n\nexport function height(view) {\n var padding = view.padding();\n return Math.max(0, view._viewHeight + padding.top + padding.bottom);\n}\n\nexport function offset(view) {\n var padding = view.padding(),\n origin = view._origin;\n return [\n padding.left + origin[0],\n padding.top + origin[1]\n ];\n}\n\nexport function resizeRenderer(view) {\n var origin = offset(view),\n w = width(view),\n h = height(view);\n\n view._renderer.background(view._background);\n view._renderer.resize(w, h, origin);\n view._handler.origin(origin);\n\n view._resizeListeners.forEach(function(handler) {\n try {\n handler(w, h);\n } catch (error) {\n view.error(error);\n }\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-view/src/render-size.js\n// module id = 119\n// module chunks = 0","import parseSignalUpdates from './signal-updates';\nimport {initScale, parseScale} from './scale';\nimport parseProjection from './projection';\nimport parseLegend from './legend';\nimport parseSignal from './signal';\nimport parseTitle from './title';\nimport parseData from './data';\nimport parseMark from './mark';\nimport parseAxis from './axis';\nimport {array} from 'vega-util';\n\nexport default function(spec, scope, preprocessed) {\n var signals = array(spec.signals),\n scales = array(spec.scales);\n\n if (!preprocessed) signals.forEach(function(_) {\n parseSignal(_, scope);\n });\n\n array(spec.projections).forEach(function(_) {\n parseProjection(_, scope);\n });\n\n scales.forEach(function(_) {\n initScale(_, scope);\n });\n\n array(spec.data).forEach(function(_) {\n parseData(_, scope);\n });\n\n scales.forEach(function(_) {\n parseScale(_, scope);\n });\n\n signals.forEach(function(_) {\n parseSignalUpdates(_, scope);\n });\n\n array(spec.axes).forEach(function(_) {\n parseAxis(_, scope);\n });\n\n array(spec.marks).forEach(function(_) {\n parseMark(_, scope);\n });\n\n array(spec.legends).forEach(function(_) {\n parseLegend(_, scope);\n });\n\n if (spec.title) {\n parseTitle(spec.title, scope);\n }\n\n scope.parseLambdas();\n return scope;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/spec.js\n// module id = 120\n// module chunks = 0","import {Literal, Identifier} from './ast';\nimport {scalePrefix} from './prefixes';\nimport {bandSpace} from 'vega-scale';\nimport {isArray, isFunction, isString} from 'vega-util';\n\nexport function getScale(name, ctx) {\n var s;\n return isFunction(name) ? name\n : isString(name) ? (s = ctx.scales[name]) && s.value\n : undefined;\n}\n\nfunction addScaleDependency(scope, params, name) {\n var scaleName = scalePrefix + name;\n if (!params.hasOwnProperty(scaleName)) {\n try {\n params[scaleName] = scope.scaleRef(name);\n } catch (err) {\n // TODO: error handling? warning?\n }\n }\n}\n\nexport function scaleVisitor(name, args, scope, params) {\n if (args[0].type === Literal) {\n // add scale dependency\n addScaleDependency(scope, params, args[0].value);\n }\n else if (args[0].type === Identifier) {\n // indirect scale lookup; add all scales as parameters\n for (name in scope.scales) {\n addScaleDependency(scope, params, name);\n }\n }\n}\n\nexport function range(name, group) {\n var s = getScale(name, (group || this).context);\n return s && s.range ? s.range() : [];\n}\n\nexport function domain(name, group) {\n var s = getScale(name, (group || this).context);\n return s ? s.domain() : [];\n}\n\nexport function bandwidth(name, group) {\n var s = getScale(name, (group || this).context);\n return s && s.bandwidth ? s.bandwidth() : 0;\n}\n\nexport function bandspace(count, paddingInner, paddingOuter) {\n return bandSpace(count || 0, paddingInner || 0, paddingOuter || 0);\n}\n\nexport function copy(name, group) {\n var s = getScale(name, (group || this).context);\n return s ? s.copy() : undefined;\n}\n\nexport function scale(name, value, group) {\n var s = getScale(name, (group || this).context);\n return s ? s(value) : undefined;\n}\n\nexport function invert(name, range, group) {\n var s = getScale(name, (group || this).context);\n return !s ? undefined\n : isArray(range) ? (s.invertRange || s.invert)(range)\n : (s.invert || s.invertExtent)(range);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/expression/scale.js\n// module id = 121\n// module chunks = 0","export var indexPrefix = '@';\nexport var scalePrefix = '%';\nexport var dataPrefix = ':';\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/expression/prefixes.js\n// module id = 122\n// module chunks = 0","import color from './color';\nimport field from './field';\nimport scale from './scale';\nimport gradient from './gradient';\nimport property from './property';\nimport expression from './expression';\nimport {stringValue} from 'vega-util';\n\nexport default function(channel, enc, scope, params, fields) {\n if (enc.gradient != null) {\n return gradient(enc, scope, params, fields);\n }\n\n var value = enc.signal ? expression(enc.signal, scope, params, fields)\n : enc.color ? color(enc.color, scope, params, fields)\n : enc.field != null ? field(enc.field, scope, params, fields)\n : enc.value !== undefined ? stringValue(enc.value)\n : undefined;\n\n if (enc.scale != null) {\n value = scale(enc, value, scope, params, fields);\n }\n\n if (value === undefined) {\n value = null;\n }\n\n if (enc.exponent != null) {\n value = 'Math.pow(' + value + ','\n + property(enc.exponent, scope, params, fields) + ')';\n }\n\n if (enc.mult != null) {\n value += '*' + property(enc.mult, scope, params, fields);\n }\n\n if (enc.offset != null) {\n value += '+' + property(enc.offset, scope, params, fields);\n }\n\n if (enc.round) {\n value = 'Math.round(' + value + ')';\n }\n\n return value;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/encode/entry.js\n// module id = 124\n// module chunks = 0","import expression from '../expression';\nimport {extend} from 'vega-util';\n\nexport default function(code, scope, params, fields) {\n var expr = expression(code, scope);\n expr.$fields.forEach(function(name) { fields[name] = 1; });\n extend(params, expr.$params);\n return expr.$expr;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/encode/expression.js\n// module id = 125\n// module chunks = 0","import clip from './marks/clip';\nimport definition from './marks/definition';\nimport interactive from './marks/interactive';\nimport parseData from './marks/data';\nimport parseFacet from './marks/facet';\nimport parseSubflow from './marks/subflow';\nimport getRole from './marks/role';\nimport {GroupMark} from './marks/marktypes';\nimport {FrameRole, MarkRole, ScopeRole} from './marks/roles';\nimport {encoders} from './encode/encode-util';\nimport parseTransform from './transform';\nimport parseTrigger from './trigger';\nimport parseSpec from './spec';\nimport DataScope from '../DataScope';\nimport {fieldRef, isSignal, ref} from '../util';\nimport {error} from 'vega-util';\nimport {Bound, Collect, DataJoin, Mark, Encode, Overlap, Render, Sieve, SortItems, ViewLayout} from '../transforms';\n\nexport default function(spec, scope) {\n var role = getRole(spec),\n group = spec.type === GroupMark,\n facet = spec.from && spec.from.facet,\n layout = spec.layout || role === ScopeRole || role === FrameRole,\n nested = role === MarkRole || layout || facet,\n overlap = spec.overlap,\n ops, op, input, store, bound, render, sieve, name,\n joinRef, markRef, encodeRef, layoutRef, boundRef;\n\n // resolve input data\n input = parseData(spec.from, group, scope);\n\n // data join to map tuples to visual items\n op = scope.add(DataJoin({\n key: input.key || (spec.key ? fieldRef(spec.key) : undefined),\n pulse: input.pulse,\n clean: !group\n }));\n joinRef = ref(op);\n\n // collect visual items\n op = store = scope.add(Collect({pulse: joinRef}));\n\n // connect visual items to scenegraph\n op = scope.add(Mark({\n markdef: definition(spec),\n interactive: interactive(spec.interactive, scope),\n clip: clip(spec.clip, scope),\n context: {$context: true},\n groups: scope.lookup(),\n parent: scope.signals.parent ? scope.signalRef('parent') : null,\n index: scope.markpath(),\n pulse: ref(op)\n }));\n markRef = ref(op);\n\n // add visual encoders\n op = scope.add(Encode(\n encoders(spec.encode, spec.type, role, spec.style, scope, {pulse: markRef})\n ));\n\n // monitor parent marks to propagate changes\n op.params.parent = scope.encode();\n\n // add post-encoding transforms, if defined\n if (spec.transform) {\n spec.transform.forEach(function(_) {\n var tx = parseTransform(_, scope);\n if (tx.metadata.generates || tx.metadata.changes) {\n error('Mark transforms should not generate new data.');\n }\n tx.params.pulse = ref(op);\n scope.add(op = tx);\n });\n }\n\n // if item sort specified, perform post-encoding\n if (spec.sort) {\n op = scope.add(SortItems({\n sort: scope.compareRef(spec.sort, true), // stable sort\n pulse: ref(op)\n }));\n }\n\n encodeRef = ref(op);\n\n // add view layout operator if needed\n if (facet || layout) {\n layout = scope.add(ViewLayout({\n layout: scope.objectProperty(spec.layout),\n legendMargin: scope.config.legendMargin,\n mark: markRef,\n pulse: encodeRef\n }));\n layoutRef = ref(layout);\n }\n\n // compute bounding boxes\n bound = scope.add(Bound({mark: markRef, pulse: layoutRef || encodeRef}));\n boundRef = ref(bound);\n\n // if group mark, recurse to parse nested content\n if (group) {\n // juggle layout & bounds to ensure they run *after* any faceting transforms\n if (nested) { ops = scope.operators; ops.pop(); if (layout) ops.pop(); }\n\n scope.pushState(encodeRef, layoutRef || boundRef, joinRef);\n facet ? parseFacet(spec, scope, input) // explicit facet\n : nested ? parseSubflow(spec, scope, input) // standard mark group\n : parseSpec(spec, scope); // guide group, we can avoid nested scopes\n scope.popState();\n\n if (nested) { if (layout) ops.push(layout); ops.push(bound); }\n }\n\n // if requested, add overlap removal transform\n if (overlap) {\n boundRef = parseOverlap(overlap, boundRef, scope);\n }\n\n // render / sieve items\n render = scope.add(Render({pulse: boundRef}));\n sieve = scope.add(Sieve({pulse: ref(render)}, undefined, scope.parent()));\n\n // if mark is named, make accessible as reactive geometry\n // add trigger updates if defined\n if (spec.name != null) {\n name = spec.name;\n scope.addData(name, new DataScope(scope, store, render, sieve));\n if (spec.on) spec.on.forEach(function(on) {\n if (on.insert || on.remove || on.toggle) {\n error('Marks only support modify triggers.');\n }\n parseTrigger(on, scope, name);\n });\n }\n}\n\nfunction parseOverlap(overlap, source, scope) {\n var method = overlap.method,\n bound = overlap.bound, tol;\n\n var params = {\n method: isSignal(method) ? scope.signalRef(method.signal) : method,\n pulse: source\n };\n\n if (overlap.order) {\n params.sort = scope.compareRef({field: overlap.order});\n }\n\n if (bound) {\n tol = bound.tolerance;\n params.boundTolerance = isSignal(tol) ? scope.signalRef(tol.signal) : +tol;\n params.boundScale = scope.scaleRef(bound.scale);\n params.boundOrient = bound.orient;\n }\n\n return ref(scope.add(Overlap(params)));\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/mark.js\n// module id = 126\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { isMarkDef } from './../mark';\nimport { BOXPLOT, normalizeBoxPlot, VL_ONLY_BOXPLOT_CONFIG_PROPERTY_INDEX } from './boxplot';\nimport { ERRORBAR, normalizeErrorBar } from './errorbar';\n// This package import below makes the generated .d.ts file compatible with\n// Typescript 2.7 so that libraries requiring us can use Typedoc (which\n// currently is limited to Typescript 2.7). This comment and import can be\n// removed when Typedoc is updated to Typescript 2.9 or later. See\n// https://github.com/vega/vega-lite/issues/3862 for more details.\nimport * as boxplot from './boxplot';\n/**\n * Registry index for all composite mark's normalizer\n */\nvar normalizerRegistry = {};\nexport function add(mark, normalizer) {\n normalizerRegistry[mark] = normalizer;\n}\nexport function remove(mark) {\n delete normalizerRegistry[mark];\n}\nexport var COMPOSITE_MARK_STYLES = boxplot.BOXPLOT_STYLES;\nexport var VL_ONLY_COMPOSITE_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX = tslib_1.__assign({}, VL_ONLY_BOXPLOT_CONFIG_PROPERTY_INDEX);\nadd(BOXPLOT, normalizeBoxPlot);\nadd(ERRORBAR, normalizeErrorBar);\n/**\n * Transform a unit spec with composite mark into a normal layer spec.\n */\nexport function normalize(\n// This GenericUnitSpec has any as Encoding because unit specs with composite mark can have additional encoding channels.\nspec, config) {\n var mark = isMarkDef(spec.mark) ? spec.mark.type : spec.mark;\n var normalizer = normalizerRegistry[mark];\n if (normalizer) {\n return normalizer(spec, config);\n }\n throw new Error(\"Invalid mark type \\\"\" + mark + \"\\\"\");\n}\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compositemark/index.js\n// module id = 127\n// module chunks = 0","// DateTime definition object\nimport { isNumber } from 'vega-util';\nimport * as log from './log';\nimport { duplicate, keys } from './util';\n/*\n * A designated year that starts on Sunday.\n */\nvar SUNDAY_YEAR = 2006;\nexport function isDateTime(o) {\n return !!o && (!!o.year || !!o.quarter || !!o.month || !!o.date || !!o.day ||\n !!o.hours || !!o.minutes || !!o.seconds || !!o.milliseconds);\n}\nexport var MONTHS = ['january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december'];\nexport var SHORT_MONTHS = MONTHS.map(function (m) { return m.substr(0, 3); });\nexport var DAYS = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'];\nexport var SHORT_DAYS = DAYS.map(function (d) { return d.substr(0, 3); });\nfunction normalizeQuarter(q) {\n if (isNumber(q)) {\n if (q > 4) {\n log.warn(log.message.invalidTimeUnit('quarter', q));\n }\n // We accept 1-based quarter, so need to readjust to 0-based quarter\n return (q - 1) + '';\n }\n else {\n // Invalid quarter\n throw new Error(log.message.invalidTimeUnit('quarter', q));\n }\n}\nfunction normalizeMonth(m) {\n if (isNumber(m)) {\n // We accept 1-based month, so need to readjust to 0-based month\n return (m - 1) + '';\n }\n else {\n var lowerM = m.toLowerCase();\n var monthIndex = MONTHS.indexOf(lowerM);\n if (monthIndex !== -1) {\n return monthIndex + ''; // 0 for january, ...\n }\n var shortM = lowerM.substr(0, 3);\n var shortMonthIndex = SHORT_MONTHS.indexOf(shortM);\n if (shortMonthIndex !== -1) {\n return shortMonthIndex + '';\n }\n // Invalid month\n throw new Error(log.message.invalidTimeUnit('month', m));\n }\n}\nfunction normalizeDay(d) {\n if (isNumber(d)) {\n // mod so that this can be both 0-based where 0 = sunday\n // and 1-based where 7=sunday\n return (d % 7) + '';\n }\n else {\n var lowerD = d.toLowerCase();\n var dayIndex = DAYS.indexOf(lowerD);\n if (dayIndex !== -1) {\n return dayIndex + ''; // 0 for january, ...\n }\n var shortD = lowerD.substr(0, 3);\n var shortDayIndex = SHORT_DAYS.indexOf(shortD);\n if (shortDayIndex !== -1) {\n return shortDayIndex + '';\n }\n // Invalid day\n throw new Error(log.message.invalidTimeUnit('day', d));\n }\n}\n/**\n * Return Vega Expression for a particular date time.\n * @param d\n * @param normalize whether to normalize quarter, month, day.\n */\nexport function dateTimeExpr(d, normalize) {\n if (normalize === void 0) { normalize = false; }\n var units = [];\n if (normalize && d.day !== undefined) {\n if (keys(d).length > 1) {\n log.warn(log.message.droppedDay(d));\n d = duplicate(d);\n delete d.day;\n }\n }\n if (d.year !== undefined) {\n units.push(d.year);\n }\n else if (d.day !== undefined) {\n // Set year to 2006 for working with day since January 1 2006 is a Sunday\n units.push(SUNDAY_YEAR);\n }\n else {\n units.push(0);\n }\n if (d.month !== undefined) {\n var month = normalize ? normalizeMonth(d.month) : d.month;\n units.push(month);\n }\n else if (d.quarter !== undefined) {\n var quarter = normalize ? normalizeQuarter(d.quarter) : d.quarter;\n units.push(quarter + '*3');\n }\n else {\n units.push(0); // months start at zero in JS\n }\n if (d.date !== undefined) {\n units.push(d.date);\n }\n else if (d.day !== undefined) {\n // HACK: Day only works as a standalone unit\n // This is only correct because we always set year to 2006 for day\n var day = normalize ? normalizeDay(d.day) : d.day;\n units.push(day + '+1');\n }\n else {\n units.push(1); // Date starts at 1 in JS\n }\n // Note: can't use TimeUnit enum here as importing it will create\n // circular dependency problem!\n for (var _i = 0, _a = ['hours', 'minutes', 'seconds', 'milliseconds']; _i < _a.length; _i++) {\n var timeUnit = _a[_i];\n if (d[timeUnit] !== undefined) {\n units.push(d[timeUnit]);\n }\n else {\n units.push(0);\n }\n }\n if (d.utc) {\n return \"utc(\" + units.join(', ') + \")\";\n }\n else {\n return \"datetime(\" + units.join(', ') + \")\";\n }\n}\n//# sourceMappingURL=datetime.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/datetime.js\n// module id = 128\n// module chunks = 0","import * as log from '../log';\nimport { isConcatSpec, isFacetSpec, isLayerSpec, isRepeatSpec, isUnitSpec } from '../spec';\nimport { ConcatModel } from './concat';\nimport { FacetModel } from './facet';\nimport { LayerModel } from './layer';\nimport { RepeatModel } from './repeat';\nimport { UnitModel } from './unit';\nexport function buildModel(spec, parent, parentGivenName, unitSize, repeater, config, fit) {\n if (isFacetSpec(spec)) {\n return new FacetModel(spec, parent, parentGivenName, repeater, config);\n }\n if (isLayerSpec(spec)) {\n return new LayerModel(spec, parent, parentGivenName, unitSize, repeater, config, fit);\n }\n if (isUnitSpec(spec)) {\n return new UnitModel(spec, parent, parentGivenName, unitSize, repeater, config, fit);\n }\n if (isRepeatSpec(spec)) {\n return new RepeatModel(spec, parent, parentGivenName, repeater, config);\n }\n if (isConcatSpec(spec)) {\n return new ConcatModel(spec, parent, parentGivenName, repeater, config);\n }\n throw new Error(log.message.INVALID_SPEC);\n}\n//# sourceMappingURL=buildmodel.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/buildmodel.js\n// module id = 129\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { MAIN, RAW } from '../../data';\nimport * as log from '../../log';\nimport { isAggregate, isBin, isCalculate, isFilter, isLookup, isStack, isTimeUnit, isWindow } from '../../transform';\nimport { keys } from '../../util';\nimport { isFacetModel, isLayerModel, isUnitModel } from '../model';\nimport { requiresSelectionId } from '../selection/selection';\nimport { AggregateNode } from './aggregate';\nimport { BinNode } from './bin';\nimport { CalculateNode } from './calculate';\nimport { OutputNode } from './dataflow';\nimport { FacetNode } from './facet';\nimport { FilterNode } from './filter';\nimport { FilterInvalidNode } from './filterinvalid';\nimport { ParseNode } from './formatparse';\nimport { GeoJSONNode } from './geojson';\nimport { GeoPointNode } from './geopoint';\nimport { IdentifierNode } from './identifier';\nimport { AncestorParse } from './index';\nimport { LookupNode } from './lookup';\nimport { SourceNode } from './source';\nimport { StackNode } from './stack';\nimport { TimeUnitNode } from './timeunit';\nimport { WindowTransformNode } from './window';\nfunction parseRoot(model, sources) {\n if (model.data || !model.parent) {\n // if the model defines a data source or is the root, create a source node\n var source = new SourceNode(model.data);\n var hash = source.hash();\n if (hash in sources) {\n // use a reference if we already have a source\n return sources[hash];\n }\n else {\n // otherwise add a new one\n sources[hash] = source;\n return source;\n }\n }\n else {\n // If we don't have a source defined (overriding parent's data), use the parent's facet root or main.\n return model.parent.component.data.facetRoot ? model.parent.component.data.facetRoot : model.parent.component.data.main;\n }\n}\n/**\n * Parses a transforms array into a chain of connected dataflow nodes.\n */\nexport function parseTransformArray(head, model, ancestorParse) {\n var lookupCounter = 0;\n model.transforms.forEach(function (t) {\n if (isCalculate(t)) {\n head = new CalculateNode(head, t);\n ancestorParse.set(t.as, 'derived', false);\n }\n else if (isFilter(t)) {\n head = ParseNode.makeImplicitFromFilterTransform(head, t, ancestorParse) || head;\n head = new FilterNode(head, model, t.filter);\n }\n else if (isBin(t)) {\n var bin = head = BinNode.makeFromTransform(head, t, model);\n for (var _i = 0, _a = keys(bin.producedFields()); _i < _a.length; _i++) {\n var field = _a[_i];\n ancestorParse.set(field, 'number', false);\n }\n }\n else if (isTimeUnit(t)) {\n head = TimeUnitNode.makeFromTransform(head, t);\n ancestorParse.set(t.as, 'date', false);\n }\n else if (isAggregate(t)) {\n var agg = head = AggregateNode.makeFromTransform(head, t);\n if (requiresSelectionId(model)) {\n head = new IdentifierNode(head);\n }\n for (var _b = 0, _c = keys(agg.producedFields()); _b < _c.length; _b++) {\n var field = _c[_b];\n ancestorParse.set(field, 'derived', false);\n }\n }\n else if (isLookup(t)) {\n var lookup = head = LookupNode.make(head, model, t, lookupCounter++);\n for (var _d = 0, _e = keys(lookup.producedFields()); _d < _e.length; _d++) {\n var field = _e[_d];\n ancestorParse.set(field, 'derived', false);\n }\n }\n else if (isWindow(t)) {\n var window_1 = head = new WindowTransformNode(head, t);\n for (var _f = 0, _g = keys(window_1.producedFields()); _f < _g.length; _f++) {\n var field = _g[_f];\n ancestorParse.set(field, 'derived', false);\n }\n }\n else if (isStack(t)) {\n var stack = head = StackNode.makeFromTransform(head, t);\n for (var _h = 0, _j = keys(stack.producedFields()); _h < _j.length; _h++) {\n var field = _j[_h];\n ancestorParse.set(field, 'derived', false);\n }\n }\n else {\n log.warn(log.message.invalidTransformIgnored(t));\n return;\n }\n });\n return head;\n}\n/*\nDescription of the dataflow (http://asciiflow.com/):\n +--------+\n | Source |\n +---+----+\n |\n v\n FormatParse\n (explicit)\n |\n v\n Transforms\n(Filter, Calculate, Binning, TimeUnit, Aggregate, Window, ...)\n |\n v\n FormatParse\n (implicit)\n |\n v\n Binning (in `encoding`)\n |\n v\n Timeunit (in `encoding`)\n |\n v\nFormula From Sort Array\n |\n v\n +--+--+\n | Raw |\n +-----+\n |\n v\n Aggregate (in `encoding`)\n |\n v\n Stack (in `encoding`)\n |\n v\n Invalid Filter\n |\n v\n +----------+\n | Main |\n +----------+\n |\n v\n +-------+\n | Facet |----> \"column\", \"column-layout\", and \"row\"\n +-------+\n |\n v\n ...Child data...\n*/\nexport function parseData(model) {\n var head = parseRoot(model, model.component.data.sources);\n var _a = model.component.data, outputNodes = _a.outputNodes, outputNodeRefCounts = _a.outputNodeRefCounts;\n var ancestorParse = model.parent ? model.parent.component.data.ancestorParse.clone() : new AncestorParse();\n // format.parse: null means disable parsing\n if (model.data && model.data.format && model.data.format.parse === null) {\n ancestorParse.parseNothing = true;\n }\n head = ParseNode.makeExplicit(head, model, ancestorParse) || head;\n // Default discrete selections require an identifier transform to\n // uniquely identify data points as the _id field is volatile. Add\n // this transform at the head of our pipeline such that the identifier\n // field is available for all subsequent datasets. Additional identifier\n // transforms will be necessary when new tuples are constructed\n // (e.g., post-aggregation).\n if (requiresSelectionId(model) && (isUnitModel(model) || isLayerModel(model))) {\n head = new IdentifierNode(head);\n }\n // HACK: This is equivalent for merging bin extent for union scale.\n // FIXME(https://github.com/vega/vega-lite/issues/2270): Correctly merge extent / bin node for shared bin scale\n var parentIsLayer = model.parent && isLayerModel(model.parent);\n if (isUnitModel(model) || isFacetModel(model)) {\n if (parentIsLayer) {\n head = BinNode.makeFromEncoding(head, model) || head;\n }\n }\n if (model.transforms.length > 0) {\n head = parseTransformArray(head, model, ancestorParse);\n }\n head = ParseNode.makeImplicitFromEncoding(head, model, ancestorParse) || head;\n if (isUnitModel(model)) {\n head = GeoJSONNode.parseAll(head, model);\n head = GeoPointNode.parseAll(head, model);\n }\n if (isUnitModel(model) || isFacetModel(model)) {\n if (!parentIsLayer) {\n head = BinNode.makeFromEncoding(head, model) || head;\n }\n head = TimeUnitNode.makeFromEncoding(head, model) || head;\n head = CalculateNode.parseAllForSortIndex(head, model);\n }\n // add an output node pre aggregation\n var rawName = model.getName(RAW);\n var raw = new OutputNode(head, rawName, RAW, outputNodeRefCounts);\n outputNodes[rawName] = raw;\n head = raw;\n if (isUnitModel(model)) {\n var agg = AggregateNode.makeFromEncoding(head, model);\n if (agg) {\n head = agg;\n if (requiresSelectionId(model)) {\n head = new IdentifierNode(head);\n }\n }\n head = StackNode.makeFromEncoding(head, model) || head;\n }\n if (isUnitModel(model)) {\n head = FilterInvalidNode.make(head, model) || head;\n }\n // output node for marks\n var mainName = model.getName(MAIN);\n var main = new OutputNode(head, mainName, MAIN, outputNodeRefCounts);\n outputNodes[mainName] = main;\n head = main;\n // add facet marker\n var facetRoot = null;\n if (isFacetModel(model)) {\n var facetName = model.getName('facet');\n // Derive new sort index field for facet's sort array\n head = CalculateNode.parseAllForSortIndex(head, model);\n // Derive new aggregate (via window) for facet's sort field\n // TODO: use JoinAggregate once we have it\n // augment data source with new fields for crossed facet\n head = WindowTransformNode.makeFromFacet(head, model.facet) || head;\n facetRoot = new FacetNode(head, model, facetName, main.getSource());\n outputNodes[facetName] = facetRoot;\n head = facetRoot;\n }\n return tslib_1.__assign({}, model.component.data, { outputNodes: outputNodes,\n outputNodeRefCounts: outputNodeRefCounts,\n raw: raw,\n main: main,\n facetRoot: facetRoot,\n ancestorParse: ancestorParse });\n}\n//# sourceMappingURL=parse.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/data/parse.js\n// module id = 130\n// module chunks = 0","import { hasDiscreteDomain } from '../../scale';\nimport { isVgRangeStep } from '../../vega.schema';\nimport { isFacetModel } from '../model';\nexport function assembleLayoutSignals(model) {\n return [].concat(sizeSignals(model, 'width'), sizeSignals(model, 'height'));\n}\nexport function sizeSignals(model, sizeType) {\n var channel = sizeType === 'width' ? 'x' : 'y';\n var size = model.component.layoutSize.get(sizeType);\n if (!size || size === 'merged') {\n return [];\n }\n // Read size signal name from name map, just in case it is the top-level size signal that got renamed.\n var name = model.getSizeSignalRef(sizeType).signal;\n if (size === 'range-step') {\n var scaleComponent = model.getScaleComponent(channel);\n if (scaleComponent) {\n var type = scaleComponent.get('type');\n var range = scaleComponent.get('range');\n if (hasDiscreteDomain(type) && isVgRangeStep(range)) {\n var scaleName = model.scaleName(channel);\n if (isFacetModel(model.parent)) {\n // If parent is facet and this is an independent scale, return only signal signal\n // as the width/height will be calculated using the cardinality from\n // facet's aggregate rather than reading from scale domain\n var parentResolve = model.parent.component.resolve;\n if (parentResolve.scale[channel] === 'independent') {\n return [stepSignal(scaleName, range)];\n }\n }\n return [\n stepSignal(scaleName, range),\n {\n name: name,\n update: sizeExpr(scaleName, scaleComponent, \"domain('\" + scaleName + \"').length\")\n }\n ];\n }\n }\n /* istanbul ignore next: Condition should not happen -- only for warning in development. */\n throw new Error('layout size is range step although there is no rangeStep.');\n }\n else {\n return [{\n name: name,\n value: size\n }];\n }\n}\nfunction stepSignal(scaleName, range) {\n return {\n name: scaleName + '_step',\n value: range.step,\n };\n}\nexport function sizeExpr(scaleName, scaleComponent, cardinality) {\n var type = scaleComponent.get('type');\n var padding = scaleComponent.get('padding');\n var paddingOuter = scaleComponent.get('paddingOuter');\n paddingOuter = paddingOuter !== undefined ? paddingOuter : padding;\n var paddingInner = scaleComponent.get('paddingInner');\n paddingInner = type === 'band' ?\n // only band has real paddingInner\n (paddingInner !== undefined ? paddingInner : padding) :\n // For point, as calculated in https://github.com/vega/vega-scale/blob/master/src/band.js#L128,\n // it's equivalent to have paddingInner = 1 since there is only n-1 steps between n points.\n 1;\n return \"bandspace(\" + cardinality + \", \" + paddingInner + \", \" + paddingOuter + \") * \" + scaleName + \"_step\";\n}\n//# sourceMappingURL=assemble.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/layoutsize/assemble.js\n// module id = 131\n// module chunks = 0","import { POSITION_SCALE_CHANNELS } from '../channel';\nimport * as log from '../log';\nimport { contains } from '../util';\nimport { isConcatModel, isFacetModel, isLayerModel, isRepeatModel } from './model';\nexport function defaultScaleResolve(channel, model) {\n if (isLayerModel(model) || isFacetModel(model)) {\n return 'shared';\n }\n else if (isConcatModel(model) || isRepeatModel(model)) {\n return contains(POSITION_SCALE_CHANNELS, channel) ? 'independent' : 'shared';\n }\n /* istanbul ignore next: should never reach here. */\n throw new Error('invalid model type for resolve');\n}\nexport function parseGuideResolve(resolve, channel) {\n var channelScaleResolve = resolve.scale[channel];\n var guide = contains(POSITION_SCALE_CHANNELS, channel) ? 'axis' : 'legend';\n if (channelScaleResolve === 'independent') {\n if (resolve[guide][channel] === 'shared') {\n log.warn(log.message.independentScaleMeansIndependentGuide(channel));\n }\n return 'independent';\n }\n return resolve[guide][channel] || 'shared';\n}\n//# sourceMappingURL=resolve.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/resolve.js\n// module id = 132\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { isArray } from 'vega-util';\nimport { COLUMN, ROW } from '../../channel';\nimport { vgField } from '../../fielddef';\nimport * as log from '../../log';\nimport { hasDiscreteDomain } from '../../scale';\nimport { isSortField } from '../../sort';\nimport { isVgRangeStep } from '../../vega.schema';\nimport { assembleDomain, getFieldFromDomain } from '../scale/domain';\nimport { sortArrayIndexField } from './calculate';\nimport { DataFlowNode } from './dataflow';\n/**\n * A node that helps us track what fields we are faceting by.\n */\nvar FacetNode = /** @class */ (function (_super) {\n tslib_1.__extends(FacetNode, _super);\n /**\n * @param model The facet model.\n * @param name The name that this facet source will have.\n * @param data The source data for this facet data.\n */\n function FacetNode(parent, model, name, data) {\n var _this = _super.call(this, parent) || this;\n _this.model = model;\n _this.name = name;\n _this.data = data;\n for (var _i = 0, _a = [COLUMN, ROW]; _i < _a.length; _i++) {\n var channel = _a[_i];\n var fieldDef = model.facet[channel];\n if (fieldDef) {\n var bin = fieldDef.bin, sort = fieldDef.sort;\n _this[channel] = tslib_1.__assign({ name: model.getName(channel + \"_domain\"), fields: [\n vgField(fieldDef)\n ].concat((bin ? [vgField(fieldDef, { binSuffix: 'end' })] : [])) }, (isSortField(sort) ? { sortField: sort } :\n isArray(sort) ? { sortIndexField: sortArrayIndexField(fieldDef, channel) } :\n {}));\n }\n }\n _this.childModel = model.child;\n return _this;\n }\n Object.defineProperty(FacetNode.prototype, \"fields\", {\n get: function () {\n return ((this.column && this.column.fields) || []).concat((this.row && this.row.fields) || []);\n },\n enumerable: true,\n configurable: true\n });\n /**\n * The name to reference this source is its name.\n */\n FacetNode.prototype.getSource = function () {\n return this.name;\n };\n FacetNode.prototype.getChildIndependentFieldsWithStep = function () {\n var childIndependentFieldsWithStep = {};\n for (var _i = 0, _a = ['x', 'y']; _i < _a.length; _i++) {\n var channel = _a[_i];\n var childScaleComponent = this.childModel.component.scales[channel];\n if (childScaleComponent && !childScaleComponent.merged) {\n var type = childScaleComponent.get('type');\n var range = childScaleComponent.get('range');\n if (hasDiscreteDomain(type) && isVgRangeStep(range)) {\n var domain = assembleDomain(this.childModel, channel);\n var field = getFieldFromDomain(domain);\n if (field) {\n childIndependentFieldsWithStep[channel] = field;\n }\n else {\n log.warn('Unknown field for ${channel}. Cannot calculate view size.');\n }\n }\n }\n }\n return childIndependentFieldsWithStep;\n };\n FacetNode.prototype.assembleRowColumnData = function (channel, crossedDataName, childIndependentFieldsWithStep) {\n var childChannel = channel === 'row' ? 'y' : 'x';\n var fields = [];\n var ops = [];\n var as = [];\n if (childIndependentFieldsWithStep[childChannel]) {\n if (crossedDataName) {\n // If there is a crossed data, calculate max\n fields.push(\"distinct_\" + childIndependentFieldsWithStep[childChannel]);\n ops.push('max');\n }\n else {\n // If there is no crossed data, just calculate distinct\n fields.push(childIndependentFieldsWithStep[childChannel]);\n ops.push('distinct');\n }\n // Although it is technically a max, just name it distinct so it's easier to refer to it\n as.push(\"distinct_\" + childIndependentFieldsWithStep[childChannel]);\n }\n var _a = this[channel], sortField = _a.sortField, sortIndexField = _a.sortIndexField;\n if (sortField) {\n var op = sortField.op, field = sortField.field;\n fields.push(field);\n ops.push(op);\n as.push(vgField(sortField));\n }\n else if (sortIndexField) {\n fields.push(sortIndexField);\n ops.push('max');\n as.push(sortIndexField);\n }\n return {\n name: this[channel].name,\n // Use data from the crossed one if it exist\n source: crossedDataName || this.data,\n transform: [tslib_1.__assign({ type: 'aggregate', groupby: this[channel].fields }, (fields.length ? {\n fields: fields, ops: ops, as: as\n } : {}))]\n };\n };\n FacetNode.prototype.assemble = function () {\n var data = [];\n var crossedDataName = null;\n var childIndependentFieldsWithStep = this.getChildIndependentFieldsWithStep();\n if (this.column && this.row && (childIndependentFieldsWithStep.x || childIndependentFieldsWithStep.y)) {\n // Need to create a cross dataset to correctly calculate cardinality\n crossedDataName = \"cross_\" + this.column.name + \"_\" + this.row.name;\n var fields = [].concat(childIndependentFieldsWithStep.x ? [childIndependentFieldsWithStep.x] : [], childIndependentFieldsWithStep.y ? [childIndependentFieldsWithStep.y] : []);\n var ops = fields.map(function () { return 'distinct'; });\n data.push({\n name: crossedDataName,\n source: this.data,\n transform: [{\n type: 'aggregate',\n groupby: this.column.fields.concat(this.row.fields),\n fields: fields,\n ops: ops\n }]\n });\n }\n for (var _i = 0, _a = [COLUMN, ROW]; _i < _a.length; _i++) {\n var channel = _a[_i];\n if (this[channel]) {\n data.push(this.assembleRowColumnData(channel, crossedDataName, childIndependentFieldsWithStep));\n }\n }\n return data;\n };\n return FacetNode;\n}(DataFlowNode));\nexport { FacetNode };\n//# sourceMappingURL=facet.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/data/facet.js\n// module id = 133\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { isInlineData, isNamedData, isUrlData } from '../../data';\nimport { contains, hash } from '../../util';\nimport { DataFlowNode } from './dataflow';\nvar SourceNode = /** @class */ (function (_super) {\n tslib_1.__extends(SourceNode, _super);\n function SourceNode(data) {\n var _this = _super.call(this, null) || this;\n data = data || { name: 'source' };\n if (isInlineData(data)) {\n _this._data = { values: data.values };\n }\n else if (isUrlData(data)) {\n _this._data = { url: data.url };\n if (!data.format) {\n data.format = {};\n }\n if (!data.format || !data.format.type) {\n // Extract extension from URL using snippet from\n // http://stackoverflow.com/questions/680929/how-to-extract-extension-from-filename-string-in-javascript\n var defaultExtension = /(?:\\.([^.]+))?$/.exec(data.url)[1];\n if (!contains(['json', 'csv', 'tsv', 'dsv', 'topojson'], defaultExtension)) {\n defaultExtension = 'json';\n }\n // defaultExtension has type string but we ensure that it is DataFormatType above\n data.format.type = defaultExtension;\n }\n }\n else if (isNamedData(data)) {\n _this._data = {};\n }\n // any dataset can be named\n if (data.name) {\n _this._name = data.name;\n }\n if (data.format) {\n var _a = data.format, _b = _a.parse, parse = _b === void 0 ? null : _b, format = tslib_1.__rest(_a, [\"parse\"]);\n _this._data.format = format;\n }\n return _this;\n }\n Object.defineProperty(SourceNode.prototype, \"data\", {\n get: function () {\n return this._data;\n },\n enumerable: true,\n configurable: true\n });\n SourceNode.prototype.hasName = function () {\n return !!this._name;\n };\n Object.defineProperty(SourceNode.prototype, \"dataName\", {\n get: function () {\n return this._name;\n },\n set: function (name) {\n this._name = name;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(SourceNode.prototype, \"parent\", {\n set: function (parent) {\n throw new Error('Source nodes have to be roots.');\n },\n enumerable: true,\n configurable: true\n });\n SourceNode.prototype.remove = function () {\n throw new Error('Source nodes are roots and cannot be removed.');\n };\n /**\n * Return a unique identifier for this data source.\n */\n SourceNode.prototype.hash = function () {\n if (isInlineData(this._data)) {\n if (!this._hash) {\n // Hashing can be expensive for large inline datasets.\n this._hash = hash(this._data);\n }\n return this._hash;\n }\n else if (isUrlData(this._data)) {\n return hash([this._data.url, this._data.format]);\n }\n else {\n return this._name;\n }\n };\n SourceNode.prototype.assemble = function () {\n return tslib_1.__assign({ name: this._name }, this._data, { transform: [] });\n };\n return SourceNode;\n}(DataFlowNode));\nexport { SourceNode };\n//# sourceMappingURL=source.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/data/source.js\n// module id = 134\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { vgField } from '../../fielddef';\nimport { fieldExpr } from '../../timeunit';\nimport { duplicate, keys, vals } from '../../util';\nimport { DataFlowNode } from './dataflow';\nvar TimeUnitNode = /** @class */ (function (_super) {\n tslib_1.__extends(TimeUnitNode, _super);\n function TimeUnitNode(parent, formula) {\n var _this = _super.call(this, parent) || this;\n _this.formula = formula;\n return _this;\n }\n TimeUnitNode.prototype.clone = function () {\n return new TimeUnitNode(null, duplicate(this.formula));\n };\n TimeUnitNode.makeFromEncoding = function (parent, model) {\n var formula = model.reduceFieldDef(function (timeUnitComponent, fieldDef) {\n if (fieldDef.timeUnit) {\n var f = vgField(fieldDef);\n timeUnitComponent[f] = {\n as: f,\n timeUnit: fieldDef.timeUnit,\n field: fieldDef.field\n };\n }\n return timeUnitComponent;\n }, {});\n if (keys(formula).length === 0) {\n return null;\n }\n return new TimeUnitNode(parent, formula);\n };\n TimeUnitNode.makeFromTransform = function (parent, t) {\n var _a;\n return new TimeUnitNode(parent, (_a = {},\n _a[t.field] = {\n as: t.as,\n timeUnit: t.timeUnit,\n field: t.field\n },\n _a));\n };\n TimeUnitNode.prototype.merge = function (other) {\n this.formula = tslib_1.__assign({}, this.formula, other.formula);\n other.remove();\n };\n TimeUnitNode.prototype.producedFields = function () {\n var out = {};\n vals(this.formula).forEach(function (f) {\n out[f.as] = true;\n });\n return out;\n };\n TimeUnitNode.prototype.dependentFields = function () {\n var out = {};\n vals(this.formula).forEach(function (f) {\n out[f.field] = true;\n });\n return out;\n };\n TimeUnitNode.prototype.assemble = function () {\n return vals(this.formula).map(function (c) {\n return {\n type: 'formula',\n as: c.as,\n expr: fieldExpr(c.timeUnit, c.field)\n };\n });\n };\n return TimeUnitNode;\n}(DataFlowNode));\nexport { TimeUnitNode };\n//# sourceMappingURL=timeunit.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/data/timeunit.js\n// module id = 135\n// module chunks = 0","import { stringValue } from 'vega-util';\nimport { X, Y } from '../../../channel';\nimport * as log from '../../../log';\nimport { hasContinuousDomain, isBinScale } from '../../../scale';\nimport { channelSignalName } from '../selection';\nvar scaleBindings = {\n has: function (selCmpt) {\n return selCmpt.type === 'interval' && selCmpt.resolve === 'global' &&\n selCmpt.bind && selCmpt.bind === 'scales';\n },\n parse: function (model, selDef, selCmpt) {\n var bound = selCmpt.scales = [];\n selCmpt.project.forEach(function (p) {\n var channel = p.channel;\n var scale = model.getScaleComponent(channel);\n var scaleType = scale ? scale.get('type') : undefined;\n if (!scale || !hasContinuousDomain(scaleType) || isBinScale(scaleType)) {\n log.warn(log.message.SCALE_BINDINGS_CONTINUOUS);\n return;\n }\n scale.set('domainRaw', { signal: channelSignalName(selCmpt, channel, 'data') }, true);\n bound.push(channel);\n // Bind both x/y for diag plot of repeated views.\n if (model.repeater && model.repeater.row === model.repeater.column) {\n var scale2 = model.getScaleComponent(channel === X ? Y : X);\n scale2.set('domainRaw', { signal: channelSignalName(selCmpt, channel, 'data') }, true);\n }\n });\n },\n topLevelSignals: function (model, selCmpt, signals) {\n // Top-level signals are only needed when coordinating composed views.\n if (!model.parent) {\n return signals;\n }\n var channels = selCmpt.scales.filter(function (channel) {\n return !(signals.filter(function (s) { return s.name === channelSignalName(selCmpt, channel, 'data'); }).length);\n });\n return signals.concat(channels.map(function (channel) {\n return { name: channelSignalName(selCmpt, channel, 'data') };\n }));\n },\n signals: function (model, selCmpt, signals) {\n // Nested signals need only push to top-level signals when within composed views.\n if (model.parent) {\n selCmpt.scales.forEach(function (channel) {\n var signal = signals.filter(function (s) { return s.name === channelSignalName(selCmpt, channel, 'data'); })[0];\n signal.push = 'outer';\n delete signal.value;\n delete signal.update;\n });\n }\n return signals;\n }\n};\nexport default scaleBindings;\nexport function domain(model, channel) {\n var scale = stringValue(model.scaleName(channel));\n return \"domain(\" + scale + \")\";\n}\n//# sourceMappingURL=scales.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/selection/transforms/scales.js\n// module id = 136\n// module chunks = 0","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/object-assign/index.js\n// module id = 137\n// module chunks = 0","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react/index.js\n// module id = 138\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/namespace.js\n// module id = 139\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/namespaces.js\n// module id = 140\n// module chunks = 0","function none() {}\n\nexport default function(selector) {\n return selector == null ? none : function() {\n return this.querySelector(selector);\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/selector.js\n// module id = 141\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/window.js\n// module id = 142\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/selection/on.js\n// module id = 143\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/sourceEvent.js\n// module id = 144\n// module chunks = 0","export default Array.isArray;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/isArray.js\n// module id = 145\n// module chunks = 0","import isArray from './isArray';\n\nexport default function(_) {\n return _ != null ? (isArray(_) ? _ : [_]) : [];\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/array.js\n// module id = 146\n// module chunks = 0","export default function(_) {\n return typeof _ === 'function';\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/isFunction.js\n// module id = 147\n// module chunks = 0","import {ingest, tupleid} from './Tuple';\nimport {array, constant, isFunction} from 'vega-util';\n\nexport function isChangeSet(v) {\n return v && v.constructor === changeset;\n}\n\nexport default function changeset() {\n var add = [], // insert tuples\n rem = [], // remove tuples\n mod = [], // modify tuples\n remp = [], // remove by predicate\n modp = [], // modify by predicate\n reflow = false;\n\n return {\n constructor: changeset,\n insert: function(t) {\n var d = array(t), i = 0, n = d.length;\n for (; i<n; ++i) add.push(d[i]);\n return this;\n },\n remove: function(t) {\n var a = isFunction(t) ? remp : rem,\n d = array(t), i = 0, n = d.length;\n for (; i<n; ++i) a.push(d[i]);\n return this;\n },\n modify: function(t, field, value) {\n var m = {field: field, value: constant(value)};\n if (isFunction(t)) {\n m.filter = t;\n modp.push(m);\n } else {\n m.tuple = t;\n mod.push(m);\n }\n return this;\n },\n encode: function(t, set) {\n if (isFunction(t)) modp.push({filter: t, field: set});\n else mod.push({tuple: t, field: set});\n return this;\n },\n reflow: function() {\n reflow = true;\n return this;\n },\n pulse: function(pulse, tuples) {\n var cur = {}, out = {}, i, n, m, f, t, id;\n\n // build lookup table of current tuples\n for (i=0, n=tuples.length; i<n; ++i) {\n cur[tupleid(tuples[i])] = 1;\n }\n\n // process individual tuples to remove\n for (i=0, n=rem.length; i<n; ++i) {\n t = rem[i];\n cur[tupleid(t)] = -1;\n }\n\n // process predicate-based removals\n for (i=0, n=remp.length; i<n; ++i) {\n f = remp[i];\n tuples.forEach(function(t) {\n if (f(t)) cur[tupleid(t)] = -1;\n });\n }\n\n // process all add tuples\n for (i=0, n=add.length; i<n; ++i) {\n t = add[i];\n id = tupleid(t);\n if (cur[id]) {\n // tuple already resides in dataset\n // if flagged for both add and remove, cancel\n cur[id] = 1;\n } else {\n // tuple does not reside in dataset, add\n pulse.add.push(ingest(add[i]));\n }\n }\n\n // populate pulse rem list\n for (i=0, n=tuples.length; i<n; ++i) {\n t = tuples[i];\n if (cur[tupleid(t)] < 0) pulse.rem.push(t);\n }\n\n // modify helper method\n function modify(t, f, v) {\n if (v) {\n t[f] = v(t);\n } else {\n pulse.encode = f;\n }\n if (!reflow) out[tupleid(t)] = t;\n }\n\n // process individual tuples to modify\n for (i=0, n=mod.length; i<n; ++i) {\n m = mod[i];\n t = m.tuple;\n f = m.field;\n id = cur[tupleid(t)];\n if (id > 0) {\n modify(t, f, m.value);\n pulse.modifies(f);\n }\n }\n\n // process predicate-based modifications\n for (i=0, n=modp.length; i<n; ++i) {\n m = modp[i];\n f = m.filter;\n tuples.forEach(function(t) {\n if (f(t) && cur[tupleid(t)] > 0) {\n modify(t, m.field, m.value);\n }\n });\n pulse.modifies(m.field);\n }\n\n // upon reflow request, populate mod with all non-removed tuples\n // otherwise, populate mod with modified tuples only\n if (reflow) {\n pulse.mod = rem.length || remp.length\n ? tuples.filter(function(t) { return cur[tupleid(t)] > 0; })\n : tuples.slice();\n } else {\n for (id in out) pulse.mod.push(out[id]);\n }\n\n return pulse;\n }\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-dataflow/src/ChangeSet.js\n// module id = 148\n// module chunks = 0","var TUPLE_ID_KEY = Symbol('vega_id'),\n TUPLE_ID = 1;\n\n/**\n * Resets the internal tuple id counter to one.\n */\nexport function reset() {\n TUPLE_ID = 1;\n}\n\n/**\n * Checks if an input value is a registered tuple.\n * @param {*} t - The value to check.\n * @return {boolean} True if the input is a tuple, false otherwise.\n */\nexport function isTuple(t) {\n return !!(t && tupleid(t));\n}\n\n/**\n * Returns the id of a tuple.\n * @param {object} t - The input tuple.\n * @return {*} the tuple id.\n */\nexport function tupleid(t) {\n return t[TUPLE_ID_KEY];\n}\n\n/**\n * Sets the id of a tuple.\n * @param {object} t - The input tuple.\n * @param {*} id - The id value to set.\n * @return {object} the input tuple.\n */\nfunction setid(t, id) {\n t[TUPLE_ID_KEY] = id;\n return t;\n}\n\n/**\n * Ingest an object or value as a data tuple.\n * If the input value is an object, an id field will be added to it. For\n * efficiency, the input object is modified directly. A copy is not made.\n * If the input value is a literal, it will be wrapped in a new object\n * instance, with the value accessible as the 'data' property.\n * @param datum - The value to ingest.\n * @return {object} The ingested data tuple.\n */\nexport function ingest(datum) {\n var t = (datum === Object(datum)) ? datum : {data: datum};\n return tupleid(t) ? t : setid(t, TUPLE_ID++);\n}\n\n/**\n * Given a source tuple, return a derived copy.\n * @param {object} t - The source tuple.\n * @return {object} The derived tuple.\n */\nexport function derive(t) {\n return rederive(t, ingest({}));\n}\n\n/**\n * Rederive a derived tuple by copying values from the source tuple.\n * @param {object} t - The source tuple.\n * @param {object} d - The derived tuple.\n * @return {object} The derived tuple.\n */\nexport function rederive(t, d) {\n for (var k in t) d[k] = t[k];\n return d;\n}\n\n/**\n * Replace an existing tuple with a new tuple.\n * @param {object} t - The existing data tuple.\n * @param {object} d - The new tuple that replaces the old.\n * @return {object} The new tuple.\n */\nexport function replace(t, d) {\n return setid(d, tupleid(t));\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-dataflow/src/Tuple.js\n// module id = 149\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-dsv/src/dsv.js\n// module id = 150\n// module chunks = 0","import identity from \"./identity\";\n\nexport default function(transform) {\n if (transform == null) return identity;\n var x0,\n y0,\n kx = transform.scale[0],\n ky = transform.scale[1],\n dx = transform.translate[0],\n dy = transform.translate[1];\n return function(input, i) {\n if (!i) x0 = y0 = 0;\n var j = 2, n = input.length, output = new Array(n);\n output[0] = (x0 += input[0]) * kx + dx;\n output[1] = (y0 += input[1]) * ky + dy;\n while (j < n) output[j] = input[j], ++j;\n return output;\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/topojson-client/src/transform.js\n// module id = 151\n// module chunks = 0","import reverse from \"./reverse\";\nimport transform from \"./transform\";\n\nexport default function(topology, o) {\n return o.type === \"GeometryCollection\"\n ? {type: \"FeatureCollection\", features: o.geometries.map(function(o) { return feature(topology, o); })}\n : feature(topology, o);\n}\n\nexport function feature(topology, o) {\n var id = o.id,\n bbox = o.bbox,\n properties = o.properties == null ? {} : o.properties,\n geometry = object(topology, o);\n return id == null && bbox == null ? {type: \"Feature\", properties: properties, geometry: geometry}\n : bbox == null ? {type: \"Feature\", id: id, properties: properties, geometry: geometry}\n : {type: \"Feature\", id: id, bbox: bbox, properties: properties, geometry: geometry};\n}\n\nexport function object(topology, o) {\n var transformPoint = transform(topology.transform),\n arcs = topology.arcs;\n\n function arc(i, points) {\n if (points.length) points.pop();\n for (var a = arcs[i < 0 ? ~i : i], k = 0, n = a.length; k < n; ++k) {\n points.push(transformPoint(a[k], k));\n }\n if (i < 0) reverse(points, n);\n }\n\n function point(p) {\n return transformPoint(p);\n }\n\n function line(arcs) {\n var points = [];\n for (var i = 0, n = arcs.length; i < n; ++i) arc(arcs[i], points);\n if (points.length < 2) points.push(points[0]); // This should never happen per the specification.\n return points;\n }\n\n function ring(arcs) {\n var points = line(arcs);\n while (points.length < 4) points.push(points[0]); // This may happen if an arc has only two points.\n return points;\n }\n\n function polygon(arcs) {\n return arcs.map(ring);\n }\n\n function geometry(o) {\n var type = o.type, coordinates;\n switch (type) {\n case \"GeometryCollection\": return {type: type, geometries: o.geometries.map(geometry)};\n case \"Point\": coordinates = point(o.coordinates); break;\n case \"MultiPoint\": coordinates = o.coordinates.map(point); break;\n case \"LineString\": coordinates = line(o.arcs); break;\n case \"MultiLineString\": coordinates = o.arcs.map(line); break;\n case \"Polygon\": coordinates = polygon(o.arcs); break;\n case \"MultiPolygon\": coordinates = o.arcs.map(polygon); break;\n default: return null;\n }\n return {type: type, coordinates: coordinates};\n }\n\n return geometry(o);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/topojson-client/src/feature.js\n// module id = 152\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-time-format/src/defaultLocale.js\n// module id = 153\n// module chunks = 0","import {groupkey} from './util/AggregateKeys';\nimport {createMeasure, compileMeasures, measureName, ValidAggregateOps} from './util/AggregateOps';\nimport TupleStore from './util/TupleStore';\nimport {ingest, replace, Transform} from 'vega-dataflow';\nimport {accessorFields, accessorName, array, error, inherits} from 'vega-util';\n\n/**\n * Group-by aggregation operator.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {Array<function(object): *>} [params.groupby] - An array of accessors to groupby.\n * @param {Array<function(object): *>} [params.fields] - An array of accessors to aggregate.\n * @param {Array<string>} [params.ops] - An array of strings indicating aggregation operations.\n * @param {Array<string>} [params.as] - An array of output field names for aggregated values.\n * @param {boolean} [params.cross=false] - A flag indicating that the full\n * cross-product of groupby values should be generated, including empty cells.\n * If true, the drop parameter is ignored and empty cells are retained.\n * @param {boolean} [params.drop=true] - A flag indicating if empty cells should be removed.\n */\nexport default function Aggregate(params) {\n Transform.call(this, null, params);\n\n this._adds = []; // array of added output tuples\n this._mods = []; // array of modified output tuples\n this._alen = 0; // number of active added tuples\n this._mlen = 0; // number of active modified tuples\n this._drop = true; // should empty aggregation cells be removed\n this._cross = false; // produce full cross-product of group-by values\n\n this._dims = []; // group-by dimension accessors\n this._dnames = []; // group-by dimension names\n\n this._measures = []; // collection of aggregation monoids\n this._countOnly = false; // flag indicating only count aggregation\n this._counts = null; // collection of count fields\n this._prev = null; // previous aggregation cells\n\n this._inputs = null; // array of dependent input tuple field names\n this._outputs = null; // array of output tuple field names\n}\n\nAggregate.Definition = {\n \"type\": \"Aggregate\",\n \"metadata\": {\"generates\": true, \"changes\": true},\n \"params\": [\n { \"name\": \"groupby\", \"type\": \"field\", \"array\": true },\n { \"name\": \"ops\", \"type\": \"enum\", \"array\": true, \"values\": ValidAggregateOps },\n { \"name\": \"fields\", \"type\": \"field\", \"null\": true, \"array\": true },\n { \"name\": \"as\", \"type\": \"string\", \"null\": true, \"array\": true },\n { \"name\": \"drop\", \"type\": \"boolean\", \"default\": true },\n { \"name\": \"cross\", \"type\": \"boolean\", \"default\": false },\n { \"name\": \"key\", \"type\": \"field\" }\n ]\n};\n\nvar prototype = inherits(Aggregate, Transform);\n\nprototype.transform = function(_, pulse) {\n var aggr = this,\n out = pulse.fork(pulse.NO_SOURCE | pulse.NO_FIELDS),\n mod;\n\n this.stamp = out.stamp;\n\n if (this.value && ((mod = _.modified()) || pulse.modified(this._inputs))) {\n this._prev = this.value;\n this.value = mod ? this.init(_) : {};\n pulse.visit(pulse.SOURCE, function(t) { aggr.add(t); });\n } else {\n this.value = this.value || this.init(_);\n pulse.visit(pulse.REM, function(t) { aggr.rem(t); });\n pulse.visit(pulse.ADD, function(t) { aggr.add(t); });\n }\n\n // Indicate output fields and return aggregate tuples.\n out.modifies(this._outputs);\n\n // Should empty cells be dropped?\n aggr._drop = _.drop !== false;\n\n // If domain cross-product requested, generate empty cells as needed\n // and ensure that empty cells are not dropped\n if (_.cross && aggr._dims.length > 1) {\n aggr._drop = false;\n this.cross();\n }\n\n return aggr.changes(out);\n};\n\nprototype.cross = function() {\n var aggr = this,\n curr = aggr.value,\n dims = aggr._dnames,\n vals = dims.map(function() { return {}; }),\n n = dims.length;\n\n // collect all group-by domain values\n function collect(cells) {\n var key, i, t, v;\n for (key in cells) {\n t = cells[key].tuple;\n for (i=0; i<n; ++i) {\n vals[i][(v = t[dims[i]])] = v;\n }\n }\n }\n collect(aggr._prev);\n collect(curr);\n\n // iterate over key cross-product, create cells as needed\n function generate(base, tuple, index) {\n var name = dims[index],\n v = vals[index++],\n k, key;\n\n for (k in v) {\n tuple[name] = v[k];\n key = base ? base + '|' + k : k;\n if (index < n) generate(key, tuple, index);\n else if (!curr[key]) aggr.cell(key, tuple);\n }\n }\n generate('', {}, 0);\n};\n\nprototype.init = function(_) {\n // initialize input and output fields\n var inputs = (this._inputs = []),\n outputs = (this._outputs = []),\n inputMap = {};\n\n function inputVisit(get) {\n var fields = array(accessorFields(get)),\n i = 0, n = fields.length, f;\n for (; i<n; ++i) {\n if (!inputMap[f=fields[i]]) {\n inputMap[f] = 1;\n inputs.push(f);\n }\n }\n }\n\n // initialize group-by dimensions\n this._dims = array(_.groupby);\n this._dnames = this._dims.map(function(d) {\n var dname = accessorName(d);\n inputVisit(d);\n outputs.push(dname);\n return dname;\n });\n this.cellkey = _.key ? _.key : groupkey(this._dims);\n\n // initialize aggregate measures\n this._countOnly = true;\n this._counts = [];\n this._measures = [];\n\n var fields = _.fields || [null],\n ops = _.ops || ['count'],\n as = _.as || [],\n n = fields.length,\n map = {},\n field, op, m, mname, outname, i;\n\n if (n !== ops.length) {\n error('Unmatched number of fields and aggregate ops.');\n }\n\n for (i=0; i<n; ++i) {\n field = fields[i];\n op = ops[i];\n\n if (field == null && op !== 'count') {\n error('Null aggregate field specified.');\n }\n mname = accessorName(field);\n outname = measureName(op, mname, as[i]);\n outputs.push(outname);\n\n if (op === 'count') {\n this._counts.push(outname);\n continue;\n }\n\n m = map[mname];\n if (!m) {\n inputVisit(field);\n m = (map[mname] = []);\n m.field = field;\n this._measures.push(m);\n }\n\n if (op !== 'count') this._countOnly = false;\n m.push(createMeasure(op, outname));\n }\n\n this._measures = this._measures.map(function(m) {\n return compileMeasures(m, m.field);\n });\n\n return {}; // aggregation cells (this.value)\n};\n\n// -- Cell Management -----\n\nprototype.cellkey = groupkey();\n\nprototype.cell = function(key, t) {\n var cell = this.value[key];\n if (!cell) {\n cell = this.value[key] = this.newcell(key, t);\n this._adds[this._alen++] = cell;\n } else if (cell.num === 0 && this._drop && cell.stamp < this.stamp) {\n cell.stamp = this.stamp;\n this._adds[this._alen++] = cell;\n } else if (cell.stamp < this.stamp) {\n cell.stamp = this.stamp;\n this._mods[this._mlen++] = cell;\n }\n return cell;\n};\n\nprototype.newcell = function(key, t) {\n var cell = {\n key: key,\n num: 0,\n agg: null,\n tuple: this.newtuple(t, this._prev && this._prev[key]),\n stamp: this.stamp,\n store: false\n };\n\n if (!this._countOnly) {\n var measures = this._measures,\n n = measures.length, i;\n\n cell.agg = Array(n);\n for (i=0; i<n; ++i) {\n cell.agg[i] = new measures[i](cell);\n }\n }\n\n if (cell.store) {\n cell.data = new TupleStore();\n }\n\n return cell;\n};\n\nprototype.newtuple = function(t, p) {\n var names = this._dnames,\n dims = this._dims,\n x = {}, i, n;\n\n for (i=0, n=dims.length; i<n; ++i) {\n x[names[i]] = dims[i](t);\n }\n\n return p ? replace(p.tuple, x) : ingest(x);\n};\n\n// -- Process Tuples -----\n\nprototype.add = function(t) {\n var key = this.cellkey(t),\n cell = this.cell(key, t),\n agg, i, n;\n\n cell.num += 1;\n if (this._countOnly) return;\n\n if (cell.store) cell.data.add(t);\n\n agg = cell.agg;\n for (i=0, n=agg.length; i<n; ++i) {\n agg[i].add(agg[i].get(t), t);\n }\n};\n\nprototype.rem = function(t) {\n var key = this.cellkey(t),\n cell = this.cell(key, t),\n agg, i, n;\n\n cell.num -= 1;\n if (this._countOnly) return;\n\n if (cell.store) cell.data.rem(t);\n\n agg = cell.agg;\n for (i=0, n=agg.length; i<n; ++i) {\n agg[i].rem(agg[i].get(t), t);\n }\n};\n\nprototype.celltuple = function(cell) {\n var tuple = cell.tuple,\n counts = this._counts,\n agg, i, n;\n\n // consolidate stored values\n if (cell.store) {\n cell.data.values();\n }\n\n // update tuple properties\n for (i=0, n=counts.length; i<n; ++i) {\n tuple[counts[i]] = cell.num;\n }\n if (!this._countOnly) {\n agg = cell.agg;\n for (i=0, n=agg.length; i<n; ++i) {\n agg[i].set(tuple);\n }\n }\n\n return tuple;\n};\n\nprototype.changes = function(out) {\n var adds = this._adds,\n mods = this._mods,\n prev = this._prev,\n drop = this._drop,\n add = out.add,\n rem = out.rem,\n mod = out.mod,\n cell, key, i, n;\n\n if (prev) for (key in prev) {\n cell = prev[key];\n if (!drop || cell.num) rem.push(cell.tuple);\n }\n\n for (i=0, n=this._alen; i<n; ++i) {\n add.push(this.celltuple(adds[i]));\n adds[i] = null; // for garbage collection\n }\n\n for (i=0, n=this._mlen; i<n; ++i) {\n cell = mods[i];\n (cell.num === 0 && drop ? rem : mod).push(this.celltuple(cell));\n mods[i] = null; // for garbage collection\n }\n\n this._alen = this._mlen = 0; // reset list of active cells\n this._prev = null;\n return out;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/Aggregate.js\n// module id = 154\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-array/src/quantile.js\n// module id = 155\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/line.js\n// module id = 156\n// module chunks = 0","export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/point.js\n// module id = 157\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/curve/catmullRom.js\n// module id = 158\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/order/ascending.js\n// module id = 159\n// module chunks = 0","import {bezier, segments} from './arc';\n\nvar temp = ['l', 0, 0, 0, 0, 0, 0, 0];\n\nfunction scale(current, s) {\n var c = (temp[0] = current[0]);\n if (c === 'a' || c === 'A') {\n temp[1] = s * current[1];\n temp[2] = s * current[2];\n temp[6] = s * current[6];\n temp[7] = s * current[7];\n } else {\n for (var i=1, n=current.length; i<n; ++i) {\n temp[i] = s * current[i];\n }\n }\n return temp;\n}\n\nexport default function(context, path, l, t, s) {\n var current, // current instruction\n previous = null,\n x = 0, // current x\n y = 0, // current y\n controlX = 0, // current control point x\n controlY = 0, // current control point y\n tempX,\n tempY,\n tempControlX,\n tempControlY;\n\n if (l == null) l = 0;\n if (t == null) t = 0;\n if (s == null) s = 1;\n\n if (context.beginPath) context.beginPath();\n\n for (var i=0, len=path.length; i<len; ++i) {\n current = path[i];\n if (s !== 1) current = scale(current, s);\n\n switch (current[0]) { // first letter\n\n case 'l': // lineto, relative\n x += current[1];\n y += current[2];\n context.lineTo(x + l, y + t);\n break;\n\n case 'L': // lineto, absolute\n x = current[1];\n y = current[2];\n context.lineTo(x + l, y + t);\n break;\n\n case 'h': // horizontal lineto, relative\n x += current[1];\n context.lineTo(x + l, y + t);\n break;\n\n case 'H': // horizontal lineto, absolute\n x = current[1];\n context.lineTo(x + l, y + t);\n break;\n\n case 'v': // vertical lineto, relative\n y += current[1];\n context.lineTo(x + l, y + t);\n break;\n\n case 'V': // verical lineto, absolute\n y = current[1];\n context.lineTo(x + l, y + t);\n break;\n\n case 'm': // moveTo, relative\n x += current[1];\n y += current[2];\n context.moveTo(x + l, y + t);\n break;\n\n case 'M': // moveTo, absolute\n x = current[1];\n y = current[2];\n context.moveTo(x + l, y + t);\n break;\n\n case 'c': // bezierCurveTo, relative\n tempX = x + current[5];\n tempY = y + current[6];\n controlX = x + current[3];\n controlY = y + current[4];\n context.bezierCurveTo(\n x + current[1] + l, // x1\n y + current[2] + t, // y1\n controlX + l, // x2\n controlY + t, // y2\n tempX + l,\n tempY + t\n );\n x = tempX;\n y = tempY;\n break;\n\n case 'C': // bezierCurveTo, absolute\n x = current[5];\n y = current[6];\n controlX = current[3];\n controlY = current[4];\n context.bezierCurveTo(\n current[1] + l,\n current[2] + t,\n controlX + l,\n controlY + t,\n x + l,\n y + t\n );\n break;\n\n case 's': // shorthand cubic bezierCurveTo, relative\n // transform to absolute x,y\n tempX = x + current[3];\n tempY = y + current[4];\n // calculate reflection of previous control points\n controlX = 2 * x - controlX;\n controlY = 2 * y - controlY;\n context.bezierCurveTo(\n controlX + l,\n controlY + t,\n x + current[1] + l,\n y + current[2] + t,\n tempX + l,\n tempY + t\n );\n\n // set control point to 2nd one of this command\n // the first control point is assumed to be the reflection of\n // the second control point on the previous command relative\n // to the current point.\n controlX = x + current[1];\n controlY = y + current[2];\n\n x = tempX;\n y = tempY;\n break;\n\n case 'S': // shorthand cubic bezierCurveTo, absolute\n tempX = current[3];\n tempY = current[4];\n // calculate reflection of previous control points\n controlX = 2*x - controlX;\n controlY = 2*y - controlY;\n context.bezierCurveTo(\n controlX + l,\n controlY + t,\n current[1] + l,\n current[2] + t,\n tempX + l,\n tempY + t\n );\n x = tempX;\n y = tempY;\n // set control point to 2nd one of this command\n // the first control point is assumed to be the reflection of\n // the second control point on the previous command relative\n // to the current point.\n controlX = current[1];\n controlY = current[2];\n\n break;\n\n case 'q': // quadraticCurveTo, relative\n // transform to absolute x,y\n tempX = x + current[3];\n tempY = y + current[4];\n\n controlX = x + current[1];\n controlY = y + current[2];\n\n context.quadraticCurveTo(\n controlX + l,\n controlY + t,\n tempX + l,\n tempY + t\n );\n x = tempX;\n y = tempY;\n break;\n\n case 'Q': // quadraticCurveTo, absolute\n tempX = current[3];\n tempY = current[4];\n\n context.quadraticCurveTo(\n current[1] + l,\n current[2] + t,\n tempX + l,\n tempY + t\n );\n x = tempX;\n y = tempY;\n controlX = current[1];\n controlY = current[2];\n break;\n\n case 't': // shorthand quadraticCurveTo, relative\n\n // transform to absolute x,y\n tempX = x + current[1];\n tempY = y + current[2];\n\n if (previous[0].match(/[QqTt]/) === null) {\n // If there is no previous command or if the previous command was not a Q, q, T or t,\n // assume the control point is coincident with the current point\n controlX = x;\n controlY = y;\n }\n else if (previous[0] === 't') {\n // calculate reflection of previous control points for t\n controlX = 2 * x - tempControlX;\n controlY = 2 * y - tempControlY;\n }\n else if (previous[0] === 'q') {\n // calculate reflection of previous control points for q\n controlX = 2 * x - controlX;\n controlY = 2 * y - controlY;\n }\n\n tempControlX = controlX;\n tempControlY = controlY;\n\n context.quadraticCurveTo(\n controlX + l,\n controlY + t,\n tempX + l,\n tempY + t\n );\n x = tempX;\n y = tempY;\n controlX = x + current[1];\n controlY = y + current[2];\n break;\n\n case 'T':\n tempX = current[1];\n tempY = current[2];\n\n // calculate reflection of previous control points\n controlX = 2 * x - controlX;\n controlY = 2 * y - controlY;\n context.quadraticCurveTo(\n controlX + l,\n controlY + t,\n tempX + l,\n tempY + t\n );\n x = tempX;\n y = tempY;\n break;\n\n case 'a':\n drawArc(context, x + l, y + t, [\n current[1],\n current[2],\n current[3],\n current[4],\n current[5],\n current[6] + x + l,\n current[7] + y + t\n ]);\n x += current[6];\n y += current[7];\n break;\n\n case 'A':\n drawArc(context, x + l, y + t, [\n current[1],\n current[2],\n current[3],\n current[4],\n current[5],\n current[6] + l,\n current[7] + t\n ]);\n x = current[6];\n y = current[7];\n break;\n\n case 'z':\n case 'Z':\n context.closePath();\n break;\n }\n previous = current;\n }\n}\n\nfunction drawArc(context, x, y, coords) {\n var seg = segments(\n coords[5], // end x\n coords[6], // end y\n coords[0], // radius x\n coords[1], // radius y\n coords[3], // large flag\n coords[4], // sweep flag\n coords[2], // rotation\n x, y\n );\n for (var i=0; i<seg.length; ++i) {\n var bez = bezier(seg[i]);\n context.bezierCurveTo(bez[0], bez[1], bez[2], bez[3], bez[4], bez[5]);\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/path/render.js\n// module id = 160\n// module chunks = 0","import boundStroke from '../bound/boundStroke';\nimport context from '../bound/boundContext';\nimport {drawAll} from '../util/canvas/draw';\nimport {pickPath} from '../util/canvas/pick';\nimport translateItem from '../util/svg/translateItem';\n\nexport default function(type, shape) {\n\n function attr(emit, item) {\n emit('transform', translateItem(item));\n emit('d', shape(null, item));\n }\n\n function bound(bounds, item) {\n shape(context(bounds), item);\n return boundStroke(bounds, item)\n .translate(item.x || 0, item.y || 0);\n }\n\n function draw(context, item) {\n var x = item.x || 0,\n y = item.y || 0;\n context.translate(x, y);\n context.beginPath();\n shape(context, item);\n context.translate(-x, -y);\n }\n\n return {\n type: type,\n tag: 'path',\n nested: false,\n attr: attr,\n bound: bound,\n draw: drawAll(draw),\n pick: pickPath(draw)\n };\n\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/marks/markItemPath.js\n// module id = 161\n// module chunks = 0","import color from './color';\n\nexport default function(context, item, opacity) {\n opacity *= (item.fillOpacity==null ? 1 : item.fillOpacity);\n if (opacity > 0) {\n context.globalAlpha = opacity;\n context.fillStyle = color(context, item, item.fill);\n return true;\n } else {\n return false;\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/util/canvas/fill.js\n// module id = 162\n// module chunks = 0","export default function(x, y) {\n return 'translate(' + x + ',' + y + ')';\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/util/svg/translate.js\n// module id = 163\n// module chunks = 0","export function pickArea(a, p) {\n var v = a[0].orient === 'horizontal' ? p[1] : p[0],\n z = a[0].orient === 'horizontal' ? 'y' : 'x',\n lo = 0,\n hi = a.length;\n\n if (hi === 1) return a[0];\n\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (a[mid][z] < v) lo = mid + 1;\n else hi = mid;\n }\n lo = Math.max(0, lo - 1);\n hi = Math.min(a.length - 1, hi);\n\n return (v - a[lo][z]) < (a[hi][z] - v) ? a[lo] : a[hi];\n}\n\nexport function pickLine(a, p) {\n var t = Math.pow(a[0].strokeWidth || 1, 2),\n i = a.length, dx, dy, dd;\n\n while (--i >= 0) {\n if (a[i].defined === false) continue;\n dx = a[i].x - p[0];\n dy = a[i].y - p[1];\n dd = dx * dx + dy * dy;\n if (dd < t) return a[i];\n }\n\n return null;\n}\n\nexport function pickTrail(a, p) {\n var i = a.length, dx, dy, dd;\n\n while (--i >= 0) {\n if (a[i].defined === false) continue;\n dx = a[i].x - p[0];\n dy = a[i].y - p[1];\n dd = dx * dx + dy * dy;\n dx = a[i].size || 1;\n if (dd < dx*dx) return a[i];\n }\n\n return null;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/util/pickPath.js\n// module id = 164\n// module chunks = 0","import boundStroke from '../bound/boundStroke';\nimport context from '../bound/boundContext';\nimport {drawOne} from '../util/canvas/draw';\nimport {hitPath} from '../util/canvas/pick';\n\nexport default function(type, shape, tip) {\n\n function attr(emit, item) {\n var items = item.mark.items;\n if (items.length) emit('d', shape(null, items));\n }\n\n function bound(bounds, mark) {\n var items = mark.items;\n if (items.length === 0) {\n return bounds;\n } else {\n shape(context(bounds), items);\n return boundStroke(bounds, items[0]);\n }\n }\n\n function draw(context, items) {\n context.beginPath();\n shape(context, items);\n }\n\n var hit = hitPath(draw);\n\n function pick(context, scene, x, y, gx, gy) {\n var items = scene.items,\n b = scene.bounds;\n\n if (!items || !items.length || b && !b.contains(gx, gy)) {\n return null;\n }\n\n x *= context.pixelRatio;\n y *= context.pixelRatio;\n return hit(context, items, x, y) ? items[0] : null;\n }\n\n return {\n type: type,\n tag: 'path',\n nested: true,\n attr: attr,\n bound: bound,\n draw: drawOne(draw),\n pick: pick,\n tip: tip\n };\n\n}\n\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/marks/markMultiItemPath.js\n// module id = 165\n// module chunks = 0","import {domCreate} from './util/dom';\nimport resolveItem from './util/resolveItem';\nimport {loader} from 'vega-loader';\n\n/**\n * Create a new Handler instance.\n * @param {object} [customLoader] - Optional loader instance for\n * href URL sanitization. If not specified, a standard loader\n * instance will be generated.\n * @param {function} [customTooltip] - Optional tooltip handler\n * function for custom tooltip display.\n * @constructor\n */\nexport default function Handler(customLoader, customTooltip) {\n this._active = null;\n this._handlers = {};\n this._loader = customLoader || loader();\n this._tooltip = customTooltip || defaultTooltip;\n}\n\n// The default tooltip display handler.\n// Sets the HTML title attribute on the visualization container.\nfunction defaultTooltip(handler, event, item, value) {\n handler.element().setAttribute('title', value || '');\n}\n\nvar prototype = Handler.prototype;\n\n/**\n * Initialize a new Handler instance.\n * @param {DOMElement} el - The containing DOM element for the display.\n * @param {Array<number>} origin - The origin of the display, in pixels.\n * The coordinate system will be translated to this point.\n * @param {object} [obj] - Optional context object that should serve as\n * the \"this\" context for event callbacks.\n * @return {Handler} - This handler instance.\n */\nprototype.initialize = function(el, origin, obj) {\n this._el = el;\n this._obj = obj || null;\n return this.origin(origin);\n};\n\n/**\n * Returns the parent container element for a visualization.\n * @return {DOMElement} - The containing DOM element.\n */\nprototype.element = function() {\n return this._el;\n};\n\n/**\n * Returns the scene element (e.g., canvas or SVG) of the visualization\n * Subclasses must override if the first child is not the scene element.\n * @return {DOMElement} - The scene (e.g., canvas or SVG) element.\n */\nprototype.canvas = function() {\n return this._el && this._el.firstChild;\n};\n\n/**\n * Get / set the origin coordinates of the visualization.\n */\nprototype.origin = function(origin) {\n if (arguments.length) {\n this._origin = origin || [0, 0];\n return this;\n } else {\n return this._origin.slice();\n }\n};\n\n/**\n * Get / set the scenegraph root.\n */\nprototype.scene = function(scene) {\n if (!arguments.length) return this._scene;\n this._scene = scene;\n return this;\n};\n\n/**\n * Add an event handler. Subclasses should override this method.\n */\nprototype.on = function(/*type, handler*/) {};\n\n/**\n * Remove an event handler. Subclasses should override this method.\n */\nprototype.off = function(/*type, handler*/) {};\n\n/**\n * Utility method for finding the array index of an event handler.\n * @param {Array} h - An array of registered event handlers.\n * @param {string} type - The event type.\n * @param {function} handler - The event handler instance to find.\n * @return {number} - The handler's array index or -1 if not registered.\n */\nprototype._handlerIndex = function(h, type, handler) {\n for (var i = h ? h.length : 0; --i>=0;) {\n if (h[i].type === type && (!handler || h[i].handler === handler)) {\n return i;\n }\n }\n return -1;\n};\n\n/**\n * Returns an array with registered event handlers.\n * @param {string} [type] - The event type to query. Any annotations\n * are ignored; for example, for the argument \"click.foo\", \".foo\" will\n * be ignored and the method returns all \"click\" handlers. If type is\n * null or unspecified, this method returns handlers for all types.\n * @return {Array} - A new array containing all registered event handlers.\n */\nprototype.handlers = function(type) {\n var h = this._handlers, a = [], k;\n if (type) {\n a.push.apply(a, h[this.eventName(type)]);\n } else {\n for (k in h) { a.push.apply(a, h[k]); }\n }\n return a;\n};\n\n/**\n * Parses an event name string to return the specific event type.\n * For example, given \"click.foo\" returns \"click\"\n * @param {string} name - The input event type string.\n * @return {string} - A string with the event type only.\n */\nprototype.eventName = function(name) {\n var i = name.indexOf('.');\n return i < 0 ? name : name.slice(0,i);\n};\n\n/**\n * Handle hyperlink navigation in response to an item.href value.\n * @param {Event} event - The event triggering hyperlink navigation.\n * @param {Item} item - The scenegraph item.\n * @param {string} href - The URL to navigate to.\n */\nprototype.handleHref = function(event, item, href) {\n this._loader\n .sanitize(href, {context:'href'})\n .then(function(opt) {\n var e = new MouseEvent(event.type, event),\n a = domCreate(null, 'a');\n for (var name in opt) a.setAttribute(name, opt[name]);\n a.dispatchEvent(e);\n })\n .catch(function() { /* do nothing */ });\n};\n\n/**\n * Handle tooltip display in response to an item.tooltip value.\n * @param {Event} event - The event triggering tooltip display.\n * @param {Item} item - The scenegraph item.\n * @param {boolean} show - A boolean flag indicating whether\n * to show or hide a tooltip for the given item.\n */\nprototype.handleTooltip = function(event, item, show) {\n if (item && item.tooltip != null) {\n item = resolveItem(item, event, this.canvas(), this._origin);\n var value = (show && item && item.tooltip) || null;\n this._tooltip.call(this._obj, this, event, item, value);\n }\n};\n\n/**\n * Returns the size of a scenegraph item and its position relative\n * to the viewport.\n * @param {Item} item - The scenegraph item.\n * @return {object} - A bounding box object (compatible with the\n * DOMRect type) consisting of x, y, width, heigh, top, left,\n * right, and bottom properties.\n */\nprototype.getItemBoundingClientRect = function(item) {\n if (!(el = this.canvas())) return;\n\n var el, rect = el.getBoundingClientRect(),\n origin = this._origin,\n itemBounds = item.bounds,\n x = itemBounds.x1 + origin[0] + rect.left,\n y = itemBounds.y1 + origin[1] + rect.top,\n w = itemBounds.width(),\n h = itemBounds.height();\n\n // translate coordinate for each parent group\n while (item.mark && (item = item.mark.group)) {\n x += item.x || 0;\n y += item.y || 0;\n }\n\n // return DOMRect-compatible bounding box\n return {\n x: x,\n y: y,\n width: w,\n height: h,\n left: x,\n top: y,\n right: x + w,\n bottom: y + h\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/Handler.js\n// module id = 166\n// module chunks = 0","export default function(event, el) {\n var rect = el.getBoundingClientRect();\n return [\n event.clientX - rect.left - (el.clientLeft || 0),\n event.clientY - rect.top - (el.clientTop || 0)\n ];\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/util/point.js\n// module id = 167\n// module chunks = 0","// generate string for an opening xml tag\n// tag: the name of the xml tag\n// attr: hash of attribute name-value pairs to include\n// raw: additional raw string to include in tag markup\nexport function openTag(tag, attr, raw) {\n var s = '<' + tag, key, val;\n if (attr) {\n for (key in attr) {\n val = attr[key];\n if (val != null) {\n s += ' ' + key + '=\"' + val + '\"';\n }\n }\n }\n if (raw) s += ' ' + raw;\n return s + '>';\n}\n\n// generate string for closing xml tag\n// tag: the name of the xml tag\nexport function closeTag(tag) {\n return '</' + tag + '>';\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/util/tags.js\n// module id = 168\n// module chunks = 0","export var Log = 'log';\nexport var Pow = 'pow';\nexport var Utc = 'utc';\nexport var Sqrt = 'sqrt';\nexport var Band = 'band';\nexport var Time = 'time';\nexport var Point = 'point';\nexport var Linear = 'linear';\nexport var Ordinal = 'ordinal';\nexport var Quantile = 'quantile';\nexport var Quantize = 'quantize';\nexport var Threshold = 'threshold';\nexport var BinLinear = 'bin-linear';\nexport var BinOrdinal = 'bin-ordinal';\nexport var Sequential = 'sequential';\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-encode/src/scale-types.js\n// module id = 169\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-collection/src/map.js\n// module id = 170\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-interpolate/src/value.js\n// module id = 171\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-color/src/color.js\n// module id = 172\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-color/src/define.js\n// module id = 173\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-interpolate/src/basis.js\n// module id = 174\n// module chunks = 0","export default function(x) {\n return function() {\n return x;\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale/src/constant.js\n// module id = 175\n// module chunks = 0","// 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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-format/src/formatDecimal.js\n// module id = 176\n// module chunks = 0","export default function(x) {\n return x;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/identity.js\n// module id = 178\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/projection/conicEqualArea.js\n// module id = 179\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/projection/conic.js\n// module id = 180\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/projection/fit.js\n// module id = 181\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/projection/mercator.js\n// module id = 182\n// module chunks = 0","export default function() {\n return (Math.random() - 0.5) * 1e-6;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-force/src/jiggle.js\n// module id = 183\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-quadtree/src/quad.js\n// module id = 184\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-timer/src/timer.js\n// module id = 185\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-hierarchy/src/hierarchy/index.js\n// module id = 186\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-hierarchy/src/accessors.js\n// module id = 187\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-hierarchy/src/treemap/squarify.js\n// module id = 188\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-voronoi/src/RedBlackTree.js\n// module id = 189\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-voronoi/src/Edge.js\n// module id = 190\n// module chunks = 0","import initializeRenderer from './initialize-renderer';\nimport {renderModule} from 'vega-scenegraph';\n\n/**\n * Render the current scene in a headless fashion.\n * This method is asynchronous, returning a Promise instance.\n * @return {Promise} - A Promise that resolves to a renderer.\n */\nexport default function(view, type, scaleFactor) {\n var module = renderModule(type),\n ctr = module && module.headless;\n return !ctr\n ? Promise.reject('Unrecognized renderer type: ' + type)\n : view.runAsync().then(function() {\n return initializeRenderer(view, null, null, ctr, scaleFactor)\n .renderAsync(view._scenegraph.root);\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-view/src/render-headless.js\n// module id = 191\n// module chunks = 0","import {error, stringValue} from 'vega-util';\n\nvar OUTER = 'outer',\n OUTER_INVALID = ['value', 'update', 'react', 'bind'];\n\nfunction outerError(prefix, name) {\n error(prefix + ' for \"outer\" push: ' + stringValue(name));\n}\n\nexport default function(signal, scope) {\n var name = signal.name;\n\n if (signal.push === OUTER) {\n // signal must already be defined, raise error if not\n if (!scope.signals[name]) outerError('No prior signal definition', name);\n // signal push must not use properties reserved for standard definition\n OUTER_INVALID.forEach(function(prop) {\n if (signal[prop] !== undefined) outerError('Invalid property ', prop);\n });\n } else {\n // define a new signal in the current scope\n var op = scope.addSignal(name, signal.value);\n if (signal.react === false) op.react = false;\n if (signal.bind) scope.addBinding(name, signal.bind);\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/signal.js\n// module id = 192\n// module chunks = 0","export var Literal = 'Literal';\nexport var Identifier = 'Identifier';\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/expression/ast.js\n// module id = 193\n// module chunks = 0","import {Literal} from './ast';\nimport {dataPrefix, indexPrefix} from './prefixes';\nimport {error, truthy} from 'vega-util';\n\nexport function data(name) {\n var data = this.context.data[name];\n return data ? data.values.value : [];\n}\n\nexport function dataVisitor(name, args, scope, params) {\n if (args[0].type !== Literal) {\n error('First argument to data functions must be a string literal.');\n }\n\n var data = args[0].value,\n dataName = dataPrefix + data;\n\n if (!params.hasOwnProperty(dataName)) {\n params[dataName] = scope.getData(data).tuplesRef();\n }\n}\n\nexport function indata(name, field, value) {\n var index = this.context.data[name]['index:' + field],\n entry = index ? index.value.get(value) : undefined;\n return entry ? entry.count : entry;\n}\n\nexport function indataVisitor(name, args, scope, params) {\n if (args[0].type !== Literal) error('First argument to indata must be a string literal.');\n if (args[1].type !== Literal) error('Second argument to indata must be a string literal.');\n\n var data = args[0].value,\n field = args[1].value,\n indexName = indexPrefix + field;\n\n if (!params.hasOwnProperty(indexName)) {\n params[indexName] = scope.getData(data).indataRef(scope, field);\n }\n}\n\nexport function setdata(name, tuples) {\n var df = this.context.dataflow,\n data = this.context.data[name],\n input = data.input;\n\n df.pulse(input, df.changeset().remove(truthy).insert(tuples));\n return 1;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/expression/data.js\n// module id = 194\n// module chunks = 0","import {GroupMark} from '../marks/marktypes';\n\nexport default function(role, style, name, dataRef, interactive, encode, marks, layout) {\n return {\n type: GroupMark,\n name: name,\n role: role,\n style: style,\n from: dataRef,\n interactive: interactive || false,\n encode: encode,\n marks: marks,\n layout: layout\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/guides/guide-group.js\n// module id = 195\n// module chunks = 0","import parseExpression from './expression';\nimport {entry, fieldRef, isSignal, ref} from '../util';\nimport {Params} from '../transforms';\nimport {definition} from 'vega-dataflow';\nimport {error, extend, isArray, isString, stringValue} from 'vega-util';\n\n/**\n * Parse a data transform specification.\n */\nexport default function(spec, scope) {\n var def = definition(spec.type);\n if (!def) error('Unrecognized transform type: ' + stringValue(spec.type));\n\n var t = entry(def.type.toLowerCase(), null, parseParameters(def, spec, scope));\n if (spec.signal) scope.addSignal(spec.signal, scope.proxy(t));\n t.metadata = def.metadata || {};\n\n return t;\n}\n\n/**\n * Parse all parameters of a data transform.\n */\nfunction parseParameters(def, spec, scope) {\n var params = {}, pdef, i, n;\n for (i=0, n=def.params.length; i<n; ++i) {\n pdef = def.params[i];\n params[pdef.name] = parseParameter(pdef, spec, scope);\n }\n return params;\n}\n\n/**\n * Parse a data transform parameter.\n */\nfunction parseParameter(def, spec, scope) {\n var type = def.type,\n value = spec[def.name];\n\n if (type === 'index') {\n return parseIndexParameter(def, spec, scope);\n } else if (value === undefined) {\n if (def.required) {\n error('Missing required ' + stringValue(spec.type)\n + ' parameter: ' + stringValue(def.name));\n }\n return;\n } else if (type === 'param') {\n return parseSubParameters(def, spec, scope);\n } else if (type === 'projection') {\n return scope.projectionRef(spec[def.name]);\n }\n\n return def.array && !isSignal(value)\n ? value.map(function(v) { return parameterValue(def, v, scope); })\n : parameterValue(def, value, scope);\n}\n\n/**\n * Parse a single parameter value.\n */\nfunction parameterValue(def, value, scope) {\n var type = def.type;\n\n if (isSignal(value)) {\n return isExpr(type) ? error('Expression references can not be signals.')\n : isField(type) ? scope.fieldRef(value)\n : isCompare(type) ? scope.compareRef(value)\n : scope.signalRef(value.signal);\n } else {\n var expr = def.expr || isField(type);\n return expr && outerExpr(value) ? scope.exprRef(value.expr, value.as)\n : expr && outerField(value) ? fieldRef(value.field, value.as)\n : isExpr(type) ? parseExpression(value, scope)\n : isData(type) ? ref(scope.getData(value).values)\n : isField(type) ? fieldRef(value)\n : isCompare(type) ? scope.compareRef(value)\n : value;\n }\n}\n\n/**\n * Parse parameter for accessing an index of another data set.\n */\nfunction parseIndexParameter(def, spec, scope) {\n if (!isString(spec.from)) {\n error('Lookup \"from\" parameter must be a string literal.');\n }\n return scope.getData(spec.from).lookupRef(scope, spec.key);\n}\n\n/**\n * Parse a parameter that contains one or more sub-parameter objects.\n */\nfunction parseSubParameters(def, spec, scope) {\n var value = spec[def.name];\n\n if (def.array) {\n if (!isArray(value)) { // signals not allowed!\n error('Expected an array of sub-parameters. Instead: ' + stringValue(value));\n }\n return value.map(function(v) {\n return parseSubParameter(def, v, scope);\n });\n } else {\n return parseSubParameter(def, value, scope);\n }\n}\n\n/**\n * Parse a sub-parameter object.\n */\nfunction parseSubParameter(def, value, scope) {\n var params, pdef, k, i, n;\n\n // loop over defs to find matching key\n for (i=0, n=def.params.length; i<n; ++i) {\n pdef = def.params[i];\n for (k in pdef.key) {\n if (pdef.key[k] !== value[k]) { pdef = null; break; }\n }\n if (pdef) break;\n }\n // raise error if matching key not found\n if (!pdef) error('Unsupported parameter: ' + stringValue(value));\n\n // parse params, create Params transform, return ref\n params = extend(parseParameters(pdef, value, scope), pdef.key);\n return ref(scope.add(Params(params)));\n}\n\n// -- Utilities -----\n\nexport function outerExpr(_) {\n return _ && _.expr;\n}\n\nexport function outerField(_) {\n return _ && _.field;\n}\n\nexport function isData(_) {\n return _ === 'data';\n}\n\nexport function isExpr(_) {\n return _ === 'expr';\n}\n\nexport function isField(_) {\n return _ === 'field';\n}\n\nexport function isCompare(_) {\n return _ === 'compare'\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/transform.js\n// module id = 196\n// module chunks = 0","export function isLogicalOr(op) {\n return !!op.or;\n}\nexport function isLogicalAnd(op) {\n return !!op.and;\n}\nexport function isLogicalNot(op) {\n return !!op.not;\n}\nexport function forEachLeaf(op, fn) {\n if (isLogicalNot(op)) {\n forEachLeaf(op.not, fn);\n }\n else if (isLogicalAnd(op)) {\n for (var _i = 0, _a = op.and; _i < _a.length; _i++) {\n var subop = _a[_i];\n forEachLeaf(subop, fn);\n }\n }\n else if (isLogicalOr(op)) {\n for (var _b = 0, _c = op.or; _b < _c.length; _b++) {\n var subop = _c[_b];\n forEachLeaf(subop, fn);\n }\n }\n else {\n fn(op);\n }\n}\nexport function normalizeLogicalOperand(op, normalizer) {\n if (isLogicalNot(op)) {\n return { not: normalizeLogicalOperand(op.not, normalizer) };\n }\n else if (isLogicalAnd(op)) {\n return { and: op.and.map(function (o) { return normalizeLogicalOperand(o, normalizer); }) };\n }\n else if (isLogicalOr(op)) {\n return { or: op.or.map(function (o) { return normalizeLogicalOperand(o, normalizer); }) };\n }\n else {\n return normalizer(op);\n }\n}\n//# sourceMappingURL=logical.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/logical.js\n// module id = 197\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { flagKeys } from './util';\nexport var AXIS_PARTS = ['domain', 'grid', 'labels', 'ticks', 'title'];\n/**\n * A dictionary listing whether a certain axis property is applicable for only main axes or only grid axes.\n * (Properties not listed are applicable for both)\n */\nexport var AXIS_PROPERTY_TYPE = {\n grid: 'grid',\n gridScale: 'grid',\n domain: 'main',\n labels: 'main',\n labelFlush: 'main',\n labelOverlap: 'main',\n minExtent: 'main',\n maxExtent: 'main',\n offset: 'main',\n ticks: 'main',\n title: 'main',\n values: 'both',\n scale: 'both',\n zindex: 'both' // this is actually set afterward, so it doesn't matter\n};\nvar COMMON_AXIS_PROPERTIES_INDEX = {\n orient: 1,\n domain: 1,\n format: 1,\n grid: 1,\n labelBound: 1,\n labelFlush: 1,\n labelPadding: 1,\n labels: 1,\n labelOverlap: 1,\n maxExtent: 1,\n minExtent: 1,\n offset: 1,\n position: 1,\n tickCount: 1,\n ticks: 1,\n tickSize: 1,\n title: 1,\n titlePadding: 1,\n values: 1,\n zindex: 1,\n};\nvar AXIS_PROPERTIES_INDEX = tslib_1.__assign({}, COMMON_AXIS_PROPERTIES_INDEX, { encoding: 1, labelAngle: 1, titleMaxLength: 1 });\nvar VG_AXIS_PROPERTIES_INDEX = tslib_1.__assign({ scale: 1 }, COMMON_AXIS_PROPERTIES_INDEX, { gridScale: 1, encode: 1 });\nexport function isAxisProperty(prop) {\n return !!AXIS_PROPERTIES_INDEX[prop];\n}\nexport var VG_AXIS_PROPERTIES = flagKeys(VG_AXIS_PROPERTIES_INDEX);\n// Export for dependent projects\nexport var AXIS_PROPERTIES = flagKeys(AXIS_PROPERTIES_INDEX);\n//# sourceMappingURL=axis.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/axis.js\n// module id = 198\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { flagKeys } from './util';\nexport var defaultLegendConfig = {};\nvar COMMON_LEGEND_PROPERTY_INDEX = {\n entryPadding: 1,\n format: 1,\n offset: 1,\n orient: 1,\n padding: 1,\n tickCount: 1,\n title: 1,\n type: 1,\n values: 1,\n zindex: 1\n};\nvar VG_LEGEND_PROPERTY_INDEX = tslib_1.__assign({}, COMMON_LEGEND_PROPERTY_INDEX, { \n // channel scales\n opacity: 1, shape: 1, stroke: 1, fill: 1, size: 1, \n // encode\n encode: 1 });\nexport var LEGEND_PROPERTIES = flagKeys(COMMON_LEGEND_PROPERTY_INDEX);\nexport var VG_LEGEND_PROPERTIES = flagKeys(VG_LEGEND_PROPERTY_INDEX);\n//# sourceMappingURL=legend.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/legend.js\n// module id = 199\n// module chunks = 0","export var SELECTION_ID = '_vgsid_';\nexport var defaultConfig = {\n single: {\n on: 'click',\n fields: [SELECTION_ID],\n resolve: 'global',\n empty: 'all'\n },\n multi: {\n on: 'click',\n fields: [SELECTION_ID],\n toggle: 'event.shiftKey',\n resolve: 'global',\n empty: 'all'\n },\n interval: {\n on: '[mousedown, window:mouseup] > window:mousemove!',\n encodings: ['x', 'y'],\n translate: '[mousedown, window:mouseup] > window:mousemove!',\n zoom: 'wheel!',\n mark: { fill: '#333', fillOpacity: 0.125, stroke: 'white' },\n resolve: 'global'\n }\n};\n//# sourceMappingURL=selection.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/selection.js\n// module id = 200\n// module chunks = 0","import { isArray } from 'vega-util';\nimport { SUM_OPS } from './aggregate';\nimport { NONPOSITION_CHANNELS, X, X2, Y2 } from './channel';\nimport { channelHasField } from './encoding';\nimport { getFieldDef, isFieldDef, isStringFieldDef, vgField } from './fielddef';\nimport * as log from './log';\nimport { AREA, BAR, CIRCLE, isMarkDef, isPathMark, LINE, POINT, RULE, SQUARE, TEXT, TICK } from './mark';\nimport { ScaleType } from './scale';\nimport { contains } from './util';\nvar STACK_OFFSET_INDEX = {\n zero: 1,\n center: 1,\n normalize: 1\n};\nexport function isStackOffset(s) {\n return !!STACK_OFFSET_INDEX[s];\n}\nexport var STACKABLE_MARKS = [BAR, AREA, RULE, POINT, CIRCLE, SQUARE, LINE, TEXT, TICK];\nexport var STACK_BY_DEFAULT_MARKS = [BAR, AREA];\nfunction potentialStackedChannel(encoding) {\n var xDef = encoding.x;\n var yDef = encoding.y;\n if (isFieldDef(xDef) && isFieldDef(yDef)) {\n if (xDef.type === 'quantitative' && yDef.type === 'quantitative') {\n if (xDef.stack) {\n return 'x';\n }\n else if (yDef.stack) {\n return 'y';\n }\n // if there is no explicit stacking, only apply stack if there is only one aggregate for x or y\n if ((!!xDef.aggregate) !== (!!yDef.aggregate)) {\n return xDef.aggregate ? 'x' : 'y';\n }\n }\n else if (xDef.type === 'quantitative') {\n return 'x';\n }\n else if (yDef.type === 'quantitative') {\n return 'y';\n }\n }\n else if (isFieldDef(xDef) && xDef.type === 'quantitative') {\n return 'x';\n }\n else if (isFieldDef(yDef) && yDef.type === 'quantitative') {\n return 'y';\n }\n return undefined;\n}\n// Note: CompassQL uses this method and only pass in required properties of each argument object.\n// If required properties change, make sure to update CompassQL.\nexport function stack(m, encoding, stackConfig) {\n var mark = isMarkDef(m) ? m.type : m;\n // Should have stackable mark\n if (!contains(STACKABLE_MARKS, mark)) {\n return null;\n }\n var fieldChannel = potentialStackedChannel(encoding);\n if (!fieldChannel) {\n return null;\n }\n var stackedFieldDef = encoding[fieldChannel];\n var stackedField = isStringFieldDef(stackedFieldDef) ? vgField(stackedFieldDef, {}) : undefined;\n var dimensionChannel = fieldChannel === 'x' ? 'y' : 'x';\n var dimensionDef = encoding[dimensionChannel];\n var dimensionField = isStringFieldDef(dimensionDef) ? vgField(dimensionDef, {}) : undefined;\n // Should have grouping level of detail that is different from the dimension field\n var stackBy = NONPOSITION_CHANNELS.reduce(function (sc, channel) {\n if (channelHasField(encoding, channel)) {\n var channelDef = encoding[channel];\n (isArray(channelDef) ? channelDef : [channelDef]).forEach(function (cDef) {\n var fieldDef = getFieldDef(cDef);\n if (fieldDef.aggregate) {\n return;\n }\n // Check whether the channel's field is identical to x/y's field or if the channel is a repeat\n var f = isStringFieldDef(fieldDef) ? vgField(fieldDef, {}) : undefined;\n if (\n // if fielddef is a repeat, just include it in the stack by\n !f ||\n // otherwise, the field must be different from x and y fields.\n (f !== dimensionField && f !== stackedField)) {\n sc.push({ channel: channel, fieldDef: fieldDef });\n }\n });\n }\n return sc;\n }, []);\n if (stackBy.length === 0) {\n return null;\n }\n // Automatically determine offset\n var offset = undefined;\n if (stackedFieldDef.stack !== undefined) {\n offset = stackedFieldDef.stack;\n }\n else if (contains(STACK_BY_DEFAULT_MARKS, mark)) {\n // Bar and Area with sum ops are automatically stacked by default\n offset = stackConfig === undefined ? 'zero' : stackConfig;\n }\n else {\n offset = stackConfig;\n }\n if (!offset || !isStackOffset(offset)) {\n return null;\n }\n // warn when stacking non-linear\n if (stackedFieldDef.scale && stackedFieldDef.scale.type && stackedFieldDef.scale.type !== ScaleType.LINEAR) {\n log.warn(log.message.cannotStackNonLinearScale(stackedFieldDef.scale.type));\n }\n // Check if it is a ranged mark\n if (channelHasField(encoding, fieldChannel === X ? X2 : Y2)) {\n if (stackedFieldDef.stack !== undefined) {\n log.warn(log.message.cannotStackRangedMark(fieldChannel));\n }\n return null;\n }\n // Warn if stacking summative aggregate\n if (stackedFieldDef.aggregate && !contains(SUM_OPS, stackedFieldDef.aggregate)) {\n log.warn(log.message.stackNonSummativeAggregate(stackedFieldDef.aggregate));\n }\n return {\n groupbyChannel: dimensionDef ? dimensionChannel : undefined,\n fieldChannel: fieldChannel,\n impute: isPathMark(mark),\n stackBy: stackBy,\n offset: offset\n };\n}\n//# sourceMappingURL=stack.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/stack.js\n// module id = 201\n// module chunks = 0","import { normalizeLogicalOperand } from './logical';\nimport { normalizePredicate } from './predicate';\nexport function isFilter(t) {\n return t['filter'] !== undefined;\n}\nexport function isLookup(t) {\n return t['lookup'] !== undefined;\n}\nexport function isWindow(t) {\n return t['window'] !== undefined;\n}\nexport function isCalculate(t) {\n return t['calculate'] !== undefined;\n}\nexport function isBin(t) {\n return !!t['bin'];\n}\nexport function isTimeUnit(t) {\n return t['timeUnit'] !== undefined;\n}\nexport function isAggregate(t) {\n return t['aggregate'] !== undefined;\n}\nexport function isStack(t) {\n return t['stack'] !== undefined;\n}\nexport function normalizeTransform(transform) {\n return transform.map(function (t) {\n if (isFilter(t)) {\n return {\n filter: normalizeLogicalOperand(t.filter, normalizePredicate)\n };\n }\n return t;\n });\n}\n//# sourceMappingURL=transform.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/transform.js\n// module id = 202\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { isScaleChannel } from '../../channel';\nimport { vgField } from '../../fielddef';\nimport * as log from '../../log';\nimport { differ, duplicate, keys } from '../../util';\nimport { binRequiresRange } from '../common';\nimport { DataFlowNode } from './dataflow';\nfunction addDimension(dims, channel, fieldDef) {\n if (fieldDef.bin) {\n dims[vgField(fieldDef, {})] = true;\n dims[vgField(fieldDef, { binSuffix: 'end' })] = true;\n if (binRequiresRange(fieldDef, channel)) {\n dims[vgField(fieldDef, { binSuffix: 'range' })] = true;\n }\n }\n else {\n dims[vgField(fieldDef)] = true;\n }\n return dims;\n}\nfunction mergeMeasures(parentMeasures, childMeasures) {\n for (var f in childMeasures) {\n if (childMeasures.hasOwnProperty(f)) {\n // when we merge a measure, we either have to add an aggregation operator or even a new field\n var ops = childMeasures[f];\n for (var op in ops) {\n if (ops.hasOwnProperty(op)) {\n if (f in parentMeasures) {\n // add operator to existing measure field\n parentMeasures[f][op] = ops[op];\n }\n else {\n parentMeasures[f] = { op: ops[op] };\n }\n }\n }\n }\n }\n}\nvar AggregateNode = /** @class */ (function (_super) {\n tslib_1.__extends(AggregateNode, _super);\n /**\n * @param dimensions string set for dimensions\n * @param measures dictionary mapping field name => dict of aggregation functions and names to use\n */\n function AggregateNode(parent, dimensions, measures) {\n var _this = _super.call(this, parent) || this;\n _this.dimensions = dimensions;\n _this.measures = measures;\n return _this;\n }\n AggregateNode.prototype.clone = function () {\n return new AggregateNode(null, tslib_1.__assign({}, this.dimensions), duplicate(this.measures));\n };\n AggregateNode.makeFromEncoding = function (parent, model) {\n var isAggregate = false;\n model.forEachFieldDef(function (fd) {\n if (fd.aggregate) {\n isAggregate = true;\n }\n });\n var meas = {};\n var dims = {};\n if (!isAggregate) {\n // no need to create this node if the model has no aggregation\n return null;\n }\n model.forEachFieldDef(function (fieldDef, channel) {\n var aggregate = fieldDef.aggregate, field = fieldDef.field;\n if (aggregate) {\n if (aggregate === 'count') {\n meas['*'] = meas['*'] || {};\n meas['*']['count'] = vgField(fieldDef);\n }\n else {\n meas[field] = meas[field] || {};\n meas[field][aggregate] = vgField(fieldDef);\n // For scale channel with domain === 'unaggregated', add min/max so we can use their union as unaggregated domain\n if (isScaleChannel(channel) && model.scaleDomain(channel) === 'unaggregated') {\n meas[field]['min'] = vgField({ field: field, aggregate: 'min' });\n meas[field]['max'] = vgField({ field: field, aggregate: 'max' });\n }\n }\n }\n else {\n addDimension(dims, channel, fieldDef);\n }\n });\n if ((keys(dims).length + keys(meas).length) === 0) {\n return null;\n }\n return new AggregateNode(parent, dims, meas);\n };\n AggregateNode.makeFromTransform = function (parent, t) {\n var dims = {};\n var meas = {};\n for (var _i = 0, _a = t.aggregate; _i < _a.length; _i++) {\n var s = _a[_i];\n var op = s.op, field = s.field, as = s.as;\n if (op) {\n if (op === 'count') {\n meas['*'] = meas['*'] || {};\n meas['*']['count'] = as || vgField(s);\n }\n else {\n meas[field] = meas[field] || {};\n meas[field][op] = as || vgField(s);\n }\n }\n }\n for (var _b = 0, _c = t.groupby || []; _b < _c.length; _b++) {\n var s = _c[_b];\n dims[s] = true;\n }\n if ((keys(dims).length + keys(meas).length) === 0) {\n return null;\n }\n return new AggregateNode(parent, dims, meas);\n };\n AggregateNode.prototype.merge = function (other) {\n if (!differ(this.dimensions, other.dimensions)) {\n mergeMeasures(this.measures, other.measures);\n other.remove();\n }\n else {\n log.debug('different dimensions, cannot merge');\n }\n };\n AggregateNode.prototype.addDimensions = function (fields) {\n var _this = this;\n fields.forEach(function (f) { return _this.dimensions[f] = true; });\n };\n AggregateNode.prototype.dependentFields = function () {\n var out = {};\n keys(this.dimensions).forEach(function (f) { return out[f] = true; });\n keys(this.measures).forEach(function (m) { return out[m] = true; });\n return out;\n };\n AggregateNode.prototype.producedFields = function () {\n var _this = this;\n var out = {};\n keys(this.measures).forEach(function (field) {\n keys(_this.measures[field]).forEach(function (op) {\n out[op + \"_\" + field] = true;\n });\n });\n return out;\n };\n AggregateNode.prototype.assemble = function () {\n var ops = [];\n var fields = [];\n var as = [];\n for (var _i = 0, _a = keys(this.measures); _i < _a.length; _i++) {\n var field = _a[_i];\n for (var _b = 0, _c = keys(this.measures[field]); _b < _c.length; _b++) {\n var op = _c[_b];\n as.push(this.measures[field][op]);\n ops.push(op);\n fields.push(field);\n }\n }\n var result = {\n type: 'aggregate',\n groupby: keys(this.dimensions),\n ops: ops,\n fields: fields,\n as: as\n };\n return result;\n };\n return AggregateNode;\n}(DataFlowNode));\nexport { AggregateNode };\n//# sourceMappingURL=aggregate.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/data/aggregate.js\n// module id = 203\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { isScaleChannel } from '../../channel';\nimport { vgField as fieldRef } from '../../fielddef';\nimport { isPathMark } from '../../mark';\nimport { hasContinuousDomain } from '../../scale';\nimport { keys } from '../../util';\nimport { DataFlowNode } from './dataflow';\nvar FilterInvalidNode = /** @class */ (function (_super) {\n tslib_1.__extends(FilterInvalidNode, _super);\n function FilterInvalidNode(parent, fieldDefs) {\n var _this = _super.call(this, parent) || this;\n _this.fieldDefs = fieldDefs;\n return _this;\n }\n FilterInvalidNode.prototype.clone = function () {\n return new FilterInvalidNode(null, tslib_1.__assign({}, this.fieldDefs));\n };\n FilterInvalidNode.make = function (parent, model) {\n var config = model.config, mark = model.mark;\n if (config.invalidValues !== 'filter') {\n return null;\n }\n var filter = model.reduceFieldDef(function (aggregator, fieldDef, channel) {\n var scaleComponent = isScaleChannel(channel) && model.getScaleComponent(channel);\n if (scaleComponent) {\n var scaleType = scaleComponent.get('type');\n // While discrete domain scales can handle invalid values, continuous scales can't.\n // Thus, for non-path marks, we have to filter null for scales with continuous domains.\n // (For path marks, we will use \"defined\" property and skip these values instead.)\n if (hasContinuousDomain(scaleType) && !fieldDef.aggregate && !isPathMark(mark)) {\n aggregator[fieldDef.field] = fieldDef;\n }\n }\n return aggregator;\n }, {});\n if (!keys(filter).length) {\n return null;\n }\n return new FilterInvalidNode(parent, filter);\n };\n Object.defineProperty(FilterInvalidNode.prototype, \"filter\", {\n get: function () {\n return this.fieldDefs;\n },\n enumerable: true,\n configurable: true\n });\n // create the VgTransforms for each of the filtered fields\n FilterInvalidNode.prototype.assemble = function () {\n var _this = this;\n var filters = keys(this.filter).reduce(function (vegaFilters, field) {\n var fieldDef = _this.fieldDefs[field];\n var ref = fieldRef(fieldDef, { expr: 'datum' });\n if (fieldDef !== null) {\n vegaFilters.push(ref + \" !== null\");\n vegaFilters.push(\"!isNaN(\" + ref + \")\");\n }\n return vegaFilters;\n }, []);\n return filters.length > 0 ?\n {\n type: 'filter',\n expr: filters.join(' && ')\n } : null;\n };\n return FilterInvalidNode;\n}(DataFlowNode));\nexport { FilterInvalidNode };\n//# sourceMappingURL=filterinvalid.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/data/filterinvalid.js\n// module id = 204\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { isNumber, isString, toSet } from 'vega-util';\nimport { isCountingAggregateOp } from '../../aggregate';\nimport { isDateTime } from '../../datetime';\nimport { isNumberFieldDef, isScaleFieldDef, isTimeFieldDef } from '../../fielddef';\nimport * as log from '../../log';\nimport { forEachLeaf } from '../../logical';\nimport { isFieldEqualPredicate, isFieldOneOfPredicate, isFieldPredicate, isFieldRangePredicate } from '../../predicate';\nimport { isSortField } from '../../sort';\nimport { accessPathDepth, accessPathWithDatum, duplicate, keys, removePathFromField } from '../../util';\nimport { isFacetModel, isUnitModel } from '../model';\nimport { Split } from '../split';\nimport { DataFlowNode } from './dataflow';\n/**\n * @param field The field.\n * @param parse What to parse the field as.\n */\nfunction parseExpression(field, parse) {\n var f = accessPathWithDatum(field);\n if (parse === 'number') {\n return \"toNumber(\" + f + \")\";\n }\n else if (parse === 'boolean') {\n return \"toBoolean(\" + f + \")\";\n }\n else if (parse === 'string') {\n return \"toString(\" + f + \")\";\n }\n else if (parse === 'date') {\n return \"toDate(\" + f + \")\";\n }\n else if (parse === 'flatten') {\n return f;\n }\n else if (parse.indexOf('date:') === 0) {\n var specifier = parse.slice(5, parse.length);\n return \"timeParse(\" + f + \",\" + specifier + \")\";\n }\n else if (parse.indexOf('utc:') === 0) {\n var specifier = parse.slice(4, parse.length);\n return \"utcParse(\" + f + \",\" + specifier + \")\";\n }\n else {\n log.warn(log.message.unrecognizedParse(parse));\n return null;\n }\n}\nvar ParseNode = /** @class */ (function (_super) {\n tslib_1.__extends(ParseNode, _super);\n function ParseNode(parent, parse) {\n var _this = _super.call(this, parent) || this;\n _this._parse = parse;\n return _this;\n }\n ParseNode.prototype.clone = function () {\n return new ParseNode(null, duplicate(this._parse));\n };\n /**\n * Creates a parse node from a data.format.parse and updates ancestorParse.\n */\n ParseNode.makeExplicit = function (parent, model, ancestorParse) {\n // Custom parse\n var explicit = {};\n var data = model.data;\n if (data && data.format && data.format.parse) {\n explicit = data.format.parse;\n }\n return this.makeWithAncestors(parent, explicit, {}, ancestorParse);\n };\n ParseNode.makeImplicitFromFilterTransform = function (parent, transform, ancestorParse) {\n var parse = {};\n forEachLeaf(transform.filter, function (filter) {\n if (isFieldPredicate(filter)) {\n // Automatically add a parse node for filters with filter objects\n var val = null;\n // For EqualFilter, just use the equal property.\n // For RangeFilter and OneOfFilter, all array members should have\n // the same type, so we only use the first one.\n if (isFieldEqualPredicate(filter)) {\n val = filter.equal;\n }\n else if (isFieldRangePredicate(filter)) {\n val = filter.range[0];\n }\n else if (isFieldOneOfPredicate(filter)) {\n val = (filter.oneOf || filter['in'])[0];\n } // else -- for filter expression, we can't infer anything\n if (val) {\n if (isDateTime(val)) {\n parse[filter.field] = 'date';\n }\n else if (isNumber(val)) {\n parse[filter.field] = 'number';\n }\n else if (isString(val)) {\n parse[filter.field] = 'string';\n }\n }\n if (filter.timeUnit) {\n parse[filter.field] = 'date';\n }\n }\n });\n if (keys(parse).length === 0) {\n return null;\n }\n return this.makeWithAncestors(parent, {}, parse, ancestorParse);\n };\n /**\n * Creates a parse node for implicit parsing from a model and updates ancestorParse.\n */\n ParseNode.makeImplicitFromEncoding = function (parent, model, ancestorParse) {\n var implicit = {};\n if (isUnitModel(model) || isFacetModel(model)) {\n // Parse encoded fields\n model.forEachFieldDef(function (fieldDef) {\n if (isTimeFieldDef(fieldDef)) {\n implicit[fieldDef.field] = 'date';\n }\n else if (isNumberFieldDef(fieldDef)) {\n if (!isCountingAggregateOp(fieldDef.aggregate)) {\n implicit[fieldDef.field] = 'number';\n }\n }\n else if (accessPathDepth(fieldDef.field) > 1) {\n // For non-date/non-number (strings and booleans), derive a flattened field for a referenced nested field.\n // (Parsing numbers / dates already flattens numeric and temporal fields.)\n if (!(fieldDef.field in implicit)) {\n implicit[fieldDef.field] = 'flatten';\n }\n }\n else if (isScaleFieldDef(fieldDef) && isSortField(fieldDef.sort) && accessPathDepth(fieldDef.sort.field) > 1) {\n // Flatten fields that we sort by but that are not otherwise flattened.\n if (!(fieldDef.sort.field in implicit)) {\n implicit[fieldDef.sort.field] = 'flatten';\n }\n }\n });\n }\n return this.makeWithAncestors(parent, {}, implicit, ancestorParse);\n };\n /**\n * Creates a parse node from \"explicit\" parse and \"implicit\" parse and updates ancestorParse.\n */\n ParseNode.makeWithAncestors = function (parent, explicit, implicit, ancestorParse) {\n // We should not parse what has already been parsed in a parent (explicitly or implicitly) or what has been derived (maked as \"derived\"). We also don't need to flatten a field that has already been parsed.\n for (var _i = 0, _a = keys(implicit); _i < _a.length; _i++) {\n var field = _a[_i];\n var parsedAs = ancestorParse.getWithExplicit(field);\n if (parsedAs.value !== undefined) {\n // We always ignore derived fields even if they are implicitly defined because we expect users to create the right types.\n if (parsedAs.explicit || parsedAs.value === implicit[field] || parsedAs.value === 'derived' || implicit[field] === 'flatten') {\n delete implicit[field];\n }\n else {\n log.warn(log.message.differentParse(field, implicit[field], parsedAs.value));\n }\n }\n }\n for (var _b = 0, _c = keys(explicit); _b < _c.length; _b++) {\n var field = _c[_b];\n var parsedAs = ancestorParse.get(field);\n if (parsedAs !== undefined) {\n // Don't parse a field again if it has been parsed with the same type already.\n if (parsedAs === explicit[field]) {\n delete explicit[field];\n }\n else {\n log.warn(log.message.differentParse(field, explicit[field], parsedAs));\n }\n }\n }\n var parse = new Split(explicit, implicit);\n // add the format parse from this model so that children don't parse the same field again\n ancestorParse.copyAll(parse);\n // copy only non-null parses\n var p = {};\n for (var _d = 0, _e = keys(parse.combine()); _d < _e.length; _d++) {\n var key = _e[_d];\n var val = parse.get(key);\n if (val !== null) {\n p[key] = val;\n }\n }\n if (keys(p).length === 0 || ancestorParse.parseNothing) {\n return null;\n }\n return new ParseNode(parent, p);\n };\n Object.defineProperty(ParseNode.prototype, \"parse\", {\n get: function () {\n return this._parse;\n },\n enumerable: true,\n configurable: true\n });\n ParseNode.prototype.merge = function (other) {\n this._parse = tslib_1.__assign({}, this._parse, other.parse);\n other.remove();\n };\n /**\n * Assemble an object for Vega's format.parse property.\n */\n ParseNode.prototype.assembleFormatParse = function () {\n var formatParse = {};\n for (var _i = 0, _a = keys(this._parse); _i < _a.length; _i++) {\n var field = _a[_i];\n var p = this._parse[field];\n if (accessPathDepth(field) === 1) {\n formatParse[field] = p;\n }\n }\n return formatParse;\n };\n // format parse depends and produces all fields in its parse\n ParseNode.prototype.producedFields = function () {\n return toSet(keys(this._parse));\n };\n ParseNode.prototype.dependentFields = function () {\n return toSet(keys(this._parse));\n };\n ParseNode.prototype.assembleTransforms = function (onlyNested) {\n var _this = this;\n if (onlyNested === void 0) { onlyNested = false; }\n return keys(this._parse)\n .filter(function (field) { return onlyNested ? accessPathDepth(field) > 1 : true; })\n .map(function (field) {\n var expr = parseExpression(field, _this._parse[field]);\n if (!expr) {\n return null;\n }\n var formula = {\n type: 'formula',\n expr: expr,\n as: removePathFromField(field) // Vega output is always flattened\n };\n return formula;\n }).filter(function (t) { return t !== null; });\n };\n return ParseNode;\n}(DataFlowNode));\nexport { ParseNode };\n//# sourceMappingURL=formatparse.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/data/formatparse.js\n// module id = 205\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { isArray, isString } from 'vega-util';\nimport { isFieldDef, vgField } from '../../fielddef';\nimport { duplicate } from '../../util';\nimport { sortParams } from '../common';\nimport { DataFlowNode } from './dataflow';\nfunction getStackByFields(model) {\n return model.stack.stackBy.reduce(function (fields, by) {\n var fieldDef = by.fieldDef;\n var _field = vgField(fieldDef);\n if (_field) {\n fields.push(_field);\n }\n return fields;\n }, []);\n}\nfunction isValidAsArray(as) {\n return isArray(as) && as.every(function (s) { return isString(s); }) && as.length > 1;\n}\nvar StackNode = /** @class */ (function (_super) {\n tslib_1.__extends(StackNode, _super);\n function StackNode(parent, stack) {\n var _this = _super.call(this, parent) || this;\n _this._stack = stack;\n return _this;\n }\n StackNode.prototype.clone = function () {\n return new StackNode(null, duplicate(this._stack));\n };\n StackNode.makeFromTransform = function (parent, stackTransform) {\n var stack = stackTransform.stack, groupby = stackTransform.groupby, as = stackTransform.as, _a = stackTransform.offset, offset = _a === void 0 ? 'zero' : _a;\n var sortFields = [];\n var sortOrder = [];\n if (stackTransform.sort !== undefined) {\n for (var _i = 0, _b = stackTransform.sort; _i < _b.length; _i++) {\n var sortField = _b[_i];\n sortFields.push(sortField.field);\n sortOrder.push(sortField.order === undefined ? 'ascending' : sortField.order);\n }\n }\n var sort = {\n field: sortFields,\n order: sortOrder,\n };\n var normalizedAs;\n if (isValidAsArray(as)) {\n normalizedAs = as;\n }\n else if (isString(as)) {\n normalizedAs = [as, as + '_end'];\n }\n else {\n normalizedAs = [stackTransform.stack + '_start', stackTransform.stack + '_end'];\n }\n return new StackNode(parent, {\n stackField: stack,\n groupby: groupby,\n offset: offset,\n sort: sort,\n facetby: [],\n as: normalizedAs\n });\n };\n StackNode.makeFromEncoding = function (parent, model) {\n var stackProperties = model.stack;\n if (!stackProperties) {\n return null;\n }\n var dimensionFieldDef;\n if (stackProperties.groupbyChannel) {\n dimensionFieldDef = model.fieldDef(stackProperties.groupbyChannel);\n }\n var stackby = getStackByFields(model);\n var orderDef = model.encoding.order;\n var sort;\n if (isArray(orderDef) || isFieldDef(orderDef)) {\n sort = sortParams(orderDef);\n }\n else {\n // default = descending by stackFields\n // FIXME is the default here correct for binned fields?\n sort = stackby.reduce(function (s, field) {\n s.field.push(field);\n s.order.push('descending');\n return s;\n }, { field: [], order: [] });\n }\n // Refactored to add \"as\" in the make phase so that we can get producedFields\n // from the as property\n var field = model.vgField(stackProperties.fieldChannel);\n return new StackNode(parent, {\n dimensionFieldDef: dimensionFieldDef,\n stackField: field,\n facetby: [],\n stackby: stackby,\n sort: sort,\n offset: stackProperties.offset,\n impute: stackProperties.impute,\n as: [field + '_start', field + '_end']\n });\n };\n Object.defineProperty(StackNode.prototype, \"stack\", {\n get: function () {\n return this._stack;\n },\n enumerable: true,\n configurable: true\n });\n StackNode.prototype.addDimensions = function (fields) {\n this._stack.facetby = this._stack.facetby.concat(fields);\n };\n StackNode.prototype.dependentFields = function () {\n var out = {};\n out[this._stack.stackField] = true;\n this.getGroupbyFields().forEach(function (f) { return out[f] = true; });\n this._stack.facetby.forEach(function (f) { return out[f] = true; });\n var field = this._stack.sort.field;\n isArray(field) ? field.forEach(function (f) { return out[f] = true; }) : out[field] = true;\n return out;\n };\n StackNode.prototype.producedFields = function () {\n return this._stack.as.reduce(function (result, item) {\n result[item] = true;\n return result;\n }, {});\n };\n StackNode.prototype.getGroupbyFields = function () {\n var _a = this._stack, dimensionFieldDef = _a.dimensionFieldDef, impute = _a.impute, groupby = _a.groupby;\n if (dimensionFieldDef) {\n if (dimensionFieldDef.bin) {\n if (impute) {\n // For binned group by field with impute, we calculate bin_mid\n // as we cannot impute two fields simultaneously\n return [vgField(dimensionFieldDef, { binSuffix: 'mid' })];\n }\n return [\n // For binned group by field without impute, we need both bin (start) and bin_end\n vgField(dimensionFieldDef, {}),\n vgField(dimensionFieldDef, { binSuffix: 'end' })\n ];\n }\n return [vgField(dimensionFieldDef)];\n }\n return groupby || [];\n };\n StackNode.prototype.assemble = function () {\n var transform = [];\n var _a = this._stack, facetby = _a.facetby, dimensionFieldDef = _a.dimensionFieldDef, field = _a.stackField, stackby = _a.stackby, sort = _a.sort, offset = _a.offset, impute = _a.impute, as = _a.as;\n // Impute\n if (impute && dimensionFieldDef) {\n var dimensionField = dimensionFieldDef ? vgField(dimensionFieldDef, { binSuffix: 'mid' }) : undefined;\n if (dimensionFieldDef.bin) {\n // As we can only impute one field at a time, we need to calculate\n // mid point for a binned field\n transform.push({\n type: 'formula',\n expr: '(' +\n vgField(dimensionFieldDef, { expr: 'datum' }) +\n '+' +\n vgField(dimensionFieldDef, { expr: 'datum', binSuffix: 'end' }) +\n ')/2',\n as: dimensionField\n });\n }\n transform.push({\n type: 'impute',\n field: field,\n groupby: stackby,\n key: dimensionField,\n method: 'value',\n value: 0\n });\n }\n // Stack\n transform.push({\n type: 'stack',\n groupby: this.getGroupbyFields().concat(facetby),\n field: field,\n sort: sort,\n as: as,\n offset: offset\n });\n return transform;\n };\n return StackNode;\n}(DataFlowNode));\nexport { StackNode };\n//# sourceMappingURL=stack.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/data/stack.js\n// module id = 206\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { stringValue } from 'vega-util';\nimport { X, Y } from '../../channel';\nimport { warn } from '../../log';\nimport { hasContinuousDomain, isBinScale } from '../../scale';\nimport { keys } from '../../util';\nimport { channelSignalName, positionalProjections, STORE, TUPLE, unitName, } from './selection';\nimport scales from './transforms/scales';\nexport var BRUSH = '_brush';\nexport var SCALE_TRIGGER = '_scale_trigger';\nvar interval = {\n predicate: 'vlInterval',\n scaleDomain: 'vlIntervalDomain',\n signals: function (model, selCmpt) {\n var name = selCmpt.name;\n var hasScales = scales.has(selCmpt);\n var signals = [];\n var intervals = [];\n var tupleTriggers = [];\n var scaleTriggers = [];\n if (selCmpt.translate && !hasScales) {\n var filterExpr_1 = \"!event.item || event.item.mark.name !== \" + stringValue(name + BRUSH);\n events(selCmpt, function (_, evt) {\n var filters = evt.between[0].filter || (evt.between[0].filter = []);\n if (filters.indexOf(filterExpr_1) < 0) {\n filters.push(filterExpr_1);\n }\n });\n }\n selCmpt.project.forEach(function (p) {\n var channel = p.channel;\n if (channel !== X && channel !== Y) {\n warn('Interval selections only support x and y encoding channels.');\n return;\n }\n var cs = channelSignals(model, selCmpt, channel);\n var dname = channelSignalName(selCmpt, channel, 'data');\n var vname = channelSignalName(selCmpt, channel, 'visual');\n var scaleStr = stringValue(model.scaleName(channel));\n var scaleType = model.getScaleComponent(channel).get('type');\n var toNum = hasContinuousDomain(scaleType) ? '+' : '';\n signals.push.apply(signals, cs);\n tupleTriggers.push(dname);\n intervals.push(\"{encoding: \" + stringValue(channel) + \", \" +\n (\"field: \" + stringValue(p.field) + \", extent: \" + dname + \"}\"));\n scaleTriggers.push({\n scaleName: model.scaleName(channel),\n expr: \"(!isArray(\" + dname + \") || \" +\n (\"(\" + toNum + \"invert(\" + scaleStr + \", \" + vname + \")[0] === \" + toNum + dname + \"[0] && \") +\n (toNum + \"invert(\" + scaleStr + \", \" + vname + \")[1] === \" + toNum + dname + \"[1]))\")\n });\n });\n // Proxy scale reactions to ensure that an infinite loop doesn't occur\n // when an interval selection filter touches the scale.\n if (!hasScales) {\n signals.push({\n name: name + SCALE_TRIGGER,\n update: scaleTriggers.map(function (t) { return t.expr; }).join(' && ') +\n (\" ? \" + (name + SCALE_TRIGGER) + \" : {}\")\n });\n }\n // Only add an interval to the store if it has valid data extents. Data extents\n // are set to null if pixel extents are equal to account for intervals over\n // ordinal/nominal domains which, when inverted, will still produce a valid datum.\n return signals.concat({\n name: name + TUPLE,\n on: [{\n events: tupleTriggers.map(function (t) { return ({ signal: t }); }),\n update: tupleTriggers.join(' && ') +\n (\" ? {unit: \" + unitName(model) + \", intervals: [\" + intervals.join(', ') + \"]} : null\")\n }]\n });\n },\n modifyExpr: function (model, selCmpt) {\n var tpl = selCmpt.name + TUPLE;\n return tpl + ', ' +\n (selCmpt.resolve === 'global' ? 'true' : \"{unit: \" + unitName(model) + \"}\");\n },\n marks: function (model, selCmpt, marks) {\n var name = selCmpt.name;\n var _a = positionalProjections(selCmpt), xi = _a.xi, yi = _a.yi;\n var store = \"data(\" + stringValue(selCmpt.name + STORE) + \")\";\n // Do not add a brush if we're binding to scales.\n if (scales.has(selCmpt)) {\n return marks;\n }\n var update = {\n x: xi !== null ? { signal: name + \"_x[0]\" } : { value: 0 },\n y: yi !== null ? { signal: name + \"_y[0]\" } : { value: 0 },\n x2: xi !== null ? { signal: name + \"_x[1]\" } : { field: { group: 'width' } },\n y2: yi !== null ? { signal: name + \"_y[1]\" } : { field: { group: 'height' } }\n };\n // If the selection is resolved to global, only a single interval is in\n // the store. Wrap brush mark's encodings with a production rule to test\n // this based on the `unit` property. Hide the brush mark if it corresponds\n // to a unit different from the one in the store.\n if (selCmpt.resolve === 'global') {\n for (var _i = 0, _b = keys(update); _i < _b.length; _i++) {\n var key = _b[_i];\n update[key] = [tslib_1.__assign({ test: store + \".length && \" + store + \"[0].unit === \" + unitName(model) }, update[key]), { value: 0 }];\n }\n }\n // Two brush marks ensure that fill colors and other aesthetic choices do\n // not interefere with the core marks, but that the brushed region can still\n // be interacted with (e.g., dragging it around).\n var _c = selCmpt.mark, fill = _c.fill, fillOpacity = _c.fillOpacity, stroke = tslib_1.__rest(_c, [\"fill\", \"fillOpacity\"]);\n var vgStroke = keys(stroke).reduce(function (def, k) {\n def[k] = [{\n test: [\n xi !== null && name + \"_x[0] !== \" + name + \"_x[1]\",\n yi != null && name + \"_y[0] !== \" + name + \"_y[1]\",\n ].filter(function (x) { return x; }).join(' && '),\n value: stroke[k]\n }, { value: null }];\n return def;\n }, {});\n return [{\n name: name + BRUSH + '_bg',\n type: 'rect',\n clip: true,\n encode: {\n enter: {\n fill: { value: fill },\n fillOpacity: { value: fillOpacity }\n },\n update: update\n }\n }].concat(marks, {\n name: name + BRUSH,\n type: 'rect',\n clip: true,\n encode: {\n enter: {\n fill: { value: 'transparent' }\n },\n update: tslib_1.__assign({}, update, vgStroke)\n }\n });\n }\n};\nexport default interval;\n/**\n * Returns the visual and data signals for an interval selection.\n */\nfunction channelSignals(model, selCmpt, channel) {\n var vname = channelSignalName(selCmpt, channel, 'visual');\n var dname = channelSignalName(selCmpt, channel, 'data');\n var hasScales = scales.has(selCmpt);\n var scaleName = model.scaleName(channel);\n var scaleStr = stringValue(scaleName);\n var scale = model.getScaleComponent(channel);\n var scaleType = scale ? scale.get('type') : undefined;\n var size = model.getSizeSignalRef(channel === X ? 'width' : 'height').signal;\n var coord = channel + \"(unit)\";\n var on = events(selCmpt, function (def, evt) {\n return def.concat({ events: evt.between[0], update: \"[\" + coord + \", \" + coord + \"]\" }, // Brush Start\n { events: evt, update: \"[\" + vname + \"[0], clamp(\" + coord + \", 0, \" + size + \")]\" } // Brush End\n );\n });\n // React to pan/zooms of continuous scales. Non-continuous scales\n // (bin-linear, band, point) cannot be pan/zoomed and any other changes\n // to their domains (e.g., filtering) should clear the brushes.\n on.push({\n events: { signal: selCmpt.name + SCALE_TRIGGER },\n update: hasContinuousDomain(scaleType) && !isBinScale(scaleType) ?\n \"[scale(\" + scaleStr + \", \" + dname + \"[0]), scale(\" + scaleStr + \", \" + dname + \"[1])]\" : \"[0, 0]\"\n });\n return hasScales ? [{ name: dname, on: [] }] : [{\n name: vname, value: [], on: on\n }, {\n name: dname,\n on: [{ events: { signal: vname }, update: vname + \"[0] === \" + vname + \"[1] ? null : invert(\" + scaleStr + \", \" + vname + \")\" }]\n }];\n}\nfunction events(selCmpt, cb) {\n return selCmpt.events.reduce(function (on, evt) {\n if (!evt.between) {\n warn(evt + \" is not an ordered event stream for interval selections\");\n return on;\n }\n return cb(on, evt);\n }, []);\n}\n//# sourceMappingURL=interval.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/selection/interval.js\n// module id = 207\n// module chunks = 0","import * as log from '../../../log';\nimport { isPathMark } from '../../../mark';\nimport { positionalProjections } from '../selection';\nvar VORONOI = 'voronoi';\nvar nearest = {\n has: function (selCmpt) {\n return selCmpt.type !== 'interval' && selCmpt.nearest;\n },\n marks: function (model, selCmpt, marks) {\n var _a = positionalProjections(selCmpt), x = _a.x, y = _a.y;\n var markType = model.mark;\n if (isPathMark(markType)) {\n log.warn(log.message.nearestNotSupportForContinuous(markType));\n return marks;\n }\n var cellDef = {\n name: model.getName(VORONOI),\n type: 'path',\n from: { data: model.getName('marks') },\n encode: {\n enter: {\n fill: { value: 'transparent' },\n strokeWidth: { value: 0.35 },\n stroke: { value: 'transparent' },\n isVoronoi: { value: true }\n }\n },\n transform: [{\n type: 'voronoi',\n x: { expr: (x || (!x && !y)) ? 'datum.datum.x || 0' : '0' },\n y: { expr: (y || (!x && !y)) ? 'datum.datum.y || 0' : '0' },\n size: [model.getSizeSignalRef('width'), model.getSizeSignalRef('height')]\n }]\n };\n var index = 0;\n var exists = false;\n marks.forEach(function (mark, i) {\n var name = mark.name || '';\n if (name === model.component.mark[0].name) {\n index = i;\n }\n else if (name.indexOf(VORONOI) >= 0) {\n exists = true;\n }\n });\n if (!exists) {\n marks.splice(index + 1, 0, cellDef);\n }\n return marks;\n }\n};\nexport default nearest;\n//# sourceMappingURL=nearest.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/selection/transforms/nearest.js\n// module id = 208\n// module chunks = 0","'use strict';\n\nvar asap = require('asap/raw');\n\nfunction noop() {}\n\n// States:\n//\n// 0 - pending\n// 1 - fulfilled with _value\n// 2 - rejected with _value\n// 3 - adopted the state of another promise, _value\n//\n// once the state is no longer pending (0) it is immutable\n\n// All `_` prefixed properties will be reduced to `_{random number}`\n// at build time to obfuscate them and discourage their use.\n// We don't use symbols or Object.defineProperty to fully hide them\n// because the performance isn't good enough.\n\n\n// to avoid using try/catch inside critical functions, we\n// extract them to here.\nvar LAST_ERROR = null;\nvar IS_ERROR = {};\nfunction getThen(obj) {\n try {\n return obj.then;\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\n\nfunction tryCallOne(fn, a) {\n try {\n return fn(a);\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\nfunction tryCallTwo(fn, a, b) {\n try {\n fn(a, b);\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\n\nmodule.exports = Promise;\n\nfunction Promise(fn) {\n if (typeof this !== 'object') {\n throw new TypeError('Promises must be constructed via new');\n }\n if (typeof fn !== 'function') {\n throw new TypeError('Promise constructor\\'s argument is not a function');\n }\n this._75 = 0;\n this._83 = 0;\n this._18 = null;\n this._38 = null;\n if (fn === noop) return;\n doResolve(fn, this);\n}\nPromise._47 = null;\nPromise._71 = null;\nPromise._44 = noop;\n\nPromise.prototype.then = function(onFulfilled, onRejected) {\n if (this.constructor !== Promise) {\n return safeThen(this, onFulfilled, onRejected);\n }\n var res = new Promise(noop);\n handle(this, new Handler(onFulfilled, onRejected, res));\n return res;\n};\n\nfunction safeThen(self, onFulfilled, onRejected) {\n return new self.constructor(function (resolve, reject) {\n var res = new Promise(noop);\n res.then(resolve, reject);\n handle(self, new Handler(onFulfilled, onRejected, res));\n });\n}\nfunction handle(self, deferred) {\n while (self._83 === 3) {\n self = self._18;\n }\n if (Promise._47) {\n Promise._47(self);\n }\n if (self._83 === 0) {\n if (self._75 === 0) {\n self._75 = 1;\n self._38 = deferred;\n return;\n }\n if (self._75 === 1) {\n self._75 = 2;\n self._38 = [self._38, deferred];\n return;\n }\n self._38.push(deferred);\n return;\n }\n handleResolved(self, deferred);\n}\n\nfunction handleResolved(self, deferred) {\n asap(function() {\n var cb = self._83 === 1 ? deferred.onFulfilled : deferred.onRejected;\n if (cb === null) {\n if (self._83 === 1) {\n resolve(deferred.promise, self._18);\n } else {\n reject(deferred.promise, self._18);\n }\n return;\n }\n var ret = tryCallOne(cb, self._18);\n if (ret === IS_ERROR) {\n reject(deferred.promise, LAST_ERROR);\n } else {\n resolve(deferred.promise, ret);\n }\n });\n}\nfunction resolve(self, newValue) {\n // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\n if (newValue === self) {\n return reject(\n self,\n new TypeError('A promise cannot be resolved with itself.')\n );\n }\n if (\n newValue &&\n (typeof newValue === 'object' || typeof newValue === 'function')\n ) {\n var then = getThen(newValue);\n if (then === IS_ERROR) {\n return reject(self, LAST_ERROR);\n }\n if (\n then === self.then &&\n newValue instanceof Promise\n ) {\n self._83 = 3;\n self._18 = newValue;\n finale(self);\n return;\n } else if (typeof then === 'function') {\n doResolve(then.bind(newValue), self);\n return;\n }\n }\n self._83 = 1;\n self._18 = newValue;\n finale(self);\n}\n\nfunction reject(self, newValue) {\n self._83 = 2;\n self._18 = newValue;\n if (Promise._71) {\n Promise._71(self, newValue);\n }\n finale(self);\n}\nfunction finale(self) {\n if (self._75 === 1) {\n handle(self, self._38);\n self._38 = null;\n }\n if (self._75 === 2) {\n for (var i = 0; i < self._38.length; i++) {\n handle(self, self._38[i]);\n }\n self._38 = null;\n }\n}\n\nfunction Handler(onFulfilled, onRejected, promise){\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.promise = promise;\n}\n\n/**\n * Take a potentially misbehaving resolver function and make sure\n * onFulfilled and onRejected are only called once.\n *\n * Makes no guarantees about asynchrony.\n */\nfunction doResolve(fn, promise) {\n var done = false;\n var res = tryCallTwo(fn, function (value) {\n if (done) return;\n done = true;\n resolve(promise, value);\n }, function (reason) {\n if (done) return;\n done = true;\n reject(promise, reason);\n });\n if (!done && res === IS_ERROR) {\n done = true;\n reject(promise, LAST_ERROR);\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-scripts/node_modules/promise/lib/core.js\n// module id = 209\n// module chunks = 0","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\n} catch(e) {\n\t// This works if the window reference is available\n\tif(typeof window === \"object\")\n\t\tg = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 210\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/invariant.js\n// module id = 211\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar emptyObject = {};\n\nif (process.env.NODE_ENV !== 'production') {\n Object.freeze(emptyObject);\n}\n\nmodule.exports = emptyObject;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/emptyObject.js\n// module id = 212\n// module chunks = 0","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/emptyFunction.js\n// module id = 213\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/select.js\n// module id = 214\n// module chunks = 0","function empty() {\n return [];\n}\n\nexport default function(selector) {\n return selector == null ? empty : function() {\n return this.querySelectorAll(selector);\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/selectorAll.js\n// module id = 215\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/matcher.js\n// module id = 216\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/selection/enter.js\n// module id = 217\n// module chunks = 0","export default function(update) {\n return new Array(update.length);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/selection/sparse.js\n// module id = 218\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/selection/style.js\n// module id = 219\n// module chunks = 0","import accessor from './accessor';\nimport field from './field';\n\nvar empty = [];\n\nexport var id = field('id');\n\nexport var identity = accessor(function(_) { return _; }, empty, 'identity');\n\nexport var zero = accessor(function() { return 0; }, empty, 'zero');\n\nexport var one = accessor(function() { return 1; }, empty, 'one');\n\nexport var truthy = accessor(function() { return true; }, empty, 'true');\n\nexport var falsy = accessor(function() { return false; }, empty, 'false');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/accessors.js\n// module id = 220\n// module chunks = 0","import accessor from './accessor';\nimport splitAccessPath from './splitAccessPath';\nimport stringValue from './stringValue';\n\nexport default function(field, name) {\n var path = splitAccessPath(field),\n code = 'return _[' + path.map(stringValue).join('][') + '];';\n\n return accessor(\n Function('_', code),\n [(field = path.length===1 ? path[0] : field)],\n name || field\n );\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/field.js\n// module id = 221\n// module chunks = 0","export default function(message) {\n throw Error(message);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/error.js\n// module id = 222\n// module chunks = 0","export default function(_) {\n return _ === Object(_);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/isObject.js\n// module id = 223\n// module chunks = 0","export default function(_) {\n return typeof _ === 'string';\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/isString.js\n// module id = 224\n// module chunks = 0","export default function(array) {\n return array[array.length - 1];\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/peek.js\n// module id = 225\n// module chunks = 0","export default function(_) {\n return _ == null || _ === '' ? null : +_;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/toNumber.js\n// module id = 226\n// module chunks = 0","export default function(_) {\n return Object.prototype.toString.call(_) === '[object Date]';\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/isDate.js\n// module id = 227\n// module chunks = 0","export default function(_) {\n return typeof _ === 'number';\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/isNumber.js\n// module id = 228\n// module chunks = 0","export default function(str, reps) {\n var s = '';\n while (--reps >= 0) s += str;\n return s;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/repeat.js\n// module id = 229\n// module chunks = 0","import {isArray} from 'vega-util';\n\nvar CACHE = '_:mod:_';\n\n/**\n * Hash that tracks modifications to assigned values.\n * Callers *must* use the set method to update values.\n */\nexport default function Parameters() {\n Object.defineProperty(this, CACHE, {writable:true, value: {}});\n}\n\nvar prototype = Parameters.prototype;\n\n/**\n * Set a parameter value. If the parameter value changes, the parameter\n * will be recorded as modified.\n * @param {string} name - The parameter name.\n * @param {number} index - The index into an array-value parameter. Ignored if\n * the argument is undefined, null or less than zero.\n * @param {*} value - The parameter value to set.\n * @param {boolean} [force=false] - If true, records the parameter as modified\n * even if the value is unchanged.\n * @return {Parameters} - This parameter object.\n */\nprototype.set = function(name, index, value, force) {\n var o = this,\n v = o[name],\n mod = o[CACHE];\n\n if (index != null && index >= 0) {\n if (v[index] !== value || force) {\n v[index] = value;\n mod[index + ':' + name] = -1;\n mod[name] = -1;\n }\n } else if (v !== value || force) {\n o[name] = value;\n mod[name] = isArray(value) ? 1 + value.length : -1;\n }\n\n return o;\n};\n\n/**\n * Tests if one or more parameters has been modified. If invoked with no\n * arguments, returns true if any parameter value has changed. If the first\n * argument is array, returns trues if any parameter name in the array has\n * changed. Otherwise, tests if the given name and optional array index has\n * changed.\n * @param {string} name - The parameter name to test.\n * @param {number} [index=undefined] - The parameter array index to test.\n * @return {boolean} - Returns true if a queried parameter was modified.\n */\nprototype.modified = function(name, index) {\n var mod = this[CACHE], k;\n if (!arguments.length) {\n for (k in mod) { if (mod[k]) return true; }\n return false;\n } else if (isArray(name)) {\n for (k=0; k<name.length; ++k) {\n if (mod[name[k]]) return true;\n }\n return false;\n }\n return (index != null && index >= 0)\n ? (index + 1 < mod[name] || !!mod[index + ':' + name])\n : !!mod[name];\n};\n\n/**\n * Clears the modification records. After calling this method,\n * all parameters are considered unmodified.\n */\nprototype.clear = function() {\n this[CACHE] = {};\n return this;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-dataflow/src/Parameters.js\n// module id = 230\n// module chunks = 0","import UniqueList from './util/UniqueList';\nimport {debounce, id, identity, truthy} from 'vega-util';\n\nvar STREAM_ID = 0;\n\n/**\n * Models an event stream.\n * @constructor\n * @param {function(Object, number): boolean} [filter] - Filter predicate.\n * Events pass through when truthy, events are suppressed when falsy.\n * @param {function(Object): *} [apply] - Applied to input events to produce\n * new event values.\n * @param {function(Object)} [receive] - Event callback function to invoke\n * upon receipt of a new event. Use to override standard event processing.\n */\nexport default function EventStream(filter, apply, receive) {\n this.id = ++STREAM_ID;\n this.value = null;\n if (receive) this.receive = receive;\n if (filter) this._filter = filter;\n if (apply) this._apply = apply;\n}\n\n/**\n * Creates a new event stream instance with the provided\n * (optional) filter, apply and receive functions.\n * @param {function(Object, number): boolean} [filter] - Filter predicate.\n * Events pass through when truthy, events are suppressed when falsy.\n * @param {function(Object): *} [apply] - Applied to input events to produce\n * new event values.\n * @see EventStream\n */\nexport function stream(filter, apply, receive) {\n return new EventStream(filter, apply, receive);\n}\n\nvar prototype = EventStream.prototype;\n\nprototype._filter = truthy;\n\nprototype._apply = identity;\n\nprototype.targets = function() {\n return this._targets || (this._targets = UniqueList(id));\n};\n\nprototype.consume = function(_) {\n if (!arguments.length) return !!this._consume;\n this._consume = !!_;\n return this;\n};\n\nprototype.receive = function(evt) {\n if (this._filter(evt)) {\n var val = (this.value = this._apply(evt)),\n trg = this._targets,\n n = trg ? trg.length : 0,\n i = 0;\n\n for (; i<n; ++i) trg[i].receive(val);\n\n if (this._consume) {\n evt.preventDefault();\n evt.stopPropagation();\n }\n }\n};\n\nprototype.filter = function(filter) {\n var s = stream(filter);\n this.targets().add(s);\n return s;\n};\n\nprototype.apply = function(apply) {\n var s = stream(null, apply);\n this.targets().add(s);\n return s;\n};\n\nprototype.merge = function() {\n var s = stream();\n\n this.targets().add(s);\n for (var i=0, n=arguments.length; i<n; ++i) {\n arguments[i].targets().add(s);\n }\n\n return s;\n};\n\nprototype.throttle = function(pause) {\n var t = -1;\n return this.filter(function() {\n var now = Date.now();\n if ((now - t) > pause) {\n t = now;\n return 1;\n } else {\n return 0;\n }\n });\n};\n\nprototype.debounce = function(delay) {\n var s = stream();\n\n this.targets().add(stream(null, null,\n debounce(delay, function(e) {\n var df = e.dataflow;\n s.receive(e);\n if (df && df.run) df.run();\n })\n ));\n\n return s;\n};\n\nprototype.between = function(a, b) {\n var active = false;\n a.targets().add(stream(null, null, function() { active = true; }));\n b.targets().add(stream(null, null, function() { active = false; }));\n return this.filter(function() { return active; });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-dataflow/src/EventStream.js\n// module id = 231\n// module chunks = 0","import {identity, toBoolean, toDate, toNumber, toString} from 'vega-util';\n\nexport var typeParsers = {\n boolean: toBoolean,\n integer: toNumber,\n number: toNumber,\n date: toDate,\n string: toString,\n unknown: identity\n};\n\nvar typeTests = [\n isBoolean,\n isInteger,\n isNumber,\n isDate\n];\n\nvar typeList = [\n 'boolean',\n 'integer',\n 'number',\n 'date'\n];\n\nexport function inferType(values, field) {\n if (!values || !values.length) return 'unknown';\n\n var value, i, j, t = 0,\n n = values.length,\n m = typeTests.length,\n a = typeTests.map(function(_, i) { return i + 1; });\n\n for (i=0, n=values.length; i<n; ++i) {\n value = field ? values[i][field] : values[i];\n for (j=0; j<m; ++j) {\n if (a[j] && isValid(value) && !typeTests[j](value)) {\n a[j] = 0;\n ++t;\n if (t === typeTests.length) return 'string';\n }\n }\n }\n\n t = a.reduce(function(u, v) { return u === 0 ? v : u; }, 0) - 1;\n return typeList[t];\n}\n\nexport function inferTypes(data, fields) {\n return fields.reduce(function(types, field) {\n types[field] = inferType(data, field);\n return types;\n }, {});\n}\n\n// -- Type Checks ----\n\nfunction isValid(_) {\n return _ != null && _ === _;\n}\n\nfunction isBoolean(_) {\n return _ === 'true' || _ === 'false' || _ === true || _ === false;\n}\n\nfunction isDate(_) {\n return !isNaN(Date.parse(_));\n}\n\nfunction isNumber(_) {\n return !isNaN(+_) && !(_ instanceof Date);\n}\n\nfunction isInteger(_) {\n return isNumber(_) && (_=+_) === ~~_;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-loader/src/type.js\n// module id = 232\n// module chunks = 0","import {default as dsv, delimitedFormat} from './dsv';\nimport json from './json';\nimport topojson from './topojson';\n\nvar formats = {\n dsv: dsv,\n csv: delimitedFormat(','),\n tsv: delimitedFormat('\\t'),\n json: json,\n topojson: topojson\n};\n\nexport default function(name, format) {\n if (arguments.length > 1) {\n formats[name] = format;\n return this;\n } else {\n return formats.hasOwnProperty(name) ? formats[name] : null;\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-loader/src/formats/index.js\n// module id = 233\n// module chunks = 0","import {field, identity, isFunction, isObject} from 'vega-util';\n\nfunction isBuffer(_) {\n return (typeof Buffer === 'function' && isFunction(Buffer.isBuffer))\n ? Buffer.isBuffer(_) : false;\n}\n\nexport default function(data, format) {\n var prop = (format && format.property) ? field(format.property) : identity;\n return isObject(data) && !isBuffer(data)\n ? parseJSON(prop(data))\n : prop(JSON.parse(data));\n}\n\nfunction parseJSON(data, format) {\n return (format && format.copy)\n ? JSON.parse(JSON.stringify(data))\n : data;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-loader/src/formats/json.js\n// module id = 234\n// module chunks = 0","import transform from \"./transform\";\n\nexport default function(topology) {\n var t = transform(topology.transform), key,\n x0 = Infinity, y0 = x0, x1 = -x0, y1 = -x0;\n\n function bboxPoint(p) {\n p = t(p);\n if (p[0] < x0) x0 = p[0];\n if (p[0] > x1) x1 = p[0];\n if (p[1] < y0) y0 = p[1];\n if (p[1] > y1) y1 = p[1];\n }\n\n function bboxGeometry(o) {\n switch (o.type) {\n case \"GeometryCollection\": o.geometries.forEach(bboxGeometry); break;\n case \"Point\": bboxPoint(o.coordinates); break;\n case \"MultiPoint\": o.coordinates.forEach(bboxPoint); break;\n }\n }\n\n topology.arcs.forEach(function(arc) {\n var i = -1, n = arc.length, p;\n while (++i < n) {\n p = t(arc[i], i);\n if (p[0] < x0) x0 = p[0];\n if (p[0] > x1) x1 = p[0];\n if (p[1] < y0) y0 = p[1];\n if (p[1] > y1) y1 = p[1];\n }\n });\n\n for (key in topology.objects) {\n bboxGeometry(topology.objects[key]);\n }\n\n return [x0, y0, x1, y1];\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/topojson-client/src/bbox.js\n// module id = 235\n// module chunks = 0","export default function(x) {\n return x;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/topojson-client/src/identity.js\n// module id = 236\n// module chunks = 0","export default function(topology, arcs) {\n var stitchedArcs = {},\n fragmentByStart = {},\n fragmentByEnd = {},\n fragments = [],\n emptyIndex = -1;\n\n // Stitch empty arcs first, since they may be subsumed by other arcs.\n arcs.forEach(function(i, j) {\n var arc = topology.arcs[i < 0 ? ~i : i], t;\n if (arc.length < 3 && !arc[1][0] && !arc[1][1]) {\n t = arcs[++emptyIndex], arcs[emptyIndex] = i, arcs[j] = t;\n }\n });\n\n arcs.forEach(function(i) {\n var e = ends(i),\n start = e[0],\n end = e[1],\n f, g;\n\n if (f = fragmentByEnd[start]) {\n delete fragmentByEnd[f.end];\n f.push(i);\n f.end = end;\n if (g = fragmentByStart[end]) {\n delete fragmentByStart[g.start];\n var fg = g === f ? f : f.concat(g);\n fragmentByStart[fg.start = f.start] = fragmentByEnd[fg.end = g.end] = fg;\n } else {\n fragmentByStart[f.start] = fragmentByEnd[f.end] = f;\n }\n } else if (f = fragmentByStart[end]) {\n delete fragmentByStart[f.start];\n f.unshift(i);\n f.start = start;\n if (g = fragmentByEnd[start]) {\n delete fragmentByEnd[g.end];\n var gf = g === f ? f : g.concat(f);\n fragmentByStart[gf.start = g.start] = fragmentByEnd[gf.end = f.end] = gf;\n } else {\n fragmentByStart[f.start] = fragmentByEnd[f.end] = f;\n }\n } else {\n f = [i];\n fragmentByStart[f.start = start] = fragmentByEnd[f.end = end] = f;\n }\n });\n\n function ends(i) {\n var arc = topology.arcs[i < 0 ? ~i : i], p0 = arc[0], p1;\n if (topology.transform) p1 = [0, 0], arc.forEach(function(dp) { p1[0] += dp[0], p1[1] += dp[1]; });\n else p1 = arc[arc.length - 1];\n return i < 0 ? [p1, p0] : [p0, p1];\n }\n\n function flush(fragmentByEnd, fragmentByStart) {\n for (var k in fragmentByEnd) {\n var f = fragmentByEnd[k];\n delete fragmentByStart[f.start];\n delete f.start;\n delete f.end;\n f.forEach(function(i) { stitchedArcs[i < 0 ? ~i : i] = 1; });\n fragments.push(f);\n }\n }\n\n flush(fragmentByEnd, fragmentByStart);\n flush(fragmentByStart, fragmentByEnd);\n arcs.forEach(function(i) { if (!stitchedArcs[i < 0 ? ~i : i]) fragments.push([i]); });\n\n return fragments;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/topojson-client/src/stitch.js\n// module id = 237\n// module chunks = 0","import identity from \"./identity\";\n\nexport default function(transform) {\n if (transform == null) return identity;\n var x0,\n y0,\n kx = transform.scale[0],\n ky = transform.scale[1],\n dx = transform.translate[0],\n dy = transform.translate[1];\n return function(input, i) {\n if (!i) x0 = y0 = 0;\n var j = 2,\n n = input.length,\n output = new Array(n),\n x1 = Math.round((input[0] - dx) / kx),\n y1 = Math.round((input[1] - dy) / ky);\n output[0] = x1 - x0, x0 = x1;\n output[1] = y1 - y0, y0 = y1;\n while (j < n) output[j] = input[j], ++j;\n return output;\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/topojson-client/src/untransform.js\n// module id = 238\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-time-format/src/locale.js\n// module id = 239\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-time-format/src/isoFormat.js\n// module id = 240\n// module chunks = 0","import Pulse from './Pulse';\nimport {error, inherits, isArray} from 'vega-util';\n\n/**\n * Represents a set of multiple pulses. Used as input for operators\n * that accept multiple pulses at a time. Contained pulses are\n * accessible via the public \"pulses\" array property. This pulse doe\n * not carry added, removed or modified tuples directly. However,\n * the visit method can be used to traverse all such tuples contained\n * in sub-pulses with a timestamp matching this parent multi-pulse.\n * @constructor\n * @param {Dataflow} dataflow - The backing dataflow instance.\n * @param {number} stamp - The timestamp.\n * @param {Array<Pulse>} pulses - The sub-pulses for this multi-pulse.\n */\nexport default function MultiPulse(dataflow, stamp, pulses, encode) {\n var p = this,\n c = 0,\n pulse, hash, i, n, f;\n\n this.dataflow = dataflow;\n this.stamp = stamp;\n this.fields = null;\n this.encode = encode || null;\n this.pulses = pulses;\n\n for (i=0, n=pulses.length; i<n; ++i) {\n pulse = pulses[i];\n if (pulse.stamp !== stamp) continue;\n\n if (pulse.fields) {\n hash = p.fields || (p.fields = {});\n for (f in pulse.fields) { hash[f] = 1; }\n }\n\n if (pulse.changed(p.ADD)) c |= p.ADD;\n if (pulse.changed(p.REM)) c |= p.REM;\n if (pulse.changed(p.MOD)) c |= p.MOD;\n }\n\n this.changes = c;\n}\n\nvar prototype = inherits(MultiPulse, Pulse);\n\n/**\n * Creates a new pulse based on the values of this pulse.\n * The dataflow, time stamp and field modification values are copied over.\n * @return {Pulse}\n */\nprototype.fork = function(flags) {\n var p = new Pulse(this.dataflow).init(this, flags & this.NO_FIELDS);\n if (flags !== undefined) {\n if (flags & p.ADD) {\n this.visit(p.ADD, function(t) { return p.add.push(t); });\n }\n if (flags & p.REM) {\n this.visit(p.REM, function(t) { return p.rem.push(t); });\n }\n if (flags & p.MOD) {\n this.visit(p.MOD, function(t) { return p.mod.push(t); });\n }\n }\n return p;\n};\n\nprototype.changed = function(flags) {\n return this.changes & flags;\n};\n\nprototype.modified = function(_) {\n var p = this, fields = p.fields;\n return !(fields && (p.changes & p.MOD)) ? 0\n : isArray(_) ? _.some(function(f) { return fields[f]; })\n : fields[_];\n};\n\nprototype.filter = function() {\n error('MultiPulse does not support filtering.');\n};\n\nprototype.materialize = function() {\n error('MultiPulse does not support materialization.');\n};\n\nprototype.visit = function(flags, visitor) {\n var p = this,\n pulses = p.pulses,\n n = pulses.length,\n i = 0;\n\n if (flags & p.SOURCE) {\n for (; i<n; ++i) {\n pulses[i].visit(flags, visitor);\n }\n } else {\n for (; i<n; ++i) {\n if (pulses[i].stamp === p.stamp) {\n pulses[i].visit(flags, visitor);\n }\n }\n }\n\n return p;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-dataflow/src/MultiPulse.js\n// module id = 241\n// module chunks = 0","export function multikey(f) {\n return function(x) {\n var n = f.length,\n i = 1,\n k = String(f[0](x));\n\n for (; i<n; ++i) {\n k += '|' + f[i](x);\n }\n\n return k;\n };\n}\n\nexport function groupkey(fields) {\n return !fields || !fields.length ? function() { return ''; }\n : fields.length === 1 ? fields[0]\n : multikey(fields);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/util/AggregateKeys.js\n// module id = 242\n// module chunks = 0","import {tupleid} from 'vega-dataflow';\nimport {bootstrapCI, quartiles} from 'vega-statistics';\nimport {extentIndex, field} from 'vega-util';\n\nexport default function TupleStore(key) {\n this._key = key ? field(key) : tupleid;\n this.reset();\n}\n\nvar prototype = TupleStore.prototype;\n\nprototype.reset = function() {\n this._add = [];\n this._rem = [];\n this._ext = null;\n this._get = null;\n this._q = null;\n};\n\nprototype.add = function(v) {\n this._add.push(v);\n};\n\nprototype.rem = function(v) {\n this._rem.push(v);\n};\n\nprototype.values = function() {\n this._get = null;\n if (this._rem.length === 0) return this._add;\n\n var a = this._add,\n r = this._rem,\n k = this._key,\n n = a.length,\n m = r.length,\n x = Array(n - m),\n map = {}, i, j, v;\n\n // use unique key field to clear removed values\n for (i=0; i<m; ++i) {\n map[k(r[i])] = 1;\n }\n for (i=0, j=0; i<n; ++i) {\n if (map[k(v = a[i])]) {\n map[k(v)] = 0;\n } else {\n x[j++] = v;\n }\n }\n\n this._rem = [];\n return (this._add = x);\n};\n\n// memoizing statistics methods\n\nprototype.distinct = function(get) {\n var v = this.values(),\n n = v.length,\n map = {},\n count = 0, s;\n\n while (--n >= 0) {\n s = get(v[n]) + '';\n if (!map.hasOwnProperty(s)) {\n map[s] = 1;\n ++count;\n }\n }\n\n return count;\n};\n\nprototype.extent = function(get) {\n if (this._get !== get || !this._ext) {\n var v = this.values(),\n i = extentIndex(v, get);\n this._ext = [v[i[0]], v[i[1]]];\n this._get = get;\n }\n return this._ext;\n};\n\nprototype.argmin = function(get) {\n return this.extent(get)[0] || {};\n};\n\nprototype.argmax = function(get) {\n return this.extent(get)[1] || {};\n};\n\nprototype.min = function(get) {\n var m = this.extent(get)[0];\n return m != null ? get(m) : +Infinity;\n};\n\nprototype.max = function(get) {\n var m = this.extent(get)[1];\n return m != null ? get(m) : -Infinity;\n};\n\nprototype.quartile = function(get) {\n if (this._get !== get || !this._q) {\n this._q = quartiles(this.values(), get);\n this._get = get;\n }\n return this._q;\n};\n\nprototype.q1 = function(get) {\n return this.quartile(get)[0];\n};\n\nprototype.q2 = function(get) {\n return this.quartile(get)[1];\n};\n\nprototype.q3 = function(get) {\n return this.quartile(get)[2];\n};\n\nprototype.ci = function(get) {\n if (this._get !== get || !this._ci) {\n this._ci = bootstrapCI(this.values(), 1000, 0.05, get);\n this._get = get;\n }\n return this._ci;\n};\n\nprototype.ci0 = function(get) {\n return this.ci(get)[0];\n};\n\nprototype.ci1 = function(get) {\n return this.ci(get)[1];\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/util/TupleStore.js\n// module id = 243\n// module chunks = 0","export default function(array, f) {\n var numbers = [],\n n = array.length,\n i = -1, a;\n\n if (f == null) {\n while (++i < n) if (!isNaN(a = number(array[i]))) numbers.push(a);\n } else {\n while (++i < n) if (!isNaN(a = number(f(array[i], i, array)))) numbers.push(a);\n }\n return numbers;\n}\n\nfunction number(x) {\n return x === null ? NaN : +x;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-statistics/src/numbers.js\n// module id = 244\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-array/src/bisect.js\n// module id = 245\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-array/src/bisector.js\n// module id = 246\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-array/src/pairs.js\n// module id = 247\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-array/src/deviation.js\n// module id = 248\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-array/src/variance.js\n// module id = 249\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-array/src/extent.js\n// module id = 250\n// module chunks = 0","var array = Array.prototype;\n\nexport var slice = array.slice;\nexport var map = array.map;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-array/src/array.js\n// module id = 251\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-array/src/range.js\n// module id = 252\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-array/src/ticks.js\n// module id = 253\n// module chunks = 0","export default function(values) {\n return Math.ceil(Math.log(values.length) / Math.LN2) + 1;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-array/src/threshold/sturges.js\n// module id = 254\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-array/src/min.js\n// module id = 255\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-array/src/transpose.js\n// module id = 256\n// module chunks = 0","import numbers from './numbers';\nimport {quantile, ascending} from 'd3-array';\n\nexport default function(array, f) {\n var values = numbers(array, f);\n\n return [\n quantile(values.sort(ascending), 0.25),\n quantile(values, 0.50),\n quantile(values, 0.75)\n ];\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-statistics/src/quartiles.js\n// module id = 257\n// module chunks = 0","import {random} from './random';\n\nexport default function(mean, stdev) {\n var mu,\n sigma,\n next = NaN,\n dist = {};\n\n dist.mean = function(_) {\n if (arguments.length) {\n mu = _ || 0;\n next = NaN;\n return dist;\n } else {\n return mu;\n }\n };\n\n dist.stdev = function(_) {\n if (arguments.length) {\n sigma = _ == null ? 1 : _;\n next = NaN;\n return dist;\n } else {\n return sigma;\n }\n };\n\n dist.sample = function() {\n var x = 0, y = 0, rds, c;\n if (next === next) {\n x = next;\n next = NaN;\n return x;\n }\n do {\n x = random() * 2 - 1;\n y = random() * 2 - 1;\n rds = x * x + y * y;\n } while (rds === 0 || rds > 1);\n c = Math.sqrt(-2 * Math.log(rds) / rds); // Box-Muller transform\n next = mu + y * c * sigma;\n return mu + x * c * sigma;\n };\n\n dist.pdf = function(x) {\n var exp = Math.exp(Math.pow(x-mu, 2) / (-2 * Math.pow(sigma, 2)));\n return (1 / (sigma * Math.sqrt(2*Math.PI))) * exp;\n };\n\n // Approximation from West (2009)\n // Better Approximations to Cumulative Normal Functions\n dist.cdf = function(x) {\n var cd,\n z = (x - mu) / sigma,\n Z = Math.abs(z);\n if (Z > 37) {\n cd = 0;\n } else {\n var sum, exp = Math.exp(-Z*Z/2);\n if (Z < 7.07106781186547) {\n sum = 3.52624965998911e-02 * Z + 0.700383064443688;\n sum = sum * Z + 6.37396220353165;\n sum = sum * Z + 33.912866078383;\n sum = sum * Z + 112.079291497871;\n sum = sum * Z + 221.213596169931;\n sum = sum * Z + 220.206867912376;\n cd = exp * sum;\n sum = 8.83883476483184e-02 * Z + 1.75566716318264;\n sum = sum * Z + 16.064177579207;\n sum = sum * Z + 86.7807322029461;\n sum = sum * Z + 296.564248779674;\n sum = sum * Z + 637.333633378831;\n sum = sum * Z + 793.826512519948;\n sum = sum * Z + 440.413735824752;\n cd = cd / sum;\n } else {\n sum = Z + 0.65;\n sum = Z + 4 / sum;\n sum = Z + 3 / sum;\n sum = Z + 2 / sum;\n sum = Z + 1 / sum;\n cd = exp / sum / 2.506628274631;\n }\n }\n return z > 0 ? 1 - cd : cd;\n };\n\n // Approximation of Probit function using inverse error function.\n dist.icdf = function(p) {\n if (p <= 0 || p >= 1) return NaN;\n var x = 2*p - 1,\n v = (8 * (Math.PI - 3)) / (3 * Math.PI * (4-Math.PI)),\n a = (2 / (Math.PI*v)) + (Math.log(1 - Math.pow(x,2)) / 2),\n b = Math.log(1 - (x*x)) / v,\n s = (x > 0 ? 1 : -1) * Math.sqrt(Math.sqrt((a*a) - b) - a);\n return mu + sigma * Math.SQRT2 * s;\n };\n\n return dist.mean(mean).stdev(stdev);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-statistics/src/normal.js\n// module id = 258\n// module chunks = 0","import {merge} from 'vega-util';\n\nexport default function(idFunc, source, input) {\n var $ = idFunc,\n data = source || [],\n add = input || [],\n rem = {},\n cnt = 0;\n\n return {\n add: function(t) { add.push(t); },\n remove: function(t) { rem[$(t)] = ++cnt; },\n size: function() { return data.length; },\n data: function(compare, resort) {\n if (cnt) {\n data = data.filter(function(t) { return !rem[$(t)]; });\n rem = {};\n cnt = 0;\n }\n if (resort && compare) {\n data.sort(compare);\n }\n if (add.length) {\n data = compare\n ? merge(compare, data, add.sort(compare))\n : data.concat(add);\n add = [];\n }\n return data;\n }\n }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/util/SortedList.js\n// module id = 259\n// module chunks = 0","import Subflow from './Subflow';\nimport {Transform, tupleid} from 'vega-dataflow';\nimport {fastmap, inherits} from 'vega-util';\n\n/**\n * Facets a dataflow into a set of subflows based on a key.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(Dataflow, string): Operator} params.subflow - A function\n * that generates a subflow of operators and returns its root operator.\n * @param {function(object): *} params.key - The key field to facet by.\n */\nexport default function Facet(params) {\n Transform.call(this, {}, params);\n this._keys = fastmap(); // cache previously calculated key values\n\n // keep track of active subflows, use as targets array for listeners\n // this allows us to limit propagation to only updated subflows\n var a = this._targets = [];\n a.active = 0;\n a.forEach = function(f) {\n for (var i=0, n=a.active; i<n; ++i) f(a[i], i, a);\n };\n}\n\nvar prototype = inherits(Facet, Transform);\n\nprototype.activate = function(flow) {\n this._targets[this._targets.active++] = flow;\n};\n\nprototype.subflow = function(key, flow, pulse, parent) {\n var flows = this.value,\n sf = flows.hasOwnProperty(key) && flows[key],\n df, p;\n\n if (!sf) {\n p = parent || (p = this._group[key]) && p.tuple;\n df = pulse.dataflow;\n sf = df.add(new Subflow(pulse.fork(pulse.NO_SOURCE), this))\n .connect(flow(df, key, p));\n flows[key] = sf;\n this.activate(sf);\n } else if (sf.value.stamp < pulse.stamp) {\n sf.init(pulse);\n this.activate(sf);\n }\n\n return sf;\n};\n\nprototype.transform = function(_, pulse) {\n var df = pulse.dataflow,\n self = this,\n key = _.key,\n flow = _.subflow,\n cache = this._keys,\n rekey = _.modified('key');\n\n function subflow(key) {\n return self.subflow(key, flow, pulse);\n }\n\n this._group = _.group || {};\n this._targets.active = 0; // reset list of active subflows\n\n pulse.visit(pulse.REM, function(t) {\n var id = tupleid(t),\n k = cache.get(id);\n if (k !== undefined) {\n cache.delete(id);\n subflow(k).rem(t);\n }\n });\n\n pulse.visit(pulse.ADD, function(t) {\n var k = key(t);\n cache.set(tupleid(t), k);\n subflow(k).add(t);\n });\n\n if (rekey || pulse.modified(key.fields)) {\n pulse.visit(pulse.MOD, function(t) {\n var id = tupleid(t),\n k0 = cache.get(id),\n k1 = key(t);\n if (k0 === k1) {\n subflow(k1).mod(t);\n } else {\n cache.set(id, k1);\n subflow(k0).rem(t);\n subflow(k1).add(t);\n }\n });\n } else if (pulse.changed(pulse.MOD)) {\n pulse.visit(pulse.MOD, function(t) {\n subflow(cache.get(tupleid(t))).mod(t);\n });\n }\n\n if (rekey) {\n pulse.visit(pulse.REFLOW, function(t) {\n var id = tupleid(t),\n k0 = cache.get(id),\n k1 = key(t);\n if (k0 !== k1) {\n cache.set(id, k1);\n subflow(k0).rem(t);\n subflow(k1).add(t);\n }\n });\n }\n\n if (cache.empty > df.cleanThreshold) df.runAfter(cache.clean);\n return pulse;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/Facet.js\n// module id = 260\n// module chunks = 0","import {Operator} from 'vega-dataflow';\nimport {inherits} from 'vega-util';\n\n/**\n * Provides a bridge between a parent transform and a target subflow that\n * consumes only a subset of the tuples that pass through the parent.\n * @constructor\n * @param {Pulse} pulse - A pulse to use as the value of this operator.\n * @param {Transform} parent - The parent transform (typically a Facet instance).\n * @param {Transform} target - A transform that receives the subflow of tuples.\n */\nexport default function Subflow(pulse, parent) {\n Operator.call(this, pulse);\n this.parent = parent;\n}\n\nvar prototype = inherits(Subflow, Operator);\n\nprototype.connect = function(target) {\n this.targets().add(target);\n return (target.source = this);\n};\n\n/**\n * Add an 'add' tuple to the subflow pulse.\n * @param {Tuple} t - The tuple being added.\n */\nprototype.add = function(t) {\n this.value.add.push(t);\n};\n\n/**\n * Add a 'rem' tuple to the subflow pulse.\n * @param {Tuple} t - The tuple being removed.\n */\nprototype.rem = function(t) {\n this.value.rem.push(t);\n};\n\n/**\n * Add a 'mod' tuple to the subflow pulse.\n * @param {Tuple} t - The tuple being modified.\n */\nprototype.mod = function(t) {\n this.value.mod.push(t);\n};\n\n/**\n * Re-initialize this operator's pulse value.\n * @param {Pulse} pulse - The pulse to copy from.\n * @see Pulse.init\n */\nprototype.init = function(pulse) {\n this.value.init(pulse, pulse.NO_SOURCE);\n};\n\n/**\n * Evaluate this operator. This method overrides the\n * default behavior to simply return the contained pulse value.\n * @return {Pulse}\n */\nprototype.evaluate = function() {\n // assert: this.value.stamp === pulse.stamp\n return this.value;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/Subflow.js\n// module id = 261\n// module chunks = 0","import {accessorName} from 'vega-util';\n\n// use either provided alias or accessor field name\nexport function fieldNames(fields, as) {\n if (!fields) return null;\n return fields.map(function(f, i) {\n return as[i] || accessorName(f);\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/util/util.js\n// module id = 262\n// module chunks = 0","import {error, zero} from 'vega-util';\n\nexport function WindowOp(op, field, param, as) {\n var fn = WindowOps[op](field, param);\n return {\n init: fn.init || zero,\n update: function(w, t) { t[as] = fn.next(w); }\n };\n}\n\nexport var WindowOps = {\n row_number: function() {\n return {\n next: function(w) { return w.index + 1; }\n };\n },\n rank: function() {\n var rank;\n return {\n init: function() { rank = 1; },\n next: function(w) {\n var i = w.index,\n data = w.data;\n return (i && w.compare(data[i - 1], data[i])) ? (rank = i + 1) : rank;\n }\n };\n },\n dense_rank: function() {\n var drank;\n return {\n init: function() { drank = 1; },\n next: function(w) {\n var i = w.index,\n d = w.data;\n return (i && w.compare(d[i - 1], d[i])) ? ++drank : drank;\n }\n };\n },\n percent_rank: function() {\n var rank = WindowOps.rank(),\n next = rank.next;\n return {\n init: rank.init,\n next: function(w) {\n return (next(w) - 1) / (w.data.length - 1);\n }\n };\n },\n cume_dist: function() {\n var cume;\n return {\n init: function() { cume = 0; },\n next: function(w) {\n var i = w.index,\n d = w.data,\n c = w.compare;\n if (cume < i) {\n while (i + 1 < d.length && !c(d[i], d[i + 1])) ++i;\n cume = i;\n }\n return (1 + cume) / d.length;\n }\n };\n },\n ntile: function(field, num) {\n num = +num;\n if (!(num > 0)) error('ntile num must be greater than zero.');\n var cume = WindowOps.cume_dist(),\n next = cume.next;\n return {\n init: cume.init,\n next: function(w) { return Math.ceil(num * next(w)); }\n };\n },\n\n lag: function(field, offset) {\n offset = +offset || 1;\n return {\n next: function(w) {\n var i = w.index - offset;\n return i >= 0 ? field(w.data[i]) : null;\n }\n };\n },\n lead: function(field, offset) {\n offset = +offset || 1;\n return {\n next: function(w) {\n var i = w.index + offset,\n d = w.data;\n return i < d.length ? field(d[i]) : null;\n }\n };\n },\n\n first_value: function(field) {\n return {\n next: function(w) { return field(w.data[w.i0]); }\n };\n },\n last_value: function(field) {\n return {\n next: function(w) { return field(w.data[w.i1 - 1]); }\n }\n },\n nth_value: function(field, nth) {\n nth = +nth;\n if (!(nth > 0)) error('nth_value nth must be greater than zero.');\n return {\n next: function(w) {\n var i = w.i0 + (nth - 1);\n return i < w.i1 ? field(w.data[i]) : null;\n }\n }\n }\n};\n\nexport var ValidWindowOps = Object.keys(WindowOps);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/util/WindowOps.js\n// module id = 263\n// module chunks = 0","import Item from './Item';\nimport {inherits} from 'vega-util';\n\nexport default function GroupItem(mark) {\n Item.call(this, mark);\n this.items = (this.items || []);\n}\n\ninherits(GroupItem, Item);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/GroupItem.js\n// module id = 264\n// module chunks = 0","import Bounds from './Bounds';\n\nexport default function Item(mark) {\n this.mark = mark;\n this.bounds = (this.bounds || new Bounds());\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/Item.js\n// module id = 265\n// module chunks = 0","import {image} from 'vega-canvas';\nimport {loader} from 'vega-loader';\n\nexport default function ResourceLoader(customLoader) {\n this._pending = 0;\n this._loader = customLoader || loader();\n}\n\nvar prototype = ResourceLoader.prototype;\n\nprototype.pending = function() {\n return this._pending;\n};\n\nfunction increment(loader) {\n loader._pending += 1;\n}\n\nfunction decrement(loader) {\n loader._pending -= 1;\n}\n\nprototype.sanitizeURL = function(uri) {\n var loader = this;\n increment(loader);\n\n return loader._loader.sanitize(uri, {context:'href'})\n .then(function(opt) {\n decrement(loader);\n return opt;\n })\n .catch(function() {\n decrement(loader);\n return null;\n });\n};\n\nprototype.loadImage = function(uri) {\n var loader = this,\n Image = image();\n increment(loader);\n\n return loader._loader\n .sanitize(uri, {context: 'image'})\n .then(function(opt) {\n var url = opt.href;\n if (!url || !Image) throw {url: url};\n\n var img = new Image();\n\n img.onload = function() {\n decrement(loader);\n img.loaded = true;\n };\n\n img.onerror = function() {\n decrement(loader);\n img.loaded = false;\n }\n\n img.src = url;\n return img;\n })\n .catch(function(e) {\n decrement(loader);\n return {loaded: false, width: 0, height: 0, src: e && e.url || ''};\n });\n};\n\nprototype.ready = function() {\n var loader = this;\n return new Promise(function(accept) {\n function poll(value) {\n if (!loader.pending()) accept(value);\n else setTimeout(function() { poll(true); }, 10);\n }\n poll(false);\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/ResourceLoader.js\n// module id = 266\n// module chunks = 0","import boundMark from '../bound/boundMark';\n\nvar keys = [\n 'marktype', 'name', 'role', 'interactive', 'clip', 'items', 'zindex',\n 'x', 'y', 'width', 'height', 'align', 'baseline', // layout\n 'fill', 'fillOpacity', 'opacity', // fill\n 'stroke', 'strokeOpacity', 'strokeWidth', 'strokeCap', // stroke\n 'strokeDash', 'strokeDashOffset', // stroke dash\n 'startAngle', 'endAngle', 'innerRadius', 'outerRadius', // arc\n 'cornerRadius', 'padAngle', // arc, rect\n 'interpolate', 'tension', 'orient', 'defined', // area, line\n 'url', // image\n 'path', // path\n 'x2', 'y2', // rule\n 'size', 'shape', // symbol\n 'text', 'angle', 'theta', 'radius', 'dx', 'dy', // text\n 'font', 'fontSize', 'fontWeight', 'fontStyle', 'fontVariant' // font\n];\n\nexport function sceneToJSON(scene, indent) {\n return JSON.stringify(scene, keys, indent);\n}\n\nexport function sceneFromJSON(json) {\n var scene = (typeof json === 'string' ? JSON.parse(json) : json);\n return initialize(scene);\n}\n\nfunction initialize(scene) {\n var type = scene.marktype,\n items = scene.items,\n parent, i, n;\n\n if (items) {\n for (i=0, n=items.length; i<n; ++i) {\n parent = type ? 'mark' : 'group';\n items[i][parent] = scene;\n if (items[i].zindex) items[i][parent].zdirty = true;\n if ('group' === (type || parent)) initialize(items[i]);\n }\n }\n\n if (type) boundMark(scene);\n return scene;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/util/serialize.js\n// module id = 267\n// module chunks = 0","import Bounds from '../Bounds';\nimport boundItem from './boundItem';\nimport marks from '../marks/index';\n\nvar DUMMY = {mark: null};\n\nexport default function(mark, bounds, opt) {\n var type = marks[mark.marktype],\n bound = type.bound,\n items = mark.items,\n hasItems = items && items.length,\n i, n, item, b;\n\n if (type.nested) {\n if (hasItems) {\n item = items[0];\n } else {\n // no items, fake it\n DUMMY.mark = mark;\n item = DUMMY;\n }\n b = boundItem(item, bound, opt);\n bounds = bounds && bounds.union(b) || b;\n return bounds;\n }\n\n bounds = bounds\n || mark.bounds && mark.bounds.clear()\n || new Bounds();\n\n if (hasItems) {\n for (i=0, n=items.length; i<n; ++i) {\n bounds.union(boundItem(items[i], bound, opt));\n }\n }\n\n return mark.bounds = bounds;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/bound/boundMark.js\n// module id = 268\n// module chunks = 0","import Bounds from '../Bounds';\nimport marks from '../marks/index';\n\nexport default function(item, func, opt) {\n var type = marks[item.mark.marktype],\n bound = func || type.bound;\n if (type.nested) item = item.mark;\n\n return bound(item.bounds || (item.bounds = new Bounds()), item, opt);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/bound/boundItem.js\n// module id = 269\n// module chunks = 0","import {\n curveBasis,\n curveBasisClosed,\n curveBasisOpen,\n curveBundle,\n curveCardinal,\n curveCardinalClosed,\n curveCardinalOpen,\n curveCatmullRom,\n curveCatmullRomClosed,\n curveCatmullRomOpen,\n curveLinear,\n curveLinearClosed,\n curveMonotoneX,\n curveMonotoneY,\n curveNatural,\n curveStep,\n curveStepAfter,\n curveStepBefore\n} from 'd3-shape';\n\nvar lookup = {\n 'basis': {\n curve: curveBasis\n },\n 'basis-closed': {\n curve: curveBasisClosed\n },\n 'basis-open': {\n curve: curveBasisOpen\n },\n 'bundle': {\n curve: curveBundle,\n tension: 'beta',\n value: 0.85\n },\n 'cardinal': {\n curve: curveCardinal,\n tension: 'tension',\n value: 0\n },\n 'cardinal-open': {\n curve: curveCardinalOpen,\n tension: 'tension',\n value: 0\n },\n 'cardinal-closed': {\n curve: curveCardinalClosed,\n tension: 'tension',\n value: 0\n },\n 'catmull-rom': {\n curve: curveCatmullRom,\n tension: 'alpha',\n value: 0.5\n },\n 'catmull-rom-closed': {\n curve: curveCatmullRomClosed,\n tension: 'alpha',\n value: 0.5\n },\n 'catmull-rom-open': {\n curve: curveCatmullRomOpen,\n tension: 'alpha',\n value: 0.5\n },\n 'linear': {\n curve: curveLinear\n },\n 'linear-closed': {\n curve: curveLinearClosed\n },\n 'monotone': {\n horizontal: curveMonotoneY,\n vertical: curveMonotoneX\n },\n 'natural': {\n curve: curveNatural\n },\n 'step': {\n curve: curveStep\n },\n 'step-after': {\n curve: curveStepAfter\n },\n 'step-before': {\n curve: curveStepBefore\n }\n};\n\nexport default function curves(type, orientation, tension) {\n var entry = lookup.hasOwnProperty(type) && lookup[type],\n curve = null;\n\n if (entry) {\n curve = entry.curve || entry[orientation || 'vertical'];\n if (entry.tension && tension != null) {\n curve = curve[entry.tension](tension);\n }\n }\n\n return curve;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/path/curves.js\n// module id = 270\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/area.js\n// module id = 272\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/curve/radial.js\n// module id = 273\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/lineRadial.js\n// module id = 274\n// module chunks = 0","export default function(x, y) {\n return [(y = +y) * Math.cos(x -= Math.PI / 2), y * Math.sin(x)];\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/pointRadial.js\n// module id = 275\n// module chunks = 0","export var slice = Array.prototype.slice;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/array.js\n// module id = 276\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/symbol/circle.js\n// module id = 277\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/symbol/cross.js\n// module id = 278\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/symbol/diamond.js\n// module id = 279\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/symbol/star.js\n// module id = 280\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/symbol/square.js\n// module id = 281\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/symbol/triangle.js\n// module id = 282\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/symbol/wye.js\n// module id = 283\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/curve/cardinalClosed.js\n// module id = 284\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/curve/cardinalOpen.js\n// module id = 285\n// module chunks = 0","import pathParse from './parse';\nimport pathRender from './render';\n\nvar tau = 2 * Math.PI,\n halfSqrt3 = Math.sqrt(3) / 2;\n\nvar builtins = {\n 'circle': {\n draw: function(context, size) {\n var r = Math.sqrt(size) / 2;\n context.moveTo(r, 0);\n context.arc(0, 0, r, 0, tau);\n }\n },\n 'cross': {\n draw: function(context, size) {\n var r = Math.sqrt(size) / 2,\n s = r / 2.5;\n context.moveTo(-r, -s);\n context.lineTo(-r, s);\n context.lineTo(-s, s);\n context.lineTo(-s, r);\n context.lineTo(s, r);\n context.lineTo(s, s);\n context.lineTo(r, s);\n context.lineTo(r, -s);\n context.lineTo(s, -s);\n context.lineTo(s, -r);\n context.lineTo(-s, -r);\n context.lineTo(-s, -s);\n context.closePath();\n }\n },\n 'diamond': {\n draw: function(context, size) {\n var r = Math.sqrt(size) / 2;\n context.moveTo(-r, 0);\n context.lineTo(0, -r);\n context.lineTo(r, 0);\n context.lineTo(0, r);\n context.closePath();\n }\n },\n 'square': {\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 'triangle-up': {\n draw: function(context, size) {\n var r = Math.sqrt(size) / 2,\n h = halfSqrt3 * r;\n context.moveTo(0, -h);\n context.lineTo(-r, h);\n context.lineTo(r, h);\n context.closePath();\n }\n },\n 'triangle-down': {\n draw: function(context, size) {\n var r = Math.sqrt(size) / 2,\n h = halfSqrt3 * r;\n context.moveTo(0, h);\n context.lineTo(-r, -h);\n context.lineTo(r, -h);\n context.closePath();\n }\n },\n 'triangle-right': {\n draw: function(context, size) {\n var r = Math.sqrt(size) / 2,\n h = halfSqrt3 * r;\n context.moveTo(h, 0);\n context.lineTo(-h, -r);\n context.lineTo(-h, r);\n context.closePath();\n }\n },\n 'triangle-left': {\n draw: function(context, size) {\n var r = Math.sqrt(size) / 2,\n h = halfSqrt3 * r;\n context.moveTo(-h, 0);\n context.lineTo(h, -r);\n context.lineTo(h, r);\n context.closePath();\n }\n }\n};\n\nexport default function symbols(_) {\n return builtins.hasOwnProperty(_) ? builtins[_] : customSymbol(_);\n}\n\nvar custom = {};\n\nfunction customSymbol(path) {\n if (!custom.hasOwnProperty(path)) {\n var parsed = pathParse(path);\n custom[path] = {\n draw: function(context, size) {\n pathRender(context, parsed, 0, 0, Math.sqrt(size) / 2);\n }\n };\n }\n return custom[path];\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/path/symbols.js\n// module id = 286\n// module chunks = 0","import {path} from 'd3-path';\n\nfunction rectangleX(d) {\n return d.x;\n}\n\nfunction rectangleY(d) {\n return d.y;\n}\n\nfunction rectangleWidth(d) {\n return d.width;\n}\n\nfunction rectangleHeight(d) {\n return d.height;\n}\n\nfunction constant(_) {\n return function() { return _; };\n}\n\nexport default function() {\n var x = rectangleX,\n y = rectangleY,\n width = rectangleWidth,\n height = rectangleHeight,\n cornerRadius = constant(0),\n context = null;\n\n function rectangle(_, x0, y0) {\n var buffer,\n x1 = x0 != null ? x0 : +x.call(this, _),\n y1 = y0 != null ? y0 : +y.call(this, _),\n w = +width.call(this, _),\n h = +height.call(this, _),\n cr = +cornerRadius.call(this, _);\n\n if (!context) context = buffer = path();\n\n if (cr <= 0) {\n context.rect(x1, y1, w, h);\n } else {\n var x2 = x1 + w,\n y2 = y1 + h;\n context.moveTo(x1 + cr, y1);\n context.lineTo(x2 - cr, y1);\n context.quadraticCurveTo(x2, y1, x2, y1 + cr);\n context.lineTo(x2, y2 - cr);\n context.quadraticCurveTo(x2, y2, x2 - cr, y2);\n context.lineTo(x1 + cr, y2);\n context.quadraticCurveTo(x1, y2, x1, y2 - cr);\n context.lineTo(x1, y1 + cr);\n context.quadraticCurveTo(x1, y1, x1 + cr, y1);\n context.closePath();\n }\n\n if (buffer) {\n context = null;\n return buffer + '' || null;\n }\n }\n\n rectangle.x = function(_) {\n if (arguments.length) {\n x = typeof _ === 'function' ? _ : constant(+_);\n return rectangle;\n } else {\n return x;\n }\n };\n\n rectangle.y = function(_) {\n if (arguments.length) {\n y = typeof _ === 'function' ? _ : constant(+_);\n return rectangle;\n } else {\n return y;\n }\n };\n\n rectangle.width = function(_) {\n if (arguments.length) {\n width = typeof _ === 'function' ? _ : constant(+_);\n return rectangle;\n } else {\n return width;\n }\n };\n\n rectangle.height = function(_) {\n if (arguments.length) {\n height = typeof _ === 'function' ? _ : constant(+_);\n return rectangle;\n } else {\n return height;\n }\n };\n\n rectangle.cornerRadius = function(_) {\n if (arguments.length) {\n cornerRadius = typeof _ === 'function' ? _ : constant(+_);\n return rectangle;\n } else {\n return cornerRadius;\n }\n };\n\n rectangle.context = function(_) {\n if (arguments.length) {\n context = _ == null ? null : _;\n return rectangle;\n } else {\n return context;\n }\n };\n\n return rectangle;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/path/rectangle.js\n// module id = 287\n// module chunks = 0","import {path} from 'd3-path';\n\nvar pi = Math.PI;\n\nexport default function() {\n var x,\n y,\n size,\n defined,\n context = null,\n ready, x1, y1, r1;\n\n function point(x2, y2, w2) {\n var r2 = w2 / 2;\n\n if (ready) {\n var ux = y1 - y2,\n uy = x2 - x1;\n\n if (ux || uy) {\n // get normal vector\n var ud = Math.sqrt(ux * ux + uy * uy),\n rx = (ux /= ud) * r1,\n ry = (uy /= ud) * r1,\n t = Math.atan2(uy, ux);\n\n // draw segment\n context.moveTo(x1 - rx, y1 - ry);\n context.lineTo(x2 - ux * r2, y2 - uy * r2);\n context.arc(x2, y2, r2, t - pi, t);\n context.lineTo(x1 + rx, y1 + ry);\n context.arc(x1, y1, r1, t, t + pi);\n } else {\n context.arc(x2, y2, r2, 0, 2*pi);\n }\n context.closePath();\n } else {\n ready = 1;\n }\n x1 = x2;\n y1 = y2;\n r1 = r2;\n }\n\n function trail(data) {\n var i,\n n = data.length,\n d,\n defined0 = false,\n buffer;\n\n if (context == null) context = 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) ready = 0;\n }\n if (defined0) point(+x(d, i, data), +y(d, i, data), +size(d, i, data));\n }\n\n if (buffer) {\n context = null;\n return buffer + '' || null;\n }\n }\n\n trail.x = function(_) {\n if (arguments.length) {\n x = _;\n return trail;\n } else {\n return x;\n }\n };\n\n trail.y = function(_) {\n if (arguments.length) {\n y = _;\n return trail;\n } else {\n return y;\n }\n };\n\n trail.size = function(_) {\n if (arguments.length) {\n size = _;\n return trail;\n } else {\n return size;\n }\n };\n\n trail.defined = function(_) {\n if (arguments.length) {\n defined = _;\n return trail;\n } else {\n return defined;\n }\n };\n\n trail.context = function(_) {\n if (arguments.length) {\n if (_ == null) {\n context = null;\n } else {\n context = _;\n }\n return trail;\n } else {\n return context;\n }\n };\n\n return trail;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/path/trail.js\n// module id = 288\n// module chunks = 0","import gradient from './gradient';\n\nexport default function(context, item, value) {\n return (value.id) ?\n gradient(context, value, item.bounds) :\n value;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/util/canvas/color.js\n// module id = 289\n// module chunks = 0","import Handler from './Handler';\nimport Marks from './marks/index';\nimport {Events, HrefEvent, TooltipShowEvent, TooltipHideEvent} from './util/events';\nimport point from './util/point';\nimport {domFind} from './util/dom';\nimport {inherits} from 'vega-util';\n\nexport default function CanvasHandler(loader, tooltip) {\n Handler.call(this, loader, tooltip);\n this._down = null;\n this._touch = null;\n this._first = true;\n}\n\nvar prototype = inherits(CanvasHandler, Handler);\n\nprototype.initialize = function(el, origin, obj) {\n // add event listeners\n var canvas = this._canvas = el && domFind(el, 'canvas');\n if (canvas) {\n var that = this;\n this.events.forEach(function(type) {\n canvas.addEventListener(type, function(evt) {\n if (prototype[type]) {\n prototype[type].call(that, evt);\n } else {\n that.fire(type, evt);\n }\n });\n });\n }\n\n return Handler.prototype.initialize.call(this, el, origin, obj);\n};\n\n// return the backing canvas instance\nprototype.canvas = function() {\n return this._canvas;\n};\n\n// retrieve the current canvas context\nprototype.context = function() {\n return this._canvas.getContext('2d');\n};\n\n// supported events\nprototype.events = Events;\n\n// to keep old versions of firefox happy\nprototype.DOMMouseScroll = function(evt) {\n this.fire('mousewheel', evt);\n};\n\nfunction move(moveEvent, overEvent, outEvent) {\n return function(evt) {\n var a = this._active,\n p = this.pickEvent(evt);\n\n if (p === a) {\n // active item and picked item are the same\n this.fire(moveEvent, evt); // fire move\n } else {\n // active item and picked item are different\n if (!a || !a.exit) {\n // fire out for prior active item\n // suppress if active item was removed from scene\n this.fire(outEvent, evt);\n }\n this._active = p; // set new active item\n this.fire(overEvent, evt); // fire over for new active item\n this.fire(moveEvent, evt); // fire move for new active item\n }\n };\n}\n\nfunction inactive(type) {\n return function(evt) {\n this.fire(type, evt);\n this._active = null;\n };\n}\n\nprototype.mousemove = move('mousemove', 'mouseover', 'mouseout');\nprototype.dragover = move('dragover', 'dragenter', 'dragleave');\n\nprototype.mouseout = inactive('mouseout');\nprototype.dragleave = inactive('dragleave');\n\nprototype.mousedown = function(evt) {\n this._down = this._active;\n this.fire('mousedown', evt);\n};\n\nprototype.click = function(evt) {\n if (this._down === this._active) {\n this.fire('click', evt);\n this._down = null;\n }\n};\n\nprototype.touchstart = function(evt) {\n this._touch = this.pickEvent(evt.changedTouches[0]);\n\n if (this._first) {\n this._active = this._touch;\n this._first = false;\n }\n\n this.fire('touchstart', evt, true);\n};\n\nprototype.touchmove = function(evt) {\n this.fire('touchmove', evt, true);\n};\n\nprototype.touchend = function(evt) {\n this.fire('touchend', evt, true);\n this._touch = null;\n};\n\n// fire an event\nprototype.fire = function(type, evt, touch) {\n var a = touch ? this._touch : this._active,\n h = this._handlers[type], i, len;\n\n // set event type relative to scenegraph items\n evt.vegaType = type;\n\n // handle hyperlinks and tooltips first\n if (type === HrefEvent && a && a.href) {\n this.handleHref(evt, a, a.href);\n } else if (type === TooltipShowEvent || type === TooltipHideEvent) {\n this.handleTooltip(evt, a, type !== TooltipHideEvent);\n }\n\n // invoke all registered handlers\n if (h) {\n for (i=0, len=h.length; i<len; ++i) {\n h[i].handler.call(this._obj, evt, a);\n }\n }\n};\n\n// add an event handler\nprototype.on = function(type, handler) {\n var name = this.eventName(type),\n h = this._handlers,\n i = this._handlerIndex(h[name], type, handler);\n\n if (i < 0) {\n (h[name] || (h[name] = [])).push({\n type: type,\n handler: handler\n });\n }\n\n return this;\n};\n\n// remove an event handler\nprototype.off = function(type, handler) {\n var name = this.eventName(type),\n h = this._handlers[name],\n i = this._handlerIndex(h, type, handler);\n\n if (i >= 0) {\n h.splice(i, 1);\n }\n\n return this;\n};\n\nprototype.pickEvent = function(evt) {\n var p = point(evt, this._canvas),\n o = this._origin;\n return this.pick(this._scene, p[0], p[1], p[0] - o[0], p[1] - o[1]);\n};\n\n// find the scenegraph item at the current mouse position\n// x, y -- the absolute x, y mouse coordinates on the canvas element\n// gx, gy -- the relative coordinates within the current group\nprototype.pick = function(scene, x, y, gx, gy) {\n var g = this.context(),\n mark = Marks[scene.marktype];\n return mark.pick.call(this, g, scene, x, y, gx, gy);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/CanvasHandler.js\n// module id = 290\n// module chunks = 0","export var Events = [\n 'keydown',\n 'keypress',\n 'keyup',\n 'dragenter',\n 'dragleave',\n 'dragover',\n 'mousedown',\n 'mouseup',\n 'mousemove',\n 'mouseout',\n 'mouseover',\n 'click',\n 'dblclick',\n 'wheel',\n 'mousewheel',\n 'touchstart',\n 'touchmove',\n 'touchend'\n];\n\nexport var TooltipShowEvent = 'mousemove';\n\nexport var TooltipHideEvent = 'mouseout';\n\nexport var HrefEvent = 'click';\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/util/events.js\n// module id = 291\n// module chunks = 0","import Renderer from './Renderer';\nimport Bounds from './Bounds';\nimport marks from './marks/index';\n\nimport {domClear} from './util/dom';\nimport clip from './util/canvas/clip';\nimport resize from './util/canvas/resize';\nimport {canvas} from 'vega-canvas';\nimport {inherits} from 'vega-util';\n\nexport default function CanvasRenderer(loader) {\n Renderer.call(this, loader);\n this._redraw = false;\n this._dirty = new Bounds();\n}\n\nvar prototype = inherits(CanvasRenderer, Renderer),\n base = Renderer.prototype,\n tempBounds = new Bounds();\n\nprototype.initialize = function(el, width, height, origin, scaleFactor) {\n this._canvas = canvas(1, 1); // instantiate a small canvas\n if (el) {\n domClear(el, 0).appendChild(this._canvas);\n this._canvas.setAttribute('class', 'marks');\n }\n // this method will invoke resize to size the canvas appropriately\n return base.initialize.call(this, el, width, height, origin, scaleFactor);\n};\n\nprototype.resize = function(width, height, origin, scaleFactor) {\n base.resize.call(this, width, height, origin, scaleFactor);\n resize(this._canvas, this._width, this._height, this._origin, this._scale);\n this._redraw = true;\n return this;\n};\n\nprototype.canvas = function() {\n return this._canvas;\n};\n\nprototype.context = function() {\n return this._canvas ? this._canvas.getContext('2d') : null;\n};\n\nprototype.dirty = function(item) {\n var b = translate(item.bounds, item.mark.group);\n this._dirty.union(b);\n};\n\nfunction clipToBounds(g, b, origin) {\n // expand bounds by 1 pixel, then round to pixel boundaries\n b.expand(1).round();\n\n // to avoid artifacts translate if origin has fractional pixels\n b.translate(-(origin[0] % 1), -(origin[1] % 1));\n\n // set clipping path\n g.beginPath();\n g.rect(b.x1, b.y1, b.width(), b.height());\n g.clip();\n\n return b;\n}\n\nfunction translate(bounds, group) {\n if (group == null) return bounds;\n var b = tempBounds.clear().union(bounds);\n for (; group != null; group = group.mark.group) {\n b.translate(group.x || 0, group.y || 0);\n }\n return b;\n}\n\nprototype._render = function(scene) {\n var g = this.context(),\n o = this._origin,\n w = this._width,\n h = this._height,\n b = this._dirty;\n\n // setup\n g.save();\n if (this._redraw || b.empty()) {\n this._redraw = false;\n b = null;\n } else {\n b = clipToBounds(g, b, o);\n }\n\n this.clear(-o[0], -o[1], w, h);\n\n // render\n this.draw(g, scene, b);\n\n // takedown\n g.restore();\n\n this._dirty.clear();\n return this;\n};\n\nprototype.draw = function(ctx, scene, bounds) {\n var mark = marks[scene.marktype];\n if (scene.clip) clip(ctx, scene);\n mark.draw.call(this, ctx, scene, bounds);\n if (scene.clip) ctx.restore();\n};\n\nprototype.clear = function(x, y, w, h) {\n var g = this.context();\n g.clearRect(x, y, w, h);\n if (this._bgcolor != null) {\n g.fillStyle = this._bgcolor;\n g.fillRect(x, y, w, h);\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/CanvasRenderer.js\n// module id = 292\n// module chunks = 0","import Handler from './Handler';\nimport {domFind} from './util/dom';\nimport {HrefEvent, TooltipShowEvent, TooltipHideEvent} from './util/events';\nimport {inherits} from 'vega-util';\n\nexport default function SVGHandler(loader, tooltip) {\n Handler.call(this, loader, tooltip);\n var h = this;\n h._hrefHandler = listener(h, function(evt, item) {\n if (item && item.href) h.handleHref(evt, item, item.href);\n });\n h._tooltipHandler = listener(h, function(evt, item) {\n h.handleTooltip(evt, item, evt.type !== TooltipHideEvent);\n });\n}\n\nvar prototype = inherits(SVGHandler, Handler);\n\nprototype.initialize = function(el, origin, obj) {\n var svg = this._svg;\n if (svg) {\n svg.removeEventListener(HrefEvent, this._hrefHandler);\n svg.removeEventListener(TooltipShowEvent, this._tooltipHandler);\n svg.removeEventListener(TooltipHideEvent, this._tooltipHandler);\n }\n this._svg = svg = el && domFind(el, 'svg');\n if (svg) {\n svg.addEventListener(HrefEvent, this._hrefHandler);\n svg.addEventListener(TooltipShowEvent, this._tooltipHandler);\n svg.addEventListener(TooltipHideEvent, this._tooltipHandler);\n }\n return Handler.prototype.initialize.call(this, el, origin, obj);\n};\n\nprototype.canvas = function() {\n return this._svg;\n};\n\n// wrap an event listener for the SVG DOM\nfunction listener(context, handler) {\n return function(evt) {\n var target = evt.target,\n item = target.__data__;\n evt.vegaType = evt.type;\n item = Array.isArray(item) ? item[0] : item;\n handler.call(context._obj, evt, item);\n };\n}\n\n// add an event handler\nprototype.on = function(type, handler) {\n var name = this.eventName(type),\n h = this._handlers,\n i = this._handlerIndex(h[name], type, handler);\n\n if (i < 0) {\n var x = {\n type: type,\n handler: handler,\n listener: listener(this, handler)\n };\n\n (h[name] || (h[name] = [])).push(x);\n if (this._svg) {\n this._svg.addEventListener(name, x.listener);\n }\n }\n\n return this;\n};\n\n// remove an event handler\nprototype.off = function(type, handler) {\n var name = this.eventName(type),\n h = this._handlers[name],\n i = this._handlerIndex(h, type, handler);\n\n if (i >= 0) {\n if (this._svg) {\n this._svg.removeEventListener(name, h[i].listener);\n }\n h.splice(i, 1);\n }\n\n return this;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/SVGHandler.js\n// module id = 293\n// module chunks = 0","import Renderer from './Renderer';\nimport marks from './marks/index';\nimport {domChild, domClear, domCreate, cssClass} from './util/dom';\nimport {openTag, closeTag} from './util/tags';\nimport {fontFamily, fontSize, textValue} from './util/text';\nimport {visit} from './util/visit';\nimport clip from './util/svg/clip';\nimport metadata from './util/svg/metadata';\nimport {styles, styleProperties} from './util/svg/styles';\nimport {inherits} from 'vega-util';\n\nvar ns = metadata.xmlns;\n\nexport default function SVGRenderer(loader) {\n Renderer.call(this, loader);\n this._dirtyID = 1;\n this._dirty = [];\n this._svg = null;\n this._root = null;\n this._defs = null;\n}\n\nvar prototype = inherits(SVGRenderer, Renderer);\nvar base = Renderer.prototype;\n\nprototype.initialize = function(el, width, height, padding) {\n if (el) {\n this._svg = domChild(el, 0, 'svg', ns);\n this._svg.setAttribute('class', 'marks');\n domClear(el, 1);\n // set the svg root group\n this._root = domChild(this._svg, 0, 'g', ns);\n domClear(this._svg, 1);\n }\n\n // create the svg definitions cache\n this._defs = {\n gradient: {},\n clipping: {}\n };\n\n // set background color if defined\n this.background(this._bgcolor);\n\n return base.initialize.call(this, el, width, height, padding);\n};\n\nprototype.background = function(bgcolor) {\n if (arguments.length && this._svg) {\n this._svg.style.setProperty('background-color', bgcolor);\n }\n return base.background.apply(this, arguments);\n};\n\nprototype.resize = function(width, height, origin, scaleFactor) {\n base.resize.call(this, width, height, origin, scaleFactor);\n\n if (this._svg) {\n this._svg.setAttribute('width', this._width * this._scale);\n this._svg.setAttribute('height', this._height * this._scale);\n this._svg.setAttribute('viewBox', '0 0 ' + this._width + ' ' + this._height);\n this._root.setAttribute('transform', 'translate(' + this._origin + ')');\n }\n\n this._dirty = [];\n\n return this;\n};\n\nprototype.canvas = function() {\n return this._svg;\n};\n\nprototype.svg = function() {\n if (!this._svg) return null;\n\n var attr = {\n class: 'marks',\n width: this._width * this._scale,\n height: this._height * this._scale,\n viewBox: '0 0 ' + this._width + ' ' + this._height\n };\n for (var key in metadata) {\n attr[key] = metadata[key];\n }\n\n var bg = !this._bgcolor ? ''\n : (openTag('rect', {\n width: this._width,\n height: this._height,\n style: 'fill: ' + this._bgcolor + ';'\n }) + closeTag('rect'));\n\n return openTag('svg', attr) + bg + this._svg.innerHTML + closeTag('svg');\n};\n\n\n// -- Render entry point --\n\nprototype._render = function(scene) {\n // perform spot updates and re-render markup\n if (this._dirtyCheck()) {\n if (this._dirtyAll) this._resetDefs();\n this.draw(this._root, scene);\n domClear(this._root, 1);\n }\n\n this.updateDefs();\n\n this._dirty = [];\n ++this._dirtyID;\n\n return this;\n};\n\n// -- Manage SVG definitions ('defs') block --\n\nprototype.updateDefs = function() {\n var svg = this._svg,\n defs = this._defs,\n el = defs.el,\n index = 0, id;\n\n for (id in defs.gradient) {\n if (!el) defs.el = (el = domChild(svg, 0, 'defs', ns));\n updateGradient(el, defs.gradient[id], index++);\n }\n\n for (id in defs.clipping) {\n if (!el) defs.el = (el = domChild(svg, 0, 'defs', ns));\n updateClipping(el, defs.clipping[id], index++);\n }\n\n // clean-up\n if (el) {\n if (index === 0) {\n svg.removeChild(el);\n defs.el = null;\n } else {\n domClear(el, index);\n }\n }\n};\n\nfunction updateGradient(el, grad, index) {\n var i, n, stop;\n\n el = domChild(el, index, 'linearGradient', ns);\n el.setAttribute('id', grad.id);\n el.setAttribute('x1', grad.x1);\n el.setAttribute('x2', grad.x2);\n el.setAttribute('y1', grad.y1);\n el.setAttribute('y2', grad.y2);\n\n for (i=0, n=grad.stops.length; i<n; ++i) {\n stop = domChild(el, i, 'stop', ns);\n stop.setAttribute('offset', grad.stops[i].offset);\n stop.setAttribute('stop-color', grad.stops[i].color);\n }\n domClear(el, i);\n}\n\nfunction updateClipping(el, clip, index) {\n var mask;\n\n el = domChild(el, index, 'clipPath', ns);\n el.setAttribute('id', clip.id);\n\n if (clip.path) {\n mask = domChild(el, 0, 'path', ns);\n mask.setAttribute('d', clip.path);\n } else {\n mask = domChild(el, 0, 'rect', ns);\n mask.setAttribute('x', 0);\n mask.setAttribute('y', 0);\n mask.setAttribute('width', clip.width);\n mask.setAttribute('height', clip.height);\n }\n}\n\nprototype._resetDefs = function() {\n var def = this._defs;\n def.gradient = {};\n def.clipping = {};\n};\n\n\n// -- Manage rendering of items marked as dirty --\n\nprototype.dirty = function(item) {\n if (item.dirty !== this._dirtyID) {\n item.dirty = this._dirtyID;\n this._dirty.push(item);\n }\n};\n\nprototype.isDirty = function(item) {\n return this._dirtyAll\n || !item._svg\n || item.dirty === this._dirtyID;\n};\n\nprototype._dirtyCheck = function() {\n this._dirtyAll = true;\n var items = this._dirty;\n if (!items.length) return true;\n\n var id = ++this._dirtyID,\n item, mark, type, mdef, i, n, o;\n\n for (i=0, n=items.length; i<n; ++i) {\n item = items[i];\n mark = item.mark;\n\n if (mark.marktype !== type) {\n // memoize mark instance lookup\n type = mark.marktype;\n mdef = marks[type];\n }\n\n if (mark.zdirty && mark.dirty !== id) {\n this._dirtyAll = false;\n dirtyParents(item, id);\n mark.items.forEach(function(i) { i.dirty = id; });\n }\n if (mark.zdirty) continue; // handle in standard drawing pass\n\n if (item.exit) { // EXIT\n if (mdef.nested && mark.items.length) {\n // if nested mark with remaining points, update instead\n o = mark.items[0];\n if (o._svg) this._update(mdef, o._svg, o);\n } else if (item._svg) {\n // otherwise remove from DOM\n o = item._svg.parentNode;\n if (o) o.removeChild(item._svg);\n }\n item._svg = null;\n continue;\n }\n\n item = (mdef.nested ? mark.items[0] : item);\n if (item._update === id) continue; // already visited\n\n if (!item._svg || !item._svg.ownerSVGElement) {\n // ENTER\n this._dirtyAll = false;\n dirtyParents(item, id);\n } else {\n // IN-PLACE UPDATE\n this._update(mdef, item._svg, item);\n }\n item._update = id;\n }\n return !this._dirtyAll;\n};\n\nfunction dirtyParents(item, id) {\n for (; item && item.dirty !== id; item=item.mark.group) {\n item.dirty = id;\n if (item.mark && item.mark.dirty !== id) {\n item.mark.dirty = id;\n } else return;\n }\n}\n\n\n// -- Construct & maintain scenegraph to SVG mapping ---\n\n// Draw a mark container.\nprototype.draw = function(el, scene, prev) {\n if (!this.isDirty(scene)) return scene._svg;\n\n var renderer = this,\n svg = this._svg,\n mdef = marks[scene.marktype],\n events = scene.interactive === false ? 'none' : null,\n isGroup = mdef.tag === 'g',\n sibling = null,\n i = 0,\n parent;\n\n parent = bind(scene, el, prev, 'g', svg);\n parent.setAttribute('class', cssClass(scene));\n if (!isGroup) {\n parent.style.setProperty('pointer-events', events);\n }\n if (scene.clip) {\n parent.setAttribute('clip-path', clip(renderer, scene, scene.group));\n } else {\n parent.removeAttribute('clip-path');\n }\n\n function process(item) {\n var dirty = renderer.isDirty(item),\n node = bind(item, parent, sibling, mdef.tag, svg);\n\n if (dirty) {\n renderer._update(mdef, node, item);\n if (isGroup) recurse(renderer, node, item);\n }\n\n sibling = node;\n ++i;\n }\n\n if (mdef.nested) {\n if (scene.items.length) process(scene.items[0]);\n } else {\n visit(scene, process);\n }\n\n domClear(parent, i);\n return parent;\n};\n\n// Recursively process group contents.\nfunction recurse(renderer, el, group) {\n el = el.lastChild;\n var prev, idx = 0;\n\n visit(group, function(item) {\n prev = renderer.draw(el, item, prev);\n ++idx;\n });\n\n // remove any extraneous DOM elements\n domClear(el, 1 + idx);\n}\n\n// Bind a scenegraph item to an SVG DOM element.\n// Create new SVG elements as needed.\nfunction bind(item, el, sibling, tag, svg) {\n var node = item._svg, doc;\n\n // create a new dom node if needed\n if (!node) {\n doc = el.ownerDocument;\n node = domCreate(doc, tag, ns);\n item._svg = node;\n\n if (item.mark) {\n node.__data__ = item;\n node.__values__ = {fill: 'default'};\n\n // if group, create background and foreground elements\n if (tag === 'g') {\n var bg = domCreate(doc, 'path', ns);\n bg.setAttribute('class', 'background');\n node.appendChild(bg);\n bg.__data__ = item;\n\n var fg = domCreate(doc, 'g', ns);\n node.appendChild(fg);\n fg.__data__ = item;\n }\n }\n }\n\n // (re-)insert if (a) not contained in SVG or (b) sibling order has changed\n if (node.ownerSVGElement !== svg || hasSiblings(item) && node.previousSibling !== sibling) {\n el.insertBefore(node, sibling ? sibling.nextSibling : el.firstChild);\n }\n\n return node;\n}\n\nfunction hasSiblings(item) {\n var parent = item.mark || item.group;\n return parent && parent.items.length > 1;\n}\n\n\n// -- Set attributes & styles on SVG elements ---\n\nvar element = null, // temp var for current SVG element\n values = null; // temp var for current values hash\n\n// Extra configuration for certain mark types\nvar mark_extras = {\n group: function(mdef, el, item) {\n values = el.__values__; // use parent's values hash\n\n element = el.childNodes[1];\n mdef.foreground(emit, item, this);\n\n element = el.childNodes[0];\n mdef.background(emit, item, this);\n\n var value = item.mark.interactive === false ? 'none' : null;\n if (value !== values.events) {\n element.style.setProperty('pointer-events', value);\n values.events = value;\n }\n },\n text: function(mdef, el, item) {\n var value;\n\n value = textValue(item);\n if (value !== values.text) {\n el.textContent = value;\n values.text = value;\n }\n\n setStyle(el, 'font-family', fontFamily(item));\n setStyle(el, 'font-size', fontSize(item) + 'px');\n setStyle(el, 'font-style', item.fontStyle);\n setStyle(el, 'font-variant', item.fontVariant);\n setStyle(el, 'font-weight', item.fontWeight);\n }\n};\n\nfunction setStyle(el, name, value) {\n if (value !== values[name]) {\n if (value == null) {\n el.style.removeProperty(name);\n } else {\n el.style.setProperty(name, value + '');\n }\n values[name] = value;\n }\n}\n\nprototype._update = function(mdef, el, item) {\n // set dom element and values cache\n // provides access to emit method\n element = el;\n values = el.__values__;\n\n // apply svg attributes\n mdef.attr(emit, item, this);\n\n // some marks need special treatment\n var extra = mark_extras[mdef.type];\n if (extra) extra.call(this, mdef, el, item);\n\n // apply svg css styles\n // note: element may be modified by 'extra' method\n this.style(element, item);\n};\n\nfunction emit(name, value, ns) {\n // early exit if value is unchanged\n if (value === values[name]) return;\n\n if (value != null) {\n // if value is provided, update DOM attribute\n if (ns) {\n element.setAttributeNS(ns, name, value);\n } else {\n element.setAttribute(name, value);\n }\n } else {\n // else remove DOM attribute\n if (ns) {\n element.removeAttributeNS(ns, name);\n } else {\n element.removeAttribute(name);\n }\n }\n\n // note current value for future comparison\n values[name] = value;\n}\n\nprototype.style = function(el, o) {\n if (o == null) return;\n var i, n, prop, name, value;\n\n for (i=0, n=styleProperties.length; i<n; ++i) {\n prop = styleProperties[i];\n value = o[prop];\n\n if (prop === 'font') {\n value = fontFamily(o);\n }\n\n if (value === values[prop]) continue;\n\n name = styles[prop];\n if (value == null) {\n if (name === 'fill') {\n el.style.setProperty(name, 'none');\n } else {\n el.style.removeProperty(name);\n }\n } else {\n if (value.id) {\n // ensure definition is included\n this._defs.gradient[value.id] = value;\n value = 'url(' + href() + '#' + value.id + ')';\n }\n el.style.setProperty(name, value + '');\n }\n\n values[prop] = value;\n }\n};\n\nfunction href() {\n var loc;\n return typeof window === 'undefined' ? ''\n : (loc = window.location).hash ? loc.href.slice(0, -loc.hash.length)\n : loc.href;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/SVGRenderer.js\n// module id = 294\n// module chunks = 0","export default {\n 'version': '1.1',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'xmlns:xlink': 'http://www.w3.org/1999/xlink'\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/util/svg/metadata.js\n// module id = 295\n// module chunks = 0","export var styles = {\n 'fill': 'fill',\n 'fillOpacity': 'fill-opacity',\n 'stroke': 'stroke',\n 'strokeOpacity': 'stroke-opacity',\n 'strokeWidth': 'stroke-width',\n 'strokeCap': 'stroke-linecap',\n 'strokeJoin': 'stroke-linejoin',\n 'strokeDash': 'stroke-dasharray',\n 'strokeDashOffset': 'stroke-dashoffset',\n 'strokeMiterLimit': 'stroke-miterlimit',\n 'opacity': 'opacity'\n};\n\nexport var styleProperties = Object.keys(styles);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/util/svg/styles.js\n// module id = 296\n// module chunks = 0","import Renderer from './Renderer';\nimport marks from './marks/index';\nimport {cssClass} from './util/dom';\nimport {openTag, closeTag} from './util/tags';\nimport {fontFamily, fontSize, textValue} from './util/text';\nimport {visit} from './util/visit';\nimport clip from './util/svg/clip';\nimport metadata from './util/svg/metadata';\nimport {styles, styleProperties} from './util/svg/styles';\nimport {inherits} from 'vega-util';\n\nexport default function SVGStringRenderer(loader) {\n Renderer.call(this, loader);\n\n this._text = {\n head: '',\n bg: '',\n root: '',\n foot: '',\n defs: '',\n body: ''\n };\n\n this._defs = {\n gradient: {},\n clipping: {}\n };\n}\n\nvar prototype = inherits(SVGStringRenderer, Renderer);\nvar base = Renderer.prototype;\n\nprototype.resize = function(width, height, origin, scaleFactor) {\n base.resize.call(this, width, height, origin, scaleFactor);\n var o = this._origin,\n t = this._text;\n\n var attr = {\n class: 'marks',\n width: this._width * this._scale,\n height: this._height * this._scale,\n viewBox: '0 0 ' + this._width + ' ' + this._height\n };\n for (var key in metadata) {\n attr[key] = metadata[key];\n }\n\n t.head = openTag('svg', attr);\n\n var bg = this._bgcolor;\n if (bg === 'transparent' || bg === 'none') bg = null;\n\n if (bg) {\n t.bg = openTag('rect', {\n width: this._width,\n height: this._height,\n style: 'fill: ' + bg + ';'\n }) + closeTag('rect');\n } else {\n t.bg = '';\n }\n\n t.root = openTag('g', {\n transform: 'translate(' + o + ')'\n });\n\n t.foot = closeTag('g') + closeTag('svg');\n\n return this;\n};\n\nprototype.background = function() {\n var rv = base.background.apply(this, arguments);\n if (arguments.length && this._text.head) {\n this.resize(this._width, this._height, this._origin, this._scale);\n }\n return rv;\n};\n\nprototype.svg = function() {\n var t = this._text;\n return t.head + t.bg + t.defs + t.root + t.body + t.foot;\n};\n\nprototype._render = function(scene) {\n this._text.body = this.mark(scene);\n this._text.defs = this.buildDefs();\n return this;\n};\n\nprototype.buildDefs = function() {\n var all = this._defs,\n defs = '',\n i, id, def, stops;\n\n for (id in all.gradient) {\n def = all.gradient[id];\n stops = def.stops;\n\n defs += openTag('linearGradient', {\n id: id,\n x1: def.x1,\n x2: def.x2,\n y1: def.y1,\n y2: def.y2\n });\n\n for (i=0; i<stops.length; ++i) {\n defs += openTag('stop', {\n offset: stops[i].offset,\n 'stop-color': stops[i].color\n }) + closeTag('stop');\n }\n\n defs += closeTag('linearGradient');\n }\n\n for (id in all.clipping) {\n def = all.clipping[id];\n\n defs += openTag('clipPath', {id: id});\n\n if (def.path) {\n defs += openTag('path', {\n d: def.path\n }) + closeTag('path');\n } else {\n defs += openTag('rect', {\n x: 0,\n y: 0,\n width: def.width,\n height: def.height\n }) + closeTag('rect');\n }\n\n defs += closeTag('clipPath');\n }\n\n return (defs.length > 0) ? openTag('defs') + defs + closeTag('defs') : '';\n};\n\nvar object;\n\nfunction emit(name, value, ns, prefixed) {\n object[prefixed || name] = value;\n}\n\nprototype.attributes = function(attr, item) {\n object = {};\n attr(emit, item, this);\n return object;\n};\n\nprototype.href = function(item) {\n var that = this,\n href = item.href,\n attr;\n\n if (href) {\n if (attr = that._hrefs && that._hrefs[href]) {\n return attr;\n } else {\n that.sanitizeURL(href).then(function(attr) {\n // rewrite to use xlink namespace\n // note that this will be deprecated in SVG 2.0\n attr['xlink:href'] = attr.href;\n attr.href = null;\n (that._hrefs || (that._hrefs = {}))[href] = attr;\n });\n }\n }\n return null;\n};\n\nprototype.mark = function(scene) {\n var renderer = this,\n mdef = marks[scene.marktype],\n tag = mdef.tag,\n defs = this._defs,\n str = '',\n style;\n\n if (tag !== 'g' && scene.interactive === false) {\n style = 'style=\"pointer-events: none;\"';\n }\n\n // render opening group tag\n str += openTag('g', {\n 'class': cssClass(scene),\n 'clip-path': scene.clip ? clip(renderer, scene, scene.group) : null\n }, style);\n\n // render contained elements\n function process(item) {\n var href = renderer.href(item);\n if (href) str += openTag('a', href);\n\n style = (tag !== 'g') ? applyStyles(item, scene, tag, defs) : null;\n str += openTag(tag, renderer.attributes(mdef.attr, item), style);\n\n if (tag === 'text') {\n str += escape_text(textValue(item));\n } else if (tag === 'g') {\n str += openTag('path', renderer.attributes(mdef.background, item),\n applyStyles(item, scene, 'bgrect', defs)) + closeTag('path');\n\n str += openTag('g', renderer.attributes(mdef.foreground, item))\n + renderer.markGroup(item)\n + closeTag('g');\n }\n\n str += closeTag(tag);\n if (href) str += closeTag('a');\n }\n\n if (mdef.nested) {\n if (scene.items && scene.items.length) process(scene.items[0]);\n } else {\n visit(scene, process);\n }\n\n // render closing group tag\n return str + closeTag('g');\n};\n\nprototype.markGroup = function(scene) {\n var renderer = this,\n str = '';\n\n visit(scene, function(item) {\n str += renderer.mark(item);\n });\n\n return str;\n};\n\nfunction applyStyles(o, mark, tag, defs) {\n if (o == null) return '';\n var i, n, prop, name, value, s = '';\n\n if (tag === 'bgrect' && mark.interactive === false) {\n s += 'pointer-events: none; ';\n }\n\n if (tag === 'text') {\n s += 'font-family: ' + fontFamily(o) + '; ';\n s += 'font-size: ' + fontSize(o) + 'px; ';\n if (o.fontStyle) s += 'font-style: ' + o.fontStyle + '; ';\n if (o.fontVariant) s += 'font-variant: ' + o.fontVariant + '; ';\n if (o.fontWeight) s += 'font-weight: ' + o.fontWeight + '; ';\n }\n\n for (i=0, n=styleProperties.length; i<n; ++i) {\n prop = styleProperties[i];\n name = styles[prop];\n value = o[prop];\n\n if (value == null) {\n if (name === 'fill') {\n s += 'fill: none; ';\n }\n } else if (value === 'transparent' && (name === 'fill' || name === 'stroke')) {\n // transparent is not a legal SVG value, so map to none instead\n s += name + ': none; ';\n } else {\n if (value.id) {\n // ensure definition is included\n defs.gradient[value.id] = value;\n value = 'url(#' + value.id + ')';\n }\n s += name + ': ' + value + '; ';\n }\n }\n\n return s ? 'style=\"' + s.trim() + '\"' : null;\n}\n\nfunction escape_text(s) {\n return s.replace(/&/g, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>');\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/SVGStringRenderer.js\n// module id = 297\n// module chunks = 0","export default function(count, paddingInner, paddingOuter) {\n var space = count - paddingInner + paddingOuter * 2;\n return count ? (space > 0 ? space : 1) : 0;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scale/src/bandSpace.js\n// module id = 298\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale/src/ordinal.js\n// module id = 299\n// module chunks = 0","export var deg2rad = Math.PI / 180;\nexport var rad2deg = 180 / Math.PI;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-color/src/math.js\n// module id = 300\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-interpolate/src/rgb.js\n// module id = 301\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-interpolate/src/basisClosed.js\n// module id = 302\n// module chunks = 0","export default function(x) {\n return function() {\n return x;\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-interpolate/src/constant.js\n// module id = 303\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-interpolate/src/array.js\n// module id = 304\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-interpolate/src/date.js\n// module id = 305\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-interpolate/src/object.js\n// module id = 306\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-interpolate/src/string.js\n// module id = 307\n// module chunks = 0","export default function(x) {\n return +x;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale/src/number.js\n// module id = 308\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-format/src/locale.js\n// module id = 309\n// module chunks = 0","// [[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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-format/src/formatSpecifier.js\n// module id = 310\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-format/src/formatPrefixAuto.js\n// module id = 311\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale/src/nice.js\n// module id = 312\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale/src/time.js\n// module id = 313\n// module chunks = 0","export var Symbols = 'symbol';\nexport var Discrete = 'discrete';\nexport var Gradient = 'gradient';\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-encode/src/legend-types.js\n// module id = 314\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-contour/src/contours.js\n// module id = 315\n// module chunks = 0","var array = Array.prototype;\n\nexport var slice = array.slice;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-contour/src/array.js\n// module id = 316\n// module chunks = 0","export default function(x) {\n return function() {\n return x;\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-contour/src/constant.js\n// module id = 317\n// module chunks = 0","export var Feature = 'Feature';\nexport var FeatureCollection = 'FeatureCollection';\nexport var MultiPoint = 'MultiPoint';\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-geo/src/constants.js\n// module id = 318\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/area.js\n// module id = 319\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/circle.js\n// module id = 320\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/compose.js\n// module id = 321\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/clip/antimeridian.js\n// module id = 322\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/clip/index.js\n// module id = 323\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/clip/buffer.js\n// module id = 324\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/clip/rejoin.js\n// module id = 325\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/pointEqual.js\n// module id = 326\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/polygonContains.js\n// module id = 327\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/clip/circle.js\n// module id = 328\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/distance.js\n// module id = 329\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/length.js\n// module id = 330\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/path/bounds.js\n// module id = 331\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/projection/albers.js\n// module id = 332\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/projection/equirectangular.js\n// module id = 333\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-force/src/simulation.js\n// module id = 335\n// module chunks = 0","// Build lookup table mapping tuple keys to tree node instances\nexport default function(tree, key, filter) {\n var map = {};\n tree.each(function(node) {\n var t = node.data;\n if (filter(t)) map[key(t)] = node;\n });\n tree.lookup = map;\n return tree;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-hierarchy/src/lookup.js\n// module id = 337\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-hierarchy/src/pack/siblings.js\n// module id = 338\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-hierarchy/src/pack/enclose.js\n// module id = 339\n// module chunks = 0","export function constantZero() {\n return 0;\n}\n\nexport default function(x) {\n return function() {\n return x;\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-hierarchy/src/constant.js\n// module id = 340\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-hierarchy/src/treemap/round.js\n// module id = 341\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-voronoi/src/Cell.js\n// module id = 342\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-voronoi/src/Circle.js\n// module id = 343\n// module chunks = 0","export function array8(n) { return new Uint8Array(n); }\n\nexport function array16(n) { return new Uint16Array(n); }\n\nexport function array32(n) { return new Uint32Array(n); }\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-crossfilter/src/arrays.js\n// module id = 344\n// module chunks = 0","export default function(tag, attr, text) {\n var el = document.createElement(tag);\n for (var key in attr) el.setAttribute(key, attr[key]);\n if (text != null) el.textContent = text;\n return el;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-view/src/element.js\n// module id = 345\n// module chunks = 0","import {width, height, offset} from './render-size';\n\nexport default function(view, r, el, constructor, scaleFactor) {\n r = r || new constructor(view.loader());\n return r\n .initialize(el, width(view), height(view), offset(view), scaleFactor)\n .background(view._background);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-view/src/initialize-renderer.js\n// module id = 346\n// module chunks = 0","export default function(view, fn) {\n return !fn ? null : function() {\n try {\n fn.apply(this, arguments);\n } catch (error) {\n view.error(error);\n }\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-view/src/trap.js\n// module id = 347\n// module chunks = 0","import parseExpression from './expression';\nimport parseUpdate from './update';\n\nexport default function(signal, scope) {\n var op = scope.getSignal(signal.name);\n\n if (signal.update) {\n var expr = parseExpression(signal.update, scope);\n op.update = expr.$expr;\n op.params = expr.$params;\n }\n\n if (signal.on) {\n signal.on.forEach(function(_) {\n parseUpdate(_, scope, op.id);\n });\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/signal-updates.js\n// module id = 349\n// module chunks = 0","import {isTuple} from 'vega-dataflow';\nimport {codegen, constants, functions} from 'vega-expression';\nimport {random} from 'vega-statistics';\nimport {\n isArray, isBoolean, isDate, isNumber, isObject, isRegExp, isString,\n panLinear, panLog, panPow, zoomLinear, zoomLog, zoomPow,\n toBoolean, toDate, toNumber, toString,\n pad, peek, stringValue, truncate\n} from 'vega-util';\nimport {rgb, lab, hcl, hsl} from 'd3-color';\nimport {range as sequence} from 'd3-array';\n\nimport {\n format, utcFormat, timeFormat, utcParse, timeParse,\n monthFormat, monthAbbrevFormat,\n dayFormat, dayAbbrevFormat\n} from './format';\nimport {extent, inrange, clampRange, span} from './arrays';\nimport {quarter, utcquarter} from './quarter';\nimport {warn, info, debug} from './log';\nimport inScope from './inscope';\nimport {pinchDistance, pinchAngle} from './pinch';\nimport {containerSize, screen, windowSize} from './window';\nimport flush from './flush';\nimport merge from './merge';\nimport {range, domain, bandwidth, bandspace, copy, scale, invert, scaleVisitor} from './scale';\nimport scaleGradient from './scale-gradient';\nimport {geoArea, geoBounds, geoCentroid} from './geo';\nimport {geoShape, pathShape} from './shape';\nimport {data, indata, setdata, dataVisitor, indataVisitor} from './data';\nimport {treePath, treeAncestors} from './tree';\nimport encode from './encode';\nimport modify from './modify';\nimport {vlPoint, vlPointDomain, vlMultiVisitor, vlInterval, vlIntervalDomain} from './selection';\n\n// Expression function context object\nexport var functionContext = {\n random: function() { return random(); }, // override default\n isArray: isArray,\n isBoolean: isBoolean,\n isDate: isDate,\n isNumber: isNumber,\n isObject: isObject,\n isRegExp: isRegExp,\n isString: isString,\n isTuple: isTuple,\n toBoolean: toBoolean,\n toDate: toDate,\n toNumber: toNumber,\n toString: toString,\n pad: pad,\n peek: peek,\n truncate: truncate,\n rgb: rgb,\n lab: lab,\n hcl: hcl,\n hsl: hsl,\n sequence: sequence,\n format: format,\n utcFormat: utcFormat,\n utcParse: utcParse,\n timeFormat: timeFormat,\n timeParse: timeParse,\n monthFormat: monthFormat,\n monthAbbrevFormat: monthAbbrevFormat,\n dayFormat: dayFormat,\n dayAbbrevFormat: dayAbbrevFormat,\n quarter: quarter,\n utcquarter: utcquarter,\n warn: warn,\n info: info,\n debug: debug,\n extent: extent,\n inScope: inScope,\n clampRange: clampRange,\n pinchDistance: pinchDistance,\n pinchAngle: pinchAngle,\n screen: screen,\n containerSize: containerSize,\n windowSize: windowSize,\n span: span,\n merge: merge,\n flush: flush,\n bandspace: bandspace,\n inrange: inrange,\n setdata: setdata,\n pathShape: pathShape,\n panLinear: panLinear,\n panLog: panLog,\n panPow: panPow,\n zoomLinear: zoomLinear,\n zoomLog: zoomLog,\n zoomPow: zoomPow,\n encode: encode,\n modify: modify\n};\n\nvar eventFunctions = ['view', 'item', 'group', 'xy', 'x', 'y'], // event functions\n eventPrefix = 'event.vega.', // event function prefix\n thisPrefix = 'this.', // function context prefix\n astVisitors = {}; // AST visitors for dependency analysis\n\nexport function expressionFunction(name, fn, visitor) {\n if (arguments.length === 1) {\n return functionContext[name];\n }\n\n // register with the functionContext\n functionContext[name] = fn;\n\n // if there is an astVisitor register that, too\n if (visitor) astVisitors[name] = visitor;\n\n // if the code generator has already been initialized,\n // we need to also register the function with it\n if (codeGenerator) codeGenerator.functions[name] = thisPrefix + name;\n return this;\n}\n\n// register expression functions with ast visitors\nexpressionFunction('bandwidth', bandwidth, scaleVisitor);\nexpressionFunction('copy', copy, scaleVisitor);\nexpressionFunction('domain', domain, scaleVisitor);\nexpressionFunction('range', range, scaleVisitor);\nexpressionFunction('invert', invert, scaleVisitor);\nexpressionFunction('scale', scale, scaleVisitor);\nexpressionFunction('gradient', scaleGradient, scaleVisitor);\nexpressionFunction('geoArea', geoArea, scaleVisitor);\nexpressionFunction('geoBounds', geoBounds, scaleVisitor);\nexpressionFunction('geoCentroid', geoCentroid, scaleVisitor);\nexpressionFunction('geoShape', geoShape, scaleVisitor);\nexpressionFunction('indata', indata, indataVisitor);\nexpressionFunction('data', data, dataVisitor);\nexpressionFunction('vlSingle', vlPoint, dataVisitor);\nexpressionFunction('vlSingleDomain', vlPointDomain, dataVisitor);\nexpressionFunction('vlMulti', vlPoint, vlMultiVisitor);\nexpressionFunction('vlMultiDomain', vlPointDomain, vlMultiVisitor);\nexpressionFunction('vlInterval', vlInterval, dataVisitor);\nexpressionFunction('vlIntervalDomain', vlIntervalDomain, dataVisitor);\nexpressionFunction('treePath', treePath, dataVisitor);\nexpressionFunction('treeAncestors', treeAncestors, dataVisitor);\n\n// Build expression function registry\nfunction buildFunctions(codegen) {\n var fn = functions(codegen);\n eventFunctions.forEach(function(name) { fn[name] = eventPrefix + name; });\n for (var name in functionContext) { fn[name] = thisPrefix + name; }\n return fn;\n}\n\n// Export code generator and parameters\nexport var codegenParams = {\n blacklist: ['_'],\n whitelist: ['datum', 'event', 'item'],\n fieldvar: 'datum',\n globalvar: function(id) { return '_[' + stringValue('$' + id) + ']'; },\n functions: buildFunctions,\n constants: constants,\n visitors: astVisitors\n};\n\nexport var codeGenerator = codegen(codegenParams);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/expression/codegen.js\n// module id = 350\n// module chunks = 0","export default function ASTNode(type) {\n this.type = type;\n}\n\nASTNode.prototype.visit = function(visitor) {\n var node = this, c, i, n;\n\n if (visitor(node)) return 1;\n\n for (c=children(node), i=0, n=c.length; i<n; ++i) {\n if (c[i].visit(visitor)) return 1;\n }\n};\n\nfunction children(node) {\n switch (node.type) {\n case 'ArrayExpression':\n return node.elements;\n case 'BinaryExpression':\n case 'LogicalExpression':\n return [node.left, node.right];\n case 'CallExpression':\n var args = node.arguments.slice();\n args.unshift(node.callee);\n return args;\n case 'ConditionalExpression':\n return [node.test, node.consequent, node.alternate];\n case 'MemberExpression':\n return [node.object, node.property];\n case 'ObjectExpression':\n return node.properties;\n case 'Property':\n return [node.key, node.value];\n case 'UnaryExpression':\n return [node.argument];\n case 'Identifier':\n case 'Literal':\n case 'RawCode':\n default:\n return [];\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-expression/src/ast.js\n// module id = 352\n// module chunks = 0","export default {\n NaN: 'NaN',\n E: 'Math.E',\n LN2: 'Math.LN2',\n LN10: 'Math.LN10',\n LOG2E: 'Math.LOG2E',\n LOG10E: 'Math.LOG10E',\n PI: 'Math.PI',\n SQRT1_2: 'Math.SQRT1_2',\n SQRT2: 'Math.SQRT2',\n MIN_VALUE: 'Number.MIN_VALUE',\n MAX_VALUE: 'Number.MAX_VALUE'\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-expression/src/constants.js\n// module id = 353\n// module chunks = 0","import {error} from 'vega-util';\n\nexport default function(codegen) {\n\n function fncall(name, args, cast, type) {\n var obj = codegen(args[0]);\n if (cast) {\n obj = cast + '(' + obj + ')';\n if (cast.lastIndexOf('new ', 0) === 0) obj = '(' + obj + ')';\n }\n return obj + '.' + name + (type < 0 ? '' : type === 0 ?\n '()' :\n '(' + args.slice(1).map(codegen).join(',') + ')');\n }\n\n function fn(name, cast, type) {\n return function(args) {\n return fncall(name, args, cast, type);\n };\n }\n\n var DATE = 'new Date',\n STRING = 'String',\n REGEXP = 'RegExp';\n\n return {\n // MATH functions\n isNaN: 'isNaN',\n isFinite: 'isFinite',\n abs: 'Math.abs',\n acos: 'Math.acos',\n asin: 'Math.asin',\n atan: 'Math.atan',\n atan2: 'Math.atan2',\n ceil: 'Math.ceil',\n cos: 'Math.cos',\n exp: 'Math.exp',\n floor: 'Math.floor',\n log: 'Math.log',\n max: 'Math.max',\n min: 'Math.min',\n pow: 'Math.pow',\n random: 'Math.random',\n round: 'Math.round',\n sin: 'Math.sin',\n sqrt: 'Math.sqrt',\n tan: 'Math.tan',\n\n clamp: function(args) {\n if (args.length < 3) error('Missing arguments to clamp function.');\n if (args.length > 3) error('Too many arguments to clamp function.');\n var a = args.map(codegen);\n return 'Math.max('+a[1]+', Math.min('+a[2]+','+a[0]+'))';\n },\n\n // DATE functions\n now: 'Date.now',\n utc: 'Date.UTC',\n datetime: DATE,\n date: fn('getDate', DATE, 0),\n day: fn('getDay', DATE, 0),\n year: fn('getFullYear', DATE, 0),\n month: fn('getMonth', DATE, 0),\n hours: fn('getHours', DATE, 0),\n minutes: fn('getMinutes', DATE, 0),\n seconds: fn('getSeconds', DATE, 0),\n milliseconds: fn('getMilliseconds', DATE, 0),\n time: fn('getTime', DATE, 0),\n timezoneoffset: fn('getTimezoneOffset', DATE, 0),\n utcdate: fn('getUTCDate', DATE, 0),\n utcday: fn('getUTCDay', DATE, 0),\n utcyear: fn('getUTCFullYear', DATE, 0),\n utcmonth: fn('getUTCMonth', DATE, 0),\n utchours: fn('getUTCHours', DATE, 0),\n utcminutes: fn('getUTCMinutes', DATE, 0),\n utcseconds: fn('getUTCSeconds', DATE, 0),\n utcmilliseconds: fn('getUTCMilliseconds', DATE, 0),\n\n // shared sequence functions\n length: fn('length', null, -1),\n indexof: fn('indexOf', null),\n lastindexof: fn('lastIndexOf', null),\n slice: fn('slice', null),\n\n // STRING functions\n parseFloat: 'parseFloat',\n parseInt: 'parseInt',\n upper: fn('toUpperCase', STRING, 0),\n lower: fn('toLowerCase', STRING, 0),\n substring: fn('substring', STRING),\n replace: fn('replace', STRING),\n\n // REGEXP functions\n regexp: REGEXP,\n test: fn('test', REGEXP),\n\n // Control Flow functions\n if: function(args) {\n if (args.length < 3) error('Missing arguments to if function.');\n if (args.length > 3) error('Too many arguments to if function.');\n var a = args.map(codegen);\n return '('+a[0]+'?'+a[1]+':'+a[2]+')';\n }\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-expression/src/functions.js\n// module id = 354\n// module chunks = 0","/**\n * Return an array with minimum and maximum values, in the\n * form [min, max]. Ignores null, undefined, and NaN values.\n */\nexport function extent(array) {\n var i = 0, n, v, min, max;\n\n if (array && (n = array.length)) {\n // find first valid value\n for (v = array[i]; v == null || v !== v; v = array[++i]);\n min = max = v;\n\n // visit all other values\n for (; i<n; ++i) {\n v = array[i];\n // skip null/undefined; NaN will fail all comparisons\n if (v != null) {\n if (v < min) min = v;\n if (v > max) max = v;\n }\n }\n }\n\n return [min, max];\n}\n\n/**\n * Predicate that returns true if the value lies within the span\n * of the given range. The left and right flags control the use\n * of inclusive (true) or exclusive (false) comparisons.\n */\nexport function inrange(value, range, left, right) {\n var r0 = range[0], r1 = range[range.length-1], t;\n if (r0 > r1) {\n t = r0;\n r0 = r1;\n r1 = t;\n }\n left = left === undefined || left;\n right = right === undefined || right;\n\n return (left ? r0 <= value : r0 < value) &&\n (right ? value <= r1 : value < r1);\n}\n\n/**\n * Span-preserving range clamp. If the span of the input range is less\n * than (max - min) and an endpoint exceeds either the min or max value,\n * the range is translated such that the span is preserved and one\n * endpoint touches the boundary of the min/max range.\n * If the span exceeds (max - min), the range [min, max] is returned.\n */\nexport function clampRange(range, min, max) {\n var lo = range[0],\n hi = range[1],\n span;\n\n if (hi < lo) {\n span = hi;\n hi = lo;\n lo = span;\n }\n span = hi - lo;\n\n return span >= (max - min)\n ? [min, max]\n : [\n (lo = Math.min(Math.max(lo, min), max - span)),\n lo + span\n ];\n}\n\n/**\n * Return the numerical span of an array: the difference between\n * the last and first values.\n */\nexport function span(array) {\n return (array[array.length-1] - array[0]) || 0;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/expression/arrays.js\n// module id = 355\n// module chunks = 0","import parseExpression from './expression';\nimport {View, Scope} from '../util';\nimport {array, error, stringValue} from 'vega-util';\n\nvar Timer = 'timer';\n\nexport default function parseStream(stream, scope) {\n var method = stream.merge ? mergeStream\n : stream.stream ? nestedStream\n : stream.type ? eventStream\n : error('Invalid stream specification: ' + stringValue(stream));\n\n return method(stream, scope);\n}\n\nfunction eventSource(source) {\n return source === Scope ? View : (source || View);\n}\n\nfunction mergeStream(stream, scope) {\n var list = stream.merge.map(function(s) {\n return parseStream(s, scope);\n });\n\n var entry = streamParameters({merge: list}, stream, scope);\n return scope.addStream(entry).id;\n}\n\nfunction nestedStream(stream, scope) {\n var id = parseStream(stream.stream, scope),\n entry = streamParameters({stream: id}, stream, scope);\n return scope.addStream(entry).id;\n}\n\nfunction eventStream(stream, scope) {\n var id, entry;\n\n if (stream.type === Timer) {\n id = scope.event(Timer, stream.throttle);\n stream = {between: stream.between, filter: stream.filter};\n } else {\n id = scope.event(eventSource(stream.source), stream.type);\n }\n\n entry = streamParameters({stream: id}, stream, scope);\n return Object.keys(entry).length === 1\n ? id\n : scope.addStream(entry).id;\n}\n\nfunction streamParameters(entry, stream, scope) {\n var param = stream.between;\n\n if (param) {\n if (param.length !== 2) {\n error('Stream \"between\" parameter must have 2 entries: ' + stringValue(stream));\n }\n entry.between = [\n parseStream(param[0], scope),\n parseStream(param[1], scope)\n ];\n }\n\n param = stream.filter ? array(stream.filter) : [];\n if (stream.marktype || stream.markname || stream.markrole) {\n // add filter for mark type, name and/or role\n param.push(filterMark(stream.marktype, stream.markname, stream.markrole));\n }\n if (stream.source === Scope) {\n // add filter to limit events from sub-scope only\n param.push('inScope(event.item)');\n }\n if (param.length) {\n entry.filter = parseExpression('(' + param.join(')&&(') + ')').$expr;\n }\n\n if ((param = stream.throttle) != null) {\n entry.throttle = +param;\n }\n\n if ((param = stream.debounce) != null) {\n entry.debounce = +param;\n }\n\n if (stream.consume) {\n entry.consume = true;\n }\n\n return entry;\n}\n\nfunction filterMark(type, name, role) {\n var item = 'event.item';\n return item\n + (type && type !== '*' ? '&&' + item + '.mark.marktype===\\'' + type + '\\'' : '')\n + (role ? '&&' + item + '.mark.role===\\'' + role + '\\'' : '')\n + (name ? '&&' + item + '.mark.name===\\'' + name + '\\'' : '');\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/stream.js\n// module id = 356\n// module chunks = 0","import {ref, keyFieldRef} from '../util';\nimport {Collect, Aggregate, MultiExtent, MultiValues, Sieve, Values} from '../transforms';\nimport {error, extend, isArray, isObject, isString, stringValue, toSet} from 'vega-util';\n\nvar FIELD_REF_ID = 0;\n\nvar types = [\n 'identity',\n 'ordinal', 'band', 'point',\n 'bin-linear', 'bin-ordinal',\n 'quantize', 'quantile', 'threshold',\n 'linear', 'pow', 'sqrt', 'log', 'sequential',\n 'time', 'utc'\n];\n\nvar allTypes = toSet(types),\n discreteTypes = toSet(types.slice(4, 9)),\n continuousTypes = toSet(types.slice(9)),\n ordinalTypes = toSet(types.slice(1, 6));\n\nexport function isOrdinal(type) {\n return ordinalTypes.hasOwnProperty(type);\n}\n\nexport function isDiscretizing(type) {\n return discreteTypes.hasOwnProperty(type);\n}\n\nexport function isContinuous(type) {\n return continuousTypes.hasOwnProperty(type);\n}\n\nexport function isQuantile(type) {\n return type === 'quantile';\n}\n\nexport function initScale(spec, scope) {\n var type = spec.type || 'linear';\n\n if (!allTypes.hasOwnProperty(type)) {\n error('Unrecognized scale type: ' + stringValue(type));\n }\n\n scope.addScale(spec.name, {\n type: type,\n domain: undefined\n });\n}\n\nexport function parseScale(spec, scope) {\n var params = scope.getScale(spec.name).params,\n key;\n\n params.domain = parseScaleDomain(spec.domain, spec, scope);\n\n if (spec.range != null) {\n params.range = parseScaleRange(spec, scope, params);\n }\n\n if (spec.interpolate != null) {\n parseScaleInterpolate(spec.interpolate, params);\n }\n\n if (spec.nice != null) {\n parseScaleNice(spec.nice, params);\n }\n\n for (key in spec) {\n if (params.hasOwnProperty(key) || key === 'name') continue;\n params[key] = parseLiteral(spec[key], scope);\n }\n}\n\nfunction parseLiteral(v, scope) {\n return !isObject(v) ? v\n : v.signal ? scope.signalRef(v.signal)\n : error('Unsupported object: ' + stringValue(v));\n}\n\nfunction parseArray(v, scope) {\n return v.signal\n ? scope.signalRef(v.signal)\n : v.map(function(v) { return parseLiteral(v, scope); });\n}\n\nfunction dataLookupError(name) {\n error('Can not find data set: ' + stringValue(name));\n}\n\n// -- SCALE DOMAIN ----\n\nfunction parseScaleDomain(domain, spec, scope) {\n if (!domain) {\n if (spec.domainMin != null || spec.domainMax != null) {\n error('No scale domain defined for domainMin/domainMax to override.');\n }\n return; // default domain\n }\n\n return domain.signal ? scope.signalRef(domain.signal)\n : (isArray(domain) ? explicitDomain\n : domain.fields ? multipleDomain\n : singularDomain)(domain, spec, scope);\n}\n\nfunction explicitDomain(domain, spec, scope) {\n return domain.map(function(v) {\n return parseLiteral(v, scope);\n });\n}\n\nfunction singularDomain(domain, spec, scope) {\n var data = scope.getData(domain.data);\n if (!data) dataLookupError(domain.data);\n\n return isOrdinal(spec.type)\n ? data.valuesRef(scope, domain.field, parseSort(domain.sort, false))\n : isQuantile(spec.type) ? data.domainRef(scope, domain.field)\n : data.extentRef(scope, domain.field);\n}\n\nfunction multipleDomain(domain, spec, scope) {\n var data = domain.data,\n fields = domain.fields.reduce(function(dom, d) {\n d = isString(d) ? {data: data, field: d}\n : (isArray(d) || d.signal) ? fieldRef(d, scope)\n : d;\n dom.push(d);\n return dom;\n }, []);\n\n return (isOrdinal(spec.type) ? ordinalMultipleDomain\n : isQuantile(spec.type) ? quantileMultipleDomain\n : numericMultipleDomain)(domain, scope, fields);\n}\n\nfunction fieldRef(data, scope) {\n var name = '_:vega:_' + (FIELD_REF_ID++),\n coll = Collect({});\n\n if (isArray(data)) {\n coll.value = {$ingest: data};\n } else if (data.signal) {\n var code = 'setdata(' + stringValue(name) + ',' + data.signal + ')';\n coll.params.input = scope.signalRef(code);\n }\n scope.addDataPipeline(name, [coll, Sieve({})]);\n return {data: name, field: 'data'};\n}\n\nfunction ordinalMultipleDomain(domain, scope, fields) {\n var counts, a, c, v;\n\n // get value counts for each domain field\n counts = fields.map(function(f) {\n var data = scope.getData(f.data);\n if (!data) dataLookupError(f.data);\n return data.countsRef(scope, f.field);\n });\n\n // sum counts from all fields\n a = scope.add(Aggregate({\n groupby: keyFieldRef,\n ops:['sum'], fields: [scope.fieldRef('count')], as:['count'],\n pulse: counts\n }));\n\n // collect aggregate output\n c = scope.add(Collect({pulse: ref(a)}));\n\n // extract values for combined domain\n v = scope.add(Values({\n field: keyFieldRef,\n sort: scope.sortRef(parseSort(domain.sort, true)),\n pulse: ref(c)\n }));\n\n return ref(v);\n}\n\nfunction parseSort(sort, multidomain) {\n if (sort) {\n if (!sort.field && !sort.op) {\n if (isObject(sort)) sort.field = 'key';\n else sort = {field: 'key'};\n } else if (!sort.field && sort.op !== 'count') {\n error('No field provided for sort aggregate op: ' + sort.op);\n } else if (multidomain && sort.field) {\n error('Multiple domain scales can not sort by field.');\n } else if (multidomain && sort.op && sort.op !== 'count') {\n error('Multiple domain scales support op count only.');\n }\n }\n return sort;\n}\n\nfunction quantileMultipleDomain(domain, scope, fields) {\n // get value arrays for each domain field\n var values = fields.map(function(f) {\n var data = scope.getData(f.data);\n if (!data) dataLookupError(f.data);\n return data.domainRef(scope, f.field);\n });\n\n // combine value arrays\n return ref(scope.add(MultiValues({values: values})));\n}\n\nfunction numericMultipleDomain(domain, scope, fields) {\n // get extents for each domain field\n var extents = fields.map(function(f) {\n var data = scope.getData(f.data);\n if (!data) dataLookupError(f.data);\n return data.extentRef(scope, f.field);\n });\n\n // combine extents\n return ref(scope.add(MultiExtent({extents: extents})));\n}\n\n// -- SCALE NICE -----\n\nfunction parseScaleNice(nice, params) {\n params.nice = isObject(nice)\n ? {\n interval: parseLiteral(nice.interval),\n step: parseLiteral(nice.step)\n }\n : parseLiteral(nice);\n}\n\n// -- SCALE INTERPOLATION -----\n\nfunction parseScaleInterpolate(interpolate, params) {\n params.interpolate = parseLiteral(interpolate.type || interpolate);\n if (interpolate.gamma != null) {\n params.interpolateGamma = parseLiteral(interpolate.gamma);\n }\n}\n\n// -- SCALE RANGE -----\n\nfunction parseScaleRange(spec, scope, params) {\n var range = spec.range,\n config = scope.config.range;\n\n if (range.signal) {\n return scope.signalRef(range.signal);\n } else if (isString(range)) {\n if (config && config.hasOwnProperty(range)) {\n spec = extend({}, spec, {range: config[range]});\n return parseScaleRange(spec, scope, params);\n } else if (range === 'width') {\n range = [0, {signal: 'width'}]\n } else if (range === 'height') {\n range = isOrdinal(spec.type)\n ? [0, {signal: 'height'}]\n : [{signal: 'height'}, 0]\n } else {\n error('Unrecognized scale range value: ' + stringValue(range));\n }\n } else if (range.scheme) {\n params.scheme = parseLiteral(range.scheme, scope);\n if (range.extent) params.schemeExtent = parseArray(range.extent, scope);\n if (range.count) params.schemeCount = parseLiteral(range.count, scope);\n return;\n } else if (range.step) {\n params.rangeStep = parseLiteral(range.step, scope);\n return;\n } else if (isOrdinal(spec.type) && !isArray(range)) {\n return parseScaleDomain(range, spec, scope);\n } else if (!isArray(range)) {\n error('Unsupported range type: ' + stringValue(range));\n }\n\n return range.map(function(v) {\n return parseLiteral(v, scope);\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/scale.js\n// module id = 357\n// module chunks = 0","import expression from './expression';\nimport {error, isString, isObject, splitAccessPath, stringValue} from 'vega-util';\n\nexport default function(ref, scope, params, fields) {\n return resolve(isObject(ref) ? ref : {datum: ref}, scope, params, fields);\n}\n\nfunction resolve(ref, scope, params, fields) {\n var object, level, field;\n\n if (ref.signal) {\n object = 'datum';\n field = expression(ref.signal, scope, params, fields);\n } else if (ref.group || ref.parent) {\n level = Math.max(1, ref.level || 1);\n object = 'item';\n\n while (level-- > 0) {\n object += '.mark.group';\n }\n\n if (ref.parent) {\n field = ref.parent;\n object += '.datum';\n } else {\n field = ref.group;\n }\n } else if (ref.datum) {\n object = 'datum';\n field = ref.datum;\n } else {\n error('Invalid field reference: ' + stringValue(ref));\n }\n\n if (!ref.signal) {\n if (isString(field)) {\n fields[field] = 1; // TODO review field tracking?\n field = splitAccessPath(field).map(stringValue).join('][');\n } else {\n field = resolve(field, scope, params, fields);\n }\n }\n\n return object + '[' + field + ']';\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/encode/field.js\n// module id = 358\n// module chunks = 0","import expression from './expression';\nimport field from './field';\nimport {scalePrefix} from '../expression/prefixes';\nimport {isString, stringValue} from 'vega-util';\n\nexport default function(enc, value, scope, params, fields) {\n var scale = getScale(enc.scale, scope, params, fields),\n interp, func, flag;\n\n if (enc.range != null) {\n // pull value from scale range\n interp = +enc.range;\n func = scale + '.range()';\n value = (interp === 0) ? (func + '[0]')\n : '($=' + func + ',' + ((interp === 1) ? '$[$.length-1]'\n : '$[0]+' + interp + '*($[$.length-1]-$[0])') + ')';\n } else {\n // run value through scale and/or pull scale bandwidth\n if (value !== undefined) value = scale + '(' + value + ')';\n\n if (enc.band && (flag = hasBandwidth(enc.scale, scope))) {\n func = scale + '.bandwidth';\n interp = +enc.band;\n interp = func + '()' + (interp===1 ? '' : '*' + interp);\n\n // if we don't know the scale type, check for bandwidth\n if (flag < 0) interp = '(' + func + '?' + interp + ':0)';\n\n value = (value ? value + '+' : '') + interp;\n\n if (enc.extra) {\n // include logic to handle extraneous elements\n value = '(datum.extra?' + scale + '(datum.extra.value):' + value + ')';\n }\n }\n\n if (value == null) value = '0';\n }\n\n return value;\n}\n\nfunction hasBandwidth(name, scope) {\n if (!isString(name)) return -1;\n var type = scope.scaleType(name);\n return type === 'band' || type === 'point' ? 1 : 0;\n}\n\nexport function getScale(name, scope, params, fields) {\n var scaleName;\n\n if (isString(name)) {\n // direct scale lookup; add scale as parameter\n scaleName = scalePrefix + name;\n if (!params.hasOwnProperty(scaleName)) {\n params[scaleName] = scope.scaleRef(name);\n }\n scaleName = stringValue(scaleName);\n } else {\n // indirect scale lookup; add all scales as parameters\n for (scaleName in scope.scales) {\n params[scalePrefix + scaleName] = scope.scaleRef(scaleName);\n }\n scaleName = stringValue(scalePrefix) + '+'\n + (name.signal\n ? '(' + expression(name.signal, scope, params, fields) + ')'\n : field(name, scope, params, fields));\n }\n\n return '_[' + scaleName + ']';\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/encode/scale.js\n// module id = 359\n// module chunks = 0","import {stringValue} from 'vega-util';\n\nexport default function(obj, key, value) {\n return obj + '[' + stringValue(key) + ']=' + value + ';';\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/encode/set.js\n// module id = 360\n// module chunks = 0","import {GroupMark} from './marktypes';\nimport {ScopeRole, MarkRole} from './roles';\n\nexport default function(spec) {\n var role = spec.role || '';\n return (!role.indexOf('axis') || !role.indexOf('legend'))\n ? role\n : spec.type === GroupMark ? ScopeRole : (role || MarkRole);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/marks/role.js\n// module id = 361\n// module chunks = 0","import parseTransform from '../transform';\nimport {ref} from '../../util';\nimport {Collect} from '../../transforms';\nimport {array, error, extend} from 'vega-util';\n\nexport default function(from, group, scope) {\n var facet, key, op, dataRef, parent;\n\n // if no source data, generate singleton datum\n if (!from) {\n dataRef = ref(scope.add(Collect(null, [{}])));\n }\n\n // if faceted, process facet specification\n else if (facet = from.facet) {\n if (!group) error('Only group marks can be faceted.');\n\n // use pre-faceted source data, if available\n if (facet.field != null) {\n dataRef = parent = getDataRef(facet, scope);\n } else {\n // generate facet aggregates if no direct data specification\n if (!from.data) {\n op = parseTransform(extend({\n type: 'aggregate',\n groupby: array(facet.groupby)\n }, facet.aggregate), scope);\n op.params.key = scope.keyRef(facet.groupby);\n op.params.pulse = getDataRef(facet, scope);\n dataRef = parent = ref(scope.add(op));\n } else {\n parent = ref(scope.getData(from.data).aggregate);\n }\n\n key = scope.keyRef(facet.groupby, true);\n }\n }\n\n // if not yet defined, get source data reference\n if (!dataRef) {\n dataRef = getDataRef(from, scope);\n }\n\n return {\n key: key,\n pulse: dataRef,\n parent: parent\n };\n}\n\nexport function getDataRef(from, scope) {\n return from.$ref ? from\n : from.data && from.data.$ref ? from.data\n : ref(scope.getData(from.data).output);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/marks/data.js\n// module id = 362\n// module chunks = 0","import parseExpression from './expression';\nimport {operator} from '../util';\n\nexport default function(spec, scope, name) {\n var remove = spec.remove,\n insert = spec.insert,\n toggle = spec.toggle,\n modify = spec.modify,\n values = spec.values,\n op = scope.add(operator()),\n update, expr;\n\n update = 'if(' + spec.trigger + ',modify(\"'\n + name + '\",'\n + [insert, remove, toggle, modify, values]\n .map(function(_) { return _ == null ? 'null' : _; })\n .join(',')\n + '),0)';\n\n expr = parseExpression(update, scope);\n op.update = expr.$expr;\n op.params = expr.$params;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/trigger.js\n// module id = 363\n// module chunks = 0","import DataScope from './DataScope';\nimport {\n aggrField, Ascending, compareRef, Entry,\n fieldRef, keyRef, tupleidRef, isSignal, operator, ref\n} from './util';\nimport parseExpression from './parsers/expression';\nimport {Compare, Expression, Field, Key, Projection, Proxy, Scale, Sieve} from './transforms';\nimport {array, error, extend, isArray, isString, isObject, peek, stringValue} from 'vega-util';\n\nexport default function Scope(config) {\n this.config = config;\n\n this.bindings = [];\n this.field = {};\n this.signals = {};\n this.lambdas = {};\n this.scales = {};\n this.events = {};\n this.data = {};\n\n this.streams = [];\n this.updates = [];\n this.operators = [];\n this.background = null;\n this.eventConfig = null;\n\n this._id = 0;\n this._subid = 0;\n this._nextsub = [0];\n\n this._parent = [];\n this._encode = [];\n this._lookup = [];\n this._markpath = [];\n}\n\nfunction Subscope(scope) {\n this.config = scope.config;\n\n this.field = Object.create(scope.field);\n this.signals = Object.create(scope.signals);\n this.lambdas = Object.create(scope.lambdas);\n this.scales = Object.create(scope.scales);\n this.events = Object.create(scope.events);\n this.data = Object.create(scope.data);\n\n this.streams = [];\n this.updates = [];\n this.operators = [];\n\n this._id = 0;\n this._subid = ++scope._nextsub[0];\n this._nextsub = scope._nextsub;\n\n this._parent = scope._parent.slice();\n this._encode = scope._encode.slice();\n this._lookup = scope._lookup.slice();\n this._markpath = scope._markpath;\n}\n\nvar prototype = Scope.prototype = Subscope.prototype;\n\n// ----\n\nprototype.fork = function() {\n return new Subscope(this);\n};\n\nprototype.isSubscope = function() {\n return this._subid > 0;\n};\n\nprototype.toRuntime = function() {\n this.finish();\n return {\n background: this.background,\n operators: this.operators,\n streams: this.streams,\n updates: this.updates,\n bindings: this.bindings,\n eventConfig: this.eventConfig\n };\n};\n\nprototype.id = function() {\n return (this._subid ? this._subid + ':' : 0) + this._id++;\n};\n\nprototype.add = function(op) {\n this.operators.push(op);\n op.id = this.id();\n // if pre-registration references exist, resolve them now\n if (op.refs) {\n op.refs.forEach(function(ref) { ref.$ref = op.id; });\n op.refs = null;\n }\n return op;\n};\n\nprototype.proxy = function(op) {\n var vref = op instanceof Entry ? ref(op) : op;\n return this.add(Proxy({value: vref}));\n};\n\nprototype.addStream = function(stream) {\n this.streams.push(stream);\n stream.id = this.id();\n return stream;\n};\n\nprototype.addUpdate = function(update) {\n this.updates.push(update);\n return update;\n};\n\n// Apply metadata\nprototype.finish = function() {\n var name, ds;\n\n // annotate root\n if (this.root) this.root.root = true;\n\n // annotate signals\n for (name in this.signals) {\n this.signals[name].signal = name;\n }\n\n // annotate scales\n for (name in this.scales) {\n this.scales[name].scale = name;\n }\n\n // annotate data sets\n function annotate(op, name, type) {\n var data, list;\n if (op) {\n data = op.data || (op.data = {});\n list = data[name] || (data[name] = []);\n list.push(type);\n }\n }\n for (name in this.data) {\n ds = this.data[name];\n annotate(ds.input, name, 'input');\n annotate(ds.output, name, 'output');\n annotate(ds.values, name, 'values');\n for (var field in ds.index) {\n annotate(ds.index[field], name, 'index:' + field);\n }\n }\n\n return this;\n};\n\n// ----\n\nprototype.pushState = function(encode, parent, lookup) {\n this._encode.push(ref(this.add(Sieve({pulse: encode}))));\n this._parent.push(parent);\n this._lookup.push(lookup ? ref(this.proxy(lookup)) : null);\n this._markpath.push(-1);\n};\n\nprototype.popState = function() {\n this._encode.pop();\n this._parent.pop();\n this._lookup.pop();\n this._markpath.pop();\n};\n\nprototype.parent = function() {\n return peek(this._parent);\n};\n\nprototype.encode = function() {\n return peek(this._encode);\n};\n\nprototype.lookup = function() {\n return peek(this._lookup);\n};\n\nprototype.markpath = function() {\n var p = this._markpath;\n return ++p[p.length-1];\n};\n\n// ----\n\nprototype.fieldRef = function(field, name) {\n if (isString(field)) return fieldRef(field, name);\n if (!field.signal) {\n error('Unsupported field reference: ' + stringValue(field));\n }\n\n var s = field.signal,\n f = this.field[s],\n params;\n\n if (!f) {\n params = {name: this.signalRef(s)};\n if (name) params.as = name;\n this.field[s] = f = ref(this.add(Field(params)));\n }\n return f;\n};\n\nprototype.compareRef = function(cmp, stable) {\n function check(_) {\n if (isSignal(_)) {\n signal = true;\n return ref(sig[_.signal]);\n } else {\n return _;\n }\n }\n\n var sig = this.signals,\n signal = false,\n fields = array(cmp.field).map(check),\n orders = array(cmp.order).map(check);\n\n if (stable) {\n fields.push(tupleidRef);\n }\n\n return signal\n ? ref(this.add(Compare({fields: fields, orders: orders})))\n : compareRef(fields, orders);\n};\n\nprototype.keyRef = function(fields, flat) {\n function check(_) {\n if (isSignal(_)) {\n signal = true;\n return ref(sig[_.signal]);\n } else {\n return _;\n }\n }\n\n var sig = this.signals,\n signal = false;\n fields = array(fields).map(check);\n\n return signal\n ? ref(this.add(Key({fields: fields, flat: flat})))\n : keyRef(fields, flat);\n};\n\nprototype.sortRef = function(sort) {\n if (!sort) return sort;\n\n // including id ensures stable sorting\n var a = [aggrField(sort.op, sort.field), tupleidRef],\n o = sort.order || Ascending;\n\n return o.signal\n ? ref(this.add(Compare({\n fields: a,\n orders: [o = this.signalRef(o.signal), o]\n })))\n : compareRef(a, [o, o]);\n};\n\n// ----\n\nprototype.event = function(source, type) {\n var key = source + ':' + type;\n if (!this.events[key]) {\n var id = this.id();\n this.streams.push({\n id: id,\n source: source,\n type: type\n });\n this.events[key] = id;\n }\n return this.events[key];\n};\n\n// ----\n\nprototype.addSignal = function(name, value) {\n if (this.signals.hasOwnProperty(name)) {\n error('Duplicate signal name: ' + stringValue(name));\n }\n var op = value instanceof Entry ? value : this.add(operator(value));\n return this.signals[name] = op;\n};\n\nprototype.getSignal = function(name) {\n if (!this.signals[name]) {\n error('Unrecognized signal name: ' + stringValue(name));\n }\n return this.signals[name];\n};\n\nprototype.signalRef = function(s) {\n if (this.signals[s]) {\n return ref(this.signals[s]);\n } else if (!this.lambdas.hasOwnProperty(s)) {\n this.lambdas[s] = this.add(operator(null));\n }\n return ref(this.lambdas[s]);\n};\n\nprototype.parseLambdas = function() {\n var code = Object.keys(this.lambdas);\n for (var i=0, n=code.length; i<n; ++i) {\n var s = code[i],\n e = parseExpression(s, this),\n op = this.lambdas[s];\n op.params = e.$params;\n op.update = e.$expr;\n }\n};\n\nprototype.property = function(spec) {\n return spec && spec.signal ? this.signalRef(spec.signal) : spec;\n};\n\nprototype.objectProperty = function(spec) {\n return (!spec || !isObject(spec)) ? spec\n : this.signalRef(spec.signal || propertyLambda(spec));\n};\n\nfunction propertyLambda(spec) {\n return (isArray(spec) ? arrayLambda : objectLambda)(spec);\n}\n\nfunction arrayLambda(array) {\n var code = '[',\n i = 0,\n n = array.length,\n value;\n\n for (; i<n; ++i) {\n value = array[i];\n code += (i > 0 ? ',' : '')\n + (isObject(value)\n ? (value.signal || propertyLambda(value))\n : stringValue(value));\n }\n return code + ']';\n}\n\nfunction objectLambda(obj) {\n var code = '{',\n i = 0,\n key, value;\n\n for (key in obj) {\n value = obj[key];\n code += (++i > 1 ? ',' : '')\n + stringValue(key) + ':'\n + (isObject(value)\n ? (value.signal || propertyLambda(value))\n : stringValue(value));\n }\n return code + '}';\n}\n\nprototype.exprRef = function(code, name) {\n var params = {expr: parseExpression(code, this)};\n if (name) params.expr.$name = name;\n return ref(this.add(Expression(params)));\n}\n\nprototype.addBinding = function(name, bind) {\n if (!this.bindings) {\n error('Nested signals do not support binding: ' + stringValue(name));\n }\n this.bindings.push(extend({signal: name}, bind));\n};\n\n// ----\n\nprototype.addScaleProj = function(name, transform) {\n if (this.scales.hasOwnProperty(name)) {\n error('Duplicate scale or projection name: ' + stringValue(name));\n }\n this.scales[name] = this.add(transform);\n};\n\nprototype.addScale = function(name, params) {\n this.addScaleProj(name, Scale(params));\n};\n\nprototype.addProjection = function(name, params) {\n this.addScaleProj(name, Projection(params));\n};\n\nprototype.getScale = function(name) {\n if (!this.scales[name]) {\n error('Unrecognized scale name: ' + stringValue(name));\n }\n return this.scales[name];\n};\n\nprototype.projectionRef =\nprototype.scaleRef = function(name) {\n return ref(this.getScale(name));\n};\n\nprototype.projectionType =\nprototype.scaleType = function(name) {\n return this.getScale(name).params.type;\n};\n\n// ----\n\nprototype.addData = function(name, dataScope) {\n if (this.data.hasOwnProperty(name)) {\n error('Duplicate data set name: ' + stringValue(name));\n }\n return (this.data[name] = dataScope);\n};\n\nprototype.getData = function(name) {\n if (!this.data[name]) {\n error('Undefined data set name: ' + stringValue(name));\n }\n return this.data[name];\n};\n\nprototype.addDataPipeline = function(name, entries) {\n if (this.data.hasOwnProperty(name)) {\n error('Duplicate data set name: ' + stringValue(name));\n }\n return this.addData(name, DataScope.fromEntries(this, entries));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/Scope.js\n// module id = 364\n// module chunks = 0","import {extend, isArray, isObject} from 'vega-util';\n\nexport default function(configs) {\n var output = defaults();\n (configs || []).forEach(function(config) {\n var key, value, style;\n if (config) {\n for (key in config) {\n if (key === 'style') {\n style = output.style || (output.style = {});\n for (key in config.style) {\n style[key] = extend(style[key] || {}, config.style[key]);\n }\n } else {\n value = config[key];\n output[key] = isObject(value) && !isArray(value)\n ? extend(isObject(output[key]) ? output[key] : {}, value)\n : value;\n }\n }\n }\n });\n return output;\n}\n\nvar defaultFont = 'sans-serif',\n defaultSymbolSize = 30,\n defaultStrokeWidth = 2,\n defaultColor = '#4c78a8',\n black = \"#000\",\n gray = '#888',\n lightGray = '#ddd';\n\n/**\n * Standard configuration defaults for Vega specification parsing.\n * Users can provide their own (sub-)set of these default values\n * by passing in a config object to the top-level parse method.\n */\nfunction defaults() {\n return {\n // default padding around visualization\n padding: 0,\n\n // default for automatic sizing; options: \"none\", \"pad\", \"fit\"\n // or provide an object (e.g., {\"type\": \"pad\", \"resize\": true})\n autosize: 'pad',\n\n // default view background color\n // covers the entire view component\n background: null,\n\n // default event handling configuration\n // preventDefault for view-sourced event types except 'wheel'\n events: {\n defaults: {allow: ['wheel']}\n },\n\n // defaults for top-level group marks\n // accepts mark properties (fill, stroke, etc)\n // covers the data rectangle within group width/height\n group: null,\n\n // defaults for basic mark types\n // each subset accepts mark properties (fill, stroke, etc)\n mark: null,\n arc: { fill: defaultColor },\n area: { fill: defaultColor },\n image: null,\n line: {\n stroke: defaultColor,\n strokeWidth: defaultStrokeWidth\n },\n path: { stroke: defaultColor },\n rect: { fill: defaultColor },\n rule: { stroke: black },\n shape: { stroke: defaultColor },\n symbol: {\n fill: defaultColor,\n size: 64\n },\n text: {\n fill: black,\n font: defaultFont,\n fontSize: 11\n },\n\n // style definitions\n style: {\n // axis & legend labels\n \"guide-label\": {\n fill: black,\n font: defaultFont,\n fontSize: 10\n },\n // axis & legend titles\n \"guide-title\": {\n fill: black,\n font: defaultFont,\n fontSize: 11,\n fontWeight: 'bold'\n },\n // headers, including chart title\n \"group-title\": {\n fill: black,\n font: defaultFont,\n fontSize: 13,\n fontWeight: 'bold'\n },\n // defaults for styled point marks in Vega-Lite\n point: {\n size: defaultSymbolSize,\n strokeWidth: defaultStrokeWidth,\n shape: 'circle'\n },\n circle: {\n size: defaultSymbolSize,\n strokeWidth: defaultStrokeWidth\n },\n square: {\n size: defaultSymbolSize,\n strokeWidth: defaultStrokeWidth,\n shape: 'square'\n },\n // defaults for styled group marks in Vega-Lite\n cell: {\n fill: 'transparent',\n stroke: lightGray\n }\n },\n\n // defaults for axes\n axis: {\n minExtent: 0,\n maxExtent: 200,\n bandPosition: 0.5,\n domain: true,\n domainWidth: 1,\n domainColor: gray,\n grid: false,\n gridWidth: 1,\n gridColor: lightGray,\n labels: true,\n labelAngle: 0,\n labelLimit: 180,\n labelPadding: 2,\n ticks: true,\n tickColor: gray,\n tickOffset: 0,\n tickRound: true,\n tickSize: 5,\n tickWidth: 1,\n titleAlign: 'center',\n titlePadding: 4\n },\n\n // correction for centering bias\n axisBand: {\n tickOffset: -1\n },\n\n // defaults for legends\n legend: {\n orient: 'right',\n offset: 18,\n padding: 0,\n gridAlign: 'each',\n columnPadding: 10,\n rowPadding: 2,\n symbolDirection: 'vertical',\n gradientDirection: 'vertical',\n gradientLength: 200,\n gradientThickness: 16,\n gradientStrokeColor: lightGray,\n gradientStrokeWidth: 0,\n gradientLabelOffset: 2,\n labelAlign: 'left',\n labelBaseline: 'middle',\n labelLimit: 160,\n labelOffset: 4,\n labelOverlap: true,\n symbolType: 'circle',\n symbolSize: 100,\n symbolOffset: 0,\n symbolStrokeWidth: 1.5,\n symbolBaseFillColor: 'transparent',\n symbolBaseStrokeColor: gray,\n titleAlign: 'left',\n titleBaseline: 'top',\n titleLimit: 180,\n titlePadding: 5\n },\n\n // defaults for group title\n title: {\n orient: 'top',\n anchor: 'middle',\n offset: 4\n },\n\n // defaults for scale ranges\n range: {\n category: {\n scheme: 'tableau10'\n },\n ordinal: {\n scheme: 'blues',\n extent: [0.2, 1]\n },\n heatmap: {\n scheme: 'viridis'\n },\n ramp: {\n scheme: 'blues',\n extent: [0.2, 1]\n },\n diverging: {\n scheme: 'blueorange'\n },\n symbol: [\n 'circle',\n 'square',\n 'triangle-up',\n 'cross',\n 'diamond',\n 'triangle-right',\n 'triangle-down',\n 'triangle-left'\n ]\n }\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/config.js\n// module id = 365\n// module chunks = 0","import {default as parseOperator, parseOperatorParameters} from './operator';\nimport parseStream from './stream';\nimport parseUpdate from './update';\n\n/**\n * Parse a serialized dataflow specification.\n */\nexport default function(spec, ctx) {\n var operators = spec.operators || [];\n\n // parse background\n if (spec.background) {\n ctx.background = spec.background;\n }\n\n // parse event configuration\n if (spec.eventConfig) {\n ctx.eventConfig = spec.eventConfig;\n }\n\n // parse operators\n operators.forEach(function(entry) {\n parseOperator(entry, ctx);\n });\n\n // parse operator parameters\n operators.forEach(function(entry) {\n parseOperatorParameters(entry, ctx);\n });\n\n // parse streams\n (spec.streams || []).forEach(function(entry) {\n parseStream(entry, ctx);\n });\n\n // parse updates\n (spec.updates || []).forEach(function(entry) {\n parseUpdate(entry, ctx);\n });\n\n return ctx.resolve();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-runtime/src/dataflow.js\n// module id = 367\n// module chunks = 0","import parseDataflow from './dataflow';\nimport {parameterExpression, encodeExpression} from './expression';\nimport {tupleid} from 'vega-dataflow';\nimport {accessor, array, compare, error, field, isArray, isObject, key} from 'vega-util';\n\n/**\n * Parse a set of operator parameters.\n */\nexport default function parseParameters(spec, ctx, params) {\n params = params || {};\n var key, value;\n\n for (key in spec) {\n value = spec[key];\n\n params[key] = isArray(value)\n ? value.map(function(v) { return parseParameter(v, ctx, params); })\n : parseParameter(value, ctx, params);\n }\n return params;\n}\n\n/**\n * Parse a single parameter.\n */\nfunction parseParameter(spec, ctx, params) {\n if (!spec || !isObject(spec)) return spec;\n\n for (var i=0, n=PARSERS.length, p; i<n; ++i) {\n p = PARSERS[i];\n if (spec.hasOwnProperty(p.key)) {\n return p.parse(spec, ctx, params);\n }\n }\n return spec;\n}\n\n/** Reference parsers. */\nvar PARSERS = [\n {key: '$ref', parse: getOperator},\n {key: '$key', parse: getKey},\n {key: '$expr', parse: getExpression},\n {key: '$field', parse: getField},\n {key: '$encode', parse: getEncode},\n {key: '$compare', parse: getCompare},\n {key: '$context', parse: getContext},\n {key: '$subflow', parse: getSubflow},\n {key: '$tupleid', parse: getTupleId}\n];\n\n/**\n * Resolve an operator reference.\n */\nfunction getOperator(_, ctx) {\n return ctx.get(_.$ref) || error('Operator not defined: ' + _.$ref);\n}\n\n/**\n * Resolve an expression reference.\n */\nfunction getExpression(_, ctx, params) {\n if (_.$params) { // parse expression parameters\n parseParameters(_.$params, ctx, params);\n }\n var k = 'e:' + _.$expr + '_' + _.$name;\n return ctx.fn[k]\n || (ctx.fn[k] = accessor(parameterExpression(_.$expr, ctx), _.$fields, _.$name));\n}\n\n/**\n * Resolve a key accessor reference.\n */\nfunction getKey(_, ctx) {\n var k = 'k:' + _.$key + '_' + (!!_.$flat);\n return ctx.fn[k] || (ctx.fn[k] = key(_.$key, _.$flat));\n}\n\n/**\n * Resolve a field accessor reference.\n */\nfunction getField(_, ctx) {\n if (!_.$field) return null;\n var k = 'f:' + _.$field + '_' + _.$name;\n return ctx.fn[k] || (ctx.fn[k] = field(_.$field, _.$name));\n}\n\n/**\n * Resolve a comparator function reference.\n */\nfunction getCompare(_, ctx) {\n var k = 'c:' + _.$compare + '_' + _.$order,\n c = array(_.$compare).map(function(_) {\n return (_ && _.$tupleid) ? tupleid : _;\n });\n return ctx.fn[k] || (ctx.fn[k] = compare(c, _.$order));\n}\n\n/**\n * Resolve an encode operator reference.\n */\nfunction getEncode(_, ctx) {\n var spec = _.$encode,\n encode = {}, name, enc;\n\n for (name in spec) {\n enc = spec[name];\n encode[name] = accessor(encodeExpression(enc.$expr, ctx), enc.$fields);\n encode[name].output = enc.$output;\n }\n return encode;\n}\n\n/**\n * Resolve a context reference.\n */\nfunction getContext(_, ctx) {\n return ctx;\n}\n\n/**\n * Resolve a recursive subflow specification.\n */\nfunction getSubflow(_, ctx) {\n var spec = _.$subflow;\n return function(dataflow, key, parent) {\n var subctx = parseDataflow(spec, ctx.fork()),\n op = subctx.get(spec.operators[0].id),\n p = subctx.signals.parent;\n if (p) p.set(parent);\n return op;\n };\n}\n\n/**\n * Resolve a tuple id reference.\n */\nfunction getTupleId() {\n return tupleid;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-runtime/src/parameters.js\n// module id = 368\n// module chunks = 0","export function canonicalType(type) {\n return (type + '').toLowerCase();\n}\nexport function isOperator(type) {\n return canonicalType(type) === 'operator';\n}\n\nexport function isCollect(type) {\n return canonicalType(type) === 'collect';\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-runtime/src/util.js\n// module id = 369\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { isNumber } from 'vega-util';\nimport { reduce } from '../encoding';\nimport { forEach } from './../encoding';\nimport { isContinuous, isFieldDef, vgField } from './../fielddef';\nimport * as log from './../log';\nimport { getMarkSpecificConfigMixins } from './common';\nexport var BOXPLOT = 'box-plot';\nexport function isBoxPlotDef(mark) {\n return !!mark['type'];\n}\nexport var BOXPLOT_STYLES = ['boxWhisker', 'box', 'boxMid'];\nexport var VL_ONLY_BOXPLOT_CONFIG_PROPERTY_INDEX = {\n box: ['size', 'color', 'extent'],\n boxWhisker: ['color'],\n boxMid: ['color']\n};\nvar supportedChannels = ['x', 'y', 'color', 'detail', 'opacity', 'size'];\nexport function filterUnsupportedChannels(spec) {\n return tslib_1.__assign({}, spec, { encoding: reduce(spec.encoding, function (newEncoding, fieldDef, channel) {\n if (supportedChannels.indexOf(channel) > -1) {\n newEncoding[channel] = fieldDef;\n }\n else {\n log.warn(log.message.incompatibleChannel(channel, BOXPLOT));\n }\n return newEncoding;\n }, {}) });\n}\nexport function normalizeBoxPlot(spec, config) {\n var _a, _b, _c, _d;\n spec = filterUnsupportedChannels(spec);\n // TODO: use selection\n var mark = spec.mark, encoding = spec.encoding, selection = spec.selection, _p = spec.projection, outerSpec = tslib_1.__rest(spec, [\"mark\", \"encoding\", \"selection\", \"projection\"]);\n var kIQRScalar = undefined;\n if (isNumber(config.box.extent)) {\n kIQRScalar = config.box.extent;\n }\n if (isBoxPlotDef(mark)) {\n if (mark.extent) {\n if (mark.extent === 'min-max') {\n kIQRScalar = undefined;\n }\n }\n }\n var orient = boxOrient(spec);\n var _e = boxParams(spec, orient, kIQRScalar), transform = _e.transform, continuousAxisChannelDef = _e.continuousAxisChannelDef, continuousAxis = _e.continuousAxis, encodingWithoutContinuousAxis = _e.encodingWithoutContinuousAxis;\n var color = encodingWithoutContinuousAxis.color, size = encodingWithoutContinuousAxis.size, encodingWithoutSizeColorAndContinuousAxis = tslib_1.__rest(encodingWithoutContinuousAxis, [\"color\", \"size\"]);\n // Size encoding or the default config.box.size is applied to box and boxMid\n var sizeMixins = size ? { size: size } : getMarkSpecificConfigMixins(config.box, 'size');\n var continuousAxisScaleAndAxis = {};\n if (continuousAxisChannelDef.scale) {\n continuousAxisScaleAndAxis['scale'] = continuousAxisChannelDef.scale;\n }\n if (continuousAxisChannelDef.axis) {\n continuousAxisScaleAndAxis['axis'] = continuousAxisChannelDef.axis;\n }\n return tslib_1.__assign({}, outerSpec, { transform: transform, layer: [\n {\n mark: {\n type: 'rule',\n style: 'boxWhisker'\n },\n encoding: tslib_1.__assign((_a = {}, _a[continuousAxis] = tslib_1.__assign({ field: 'lower_whisker_' + continuousAxisChannelDef.field, type: continuousAxisChannelDef.type }, continuousAxisScaleAndAxis), _a[continuousAxis + '2'] = {\n field: 'lower_box_' + continuousAxisChannelDef.field,\n type: continuousAxisChannelDef.type\n }, _a), encodingWithoutSizeColorAndContinuousAxis, getMarkSpecificConfigMixins(config.boxWhisker, 'color'))\n }, {\n mark: {\n type: 'rule',\n style: 'boxWhisker'\n },\n encoding: tslib_1.__assign((_b = {}, _b[continuousAxis] = {\n field: 'upper_box_' + continuousAxisChannelDef.field,\n type: continuousAxisChannelDef.type\n }, _b[continuousAxis + '2'] = {\n field: 'upper_whisker_' + continuousAxisChannelDef.field,\n type: continuousAxisChannelDef.type\n }, _b), encodingWithoutSizeColorAndContinuousAxis, getMarkSpecificConfigMixins(config.boxWhisker, 'color'))\n },\n tslib_1.__assign({}, (selection ? { selection: selection } : {}), { mark: {\n type: 'bar',\n style: 'box'\n }, encoding: tslib_1.__assign((_c = {}, _c[continuousAxis] = {\n field: 'lower_box_' + continuousAxisChannelDef.field,\n type: continuousAxisChannelDef.type\n }, _c[continuousAxis + '2'] = {\n field: 'upper_box_' + continuousAxisChannelDef.field,\n type: continuousAxisChannelDef.type\n }, _c), encodingWithoutContinuousAxis, (encodingWithoutContinuousAxis.color ? {} : getMarkSpecificConfigMixins(config.box, 'color')), sizeMixins) }),\n {\n mark: {\n type: 'tick',\n style: 'boxMid'\n },\n encoding: tslib_1.__assign((_d = {}, _d[continuousAxis] = {\n field: 'mid_box_' + continuousAxisChannelDef.field,\n type: continuousAxisChannelDef.type\n }, _d), encodingWithoutSizeColorAndContinuousAxis, getMarkSpecificConfigMixins(config.boxMid, 'color'), sizeMixins)\n }\n ] });\n}\nfunction boxOrient(spec) {\n var mark = spec.mark, encoding = spec.encoding, _p = spec.projection, _outerSpec = tslib_1.__rest(spec, [\"mark\", \"encoding\", \"projection\"]);\n if (isFieldDef(encoding.x) && isContinuous(encoding.x)) {\n // x is continuous\n if (isFieldDef(encoding.y) && isContinuous(encoding.y)) {\n // both x and y are continuous\n if (encoding.x.aggregate === undefined && encoding.y.aggregate === BOXPLOT) {\n return 'vertical';\n }\n else if (encoding.y.aggregate === undefined && encoding.x.aggregate === BOXPLOT) {\n return 'horizontal';\n }\n else if (encoding.x.aggregate === BOXPLOT && encoding.y.aggregate === BOXPLOT) {\n throw new Error('Both x and y cannot have aggregate');\n }\n else {\n if (isBoxPlotDef(mark) && mark.orient) {\n return mark.orient;\n }\n // default orientation = vertical\n return 'vertical';\n }\n }\n // x is continuous but y is not\n return 'horizontal';\n }\n else if (isFieldDef(encoding.y) && isContinuous(encoding.y)) {\n // y is continuous but x is not\n return 'vertical';\n }\n else {\n // Neither x nor y is continuous.\n throw new Error('Need a valid continuous axis for boxplots');\n }\n}\nfunction boxContinousAxis(spec, orient) {\n var mark = spec.mark, encoding = spec.encoding, _p = spec.projection, _outerSpec = tslib_1.__rest(spec, [\"mark\", \"encoding\", \"projection\"]);\n var continuousAxisChannelDef;\n var continuousAxis;\n if (orient === 'vertical') {\n continuousAxis = 'y';\n continuousAxisChannelDef = encoding.y; // Safe to cast because if y is not continuous fielddef, the orient would not be vertical.\n }\n else {\n continuousAxis = 'x';\n continuousAxisChannelDef = encoding.x; // Safe to cast because if x is not continuous fielddef, the orient would not be horizontal.\n }\n if (continuousAxisChannelDef && continuousAxisChannelDef.aggregate) {\n var aggregate = continuousAxisChannelDef.aggregate, continuousAxisWithoutAggregate = tslib_1.__rest(continuousAxisChannelDef, [\"aggregate\"]);\n if (aggregate !== BOXPLOT) {\n log.warn(\"Continuous axis should not have customized aggregation function \" + aggregate);\n }\n continuousAxisChannelDef = continuousAxisWithoutAggregate;\n }\n return {\n continuousAxisChannelDef: continuousAxisChannelDef,\n continuousAxis: continuousAxis\n };\n}\nfunction boxParams(spec, orient, kIQRScalar) {\n var _a = boxContinousAxis(spec, orient), continuousAxisChannelDef = _a.continuousAxisChannelDef, continuousAxis = _a.continuousAxis;\n var encoding = spec.encoding;\n var isMinMax = kIQRScalar === undefined;\n var aggregate = [\n {\n op: 'q1',\n field: continuousAxisChannelDef.field,\n as: 'lower_box_' + continuousAxisChannelDef.field\n },\n {\n op: 'q3',\n field: continuousAxisChannelDef.field,\n as: 'upper_box_' + continuousAxisChannelDef.field\n },\n {\n op: 'median',\n field: continuousAxisChannelDef.field,\n as: 'mid_box_' + continuousAxisChannelDef.field\n }\n ];\n var postAggregateCalculates = [];\n aggregate.push({\n op: 'min',\n field: continuousAxisChannelDef.field,\n as: (isMinMax ? 'lower_whisker_' : 'min_') + continuousAxisChannelDef.field\n });\n aggregate.push({\n op: 'max',\n field: continuousAxisChannelDef.field,\n as: (isMinMax ? 'upper_whisker_' : 'max_') + continuousAxisChannelDef.field\n });\n if (!isMinMax) {\n postAggregateCalculates = [\n {\n calculate: \"datum.upper_box_\" + continuousAxisChannelDef.field + \" - datum.lower_box_\" + continuousAxisChannelDef.field,\n as: 'iqr_' + continuousAxisChannelDef.field\n },\n {\n calculate: \"min(datum.upper_box_\" + continuousAxisChannelDef.field + \" + datum.iqr_\" + continuousAxisChannelDef.field + \" * \" + kIQRScalar + \", datum.max_\" + continuousAxisChannelDef.field + \")\",\n as: 'upper_whisker_' + continuousAxisChannelDef.field\n },\n {\n calculate: \"max(datum.lower_box_\" + continuousAxisChannelDef.field + \" - datum.iqr_\" + continuousAxisChannelDef.field + \" * \" + kIQRScalar + \", datum.min_\" + continuousAxisChannelDef.field + \")\",\n as: 'lower_whisker_' + continuousAxisChannelDef.field\n }\n ];\n }\n var groupby = [];\n var bins = [];\n var timeUnits = [];\n var encodingWithoutContinuousAxis = {};\n forEach(encoding, function (channelDef, channel) {\n if (channel === continuousAxis) {\n // Skip continuous axis as we already handle it separately\n return;\n }\n if (isFieldDef(channelDef)) {\n if (channelDef.aggregate && channelDef.aggregate !== BOXPLOT) {\n aggregate.push({\n op: channelDef.aggregate,\n field: channelDef.field,\n as: vgField(channelDef)\n });\n }\n else if (channelDef.aggregate === undefined) {\n var transformedField = vgField(channelDef);\n // Add bin or timeUnit transform if applicable\n var bin = channelDef.bin;\n if (bin) {\n var field = channelDef.field;\n bins.push({ bin: bin, field: field, as: transformedField });\n }\n else if (channelDef.timeUnit) {\n var timeUnit = channelDef.timeUnit, field = channelDef.field;\n timeUnits.push({ timeUnit: timeUnit, field: field, as: transformedField });\n }\n groupby.push(transformedField);\n }\n // now the field should refer to post-transformed field instead\n encodingWithoutContinuousAxis[channel] = {\n field: vgField(channelDef),\n type: channelDef.type\n };\n }\n else {\n // For value def, just copy\n encodingWithoutContinuousAxis[channel] = encoding[channel];\n }\n });\n return {\n transform: [].concat(bins, timeUnits, [{ aggregate: aggregate, groupby: groupby }], postAggregateCalculates),\n continuousAxisChannelDef: continuousAxisChannelDef,\n continuousAxis: continuousAxis,\n encodingWithoutContinuousAxis: encodingWithoutContinuousAxis\n };\n}\n//# sourceMappingURL=boxplot.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compositemark/boxplot.js\n// module id = 370\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { isObject } from 'vega-util';\nimport { COMPOSITE_MARK_STYLES } from './compositemark';\nimport { VL_ONLY_COMPOSITE_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX } from './compositemark/index';\nimport { VL_ONLY_GUIDE_CONFIG } from './guide';\nimport { defaultLegendConfig } from './legend';\nimport * as mark from './mark';\nimport { PRIMITIVE_MARKS, VL_ONLY_MARK_CONFIG_PROPERTIES, VL_ONLY_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX } from './mark';\nimport { defaultScaleConfig } from './scale';\nimport { defaultConfig as defaultSelectionConfig } from './selection';\nimport { extractTitleConfig } from './title';\nimport { duplicate, keys, mergeDeep } from './util';\nexport var defaultViewConfig = {\n width: 200,\n height: 200\n};\nexport var defaultConfig = {\n padding: 5,\n timeFormat: '',\n countTitle: 'Number of Records',\n invalidValues: 'filter',\n view: defaultViewConfig,\n mark: mark.defaultMarkConfig,\n area: {},\n bar: mark.defaultBarConfig,\n circle: {},\n geoshape: {},\n line: {},\n point: {},\n rect: {},\n rule: { color: 'black' },\n square: {},\n text: { color: 'black' },\n tick: mark.defaultTickConfig,\n trail: {},\n box: { size: 14, extent: 1.5 },\n boxWhisker: {},\n boxMid: { color: 'white' },\n scale: defaultScaleConfig,\n projection: {},\n axis: {},\n axisX: {},\n axisY: { minExtent: 30 },\n axisLeft: {},\n axisRight: {},\n axisTop: {},\n axisBottom: {},\n axisBand: {},\n legend: defaultLegendConfig,\n selection: defaultSelectionConfig,\n style: {},\n title: {},\n};\nexport function initConfig(config) {\n return mergeDeep(duplicate(defaultConfig), config);\n}\nvar MARK_STYLES = ['view'].concat(PRIMITIVE_MARKS, COMPOSITE_MARK_STYLES);\nvar VL_ONLY_CONFIG_PROPERTIES = [\n 'padding', 'numberFormat', 'timeFormat', 'countTitle',\n 'stack', 'scale', 'selection', 'invalidValues',\n 'overlay' // FIXME: Redesign and unhide this\n];\nvar VL_ONLY_ALL_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX = tslib_1.__assign({ view: ['width', 'height'] }, VL_ONLY_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX, VL_ONLY_COMPOSITE_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX);\nexport function stripAndRedirectConfig(config) {\n config = duplicate(config);\n for (var _i = 0, VL_ONLY_CONFIG_PROPERTIES_1 = VL_ONLY_CONFIG_PROPERTIES; _i < VL_ONLY_CONFIG_PROPERTIES_1.length; _i++) {\n var prop = VL_ONLY_CONFIG_PROPERTIES_1[_i];\n delete config[prop];\n }\n // Remove Vega-Lite only axis/legend config\n if (config.axis) {\n for (var _a = 0, VL_ONLY_GUIDE_CONFIG_1 = VL_ONLY_GUIDE_CONFIG; _a < VL_ONLY_GUIDE_CONFIG_1.length; _a++) {\n var prop = VL_ONLY_GUIDE_CONFIG_1[_a];\n delete config.axis[prop];\n }\n }\n if (config.legend) {\n for (var _b = 0, VL_ONLY_GUIDE_CONFIG_2 = VL_ONLY_GUIDE_CONFIG; _b < VL_ONLY_GUIDE_CONFIG_2.length; _b++) {\n var prop = VL_ONLY_GUIDE_CONFIG_2[_b];\n delete config.legend[prop];\n }\n }\n // Remove Vega-Lite only generic mark config\n if (config.mark) {\n for (var _c = 0, VL_ONLY_MARK_CONFIG_PROPERTIES_1 = VL_ONLY_MARK_CONFIG_PROPERTIES; _c < VL_ONLY_MARK_CONFIG_PROPERTIES_1.length; _c++) {\n var prop = VL_ONLY_MARK_CONFIG_PROPERTIES_1[_c];\n delete config.mark[prop];\n }\n }\n for (var _d = 0, MARK_STYLES_1 = MARK_STYLES; _d < MARK_STYLES_1.length; _d++) {\n var markType = MARK_STYLES_1[_d];\n // Remove Vega-Lite-only mark config\n for (var _e = 0, VL_ONLY_MARK_CONFIG_PROPERTIES_2 = VL_ONLY_MARK_CONFIG_PROPERTIES; _e < VL_ONLY_MARK_CONFIG_PROPERTIES_2.length; _e++) {\n var prop = VL_ONLY_MARK_CONFIG_PROPERTIES_2[_e];\n delete config[markType][prop];\n }\n // Remove Vega-Lite only mark-specific config\n var vlOnlyMarkSpecificConfigs = VL_ONLY_ALL_MARK_SPECIFIC_CONFIG_PROPERTY_INDEX[markType];\n if (vlOnlyMarkSpecificConfigs) {\n for (var _f = 0, vlOnlyMarkSpecificConfigs_1 = vlOnlyMarkSpecificConfigs; _f < vlOnlyMarkSpecificConfigs_1.length; _f++) {\n var prop = vlOnlyMarkSpecificConfigs_1[_f];\n delete config[markType][prop];\n }\n }\n // Redirect mark config to config.style so that mark config only affect its own mark type\n // without affecting other marks that share the same underlying Vega marks.\n // For example, config.rect should not affect bar marks.\n redirectConfig(config, markType);\n }\n // Redirect config.title -- so that title config do not\n // affect header labels, which also uses `title` directive to implement.\n redirectConfig(config, 'title', 'group-title');\n // Remove empty config objects\n for (var prop in config) {\n if (isObject(config[prop]) && keys(config[prop]).length === 0) {\n delete config[prop];\n }\n }\n return keys(config).length > 0 ? config : undefined;\n}\nfunction redirectConfig(config, prop, toProp) {\n var propConfig = prop === 'title' ? extractTitleConfig(config.title).mark : config[prop];\n if (prop === 'view') {\n toProp = 'cell'; // View's default style is \"cell\"\n }\n var style = tslib_1.__assign({}, propConfig, config.style[prop]);\n // set config.style if it is not an empty object\n if (keys(style).length > 0) {\n config.style[toProp || prop] = style;\n }\n delete config[prop];\n}\n//# sourceMappingURL=config.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/config.js\n// module id = 371\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nexport function extractTitleConfig(titleConfig) {\n var \n // These are non-mark title config that need to be hardcoded\n anchor = titleConfig.anchor, offset = titleConfig.offset, orient = titleConfig.orient, \n // color needs to be redirect to fill\n color = titleConfig.color, \n // The rest are mark config.\n titleMarkConfig = tslib_1.__rest(titleConfig, [\"anchor\", \"offset\", \"orient\", \"color\"]);\n var mark = tslib_1.__assign({}, titleMarkConfig, color ? { fill: color } : {});\n var nonMark = tslib_1.__assign({}, anchor ? { anchor: anchor } : {}, offset ? { offset: offset } : {}, orient ? { orient: orient } : {});\n return { mark: mark, nonMark: nonMark };\n}\n//# sourceMappingURL=title.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/title.js\n// module id = 372\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { isString } from 'vega-util';\nimport * as log from './log';\nexport function extractCompositionLayout(layout) {\n var _a = layout || {}, _b = _a.align, align = _b === void 0 ? undefined : _b, _c = _a.center, center = _c === void 0 ? undefined : _c, _d = _a.bounds, bounds = _d === void 0 ? undefined : _d, _e = _a.spacing, spacing = _e === void 0 ? undefined : _e;\n return { align: align, bounds: bounds, center: center, spacing: spacing };\n}\nfunction _normalizeAutoSize(autosize) {\n return isString(autosize) ? { type: autosize } : autosize || {};\n}\nexport function normalizeAutoSize(topLevelAutosize, configAutosize, isUnitOrLayer) {\n if (isUnitOrLayer === void 0) { isUnitOrLayer = true; }\n var autosize = tslib_1.__assign({ type: 'pad' }, _normalizeAutoSize(configAutosize), _normalizeAutoSize(topLevelAutosize));\n if (autosize.type === 'fit') {\n if (!isUnitOrLayer) {\n log.warn(log.message.FIT_NON_SINGLE);\n autosize.type = 'pad';\n }\n }\n return autosize;\n}\nvar TOP_LEVEL_PROPERTIES = [\n 'background', 'padding', 'datasets'\n // We do not include \"autosize\" here as it is supported by only unit and layer specs and thus need to be normalized\n];\nexport function extractTopLevelProperties(t) {\n return TOP_LEVEL_PROPERTIES.reduce(function (o, p) {\n if (t && t[p] !== undefined) {\n o[p] = t[p];\n }\n return o;\n }, {});\n}\n//# sourceMappingURL=toplevelprops.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/toplevelprops.js\n// module id = 373\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { keys } from '../util';\nimport { parseData } from './data/parse';\nimport { assembleLayoutSignals } from './layoutsize/assemble';\nimport { Model } from './model';\nvar BaseConcatModel = /** @class */ (function (_super) {\n tslib_1.__extends(BaseConcatModel, _super);\n function BaseConcatModel(spec, parent, parentGivenName, config, repeater, resolve) {\n return _super.call(this, spec, parent, parentGivenName, config, repeater, resolve) || this;\n }\n BaseConcatModel.prototype.parseData = function () {\n this.component.data = parseData(this);\n this.children.forEach(function (child) {\n child.parseData();\n });\n };\n BaseConcatModel.prototype.parseSelection = function () {\n var _this = this;\n // Merge selections up the hierarchy so that they may be referenced\n // across unit specs. Persist their definitions within each child\n // to assemble signals which remain within output Vega unit groups.\n this.component.selection = {};\n var _loop_1 = function (child) {\n child.parseSelection();\n keys(child.component.selection).forEach(function (key) {\n _this.component.selection[key] = child.component.selection[key];\n });\n };\n for (var _i = 0, _a = this.children; _i < _a.length; _i++) {\n var child = _a[_i];\n _loop_1(child);\n }\n };\n BaseConcatModel.prototype.parseMarkGroup = function () {\n for (var _i = 0, _a = this.children; _i < _a.length; _i++) {\n var child = _a[_i];\n child.parseMarkGroup();\n }\n };\n BaseConcatModel.prototype.parseAxisAndHeader = function () {\n for (var _i = 0, _a = this.children; _i < _a.length; _i++) {\n var child = _a[_i];\n child.parseAxisAndHeader();\n }\n // TODO(#2415): support shared axes\n };\n BaseConcatModel.prototype.assembleSelectionTopLevelSignals = function (signals) {\n return this.children.reduce(function (sg, child) { return child.assembleSelectionTopLevelSignals(sg); }, signals);\n };\n BaseConcatModel.prototype.assembleSelectionSignals = function () {\n this.children.forEach(function (child) { return child.assembleSelectionSignals(); });\n return [];\n };\n BaseConcatModel.prototype.assembleLayoutSignals = function () {\n return this.children.reduce(function (signals, child) {\n return signals.concat(child.assembleLayoutSignals());\n }, assembleLayoutSignals(this));\n };\n BaseConcatModel.prototype.assembleSelectionData = function (data) {\n return this.children.reduce(function (db, child) { return child.assembleSelectionData(db); }, data);\n };\n BaseConcatModel.prototype.assembleMarks = function () {\n // only children have marks\n return this.children.map(function (child) {\n var title = child.assembleTitle();\n var style = child.assembleGroupStyle();\n var layoutSizeEncodeEntry = child.assembleLayoutSize();\n return tslib_1.__assign({ type: 'group', name: child.getName('group') }, (title ? { title: title } : {}), (style ? { style: style } : {}), (layoutSizeEncodeEntry ? {\n encode: {\n update: layoutSizeEncodeEntry\n }\n } : {}), child.assembleGroup());\n });\n };\n return BaseConcatModel;\n}(Model));\nexport { BaseConcatModel };\n//# sourceMappingURL=baseconcat.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/baseconcat.js\n// module id = 374\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { isArray } from 'vega-util';\nimport { AXIS_PARTS, AXIS_PROPERTY_TYPE } from '../../axis';\nimport { title as fieldDefTitle } from '../../fielddef';\nimport { keys } from '../../util';\nfunction assembleTitle(title, config) {\n if (isArray(title)) {\n return title.map(function (fieldDef) { return fieldDefTitle(fieldDef, config); }).join(', ');\n }\n return title;\n}\nexport function assembleAxis(axisCmpt, kind, config, opt) {\n if (opt === void 0) { opt = { header: false }; }\n var _a = axisCmpt.combine(), orient = _a.orient, scale = _a.scale, title = _a.title, zindex = _a.zindex, axis = tslib_1.__rest(_a, [\"orient\", \"scale\", \"title\", \"zindex\"]);\n // Remove properties that are not valid for this kind of axis\n keys(axis).forEach(function (key) {\n var propType = AXIS_PROPERTY_TYPE[key];\n if (propType && propType !== kind && propType !== 'both') {\n delete axis[key];\n }\n });\n if (kind === 'grid') {\n if (!axis.grid) {\n return undefined;\n }\n // Remove unnecessary encode block\n if (axis.encode) {\n // Only need to keep encode block for grid\n var grid = axis.encode.grid;\n axis.encode = tslib_1.__assign({}, (grid ? { grid: grid } : {}));\n if (keys(axis.encode).length === 0) {\n delete axis.encode;\n }\n }\n return tslib_1.__assign({ scale: scale,\n orient: orient }, axis, { domain: false, labels: false, \n // Always set min/maxExtent to 0 to ensure that `config.axis*.minExtent` and `config.axis*.maxExtent`\n // would not affect gridAxis\n maxExtent: 0, minExtent: 0, ticks: false, zindex: zindex !== undefined ? zindex : 0 // put grid behind marks by default\n });\n }\n else { // kind === 'main'\n if (!opt.header && axisCmpt.mainExtracted) {\n // if mainExtracted has been extracted to a separate facet\n return undefined;\n }\n // Remove unnecessary encode block\n if (axis.encode) {\n for (var _i = 0, AXIS_PARTS_1 = AXIS_PARTS; _i < AXIS_PARTS_1.length; _i++) {\n var part = AXIS_PARTS_1[_i];\n if (!axisCmpt.hasAxisPart(part)) {\n delete axis.encode[part];\n }\n }\n if (keys(axis.encode).length === 0) {\n delete axis.encode;\n }\n }\n var titleString = assembleTitle(title, config);\n return tslib_1.__assign({ scale: scale,\n orient: orient, grid: false }, (titleString ? { title: titleString } : {}), axis, { zindex: zindex !== undefined ? zindex : 1 // put axis line above marks by default\n });\n }\n}\nexport function assembleAxes(axisComponents, config) {\n var _a = axisComponents.x, x = _a === void 0 ? [] : _a, _b = axisComponents.y, y = _b === void 0 ? [] : _b;\n return x.map(function (a) { return assembleAxis(a, 'main', config); }).concat(x.map(function (a) { return assembleAxis(a, 'grid', config); }), y.map(function (a) { return assembleAxis(a, 'main', config); }), y.map(function (a) { return assembleAxis(a, 'grid', config); })).filter(function (a) { return a; }); // filter undefined\n}\n//# sourceMappingURL=assemble.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/axis/assemble.js\n// module id = 375\n// module chunks = 0","import * as tslib_1 from \"tslib\";\n/**\n * Utility for generating row / column headers\n */\nimport { isArray } from 'vega-util';\nimport { vgField } from '../../fielddef';\nimport { HEADER_LABEL_PROPERTIES, HEADER_LABEL_PROPERTIES_MAP, HEADER_TITLE_PROPERTIES, HEADER_TITLE_PROPERTIES_MAP } from '../../header';\nimport { isSortField } from '../../sort';\nimport { keys } from '../../util';\nimport { formatSignalRef } from '../common';\nimport { sortArrayIndexField } from '../data/calculate';\nexport var HEADER_CHANNELS = ['row', 'column'];\nexport var HEADER_TYPES = ['header', 'footer'];\nexport function getHeaderType(orient) {\n if (orient === 'top' || orient === 'left') {\n return 'header';\n }\n return 'footer';\n}\nexport function getTitleGroup(model, channel) {\n var title = model.component.layoutHeaders[channel].title;\n var textOrient = channel === 'row' ? 'left' : undefined;\n var config = model.config ? model.config : undefined;\n var facetFieldDef = model.component.layoutHeaders[channel].facetFieldDef ? model.component.layoutHeaders[channel].facetFieldDef : undefined;\n return {\n name: channel + \"-title\",\n type: 'group',\n role: channel + \"-title\",\n title: tslib_1.__assign({ text: title, offset: 10, orient: textOrient, style: 'guide-title' }, getHeaderProperties(config, facetFieldDef, HEADER_TITLE_PROPERTIES, HEADER_TITLE_PROPERTIES_MAP))\n };\n}\nexport function getHeaderGroups(model, channel) {\n var layoutHeader = model.component.layoutHeaders[channel];\n var groups = [];\n for (var _i = 0, HEADER_TYPES_1 = HEADER_TYPES; _i < HEADER_TYPES_1.length; _i++) {\n var headerType = HEADER_TYPES_1[_i];\n if (layoutHeader[headerType]) {\n for (var _a = 0, _b = layoutHeader[headerType]; _a < _b.length; _a++) {\n var headerCmpt = _b[_a];\n groups.push(getHeaderGroup(model, channel, headerType, layoutHeader, headerCmpt));\n }\n }\n }\n return groups;\n}\n// 0, (0,90), 90, (90, 180), 180, (180, 270), 270, (270, 0)\nexport function labelAlign(angle) {\n // to keep angle in [0, 360)\n angle = ((angle % 360) + 360) % 360;\n if ((angle + 90) % 180 === 0) { // for 90 and 270\n return {}; // default center\n }\n else if (angle < 90 || 270 < angle) {\n return { align: { value: 'right' } };\n }\n else if (135 <= angle && angle < 225) {\n return { align: { value: 'left' } };\n }\n return {};\n}\nexport function labelBaseline(angle) {\n // to keep angle in [0, 360)\n angle = ((angle % 360) + 360) % 360;\n if (45 <= angle && angle <= 135) {\n return { baseline: 'top' };\n }\n return { baseline: 'middle' };\n}\nfunction getSort(facetFieldDef, channel) {\n var sort = facetFieldDef.sort;\n if (isSortField(sort)) {\n return {\n field: vgField(sort, { expr: 'datum' }),\n order: sort.order || 'ascending'\n };\n }\n else if (isArray(sort)) {\n return {\n field: sortArrayIndexField(facetFieldDef, channel, 'datum'),\n order: 'ascending'\n };\n }\n else {\n return {\n field: vgField(facetFieldDef, { expr: 'datum' }),\n order: sort || 'ascending'\n };\n }\n}\nexport function getHeaderGroup(model, channel, headerType, layoutHeader, headerCmpt) {\n var _a;\n if (headerCmpt) {\n var title = null;\n var facetFieldDef = layoutHeader.facetFieldDef;\n if (facetFieldDef && headerCmpt.labels) {\n var _b = facetFieldDef.header, header = _b === void 0 ? {} : _b;\n var format = header.format, labelAngle = header.labelAngle;\n var config = model.config ? model.config : undefined;\n var update = tslib_1.__assign({}, labelAlign(labelAngle));\n title = tslib_1.__assign({ text: formatSignalRef(facetFieldDef, format, 'parent', model.config), offset: 10, orient: channel === 'row' ? 'left' : 'top', style: 'guide-label' }, getHeaderProperties(config, facetFieldDef, HEADER_LABEL_PROPERTIES, HEADER_LABEL_PROPERTIES_MAP), (keys(update).length > 0 ? { encode: { update: update } } : {}));\n }\n var axes = headerCmpt.axes;\n var hasAxes = axes && axes.length > 0;\n if (title || hasAxes) {\n var sizeChannel = channel === 'row' ? 'height' : 'width';\n return tslib_1.__assign({ name: model.getName(channel + \"_\" + headerType), type: 'group', role: channel + \"-\" + headerType }, (layoutHeader.facetFieldDef ? {\n from: { data: model.getName(channel + '_domain') },\n sort: getSort(facetFieldDef, channel)\n } : {}), (title ? { title: title } : {}), (headerCmpt.sizeSignal ? {\n encode: {\n update: (_a = {},\n _a[sizeChannel] = headerCmpt.sizeSignal,\n _a)\n }\n } : {}), (hasAxes ? { axes: axes } : {}));\n }\n }\n return null;\n}\nexport function getHeaderProperties(config, facetFieldDef, properties, propertiesMap) {\n var props = {};\n for (var _i = 0, properties_1 = properties; _i < properties_1.length; _i++) {\n var prop = properties_1[_i];\n if (config && config.header) {\n if (config.header[prop]) {\n props[propertiesMap[prop]] = config.header[prop];\n }\n }\n if (facetFieldDef && facetFieldDef.header) {\n if (facetFieldDef.header[prop]) {\n props[propertiesMap[prop]] = facetFieldDef.header[prop];\n }\n }\n }\n return props;\n}\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/header/index.js\n// module id = 376\n// module chunks = 0","export var HEADER_TITLE_PROPERTIES_MAP = {\n titleAnchor: 'anchor',\n titleAngle: 'angle',\n titleBaseline: 'baseline',\n titleColor: 'color',\n titleFont: 'font',\n titleFontSize: 'fontSize',\n titleFontWeight: 'fontWeight',\n titleLimit: 'limit'\n};\nexport var HEADER_LABEL_PROPERTIES_MAP = {\n labelAngle: 'angle',\n labelColor: 'color',\n labelFont: 'font',\n labelFontSize: 'fontSize',\n labelLimit: 'limit',\n};\nexport var HEADER_TITLE_PROPERTIES = Object.keys(HEADER_TITLE_PROPERTIES_MAP);\nexport var HEADER_LABEL_PROPERTIES = Object.keys(HEADER_LABEL_PROPERTIES_MAP);\n//# sourceMappingURL=header.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/header.js\n// module id = 377\n// module chunks = 0","import { flatten, keys, stringify, vals } from '../../util';\nimport { mergeLegendComponent } from './parse';\nexport function assembleLegends(model) {\n var legendComponentIndex = model.component.legends;\n var legendByDomain = {};\n for (var _i = 0, _a = keys(legendComponentIndex); _i < _a.length; _i++) {\n var channel = _a[_i];\n var scaleComponent = model.getScaleComponent(channel);\n var domainHash = stringify(scaleComponent.domains);\n if (legendByDomain[domainHash]) {\n for (var _b = 0, _c = legendByDomain[domainHash]; _b < _c.length; _b++) {\n var mergedLegendComponent = _c[_b];\n var merged = mergeLegendComponent(mergedLegendComponent, legendComponentIndex[channel]);\n if (!merged) {\n // If cannot merge, need to add this legend separately\n legendByDomain[domainHash].push(legendComponentIndex[channel]);\n }\n }\n }\n else {\n legendByDomain[domainHash] = [legendComponentIndex[channel].clone()];\n }\n }\n return flatten(vals(legendByDomain)).map(function (legendCmpt) { return legendCmpt.combine(); });\n}\n//# sourceMappingURL=assemble.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/legend/assemble.js\n// module id = 378\n// module chunks = 0","import { COLOR, FILL, OPACITY, SHAPE, SIZE, STROKE } from '../../channel';\nimport { isFieldDef, title as fieldDefTitle } from '../../fielddef';\nimport { LEGEND_PROPERTIES, VG_LEGEND_PROPERTIES } from '../../legend';\nimport { GEOJSON } from '../../type';\nimport { deleteNestedProperty, keys } from '../../util';\nimport { getSpecifiedOrDefaultValue, guideEncodeEntry, mergeTitleComponent, numberFormat } from '../common';\nimport { isUnitModel } from '../model';\nimport { parseGuideResolve } from '../resolve';\nimport { defaultTieBreaker, makeImplicit, mergeValuesWithExplicit } from '../split';\nimport { LegendComponent } from './component';\nimport * as encode from './encode';\nimport * as properties from './properties';\nexport function parseLegend(model) {\n if (isUnitModel(model)) {\n model.component.legends = parseUnitLegend(model);\n }\n else {\n model.component.legends = parseNonUnitLegend(model);\n }\n}\nfunction parseUnitLegend(model) {\n var encoding = model.encoding;\n return [COLOR, FILL, STROKE, SIZE, SHAPE, OPACITY].reduce(function (legendComponent, channel) {\n var def = encoding[channel];\n if (model.legend(channel) && model.getScaleComponent(channel) && !(isFieldDef(def) && (channel === SHAPE && def.type === GEOJSON))) {\n legendComponent[channel] = parseLegendForChannel(model, channel);\n }\n return legendComponent;\n }, {});\n}\nfunction getLegendDefWithScale(model, channel) {\n var _a;\n // For binned field with continuous scale, use a special scale so we can overrride the mark props and labels\n switch (channel) {\n case COLOR:\n var scale = model.scaleName(COLOR);\n return model.markDef.filled ? { fill: scale } : { stroke: scale };\n case FILL:\n case STROKE:\n case SIZE:\n case SHAPE:\n case OPACITY:\n return _a = {}, _a[channel] = model.scaleName(channel), _a;\n }\n}\nexport function parseLegendForChannel(model, channel) {\n var fieldDef = model.fieldDef(channel);\n var legend = model.legend(channel);\n var legendCmpt = new LegendComponent({}, getLegendDefWithScale(model, channel));\n LEGEND_PROPERTIES.forEach(function (property) {\n var value = getProperty(property, legend, channel, model);\n if (value !== undefined) {\n var explicit = \n // specified legend.values is already respected, but may get transformed.\n property === 'values' ? !!legend.values :\n // title can be explicit if fieldDef.title is set\n property === 'title' && value === model.fieldDef(channel).title ? true :\n // Otherwise, things are explicit if the returned value matches the specified property\n value === legend[property];\n if (explicit || model.config.legend[property] === undefined) {\n legendCmpt.set(property, value, explicit);\n }\n }\n });\n // 2) Add mark property definition groups\n var legendEncoding = legend.encoding || {};\n var legendEncode = ['labels', 'legend', 'title', 'symbols', 'gradient'].reduce(function (e, part) {\n var legendEncodingPart = guideEncodeEntry(legendEncoding[part] || {}, model);\n var value = encode[part] ?\n // TODO: replace legendCmpt with type is sufficient\n encode[part](fieldDef, legendEncodingPart, model, channel, legendCmpt.get('type')) : // apply rule\n legendEncodingPart; // no rule -- just default values\n if (value !== undefined && keys(value).length > 0) {\n e[part] = { update: value };\n }\n return e;\n }, {});\n if (keys(legendEncode).length > 0) {\n legendCmpt.set('encode', legendEncode, !!legend.encoding);\n }\n return legendCmpt;\n}\nfunction getProperty(property, specifiedLegend, channel, model) {\n var fieldDef = model.fieldDef(channel);\n switch (property) {\n case 'format':\n // We don't include temporal field here as we apply format in encode block\n return numberFormat(fieldDef, specifiedLegend.format, model.config);\n case 'title':\n // For falsy value, keep undefined so we use default,\n // but use null for '', null, and false to hide the title\n var specifiedTitle = fieldDef.title !== undefined ? fieldDef.title :\n specifiedLegend.title || (specifiedLegend.title === undefined ? undefined : null);\n return getSpecifiedOrDefaultValue(specifiedTitle, fieldDefTitle(fieldDef, model.config)) || undefined; // make falsy value undefined so output Vega spec is shorter\n case 'values':\n return properties.values(specifiedLegend, fieldDef);\n case 'type':\n return getSpecifiedOrDefaultValue(specifiedLegend.type, properties.type(fieldDef.type, channel, model.getScaleComponent(channel).get('type')));\n }\n // Otherwise, return specified property.\n return specifiedLegend[property];\n}\nfunction parseNonUnitLegend(model) {\n var _a = model.component, legends = _a.legends, resolve = _a.resolve;\n var _loop_1 = function (child) {\n parseLegend(child);\n keys(child.component.legends).forEach(function (channel) {\n resolve.legend[channel] = parseGuideResolve(model.component.resolve, channel);\n if (resolve.legend[channel] === 'shared') {\n // If the resolve says shared (and has not been overridden)\n // We will try to merge and see if there is a conflict\n legends[channel] = mergeLegendComponent(legends[channel], child.component.legends[channel]);\n if (!legends[channel]) {\n // If merge returns nothing, there is a conflict so we cannot make the legend shared.\n // Thus, mark legend as independent and remove the legend component.\n resolve.legend[channel] = 'independent';\n delete legends[channel];\n }\n }\n });\n };\n for (var _i = 0, _b = model.children; _i < _b.length; _i++) {\n var child = _b[_i];\n _loop_1(child);\n }\n keys(legends).forEach(function (channel) {\n for (var _i = 0, _a = model.children; _i < _a.length; _i++) {\n var child = _a[_i];\n if (!child.component.legends[channel]) {\n // skip if the child does not have a particular legend\n continue;\n }\n if (resolve.legend[channel] === 'shared') {\n // After merging shared legend, make sure to remove legend from child\n delete child.component.legends[channel];\n }\n }\n });\n return legends;\n}\nexport function mergeLegendComponent(mergedLegend, childLegend) {\n if (!mergedLegend) {\n return childLegend.clone();\n }\n var mergedOrient = mergedLegend.getWithExplicit('orient');\n var childOrient = childLegend.getWithExplicit('orient');\n if (mergedOrient.explicit && childOrient.explicit && mergedOrient.value !== childOrient.value) {\n // TODO: throw warning if resolve is explicit (We don't have info about explicit/implicit resolve yet.)\n // Cannot merge due to inconsistent orient\n return undefined;\n }\n var typeMerged = false;\n var _loop_2 = function (prop) {\n var mergedValueWithExplicit = mergeValuesWithExplicit(mergedLegend.getWithExplicit(prop), childLegend.getWithExplicit(prop), prop, 'legend', \n // Tie breaker function\n function (v1, v2) {\n switch (prop) {\n case 'title':\n return mergeTitleComponent(v1, v2);\n case 'type':\n // There are only two types. If we have different types, then prefer symbol over gradient.\n typeMerged = true;\n return makeImplicit('symbol');\n }\n return defaultTieBreaker(v1, v2, prop, 'legend');\n });\n mergedLegend.setWithExplicit(prop, mergedValueWithExplicit);\n };\n // Otherwise, let's merge\n for (var _i = 0, VG_LEGEND_PROPERTIES_1 = VG_LEGEND_PROPERTIES; _i < VG_LEGEND_PROPERTIES_1.length; _i++) {\n var prop = VG_LEGEND_PROPERTIES_1[_i];\n _loop_2(prop);\n }\n if (typeMerged) {\n if (((mergedLegend.implicit || {}).encode || {}).gradient) {\n deleteNestedProperty(mergedLegend.implicit, ['encode', 'gradient']);\n }\n if (((mergedLegend.explicit || {}).encode || {}).gradient) {\n deleteNestedProperty(mergedLegend.explicit, ['encode', 'gradient']);\n }\n }\n return mergedLegend;\n}\n//# sourceMappingURL=parse.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/legend/parse.js\n// module id = 379\n// module chunks = 0","import { MAIN } from '../../data';\nimport { every, flatten, keys, vals } from '../../util';\nimport { AggregateNode } from './aggregate';\nimport { OutputNode } from './dataflow';\nimport { FacetNode } from './facet';\nimport { FilterInvalidNode } from './filterinvalid';\nimport * as optimizers from './optimizers';\nimport { StackNode } from './stack';\nexport var FACET_SCALE_PREFIX = 'scale_';\n/**\n * Clones the subtree and ignores output nodes except for the leafs, which are renamed.\n */\nfunction cloneSubtree(facet) {\n function clone(node) {\n if (!(node instanceof FacetNode)) {\n var copy_1 = node.clone();\n if (copy_1 instanceof OutputNode) {\n var newName = FACET_SCALE_PREFIX + copy_1.getSource();\n copy_1.setSource(newName);\n facet.model.component.data.outputNodes[newName] = copy_1;\n }\n else if (copy_1 instanceof AggregateNode || copy_1 instanceof StackNode) {\n copy_1.addDimensions(facet.fields);\n }\n flatten(node.children.map(clone)).forEach(function (n) { return n.parent = copy_1; });\n return [copy_1];\n }\n return flatten(node.children.map(clone));\n }\n return clone;\n}\n/**\n * Move facet nodes down to the next fork or output node. Also pull the main output with the facet node.\n * After moving down the facet node, make a copy of the subtree and make it a child of the main output.\n */\nfunction moveFacetDown(node) {\n if (node instanceof FacetNode) {\n if (node.numChildren() === 1 && !(node.children[0] instanceof OutputNode)) {\n // move down until we hit a fork or output node\n var child = node.children[0];\n if (child instanceof AggregateNode || child instanceof StackNode) {\n child.addDimensions(node.fields);\n }\n child.swapWithParent();\n moveFacetDown(node);\n }\n else {\n // move main to facet\n moveMainDownToFacet(node.model.component.data.main);\n // replicate the subtree and place it before the facet's main node\n var copy = flatten(node.children.map(cloneSubtree(node)));\n copy.forEach(function (c) { return c.parent = node.model.component.data.main; });\n }\n }\n else {\n node.children.forEach(moveFacetDown);\n }\n}\nfunction moveMainDownToFacet(node) {\n if (node instanceof OutputNode && node.type === MAIN) {\n if (node.numChildren() === 1) {\n var child = node.children[0];\n if (!(child instanceof FacetNode)) {\n child.swapWithParent();\n moveMainDownToFacet(node);\n }\n }\n }\n}\n/**\n * Remove nodes that are not required starting from a root.\n */\nfunction removeUnnecessaryNodes(node) {\n // remove empty null filter nodes\n if (node instanceof FilterInvalidNode && every(vals(node.filter), function (f) { return f === null; })) {\n node.remove();\n }\n // remove output nodes that are not required\n if (node instanceof OutputNode && !node.isRequired()) {\n node.remove();\n }\n node.children.forEach(removeUnnecessaryNodes);\n}\n/**\n * Return all leaf nodes.\n */\nfunction getLeaves(roots) {\n var leaves = [];\n function append(node) {\n if (node.numChildren() === 0) {\n leaves.push(node);\n }\n else {\n node.children.forEach(append);\n }\n }\n roots.forEach(append);\n return leaves;\n}\n/**\n * Optimizes the dataflow of the passed in data component.\n */\nexport function optimizeDataflow(dataComponent) {\n var roots = vals(dataComponent.sources);\n roots.forEach(removeUnnecessaryNodes);\n // remove source nodes that don't have any children because they also don't have output nodes\n roots = roots.filter(function (r) { return r.numChildren() > 0; });\n getLeaves(roots).forEach(optimizers.iterateFromLeaves(optimizers.removeUnusedSubtrees));\n roots = roots.filter(function (r) { return r.numChildren() > 0; });\n getLeaves(roots).forEach(optimizers.iterateFromLeaves(optimizers.moveParseUp));\n getLeaves(roots).forEach(optimizers.removeDuplicateTimeUnits);\n roots.forEach(moveFacetDown);\n keys(dataComponent.sources).forEach(function (s) {\n if (dataComponent.sources[s].numChildren() === 0) {\n delete dataComponent.sources[s];\n }\n });\n}\n//# sourceMappingURL=optimize.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/data/optimize.js\n// module id = 380\n// module chunks = 0","import { X, Y } from '../../channel';\nimport * as log from '../../log';\nimport { channelScalePropertyIncompatability, hasContinuousDomain, isContinuousToContinuous, ScaleType, scaleTypeSupportProperty } from '../../scale';\nimport * as util from '../../util';\nimport { contains, keys } from '../../util';\nimport { isUnitModel } from '../model';\nimport { mergeValuesWithExplicit, tieBreakByComparing } from '../split';\nimport { parseScaleRange } from './range';\nexport function parseScaleProperty(model, property) {\n if (isUnitModel(model)) {\n parseUnitScaleProperty(model, property);\n }\n else {\n parseNonUnitScaleProperty(model, property);\n }\n}\nfunction parseUnitScaleProperty(model, property) {\n var localScaleComponents = model.component.scales;\n keys(localScaleComponents).forEach(function (channel) {\n var specifiedScale = model.specifiedScales[channel];\n var localScaleCmpt = localScaleComponents[channel];\n var mergedScaleCmpt = model.getScaleComponent(channel);\n var fieldDef = model.fieldDef(channel);\n var config = model.config;\n var specifiedValue = specifiedScale[property];\n var sType = mergedScaleCmpt.get('type');\n var supportedByScaleType = scaleTypeSupportProperty(sType, property);\n var channelIncompatability = channelScalePropertyIncompatability(channel, property);\n if (specifiedValue !== undefined) {\n // If there is a specified value, check if it is compatible with scale type and channel\n if (!supportedByScaleType) {\n log.warn(log.message.scalePropertyNotWorkWithScaleType(sType, property, channel));\n }\n else if (channelIncompatability) { // channel\n log.warn(channelIncompatability);\n }\n }\n if (supportedByScaleType && channelIncompatability === undefined) {\n if (specifiedValue !== undefined) {\n // copyKeyFromObject ensure type safety\n localScaleCmpt.copyKeyFromObject(property, specifiedScale);\n }\n else {\n var value = getDefaultValue(property, channel, fieldDef, mergedScaleCmpt.get('type'), mergedScaleCmpt.get('padding'), mergedScaleCmpt.get('paddingInner'), specifiedScale.domain, model.markDef, config);\n if (value !== undefined) {\n localScaleCmpt.set(property, value, false);\n }\n }\n }\n });\n}\n// Note: This method is used in Voyager.\nexport function getDefaultValue(property, channel, fieldDef, scaleType, scalePadding, scalePaddingInner, specifiedDomain, markDef, config) {\n var scaleConfig = config.scale;\n // If we have default rule-base, determine default value first\n switch (property) {\n case 'nice':\n return nice(scaleType, channel, fieldDef);\n case 'padding':\n return padding(channel, scaleType, scaleConfig, fieldDef, markDef, config.bar);\n case 'paddingInner':\n return paddingInner(scalePadding, channel, scaleConfig);\n case 'paddingOuter':\n return paddingOuter(scalePadding, channel, scaleType, scalePaddingInner, scaleConfig);\n case 'reverse':\n return reverse(scaleType, fieldDef.sort);\n case 'zero':\n return zero(channel, fieldDef, specifiedDomain, markDef);\n }\n // Otherwise, use scale config\n return scaleConfig[property];\n}\nexport function parseNonUnitScaleProperty(model, property) {\n var localScaleComponents = model.component.scales;\n for (var _i = 0, _a = model.children; _i < _a.length; _i++) {\n var child = _a[_i];\n if (property === 'range') {\n parseScaleRange(child);\n }\n else {\n parseScaleProperty(child, property);\n }\n }\n keys(localScaleComponents).forEach(function (channel) {\n var valueWithExplicit;\n for (var _i = 0, _a = model.children; _i < _a.length; _i++) {\n var child = _a[_i];\n var childComponent = child.component.scales[channel];\n if (childComponent) {\n var childValueWithExplicit = childComponent.getWithExplicit(property);\n valueWithExplicit = mergeValuesWithExplicit(valueWithExplicit, childValueWithExplicit, property, 'scale', tieBreakByComparing(function (v1, v2) {\n switch (property) {\n case 'range':\n // For range step, prefer larger step\n if (v1.step && v2.step) {\n return v1.step - v2.step;\n }\n return 0;\n // TODO: precedence rule for other properties\n }\n return 0;\n }));\n }\n }\n localScaleComponents[channel].setWithExplicit(property, valueWithExplicit);\n });\n}\nexport function nice(scaleType, channel, fieldDef) {\n if (fieldDef.bin || util.contains([ScaleType.TIME, ScaleType.UTC], scaleType)) {\n return undefined;\n }\n return util.contains([X, Y], channel); // return true for quantitative X/Y unless binned\n}\nexport function padding(channel, scaleType, scaleConfig, fieldDef, markDef, barConfig) {\n if (util.contains([X, Y], channel)) {\n if (isContinuousToContinuous(scaleType)) {\n if (scaleConfig.continuousPadding !== undefined) {\n return scaleConfig.continuousPadding;\n }\n var type = markDef.type, orient = markDef.orient;\n if (type === 'bar' && !fieldDef.bin) {\n if ((orient === 'vertical' && channel === 'x') ||\n (orient === 'horizontal' && channel === 'y')) {\n return barConfig.continuousBandSize;\n }\n }\n }\n if (scaleType === ScaleType.POINT) {\n return scaleConfig.pointPadding;\n }\n }\n return undefined;\n}\nexport function paddingInner(paddingValue, channel, scaleConfig) {\n if (paddingValue !== undefined) {\n // If user has already manually specified \"padding\", no need to add default paddingInner.\n return undefined;\n }\n if (util.contains([X, Y], channel)) {\n // Padding is only set for X and Y by default.\n // Basically it doesn't make sense to add padding for color and size.\n // paddingOuter would only be called if it's a band scale, just return the default for bandScale.\n return scaleConfig.bandPaddingInner;\n }\n return undefined;\n}\nexport function paddingOuter(paddingValue, channel, scaleType, paddingInnerValue, scaleConfig) {\n if (paddingValue !== undefined) {\n // If user has already manually specified \"padding\", no need to add default paddingOuter.\n return undefined;\n }\n if (util.contains([X, Y], channel)) {\n // Padding is only set for X and Y by default.\n // Basically it doesn't make sense to add padding for color and size.\n if (scaleType === ScaleType.BAND) {\n if (scaleConfig.bandPaddingOuter !== undefined) {\n return scaleConfig.bandPaddingOuter;\n }\n /* By default, paddingOuter is paddingInner / 2. The reason is that\n size (width/height) = step * (cardinality - paddingInner + 2 * paddingOuter).\n and we want the width/height to be integer by default.\n Note that step (by default) and cardinality are integers.) */\n return paddingInnerValue / 2;\n }\n }\n return undefined;\n}\nexport function reverse(scaleType, sort) {\n if (hasContinuousDomain(scaleType) && sort === 'descending') {\n // For continuous domain scales, Vega does not support domain sort.\n // Thus, we reverse range instead if sort is descending\n return true;\n }\n return undefined;\n}\nexport function zero(channel, fieldDef, specifiedScale, markDef) {\n // If users explicitly provide a domain range, we should not augment zero as that will be unexpected.\n var hasCustomDomain = !!specifiedScale && specifiedScale !== 'unaggregated';\n if (hasCustomDomain) {\n return false;\n }\n // If there is no custom domain, return true only for the following cases:\n // 1) using quantitative field with size\n // While this can be either ratio or interval fields, our assumption is that\n // ratio are more common.\n if (channel === 'size' && fieldDef.type === 'quantitative') {\n return true;\n }\n // 2) non-binned, quantitative x-scale or y-scale\n // (For binning, we should not include zero by default because binning are calculated without zero.)\n if (!fieldDef.bin && util.contains([X, Y], channel)) {\n var orient = markDef.orient, type = markDef.type;\n if (contains(['bar', 'area', 'line', 'trail'], type)) {\n if ((orient === 'horizontal' && channel === 'y') ||\n (orient === 'vertical' && channel === 'x')) {\n return false;\n }\n }\n return true;\n }\n return false;\n}\n//# sourceMappingURL=properties.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/scale/properties.js\n// module id = 381\n// module chunks = 0","import { isNumber } from 'vega-util';\nimport { COLOR, FILL, OPACITY, SCALE_CHANNELS, SHAPE, SIZE, STROKE, X, Y } from '../../channel';\nimport * as log from '../../log';\nimport { channelScalePropertyIncompatability, isExtendedScheme, scaleTypeSupportProperty, } from '../../scale';\nimport { hasContinuousDomain } from '../../scale';\nimport * as util from '../../util';\nimport { isVgRangeStep } from '../../vega.schema';\nimport { isUnitModel } from '../model';\nimport { makeExplicit, makeImplicit } from '../split';\nimport { parseNonUnitScaleProperty } from './properties';\nexport var RANGE_PROPERTIES = ['range', 'rangeStep', 'scheme'];\nexport function parseScaleRange(model) {\n if (isUnitModel(model)) {\n parseUnitScaleRange(model);\n }\n else {\n parseNonUnitScaleProperty(model, 'range');\n }\n}\nfunction parseUnitScaleRange(model) {\n var localScaleComponents = model.component.scales;\n // use SCALE_CHANNELS instead of scales[channel] to ensure that x, y come first!\n SCALE_CHANNELS.forEach(function (channel) {\n var localScaleCmpt = localScaleComponents[channel];\n if (!localScaleCmpt) {\n return;\n }\n var mergedScaleCmpt = model.getScaleComponent(channel);\n var specifiedScale = model.specifiedScales[channel];\n var fieldDef = model.fieldDef(channel);\n // Read if there is a specified width/height\n var sizeType = channel === 'x' ? 'width' : channel === 'y' ? 'height' : undefined;\n var sizeSpecified = sizeType ? !!model.component.layoutSize.get(sizeType) : undefined;\n var scaleType = mergedScaleCmpt.get('type');\n // if autosize is fit, size cannot be data driven\n var rangeStep = util.contains(['point', 'band'], scaleType) || !!specifiedScale.rangeStep;\n if (sizeType && model.fit && !sizeSpecified && rangeStep) {\n log.warn(log.message.CANNOT_FIX_RANGE_STEP_WITH_FIT);\n sizeSpecified = true;\n }\n var xyRangeSteps = getXYRangeStep(model);\n var rangeWithExplicit = parseRangeForChannel(channel, scaleType, fieldDef.type, specifiedScale, model.config, localScaleCmpt.get('zero'), model.mark, sizeSpecified, model.getName(sizeType), xyRangeSteps);\n localScaleCmpt.setWithExplicit('range', rangeWithExplicit);\n });\n}\nfunction getXYRangeStep(model) {\n var xyRangeSteps = [];\n var xScale = model.getScaleComponent('x');\n var xRange = xScale && xScale.get('range');\n if (xRange && isVgRangeStep(xRange) && isNumber(xRange.step)) {\n xyRangeSteps.push(xRange.step);\n }\n var yScale = model.getScaleComponent('y');\n var yRange = yScale && yScale.get('range');\n if (yRange && isVgRangeStep(yRange) && isNumber(yRange.step)) {\n xyRangeSteps.push(yRange.step);\n }\n return xyRangeSteps;\n}\n/**\n * Return mixins that includes one of the range properties (range, rangeStep, scheme).\n */\nexport function parseRangeForChannel(channel, scaleType, type, specifiedScale, config, zero, mark, sizeSpecified, sizeSignal, xyRangeSteps) {\n var noRangeStep = sizeSpecified || specifiedScale.rangeStep === null;\n // Check if any of the range properties is specified.\n // If so, check if it is compatible and make sure that we only output one of the properties\n for (var _i = 0, RANGE_PROPERTIES_1 = RANGE_PROPERTIES; _i < RANGE_PROPERTIES_1.length; _i++) {\n var property = RANGE_PROPERTIES_1[_i];\n if (specifiedScale[property] !== undefined) {\n var supportedByScaleType = scaleTypeSupportProperty(scaleType, property);\n var channelIncompatability = channelScalePropertyIncompatability(channel, property);\n if (!supportedByScaleType) {\n log.warn(log.message.scalePropertyNotWorkWithScaleType(scaleType, property, channel));\n }\n else if (channelIncompatability) { // channel\n log.warn(channelIncompatability);\n }\n else {\n switch (property) {\n case 'range':\n return makeExplicit(specifiedScale[property]);\n case 'scheme':\n return makeExplicit(parseScheme(specifiedScale[property]));\n case 'rangeStep':\n var rangeStep = specifiedScale[property];\n if (rangeStep !== null) {\n if (!sizeSpecified) {\n return makeExplicit({ step: rangeStep });\n }\n else {\n // If top-level size is specified, we ignore specified rangeStep.\n log.warn(log.message.rangeStepDropped(channel));\n }\n }\n }\n }\n }\n }\n return makeImplicit(defaultRange(channel, scaleType, type, config, zero, mark, sizeSignal, xyRangeSteps, noRangeStep));\n}\nfunction parseScheme(scheme) {\n if (isExtendedScheme(scheme)) {\n var r = { scheme: scheme.name };\n if (scheme.count) {\n r.count = scheme.count;\n }\n if (scheme.extent) {\n r.extent = scheme.extent;\n }\n return r;\n }\n return { scheme: scheme };\n}\nexport function defaultRange(channel, scaleType, type, config, zero, mark, sizeSignal, xyRangeSteps, noRangeStep) {\n switch (channel) {\n case X:\n case Y:\n if (util.contains(['point', 'band'], scaleType) && !noRangeStep) {\n if (channel === X && mark === 'text') {\n if (config.scale.textXRangeStep) {\n return { step: config.scale.textXRangeStep };\n }\n }\n else {\n if (config.scale.rangeStep) {\n return { step: config.scale.rangeStep };\n }\n }\n }\n // If range step is null, use zero to width or height.\n // Note that these range signals are temporary\n // as they can be merged and renamed.\n // (We do not have the right size signal here since parseLayoutSize() happens after parseScale().)\n // We will later replace these temporary names with\n // the final name in assembleScaleRange()\n if (channel === Y && hasContinuousDomain(scaleType)) {\n // For y continuous scale, we have to start from the height as the bottom part has the max value.\n return [{ signal: sizeSignal }, 0];\n }\n else {\n return [0, { signal: sizeSignal }];\n }\n case SIZE:\n // TODO: support custom rangeMin, rangeMax\n var rangeMin = sizeRangeMin(mark, zero, config);\n var rangeMax = sizeRangeMax(mark, xyRangeSteps, config);\n return [rangeMin, rangeMax];\n case SHAPE:\n return 'symbol';\n case COLOR:\n case FILL:\n case STROKE:\n if (scaleType === 'ordinal') {\n // Only nominal data uses ordinal scale by default\n return type === 'nominal' ? 'category' : 'ordinal';\n }\n return mark === 'rect' || mark === 'geoshape' ? 'heatmap' : 'ramp';\n case OPACITY:\n // TODO: support custom rangeMin, rangeMax\n return [config.scale.minOpacity, config.scale.maxOpacity];\n }\n /* istanbul ignore next: should never reach here */\n throw new Error(\"Scale range undefined for channel \" + channel);\n}\nfunction sizeRangeMin(mark, zero, config) {\n if (zero) {\n return 0;\n }\n switch (mark) {\n case 'bar':\n case 'tick':\n return config.scale.minBandSize;\n case 'line':\n case 'trail':\n case 'rule':\n return config.scale.minStrokeWidth;\n case 'text':\n return config.scale.minFontSize;\n case 'point':\n case 'square':\n case 'circle':\n return config.scale.minSize;\n }\n /* istanbul ignore next: should never reach here */\n // sizeRangeMin not implemented for the mark\n throw new Error(log.message.incompatibleChannel('size', mark));\n}\nfunction sizeRangeMax(mark, xyRangeSteps, config) {\n var scaleConfig = config.scale;\n switch (mark) {\n case 'bar':\n case 'tick':\n if (config.scale.maxBandSize !== undefined) {\n return config.scale.maxBandSize;\n }\n return minXYRangeStep(xyRangeSteps, config.scale) - 1;\n case 'line':\n case 'trail':\n case 'rule':\n return config.scale.maxStrokeWidth;\n case 'text':\n return config.scale.maxFontSize;\n case 'point':\n case 'square':\n case 'circle':\n if (config.scale.maxSize) {\n return config.scale.maxSize;\n }\n // FIXME this case totally should be refactored\n var pointStep = minXYRangeStep(xyRangeSteps, scaleConfig);\n return (pointStep - 2) * (pointStep - 2);\n }\n /* istanbul ignore next: should never reach here */\n // sizeRangeMax not implemented for the mark\n throw new Error(log.message.incompatibleChannel('size', mark));\n}\n/**\n * @returns {number} Range step of x or y or minimum between the two if both are ordinal scale.\n */\nfunction minXYRangeStep(xyRangeSteps, scaleConfig) {\n if (xyRangeSteps.length > 0) {\n return Math.min.apply(null, xyRangeSteps);\n }\n if (scaleConfig.rangeStep) {\n return scaleConfig.rangeStep;\n }\n return 21; // FIXME: re-evaluate the default value here.\n}\n//# sourceMappingURL=range.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/scale/range.js\n// module id = 382\n// module chunks = 0","import { stringValue } from 'vega-util';\nimport { accessPathWithDatum } from '../../util';\nimport { TUPLE, unitName } from './selection';\nimport nearest from './transforms/nearest';\nexport function signals(model, selCmpt) {\n var proj = selCmpt.project;\n var datum = nearest.has(selCmpt) ?\n '(item().isVoronoi ? datum.datum : datum)' : 'datum';\n var bins = [];\n var encodings = proj.map(function (p) { return stringValue(p.channel); }).filter(function (e) { return e; }).join(', ');\n var fields = proj.map(function (p) { return stringValue(p.field); }).join(', ');\n var values = proj.map(function (p) {\n var channel = p.channel;\n var fieldDef = model.fieldDef(channel);\n // Binned fields should capture extents, for a range test against the raw field.\n return (fieldDef && fieldDef.bin) ? (bins.push(p.field),\n \"[\" + accessPathWithDatum(model.vgField(channel, {}), datum) + \", \" +\n (accessPathWithDatum(model.vgField(channel, { binSuffix: 'end' }), datum) + \"]\")) :\n \"\" + accessPathWithDatum(p.field, datum);\n }).join(', ');\n // Only add a discrete selection to the store if a datum is present _and_\n // the interaction isn't occurring on a group mark. This guards against\n // polluting interactive state with invalid values in faceted displays\n // as the group marks are also data-driven. We force the update to account\n // for constant null states but varying toggles (e.g., shift-click in\n // whitespace followed by a click in whitespace; the store should only\n // be cleared on the second click).\n return [{\n name: selCmpt.name + TUPLE,\n value: {},\n on: [{\n events: selCmpt.events,\n update: \"datum && item().mark.marktype !== 'group' ? \" +\n (\"{unit: \" + unitName(model) + \", encodings: [\" + encodings + \"], \") +\n (\"fields: [\" + fields + \"], values: [\" + values + \"]\") +\n (bins.length ? ', ' + bins.map(function (b) { return stringValue('bin_' + b) + \": 1\"; }).join(', ') : '') +\n '} : null',\n force: true\n }]\n }];\n}\nvar multi = {\n predicate: 'vlMulti',\n scaleDomain: 'vlMultiDomain',\n signals: signals,\n modifyExpr: function (model, selCmpt) {\n var tpl = selCmpt.name + TUPLE;\n return tpl + ', ' +\n (selCmpt.resolve === 'global' ? 'null' : \"{unit: \" + unitName(model) + \"}\");\n }\n};\nexport default multi;\n//# sourceMappingURL=multi.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/selection/multi.js\n// module id = 383\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { isString } from 'vega-util';\nimport { binToString } from '../../bin';\nimport { normalizeBin, vgField } from '../../fielddef';\nimport { duplicate, flatten, keys, vals } from '../../util';\nimport { binFormatExpression, binRequiresRange } from '../common';\nimport { isUnitModel } from '../model';\nimport { DataFlowNode } from './dataflow';\nfunction rangeFormula(model, fieldDef, channel, config) {\n if (binRequiresRange(fieldDef, channel)) {\n // read format from axis or legend, if there is no format then use config.numberFormat\n var guide = isUnitModel(model) ? (model.axis(channel) || model.legend(channel) || {}) : {};\n var startField = vgField(fieldDef, { expr: 'datum', });\n var endField = vgField(fieldDef, { expr: 'datum', binSuffix: 'end' });\n return {\n formulaAs: vgField(fieldDef, { binSuffix: 'range' }),\n formula: binFormatExpression(startField, endField, guide.format, config)\n };\n }\n return {};\n}\nfunction binKey(bin, field) {\n return binToString(bin) + \"_\" + field;\n}\nfunction getSignalsFromModel(model, key) {\n return {\n signal: model.getName(key + \"_bins\"),\n extentSignal: model.getName(key + \"_extent\")\n };\n}\nfunction isBinTransform(t) {\n return 'as' in t;\n}\nfunction createBinComponent(t, model) {\n var as;\n if (isBinTransform(t)) {\n as = isString(t.as) ? [t.as, t.as + \"_end\"] : [t.as[0], t.as[1]];\n }\n else {\n as = [vgField(t, {}), vgField(t, { binSuffix: 'end' })];\n }\n var bin = normalizeBin(t.bin, undefined) || {};\n var key = binKey(bin, t.field);\n var _a = getSignalsFromModel(model, key), signal = _a.signal, extentSignal = _a.extentSignal;\n var binComponent = tslib_1.__assign({ bin: bin, field: t.field, as: as }, signal ? { signal: signal } : {}, extentSignal ? { extentSignal: extentSignal } : {});\n return { key: key, binComponent: binComponent };\n}\nvar BinNode = /** @class */ (function (_super) {\n tslib_1.__extends(BinNode, _super);\n function BinNode(parent, bins) {\n var _this = _super.call(this, parent) || this;\n _this.bins = bins;\n return _this;\n }\n BinNode.prototype.clone = function () {\n return new BinNode(null, duplicate(this.bins));\n };\n BinNode.makeFromEncoding = function (parent, model) {\n var bins = model.reduceFieldDef(function (binComponentIndex, fieldDef, channel) {\n if (fieldDef.bin) {\n var _a = createBinComponent(fieldDef, model), key = _a.key, binComponent = _a.binComponent;\n binComponentIndex[key] = tslib_1.__assign({}, binComponent, binComponentIndex[key], rangeFormula(model, fieldDef, channel, model.config));\n }\n return binComponentIndex;\n }, {});\n if (keys(bins).length === 0) {\n return null;\n }\n return new BinNode(parent, bins);\n };\n /**\n * Creates a bin node from BinTransform.\n * The optional parameter should provide\n */\n BinNode.makeFromTransform = function (parent, t, model) {\n var _a;\n var _b = createBinComponent(t, model), key = _b.key, binComponent = _b.binComponent;\n return new BinNode(parent, (_a = {},\n _a[key] = binComponent,\n _a));\n };\n BinNode.prototype.merge = function (other) {\n this.bins = tslib_1.__assign({}, this.bins, other.bins);\n other.remove();\n };\n BinNode.prototype.producedFields = function () {\n var out = {};\n vals(this.bins).forEach(function (c) {\n c.as.forEach(function (f) { return out[f] = true; });\n });\n return out;\n };\n BinNode.prototype.dependentFields = function () {\n var out = {};\n vals(this.bins).forEach(function (c) {\n out[c.field] = true;\n });\n return out;\n };\n BinNode.prototype.assemble = function () {\n return flatten(vals(this.bins).map(function (bin) {\n var transform = [];\n var binTrans = tslib_1.__assign({ type: 'bin', field: bin.field, as: bin.as, signal: bin.signal }, bin.bin);\n if (!bin.bin.extent && bin.extentSignal) {\n transform.push({\n type: 'extent',\n field: bin.field,\n signal: bin.extentSignal\n });\n binTrans.extent = { signal: bin.extentSignal };\n }\n transform.push(binTrans);\n if (bin.formula) {\n transform.push({\n type: 'formula',\n expr: bin.formula,\n as: bin.formulaAs\n });\n }\n return transform;\n }));\n };\n return BinNode;\n}(DataFlowNode));\nexport { BinNode };\n//# sourceMappingURL=bin.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/data/bin.js\n// module id = 384\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { expression } from '../../predicate';\nimport { duplicate } from '../../util';\nimport { DataFlowNode } from './dataflow';\nvar FilterNode = /** @class */ (function (_super) {\n tslib_1.__extends(FilterNode, _super);\n function FilterNode(parent, model, filter) {\n var _this = _super.call(this, parent) || this;\n _this.model = model;\n _this.filter = filter;\n _this.expr = expression(_this.model, _this.filter, _this);\n return _this;\n }\n FilterNode.prototype.clone = function () {\n return new FilterNode(null, this.model, duplicate(this.filter));\n };\n FilterNode.prototype.assemble = function () {\n return {\n type: 'filter',\n expr: this.expr\n };\n };\n return FilterNode;\n}(DataFlowNode));\nexport { FilterNode };\n//# sourceMappingURL=filter.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/data/filter.js\n// module id = 385\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { LATITUDE, LATITUDE2, LONGITUDE, LONGITUDE2, SHAPE } from '../../channel';\nimport { GEOJSON } from '../../type';\nimport { duplicate } from '../../util';\nimport { DataFlowNode } from './dataflow';\nvar GeoJSONNode = /** @class */ (function (_super) {\n tslib_1.__extends(GeoJSONNode, _super);\n function GeoJSONNode(parent, fields, geojson, signal) {\n var _this = _super.call(this, parent) || this;\n _this.fields = fields;\n _this.geojson = geojson;\n _this.signal = signal;\n return _this;\n }\n GeoJSONNode.prototype.clone = function () {\n return new GeoJSONNode(null, duplicate(this.fields), this.geojson, this.signal);\n };\n GeoJSONNode.parseAll = function (parent, model) {\n var geoJsonCounter = 0;\n [[LONGITUDE, LATITUDE], [LONGITUDE2, LATITUDE2]].forEach(function (coordinates) {\n var pair = coordinates.map(function (channel) { return model.channelHasField(channel) ? model.fieldDef(channel).field : undefined; });\n if (pair[0] || pair[1]) {\n parent = new GeoJSONNode(parent, pair, null, model.getName(\"geojson_\" + geoJsonCounter++));\n }\n });\n if (model.channelHasField(SHAPE)) {\n var fieldDef = model.fieldDef(SHAPE);\n if (fieldDef.type === GEOJSON) {\n parent = new GeoJSONNode(parent, null, fieldDef.field, model.getName(\"geojson_\" + geoJsonCounter++));\n }\n }\n return parent;\n };\n GeoJSONNode.prototype.assemble = function () {\n return tslib_1.__assign({ type: 'geojson' }, (this.fields ? { fields: this.fields } : {}), (this.geojson ? { geojson: this.geojson } : {}), { signal: this.signal });\n };\n return GeoJSONNode;\n}(DataFlowNode));\nexport { GeoJSONNode };\n//# sourceMappingURL=geojson.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/data/geojson.js\n// module id = 386\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { LATITUDE, LATITUDE2, LONGITUDE, LONGITUDE2 } from '../../channel';\nimport { duplicate } from '../../util';\nimport { DataFlowNode } from './dataflow';\nvar GeoPointNode = /** @class */ (function (_super) {\n tslib_1.__extends(GeoPointNode, _super);\n function GeoPointNode(parent, projection, fields, as) {\n var _this = _super.call(this, parent) || this;\n _this.projection = projection;\n _this.fields = fields;\n _this.as = as;\n return _this;\n }\n GeoPointNode.prototype.clone = function () {\n return new GeoPointNode(null, this.projection, duplicate(this.fields), duplicate(this.as));\n };\n GeoPointNode.parseAll = function (parent, model) {\n if (!model.projectionName()) {\n return parent;\n }\n [[LONGITUDE, LATITUDE], [LONGITUDE2, LATITUDE2]].forEach(function (coordinates) {\n var pair = coordinates.map(function (channel) { return model.channelHasField(channel) ? model.fieldDef(channel).field : undefined; });\n var suffix = coordinates[0] === LONGITUDE2 ? '2' : '';\n if (pair[0] || pair[1]) {\n parent = new GeoPointNode(parent, model.projectionName(), pair, [model.getName('x' + suffix), model.getName('y' + suffix)]);\n }\n });\n return parent;\n };\n GeoPointNode.prototype.assemble = function () {\n return {\n type: 'geopoint',\n projection: this.projection,\n fields: this.fields,\n as: this.as\n };\n };\n return GeoPointNode;\n}(DataFlowNode));\nexport { GeoPointNode };\n//# sourceMappingURL=geopoint.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/data/geopoint.js\n// module id = 387\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { SELECTION_ID } from '../../selection';\nimport { DataFlowNode } from './dataflow';\nvar IdentifierNode = /** @class */ (function (_super) {\n tslib_1.__extends(IdentifierNode, _super);\n function IdentifierNode(parent) {\n return _super.call(this, parent) || this;\n }\n IdentifierNode.prototype.clone = function () {\n return new IdentifierNode(null);\n };\n IdentifierNode.prototype.producedFields = function () {\n var _a;\n return _a = {}, _a[SELECTION_ID] = true, _a;\n };\n IdentifierNode.prototype.assemble = function () {\n return { type: 'identifier', as: SELECTION_ID };\n };\n return IdentifierNode;\n}(DataFlowNode));\nexport { IdentifierNode };\n//# sourceMappingURL=identifier.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/data/identifier.js\n// module id = 388\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { isString, toSet } from 'vega-util';\nimport * as log from '../../log';\nimport { DataFlowNode, OutputNode } from './dataflow';\nimport { SourceNode } from './source';\nvar LookupNode = /** @class */ (function (_super) {\n tslib_1.__extends(LookupNode, _super);\n function LookupNode(parent, transform, secondary) {\n var _this = _super.call(this, parent) || this;\n _this.transform = transform;\n _this.secondary = secondary;\n return _this;\n }\n LookupNode.make = function (parent, model, transform, counter) {\n var sources = model.component.data.sources;\n var s = new SourceNode(transform.from.data);\n var fromSource = sources[s.hash()];\n if (!fromSource) {\n sources[s.hash()] = s;\n fromSource = s;\n }\n var fromOutputName = model.getName(\"lookup_\" + counter);\n var fromOutputNode = new OutputNode(fromSource, fromOutputName, 'lookup', model.component.data.outputNodeRefCounts);\n model.component.data.outputNodes[fromOutputName] = fromOutputNode;\n return new LookupNode(parent, transform, fromOutputNode.getSource());\n };\n LookupNode.prototype.producedFields = function () {\n return toSet(this.transform.from.fields || ((this.transform.as instanceof Array) ? this.transform.as : [this.transform.as]));\n };\n LookupNode.prototype.assemble = function () {\n var foreign;\n if (this.transform.from.fields) {\n // lookup a few fields and add create a flat output\n foreign = tslib_1.__assign({ values: this.transform.from.fields }, this.transform.as ? { as: ((this.transform.as instanceof Array) ? this.transform.as : [this.transform.as]) } : {});\n }\n else {\n // lookup full record and nest it\n var asName = this.transform.as;\n if (!isString(asName)) {\n log.warn(log.message.NO_FIELDS_NEEDS_AS);\n asName = '_lookup';\n }\n foreign = {\n as: [asName]\n };\n }\n return tslib_1.__assign({ type: 'lookup', from: this.secondary, key: this.transform.from.key, fields: [this.transform.lookup] }, foreign, (this.transform.default ? { default: this.transform.default } : {}));\n };\n return LookupNode;\n}(DataFlowNode));\nexport { LookupNode };\n//# sourceMappingURL=lookup.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/data/lookup.js\n// module id = 389\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { vgField } from '../../fielddef';\nimport { isSortField } from '../../sort';\nimport { duplicate } from '../../util';\nimport { facetSortFieldName } from '../facet';\nimport { DataFlowNode } from './dataflow';\n/**\n * A class for the window transform nodes\n */\nvar WindowTransformNode = /** @class */ (function (_super) {\n tslib_1.__extends(WindowTransformNode, _super);\n function WindowTransformNode(parent, transform) {\n var _this = _super.call(this, parent) || this;\n _this.transform = transform;\n return _this;\n }\n WindowTransformNode.makeFromFacet = function (parent, facet) {\n var row = facet.row, column = facet.column;\n if (row && column) {\n var newParent = null;\n // only need to make one for crossed facet\n for (var _i = 0, _a = [row, column]; _i < _a.length; _i++) {\n var fieldDef = _a[_i];\n if (isSortField(fieldDef.sort)) {\n var _b = fieldDef.sort, field = _b.field, op = _b.op;\n parent = newParent = new WindowTransformNode(parent, {\n window: [{\n op: op,\n field: field,\n as: facetSortFieldName(fieldDef, fieldDef.sort)\n }],\n groupby: [vgField(fieldDef)],\n frame: [null, null]\n });\n }\n }\n return newParent;\n }\n return null;\n };\n WindowTransformNode.prototype.clone = function () {\n return new WindowTransformNode(this.parent, duplicate(this.transform));\n };\n WindowTransformNode.prototype.producedFields = function () {\n var _this = this;\n var out = {};\n this.transform.window.forEach(function (windowFieldDef) {\n out[_this.getDefaultName(windowFieldDef)] = true;\n });\n return out;\n };\n WindowTransformNode.prototype.getDefaultName = function (windowFieldDef) {\n return windowFieldDef.as || vgField(windowFieldDef);\n };\n WindowTransformNode.prototype.assemble = function () {\n var fields = [];\n var ops = [];\n var as = [];\n var params = [];\n for (var _i = 0, _a = this.transform.window; _i < _a.length; _i++) {\n var window_1 = _a[_i];\n ops.push(window_1.op);\n as.push(this.getDefaultName(window_1));\n params.push(window_1.param === undefined ? null : window_1.param);\n fields.push(window_1.field === undefined ? null : window_1.field);\n }\n var frame = this.transform.frame;\n var groupby = this.transform.groupby;\n var sortFields = [];\n var sortOrder = [];\n if (this.transform.sort !== undefined) {\n for (var _b = 0, _c = this.transform.sort; _b < _c.length; _b++) {\n var sortField = _c[_b];\n sortFields.push(sortField.field);\n sortOrder.push(sortField.order || 'ascending');\n }\n }\n var sort = {\n field: sortFields,\n order: sortOrder,\n };\n var ignorePeers = this.transform.ignorePeers;\n var result = {\n type: 'window',\n params: params,\n as: as,\n ops: ops,\n fields: fields,\n sort: sort,\n };\n if (ignorePeers !== undefined) {\n result.ignorePeers = ignorePeers;\n }\n if (groupby !== undefined) {\n result.groupby = groupby;\n }\n if (frame !== undefined) {\n result.frame = frame;\n }\n return result;\n };\n return WindowTransformNode;\n}(DataFlowNode));\nexport { WindowTransformNode };\n//# sourceMappingURL=window.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/data/window.js\n// module id = 390\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { isArray } from 'vega-util';\nimport { COLUMN, ROW } from '../channel';\nimport { reduce } from '../encoding';\nimport { normalize, title as fieldDefTitle, vgField } from '../fielddef';\nimport * as log from '../log';\nimport { hasDiscreteDomain } from '../scale';\nimport { isSortField } from '../sort';\nimport { contains } from '../util';\nimport { isVgRangeStep } from '../vega.schema';\nimport { assembleAxis } from './axis/assemble';\nimport { buildModel } from './buildmodel';\nimport { assembleFacetData } from './data/assemble';\nimport { sortArrayIndexField } from './data/calculate';\nimport { parseData } from './data/parse';\nimport { getHeaderType } from './header/index';\nimport { parseChildrenLayoutSize } from './layoutsize/parse';\nimport { ModelWithField } from './model';\nimport { replaceRepeaterInFacet } from './repeater';\nimport { parseGuideResolve } from './resolve';\nimport { assembleDomain, getFieldFromDomain } from './scale/domain';\nexport function facetSortFieldName(fieldDef, sort, expr) {\n return vgField(sort, { expr: expr, suffix: \"by_\" + vgField(fieldDef) });\n}\nvar FacetModel = /** @class */ (function (_super) {\n tslib_1.__extends(FacetModel, _super);\n function FacetModel(spec, parent, parentGivenName, repeater, config) {\n var _this = _super.call(this, spec, parent, parentGivenName, config, repeater, spec.resolve) || this;\n _this.type = 'facet';\n _this.child = buildModel(spec.spec, _this, _this.getName('child'), undefined, repeater, config, false);\n _this.children = [_this.child];\n var facet = replaceRepeaterInFacet(spec.facet, repeater);\n _this.facet = _this.initFacet(facet);\n return _this;\n }\n FacetModel.prototype.initFacet = function (facet) {\n // clone to prevent side effect to the original spec\n return reduce(facet, function (normalizedFacet, fieldDef, channel) {\n if (!contains([ROW, COLUMN], channel)) {\n // Drop unsupported channel\n log.warn(log.message.incompatibleChannel(channel, 'facet'));\n return normalizedFacet;\n }\n if (fieldDef.field === undefined) {\n log.warn(log.message.emptyFieldDef(fieldDef, channel));\n return normalizedFacet;\n }\n // Convert type to full, lowercase type, or augment the fieldDef with a default type if missing.\n normalizedFacet[channel] = normalize(fieldDef, channel);\n return normalizedFacet;\n }, {});\n };\n FacetModel.prototype.channelHasField = function (channel) {\n return !!this.facet[channel];\n };\n FacetModel.prototype.fieldDef = function (channel) {\n return this.facet[channel];\n };\n FacetModel.prototype.parseData = function () {\n this.component.data = parseData(this);\n this.child.parseData();\n };\n FacetModel.prototype.parseLayoutSize = function () {\n parseChildrenLayoutSize(this);\n };\n FacetModel.prototype.parseSelection = function () {\n // As a facet has a single child, the selection components are the same.\n // The child maintains its selections to assemble signals, which remain\n // within its unit.\n this.child.parseSelection();\n this.component.selection = this.child.component.selection;\n };\n FacetModel.prototype.parseMarkGroup = function () {\n this.child.parseMarkGroup();\n };\n FacetModel.prototype.parseAxisAndHeader = function () {\n this.child.parseAxisAndHeader();\n this.parseHeader('column');\n this.parseHeader('row');\n this.mergeChildAxis('x');\n this.mergeChildAxis('y');\n };\n FacetModel.prototype.parseHeader = function (channel) {\n if (this.channelHasField(channel)) {\n var fieldDef = this.facet[channel];\n var header = fieldDef.header || {};\n var title = fieldDef.title !== undefined ? fieldDef.title :\n header.title !== undefined ? header.title : fieldDefTitle(fieldDef, this.config);\n if (this.child.component.layoutHeaders[channel].title) {\n // merge title with child to produce \"Title / Subtitle / Sub-subtitle\"\n title += ' / ' + this.child.component.layoutHeaders[channel].title;\n this.child.component.layoutHeaders[channel].title = null;\n }\n this.component.layoutHeaders[channel] = {\n title: title,\n facetFieldDef: fieldDef,\n // TODO: support adding label to footer as well\n header: [this.makeHeaderComponent(channel, true)]\n };\n }\n };\n FacetModel.prototype.makeHeaderComponent = function (channel, labels) {\n var sizeType = channel === 'row' ? 'height' : 'width';\n return {\n labels: labels,\n sizeSignal: this.child.component.layoutSize.get(sizeType) ? this.child.getSizeSignalRef(sizeType) : undefined,\n axes: []\n };\n };\n FacetModel.prototype.mergeChildAxis = function (channel) {\n var child = this.child;\n if (child.component.axes[channel]) {\n var _a = this.component, layoutHeaders = _a.layoutHeaders, resolve = _a.resolve;\n resolve.axis[channel] = parseGuideResolve(resolve, channel);\n if (resolve.axis[channel] === 'shared') {\n // For shared axis, move the axes to facet's header or footer\n var headerChannel = channel === 'x' ? 'column' : 'row';\n var layoutHeader = layoutHeaders[headerChannel];\n for (var _i = 0, _b = child.component.axes[channel]; _i < _b.length; _i++) {\n var axisComponent = _b[_i];\n var headerType = getHeaderType(axisComponent.get('orient'));\n layoutHeader[headerType] = layoutHeader[headerType] ||\n [this.makeHeaderComponent(headerChannel, false)];\n var mainAxis = assembleAxis(axisComponent, 'main', this.config, { header: true });\n // LayoutHeader no longer keep track of property precedence, thus let's combine.\n layoutHeader[headerType][0].axes.push(mainAxis);\n axisComponent.mainExtracted = true;\n }\n }\n else {\n // Otherwise do nothing for independent axes\n }\n }\n };\n FacetModel.prototype.assembleSelectionTopLevelSignals = function (signals) {\n return this.child.assembleSelectionTopLevelSignals(signals);\n };\n FacetModel.prototype.assembleSelectionSignals = function () {\n this.child.assembleSelectionSignals();\n return [];\n };\n FacetModel.prototype.assembleSelectionData = function (data) {\n return this.child.assembleSelectionData(data);\n };\n FacetModel.prototype.getHeaderLayoutMixins = function () {\n var _this = this;\n var layoutMixins = {};\n ['row', 'column'].forEach(function (channel) {\n ['header', 'footer'].forEach(function (headerType) {\n var layoutHeaderComponent = _this.component.layoutHeaders[channel];\n var headerComponent = layoutHeaderComponent[headerType];\n if (headerComponent && headerComponent[0]) {\n // set header/footerBand\n var sizeType = channel === 'row' ? 'height' : 'width';\n var bandType = headerType === 'header' ? 'headerBand' : 'footerBand';\n if (!_this.child.component.layoutSize.get(sizeType)) {\n // If facet child does not have size signal, then apply headerBand\n layoutMixins[bandType] = layoutMixins[bandType] || {};\n layoutMixins[bandType][channel] = 0.5;\n }\n if (layoutHeaderComponent.title) {\n layoutMixins.offset = layoutMixins.offset || {};\n layoutMixins.offset[channel === 'row' ? 'rowTitle' : 'columnTitle'] = 10;\n }\n }\n });\n });\n return layoutMixins;\n };\n FacetModel.prototype.assembleDefaultLayout = function () {\n var columns = this.channelHasField('column') ? this.columnDistinctSignal() : 1;\n // TODO: determine default align based on shared / independent scales\n return tslib_1.__assign({}, this.getHeaderLayoutMixins(), { columns: columns, bounds: 'full', align: 'all' });\n };\n FacetModel.prototype.assembleLayoutSignals = function () {\n // FIXME(https://github.com/vega/vega-lite/issues/1193): this can be incorrect if we have independent scales.\n return this.child.assembleLayoutSignals();\n };\n FacetModel.prototype.columnDistinctSignal = function () {\n if (this.parent && (this.parent instanceof FacetModel)) {\n // For nested facet, we will add columns to group mark instead\n // See discussion in https://github.com/vega/vega/issues/952\n // and https://github.com/vega/vega-view/releases/tag/v1.2.6\n return undefined;\n }\n else {\n // In facetNode.assemble(), the name is always this.getName('column') + '_layout'.\n var facetLayoutDataName = this.getName('column_domain');\n return { signal: \"length(data('\" + facetLayoutDataName + \"'))\" };\n }\n };\n FacetModel.prototype.assembleGroup = function (signals) {\n if (this.parent && (this.parent instanceof FacetModel)) {\n // Provide number of columns for layout.\n // See discussion in https://github.com/vega/vega/issues/952\n // and https://github.com/vega/vega-view/releases/tag/v1.2.6\n return tslib_1.__assign({}, (this.channelHasField('column') ? {\n encode: {\n update: {\n // TODO(https://github.com/vega/vega-lite/issues/2759):\n // Correct the signal for facet of concat of facet_column\n columns: { field: vgField(this.facet.column, { prefix: 'distinct' }) }\n }\n }\n } : {}), _super.prototype.assembleGroup.call(this, signals));\n }\n return _super.prototype.assembleGroup.call(this, signals);\n };\n /**\n * Aggregate cardinality for calculating size\n */\n FacetModel.prototype.getCardinalityAggregateForChild = function () {\n var fields = [];\n var ops = [];\n var as = [];\n if (this.child instanceof FacetModel) {\n if (this.child.channelHasField('column')) {\n var field = vgField(this.child.facet.column);\n fields.push(field);\n ops.push('distinct');\n as.push(\"distinct_\" + field);\n }\n }\n else {\n for (var _i = 0, _a = ['x', 'y']; _i < _a.length; _i++) {\n var channel = _a[_i];\n var childScaleComponent = this.child.component.scales[channel];\n if (childScaleComponent && !childScaleComponent.merged) {\n var type = childScaleComponent.get('type');\n var range = childScaleComponent.get('range');\n if (hasDiscreteDomain(type) && isVgRangeStep(range)) {\n var domain = assembleDomain(this.child, channel);\n var field = getFieldFromDomain(domain);\n if (field) {\n fields.push(field);\n ops.push('distinct');\n as.push(\"distinct_\" + field);\n }\n else {\n log.warn('Unknown field for ${channel}. Cannot calculate view size.');\n }\n }\n }\n }\n }\n return { fields: fields, ops: ops, as: as };\n };\n FacetModel.prototype.assembleFacet = function () {\n var _this = this;\n var _a = this.component.data.facetRoot, name = _a.name, data = _a.data;\n var _b = this.facet, row = _b.row, column = _b.column;\n var _c = this.getCardinalityAggregateForChild(), fields = _c.fields, ops = _c.ops, as = _c.as;\n var groupby = [];\n ['row', 'column'].forEach(function (channel) {\n var fieldDef = _this.facet[channel];\n if (fieldDef) {\n groupby.push(vgField(fieldDef));\n var sort = fieldDef.sort;\n if (isSortField(sort)) {\n var field = sort.field, op = sort.op;\n var outputName = facetSortFieldName(fieldDef, sort);\n if (row && column) {\n // For crossed facet, use pre-calculate field as it requires a different groupby\n // For each calculated field, apply max and assign them to the same name as\n // all values of the same group should be the same anyway.\n fields.push(outputName);\n ops.push('max');\n as.push(outputName);\n }\n else {\n fields.push(field);\n ops.push(op);\n as.push(outputName);\n }\n }\n else if (isArray(sort)) {\n var outputName = sortArrayIndexField(fieldDef, channel);\n fields.push(outputName);\n ops.push('max');\n as.push(outputName);\n }\n }\n });\n var cross = !!row && !!column;\n return tslib_1.__assign({ name: name,\n data: data,\n groupby: groupby }, (cross || fields.length ? {\n aggregate: tslib_1.__assign({}, (cross ? { cross: cross } : {}), (fields.length ? { fields: fields, ops: ops, as: as } : {}))\n } : {}));\n };\n FacetModel.prototype.headerSortFields = function (channel) {\n var facet = this.facet;\n var fieldDef = facet[channel];\n if (fieldDef) {\n if (isSortField(fieldDef.sort)) {\n return [facetSortFieldName(fieldDef, fieldDef.sort, 'datum')];\n }\n else if (isArray(fieldDef.sort)) {\n return [sortArrayIndexField(fieldDef, channel, 'datum')];\n }\n return [vgField(fieldDef, { expr: 'datum' })];\n }\n return [];\n };\n FacetModel.prototype.headerSortOrder = function (channel) {\n var facet = this.facet;\n var fieldDef = facet[channel];\n if (fieldDef) {\n var sort = fieldDef.sort;\n var order = (isSortField(sort) ? sort.order : !isArray(sort) && sort) || 'ascending';\n return [order];\n }\n return [];\n };\n FacetModel.prototype.assembleMarks = function () {\n var child = this.child;\n var facetRoot = this.component.data.facetRoot;\n var data = assembleFacetData(facetRoot);\n // If we facet by two dimensions, we need to add a cross operator to the aggregation\n // so that we create all groups\n var layoutSizeEncodeEntry = child.assembleLayoutSize();\n var title = child.assembleTitle();\n var style = child.assembleGroupStyle();\n var markGroup = tslib_1.__assign({ name: this.getName('cell'), type: 'group' }, (title ? { title: title } : {}), (style ? { style: style } : {}), { from: {\n facet: this.assembleFacet()\n }, \n // TODO: move this to after data\n sort: {\n field: this.headerSortFields('row').concat(this.headerSortFields('column')),\n order: this.headerSortOrder('row').concat(this.headerSortOrder('column'))\n } }, (data.length > 0 ? { data: data } : {}), (layoutSizeEncodeEntry ? { encode: { update: layoutSizeEncodeEntry } } : {}), child.assembleGroup());\n return [markGroup];\n };\n FacetModel.prototype.getMapping = function () {\n return this.facet;\n };\n return FacetModel;\n}(ModelWithField));\nexport { FacetModel };\n//# sourceMappingURL=facet.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/facet.js\n// module id = 391\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { isUrlData } from '../../data';\nimport { vals } from '../../util';\nimport { AggregateNode } from './aggregate';\nimport { BinNode } from './bin';\nimport { CalculateNode } from './calculate';\nimport { OutputNode } from './dataflow';\nimport { FacetNode } from './facet';\nimport { FilterNode } from './filter';\nimport { FilterInvalidNode } from './filterinvalid';\nimport { ParseNode } from './formatparse';\nimport { GeoJSONNode } from './geojson';\nimport { GeoPointNode } from './geopoint';\nimport { IdentifierNode } from './identifier';\nimport { LookupNode } from './lookup';\nimport { SourceNode } from './source';\nimport { StackNode } from './stack';\nimport { TimeUnitNode } from './timeunit';\nimport { WindowTransformNode } from './window';\n/**\n * Print debug information for dataflow tree.\n */\n// tslint:disable-next-line\nfunction debug(node) {\n console.log(\"\" + node.constructor.name + (node.debugName ? \" (\" + node.debugName + \")\" : '') + \" -> \" + (node.children.map(function (c) {\n return \"\" + c.constructor.name + (c.debugName ? \" (\" + c.debugName + \")\" : '');\n })));\n console.log(node);\n node.children.forEach(debug);\n}\nfunction makeWalkTree(data) {\n // to name datasources\n var datasetIndex = 0;\n /**\n * Recursively walk down the tree.\n */\n function walkTree(node, dataSource) {\n if (node instanceof SourceNode) {\n // If the source is a named data source or a data source with values, we need\n // to put it in a different data source. Otherwise, Vega may override the data.\n if (!isUrlData(node.data)) {\n data.push(dataSource);\n var newData = {\n name: null,\n source: dataSource.name,\n transform: []\n };\n dataSource = newData;\n }\n }\n if (node instanceof ParseNode) {\n if (node.parent instanceof SourceNode && !dataSource.source) {\n // If node's parent is a root source and the data source does not refer to another data source, use normal format parse\n dataSource.format = tslib_1.__assign({}, dataSource.format || {}, { parse: node.assembleFormatParse() });\n // add calculates for all nested fields\n dataSource.transform = dataSource.transform.concat(node.assembleTransforms(true));\n }\n else {\n // Otherwise use Vega expression to parse\n dataSource.transform = dataSource.transform.concat(node.assembleTransforms());\n }\n }\n if (node instanceof FacetNode) {\n if (!dataSource.name) {\n dataSource.name = \"data_\" + datasetIndex++;\n }\n if (!dataSource.source || dataSource.transform.length > 0) {\n data.push(dataSource);\n node.data = dataSource.name;\n }\n else {\n node.data = dataSource.source;\n }\n node.assemble().forEach(function (d) { return data.push(d); });\n // break here because the rest of the tree has to be taken care of by the facet.\n return;\n }\n if (node instanceof FilterNode ||\n node instanceof CalculateNode ||\n node instanceof GeoPointNode ||\n node instanceof GeoJSONNode ||\n node instanceof AggregateNode ||\n node instanceof LookupNode ||\n node instanceof WindowTransformNode ||\n node instanceof IdentifierNode) {\n dataSource.transform.push(node.assemble());\n }\n if (node instanceof FilterInvalidNode ||\n node instanceof BinNode ||\n node instanceof TimeUnitNode ||\n node instanceof StackNode) {\n dataSource.transform = dataSource.transform.concat(node.assemble());\n }\n if (node instanceof AggregateNode) {\n if (!dataSource.name) {\n dataSource.name = \"data_\" + datasetIndex++;\n }\n }\n if (node instanceof OutputNode) {\n if (dataSource.source && dataSource.transform.length === 0) {\n node.setSource(dataSource.source);\n }\n else if (node.parent instanceof OutputNode) {\n // Note that an output node may be required but we still do not assemble a\n // separate data source for it.\n node.setSource(dataSource.name);\n }\n else {\n if (!dataSource.name) {\n dataSource.name = \"data_\" + datasetIndex++;\n }\n // Here we set the name of the datasource we generated. From now on\n // other assemblers can use it.\n node.setSource(dataSource.name);\n // if this node has more than one child, we will add a datasource automatically\n if (node.numChildren() === 1) {\n data.push(dataSource);\n var newData = {\n name: null,\n source: dataSource.name,\n transform: []\n };\n dataSource = newData;\n }\n }\n }\n switch (node.numChildren()) {\n case 0:\n // done\n if (node instanceof OutputNode && (!dataSource.source || dataSource.transform.length > 0)) {\n // do not push empty datasources that are simply references\n data.push(dataSource);\n }\n break;\n case 1:\n walkTree(node.children[0], dataSource);\n break;\n default:\n if (!dataSource.name) {\n dataSource.name = \"data_\" + datasetIndex++;\n }\n var source_1 = dataSource.name;\n if (!dataSource.source || dataSource.transform.length > 0) {\n data.push(dataSource);\n }\n else {\n source_1 = dataSource.source;\n }\n node.children.forEach(function (child) {\n var newData = {\n name: null,\n source: source_1,\n transform: []\n };\n walkTree(child, newData);\n });\n break;\n }\n }\n return walkTree;\n}\n/**\n * Assemble data sources that are derived from faceted data.\n */\nexport function assembleFacetData(root) {\n var data = [];\n var walkTree = makeWalkTree(data);\n root.children.forEach(function (child) { return walkTree(child, {\n source: root.name,\n name: null,\n transform: []\n }); });\n return data;\n}\n/**\n * Create Vega Data array from a given compiled model and append all of them to the given array\n *\n * @param model\n * @param data array\n * @return modified data array\n */\nexport function assembleRootData(dataComponent, datasets) {\n var roots = vals(dataComponent.sources);\n var data = [];\n // roots.forEach(debug);\n var walkTree = makeWalkTree(data);\n var sourceIndex = 0;\n roots.forEach(function (root) {\n // assign a name if the source does not have a name yet\n if (!root.hasName()) {\n root.dataName = \"source_\" + sourceIndex++;\n }\n var newData = root.assemble();\n walkTree(root, newData);\n });\n // remove empty transform arrays for cleaner output\n data.forEach(function (d) {\n if (d.transform.length === 0) {\n delete d.transform;\n }\n });\n // move sources without transforms (the ones that are potentially used in lookups) to the beginning\n var whereTo = 0;\n for (var i = 0; i < data.length; i++) {\n var d = data[i];\n if ((d.transform || []).length === 0 && !d.source) {\n data.splice(whereTo++, 0, data.splice(i, 1)[0]);\n }\n }\n // now fix the from references in lookup transforms\n for (var _i = 0, data_1 = data; _i < data_1.length; _i++) {\n var d = data_1[_i];\n for (var _a = 0, _b = d.transform || []; _a < _b.length; _a++) {\n var t = _b[_a];\n if (t.type === 'lookup') {\n t.from = dataComponent.outputNodes[t.from].getSource();\n }\n }\n }\n // inline values for datasets that are in the datastore\n for (var _c = 0, data_2 = data; _c < data_2.length; _c++) {\n var d = data_2[_c];\n if (d.name in datasets) {\n d.values = datasets[d.name];\n }\n }\n return data;\n}\n//# sourceMappingURL=assemble.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/data/assemble.js\n// module id = 392\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { isArray } from 'vega-util';\nimport { hasConditionalFieldDef, isConditionalDef, isFieldDef, isRepeatRef } from '../fielddef';\nimport * as log from '../log';\nimport { isSortField } from '../sort';\nexport function replaceRepeaterInFacet(facet, repeater) {\n return replaceRepeater(facet, repeater);\n}\nexport function replaceRepeaterInEncoding(encoding, repeater) {\n return replaceRepeater(encoding, repeater);\n}\n/**\n * Replaces repeated value and returns if the repeated value is valid.\n */\nfunction replaceRepeat(o, repeater) {\n if (isRepeatRef(o.field)) {\n if (o.field.repeat in repeater) {\n // any needed to calm down ts compiler\n return tslib_1.__assign({}, o, { field: repeater[o.field.repeat] });\n }\n else {\n log.warn(log.message.noSuchRepeatedValue(o.field.repeat));\n return undefined;\n }\n }\n return o;\n}\n/**\n * Replace repeater values in a field def with the concrete field name.\n */\nfunction replaceRepeaterInFieldDef(fieldDef, repeater) {\n fieldDef = replaceRepeat(fieldDef, repeater);\n if (fieldDef === undefined) {\n // the field def should be ignored\n return undefined;\n }\n if (fieldDef.sort && isSortField(fieldDef.sort)) {\n var sort = replaceRepeat(fieldDef.sort, repeater);\n fieldDef = tslib_1.__assign({}, fieldDef, (sort ? { sort: sort } : {}));\n }\n return fieldDef;\n}\nfunction replaceRepeaterInChannelDef(channelDef, repeater) {\n if (isFieldDef(channelDef)) {\n var fd = replaceRepeaterInFieldDef(channelDef, repeater);\n if (fd) {\n return fd;\n }\n else if (isConditionalDef(channelDef)) {\n return { condition: channelDef.condition };\n }\n }\n else {\n if (hasConditionalFieldDef(channelDef)) {\n var fd = replaceRepeaterInFieldDef(channelDef.condition, repeater);\n if (fd) {\n return tslib_1.__assign({}, channelDef, { condition: fd });\n }\n else {\n var condition = channelDef.condition, channelDefWithoutCondition = tslib_1.__rest(channelDef, [\"condition\"]);\n return channelDefWithoutCondition;\n }\n }\n return channelDef;\n }\n return undefined;\n}\nfunction replaceRepeater(mapping, repeater) {\n var out = {};\n for (var channel in mapping) {\n if (mapping.hasOwnProperty(channel)) {\n var channelDef = mapping[channel];\n if (isArray(channelDef)) {\n // array cannot have condition\n out[channel] = channelDef.map(function (cd) { return replaceRepeaterInChannelDef(cd, repeater); })\n .filter(function (cd) { return cd; });\n }\n else {\n var cd = replaceRepeaterInChannelDef(channelDef, repeater);\n if (cd) {\n out[channel] = cd;\n }\n }\n }\n }\n return out;\n}\n//# sourceMappingURL=repeater.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/repeater.js\n// module id = 393\n// module chunks = 0","import { AXIS_PARTS, isAxisProperty, VG_AXIS_PROPERTIES } from '../../axis';\nimport { POSITION_SCALE_CHANNELS, X, Y } from '../../channel';\nimport { toFieldDefBase } from '../../fielddef';\nimport { keys } from '../../util';\nimport { getSpecifiedOrDefaultValue, guideEncodeEntry, mergeTitle, mergeTitleComponent, mergeTitleFieldDefs, numberFormat } from '../common';\nimport { parseGuideResolve } from '../resolve';\nimport { defaultTieBreaker, mergeValuesWithExplicit } from '../split';\nimport { AxisComponent } from './component';\nimport { getAxisConfig } from './config';\nimport * as encode from './encode';\nimport * as properties from './properties';\nexport function parseUnitAxis(model) {\n return POSITION_SCALE_CHANNELS.reduce(function (axis, channel) {\n if (model.component.scales[channel] && model.axis(channel)) {\n axis[channel] = [parseAxis(channel, model)];\n }\n return axis;\n }, {});\n}\nvar OPPOSITE_ORIENT = {\n bottom: 'top',\n top: 'bottom',\n left: 'right',\n right: 'left'\n};\nexport function parseLayerAxis(model) {\n var _a = model.component, axes = _a.axes, resolve = _a.resolve;\n var axisCount = { top: 0, bottom: 0, right: 0, left: 0 };\n for (var _i = 0, _b = model.children; _i < _b.length; _i++) {\n var child = _b[_i];\n child.parseAxisAndHeader();\n for (var _c = 0, _d = keys(child.component.axes); _c < _d.length; _c++) {\n var channel = _d[_c];\n resolve.axis[channel] = parseGuideResolve(model.component.resolve, channel);\n if (resolve.axis[channel] === 'shared') {\n // If the resolve says shared (and has not been overridden)\n // We will try to merge and see if there is a conflict\n axes[channel] = mergeAxisComponents(axes[channel], child.component.axes[channel]);\n if (!axes[channel]) {\n // If merge returns nothing, there is a conflict so we cannot make the axis shared.\n // Thus, mark axis as independent and remove the axis component.\n resolve.axis[channel] = 'independent';\n delete axes[channel];\n }\n }\n }\n }\n // Move axes to layer's axis component and merge shared axes\n for (var _e = 0, _f = [X, Y]; _e < _f.length; _e++) {\n var channel = _f[_e];\n for (var _g = 0, _h = model.children; _g < _h.length; _g++) {\n var child = _h[_g];\n if (!child.component.axes[channel]) {\n // skip if the child does not have a particular axis\n continue;\n }\n if (resolve.axis[channel] === 'independent') {\n // If axes are independent, concat the axisComponent array.\n axes[channel] = (axes[channel] || []).concat(child.component.axes[channel]);\n // Automatically adjust orient\n for (var _j = 0, _k = child.component.axes[channel]; _j < _k.length; _j++) {\n var axisComponent = _k[_j];\n var _l = axisComponent.getWithExplicit('orient'), orient = _l.value, explicit = _l.explicit;\n if (axisCount[orient] > 0 && !explicit) {\n // Change axis orient if the number do not match\n var oppositeOrient = OPPOSITE_ORIENT[orient];\n if (axisCount[orient] > axisCount[oppositeOrient]) {\n axisComponent.set('orient', oppositeOrient, false);\n }\n }\n axisCount[orient]++;\n // TODO(https://github.com/vega/vega-lite/issues/2634): automaticaly add extra offset?\n }\n }\n // After merging, make sure to remove axes from child\n delete child.component.axes[channel];\n }\n }\n}\nfunction mergeAxisComponents(mergedAxisCmpts, childAxisCmpts) {\n if (mergedAxisCmpts) {\n // FIXME: this is a bit wrong once we support multiple axes\n if (mergedAxisCmpts.length !== childAxisCmpts.length) {\n return undefined; // Cannot merge axis component with different number of axes.\n }\n var length_1 = mergedAxisCmpts.length;\n for (var i = 0; i < length_1; i++) {\n var merged = mergedAxisCmpts[i];\n var child = childAxisCmpts[i];\n if ((!!merged) !== (!!child)) {\n return undefined;\n }\n else if (merged && child) {\n var mergedOrient = merged.getWithExplicit('orient');\n var childOrient = child.getWithExplicit('orient');\n if (mergedOrient.explicit && childOrient.explicit && mergedOrient.value !== childOrient.value) {\n // TODO: throw warning if resolve is explicit (We don't have info about explicit/implicit resolve yet.)\n // Cannot merge due to inconsistent orient\n return undefined;\n }\n else {\n mergedAxisCmpts[i] = mergeAxisComponent(merged, child);\n }\n }\n }\n }\n else {\n // For first one, return a copy of the child\n return childAxisCmpts.map(function (axisComponent) { return axisComponent.clone(); });\n }\n return mergedAxisCmpts;\n}\nfunction mergeAxisComponent(merged, child) {\n var _loop_1 = function (prop) {\n var mergedValueWithExplicit = mergeValuesWithExplicit(merged.getWithExplicit(prop), child.getWithExplicit(prop), prop, 'axis', \n // Tie breaker function\n function (v1, v2) {\n switch (prop) {\n case 'title':\n return mergeTitleComponent(v1, v2);\n case 'gridScale':\n return {\n explicit: v1.explicit,\n value: v1.value || v2.value\n };\n }\n return defaultTieBreaker(v1, v2, prop, 'axis');\n });\n merged.setWithExplicit(prop, mergedValueWithExplicit);\n };\n for (var _i = 0, VG_AXIS_PROPERTIES_1 = VG_AXIS_PROPERTIES; _i < VG_AXIS_PROPERTIES_1.length; _i++) {\n var prop = VG_AXIS_PROPERTIES_1[_i];\n _loop_1(prop);\n }\n return merged;\n}\nfunction getFieldDefTitle(model, channel) {\n var channel2 = channel === 'x' ? 'x2' : 'y2';\n var fieldDef = model.fieldDef(channel);\n var fieldDef2 = model.fieldDef(channel2);\n var title1 = fieldDef ? fieldDef.title : undefined;\n var title2 = fieldDef2 ? fieldDef2.title : undefined;\n if (title1 && title2) {\n return mergeTitle(title1, title2);\n }\n else if (title1) {\n return title1;\n }\n else if (title2) {\n return title2;\n }\n else if (title1 !== undefined) { // falsy value to disable config\n return title1;\n }\n else if (title2 !== undefined) { // falsy value to disable config\n return title2;\n }\n return undefined;\n}\nfunction parseAxis(channel, model) {\n var axis = model.axis(channel);\n var axisComponent = new AxisComponent();\n // 1.2. Add properties\n VG_AXIS_PROPERTIES.forEach(function (property) {\n var value = getProperty(property, axis, channel, model);\n if (value !== undefined) {\n var explicit = \n // specified axis.values is already respected, but may get transformed.\n property === 'values' ? !!axis.values :\n // both VL axis.encoding and axis.labelAngle affect VG axis.encode\n property === 'encode' ? !!axis.encoding || !!axis.labelAngle :\n // title can be explicit if fieldDef.title is set\n property === 'title' && value === getFieldDefTitle(model, channel) ? true :\n // Otherwise, things are explicit if the returned value matches the specified property\n value === axis[property];\n var configValue = getAxisConfig(property, model.config, channel, axisComponent.get('orient'), model.getScaleComponent(channel).get('type'));\n // only set property if it is explicitly set or has no config value (otherwise we will accidentally override config)\n if (explicit || configValue === undefined) {\n // Do not apply implicit rule if there is a config value\n axisComponent.set(property, value, explicit);\n }\n else if (property === 'grid' && configValue) {\n // Grid is an exception because we need to set grid = true to generate another grid axis\n axisComponent.set(property, configValue, false);\n }\n }\n });\n // 2) Add guide encode definition groups\n var axisEncoding = axis.encoding || {};\n var axisEncode = AXIS_PARTS.reduce(function (e, part) {\n if (!axisComponent.hasAxisPart(part)) {\n // No need to create encode for a disabled part.\n return e;\n }\n var axisEncodingPart = guideEncodeEntry(axisEncoding[part] || {}, model);\n var value = part === 'labels' ?\n encode.labels(model, channel, axisEncodingPart, axisComponent.get('orient')) :\n axisEncodingPart;\n if (value !== undefined && keys(value).length > 0) {\n e[part] = { update: value };\n }\n return e;\n }, {});\n // FIXME: By having encode as one property, we won't have fine grained encode merging.\n if (keys(axisEncode).length > 0) {\n axisComponent.set('encode', axisEncode, !!axis.encoding || axis.labelAngle !== undefined);\n }\n return axisComponent;\n}\nfunction getProperty(property, specifiedAxis, channel, model) {\n var fieldDef = model.fieldDef(channel);\n switch (property) {\n case 'scale':\n return model.scaleName(channel);\n case 'gridScale':\n return properties.gridScale(model, channel);\n case 'format':\n // We don't include temporal field here as we apply format in encode block\n return numberFormat(fieldDef, specifiedAxis.format, model.config);\n case 'grid': {\n var scaleType = model.getScaleComponent(channel).get('type');\n return getSpecifiedOrDefaultValue(specifiedAxis.grid, properties.grid(scaleType, fieldDef));\n }\n case 'labelFlush':\n return properties.labelFlush(fieldDef, channel, specifiedAxis);\n case 'labelOverlap': {\n var scaleType = model.getScaleComponent(channel).get('type');\n return properties.labelOverlap(fieldDef, specifiedAxis, channel, scaleType);\n }\n case 'orient':\n return getSpecifiedOrDefaultValue(specifiedAxis.orient, properties.orient(channel));\n case 'tickCount': {\n var scaleType = model.getScaleComponent(channel).get('type');\n var sizeType = channel === 'x' ? 'width' : channel === 'y' ? 'height' : undefined;\n var size = sizeType ? model.getSizeSignalRef(sizeType)\n : undefined;\n return getSpecifiedOrDefaultValue(specifiedAxis.tickCount, properties.tickCount(channel, fieldDef, scaleType, size));\n }\n case 'title':\n var channel2 = channel === 'x' ? 'x2' : 'y2';\n var fieldDef2 = model.fieldDef(channel2);\n // Keep undefined so we use default if title is unspecified.\n // For other falsy value, keep them so we will hide the title.\n var fieldDefTitle = getFieldDefTitle(model, channel);\n var specifiedTitle = fieldDefTitle !== undefined ? fieldDefTitle :\n specifiedAxis.title === undefined ? undefined : specifiedAxis.title;\n return getSpecifiedOrDefaultValue(specifiedTitle, \n // If title not specified, store base parts of fieldDef (and fieldDef2 if exists)\n mergeTitleFieldDefs([toFieldDefBase(fieldDef)], fieldDef2 ? [toFieldDefBase(fieldDef2)] : []));\n case 'values':\n return properties.values(specifiedAxis, model, fieldDef, channel);\n }\n // Otherwise, return specified property.\n return isAxisProperty(property) ? specifiedAxis[property] : undefined;\n}\n//# sourceMappingURL=parse.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/axis/parse.js\n// module id = 394\n// module chunks = 0","export function getAxisConfig(property, config, channel, orient, scaleType) {\n if (orient === void 0) { orient = ''; }\n // configTypes to loop, starting from higher precedence\n var configTypes = (scaleType === 'band' ? ['axisBand'] : []).concat([\n channel === 'x' ? 'axisX' : 'axisY',\n 'axis' + orient.substr(0, 1).toUpperCase() + orient.substr(1),\n 'axis'\n ]);\n for (var _i = 0, configTypes_1 = configTypes; _i < configTypes_1.length; _i++) {\n var configType = configTypes_1[_i];\n if (config[configType] && config[configType][property] !== undefined) {\n return config[configType][property];\n }\n }\n return undefined;\n}\n//# sourceMappingURL=config.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/axis/config.js\n// module id = 395\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { GEOPOSITION_CHANNELS, NONPOSITION_SCALE_CHANNELS, SCALE_CHANNELS, X, Y } from '../channel';\nimport * as vlEncoding from '../encoding';\nimport { normalizeEncoding } from '../encoding';\nimport { getFieldDef, hasConditionalFieldDef, isFieldDef } from '../fielddef';\nimport { GEOSHAPE, isMarkDef } from '../mark';\nimport { stack } from '../stack';\nimport { duplicate } from '../util';\nimport { parseUnitAxis } from './axis/parse';\nimport { parseData } from './data/parse';\nimport { assembleLayoutSignals } from './layoutsize/assemble';\nimport { parseUnitLayoutSize } from './layoutsize/parse';\nimport { normalizeMarkDef } from './mark/init';\nimport { parseMarkGroup } from './mark/mark';\nimport { isLayerModel, ModelWithField } from './model';\nimport { replaceRepeaterInEncoding } from './repeater';\nimport { assembleTopLevelSignals, assembleUnitSelectionData, assembleUnitSelectionMarks, assembleUnitSelectionSignals, parseUnitSelection } from './selection/selection';\n/**\n * Internal model of Vega-Lite specification for the compiler.\n */\nvar UnitModel = /** @class */ (function (_super) {\n tslib_1.__extends(UnitModel, _super);\n function UnitModel(spec, parent, parentGivenName, parentGivenSize, repeater, config, fit) {\n if (parentGivenSize === void 0) { parentGivenSize = {}; }\n var _this = _super.call(this, spec, parent, parentGivenName, config, repeater, undefined) || this;\n _this.fit = fit;\n _this.type = 'unit';\n _this.specifiedScales = {};\n _this.specifiedAxes = {};\n _this.specifiedLegends = {};\n _this.specifiedProjection = {};\n _this.selection = {};\n _this.children = [];\n _this.initSize(tslib_1.__assign({}, parentGivenSize, (spec.width ? { width: spec.width } : {}), (spec.height ? { height: spec.height } : {})));\n var mark = isMarkDef(spec.mark) ? spec.mark.type : spec.mark;\n var encoding = _this.encoding = normalizeEncoding(replaceRepeaterInEncoding(spec.encoding || {}, repeater), mark);\n _this.markDef = normalizeMarkDef(spec.mark, encoding, config);\n // calculate stack properties\n _this.stack = stack(mark, encoding, _this.config.stack);\n _this.specifiedScales = _this.initScales(mark, encoding);\n _this.specifiedAxes = _this.initAxes(encoding);\n _this.specifiedLegends = _this.initLegend(encoding);\n _this.specifiedProjection = spec.projection;\n // Selections will be initialized upon parse.\n _this.selection = spec.selection;\n return _this;\n }\n Object.defineProperty(UnitModel.prototype, \"hasProjection\", {\n get: function () {\n var encoding = this.encoding;\n var isGeoShapeMark = this.mark === GEOSHAPE;\n var hasGeoPosition = encoding && GEOPOSITION_CHANNELS.some(function (channel) { return isFieldDef(encoding[channel]); });\n return isGeoShapeMark || hasGeoPosition;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * Return specified Vega-lite scale domain for a particular channel\n * @param channel\n */\n UnitModel.prototype.scaleDomain = function (channel) {\n var scale = this.specifiedScales[channel];\n return scale ? scale.domain : undefined;\n };\n UnitModel.prototype.axis = function (channel) {\n return this.specifiedAxes[channel];\n };\n UnitModel.prototype.legend = function (channel) {\n return this.specifiedLegends[channel];\n };\n UnitModel.prototype.initScales = function (mark, encoding) {\n return SCALE_CHANNELS.reduce(function (scales, channel) {\n var fieldDef;\n var specifiedScale;\n var channelDef = encoding[channel];\n if (isFieldDef(channelDef)) {\n fieldDef = channelDef;\n specifiedScale = channelDef.scale;\n }\n else if (hasConditionalFieldDef(channelDef)) {\n fieldDef = channelDef.condition;\n specifiedScale = channelDef.condition['scale'];\n }\n else if (channel === 'x') {\n fieldDef = getFieldDef(encoding.x2);\n }\n else if (channel === 'y') {\n fieldDef = getFieldDef(encoding.y2);\n }\n if (fieldDef) {\n scales[channel] = specifiedScale || {};\n }\n return scales;\n }, {});\n };\n UnitModel.prototype.initAxes = function (encoding) {\n return [X, Y].reduce(function (_axis, channel) {\n // Position Axis\n // TODO: handle ConditionFieldDef\n var channelDef = encoding[channel];\n if (isFieldDef(channelDef) ||\n (channel === X && isFieldDef(encoding.x2)) ||\n (channel === Y && isFieldDef(encoding.y2))) {\n var axisSpec = isFieldDef(channelDef) ? channelDef.axis : null;\n // We no longer support false in the schema, but we keep false here for backward compatibility.\n if (axisSpec !== null && axisSpec !== false) {\n _axis[channel] = tslib_1.__assign({}, axisSpec);\n }\n }\n return _axis;\n }, {});\n };\n UnitModel.prototype.initLegend = function (encoding) {\n return NONPOSITION_SCALE_CHANNELS.reduce(function (_legend, channel) {\n var channelDef = encoding[channel];\n if (channelDef) {\n var legend = isFieldDef(channelDef) ? channelDef.legend :\n (hasConditionalFieldDef(channelDef)) ? channelDef.condition['legend'] : null;\n if (legend !== null && legend !== false) {\n _legend[channel] = tslib_1.__assign({}, legend);\n }\n }\n return _legend;\n }, {});\n };\n UnitModel.prototype.parseData = function () {\n this.component.data = parseData(this);\n };\n UnitModel.prototype.parseLayoutSize = function () {\n parseUnitLayoutSize(this);\n };\n UnitModel.prototype.parseSelection = function () {\n this.component.selection = parseUnitSelection(this, this.selection);\n };\n UnitModel.prototype.parseMarkGroup = function () {\n this.component.mark = parseMarkGroup(this);\n };\n UnitModel.prototype.parseAxisAndHeader = function () {\n this.component.axes = parseUnitAxis(this);\n };\n UnitModel.prototype.assembleSelectionTopLevelSignals = function (signals) {\n return assembleTopLevelSignals(this, signals);\n };\n UnitModel.prototype.assembleSelectionSignals = function () {\n return assembleUnitSelectionSignals(this, []);\n };\n UnitModel.prototype.assembleSelectionData = function (data) {\n return assembleUnitSelectionData(this, data);\n };\n UnitModel.prototype.assembleLayout = function () {\n return null;\n };\n UnitModel.prototype.assembleLayoutSignals = function () {\n return assembleLayoutSignals(this);\n };\n UnitModel.prototype.assembleMarks = function () {\n var marks = this.component.mark || [];\n // If this unit is part of a layer, selections should augment\n // all in concert rather than each unit individually. This\n // ensures correct interleaving of clipping and brushed marks.\n if (!this.parent || !isLayerModel(this.parent)) {\n marks = assembleUnitSelectionMarks(this, marks);\n }\n return marks.map(this.correctDataNames);\n };\n UnitModel.prototype.assembleLayoutSize = function () {\n return {\n width: this.getSizeSignalRef('width'),\n height: this.getSizeSignalRef('height')\n };\n };\n UnitModel.prototype.getMapping = function () {\n return this.encoding;\n };\n UnitModel.prototype.toSpec = function (excludeConfig, excludeData) {\n var encoding = duplicate(this.encoding);\n var spec;\n spec = {\n mark: this.markDef,\n encoding: encoding\n };\n if (!excludeConfig) {\n spec.config = duplicate(this.config);\n }\n if (!excludeData) {\n spec.data = duplicate(this.data);\n }\n // remove defaults\n return spec;\n };\n Object.defineProperty(UnitModel.prototype, \"mark\", {\n get: function () {\n return this.markDef.type;\n },\n enumerable: true,\n configurable: true\n });\n UnitModel.prototype.channelHasField = function (channel) {\n return vlEncoding.channelHasField(this.encoding, channel);\n };\n UnitModel.prototype.fieldDef = function (channel) {\n var channelDef = this.encoding[channel];\n return getFieldDef(channelDef);\n };\n return UnitModel;\n}(ModelWithField));\nexport { UnitModel };\n//# sourceMappingURL=unit.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/unit.js\n// module id = 396\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { createDefaultStyle, DEFAULT_OPTIONS } from './defaults';\nimport { formatValue } from './formatValue';\nimport { calculatePosition } from './position';\n/**\n * The tooltip handler class.\n */\nvar Handler = /** @class */ (function () {\n /**\n * Create the tooltip handler and initialize the element and style.\n *\n * @param options Tooltip Options\n */\n function Handler(options) {\n this.options = tslib_1.__assign({}, DEFAULT_OPTIONS, options);\n var elementId = this.options.id;\n // bind this to call\n this.call = this.tooltip_handler.bind(this);\n // prepend a default stylesheet for tooltips to the head\n if (!this.options.disableDefaultStyle && !document.getElementById(this.options.styleId)) {\n var style = document.createElement('style');\n style.setAttribute('id', this.options.styleId);\n style.innerHTML = createDefaultStyle(elementId);\n if (document.head.childNodes.length > 0) {\n document.head.insertBefore(style, document.head.childNodes[0]);\n }\n else {\n document.head.appendChild(style);\n }\n }\n // append a div element that we use as a tooltip unless it already exists\n this.el = document.getElementById(elementId);\n if (!this.el) {\n this.el = document.createElement('div');\n this.el.setAttribute('id', elementId);\n this.el.classList.add('vg-tooltip');\n document.body.appendChild(this.el);\n }\n }\n /**\n * The tooltip handler function.\n */\n Handler.prototype.tooltip_handler = function (handler, event, item, value) {\n // console.log(handler, event, item, value);\n // hide tooltip for null, undefined, or empty string values\n if (value == null || value === '') {\n this.el.classList.remove('visible', this.options.theme + \"-theme\");\n return;\n }\n // set the tooltip content\n this.el.innerHTML = formatValue(value, this.options.sanitize, this.options.maxDepth);\n // make the tooltip visible\n this.el.classList.add('visible', this.options.theme + \"-theme\");\n var _a = calculatePosition(event, this.el.getBoundingClientRect(), this.options.offsetX, this.options.offsetY), x = _a.x, y = _a.y;\n this.el.setAttribute('style', \"top: \" + y + \"px; left: \" + x + \"px\");\n };\n return Handler;\n}());\nexport { Handler };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9IYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFXLE1BQU0sWUFBWSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRS9DOztHQUVHO0FBQ0g7SUFnQkU7Ozs7T0FJRztJQUNILGlCQUFZLE9BQTBCO1FBQ3BDLElBQUksQ0FBQyxPQUFPLHdCQUFRLGVBQWUsRUFBSyxPQUFPLENBQUUsQ0FBQztRQUNsRCxJQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUVsQyxvQkFBb0I7UUFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU1Qyx3REFBd0Q7UUFDeEQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDdkYsSUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM5QyxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQy9DLEtBQUssQ0FBQyxTQUFTLEdBQUcsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFaEQsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUN2QyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNoRTtpQkFBTTtnQkFDTCxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNsQztTQUNGO1FBRUQseUVBQXlFO1FBQ3pFLElBQUksQ0FBQyxFQUFFLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUUsQ0FBQztRQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNaLElBQUksQ0FBQyxFQUFFLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4QyxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDdEMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBRXBDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNwQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNLLGlDQUFlLEdBQXZCLFVBQXdCLE9BQVksRUFBRSxLQUFpQixFQUFFLElBQVMsRUFBRSxLQUFVO1FBQzVFLDRDQUE0QztRQUU1QywyREFBMkQ7UUFDM0QsSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssS0FBSyxFQUFFLEVBQUU7WUFDakMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBSyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssV0FBUSxDQUFDLENBQUM7WUFDbkUsT0FBTztTQUNSO1FBRUQsMEJBQTBCO1FBQzFCLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVyRiwyQkFBMkI7UUFDM0IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBSyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssV0FBUSxDQUFDLENBQUM7UUFFMUQsSUFBQSwwR0FLTCxFQUxPLFFBQUMsRUFBRSxRQUFDLENBS1Y7UUFFRixJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsVUFBUSxDQUFDLGtCQUFhLENBQUMsT0FBSSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUNILGNBQUM7QUFBRCxDQUFDLEFBL0VELElBK0VDIn0=\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-tooltip/build/Handler.js\n// module id = 397\n// module chunks = 0","import defaultStyle from './style';\nvar EL_ID = 'vg-tooltip-element';\nexport var DEFAULT_OPTIONS = {\n /**\n * X offset.\n */\n offsetX: 10,\n /**\n * Y offset.\n */\n offsetY: 10,\n /**\n * ID of the tooltip element.\n */\n id: EL_ID,\n /**\n * ID of the tooltip CSS style.\n */\n styleId: 'vega-tooltip-style',\n /**\n * The name of the theme. You can use the CSS class called [THEME]-theme to style the tooltips.\n *\n * There are two predefined themes: \"light\" (default) and \"dark\".\n */\n theme: 'light',\n /**\n * Do not use the default styles provided by Vega Tooltip. If you enable this option, you need to use your own styles. It is not necessary to disable the default style when using a custom theme.\n */\n disableDefaultStyle: false,\n /**\n * HTML sanitizer function that removes dangerous HTML to prevent XSS.\n *\n * This should be a function from string to string. You may replace it with a formatter such as a markdown formatter.\n */\n sanitize: escapeHTML,\n /**\n * The maximum recursion depth when printing objects in the tooltip.\n */\n maxDepth: 2,\n};\n/**\n * Escape special HTML characters.\n *\n * @param value A value to convert to string and HTML-escape.\n */\nexport function escapeHTML(value) {\n return String(value)\n .replace(/&/g, '&')\n .replace(/</g, '<');\n}\nexport function createDefaultStyle(id) {\n // Just in case this id comes from a user, ensure these is no security issues\n if (!/^[A-Za-z]+[-:.\\w]*$/.test(id)) {\n throw new Error('Invalid HTML ID');\n }\n return defaultStyle.toString().replace(EL_ID, id);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGVmYXVsdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxZQUFZLE1BQU0sU0FBUyxDQUFDO0FBRW5DLElBQU0sS0FBSyxHQUFHLG9CQUFvQixDQUFDO0FBRW5DLE1BQU0sQ0FBQyxJQUFNLGVBQWUsR0FBRztJQUM3Qjs7T0FFRztJQUNILE9BQU8sRUFBRSxFQUFFO0lBRVg7O09BRUc7SUFDSCxPQUFPLEVBQUUsRUFBRTtJQUVYOztPQUVHO0lBQ0gsRUFBRSxFQUFFLEtBQUs7SUFFVDs7T0FFRztJQUNILE9BQU8sRUFBRSxvQkFBb0I7SUFFN0I7Ozs7T0FJRztJQUNILEtBQUssRUFBRSxPQUFPO0lBRWQ7O09BRUc7SUFDSCxtQkFBbUIsRUFBRSxLQUFLO0lBRTFCOzs7O09BSUc7SUFDSCxRQUFRLEVBQUUsVUFBVTtJQUVwQjs7T0FFRztJQUNILFFBQVEsRUFBRSxDQUFDO0NBQ1osQ0FBQztBQUlGOzs7O0dBSUc7QUFDSCxNQUFNLHFCQUFxQixLQUFVO0lBQ25DLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQztTQUNqQixPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQztTQUN0QixPQUFPLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQzNCLENBQUM7QUFFRCxNQUFNLDZCQUE2QixFQUFVO0lBQzNDLDZFQUE2RTtJQUM3RSxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztLQUNwQztJQUVELE9BQU8sWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDcEQsQ0FBQyJ9\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-tooltip/build/defaults.js\n// module id = 398\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { isArray, isObject, isString } from 'vega-util';\n/**\n * Format the value to be shown in the toolip.\n *\n * @param value The value to show in the tooltip.\n * @param valueToHtml Function to convert a single cell value to an HTML string\n */\nexport function formatValue(value, valueToHtml, maxDepth) {\n if (isArray(value)) {\n return \"[\" + value.map(function (v) { return valueToHtml(isString(v) ? v : stringify(v, maxDepth)); }).join(', ') + \"]\";\n }\n if (isObject(value)) {\n var content = '';\n var _a = value, title = _a.title, rest = tslib_1.__rest(_a, [\"title\"]);\n if (title) {\n content += \"<h2>\" + valueToHtml(title) + \"</h2>\";\n }\n var keys = Object.keys(rest);\n if (keys.length > 0) {\n content += '<table>';\n for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {\n var key = keys_1[_i];\n var val = rest[key];\n if (isObject(val)) {\n val = stringify(val, maxDepth);\n }\n content += \"<tr><td class=\\\"key\\\">\" + valueToHtml(key) + \":</td><td class=\\\"value\\\">\" + valueToHtml(val) + \"</td></tr>\";\n }\n content += \"</table>\";\n }\n return content || '{}'; // show empty object if there are no properties\n }\n return valueToHtml(value);\n}\nexport function replacer(maxDepth) {\n var stack = [];\n return function (key, value) {\n if (typeof value !== 'object' || value === null) {\n return value;\n }\n var pos = stack.indexOf(this) + 1;\n stack.length = pos;\n if (stack.length > maxDepth) {\n return '[Object]';\n }\n if (stack.indexOf(value) >= 0) {\n return '[Circular]';\n }\n stack.push(value);\n return value;\n };\n}\n/**\n * Stringify any JS object to valid JSON\n */\nexport function stringify(obj, maxDepth) {\n return JSON.stringify(obj, replacer(maxDepth));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0VmFsdWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZm9ybWF0VmFsdWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV4RDs7Ozs7R0FLRztBQUNILE1BQU0sc0JBQXNCLEtBQVUsRUFBRSxXQUFtQyxFQUFFLFFBQWdCO0lBQzNGLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ2xCLE9BQU8sTUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLEVBQXJELENBQXFELENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQUcsQ0FBQztLQUNoRztJQUVELElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ25CLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUVqQixJQUFNLFVBQWlDLEVBQS9CLGdCQUFLLEVBQUUsb0NBQXdCLENBQUM7UUFFeEMsSUFBSSxLQUFLLEVBQUU7WUFDVCxPQUFPLElBQUksU0FBTyxXQUFXLENBQUMsS0FBSyxDQUFDLFVBQU8sQ0FBQztTQUM3QztRQUVELElBQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNuQixPQUFPLElBQUksU0FBUyxDQUFDO1lBQ3JCLEtBQWtCLFVBQUksRUFBSixhQUFJLEVBQUosa0JBQUksRUFBSixJQUFJLEVBQUU7Z0JBQW5CLElBQU0sR0FBRyxhQUFBO2dCQUNaLElBQUksR0FBRyxHQUFJLElBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDN0IsSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ2pCLEdBQUcsR0FBRyxTQUFTLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2lCQUNoQztnQkFFRCxPQUFPLElBQUksMkJBQXVCLFdBQVcsQ0FBQyxHQUFHLENBQUMsa0NBQTJCLFdBQVcsQ0FBQyxHQUFHLENBQUMsZUFBWSxDQUFDO2FBQzNHO1lBQ0QsT0FBTyxJQUFJLFVBQVUsQ0FBQztTQUN2QjtRQUVELE9BQU8sT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLCtDQUErQztLQUN4RTtJQUVELE9BQU8sV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFFRCxNQUFNLG1CQUFtQixRQUFnQjtJQUN2QyxJQUFNLEtBQUssR0FBVSxFQUFFLENBQUM7SUFFeEIsT0FBTyxVQUFvQixHQUFXLEVBQUUsS0FBVTtRQUNoRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO1lBQy9DLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxJQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQyxLQUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztRQUNuQixJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsUUFBUSxFQUFFO1lBQzNCLE9BQU8sVUFBVSxDQUFDO1NBQ25CO1FBQ0QsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM3QixPQUFPLFlBQVksQ0FBQztTQUNyQjtRQUNELEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLG9CQUFvQixHQUFRLEVBQUUsUUFBZ0I7SUFDbEQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUNqRCxDQUFDIn0=\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-tooltip/build/formatValue.js\n// module id = 399\n// module chunks = 0","/**\n * Position the tooltip\n *\n * @param event The mouse event.\n * @param tooltipBox\n * @param offsetX Horizontal offset.\n * @param offsetY Vertical offset.\n */\nexport function calculatePosition(event, tooltipBox, offsetX, offsetY) {\n var x = event.clientX + offsetX;\n if (x + tooltipBox.width > window.innerWidth) {\n x = +event.clientX - offsetX - tooltipBox.width;\n }\n var y = event.clientY + offsetY;\n if (y + tooltipBox.height > window.innerHeight) {\n y = +event.clientY - offsetY - tooltipBox.height;\n }\n return { x: x, y: y };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcG9zaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRztBQUNILE1BQU0sNEJBQ0osS0FBaUIsRUFDakIsVUFBNkMsRUFDN0MsT0FBZSxFQUNmLE9BQWU7SUFFZixJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUNoQyxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUU7UUFDNUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztLQUNqRDtJQUVELElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ2hDLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLFdBQVcsRUFBRTtRQUM5QyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE9BQU8sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO0tBQ2xEO0lBRUQsT0FBTyxFQUFFLENBQUMsR0FBQSxFQUFFLENBQUMsR0FBQSxFQUFFLENBQUM7QUFDbEIsQ0FBQyJ9\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-tooltip/build/position.js\n// module id = 400\n// module chunks = 0","// @remove-on-eject-begin\n/**\n * Copyright (c) 2015-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n// @remove-on-eject-end\n'use strict';\n\nif (typeof Promise === 'undefined') {\n // Rejection tracking prevents a common issue where React gets into an\n // inconsistent state due to an error, but it gets swallowed by a Promise,\n // and the user has no idea what causes React's erratic future behavior.\n require('promise/lib/rejection-tracking').enable();\n window.Promise = require('promise/lib/es6-extensions.js');\n}\n\n// fetch() polyfill for making API calls.\nrequire('whatwg-fetch');\n\n// Object.assign() is commonly used with React.\n// It will use the native implementation if it's present and isn't buggy.\nObject.assign = require('object-assign');\n\n// In tests, polyfill requestAnimationFrame since jsdom doesn't provide it yet.\n// We don't polyfill it in the browser--this is user's responsibility.\nif (process.env.NODE_ENV === 'test') {\n require('raf').polyfill(global);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-scripts/config/polyfills.js\n// module id = 402\n// module chunks = 0","'use strict';\n\nvar Promise = require('./core');\n\nvar DEFAULT_WHITELIST = [\n ReferenceError,\n TypeError,\n RangeError\n];\n\nvar enabled = false;\nexports.disable = disable;\nfunction disable() {\n enabled = false;\n Promise._47 = null;\n Promise._71 = null;\n}\n\nexports.enable = enable;\nfunction enable(options) {\n options = options || {};\n if (enabled) disable();\n enabled = true;\n var id = 0;\n var displayId = 0;\n var rejections = {};\n Promise._47 = function (promise) {\n if (\n promise._83 === 2 && // IS REJECTED\n rejections[promise._56]\n ) {\n if (rejections[promise._56].logged) {\n onHandled(promise._56);\n } else {\n clearTimeout(rejections[promise._56].timeout);\n }\n delete rejections[promise._56];\n }\n };\n Promise._71 = function (promise, err) {\n if (promise._75 === 0) { // not yet handled\n promise._56 = id++;\n rejections[promise._56] = {\n displayId: null,\n error: err,\n timeout: setTimeout(\n onUnhandled.bind(null, promise._56),\n // For reference errors and type errors, this almost always\n // means the programmer made a mistake, so log them after just\n // 100ms\n // otherwise, wait 2 seconds to see if they get handled\n matchWhitelist(err, DEFAULT_WHITELIST)\n ? 100\n : 2000\n ),\n logged: false\n };\n }\n };\n function onUnhandled(id) {\n if (\n options.allRejections ||\n matchWhitelist(\n rejections[id].error,\n options.whitelist || DEFAULT_WHITELIST\n )\n ) {\n rejections[id].displayId = displayId++;\n if (options.onUnhandled) {\n rejections[id].logged = true;\n options.onUnhandled(\n rejections[id].displayId,\n rejections[id].error\n );\n } else {\n rejections[id].logged = true;\n logError(\n rejections[id].displayId,\n rejections[id].error\n );\n }\n }\n }\n function onHandled(id) {\n if (rejections[id].logged) {\n if (options.onHandled) {\n options.onHandled(rejections[id].displayId, rejections[id].error);\n } else if (!rejections[id].onUnhandled) {\n console.warn(\n 'Promise Rejection Handled (id: ' + rejections[id].displayId + '):'\n );\n console.warn(\n ' This means you can ignore any previous messages of the form \"Possible Unhandled Promise Rejection\" with id ' +\n rejections[id].displayId + '.'\n );\n }\n }\n }\n}\n\nfunction logError(id, error) {\n console.warn('Possible Unhandled Promise Rejection (id: ' + id + '):');\n var errStr = (error && (error.stack || error)) + '';\n errStr.split('\\n').forEach(function (line) {\n console.warn(' ' + line);\n });\n}\n\nfunction matchWhitelist(error, list) {\n return list.some(function (cls) {\n return error instanceof cls;\n });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-scripts/node_modules/promise/lib/rejection-tracking.js\n// module id = 403\n// module chunks = 0","\"use strict\";\n\n// Use the fastest means possible to execute a task in its own turn, with\n// priority over other events including IO, animation, reflow, and redraw\n// events in browsers.\n//\n// An exception thrown by a task will permanently interrupt the processing of\n// subsequent tasks. The higher level `asap` function ensures that if an\n// exception is thrown by a task, that the task queue will continue flushing as\n// soon as possible, but if you use `rawAsap` directly, you are responsible to\n// either ensure that no exceptions are thrown from your task, or to manually\n// call `rawAsap.requestFlush` if an exception is thrown.\nmodule.exports = rawAsap;\nfunction rawAsap(task) {\n if (!queue.length) {\n requestFlush();\n flushing = true;\n }\n // Equivalent to push, but avoids a function call.\n queue[queue.length] = task;\n}\n\nvar queue = [];\n// Once a flush has been requested, no further calls to `requestFlush` are\n// necessary until the next `flush` completes.\nvar flushing = false;\n// `requestFlush` is an implementation-specific method that attempts to kick\n// off a `flush` event as quickly as possible. `flush` will attempt to exhaust\n// the event queue before yielding to the browser's own event loop.\nvar requestFlush;\n// The position of the next task to execute in the task queue. This is\n// preserved between calls to `flush` so that it can be resumed if\n// a task throws an exception.\nvar index = 0;\n// If a task schedules additional tasks recursively, the task queue can grow\n// unbounded. To prevent memory exhaustion, the task queue will periodically\n// truncate already-completed tasks.\nvar capacity = 1024;\n\n// The flush function processes all tasks that have been scheduled with\n// `rawAsap` unless and until one of those tasks throws an exception.\n// If a task throws an exception, `flush` ensures that its state will remain\n// consistent and will resume where it left off when called again.\n// However, `flush` does not make any arrangements to be called again if an\n// exception is thrown.\nfunction flush() {\n while (index < queue.length) {\n var currentIndex = index;\n // Advance the index before calling the task. This ensures that we will\n // begin flushing on the next task the task throws an error.\n index = index + 1;\n queue[currentIndex].call();\n // Prevent leaking memory for long chains of recursive calls to `asap`.\n // If we call `asap` within tasks scheduled by `asap`, the queue will\n // grow, but to avoid an O(n) walk for every task we execute, we don't\n // shift tasks off the queue after they have been executed.\n // Instead, we periodically shift 1024 tasks off the queue.\n if (index > capacity) {\n // Manually shift all values starting at the index back to the\n // beginning of the queue.\n for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) {\n queue[scan] = queue[scan + index];\n }\n queue.length -= index;\n index = 0;\n }\n }\n queue.length = 0;\n index = 0;\n flushing = false;\n}\n\n// `requestFlush` is implemented using a strategy based on data collected from\n// every available SauceLabs Selenium web driver worker at time of writing.\n// https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593\n\n// Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that\n// have WebKitMutationObserver but not un-prefixed MutationObserver.\n// Must use `global` or `self` instead of `window` to work in both frames and web\n// workers. `global` is a provision of Browserify, Mr, Mrs, or Mop.\n\n/* globals self */\nvar scope = typeof global !== \"undefined\" ? global : self;\nvar BrowserMutationObserver = scope.MutationObserver || scope.WebKitMutationObserver;\n\n// MutationObservers are desirable because they have high priority and work\n// reliably everywhere they are implemented.\n// They are implemented in all modern browsers.\n//\n// - Android 4-4.3\n// - Chrome 26-34\n// - Firefox 14-29\n// - Internet Explorer 11\n// - iPad Safari 6-7.1\n// - iPhone Safari 7-7.1\n// - Safari 6-7\nif (typeof BrowserMutationObserver === \"function\") {\n requestFlush = makeRequestCallFromMutationObserver(flush);\n\n// MessageChannels are desirable because they give direct access to the HTML\n// task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera\n// 11-12, and in web workers in many engines.\n// Although message channels yield to any queued rendering and IO tasks, they\n// would be better than imposing the 4ms delay of timers.\n// However, they do not work reliably in Internet Explorer or Safari.\n\n// Internet Explorer 10 is the only browser that has setImmediate but does\n// not have MutationObservers.\n// Although setImmediate yields to the browser's renderer, it would be\n// preferrable to falling back to setTimeout since it does not have\n// the minimum 4ms penalty.\n// Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and\n// Desktop to a lesser extent) that renders both setImmediate and\n// MessageChannel useless for the purposes of ASAP.\n// https://github.com/kriskowal/q/issues/396\n\n// Timers are implemented universally.\n// We fall back to timers in workers in most engines, and in foreground\n// contexts in the following browsers.\n// However, note that even this simple case requires nuances to operate in a\n// broad spectrum of browsers.\n//\n// - Firefox 3-13\n// - Internet Explorer 6-9\n// - iPad Safari 4.3\n// - Lynx 2.8.7\n} else {\n requestFlush = makeRequestCallFromTimer(flush);\n}\n\n// `requestFlush` requests that the high priority event queue be flushed as\n// soon as possible.\n// This is useful to prevent an error thrown in a task from stalling the event\n// queue if the exception handled by Node.js’s\n// `process.on(\"uncaughtException\")` or by a domain.\nrawAsap.requestFlush = requestFlush;\n\n// To request a high priority event, we induce a mutation observer by toggling\n// the text of a text node between \"1\" and \"-1\".\nfunction makeRequestCallFromMutationObserver(callback) {\n var toggle = 1;\n var observer = new BrowserMutationObserver(callback);\n var node = document.createTextNode(\"\");\n observer.observe(node, {characterData: true});\n return function requestCall() {\n toggle = -toggle;\n node.data = toggle;\n };\n}\n\n// The message channel technique was discovered by Malte Ubl and was the\n// original foundation for this library.\n// http://www.nonblocking.io/2011/06/windownexttick.html\n\n// Safari 6.0.5 (at least) intermittently fails to create message ports on a\n// page's first load. Thankfully, this version of Safari supports\n// MutationObservers, so we don't need to fall back in that case.\n\n// function makeRequestCallFromMessageChannel(callback) {\n// var channel = new MessageChannel();\n// channel.port1.onmessage = callback;\n// return function requestCall() {\n// channel.port2.postMessage(0);\n// };\n// }\n\n// For reasons explained above, we are also unable to use `setImmediate`\n// under any circumstances.\n// Even if we were, there is another bug in Internet Explorer 10.\n// It is not sufficient to assign `setImmediate` to `requestFlush` because\n// `setImmediate` must be called *by name* and therefore must be wrapped in a\n// closure.\n// Never forget.\n\n// function makeRequestCallFromSetImmediate(callback) {\n// return function requestCall() {\n// setImmediate(callback);\n// };\n// }\n\n// Safari 6.0 has a problem where timers will get lost while the user is\n// scrolling. This problem does not impact ASAP because Safari 6.0 supports\n// mutation observers, so that implementation is used instead.\n// However, if we ever elect to use timers in Safari, the prevalent work-around\n// is to add a scroll event listener that calls for a flush.\n\n// `setTimeout` does not call the passed callback if the delay is less than\n// approximately 7 in web workers in Firefox 8 through 18, and sometimes not\n// even then.\n\nfunction makeRequestCallFromTimer(callback) {\n return function requestCall() {\n // We dispatch a timeout with a specified delay of 0 for engines that\n // can reliably accommodate that request. This will usually be snapped\n // to a 4 milisecond delay, but once we're flushing, there's no delay\n // between events.\n var timeoutHandle = setTimeout(handleTimer, 0);\n // However, since this timer gets frequently dropped in Firefox\n // workers, we enlist an interval handle that will try to fire\n // an event 20 times per second until it succeeds.\n var intervalHandle = setInterval(handleTimer, 50);\n\n function handleTimer() {\n // Whichever timer succeeds will cancel both timers and\n // execute the callback.\n clearTimeout(timeoutHandle);\n clearInterval(intervalHandle);\n callback();\n }\n };\n}\n\n// This is for `asap.js` only.\n// Its name will be periodically randomized to break any code that depends on\n// its existence.\nrawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer;\n\n// ASAP was originally a nextTick shim included in Q. This was factored out\n// into this ASAP package. It was later adapted to RSVP which made further\n// amendments. These decisions, particularly to marginalize MessageChannel and\n// to capture the MutationObserver implementation in a closure, were integrated\n// back into ASAP proper.\n// https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/asap/browser-raw.js\n// module id = 404\n// module chunks = 0","'use strict';\n\n//This file contains the ES6 extensions to the core Promises/A+ API\n\nvar Promise = require('./core.js');\n\nmodule.exports = Promise;\n\n/* Static Functions */\n\nvar TRUE = valuePromise(true);\nvar FALSE = valuePromise(false);\nvar NULL = valuePromise(null);\nvar UNDEFINED = valuePromise(undefined);\nvar ZERO = valuePromise(0);\nvar EMPTYSTRING = valuePromise('');\n\nfunction valuePromise(value) {\n var p = new Promise(Promise._44);\n p._83 = 1;\n p._18 = value;\n return p;\n}\nPromise.resolve = function (value) {\n if (value instanceof Promise) return value;\n\n if (value === null) return NULL;\n if (value === undefined) return UNDEFINED;\n if (value === true) return TRUE;\n if (value === false) return FALSE;\n if (value === 0) return ZERO;\n if (value === '') return EMPTYSTRING;\n\n if (typeof value === 'object' || typeof value === 'function') {\n try {\n var then = value.then;\n if (typeof then === 'function') {\n return new Promise(then.bind(value));\n }\n } catch (ex) {\n return new Promise(function (resolve, reject) {\n reject(ex);\n });\n }\n }\n return valuePromise(value);\n};\n\nPromise.all = function (arr) {\n var args = Array.prototype.slice.call(arr);\n\n return new Promise(function (resolve, reject) {\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n function res(i, val) {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n if (val instanceof Promise && val.then === Promise.prototype.then) {\n while (val._83 === 3) {\n val = val._18;\n }\n if (val._83 === 1) return res(i, val._18);\n if (val._83 === 2) reject(val._18);\n val.then(function (val) {\n res(i, val);\n }, reject);\n return;\n } else {\n var then = val.then;\n if (typeof then === 'function') {\n var p = new Promise(then.bind(val));\n p.then(function (val) {\n res(i, val);\n }, reject);\n return;\n }\n }\n }\n args[i] = val;\n if (--remaining === 0) {\n resolve(args);\n }\n }\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n};\n\nPromise.reject = function (value) {\n return new Promise(function (resolve, reject) {\n reject(value);\n });\n};\n\nPromise.race = function (values) {\n return new Promise(function (resolve, reject) {\n values.forEach(function(value){\n Promise.resolve(value).then(resolve, reject);\n });\n });\n};\n\n/* Prototype Methods */\n\nPromise.prototype['catch'] = function (onRejected) {\n return this.then(null, onRejected);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-scripts/node_modules/promise/lib/es6-extensions.js\n// module id = 405\n// module chunks = 0","(function(self) {\n 'use strict';\n\n if (self.fetch) {\n return\n }\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob: 'FileReader' in self && 'Blob' in self && (function() {\n try {\n new Blob()\n return true\n } catch(e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isDataView = function(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n var isArrayBufferView = ArrayBuffer.isView || function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue+','+value : value\n }\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n }\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n }\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n }\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n }\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n }\n\n Headers.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) { items.push(name) })\n return iteratorFor(items)\n }\n\n Headers.prototype.values = function() {\n var items = []\n this.forEach(function(value) { items.push(value) })\n return iteratorFor(items)\n }\n\n Headers.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) { items.push([name, value]) })\n return iteratorFor(items)\n }\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n throw new Error('unsupported BodyInit type')\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return (methods.indexOf(upcased) > -1) ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'omit'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n }\n\n Request.prototype.clone = function() {\n return new Request(this, { body: this._bodyInit })\n }\n\n function decode(body) {\n var form = new FormData()\n body.trim().split('&').forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers()\n rawHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n }\n\n Body.call(Request.prototype)\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = 'status' in options ? options.status : 200\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n }\n\n Body.call(Response.prototype)\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n }\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n }\n\n var redirectStatuses = [301, 302, 303, 307, 308]\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n }\n\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n\n self.fetch = function(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n var xhr = new XMLHttpRequest()\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n }\n self.fetch.polyfill = true\n})(typeof self !== 'undefined' ? self : this);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-scripts/node_modules/whatwg-fetch/fetch.js\n// module id = 406\n// module chunks = 0","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport DatasetteVega from './DatasetteVega';\n\nconst matchesCurrentHostAndPath = (url) => {\n // Given a url, is it the same host and path as current page?\n // (ignores querystring and fragment hash)\n url = url.split('#')[0];\n // Only activate if link is to current page (presumably with different querystring)\n var currentHostAndPath = window.location.hostname;\n if (window.location.port !== '') {\n currentHostAndPath += ':' + window.location.port;\n }\n currentHostAndPath += window.location.pathname;\n // Ignore http/s due to https://github.com/simonw/datasette/issues/333\n var linkedHostAndPath = url.split('://')[1].split('?')[0];\n return currentHostAndPath === linkedHostAndPath;\n};\n\n// Update any forms with current page as action when fragment changes\nconst onFragmentChange = () => {\n if (window.location.hash.length === 0) {\n return;\n }\n Array.from(document.getElementsByTagName('form')).forEach(form => {\n var action = form.action.split('#')[0];\n if (matchesCurrentHostAndPath(action)) {\n form.action = action + window.location.hash;\n }\n });\n};\n\ndocument.addEventListener('DOMContentLoaded', () => {\n let visTool, jsonUrl;\n if (process.env.REACT_APP_STAGE === 'dev') {\n // Dev mode - use graph elements already on the index.html page\n let m = /\\?url=(.*)/.exec(window.location.search)\n if (m) {\n jsonUrl = decodeURIComponent(m[1]);\n document.getElementById('jsonUrl').value = jsonUrl;\n visTool = document.getElementById('vis-tool');\n }\n } else {\n const jsonEl = document.querySelector('.export-links a[href*=json]');\n if (jsonEl) {\n jsonUrl = jsonEl.getAttribute('href');\n // Create elements for adding graph tool to page\n visTool = document.createElement('div');\n let table = document.querySelector('table.rows-and-columns');\n table.parentNode.insertBefore(visTool, table);\n }\n }\n if (jsonUrl) {\n // Add _shape=array\n jsonUrl += (jsonUrl.indexOf('?') > -1) ? '&' : '?';\n jsonUrl += '_shape=array'\n ReactDOM.render(\n <DatasetteVega base_url={jsonUrl} onFragmentChange={onFragmentChange} />, visTool\n );\n }\n});\n\n// Persist #settings across links to same page\nwindow.addEventListener('click', function (ev) {\n if (window.location.hash.length === 0) {\n return true;\n }\n if (ev.altKey || ev.ctrlKey || ev.metaKey || ev.shiftKey || ev.defaultPrevented) {\n return true;\n }\n var a = null;\n for (var n = ev.target; n.parentNode; n = n.parentNode) {\n if (n.nodeName === 'A') {\n a = n;\n break;\n }\n }\n if (!a || !a.href) {\n return true;\n }\n // This expands the full URL even if the link is /relative:\n var href = a.href;\n // Split off any existing #fragment\n href = href.split('#')[0];\n var linkedHostQuery = href.split('?')[1];\n if (matchesCurrentHostAndPath(href)) {\n // Cancel click, navigate to this + fragment instead\n var linkedHostAndPath = href.split('://')[1].split('?')[0];\n if (linkedHostQuery) {\n linkedHostAndPath += '?' + linkedHostQuery;\n }\n ev.preventDefault();\n window.location = window.location.protocol + '//' + linkedHostAndPath + window.location.hash;\n return false;\n }\n return true;\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","/** @license React v16.4.1\n * react.production.min.js\n *\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var k=require(\"object-assign\"),n=require(\"fbjs/lib/invariant\"),p=require(\"fbjs/lib/emptyObject\"),q=require(\"fbjs/lib/emptyFunction\"),r=\"function\"===typeof Symbol&&Symbol.for,t=r?Symbol.for(\"react.element\"):60103,u=r?Symbol.for(\"react.portal\"):60106,v=r?Symbol.for(\"react.fragment\"):60107,w=r?Symbol.for(\"react.strict_mode\"):60108,x=r?Symbol.for(\"react.profiler\"):60114,y=r?Symbol.for(\"react.provider\"):60109,z=r?Symbol.for(\"react.context\"):60110,A=r?Symbol.for(\"react.async_mode\"):60111,B=\nr?Symbol.for(\"react.forward_ref\"):60112;r&&Symbol.for(\"react.timeout\");var C=\"function\"===typeof Symbol&&Symbol.iterator;function D(a){for(var b=arguments.length-1,e=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=0;c<b;c++)e+=\"&args[]=\"+encodeURIComponent(arguments[c+1]);n(!1,\"Minified React error #\"+a+\"; visit %s for the full message or use the non-minified dev environment for full errors and additional helpful warnings. \",e)}\nvar E={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}};function F(a,b,e){this.props=a;this.context=b;this.refs=p;this.updater=e||E}F.prototype.isReactComponent={};F.prototype.setState=function(a,b){\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a?D(\"85\"):void 0;this.updater.enqueueSetState(this,a,b,\"setState\")};F.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function G(){}\nG.prototype=F.prototype;function H(a,b,e){this.props=a;this.context=b;this.refs=p;this.updater=e||E}var I=H.prototype=new G;I.constructor=H;k(I,F.prototype);I.isPureReactComponent=!0;var J={current:null},K=Object.prototype.hasOwnProperty,L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var c=void 0,d={},g=null,h=null;if(null!=b)for(c in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(g=\"\"+b.key),b)K.call(b,c)&&!L.hasOwnProperty(c)&&(d[c]=b[c]);var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){for(var l=Array(f),m=0;m<f;m++)l[m]=arguments[m+2];d.children=l}if(a&&a.defaultProps)for(c in f=a.defaultProps,f)void 0===d[c]&&(d[c]=f[c]);return{$$typeof:t,type:a,key:g,ref:h,props:d,_owner:J.current}}\nfunction N(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===t}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+(\"\"+a).replace(/[=:]/g,function(a){return b[a]})}var O=/\\/+/g,P=[];function Q(a,b,e,c){if(P.length){var d=P.pop();d.result=a;d.keyPrefix=b;d.func=e;d.context=c;d.count=0;return d}return{result:a,keyPrefix:b,func:e,context:c,count:0}}function R(a){a.result=null;a.keyPrefix=null;a.func=null;a.context=null;a.count=0;10>P.length&&P.push(a)}\nfunction S(a,b,e,c){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case t:case u:g=!0}}if(g)return e(c,a,\"\"===b?\".\"+T(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var h=0;h<a.length;h++){d=a[h];var f=b+T(d,h);g+=S(d,f,e,c)}else if(null===a||\"undefined\"===typeof a?f=null:(f=C&&a[C]||a[\"@@iterator\"],f=\"function\"===typeof f?f:null),\"function\"===typeof f)for(a=f.call(a),\nh=0;!(d=a.next()).done;)d=d.value,f=b+T(d,h++),g+=S(d,f,e,c);else\"object\"===d&&(e=\"\"+a,D(\"31\",\"[object Object]\"===e?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":e,\"\"));return g}function T(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(a.key):b.toString(36)}function U(a,b){a.func.call(a.context,b,a.count++)}\nfunction V(a,b,e){var c=a.result,d=a.keyPrefix;a=a.func.call(a.context,b,a.count++);Array.isArray(a)?W(a,c,e,q.thatReturnsArgument):null!=a&&(N(a)&&(b=d+(!a.key||b&&b.key===a.key?\"\":(\"\"+a.key).replace(O,\"$&/\")+\"/\")+e,a={$$typeof:t,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}),c.push(a))}function W(a,b,e,c,d){var g=\"\";null!=e&&(g=(\"\"+e).replace(O,\"$&/\")+\"/\");b=Q(b,g,c,d);null==a||S(a,\"\",V,b);R(b)}\nvar X={Children:{map:function(a,b,e){if(null==a)return a;var c=[];W(a,c,null,b,e);return c},forEach:function(a,b,e){if(null==a)return a;b=Q(null,null,b,e);null==a||S(a,\"\",U,b);R(b)},count:function(a){return null==a?0:S(a,\"\",q.thatReturnsNull,null)},toArray:function(a){var b=[];W(a,b,null,q.thatReturnsArgument);return b},only:function(a){N(a)?void 0:D(\"143\");return a}},createRef:function(){return{current:null}},Component:F,PureComponent:H,createContext:function(a,b){void 0===b&&(b=null);a={$$typeof:z,\n_calculateChangedBits:b,_defaultValue:a,_currentValue:a,_currentValue2:a,_changedBits:0,_changedBits2:0,Provider:null,Consumer:null};a.Provider={$$typeof:y,_context:a};return a.Consumer=a},forwardRef:function(a){return{$$typeof:B,render:a}},Fragment:v,StrictMode:w,unstable_AsyncMode:A,unstable_Profiler:x,createElement:M,cloneElement:function(a,b,e){null===a||void 0===a?D(\"267\",a):void 0;var c=void 0,d=k({},a.props),g=a.key,h=a.ref,f=a._owner;if(null!=b){void 0!==b.ref&&(h=b.ref,f=J.current);void 0!==\nb.key&&(g=\"\"+b.key);var l=void 0;a.type&&a.type.defaultProps&&(l=a.type.defaultProps);for(c in b)K.call(b,c)&&!L.hasOwnProperty(c)&&(d[c]=void 0===b[c]&&void 0!==l?l[c]:b[c])}c=arguments.length-2;if(1===c)d.children=e;else if(1<c){l=Array(c);for(var m=0;m<c;m++)l[m]=arguments[m+2];d.children=l}return{$$typeof:t,type:a.type,key:g,ref:h,props:d,_owner:f}},createFactory:function(a){var b=M.bind(null,a);b.type=a;return b},isValidElement:N,version:\"16.4.1\",__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{ReactCurrentOwner:J,\nassign:k}},Y={default:X},Z=Y&&X||Y;module.exports=Z.default?Z.default:Z;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react/cjs/react.production.min.js\n// module id = 408\n// module chunks = 0","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-dom/index.js\n// module id = 409\n// module chunks = 0","/** @license React v16.4.1\n * react-dom.production.min.js\n *\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"fbjs/lib/invariant\"),ba=require(\"react\"),m=require(\"fbjs/lib/ExecutionEnvironment\"),p=require(\"object-assign\"),v=require(\"fbjs/lib/emptyFunction\"),da=require(\"fbjs/lib/getActiveElement\"),ea=require(\"fbjs/lib/shallowEqual\"),fa=require(\"fbjs/lib/containsNode\"),ha=require(\"fbjs/lib/emptyObject\");\nfunction A(a){for(var b=arguments.length-1,c=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,d=0;d<b;d++)c+=\"&args[]=\"+encodeURIComponent(arguments[d+1]);aa(!1,\"Minified React error #\"+a+\"; visit %s for the full message or use the non-minified dev environment for full errors and additional helpful warnings. \",c)}ba?void 0:A(\"227\");\nfunction ia(a,b,c,d,e,f,g,h,k){this._hasCaughtError=!1;this._caughtError=null;var n=Array.prototype.slice.call(arguments,3);try{b.apply(c,n)}catch(r){this._caughtError=r,this._hasCaughtError=!0}}\nvar B={_caughtError:null,_hasCaughtError:!1,_rethrowError:null,_hasRethrowError:!1,invokeGuardedCallback:function(a,b,c,d,e,f,g,h,k){ia.apply(B,arguments)},invokeGuardedCallbackAndCatchFirstError:function(a,b,c,d,e,f,g,h,k){B.invokeGuardedCallback.apply(this,arguments);if(B.hasCaughtError()){var n=B.clearCaughtError();B._hasRethrowError||(B._hasRethrowError=!0,B._rethrowError=n)}},rethrowCaughtError:function(){return ka.apply(B,arguments)},hasCaughtError:function(){return B._hasCaughtError},clearCaughtError:function(){if(B._hasCaughtError){var a=\nB._caughtError;B._caughtError=null;B._hasCaughtError=!1;return a}A(\"198\")}};function ka(){if(B._hasRethrowError){var a=B._rethrowError;B._rethrowError=null;B._hasRethrowError=!1;throw a;}}var la=null,ma={};\nfunction na(){if(la)for(var a in ma){var b=ma[a],c=la.indexOf(a);-1<c?void 0:A(\"96\",a);if(!oa[c]){b.extractEvents?void 0:A(\"97\",a);oa[c]=b;c=b.eventTypes;for(var d in c){var e=void 0;var f=c[d],g=b,h=d;pa.hasOwnProperty(h)?A(\"99\",h):void 0;pa[h]=f;var k=f.phasedRegistrationNames;if(k){for(e in k)k.hasOwnProperty(e)&&qa(k[e],g,h);e=!0}else f.registrationName?(qa(f.registrationName,g,h),e=!0):e=!1;e?void 0:A(\"98\",d,a)}}}}\nfunction qa(a,b,c){ra[a]?A(\"100\",a):void 0;ra[a]=b;sa[a]=b.eventTypes[c].dependencies}var oa=[],pa={},ra={},sa={};function ta(a){la?A(\"101\"):void 0;la=Array.prototype.slice.call(a);na()}function ua(a){var b=!1,c;for(c in a)if(a.hasOwnProperty(c)){var d=a[c];ma.hasOwnProperty(c)&&ma[c]===d||(ma[c]?A(\"102\",c):void 0,ma[c]=d,b=!0)}b&&na()}\nvar va={plugins:oa,eventNameDispatchConfigs:pa,registrationNameModules:ra,registrationNameDependencies:sa,possibleRegistrationNames:null,injectEventPluginOrder:ta,injectEventPluginsByName:ua},wa=null,xa=null,ya=null;function za(a,b,c,d){b=a.type||\"unknown-event\";a.currentTarget=ya(d);B.invokeGuardedCallbackAndCatchFirstError(b,c,void 0,a);a.currentTarget=null}\nfunction Aa(a,b){null==b?A(\"30\"):void 0;if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function Ba(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var Ca=null;\nfunction Da(a,b){if(a){var c=a._dispatchListeners,d=a._dispatchInstances;if(Array.isArray(c))for(var e=0;e<c.length&&!a.isPropagationStopped();e++)za(a,b,c[e],d[e]);else c&&za(a,b,c,d);a._dispatchListeners=null;a._dispatchInstances=null;a.isPersistent()||a.constructor.release(a)}}function Ea(a){return Da(a,!0)}function Fa(a){return Da(a,!1)}var Ga={injectEventPluginOrder:ta,injectEventPluginsByName:ua};\nfunction Ha(a,b){var c=a.stateNode;if(!c)return null;var d=wa(c);if(!d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;c&&\"function\"!==typeof c?A(\"231\",b,typeof c):void 0;\nreturn c}function Ia(a,b){null!==a&&(Ca=Aa(Ca,a));a=Ca;Ca=null;a&&(b?Ba(a,Ea):Ba(a,Fa),Ca?A(\"95\"):void 0,B.rethrowCaughtError())}function Ja(a,b,c,d){for(var e=null,f=0;f<oa.length;f++){var g=oa[f];g&&(g=g.extractEvents(a,b,c,d))&&(e=Aa(e,g))}Ia(e,!1)}var Ka={injection:Ga,getListener:Ha,runEventsInBatch:Ia,runExtractedEventsInBatch:Ja},La=Math.random().toString(36).slice(2),C=\"__reactInternalInstance$\"+La,Ma=\"__reactEventHandlers$\"+La;\nfunction Na(a){if(a[C])return a[C];for(;!a[C];)if(a.parentNode)a=a.parentNode;else return null;a=a[C];return 5===a.tag||6===a.tag?a:null}function Oa(a){if(5===a.tag||6===a.tag)return a.stateNode;A(\"33\")}function Pa(a){return a[Ma]||null}var Qa={precacheFiberNode:function(a,b){b[C]=a},getClosestInstanceFromNode:Na,getInstanceFromNode:function(a){a=a[C];return!a||5!==a.tag&&6!==a.tag?null:a},getNodeFromInstance:Oa,getFiberCurrentPropsFromNode:Pa,updateFiberProps:function(a,b){a[Ma]=b}};\nfunction F(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}function Ra(a,b,c){for(var d=[];a;)d.push(a),a=F(a);for(a=d.length;0<a--;)b(d[a],\"captured\",c);for(a=0;a<d.length;a++)b(d[a],\"bubbled\",c)}function Sa(a,b,c){if(b=Ha(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=Aa(c._dispatchListeners,b),c._dispatchInstances=Aa(c._dispatchInstances,a)}function Ta(a){a&&a.dispatchConfig.phasedRegistrationNames&&Ra(a._targetInst,Sa,a)}\nfunction Ua(a){if(a&&a.dispatchConfig.phasedRegistrationNames){var b=a._targetInst;b=b?F(b):null;Ra(b,Sa,a)}}function Va(a,b,c){a&&c&&c.dispatchConfig.registrationName&&(b=Ha(a,c.dispatchConfig.registrationName))&&(c._dispatchListeners=Aa(c._dispatchListeners,b),c._dispatchInstances=Aa(c._dispatchInstances,a))}function Xa(a){a&&a.dispatchConfig.registrationName&&Va(a._targetInst,null,a)}function Ya(a){Ba(a,Ta)}\nfunction Za(a,b,c,d){if(c&&d)a:{var e=c;for(var f=d,g=0,h=e;h;h=F(h))g++;h=0;for(var k=f;k;k=F(k))h++;for(;0<g-h;)e=F(e),g--;for(;0<h-g;)f=F(f),h--;for(;g--;){if(e===f||e===f.alternate)break a;e=F(e);f=F(f)}e=null}else e=null;f=e;for(e=[];c&&c!==f;){g=c.alternate;if(null!==g&&g===f)break;e.push(c);c=F(c)}for(c=[];d&&d!==f;){g=d.alternate;if(null!==g&&g===f)break;c.push(d);d=F(d)}for(d=0;d<e.length;d++)Va(e[d],\"bubbled\",a);for(a=c.length;0<a--;)Va(c[a],\"captured\",b)}\nvar $a={accumulateTwoPhaseDispatches:Ya,accumulateTwoPhaseDispatchesSkipTarget:function(a){Ba(a,Ua)},accumulateEnterLeaveDispatches:Za,accumulateDirectDispatches:function(a){Ba(a,Xa)}};function ab(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;c[\"ms\"+a]=\"MS\"+b;c[\"O\"+a]=\"o\"+b.toLowerCase();return c}\nvar bb={animationend:ab(\"Animation\",\"AnimationEnd\"),animationiteration:ab(\"Animation\",\"AnimationIteration\"),animationstart:ab(\"Animation\",\"AnimationStart\"),transitionend:ab(\"Transition\",\"TransitionEnd\")},cb={},db={};m.canUseDOM&&(db=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete bb.animationend.animation,delete bb.animationiteration.animation,delete bb.animationstart.animation),\"TransitionEvent\"in window||delete bb.transitionend.transition);\nfunction eb(a){if(cb[a])return cb[a];if(!bb[a])return a;var b=bb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in db)return cb[a]=b[c];return a}var fb=eb(\"animationend\"),gb=eb(\"animationiteration\"),hb=eb(\"animationstart\"),ib=eb(\"transitionend\"),jb=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),kb=null;\nfunction lb(){!kb&&m.canUseDOM&&(kb=\"textContent\"in document.documentElement?\"textContent\":\"innerText\");return kb}var G={_root:null,_startText:null,_fallbackText:null};function mb(){if(G._fallbackText)return G._fallbackText;var a,b=G._startText,c=b.length,d,e=nb(),f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);G._fallbackText=e.slice(a,1<d?1-d:void 0);return G._fallbackText}function nb(){return\"value\"in G._root?G._root.value:G._root[lb()]}\nvar ob=\"dispatchConfig _targetInst nativeEvent isDefaultPrevented isPropagationStopped _dispatchListeners _dispatchInstances\".split(\" \"),pb={type:null,target:null,currentTarget:v.thatReturnsNull,eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};\nfunction H(a,b,c,d){this.dispatchConfig=a;this._targetInst=b;this.nativeEvent=c;a=this.constructor.Interface;for(var e in a)a.hasOwnProperty(e)&&((b=a[e])?this[e]=b(c):\"target\"===e?this.target=d:this[e]=c[e]);this.isDefaultPrevented=(null!=c.defaultPrevented?c.defaultPrevented:!1===c.returnValue)?v.thatReturnsTrue:v.thatReturnsFalse;this.isPropagationStopped=v.thatReturnsFalse;return this}\np(H.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&(a.returnValue=!1),this.isDefaultPrevented=v.thatReturnsTrue)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=v.thatReturnsTrue)},persist:function(){this.isPersistent=v.thatReturnsTrue},isPersistent:v.thatReturnsFalse,\ndestructor:function(){var a=this.constructor.Interface,b;for(b in a)this[b]=null;for(a=0;a<ob.length;a++)this[ob[a]]=null}});H.Interface=pb;H.extend=function(a){function b(){}function c(){return d.apply(this,arguments)}var d=this;b.prototype=d.prototype;var e=new b;p(e,c.prototype);c.prototype=e;c.prototype.constructor=c;c.Interface=p({},d.Interface,a);c.extend=d.extend;qb(c);return c};qb(H);\nfunction rb(a,b,c,d){if(this.eventPool.length){var e=this.eventPool.pop();this.call(e,a,b,c,d);return e}return new this(a,b,c,d)}function sb(a){a instanceof this?void 0:A(\"223\");a.destructor();10>this.eventPool.length&&this.eventPool.push(a)}function qb(a){a.eventPool=[];a.getPooled=rb;a.release=sb}var tb=H.extend({data:null}),ub=H.extend({data:null}),vb=[9,13,27,32],wb=m.canUseDOM&&\"CompositionEvent\"in window,xb=null;m.canUseDOM&&\"documentMode\"in document&&(xb=document.documentMode);\nvar yb=m.canUseDOM&&\"TextEvent\"in window&&!xb,zb=m.canUseDOM&&(!wb||xb&&8<xb&&11>=xb),Ab=String.fromCharCode(32),Bb={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},Cb=!1;\nfunction Db(a,b){switch(a){case \"keyup\":return-1!==vb.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function Eb(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var Fb=!1;function Gb(a,b){switch(a){case \"compositionend\":return Eb(b);case \"keypress\":if(32!==b.which)return null;Cb=!0;return Ab;case \"textInput\":return a=b.data,a===Ab&&Cb?null:a;default:return null}}\nfunction Hb(a,b){if(Fb)return\"compositionend\"===a||!wb&&Db(a,b)?(a=mb(),G._root=null,G._startText=null,G._fallbackText=null,Fb=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return zb?null:b.data;default:return null}}\nvar Ib={eventTypes:Bb,extractEvents:function(a,b,c,d){var e=void 0;var f=void 0;if(wb)b:{switch(a){case \"compositionstart\":e=Bb.compositionStart;break b;case \"compositionend\":e=Bb.compositionEnd;break b;case \"compositionupdate\":e=Bb.compositionUpdate;break b}e=void 0}else Fb?Db(a,c)&&(e=Bb.compositionEnd):\"keydown\"===a&&229===c.keyCode&&(e=Bb.compositionStart);e?(zb&&(Fb||e!==Bb.compositionStart?e===Bb.compositionEnd&&Fb&&(f=mb()):(G._root=d,G._startText=nb(),Fb=!0)),e=tb.getPooled(e,b,c,d),f?e.data=\nf:(f=Eb(c),null!==f&&(e.data=f)),Ya(e),f=e):f=null;(a=yb?Gb(a,c):Hb(a,c))?(b=ub.getPooled(Bb.beforeInput,b,c,d),b.data=a,Ya(b)):b=null;return null===f?b:null===b?f:[f,b]}},Jb=null,Kb={injectFiberControlledHostComponent:function(a){Jb=a}},Lb=null,Mb=null;function Nb(a){if(a=xa(a)){Jb&&\"function\"===typeof Jb.restoreControlledState?void 0:A(\"194\");var b=wa(a.stateNode);Jb.restoreControlledState(a.stateNode,a.type,b)}}function Ob(a){Lb?Mb?Mb.push(a):Mb=[a]:Lb=a}\nfunction Pb(){return null!==Lb||null!==Mb}function Qb(){if(Lb){var a=Lb,b=Mb;Mb=Lb=null;Nb(a);if(b)for(a=0;a<b.length;a++)Nb(b[a])}}var Rb={injection:Kb,enqueueStateRestore:Ob,needsStateRestore:Pb,restoreStateIfNeeded:Qb};function Sb(a,b){return a(b)}function Tb(a,b,c){return a(b,c)}function Ub(){}var Vb=!1;function Wb(a,b){if(Vb)return a(b);Vb=!0;try{return Sb(a,b)}finally{Vb=!1,Pb()&&(Ub(),Qb())}}\nvar Xb={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Yb(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!Xb[a.type]:\"textarea\"===b?!0:!1}function Zb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}\nfunction $b(a,b){if(!m.canUseDOM||b&&!(\"addEventListener\"in document))return!1;a=\"on\"+a;b=a in document;b||(b=document.createElement(\"div\"),b.setAttribute(a,\"return;\"),b=\"function\"===typeof b[a]);return b}function ac(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction bc(a){var b=ac(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function cc(a){a._valueTracker||(a._valueTracker=bc(a))}function dc(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=ac(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}\nvar ec=ba.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,fc=\"function\"===typeof Symbol&&Symbol.for,gc=fc?Symbol.for(\"react.element\"):60103,hc=fc?Symbol.for(\"react.portal\"):60106,ic=fc?Symbol.for(\"react.fragment\"):60107,jc=fc?Symbol.for(\"react.strict_mode\"):60108,kc=fc?Symbol.for(\"react.profiler\"):60114,lc=fc?Symbol.for(\"react.provider\"):60109,mc=fc?Symbol.for(\"react.context\"):60110,pc=fc?Symbol.for(\"react.async_mode\"):60111,qc=fc?Symbol.for(\"react.forward_ref\"):60112,rc=fc?Symbol.for(\"react.timeout\"):\n60113,sc=\"function\"===typeof Symbol&&Symbol.iterator;function tc(a){if(null===a||\"undefined\"===typeof a)return null;a=sc&&a[sc]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nfunction uc(a){var b=a.type;if(\"function\"===typeof b)return b.displayName||b.name;if(\"string\"===typeof b)return b;switch(b){case pc:return\"AsyncMode\";case mc:return\"Context.Consumer\";case ic:return\"ReactFragment\";case hc:return\"ReactPortal\";case kc:return\"Profiler(\"+a.pendingProps.id+\")\";case lc:return\"Context.Provider\";case jc:return\"StrictMode\";case rc:return\"Timeout\"}if(\"object\"===typeof b&&null!==b)switch(b.$$typeof){case qc:return a=b.render.displayName||b.render.name||\"\",\"\"!==a?\"ForwardRef(\"+\na+\")\":\"ForwardRef\"}return null}function vc(a){var b=\"\";do{a:switch(a.tag){case 0:case 1:case 2:case 5:var c=a._debugOwner,d=a._debugSource;var e=uc(a);var f=null;c&&(f=uc(c));c=d;e=\"\\n in \"+(e||\"Unknown\")+(c?\" (at \"+c.fileName.replace(/^.*[\\\\\\/]/,\"\")+\":\"+c.lineNumber+\")\":f?\" (created by \"+f+\")\":\"\");break a;default:e=\"\"}b+=e;a=a.return}while(a);return b}\nvar wc=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,xc={},zc={};function Ac(a){if(zc.hasOwnProperty(a))return!0;if(xc.hasOwnProperty(a))return!1;if(wc.test(a))return zc[a]=!0;xc[a]=!0;return!1}\nfunction Bc(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}function Cc(a,b,c,d){if(null===b||\"undefined\"===typeof b||Bc(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}\nfunction I(a,b,c,d,e){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b}var J={};\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){J[a]=new I(a,0,!1,a,null)});\n[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];J[b]=new I(b,1,!1,a[1],null)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){J[a]=new I(a,2,!1,a.toLowerCase(),null)});[\"autoReverse\",\"externalResourcesRequired\",\"preserveAlpha\"].forEach(function(a){J[a]=new I(a,2,!1,a,null)});\n\"allowFullScreen async autoFocus autoPlay controls default defer disabled formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){J[a]=new I(a,3,!1,a.toLowerCase(),null)});[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){J[a]=new I(a,3,!0,a.toLowerCase(),null)});[\"capture\",\"download\"].forEach(function(a){J[a]=new I(a,4,!1,a.toLowerCase(),null)});\n[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){J[a]=new I(a,6,!1,a.toLowerCase(),null)});[\"rowSpan\",\"start\"].forEach(function(a){J[a]=new I(a,5,!1,a.toLowerCase(),null)});var Dc=/[\\-:]([a-z])/g;function Ec(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(Dc,\nEc);J[b]=new I(b,1,!1,a,null)});\"xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(Dc,Ec);J[b]=new I(b,1,!1,a,\"http://www.w3.org/1999/xlink\")});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(Dc,Ec);J[b]=new I(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\")});J.tabIndex=new I(\"tabIndex\",1,!1,\"tabindex\",null);\nfunction Fc(a,b,c,d){var e=J.hasOwnProperty(b)?J[b]:null;var f=null!==e?0===e.type:d?!1:!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1]?!1:!0;f||(Cc(b,c,e,d)&&(c=null),d||null===e?Ac(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c))))}\nfunction Gc(a,b){var c=b.checked;return p({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Hc(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Ic(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function Jc(a,b){b=b.checked;null!=b&&Fc(a,\"checked\",b,!1)}\nfunction Kc(a,b){Jc(a,b);var c=Ic(b.value);if(null!=c)if(\"number\"===b.type){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);b.hasOwnProperty(\"value\")?Lc(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&Lc(a,b.type,Ic(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction Mc(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){b=\"\"+a._wrapperState.initialValue;var d=a.value;c||b===d||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!a.defaultChecked;a.defaultChecked=!a.defaultChecked;\"\"!==c&&(a.name=c)}function Lc(a,b,c){if(\"number\"!==b||a.ownerDocument.activeElement!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}\nfunction Ic(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}var Nc={change:{phasedRegistrationNames:{bubbled:\"onChange\",captured:\"onChangeCapture\"},dependencies:\"blur change click focus input keydown keyup selectionchange\".split(\" \")}};function Oc(a,b,c){a=H.getPooled(Nc.change,a,b,c);a.type=\"change\";Ob(c);Ya(a);return a}var Pc=null,Qc=null;function Rc(a){Ia(a,!1)}function Sc(a){var b=Oa(a);if(dc(b))return a}\nfunction Tc(a,b){if(\"change\"===a)return b}var Uc=!1;m.canUseDOM&&(Uc=$b(\"input\")&&(!document.documentMode||9<document.documentMode));function Vc(){Pc&&(Pc.detachEvent(\"onpropertychange\",Wc),Qc=Pc=null)}function Wc(a){\"value\"===a.propertyName&&Sc(Qc)&&(a=Oc(Qc,a,Zb(a)),Wb(Rc,a))}function Xc(a,b,c){\"focus\"===a?(Vc(),Pc=b,Qc=c,Pc.attachEvent(\"onpropertychange\",Wc)):\"blur\"===a&&Vc()}function Yc(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return Sc(Qc)}\nfunction Zc(a,b){if(\"click\"===a)return Sc(b)}function $c(a,b){if(\"input\"===a||\"change\"===a)return Sc(b)}\nvar ad={eventTypes:Nc,_isInputEventSupported:Uc,extractEvents:function(a,b,c,d){var e=b?Oa(b):window,f=void 0,g=void 0,h=e.nodeName&&e.nodeName.toLowerCase();\"select\"===h||\"input\"===h&&\"file\"===e.type?f=Tc:Yb(e)?Uc?f=$c:(f=Yc,g=Xc):(h=e.nodeName)&&\"input\"===h.toLowerCase()&&(\"checkbox\"===e.type||\"radio\"===e.type)&&(f=Zc);if(f&&(f=f(a,b)))return Oc(f,c,d);g&&g(a,e,b);\"blur\"===a&&(a=e._wrapperState)&&a.controlled&&\"number\"===e.type&&Lc(e,\"number\",e.value)}},bd=H.extend({view:null,detail:null}),cd={Alt:\"altKey\",\nControl:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function dd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=cd[a])?!!b[a]:!1}function ed(){return dd}\nvar fd=bd.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:ed,button:null,buttons:null,relatedTarget:function(a){return a.relatedTarget||(a.fromElement===a.srcElement?a.toElement:a.fromElement)}}),gd=fd.extend({pointerId:null,width:null,height:null,pressure:null,tiltX:null,tiltY:null,pointerType:null,isPrimary:null}),hd={mouseEnter:{registrationName:\"onMouseEnter\",dependencies:[\"mouseout\",\"mouseover\"]},\nmouseLeave:{registrationName:\"onMouseLeave\",dependencies:[\"mouseout\",\"mouseover\"]},pointerEnter:{registrationName:\"onPointerEnter\",dependencies:[\"pointerout\",\"pointerover\"]},pointerLeave:{registrationName:\"onPointerLeave\",dependencies:[\"pointerout\",\"pointerover\"]}},id={eventTypes:hd,extractEvents:function(a,b,c,d){var e=\"mouseover\"===a||\"pointerover\"===a,f=\"mouseout\"===a||\"pointerout\"===a;if(e&&(c.relatedTarget||c.fromElement)||!f&&!e)return null;e=d.window===d?d:(e=d.ownerDocument)?e.defaultView||\ne.parentWindow:window;f?(f=b,b=(b=c.relatedTarget||c.toElement)?Na(b):null):f=null;if(f===b)return null;var g=void 0,h=void 0,k=void 0,n=void 0;if(\"mouseout\"===a||\"mouseover\"===a)g=fd,h=hd.mouseLeave,k=hd.mouseEnter,n=\"mouse\";else if(\"pointerout\"===a||\"pointerover\"===a)g=gd,h=hd.pointerLeave,k=hd.pointerEnter,n=\"pointer\";a=null==f?e:Oa(f);e=null==b?e:Oa(b);h=g.getPooled(h,f,c,d);h.type=n+\"leave\";h.target=a;h.relatedTarget=e;c=g.getPooled(k,b,c,d);c.type=n+\"enter\";c.target=e;c.relatedTarget=a;Za(h,\nc,f,b);return[h,c]}};function jd(a){var b=a;if(a.alternate)for(;b.return;)b=b.return;else{if(0!==(b.effectTag&2))return 1;for(;b.return;)if(b=b.return,0!==(b.effectTag&2))return 1}return 3===b.tag?2:3}function kd(a){2!==jd(a)?A(\"188\"):void 0}\nfunction ld(a){var b=a.alternate;if(!b)return b=jd(a),3===b?A(\"188\"):void 0,1===b?null:a;for(var c=a,d=b;;){var e=c.return,f=e?e.alternate:null;if(!e||!f)break;if(e.child===f.child){for(var g=e.child;g;){if(g===c)return kd(e),a;if(g===d)return kd(e),b;g=g.sibling}A(\"188\")}if(c.return!==d.return)c=e,d=f;else{g=!1;for(var h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===c){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}g?\nvoid 0:A(\"189\")}}c.alternate!==d?A(\"190\"):void 0}3!==c.tag?A(\"188\"):void 0;return c.stateNode.current===c?a:b}function md(a){a=ld(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction nd(a){a=ld(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child&&4!==b.tag)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}var od=H.extend({animationName:null,elapsedTime:null,pseudoElement:null}),pd=H.extend({clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),qd=bd.extend({relatedTarget:null});\nfunction rd(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}\nvar sd={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},td={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",\n116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},ud=bd.extend({key:function(a){if(a.key){var b=sd[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=rd(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?td[a.keyCode]||\"Unidentified\":\"\"},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:ed,charCode:function(a){return\"keypress\"===\na.type?rd(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===a.type?rd(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),vd=fd.extend({dataTransfer:null}),wd=bd.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:ed}),xd=H.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),yd=fd.extend({deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in\na?-a.wheelDeltaX:0},deltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:null,deltaMode:null}),zd=[[\"abort\",\"abort\"],[fb,\"animationEnd\"],[gb,\"animationIteration\"],[hb,\"animationStart\"],[\"canplay\",\"canPlay\"],[\"canplaythrough\",\"canPlayThrough\"],[\"drag\",\"drag\"],[\"dragenter\",\"dragEnter\"],[\"dragexit\",\"dragExit\"],[\"dragleave\",\"dragLeave\"],[\"dragover\",\"dragOver\"],[\"durationchange\",\"durationChange\"],[\"emptied\",\"emptied\"],[\"encrypted\",\"encrypted\"],\n[\"ended\",\"ended\"],[\"error\",\"error\"],[\"gotpointercapture\",\"gotPointerCapture\"],[\"load\",\"load\"],[\"loadeddata\",\"loadedData\"],[\"loadedmetadata\",\"loadedMetadata\"],[\"loadstart\",\"loadStart\"],[\"lostpointercapture\",\"lostPointerCapture\"],[\"mousemove\",\"mouseMove\"],[\"mouseout\",\"mouseOut\"],[\"mouseover\",\"mouseOver\"],[\"playing\",\"playing\"],[\"pointermove\",\"pointerMove\"],[\"pointerout\",\"pointerOut\"],[\"pointerover\",\"pointerOver\"],[\"progress\",\"progress\"],[\"scroll\",\"scroll\"],[\"seeking\",\"seeking\"],[\"stalled\",\"stalled\"],\n[\"suspend\",\"suspend\"],[\"timeupdate\",\"timeUpdate\"],[\"toggle\",\"toggle\"],[\"touchmove\",\"touchMove\"],[ib,\"transitionEnd\"],[\"waiting\",\"waiting\"],[\"wheel\",\"wheel\"]],Ad={},Bd={};function Cd(a,b){var c=a[0];a=a[1];var d=\"on\"+(a[0].toUpperCase()+a.slice(1));b={phasedRegistrationNames:{bubbled:d,captured:d+\"Capture\"},dependencies:[c],isInteractive:b};Ad[a]=b;Bd[c]=b}\n[[\"blur\",\"blur\"],[\"cancel\",\"cancel\"],[\"click\",\"click\"],[\"close\",\"close\"],[\"contextmenu\",\"contextMenu\"],[\"copy\",\"copy\"],[\"cut\",\"cut\"],[\"dblclick\",\"doubleClick\"],[\"dragend\",\"dragEnd\"],[\"dragstart\",\"dragStart\"],[\"drop\",\"drop\"],[\"focus\",\"focus\"],[\"input\",\"input\"],[\"invalid\",\"invalid\"],[\"keydown\",\"keyDown\"],[\"keypress\",\"keyPress\"],[\"keyup\",\"keyUp\"],[\"mousedown\",\"mouseDown\"],[\"mouseup\",\"mouseUp\"],[\"paste\",\"paste\"],[\"pause\",\"pause\"],[\"play\",\"play\"],[\"pointercancel\",\"pointerCancel\"],[\"pointerdown\",\"pointerDown\"],\n[\"pointerup\",\"pointerUp\"],[\"ratechange\",\"rateChange\"],[\"reset\",\"reset\"],[\"seeked\",\"seeked\"],[\"submit\",\"submit\"],[\"touchcancel\",\"touchCancel\"],[\"touchend\",\"touchEnd\"],[\"touchstart\",\"touchStart\"],[\"volumechange\",\"volumeChange\"]].forEach(function(a){Cd(a,!0)});zd.forEach(function(a){Cd(a,!1)});\nvar Dd={eventTypes:Ad,isInteractiveTopLevelEventType:function(a){a=Bd[a];return void 0!==a&&!0===a.isInteractive},extractEvents:function(a,b,c,d){var e=Bd[a];if(!e)return null;switch(a){case \"keypress\":if(0===rd(c))return null;case \"keydown\":case \"keyup\":a=ud;break;case \"blur\":case \"focus\":a=qd;break;case \"click\":if(2===c.button)return null;case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":a=fd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":a=\nvd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":a=wd;break;case fb:case gb:case hb:a=od;break;case ib:a=xd;break;case \"scroll\":a=bd;break;case \"wheel\":a=yd;break;case \"copy\":case \"cut\":case \"paste\":a=pd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":a=gd;break;default:a=H}b=a.getPooled(e,b,c,d);Ya(b);return b}},Ed=Dd.isInteractiveTopLevelEventType,\nFd=[];function Gd(a){var b=a.targetInst;do{if(!b){a.ancestors.push(b);break}var c;for(c=b;c.return;)c=c.return;c=3!==c.tag?null:c.stateNode.containerInfo;if(!c)break;a.ancestors.push(b);b=Na(c)}while(b);for(c=0;c<a.ancestors.length;c++)b=a.ancestors[c],Ja(a.topLevelType,b,a.nativeEvent,Zb(a.nativeEvent))}var Hd=!0;function Id(a){Hd=!!a}function K(a,b){if(!b)return null;var c=(Ed(a)?Kd:Ld).bind(null,a);b.addEventListener(a,c,!1)}\nfunction Md(a,b){if(!b)return null;var c=(Ed(a)?Kd:Ld).bind(null,a);b.addEventListener(a,c,!0)}function Kd(a,b){Tb(Ld,a,b)}function Ld(a,b){if(Hd){var c=Zb(b);c=Na(c);null===c||\"number\"!==typeof c.tag||2===jd(c)||(c=null);if(Fd.length){var d=Fd.pop();d.topLevelType=a;d.nativeEvent=b;d.targetInst=c;a=d}else a={topLevelType:a,nativeEvent:b,targetInst:c,ancestors:[]};try{Wb(Gd,a)}finally{a.topLevelType=null,a.nativeEvent=null,a.targetInst=null,a.ancestors.length=0,10>Fd.length&&Fd.push(a)}}}\nvar Nd={get _enabled(){return Hd},setEnabled:Id,isEnabled:function(){return Hd},trapBubbledEvent:K,trapCapturedEvent:Md,dispatchEvent:Ld},Od={},Pd=0,Qd=\"_reactListenersID\"+(\"\"+Math.random()).slice(2);function Rd(a){Object.prototype.hasOwnProperty.call(a,Qd)||(a[Qd]=Pd++,Od[a[Qd]]={});return Od[a[Qd]]}function Sd(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Td(a,b){var c=Sd(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Sd(c)}}function Ud(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nvar Vd=m.canUseDOM&&\"documentMode\"in document&&11>=document.documentMode,Wd={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},Xd=null,Yd=null,Zd=null,$d=!1;\nfunction ae(a,b){if($d||null==Xd||Xd!==da())return null;var c=Xd;\"selectionStart\"in c&&Ud(c)?c={start:c.selectionStart,end:c.selectionEnd}:window.getSelection?(c=window.getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset}):c=void 0;return Zd&&ea(Zd,c)?null:(Zd=c,a=H.getPooled(Wd.select,Yd,a,b),a.type=\"select\",a.target=Xd,Ya(a),a)}\nvar be={eventTypes:Wd,extractEvents:function(a,b,c,d){var e=d.window===d?d.document:9===d.nodeType?d:d.ownerDocument,f;if(!(f=!e)){a:{e=Rd(e);f=sa.onSelect;for(var g=0;g<f.length;g++){var h=f[g];if(!e.hasOwnProperty(h)||!e[h]){e=!1;break a}}e=!0}f=!e}if(f)return null;e=b?Oa(b):window;switch(a){case \"focus\":if(Yb(e)||\"true\"===e.contentEditable)Xd=e,Yd=b,Zd=null;break;case \"blur\":Zd=Yd=Xd=null;break;case \"mousedown\":$d=!0;break;case \"contextmenu\":case \"mouseup\":return $d=!1,ae(c,d);case \"selectionchange\":if(Vd)break;\ncase \"keydown\":case \"keyup\":return ae(c,d)}return null}};Ga.injectEventPluginOrder(\"ResponderEventPlugin SimpleEventPlugin TapEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin\".split(\" \"));wa=Qa.getFiberCurrentPropsFromNode;xa=Qa.getInstanceFromNode;ya=Qa.getNodeFromInstance;Ga.injectEventPluginsByName({SimpleEventPlugin:Dd,EnterLeaveEventPlugin:id,ChangeEventPlugin:ad,SelectEventPlugin:be,BeforeInputEventPlugin:Ib});\nvar ce=\"function\"===typeof requestAnimationFrame?requestAnimationFrame:void 0,de=Date,ee=setTimeout,fe=clearTimeout,ge=void 0;if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var he=performance;ge=function(){return he.now()}}else ge=function(){return de.now()};var ie=void 0,je=void 0;\nif(m.canUseDOM){var ke=\"function\"===typeof ce?ce:function(){A(\"276\")},L=null,le=null,me=-1,ne=!1,oe=!1,pe=0,qe=33,re=33,se={didTimeout:!1,timeRemaining:function(){var a=pe-ge();return 0<a?a:0}},ue=function(a,b){var c=a.scheduledCallback,d=!1;try{c(b),d=!0}finally{je(a),d||(ne=!0,window.postMessage(te,\"*\"))}},te=\"__reactIdleCallback$\"+Math.random().toString(36).slice(2);window.addEventListener(\"message\",function(a){if(a.source===window&&a.data===te&&(ne=!1,null!==L)){if(null!==L){var b=ge();if(!(-1===\nme||me>b)){a=-1;for(var c=[],d=L;null!==d;){var e=d.timeoutTime;-1!==e&&e<=b?c.push(d):-1!==e&&(-1===a||e<a)&&(a=e);d=d.next}if(0<c.length)for(se.didTimeout=!0,b=0,d=c.length;b<d;b++)ue(c[b],se);me=a}}for(a=ge();0<pe-a&&null!==L;)a=L,se.didTimeout=!1,ue(a,se),a=ge();null===L||oe||(oe=!0,ke(ve))}},!1);var ve=function(a){oe=!1;var b=a-pe+re;b<re&&qe<re?(8>b&&(b=8),re=b<qe?qe:b):qe=b;pe=a+re;ne||(ne=!0,window.postMessage(te,\"*\"))};ie=function(a,b){var c=-1;null!=b&&\"number\"===typeof b.timeout&&(c=ge()+\nb.timeout);if(-1===me||-1!==c&&c<me)me=c;a={scheduledCallback:a,timeoutTime:c,prev:null,next:null};null===L?L=a:(b=a.prev=le,null!==b&&(b.next=a));le=a;oe||(oe=!0,ke(ve));return a};je=function(a){if(null!==a.prev||L===a){var b=a.next,c=a.prev;a.next=null;a.prev=null;null!==b?null!==c?(c.next=b,b.prev=c):(b.prev=null,L=b):null!==c?(c.next=null,le=c):le=L=null}}}else{var we=new Map;ie=function(a){var b={scheduledCallback:a,timeoutTime:0,next:null,prev:null},c=ee(function(){a({timeRemaining:function(){return Infinity},\ndidTimeout:!1})});we.set(a,c);return b};je=function(a){var b=we.get(a.scheduledCallback);we.delete(a);fe(b)}}function xe(a){var b=\"\";ba.Children.forEach(a,function(a){null==a||\"string\"!==typeof a&&\"number\"!==typeof a||(b+=a)});return b}function ye(a,b){a=p({children:void 0},b);if(b=xe(b.children))a.children=b;return a}\nfunction ze(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+c;b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction Ae(a,b){var c=b.value;a._wrapperState={initialValue:null!=c?c:b.defaultValue,wasMultiple:!!b.multiple}}function Be(a,b){null!=b.dangerouslySetInnerHTML?A(\"91\"):void 0;return p({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function Ce(a,b){var c=b.value;null==c&&(c=b.defaultValue,b=b.children,null!=b&&(null!=c?A(\"92\"):void 0,Array.isArray(b)&&(1>=b.length?void 0:A(\"93\"),b=b[0]),c=\"\"+b),null==c&&(c=\"\"));a._wrapperState={initialValue:\"\"+c}}\nfunction De(a,b){var c=b.value;null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&(a.defaultValue=c));null!=b.defaultValue&&(a.defaultValue=b.defaultValue)}function Ee(a){var b=a.textContent;b===a._wrapperState.initialValue&&(a.value=b)}var Fe={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Ge(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function He(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Ge(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Ie=void 0,Je=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Fe.svg||\"innerHTML\"in a)a.innerHTML=b;else{Ie=Ie||document.createElement(\"div\");Ie.innerHTML=\"<svg>\"+b+\"</svg>\";for(b=Ie.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Ke(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar Le={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,\nstopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Me=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(Le).forEach(function(a){Me.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);Le[b]=Le[a]})});\nfunction Ne(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\");var e=c;var f=b[c];e=null==f||\"boolean\"===typeof f||\"\"===f?\"\":d||\"number\"!==typeof f||0===f||Le.hasOwnProperty(e)&&Le[e]?(\"\"+f).trim():f+\"px\";\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var Oe=p({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction Pe(a,b,c){b&&(Oe[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML?A(\"137\",a,c()):void 0),null!=b.dangerouslySetInnerHTML&&(null!=b.children?A(\"60\"):void 0,\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML?void 0:A(\"61\")),null!=b.style&&\"object\"!==typeof b.style?A(\"62\",c()):void 0)}\nfunction Qe(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var Re=v.thatReturns(\"\");\nfunction Se(a,b){a=9===a.nodeType||11===a.nodeType?a:a.ownerDocument;var c=Rd(a);b=sa[b];for(var d=0;d<b.length;d++){var e=b[d];if(!c.hasOwnProperty(e)||!c[e]){switch(e){case \"scroll\":Md(\"scroll\",a);break;case \"focus\":case \"blur\":Md(\"focus\",a);Md(\"blur\",a);c.blur=!0;c.focus=!0;break;case \"cancel\":case \"close\":$b(e,!0)&&Md(e,a);break;case \"invalid\":case \"submit\":case \"reset\":break;default:-1===jb.indexOf(e)&&K(e,a)}c[e]=!0}}}\nfunction Te(a,b,c,d){c=9===c.nodeType?c:c.ownerDocument;d===Fe.html&&(d=Ge(a));d===Fe.html?\"script\"===a?(a=c.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):a=\"string\"===typeof b.is?c.createElement(a,{is:b.is}):c.createElement(a):a=c.createElementNS(d,a);return a}function Ue(a,b){return(9===b.nodeType?b:b.ownerDocument).createTextNode(a)}\nfunction Ve(a,b,c,d){var e=Qe(b,c);switch(b){case \"iframe\":case \"object\":K(\"load\",a);var f=c;break;case \"video\":case \"audio\":for(f=0;f<jb.length;f++)K(jb[f],a);f=c;break;case \"source\":K(\"error\",a);f=c;break;case \"img\":case \"image\":case \"link\":K(\"error\",a);K(\"load\",a);f=c;break;case \"form\":K(\"reset\",a);K(\"submit\",a);f=c;break;case \"details\":K(\"toggle\",a);f=c;break;case \"input\":Hc(a,c);f=Gc(a,c);K(\"invalid\",a);Se(d,\"onChange\");break;case \"option\":f=ye(a,c);break;case \"select\":Ae(a,c);f=p({},c,{value:void 0});\nK(\"invalid\",a);Se(d,\"onChange\");break;case \"textarea\":Ce(a,c);f=Be(a,c);K(\"invalid\",a);Se(d,\"onChange\");break;default:f=c}Pe(b,f,Re);var g=f,h;for(h in g)if(g.hasOwnProperty(h)){var k=g[h];\"style\"===h?Ne(a,k,Re):\"dangerouslySetInnerHTML\"===h?(k=k?k.__html:void 0,null!=k&&Je(a,k)):\"children\"===h?\"string\"===typeof k?(\"textarea\"!==b||\"\"!==k)&&Ke(a,k):\"number\"===typeof k&&Ke(a,\"\"+k):\"suppressContentEditableWarning\"!==h&&\"suppressHydrationWarning\"!==h&&\"autoFocus\"!==h&&(ra.hasOwnProperty(h)?null!=k&&Se(d,\nh):null!=k&&Fc(a,h,k,e))}switch(b){case \"input\":cc(a);Mc(a,c,!1);break;case \"textarea\":cc(a);Ee(a,c);break;case \"option\":null!=c.value&&a.setAttribute(\"value\",c.value);break;case \"select\":a.multiple=!!c.multiple;b=c.value;null!=b?ze(a,!!c.multiple,b,!1):null!=c.defaultValue&&ze(a,!!c.multiple,c.defaultValue,!0);break;default:\"function\"===typeof f.onClick&&(a.onclick=v)}}\nfunction We(a,b,c,d,e){var f=null;switch(b){case \"input\":c=Gc(a,c);d=Gc(a,d);f=[];break;case \"option\":c=ye(a,c);d=ye(a,d);f=[];break;case \"select\":c=p({},c,{value:void 0});d=p({},d,{value:void 0});f=[];break;case \"textarea\":c=Be(a,c);d=Be(a,d);f=[];break;default:\"function\"!==typeof c.onClick&&\"function\"===typeof d.onClick&&(a.onclick=v)}Pe(b,d,Re);b=a=void 0;var g=null;for(a in c)if(!d.hasOwnProperty(a)&&c.hasOwnProperty(a)&&null!=c[a])if(\"style\"===a){var h=c[a];for(b in h)h.hasOwnProperty(b)&&(g||\n(g={}),g[b]=\"\")}else\"dangerouslySetInnerHTML\"!==a&&\"children\"!==a&&\"suppressContentEditableWarning\"!==a&&\"suppressHydrationWarning\"!==a&&\"autoFocus\"!==a&&(ra.hasOwnProperty(a)?f||(f=[]):(f=f||[]).push(a,null));for(a in d){var k=d[a];h=null!=c?c[a]:void 0;if(d.hasOwnProperty(a)&&k!==h&&(null!=k||null!=h))if(\"style\"===a)if(h){for(b in h)!h.hasOwnProperty(b)||k&&k.hasOwnProperty(b)||(g||(g={}),g[b]=\"\");for(b in k)k.hasOwnProperty(b)&&h[b]!==k[b]&&(g||(g={}),g[b]=k[b])}else g||(f||(f=[]),f.push(a,g)),\ng=k;else\"dangerouslySetInnerHTML\"===a?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(a,\"\"+k)):\"children\"===a?h===k||\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(a,\"\"+k):\"suppressContentEditableWarning\"!==a&&\"suppressHydrationWarning\"!==a&&(ra.hasOwnProperty(a)?(null!=k&&Se(e,a),f||h===k||(f=[])):(f=f||[]).push(a,k))}g&&(f=f||[]).push(\"style\",g);return f}\nfunction Xe(a,b,c,d,e){\"input\"===c&&\"radio\"===e.type&&null!=e.name&&Jc(a,e);Qe(c,d);d=Qe(c,e);for(var f=0;f<b.length;f+=2){var g=b[f],h=b[f+1];\"style\"===g?Ne(a,h,Re):\"dangerouslySetInnerHTML\"===g?Je(a,h):\"children\"===g?Ke(a,h):Fc(a,g,h,d)}switch(c){case \"input\":Kc(a,e);break;case \"textarea\":De(a,e);break;case \"select\":a._wrapperState.initialValue=void 0,b=a._wrapperState.wasMultiple,a._wrapperState.wasMultiple=!!e.multiple,c=e.value,null!=c?ze(a,!!e.multiple,c,!1):b!==!!e.multiple&&(null!=e.defaultValue?\nze(a,!!e.multiple,e.defaultValue,!0):ze(a,!!e.multiple,e.multiple?[]:\"\",!1))}}\nfunction Ye(a,b,c,d,e){switch(b){case \"iframe\":case \"object\":K(\"load\",a);break;case \"video\":case \"audio\":for(d=0;d<jb.length;d++)K(jb[d],a);break;case \"source\":K(\"error\",a);break;case \"img\":case \"image\":case \"link\":K(\"error\",a);K(\"load\",a);break;case \"form\":K(\"reset\",a);K(\"submit\",a);break;case \"details\":K(\"toggle\",a);break;case \"input\":Hc(a,c);K(\"invalid\",a);Se(e,\"onChange\");break;case \"select\":Ae(a,c);K(\"invalid\",a);Se(e,\"onChange\");break;case \"textarea\":Ce(a,c),K(\"invalid\",a),Se(e,\"onChange\")}Pe(b,\nc,Re);d=null;for(var f in c)if(c.hasOwnProperty(f)){var g=c[f];\"children\"===f?\"string\"===typeof g?a.textContent!==g&&(d=[\"children\",g]):\"number\"===typeof g&&a.textContent!==\"\"+g&&(d=[\"children\",\"\"+g]):ra.hasOwnProperty(f)&&null!=g&&Se(e,f)}switch(b){case \"input\":cc(a);Mc(a,c,!0);break;case \"textarea\":cc(a);Ee(a,c);break;case \"select\":case \"option\":break;default:\"function\"===typeof c.onClick&&(a.onclick=v)}return d}function Ze(a,b){return a.nodeValue!==b}\nvar $e={createElement:Te,createTextNode:Ue,setInitialProperties:Ve,diffProperties:We,updateProperties:Xe,diffHydratedProperties:Ye,diffHydratedText:Ze,warnForUnmatchedText:function(){},warnForDeletedHydratableElement:function(){},warnForDeletedHydratableText:function(){},warnForInsertedHydratedElement:function(){},warnForInsertedHydratedText:function(){},restoreControlledState:function(a,b,c){switch(b){case \"input\":Kc(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;\nc=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Pa(d);e?void 0:A(\"90\");dc(d);Kc(d,e)}}}break;case \"textarea\":De(a,c);break;case \"select\":b=c.value,null!=b&&ze(a,!!c.multiple,b,!1)}}},af=null,bf=null;function cf(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction df(a,b){return\"textarea\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&\"string\"===typeof b.dangerouslySetInnerHTML.__html}var ef=ge,ff=ie,gf=je;function hf(a){for(a=a.nextSibling;a&&1!==a.nodeType&&3!==a.nodeType;)a=a.nextSibling;return a}function jf(a){for(a=a.firstChild;a&&1!==a.nodeType&&3!==a.nodeType;)a=a.nextSibling;return a}new Set;var kf=[],lf=-1;function mf(a){return{current:a}}\nfunction M(a){0>lf||(a.current=kf[lf],kf[lf]=null,lf--)}function N(a,b){lf++;kf[lf]=a.current;a.current=b}var nf=mf(ha),O=mf(!1),of=ha;function pf(a){return qf(a)?of:nf.current}\nfunction rf(a,b){var c=a.type.contextTypes;if(!c)return ha;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function qf(a){return 2===a.tag&&null!=a.type.childContextTypes}function sf(a){qf(a)&&(M(O,a),M(nf,a))}function tf(a){M(O,a);M(nf,a)}\nfunction uf(a,b,c){nf.current!==ha?A(\"168\"):void 0;N(nf,b,a);N(O,c,a)}function vf(a,b){var c=a.stateNode,d=a.type.childContextTypes;if(\"function\"!==typeof c.getChildContext)return b;c=c.getChildContext();for(var e in c)e in d?void 0:A(\"108\",uc(a)||\"Unknown\",e);return p({},b,c)}function wf(a){if(!qf(a))return!1;var b=a.stateNode;b=b&&b.__reactInternalMemoizedMergedChildContext||ha;of=nf.current;N(nf,b,a);N(O,O.current,a);return!0}\nfunction xf(a,b){var c=a.stateNode;c?void 0:A(\"169\");if(b){var d=vf(a,of);c.__reactInternalMemoizedMergedChildContext=d;M(O,a);M(nf,a);N(nf,d,a)}else M(O,a);N(O,b,a)}\nfunction yf(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=null;this.index=0;this.ref=null;this.pendingProps=b;this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.effectTag=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.expirationTime=0;this.alternate=null}\nfunction zf(a,b,c){var d=a.alternate;null===d?(d=new yf(a.tag,b,a.key,a.mode),d.type=a.type,d.stateNode=a.stateNode,d.alternate=a,a.alternate=d):(d.pendingProps=b,d.effectTag=0,d.nextEffect=null,d.firstEffect=null,d.lastEffect=null);d.expirationTime=c;d.child=a.child;d.memoizedProps=a.memoizedProps;d.memoizedState=a.memoizedState;d.updateQueue=a.updateQueue;d.sibling=a.sibling;d.index=a.index;d.ref=a.ref;return d}\nfunction Af(a,b,c){var d=a.type,e=a.key;a=a.props;if(\"function\"===typeof d)var f=d.prototype&&d.prototype.isReactComponent?2:0;else if(\"string\"===typeof d)f=5;else switch(d){case ic:return Bf(a.children,b,c,e);case pc:f=11;b|=3;break;case jc:f=11;b|=2;break;case kc:return d=new yf(15,a,e,b|4),d.type=kc,d.expirationTime=c,d;case rc:f=16;b|=2;break;default:a:{switch(\"object\"===typeof d&&null!==d?d.$$typeof:null){case lc:f=13;break a;case mc:f=12;break a;case qc:f=14;break a;default:A(\"130\",null==d?\nd:typeof d,\"\")}f=void 0}}b=new yf(f,a,e,b);b.type=d;b.expirationTime=c;return b}function Bf(a,b,c,d){a=new yf(10,a,d,b);a.expirationTime=c;return a}function Cf(a,b,c){a=new yf(6,a,null,b);a.expirationTime=c;return a}function Df(a,b,c){b=new yf(4,null!==a.children?a.children:[],a.key,b);b.expirationTime=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction Ef(a,b,c){b=new yf(3,null,null,b?3:0);a={current:b,containerInfo:a,pendingChildren:null,earliestPendingTime:0,latestPendingTime:0,earliestSuspendedTime:0,latestSuspendedTime:0,latestPingedTime:0,pendingCommitExpirationTime:0,finishedWork:null,context:null,pendingContext:null,hydrate:c,remainingExpirationTime:0,firstBatch:null,nextScheduledRoot:null};return b.stateNode=a}var Ff=null,Gf=null;function Hf(a){return function(b){try{return a(b)}catch(c){}}}\nfunction If(a){if(\"undefined\"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var b=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(b.isDisabled||!b.supportsFiber)return!0;try{var c=b.inject(a);Ff=Hf(function(a){return b.onCommitFiberRoot(c,a)});Gf=Hf(function(a){return b.onCommitFiberUnmount(c,a)})}catch(d){}return!0}function Jf(a){\"function\"===typeof Ff&&Ff(a)}function Kf(a){\"function\"===typeof Gf&&Gf(a)}var Lf=!1;\nfunction Mf(a){return{expirationTime:0,baseState:a,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Nf(a){return{expirationTime:a.expirationTime,baseState:a.baseState,firstUpdate:a.firstUpdate,lastUpdate:a.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}\nfunction Of(a){return{expirationTime:a,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function Pf(a,b,c){null===a.lastUpdate?a.firstUpdate=a.lastUpdate=b:(a.lastUpdate.next=b,a.lastUpdate=b);if(0===a.expirationTime||a.expirationTime>c)a.expirationTime=c}\nfunction Qf(a,b,c){var d=a.alternate;if(null===d){var e=a.updateQueue;var f=null;null===e&&(e=a.updateQueue=Mf(a.memoizedState))}else e=a.updateQueue,f=d.updateQueue,null===e?null===f?(e=a.updateQueue=Mf(a.memoizedState),f=d.updateQueue=Mf(d.memoizedState)):e=a.updateQueue=Nf(f):null===f&&(f=d.updateQueue=Nf(e));null===f||e===f?Pf(e,b,c):null===e.lastUpdate||null===f.lastUpdate?(Pf(e,b,c),Pf(f,b,c)):(Pf(e,b,c),f.lastUpdate=b)}\nfunction Rf(a,b,c){var d=a.updateQueue;d=null===d?a.updateQueue=Mf(a.memoizedState):Sf(a,d);null===d.lastCapturedUpdate?d.firstCapturedUpdate=d.lastCapturedUpdate=b:(d.lastCapturedUpdate.next=b,d.lastCapturedUpdate=b);if(0===d.expirationTime||d.expirationTime>c)d.expirationTime=c}function Sf(a,b){var c=a.alternate;null!==c&&b===c.updateQueue&&(b=a.updateQueue=Nf(b));return b}\nfunction Tf(a,b,c,d,e,f){switch(c.tag){case 1:return a=c.payload,\"function\"===typeof a?a.call(f,d,e):a;case 3:a.effectTag=a.effectTag&-1025|64;case 0:a=c.payload;e=\"function\"===typeof a?a.call(f,d,e):a;if(null===e||void 0===e)break;return p({},d,e);case 2:Lf=!0}return d}\nfunction Uf(a,b,c,d,e){Lf=!1;if(!(0===b.expirationTime||b.expirationTime>e)){b=Sf(a,b);for(var f=b.baseState,g=null,h=0,k=b.firstUpdate,n=f;null!==k;){var r=k.expirationTime;if(r>e){if(null===g&&(g=k,f=n),0===h||h>r)h=r}else n=Tf(a,b,k,n,c,d),null!==k.callback&&(a.effectTag|=32,k.nextEffect=null,null===b.lastEffect?b.firstEffect=b.lastEffect=k:(b.lastEffect.nextEffect=k,b.lastEffect=k));k=k.next}r=null;for(k=b.firstCapturedUpdate;null!==k;){var w=k.expirationTime;if(w>e){if(null===r&&(r=k,null===\ng&&(f=n)),0===h||h>w)h=w}else n=Tf(a,b,k,n,c,d),null!==k.callback&&(a.effectTag|=32,k.nextEffect=null,null===b.lastCapturedEffect?b.firstCapturedEffect=b.lastCapturedEffect=k:(b.lastCapturedEffect.nextEffect=k,b.lastCapturedEffect=k));k=k.next}null===g&&(b.lastUpdate=null);null===r?b.lastCapturedUpdate=null:a.effectTag|=32;null===g&&null===r&&(f=n);b.baseState=f;b.firstUpdate=g;b.firstCapturedUpdate=r;b.expirationTime=h;a.memoizedState=n}}\nfunction Vf(a,b){\"function\"!==typeof a?A(\"191\",a):void 0;a.call(b)}\nfunction Wf(a,b,c){null!==b.firstCapturedUpdate&&(null!==b.lastUpdate&&(b.lastUpdate.next=b.firstCapturedUpdate,b.lastUpdate=b.lastCapturedUpdate),b.firstCapturedUpdate=b.lastCapturedUpdate=null);a=b.firstEffect;for(b.firstEffect=b.lastEffect=null;null!==a;){var d=a.callback;null!==d&&(a.callback=null,Vf(d,c));a=a.nextEffect}a=b.firstCapturedEffect;for(b.firstCapturedEffect=b.lastCapturedEffect=null;null!==a;)b=a.callback,null!==b&&(a.callback=null,Vf(b,c)),a=a.nextEffect}\nfunction Xf(a,b){return{value:a,source:b,stack:vc(b)}}var Yf=mf(null),Zf=mf(null),$f=mf(0);function ag(a){var b=a.type._context;N($f,b._changedBits,a);N(Zf,b._currentValue,a);N(Yf,a,a);b._currentValue=a.pendingProps.value;b._changedBits=a.stateNode}function bg(a){var b=$f.current,c=Zf.current;M(Yf,a);M(Zf,a);M($f,a);a=a.type._context;a._currentValue=c;a._changedBits=b}var cg={},dg=mf(cg),eg=mf(cg),fg=mf(cg);function gg(a){a===cg?A(\"174\"):void 0;return a}\nfunction ig(a,b){N(fg,b,a);N(eg,a,a);N(dg,cg,a);var c=b.nodeType;switch(c){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:He(null,\"\");break;default:c=8===c?b.parentNode:b,b=c.namespaceURI||null,c=c.tagName,b=He(b,c)}M(dg,a);N(dg,b,a)}function jg(a){M(dg,a);M(eg,a);M(fg,a)}function kg(a){eg.current===a&&(M(dg,a),M(eg,a))}function lg(a,b,c){var d=a.memoizedState;b=b(c,d);d=null===b||void 0===b?d:p({},d,b);a.memoizedState=d;a=a.updateQueue;null!==a&&0===a.expirationTime&&(a.baseState=d)}\nvar pg={isMounted:function(a){return(a=a._reactInternalFiber)?2===jd(a):!1},enqueueSetState:function(a,b,c){a=a._reactInternalFiber;var d=mg();d=ng(d,a);var e=Of(d);e.payload=b;void 0!==c&&null!==c&&(e.callback=c);Qf(a,e,d);og(a,d)},enqueueReplaceState:function(a,b,c){a=a._reactInternalFiber;var d=mg();d=ng(d,a);var e=Of(d);e.tag=1;e.payload=b;void 0!==c&&null!==c&&(e.callback=c);Qf(a,e,d);og(a,d)},enqueueForceUpdate:function(a,b){a=a._reactInternalFiber;var c=mg();c=ng(c,a);var d=Of(c);d.tag=2;void 0!==\nb&&null!==b&&(d.callback=b);Qf(a,d,c);og(a,c)}};function qg(a,b,c,d,e,f){var g=a.stateNode;a=a.type;return\"function\"===typeof g.shouldComponentUpdate?g.shouldComponentUpdate(c,e,f):a.prototype&&a.prototype.isPureReactComponent?!ea(b,c)||!ea(d,e):!0}\nfunction rg(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&pg.enqueueReplaceState(b,b.state,null)}\nfunction sg(a,b){var c=a.type,d=a.stateNode,e=a.pendingProps,f=pf(a);d.props=e;d.state=a.memoizedState;d.refs=ha;d.context=rf(a,f);f=a.updateQueue;null!==f&&(Uf(a,f,e,d,b),d.state=a.memoizedState);f=a.type.getDerivedStateFromProps;\"function\"===typeof f&&(lg(a,f,e),d.state=a.memoizedState);\"function\"===typeof c.getDerivedStateFromProps||\"function\"===typeof d.getSnapshotBeforeUpdate||\"function\"!==typeof d.UNSAFE_componentWillMount&&\"function\"!==typeof d.componentWillMount||(c=d.state,\"function\"===typeof d.componentWillMount&&\nd.componentWillMount(),\"function\"===typeof d.UNSAFE_componentWillMount&&d.UNSAFE_componentWillMount(),c!==d.state&&pg.enqueueReplaceState(d,d.state,null),f=a.updateQueue,null!==f&&(Uf(a,f,e,d,b),d.state=a.memoizedState));\"function\"===typeof d.componentDidMount&&(a.effectTag|=4)}var tg=Array.isArray;\nfunction ug(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;var d=void 0;c&&(2!==c.tag?A(\"110\"):void 0,d=c.stateNode);d?void 0:A(\"147\",a);var e=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===e)return b.ref;b=function(a){var b=d.refs===ha?d.refs={}:d.refs;null===a?delete b[e]:b[e]=a};b._stringRef=e;return b}\"string\"!==typeof a?A(\"148\"):void 0;c._owner?void 0:A(\"254\",a)}return a}\nfunction vg(a,b){\"textarea\"!==a.type&&A(\"31\",\"[object Object]\"===Object.prototype.toString.call(b)?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":b,\"\")}\nfunction wg(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.effectTag=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b,c){a=zf(a,b,c);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.effectTag=\n2,c):d;b.effectTag=2;return c}function g(b){a&&null===b.alternate&&(b.effectTag=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Cf(c,a.mode,d),b.return=a,b;b=e(b,c,d);b.return=a;return b}function k(a,b,c,d){if(null!==b&&b.type===c.type)return d=e(b,c.props,d),d.ref=ug(a,b,c),d.return=a,d;d=Af(c,a.mode,d);d.ref=ug(a,b,c);d.return=a;return d}function n(a,b,c,d){if(null===b||4!==b.tag||b.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=\nDf(c,a.mode,d),b.return=a,b;b=e(b,c.children||[],d);b.return=a;return b}function r(a,b,c,d,f){if(null===b||10!==b.tag)return b=Bf(c,a.mode,d,f),b.return=a,b;b=e(b,c,d);b.return=a;return b}function w(a,b,c){if(\"string\"===typeof b||\"number\"===typeof b)return b=Cf(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case gc:return c=Af(b,a.mode,c),c.ref=ug(a,null,b),c.return=a,c;case hc:return b=Df(b,a.mode,c),b.return=a,b}if(tg(b)||tc(b))return b=Bf(b,a.mode,c,null),b.return=\na,b;vg(a,b)}return null}function P(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case gc:return c.key===e?c.type===ic?r(a,b,c.props.children,d,e):k(a,b,c,d):null;case hc:return c.key===e?n(a,b,c,d):null}if(tg(c)||tc(c))return null!==e?null:r(a,b,c,d,null);vg(a,c)}return null}function nc(a,b,c,d,e){if(\"string\"===typeof d||\"number\"===typeof d)return a=a.get(c)||null,h(b,a,\"\"+d,e);\nif(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case gc:return a=a.get(null===d.key?c:d.key)||null,d.type===ic?r(b,a,d.props.children,e,d.key):k(b,a,d,e);case hc:return a=a.get(null===d.key?c:d.key)||null,n(b,a,d,e)}if(tg(d)||tc(d))return a=a.get(c)||null,r(b,a,d,e,null);vg(b,d)}return null}function Jd(e,g,h,k){for(var u=null,x=null,t=g,q=g=0,n=null;null!==t&&q<h.length;q++){t.index>q?(n=t,t=null):n=t.sibling;var l=P(e,t,h[q],k);if(null===l){null===t&&(t=n);break}a&&t&&null===l.alternate&&b(e,\nt);g=f(l,g,q);null===x?u=l:x.sibling=l;x=l;t=n}if(q===h.length)return c(e,t),u;if(null===t){for(;q<h.length;q++)if(t=w(e,h[q],k))g=f(t,g,q),null===x?u=t:x.sibling=t,x=t;return u}for(t=d(e,t);q<h.length;q++)if(n=nc(t,e,q,h[q],k))a&&null!==n.alternate&&t.delete(null===n.key?q:n.key),g=f(n,g,q),null===x?u=n:x.sibling=n,x=n;a&&t.forEach(function(a){return b(e,a)});return u}function E(e,g,h,k){var u=tc(h);\"function\"!==typeof u?A(\"150\"):void 0;h=u.call(h);null==h?A(\"151\"):void 0;for(var t=u=null,n=g,x=\ng=0,y=null,l=h.next();null!==n&&!l.done;x++,l=h.next()){n.index>x?(y=n,n=null):y=n.sibling;var r=P(e,n,l.value,k);if(null===r){n||(n=y);break}a&&n&&null===r.alternate&&b(e,n);g=f(r,g,x);null===t?u=r:t.sibling=r;t=r;n=y}if(l.done)return c(e,n),u;if(null===n){for(;!l.done;x++,l=h.next())l=w(e,l.value,k),null!==l&&(g=f(l,g,x),null===t?u=l:t.sibling=l,t=l);return u}for(n=d(e,n);!l.done;x++,l=h.next())l=nc(n,e,x,l.value,k),null!==l&&(a&&null!==l.alternate&&n.delete(null===l.key?x:l.key),g=f(l,g,x),null===\nt?u=l:t.sibling=l,t=l);a&&n.forEach(function(a){return b(e,a)});return u}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ic&&null===f.key;k&&(f=f.props.children);var n=\"object\"===typeof f&&null!==f;if(n)switch(f.$$typeof){case gc:a:{n=f.key;for(k=d;null!==k;){if(k.key===n)if(10===k.tag?f.type===ic:k.type===f.type){c(a,k.sibling);d=e(k,f.type===ic?f.props.children:f.props,h);d.ref=ug(a,k,f);d.return=a;a=d;break a}else{c(a,k);break}else b(a,k);k=k.sibling}f.type===ic?(d=Bf(f.props.children,\na.mode,h,f.key),d.return=a,a=d):(h=Af(f,a.mode,h),h.ref=ug(a,d,f),h.return=a,a=h)}return g(a);case hc:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[],h);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Df(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f,h),d.return=\na,a=d):(c(a,d),d=Cf(f,a.mode,h),d.return=a,a=d),g(a);if(tg(f))return Jd(a,d,f,h);if(tc(f))return E(a,d,f,h);n&&vg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 2:case 1:h=a.type,A(\"152\",h.displayName||h.name||\"Component\")}return c(a,d)}}var xg=wg(!0),yg=wg(!1),zg=null,Ag=null,Bg=!1;function Cg(a,b){var c=new yf(5,null,null,0);c.type=\"DELETED\";c.stateNode=b;c.return=a;c.effectTag=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}\nfunction Dg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;default:return!1}}function Eg(a){if(Bg){var b=Ag;if(b){var c=b;if(!Dg(a,b)){b=hf(c);if(!b||!Dg(a,b)){a.effectTag|=2;Bg=!1;zg=a;return}Cg(zg,c)}zg=a;Ag=jf(b)}else a.effectTag|=2,Bg=!1,zg=a}}\nfunction Fg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag;)a=a.return;zg=a}function Gg(a){if(a!==zg)return!1;if(!Bg)return Fg(a),Bg=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!df(b,a.memoizedProps))for(b=Ag;b;)Cg(a,b),b=hf(b);Fg(a);Ag=zg?hf(a.stateNode):null;return!0}function Hg(){Ag=zg=null;Bg=!1}function Q(a,b,c){Ig(a,b,c,b.expirationTime)}function Ig(a,b,c,d){b.child=null===a?yg(b,null,c,d):xg(b,a.child,c,d)}\nfunction Jg(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.effectTag|=128}function Kg(a,b,c,d,e){Jg(a,b);var f=0!==(b.effectTag&64);if(!c&&!f)return d&&xf(b,!1),R(a,b);c=b.stateNode;ec.current=b;var g=f?null:c.render();b.effectTag|=1;f&&(Ig(a,b,null,e),b.child=null);Ig(a,b,g,e);b.memoizedState=c.state;b.memoizedProps=c.props;d&&xf(b,!0);return b.child}\nfunction Lg(a){var b=a.stateNode;b.pendingContext?uf(a,b.pendingContext,b.pendingContext!==b.context):b.context&&uf(a,b.context,!1);ig(a,b.containerInfo)}\nfunction Mg(a,b,c,d){var e=a.child;null!==e&&(e.return=a);for(;null!==e;){switch(e.tag){case 12:var f=e.stateNode|0;if(e.type===b&&0!==(f&c)){for(f=e;null!==f;){var g=f.alternate;if(0===f.expirationTime||f.expirationTime>d)f.expirationTime=d,null!==g&&(0===g.expirationTime||g.expirationTime>d)&&(g.expirationTime=d);else if(null!==g&&(0===g.expirationTime||g.expirationTime>d))g.expirationTime=d;else break;f=f.return}f=null}else f=e.child;break;case 13:f=e.type===a.type?null:e.child;break;default:f=\ne.child}if(null!==f)f.return=e;else for(f=e;null!==f;){if(f===a){f=null;break}e=f.sibling;if(null!==e){e.return=f.return;f=e;break}f=f.return}e=f}}\nfunction Qg(a,b,c){var d=b.type._context,e=b.pendingProps,f=b.memoizedProps,g=!0;if(O.current)g=!1;else if(f===e)return b.stateNode=0,ag(b),R(a,b);var h=e.value;b.memoizedProps=e;if(null===f)h=1073741823;else if(f.value===e.value){if(f.children===e.children&&g)return b.stateNode=0,ag(b),R(a,b);h=0}else{var k=f.value;if(k===h&&(0!==k||1/k===1/h)||k!==k&&h!==h){if(f.children===e.children&&g)return b.stateNode=0,ag(b),R(a,b);h=0}else if(h=\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(k,\nh):1073741823,h|=0,0===h){if(f.children===e.children&&g)return b.stateNode=0,ag(b),R(a,b)}else Mg(b,d,h,c)}b.stateNode=h;ag(b);Q(a,b,e.children);return b.child}function R(a,b){null!==a&&b.child!==a.child?A(\"153\"):void 0;if(null!==b.child){a=b.child;var c=zf(a,a.pendingProps,a.expirationTime);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=zf(a,a.pendingProps,a.expirationTime),c.return=b;c.sibling=null}return b.child}\nfunction Rg(a,b,c){if(0===b.expirationTime||b.expirationTime>c){switch(b.tag){case 3:Lg(b);break;case 2:wf(b);break;case 4:ig(b,b.stateNode.containerInfo);break;case 13:ag(b)}return null}switch(b.tag){case 0:null!==a?A(\"155\"):void 0;var d=b.type,e=b.pendingProps,f=pf(b);f=rf(b,f);d=d(e,f);b.effectTag|=1;\"object\"===typeof d&&null!==d&&\"function\"===typeof d.render&&void 0===d.$$typeof?(f=b.type,b.tag=2,b.memoizedState=null!==d.state&&void 0!==d.state?d.state:null,f=f.getDerivedStateFromProps,\"function\"===\ntypeof f&&lg(b,f,e),e=wf(b),d.updater=pg,b.stateNode=d,d._reactInternalFiber=b,sg(b,c),a=Kg(a,b,!0,e,c)):(b.tag=1,Q(a,b,d),b.memoizedProps=e,a=b.child);return a;case 1:return e=b.type,c=b.pendingProps,O.current||b.memoizedProps!==c?(d=pf(b),d=rf(b,d),e=e(c,d),b.effectTag|=1,Q(a,b,e),b.memoizedProps=c,a=b.child):a=R(a,b),a;case 2:e=wf(b);if(null===a)if(null===b.stateNode){var g=b.pendingProps,h=b.type;d=pf(b);var k=2===b.tag&&null!=b.type.contextTypes;f=k?rf(b,d):ha;g=new h(g,f);b.memoizedState=null!==\ng.state&&void 0!==g.state?g.state:null;g.updater=pg;b.stateNode=g;g._reactInternalFiber=b;k&&(k=b.stateNode,k.__reactInternalMemoizedUnmaskedChildContext=d,k.__reactInternalMemoizedMaskedChildContext=f);sg(b,c);d=!0}else{h=b.type;d=b.stateNode;k=b.memoizedProps;f=b.pendingProps;d.props=k;var n=d.context;g=pf(b);g=rf(b,g);var r=h.getDerivedStateFromProps;(h=\"function\"===typeof r||\"function\"===typeof d.getSnapshotBeforeUpdate)||\"function\"!==typeof d.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof d.componentWillReceiveProps||\n(k!==f||n!==g)&&rg(b,d,f,g);Lf=!1;var w=b.memoizedState;n=d.state=w;var P=b.updateQueue;null!==P&&(Uf(b,P,f,d,c),n=b.memoizedState);k!==f||w!==n||O.current||Lf?(\"function\"===typeof r&&(lg(b,r,f),n=b.memoizedState),(k=Lf||qg(b,k,f,w,n,g))?(h||\"function\"!==typeof d.UNSAFE_componentWillMount&&\"function\"!==typeof d.componentWillMount||(\"function\"===typeof d.componentWillMount&&d.componentWillMount(),\"function\"===typeof d.UNSAFE_componentWillMount&&d.UNSAFE_componentWillMount()),\"function\"===typeof d.componentDidMount&&\n(b.effectTag|=4)):(\"function\"===typeof d.componentDidMount&&(b.effectTag|=4),b.memoizedProps=f,b.memoizedState=n),d.props=f,d.state=n,d.context=g,d=k):(\"function\"===typeof d.componentDidMount&&(b.effectTag|=4),d=!1)}else h=b.type,d=b.stateNode,f=b.memoizedProps,k=b.pendingProps,d.props=f,n=d.context,g=pf(b),g=rf(b,g),r=h.getDerivedStateFromProps,(h=\"function\"===typeof r||\"function\"===typeof d.getSnapshotBeforeUpdate)||\"function\"!==typeof d.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof d.componentWillReceiveProps||\n(f!==k||n!==g)&&rg(b,d,k,g),Lf=!1,n=b.memoizedState,w=d.state=n,P=b.updateQueue,null!==P&&(Uf(b,P,k,d,c),w=b.memoizedState),f!==k||n!==w||O.current||Lf?(\"function\"===typeof r&&(lg(b,r,k),w=b.memoizedState),(r=Lf||qg(b,f,k,n,w,g))?(h||\"function\"!==typeof d.UNSAFE_componentWillUpdate&&\"function\"!==typeof d.componentWillUpdate||(\"function\"===typeof d.componentWillUpdate&&d.componentWillUpdate(k,w,g),\"function\"===typeof d.UNSAFE_componentWillUpdate&&d.UNSAFE_componentWillUpdate(k,w,g)),\"function\"===typeof d.componentDidUpdate&&\n(b.effectTag|=4),\"function\"===typeof d.getSnapshotBeforeUpdate&&(b.effectTag|=256)):(\"function\"!==typeof d.componentDidUpdate||f===a.memoizedProps&&n===a.memoizedState||(b.effectTag|=4),\"function\"!==typeof d.getSnapshotBeforeUpdate||f===a.memoizedProps&&n===a.memoizedState||(b.effectTag|=256),b.memoizedProps=k,b.memoizedState=w),d.props=k,d.state=w,d.context=g,d=r):(\"function\"!==typeof d.componentDidUpdate||f===a.memoizedProps&&n===a.memoizedState||(b.effectTag|=4),\"function\"!==typeof d.getSnapshotBeforeUpdate||\nf===a.memoizedProps&&n===a.memoizedState||(b.effectTag|=256),d=!1);return Kg(a,b,d,e,c);case 3:Lg(b);e=b.updateQueue;if(null!==e)if(d=b.memoizedState,d=null!==d?d.element:null,Uf(b,e,b.pendingProps,null,c),e=b.memoizedState.element,e===d)Hg(),a=R(a,b);else{d=b.stateNode;if(d=(null===a||null===a.child)&&d.hydrate)Ag=jf(b.stateNode.containerInfo),zg=b,d=Bg=!0;d?(b.effectTag|=2,b.child=yg(b,null,e,c)):(Hg(),Q(a,b,e));a=b.child}else Hg(),a=R(a,b);return a;case 5:a:{gg(fg.current);e=gg(dg.current);d=He(e,\nb.type);e!==d&&(N(eg,b,b),N(dg,d,b));null===a&&Eg(b);e=b.type;k=b.memoizedProps;d=b.pendingProps;f=null!==a?a.memoizedProps:null;if(!O.current&&k===d){if(k=b.mode&1&&!!d.hidden)b.expirationTime=1073741823;if(!k||1073741823!==c){a=R(a,b);break a}}k=d.children;df(e,d)?k=null:f&&df(e,f)&&(b.effectTag|=16);Jg(a,b);1073741823!==c&&b.mode&1&&d.hidden?(b.expirationTime=1073741823,b.memoizedProps=d,a=null):(Q(a,b,k),b.memoizedProps=d,a=b.child)}return a;case 6:return null===a&&Eg(b),b.memoizedProps=b.pendingProps,\nnull;case 16:return null;case 4:return ig(b,b.stateNode.containerInfo),e=b.pendingProps,O.current||b.memoizedProps!==e?(null===a?b.child=xg(b,null,e,c):Q(a,b,e),b.memoizedProps=e,a=b.child):a=R(a,b),a;case 14:return e=b.type.render,c=b.pendingProps,d=b.ref,O.current||b.memoizedProps!==c||d!==(null!==a?a.ref:null)?(e=e(c,d),Q(a,b,e),b.memoizedProps=c,a=b.child):a=R(a,b),a;case 10:return c=b.pendingProps,O.current||b.memoizedProps!==c?(Q(a,b,c),b.memoizedProps=c,a=b.child):a=R(a,b),a;case 11:return c=\nb.pendingProps.children,O.current||null!==c&&b.memoizedProps!==c?(Q(a,b,c),b.memoizedProps=c,a=b.child):a=R(a,b),a;case 15:return c=b.pendingProps,b.memoizedProps===c?a=R(a,b):(Q(a,b,c.children),b.memoizedProps=c,a=b.child),a;case 13:return Qg(a,b,c);case 12:a:if(d=b.type,f=b.pendingProps,k=b.memoizedProps,e=d._currentValue,g=d._changedBits,O.current||0!==g||k!==f){b.memoizedProps=f;h=f.unstable_observedBits;if(void 0===h||null===h)h=1073741823;b.stateNode=h;if(0!==(g&h))Mg(b,d,g,c);else if(k===f){a=\nR(a,b);break a}c=f.children;c=c(e);b.effectTag|=1;Q(a,b,c);a=b.child}else a=R(a,b);return a;default:A(\"156\")}}function Sg(a){a.effectTag|=4}var Tg=void 0,Ug=void 0,Vg=void 0;Tg=function(){};Ug=function(a,b,c){(b.updateQueue=c)&&Sg(b)};Vg=function(a,b,c,d){c!==d&&Sg(b)};\nfunction Wg(a,b){var c=b.pendingProps;switch(b.tag){case 1:return null;case 2:return sf(b),null;case 3:jg(b);tf(b);var d=b.stateNode;d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)Gg(b),b.effectTag&=-3;Tg(b);return null;case 5:kg(b);d=gg(fg.current);var e=b.type;if(null!==a&&null!=b.stateNode){var f=a.memoizedProps,g=b.stateNode,h=gg(dg.current);g=We(g,e,f,c,d);Ug(a,b,g,e,f,c,d,h);a.ref!==b.ref&&(b.effectTag|=128)}else{if(!c)return null===b.stateNode?\nA(\"166\"):void 0,null;a=gg(dg.current);if(Gg(b))c=b.stateNode,e=b.type,f=b.memoizedProps,c[C]=b,c[Ma]=f,d=Ye(c,e,f,a,d),b.updateQueue=d,null!==d&&Sg(b);else{a=Te(e,c,d,a);a[C]=b;a[Ma]=c;a:for(f=b.child;null!==f;){if(5===f.tag||6===f.tag)a.appendChild(f.stateNode);else if(4!==f.tag&&null!==f.child){f.child.return=f;f=f.child;continue}if(f===b)break;for(;null===f.sibling;){if(null===f.return||f.return===b)break a;f=f.return}f.sibling.return=f.return;f=f.sibling}Ve(a,e,c,d);cf(e,c)&&Sg(b);b.stateNode=\na}null!==b.ref&&(b.effectTag|=128)}return null;case 6:if(a&&null!=b.stateNode)Vg(a,b,a.memoizedProps,c);else{if(\"string\"!==typeof c)return null===b.stateNode?A(\"166\"):void 0,null;d=gg(fg.current);gg(dg.current);Gg(b)?(d=b.stateNode,c=b.memoizedProps,d[C]=b,Ze(d,c)&&Sg(b)):(d=Ue(c,d),d[C]=b,b.stateNode=d)}return null;case 14:return null;case 16:return null;case 10:return null;case 11:return null;case 15:return null;case 4:return jg(b),Tg(b),null;case 13:return bg(b),null;case 12:return null;case 0:A(\"167\");\ndefault:A(\"156\")}}function Xg(a,b){var c=b.source;null===b.stack&&null!==c&&vc(c);null!==c&&uc(c);b=b.value;null!==a&&2===a.tag&&uc(a);try{b&&b.suppressReactErrorLogging||console.error(b)}catch(d){d&&d.suppressReactErrorLogging||console.error(d)}}function Yg(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Zg(a,c)}else b.current=null}\nfunction $g(a){\"function\"===typeof Kf&&Kf(a);switch(a.tag){case 2:Yg(a);var b=a.stateNode;if(\"function\"===typeof b.componentWillUnmount)try{b.props=a.memoizedProps,b.state=a.memoizedState,b.componentWillUnmount()}catch(c){Zg(a,c)}break;case 5:Yg(a);break;case 4:ah(a)}}function bh(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction ch(a){a:{for(var b=a.return;null!==b;){if(bh(b)){var c=b;break a}b=b.return}A(\"160\");c=void 0}var d=b=void 0;switch(c.tag){case 5:b=c.stateNode;d=!1;break;case 3:b=c.stateNode.containerInfo;d=!0;break;case 4:b=c.stateNode.containerInfo;d=!0;break;default:A(\"161\")}c.effectTag&16&&(Ke(b,\"\"),c.effectTag&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||bh(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag;){if(c.effectTag&2)continue b;\nif(null===c.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.effectTag&2)){c=c.stateNode;break a}}for(var e=a;;){if(5===e.tag||6===e.tag)if(c)if(d){var f=b,g=e.stateNode,h=c;8===f.nodeType?f.parentNode.insertBefore(g,h):f.insertBefore(g,h)}else b.insertBefore(e.stateNode,c);else d?(f=b,g=e.stateNode,8===f.nodeType?f.parentNode.insertBefore(g,f):f.appendChild(g)):b.appendChild(e.stateNode);else if(4!==e.tag&&null!==e.child){e.child.return=e;e=e.child;continue}if(e===a)break;for(;null===\ne.sibling;){if(null===e.return||e.return===a)return;e=e.return}e.sibling.return=e.return;e=e.sibling}}\nfunction ah(a){for(var b=a,c=!1,d=void 0,e=void 0;;){if(!c){c=b.return;a:for(;;){null===c?A(\"160\"):void 0;switch(c.tag){case 5:d=c.stateNode;e=!1;break a;case 3:d=c.stateNode.containerInfo;e=!0;break a;case 4:d=c.stateNode.containerInfo;e=!0;break a}c=c.return}c=!0}if(5===b.tag||6===b.tag){a:for(var f=b,g=f;;)if($g(g),null!==g.child&&4!==g.tag)g.child.return=g,g=g.child;else{if(g===f)break;for(;null===g.sibling;){if(null===g.return||g.return===f)break a;g=g.return}g.sibling.return=g.return;g=g.sibling}e?\n(f=d,g=b.stateNode,8===f.nodeType?f.parentNode.removeChild(g):f.removeChild(g)):d.removeChild(b.stateNode)}else if(4===b.tag?d=b.stateNode.containerInfo:$g(b),null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return;b=b.return;4===b.tag&&(c=!1)}b.sibling.return=b.return;b=b.sibling}}\nfunction dh(a,b){switch(b.tag){case 2:break;case 5:var c=b.stateNode;if(null!=c){var d=b.memoizedProps;a=null!==a?a.memoizedProps:d;var e=b.type,f=b.updateQueue;b.updateQueue=null;null!==f&&(c[Ma]=d,Xe(c,f,e,a,d))}break;case 6:null===b.stateNode?A(\"162\"):void 0;b.stateNode.nodeValue=b.memoizedProps;break;case 3:break;case 15:break;case 16:break;default:A(\"163\")}}function eh(a,b,c){c=Of(c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){fh(d);Xg(a,b)};return c}\nfunction gh(a,b,c){c=Of(c);c.tag=3;var d=a.stateNode;null!==d&&\"function\"===typeof d.componentDidCatch&&(c.callback=function(){null===hh?hh=new Set([this]):hh.add(this);var c=b.value,d=b.stack;Xg(a,b);this.componentDidCatch(c,{componentStack:null!==d?d:\"\"})});return c}\nfunction ih(a,b,c,d,e,f){c.effectTag|=512;c.firstEffect=c.lastEffect=null;d=Xf(d,c);a=b;do{switch(a.tag){case 3:a.effectTag|=1024;d=eh(a,d,f);Rf(a,d,f);return;case 2:if(b=d,c=a.stateNode,0===(a.effectTag&64)&&null!==c&&\"function\"===typeof c.componentDidCatch&&(null===hh||!hh.has(c))){a.effectTag|=1024;d=gh(a,b,f);Rf(a,d,f);return}}a=a.return}while(null!==a)}\nfunction jh(a){switch(a.tag){case 2:sf(a);var b=a.effectTag;return b&1024?(a.effectTag=b&-1025|64,a):null;case 3:return jg(a),tf(a),b=a.effectTag,b&1024?(a.effectTag=b&-1025|64,a):null;case 5:return kg(a),null;case 16:return b=a.effectTag,b&1024?(a.effectTag=b&-1025|64,a):null;case 4:return jg(a),null;case 13:return bg(a),null;default:return null}}var kh=ef(),lh=2,mh=kh,nh=0,oh=0,ph=!1,S=null,qh=null,T=0,rh=-1,sh=!1,U=null,th=!1,uh=!1,hh=null;\nfunction vh(){if(null!==S)for(var a=S.return;null!==a;){var b=a;switch(b.tag){case 2:sf(b);break;case 3:jg(b);tf(b);break;case 5:kg(b);break;case 4:jg(b);break;case 13:bg(b)}a=a.return}qh=null;T=0;rh=-1;sh=!1;S=null;uh=!1}\nfunction wh(a){for(;;){var b=a.alternate,c=a.return,d=a.sibling;if(0===(a.effectTag&512)){b=Wg(b,a,T);var e=a;if(1073741823===T||1073741823!==e.expirationTime){var f=0;switch(e.tag){case 3:case 2:var g=e.updateQueue;null!==g&&(f=g.expirationTime)}for(g=e.child;null!==g;)0!==g.expirationTime&&(0===f||f>g.expirationTime)&&(f=g.expirationTime),g=g.sibling;e.expirationTime=f}if(null!==b)return b;null!==c&&0===(c.effectTag&512)&&(null===c.firstEffect&&(c.firstEffect=a.firstEffect),null!==a.lastEffect&&\n(null!==c.lastEffect&&(c.lastEffect.nextEffect=a.firstEffect),c.lastEffect=a.lastEffect),1<a.effectTag&&(null!==c.lastEffect?c.lastEffect.nextEffect=a:c.firstEffect=a,c.lastEffect=a));if(null!==d)return d;if(null!==c)a=c;else{uh=!0;break}}else{a=jh(a,sh,T);if(null!==a)return a.effectTag&=511,a;null!==c&&(c.firstEffect=c.lastEffect=null,c.effectTag|=512);if(null!==d)return d;if(null!==c)a=c;else break}}return null}\nfunction xh(a){var b=Rg(a.alternate,a,T);null===b&&(b=wh(a));ec.current=null;return b}\nfunction yh(a,b,c){ph?A(\"243\"):void 0;ph=!0;if(b!==T||a!==qh||null===S)vh(),qh=a,T=b,rh=-1,S=zf(qh.current,null,T),a.pendingCommitExpirationTime=0;var d=!1;sh=!c||T<=lh;do{try{if(c)for(;null!==S&&!zh();)S=xh(S);else for(;null!==S;)S=xh(S)}catch(f){if(null===S)d=!0,fh(f);else{null===S?A(\"271\"):void 0;c=S;var e=c.return;if(null===e){d=!0;fh(f);break}ih(a,e,c,f,sh,T,mh);S=wh(c)}}break}while(1);ph=!1;if(d)return null;if(null===S){if(uh)return a.pendingCommitExpirationTime=b,a.current.alternate;sh?A(\"262\"):\nvoid 0;0<=rh&&setTimeout(function(){var b=a.current.expirationTime;0!==b&&(0===a.remainingExpirationTime||a.remainingExpirationTime<b)&&Ah(a,b)},rh);Bh(a.current.expirationTime)}return null}\nfunction Zg(a,b){var c;a:{ph&&!th?A(\"263\"):void 0;for(c=a.return;null!==c;){switch(c.tag){case 2:var d=c.stateNode;if(\"function\"===typeof c.type.getDerivedStateFromCatch||\"function\"===typeof d.componentDidCatch&&(null===hh||!hh.has(d))){a=Xf(b,a);a=gh(c,a,1);Qf(c,a,1);og(c,1);c=void 0;break a}break;case 3:a=Xf(b,a);a=eh(c,a,1);Qf(c,a,1);og(c,1);c=void 0;break a}c=c.return}3===a.tag&&(c=Xf(b,a),c=eh(a,c,1),Qf(a,c,1),og(a,1));c=void 0}return c}\nfunction Ch(){var a=2+25*(((mg()-2+500)/25|0)+1);a<=nh&&(a=nh+1);return nh=a}function ng(a,b){a=0!==oh?oh:ph?th?1:T:b.mode&1?Dh?2+10*(((a-2+15)/10|0)+1):2+25*(((a-2+500)/25|0)+1):1;Dh&&(0===Eh||a>Eh)&&(Eh=a);return a}\nfunction og(a,b){for(;null!==a;){if(0===a.expirationTime||a.expirationTime>b)a.expirationTime=b;null!==a.alternate&&(0===a.alternate.expirationTime||a.alternate.expirationTime>b)&&(a.alternate.expirationTime=b);if(null===a.return)if(3===a.tag){var c=a.stateNode;!ph&&0!==T&&b<T&&vh();var d=c.current.expirationTime;ph&&!th&&qh===c||Ah(c,d);Fh>Gh&&A(\"185\")}else break;a=a.return}}function mg(){mh=ef()-kh;return lh=(mh/10|0)+2}\nfunction Hh(a){var b=oh;oh=2+25*(((mg()-2+500)/25|0)+1);try{return a()}finally{oh=b}}function Ih(a,b,c,d,e){var f=oh;oh=1;try{return a(b,c,d,e)}finally{oh=f}}var Jh=null,V=null,Kh=0,Lh=void 0,W=!1,X=null,Y=0,Eh=0,Mh=!1,Nh=!1,Oh=null,Ph=null,Z=!1,Qh=!1,Dh=!1,Rh=null,Gh=1E3,Fh=0,Sh=1;function Th(a){if(0!==Kh){if(a>Kh)return;null!==Lh&&gf(Lh)}var b=ef()-kh;Kh=a;Lh=ff(Uh,{timeout:10*(a-2)-b})}\nfunction Ah(a,b){if(null===a.nextScheduledRoot)a.remainingExpirationTime=b,null===V?(Jh=V=a,a.nextScheduledRoot=a):(V=V.nextScheduledRoot=a,V.nextScheduledRoot=Jh);else{var c=a.remainingExpirationTime;if(0===c||b<c)a.remainingExpirationTime=b}W||(Z?Qh&&(X=a,Y=1,Vh(a,1,!1)):1===b?Wh():Th(b))}\nfunction Xh(){var a=0,b=null;if(null!==V)for(var c=V,d=Jh;null!==d;){var e=d.remainingExpirationTime;if(0===e){null===c||null===V?A(\"244\"):void 0;if(d===d.nextScheduledRoot){Jh=V=d.nextScheduledRoot=null;break}else if(d===Jh)Jh=e=d.nextScheduledRoot,V.nextScheduledRoot=e,d.nextScheduledRoot=null;else if(d===V){V=c;V.nextScheduledRoot=Jh;d.nextScheduledRoot=null;break}else c.nextScheduledRoot=d.nextScheduledRoot,d.nextScheduledRoot=null;d=c.nextScheduledRoot}else{if(0===a||e<a)a=e,b=d;if(d===V)break;\nc=d;d=d.nextScheduledRoot}}c=X;null!==c&&c===b&&1===a?Fh++:Fh=0;X=b;Y=a}function Uh(a){Yh(0,!0,a)}function Wh(){Yh(1,!1,null)}function Yh(a,b,c){Ph=c;Xh();if(b)for(;null!==X&&0!==Y&&(0===a||a>=Y)&&(!Mh||mg()>=Y);)mg(),Vh(X,Y,!Mh),Xh();else for(;null!==X&&0!==Y&&(0===a||a>=Y);)Vh(X,Y,!1),Xh();null!==Ph&&(Kh=0,Lh=null);0!==Y&&Th(Y);Ph=null;Mh=!1;Zh()}function $h(a,b){W?A(\"253\"):void 0;X=a;Y=b;Vh(a,b,!1);Wh();Zh()}\nfunction Zh(){Fh=0;if(null!==Rh){var a=Rh;Rh=null;for(var b=0;b<a.length;b++){var c=a[b];try{c._onComplete()}catch(d){Nh||(Nh=!0,Oh=d)}}}if(Nh)throw a=Oh,Oh=null,Nh=!1,a;}function Vh(a,b,c){W?A(\"245\"):void 0;W=!0;c?(c=a.finishedWork,null!==c?ai(a,c,b):(c=yh(a,b,!0),null!==c&&(zh()?a.finishedWork=c:ai(a,c,b)))):(c=a.finishedWork,null!==c?ai(a,c,b):(c=yh(a,b,!1),null!==c&&ai(a,c,b)));W=!1}\nfunction ai(a,b,c){var d=a.firstBatch;if(null!==d&&d._expirationTime<=c&&(null===Rh?Rh=[d]:Rh.push(d),d._defer)){a.finishedWork=b;a.remainingExpirationTime=0;return}a.finishedWork=null;th=ph=!0;c=b.stateNode;c.current===b?A(\"177\"):void 0;d=c.pendingCommitExpirationTime;0===d?A(\"261\"):void 0;c.pendingCommitExpirationTime=0;mg();ec.current=null;if(1<b.effectTag)if(null!==b.lastEffect){b.lastEffect.nextEffect=b;var e=b.firstEffect}else e=b;else e=b.firstEffect;af=Hd;var f=da();if(Ud(f)){if(\"selectionStart\"in\nf)var g={start:f.selectionStart,end:f.selectionEnd};else a:{var h=window.getSelection&&window.getSelection();if(h&&0!==h.rangeCount){g=h.anchorNode;var k=h.anchorOffset,n=h.focusNode;h=h.focusOffset;try{g.nodeType,n.nodeType}catch(Wa){g=null;break a}var r=0,w=-1,P=-1,nc=0,Jd=0,E=f,t=null;b:for(;;){for(var x;;){E!==g||0!==k&&3!==E.nodeType||(w=r+k);E!==n||0!==h&&3!==E.nodeType||(P=r+h);3===E.nodeType&&(r+=E.nodeValue.length);if(null===(x=E.firstChild))break;t=E;E=x}for(;;){if(E===f)break b;t===g&&\n++nc===k&&(w=r);t===n&&++Jd===h&&(P=r);if(null!==(x=E.nextSibling))break;E=t;t=E.parentNode}E=x}g=-1===w||-1===P?null:{start:w,end:P}}else g=null}g=g||{start:0,end:0}}else g=null;bf={focusedElem:f,selectionRange:g};Id(!1);for(U=e;null!==U;){f=!1;g=void 0;try{for(;null!==U;){if(U.effectTag&256){var u=U.alternate;k=U;switch(k.tag){case 2:if(k.effectTag&256&&null!==u){var y=u.memoizedProps,D=u.memoizedState,ja=k.stateNode;ja.props=k.memoizedProps;ja.state=k.memoizedState;var mi=ja.getSnapshotBeforeUpdate(y,\nD);ja.__reactInternalSnapshotBeforeUpdate=mi}break;case 3:case 5:case 6:case 4:break;default:A(\"163\")}}U=U.nextEffect}}catch(Wa){f=!0,g=Wa}f&&(null===U?A(\"178\"):void 0,Zg(U,g),null!==U&&(U=U.nextEffect))}for(U=e;null!==U;){u=!1;y=void 0;try{for(;null!==U;){var q=U.effectTag;q&16&&Ke(U.stateNode,\"\");if(q&128){var z=U.alternate;if(null!==z){var l=z.ref;null!==l&&(\"function\"===typeof l?l(null):l.current=null)}}switch(q&14){case 2:ch(U);U.effectTag&=-3;break;case 6:ch(U);U.effectTag&=-3;dh(U.alternate,\nU);break;case 4:dh(U.alternate,U);break;case 8:D=U,ah(D),D.return=null,D.child=null,D.alternate&&(D.alternate.child=null,D.alternate.return=null)}U=U.nextEffect}}catch(Wa){u=!0,y=Wa}u&&(null===U?A(\"178\"):void 0,Zg(U,y),null!==U&&(U=U.nextEffect))}l=bf;z=da();q=l.focusedElem;u=l.selectionRange;if(z!==q&&fa(document.documentElement,q)){null!==u&&Ud(q)&&(z=u.start,l=u.end,void 0===l&&(l=z),\"selectionStart\"in q?(q.selectionStart=z,q.selectionEnd=Math.min(l,q.value.length)):window.getSelection&&(z=window.getSelection(),\ny=q[lb()].length,l=Math.min(u.start,y),u=void 0===u.end?l:Math.min(u.end,y),!z.extend&&l>u&&(y=u,u=l,l=y),y=Td(q,l),D=Td(q,u),y&&D&&(1!==z.rangeCount||z.anchorNode!==y.node||z.anchorOffset!==y.offset||z.focusNode!==D.node||z.focusOffset!==D.offset)&&(ja=document.createRange(),ja.setStart(y.node,y.offset),z.removeAllRanges(),l>u?(z.addRange(ja),z.extend(D.node,D.offset)):(ja.setEnd(D.node,D.offset),z.addRange(ja)))));z=[];for(l=q;l=l.parentNode;)1===l.nodeType&&z.push({element:l,left:l.scrollLeft,\ntop:l.scrollTop});\"function\"===typeof q.focus&&q.focus();for(q=0;q<z.length;q++)l=z[q],l.element.scrollLeft=l.left,l.element.scrollTop=l.top}bf=null;Id(af);af=null;c.current=b;for(U=e;null!==U;){e=!1;q=void 0;try{for(z=d;null!==U;){var hg=U.effectTag;if(hg&36){var oc=U.alternate;l=U;u=z;switch(l.tag){case 2:var ca=l.stateNode;if(l.effectTag&4)if(null===oc)ca.props=l.memoizedProps,ca.state=l.memoizedState,ca.componentDidMount();else{var wi=oc.memoizedProps,xi=oc.memoizedState;ca.props=l.memoizedProps;\nca.state=l.memoizedState;ca.componentDidUpdate(wi,xi,ca.__reactInternalSnapshotBeforeUpdate)}var Ng=l.updateQueue;null!==Ng&&(ca.props=l.memoizedProps,ca.state=l.memoizedState,Wf(l,Ng,ca,u));break;case 3:var Og=l.updateQueue;if(null!==Og){y=null;if(null!==l.child)switch(l.child.tag){case 5:y=l.child.stateNode;break;case 2:y=l.child.stateNode}Wf(l,Og,y,u)}break;case 5:var yi=l.stateNode;null===oc&&l.effectTag&4&&cf(l.type,l.memoizedProps)&&yi.focus();break;case 6:break;case 4:break;case 15:break;case 16:break;\ndefault:A(\"163\")}}if(hg&128){l=void 0;var yc=U.ref;if(null!==yc){var Pg=U.stateNode;switch(U.tag){case 5:l=Pg;break;default:l=Pg}\"function\"===typeof yc?yc(l):yc.current=l}}var zi=U.nextEffect;U.nextEffect=null;U=zi}}catch(Wa){e=!0,q=Wa}e&&(null===U?A(\"178\"):void 0,Zg(U,q),null!==U&&(U=U.nextEffect))}ph=th=!1;\"function\"===typeof Jf&&Jf(b.stateNode);b=c.current.expirationTime;0===b&&(hh=null);a.remainingExpirationTime=b}function zh(){return null===Ph||Ph.timeRemaining()>Sh?!1:Mh=!0}\nfunction fh(a){null===X?A(\"246\"):void 0;X.remainingExpirationTime=0;Nh||(Nh=!0,Oh=a)}function Bh(a){null===X?A(\"246\"):void 0;X.remainingExpirationTime=a}function bi(a,b){var c=Z;Z=!0;try{return a(b)}finally{(Z=c)||W||Wh()}}function ci(a,b){if(Z&&!Qh){Qh=!0;try{return a(b)}finally{Qh=!1}}return a(b)}function di(a,b){W?A(\"187\"):void 0;var c=Z;Z=!0;try{return Ih(a,b)}finally{Z=c,Wh()}}\nfunction ei(a,b,c){if(Dh)return a(b,c);Z||W||0===Eh||(Yh(Eh,!1,null),Eh=0);var d=Dh,e=Z;Z=Dh=!0;try{return a(b,c)}finally{Dh=d,(Z=e)||W||Wh()}}function fi(a){var b=Z;Z=!0;try{Ih(a)}finally{(Z=b)||W||Yh(1,!1,null)}}\nfunction gi(a,b,c,d,e){var f=b.current;if(c){c=c._reactInternalFiber;var g;b:{2===jd(c)&&2===c.tag?void 0:A(\"170\");for(g=c;3!==g.tag;){if(qf(g)){g=g.stateNode.__reactInternalMemoizedMergedChildContext;break b}(g=g.return)?void 0:A(\"171\")}g=g.stateNode.context}c=qf(c)?vf(c,g):g}else c=ha;null===b.context?b.context=c:b.pendingContext=c;b=e;e=Of(d);e.payload={element:a};b=void 0===b?null:b;null!==b&&(e.callback=b);Qf(f,e,d);og(f,d);return d}\nfunction hi(a){var b=a._reactInternalFiber;void 0===b&&(\"function\"===typeof a.render?A(\"188\"):A(\"268\",Object.keys(a)));a=md(b);return null===a?null:a.stateNode}function ii(a,b,c,d){var e=b.current,f=mg();e=ng(f,e);return gi(a,b,c,e,d)}function ji(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}\nfunction ki(a){var b=a.findFiberByHostInstance;return If(p({},a,{findHostInstanceByFiber:function(a){a=md(a);return null===a?null:a.stateNode},findFiberByHostInstance:function(a){return b?b(a):null}}))}\nvar li={updateContainerAtExpirationTime:gi,createContainer:function(a,b,c){return Ef(a,b,c)},updateContainer:ii,flushRoot:$h,requestWork:Ah,computeUniqueAsyncExpiration:Ch,batchedUpdates:bi,unbatchedUpdates:ci,deferredUpdates:Hh,syncUpdates:Ih,interactiveUpdates:ei,flushInteractiveUpdates:function(){W||0===Eh||(Yh(Eh,!1,null),Eh=0)},flushControlled:fi,flushSync:di,getPublicRootInstance:ji,findHostInstance:hi,findHostInstanceWithNoPortals:function(a){a=nd(a);return null===a?null:a.stateNode},injectIntoDevTools:ki};\nfunction ni(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:hc,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}Kb.injectFiberControlledHostComponent($e);function oi(a){this._expirationTime=Ch();this._root=a;this._callbacks=this._next=null;this._hasChildren=this._didComplete=!1;this._children=null;this._defer=!0}\noi.prototype.render=function(a){this._defer?void 0:A(\"250\");this._hasChildren=!0;this._children=a;var b=this._root._internalRoot,c=this._expirationTime,d=new pi;gi(a,b,null,c,d._onCommit);return d};oi.prototype.then=function(a){if(this._didComplete)a();else{var b=this._callbacks;null===b&&(b=this._callbacks=[]);b.push(a)}};\noi.prototype.commit=function(){var a=this._root._internalRoot,b=a.firstBatch;this._defer&&null!==b?void 0:A(\"251\");if(this._hasChildren){var c=this._expirationTime;if(b!==this){this._hasChildren&&(c=this._expirationTime=b._expirationTime,this.render(this._children));for(var d=null,e=b;e!==this;)d=e,e=e._next;null===d?A(\"251\"):void 0;d._next=e._next;this._next=b;a.firstBatch=this}this._defer=!1;$h(a,c);b=this._next;this._next=null;b=a.firstBatch=b;null!==b&&b._hasChildren&&b.render(b._children)}else this._next=\nnull,this._defer=!1};oi.prototype._onComplete=function(){if(!this._didComplete){this._didComplete=!0;var a=this._callbacks;if(null!==a)for(var b=0;b<a.length;b++)(0,a[b])()}};function pi(){this._callbacks=null;this._didCommit=!1;this._onCommit=this._onCommit.bind(this)}pi.prototype.then=function(a){if(this._didCommit)a();else{var b=this._callbacks;null===b&&(b=this._callbacks=[]);b.push(a)}};\npi.prototype._onCommit=function(){if(!this._didCommit){this._didCommit=!0;var a=this._callbacks;if(null!==a)for(var b=0;b<a.length;b++){var c=a[b];\"function\"!==typeof c?A(\"191\",c):void 0;c()}}};function qi(a,b,c){this._internalRoot=Ef(a,b,c)}qi.prototype.render=function(a,b){var c=this._internalRoot,d=new pi;b=void 0===b?null:b;null!==b&&d.then(b);ii(a,c,null,d._onCommit);return d};\nqi.prototype.unmount=function(a){var b=this._internalRoot,c=new pi;a=void 0===a?null:a;null!==a&&c.then(a);ii(null,b,null,c._onCommit);return c};qi.prototype.legacy_renderSubtreeIntoContainer=function(a,b,c){var d=this._internalRoot,e=new pi;c=void 0===c?null:c;null!==c&&e.then(c);ii(b,d,a,e._onCommit);return e};\nqi.prototype.createBatch=function(){var a=new oi(this),b=a._expirationTime,c=this._internalRoot,d=c.firstBatch;if(null===d)c.firstBatch=a,a._next=null;else{for(c=null;null!==d&&d._expirationTime<=b;)c=d,d=d._next;a._next=d;null!==c&&(c._next=a)}return a};function ri(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}Sb=li.batchedUpdates;Tb=li.interactiveUpdates;Ub=li.flushInteractiveUpdates;\nfunction si(a,b){b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute(\"data-reactroot\")));if(!b)for(var c;c=a.lastChild;)a.removeChild(c);return new qi(a,!1,b)}\nfunction ti(a,b,c,d,e){ri(c)?void 0:A(\"200\");var f=c._reactRootContainer;if(f){if(\"function\"===typeof e){var g=e;e=function(){var a=ji(f._internalRoot);g.call(a)}}null!=a?f.legacy_renderSubtreeIntoContainer(a,b,e):f.render(b,e)}else{f=c._reactRootContainer=si(c,d);if(\"function\"===typeof e){var h=e;e=function(){var a=ji(f._internalRoot);h.call(a)}}ci(function(){null!=a?f.legacy_renderSubtreeIntoContainer(a,b,e):f.render(b,e)})}return ji(f._internalRoot)}\nfunction ui(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;ri(b)?void 0:A(\"200\");return ni(a,b,null,c)}\nvar vi={createPortal:ui,findDOMNode:function(a){return null==a?null:1===a.nodeType?a:hi(a)},hydrate:function(a,b,c){return ti(null,a,b,!0,c)},render:function(a,b,c){return ti(null,a,b,!1,c)},unstable_renderSubtreeIntoContainer:function(a,b,c,d){null==a||void 0===a._reactInternalFiber?A(\"38\"):void 0;return ti(a,b,c,!1,d)},unmountComponentAtNode:function(a){ri(a)?void 0:A(\"40\");return a._reactRootContainer?(ci(function(){ti(null,null,a,!1,function(){a._reactRootContainer=null})}),!0):!1},unstable_createPortal:function(){return ui.apply(void 0,\narguments)},unstable_batchedUpdates:bi,unstable_deferredUpdates:Hh,unstable_interactiveUpdates:ei,flushSync:di,unstable_flushControlled:fi,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{EventPluginHub:Ka,EventPluginRegistry:va,EventPropagators:$a,ReactControlledComponent:Rb,ReactDOMComponentTree:Qa,ReactDOMEventListener:Nd},unstable_createRoot:function(a,b){return new qi(a,!0,null!=b&&!0===b.hydrate)}};ki({findFiberByHostInstance:Na,bundleType:0,version:\"16.4.1\",rendererPackageName:\"react-dom\"});\nvar Ai={default:vi},Bi=Ai&&vi||Ai;module.exports=Bi.default?Bi.default:Bi;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/react-dom/cjs/react-dom.production.min.js\n// module id = 410\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\n/**\n * Simple, lightweight module assisting with the detection and context of\n * Worker. Helps avoid circular dependencies and allows code to reason about\n * whether or not they are in a Worker, even if they never include the main\n * `ReactWorker` dependency.\n */\nvar ExecutionEnvironment = {\n\n canUseDOM: canUseDOM,\n\n canUseWorkers: typeof Worker !== 'undefined',\n\n canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent),\n\n canUseViewport: canUseDOM && !!window.screen,\n\n isInWorker: !canUseDOM // For now, this is true - might change in the future.\n\n};\n\nmodule.exports = ExecutionEnvironment;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/ExecutionEnvironment.js\n// module id = 411\n// module chunks = 0","'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\n/* eslint-disable fb-www/typeof-undefined */\n\n/**\n * Same as document.activeElement but wraps in a try-catch block. In IE it is\n * not safe to call document.activeElement if there is nothing focused.\n *\n * The activeElement will be null only if the document or document body is not\n * yet defined.\n *\n * @param {?DOMDocument} doc Defaults to current document.\n * @return {?DOMElement}\n */\nfunction getActiveElement(doc) /*?DOMElement*/{\n doc = doc || (typeof document !== 'undefined' ? document : undefined);\n if (typeof doc === 'undefined') {\n return null;\n }\n try {\n return doc.activeElement || doc.body;\n } catch (e) {\n return doc.body;\n }\n}\n\nmodule.exports = getActiveElement;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/getActiveElement.js\n// module id = 412\n// module chunks = 0","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n * \n */\n\n/*eslint-disable no-self-compare */\n\n'use strict';\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n // Added the nonzero y check to make Flow happy, but it is redundant\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n}\n\n/**\n * Performs equality by iterating through keys on an object and returning false\n * when any key has values which are not strictly equal between the arguments.\n * Returns true when the values of all keys are strictly equal.\n */\nfunction shallowEqual(objA, objB) {\n if (is(objA, objB)) {\n return true;\n }\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = shallowEqual;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/shallowEqual.js\n// module id = 413\n// module chunks = 0","'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar isTextNode = require('./isTextNode');\n\n/*eslint-disable no-bitwise */\n\n/**\n * Checks if a given DOM node contains or is another DOM node.\n */\nfunction containsNode(outerNode, innerNode) {\n if (!outerNode || !innerNode) {\n return false;\n } else if (outerNode === innerNode) {\n return true;\n } else if (isTextNode(outerNode)) {\n return false;\n } else if (isTextNode(innerNode)) {\n return containsNode(outerNode, innerNode.parentNode);\n } else if ('contains' in outerNode) {\n return outerNode.contains(innerNode);\n } else if (outerNode.compareDocumentPosition) {\n return !!(outerNode.compareDocumentPosition(innerNode) & 16);\n } else {\n return false;\n }\n}\n\nmodule.exports = containsNode;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/containsNode.js\n// module id = 414\n// module chunks = 0","'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\nvar isNode = require('./isNode');\n\n/**\n * @param {*} object The object to check.\n * @return {boolean} Whether or not the object is a DOM text node.\n */\nfunction isTextNode(object) {\n return isNode(object) && object.nodeType == 3;\n}\n\nmodule.exports = isTextNode;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/isTextNode.js\n// module id = 415\n// module chunks = 0","'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\n/**\n * @param {*} object The object to check.\n * @return {boolean} Whether or not the object is a DOM node.\n */\nfunction isNode(object) {\n var doc = object ? object.ownerDocument || object : document;\n var defaultView = doc.defaultView || window;\n return !!(object && (typeof defaultView.Node === 'function' ? object instanceof defaultView.Node : typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string'));\n}\n\nmodule.exports = isNode;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/fbjs/lib/isNode.js\n// module id = 416\n// module chunks = 0","import React, { Component } from 'react';\nimport vegaEmbed from 'vega-embed';\nimport './DatasetteVega.css';\n\nconst serialize = (obj, prefix) => Object.keys(obj).filter(key => obj[key]).map(\n key => `${prefix}.${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`\n).join('&');\n\nconst unserialize = (s, prefix) => {\n if (s && s[0] === '#') {\n s = s.slice(1);\n }\n if (!s) {\n return {};\n }\n var obj = {};\n s.split('&').filter(bit => bit.slice(0, prefix.length + 1) === `${prefix}.`).forEach(bit => {\n let pair = bit.split('=');\n obj[decodeURIComponent(pair[0]).replace(new RegExp(`^${prefix}\\\\.`), '')] = decodeURIComponent(pair[1]);\n });\n return obj;\n};\n\nconst escapeString = s => (s || '').replace(/\"/g, '\\\\x22').replace(/'/g, '\\\\x27');\n\nclass DatasetteVega extends Component {\n state = {\n show: false,\n columns: [],\n mark: null,\n x_column: null,\n x_type: \"ordinal\",\n y_column: null,\n y_type: \"quantitative\",\n color_column: \"\",\n size_column: \"\"\n }\n constructor(props) {\n super(props);\n this.chartRef = React.createRef();\n }\n markOptions = [\n {\"value\": \"bar\", \"name\": \"Bar\"},\n {\"value\": \"line\", \"name\": \"Line\"},\n {\"value\": \"circle\", \"name\": \"Scatter\"},\n ]\n typeOptions = [\n {\"value\": \"quantitative\", \"name\": \"Numeric\"},\n {\"value\": \"quantitative-bin\", \"name\": \"Numeric, binned\"},\n {\"value\": \"temporal\", \"name\": \"Date/time\"},\n {\"value\": \"temporal-bin\", \"name\": \"Date/time, binned\"},\n {\"value\": \"ordinal\", \"name\": \"Label\"},\n {\"value\": \"nominal\", \"name\": \"Category\"},\n ]\n onChangeSelect(name, ev) {\n ev.persist();\n window.lastEv = ev;\n this.setState({[name]: ev.target.value}, () => {\n this.renderGraph();\n });\n }\n jsonUrl() {\n let url = this.props.base_url;\n if (/\\?/.exec(url)) {\n url += '&';\n } else {\n url += '?';\n }\n url += '_shape=array';\n return url;\n }\n componentDidMount() {\n window.onpopstate = this.onPopStateChange.bind(this);\n // Load the columns\n let url = this.jsonUrl();\n fetch(url).then(r => r.json()).then(data => {\n if (data.length > 1) {\n // Set columns to first item's keys\n const columns = Object.keys(data[0]).map(key => {\n // Do ANY of these rows have a .label property?\n if (data.filter(d => (d[key] || '').label !== undefined).length) {\n return `${key}.label`;\n } else {\n return key;\n }\n });\n let initialState = {\n columns: columns,\n x_column: columns[0],\n y_column: columns[1],\n };\n // Is there state in the URL? If so use that too\n let urlState = unserialize(document.location.hash, 'g');\n if (Object.keys(urlState).length) {\n initialState = Object.assign(initialState, urlState);\n // And show the widget\n initialState.show = true;\n }\n this.setState(initialState, () => {\n this.onPopStateChange();\n this.renderGraph();\n });\n }\n });\n }\n serializeState() {\n return serialize((({\n mark,\n x_column,\n x_type,\n y_column,\n y_type,\n color_column,\n size_column\n }) => ({\n mark,\n x_column,\n x_type,\n y_column,\n y_type,\n color_column,\n size_column\n }))(this.state), 'g');\n }\n onPopStateChange(ev) {\n window.lastPopEv = ev;\n const expected = '#' + this.serializeState();\n if (expected !== document.location.hash && this.state.mark) {\n this.setState(\n unserialize(document.location.hash, 'g'), this.renderGraph.bind(this)\n );\n }\n }\n renderGraph() {\n const x_type = this.state.x_type.split('-bin')[0];\n const y_type = this.state.y_type.split('-bin')[0];\n const x_bin = !!/-bin$/.exec(this.state.x_type);\n const y_bin = !!/-bin$/.exec(this.state.y_type);\n let encoding = {\n x: {field: this.state.x_column, type: x_type, bin: x_bin},\n y: {field: this.state.y_column, type: y_type, bin: y_bin},\n tooltip: {field: \"_tooltip_summary\", type: \"ordinal\"},\n }\n if (this.state.color_column) {\n encoding.color = {field: this.state.color_column, type: \"nominal\"};\n }\n if (this.state.size_column) {\n encoding.size = {field: this.state.size_column, type: \"quantitative\"};\n }\n const spec = {\n data: {\n url: this.jsonUrl()\n },\n transform: [{\n calculate: `\n '${escapeString(this.state.x_column)}: ' + datum['${escapeString(this.state.x_column)}'] +\n ', ${escapeString(this.state.y_column)}: ' + datum['${escapeString(this.state.y_column)}'] +\n (${!!this.state.color_column} ? ', ${escapeString(this.state.color_column)}: ' + datum['${escapeString(this.state.color_column)}'] : '') +\n (${!!this.state.size_column} ? ', ${escapeString(this.state.size_column)}: ' + datum['${escapeString(this.state.size_column)}'] : '')\n `,\n as: \"_tooltip_summary\"\n }],\n mark: this.state.mark,\n encoding: encoding\n }\n if (spec.mark && spec.encoding.x.field && spec.encoding.y.field) {\n vegaEmbed(this.chartRef.current, spec, {theme: 'quartz', tooltip: true});\n document.location.hash = '#' + this.serializeState();\n this.props.onFragmentChange && this.props.onFragmentChange();\n // Add to state so react debug tools can see it (for debugging):\n this.setState({spec: spec, show: true});\n }\n }\n toggleAxis(ev) {\n ev.preventDefault();\n this.setState(prevState => ({\n x_column: prevState.y_column,\n y_column: prevState.x_column,\n x_type: prevState.y_type,\n y_type: prevState.x_type,\n }), this.renderGraph);\n }\n showChart() {\n this.setState({\n show: true\n }, this.renderGraph.bind(this));\n }\n render() {\n const onChangeSelect = this.onChangeSelect.bind(this);\n const columns = this.state.columns;\n if (!this.state.show) {\n return <div className=\"datasette-vega-inactive\"><button onClick={this.showChart.bind(this)}>Show charting options</button></div>;\n }\n return (\n (columns.length > 1) ? <div><form action=\"\" method=\"GET\" id=\"graphForm\" className=\"datasette-vega\">\n <h3>Charting options</h3>\n <div className=\"filter-row radio-buttons\">\n {this.markOptions.map(option => (\n <label key={option.value} value={option.value}><input\n type=\"radio\"\n name=\"mark\"\n value={option.value}\n checked={option.value === this.state.mark}\n onChange={ev => onChangeSelect(\"mark\", ev)}\n /> {option.name}</label>\n ))}\n </div>\n <div className=\"filter-row\">\n <label>X column <div className=\"select-wrapper\"><select name=\"x_column\" value={this.state.x_column || ''} onChange={ev => onChangeSelect(\"x_column\", ev)}>\n {columns.map(column => <option key={column} value={column}>{column}</option>)}\n </select></div></label>\n <label>Type <div className=\"select-wrapper\"><select name=\"x_type\" value={this.state.x_type} onChange={ev => onChangeSelect(\"x_type\", ev)}>\n {this.typeOptions.map(option => <option key={option.value} value={option.value}>{option.name}</option>)}\n </select></div></label>\n </div>\n <div className=\"filter-row\">\n <label>Y column <div className=\"select-wrapper\"><select name=\"y_column\" value={this.state.y_column || ''} onChange={ev => onChangeSelect(\"y_column\", ev)}>\n {columns.map(column => <option key={column} value={column}>{column}</option>)}\n </select></div></label>\n <label>Type <div className=\"select-wrapper\"><select name=\"y_type\" value={this.state.y_type} onChange={ev => onChangeSelect(\"y_type\", ev)}>\n {this.typeOptions.map(option => <option key={option.value} value={option.value}>{option.name}</option>)}\n </select></div></label>\n </div>\n <div className=\"swap-x-y\">\n <button onClick={this.toggleAxis.bind(this)}>Swap X and Y</button>\n </div>\n <div className=\"filter-row\">\n <label>Color <div className=\"select-wrapper\"><select name=\"color_column\" value={this.state.color_column} onChange={ev => onChangeSelect(\"color_column\", ev)}>\n <option value=\"\">-- none --</option>\n {columns.map(column => <option key={column} value={column}>{column}</option>)}\n </select></div></label>\n <label>Size <div className=\"select-wrapper\"><select name=\"size_column\" value={this.state.size_column} onChange={ev => onChangeSelect(\"size_column\", ev)}>\n <option value=\"\">-- none --</option>\n {columns.map(column => <option key={column} value={column}>{column}</option>)}\n </select></div></label>\n </div>\n </form>\n <div style={{overflow:'auto'}}>\n <div ref={this.chartRef}></div>\n </div>\n </div> : null\n );\n }\n}\n\nexport default DatasetteVega;\n\n\n\n// WEBPACK FOOTER //\n// ./src/DatasetteVega.js","import * as tslib_1 from \"tslib\";\nimport * as d3 from 'd3-selection';\nimport stringify from 'json-stringify-pretty-compact';\nimport { satisfies } from 'semver';\nimport * as vegaImport from 'vega-lib';\nimport * as vlImport from 'vega-lite';\nimport schemaParser from 'vega-schema-url-parser';\nimport * as themes from 'vega-themes';\nimport { Handler } from 'vega-tooltip';\nimport { post } from './post';\nimport embedStyle from './style';\nimport { mergeDeep } from './util';\nexport var vega = vegaImport;\nexport var vl = vlImport;\nvar NAMES = {\n vega: 'Vega',\n 'vega-lite': 'Vega-Lite',\n};\nvar VERSION = {\n vega: vega.version,\n 'vega-lite': vl ? vl.version : 'not available',\n};\nvar PREPROCESSOR = {\n vega: function (vgjson, _) { return vgjson; },\n 'vega-lite': function (vljson, config) { return vl.compile(vljson, { config: config }).spec; },\n};\nvar SVG_CIRCLES = \"\\n<svg viewBox=\\\"0 0 16 16\\\" fill=\\\"currentColor\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" width=\\\"14\\\" height=\\\"14\\\">\\n <circle r=\\\"2\\\" cy=\\\"8\\\" cx=\\\"2\\\"></circle>\\n <circle r=\\\"2\\\" cy=\\\"8\\\" cx=\\\"8\\\"></circle>\\n <circle r=\\\"2\\\" cy=\\\"8\\\" cx=\\\"14\\\"></circle>\\n</svg>\";\nvar I18N = {\n COMPILED_ACTION: 'View Vega',\n EDITOR_ACTION: 'Open in Vega Editor',\n PNG_ACTION: 'Save as PNG',\n SOURCE_ACTION: 'View Source',\n SVG_ACTION: 'Save as SVG',\n};\nfunction isTooltipHandler(h) {\n return typeof h === 'function';\n}\nfunction viewSource(source, sourceHeader, sourceFooter, mode) {\n var header = \"<html><head>\" + sourceHeader + \"</head><body><pre><code class=\\\"json\\\">\";\n var footer = \"</code></pre>\" + sourceFooter + \"</body></html>\";\n var win = window.open('');\n win.document.write(header + source + footer);\n win.document.title = NAMES[mode] + \" JSON Source\";\n}\n/**\n * Try to guess the type of spec.\n *\n * @param spec Vega or Vega-Lite spec.\n */\nexport function guessMode(spec, providedMode) {\n // Decide mode\n if (spec.$schema) {\n var parsed = schemaParser(spec.$schema);\n if (providedMode && providedMode !== parsed.library) {\n console.warn(\"The given visualization spec is written in \" + NAMES[parsed.library] + \", but mode argument sets \" + NAMES[providedMode] + \".\");\n }\n var mode = parsed.library;\n if (!satisfies(VERSION[mode], \"^\" + parsed.version.slice(1))) {\n console.warn(\"The input spec uses \" + mode + \" \" + parsed.version + \", but the current version of \" + NAMES[mode] + \" is \" + VERSION[mode] + \".\");\n }\n return mode;\n }\n else {\n // try to guess from the provided spec\n if ('mark' in spec ||\n 'encoding' in spec ||\n 'layer' in spec ||\n 'hconcat' in spec ||\n 'vconcat' in spec ||\n 'facet' in spec ||\n 'repeat' in spec) {\n return 'vega-lite';\n }\n if ('marks' in spec || 'signals' in spec || 'scales' in spec || 'axes' in spec) {\n return 'vega';\n }\n }\n return providedMode || 'vega';\n}\nfunction isLoader(o) {\n return !!(o && 'load' in o);\n}\n/**\n * Embed a Vega visualization component in a web page. This function returns a promise.\n *\n * @param el DOM element in which to place component (DOM node or CSS selector).\n * @param spec String : A URL string from which to load the Vega specification.\n * Object : The Vega/Vega-Lite specification as a parsed JSON object.\n * @param opt A JavaScript object containing options for embedding.\n */\nexport default function embed(el, spec, opt) {\n if (opt === void 0) { opt = {}; }\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var actions, i18n, loader, renderer, logLevel, data, config, data, ID, style, mode, vgSpec, parsed, div, runtime, view, handler, wrapper, ctrl, _loop_1, _i, _a, ext, editorUrl_1;\n return tslib_1.__generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n opt = opt || {};\n actions = opt.actions === true || opt.actions === false\n ? opt.actions\n : mergeDeep({}, { export: { svg: true, png: true }, source: true, compiled: false, editor: true }, opt.actions || {});\n i18n = tslib_1.__assign({}, I18N, opt.i18n);\n loader = isLoader(opt.loader) ? opt.loader : vega.loader(opt.loader);\n renderer = opt.renderer || 'canvas';\n logLevel = opt.logLevel || vega.Warn;\n if (!vega.isString(spec)) return [3 /*break*/, 2];\n return [4 /*yield*/, loader.load(spec)];\n case 1:\n data = _b.sent();\n return [2 /*return*/, embed(el, JSON.parse(data), opt)];\n case 2:\n config = opt.config || {};\n if (!vega.isString(config)) return [3 /*break*/, 4];\n return [4 /*yield*/, loader.load(config)];\n case 3:\n data = _b.sent();\n return [2 /*return*/, embed(el, spec, tslib_1.__assign({}, opt, { config: JSON.parse(data) }))];\n case 4:\n if (opt.defaultStyle) {\n ID = 'vega-embed-style';\n if (!document.getElementById(ID)) {\n style = document.createElement('style');\n style.id = ID;\n style.innerText = opt.defaultStyle === true ? (embedStyle || '').toString() : opt.defaultStyle;\n document.getElementsByTagName('head')[0].appendChild(style);\n }\n }\n if (opt.theme) {\n config = mergeDeep({}, themes[opt.theme], config);\n }\n mode = guessMode(spec, opt.mode);\n vgSpec = PREPROCESSOR[mode](spec, config);\n if (mode === 'vega-lite') {\n if (vgSpec.$schema) {\n parsed = schemaParser(vgSpec.$schema);\n if (!satisfies(VERSION.vega, \"^\" + parsed.version.slice(1))) {\n console.warn(\"The compiled spec uses Vega \" + parsed.version + \", but current version is \" + VERSION.vega + \".\");\n }\n }\n }\n div = d3\n .select(el) // d3.select supports elements and strings\n .classed('vega-embed', true)\n .html('');\n if (opt.onBeforeParse) {\n // Allow Vega spec to be modified before being used\n vgSpec = opt.onBeforeParse(vgSpec);\n }\n runtime = vega.parse(vgSpec, mode === 'vega-lite' ? {} : config);\n view = new vega.View(runtime, {\n loader: loader,\n logLevel: logLevel,\n renderer: renderer,\n }).initialize(el);\n if (opt.tooltip !== false) {\n handler = void 0;\n if (isTooltipHandler(opt.tooltip)) {\n handler = opt.tooltip;\n }\n else {\n // user provided boolean true or tooltip options\n handler = new Handler(opt.tooltip === true ? {} : opt.tooltip).call;\n }\n view.tooltip(handler);\n }\n // do not automatically enable hover for Vega-Lite.\n if (opt.hover === undefined ? mode !== 'vega-lite' : opt.hover) {\n view.hover();\n }\n if (opt) {\n if (opt.width) {\n view.width(opt.width);\n }\n if (opt.height) {\n view.height(opt.height);\n }\n if (opt.padding) {\n view.padding(opt.padding);\n }\n }\n if (!opt.runAsync) return [3 /*break*/, 6];\n return [4 /*yield*/, view.runAsync()];\n case 5:\n _b.sent();\n return [3 /*break*/, 7];\n case 6:\n view.run();\n _b.label = 7;\n case 7:\n if (actions !== false) {\n wrapper = div.append('div').attr('class', 'vega-actions-wrapper');\n if (opt.defaultStyle === true) {\n wrapper.html(SVG_CIRCLES);\n }\n ctrl = wrapper.insert('div').attr('class', 'vega-actions');\n // add 'Export' action\n if (actions === true || actions.export !== false) {\n _loop_1 = function (ext) {\n if (actions === true || actions.export === true || actions.export[ext]) {\n var i18nExportAction = i18n[ext.toUpperCase() + \"_ACTION\"];\n ctrl\n .append('a')\n .text(i18nExportAction)\n .attr('href', '#')\n .attr('target', '_blank')\n .attr('download', \"visualization.\" + ext)\n .on('mousedown', function () {\n var _this = this;\n view\n .toImageURL(ext, opt.scaleFactor)\n .then(function (url) {\n _this.href = url;\n })\n .catch(function (error) {\n throw error;\n });\n d3.event.preventDefault();\n });\n }\n };\n for (_i = 0, _a = ['svg', 'png']; _i < _a.length; _i++) {\n ext = _a[_i];\n _loop_1(ext);\n }\n }\n // add 'View Source' action\n if (actions === true || actions.source !== false) {\n ctrl\n .append('a')\n .text(i18n.SOURCE_ACTION)\n .attr('href', '#')\n .on('click', function () {\n viewSource(stringify(spec), opt.sourceHeader || '', opt.sourceFooter || '', mode);\n d3.event.preventDefault();\n });\n }\n // add 'View Compiled' action\n if (mode === 'vega-lite' && (actions === true || actions.compiled !== false)) {\n ctrl\n .append('a')\n .text(i18n.COMPILED_ACTION)\n .attr('href', '#')\n .on('click', function () {\n viewSource(stringify(vgSpec), opt.sourceHeader || '', opt.sourceFooter || '', 'vega');\n d3.event.preventDefault();\n });\n }\n // add 'Open in Vega Editor' action\n if (actions === true || actions.editor !== false) {\n editorUrl_1 = opt.editorUrl || 'https://vega.github.io/editor/';\n ctrl\n .append('a')\n .text(i18n.EDITOR_ACTION)\n .attr('href', '#')\n .on('click', function () {\n post(window, editorUrl_1, {\n config: config,\n mode: mode,\n renderer: renderer,\n spec: stringify(spec),\n });\n d3.event.preventDefault();\n });\n }\n }\n return [2 /*return*/, { view: view, spec: spec }];\n }\n });\n });\n}\n//# sourceMappingURL=embed.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-embed/build/src/embed.js\n// module id = 419\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/selection/select.js\n// module id = 422\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/selection/selectAll.js\n// module id = 423\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/selection/filter.js\n// module id = 424\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/selection/data.js\n// module id = 425\n// module chunks = 0","export default function(x) {\n return function() {\n return x;\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/constant.js\n// module id = 426\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/selection/exit.js\n// module id = 427\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/selection/merge.js\n// module id = 428\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/selection/order.js\n// module id = 429\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/selection/sort.js\n// module id = 430\n// module chunks = 0","export default function() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/selection/call.js\n// module id = 431\n// module chunks = 0","export default function() {\n var nodes = new Array(this.size()), i = -1;\n this.each(function() { nodes[++i] = this; });\n return nodes;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/selection/nodes.js\n// module id = 432\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/selection/node.js\n// module id = 433\n// module chunks = 0","export default function() {\n var size = 0;\n this.each(function() { ++size; });\n return size;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/selection/size.js\n// module id = 434\n// module chunks = 0","export default function() {\n return !this.node();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/selection/empty.js\n// module id = 435\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/selection/each.js\n// module id = 436\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/selection/attr.js\n// module id = 437\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/selection/property.js\n// module id = 438\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/selection/classed.js\n// module id = 439\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/selection/text.js\n// module id = 440\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/selection/html.js\n// module id = 441\n// module chunks = 0","function raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n return this.each(raise);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/selection/raise.js\n// module id = 442\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/selection/lower.js\n// module id = 443\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/selection/append.js\n// module id = 444\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/selection/insert.js\n// module id = 445\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/selection/remove.js\n// module id = 446\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/selection/clone.js\n// module id = 447\n// module chunks = 0","export default function(value) {\n return arguments.length\n ? this.property(\"__data__\", value)\n : this.node().__data__;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/selection/datum.js\n// module id = 448\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/selection/dispatch.js\n// module id = 449\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-selection/src/local.js\n// module id = 450\n// module chunks = 0","function stringify (obj, options) {\n options = options || {}\n var indent = JSON.stringify([1], null, get(options, 'indent', 2)).slice(2, -3)\n var addMargin = get(options, 'margins', false)\n var maxLength = (indent === '' ? Infinity : get(options, 'maxLength', 80))\n\n return (function _stringify (obj, currentIndent, reserved) {\n if (obj && typeof obj.toJSON === 'function') {\n obj = obj.toJSON()\n }\n\n var string = JSON.stringify(obj)\n\n if (string === undefined) {\n return string\n }\n\n var length = maxLength - currentIndent.length - reserved\n\n if (string.length <= length) {\n var prettified = prettify(string, addMargin)\n if (prettified.length <= length) {\n return prettified\n }\n }\n\n if (typeof obj === 'object' && obj !== null) {\n var nextIndent = currentIndent + indent\n var items = []\n var delimiters\n var comma = function (array, index) {\n return (index === array.length - 1 ? 0 : 1)\n }\n\n if (Array.isArray(obj)) {\n for (var index = 0; index < obj.length; index++) {\n items.push(\n _stringify(obj[index], nextIndent, comma(obj, index)) || 'null'\n )\n }\n delimiters = '[]'\n } else {\n Object.keys(obj).forEach(function (key, index, array) {\n var keyPart = JSON.stringify(key) + ': '\n var value = _stringify(obj[key], nextIndent,\n keyPart.length + comma(array, index))\n if (value !== undefined) {\n items.push(keyPart + value)\n }\n })\n delimiters = '{}'\n }\n\n if (items.length > 0) {\n return [\n delimiters[0],\n indent + items.join(',\\n' + nextIndent),\n delimiters[1]\n ].join('\\n' + currentIndent)\n }\n }\n\n return string\n }(obj, '', 0))\n}\n\n// Note: This regex matches even invalid JSON strings, but since we’re\n// working on the output of `JSON.stringify` we know that only valid strings\n// are present (unless the user supplied a weird `options.indent` but in\n// that case we don’t care since the output would be invalid anyway).\nvar stringOrChar = /(\"(?:[^\\\\\"]|\\\\.)*\")|[:,\\][}{]/g\n\nfunction prettify (string, addMargin) {\n var m = addMargin ? ' ' : ''\n var tokens = {\n '{': '{' + m,\n '[': '[' + m,\n '}': m + '}',\n ']': m + ']',\n ',': ', ',\n ':': ': '\n }\n return string.replace(stringOrChar, function (match, string) {\n return string ? match : tokens[match]\n })\n}\n\nfunction get (options, name, defaultValue) {\n return (name in options ? options[name] : defaultValue)\n}\n\nmodule.exports = stringify\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/json-stringify-pretty-compact/index.js\n// module id = 455\n// module chunks = 0","exports = module.exports = SemVer;\n\n// The debug function is excluded entirely from the minified version.\n/* nomin */ var debug;\n/* nomin */ if (typeof process === 'object' &&\n /* nomin */ process.env &&\n /* nomin */ process.env.NODE_DEBUG &&\n /* nomin */ /\\bsemver\\b/i.test(process.env.NODE_DEBUG))\n /* nomin */ debug = function() {\n /* nomin */ var args = Array.prototype.slice.call(arguments, 0);\n /* nomin */ args.unshift('SEMVER');\n /* nomin */ console.log.apply(console, args);\n /* nomin */ };\n/* nomin */ else\n /* nomin */ debug = function() {};\n\n// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nexports.SEMVER_SPEC_VERSION = '2.0.0';\n\nvar MAX_LENGTH = 256;\nvar MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;\n\n// Max safe segment length for coercion.\nvar MAX_SAFE_COMPONENT_LENGTH = 16;\n\n// The actual regexps go on exports.re\nvar re = exports.re = [];\nvar src = exports.src = [];\nvar R = 0;\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\nvar NUMERICIDENTIFIER = R++;\nsrc[NUMERICIDENTIFIER] = '0|[1-9]\\\\d*';\nvar NUMERICIDENTIFIERLOOSE = R++;\nsrc[NUMERICIDENTIFIERLOOSE] = '[0-9]+';\n\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\nvar NONNUMERICIDENTIFIER = R++;\nsrc[NONNUMERICIDENTIFIER] = '\\\\d*[a-zA-Z-][a-zA-Z0-9-]*';\n\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\nvar MAINVERSION = R++;\nsrc[MAINVERSION] = '(' + src[NUMERICIDENTIFIER] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIER] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIER] + ')';\n\nvar MAINVERSIONLOOSE = R++;\nsrc[MAINVERSIONLOOSE] = '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\\\.' +\n '(' + src[NUMERICIDENTIFIERLOOSE] + ')';\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\nvar PRERELEASEIDENTIFIER = R++;\nsrc[PRERELEASEIDENTIFIER] = '(?:' + src[NUMERICIDENTIFIER] +\n '|' + src[NONNUMERICIDENTIFIER] + ')';\n\nvar PRERELEASEIDENTIFIERLOOSE = R++;\nsrc[PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[NUMERICIDENTIFIERLOOSE] +\n '|' + src[NONNUMERICIDENTIFIER] + ')';\n\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\nvar PRERELEASE = R++;\nsrc[PRERELEASE] = '(?:-(' + src[PRERELEASEIDENTIFIER] +\n '(?:\\\\.' + src[PRERELEASEIDENTIFIER] + ')*))';\n\nvar PRERELEASELOOSE = R++;\nsrc[PRERELEASELOOSE] = '(?:-?(' + src[PRERELEASEIDENTIFIERLOOSE] +\n '(?:\\\\.' + src[PRERELEASEIDENTIFIERLOOSE] + ')*))';\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\nvar BUILDIDENTIFIER = R++;\nsrc[BUILDIDENTIFIER] = '[0-9A-Za-z-]+';\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\nvar BUILD = R++;\nsrc[BUILD] = '(?:\\\\+(' + src[BUILDIDENTIFIER] +\n '(?:\\\\.' + src[BUILDIDENTIFIER] + ')*))';\n\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\nvar FULL = R++;\nvar FULLPLAIN = 'v?' + src[MAINVERSION] +\n src[PRERELEASE] + '?' +\n src[BUILD] + '?';\n\nsrc[FULL] = '^' + FULLPLAIN + '$';\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\nvar LOOSEPLAIN = '[v=\\\\s]*' + src[MAINVERSIONLOOSE] +\n src[PRERELEASELOOSE] + '?' +\n src[BUILD] + '?';\n\nvar LOOSE = R++;\nsrc[LOOSE] = '^' + LOOSEPLAIN + '$';\n\nvar GTLT = R++;\nsrc[GTLT] = '((?:<|>)?=?)';\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\nvar XRANGEIDENTIFIERLOOSE = R++;\nsrc[XRANGEIDENTIFIERLOOSE] = src[NUMERICIDENTIFIERLOOSE] + '|x|X|\\\\*';\nvar XRANGEIDENTIFIER = R++;\nsrc[XRANGEIDENTIFIER] = src[NUMERICIDENTIFIER] + '|x|X|\\\\*';\n\nvar XRANGEPLAIN = R++;\nsrc[XRANGEPLAIN] = '[v=\\\\s]*(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIER] + ')' +\n '(?:' + src[PRERELEASE] + ')?' +\n src[BUILD] + '?' +\n ')?)?';\n\nvar XRANGEPLAINLOOSE = R++;\nsrc[XRANGEPLAINLOOSE] = '[v=\\\\s]*(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:\\\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +\n '(?:' + src[PRERELEASELOOSE] + ')?' +\n src[BUILD] + '?' +\n ')?)?';\n\nvar XRANGE = R++;\nsrc[XRANGE] = '^' + src[GTLT] + '\\\\s*' + src[XRANGEPLAIN] + '$';\nvar XRANGELOOSE = R++;\nsrc[XRANGELOOSE] = '^' + src[GTLT] + '\\\\s*' + src[XRANGEPLAINLOOSE] + '$';\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\nvar COERCE = R++;\nsrc[COERCE] = '(?:^|[^\\\\d])' +\n '(\\\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' +\n '(?:\\\\.(\\\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +\n '(?:\\\\.(\\\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' +\n '(?:$|[^\\\\d])';\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\nvar LONETILDE = R++;\nsrc[LONETILDE] = '(?:~>?)';\n\nvar TILDETRIM = R++;\nsrc[TILDETRIM] = '(\\\\s*)' + src[LONETILDE] + '\\\\s+';\nre[TILDETRIM] = new RegExp(src[TILDETRIM], 'g');\nvar tildeTrimReplace = '$1~';\n\nvar TILDE = R++;\nsrc[TILDE] = '^' + src[LONETILDE] + src[XRANGEPLAIN] + '$';\nvar TILDELOOSE = R++;\nsrc[TILDELOOSE] = '^' + src[LONETILDE] + src[XRANGEPLAINLOOSE] + '$';\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\nvar LONECARET = R++;\nsrc[LONECARET] = '(?:\\\\^)';\n\nvar CARETTRIM = R++;\nsrc[CARETTRIM] = '(\\\\s*)' + src[LONECARET] + '\\\\s+';\nre[CARETTRIM] = new RegExp(src[CARETTRIM], 'g');\nvar caretTrimReplace = '$1^';\n\nvar CARET = R++;\nsrc[CARET] = '^' + src[LONECARET] + src[XRANGEPLAIN] + '$';\nvar CARETLOOSE = R++;\nsrc[CARETLOOSE] = '^' + src[LONECARET] + src[XRANGEPLAINLOOSE] + '$';\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\nvar COMPARATORLOOSE = R++;\nsrc[COMPARATORLOOSE] = '^' + src[GTLT] + '\\\\s*(' + LOOSEPLAIN + ')$|^$';\nvar COMPARATOR = R++;\nsrc[COMPARATOR] = '^' + src[GTLT] + '\\\\s*(' + FULLPLAIN + ')$|^$';\n\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\nvar COMPARATORTRIM = R++;\nsrc[COMPARATORTRIM] = '(\\\\s*)' + src[GTLT] +\n '\\\\s*(' + LOOSEPLAIN + '|' + src[XRANGEPLAIN] + ')';\n\n// this one has to use the /g flag\nre[COMPARATORTRIM] = new RegExp(src[COMPARATORTRIM], 'g');\nvar comparatorTrimReplace = '$1$2$3';\n\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\nvar HYPHENRANGE = R++;\nsrc[HYPHENRANGE] = '^\\\\s*(' + src[XRANGEPLAIN] + ')' +\n '\\\\s+-\\\\s+' +\n '(' + src[XRANGEPLAIN] + ')' +\n '\\\\s*$';\n\nvar HYPHENRANGELOOSE = R++;\nsrc[HYPHENRANGELOOSE] = '^\\\\s*(' + src[XRANGEPLAINLOOSE] + ')' +\n '\\\\s+-\\\\s+' +\n '(' + src[XRANGEPLAINLOOSE] + ')' +\n '\\\\s*$';\n\n// Star ranges basically just allow anything at all.\nvar STAR = R++;\nsrc[STAR] = '(<|>)?=?\\\\s*\\\\*';\n\n// Compile to actual regexp objects.\n// All are flag-free, unless they were created above with a flag.\nfor (var i = 0; i < R; i++) {\n debug(i, src[i]);\n if (!re[i])\n re[i] = new RegExp(src[i]);\n}\n\nexports.parse = parse;\nfunction parse(version, loose) {\n if (version instanceof SemVer)\n return version;\n\n if (typeof version !== 'string')\n return null;\n\n if (version.length > MAX_LENGTH)\n return null;\n\n var r = loose ? re[LOOSE] : re[FULL];\n if (!r.test(version))\n return null;\n\n try {\n return new SemVer(version, loose);\n } catch (er) {\n return null;\n }\n}\n\nexports.valid = valid;\nfunction valid(version, loose) {\n var v = parse(version, loose);\n return v ? v.version : null;\n}\n\n\nexports.clean = clean;\nfunction clean(version, loose) {\n var s = parse(version.trim().replace(/^[=v]+/, ''), loose);\n return s ? s.version : null;\n}\n\nexports.SemVer = SemVer;\n\nfunction SemVer(version, loose) {\n if (version instanceof SemVer) {\n if (version.loose === loose)\n return version;\n else\n version = version.version;\n } else if (typeof version !== 'string') {\n throw new TypeError('Invalid Version: ' + version);\n }\n\n if (version.length > MAX_LENGTH)\n throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters')\n\n if (!(this instanceof SemVer))\n return new SemVer(version, loose);\n\n debug('SemVer', version, loose);\n this.loose = loose;\n var m = version.trim().match(loose ? re[LOOSE] : re[FULL]);\n\n if (!m)\n throw new TypeError('Invalid Version: ' + version);\n\n this.raw = version;\n\n // these are actually numbers\n this.major = +m[1];\n this.minor = +m[2];\n this.patch = +m[3];\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0)\n throw new TypeError('Invalid major version')\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0)\n throw new TypeError('Invalid minor version')\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0)\n throw new TypeError('Invalid patch version')\n\n // numberify any prerelease numeric ids\n if (!m[4])\n this.prerelease = [];\n else\n this.prerelease = m[4].split('.').map(function(id) {\n if (/^[0-9]+$/.test(id)) {\n var num = +id;\n if (num >= 0 && num < MAX_SAFE_INTEGER)\n return num;\n }\n return id;\n });\n\n this.build = m[5] ? m[5].split('.') : [];\n this.format();\n}\n\nSemVer.prototype.format = function() {\n this.version = this.major + '.' + this.minor + '.' + this.patch;\n if (this.prerelease.length)\n this.version += '-' + this.prerelease.join('.');\n return this.version;\n};\n\nSemVer.prototype.toString = function() {\n return this.version;\n};\n\nSemVer.prototype.compare = function(other) {\n debug('SemVer.compare', this.version, this.loose, other);\n if (!(other instanceof SemVer))\n other = new SemVer(other, this.loose);\n\n return this.compareMain(other) || this.comparePre(other);\n};\n\nSemVer.prototype.compareMain = function(other) {\n if (!(other instanceof SemVer))\n other = new SemVer(other, this.loose);\n\n return compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch);\n};\n\nSemVer.prototype.comparePre = function(other) {\n if (!(other instanceof SemVer))\n other = new SemVer(other, this.loose);\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length)\n return -1;\n else if (!this.prerelease.length && other.prerelease.length)\n return 1;\n else if (!this.prerelease.length && !other.prerelease.length)\n return 0;\n\n var i = 0;\n do {\n var a = this.prerelease[i];\n var b = other.prerelease[i];\n debug('prerelease compare', i, a, b);\n if (a === undefined && b === undefined)\n return 0;\n else if (b === undefined)\n return 1;\n else if (a === undefined)\n return -1;\n else if (a === b)\n continue;\n else\n return compareIdentifiers(a, b);\n } while (++i);\n};\n\n// preminor will bump the version up to the next minor release, and immediately\n// down to pre-release. premajor and prepatch work the same way.\nSemVer.prototype.inc = function(release, identifier) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor = 0;\n this.major++;\n this.inc('pre', identifier);\n break;\n case 'preminor':\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor++;\n this.inc('pre', identifier);\n break;\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0;\n this.inc('patch', identifier);\n this.inc('pre', identifier);\n break;\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0)\n this.inc('patch', identifier);\n this.inc('pre', identifier);\n break;\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0)\n this.major++;\n this.minor = 0;\n this.patch = 0;\n this.prerelease = [];\n break;\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0)\n this.minor++;\n this.patch = 0;\n this.prerelease = [];\n break;\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0)\n this.patch++;\n this.prerelease = [];\n break;\n // This probably shouldn't be used publicly.\n // 1.0.0 \"pre\" would become 1.0.0-0 which is the wrong direction.\n case 'pre':\n if (this.prerelease.length === 0)\n this.prerelease = [0];\n else {\n var i = this.prerelease.length;\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++;\n i = -2;\n }\n }\n if (i === -1) // didn't increment anything\n this.prerelease.push(0);\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n if (this.prerelease[0] === identifier) {\n if (isNaN(this.prerelease[1]))\n this.prerelease = [identifier, 0];\n } else\n this.prerelease = [identifier, 0];\n }\n break;\n\n default:\n throw new Error('invalid increment argument: ' + release);\n }\n this.format();\n this.raw = this.version;\n return this;\n};\n\nexports.inc = inc;\nfunction inc(version, release, loose, identifier) {\n if (typeof(loose) === 'string') {\n identifier = loose;\n loose = undefined;\n }\n\n try {\n return new SemVer(version, loose).inc(release, identifier).version;\n } catch (er) {\n return null;\n }\n}\n\nexports.diff = diff;\nfunction diff(version1, version2) {\n if (eq(version1, version2)) {\n return null;\n } else {\n var v1 = parse(version1);\n var v2 = parse(version2);\n if (v1.prerelease.length || v2.prerelease.length) {\n for (var key in v1) {\n if (key === 'major' || key === 'minor' || key === 'patch') {\n if (v1[key] !== v2[key]) {\n return 'pre'+key;\n }\n }\n }\n return 'prerelease';\n }\n for (var key in v1) {\n if (key === 'major' || key === 'minor' || key === 'patch') {\n if (v1[key] !== v2[key]) {\n return key;\n }\n }\n }\n }\n}\n\nexports.compareIdentifiers = compareIdentifiers;\n\nvar numeric = /^[0-9]+$/;\nfunction compareIdentifiers(a, b) {\n var anum = numeric.test(a);\n var bnum = numeric.test(b);\n\n if (anum && bnum) {\n a = +a;\n b = +b;\n }\n\n return (anum && !bnum) ? -1 :\n (bnum && !anum) ? 1 :\n a < b ? -1 :\n a > b ? 1 :\n 0;\n}\n\nexports.rcompareIdentifiers = rcompareIdentifiers;\nfunction rcompareIdentifiers(a, b) {\n return compareIdentifiers(b, a);\n}\n\nexports.major = major;\nfunction major(a, loose) {\n return new SemVer(a, loose).major;\n}\n\nexports.minor = minor;\nfunction minor(a, loose) {\n return new SemVer(a, loose).minor;\n}\n\nexports.patch = patch;\nfunction patch(a, loose) {\n return new SemVer(a, loose).patch;\n}\n\nexports.compare = compare;\nfunction compare(a, b, loose) {\n return new SemVer(a, loose).compare(new SemVer(b, loose));\n}\n\nexports.compareLoose = compareLoose;\nfunction compareLoose(a, b) {\n return compare(a, b, true);\n}\n\nexports.rcompare = rcompare;\nfunction rcompare(a, b, loose) {\n return compare(b, a, loose);\n}\n\nexports.sort = sort;\nfunction sort(list, loose) {\n return list.sort(function(a, b) {\n return exports.compare(a, b, loose);\n });\n}\n\nexports.rsort = rsort;\nfunction rsort(list, loose) {\n return list.sort(function(a, b) {\n return exports.rcompare(a, b, loose);\n });\n}\n\nexports.gt = gt;\nfunction gt(a, b, loose) {\n return compare(a, b, loose) > 0;\n}\n\nexports.lt = lt;\nfunction lt(a, b, loose) {\n return compare(a, b, loose) < 0;\n}\n\nexports.eq = eq;\nfunction eq(a, b, loose) {\n return compare(a, b, loose) === 0;\n}\n\nexports.neq = neq;\nfunction neq(a, b, loose) {\n return compare(a, b, loose) !== 0;\n}\n\nexports.gte = gte;\nfunction gte(a, b, loose) {\n return compare(a, b, loose) >= 0;\n}\n\nexports.lte = lte;\nfunction lte(a, b, loose) {\n return compare(a, b, loose) <= 0;\n}\n\nexports.cmp = cmp;\nfunction cmp(a, op, b, loose) {\n var ret;\n switch (op) {\n case '===':\n if (typeof a === 'object') a = a.version;\n if (typeof b === 'object') b = b.version;\n ret = a === b;\n break;\n case '!==':\n if (typeof a === 'object') a = a.version;\n if (typeof b === 'object') b = b.version;\n ret = a !== b;\n break;\n case '': case '=': case '==': ret = eq(a, b, loose); break;\n case '!=': ret = neq(a, b, loose); break;\n case '>': ret = gt(a, b, loose); break;\n case '>=': ret = gte(a, b, loose); break;\n case '<': ret = lt(a, b, loose); break;\n case '<=': ret = lte(a, b, loose); break;\n default: throw new TypeError('Invalid operator: ' + op);\n }\n return ret;\n}\n\nexports.Comparator = Comparator;\nfunction Comparator(comp, loose) {\n if (comp instanceof Comparator) {\n if (comp.loose === loose)\n return comp;\n else\n comp = comp.value;\n }\n\n if (!(this instanceof Comparator))\n return new Comparator(comp, loose);\n\n debug('comparator', comp, loose);\n this.loose = loose;\n this.parse(comp);\n\n if (this.semver === ANY)\n this.value = '';\n else\n this.value = this.operator + this.semver.version;\n\n debug('comp', this);\n}\n\nvar ANY = {};\nComparator.prototype.parse = function(comp) {\n var r = this.loose ? re[COMPARATORLOOSE] : re[COMPARATOR];\n var m = comp.match(r);\n\n if (!m)\n throw new TypeError('Invalid comparator: ' + comp);\n\n this.operator = m[1];\n if (this.operator === '=')\n this.operator = '';\n\n // if it literally is just '>' or '' then allow anything.\n if (!m[2])\n this.semver = ANY;\n else\n this.semver = new SemVer(m[2], this.loose);\n};\n\nComparator.prototype.toString = function() {\n return this.value;\n};\n\nComparator.prototype.test = function(version) {\n debug('Comparator.test', version, this.loose);\n\n if (this.semver === ANY)\n return true;\n\n if (typeof version === 'string')\n version = new SemVer(version, this.loose);\n\n return cmp(version, this.operator, this.semver, this.loose);\n};\n\nComparator.prototype.intersects = function(comp, loose) {\n if (!(comp instanceof Comparator)) {\n throw new TypeError('a Comparator is required');\n }\n\n var rangeTmp;\n\n if (this.operator === '') {\n rangeTmp = new Range(comp.value, loose);\n return satisfies(this.value, rangeTmp, loose);\n } else if (comp.operator === '') {\n rangeTmp = new Range(this.value, loose);\n return satisfies(comp.semver, rangeTmp, loose);\n }\n\n var sameDirectionIncreasing =\n (this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '>=' || comp.operator === '>');\n var sameDirectionDecreasing =\n (this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '<=' || comp.operator === '<');\n var sameSemVer = this.semver.version === comp.semver.version;\n var differentDirectionsInclusive =\n (this.operator === '>=' || this.operator === '<=') &&\n (comp.operator === '>=' || comp.operator === '<=');\n var oppositeDirectionsLessThan =\n cmp(this.semver, '<', comp.semver, loose) &&\n ((this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '<=' || comp.operator === '<'));\n var oppositeDirectionsGreaterThan =\n cmp(this.semver, '>', comp.semver, loose) &&\n ((this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '>=' || comp.operator === '>'));\n\n return sameDirectionIncreasing || sameDirectionDecreasing ||\n (sameSemVer && differentDirectionsInclusive) ||\n oppositeDirectionsLessThan || oppositeDirectionsGreaterThan;\n};\n\n\nexports.Range = Range;\nfunction Range(range, loose) {\n if (range instanceof Range) {\n if (range.loose === loose) {\n return range;\n } else {\n return new Range(range.raw, loose);\n }\n }\n\n if (range instanceof Comparator) {\n return new Range(range.value, loose);\n }\n\n if (!(this instanceof Range))\n return new Range(range, loose);\n\n this.loose = loose;\n\n // First, split based on boolean or ||\n this.raw = range;\n this.set = range.split(/\\s*\\|\\|\\s*/).map(function(range) {\n return this.parseRange(range.trim());\n }, this).filter(function(c) {\n // throw out any that are not relevant for whatever reason\n return c.length;\n });\n\n if (!this.set.length) {\n throw new TypeError('Invalid SemVer Range: ' + range);\n }\n\n this.format();\n}\n\nRange.prototype.format = function() {\n this.range = this.set.map(function(comps) {\n return comps.join(' ').trim();\n }).join('||').trim();\n return this.range;\n};\n\nRange.prototype.toString = function() {\n return this.range;\n};\n\nRange.prototype.parseRange = function(range) {\n var loose = this.loose;\n range = range.trim();\n debug('range', range, loose);\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n var hr = loose ? re[HYPHENRANGELOOSE] : re[HYPHENRANGE];\n range = range.replace(hr, hyphenReplace);\n debug('hyphen replace', range);\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n range = range.replace(re[COMPARATORTRIM], comparatorTrimReplace);\n debug('comparator trim', range, re[COMPARATORTRIM]);\n\n // `~ 1.2.3` => `~1.2.3`\n range = range.replace(re[TILDETRIM], tildeTrimReplace);\n\n // `^ 1.2.3` => `^1.2.3`\n range = range.replace(re[CARETTRIM], caretTrimReplace);\n\n // normalize spaces\n range = range.split(/\\s+/).join(' ');\n\n // At this point, the range is completely trimmed and\n // ready to be split into comparators.\n\n var compRe = loose ? re[COMPARATORLOOSE] : re[COMPARATOR];\n var set = range.split(' ').map(function(comp) {\n return parseComparator(comp, loose);\n }).join(' ').split(/\\s+/);\n if (this.loose) {\n // in loose mode, throw out any that are not valid comparators\n set = set.filter(function(comp) {\n return !!comp.match(compRe);\n });\n }\n set = set.map(function(comp) {\n return new Comparator(comp, loose);\n });\n\n return set;\n};\n\nRange.prototype.intersects = function(range, loose) {\n if (!(range instanceof Range)) {\n throw new TypeError('a Range is required');\n }\n\n return this.set.some(function(thisComparators) {\n return thisComparators.every(function(thisComparator) {\n return range.set.some(function(rangeComparators) {\n return rangeComparators.every(function(rangeComparator) {\n return thisComparator.intersects(rangeComparator, loose);\n });\n });\n });\n });\n};\n\n// Mostly just for testing and legacy API reasons\nexports.toComparators = toComparators;\nfunction toComparators(range, loose) {\n return new Range(range, loose).set.map(function(comp) {\n return comp.map(function(c) {\n return c.value;\n }).join(' ').trim().split(' ');\n });\n}\n\n// comprised of xranges, tildes, stars, and gtlt's at this point.\n// already replaced the hyphen ranges\n// turn into a set of JUST comparators.\nfunction parseComparator(comp, loose) {\n debug('comp', comp);\n comp = replaceCarets(comp, loose);\n debug('caret', comp);\n comp = replaceTildes(comp, loose);\n debug('tildes', comp);\n comp = replaceXRanges(comp, loose);\n debug('xrange', comp);\n comp = replaceStars(comp, loose);\n debug('stars', comp);\n return comp;\n}\n\nfunction isX(id) {\n return !id || id.toLowerCase() === 'x' || id === '*';\n}\n\n// ~, ~> --> * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0\nfunction replaceTildes(comp, loose) {\n return comp.trim().split(/\\s+/).map(function(comp) {\n return replaceTilde(comp, loose);\n }).join(' ');\n}\n\nfunction replaceTilde(comp, loose) {\n var r = loose ? re[TILDELOOSE] : re[TILDE];\n return comp.replace(r, function(_, M, m, p, pr) {\n debug('tilde', comp, _, M, m, p, pr);\n var ret;\n\n if (isX(M))\n ret = '';\n else if (isX(m))\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0';\n else if (isX(p))\n // ~1.2 == >=1.2.0 <1.3.0\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0';\n else if (pr) {\n debug('replaceTilde pr', pr);\n if (pr.charAt(0) !== '-')\n pr = '-' + pr;\n ret = '>=' + M + '.' + m + '.' + p + pr +\n ' <' + M + '.' + (+m + 1) + '.0';\n } else\n // ~1.2.3 == >=1.2.3 <1.3.0\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + (+m + 1) + '.0';\n\n debug('tilde return', ret);\n return ret;\n });\n}\n\n// ^ --> * (any, kinda silly)\n// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0\n// ^1.2.3 --> >=1.2.3 <2.0.0\n// ^1.2.0 --> >=1.2.0 <2.0.0\nfunction replaceCarets(comp, loose) {\n return comp.trim().split(/\\s+/).map(function(comp) {\n return replaceCaret(comp, loose);\n }).join(' ');\n}\n\nfunction replaceCaret(comp, loose) {\n debug('caret', comp, loose);\n var r = loose ? re[CARETLOOSE] : re[CARET];\n return comp.replace(r, function(_, M, m, p, pr) {\n debug('caret', comp, _, M, m, p, pr);\n var ret;\n\n if (isX(M))\n ret = '';\n else if (isX(m))\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0';\n else if (isX(p)) {\n if (M === '0')\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0';\n else\n ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0';\n } else if (pr) {\n debug('replaceCaret pr', pr);\n if (pr.charAt(0) !== '-')\n pr = '-' + pr;\n if (M === '0') {\n if (m === '0')\n ret = '>=' + M + '.' + m + '.' + p + pr +\n ' <' + M + '.' + m + '.' + (+p + 1);\n else\n ret = '>=' + M + '.' + m + '.' + p + pr +\n ' <' + M + '.' + (+m + 1) + '.0';\n } else\n ret = '>=' + M + '.' + m + '.' + p + pr +\n ' <' + (+M + 1) + '.0.0';\n } else {\n debug('no pr');\n if (M === '0') {\n if (m === '0')\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + m + '.' + (+p + 1);\n else\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + M + '.' + (+m + 1) + '.0';\n } else\n ret = '>=' + M + '.' + m + '.' + p +\n ' <' + (+M + 1) + '.0.0';\n }\n\n debug('caret return', ret);\n return ret;\n });\n}\n\nfunction replaceXRanges(comp, loose) {\n debug('replaceXRanges', comp, loose);\n return comp.split(/\\s+/).map(function(comp) {\n return replaceXRange(comp, loose);\n }).join(' ');\n}\n\nfunction replaceXRange(comp, loose) {\n comp = comp.trim();\n var r = loose ? re[XRANGELOOSE] : re[XRANGE];\n return comp.replace(r, function(ret, gtlt, M, m, p, pr) {\n debug('xRange', comp, ret, gtlt, M, m, p, pr);\n var xM = isX(M);\n var xm = xM || isX(m);\n var xp = xm || isX(p);\n var anyX = xp;\n\n if (gtlt === '=' && anyX)\n gtlt = '';\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<0.0.0';\n } else {\n // nothing is forbidden\n ret = '*';\n }\n } else if (gtlt && anyX) {\n // replace X with 0\n if (xm)\n m = 0;\n if (xp)\n p = 0;\n\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n // >1.2.3 => >= 1.2.4\n gtlt = '>=';\n if (xm) {\n M = +M + 1;\n m = 0;\n p = 0;\n } else if (xp) {\n m = +m + 1;\n p = 0;\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should\n // pass. Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<';\n if (xm)\n M = +M + 1;\n else\n m = +m + 1;\n }\n\n ret = gtlt + M + '.' + m + '.' + p;\n } else if (xm) {\n ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0';\n } else if (xp) {\n ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0';\n }\n\n debug('xRange return', ret);\n\n return ret;\n });\n}\n\n// Because * is AND-ed with everything else in the comparator,\n// and '' means \"any version\", just remove the *s entirely.\nfunction replaceStars(comp, loose) {\n debug('replaceStars', comp, loose);\n // Looseness is ignored here. star is always as loose as it gets!\n return comp.trim().replace(re[STAR], '');\n}\n\n// This function is passed to string.replace(re[HYPHENRANGE])\n// M, m, patch, prerelease, build\n// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0\nfunction hyphenReplace($0,\n from, fM, fm, fp, fpr, fb,\n to, tM, tm, tp, tpr, tb) {\n\n if (isX(fM))\n from = '';\n else if (isX(fm))\n from = '>=' + fM + '.0.0';\n else if (isX(fp))\n from = '>=' + fM + '.' + fm + '.0';\n else\n from = '>=' + from;\n\n if (isX(tM))\n to = '';\n else if (isX(tm))\n to = '<' + (+tM + 1) + '.0.0';\n else if (isX(tp))\n to = '<' + tM + '.' + (+tm + 1) + '.0';\n else if (tpr)\n to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr;\n else\n to = '<=' + to;\n\n return (from + ' ' + to).trim();\n}\n\n\n// if ANY of the sets match ALL of its comparators, then pass\nRange.prototype.test = function(version) {\n if (!version)\n return false;\n\n if (typeof version === 'string')\n version = new SemVer(version, this.loose);\n\n for (var i = 0; i < this.set.length; i++) {\n if (testSet(this.set[i], version))\n return true;\n }\n return false;\n};\n\nfunction testSet(set, version) {\n for (var i = 0; i < set.length; i++) {\n if (!set[i].test(version))\n return false;\n }\n\n if (version.prerelease.length) {\n // Find the set of versions that are allowed to have prereleases\n // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n // That should allow `1.2.3-pr.2` to pass.\n // However, `1.2.4-alpha.notready` should NOT be allowed,\n // even though it's within the range set by the comparators.\n for (var i = 0; i < set.length; i++) {\n debug(set[i].semver);\n if (set[i].semver === ANY)\n continue;\n\n if (set[i].semver.prerelease.length > 0) {\n var allowed = set[i].semver;\n if (allowed.major === version.major &&\n allowed.minor === version.minor &&\n allowed.patch === version.patch)\n return true;\n }\n }\n\n // Version has a -pre, but it's not one of the ones we like.\n return false;\n }\n\n return true;\n}\n\nexports.satisfies = satisfies;\nfunction satisfies(version, range, loose) {\n try {\n range = new Range(range, loose);\n } catch (er) {\n return false;\n }\n return range.test(version);\n}\n\nexports.maxSatisfying = maxSatisfying;\nfunction maxSatisfying(versions, range, loose) {\n var max = null;\n var maxSV = null;\n try {\n var rangeObj = new Range(range, loose);\n } catch (er) {\n return null;\n }\n versions.forEach(function (v) {\n if (rangeObj.test(v)) { // satisfies(v, range, loose)\n if (!max || maxSV.compare(v) === -1) { // compare(max, v, true)\n max = v;\n maxSV = new SemVer(max, loose);\n }\n }\n })\n return max;\n}\n\nexports.minSatisfying = minSatisfying;\nfunction minSatisfying(versions, range, loose) {\n var min = null;\n var minSV = null;\n try {\n var rangeObj = new Range(range, loose);\n } catch (er) {\n return null;\n }\n versions.forEach(function (v) {\n if (rangeObj.test(v)) { // satisfies(v, range, loose)\n if (!min || minSV.compare(v) === 1) { // compare(min, v, true)\n min = v;\n minSV = new SemVer(min, loose);\n }\n }\n })\n return min;\n}\n\nexports.validRange = validRange;\nfunction validRange(range, loose) {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range(range, loose).range || '*';\n } catch (er) {\n return null;\n }\n}\n\n// Determine if version is less than all the versions possible in the range\nexports.ltr = ltr;\nfunction ltr(version, range, loose) {\n return outside(version, range, '<', loose);\n}\n\n// Determine if version is greater than all the versions possible in the range.\nexports.gtr = gtr;\nfunction gtr(version, range, loose) {\n return outside(version, range, '>', loose);\n}\n\nexports.outside = outside;\nfunction outside(version, range, hilo, loose) {\n version = new SemVer(version, loose);\n range = new Range(range, loose);\n\n var gtfn, ltefn, ltfn, comp, ecomp;\n switch (hilo) {\n case '>':\n gtfn = gt;\n ltefn = lte;\n ltfn = lt;\n comp = '>';\n ecomp = '>=';\n break;\n case '<':\n gtfn = lt;\n ltefn = gte;\n ltfn = gt;\n comp = '<';\n ecomp = '<=';\n break;\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"');\n }\n\n // If it satisifes the range it is not outside\n if (satisfies(version, range, loose)) {\n return false;\n }\n\n // From now on, variable terms are as if we're in \"gtr\" mode.\n // but note that everything is flipped for the \"ltr\" function.\n\n for (var i = 0; i < range.set.length; ++i) {\n var comparators = range.set[i];\n\n var high = null;\n var low = null;\n\n comparators.forEach(function(comparator) {\n if (comparator.semver === ANY) {\n comparator = new Comparator('>=0.0.0')\n }\n high = high || comparator;\n low = low || comparator;\n if (gtfn(comparator.semver, high.semver, loose)) {\n high = comparator;\n } else if (ltfn(comparator.semver, low.semver, loose)) {\n low = comparator;\n }\n });\n\n // If the edge version comparator has a operator then our version\n // isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false;\n }\n\n // If the lowest version comparator has an operator and our version\n // is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false;\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false;\n }\n }\n return true;\n}\n\nexports.prerelease = prerelease;\nfunction prerelease(version, loose) {\n var parsed = parse(version, loose);\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null;\n}\n\nexports.intersects = intersects;\nfunction intersects(r1, r2, loose) {\n r1 = new Range(r1, loose)\n r2 = new Range(r2, loose)\n return r1.intersects(r2)\n}\n\nexports.coerce = coerce;\nfunction coerce(version) {\n if (version instanceof SemVer)\n return version;\n\n if (typeof version !== 'string')\n return null;\n\n var match = version.match(re[COERCE]);\n\n if (match == null)\n return null;\n\n return parse((match[1] || '0') + '.' + (match[2] || '0') + '.' + (match[3] || '0')); \n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/semver/semver.js\n// module id = 456\n// module chunks = 0","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/process/browser.js\n// module id = 457\n// module chunks = 0","// -- Transforms -----\n\nimport {extend} from 'vega-util';\nimport {transforms} from 'vega-dataflow';\nimport * as tx from 'vega-transforms';\nimport * as vtx from 'vega-view-transforms';\nimport * as encode from 'vega-encode';\nimport * as geo from 'vega-geo';\nimport * as force from 'vega-force';\nimport * as tree from 'vega-hierarchy';\nimport * as voronoi from 'vega-voronoi';\nimport * as wordcloud from 'vega-wordcloud';\nimport * as xf from 'vega-crossfilter';\nextend(transforms, tx, vtx, encode, geo, force, tree, voronoi, wordcloud, xf);\n\n\n// -- Exports -----\n\nexport {\n version\n} from './package.json';\n\nexport * from 'vega-statistics';\n\nexport * from 'vega-util';\n\nexport * from 'vega-loader';\n\nexport * from 'vega-scenegraph';\n\nexport {\n Dataflow,\n EventStream,\n Parameters,\n Pulse,\n MultiPulse,\n Operator,\n Transform,\n changeset,\n ingest,\n isTuple,\n definition,\n transform,\n transforms,\n tupleid\n} from 'vega-dataflow';\n\nexport {\n scale,\n scheme,\n schemeDiscretized,\n interpolate,\n interpolateRange,\n timeInterval,\n utcInterval\n} from 'vega-scale';\n\nexport {\n projection\n} from 'vega-projection';\n\nexport {\n View\n} from 'vega-view';\n\nexport {\n parse,\n expressionFunction,\n formatLocale,\n timeFormatLocale\n} from 'vega-parser';\n\nexport {\n parse as runtime,\n context as runtimeContext\n} from 'vega-runtime';\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lib/index.js\n// module id = 458\n// module chunks = 0","function log(method, level, input) {\n var args = [level].concat([].slice.call(input));\n console[method].apply(console, args); // eslint-disable-line no-console\n}\n\nexport var None = 0;\nexport var Error = 1;\nexport var Warn = 2;\nexport var Info = 3;\nexport var Debug = 4;\n\nexport default function(_) {\n var level = _ || None;\n return {\n level: function(_) {\n if (arguments.length) {\n level = +_;\n return this;\n } else {\n return level;\n }\n },\n error: function() {\n if (level >= Error) log('error', 'ERROR', arguments);\n return this;\n },\n warn: function() {\n if (level >= Warn) log('warn', 'WARN', arguments);\n return this;\n },\n info: function() {\n if (level >= Info) log('log', 'INFO', arguments);\n return this;\n },\n debug: function() {\n if (level >= Debug) log('log', 'DEBUG', arguments);\n return this;\n }\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/logger.js\n// module id = 459\n// module chunks = 0","import {identity} from './accessors';\nimport peek from './peek';\nimport toNumber from './toNumber';\n\nfunction exp(sign) {\n return function(x) { return sign * Math.exp(x); };\n}\n\nfunction log(sign) {\n return function(x) { return Math.log(sign * x); };\n}\n\nfunction pow(exponent) {\n return function(x) {\n return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent);\n };\n}\n\nfunction pan(domain, delta, lift, ground) {\n var d0 = lift(domain[0]),\n d1 = lift(peek(domain)),\n dd = (d1 - d0) * delta;\n\n return [\n ground(d0 - dd),\n ground(d1 - dd)\n ];\n}\n\nexport function panLinear(domain, delta) {\n return pan(domain, delta, toNumber, identity);\n}\n\nexport function panLog(domain, delta) {\n var sign = Math.sign(domain[0]);\n return pan(domain, delta, log(sign), exp(sign));\n}\n\nexport function panPow(domain, delta, exponent) {\n return pan(domain, delta, pow(exponent), pow(1/exponent));\n}\n\nfunction zoom(domain, anchor, scale, lift, ground) {\n var d0 = lift(domain[0]),\n d1 = lift(peek(domain)),\n da = anchor != null ? lift(anchor) : (d0 + d1) / 2;\n\n return [\n ground(da + (d0 - da) * scale),\n ground(da + (d1 - da) * scale)\n ];\n}\n\nexport function zoomLinear(domain, anchor, scale) {\n return zoom(domain, anchor, scale, toNumber, identity);\n}\n\nexport function zoomLog(domain, anchor, scale) {\n var sign = Math.sign(domain[0]);\n return zoom(domain, anchor, scale, log(sign), exp(sign));\n}\n\nexport function zoomPow(domain, anchor, scale, exponent) {\n return zoom(domain, anchor, scale, pow(exponent), pow(1/exponent));\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/transform.js\n// module id = 460\n// module chunks = 0","import {default as accessor, accessorFields} from './accessor';\nimport array from './array';\nimport isFunction from './isFunction';\nimport splitAccessPath from './splitAccessPath';\nimport stringValue from './stringValue';\n\nexport default function(fields, orders) {\n var idx = [],\n cmp = (fields = array(fields)).map(function(f, i) {\n if (f == null) {\n return null;\n } else {\n idx.push(i);\n return isFunction(f) ? f\n : splitAccessPath(f).map(stringValue).join('][');\n }\n }),\n n = idx.length - 1,\n ord = array(orders),\n code = 'var u,v;return ',\n i, j, f, u, v, d, t, lt, gt;\n\n if (n < 0) return null;\n\n for (j=0; j<=n; ++j) {\n i = idx[j];\n f = cmp[i];\n\n if (isFunction(f)) {\n d = 'f' + i;\n u = '(u=this.' + d + '(a))';\n v = '(v=this.' + d + '(b))';\n (t = t || {})[d] = f;\n } else {\n u = '(u=a['+f+'])';\n v = '(v=b['+f+'])';\n }\n\n d = '((v=v instanceof Date?+v:v),(u=u instanceof Date?+u:u))';\n\n if (ord[i] !== 'descending') {\n gt = 1;\n lt = -1;\n } else {\n gt = -1;\n lt = 1;\n }\n\n code += '(' + u+'<'+v+'||u==null)&&v!=null?' + lt\n + ':(u>v||v==null)&&u!=null?' + gt\n + ':'+d+'!==u&&v===v?' + lt\n + ':v!==v&&u===u?' + gt\n + (i < n ? ':' : ':0');\n }\n\n f = Function('a', 'b', code + ';');\n if (t) f = f.bind(t);\n\n fields = fields.reduce(function(map, field) {\n if (isFunction(field)) {\n (accessorFields(field) || []).forEach(function(_) { map[_] = 1; });\n } else if (field != null) {\n map[field + ''] = 1;\n }\n return map;\n }, {});\n\n return accessor(f, Object.keys(fields));\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/compare.js\n// module id = 461\n// module chunks = 0","import isFunction from './isFunction';\n\nexport default function(_) {\n return isFunction(_) ? _ : function() { return _; };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/constant.js\n// module id = 462\n// module chunks = 0","export default function(delay, handler) {\n var tid, evt;\n\n function callback() {\n handler(evt);\n tid = evt = null;\n }\n\n return function(e) {\n evt = e;\n if (tid) clearTimeout(tid);\n tid = setTimeout(callback, delay);\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/debounce.js\n// module id = 463\n// module chunks = 0","export default function(_) {\n for (var x, k, i=1, len=arguments.length; i<len; ++i) {\n x = arguments[i];\n for (k in x) { _[k] = x[k]; }\n }\n return _;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/extend.js\n// module id = 464\n// module chunks = 0","export default function(array, f) {\n var i = -1,\n n = array.length,\n a, b, c, u, v;\n\n if (f == null) {\n while (++i < n) {\n b = array[i];\n if (b != null && b >= b) {\n a = c = b;\n break;\n }\n }\n u = v = i;\n while (++i < n) {\n b = array[i];\n if (b != null) {\n if (a > b) {\n a = b;\n u = i;\n }\n if (c < b) {\n c = b;\n v = i;\n }\n }\n }\n } else {\n while (++i < n) {\n b = f(array[i], i, array);\n if (b != null && b >= b) {\n a = c = b;\n break;\n }\n }\n u = v = i;\n while (++i < n) {\n b = f(array[i], i, array);\n if (b != null) {\n if (a > b) {\n a = b;\n u = i;\n }\n if (c < b) {\n c = b;\n v = i;\n }\n }\n }\n }\n\n return [u, v];\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/extentIndex.js\n// module id = 465\n// module chunks = 0","var NULL = {};\n\nexport default function(input) {\n var obj = {},\n map,\n test;\n\n function has(key) {\n return obj.hasOwnProperty(key) && obj[key] !== NULL;\n }\n\n map = {\n size: 0,\n empty: 0,\n object: obj,\n has: has,\n get: function(key) {\n return has(key) ? obj[key] : undefined;\n },\n set: function(key, value) {\n if (!has(key)) {\n ++map.size;\n if (obj[key] === NULL) --map.empty;\n }\n obj[key] = value;\n return this;\n },\n delete: function(key) {\n if (has(key)) {\n --map.size;\n ++map.empty;\n obj[key] = NULL;\n }\n return this;\n },\n clear: function() {\n map.size = map.empty = 0;\n map.object = obj = {};\n },\n test: function(_) {\n if (arguments.length) {\n test = _;\n return map;\n } else {\n return test;\n }\n },\n clean: function() {\n var next = {},\n size = 0,\n key, value;\n for (key in obj) {\n value = obj[key];\n if (value !== NULL && (!test || !test(value))) {\n next[key] = value;\n ++size;\n }\n }\n map.size = size;\n map.empty = 0;\n map.object = (obj = next);\n }\n };\n\n if (input) Object.keys(input).forEach(function(key) {\n map.set(key, input[key]);\n });\n\n return map;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/fastmap.js\n// module id = 466\n// module chunks = 0","export default function(child, parent) {\n var proto = (child.prototype = Object.create(parent.prototype));\n proto.constructor = child;\n return proto;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/inherits.js\n// module id = 467\n// module chunks = 0","export default function(_) {\n return typeof _ === 'boolean';\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/isBoolean.js\n// module id = 468\n// module chunks = 0","export default function(_) {\n return Object.prototype.toString.call(_) === '[object RegExp]';\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/isRegExp.js\n// module id = 469\n// module chunks = 0","import accessor from './accessor';\nimport array from './array';\nimport splitAccessPath from './splitAccessPath';\nimport stringValue from './stringValue';\n\nexport default function(fields, flat) {\n if (fields) {\n fields = flat\n ? array(fields).map(function(f) { return f.replace(/\\\\(.)/g, '$1'); })\n : array(fields);\n }\n\n var fn = !(fields && fields.length)\n ? function() { return ''; }\n : Function('_', 'return \\'\\'+' +\n fields.map(function(f) {\n return '_[' + (flat\n ? stringValue(f)\n : splitAccessPath(f).map(stringValue).join('][')\n ) + ']';\n }).join('+\\'|\\'+') + ';');\n\n return accessor(fn, fields, 'key');\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/key.js\n// module id = 470\n// module chunks = 0","export default function(compare, array0, array1, output) {\n var n0 = array0.length,\n n1 = array1.length;\n\n if (!n1) return array0;\n if (!n0) return array1;\n\n var merged = output || new array0.constructor(n0 + n1),\n i0 = 0, i1 = 0, i = 0;\n\n for (; i0<n0 && i1<n1; ++i) {\n merged[i] = compare(array0[i0], array1[i1]) > 0\n ? array1[i1++]\n : array0[i0++];\n }\n\n for (; i0<n0; ++i0, ++i) {\n merged[i] = array0[i0];\n }\n\n for (; i1<n1; ++i1, ++i) {\n merged[i] = array1[i1];\n }\n\n return merged;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/merge.js\n// module id = 471\n// module chunks = 0","import repeat from './repeat';\n\nexport default function(str, length, padchar, align) {\n var c = padchar || ' ',\n s = str + '',\n n = length - s.length;\n\n return n <= 0 ? s\n : align === 'left' ? repeat(c, n) + s\n : align === 'center' ? repeat(c, ~~(n/2)) + s + repeat(c, Math.ceil(n/2))\n : s + repeat(c, n);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/pad.js\n// module id = 472\n// module chunks = 0","export default function(_) {\n return _ == null || _ === '' ? null : !_ || _ === 'false' || _ === '0' ? false : !!_;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/toBoolean.js\n// module id = 473\n// module chunks = 0","import isDate from './isDate';\nimport isNumber from './isNumber';\n\nfunction defaultParser(_) {\n return isNumber(_) ? _ : isDate(_) ? _ : Date.parse(_);\n}\n\nexport default function(_, parser) {\n parser = parser || defaultParser;\n return _ == null || _ === '' ? null : parser(_);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/toDate.js\n// module id = 474\n// module chunks = 0","export default function(_) {\n return _ == null || _ === '' ? null : _ + '';\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/toString.js\n// module id = 475\n// module chunks = 0","export default function(_) {\n for (var s={}, i=0, n=_.length; i<n; ++i) s[_[i]] = true;\n return s;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/toSet.js\n// module id = 476\n// module chunks = 0","export default function(str, length, align, ellipsis) {\n var e = ellipsis != null ? ellipsis : '\\u2026',\n s = str + '',\n n = s.length,\n l = Math.max(0, length - e.length);\n\n return n <= length ? s\n : align === 'left' ? e + s.slice(n - l)\n : align === 'center' ? s.slice(0, Math.ceil(l/2)) + e + s.slice(n - ~~(l/2))\n : s.slice(0, l) + e;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/truncate.js\n// module id = 477\n// module chunks = 0","export default function(array, filter, visitor) {\n if (array) {\n var i = 0, n = array.length, t;\n if (filter) {\n for (; i<n; ++i) {\n if (t = filter(array[i])) visitor(t, i, array);\n }\n } else {\n array.forEach(visitor);\n }\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-util/src/visitArray.js\n// module id = 478\n// module chunks = 0","import add from './add';\nimport connect from './connect';\nimport events from './events';\nimport {ingest, request} from './load';\nimport on from './on';\nimport {rank, rerank} from './rank';\nimport {run, runAsync, runAfter, enqueue, getPulse} from './run';\nimport {pulse, touch, update} from './update';\nimport changeset from '../ChangeSet';\nimport Heap from '../util/Heap';\nimport UniqueList from '../util/UniqueList';\nimport {loader} from 'vega-loader';\nimport {id, logger, Error} from 'vega-util';\n\n/**\n * A dataflow graph for reactive processing of data streams.\n * @constructor\n */\nexport default function Dataflow() {\n this._log = logger();\n this.logLevel(Error);\n\n this._clock = 0;\n this._rank = 0;\n try {\n this._loader = loader();\n } catch (e) {\n // do nothing if loader module is unavailable\n }\n\n this._touched = UniqueList(id);\n this._pulses = {};\n this._pulse = null;\n\n this._heap = new Heap(function(a, b) { return a.qrank - b.qrank; });\n this._postrun = [];\n}\n\nvar prototype = Dataflow.prototype;\n\n/**\n * The current timestamp of this dataflow. This value reflects the\n * timestamp of the previous dataflow run. The dataflow is initialized\n * with a stamp value of 0. The initial run of the dataflow will have\n * a timestap of 1, and so on. This value will match the\n * {@link Pulse.stamp} property.\n * @return {number} - The current timestamp value.\n */\nprototype.stamp = function() {\n return this._clock;\n};\n\n/**\n * Gets or sets the loader instance to use for data file loading. A\n * loader object must provide a \"load\" method for loading files and a\n * \"sanitize\" method for checking URL/filename validity. Both methods\n * should accept a URI and options hash as arguments, and return a Promise\n * that resolves to the loaded file contents (load) or a hash containing\n * sanitized URI data with the sanitized url assigned to the \"href\" property\n * (sanitize).\n * @param {object} _ - The loader instance to use.\n * @return {object|Dataflow} - If no arguments are provided, returns\n * the current loader instance. Otherwise returns this Dataflow instance.\n */\nprototype.loader = function(_) {\n if (arguments.length) {\n this._loader = _;\n return this;\n } else {\n return this._loader;\n }\n};\n\n/**\n * Empty entry threshold for garbage cleaning. Map data structures will\n * perform cleaning once the number of empty entries exceeds this value.\n */\nprototype.cleanThreshold = 1e4;\n\n// OPERATOR REGISTRATION\nprototype.add = add;\nprototype.connect = connect;\nprototype.rank = rank;\nprototype.rerank = rerank;\n\n// OPERATOR UPDATES\nprototype.pulse = pulse;\nprototype.touch = touch;\nprototype.update = update;\nprototype.changeset = changeset;\n\n// DATA LOADING\nprototype.ingest = ingest;\nprototype.request = request;\n\n// EVENT HANDLING\nprototype.events = events;\nprototype.on = on;\n\n// PULSE PROPAGATION\nprototype.run = run;\nprototype.runAsync = runAsync;\nprototype.runAfter = runAfter;\nprototype._enqueue = enqueue;\nprototype._getPulse = getPulse;\n\n// LOGGING AND ERROR HANDLING\n\nfunction logMethod(method) {\n return function() {\n return this._log[method].apply(this, arguments);\n };\n}\n\n/**\n * Logs an error message. By default, logged messages are written to console\n * output. The message will only be logged if the current log level is high\n * enough to permit error messages.\n */\nprototype.error = logMethod('error');\n\n/**\n * Logs a warning message. By default, logged messages are written to console\n * output. The message will only be logged if the current log level is high\n * enough to permit warning messages.\n */\nprototype.warn = logMethod('warn');\n\n/**\n * Logs a information message. By default, logged messages are written to\n * console output. The message will only be logged if the current log level is\n * high enough to permit information messages.\n */\nprototype.info = logMethod('info');\n\n/**\n * Logs a debug message. By default, logged messages are written to console\n * output. The message will only be logged if the current log level is high\n * enough to permit debug messages.\n */\nprototype.debug = logMethod('debug');\n\n/**\n * Get or set the current log level. If an argument is provided, it\n * will be used as the new log level.\n * @param {number} [level] - Should be one of None, Warn, Info\n * @return {number} - The current log level.\n */\nprototype.logLevel = logMethod('level');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-dataflow/src/dataflow/Dataflow.js\n// module id = 479\n// module chunks = 0","import Operator from '../Operator';\nimport {isFunction} from 'vega-util';\n\n/**\n * Add an operator to the dataflow graph. This function accepts a\n * variety of input argument types. The basic signature supports an\n * initial value, update function and parameters. If the first parameter\n * is an Operator instance, it will be added directly. If it is a\n * constructor for an Operator subclass, a new instance will be instantiated.\n * Otherwise, if the first parameter is a function instance, it will be used\n * as the update function and a null initial value is assumed.\n * @param {*} init - One of: the operator to add, the initial value of\n * the operator, an operator class to instantiate, or an update function.\n * @param {function} [update] - The operator update function.\n * @param {object} [params] - The operator parameters.\n * @param {boolean} [react=true] - Flag indicating if this operator should\n * listen for changes to upstream operators included as parameters.\n * @return {Operator} - The added operator.\n */\nexport default function(init, update, params, react) {\n var shift = 1,\n op;\n\n if (init instanceof Operator) {\n op = init;\n } else if (init && init.prototype instanceof Operator) {\n op = new init();\n } else if (isFunction(init)) {\n op = new Operator(null, init);\n } else {\n shift = 0;\n op = new Operator(init, update);\n }\n\n this.rank(op);\n if (shift) {\n react = params;\n params = update;\n }\n if (params) this.connect(op, op.parameters(params, react));\n this.touch(op);\n\n return op;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-dataflow/src/dataflow/add.js\n// module id = 480\n// module chunks = 0","/**\n * Connect a target operator as a dependent of source operators.\n * If necessary, this method will rerank the target operator and its\n * dependents to ensure propagation proceeds in a topologically sorted order.\n * @param {Operator} target - The target operator.\n * @param {Array<Operator>} - The source operators that should propagate\n * to the target operator.\n */\nexport default function(target, sources) {\n var targetRank = target.rank, i, n;\n\n for (i=0, n=sources.length; i<n; ++i) {\n if (targetRank < sources[i].rank) {\n this.rerank(target);\n return;\n }\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-dataflow/src/dataflow/connect.js\n// module id = 481\n// module chunks = 0","import {stream} from '../EventStream';\nimport {array} from 'vega-util';\n\n/**\n * Create a new event stream from an event source.\n * @param {object} source - The event source to monitor. The input must\n * support the addEventListener method.\n * @param {string} type - The event type.\n * @param {function(object): boolean} [filter] - Event filter function.\n * @param {function(object): *} [apply] - Event application function.\n * If provided, this function will be invoked and the result will be\n * used as the downstream event value.\n * @return {EventStream}\n */\nexport default function(source, type, filter, apply) {\n var df = this,\n s = stream(filter, apply),\n send = function(e) {\n e.dataflow = df;\n try {\n s.receive(e);\n } catch (error) {\n df.error(error);\n } finally {\n df.run();\n }\n },\n sources;\n\n if (typeof source === 'string' && typeof document !== 'undefined') {\n sources = document.querySelectorAll(source);\n } else {\n sources = array(source);\n }\n\n for (var i=0, n=sources.length; i<n; ++i) {\n sources[i].addEventListener(type, send);\n }\n\n return s;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-dataflow/src/dataflow/events.js\n// module id = 482\n// module chunks = 0","import {read} from 'vega-loader';\nimport {truthy} from 'vega-util';\n\n/**\n * Ingests new data into the dataflow. First parses the data using the\n * vega-loader read method, then pulses a changeset to the target operator.\n * @param {Operator} target - The Operator to target with ingested data,\n * typically a Collect transform instance.\n * @param {*} data - The input data, prior to parsing. For JSON this may\n * be a string or an object. For CSV, TSV, etc should be a string.\n * @param {object} format - The data format description for parsing\n * loaded data. This object is passed to the vega-loader read method.\n * @returns {Dataflow}\n */\nexport function ingest(target, data, format) {\n return this.pulse(target, this.changeset().insert(read(data, format)));\n}\n\nfunction loadPending(df) {\n var accept, reject,\n pending = new Promise(function(a, r) {\n accept = function() { a(df); };\n reject = r;\n });\n\n pending.requests = 0;\n\n pending.done = function() {\n if (--pending.requests === 0) {\n df.runAfter(function() {\n df._pending = null;\n try {\n df.run();\n if (df._pending) {\n df._pending.then(accept);\n } else {\n accept();\n }\n } catch (err) {\n reject(err);\n }\n });\n }\n };\n\n return (df._pending = pending);\n}\n\n/**\n * Request data from an external source, parse it, and pulse a changeset\n * to the specified target operator.\n * @param {Operator} target - The Operator to target with the loaded data,\n * typically a Collect transform instance.\n * @param {string} url - The URL from which to load the data. This string\n * is passed to the vega-loader load method.\n * @param {object} [format] - The data format description for parsing\n * loaded data. This object is passed to the vega-loader read method.\n * @return {Promise} A Promise that resolves upon completion of the request.\n * Resolves to a status code: 0 success, -1 load fail, -2 parse fail.\n */\nexport function request(target, url, format) {\n var df = this,\n status = 0,\n pending = df._pending || loadPending(df);\n\n pending.requests += 1;\n\n return df.loader()\n .load(url, {context:'dataflow'})\n .then(\n function(data) {\n return read(data, format);\n },\n function(error) {\n status = -1;\n df.error('Loading failed', url, error);\n })\n .catch(\n function(error) {\n status = -2;\n df.error('Data ingestion failed', url, error);\n })\n .then(function(data) {\n df.pulse(target, df.changeset().remove(truthy).insert(data || []));\n pending.done();\n return status;\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-dataflow/src/dataflow/load.js\n// module id = 483\n// module chunks = 0","import {extend, isFunction, stringValue} from 'vega-util';\n\n// Matches absolute URLs with optional protocol\n// https://... file://... //...\nvar protocol_re = /^([A-Za-z]+:)?\\/\\//;\n\n// Special treatment in node.js for the file: protocol\nvar fileProtocol = 'file://';\n\n/**\n * Creates a new loader instance that provides methods for requesting files\n * from either the network or disk, and for sanitizing request URIs.\n * @param {object} [options] - Optional default loading options to use.\n * @return {object} - A new loader instance.\n */\nexport default function(options) {\n return {\n options: options || {},\n sanitize: sanitize,\n load: load,\n file: file,\n http: http\n };\n}\n\n/**\n * Load an external resource, typically either from the web or from the local\n * filesystem. This function uses {@link sanitize} to first sanitize the uri,\n * then calls either {@link http} (for web requests) or {@link file} (for\n * filesystem loading).\n * @param {string} uri - The resource indicator (e.g., URL or filename).\n * @param {object} [options] - Optional loading options. These options will\n * override any existing default options.\n * @return {Promise} - A promise that resolves to the loaded content.\n */\nfunction load(uri, options) {\n var loader = this;\n return loader.sanitize(uri, options)\n .then(function(opt) {\n var url = opt.href;\n return opt.localFile\n ? loader.file(url)\n : loader.http(url, options);\n });\n}\n\n/**\n * URI sanitizer function.\n * @param {string} uri - The uri (url or filename) to sanity check.\n * @param {object} options - An options hash.\n * @return {Promise} - A promise that resolves to an object containing\n * sanitized uri data, or rejects it the input uri is deemed invalid.\n * The properties of the resolved object are assumed to be\n * valid attributes for an HTML 'a' tag. The sanitized uri *must* be\n * provided by the 'href' property of the returned object.\n */\nfunction sanitize(uri, options) {\n options = extend({}, this.options, options);\n\n return new Promise(function(accept, reject) {\n var result = {href: null},\n isFile, hasProtocol, loadFile, base;\n\n if (uri == null || typeof uri !== 'string') {\n reject('Sanitize failure, invalid URI: ' + stringValue(uri));\n return;\n }\n\n hasProtocol = protocol_re.test(uri);\n\n // if relative url (no protocol/host), prepend baseURL\n if ((base = options.baseURL) && !hasProtocol) {\n // Ensure that there is a slash between the baseURL (e.g. hostname) and url\n if (!startsWith(uri, '/') && base[base.length-1] !== '/') {\n uri = '/' + uri;\n }\n uri = base + uri;\n }\n\n // should we load from file system?\n loadFile = (isFile = startsWith(uri, fileProtocol))\n || options.mode === 'file'\n || options.mode !== 'http' && !hasProtocol && fs();\n\n if (isFile) {\n // strip file protocol\n uri = uri.slice(fileProtocol.length);\n } else if (startsWith(uri, '//')) {\n if (options.defaultProtocol === 'file') {\n // if is file, strip protocol and set loadFile flag\n uri = uri.slice(2);\n loadFile = true;\n } else {\n // if relative protocol (starts with '//'), prepend default protocol\n uri = (options.defaultProtocol || 'http') + ':' + uri;\n }\n }\n\n // set non-enumerable mode flag to indicate local file load\n Object.defineProperty(result, 'localFile', {value: !!loadFile});\n\n // set uri\n result.href = uri;\n\n // set default result target, if specified\n if (options.target) {\n result.target = options.target + '';\n }\n\n // return\n accept(result);\n });\n}\n\n/**\n * HTTP request loader.\n * @param {string} url - The url to request.\n * @param {object} options - An options hash.\n * @return {Promise} - A promise that resolves to the file contents.\n */\nfunction http(url, options) {\n return request(url, extend({}, this.options.http, options))\n .then(function(response) {\n if (!response.ok) throw response.status + '' + response.statusText;\n return response.text();\n });\n}\n\n/**\n * File system loader.\n * @param {string} filename - The file system path to load.\n * @return {Promise} - A promise that resolves to the file contents.\n */\nfunction file(filename) {\n return new Promise(function(accept, reject) {\n var f = fs();\n f ? f.readFile(filename, function(error, data) {\n if (error) reject(error);\n else accept(data);\n })\n : reject('No file system access for ' + filename);\n });\n}\n\nfunction request(url, init) {\n var f = typeof fetch === 'function' ? fetch : require('node-fetch');\n return f ? f(url, init) : Promise.reject('No fetch method available.');\n}\n\nfunction fs() {\n var fs = typeof require === 'function' && require('fs');\n return fs && isFunction(fs.readFile) ? fs : null;\n}\n\nfunction startsWith(string, query) {\n return string == null ? false : string.lastIndexOf(query, 0) === 0;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-loader/src/loader.js\n// module id = 484\n// module chunks = 0","import {inferTypes, typeParsers} from './type';\nimport formats from './formats/index';\nimport {error} from 'vega-util';\nimport {timeParse, utcParse} from 'd3-time-format';\n\nexport default function(data, schema, dateParse) {\n schema = schema || {};\n\n var reader = formats(schema.type || 'json');\n if (!reader) error('Unknown data format type: ' + schema.type);\n\n data = reader(data, schema);\n if (schema.parse) parse(data, schema.parse, dateParse);\n\n if (data.hasOwnProperty('columns')) delete data.columns;\n return data;\n}\n\nfunction parse(data, types, dateParse) {\n if (!data.length) return; // early exit for empty data\n\n dateParse = dateParse || timeParse;\n\n var fields = data.columns || Object.keys(data[0]),\n parsers, datum, field, i, j, n, m;\n\n if (types === 'auto') types = inferTypes(data, fields);\n\n fields = Object.keys(types);\n parsers = fields.map(function(field) {\n var type = types[field],\n parts, pattern;\n\n if (type && (type.indexOf('date:') === 0 || type.indexOf('utc:') === 0)) {\n parts = type.split(/:(.+)?/, 2); // split on first :\n pattern = parts[1];\n\n if ((pattern[0] === '\\'' && pattern[pattern.length-1] === '\\'') ||\n (pattern[0] === '\"' && pattern[pattern.length-1] === '\"')) {\n pattern = pattern.slice(1, -1);\n }\n\n return parts[0] === 'utc' ? utcParse(pattern) : dateParse(pattern);\n }\n\n if (!typeParsers[type]) {\n throw Error('Illegal format pattern: ' + field + ':' + type);\n }\n\n return typeParsers[type];\n });\n\n for (i=0, n=data.length, m=fields.length; i<n; ++i) {\n datum = data[i];\n for (j=0; j<m; ++j) {\n field = fields[j];\n datum[field] = parsers[j](datum[field]);\n }\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-loader/src/read.js\n// module id = 487\n// module chunks = 0","import {dsvFormat} from 'd3-dsv';\nimport {extend, stringValue} from 'vega-util';\n\nexport function delimitedFormat(delimiter) {\n return function(data, format) {\n var delim = {delimiter: delimiter};\n return dsv(data, format ? extend(format, delim) : delim);\n };\n}\n\nexport default function dsv(data, format) {\n if (format.header) {\n data = format.header\n .map(stringValue)\n .join(format.delimiter) + '\\n' + data;\n }\n return dsvFormat(format.delimiter).parse(data+'');\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-loader/src/formats/dsv.js\n// module id = 488\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-dsv/src/csv.js\n// module id = 490\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-dsv/src/tsv.js\n// module id = 491\n// module chunks = 0","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return '<Buffer ' + str + '>'\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/buffer/index.js\n// module id = 492\n// module chunks = 0","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n for (var i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/base64-js/index.js\n// module id = 493\n// module chunks = 0","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ieee754/index.js\n// module id = 494\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/isarray/index.js\n// module id = 495\n// module chunks = 0","import json from './json';\nimport {feature, mesh} from 'topojson-client';\nimport {error} from 'vega-util';\n\nexport default function(data, format) {\n var method, object, property;\n data = json(data, format);\n\n method = (format && (property = format.feature)) ? feature\n : (format && (property = format.mesh)) ? mesh\n : error('Missing TopoJSON feature or mesh parameter.');\n\n object = (object = data.objects[property])\n ? method(data, object)\n : error('Invalid TopoJSON object: ' + property);\n\n return object && object.features || [object];\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-loader/src/formats/topojson.js\n// module id = 496\n// module chunks = 0","export default function(array, n) {\n var t, j = array.length, i = j - n;\n while (i < --j) t = array[i], array[i++] = array[j], array[j] = t;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/topojson-client/src/reverse.js\n// module id = 498\n// module chunks = 0","import {object} from \"./feature\";\nimport stitch from \"./stitch\";\n\nexport default function(topology) {\n return object(topology, meshArcs.apply(this, arguments));\n}\n\nexport function meshArcs(topology, object, filter) {\n var arcs, i, n;\n if (arguments.length > 1) arcs = extractArcs(topology, object, filter);\n else for (i = 0, arcs = new Array(n = topology.arcs.length); i < n; ++i) arcs[i] = i;\n return {type: \"MultiLineString\", arcs: stitch(topology, arcs)};\n}\n\nfunction extractArcs(topology, object, filter) {\n var arcs = [],\n geomsByArc = [],\n geom;\n\n function extract0(i) {\n var j = i < 0 ? ~i : i;\n (geomsByArc[j] || (geomsByArc[j] = [])).push({i: i, g: geom});\n }\n\n function extract1(arcs) {\n arcs.forEach(extract0);\n }\n\n function extract2(arcs) {\n arcs.forEach(extract1);\n }\n\n function extract3(arcs) {\n arcs.forEach(extract2);\n }\n\n function geometry(o) {\n switch (geom = o, o.type) {\n case \"GeometryCollection\": o.geometries.forEach(geometry); break;\n case \"LineString\": extract1(o.arcs); break;\n case \"MultiLineString\": case \"Polygon\": extract2(o.arcs); break;\n case \"MultiPolygon\": extract3(o.arcs); break;\n }\n }\n\n geometry(object);\n\n geomsByArc.forEach(filter == null\n ? function(geoms) { arcs.push(geoms[0].i); }\n : function(geoms) { if (filter(geoms[0].g, geoms[geoms.length - 1].g)) arcs.push(geoms[0].i); });\n\n return arcs;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/topojson-client/src/mesh.js\n// module id = 499\n// module chunks = 0","export default function(a, x) {\n var lo = 0, hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (a[mid] < x) lo = mid + 1;\n else hi = mid;\n }\n return lo;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/topojson-client/src/bisect.js\n// module id = 502\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-time/src/millisecond.js\n// module id = 504\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-time/src/second.js\n// module id = 505\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-time/src/minute.js\n// module id = 506\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-time/src/hour.js\n// module id = 507\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-time/src/day.js\n// module id = 508\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-time/src/week.js\n// module id = 509\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-time/src/month.js\n// module id = 510\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-time/src/year.js\n// module id = 511\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-time/src/utcMinute.js\n// module id = 512\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-time/src/utcHour.js\n// module id = 513\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-time/src/utcDay.js\n// module id = 514\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-time/src/utcWeek.js\n// module id = 515\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-time/src/utcMonth.js\n// module id = 516\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-time/src/utcYear.js\n// module id = 517\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-time-format/src/isoParse.js\n// module id = 518\n// module chunks = 0","import Operator from '../Operator';\nimport {isChangeSet} from '../ChangeSet';\nimport {constant, extend, isFunction} from 'vega-util';\n\nvar SKIP = {skip: true};\n\n/**\n * Perform operator updates in response to events. Applies an\n * update function to compute a new operator value. If the update function\n * returns a {@link ChangeSet}, the operator will be pulsed with those tuple\n * changes. Otherwise, the operator value will be updated to the return value.\n * @param {EventStream|Operator} source - The event source to react to.\n * This argument can be either an EventStream or an Operator.\n * @param {Operator|function(object):Operator} target - The operator to update.\n * This argument can either be an Operator instance or (if the source\n * argument is an EventStream), a function that accepts an event object as\n * input and returns an Operator to target.\n * @param {function(Parameters,Event): *} [update] - Optional update function\n * to compute the new operator value, or a literal value to set. Update\n * functions expect to receive a parameter object and event as arguments.\n * This function can either return a new operator value or (if the source\n * argument is an EventStream) a {@link ChangeSet} instance to pulse\n * the target operator with tuple changes.\n * @param {object} [params] - The update function parameters.\n * @param {object} [options] - Additional options hash. If not overridden,\n * updated operators will be skipped by default.\n * @param {boolean} [options.skip] - If true, the operator will\n * be skipped: it will not be evaluated, but its dependents will be.\n * @param {boolean} [options.force] - If true, the operator will\n * be re-evaluated even if its value has not changed.\n * @return {Dataflow}\n */\nexport default function(source, target, update, params, options) {\n var fn = source instanceof Operator ? onOperator : onStream;\n fn(this, source, target, update, params, options);\n return this;\n}\n\nfunction onStream(df, stream, target, update, params, options) {\n var opt = extend({}, options, SKIP), func, op;\n\n if (!isFunction(target)) target = constant(target);\n\n if (update === undefined) {\n func = function(e) {\n df.touch(target(e));\n };\n } else if (isFunction(update)) {\n op = new Operator(null, update, params, false);\n func = function(e) {\n var v, t = target(e);\n op.evaluate(e);\n isChangeSet(v = op.value) ? df.pulse(t, v, options) : df.update(t, v, opt);\n };\n } else {\n func = function(e) {\n df.update(target(e), update, opt);\n };\n }\n\n stream.apply(func);\n}\n\nfunction onOperator(df, source, target, update, params, options) {\n var func, op;\n\n if (update === undefined) {\n op = target;\n } else {\n func = isFunction(update) ? update : constant(update);\n update = !target ? func : function(_, pulse) {\n var value = func(_, pulse);\n if (!target.skip()) {\n target.skip(value !== this.value).value = value;\n }\n return value;\n };\n\n op = new Operator(null, update, params, false);\n op.modified(options && options.force);\n op.rank = 0;\n\n if (target) {\n op.skip(true); // skip first invocation\n op.value = target.value;\n op.targets().add(target);\n }\n }\n\n source.targets().add(op);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-dataflow/src/dataflow/on.js\n// module id = 519\n// module chunks = 0","import {error} from 'vega-util';\n\n/**\n * Assigns a rank to an operator. Ranks are assigned in increasing order\n * by incrementing an internal rank counter.\n * @param {Operator} op - The operator to assign a rank.\n */\nexport function rank(op) {\n op.rank = ++this._rank;\n}\n\n/**\n * Re-ranks an operator and all downstream target dependencies. This\n * is necessary when upstream depencies of higher rank are added to\n * a target operator.\n * @param {Operator} op - The operator to re-rank.\n */\nexport function rerank(op) {\n var queue = [op],\n cur, list, i;\n\n while (queue.length) {\n this.rank(cur = queue.pop());\n if (list = cur._targets) {\n for (i=list.length; --i >= 0;) {\n queue.push(cur = list[i]);\n if (cur === op) error('Cycle detected in dataflow graph.');\n }\n }\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-dataflow/src/dataflow/rank.js\n// module id = 520\n// module chunks = 0","import {default as Pulse, StopPropagation} from '../Pulse';\nimport MultiPulse from '../MultiPulse';\nimport UniqueList from '../util/UniqueList';\nimport {id, isArray, Info, Debug} from 'vega-util';\n\n/**\n * Runs the dataflow. This method will increment the current timestamp\n * and process all updated, pulsed and touched operators. When run for\n * the first time, all registered operators will be processed. If there\n * are pending data loading operations, this method will return immediately\n * without evaluating the dataflow. Instead, the dataflow will be\n * asynchronously invoked when data loading completes. To track when dataflow\n * evaluation completes, use the {@link runAsync} method instead.\n * @param {string} [encode] - The name of an encoding set to invoke during\n * propagation. This value is added to generated Pulse instances;\n * operators can then respond to (or ignore) this setting as appropriate.\n * This parameter can be used in conjunction with the Encode transform in\n * the vega-encode module.\n */\nexport function run(encode) {\n var df = this,\n count = 0,\n level = df.logLevel(),\n op, next, dt, error;\n\n if (df._pending) {\n df.info('Awaiting requests, delaying dataflow run.');\n return 0;\n }\n\n if (df._pulse) {\n df.error('Dataflow invoked recursively. Use the runAfter method to queue invocation.');\n return 0;\n }\n\n if (!df._touched.length) {\n df.info('Dataflow invoked, but nothing to do.');\n return 0;\n }\n\n df._pulse = new Pulse(df, ++df._clock, encode);\n\n if (level >= Info) {\n dt = Date.now();\n df.debug('-- START PROPAGATION (' + df._clock + ') -----');\n }\n\n // initialize queue, reset touched operators\n df._touched.forEach(function(op) { df._enqueue(op, true); });\n df._touched = UniqueList(id);\n\n try {\n while (df._heap.size() > 0) {\n op = df._heap.pop();\n\n // re-queue if rank changes\n if (op.rank !== op.qrank) { df._enqueue(op, true); continue; }\n\n // otherwise, evaluate the operator\n next = op.run(df._getPulse(op, encode));\n\n if (level >= Debug) {\n df.debug(op.id, next === StopPropagation ? 'STOP' : next, op);\n }\n\n // propagate the pulse\n if (next !== StopPropagation) {\n df._pulse = next;\n if (op._targets) op._targets.forEach(function(op) { df._enqueue(op); });\n }\n\n // increment visit counter\n ++count;\n }\n } catch (err) {\n error = err;\n }\n\n // reset pulse map\n df._pulses = {};\n df._pulse = null;\n\n if (level >= Info) {\n dt = Date.now() - dt;\n df.info('> Pulse ' + df._clock + ': ' + count + ' operators; ' + dt + 'ms');\n }\n\n if (error) {\n df._postrun = [];\n df.error(error);\n }\n\n if (df._onrun) {\n try { df._onrun(df, count, error); } catch (err) { df.error(err); }\n }\n\n // invoke callbacks queued via runAfter\n if (df._postrun.length) {\n var postrun = df._postrun;\n df._postrun = [];\n postrun\n .sort(function(a, b) { return b.priority - a.priority; })\n .forEach(function(_) { invokeCallback(df, _.callback); });\n }\n\n return this;\n}\n\nfunction invokeCallback(df, callback) {\n try { callback(df); } catch (err) { df.error(err); }\n}\n\n/**\n * Runs the dataflow and returns a Promise that resolves when the\n * propagation cycle completes. The standard run method may exit early\n * if there are pending data loading operations. In contrast, this\n * method returns a Promise to allow callers to receive notification\n * when dataflow evaluation completes.\n * @return {Promise} - A promise that resolves to this dataflow.\n */\nexport function runAsync() {\n // return this._pending || Promise.resolve(this.run());\n return this._pending\n || (this.run() && this._pending)\n || Promise.resolve(this);\n}\n\n/**\n * Schedules a callback function to be invoked after the current pulse\n * propagation completes. If no propagation is currently occurring,\n * the function is invoked immediately.\n * @param {function(Dataflow)} callback - The callback function to run.\n * The callback will be invoked with this Dataflow instance as its\n * sole argument.\n * @param {boolean} enqueue - A boolean flag indicating that the\n * callback should be queued up to run after the next propagation\n * cycle, suppressing immediate invocation when propagation is not\n * currently occurring.\n */\nexport function runAfter(callback, enqueue, priority) {\n if (this._pulse || enqueue) {\n // pulse propagation is currently running, queue to run after\n this._postrun.push({\n priority: priority || 0,\n callback: callback\n });\n } else {\n // pulse propagation already complete, invoke immediately\n invokeCallback(this, callback);\n }\n}\n\n/**\n * Enqueue an operator into the priority queue for evaluation. The operator\n * will be enqueued if it has no registered pulse for the current cycle, or if\n * the force argument is true. Upon enqueue, this method also sets the\n * operator's qrank to the current rank value.\n * @param {Operator} op - The operator to enqueue.\n * @param {boolean} [force] - A flag indicating if the operator should be\n * forceably added to the queue, even if it has already been previously\n * enqueued during the current pulse propagation. This is useful when the\n * dataflow graph is dynamically modified and the operator rank changes.\n */\nexport function enqueue(op, force) {\n var p = !this._pulses[op.id];\n if (p) this._pulses[op.id] = this._pulse;\n if (p || force) {\n op.qrank = op.rank;\n this._heap.push(op);\n }\n}\n\n/**\n * Provide a correct pulse for evaluating an operator. If the operator has an\n * explicit source operator, we will try to pull the pulse(s) from it.\n * If there is an array of source operators, we build a multi-pulse.\n * Otherwise, we return a current pulse with correct source data.\n * If the pulse is the pulse map has an explicit target set, we use that.\n * Else if the pulse on the upstream source operator is current, we use that.\n * Else we use the pulse from the pulse map, but copy the source tuple array.\n * @param {Operator} op - The operator for which to get an input pulse.\n * @param {string} [encode] - An (optional) encoding set name with which to\n * annotate the returned pulse. See {@link run} for more information.\n */\nexport function getPulse(op, encode) {\n var s = op.source,\n stamp = this._clock,\n p;\n\n if (s && isArray(s)) {\n p = s.map(function(_) { return _.pulse; });\n return new MultiPulse(this, stamp, p, encode);\n }\n\n p = this._pulses[op.id];\n if (s) {\n s = s.pulse;\n if (!s || s === StopPropagation) {\n p.source = [];\n } else if (s.stamp === stamp && p.target !== op) {\n p = s;\n } else {\n p.source = s.source;\n }\n }\n\n return p;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-dataflow/src/dataflow/run.js\n// module id = 521\n// module chunks = 0","import Pulse from '../Pulse';\n\nvar NO_OPT = {skip: false, force: false};\n\n/**\n * Touches an operator, scheduling it to be evaluated. If invoked outside of\n * a pulse propagation, the operator will be evaluated the next time this\n * dataflow is run. If invoked in the midst of pulse propagation, the operator\n * will be queued for evaluation if and only if the operator has not yet been\n * evaluated on the current propagation timestamp.\n * @param {Operator} op - The operator to touch.\n * @param {object} [options] - Additional options hash.\n * @param {boolean} [options.skip] - If true, the operator will\n * be skipped: it will not be evaluated, but its dependents will be.\n * @return {Dataflow}\n */\nexport function touch(op, options) {\n var opt = options || NO_OPT;\n if (this._pulse) {\n // if in midst of propagation, add to priority queue\n this._enqueue(op);\n } else {\n // otherwise, queue for next propagation\n this._touched.add(op);\n }\n if (opt.skip) op.skip(true);\n return this;\n}\n\n/**\n * Updates the value of the given operator.\n * @param {Operator} op - The operator to update.\n * @param {*} value - The value to set.\n * @param {object} [options] - Additional options hash.\n * @param {boolean} [options.force] - If true, the operator will\n * be re-evaluated even if its value has not changed.\n * @param {boolean} [options.skip] - If true, the operator will\n * be skipped: it will not be evaluated, but its dependents will be.\n * @return {Dataflow}\n */\nexport function update(op, value, options) {\n var opt = options || NO_OPT;\n if (op.set(value) || opt.force) {\n this.touch(op, opt);\n }\n return this;\n}\n\n/**\n * Pulses an operator with a changeset of tuples. If invoked outside of\n * a pulse propagation, the pulse will be applied the next time this\n * dataflow is run. If invoked in the midst of pulse propagation, the pulse\n * will be added to the set of active pulses and will be applied if and\n * only if the target operator has not yet been evaluated on the current\n * propagation timestamp.\n * @param {Operator} op - The operator to pulse.\n * @param {ChangeSet} value - The tuple changeset to apply.\n * @param {object} [options] - Additional options hash.\n * @param {boolean} [options.skip] - If true, the operator will\n * be skipped: it will not be evaluated, but its dependents will be.\n * @return {Dataflow}\n */\nexport function pulse(op, changeset, options) {\n this.touch(op, options || NO_OPT);\n\n var p = new Pulse(this, this._clock + (this._pulse ? 0 : 1)),\n t = op.pulse && op.pulse.source || [];\n p.target = op;\n this._pulses[op.id] = changeset.pulse(p, t);\n\n return this;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-dataflow/src/dataflow/update.js\n// module id = 522\n// module chunks = 0","export default function Heap(comparator) {\n this.cmp = comparator;\n this.nodes = [];\n}\n\nvar prototype = Heap.prototype;\n\nprototype.size = function() {\n return this.nodes.length;\n};\n\nprototype.clear = function() {\n this.nodes = [];\n return this;\n};\n\nprototype.peek = function() {\n return this.nodes[0];\n};\n\nprototype.push = function(x) {\n var array = this.nodes;\n array.push(x);\n return siftdown(array, 0, array.length-1, this.cmp);\n};\n\nprototype.pop = function() {\n var array = this.nodes,\n last = array.pop(),\n item;\n\n if (array.length) {\n item = array[0];\n array[0] = last;\n siftup(array, 0, this.cmp);\n } else {\n item = last;\n }\n return item;\n};\n\nprototype.replace = function(item) {\n var array = this.nodes,\n retval = array[0];\n array[0] = item;\n siftup(array, 0, this.cmp);\n return retval;\n};\n\nprototype.pushpop = function(item) {\n var array = this.nodes, ref = array[0];\n if (array.length && this.cmp(ref, item) < 0) {\n array[0] = item;\n item = ref;\n siftup(array, 0, this.cmp);\n }\n return item;\n};\n\nfunction siftdown(array, start, idx, cmp) {\n var item, parent, pidx;\n\n item = array[idx];\n while (idx > start) {\n pidx = (idx - 1) >> 1;\n parent = array[pidx];\n if (cmp(item, parent) < 0) {\n array[idx] = parent;\n idx = pidx;\n continue;\n }\n break;\n }\n return (array[idx] = item);\n}\n\nfunction siftup(array, idx, cmp) {\n var start = idx,\n end = array.length,\n item = array[idx],\n cidx = 2 * idx + 1, ridx;\n\n while (cidx < end) {\n ridx = cidx + 1;\n if (ridx < end && cmp(array[cidx], array[ridx]) >= 0) {\n cidx = ridx;\n }\n array[idx] = array[cidx];\n idx = cidx;\n cidx = 2 * idx + 1;\n }\n array[idx] = item;\n return siftdown(array, start, idx, cmp);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-dataflow/src/util/Heap.js\n// module id = 523\n// module chunks = 0","import Operator from './Operator';\nimport {inherits} from 'vega-util';\n\n/**\n * Abstract class for operators that process data tuples.\n * Subclasses must provide a {@link transform} method for operator processing.\n * @constructor\n * @param {*} [init] - The initial value for this operator.\n * @param {object} [params] - The parameters for this operator.\n * @param {Operator} [source] - The operator from which to receive pulses.\n */\nexport default function Transform(init, params) {\n Operator.call(this, init, null, params);\n}\n\nvar prototype = inherits(Transform, Operator);\n\n/**\n * Overrides {@link Operator.evaluate} for transform operators.\n * Internally, this method calls {@link evaluate} to perform processing.\n * If {@link evaluate} returns a falsy value, the input pulse is returned.\n * This method should NOT be overridden, instead overrride {@link evaluate}.\n * @param {Pulse} pulse - the current dataflow pulse.\n * @return the output pulse for this operator (or StopPropagation)\n */\nprototype.run = function(pulse) {\n if (pulse.stamp <= this.stamp) return pulse.StopPropagation;\n\n var rv;\n if (this.skip()) {\n this.skip(false);\n } else {\n rv = this.evaluate(pulse);\n }\n rv = rv || pulse;\n\n if (rv !== pulse.StopPropagation) this.pulse = rv;\n this.stamp = pulse.stamp;\n\n return rv;\n};\n\n/**\n * Overrides {@link Operator.evaluate} for transform operators.\n * Marshalls parameter values and then invokes {@link transform}.\n * @param {Pulse} pulse - the current dataflow pulse.\n * @return {Pulse} The output pulse (or StopPropagation). A falsy return\n value (including undefined) will let the input pulse pass through.\n */\nprototype.evaluate = function(pulse) {\n var params = this.marshall(pulse.stamp),\n out = this.transform(params, pulse);\n params.clear();\n return out;\n};\n\n/**\n * Process incoming pulses.\n * Subclasses should override this method to implement transforms.\n * @param {Parameters} _ - The operator parameter values.\n * @param {Pulse} pulse - The current dataflow pulse.\n * @return {Pulse} The output pulse (or StopPropagation). A falsy return\n * value (including undefined) will let the input pulse pass through.\n */\nprototype.transform = function() {};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-dataflow/src/Transform.js\n// module id = 524\n// module chunks = 0","export var transforms = {};\n\nexport function definition(type) {\n var t = transform(type);\n return t && t.Definition || null;\n}\n\nexport function transform(type) {\n type = type && type.toLowerCase();\n return transforms.hasOwnProperty(type) ? transforms[type] : null;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-dataflow/src/register.js\n// module id = 525\n// module chunks = 0","export default function(_) {\n // determine range\n var maxb = _.maxbins || 20,\n base = _.base || 10,\n logb = Math.log(base),\n div = _.divide || [5, 2],\n min = _.extent[0],\n max = _.extent[1],\n span = max - min,\n step, level, minstep, precision, v, i, n, eps;\n\n if (_.step) {\n // if step size is explicitly given, use that\n step = _.step;\n } else if (_.steps) {\n // if provided, limit choice to acceptable step sizes\n v = span / maxb;\n for (i=0, n=_.steps.length; i < n && _.steps[i] < v; ++i);\n step = _.steps[Math.max(0, i-1)];\n } else {\n // else use span to determine step size\n level = Math.ceil(Math.log(maxb) / logb);\n minstep = _.minstep || 0;\n step = Math.max(\n minstep,\n Math.pow(base, Math.round(Math.log(span) / logb) - level)\n );\n\n // increase step size if too many bins\n while (Math.ceil(span/step) > maxb) { step *= base; }\n\n // decrease step size if allowed\n for (i=0, n=div.length; i<n; ++i) {\n v = step / div[i];\n if (v >= minstep && span / v <= maxb) step = v;\n }\n }\n\n // update precision, min and max\n v = Math.log(step);\n precision = v >= 0 ? 0 : ~~(-v / logb) + 1;\n eps = Math.pow(base, -precision - 1);\n if (_.nice || _.nice === undefined) {\n v = Math.floor(min / step + eps) * step;\n min = min < v ? v - step : v;\n max = Math.ceil(max / step) * step;\n }\n\n return {\n start: min,\n stop: max,\n step: step\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-statistics/src/bin.js\n// module id = 527\n// module chunks = 0","import numbers from './numbers';\nimport {random} from './random';\nimport {quantile, ascending} from 'd3-array';\n\nexport default function(array, samples, alpha, f) {\n var values = numbers(array, f),\n n = values.length,\n m = samples,\n a, i, j, mu;\n\n for (j=0, mu=Array(m); j<m; ++j) {\n for (a=0, i=0; i<n; ++i) {\n a += values[~~(random() * n)];\n }\n mu[j] = a / n;\n }\n\n return [\n quantile(mu.sort(ascending), alpha/2),\n quantile(mu, 1-(alpha/2))\n ];\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-statistics/src/bootstrapCI.js\n// module id = 528\n// module chunks = 0","export default function(x) {\n return function() {\n return x;\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-array/src/constant.js\n// module id = 532\n// module chunks = 0","export default function(x) {\n return x;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-array/src/identity.js\n// module id = 533\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-array/src/max.js\n// module id = 536\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-array/src/mean.js\n// module id = 537\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-array/src/median.js\n// module id = 538\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-array/src/merge.js\n// module id = 539\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-array/src/permute.js\n// module id = 540\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-array/src/sum.js\n// module id = 543\n// module chunks = 0","import {random} from './random';\n\nexport default function(min, max) {\n if (max == null) {\n max = min;\n min = 0;\n }\n\n var dist = {},\n a, b, d;\n\n dist.min = function(_) {\n if (arguments.length) {\n a = _ || 0;\n d = b - a;\n return dist;\n } else {\n return a;\n }\n };\n\n dist.max = function(_) {\n if (arguments.length) {\n b = _ || 0;\n d = b - a;\n return dist;\n } else {\n return b;\n }\n };\n\n dist.sample = function() {\n return a + Math.floor(d * random());\n };\n\n dist.pdf = function(x) {\n return (x === Math.floor(x) && x >= a && x < b) ? 1 / d : 0;\n };\n\n dist.cdf = function(x) {\n var v = Math.floor(x);\n return v < a ? 0 : v >= b ? 1 : (v - a + 1) / d;\n };\n\n dist.icdf = function(p) {\n return (p >= 0 && p <= 1) ? a - 1 + Math.floor(p * d) : NaN;\n };\n\n return dist.min(min).max(max);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-statistics/src/integer.js\n// module id = 545\n// module chunks = 0","import gaussian from './normal';\nimport quartiles from './quartiles';\nimport {random} from './random';\nimport {variance} from 'd3-array';\n\n// TODO: support for additional kernels?\nexport default function(support, bandwidth) {\n var kernel = gaussian(),\n dist = {},\n n = 0;\n\n dist.data = function(_) {\n if (arguments.length) {\n support = _;\n n = _ ? _.length : 0;\n return dist.bandwidth(bandwidth);\n } else {\n return support;\n }\n };\n\n dist.bandwidth = function(_) {\n if (!arguments.length) return bandwidth;\n bandwidth = _;\n if (!bandwidth && support) bandwidth = estimateBandwidth(support);\n return dist;\n };\n\n dist.sample = function() {\n return support[~~(random() * n)] + bandwidth * kernel.sample();\n };\n\n dist.pdf = function(x) {\n for (var y=0, i=0; i<n; ++i) {\n y += kernel.pdf((x - support[i]) / bandwidth);\n }\n return y / bandwidth / n;\n };\n\n dist.cdf = function(x) {\n for (var y=0, i=0; i<n; ++i) {\n y += kernel.cdf((x - support[i]) / bandwidth);\n }\n return y / n;\n };\n\n dist.icdf = function() {\n throw Error('KDE icdf not supported.');\n };\n\n return dist.data(support);\n}\n\n// Scott, D. W. (1992) Multivariate Density Estimation:\n// Theory, Practice, and Visualization. Wiley.\nfunction estimateBandwidth(array) {\n var n = array.length,\n q = quartiles(array),\n h = (q[2] - q[0]) / 1.34;\n return 1.06 * Math.min(Math.sqrt(variance(array)), h) * Math.pow(n, -0.2);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-statistics/src/kde.js\n// module id = 546\n// module chunks = 0","import {random} from './random';\n\nexport default function(dists, weights) {\n var dist = {}, m = 0, w;\n\n function normalize(x) {\n var w = [], sum = 0, i;\n for (i=0; i<m; ++i) { sum += (w[i] = (x[i]==null ? 1 : +x[i])); }\n for (i=0; i<m; ++i) { w[i] /= sum; }\n return w;\n }\n\n dist.weights = function(_) {\n if (arguments.length) {\n w = normalize(weights = (_ || []));\n return dist;\n }\n return weights;\n };\n\n dist.distributions = function(_) {\n if (arguments.length) {\n if (_) {\n m = _.length;\n dists = _;\n } else {\n m = 0;\n dists = [];\n }\n return dist.weights(weights);\n }\n return dists;\n };\n\n dist.sample = function() {\n var r = random(),\n d = dists[m-1],\n v = w[0],\n i = 0;\n\n // first select distribution\n for (; i<m-1; v += w[++i]) {\n if (r < v) { d = dists[i]; break; }\n }\n // then sample from it\n return d.sample();\n };\n\n dist.pdf = function(x) {\n for (var p=0, i=0; i<m; ++i) {\n p += w[i] * dists[i].pdf(x);\n }\n return p;\n };\n\n dist.cdf = function(x) {\n for (var p=0, i=0; i<m; ++i) {\n p += w[i] * dists[i].cdf(x);\n }\n return p;\n };\n\n dist.icdf = function() {\n throw Error('Mixture icdf not supported.');\n };\n\n return dist.distributions(dists).weights(weights);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-statistics/src/mixture.js\n// module id = 547\n// module chunks = 0","import {random} from './random';\n\nexport default function(min, max) {\n if (max == null) {\n max = (min == null ? 1 : min);\n min = 0;\n }\n\n var dist = {},\n a, b, d;\n\n dist.min = function(_) {\n if (arguments.length) {\n a = _ || 0;\n d = b - a;\n return dist;\n } else {\n return a;\n }\n };\n\n dist.max = function(_) {\n if (arguments.length) {\n b = _ || 0;\n d = b - a;\n return dist;\n } else {\n return b;\n }\n };\n\n dist.sample = function() {\n return a + d * random();\n };\n\n dist.pdf = function(x) {\n return (x >= a && x <= b) ? 1 / d : 0;\n };\n\n dist.cdf = function(x) {\n return x < a ? 0 : x > b ? 1 : (x - a) / d;\n };\n\n dist.icdf = function(p) {\n return (p >= 0 && p <= 1) ? a + p * d : NaN;\n };\n\n return dist.min(min).max(max);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-statistics/src/uniform.js\n// module id = 548\n// module chunks = 0","import {Transform} from 'vega-dataflow';\nimport {bin} from 'vega-statistics';\nimport {inherits, accessor, accessorFields, accessorName} from 'vega-util';\n\n/**\n * Generates a binning function for discretizing data.\n * @constructor\n * @param {object} params - The parameters for this operator. The\n * provided values should be valid options for the {@link bin} function.\n * @param {function(object): *} params.field - The data field to bin.\n */\nexport default function Bin(params) {\n Transform.call(this, null, params);\n}\n\nBin.Definition = {\n \"type\": \"Bin\",\n \"metadata\": {\"modifies\": true},\n \"params\": [\n { \"name\": \"field\", \"type\": \"field\", \"required\": true },\n { \"name\": \"anchor\", \"type\": \"number\" },\n { \"name\": \"maxbins\", \"type\": \"number\", \"default\": 20 },\n { \"name\": \"base\", \"type\": \"number\", \"default\": 10 },\n { \"name\": \"divide\", \"type\": \"number\", \"array\": true, \"default\": [5, 2] },\n { \"name\": \"extent\", \"type\": \"number\", \"array\": true, \"length\": 2, \"required\": true },\n { \"name\": \"step\", \"type\": \"number\" },\n { \"name\": \"steps\", \"type\": \"number\", \"array\": true },\n { \"name\": \"minstep\", \"type\": \"number\", \"default\": 0 },\n { \"name\": \"nice\", \"type\": \"boolean\", \"default\": true },\n { \"name\": \"name\", \"type\": \"string\" },\n { \"name\": \"as\", \"type\": \"string\", \"array\": true, \"length\": 2, \"default\": [\"bin0\", \"bin1\"] }\n ]\n};\n\nvar prototype = inherits(Bin, Transform);\n\nprototype.transform = function(_, pulse) {\n var bins = this._bins(_),\n start = bins.start,\n step = bins.step,\n as = _.as || ['bin0', 'bin1'],\n b0 = as[0],\n b1 = as[1],\n flag;\n\n if (_.modified()) {\n pulse = pulse.reflow(true);\n flag = pulse.SOURCE;\n } else {\n flag = pulse.modified(accessorFields(_.field)) ? pulse.ADD_MOD : pulse.ADD;\n }\n\n pulse.visit(flag, function(t) {\n var v = bins(t);\n // minimum bin value (inclusive)\n t[b0] = v;\n // maximum bin value (exclusive)\n // use convoluted math for better floating point agreement\n // see https://github.com/vega/vega/issues/830\n t[b1] = v == null ? null : start + step * (1 + (v - start) / step);\n });\n\n return pulse.modifies(as);\n};\n\nprototype._bins = function(_) {\n if (this.value && !_.modified()) {\n return this.value;\n }\n\n var field = _.field,\n bins = bin(_),\n start = bins.start,\n stop = bins.stop,\n step = bins.step,\n a, d;\n\n if ((a = _.anchor) != null) {\n d = a - (start + step * Math.floor((a - start) / step));\n start += d;\n stop += d;\n }\n\n var f = function(t) {\n var v = field(t);\n if (v == null) {\n return null;\n } else {\n v = Math.max(start, Math.min(+v, stop - step));\n return start + step * Math.floor((v - start) / step);\n }\n };\n\n f.start = start;\n f.stop = stop;\n f.step = step;\n\n return this.value = accessor(\n f,\n accessorFields(field),\n _.name || 'bin_' + accessorName(field)\n );\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/Bin.js\n// module id = 549\n// module chunks = 0","import SortedList from './util/SortedList';\nimport {Transform, tupleid} from 'vega-dataflow';\nimport {inherits} from 'vega-util';\n\n/**\n * Collects all data tuples that pass through this operator.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(*,*): number} [params.sort] - An optional\n * comparator function for additionally sorting the collected tuples.\n */\nexport default function Collect(params) {\n Transform.call(this, [], params);\n}\n\nCollect.Definition = {\n \"type\": \"Collect\",\n \"metadata\": {\"source\": true},\n \"params\": [\n { \"name\": \"sort\", \"type\": \"compare\" }\n ]\n};\n\nvar prototype = inherits(Collect, Transform);\n\nprototype.transform = function(_, pulse) {\n var out = pulse.fork(pulse.ALL),\n list = SortedList(tupleid, this.value, out.materialize(out.ADD).add),\n sort = _.sort,\n mod = pulse.changed() || (sort &&\n (_.modified('sort') || pulse.modified(sort.fields)));\n\n out.visit(out.REM, list.remove);\n\n this.modified(mod);\n this.value = out.source = list.data(sort, mod);\n\n // propagate tree root if defined\n if (pulse.source && pulse.source.root) {\n this.value.root = pulse.source.root;\n }\n\n return out;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/Collect.js\n// module id = 550\n// module chunks = 0","import {Operator} from 'vega-dataflow';\nimport {inherits, compare} from 'vega-util';\n\n/**\n * Generates a comparator function.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {Array<string>} params.fields - The fields to compare.\n * @param {Array<string>} [params.orders] - The sort orders.\n * Each entry should be one of \"ascending\" (default) or \"descending\".\n */\nexport default function Compare(params) {\n Operator.call(this, null, update, params);\n}\n\ninherits(Compare, Operator);\n\nfunction update(_) {\n return (this.value && !_.modified())\n ? this.value\n : compare(_.fields, _.orders);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/Compare.js\n// module id = 551\n// module chunks = 0","import {ingest, Transform} from 'vega-dataflow';\nimport {inherits} from 'vega-util';\n\n/**\n * Count regexp-defined pattern occurrences in a text field.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(object): *} params.field - An accessor for the text field.\n * @param {string} [params.pattern] - RegExp string defining the text pattern.\n * @param {string} [params.case] - One of 'lower', 'upper' or null (mixed) case.\n * @param {string} [params.stopwords] - RegExp string of words to ignore.\n */\nexport default function CountPattern(params) {\n Transform.call(this, null, params);\n}\n\nCountPattern.Definition = {\n \"type\": \"CountPattern\",\n \"metadata\": {\"generates\": true, \"changes\": true},\n \"params\": [\n { \"name\": \"field\", \"type\": \"field\", \"required\": true },\n { \"name\": \"case\", \"type\": \"enum\", \"values\": [\"upper\", \"lower\", \"mixed\"], \"default\": \"mixed\" },\n { \"name\": \"pattern\", \"type\": \"string\", \"default\": \"[\\\\w\\\"]+\" },\n { \"name\": \"stopwords\", \"type\": \"string\", \"default\": \"\" },\n { \"name\": \"as\", \"type\": \"string\", \"array\": true, \"length\": 2, \"default\": [\"text\", \"count\"] }\n ]\n};\n\nfunction tokenize(text, tcase, match) {\n switch (tcase) {\n case 'upper': text = text.toUpperCase(); break;\n case 'lower': text = text.toLowerCase(); break;\n }\n return text.match(match);\n}\n\nvar prototype = inherits(CountPattern, Transform);\n\nprototype.transform = function(_, pulse) {\n function process(update) {\n return function(tuple) {\n var tokens = tokenize(get(tuple), _.case, match) || [], t;\n for (var i=0, n=tokens.length; i<n; ++i) {\n if (!stop.test(t = tokens[i])) update(t);\n }\n };\n }\n\n var init = this._parameterCheck(_, pulse),\n counts = this._counts,\n match = this._match,\n stop = this._stop,\n get = _.field,\n as = _.as || ['text', 'count'],\n add = process(function(t) { counts[t] = 1 + (counts[t] || 0); }),\n rem = process(function(t) { counts[t] -= 1; });\n\n if (init) {\n pulse.visit(pulse.SOURCE, add);\n } else {\n pulse.visit(pulse.ADD, add);\n pulse.visit(pulse.REM, rem);\n }\n\n return this._finish(pulse, as); // generate output tuples\n};\n\nprototype._parameterCheck = function(_, pulse) {\n var init = false;\n\n if (_.modified('stopwords') || !this._stop) {\n this._stop = new RegExp('^' + (_.stopwords || '') + '$', 'i');\n init = true;\n }\n\n if (_.modified('pattern') || !this._match) {\n this._match = new RegExp((_.pattern || '[\\\\w\\']+'), 'g');\n init = true;\n }\n\n if (_.modified('field') || pulse.modified(_.field.fields)) {\n init = true;\n }\n\n if (init) this._counts = {};\n return init;\n};\n\nprototype._finish = function(pulse, as) {\n var counts = this._counts,\n tuples = this._tuples || (this._tuples = {}),\n text = as[0],\n count = as[1],\n out = pulse.fork(pulse.NO_SOURCE | pulse.NO_FIELDS),\n w, t, c;\n\n for (w in counts) {\n t = tuples[w];\n c = counts[w] || 0;\n if (!t && c) {\n tuples[w] = (t = ingest({}));\n t[text] = w;\n t[count] = c;\n out.add.push(t);\n } else if (c === 0) {\n if (t) out.rem.push(t);\n counts[w] = null;\n tuples[w] = null;\n } else if (t[count] !== c) {\n t[count] = c;\n out.mod.push(t);\n }\n }\n\n return out.modifies(as);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/CountPattern.js\n// module id = 552\n// module chunks = 0","import {ingest, Transform} from 'vega-dataflow';\nimport {inherits, truthy} from 'vega-util';\n\n/**\n * Perform a cross-product of a tuple stream with itself.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(object):boolean} [params.filter] - An optional filter\n * function for selectively including tuples in the cross product.\n * @param {Array<string>} [params.as] - The names of the output fields.\n */\nexport default function Cross(params) {\n Transform.call(this, null, params);\n}\n\nCross.Definition = {\n \"type\": \"Cross\",\n \"metadata\": {\"generates\": true},\n \"params\": [\n { \"name\": \"filter\", \"type\": \"expr\" },\n { \"name\": \"as\", \"type\": \"string\", \"array\": true, \"length\": 2, \"default\": [\"a\", \"b\"] }\n ]\n};\n\nvar prototype = inherits(Cross, Transform);\n\nprototype.transform = function(_, pulse) {\n var out = pulse.fork(pulse.NO_SOURCE),\n data = this.value,\n as = _.as || ['a', 'b'],\n a = as[0], b = as[1],\n reset = !data\n || pulse.changed(pulse.ADD_REM)\n || _.modified('as')\n || _.modified('filter');\n\n if (reset) {\n if (data) out.rem = data;\n data = pulse.materialize(pulse.SOURCE).source;\n out.add = this.value = cross(data, a, b, _.filter || truthy);\n } else {\n out.mod = data;\n }\n\n out.source = this.value;\n return out.modifies(as);\n};\n\nfunction cross(input, a, b, filter) {\n var data = [],\n t = {},\n n = input.length,\n i = 0,\n j, left;\n\n for (; i<n; ++i) {\n t[a] = left = input[i];\n for (j=0; j<n; ++j) {\n t[b] = input[j];\n if (filter(t)) {\n data.push(ingest(t));\n t = {};\n t[a] = left;\n }\n }\n }\n\n return data;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/Cross.js\n// module id = 553\n// module chunks = 0","import parseDist from './util/Distributions';\nimport {ingest, Transform} from 'vega-dataflow';\nimport {error, inherits} from 'vega-util';\nimport {extent, range} from 'd3-array';\n\n/**\n * Grid sample points for a probability density. Given a distribution and\n * a sampling extent, will generate points suitable for plotting either\n * PDF (probability density function) or CDF (cumulative distribution\n * function) curves.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {object} params.distribution - The probability distribution. This\n * is an object parameter dependent on the distribution type.\n * @param {string} [params.method='pdf'] - The distribution method to sample.\n * One of 'pdf' or 'cdf'.\n * @param {Array<number>} [params.extent] - The [min, max] extent over which\n * to sample the distribution. This argument is required in most cases, but\n * can be omitted if the distribution (e.g., 'kde') supports a 'data' method\n * that returns numerical sample points from which the extent can be deduced.\n * @param {number} [params.steps=100] - The number of sampling steps.\n */\nexport default function Density(params) {\n Transform.call(this, null, params);\n}\n\nvar distributions = [\n {\n \"key\": {\"function\": \"normal\"},\n \"params\": [\n { \"name\": \"mean\", \"type\": \"number\", \"default\": 0 },\n { \"name\": \"stdev\", \"type\": \"number\", \"default\": 1 }\n ]\n },\n {\n \"key\": {\"function\": \"uniform\"},\n \"params\": [\n { \"name\": \"min\", \"type\": \"number\", \"default\": 0 },\n { \"name\": \"max\", \"type\": \"number\", \"default\": 1 }\n ]\n },\n {\n \"key\": {\"function\": \"kde\"},\n \"params\": [\n { \"name\": \"field\", \"type\": \"field\", \"required\": true },\n { \"name\": \"from\", \"type\": \"data\" },\n { \"name\": \"bandwidth\", \"type\": \"number\", \"default\": 0 }\n ]\n }\n];\n\nvar mixture = {\n \"key\": {\"function\": \"mixture\"},\n \"params\": [\n { \"name\": \"distributions\", \"type\": \"param\", \"array\": true,\n \"params\": distributions },\n { \"name\": \"weights\", \"type\": \"number\", \"array\": true }\n ]\n};\n\nDensity.Definition = {\n \"type\": \"Density\",\n \"metadata\": {\"generates\": true},\n \"params\": [\n { \"name\": \"extent\", \"type\": \"number\", \"array\": true, \"length\": 2 },\n { \"name\": \"steps\", \"type\": \"number\", \"default\": 100 },\n { \"name\": \"method\", \"type\": \"string\", \"default\": \"pdf\",\n \"values\": [\"pdf\", \"cdf\"] },\n { \"name\": \"distribution\", \"type\": \"param\",\n \"params\": distributions.concat(mixture) },\n { \"name\": \"as\", \"type\": \"string\", \"array\": true,\n \"default\": [\"value\", \"density\"] }\n ]\n};\n\nvar prototype = inherits(Density, Transform);\n\nprototype.transform = function(_, pulse) {\n var out = pulse.fork(pulse.NO_SOURCE | pulse.NO_FIELDS);\n\n if (!this.value || pulse.changed() || _.modified()) {\n var dist = parseDist(_.distribution, source(pulse)),\n method = _.method || 'pdf';\n\n if (method !== 'pdf' && method !== 'cdf') {\n error('Invalid density method: ' + method);\n }\n if (!_.extent && !dist.data) {\n error('Missing density extent parameter.');\n }\n method = dist[method];\n\n var as = _.as || ['value', 'density'],\n domain = _.extent || extent(dist.data()),\n step = (domain[1] - domain[0]) / (_.steps || 100),\n values = range(domain[0], domain[1] + step/2, step)\n .map(function(v) {\n var tuple = {};\n tuple[as[0]] = v;\n tuple[as[1]] = method(v);\n return ingest(tuple);\n });\n\n if (this.value) out.rem = this.value;\n this.value = out.add = out.source = values;\n }\n\n return out;\n};\n\nfunction source(pulse) {\n return function() { return pulse.materialize(pulse.SOURCE).source; };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/Density.js\n// module id = 554\n// module chunks = 0","import {\n randomKDE,\n randomMixture,\n randomNormal,\n randomUniform\n} from 'vega-statistics';\n\nimport {error} from 'vega-util';\n\nvar Distributions = {\n kde: randomKDE,\n mixture: randomMixture,\n normal: randomNormal,\n uniform: randomUniform\n};\n\nvar DISTRIBUTIONS = 'distributions',\n FUNCTION = 'function',\n FIELD = 'field';\n\n/**\n * Parse a parameter object for a probability distribution.\n * @param {object} def - The distribution parameter object.\n * @param {function():Array<object>} - A method for requesting\n * source data. Used for distributions (such as KDE) that\n * require sample data points. This method will only be\n * invoked if the 'from' parameter for a target data source\n * is not provided. Typically this method returns backing\n * source data for a Pulse object.\n * @return {object} - The output distribution object.\n */\nexport default function parse(def, data) {\n var func = def[FUNCTION];\n if (!Distributions.hasOwnProperty(func)) {\n error('Unknown distribution function: ' + func);\n }\n\n var d = Distributions[func]();\n\n for (var name in def) {\n // if data field, extract values\n if (name === FIELD) {\n d.data((def.from || data()).map(def[name]));\n }\n\n // if distribution mixture, recurse to parse each definition\n else if (name === DISTRIBUTIONS) {\n d[name](def[name].map(function(_) { return parse(_, data); }));\n }\n\n // otherwise, simply set the parameter\n else if (typeof d[name] === FUNCTION) {\n d[name](def[name]);\n }\n }\n\n return d;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/util/Distributions.js\n// module id = 555\n// module chunks = 0","import {Operator} from 'vega-dataflow';\nimport {accessor, accessorFields, accessorName, inherits} from 'vega-util';\n\n/**\n * Wraps an expression function with access to external parameters.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function} params.expr - The expression function. The\n * function should accept both a datum and a parameter object.\n * This operator's value will be a new function that wraps the\n * expression function with access to this operator's parameters.\n */\nexport default function Expression(params) {\n Operator.call(this, null, update, params);\n this.modified(true);\n}\n\ninherits(Expression, Operator);\n\nfunction update(_) {\n var expr = _.expr;\n return this.value && !_.modified('expr')\n ? this.value\n : accessor(\n function(datum) { return expr(datum, _); },\n accessorFields(expr),\n accessorName(expr)\n );\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/Expression.js\n// module id = 556\n// module chunks = 0","import {Transform} from 'vega-dataflow';\nimport {inherits} from 'vega-util';\n\n/**\n * Computes extents (min/max) for a data field.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(object): *} params.field - The field over which to compute extends.\n */\nexport default function Extent(params) {\n Transform.call(this, [+Infinity, -Infinity], params);\n}\n\nExtent.Definition = {\n \"type\": \"Extent\",\n \"metadata\": {},\n \"params\": [\n { \"name\": \"field\", \"type\": \"field\", \"required\": true }\n ]\n};\n\nvar prototype = inherits(Extent, Transform);\n\nprototype.transform = function(_, pulse) {\n var extent = this.value,\n field = _.field,\n min = extent[0],\n max = extent[1],\n flag = pulse.ADD,\n mod;\n\n mod = pulse.changed()\n || pulse.modified(field.fields)\n || _.modified('field');\n\n if (mod) {\n flag = pulse.SOURCE;\n min = +Infinity;\n max = -Infinity;\n }\n\n pulse.visit(flag, function(t) {\n var v = field(t);\n if (v != null) {\n // coerce to number\n v = +v;\n // NaNs will fail all comparisons!\n if (v < min) min = v;\n if (v > max) max = v;\n }\n });\n\n this.value = [min, max];\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/Extent.js\n// module id = 557\n// module chunks = 0","import {Operator} from 'vega-dataflow';\nimport {array, field, inherits, isArray} from 'vega-util';\n\n/**\n * Generates one or more field accessor functions.\n * If the 'name' parameter is an array, an array of field accessors\n * will be created and the 'as' parameter will be ignored.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {string} params.name - The field name(s) to access.\n * @param {string} params.as - The accessor function name.\n */\nexport default function Field(params) {\n Operator.call(this, null, update, params);\n}\n\ninherits(Field, Operator);\n\nfunction update(_) {\n return (this.value && !_.modified()) ? this.value\n : isArray(_.name) ? array(_.name).map(function(f) { return field(f); })\n : field(_.name, _.as);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/Field.js\n// module id = 558\n// module chunks = 0","import {Transform, tupleid} from 'vega-dataflow';\nimport {fastmap, inherits} from 'vega-util';\n\n/**\n * Filters data tuples according to a predicate function.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(object): *} params.expr - The predicate expression function\n * that determines a tuple's filter status. Truthy values pass the filter.\n */\nexport default function Filter(params) {\n Transform.call(this, fastmap(), params);\n}\n\nFilter.Definition = {\n \"type\": \"Filter\",\n \"metadata\": {\"changes\": true},\n \"params\": [\n { \"name\": \"expr\", \"type\": \"expr\", \"required\": true }\n ]\n};\n\nvar prototype = inherits(Filter, Transform);\n\nprototype.transform = function(_, pulse) {\n var df = pulse.dataflow,\n cache = this.value, // cache ids of filtered tuples\n output = pulse.fork(),\n add = output.add,\n rem = output.rem,\n mod = output.mod,\n test = _.expr,\n isMod = true;\n\n pulse.visit(pulse.REM, function(t) {\n var id = tupleid(t);\n if (!cache.has(id)) rem.push(t);\n else cache.delete(id);\n });\n\n pulse.visit(pulse.ADD, function(t) {\n if (test(t, _)) add.push(t);\n else cache.set(tupleid(t), 1);\n });\n\n function revisit(t) {\n var id = tupleid(t),\n b = test(t, _),\n s = cache.get(id);\n if (b && s) {\n cache.delete(id);\n add.push(t);\n } else if (!b && !s) {\n cache.set(id, 1);\n rem.push(t);\n } else if (isMod && b && !s) {\n mod.push(t);\n }\n }\n\n pulse.visit(pulse.MOD, revisit);\n\n if (_.modified()) {\n isMod = false;\n pulse.visit(pulse.REFLOW, revisit);\n }\n\n if (cache.empty > df.cleanThreshold) df.runAfter(cache.clean);\n return output;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/Filter.js\n// module id = 559\n// module chunks = 0","import {fieldNames} from './util/util';\nimport {derive, Transform} from 'vega-dataflow';\nimport {inherits} from 'vega-util';\n\n/**\n * Flattens array-typed field values into new data objects.\n * If multiple fields are specified, they are treated as parallel arrays,\n * with output values included for each matching index (or null if missing).\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {Array<function(object): *>} params.fields - An array of field\n * accessors for the tuple fields that should be flattened.\n * @param {Array<string>} [params.as] - Output field names for flattened\n * array fields. Any unspecified fields will use the field name provided\n * by the fields accessors.\n */\nexport default function Flatten(params) {\n Transform.call(this, [], params);\n}\n\nFlatten.Definition = {\n \"type\": \"Flatten\",\n \"metadata\": {\"generates\": true},\n \"params\": [\n { \"name\": \"fields\", \"type\": \"field\", \"array\": true, \"required\": true },\n { \"name\": \"as\", \"type\": \"string\", \"array\": true }\n ]\n};\n\nvar prototype = inherits(Flatten, Transform);\n\nprototype.transform = function(_, pulse) {\n var out = pulse.fork(pulse.NO_SOURCE),\n fields = _.fields,\n as = fieldNames(fields, _.as || []),\n m = as.length;\n\n // remove any previous results\n out.rem = this.value;\n\n // generate flattened tuples\n pulse.visit(pulse.SOURCE, function(t) {\n var arrays = fields.map(function(f) { return f(t); }),\n maxlen = arrays.reduce(function(l, a) { return Math.max(l, a.length); }, 0),\n i = 0, j, d, v;\n\n for (; i<maxlen; ++i) {\n d = derive(t);\n for (j=0; j<m; ++j) {\n d[as[j]] = (v = arrays[j][i]) == null ? null : v;\n }\n out.add.push(d);\n }\n });\n\n this.value = out.source = out.add;\n return out.modifies(as);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/Flatten.js\n// module id = 560\n// module chunks = 0","import {derive, Transform} from 'vega-dataflow';\nimport {inherits, accessorName} from 'vega-util';\n\n/**\n * Folds one more tuple fields into multiple tuples in which the field\n * name and values are available under new 'key' and 'value' fields.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(object): *} params.fields - An array of field accessors\n * for the tuple fields that should be folded.\n * @param {Array<string>} [params.as] - Output field names for folded key\n * and value fields, defaults to ['key', 'value'].\n */\nexport default function Fold(params) {\n Transform.call(this, [], params);\n}\n\nFold.Definition = {\n \"type\": \"Fold\",\n \"metadata\": {\"generates\": true},\n \"params\": [\n { \"name\": \"fields\", \"type\": \"field\", \"array\": true, \"required\": true },\n { \"name\": \"as\", \"type\": \"string\", \"array\": true, \"length\": 2, \"default\": [\"key\", \"value\"] }\n ]\n};\n\nvar prototype = inherits(Fold, Transform);\n\nprototype.transform = function(_, pulse) {\n var out = pulse.fork(pulse.NO_SOURCE),\n fields = _.fields,\n fnames = fields.map(accessorName),\n as = _.as || ['key', 'value'],\n k = as[0],\n v = as[1],\n n = fields.length;\n\n out.rem = this.value;\n\n pulse.visit(pulse.SOURCE, function(t) {\n for (var i=0, d; i<n; ++i) {\n d = derive(t);\n d[k] = fnames[i];\n d[v] = fields[i](t);\n out.add.push(d);\n }\n });\n\n this.value = out.source = out.add;\n return out.modifies(as);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/Fold.js\n// module id = 561\n// module chunks = 0","import {Transform} from 'vega-dataflow';\nimport {inherits} from 'vega-util';\n\n/**\n * Invokes a function for each data tuple and saves the results as a new field.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(object): *} params.expr - The formula function to invoke for each tuple.\n * @param {string} params.as - The field name under which to save the result.\n * @param {boolean} [params.initonly=false] - If true, the formula is applied to\n * added tuples only, and does not update in response to modifications.\n */\nexport default function Formula(params) {\n Transform.call(this, null, params);\n}\n\nFormula.Definition = {\n \"type\": \"Formula\",\n \"metadata\": {\"modifies\": true},\n \"params\": [\n { \"name\": \"expr\", \"type\": \"expr\", \"required\": true },\n { \"name\": \"as\", \"type\": \"string\", \"required\": true },\n { \"name\": \"initonly\", \"type\": \"boolean\" }\n ]\n};\n\nvar prototype = inherits(Formula, Transform);\n\nprototype.transform = function(_, pulse) {\n var func = _.expr,\n as = _.as,\n mod = _.modified(),\n flag = _.initonly ? pulse.ADD\n : mod ? pulse.SOURCE\n : pulse.modified(func.fields) ? pulse.ADD_MOD\n : pulse.ADD;\n\n function set(t) {\n t[as] = func(t, _);\n }\n\n if (mod) {\n // parameters updated, need to reflow\n pulse = pulse.materialize().reflow(true);\n }\n\n if (!_.initonly) {\n pulse.modifies(as);\n }\n\n return pulse.visit(flag, set);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/Formula.js\n// module id = 562\n// module chunks = 0","import {ingest, Transform} from 'vega-dataflow';\nimport {inherits} from 'vega-util';\n\n/**\n * Generates data tuples using a provided generator function.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(Parameters): object} params.generator - A tuple generator\n * function. This function is given the operator parameters as input.\n * Changes to any additional parameters will not trigger re-calculation\n * of previously generated tuples. Only future tuples are affected.\n * @param {number} params.size - The number of tuples to produce.\n */\nexport default function Generate(params) {\n Transform.call(this, [], params);\n}\n\nvar prototype = inherits(Generate, Transform);\n\nprototype.transform = function(_, pulse) {\n var data = this.value,\n out = pulse.fork(pulse.ALL),\n num = _.size - data.length,\n gen = _.generator,\n add, rem, t;\n\n if (num > 0) {\n // need more tuples, generate and add\n for (add=[]; --num >= 0;) {\n add.push(t = ingest(gen(_)));\n data.push(t);\n }\n out.add = out.add.length\n ? out.materialize(out.ADD).add.concat(add)\n : add;\n } else {\n // need fewer tuples, remove\n rem = data.slice(0, -num);\n out.rem = out.rem.length\n ? out.materialize(out.REM).rem.concat(rem)\n : rem;\n data = data.slice(-num);\n }\n\n out.source = this.value = data;\n return out;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/Generate.js\n// module id = 563\n// module chunks = 0","import {ingest, Transform} from 'vega-dataflow';\nimport {accessorName, error, inherits} from 'vega-util';\nimport {mean, min, max, median} from 'd3-array';\n\nvar Methods = {\n value: 'value',\n median: median,\n mean: mean,\n min: min,\n max: max\n};\n\nvar Empty = [];\n\n/**\n * Impute missing values.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(object): *} params.field - The value field to impute.\n * @param {Array<function(object): *>} [params.groupby] - An array of\n * accessors to determine series within which to perform imputation.\n * @param {function(object): *} params.key - An accessor for a key value.\n * Each key value should be unique within a group. New tuples will be\n * imputed for any key values that are not found within a group.\n * @param {Array<*>} [params.keyvals] - Optional array of required key\n * values. New tuples will be imputed for any key values that are not\n * found within a group. In addition, these values will be automatically\n * augmented with the key values observed in the input data.\n * @param {string} [method='value'] - The imputation method to use. One of\n * 'value', 'mean', 'median', 'max', 'min'.\n * @param {*} [value=0] - The constant value to use for imputation\n * when using method 'value'.\n */\nexport default function Impute(params) {\n Transform.call(this, [], params);\n}\n\nImpute.Definition = {\n \"type\": \"Impute\",\n \"metadata\": {\"changes\": true},\n \"params\": [\n { \"name\": \"field\", \"type\": \"field\", \"required\": true },\n { \"name\": \"key\", \"type\": \"field\", \"required\": true },\n { \"name\": \"keyvals\", \"array\": true },\n { \"name\": \"groupby\", \"type\": \"field\", \"array\": true },\n { \"name\": \"method\", \"type\": \"enum\", \"default\": \"value\",\n \"values\": [\"value\", \"mean\", \"median\", \"max\", \"min\"] },\n { \"name\": \"value\", \"default\": 0 }\n ]\n};\n\nvar prototype = inherits(Impute, Transform);\n\nfunction getValue(_) {\n var m = _.method || Methods.value, v;\n\n if (Methods[m] == null) {\n error('Unrecognized imputation method: ' + m);\n } else if (m === Methods.value) {\n v = _.value !== undefined ? _.value : 0;\n return function() { return v; };\n } else {\n return Methods[m];\n }\n}\n\nfunction getField(_) {\n var f = _.field;\n return function(t) { return t ? f(t) : NaN; };\n}\n\nprototype.transform = function(_, pulse) {\n var out = pulse.fork(pulse.ALL),\n impute = getValue(_),\n field = getField(_),\n fName = accessorName(_.field),\n kName = accessorName(_.key),\n gNames = (_.groupby || []).map(accessorName),\n groups = partition(pulse.source, _.groupby, _.key, _.keyvals),\n curr = [],\n prev = this.value,\n m = groups.domain.length,\n group, value, gVals, kVal, g, i, j, l, n, t;\n\n for (g=0, l=groups.length; g<l; ++g) {\n group = groups[g];\n gVals = group.values;\n value = NaN;\n\n // add tuples for missing values\n for (j=0; j<m; ++j) {\n if (group[j] != null) continue;\n kVal = groups.domain[j];\n\n t = {_impute: true};\n for (i=0, n=gVals.length; i<n; ++i) t[gNames[i]] = gVals[i];\n t[kName] = kVal;\n t[fName] = isNaN(value) ? (value = impute(group, field)) : value;\n\n curr.push(ingest(t));\n }\n }\n\n // update pulse with imputed tuples\n if (curr.length) out.add = out.materialize(out.ADD).add.concat(curr);\n if (prev.length) out.rem = out.materialize(out.REM).rem.concat(prev);\n this.value = curr;\n\n return out;\n};\n\nfunction partition(data, groupby, key, keyvals) {\n var get = function(f) { return f(t); },\n groups = [],\n domain = keyvals ? keyvals.slice() : [],\n kMap = {},\n gMap = {}, gVals, gKey,\n group, i, j, k, n, t;\n\n domain.forEach(function(k, i) { kMap[k] = i + 1; });\n\n for (i=0, n=data.length; i<n; ++i) {\n t = data[i];\n k = key(t);\n j = kMap[k] || (kMap[k] = domain.push(k));\n\n gKey = (gVals = groupby ? groupby.map(get) : Empty) + '';\n if (!(group = gMap[gKey])) {\n group = (gMap[gKey] = []);\n groups.push(group);\n group.values = gVals;\n }\n group[j-1] = t;\n }\n\n groups.domain = domain;\n return groups;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/Impute.js\n// module id = 564\n// module chunks = 0","import Aggregate from './Aggregate';\nimport {ValidAggregateOps} from './util/AggregateOps';\nimport {extend, inherits} from 'vega-util';\n\n/**\n * Extend input tuples with aggregate values.\n * Calcuates aggregate values and joins them with the input stream.\n * @constructor\n */\nexport default function JoinAggregate(params) {\n Aggregate.call(this, params);\n}\n\nJoinAggregate.Definition = {\n \"type\": \"JoinAggregate\",\n \"metadata\": {\"modifies\": true},\n \"params\": [\n { \"name\": \"groupby\", \"type\": \"field\", \"array\": true },\n { \"name\": \"fields\", \"type\": \"field\", \"null\": true, \"array\": true },\n { \"name\": \"ops\", \"type\": \"enum\", \"array\": true, \"values\": ValidAggregateOps },\n { \"name\": \"as\", \"type\": \"string\", \"null\": true, \"array\": true },\n { \"name\": \"key\", \"type\": \"field\" }\n ]\n};\n\nvar prototype = inherits(JoinAggregate, Aggregate);\n\nprototype.transform = function(_, pulse) {\n var aggr = this,\n mod = _.modified(),\n cells;\n\n // process all input tuples to calculate aggregates\n if (aggr.value && (mod || pulse.modified(aggr._inputs))) {\n cells = aggr.value = mod ? aggr.init(_) : {};\n pulse.visit(pulse.SOURCE, function(t) { aggr.add(t); });\n } else {\n cells = aggr.value = aggr.value || this.init(_);\n pulse.visit(pulse.REM, function(t) { aggr.rem(t); });\n pulse.visit(pulse.ADD, function(t) { aggr.add(t); });\n }\n\n // update aggregation cells\n aggr.changes();\n\n // write aggregate values to input tuples\n pulse.visit(pulse.SOURCE, function(t) {\n extend(t, cells[aggr.cellkey(t)].tuple);\n });\n\n return pulse.reflow(mod).modifies(this._outputs);\n};\n\nprototype.changes = function() {\n var adds = this._adds,\n mods = this._mods,\n i, n;\n\n for (i=0, n=this._alen; i<n; ++i) {\n this.celltuple(adds[i]);\n adds[i] = null; // for garbage collection\n }\n\n for (i=0, n=this._mlen; i<n; ++i) {\n this.celltuple(mods[i]);\n mods[i] = null; // for garbage collection\n }\n\n this._alen = this._mlen = 0; // reset list of active cells\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/JoinAggregate.js\n// module id = 565\n// module chunks = 0","import {Operator} from 'vega-dataflow';\nimport {inherits, key} from 'vega-util';\n\n/**\n * Generates a key function.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {Array<string>} params.fields - The field name(s) for the key function.\n * @param {boolean} params.flat - A boolean flag indicating if the field names\n * should be treated as flat property names, side-stepping nested field\n * lookups normally indicated by dot or bracket notation.\n */\nexport default function Key(params) {\n Operator.call(this, null, update, params);\n}\n\ninherits(Key, Operator);\n\nfunction update(_) {\n return (this.value && !_.modified()) ? this.value : key(_.fields, _.flat);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/Key.js\n// module id = 566\n// module chunks = 0","import {Transform} from 'vega-dataflow';\nimport {inherits} from 'vega-util';\n\n/**\n * Load and parse data from an external source. Marshalls parameter\n * values and then invokes the Dataflow request method.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {string} params.url - The URL to load from.\n * @param {object} params.format - The data format options.\n */\nexport default function Load(params) {\n Transform.call(this, null, params);\n}\n\nvar prototype = inherits(Load, Transform);\n\nprototype.transform = function(_, pulse) {\n pulse.dataflow.request(this.target, _.url, _.format);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/Load.js\n// module id = 567\n// module chunks = 0","import {Transform} from 'vega-dataflow';\nimport {accessorName, error, inherits} from 'vega-util';\n\n/**\n * Extend tuples by joining them with values from a lookup table.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {Map} params.index - The lookup table map.\n * @param {Array<function(object): *} params.fields - The fields to lookup.\n * @param {Array<string>} params.as - Output field names for each lookup value.\n * @param {*} [params.default] - A default value to use if lookup fails.\n */\nexport default function Lookup(params) {\n Transform.call(this, {}, params);\n}\n\nLookup.Definition = {\n \"type\": \"Lookup\",\n \"metadata\": {\"modifies\": true},\n \"params\": [\n { \"name\": \"index\", \"type\": \"index\", \"params\": [\n {\"name\": \"from\", \"type\": \"data\", \"required\": true },\n {\"name\": \"key\", \"type\": \"field\", \"required\": true }\n ] },\n { \"name\": \"values\", \"type\": \"field\", \"array\": true },\n { \"name\": \"fields\", \"type\": \"field\", \"array\": true, \"required\": true },\n { \"name\": \"as\", \"type\": \"string\", \"array\": true },\n { \"name\": \"default\", \"default\": null }\n ]\n};\n\nvar prototype = inherits(Lookup, Transform);\n\nprototype.transform = function(_, pulse) {\n var out = pulse,\n as = _.as,\n keys = _.fields,\n index = _.index,\n values = _.values,\n defaultValue = _.default==null ? null : _.default,\n reset = _.modified(),\n flag = reset ? pulse.SOURCE : pulse.ADD,\n n = keys.length,\n set, m, mods;\n\n if (values) {\n m = values.length;\n\n if (n > 1 && !as) {\n error('Multi-field lookup requires explicit \"as\" parameter.');\n }\n if (as && as.length !== n * m) {\n error('The \"as\" parameter has too few output field names.');\n }\n as = as || values.map(accessorName);\n\n set = function(t) {\n for (var i=0, k=0, j, v; i<n; ++i) {\n v = index.get(keys[i](t));\n if (v == null) for (j=0; j<m; ++j, ++k) t[as[k]] = defaultValue;\n else for (j=0; j<m; ++j, ++k) t[as[k]] = values[j](v);\n }\n };\n } else {\n if (!as) {\n error('Missing output field names.');\n }\n\n set = function(t) {\n for (var i=0, v; i<n; ++i) {\n v = index.get(keys[i](t));\n t[as[i]] = v==null ? defaultValue : v;\n }\n };\n }\n\n if (reset) {\n out = pulse.reflow(true);\n } else {\n mods = keys.some(function(k) { return pulse.modified(k.fields); });\n flag |= (mods ? pulse.MOD : 0);\n }\n pulse.visit(flag, set);\n\n return out.modifies(as);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/Lookup.js\n// module id = 568\n// module chunks = 0","import {Operator} from 'vega-dataflow';\nimport {inherits} from 'vega-util';\n\n/**\n * Computes global min/max extents over a collection of extents.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {Array<Array<number>>} params.extents - The input extents.\n */\nexport default function MultiExtent(params) {\n Operator.call(this, null, update, params);\n}\n\ninherits(MultiExtent, Operator);\n\nfunction update(_) {\n if (this.value && !_.modified()) {\n return this.value;\n }\n\n var min = +Infinity,\n max = -Infinity,\n ext = _.extents,\n i, n, e;\n\n for (i=0, n=ext.length; i<n; ++i) {\n e = ext[i];\n if (e[0] < min) min = e[0];\n if (e[1] > max) max = e[1];\n }\n return [min, max];\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/MultiExtent.js\n// module id = 569\n// module chunks = 0","import {Operator} from 'vega-dataflow';\nimport {inherits} from 'vega-util';\n\n/**\n * Merge a collection of value arrays.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {Array<Array<*>>} params.values - The input value arrrays.\n */\nexport default function MultiValues(params) {\n Operator.call(this, null, update, params);\n}\n\ninherits(MultiValues, Operator);\n\nfunction update(_) {\n return (this.value && !_.modified())\n ? this.value\n : _.values.reduce(function(data, _) { return data.concat(_); }, []);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/MultiValues.js\n// module id = 570\n// module chunks = 0","import {Transform} from 'vega-dataflow';\nimport {inherits} from 'vega-util';\n\n/**\n * Operator whose value is simply its parameter hash. This operator is\n * useful for enabling reactive updates to values of nested objects.\n * @constructor\n * @param {object} params - The parameters for this operator.\n */\nexport default function Params(params) {\n Transform.call(this, null, params);\n}\n\ninherits(Params, Transform);\n\nParams.prototype.transform = function(_, pulse) {\n this.modified(_.modified());\n this.value = _;\n return pulse.fork(pulse.NO_SOURCE | pulse.NO_FIELDS); // do not pass tuples\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/Params.js\n// module id = 571\n// module chunks = 0","import Aggregate from './Aggregate';\nimport {ValidAggregateOps} from './util/AggregateOps';\nimport {accessor, accessorFields, inherits} from 'vega-util';\n\n/**\n * Aggregate and pivot selected field values to become new fields.\n * This operator is useful to construction cross-tabulations.\n * @constructor\n * @param {Array<function(object): *>} [params.groupby] - An array of accessors\n * to groupby. These fields act just like groupby fields of an Aggregate transform.\n * @param {function(object): *} params.field - The field to pivot on. The unique\n * values of this field become new field names in the output stream.\n * @param {function(object): *} params.value - The field to populate pivoted fields.\n * The aggregate values of this field become the values of the new pivoted fields.\n * @param {string} [params.op] - The aggregation operation for the value field,\n * applied per cell in the output stream. The default is \"sum\".\n * @param {number} [params.limit] - An optional parameter indicating the maximum\n * number of pivoted fields to generate. The pivoted field names are sorted in\n * ascending order prior to enforcing the limit.\n */\nexport default function Pivot(params) {\n Aggregate.call(this, params);\n}\n\nPivot.Definition = {\n \"type\": \"Pivot\",\n \"metadata\": {\"generates\": true, \"changes\": true},\n \"params\": [\n { \"name\": \"groupby\", \"type\": \"field\", \"array\": true },\n { \"name\": \"field\", \"type\": \"field\", \"required\": true },\n { \"name\": \"value\", \"type\": \"field\", \"required\": true },\n { \"name\": \"op\", \"type\": \"enum\", \"values\": ValidAggregateOps, \"default\": \"sum\" },\n { \"name\": \"limit\", \"type\": \"number\", \"default\": 0 },\n { \"name\": \"key\", \"type\": \"field\" }\n ]\n};\n\nvar prototype = inherits(Pivot, Aggregate);\n\nprototype._transform = prototype.transform;\n\nprototype.transform = function(_, pulse) {\n return this._transform(aggregateParams(_, pulse), pulse);\n};\n\n// Shoehorn a pivot transform into an aggregate transform!\n// First collect all unique pivot field values.\n// Then generate aggregate fields for each output pivot field.\nfunction aggregateParams(_, pulse) {\n var key = _.field,\n value = _.value,\n op = (_.op === 'count' ? '__count__' : _.op) || 'sum',\n fields = accessorFields(key).concat(accessorFields(value)),\n keys = pivotKeys(key, _.limit || 0, pulse);\n\n return {\n key: _.key,\n groupby: _.groupby,\n ops: keys.map(function() { return op; }),\n fields: keys.map(function(k) { return get(k, key, value, fields); }),\n as: keys.map(function(k) { return k + ''; }),\n modified: _.modified.bind(_)\n };\n}\n\n// Generate aggregate field accessor.\n// Output NaN for non-existent values; aggregator will ignore!\nfunction get(k, key, value, fields) {\n return accessor(\n function(d) { return key(d) === k ? value(d) : NaN; },\n fields,\n k + ''\n );\n}\n\n// Collect (and optionally limit) all unique pivot values.\nfunction pivotKeys(key, limit, pulse) {\n var map = {},\n list = [];\n\n pulse.visit(pulse.SOURCE, function(t) {\n var k = key(t);\n if (!map[k]) {\n map[k] = 1;\n list.push(k);\n }\n });\n\n // TODO? Move this comparator to vega-util?\n list.sort(function(u, v) {\n return (u<v||u==null) && v!=null ? -1\n : (u>v||v==null) && u!=null ? 1\n : ((v=v instanceof Date?+v:v),(u=u instanceof Date?+u:u))!==u && v===v ? -1\n : v!==v && u===u ? 1 : 0;\n });\n\n return limit ? list.slice(0, limit) : list;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/Pivot.js\n// module id = 572\n// module chunks = 0","import Facet from './Facet';\nimport {ingest, tupleid} from 'vega-dataflow';\nimport {accessorFields, error, inherits} from 'vega-util';\n\n/**\n * Partitions pre-faceted data into tuple subflows.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(Dataflow, string): Operator} params.subflow - A function\n * that generates a subflow of operators and returns its root operator.\n * @param {function(object): Array<object>} params.field - The field\n * accessor for an array of subflow tuple objects.\n */\nexport default function PreFacet(params) {\n Facet.call(this, params);\n}\n\nvar prototype = inherits(PreFacet, Facet);\n\nprototype.transform = function(_, pulse) {\n var self = this,\n flow = _.subflow,\n field = _.field;\n\n if (_.modified('field') || field && pulse.modified(accessorFields(field))) {\n error('PreFacet does not support field modification.');\n }\n\n this._targets.active = 0; // reset list of active subflows\n\n pulse.visit(pulse.MOD, function(t) {\n var sf = self.subflow(tupleid(t), flow, pulse, t);\n field ? field(t).forEach(function(_) { sf.mod(_); }) : sf.mod(t);\n });\n\n pulse.visit(pulse.ADD, function(t) {\n var sf = self.subflow(tupleid(t), flow, pulse, t);\n field ? field(t).forEach(function(_) { sf.add(ingest(_)); }) : sf.add(t);\n });\n\n pulse.visit(pulse.REM, function(t) {\n var sf = self.subflow(tupleid(t), flow, pulse, t);\n field ? field(t).forEach(function(_) { sf.rem(_); }) : sf.rem(t);\n });\n\n return pulse;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/PreFacet.js\n// module id = 573\n// module chunks = 0","import {fieldNames} from './util/util';\nimport {ingest, rederive, Transform, tupleid} from 'vega-dataflow';\nimport {inherits} from 'vega-util';\n\n/**\n * Performs a relational projection, copying selected fields from source\n * tuples to a new set of derived tuples.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {Array<function(object): *} params.fields - The fields to project,\n * as an array of field accessors. If unspecified, all fields will be\n * copied with names unchanged.\n * @param {Array<string>} [params.as] - Output field names for each projected\n * field. Any unspecified fields will use the field name provided by\n * the field accessor.\n */\nexport default function Project(params) {\n Transform.call(this, null, params);\n}\n\nProject.Definition = {\n \"type\": \"Project\",\n \"metadata\": {\"generates\": true, \"changes\": true},\n \"params\": [\n { \"name\": \"fields\", \"type\": \"field\", \"array\": true },\n { \"name\": \"as\", \"type\": \"string\", \"null\": true, \"array\": true },\n ]\n};\n\nvar prototype = inherits(Project, Transform);\n\nprototype.transform = function(_, pulse) {\n var fields = _.fields,\n as = fieldNames(_.fields, _.as || []),\n derive = fields\n ? function(s, t) { return project(s, t, fields, as); }\n : rederive,\n out, lut;\n\n if (this.value) {\n lut = this.value;\n } else {\n pulse = pulse.addAll();\n lut = this.value = {};\n }\n\n out = pulse.fork(pulse.NO_SOURCE);\n\n pulse.visit(pulse.REM, function(t) {\n var id = tupleid(t);\n out.rem.push(lut[id]);\n lut[id] = null;\n });\n\n pulse.visit(pulse.ADD, function(t) {\n var dt = derive(t, ingest({}));\n lut[tupleid(t)] = dt;\n out.add.push(dt);\n });\n\n pulse.visit(pulse.MOD, function(t) {\n out.mod.push(derive(t, lut[tupleid(t)]));\n });\n\n return out;\n};\n\nfunction project(s, t, fields, as) {\n for (var i=0, n=fields.length; i<n; ++i) {\n t[as[i]] = fields[i](s);\n }\n return t;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/Project.js\n// module id = 574\n// module chunks = 0","import {Transform} from 'vega-dataflow';\nimport {inherits} from 'vega-util';\n\n/**\n * Proxy the value of another operator as a pure signal value.\n * Ensures no tuples are propagated.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {*} params.value - The value to proxy, becomes the value of this operator.\n */\nexport default function Proxy(params) {\n Transform.call(this, null, params);\n}\n\nvar prototype = inherits(Proxy, Transform);\n\nprototype.transform = function(_, pulse) {\n this.value = _.value;\n return _.modified('value')\n ? pulse.fork(pulse.NO_SOURCE | pulse.NO_FIELDS)\n : pulse.StopPropagation;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/Proxy.js\n// module id = 575\n// module chunks = 0","import {derive, rederive, Transform, tupleid} from 'vega-dataflow';\nimport {inherits} from 'vega-util';\n\n/**\n * Relays a data stream between data processing pipelines.\n * If the derive parameter is set, this transform will create derived\n * copies of observed tuples. This provides derived data streams in which\n * modifications to the tuples do not pollute an upstream data source.\n * @param {object} params - The parameters for this operator.\n * @param {number} [params.derive=false] - Boolean flag indicating if\n * the transform should make derived copies of incoming tuples.\n * @constructor\n */\nexport default function Relay(params) {\n Transform.call(this, null, params);\n}\n\nvar prototype = inherits(Relay, Transform);\n\nprototype.transform = function(_, pulse) {\n var out, lut;\n\n if (this.value) {\n lut = this.value;\n } else {\n out = pulse = pulse.addAll();\n lut = this.value = {};\n }\n\n if (_.derive) {\n out = pulse.fork(pulse.NO_SOURCE);\n\n pulse.visit(pulse.REM, function(t) {\n var id = tupleid(t);\n out.rem.push(lut[id]);\n lut[id] = null;\n });\n\n pulse.visit(pulse.ADD, function(t) {\n var dt = derive(t);\n lut[tupleid(t)] = dt;\n out.add.push(dt);\n });\n\n pulse.visit(pulse.MOD, function(t) {\n out.mod.push(rederive(t, lut[tupleid(t)]));\n });\n }\n\n return out;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/Relay.js\n// module id = 576\n// module chunks = 0","import {Transform, tupleid} from 'vega-dataflow';\nimport {random} from 'vega-statistics';\nimport {inherits} from 'vega-util';\n\n/**\n * Samples tuples passing through this operator.\n * Uses reservoir sampling to maintain a representative sample.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {number} [params.size=1000] - The maximum number of samples.\n */\nexport default function Sample(params) {\n Transform.call(this, [], params);\n this.count = 0;\n}\n\nSample.Definition = {\n \"type\": \"Sample\",\n \"metadata\": {},\n \"params\": [\n { \"name\": \"size\", \"type\": \"number\", \"default\": 1000 }\n ]\n};\n\nvar prototype = inherits(Sample, Transform);\n\nprototype.transform = function(_, pulse) {\n var out = pulse.fork(pulse.NO_SOURCE),\n mod = _.modified('size'),\n num = _.size,\n res = this.value,\n cnt = this.count,\n cap = 0,\n map = res.reduce(function(m, t) {\n m[tupleid(t)] = 1;\n return m;\n }, {});\n\n // sample reservoir update function\n function update(t) {\n var p, idx;\n\n if (res.length < num) {\n res.push(t);\n } else {\n idx = ~~((cnt + 1) * random());\n if (idx < res.length && idx >= cap) {\n p = res[idx];\n if (map[tupleid(p)]) out.rem.push(p); // eviction\n res[idx] = t;\n }\n }\n ++cnt;\n }\n\n if (pulse.rem.length) {\n // find all tuples that should be removed, add to output\n pulse.visit(pulse.REM, function(t) {\n var id = tupleid(t);\n if (map[id]) {\n map[id] = -1;\n out.rem.push(t);\n }\n --cnt;\n });\n\n // filter removed tuples out of the sample reservoir\n res = res.filter(function(t) { return map[tupleid(t)] !== -1; });\n }\n\n if ((pulse.rem.length || mod) && res.length < num && pulse.source) {\n // replenish sample if backing data source is available\n cap = cnt = res.length;\n pulse.visit(pulse.SOURCE, function(t) {\n // update, but skip previously sampled tuples\n if (!map[tupleid(t)]) update(t);\n });\n cap = -1;\n }\n\n if (mod && res.length > num) {\n for (var i=0, n=res.length-num; i<n; ++i) {\n map[tupleid(res[i])] = -1;\n out.rem.push(res[i]);\n }\n res = res.slice(n);\n }\n\n if (pulse.mod.length) {\n // propagate modified tuples in the sample reservoir\n pulse.visit(pulse.MOD, function(t) {\n if (map[tupleid(t)]) out.mod.push(t);\n });\n }\n\n if (pulse.add.length) {\n // update sample reservoir\n pulse.visit(pulse.ADD, update);\n }\n\n if (pulse.add.length || cap < 0) {\n // output newly added tuples\n out.add = res.filter(function(t) { return !map[tupleid(t)]; });\n }\n\n this.count = cnt;\n this.value = out.source = res;\n return out;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/Sample.js\n// module id = 577\n// module chunks = 0","import {ingest, Transform} from 'vega-dataflow';\nimport {inherits} from 'vega-util';\nimport {range} from 'd3-array';\n\n/**\n * Generates data tuples for a specified sequence range of numbers.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {number} params.start - The first number in the sequence.\n * @param {number} params.stop - The last number (exclusive) in the sequence.\n * @param {number} [params.step=1] - The step size between numbers in the sequence.\n */\nexport default function Sequence(params) {\n Transform.call(this, null, params);\n}\n\nSequence.Definition = {\n \"type\": \"Sequence\",\n \"metadata\": {\"changes\": true},\n \"params\": [\n { \"name\": \"start\", \"type\": \"number\", \"required\": true },\n { \"name\": \"stop\", \"type\": \"number\", \"required\": true },\n { \"name\": \"step\", \"type\": \"number\", \"default\": 1 },\n { \"name\": \"as\", \"type\": \"string\", \"default\": \"data\" }\n ]\n};\n\nvar prototype = inherits(Sequence, Transform);\n\nprototype.transform = function(_, pulse) {\n if (this.value && !_.modified()) return;\n\n var out = pulse.materialize().fork(pulse.MOD),\n as = _.as || 'data';\n\n out.rem = this.value ? pulse.rem.concat(this.value) : pulse.rem;\n\n this.value = range(_.start, _.stop, _.step || 1).map(function(v) {\n var t = {};\n t[as] = v;\n return ingest(t);\n });\n\n out.add = pulse.add.concat(this.value);\n\n return out;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/Sequence.js\n// module id = 578\n// module chunks = 0","import {Transform} from 'vega-dataflow';\nimport {inherits} from 'vega-util';\n\n/**\n * Propagates a new pulse without any tuples so long as the input\n * pulse contains some added, removed or modified tuples.\n * @param {object} params - The parameters for this operator.\n * @constructor\n */\nexport default function Sieve(params) {\n Transform.call(this, null, params);\n this.modified(true); // always treat as modified\n}\n\nvar prototype = inherits(Sieve, Transform);\n\nprototype.transform = function(_, pulse) {\n this.value = pulse.source;\n return pulse.changed()\n ? pulse.fork(pulse.NO_SOURCE | pulse.NO_FIELDS)\n : pulse.StopPropagation;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/Sieve.js\n// module id = 579\n// module chunks = 0","import {Transform} from 'vega-dataflow';\nimport {fastmap, inherits} from 'vega-util';\n\n/**\n * An index that maps from unique, string-coerced, field values to tuples.\n * Assumes that the field serves as a unique key with no duplicate values.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(object): *} params.field - The field accessor to index.\n */\nexport default function TupleIndex(params) {\n Transform.call(this, fastmap(), params);\n}\n\nvar prototype = inherits(TupleIndex, Transform);\n\nprototype.transform = function(_, pulse) {\n var df = pulse.dataflow,\n field = _.field,\n index = this.value,\n mod = true;\n\n function set(t) { index.set(field(t), t); }\n\n if (_.modified('field') || pulse.modified(field.fields)) {\n index.clear();\n pulse.visit(pulse.SOURCE, set);\n } else if (pulse.changed()) {\n pulse.visit(pulse.REM, function(t) { index.delete(field(t)); });\n pulse.visit(pulse.ADD, set);\n } else {\n mod = false;\n }\n\n this.modified(mod);\n if (index.empty > df.cleanThreshold) df.runAfter(index.clean);\n return pulse.fork();\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/TupleIndex.js\n// module id = 580\n// module chunks = 0","import {Transform} from 'vega-dataflow';\nimport {inherits} from 'vega-util';\n\n/**\n * Extracts an array of values. Assumes the source data has already been\n * reduced as needed (e.g., by an upstream Aggregate transform).\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(object): *} params.field - The domain field to extract.\n * @param {function(*,*): number} [params.sort] - An optional\n * comparator function for sorting the values. The comparator will be\n * applied to backing tuples prior to value extraction.\n */\nexport default function Values(params) {\n Transform.call(this, null, params);\n}\n\nvar prototype = inherits(Values, Transform);\n\nprototype.transform = function(_, pulse) {\n var run = !this.value\n || _.modified('field')\n || _.modified('sort')\n || pulse.changed()\n || (_.sort && pulse.modified(_.sort.fields));\n\n if (run) {\n this.value = (_.sort\n ? pulse.source.slice().sort(_.sort)\n : pulse.source).map(_.field);\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/Values.js\n// module id = 581\n// module chunks = 0","import {groupkey} from './util/AggregateKeys';\nimport {ValidAggregateOps} from './util/AggregateOps';\nimport SortedList from './util/SortedList';\nimport {ValidWindowOps} from './util/WindowOps';\nimport WindowState from './util/WindowState';\nimport {Transform, tupleid} from 'vega-dataflow';\nimport {constant, inherits} from 'vega-util';\nimport {bisector} from 'd3-array';\n\n/**\n * Perform window calculations and write results to the input stream.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(*,*): number} [params.sort] - A comparator function for sorting tuples within a window.\n * @param {Array<function(object): *>} [params.groupby] - An array of accessors by which to partition tuples into separate windows.\n * @param {Array<string>} params.ops - An array of strings indicating window operations to perform.\n * @param {Array<function(object): *>} [params.fields] - An array of accessors\n * for data fields to use as inputs to window operations.\n * @param {Array<*>} [params.params] - An array of parameter values for window operations.\n * @param {Array<string>} [params.as] - An array of output field names for window operations.\n * @param {Array<number>} [params.frame] - Window frame definition as two-element array.\n * @param {boolean} [params.ignorePeers=false] - If true, base window frame boundaries on row\n * number alone, ignoring peers with identical sort values. If false (default),\n * the window boundaries will be adjusted to include peer values.\n */\nexport default function Window(params) {\n Transform.call(this, {}, params);\n this._mlen = 0;\n this._mods = [];\n}\n\nWindow.Definition = {\n \"type\": \"Window\",\n \"metadata\": {\"modifies\": true},\n \"params\": [\n { \"name\": \"sort\", \"type\": \"compare\" },\n { \"name\": \"groupby\", \"type\": \"field\", \"array\": true },\n { \"name\": \"ops\", \"type\": \"enum\", \"array\": true, \"values\": ValidWindowOps.concat(ValidAggregateOps) },\n { \"name\": \"params\", \"type\": \"number\", \"null\": true, \"array\": true },\n { \"name\": \"fields\", \"type\": \"field\", \"null\": true, \"array\": true },\n { \"name\": \"as\", \"type\": \"string\", \"null\": true, \"array\": true },\n { \"name\": \"frame\", \"type\": \"number\", \"null\": true, \"array\": true, \"length\": 2, \"default\": [null, 0] },\n { \"name\": \"ignorePeers\", \"type\": \"boolean\", \"default\": false }\n ]\n};\n\nvar prototype = inherits(Window, Transform);\n\nprototype.transform = function(_, pulse) {\n var self = this,\n state = self.state,\n mod = _.modified(),\n i, n;\n\n this.stamp = pulse.stamp;\n\n // initialize window state\n if (!state || mod) {\n state = self.state = new WindowState(_);\n }\n\n // retrieve group for a tuple\n var key = groupkey(_.groupby);\n function group(t) { return self.group(key(t)); }\n\n // partition input tuples\n if (mod || pulse.modified(state.inputs)) {\n self.value = {};\n pulse.visit(pulse.SOURCE, function(t) { group(t).add(t); });\n } else {\n pulse.visit(pulse.REM, function(t) { group(t).remove(t); });\n pulse.visit(pulse.ADD, function(t) { group(t).add(t); });\n }\n\n // perform window calculations for each modified partition\n for (i=0, n=self._mlen; i<n; ++i) {\n processPartition(self._mods[i], state, _);\n }\n self._mlen = 0;\n self._mods = [];\n\n // TODO don't reflow everything?\n return pulse.reflow(mod).modifies(state.outputs);\n};\n\nprototype.group = function(key) {\n var self = this,\n group = self.value[key];\n\n if (!group) {\n group = self.value[key] = SortedList(tupleid);\n group.stamp = -1;\n }\n\n if (group.stamp < self.stamp) {\n group.stamp = self.stamp;\n self._mods[self._mlen++] = group;\n }\n\n return group;\n};\n\nfunction processPartition(list, state, _) {\n var sort = _.sort,\n range = sort && !_.ignorePeers,\n frame = _.frame || [null, 0],\n data = list.data(sort),\n n = data.length,\n i = 0,\n b = range ? bisector(sort) : null,\n w = {\n i0: 0, i1: 0, p0: 0, p1: 0, index: 0,\n data: data, compare: sort || constant(-1)\n };\n\n for (state.init(); i<n; ++i) {\n setWindow(w, frame, i, n);\n if (range) adjustRange(w, b);\n state.update(w, data[i]);\n }\n}\n\nfunction setWindow(w, f, i, n) {\n w.p0 = w.i0;\n w.p1 = w.i1;\n w.i0 = f[0] == null ? 0 : Math.max(0, i - Math.abs(f[0]));\n w.i1 = f[1] == null ? n : Math.min(n, i + Math.abs(f[1]) + 1);\n w.index = i;\n}\n\n// if frame type is 'range', adjust window for peer values\nfunction adjustRange(w, bisect) {\n var r0 = w.i0,\n r1 = w.i1 - 1,\n c = w.compare,\n d = w.data,\n n = d.length - 1;\n\n if (r0 > 0 && !c(d[r0], d[r0-1])) w.i0 = bisect.left(d, d[r0]);\n if (r1 < n && !c(d[r1], d[r1+1])) w.i1 = bisect.right(d, d[r1]);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/Window.js\n// module id = 582\n// module chunks = 0","import {createMeasure, compileMeasures, measureName} from './AggregateOps';\nimport TupleStore from './TupleStore';\nimport {WindowOp, WindowOps} from './WindowOps';\nimport {accessorFields, accessorName, array, error} from 'vega-util';\n\nexport default function WindowState(_) {\n var self = this,\n ops = array(_.ops),\n fields = array(_.fields),\n params = array(_.params),\n as = array(_.as),\n outputs = self.outputs = [],\n windows = self.windows = [],\n inputs = {},\n map = {},\n countOnly = true,\n counts = [],\n measures = [];\n\n function visitInputs(f) {\n array(accessorFields(f)).forEach(function(_) { inputs[_] = 1; });\n }\n visitInputs(_.sort);\n\n ops.forEach(function(op, i) {\n var field = fields[i],\n mname = accessorName(field),\n name = measureName(op, mname, as[i]);\n\n visitInputs(field);\n outputs.push(name);\n\n // Window operation\n if (WindowOps.hasOwnProperty(op)) {\n windows.push(WindowOp(op, fields[i], params[i], name));\n }\n\n // Aggregate operation\n else {\n if (field == null && op !== 'count') {\n error('Null aggregate field specified.');\n }\n if (op === 'count') {\n counts.push(name);\n return;\n }\n\n countOnly = false;\n var m = map[mname];\n if (!m) {\n m = (map[mname] = []);\n m.field = field;\n measures.push(m);\n }\n m.push(createMeasure(op, name));\n }\n });\n\n if (counts.length || measures.length) {\n self.cell = cell(measures, counts, countOnly);\n }\n\n self.inputs = Object.keys(inputs);\n}\n\nvar prototype = WindowState.prototype;\n\nprototype.init = function() {\n this.windows.forEach(function(_) { _.init(); });\n if (this.cell) this.cell.init();\n};\n\nprototype.update = function(w, t) {\n var self = this,\n cell = self.cell,\n wind = self.windows,\n data = w.data,\n m = wind && wind.length,\n j;\n\n if (cell) {\n for (j=w.p0; j<w.i0; ++j) cell.rem(data[j]);\n for (j=w.p1; j<w.i1; ++j) cell.add(data[j]);\n cell.set(t);\n }\n for (j=0; j<m; ++j) wind[j].update(w, t);\n};\n\nfunction cell(measures, counts, countOnly) {\n measures = measures.map(function(m) {\n return compileMeasures(m, m.field);\n });\n\n var cell = {\n num: 0,\n agg: null,\n store: false,\n count: counts\n };\n\n if (!countOnly) {\n var n = measures.length,\n a = cell.agg = Array(n),\n i = 0;\n for (; i<n; ++i) a[i] = new measures[i](cell);\n }\n\n if (cell.store) {\n var store = cell.data = new TupleStore();\n }\n\n cell.add = function(t) {\n cell.num += 1;\n if (countOnly) return;\n if (store) store.add(t);\n for (var i=0; i<n; ++i) {\n a[i].add(a[i].get(t), t);\n }\n };\n\n cell.rem = function(t) {\n cell.num -= 1;\n if (countOnly) return;\n if (store) store.rem(t);\n for (var i=0; i<n; ++i) {\n a[i].rem(a[i].get(t), t);\n }\n };\n\n cell.set = function(t) {\n var i, n;\n\n // consolidate stored values\n if (store) store.values();\n\n // update tuple properties\n for (i=0, n=counts.length; i<n; ++i) t[counts[i]] = cell.num;\n if (!countOnly) for (i=0, n=a.length; i<n; ++i) a[i].set(t);\n };\n\n cell.init = function() {\n cell.num = 0;\n if (store) store.reset();\n for (var i=0; i<n; ++i) a[i].init();\n };\n\n return cell;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-transforms/src/util/WindowState.js\n// module id = 583\n// module chunks = 0","import {Group, LegendRole} from './constants';\nimport {Transform} from 'vega-dataflow';\nimport {boundClip, Marks} from 'vega-scenegraph';\nimport {inherits} from 'vega-util';\n\n/**\n * Calculate bounding boxes for scenegraph items.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {object} params.mark - The scenegraph mark instance to bound.\n */\nexport default function Bound(params) {\n Transform.call(this, null, params);\n}\n\nvar prototype = inherits(Bound, Transform);\n\nprototype.transform = function(_, pulse) {\n var view = pulse.dataflow,\n mark = _.mark,\n type = mark.marktype,\n entry = Marks[type],\n bound = entry.bound,\n markBounds = mark.bounds, rebound;\n\n if (entry.nested) {\n // multi-item marks have a single bounds instance\n if (mark.items.length) view.dirty(mark.items[0]);\n markBounds = boundItem(mark, bound);\n mark.items.forEach(function(item) {\n item.bounds.clear().union(markBounds);\n });\n }\n\n else if (type === Group || _.modified()) {\n // operator parameters modified -> re-bound all items\n // updates group bounds in response to modified group content\n pulse.visit(pulse.MOD, function(item) { view.dirty(item); });\n markBounds.clear();\n mark.items.forEach(function(item) {\n markBounds.union(boundItem(item, bound));\n });\n\n // force reflow for legends to propagate any layout changes\n // suppress other types to prevent overall layout jumpiness\n if (mark.role === LegendRole) pulse.reflow();\n }\n\n else {\n // incrementally update bounds, re-bound mark as needed\n rebound = pulse.changed(pulse.REM);\n\n pulse.visit(pulse.ADD, function(item) {\n markBounds.union(boundItem(item, bound));\n });\n\n pulse.visit(pulse.MOD, function(item) {\n rebound = rebound || markBounds.alignsWith(item.bounds);\n view.dirty(item);\n markBounds.union(boundItem(item, bound));\n });\n\n if (rebound) {\n markBounds.clear();\n mark.items.forEach(function(item) { markBounds.union(item.bounds); });\n }\n }\n\n // ensure mark bounds do not exceed any clipping region\n boundClip(mark);\n\n return pulse.modifies('bounds');\n};\n\nfunction boundItem(item, bound, opt) {\n return bound(item.bounds.clear(), item, opt);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-view-transforms/src/Bound.js\n// module id = 585\n// module chunks = 0","var gradient_id = 0;\n\nexport default function(p0, p1) {\n var stops = [], gradient;\n return gradient = {\n id: 'gradient_' + (gradient_id++),\n x1: p0 ? p0[0] : 0,\n y1: p0 ? p0[1] : 0,\n x2: p1 ? p1[0] : 1,\n y2: p1 ? p1[1] : 0,\n stops: stops,\n stop: function(offset, color) {\n stops.push({offset: offset, color: color});\n return gradient;\n }\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/Gradient.js\n// module id = 586\n// module chunks = 0","export function domCanvas(w, h) {\n if (typeof document !== 'undefined' && document.createElement) {\n var c = document.createElement('canvas');\n if (c && c.getContext) {\n c.width = w;\n c.height = h;\n return c;\n }\n }\n return null;\n}\n\nexport function domImage() {\n return typeof Image !== 'undefined' ? Image : null;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-canvas/src/domCanvas.js\n// module id = 587\n// module chunks = 0","import Bounds from './Bounds';\nimport GroupItem from './GroupItem';\nimport {sceneFromJSON, sceneToJSON} from './util/serialize';\n\nexport default function Scenegraph(scene) {\n if (arguments.length) {\n this.root = sceneFromJSON(scene);\n } else {\n this.root = createMark({\n marktype: 'group',\n name: 'root',\n role: 'frame'\n });\n this.root.items = [new GroupItem(this.root)];\n }\n}\n\nvar prototype = Scenegraph.prototype;\n\nprototype.toJSON = function(indent) {\n return sceneToJSON(this.root, indent || 0);\n};\n\nprototype.mark = function(markdef, group, index) {\n group = group || this.root.items[0];\n var mark = createMark(markdef, group);\n group.items[index] = mark;\n if (mark.zindex) mark.group.zdirty = true;\n return mark;\n};\n\nfunction createMark(def, group) {\n return {\n bounds: new Bounds(),\n clip: !!def.clip,\n group: group,\n interactive: def.interactive === false ? false : true,\n items: [],\n marktype: def.marktype,\n name: def.name || undefined,\n role: def.role || undefined,\n zindex: def.zindex || 0\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/Scenegraph.js\n// module id = 588\n// module chunks = 0","import {arc} from '../path/shapes';\nimport markItemPath from './markItemPath';\n\nexport default markItemPath('arc', arc);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/marks/arc.js\n// module id = 589\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/arc.js\n// module id = 590\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-path/src/path.js\n// module id = 591\n// module chunks = 0","export default function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/descending.js\n// module id = 593\n// module chunks = 0","export default function(d) {\n return d;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/identity.js\n// module id = 594\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/symbol.js\n// module id = 597\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/curve/basisClosed.js\n// module id = 598\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/curve/basisOpen.js\n// module id = 599\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/curve/bundle.js\n// module id = 600\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/curve/catmullRomClosed.js\n// module id = 601\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/curve/catmullRomOpen.js\n// module id = 602\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/curve/linearClosed.js\n// module id = 603\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/curve/monotone.js\n// module id = 604\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/curve/natural.js\n// module id = 605\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-shape/src/curve/step.js\n// module id = 606\n// module chunks = 0","export var segmentCache = {};\nexport var bezierCache = {};\n\nvar join = [].join;\n\n// Copied from Inkscape svgtopdf, thanks!\nexport function segments(x, y, rx, ry, large, sweep, rotateX, ox, oy) {\n var key = join.call(arguments);\n if (segmentCache[key]) {\n return segmentCache[key];\n }\n\n var th = rotateX * (Math.PI/180);\n var sin_th = Math.sin(th);\n var cos_th = Math.cos(th);\n rx = Math.abs(rx);\n ry = Math.abs(ry);\n var px = cos_th * (ox - x) * 0.5 + sin_th * (oy - y) * 0.5;\n var py = cos_th * (oy - y) * 0.5 - sin_th * (ox - x) * 0.5;\n var pl = (px*px) / (rx*rx) + (py*py) / (ry*ry);\n if (pl > 1) {\n pl = Math.sqrt(pl);\n rx *= pl;\n ry *= pl;\n }\n\n var a00 = cos_th / rx;\n var a01 = sin_th / rx;\n var a10 = (-sin_th) / ry;\n var a11 = (cos_th) / ry;\n var x0 = a00 * ox + a01 * oy;\n var y0 = a10 * ox + a11 * oy;\n var x1 = a00 * x + a01 * y;\n var y1 = a10 * x + a11 * y;\n\n var d = (x1-x0) * (x1-x0) + (y1-y0) * (y1-y0);\n var sfactor_sq = 1 / d - 0.25;\n if (sfactor_sq < 0) sfactor_sq = 0;\n var sfactor = Math.sqrt(sfactor_sq);\n if (sweep == large) sfactor = -sfactor;\n var xc = 0.5 * (x0 + x1) - sfactor * (y1-y0);\n var yc = 0.5 * (y0 + y1) + sfactor * (x1-x0);\n\n var th0 = Math.atan2(y0-yc, x0-xc);\n var th1 = Math.atan2(y1-yc, x1-xc);\n\n var th_arc = th1-th0;\n if (th_arc < 0 && sweep === 1){\n th_arc += 2 * Math.PI;\n } else if (th_arc > 0 && sweep === 0) {\n th_arc -= 2 * Math.PI;\n }\n\n var segs = Math.ceil(Math.abs(th_arc / (Math.PI * 0.5 + 0.001)));\n var result = [];\n for (var i=0; i<segs; ++i) {\n var th2 = th0 + i * th_arc / segs;\n var th3 = th0 + (i+1) * th_arc / segs;\n result[i] = [xc, yc, th2, th3, rx, ry, sin_th, cos_th];\n }\n\n return (segmentCache[key] = result);\n}\n\nexport function bezier(params) {\n var key = join.call(params);\n if (bezierCache[key]) {\n return bezierCache[key];\n }\n\n var cx = params[0],\n cy = params[1],\n th0 = params[2],\n th1 = params[3],\n rx = params[4],\n ry = params[5],\n sin_th = params[6],\n cos_th = params[7];\n\n var a00 = cos_th * rx;\n var a01 = -sin_th * ry;\n var a10 = sin_th * rx;\n var a11 = cos_th * ry;\n\n var cos_th0 = Math.cos(th0);\n var sin_th0 = Math.sin(th0);\n var cos_th1 = Math.cos(th1);\n var sin_th1 = Math.sin(th1);\n\n var th_half = 0.5 * (th1 - th0);\n var sin_th_h2 = Math.sin(th_half * 0.5);\n var t = (8/3) * sin_th_h2 * sin_th_h2 / Math.sin(th_half);\n var x1 = cx + cos_th0 - t * sin_th0;\n var y1 = cy + sin_th0 + t * cos_th0;\n var x3 = cx + cos_th1;\n var y3 = cy + sin_th1;\n var x2 = x3 + t * sin_th1;\n var y2 = y3 - t * cos_th1;\n\n return (bezierCache[key] = [\n a00 * x1 + a01 * y1, a10 * x1 + a11 * y1,\n a00 * x2 + a01 * y2, a10 * x2 + a11 * y2,\n a00 * x3 + a01 * y3, a10 * x3 + a11 * y3\n ]);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/path/arc.js\n// module id = 615\n// module chunks = 0","export default function(context, gradient, bounds) {\n var w = bounds.width(),\n h = bounds.height(),\n x1 = bounds.x1 + gradient.x1 * w,\n y1 = bounds.y1 + gradient.y1 * h,\n x2 = bounds.x1 + gradient.x2 * w,\n y2 = bounds.y1 + gradient.y2 * h,\n stop = gradient.stops,\n i = 0,\n n = stop.length,\n linearGradient = context.createLinearGradient(x1, y1, x2, y2);\n\n for (; i<n; ++i) {\n linearGradient.addColorStop(stop[i].offset, stop[i].color);\n }\n\n return linearGradient;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/util/canvas/gradient.js\n// module id = 616\n// module chunks = 0","import {area} from '../path/shapes';\nimport {pickArea} from '../util/pickPath';\nimport markMultiItemPath from './markMultiItemPath';\n\nexport default markMultiItemPath('area', area, pickArea);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/marks/area.js\n// module id = 617\n// module chunks = 0","import {rectangle} from '../path/shapes';\nimport boundStroke from '../bound/boundStroke';\nimport {visit, pickVisit} from '../util/visit';\nimport stroke from '../util/canvas/stroke';\nimport fill from '../util/canvas/fill';\nimport {hitPath} from '../util/canvas/pick';\nimport clip from '../util/svg/clip';\nimport translateItem from '../util/svg/translateItem';\n\nvar StrokeOffset = 0.5;\n\nfunction attr(emit, item) {\n emit('transform', translateItem(item));\n}\n\nfunction background(emit, item) {\n var offset = item.stroke ? StrokeOffset : 0;\n emit('class', 'background');\n emit('d', rectangle(null, item, offset, offset));\n}\n\nfunction foreground(emit, item, renderer) {\n var url = item.clip ? clip(renderer, item, item) : null;\n emit('clip-path', url);\n}\n\nfunction bound(bounds, group) {\n if (!group.clip && group.items) {\n var items = group.items;\n for (var j=0, m=items.length; j<m; ++j) {\n bounds.union(items[j].bounds);\n }\n }\n\n if ((group.clip || group.width || group.height) && !group.noBound) {\n bounds.add(0, 0).add(group.width || 0, group.height || 0);\n }\n\n boundStroke(bounds, group);\n\n return bounds.translate(group.x || 0, group.y || 0);\n}\n\nfunction backgroundPath(context, group) {\n var offset = group.stroke ? StrokeOffset : 0;\n context.beginPath();\n rectangle(context, group, offset, offset);\n}\n\nvar hitBackground = hitPath(backgroundPath);\n\nfunction draw(context, scene, bounds) {\n var renderer = this;\n\n visit(scene, function(group) {\n var gx = group.x || 0,\n gy = group.y || 0,\n w = group.width || 0,\n h = group.height || 0,\n opacity;\n\n // setup graphics context\n context.save();\n context.translate(gx, gy);\n\n // draw group background\n if (group.stroke || group.fill) {\n opacity = group.opacity == null ? 1 : group.opacity;\n if (opacity > 0) {\n backgroundPath(context, group);\n if (group.fill && fill(context, group, opacity)) {\n context.fill();\n }\n if (group.stroke && stroke(context, group, opacity)) {\n context.stroke();\n }\n }\n }\n\n // set clip and bounds\n if (group.clip) {\n context.beginPath();\n context.rect(0, 0, w, h);\n context.clip();\n }\n if (bounds) bounds.translate(-gx, -gy);\n\n // draw group contents\n visit(group, function(item) {\n renderer.draw(context, item, bounds);\n });\n\n // restore graphics context\n if (bounds) bounds.translate(gx, gy);\n context.restore();\n });\n}\n\nfunction pick(context, scene, x, y, gx, gy) {\n if (scene.bounds && !scene.bounds.contains(gx, gy) || !scene.items) {\n return null;\n }\n\n var handler = this,\n cx = x * context.pixelRatio,\n cy = y * context.pixelRatio;\n\n return pickVisit(scene, function(group) {\n var hit, dx, dy, b;\n\n // first hit test against bounding box\n // if a group is clipped, that should be handled by the bounds check.\n b = group.bounds;\n if (b && !b.contains(gx, gy)) return;\n\n // passed bounds check, so test sub-groups\n dx = (group.x || 0);\n dy = (group.y || 0);\n\n context.save();\n context.translate(dx, dy);\n\n dx = gx - dx;\n dy = gy - dy;\n\n // hit test against contained marks\n hit = pickVisit(group, function(mark) {\n return pickMark(mark, dx, dy)\n ? handler.pick(mark, x, y, dx, dy)\n : null;\n });\n\n // hit test against group background\n if (!hit && scene.interactive !== false\n && (group.fill || group.stroke)\n && hitBackground(context, group, cx, cy)) {\n hit = group;\n }\n\n context.restore();\n return hit || null;\n });\n}\n\nfunction pickMark(mark, x, y) {\n return (mark.interactive !== false || mark.marktype === 'group')\n && mark.bounds && mark.bounds.contains(x, y);\n}\n\nexport default {\n type: 'group',\n tag: 'g',\n nested: false,\n attr: attr,\n bound: bound,\n draw: draw,\n pick: pick,\n background: background,\n foreground: foreground\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/marks/group.js\n// module id = 618\n// module chunks = 0","import {visit} from '../util/visit';\nimport {pick} from '../util/canvas/pick';\nimport translate from '../util/svg/translate';\n\nfunction getImage(item, renderer) {\n var image = item.image;\n if (!image || image.url !== item.url) {\n image = {loaded: false, width: 0, height: 0};\n renderer.loadImage(item.url).then(function(image) {\n item.image = image;\n item.image.url = item.url;\n });\n }\n return image;\n}\n\nfunction imageXOffset(align, w) {\n return align === 'center' ? w / 2 : align === 'right' ? w : 0;\n}\n\nfunction imageYOffset(baseline, h) {\n return baseline === 'middle' ? h / 2 : baseline === 'bottom' ? h : 0;\n}\n\nfunction attr(emit, item, renderer) {\n var image = getImage(item, renderer),\n x = item.x || 0,\n y = item.y || 0,\n w = (item.width != null ? item.width : image.width) || 0,\n h = (item.height != null ? item.height : image.height) || 0,\n a = item.aspect === false ? 'none' : 'xMidYMid';\n\n x -= imageXOffset(item.align, w);\n y -= imageYOffset(item.baseline, h);\n\n emit('href', image.src || '', 'http://www.w3.org/1999/xlink', 'xlink:href');\n emit('transform', translate(x, y));\n emit('width', w);\n emit('height', h);\n emit('preserveAspectRatio', a);\n}\n\nfunction bound(bounds, item) {\n var image = item.image,\n x = item.x || 0,\n y = item.y || 0,\n w = (item.width != null ? item.width : (image && image.width)) || 0,\n h = (item.height != null ? item.height : (image && image.height)) || 0;\n\n x -= imageXOffset(item.align, w);\n y -= imageYOffset(item.baseline, h);\n\n return bounds.set(x, y, x + w, y + h);\n}\n\nfunction draw(context, scene, bounds) {\n var renderer = this;\n\n visit(scene, function(item) {\n if (bounds && !bounds.intersects(item.bounds)) return; // bounds check\n\n var image = getImage(item, renderer),\n x = item.x || 0,\n y = item.y || 0,\n w = (item.width != null ? item.width : image.width) || 0,\n h = (item.height != null ? item.height : image.height) || 0,\n opacity, ar0, ar1, t;\n\n x -= imageXOffset(item.align, w);\n y -= imageYOffset(item.baseline, h);\n\n if (item.aspect !== false) {\n ar0 = image.width / image.height;\n ar1 = item.width / item.height;\n if (ar0 === ar0 && ar1 === ar1 && ar0 !== ar1) {\n if (ar1 < ar0) {\n t = w / ar0;\n y += (h - t) / 2;\n h = t;\n } else {\n t = h * ar0;\n x += (w - t) / 2;\n w = t;\n }\n }\n }\n\n if (image.loaded) {\n context.globalAlpha = (opacity = item.opacity) != null ? opacity : 1;\n context.drawImage(image, x, y, w, h);\n }\n });\n}\n\nexport default {\n type: 'image',\n tag: 'image',\n nested: false,\n attr: attr,\n bound: bound,\n draw: draw,\n pick: pick(),\n get: getImage,\n xOffset: imageXOffset,\n yOffset: imageYOffset\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/marks/image.js\n// module id = 619\n// module chunks = 0","import {line} from '../path/shapes';\nimport {pickLine} from '../util/pickPath';\nimport markMultiItemPath from './markMultiItemPath';\n\nexport default markMultiItemPath('line', line, pickLine);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/marks/line.js\n// module id = 620\n// module chunks = 0","import boundStroke from '../bound/boundStroke';\nimport context from '../bound/boundContext';\nimport pathParse from '../path/parse';\nimport pathRender from '../path/render';\nimport {drawAll} from '../util/canvas/draw';\nimport {pickPath} from '../util/canvas/pick';\nimport translateItem from '../util/svg/translateItem';\n\nfunction attr(emit, item) {\n emit('transform', translateItem(item));\n emit('d', item.path);\n}\n\nfunction path(context, item) {\n var path = item.path;\n if (path == null) return true;\n\n var cache = item.pathCache;\n if (!cache || cache.path !== path) {\n (item.pathCache = cache = pathParse(path)).path = path;\n }\n pathRender(context, cache, item.x, item.y);\n}\n\nfunction bound(bounds, item) {\n return path(context(bounds), item)\n ? bounds.set(0, 0, 0, 0)\n : boundStroke(bounds, item);\n}\n\nexport default {\n type: 'path',\n tag: 'path',\n nested: false,\n attr: attr,\n bound: bound,\n draw: drawAll(path),\n pick: pickPath(path)\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/marks/path.js\n// module id = 621\n// module chunks = 0","import boundStroke from '../bound/boundStroke';\nimport {rectangle} from '../path/shapes';\nimport {drawAll} from '../util/canvas/draw';\nimport {pickPath} from '../util/canvas/pick';\n\nfunction attr(emit, item) {\n emit('d', rectangle(null, item));\n}\n\nfunction bound(bounds, item) {\n var x, y;\n return boundStroke(bounds.set(\n x = item.x || 0,\n y = item.y || 0,\n (x + item.width) || 0,\n (y + item.height) || 0\n ), item);\n}\n\nfunction draw(context, item) {\n context.beginPath();\n rectangle(context, item);\n}\n\nexport default {\n type: 'rect',\n tag: 'path',\n nested: false,\n attr: attr,\n bound: bound,\n draw: drawAll(draw),\n pick: pickPath(draw)\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/marks/rect.js\n// module id = 622\n// module chunks = 0","import boundStroke from '../bound/boundStroke';\nimport {visit} from '../util/visit';\nimport {pick} from '../util/canvas/pick';\nimport stroke from '../util/canvas/stroke';\nimport translateItem from '../util/svg/translateItem';\n\nfunction attr(emit, item) {\n emit('transform', translateItem(item));\n emit('x2', item.x2 != null ? item.x2 - (item.x||0) : 0);\n emit('y2', item.y2 != null ? item.y2 - (item.y||0) : 0);\n}\n\nfunction bound(bounds, item) {\n var x1, y1;\n return boundStroke(bounds.set(\n x1 = item.x || 0,\n y1 = item.y || 0,\n item.x2 != null ? item.x2 : x1,\n item.y2 != null ? item.y2 : y1\n ), item);\n}\n\nfunction path(context, item, opacity) {\n var x1, y1, x2, y2;\n\n if (item.stroke && stroke(context, item, opacity)) {\n x1 = item.x || 0;\n y1 = item.y || 0;\n x2 = item.x2 != null ? item.x2 : x1;\n y2 = item.y2 != null ? item.y2 : y1;\n context.beginPath();\n context.moveTo(x1, y1);\n context.lineTo(x2, y2);\n return true;\n }\n return false;\n}\n\nfunction draw(context, scene, bounds) {\n visit(scene, function(item) {\n if (bounds && !bounds.intersects(item.bounds)) return; // bounds check\n var opacity = item.opacity == null ? 1 : item.opacity;\n if (opacity && path(context, item, opacity)) {\n context.stroke();\n }\n });\n}\n\nfunction hit(context, item, x, y) {\n if (!context.isPointInStroke) return false;\n return path(context, item, 1) && context.isPointInStroke(x, y);\n}\n\nexport default {\n type: 'rule',\n tag: 'line',\n nested: false,\n attr: attr,\n bound: bound,\n draw: draw,\n pick: pick(hit)\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/marks/rule.js\n// module id = 623\n// module chunks = 0","import {shape} from '../path/shapes';\nimport markItemPath from './markItemPath';\n\nexport default markItemPath('shape', shape);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/marks/shape.js\n// module id = 624\n// module chunks = 0","import {symbol} from '../path/shapes';\nimport markItemPath from './markItemPath';\n\nexport default markItemPath('symbol', symbol);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/marks/symbol.js\n// module id = 625\n// module chunks = 0","import Bounds from '../Bounds';\nimport {font, offset, textMetrics, textValue} from '../util/text';\nimport {visit} from '../util/visit';\nimport fill from '../util/canvas/fill';\nimport {pick} from '../util/canvas/pick';\nimport stroke from '../util/canvas/stroke';\nimport translate from '../util/svg/translate';\n\nvar textAlign = {\n 'left': 'start',\n 'center': 'middle',\n 'right': 'end'\n};\n\nvar tempBounds = new Bounds();\n\nfunction attr(emit, item) {\n var dx = item.dx || 0,\n dy = (item.dy || 0) + offset(item),\n x = item.x || 0,\n y = item.y || 0,\n a = item.angle || 0,\n r = item.radius || 0, t;\n\n if (r) {\n t = (item.theta || 0) - Math.PI/2;\n x += r * Math.cos(t);\n y += r * Math.sin(t);\n }\n\n emit('text-anchor', textAlign[item.align] || 'start');\n\n if (a) {\n t = translate(x, y) + ' rotate('+a+')';\n if (dx || dy) t += ' ' + translate(dx, dy);\n } else {\n t = translate(x + dx, y + dy);\n }\n emit('transform', t);\n}\n\nfunction bound(bounds, item, noRotate) {\n var h = textMetrics.height(item),\n a = item.align,\n r = item.radius || 0,\n x = item.x || 0,\n y = item.y || 0,\n dx = item.dx || 0,\n dy = (item.dy || 0) + offset(item) - Math.round(0.8*h), // use 4/5 offset\n w, t;\n\n if (r) {\n t = (item.theta || 0) - Math.PI/2;\n x += r * Math.cos(t);\n y += r * Math.sin(t);\n }\n\n // horizontal alignment\n w = textMetrics.width(item);\n if (a === 'center') {\n dx -= (w / 2);\n } else if (a === 'right') {\n dx -= w;\n } else {\n // left by default, do nothing\n }\n\n bounds.set(dx+=x, dy+=y, dx+w, dy+h);\n if (item.angle && !noRotate) {\n bounds.rotate(item.angle*Math.PI/180, x, y);\n }\n return bounds.expand(noRotate || !w ? 0 : 1);\n}\n\nfunction draw(context, scene, bounds) {\n visit(scene, function(item) {\n var opacity, x, y, r, t, str;\n if (bounds && !bounds.intersects(item.bounds)) return; // bounds check\n if (!(str = textValue(item))) return; // get text string\n\n opacity = item.opacity == null ? 1 : item.opacity;\n if (opacity === 0) return;\n\n context.font = font(item);\n context.textAlign = item.align || 'left';\n\n x = item.x || 0;\n y = item.y || 0;\n if ((r = item.radius)) {\n t = (item.theta || 0) - Math.PI/2;\n x += r * Math.cos(t);\n y += r * Math.sin(t);\n }\n\n if (item.angle) {\n context.save();\n context.translate(x, y);\n context.rotate(item.angle * Math.PI/180);\n x = y = 0; // reset x, y\n }\n x += (item.dx || 0);\n y += (item.dy || 0) + offset(item);\n\n if (item.fill && fill(context, item, opacity)) {\n context.fillText(str, x, y);\n }\n if (item.stroke && stroke(context, item, opacity)) {\n context.strokeText(str, x, y);\n }\n if (item.angle) context.restore();\n });\n}\n\nfunction hit(context, item, x, y, gx, gy) {\n if (item.fontSize <= 0) return false;\n if (!item.angle) return true; // bounds sufficient if no rotation\n\n // project point into space of unrotated bounds\n var b = bound(tempBounds, item, true),\n a = -item.angle * Math.PI / 180,\n cos = Math.cos(a),\n sin = Math.sin(a),\n ix = item.x,\n iy = item.y,\n px = cos*gx - sin*gy + (ix - ix*cos + iy*sin),\n py = sin*gx + cos*gy + (iy - ix*sin - iy*cos);\n\n return b.contains(px, py);\n}\n\nexport default {\n type: 'text',\n tag: 'text',\n nested: false,\n attr: attr,\n bound: bound,\n draw: draw,\n pick: pick(hit)\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/marks/text.js\n// module id = 626\n// module chunks = 0","import {trail} from '../path/shapes';\nimport {pickTrail} from '../util/pickPath';\nimport markMultiItemPath from './markMultiItemPath';\n\nexport default markMultiItemPath('trail', trail, pickTrail);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/marks/trail.js\n// module id = 627\n// module chunks = 0","import marks from '../marks/index';\nimport point from './point';\n\nexport default function(item, event, el, origin) {\n var mark = item && item.mark,\n mdef, p;\n\n if (mark && (mdef = marks[mark.marktype]).tip) {\n p = point(event, el);\n p[0] -= origin[0];\n p[1] -= origin[1];\n while (item = item.mark.group) {\n p[0] -= item.x || 0;\n p[1] -= item.y || 0;\n }\n item = mdef.tip(mark.items, p);\n }\n\n return item;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/util/resolveItem.js\n// module id = 628\n// module chunks = 0","import {isFunction} from 'vega-util';\n\nexport default function(context, scene) {\n var clip = scene.clip;\n\n context.save();\n context.beginPath();\n\n if (isFunction(clip)) {\n clip(context);\n } else {\n var group = scene.group;\n context.rect(0, 0, group.width || 0, group.height || 0);\n }\n\n context.clip();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/util/canvas/clip.js\n// module id = 629\n// module chunks = 0","function devicePixelRatio() {\n return typeof window !== 'undefined' ? window.devicePixelRatio || 1 : 1;\n}\n\nvar pixelRatio = devicePixelRatio();\n\nexport default function(canvas, width, height, origin, scaleFactor) {\n var inDOM = typeof HTMLElement !== 'undefined'\n && canvas instanceof HTMLElement\n && canvas.parentNode != null;\n\n var context = canvas.getContext('2d'),\n ratio = inDOM ? pixelRatio : scaleFactor;\n\n canvas.width = width * ratio;\n canvas.height = height * ratio;\n\n if (inDOM && ratio !== 1) {\n canvas.style.width = width + 'px';\n canvas.style.height = height + 'px';\n }\n\n context.pixelRatio = ratio;\n context.setTransform(\n ratio, 0, 0, ratio,\n ratio * origin[0],\n ratio * origin[1]\n );\n\n return canvas;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/util/canvas/resize.js\n// module id = 630\n// module chunks = 0","import CanvasHandler from './CanvasHandler';\nimport CanvasRenderer from './CanvasRenderer';\nimport SVGHandler from './SVGHandler';\nimport SVGRenderer from './SVGRenderer';\nimport SVGStringRenderer from './SVGStringRenderer';\n\nvar Canvas = 'canvas';\nvar PNG = 'png';\nvar SVG = 'svg';\nvar None = 'none';\n\nexport var RenderType = {\n Canvas: Canvas,\n PNG: PNG,\n SVG: SVG,\n None: None\n};\n\nvar modules = {};\n\nmodules[Canvas] = modules[PNG] = {\n renderer: CanvasRenderer,\n headless: CanvasRenderer,\n handler: CanvasHandler\n};\n\nmodules[SVG] = {\n renderer: SVGRenderer,\n headless: SVGStringRenderer,\n handler: SVGHandler\n};\n\nmodules[None] = {};\n\nexport function renderModule(name, _) {\n name = String(name || '').toLowerCase();\n if (arguments.length > 1) {\n modules[name] = _;\n return this;\n } else {\n return modules[name];\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/modules.js\n// module id = 631\n// module chunks = 0","import Bounds from '../Bounds';\nimport boundContext from './boundContext';\nimport {isFunction} from 'vega-util';\n\nvar clipBounds = new Bounds();\n\nexport default function(mark) {\n var clip = mark.clip;\n\n if (isFunction(clip)) {\n clip(boundContext(clipBounds.clear()));\n } else if (clip) {\n clipBounds.set(0, 0, mark.group.width, mark.group.height);\n } else return;\n\n mark.bounds.intersect(clipBounds);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/bound/boundClip.js\n// module id = 632\n// module chunks = 0","import pathParse from '../path/parse';\nimport {isNumber, isObject} from 'vega-util';\n\nvar TOLERANCE = 1e-9;\n\nexport function sceneEqual(a, b, key) {\n return (a === b) ? true\n : (key === 'path') ? pathEqual(a, b)\n : (a instanceof Date && b instanceof Date) ? +a === +b\n : (isNumber(a) && isNumber(b)) ? Math.abs(a - b) <= TOLERANCE\n : (!a || !b || !isObject(a) && !isObject(b)) ? a == b\n : (a == null || b == null) ? false\n : objectEqual(a, b);\n}\n\nexport function pathEqual(a, b) {\n return sceneEqual(pathParse(a), pathParse(b));\n}\n\nfunction objectEqual(a, b) {\n var ka = Object.keys(a),\n kb = Object.keys(b),\n key, i;\n\n if (ka.length !== kb.length) return false;\n\n ka.sort();\n kb.sort();\n\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i]) return false;\n }\n\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!sceneEqual(a[key], b[key], key)) return false;\n }\n\n return typeof a === typeof b;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scenegraph/src/util/equal.js\n// module id = 633\n// module chunks = 0","import {Transform} from 'vega-dataflow';\nimport {inherits} from 'vega-util';\n\nvar COUNTER_NAME = ':vega_identifier:';\n\n/**\n * Adds a unique identifier to all added tuples.\n * This transform creates a new signal that serves as an id counter.\n * As a result, the id counter is shared across all instances of this\n * transform, generating unique ids across multiple data streams. In\n * addition, this signal value can be included in a snapshot of the\n * dataflow state, enabling correct resumption of id allocation.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {string} params.as - The field name for the generated identifier.\n */\nexport default function Identifier(params) {\n Transform.call(this, 0, params);\n}\n\nIdentifier.Definition = {\n \"type\": \"Identifier\",\n \"metadata\": {\"modifies\": true},\n \"params\": [\n { \"name\": \"as\", \"type\": \"string\", \"required\": true }\n ]\n};\n\nvar prototype = inherits(Identifier, Transform);\n\nprototype.transform = function(_, pulse) {\n var counter = getCounter(pulse.dataflow),\n id = counter.value,\n as = _.as;\n\n pulse.visit(pulse.ADD, function(t) {\n if (!t[as]) t[as] = ++id;\n });\n\n counter.set(this.value = id);\n return pulse;\n};\n\nfunction getCounter(view) {\n var counter = view._signals[COUNTER_NAME];\n if (!counter) {\n view._signals[COUNTER_NAME] = (counter = view.add(0));\n }\n return counter;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-view-transforms/src/Identifier.js\n// module id = 634\n// module chunks = 0","import {Group} from './constants';\nimport {Transform} from 'vega-dataflow';\nimport {Item, GroupItem} from 'vega-scenegraph';\nimport {inherits} from 'vega-util';\n\n/**\n * Bind scenegraph items to a scenegraph mark instance.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {object} params.markdef - The mark definition for creating the mark.\n * This is an object of legal scenegraph mark properties which *must* include\n * the 'marktype' property.\n */\nexport default function Mark(params) {\n Transform.call(this, null, params);\n}\n\nvar prototype = inherits(Mark, Transform);\n\nprototype.transform = function(_, pulse) {\n var mark = this.value;\n\n // acquire mark on first invocation, bind context and group\n if (!mark) {\n mark = pulse.dataflow.scenegraph().mark(_.markdef, lookup(_), _.index);\n mark.group.context = _.context;\n if (!_.context.group) _.context.group = mark.group;\n mark.source = this;\n mark.clip = _.clip;\n mark.interactive = _.interactive;\n this.value = mark;\n }\n\n // initialize entering items\n var Init = mark.marktype === Group ? GroupItem : Item;\n pulse.visit(pulse.ADD, function(item) { Init.call(item, mark); });\n\n // update clipping and/or interactive status\n if (_.modified('clip') || _.modified('interactive')) {\n mark.clip = _.clip;\n mark.interactive = !!_.interactive;\n mark.zdirty = true; // force scenegraph re-eval\n pulse.reflow();\n }\n\n // bind items array to scenegraph mark\n mark.items = pulse.source;\n return pulse;\n};\n\nfunction lookup(_) {\n var g = _.groups, p = _.parent;\n return g && g.size === 1 ? g.get(Object.keys(g.object)[0])\n : g && p ? g.lookup(p)\n : null;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-view-transforms/src/Mark.js\n// module id = 635\n// module chunks = 0","import {Top, Bottom} from './constants';\nimport {Transform} from 'vega-dataflow';\nimport {Bounds} from 'vega-scenegraph';\nimport {inherits, peek} from 'vega-util';\n\n/**\n * Analyze items for overlap, changing opacity to hide items with\n * overlapping bounding boxes. This transform will preserve at least\n * two items (e.g., first and last) even if overlap persists.\n * @param {object} params - The parameters for this operator.\n * @param {function(*,*): number} [params.sort] - A comparator\n * function for sorting items.\n * @param {object} [params.method] - The overlap removal method to apply.\n * One of 'parity' (default, hide every other item until there is no\n * more overlap) or 'greedy' (sequentially scan and hide and items that\n * overlap with the last visible item).\n * @param {object} [params.boundScale] - A scale whose range should be used\n * to bound the items. Items exceeding the bounds of the scale range\n * will be treated as overlapping. If null or undefined, no bounds check\n * will be applied.\n * @param {object} [params.boundOrient] - The orientation of the scale\n * (top, bottom, left, or right) used to bound items. This parameter is\n * ignored if boundScale is null or undefined.\n * @param {object} [params.boundTolerance] - The tolerance in pixels for\n * bound inclusion testing (default 1). This specifies by how many pixels\n * an item's bounds may exceed the scale range bounds and not be culled.\n * @constructor\n */\nexport default function Overlap(params) {\n Transform.call(this, null, params);\n}\n\nvar prototype = inherits(Overlap, Transform);\n\nvar methods = {\n parity: function(items) {\n return items.filter(function(item, i) {\n return i % 2 ? (item.opacity = 0) : 1;\n });\n },\n greedy: function(items) {\n var a;\n return items.filter(function(b, i) {\n if (!i || !intersect(a.bounds, b.bounds)) {\n a = b;\n return 1;\n } else {\n return b.opacity = 0;\n }\n });\n }\n};\n\n// compute bounding box intersection\n// allow 1 pixel of overlap tolerance\nfunction intersect(a, b) {\n return !(\n a.x2 - 1 < b.x1 ||\n a.x1 + 1 > b.x2 ||\n a.y2 - 1 < b.y1 ||\n a.y1 + 1 > b.y2\n );\n}\n\nfunction hasOverlap(items) {\n for (var i=1, n=items.length, a=items[0].bounds, b; i<n; a=b, ++i) {\n if (intersect(a, b = items[i].bounds)) return true;\n }\n}\n\nfunction hasBounds(item) {\n var b = item.bounds;\n return b.width() > 1 && b.height() > 1;\n}\n\nfunction boundTest(scale, orient, tolerance) {\n var range = scale.range(),\n b = new Bounds();\n\n if (orient === Top || orient === Bottom) {\n b.set(range[0], -Infinity, range[1], +Infinity);\n } else {\n b.set(-Infinity, range[0], +Infinity, range[1]);\n }\n b.expand(tolerance || 1);\n\n return function(item) {\n return b.encloses(item.bounds);\n };\n}\n\n// reset all items to be fully opaque\nfunction reset(source) {\n source.forEach(function(item) { item.opacity = 1; });\n return source;\n}\n\n// add all tuples to mod, fork pulse if parameters were modified\n// fork prevents cross-stream tuple pollution (e.g., pulse from scale)\nfunction reflow(pulse, _) {\n return pulse.reflow(_.modified()).modifies('opacity');\n}\n\nprototype.transform = function(_, pulse) {\n var reduce = methods[_.method] || methods.parity,\n source = pulse.materialize(pulse.SOURCE).source,\n items, test;\n\n if (!source) return;\n\n if (!_.method) {\n // early exit if method is falsy\n if (_.modified('method')) {\n reset(source);\n pulse = reflow(pulse, _);\n }\n return pulse;\n }\n\n if (_.sort) {\n source = source.slice().sort(_.sort);\n }\n\n if (_.method === 'greedy') {\n source = source.filter(hasBounds);\n }\n\n items = reset(source);\n pulse = reflow(pulse, _);\n\n if (items.length >= 3 && hasOverlap(items)) {\n do {\n items = reduce(items);\n } while (items.length >= 3 && hasOverlap(items));\n\n if (items.length < 3 && !peek(source).opacity) {\n if (items.length > 1) peek(items).opacity = 0;\n peek(source).opacity = 1;\n }\n }\n\n if (_.boundScale && _.boundTolerance >= 0) {\n test = boundTest(_.boundScale, _.boundOrient, +_.boundTolerance);\n source.forEach(function(item) {\n if (!test(item)) item.opacity = 0;\n })\n }\n\n return pulse;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-view-transforms/src/Overlap.js\n// module id = 636\n// module chunks = 0","import {Transform} from 'vega-dataflow';\nimport {inherits} from 'vega-util';\n\n/**\n * Queue modified scenegraph items for rendering.\n * @constructor\n */\nexport default function Render(params) {\n Transform.call(this, null, params);\n}\n\nvar prototype = inherits(Render, Transform);\n\nprototype.transform = function(_, pulse) {\n var view = pulse.dataflow;\n\n pulse.visit(pulse.ALL, function(item) { view.dirty(item); });\n\n // set z-index dirty flag as needed\n if (pulse.fields && pulse.fields['zindex']) {\n var item = pulse.source && pulse.source[0];\n if (item) item.mark.zdirty = true;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-view-transforms/src/Render.js\n// module id = 637\n// module chunks = 0","import {\n Group, AxisRole, LegendRole, TitleRole, FrameRole, ScopeRole,\n RowHeader, RowFooter, RowTitle, ColHeader, ColFooter, ColTitle,\n Top, Bottom, Left, Right, Start, End,\n TopLeft, TopRight, BottomLeft, BottomRight,\n Fit, FitX, FitY, Pad, None, Padding, Symbols\n} from './constants';\nimport {gridLayout} from './gridLayout';\nimport {Transform} from 'vega-dataflow';\nimport {Bounds, boundStroke} from 'vega-scenegraph';\nimport {inherits} from 'vega-util';\n\nvar AxisOffset = 0.5,\n tempBounds = new Bounds();\n\n/**\n * Layout view elements such as axes and legends.\n * Also performs size adjustments.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {object} params.mark - Scenegraph mark of groups to layout.\n */\nexport default function ViewLayout(params) {\n Transform.call(this, null, params);\n}\n\nvar prototype = inherits(ViewLayout, Transform);\n\nprototype.transform = function(_, pulse) {\n // TODO incremental update, output?\n var view = pulse.dataflow;\n _.mark.items.forEach(function(group) {\n if (_.layout) gridLayout(view, group, _.layout);\n layoutGroup(view, group, _);\n });\n if (_.modified()) pulse.reflow();\n return pulse;\n};\n\nfunction layoutGroup(view, group, _) {\n var items = group.items,\n width = Math.max(0, group.width || 0),\n height = Math.max(0, group.height || 0),\n viewBounds = new Bounds().set(0, 0, width, height),\n xBounds = viewBounds.clone(),\n yBounds = viewBounds.clone(),\n legends = [], title,\n mark, flow, b, i, n;\n\n // layout axes, gather legends, collect bounds\n for (i=0, n=items.length; i<n; ++i) {\n mark = items[i];\n switch (mark.role) {\n case AxisRole:\n b = isYAxis(mark) ? xBounds : yBounds;\n b.union(axisLayout(view, mark, width, height));\n break;\n case TitleRole:\n title = mark; break;\n case LegendRole:\n legends.push(mark); break;\n case FrameRole:\n case ScopeRole:\n case RowHeader:\n case RowFooter:\n case RowTitle:\n case ColHeader:\n case ColFooter:\n case ColTitle:\n xBounds.union(mark.bounds);\n yBounds.union(mark.bounds);\n break;\n default:\n viewBounds.union(mark.bounds);\n }\n }\n\n // layout legends, adjust viewBounds\n if (legends.length) {\n flow = {\n leftWidth: legendPreprocess(view, legends),\n margin: _.legendMargin || 8,\n left: 0, right: 0, top: 0, bottom: 0\n };\n\n for (i=0, n=legends.length; i<n; ++i) {\n b = legendLayout(view, legends[i], flow, xBounds, yBounds, width, height);\n if (_.autosize && _.autosize.type === Fit) {\n // For autosize fit, incorporate the orthogonal dimension only.\n // Legends that overrun the chart area will then be clipped;\n // otherwise the chart area gets reduced to nothing!\n var orient = legends[i].items[0].datum.orient;\n if (orient === Left || orient === Right) {\n viewBounds.add(b.x1, 0).add(b.x2, 0);\n } else if (orient === Top || orient === Bottom) {\n viewBounds.add(0, b.y1).add(0, b.y2);\n }\n } else {\n viewBounds.union(b);\n }\n }\n }\n\n // combine bounding boxes\n viewBounds.union(xBounds).union(yBounds);\n\n // layout title, adjust bounds\n if (title) {\n viewBounds.union(titleLayout(view, title, width, height, viewBounds));\n }\n\n // perform size adjustment\n viewSizeLayout(view, group, viewBounds, _);\n}\n\nfunction set(item, property, value) {\n if (item[property] === value) {\n return 0;\n } else {\n item[property] = value;\n return 1;\n }\n}\n\nfunction isYAxis(mark) {\n var orient = mark.items[0].datum.orient;\n return orient === Left || orient === Right;\n}\n\nfunction axisIndices(datum) {\n var index = +datum.grid;\n return [\n datum.ticks ? index++ : -1, // ticks index\n datum.labels ? index++ : -1, // labels index\n index + (+datum.domain) // title index\n ];\n}\n\nfunction axisLayout(view, axis, width, height) {\n var item = axis.items[0],\n datum = item.datum,\n orient = datum.orient,\n indices = axisIndices(datum),\n range = item.range,\n offset = item.offset,\n position = item.position,\n minExtent = item.minExtent,\n maxExtent = item.maxExtent,\n title = datum.title && item.items[indices[2]].items[0],\n titlePadding = item.titlePadding,\n bounds = item.bounds,\n x = 0, y = 0, i, s;\n\n tempBounds.clear().union(bounds);\n bounds.clear();\n if ((i=indices[0]) > -1) bounds.union(item.items[i].bounds);\n if ((i=indices[1]) > -1) bounds.union(item.items[i].bounds);\n\n // position axis group and title\n switch (orient) {\n case Top:\n x = position || 0;\n y = -offset;\n s = Math.max(minExtent, Math.min(maxExtent, -bounds.y1));\n if (title) s = axisTitleLayout(title, s, titlePadding, 0, -1, bounds);\n bounds.add(0, -s).add(range, 0);\n break;\n case Left:\n x = -offset;\n y = position || 0;\n s = Math.max(minExtent, Math.min(maxExtent, -bounds.x1));\n if (title) s = axisTitleLayout(title, s, titlePadding, 1, -1, bounds);\n bounds.add(-s, 0).add(0, range);\n break;\n case Right:\n x = width + offset;\n y = position || 0;\n s = Math.max(minExtent, Math.min(maxExtent, bounds.x2));\n if (title) s = axisTitleLayout(title, s, titlePadding, 1, 1, bounds);\n bounds.add(0, 0).add(s, range);\n break;\n case Bottom:\n x = position || 0;\n y = height + offset;\n s = Math.max(minExtent, Math.min(maxExtent, bounds.y2));\n if (title) s = axisTitleLayout(title, s, titlePadding, 0, 1, bounds);\n bounds.add(0, 0).add(range, s);\n break;\n default:\n x = item.x;\n y = item.y;\n }\n\n // update bounds\n boundStroke(bounds.translate(x, y), item);\n\n if (set(item, 'x', x + AxisOffset) | set(item, 'y', y + AxisOffset)) {\n item.bounds = tempBounds;\n view.dirty(item);\n item.bounds = bounds;\n view.dirty(item);\n }\n\n return item.mark.bounds.clear().union(bounds);\n}\n\nfunction axisTitleLayout(title, offset, pad, isYAxis, sign, bounds) {\n var b = title.bounds, dx = 0, dy = 0;\n\n if (title.auto) {\n offset += pad;\n\n isYAxis\n ? dx = (title.x || 0) - (title.x = sign * offset)\n : dy = (title.y || 0) - (title.y = sign * offset);\n\n b.translate(-dx, -dy);\n title.mark.bounds.set(b.x1, b.y1, b.x2, b.y2);\n\n if (isYAxis) {\n bounds.add(0, b.y1).add(0, b.y2);\n offset += b.width();\n } else {\n bounds.add(b.x1, 0).add(b.x2, 0);\n offset += b.height();\n }\n } else {\n bounds.union(b);\n }\n\n return offset;\n}\n\nfunction titleLayout(view, title, width, height, viewBounds) {\n var item = title.items[0],\n orient = item.orient,\n frame = item.frame,\n anchor = item.anchor,\n offset = item.offset,\n bounds = item.bounds,\n vertical = (orient === Left || orient === Right),\n start = 0,\n end = vertical ? height : width,\n x = 0, y = 0, pos;\n\n if (frame !== Group) {\n orient === Left ? (start = viewBounds.y2, end = viewBounds.y1)\n : orient === Right ? (start = viewBounds.y1, end = viewBounds.y2)\n : (start = viewBounds.x1, end = viewBounds.x2);\n } else if (orient === Left) {\n start = height, end = 0;\n }\n\n pos = (anchor === Start) ? start\n : (anchor === End) ? end\n : (start + end) / 2;\n\n tempBounds.clear().union(bounds);\n\n // position title text\n switch (orient) {\n case Top:\n x = pos;\n y = viewBounds.y1 - offset;\n break;\n case Left:\n x = viewBounds.x1 - offset;\n y = pos;\n break;\n case Right:\n x = viewBounds.x2 + offset;\n y = pos;\n break;\n case Bottom:\n x = pos;\n y = viewBounds.y2 + offset;\n break;\n default:\n x = item.x;\n y = item.y;\n }\n\n bounds.translate(x - item.x, y - item.y);\n if (set(item, 'x', x) | set(item, 'y', y)) {\n item.bounds = tempBounds;\n view.dirty(item);\n item.bounds = bounds;\n view.dirty(item);\n }\n\n // update bounds\n return title.bounds.clear().union(bounds);\n}\n\nfunction legendPreprocess(view, legends) {\n return legends.reduce(function(w, legend) {\n var item = legend.items[0];\n\n // adjust entry to accommodate padding and title\n legendGroupLayout(view, item, item.items[0].items[0]);\n\n if (item.datum.orient === Left) {\n var b = tempBounds.clear();\n item.items.forEach(function(_) { b.union(_.bounds); });\n w = Math.max(w, Math.ceil(b.width() + 2 * item.padding - 1));\n }\n\n return w;\n }, 0);\n}\n\nfunction legendGroupLayout(view, item, entry) {\n var x = item.padding - entry.x,\n y = item.padding - entry.y;\n\n if (item.datum.title) {\n var title = item.items[1].items[0];\n y += item.titlePadding + title.fontSize;\n }\n\n if (x || y) {\n entry.x += x;\n entry.y += y;\n entry.bounds.translate(x, y);\n entry.mark.bounds.translate(x, y);\n view.dirty(entry);\n }\n}\n\nfunction legendLayout(view, legend, flow, xBounds, yBounds, width, height) {\n var item = legend.items[0],\n datum = item.datum,\n orient = datum.orient,\n offset = item.offset,\n bounds = item.bounds,\n x = 0,\n y = 0,\n w, h, axisBounds;\n\n if (orient === Top || orient === Bottom) {\n axisBounds = yBounds,\n x = flow[orient];\n } else if (orient === Left || orient === Right) {\n axisBounds = xBounds;\n y = flow[orient];\n }\n\n tempBounds.clear().union(bounds);\n bounds.clear();\n\n // aggregate bounds to determine size\n // shave off 1 pixel because it looks better...\n item.items.forEach(function(_) { bounds.union(_.bounds); });\n w = Math.ceil(bounds.width() + 2 * item.padding - 1);\n h = Math.ceil(bounds.height() + 2 * item.padding - 1);\n\n if (datum.type === Symbols) {\n legendEntryLayout(item.items[0].items[0].items[0].items);\n }\n\n switch (orient) {\n case Left:\n x -= flow.leftWidth + offset - Math.floor(axisBounds.x1);\n flow.left += h + flow.margin;\n break;\n case Right:\n x += offset + Math.ceil(axisBounds.x2);\n flow.right += h + flow.margin;\n break;\n case Top:\n y -= h + offset - Math.floor(axisBounds.y1);\n flow.top += w + flow.margin;\n break;\n case Bottom:\n y += offset + Math.ceil(axisBounds.y2);\n flow.bottom += w + flow.margin;\n break;\n case TopLeft:\n x += offset;\n y += offset;\n break;\n case TopRight:\n x += width - w - offset;\n y += offset;\n break;\n case BottomLeft:\n x += offset;\n y += height - h - offset;\n break;\n case BottomRight:\n x += width - w - offset;\n y += height - h - offset;\n break;\n default:\n x = item.x;\n y = item.y;\n }\n\n // update bounds\n boundStroke(bounds.set(x, y, x + w, y + h), item);\n\n // update legend layout\n if (set(item, 'x', x) | set(item, 'width', w) |\n set(item, 'y', y) | set(item, 'height', h)) {\n item.bounds = tempBounds;\n view.dirty(item);\n item.bounds = bounds;\n view.dirty(item);\n }\n\n return item.mark.bounds.clear().union(bounds);\n}\n\nfunction legendEntryLayout(entries) {\n // get max widths for each column\n var widths = entries.reduce(function(w, g) {\n w[g.column] = Math.max(g.bounds.x2 - g.x, w[g.column] || 0);\n return w;\n }, {});\n\n // set dimensions of legend entry groups\n entries.forEach(function(g) {\n g.width = widths[g.column];\n g.height = g.bounds.y2 - g.y;\n });\n}\n\nfunction viewSizeLayout(view, group, viewBounds, _) {\n var auto = _.autosize || {},\n type = auto.type,\n viewWidth = view._width,\n viewHeight = view._height,\n padding = view.padding();\n\n if (view._autosize < 1 || !type) return;\n\n var width = Math.max(0, group.width || 0),\n left = Math.max(0, Math.ceil(-viewBounds.x1)),\n right = Math.max(0, Math.ceil(viewBounds.x2 - width)),\n height = Math.max(0, group.height || 0),\n top = Math.max(0, Math.ceil(-viewBounds.y1)),\n bottom = Math.max(0, Math.ceil(viewBounds.y2 - height));\n\n if (auto.contains === Padding) {\n viewWidth -= padding.left + padding.right;\n viewHeight -= padding.top + padding.bottom;\n }\n\n if (type === None) {\n left = 0;\n top = 0;\n width = viewWidth;\n height = viewHeight;\n }\n\n else if (type === Fit) {\n width = Math.max(0, viewWidth - left - right);\n height = Math.max(0, viewHeight - top - bottom);\n }\n\n else if (type === FitX) {\n width = Math.max(0, viewWidth - left - right);\n viewHeight = height + top + bottom;\n }\n\n else if (type === FitY) {\n viewWidth = width + left + right;\n height = Math.max(0, viewHeight - top - bottom);\n }\n\n else if (type === Pad) {\n viewWidth = width + left + right;\n viewHeight = height + top + bottom;\n }\n\n view._resizeView(\n viewWidth, viewHeight,\n width, height,\n [left, top],\n auto.resize\n );\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-view-transforms/src/ViewLayout.js\n// module id = 638\n// module chunks = 0","import {\n All, Each, Flush, Column, Row,\n Group, AxisRole, LegendRole,\n RowHeader, RowFooter, RowTitle,\n ColHeader, ColFooter, ColTitle\n} from './constants';\nimport {isObject} from 'vega-util';\nimport {Bounds} from 'vega-scenegraph';\n\nfunction extractGroups(group) {\n var groups = group.items,\n n = groups.length,\n i = 0, mark, items;\n\n var views = {\n marks: [],\n rowheaders: [],\n rowfooters: [],\n colheaders: [],\n colfooters: [],\n rowtitle: null,\n coltitle: null\n };\n\n // layout axes, gather legends, collect bounds\n for (; i<n; ++i) {\n mark = groups[i];\n items = mark.items;\n if (mark.marktype === Group) {\n switch (mark.role) {\n case AxisRole:\n case LegendRole:\n break;\n case RowHeader: addAll(items, views.rowheaders); break;\n case RowFooter: addAll(items, views.rowfooters); break;\n case ColHeader: addAll(items, views.colheaders); break;\n case ColFooter: addAll(items, views.colfooters); break;\n case RowTitle: views.rowtitle = items[0]; break;\n case ColTitle: views.coltitle = items[0]; break;\n default: addAll(items, views.marks);\n }\n }\n }\n\n return views;\n}\n\nfunction addAll(items, array) {\n for (var i=0, n=items.length; i<n; ++i) {\n array.push(items[i]);\n }\n}\n\nfunction bboxFlush(item) {\n return {x1: 0, y1: 0, x2: item.width || 0, y2: item.height || 0};\n}\n\nfunction bboxFull(item) {\n var b = item.bounds.clone();\n return b.empty()\n ? b.set(0, 0, 0, 0)\n : b.translate(-(item.x||0), -(item.y||0));\n}\n\nfunction boundFlush(item, field) {\n return field === 'x1' ? (item.x || 0)\n : field === 'y1' ? (item.y || 0)\n : field === 'x2' ? (item.x || 0) + (item.width || 0)\n : field === 'y2' ? (item.y || 0) + (item.height || 0)\n : undefined;\n}\n\nfunction boundFull(item, field) {\n return item.bounds[field];\n}\n\nfunction get(opt, key, d) {\n var v = isObject(opt) ? opt[key] : opt;\n return v != null ? v : (d !== undefined ? d : 0);\n}\n\nfunction offsetValue(v) {\n return v < 0 ? Math.ceil(-v) : 0;\n}\n\nexport function gridLayout(view, group, opt) {\n var views = extractGroups(group, opt),\n groups = views.marks,\n flush = opt.bounds === Flush,\n bbox = flush ? bboxFlush : bboxFull,\n bounds = new Bounds(0, 0, 0, 0),\n alignCol = get(opt.align, Column),\n alignRow = get(opt.align, Row),\n padCol = get(opt.padding, Column),\n padRow = get(opt.padding, Row),\n off = opt.offset,\n ncols = group.columns || opt.columns || groups.length,\n nrows = ncols < 0 ? 1 : Math.ceil(groups.length / ncols),\n cells = nrows * ncols,\n xOffset = [], xExtent = [], xMax = 0, xInit = 0,\n yOffset = [], yExtent = [], yMax = 0, yInit = 0,\n n = groups.length,\n m, i, c, r, b, g, px, py, x, y, band, offset;\n\n for (i=0; i<ncols; ++i) {\n xExtent[i] = 0;\n }\n for (i=0; i<nrows; ++i) {\n yExtent[i] = 0;\n }\n\n // determine offsets for each group\n for (i=0; i<n; ++i) {\n b = bbox(groups[i]);\n c = i % ncols;\n r = ~~(i / ncols);\n px = Math.ceil(bbox(groups[i]).x2);\n py = Math.ceil(bbox(groups[i]).y2);\n xMax = Math.max(xMax, px);\n yMax = Math.max(yMax, py);\n xExtent[c] = Math.max(xExtent[c], px);\n yExtent[r] = Math.max(yExtent[r], py);\n xOffset.push(padCol + offsetValue(b.x1));\n yOffset.push(padRow + offsetValue(b.y1));\n view.dirty(groups[i]);\n }\n\n // set initial alignment offsets\n for (i=0; i<n; ++i) {\n if (i % ncols === 0) xOffset[i] = xInit;\n if (i < ncols) yOffset[i] = yInit;\n }\n\n // enforce column alignment constraints\n if (alignCol === Each) {\n for (c=1; c<ncols; ++c) {\n for (offset=0, i=c; i<n; i += ncols) {\n if (offset < xOffset[i]) offset = xOffset[i];\n }\n for (i=c; i<n; i += ncols) {\n xOffset[i] = offset + xExtent[c-1];\n }\n }\n } else if (alignCol === All) {\n for (offset=0, i=0; i<n; ++i) {\n if (i % ncols && offset < xOffset[i]) offset = xOffset[i];\n }\n for (i=0; i<n; ++i) {\n if (i % ncols) xOffset[i] = offset + xMax;\n }\n } else {\n for (alignCol=false, c=1; c<ncols; ++c) {\n for (i=c; i<n; i += ncols) {\n xOffset[i] += xExtent[c-1];\n }\n }\n }\n\n // enforce row alignment constraints\n if (alignRow === Each) {\n for (r=1; r<nrows; ++r) {\n for (offset=0, i=r*ncols, m=i+ncols; i<m; ++i) {\n if (offset < yOffset[i]) offset = yOffset[i];\n }\n for (i=r*ncols; i<m; ++i) {\n yOffset[i] = offset + yExtent[r-1];\n }\n }\n } else if (alignRow === All) {\n for (offset=0, i=ncols; i<n; ++i) {\n if (offset < yOffset[i]) offset = yOffset[i];\n }\n for (i=ncols; i<n; ++i) {\n yOffset[i] = offset + yMax;\n }\n } else {\n for (alignRow=false, r=1; r<nrows; ++r) {\n for (i=r*ncols, m=i+ncols; i<m; ++i) {\n yOffset[i] += yExtent[r-1];\n }\n }\n }\n\n // perform horizontal grid layout\n for (x=0, i=0; i<n; ++i) {\n g = groups[i];\n px = g.x || 0;\n g.x = (x = xOffset[i] + (i % ncols ? x : 0));\n g.bounds.translate(x - px, 0);\n }\n\n // perform vertical grid layout\n for (c=0; c<ncols; ++c) {\n for (y=0, i=c; i<n; i += ncols) {\n g = groups[i];\n py = g.y || 0;\n g.y = (y += yOffset[i]);\n g.bounds.translate(0, y - py);\n }\n }\n\n // perform horizontal centering\n if (get(opt.center, Column) && nrows > 1 && alignCol) {\n for (i=0; i<n; ++i) {\n g = groups[i];\n b = alignCol === All ? xMax : xExtent[i % ncols];\n x = b - bbox(g).x2;\n if (x > 0) {\n g.x += (px = x / 2);\n g.bounds.translate(px, 0);\n }\n }\n }\n\n // perform vertical centering\n if (get(opt.center, Row) && ncols !== 1 && alignRow) {\n for (i=0; i<n; ++i) {\n g = groups[i];\n b = alignRow === All ? yMax : yExtent[~~(i / ncols)];\n y = b - bbox(g).y2;\n if (y > 0) {\n g.y += (py = y / 2);\n g.bounds.translate(0, py);\n }\n }\n }\n\n // update mark bounds, mark dirty\n for (i=0; i<n; ++i) groups[i].mark.bounds.clear();\n for (i=0; i<n; ++i) {\n g = groups[i];\n view.dirty(g);\n bounds.union(g.mark.bounds.union(g.bounds));\n }\n\n // -- layout grid headers and footers --\n\n // aggregation functions for grid margin determination\n function min(a, b) { return Math.floor(Math.min(a, b)); }\n function max(a, b) { return Math.ceil(Math.max(a, b)); }\n\n // bounding box calculation methods\n bbox = flush ? boundFlush : boundFull;\n\n // perform row header layout\n band = get(opt.headerBand, Row, null);\n x = layoutHeaders(view, views.rowheaders, groups, ncols, nrows, -get(off, 'rowHeader'), min, 0, bbox, 'x1', 0, ncols, 1, band);\n\n // perform column header layout\n band = get(opt.headerBand, Column, null);\n y = layoutHeaders(view, views.colheaders, groups, ncols, ncols, -get(off, 'columnHeader'), min, 1, bbox, 'y1', 0, 1, ncols, band);\n\n // perform row footer layout\n band = get(opt.footerBand, Row, null);\n layoutHeaders( view, views.rowfooters, groups, ncols, nrows, get(off, 'rowFooter'), max, 0, bbox, 'x2', ncols-1, ncols, 1, band);\n\n // perform column footer layout\n band = get(opt.footerBand, Column, null);\n layoutHeaders( view, views.colfooters, groups, ncols, ncols, get(off, 'columnFooter'), max, 1, bbox, 'y2', cells-ncols, 1, ncols, band);\n\n // perform row title layout\n if (views.rowtitle) {\n offset = x - get(off, 'rowTitle');\n band = get(opt.titleBand, Row, 0.5);\n layoutTitle(view, views.rowtitle, offset, 0, bounds, band);\n }\n\n // perform column title layout\n if (views.coltitle) {\n offset = y - get(off, 'columnTitle');\n band = get(opt.titleBand, Column, 0.5);\n layoutTitle(view, views.coltitle, offset, 1, bounds, band);\n }\n}\n\nfunction layoutHeaders(view, headers, groups, ncols, limit, offset, agg, isX, bound, bf, start, stride, back, band) {\n var n = groups.length,\n init = 0,\n edge = 0,\n i, j, k, m, b, h, g, x, y;\n\n // if no groups, early exit and return 0\n if (!n) return init;\n\n // compute margin\n for (i=start; i<n; i+=stride) {\n if (groups[i]) init = agg(init, bound(groups[i], bf));\n }\n\n // if no headers, return margin calculation\n if (!headers.length) return init;\n\n // check if number of headers exceeds number of rows or columns\n if (headers.length > limit) {\n view.warn('Grid headers exceed limit: ' + limit);\n headers = headers.slice(0, limit);\n }\n\n // apply offset\n init += offset;\n\n // clear mark bounds for all headers\n for (j=0, m=headers.length; j<m; ++j) {\n view.dirty(headers[j]);\n headers[j].mark.bounds.clear();\n }\n\n // layout each header\n for (i=start, j=0, m=headers.length; j<m; ++j, i+=stride) {\n h = headers[j];\n b = h.mark.bounds;\n\n // search for nearest group to align to\n // necessary if table has empty cells\n for (k=i; k >= 0 && (g = groups[k]) == null; k-=back);\n\n // assign coordinates and update bounds\n if (isX) {\n x = band == null ? g.x : Math.round(g.bounds.x1 + band * g.bounds.width());\n y = init;\n } else {\n x = init;\n y = band == null ? g.y : Math.round(g.bounds.y1 + band * g.bounds.height());\n }\n b.union(h.bounds.translate(x - (h.x || 0), y - (h.y || 0)));\n h.x = x;\n h.y = y;\n view.dirty(h);\n\n // update current edge of layout bounds\n edge = agg(edge, b[bf]);\n }\n\n return edge;\n}\n\nfunction layoutTitle(view, g, offset, isX, bounds, band) {\n if (!g) return;\n view.dirty(g);\n\n // compute title coordinates\n var x = offset, y = offset;\n isX\n ? (x = Math.round(bounds.x1 + band * bounds.width()))\n : (y = Math.round(bounds.y1 + band * bounds.height()));\n\n // assign coordinates and update bounds\n g.bounds.translate(x - (g.x || 0), y - (g.y || 0));\n g.mark.bounds.clear().union(g.bounds);\n g.x = x;\n g.y = y;\n\n // queue title for redraw\n view.dirty(g);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-view-transforms/src/gridLayout.js\n// module id = 639\n// module chunks = 0","import {tickCount, tickFormat, tickValues, validTicks} from './ticks';\nimport {Transform, ingest} from 'vega-dataflow';\nimport {inherits} from 'vega-util';\n\n/**\n * Generates axis ticks for visualizing a spatial scale.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {Scale} params.scale - The scale to generate ticks for.\n * @param {*} [params.count=10] - The approximate number of ticks, or\n * desired tick interval, to use.\n * @param {Array<*>} [params.values] - The exact tick values to use.\n * These must be legal domain values for the provided scale.\n * If provided, the count argument is ignored.\n * @param {function(*):string} [params.formatSpecifier] - A format specifier\n * to use in conjunction with scale.tickFormat. Legal values are\n * any valid d3 4.0 format specifier.\n * @param {function(*):string} [params.format] - The format function to use.\n * If provided, the formatSpecifier argument is ignored.\n */\nexport default function AxisTicks(params) {\n Transform.call(this, null, params);\n}\n\nvar prototype = inherits(AxisTicks, Transform);\n\nprototype.transform = function(_, pulse) {\n if (this.value && !_.modified()) {\n return pulse.StopPropagation;\n }\n\n var out = pulse.fork(pulse.NO_SOURCE | pulse.NO_FIELDS),\n ticks = this.value,\n scale = _.scale,\n count = _.count == null ? (_.values ? _.values.length : 10) : tickCount(scale, _.count),\n format = _.format || tickFormat(scale, count, _.formatSpecifier),\n values = _.values ? validTicks(scale, _.values, count) : tickValues(scale, count);\n\n if (ticks) out.rem = ticks;\n\n ticks = values.map(function(value, i) {\n return ingest({\n index: i / (values.length - 1),\n value: value,\n label: format(value)\n });\n });\n\n if (_.extra && ticks.length) {\n // add an extra tick pegged to the initial domain value\n // this is used to generate axes with 'binned' domains\n ticks.push(ingest({\n index: -1,\n extra: {value: ticks[0].value},\n label: ''\n }));\n }\n\n out.source = ticks;\n out.add = ticks;\n this.value = ticks;\n\n return out;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-encode/src/AxisTicks.js\n// module id = 641\n// module chunks = 0","import invertRange from './invertRange';\nimport invertRangeExtent from './invertRangeExtent';\nimport {\n band as scaleBand,\n point as scalePoint\n} from './scaleBand';\nimport {\n binLinear as scaleBinLinear,\n binOrdinal as scaleBinOrdinal\n} from './scaleBin';\nimport scaleSequential from './scaleSequential';\n\nimport * as $ from 'd3-scale';\n\n/**\n * Augment scales with their type and needed inverse methods.\n */\nfunction create(type, constructor) {\n return function scale() {\n var s = constructor();\n\n if (!s.invertRange) {\n s.invertRange = s.invert ? invertRange(s)\n : s.invertExtent ? invertRangeExtent(s)\n : undefined;\n }\n\n s.type = type;\n return s;\n };\n}\n\nexport default function scale(type, scale) {\n if (arguments.length > 1) {\n scales[type] = create(type, scale);\n return this;\n } else {\n return scales.hasOwnProperty(type) ? scales[type] : undefined;\n }\n}\n\nvar scales = {\n // base scale types\n identity: $.scaleIdentity,\n linear: $.scaleLinear,\n log: $.scaleLog,\n ordinal: $.scaleOrdinal,\n pow: $.scalePow,\n sqrt: $.scaleSqrt,\n quantile: $.scaleQuantile,\n quantize: $.scaleQuantize,\n threshold: $.scaleThreshold,\n time: $.scaleTime,\n utc: $.scaleUtc,\n\n // extended scale types\n band: scaleBand,\n point: scalePoint,\n sequential: scaleSequential,\n 'bin-linear': scaleBinLinear,\n 'bin-ordinal': scaleBinOrdinal\n};\n\nfor (var key in scales) {\n scale(key, scales[key]);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scale/src/scales.js\n// module id = 642\n// module chunks = 0","export default function(scale) {\n return function(_) {\n var lo = _[0],\n hi = _[1],\n t;\n\n if (hi < lo) {\n t = lo;\n lo = hi;\n hi = t;\n }\n\n return [\n scale.invert(lo),\n scale.invert(hi)\n ];\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scale/src/invertRange.js\n// module id = 643\n// module chunks = 0","export default function(scale) {\n return function(_) {\n var range = scale.range(),\n lo = _[0],\n hi = _[1],\n min = -1, max, t, i, n;\n\n if (hi < lo) {\n t = lo;\n lo = hi;\n hi = t;\n }\n\n for (i=0, n=range.length; i<n; ++i) {\n if (range[i] >= lo && range[i] <= hi) {\n if (min < 0) min = i;\n max = i;\n }\n }\n\n if (min < 0) return undefined;\n\n lo = scale.invertExtent(range[min]);\n hi = scale.invertExtent(range[max]);\n\n return [\n lo[0] === undefined ? lo[1] : lo[0],\n hi[1] === undefined ? hi[0] : hi[1]\n ];\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scale/src/invertRangeExtent.js\n// module id = 644\n// module chunks = 0","import bandSpace from './bandSpace';\nimport {range as sequence, bisectRight} from 'd3-array';\nimport {scaleOrdinal as ordinal} from 'd3-scale';\n\nexport 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 space = bandSpace(n, paddingInner, paddingOuter);\n\n step = (stop - start) / (space || 1);\n if (round) {\n step = Math.floor(step);\n }\n start += (stop - start - step * (n - paddingInner)) * align;\n bandwidth = step * (1 - paddingInner);\n if (round) {\n start = Math.round(start);\n bandwidth = Math.round(bandwidth);\n }\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 if (arguments.length) {\n domain(_);\n return rescale();\n } else {\n return domain();\n }\n };\n\n scale.range = function(_) {\n if (arguments.length) {\n range = [+_[0], +_[1]];\n return rescale();\n } else {\n return range.slice();\n }\n };\n\n scale.rangeRound = function(_) {\n range = [+_[0], +_[1]];\n round = true;\n return 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 if (arguments.length) {\n round = !!_;\n return rescale();\n } else {\n return round;\n }\n };\n\n scale.padding = function(_) {\n if (arguments.length) {\n paddingOuter = Math.max(0, Math.min(1, _));\n paddingInner = paddingOuter;\n return rescale();\n } else {\n return paddingInner;\n }\n };\n\n scale.paddingInner = function(_) {\n if (arguments.length) {\n paddingInner = Math.max(0, Math.min(1, _));\n return rescale();\n } else {\n return paddingInner;\n }\n };\n\n scale.paddingOuter = function(_) {\n if (arguments.length) {\n paddingOuter = Math.max(0, Math.min(1, _));\n return rescale();\n } else {\n return paddingOuter;\n }\n };\n\n scale.align = function(_) {\n if (arguments.length) {\n align = Math.max(0, Math.min(1, _));\n return rescale();\n } else {\n return align;\n }\n };\n\n scale.invertRange = function(_) {\n // bail if range has null or undefined values\n if (_[0] == null || _[1] == null) return;\n\n var lo = +_[0],\n hi = +_[1],\n reverse = range[1] < range[0],\n values = reverse ? ordinalRange().reverse() : ordinalRange(),\n n = values.length - 1, a, b, t;\n\n // bail if either range endpoint is invalid\n if (lo !== lo || hi !== hi) return;\n\n // order range inputs, bail if outside of scale range\n if (hi < lo) {\n t = lo;\n lo = hi;\n hi = t;\n }\n if (hi < values[0] || lo > range[1-reverse]) return;\n\n // binary search to index into scale range\n a = Math.max(0, bisectRight(values, lo) - 1);\n b = lo===hi ? a : bisectRight(values, hi) - 1;\n\n // increment index a if lo is within padding gap\n if (lo - values[a] > bandwidth + 1e-10) ++a;\n\n if (reverse) {\n // map + swap\n t = a;\n a = n - b;\n b = n - t;\n }\n return (a > b) ? undefined : domain().slice(a, b+1);\n };\n\n scale.invert = function(_) {\n var value = scale.invertRange([_, _]);\n return value ? value[0] : value;\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\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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scale/src/scaleBand.js\n// module id = 645\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-collection/src/nest.js\n// module id = 647\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-collection/src/set.js\n// module id = 648\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale/src/identity.js\n// module id = 652\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-color/src/lab.js\n// module id = 653\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-color/src/cubehelix.js\n// module id = 654\n// module chunks = 0","export default function(a, b) {\n return a = +a, b -= a, function(t) {\n return Math.round(a + b * t);\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-interpolate/src/round.js\n// module id = 655\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-interpolate/src/transform/index.js\n// module id = 656\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-interpolate/src/transform/parse.js\n// module id = 657\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-interpolate/src/transform/decompose.js\n// module id = 658\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-interpolate/src/zoom.js\n// module id = 659\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-interpolate/src/hsl.js\n// module id = 660\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-interpolate/src/lab.js\n// module id = 661\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-interpolate/src/hcl.js\n// module id = 662\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-interpolate/src/cubehelix.js\n// module id = 663\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-interpolate/src/piecewise.js\n// module id = 664\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-interpolate/src/quantize.js\n// module id = 665\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale/src/tickFormat.js\n// module id = 666\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-format/src/defaultLocale.js\n// module id = 667\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-format/src/formatGroup.js\n// module id = 668\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-format/src/formatNumerals.js\n// module id = 669\n// module chunks = 0","// 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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-format/src/formatTrim.js\n// module id = 670\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-format/src/formatTypes.js\n// module id = 671\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-format/src/formatRounded.js\n// module id = 672\n// module chunks = 0","export default function(x) {\n return x;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-format/src/identity.js\n// module id = 673\n// module chunks = 0","import exponent from \"./exponent\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-format/src/precisionFixed.js\n// module id = 674\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-format/src/precisionPrefix.js\n// module id = 675\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-format/src/precisionRound.js\n// module id = 676\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale/src/log.js\n// module id = 677\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale/src/pow.js\n// module id = 678\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale/src/quantile.js\n// module id = 679\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale/src/quantize.js\n// module id = 680\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale/src/threshold.js\n// module id = 681\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale/src/utcTime.js\n// module id = 682\n// module chunks = 0","import {bisect} from 'd3-array';\nimport {scaleLinear} from 'd3-scale';\nimport {peek} from 'vega-util';\n\nvar map = Array.prototype.map,\n slice = Array.prototype.slice;\n\nfunction numbers(_) {\n return map.call(_, function(x) { return +x; });\n}\n\nexport function binLinear() {\n var linear = scaleLinear(),\n domain = [];\n\n function scale(x) {\n return linear(x);\n }\n\n function setDomain(_) {\n domain = numbers(_);\n linear.domain([domain[0], peek(domain)]);\n }\n\n scale.domain = function(_) {\n return arguments.length ? (setDomain(_), scale) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (linear.range(_), scale) : linear.range();\n };\n\n scale.rangeRound = function(_) {\n return arguments.length ? (linear.rangeRound(_), scale) : linear.rangeRound();\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (linear.interpolate(_), scale) : linear.interpolate();\n };\n\n scale.invert = function(_) {\n return linear.invert(_);\n };\n\n scale.ticks = function(count) {\n var n = domain.length,\n stride = ~~(n / (count || n));\n\n return stride < 2\n ? scale.domain()\n : domain.filter(function(x, i) { return !(i % stride); });\n };\n\n scale.tickFormat = function() {\n return linear.tickFormat.apply(linear, arguments);\n };\n\n scale.copy = function() {\n return binLinear().domain(scale.domain()).range(scale.range());\n };\n\n return scale;\n}\n\nexport function binOrdinal() {\n var domain = [],\n range = [];\n\n function scale(x) {\n return x == null || x !== x\n ? undefined\n : range[(bisect(domain, x) - 1) % range.length];\n }\n\n scale.domain = function(_) {\n if (arguments.length) {\n domain = numbers(_);\n return scale;\n } else {\n return domain.slice();\n }\n };\n\n scale.range = function(_) {\n if (arguments.length) {\n range = slice.call(_);\n return scale;\n } else {\n return range.slice();\n }\n };\n\n scale.copy = function() {\n return binOrdinal().domain(scale.domain()).range(scale.range());\n };\n\n return scale;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scale/src/scaleBin.js\n// module id = 685\n// module chunks = 0","import {peek} from 'vega-util';\nimport {scaleLinear} from 'd3-scale';\n\nexport default function sequential(interpolator) {\n var linear = scaleLinear(),\n x0 = 0,\n dx = 1,\n clamp = false;\n\n function update() {\n var domain = linear.domain();\n x0 = domain[0];\n dx = peek(domain) - x0;\n }\n\n function scale(x) {\n var t = (x - x0) / dx;\n return interpolator(clamp ? Math.max(0, Math.min(1, t)) : t);\n }\n\n scale.clamp = function(_) {\n if (arguments.length) {\n clamp = !!_;\n return scale;\n } else {\n return clamp;\n }\n };\n\n scale.domain = function(_) {\n return arguments.length ? (linear.domain(_), update(), scale) : linear.domain();\n };\n\n scale.interpolator = function(_) {\n if (arguments.length) {\n interpolator = _;\n return scale;\n } else {\n return interpolator;\n }\n };\n\n scale.copy = function() {\n return sequential().domain(linear.domain()).clamp(clamp).interpolator(interpolator);\n };\n\n scale.ticks = function(count) {\n return linear.ticks(count);\n };\n\n scale.tickFormat = function(count, specifier) {\n return linear.tickFormat(count, specifier);\n };\n\n scale.nice = function(count) {\n return linear.nice(count), update(), scale;\n };\n\n return scale;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scale/src/scaleSequential.js\n// module id = 686\n// module chunks = 0","import {constant, peek} from 'vega-util';\nimport * as $ from 'd3-interpolate';\n\nexport function interpolateRange(interpolator, range) {\n var start = range[0],\n span = peek(range) - start;\n return function(i) { return interpolator(start + i * span); };\n}\n\nexport function scaleFraction(scale, min, max) {\n var delta = max - min;\n return !delta ? constant(0)\n : scale.type === 'linear' || scale.type === 'sequential'\n ? function(_) { return (_ - min) / delta; }\n : scale.copy().domain([min, max]).range([0, 1]).interpolate(lerp);\n}\n\nfunction lerp(a, b) {\n var span = b - a;\n return function(i) { return a + i * span; }\n}\n\nexport function interpolate(type, gamma) {\n var interp = $[method(type)];\n return (gamma != null && interp && interp.gamma)\n ? interp.gamma(gamma)\n : interp;\n}\n\nfunction method(type) {\n return 'interpolate' + type.toLowerCase()\n .split('-')\n .map(function(s) { return s[0].toUpperCase() + s.slice(1); })\n .join('');\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scale/src/interpolate.js\n// module id = 687\n// module chunks = 0","import {\n category20, category20b, category20c,\n tableau10, tableau20,\n blueOrange\n} from './palettes';\nimport * as _ from 'd3-scale-chromatic';\nimport {interpolateRgbBasis} from 'd3-interpolate';\nimport {peek} from 'vega-util';\n\nvar discretized = {\n blueorange: blueOrange\n};\n\nvar schemes = {\n // d3 categorical palettes\n category10: _.schemeCategory10,\n accent: _.schemeAccent,\n dark2: _.schemeDark2,\n paired: _.schemePaired,\n pastel1: _.schemePastel1,\n pastel2: _.schemePastel2,\n set1: _.schemeSet1,\n set2: _.schemeSet2,\n set3: _.schemeSet3,\n\n // additional categorical palettes\n category20: category20,\n category20b: category20b,\n category20c: category20c,\n tableau10: tableau10,\n tableau20: tableau20,\n\n // sequential multi-hue interpolators\n viridis: _.interpolateViridis,\n magma: _.interpolateMagma,\n inferno: _.interpolateInferno,\n plasma: _.interpolatePlasma,\n\n // cyclic interpolators\n rainbow: _.interpolateRainbow,\n sinebow: _.interpolateSinebow,\n\n // extended interpolators\n blueorange: interpolateRgbBasis(peek(blueOrange))\n};\n\nfunction add(name, suffix) {\n schemes[name] = _['interpolate' + suffix];\n discretized[name] = _['scheme' + suffix];\n}\n\n// sequential single-hue\nadd('blues', 'Blues');\nadd('greens', 'Greens');\nadd('greys', 'Greys');\nadd('purples', 'Purples');\nadd('reds', 'Reds');\nadd('oranges', 'Oranges');\n\n// diverging\nadd('brownbluegreen', 'BrBG');\nadd('purplegreen', 'PRGn');\nadd('pinkyellowgreen', 'PiYG');\nadd('purpleorange', 'PuOr');\nadd('redblue', 'RdBu');\nadd('redgrey', 'RdGy');\nadd('redyellowblue', 'RdYlBu');\nadd('redyellowgreen', 'RdYlGn');\nadd('spectral', 'Spectral');\n\n// sequential multi-hue\nadd('bluegreen', 'BuGn');\nadd('bluepurple', 'BuPu');\nadd('greenblue', 'GnBu');\nadd('orangered', 'OrRd');\nadd('purplebluegreen', 'PuBuGn');\nadd('purpleblue', 'PuBu');\nadd('purplered', 'PuRd');\nadd('redpurple', 'RdPu');\nadd('yellowgreenblue', 'YlGnBu');\nadd('yellowgreen', 'YlGn');\nadd('yelloworangebrown', 'YlOrBr');\nadd('yelloworangered', 'YlOrRd');\n\nexport function scheme(name, scheme) {\n if (arguments.length > 1) {\n schemes[name] = scheme;\n return this;\n }\n\n var part = name.split('-');\n name = part[0];\n part = +part[1] + 1;\n\n return part && discretized.hasOwnProperty(name) ? discretized[name][part-1]\n : !part && schemes.hasOwnProperty(name) ? schemes[name]\n : undefined;\n}\n\nexport function schemeDiscretized(name, schemeArray, interpolator) {\n if (arguments.length > 1) {\n discretized[name] = schemeArray;\n schemes[name] = interpolator || interpolateRgbBasis(peek(schemeArray));\n return this;\n }\n\n return discretized.hasOwnProperty(name)\n ? discretized[name]\n : undefined;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scale/src/schemes.js\n// module id = 688\n// module chunks = 0","function colors(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\nexport var category20 = colors(\n '1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5'\n);\n\nexport var category20b = colors(\n '393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6'\n);\n\nexport var category20c = colors(\n '3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9'\n);\n\nexport var tableau10 = colors(\n '4c78a8f58518e4575672b7b254a24beeca3bb279a2ff9da69d755dbab0ac'\n);\n\nexport var tableau20 = colors(\n '4c78a89ecae9f58518ffbf7954a24b88d27ab79a20f2cf5b43989483bcb6e45756ff9d9879706ebab0acd67195fcbfd2b279a2d6a5c99e765fd8b5a5'\n);\n\nexport var blueOrange = new Array(3).concat(\n \"67a9cff7f7f7f1a340\",\n \"0571b092c5defdb863e66101\",\n \"0571b092c5def7f7f7fdb863e66101\",\n \"2166ac67a9cfd1e5f0fee0b6f1a340b35806\",\n \"2166ac67a9cfd1e5f0f7f7f7fee0b6f1a340b35806\",\n \"2166ac4393c392c5ded1e5f0fee0b6fdb863e08214b35806\",\n \"2166ac4393c392c5ded1e5f0f7f7f7fee0b6fdb863e08214b35806\",\n \"0530612166ac4393c392c5ded1e5f0fee0b6fdb863e08214b358067f3b08\",\n \"0530612166ac4393c392c5ded1e5f0f7f7f7fee0b6fdb863e08214b358067f3b08\"\n).map(colors);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scale/src/palettes.js\n// module id = 689\n// module chunks = 0","import colors from \"../colors\";\n\nexport default colors(\"1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf\");\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/categorical/category10.js\n// module id = 691\n// module chunks = 0","import colors from \"../colors\";\n\nexport default colors(\"7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666\");\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/categorical/Accent.js\n// module id = 692\n// module chunks = 0","import colors from \"../colors\";\n\nexport default colors(\"1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666\");\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/categorical/Dark2.js\n// module id = 693\n// module chunks = 0","import colors from \"../colors\";\n\nexport default colors(\"a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928\");\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/categorical/Paired.js\n// module id = 694\n// module chunks = 0","import colors from \"../colors\";\n\nexport default colors(\"fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2\");\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/categorical/Pastel1.js\n// module id = 695\n// module chunks = 0","import colors from \"../colors\";\n\nexport default colors(\"b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc\");\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/categorical/Pastel2.js\n// module id = 696\n// module chunks = 0","import colors from \"../colors\";\n\nexport default colors(\"e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999\");\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/categorical/Set1.js\n// module id = 697\n// module chunks = 0","import colors from \"../colors\";\n\nexport default colors(\"66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3\");\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/categorical/Set2.js\n// module id = 698\n// module chunks = 0","import colors from \"../colors\";\n\nexport default colors(\"8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f\");\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/categorical/Set3.js\n// module id = 699\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/diverging/BrBG.js\n// module id = 700\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/diverging/PRGn.js\n// module id = 701\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/diverging/PiYG.js\n// module id = 702\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/diverging/PuOr.js\n// module id = 703\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/diverging/RdBu.js\n// module id = 704\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/diverging/RdGy.js\n// module id = 705\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/diverging/RdYlBu.js\n// module id = 706\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/diverging/RdYlGn.js\n// module id = 707\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/diverging/Spectral.js\n// module id = 708\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/sequential-multi/BuGn.js\n// module id = 709\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/sequential-multi/BuPu.js\n// module id = 710\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/sequential-multi/GnBu.js\n// module id = 711\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/sequential-multi/OrRd.js\n// module id = 712\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/sequential-multi/PuBuGn.js\n// module id = 713\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/sequential-multi/PuBu.js\n// module id = 714\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/sequential-multi/PuRd.js\n// module id = 715\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/sequential-multi/RdPu.js\n// module id = 716\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/sequential-multi/YlGnBu.js\n// module id = 717\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/sequential-multi/YlGn.js\n// module id = 718\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/sequential-multi/YlOrBr.js\n// module id = 719\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/sequential-multi/YlOrRd.js\n// module id = 720\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/sequential-single/Blues.js\n// module id = 721\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/sequential-single/Greens.js\n// module id = 722\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/sequential-single/Greys.js\n// module id = 723\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/sequential-single/Purples.js\n// module id = 724\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/sequential-single/Reds.js\n// module id = 725\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/sequential-single/Oranges.js\n// module id = 726\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/sequential-multi/cubehelix.js\n// module id = 727\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/sequential-multi/rainbow.js\n// module id = 728\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/sequential-multi/sinebow.js\n// module id = 729\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-scale-chromatic/src/sequential-multi/viridis.js\n// module id = 730\n// module chunks = 0","import {\n timeMillisecond, utcMillisecond,\n timeSecond, utcSecond,\n timeMinute, utcMinute,\n timeHour, utcHour,\n timeDay, utcDay,\n timeWeek, utcWeek,\n timeMonth, utcMonth,\n timeYear, utcYear\n} from 'd3-time';\n\nvar time = {\n millisecond: timeMillisecond,\n second: timeSecond,\n minute: timeMinute,\n hour: timeHour,\n day: timeDay,\n week: timeWeek,\n month: timeMonth,\n year: timeYear\n};\n\nvar utc = {\n millisecond: utcMillisecond,\n second: utcSecond,\n minute: utcMinute,\n hour: utcHour,\n day: utcDay,\n week: utcWeek,\n month: utcMonth,\n year: utcYear\n}\n\nexport function timeInterval(name) {\n return time.hasOwnProperty(name) && time[name];\n}\n\nexport function utcInterval(name) {\n return utc.hasOwnProperty(name) && utc[name];\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-scale/src/timeInterval.js\n// module id = 731\n// module chunks = 0","import {Transform, ingest, tupleid} from 'vega-dataflow';\nimport {error, fastmap, inherits, isArray} from 'vega-util';\n\n/**\n * Joins a set of data elements against a set of visual items.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(object): object} [params.item] - An item generator function.\n * @param {function(object): *} [params.key] - The key field associating data and visual items.\n */\nexport default function DataJoin(params) {\n Transform.call(this, null, params);\n}\n\nvar prototype = inherits(DataJoin, Transform);\n\nfunction defaultItemCreate() {\n return ingest({});\n}\n\nfunction isExit(t) {\n return t.exit;\n}\n\nprototype.transform = function(_, pulse) {\n var df = pulse.dataflow,\n out = pulse.fork(pulse.NO_SOURCE | pulse.NO_FIELDS),\n item = _.item || defaultItemCreate,\n key = _.key || tupleid,\n map = this.value;\n\n // prevent transient (e.g., hover) requests from\n // cascading across marks derived from marks\n if (isArray(out.encode)) {\n out.encode = null;\n }\n\n if (map && (_.modified('key') || pulse.modified(key))) {\n error('DataJoin does not support modified key function or fields.');\n }\n\n if (!map) {\n pulse = pulse.addAll();\n this.value = map = fastmap().test(isExit);\n map.lookup = function(t) { return map.get(key(t)); };\n }\n\n pulse.visit(pulse.ADD, function(t) {\n var k = key(t),\n x = map.get(k);\n\n if (x) {\n if (x.exit) {\n map.empty--;\n out.add.push(x);\n } else {\n out.mod.push(x);\n }\n } else {\n map.set(k, (x = item(t)));\n out.add.push(x);\n }\n\n x.datum = t;\n x.exit = false;\n });\n\n pulse.visit(pulse.MOD, function(t) {\n var k = key(t),\n x = map.get(k);\n\n if (x) {\n x.datum = t;\n out.mod.push(x);\n }\n });\n\n pulse.visit(pulse.REM, function(t) {\n var k = key(t),\n x = map.get(k);\n\n if (t === x.datum && !x.exit) {\n out.rem.push(x);\n x.exit = true;\n ++map.empty;\n }\n });\n\n if (pulse.changed(pulse.ADD_MOD)) out.modifies('datum');\n\n if (_.clean && map.empty > df.cleanThreshold) df.runAfter(map.clean);\n\n return out;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-encode/src/DataJoin.js\n// module id = 732\n// module chunks = 0","import {Transform} from 'vega-dataflow';\nimport {falsy, inherits, isArray} from 'vega-util';\n\n/**\n * Invokes encoding functions for visual items.\n * @constructor\n * @param {object} params - The parameters to the encoding functions. This\n * parameter object will be passed through to all invoked encoding functions.\n * @param {object} param.encoders - The encoding functions\n * @param {function(object, object): boolean} [param.encoders.update] - Update encoding set\n * @param {function(object, object): boolean} [param.encoders.enter] - Enter encoding set\n * @param {function(object, object): boolean} [param.encoders.exit] - Exit encoding set\n */\nexport default function Encode(params) {\n Transform.call(this, null, params);\n}\n\nvar prototype = inherits(Encode, Transform);\n\nprototype.transform = function(_, pulse) {\n var out = pulse.fork(pulse.ADD_REM),\n encoders = _.encoders,\n encode = pulse.encode;\n\n // if an array, the encode directive includes additional sets\n // that must be defined in order for the primary set to be invoked\n // e.g., only run the update set if the hover set is defined\n if (isArray(encode)) {\n if (out.changed() || encode.every(function(e) { return encoders[e]; })) {\n encode = encode[0];\n out.encode = null; // consume targeted encode directive\n } else {\n return pulse.StopPropagation;\n }\n }\n\n // marshall encoder functions\n var reenter = encode === 'enter',\n update = encoders.update || falsy,\n enter = encoders.enter || falsy,\n exit = encoders.exit || falsy,\n set = (encode && !reenter ? encoders[encode] : update) || falsy;\n\n if (pulse.changed(pulse.ADD)) {\n pulse.visit(pulse.ADD, function(t) {\n enter(t, _);\n update(t, _);\n if (set !== falsy && set !== update) set(t, _);\n });\n out.modifies(enter.output);\n out.modifies(update.output);\n if (set !== falsy && set !== update) out.modifies(set.output);\n }\n\n if (pulse.changed(pulse.REM) && exit !== falsy) {\n pulse.visit(pulse.REM, function(t) { exit(t, _); });\n out.modifies(exit.output);\n }\n\n if (reenter || set !== falsy) {\n var flag = pulse.MOD | (_.modified() ? pulse.REFLOW : 0);\n if (reenter) {\n pulse.visit(flag, function(t) {\n var mod = enter(t, _);\n if (set(t, _) || mod) out.mod.push(t);\n });\n if (out.mod.length) out.modifies(enter.output);\n } else {\n pulse.visit(flag, function(t) {\n if (set(t, _)) out.mod.push(t);\n });\n }\n if (out.mod.length) out.modifies(set.output);\n }\n\n return out.changed() ? out : pulse.StopPropagation;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-encode/src/Encode.js\n// module id = 733\n// module chunks = 0","import {labelFormat, labelFraction, labelValues} from './labels';\nimport {Symbols, Gradient} from './legend-types';\nimport {tickCount, tickFormat} from './ticks';\nimport {Transform, ingest} from 'vega-dataflow';\nimport {scaleFraction} from 'vega-scale';\nimport {constant, inherits, isFunction, peek} from 'vega-util';\n\n/**\n * Generates legend entries for visualizing a scale.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {Scale} params.scale - The scale to generate items for.\n * @param {*} [params.count=5] - The approximate number of items, or\n * desired tick interval, to use.\n * @param {Array<*>} [params.values] - The exact tick values to use.\n * These must be legal domain values for the provided scale.\n * If provided, the count argument is ignored.\n * @param {string} [params.formatSpecifier] - A format specifier\n * to use in conjunction with scale.tickFormat. Legal values are\n * any valid D3 format specifier string.\n * @param {function(*):string} [params.format] - The format function to use.\n * If provided, the formatSpecifier argument is ignored.\n */\nexport default function LegendEntries(params) {\n Transform.call(this, [], params);\n}\n\nvar prototype = inherits(LegendEntries, Transform);\n\nprototype.transform = function(_, pulse) {\n if (this.value != null && !_.modified()) {\n return pulse.StopPropagation;\n }\n\n var out = pulse.fork(pulse.NO_SOURCE | pulse.NO_FIELDS),\n items = this.value,\n type = _.type || Symbols,\n scale = _.scale,\n count = _.count == null ? 5 : tickCount(scale, _.count),\n format = _.format || tickFormat(scale, count, _.formatSpecifier),\n values = _.values || labelValues(scale, count, type),\n domain, fraction, size, offset;\n\n format = labelFormat(scale, format, type);\n if (items) out.rem = items;\n\n if (type === Symbols) {\n if (isFunction(size = _.size)) {\n // if first value maps to size zero, remove from list (vega#717)\n if (!_.values && scale(values[0]) === 0) {\n values = values.slice(1);\n }\n // compute size offset for legend entries\n offset = values.reduce(function(max, value) {\n return Math.max(max, size(value, _));\n }, 0);\n } else {\n size = constant(offset = size || 8);\n }\n\n items = values.map(function(value, index) {\n return ingest({\n index: index,\n label: format(value, index, values),\n value: value,\n offset: offset,\n size: size(value, _)\n });\n });\n }\n\n else if (type === Gradient) {\n domain = scale.domain(),\n fraction = scaleFraction(scale, domain[0], peek(domain));\n\n // if automatic label generation produces 2 or fewer values,\n // use the domain end points instead (fixes vega/vega#1364)\n if (values.length < 3 && !_.values && domain[0] !== peek(domain)) {\n values = [domain[0], peek(domain)];\n }\n\n items = values.map(function(value, index) {\n return ingest({\n index: index,\n label: format(value, index, values),\n value: value,\n perc: fraction(value)\n });\n });\n }\n\n else {\n size = values.length - 1;\n fraction = labelFraction(scale);\n\n items = values.map(function(value, index) {\n return ingest({\n index: index,\n label: format(value, index, values),\n value: value,\n perc: index ? fraction(value) : 0,\n perc2: index === size ? 1 : fraction(values[index+1])\n });\n });\n }\n\n out.source = items;\n out.add = items;\n this.value = items;\n\n return out;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-encode/src/LegendEntries.js\n// module id = 734\n// module chunks = 0","import {Symbols, Discrete} from './legend-types';\nimport {Quantile, Quantize, Threshold, BinLinear, BinOrdinal} from './scale-types';\nimport {tickValues} from './ticks';\nimport {peek} from 'vega-util';\n\nvar symbols = {};\nsymbols[Quantile] = quantileSymbols;\nsymbols[Quantize] = quantizeSymbols;\nsymbols[Threshold] = thresholdSymbols;\nsymbols[BinLinear] = symbols[BinOrdinal] = binSymbols;\n\nexport function labelValues(scale, count) {\n var values = symbols[scale.type];\n return values ? values(scale) : tickValues(scale, count);\n}\n\nfunction quantizeSymbols(scale) {\n var domain = scale.domain(),\n x0 = domain[0],\n x1 = peek(domain),\n n = scale.range().length,\n values = new Array(n),\n i = 0;\n\n values[0] = -Infinity;\n while (++i < n) values[i] = (i * x1 - (i - n) * x0) / n;\n values.max = +Infinity;\n\n return values;\n}\n\nfunction quantileSymbols(scale) {\n var values = [-Infinity].concat(scale.quantiles());\n values.max = +Infinity;\n\n return values;\n}\n\nfunction thresholdSymbols(scale) {\n var values = [-Infinity].concat(scale.domain());\n values.max = +Infinity;\n\n return values;\n}\n\nfunction binSymbols(scale) {\n var values = scale.domain();\n values.max = values.pop();\n\n return values;\n}\n\nexport function labelFormat(scale, format, type) {\n return type === Symbols && symbols[scale.type] ? formatRange(format)\n : type === Discrete ? formatDiscrete(format)\n : formatPoint(format);\n}\n\nfunction formatRange(format) {\n return function(value, index, array) {\n var limit = array[index + 1] || array.max || +Infinity,\n lo = formatValue(value, format),\n hi = formatValue(limit, format);\n return lo && hi ? lo + '\\u2013' + hi : hi ? '< ' + hi : '\\u2265 ' + lo;\n };\n}\n\nfunction formatDiscrete(format) {\n return function(value, index) {\n return index ? format(value) : null;\n }\n}\n\nfunction formatPoint(format) {\n return function(value) {\n return format(value);\n };\n}\n\nfunction formatValue(value, format) {\n return isFinite(value) ? format(value) : null;\n}\n\nexport function labelFraction(scale) {\n var domain = scale.domain(),\n count = domain.length - 1,\n lo = +domain[0],\n hi = +peek(domain),\n span = hi - lo;\n\n if (scale.type === Threshold) {\n var adjust = count ? span / count : 0.1;\n lo -= adjust;\n hi += adjust;\n span = hi - lo;\n }\n\n return function(value) {\n return (value - lo) / span;\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-encode/src/labels.js\n// module id = 735\n// module chunks = 0","import {Transform} from 'vega-dataflow';\nimport {error, fastmap, inherits} from 'vega-util';\n\nvar Paths = fastmap({\n 'line': line,\n 'line-radial': lineR,\n 'arc': arc,\n 'arc-radial': arcR,\n 'curve': curve,\n 'curve-radial': curveR,\n 'orthogonal-horizontal': orthoX,\n 'orthogonal-vertical': orthoY,\n 'orthogonal-radial': orthoR,\n 'diagonal-horizontal': diagonalX,\n 'diagonal-vertical': diagonalY,\n 'diagonal-radial': diagonalR\n});\n\nfunction sourceX(t) { return t.source.x; }\nfunction sourceY(t) { return t.source.y; }\nfunction targetX(t) { return t.target.x; }\nfunction targetY(t) { return t.target.y; }\n\n /**\n * Layout paths linking source and target elements.\n * @constructor\n * @param {object} params - The parameters for this operator.\n */\nexport default function LinkPath(params) {\n Transform.call(this, {}, params);\n}\n\nLinkPath.Definition = {\n \"type\": \"LinkPath\",\n \"metadata\": {\"modifies\": true},\n \"params\": [\n { \"name\": \"sourceX\", \"type\": \"field\", \"default\": \"source.x\" },\n { \"name\": \"sourceY\", \"type\": \"field\", \"default\": \"source.y\" },\n { \"name\": \"targetX\", \"type\": \"field\", \"default\": \"target.x\" },\n { \"name\": \"targetY\", \"type\": \"field\", \"default\": \"target.y\" },\n { \"name\": \"orient\", \"type\": \"enum\", \"default\": \"vertical\",\n \"values\": [\"horizontal\", \"vertical\", \"radial\"] },\n { \"name\": \"shape\", \"type\": \"enum\", \"default\": \"line\",\n \"values\": [\"line\", \"arc\", \"curve\", \"diagonal\", \"orthogonal\"] },\n { \"name\": \"as\", \"type\": \"string\", \"default\": \"path\" }\n ]\n};\n\nvar prototype = inherits(LinkPath, Transform);\n\nprototype.transform = function(_, pulse) {\n var sx = _.sourceX || sourceX,\n sy = _.sourceY || sourceY,\n tx = _.targetX || targetX,\n ty = _.targetY || targetY,\n as = _.as || 'path',\n orient = _.orient || 'vertical',\n shape = _.shape || 'line',\n path = Paths.get(shape + '-' + orient) || Paths.get(shape);\n\n if (!path) {\n error('LinkPath unsupported type: ' + _.shape\n + (_.orient ? '-' + _.orient : ''));\n }\n\n pulse.visit(pulse.SOURCE, function(t) {\n t[as] = path(sx(t), sy(t), tx(t), ty(t));\n });\n\n return pulse.reflow(_.modified()).modifies(as);\n};\n\n// -- Link Path Generation Methods -----\n\nfunction line(sx, sy, tx, ty) {\n return 'M' + sx + ',' + sy +\n 'L' + tx + ',' + ty;\n}\n\nfunction lineR(sa, sr, ta, tr) {\n return line(\n sr * Math.cos(sa), sr * Math.sin(sa),\n tr * Math.cos(ta), tr * Math.sin(ta)\n );\n}\n\nfunction arc(sx, sy, tx, ty) {\n var dx = tx - sx,\n dy = ty - sy,\n rr = Math.sqrt(dx * dx + dy * dy) / 2,\n ra = 180 * Math.atan2(dy, dx) / Math.PI;\n return 'M' + sx + ',' + sy +\n 'A' + rr + ',' + rr +\n ' ' + ra + ' 0 1' +\n ' ' + tx + ',' + ty;\n}\n\nfunction arcR(sa, sr, ta, tr) {\n return arc(\n sr * Math.cos(sa), sr * Math.sin(sa),\n tr * Math.cos(ta), tr * Math.sin(ta)\n );\n}\n\nfunction curve(sx, sy, tx, ty) {\n var dx = tx - sx,\n dy = ty - sy,\n ix = 0.2 * (dx + dy),\n iy = 0.2 * (dy - dx);\n return 'M' + sx + ',' + sy +\n 'C' + (sx+ix) + ',' + (sy+iy) +\n ' ' + (tx+iy) + ',' + (ty-ix) +\n ' ' + tx + ',' + ty;\n}\n\nfunction curveR(sa, sr, ta, tr) {\n return curve(\n sr * Math.cos(sa), sr * Math.sin(sa),\n tr * Math.cos(ta), tr * Math.sin(ta)\n );\n}\n\nfunction orthoX(sx, sy, tx, ty) {\n return 'M' + sx + ',' + sy +\n 'V' + ty + 'H' + tx;\n}\n\nfunction orthoY(sx, sy, tx, ty) {\n return 'M' + sx + ',' + sy +\n 'H' + tx + 'V' + ty;\n}\n\nfunction orthoR(sa, sr, ta, tr) {\n var sc = Math.cos(sa),\n ss = Math.sin(sa),\n tc = Math.cos(ta),\n ts = Math.sin(ta),\n sf = Math.abs(ta - sa) > Math.PI ? ta <= sa : ta > sa;\n return 'M' + (sr*sc) + ',' + (sr*ss) +\n 'A' + sr + ',' + sr + ' 0 0,' + (sf?1:0) +\n ' ' + (sr*tc) + ',' + (sr*ts) +\n 'L' + (tr*tc) + ',' + (tr*ts);\n}\n\nfunction diagonalX(sx, sy, tx, ty) {\n var m = (sx + tx) / 2;\n return 'M' + sx + ',' + sy +\n 'C' + m + ',' + sy +\n ' ' + m + ',' + ty +\n ' ' + tx + ',' + ty;\n}\n\nfunction diagonalY(sx, sy, tx, ty) {\n var m = (sy + ty) / 2;\n return 'M' + sx + ',' + sy +\n 'C' + sx + ',' + m +\n ' ' + tx + ',' + m +\n ' ' + tx + ',' + ty;\n}\n\nfunction diagonalR(sa, sr, ta, tr) {\n var sc = Math.cos(sa),\n ss = Math.sin(sa),\n tc = Math.cos(ta),\n ts = Math.sin(ta),\n mr = (sr + tr) / 2;\n return 'M' + (sr*sc) + ',' + (sr*ss) +\n 'C' + (mr*sc) + ',' + (mr*ss) +\n ' ' + (mr*tc) + ',' + (mr*ts) +\n ' ' + (tr*tc) + ',' + (tr*ts);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-encode/src/LinkPath.js\n// module id = 736\n// module chunks = 0","import {Transform} from 'vega-dataflow';\nimport {inherits, one} from 'vega-util';\nimport {range, sum} from 'd3-array';\n\n/**\n * Pie and donut chart layout.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(object): *} params.field - The value field to size pie segments.\n * @param {number} [params.startAngle=0] - The start angle (in radians) of the layout.\n * @param {number} [params.endAngle=2Ï€] - The end angle (in radians) of the layout.\n * @param {boolean} [params.sort] - Boolean flag for sorting sectors by value.\n */\nexport default function Pie(params) {\n Transform.call(this, null, params);\n}\n\nPie.Definition = {\n \"type\": \"Pie\",\n \"metadata\": {\"modifies\": true},\n \"params\": [\n { \"name\": \"field\", \"type\": \"field\" },\n { \"name\": \"startAngle\", \"type\": \"number\", \"default\": 0 },\n { \"name\": \"endAngle\", \"type\": \"number\", \"default\": 6.283185307179586 },\n { \"name\": \"sort\", \"type\": \"boolean\", \"default\": false },\n { \"name\": \"as\", \"type\": \"string\", \"array\": true, \"length\": 2, \"default\": [\"startAngle\", \"endAngle\"] }\n ]\n};\n\nvar prototype = inherits(Pie, Transform);\n\nprototype.transform = function(_, pulse) {\n var as = _.as || ['startAngle', 'endAngle'],\n startAngle = as[0],\n endAngle = as[1],\n field = _.field || one,\n start = _.startAngle || 0,\n stop = _.endAngle != null ? _.endAngle : 2 * Math.PI,\n data = pulse.source,\n values = data.map(field),\n n = values.length,\n a = start,\n k = (stop - start) / sum(values),\n index = range(n),\n i, t, v;\n\n if (_.sort) {\n index.sort(function(a, b) {\n return values[a] - values[b];\n });\n }\n\n for (i=0; i<n; ++i) {\n v = values[index[i]];\n t = data[index[i]];\n t[startAngle] = a;\n t[endAngle] = (a += v * k);\n }\n\n this.value = values;\n return pulse.reflow(_.modified()).modifies(as);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-encode/src/Pie.js\n// module id = 737\n// module chunks = 0","import {tickCount} from './ticks';\nimport {Transform} from 'vega-dataflow';\nimport {\n error, inherits, isFunction, peek, stringValue,\n toSet, zoomLinear, zoomLog, zoomPow\n} from 'vega-util';\n\nimport {\n Ordinal, Band, Point,\n Linear, Log, Pow, Sqrt, Sequential,\n Quantile, Quantize, Threshold, BinOrdinal,\n Time, Utc\n} from './scale-types';\n\nimport {\n bandSpace,\n interpolateRange,\n interpolate as getInterpolate,\n scale as getScale,\n scheme as getScheme,\n scaleImplicit\n} from 'vega-scale';\n\nimport {\n interpolate,\n interpolateRgbBasis,\n interpolateRound\n} from 'd3-interpolate';\n\nvar DEFAULT_COUNT = 5;\n\nvar INCLUDE_ZERO = toSet([Linear, Pow, Sqrt]);\n\nvar INCLUDE_PAD = toSet([Linear, Log, Pow, Sqrt, Time, Utc]);\n\nvar SKIP = toSet([\n 'set', 'modified', 'clear', 'type', 'scheme', 'schemeExtent', 'schemeCount',\n 'domain', 'domainMin', 'domainMid', 'domainMax', 'domainRaw', 'domainImplicit', 'nice', 'zero',\n 'range', 'rangeStep', 'round', 'reverse', 'interpolate', 'interpolateGamma'\n]);\n\n/**\n * Maintains a scale function mapping data values to visual channels.\n * @constructor\n * @param {object} params - The parameters for this operator.\n */\nexport default function Scale(params) {\n Transform.call(this, null, params);\n this.modified(true); // always treat as modified\n}\n\nvar prototype = inherits(Scale, Transform);\n\nprototype.transform = function(_, pulse) {\n var df = pulse.dataflow,\n scale = this.value,\n prop;\n\n if (!scale || _.modified('type')) {\n this.value = scale = getScale((_.type || Linear).toLowerCase())();\n }\n\n for (prop in _) if (!SKIP[prop]) {\n // padding is a scale property for band/point but not others\n if (prop === 'padding' && INCLUDE_PAD[scale.type]) continue;\n // invoke scale property setter, raise warning if not found\n isFunction(scale[prop])\n ? scale[prop](_[prop])\n : df.warn('Unsupported scale property: ' + prop);\n }\n\n configureRange(scale, _, configureDomain(scale, _, df));\n\n return pulse.fork(pulse.NO_SOURCE | pulse.NO_FIELDS);\n};\n\nfunction configureDomain(scale, _, df) {\n // check raw domain, if provided use that and exit early\n var raw = rawDomain(scale, _.domainRaw, df);\n if (raw > -1) return raw;\n\n var domain = _.domain,\n type = scale.type,\n zero = _.zero || (_.zero === undefined && INCLUDE_ZERO[type]),\n n, mid;\n\n if (!domain) return 0;\n\n // adjust continuous domain for minimum pixel padding\n if (INCLUDE_PAD[type] && _.padding && domain[0] !== peek(domain)) {\n domain = padDomain(type, domain, _.range, _.padding, _.exponent);\n }\n\n // adjust domain based on zero, min, max settings\n if (zero || _.domainMin != null || _.domainMax != null || _.domainMid != null) {\n n = ((domain = domain.slice()).length - 1) || 1;\n if (zero) {\n if (domain[0] > 0) domain[0] = 0;\n if (domain[n] < 0) domain[n] = 0;\n }\n if (_.domainMin != null) domain[0] = _.domainMin;\n if (_.domainMax != null) domain[n] = _.domainMax;\n\n if (_.domainMid != null) {\n mid = _.domainMid;\n if (mid < domain[0] || mid > domain[n]) {\n df.warn('Scale domainMid exceeds domain min or max.', mid);\n }\n domain.splice(n, 0, mid);\n }\n }\n\n // set the scale domain\n scale.domain(domainCheck(type, domain, df));\n\n // if ordinal scale domain is defined, prevent implicit\n // domain construction as side-effect of scale lookup\n if (type === Ordinal) {\n scale.unknown(_.domainImplicit ? scaleImplicit : undefined);\n }\n\n // perform 'nice' adjustment as requested\n if (_.nice && scale.nice) {\n scale.nice((_.nice !== true && tickCount(scale, _.nice)) || null);\n }\n\n // return the cardinality of the domain\n return domain.length;\n}\n\nfunction rawDomain(scale, raw, df) {\n if (raw) {\n scale.domain(domainCheck(scale.type, raw, df));\n return raw.length;\n } else {\n return -1;\n }\n}\n\nfunction padDomain(type, domain, range, pad, exponent) {\n var span = Math.abs(peek(range) - range[0]),\n frac = span / (span - 2 * pad),\n d = type === Log ? zoomLog(domain, null, frac)\n : type === Sqrt ? zoomPow(domain, null, frac, 0.5)\n : type === Pow ? zoomPow(domain, null, frac, exponent)\n : zoomLinear(domain, null, frac);\n\n domain = domain.slice();\n domain[0] = d[0];\n domain[domain.length-1] = d[1];\n return domain;\n}\n\nfunction domainCheck(type, domain, df) {\n if (type === Log) {\n // sum signs of domain values\n // if all pos or all neg, abs(sum) === domain.length\n var s = Math.abs(domain.reduce(function(s, v) {\n return s + (v < 0 ? -1 : v > 0 ? 1 : 0);\n }, 0));\n\n if (s !== domain.length) {\n df.warn('Log scale domain includes zero: ' + stringValue(domain));\n }\n }\n return domain;\n}\n\nfunction configureRange(scale, _, count) {\n var round = _.round || false,\n range = _.range;\n\n // if range step specified, calculate full range extent\n if (_.rangeStep != null) {\n range = configureRangeStep(scale.type, _, count);\n }\n\n // else if a range scheme is defined, use that\n else if (_.scheme) {\n range = configureScheme(scale.type, _, count);\n if (isFunction(range)) return scale.interpolator(range);\n }\n\n // given a range array for a sequential scale, convert to interpolator\n else if (range && scale.type === Sequential) {\n return scale.interpolator(interpolateRgbBasis(flip(range, _.reverse)));\n }\n\n // configure rounding / interpolation\n if (range && _.interpolate && scale.interpolate) {\n scale.interpolate(getInterpolate(_.interpolate, _.interpolateGamma));\n } else if (isFunction(scale.round)) {\n scale.round(round);\n } else if (isFunction(scale.rangeRound)) {\n scale.interpolate(round ? interpolateRound : interpolate);\n }\n\n if (range) scale.range(flip(range, _.reverse));\n}\n\nfunction configureRangeStep(type, _, count) {\n if (type !== Band && type !== Point) {\n error('Only band and point scales support rangeStep.');\n }\n\n // calculate full range based on requested step size and padding\n var outer = (_.paddingOuter != null ? _.paddingOuter : _.padding) || 0,\n inner = type === Point ? 1\n : ((_.paddingInner != null ? _.paddingInner : _.padding) || 0);\n return [0, _.rangeStep * bandSpace(count, inner, outer)];\n}\n\nfunction configureScheme(type, _, count) {\n var name = _.scheme.toLowerCase(),\n scheme = getScheme(name),\n extent = _.schemeExtent,\n discrete;\n\n if (!scheme) {\n error('Unrecognized scheme name: ' + _.scheme);\n }\n\n // determine size for potential discrete range\n count = (type === Threshold) ? count + 1\n : (type === BinOrdinal) ? count - 1\n : (type === Quantile || type === Quantize) ? (+_.schemeCount || DEFAULT_COUNT)\n : count;\n\n // adjust and/or quantize scheme as appropriate\n return type === Sequential ? adjustScheme(scheme, extent, _.reverse)\n : !extent && (discrete = getScheme(name + '-' + count)) ? discrete\n : isFunction(scheme) ? quantize(adjustScheme(scheme, extent), count)\n : type === Ordinal ? scheme : scheme.slice(0, count);\n}\n\nfunction adjustScheme(scheme, extent, reverse) {\n return (isFunction(scheme) && (extent || reverse))\n ? interpolateRange(scheme, flip(extent || [0, 1], reverse))\n : scheme;\n}\n\nfunction flip(array, reverse) {\n return reverse ? array.slice().reverse() : array;\n}\n\nfunction quantize(interpolator, count) {\n var samples = new Array(count),\n n = count + 1;\n for (var i = 0; i < count;) samples[i] = interpolator(++i / n);\n return samples;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-encode/src/Scale.js\n// module id = 738\n// module chunks = 0","import {Transform} from 'vega-dataflow';\nimport {inherits} from 'vega-util';\n\n/**\n * Sorts scenegraph items in the pulse source array.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(*,*): number} [params.sort] - A comparator\n * function for sorting tuples.\n */\nexport default function SortItems(params) {\n Transform.call(this, null, params);\n}\n\nvar prototype = inherits(SortItems, Transform);\n\nprototype.transform = function(_, pulse) {\n var mod = _.modified('sort')\n || pulse.changed(pulse.ADD)\n || pulse.modified(_.sort.fields)\n || pulse.modified('datum');\n\n if (mod) pulse.source.sort(_.sort);\n\n this.modified(mod);\n return pulse;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-encode/src/SortItems.js\n// module id = 739\n// module chunks = 0","import {Transform} from 'vega-dataflow';\nimport {inherits, one} from 'vega-util';\n\nvar Center = 'center',\n Normalize = 'normalize';\n\n/**\n * Stack layout for visualization elements.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(object): *} params.field - The value field to stack.\n * @param {Array<function(object): *>} [params.groupby] - An array of accessors to groupby.\n * @param {function(object,object): number} [params.sort] - A comparator for stack sorting.\n * @param {string} [offset='zero'] - One of 'zero', 'center', 'normalize'.\n */\nexport default function Stack(params) {\n Transform.call(this, null, params);\n}\n\nStack.Definition = {\n \"type\": \"Stack\",\n \"metadata\": {\"modifies\": true},\n \"params\": [\n { \"name\": \"field\", \"type\": \"field\" },\n { \"name\": \"groupby\", \"type\": \"field\", \"array\": true },\n { \"name\": \"sort\", \"type\": \"compare\" },\n { \"name\": \"offset\", \"type\": \"enum\", \"default\": \"zero\", \"values\": [\"zero\", \"center\", \"normalize\"] },\n { \"name\": \"as\", \"type\": \"string\", \"array\": true, \"length\": 2, \"default\": [\"y0\", \"y1\"] }\n ]\n};\n\nvar prototype = inherits(Stack, Transform);\n\nprototype.transform = function(_, pulse) {\n var as = _.as || ['y0', 'y1'],\n y0 = as[0],\n y1 = as[1],\n field = _.field || one,\n stack = _.offset === Center ? stackCenter\n : _.offset === Normalize ? stackNormalize\n : stackZero,\n groups, i, n, max;\n\n // partition, sum, and sort the stack groups\n groups = partition(pulse.source, _.groupby, _.sort, field);\n\n // compute stack layouts per group\n for (i=0, n=groups.length, max=groups.max; i<n; ++i) {\n stack(groups[i], max, field, y0, y1);\n }\n\n return pulse.reflow(_.modified()).modifies(as);\n};\n\nfunction stackCenter(group, max, field, y0, y1) {\n var last = (max - group.sum) / 2,\n m = group.length,\n j = 0, t;\n\n for (; j<m; ++j) {\n t = group[j];\n t[y0] = last;\n t[y1] = (last += Math.abs(field(t)));\n }\n}\n\nfunction stackNormalize(group, max, field, y0, y1) {\n var scale = 1 / group.sum,\n last = 0,\n m = group.length,\n j = 0, v = 0, t;\n\n for (; j<m; ++j) {\n t = group[j];\n t[y0] = last;\n t[y1] = last = scale * (v += Math.abs(field(t)));\n }\n}\n\nfunction stackZero(group, max, field, y0, y1) {\n var lastPos = 0,\n lastNeg = 0,\n m = group.length,\n j = 0, v, t;\n\n for (; j<m; ++j) {\n t = group[j];\n v = field(t);\n if (v < 0) {\n t[y0] = lastNeg;\n t[y1] = (lastNeg += v);\n } else {\n t[y0] = lastPos;\n t[y1] = (lastPos += v);\n }\n }\n}\n\nfunction partition(data, groupby, sort, field) {\n var groups = [],\n get = function(f) { return f(t); },\n map, i, n, m, t, k, g, s, max;\n\n // partition data points into stack groups\n if (groupby == null) {\n groups.push(data.slice());\n } else {\n for (map={}, i=0, n=data.length; i<n; ++i) {\n t = data[i];\n k = groupby.map(get);\n g = map[k];\n if (!g) {\n map[k] = (g = []);\n groups.push(g);\n }\n g.push(t);\n }\n }\n\n // compute sums of groups, sort groups as needed\n for (k=0, max=0, m=groups.length; k<m; ++k) {\n g = groups[k];\n for (i=0, s=0, n=g.length; i<n; ++i) {\n s += Math.abs(field(g[i]));\n }\n g.sum = s;\n if (s > max) max = s;\n if (sort) g.sort(sort);\n }\n groups.max = max;\n\n return groups;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-encode/src/Stack.js\n// module id = 740\n// module chunks = 0","import {ingest, Transform} from 'vega-dataflow';\nimport {inherits} from 'vega-util';\nimport {extent} from 'd3-array';\nimport {contours, contourDensity} from 'd3-contour';\n\nvar CONTOUR_PARAMS = ['size', 'smooth'];\nvar DENSITY_PARAMS = ['x', 'y', 'weight', 'size', 'cellSize', 'bandwidth'];\n\n/**\n * Generate contours based on kernel-density estimation of point data.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {Array<number>} params.size - The dimensions [width, height] over which to compute contours.\n * If the values parameter is provided, this must be the dimensions of the input data.\n * If density estimation is performed, this is the output view dimensions in pixels.\n * @param {Array<number>} [params.values] - An array of numeric values representing an\n * width x height grid of values over which to compute contours. If unspecified, this\n * transform will instead attempt to compute contours for the kernel density estimate\n * using values drawn from data tuples in the input pulse.\n * @param {function(object): number} [params.x] - The pixel x-coordinate accessor for density estimation.\n * @param {function(object): number} [params.y] - The pixel y-coordinate accessor for density estimation.\n * @param {function(object): number} [params.weight] - The data point weight accessor for density estimation.\n * @param {number} [params.cellSize] - Contour density calculation cell size.\n * @param {number} [params.bandwidth] - Kernel density estimation bandwidth.\n * @param {Array<number>} [params.thresholds] - Contour threshold array. If\n * this parameter is set, the count and nice parameters will be ignored.\n * @param {number} [params.count] - The desired number of contours.\n * @param {boolean} [params.nice] - Boolean flag indicating if the contour\n * threshold values should be automatically aligned to \"nice\"\n * human-friendly values. Setting this flag may cause the number of\n * thresholds to deviate from the specified count.\n * @param {boolean} [params.smooth] - Boolean flag indicating if the contour\n * polygons should be smoothed using linear interpolation. The default is\n * true. The parameter is ignored when using density estimation.\n */\nexport default function Contour(params) {\n Transform.call(this, null, params);\n}\n\nContour.Definition = {\n \"type\": \"Contour\",\n \"metadata\": {\"generates\": true},\n \"params\": [\n { \"name\": \"size\", \"type\": \"number\", \"array\": true, \"length\": 2, \"required\": true },\n { \"name\": \"values\", \"type\": \"number\", \"array\": true },\n { \"name\": \"x\", \"type\": \"field\" },\n { \"name\": \"y\", \"type\": \"field\" },\n { \"name\": \"weight\", \"type\": \"field\" },\n { \"name\": \"cellSize\", \"type\": \"number\" },\n { \"name\": \"bandwidth\", \"type\": \"number\" },\n { \"name\": \"count\", \"type\": \"number\" },\n { \"name\": \"smooth\", \"type\": \"boolean\" },\n { \"name\": \"nice\", \"type\": \"boolean\", \"default\": false },\n { \"name\": \"thresholds\", \"type\": \"number\", \"array\": true }\n ]\n};\n\nvar prototype = inherits(Contour, Transform);\n\nprototype.transform = function(_, pulse) {\n if (this.value && !pulse.changed() && !_.modified())\n return pulse.StopPropagation;\n\n var out = pulse.fork(pulse.NO_SOURCE | pulse.NO_FIELDS),\n count = _.count || 10,\n contour, params, values;\n\n if (_.values) {\n contour = contours();\n params = CONTOUR_PARAMS;\n values = _.values;\n } else {\n contour = contourDensity();\n params = DENSITY_PARAMS;\n values = pulse.materialize(pulse.SOURCE).source;\n }\n\n // set threshold parameter\n contour.thresholds(_.thresholds || (_.nice ? count : quantize(count)));\n\n // set all other parameters\n params.forEach(function(param) {\n if (_[param] != null) contour[param](_[param]);\n });\n\n if (this.value) out.rem = this.value;\n values = values && values.length ? contour(values).map(ingest) : [];\n this.value = out.source = out.add = values;\n\n return out;\n};\n\nfunction quantize(k) {\n return function(values) {\n var ex = extent(values), x0 = ex[0], dx = ex[1] - x0,\n t = [], i = 1;\n for (; i<=k; ++i) t.push(x0 + dx * i / (k + 1));\n return t;\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-geo/src/Contour.js\n// module id = 742\n// module chunks = 0","export default function(a, b) {\n return a - b;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-contour/src/ascending.js\n// module id = 744\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-contour/src/area.js\n// module id = 745\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-contour/src/contains.js\n// module id = 746\n// module chunks = 0","export default function() {}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-contour/src/noop.js\n// module id = 747\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-contour/src/density.js\n// module id = 748\n// module chunks = 0","// 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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-contour/src/blur.js\n// module id = 749\n// module chunks = 0","import {Feature, FeatureCollection, MultiPoint} from './constants';\nimport {Transform} from 'vega-dataflow';\nimport {accessorFields, inherits} from 'vega-util';\n\n/**\n * Consolidate an array of [longitude, latitude] points or GeoJSON features\n * into a combined GeoJSON object. This transform is particularly useful for\n * combining geo data for a Projection's fit argument. The resulting GeoJSON\n * data is available as this transform's value. Input pulses are unchanged.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {Array<function(object): *>} [params.fields] - A two-element array\n * of field accessors for the longitude and latitude values.\n * @param {function(object): *} params.geojson - A field accessor for\n * retrieving GeoJSON feature data.\n */\nexport default function GeoJSON(params) {\n Transform.call(this, null, params);\n}\n\nGeoJSON.Definition = {\n \"type\": \"GeoJSON\",\n \"metadata\": {},\n \"params\": [\n { \"name\": \"fields\", \"type\": \"field\", \"array\": true, \"length\": 2 },\n { \"name\": \"geojson\", \"type\": \"field\" },\n ]\n};\n\nvar prototype = inherits(GeoJSON, Transform);\n\nprototype.transform = function(_, pulse) {\n var features = this._features,\n points = this._points,\n fields = _.fields,\n lon = fields && fields[0],\n lat = fields && fields[1],\n geojson = _.geojson,\n flag = pulse.ADD,\n mod;\n\n mod = _.modified()\n || pulse.changed(pulse.REM)\n || pulse.modified(accessorFields(geojson))\n || (lon && (pulse.modified(accessorFields(lon))))\n || (lat && (pulse.modified(accessorFields(lat))));\n\n if (!this.value || mod) {\n flag = pulse.SOURCE;\n this._features = (features = []);\n this._points = (points = []);\n }\n\n if (geojson) {\n pulse.visit(flag, function(t) {\n features.push(geojson(t));\n });\n }\n\n if (lon && lat) {\n pulse.visit(flag, function(t) {\n var x = lon(t),\n y = lat(t);\n if (x != null && y != null && (x = +x) === x && (y = +y) === y) {\n points.push([x, y]);\n }\n });\n features = features.concat({\n type: Feature,\n geometry: {\n type: MultiPoint,\n coordinates: points\n }\n });\n }\n\n this.value = {\n type: FeatureCollection,\n features: features\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-geo/src/GeoJSON.js\n// module id = 750\n// module chunks = 0","import {Transform} from 'vega-dataflow';\nimport {getProjectionPath} from 'vega-projection';\nimport {inherits, identity} from 'vega-util';\n\n/**\n * Map GeoJSON data to an SVG path string.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(number, number): *} params.projection - The cartographic\n * projection to apply.\n * @param {function(object): *} [params.field] - The field with GeoJSON data,\n * or null if the tuple itself is a GeoJSON feature.\n * @param {string} [params.as='path'] - The output field in which to store\n * the generated path data (default 'path').\n */\nexport default function GeoPath(params) {\n Transform.call(this, null, params);\n}\n\nGeoPath.Definition = {\n \"type\": \"GeoPath\",\n \"metadata\": {\"modifies\": true},\n \"params\": [\n { \"name\": \"projection\", \"type\": \"projection\" },\n { \"name\": \"field\", \"type\": \"field\" },\n { \"name\": \"pointRadius\", \"type\": \"number\", \"expr\": true },\n { \"name\": \"as\", \"type\": \"string\", \"default\": \"path\" }\n ]\n};\n\nvar prototype = inherits(GeoPath, Transform);\n\nprototype.transform = function(_, pulse) {\n var out = pulse.fork(pulse.ALL),\n path = this.value,\n field = _.field || identity,\n as = _.as || 'path',\n flag = out.SOURCE;\n\n function set(t) { t[as] = path(field(t)); }\n\n if (!path || _.modified()) {\n // parameters updated, reset and reflow\n this.value = path = getProjectionPath(_.projection);\n out.materialize().reflow();\n } else {\n flag = field === identity || pulse.modified(field.fields)\n ? out.ADD_MOD\n : out.ADD;\n }\n\n var prev = initPath(path, _.pointRadius);\n out.visit(flag, set);\n path.pointRadius(prev);\n\n return out.modifies(as);\n};\n\nfunction initPath(path, pointRadius) {\n var prev = path.pointRadius();\n path.context(null);\n if (pointRadius != null) {\n path.pointRadius(pointRadius);\n }\n return prev;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-geo/src/GeoPath.js\n// module id = 751\n// module chunks = 0","import {\n geoAlbers,\n geoAlbersUsa,\n geoAzimuthalEqualArea,\n geoAzimuthalEquidistant,\n geoConicConformal,\n geoConicEqualArea,\n geoConicEquidistant,\n geoEquirectangular,\n geoGnomonic,\n geoIdentity,\n geoMercator,\n geoNaturalEarth1,\n geoOrthographic,\n geoStereographic,\n geoTransverseMercator,\n geoPath\n} from 'd3-geo';\n\nvar defaultPath = geoPath();\n\nexport var projectionProperties = [\n // standard properties in d3-geo\n 'clipAngle',\n 'clipExtent',\n 'scale',\n 'translate',\n 'center',\n 'rotate',\n 'parallels',\n 'precision',\n 'reflectX',\n 'reflectY',\n\n // extended properties in d3-geo-projections\n 'coefficient',\n 'distance',\n 'fraction',\n 'lobes',\n 'parallel',\n 'radius',\n 'ratio',\n 'spacing',\n 'tilt'\n];\n\n/**\n * Augment projections with their type and a copy method.\n */\nfunction create(type, constructor) {\n return function projection() {\n var p = constructor();\n\n p.type = type;\n\n p.path = geoPath().projection(p);\n\n p.copy = p.copy || function() {\n var c = projection();\n projectionProperties.forEach(function(prop) {\n if (p.hasOwnProperty(prop)) c[prop](p[prop]());\n });\n c.path.pointRadius(p.path.pointRadius());\n return c;\n };\n\n return p;\n };\n}\n\nexport function projection(type, proj) {\n if (!type || typeof type !== 'string') {\n throw new Error('Projection type must be a name string.');\n }\n type = type.toLowerCase();\n if (arguments.length > 1) {\n projections[type] = create(type, proj);\n return this;\n } else {\n return projections.hasOwnProperty(type) ? projections[type] : null;\n }\n}\n\nexport function getProjectionPath(proj) {\n return (proj && proj.path) || defaultPath;\n}\n\nvar projections = {\n // base d3-geo projection types\n albers: geoAlbers,\n albersusa: geoAlbersUsa,\n azimuthalequalarea: geoAzimuthalEqualArea,\n azimuthalequidistant: geoAzimuthalEquidistant,\n conicconformal: geoConicConformal,\n conicequalarea: geoConicEqualArea,\n conicequidistant: geoConicEquidistant,\n equirectangular: geoEquirectangular,\n gnomonic: geoGnomonic,\n identity: geoIdentity,\n mercator: geoMercator,\n naturalEarth1: geoNaturalEarth1,\n orthographic: geoOrthographic,\n stereographic: geoStereographic,\n transversemercator: geoTransverseMercator\n};\n\nfor (var key in projections) {\n projection(key, projections[key]);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-projection/src/projections.js\n// module id = 752\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/bounds.js\n// module id = 753\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/centroid.js\n// module id = 754\n// module chunks = 0","export default function(x) {\n return function() {\n return x;\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/constant.js\n// module id = 755\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/clip/line.js\n// module id = 757\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/graticule.js\n// module id = 759\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/path/index.js\n// module id = 761\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/path/area.js\n// module id = 762\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/path/centroid.js\n// module id = 763\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/path/context.js\n// module id = 764\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/path/measure.js\n// module id = 765\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/path/string.js\n// module id = 766\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/projection/resample.js\n// module id = 767\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/projection/cylindricalEqualArea.js\n// module id = 768\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/projection/albersUsa.js\n// module id = 769\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/projection/azimuthalEqualArea.js\n// module id = 770\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/projection/azimuthalEquidistant.js\n// module id = 771\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/projection/conicConformal.js\n// module id = 772\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/projection/conicEquidistant.js\n// module id = 773\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/projection/gnomonic.js\n// module id = 774\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/projection/identity.js\n// module id = 775\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/projection/naturalEarth1.js\n// module id = 776\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/projection/orthographic.js\n// module id = 777\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/projection/stereographic.js\n// module id = 778\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-geo/src/projection/transverseMercator.js\n// module id = 779\n// module chunks = 0","import {Transform} from 'vega-dataflow';\nimport {inherits} from 'vega-util';\n\n/**\n * Geo-code a longitude/latitude point to an x/y coordinate.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(number, number): *} params.projection - The cartographic\n * projection to apply.\n * @param {Array<function(object): *>} params.fields - A two-element array of\n * field accessors for the longitude and latitude values.\n * @param {Array<string>} [params.as] - A two-element array of field names\n * under which to store the result. Defaults to ['x','y'].\n */\nexport default function GeoPoint(params) {\n Transform.call(this, null, params);\n}\n\nGeoPoint.Definition = {\n \"type\": \"GeoPoint\",\n \"metadata\": {\"modifies\": true},\n \"params\": [\n { \"name\": \"projection\", \"type\": \"projection\", \"required\": true },\n { \"name\": \"fields\", \"type\": \"field\", \"array\": true, \"required\": true, \"length\": 2 },\n { \"name\": \"as\", \"type\": \"string\", \"array\": true, \"length\": 2, \"default\": [\"x\", \"y\"] }\n ]\n};\n\nvar prototype = inherits(GeoPoint, Transform);\n\nprototype.transform = function(_, pulse) {\n var proj = _.projection,\n lon = _.fields[0],\n lat = _.fields[1],\n as = _.as || ['x', 'y'],\n x = as[0],\n y = as[1],\n mod;\n\n function set(t) {\n var xy = proj([lon(t), lat(t)]);\n if (xy) {\n t[x] = xy[0];\n t[y] = xy[1];\n } else {\n t[x] = undefined;\n t[y] = undefined;\n }\n }\n\n if (_.modified()) {\n // parameters updated, reflow\n pulse = pulse.materialize().reflow(true).visit(pulse.SOURCE, set);\n } else {\n mod = pulse.modified(lon.fields) || pulse.modified(lat.fields);\n pulse.visit(mod ? pulse.ADD_MOD : pulse.ADD, set);\n }\n\n return pulse.modifies(as);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-geo/src/GeoPoint.js\n// module id = 780\n// module chunks = 0","import {Transform} from 'vega-dataflow';\nimport {getProjectionPath} from 'vega-projection';\nimport {inherits, field} from 'vega-util';\n\n/**\n * Annotate items with a geopath shape generator.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(number, number): *} params.projection - The cartographic\n * projection to apply.\n * @param {function(object): *} [params.field] - The field with GeoJSON data,\n * or null if the tuple itself is a GeoJSON feature.\n * @param {string} [params.as='shape'] - The output field in which to store\n * the generated path data (default 'shape').\n */\nexport default function GeoShape(params) {\n Transform.call(this, null, params);\n}\n\nGeoShape.Definition = {\n \"type\": \"GeoShape\",\n \"metadata\": {\"modifies\": true},\n \"params\": [\n { \"name\": \"projection\", \"type\": \"projection\" },\n { \"name\": \"field\", \"type\": \"field\", \"default\": \"datum\" },\n { \"name\": \"pointRadius\", \"type\": \"number\", \"expr\": true },\n { \"name\": \"as\", \"type\": \"string\", \"default\": \"shape\" }\n ]\n};\n\nvar prototype = inherits(GeoShape, Transform);\n\nprototype.transform = function(_, pulse) {\n var out = pulse.fork(pulse.ALL),\n shape = this.value,\n datum = _.field || field('datum'),\n as = _.as || 'shape',\n flag = out.ADD_MOD;\n\n if (!shape || _.modified()) {\n // parameters updated, reset and reflow\n this.value = shape = shapeGenerator(\n getProjectionPath(_.projection),\n datum,\n _.pointRadius\n );\n out.materialize().reflow();\n flag = out.SOURCE;\n }\n\n out.visit(flag, function(t) { t[as] = shape; });\n\n return out.modifies(as);\n};\n\nfunction shapeGenerator(path, field, pointRadius) {\n var shape = pointRadius == null\n ? function(_) { return path(field(_)); }\n : function(_) {\n var prev = path.pointRadius(),\n value = path.pointRadius(pointRadius)(field(_));\n path.pointRadius(prev);\n return value;\n };\n shape.context = function(_) {\n path.context(_);\n return shape;\n };\n\n return shape;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-geo/src/GeoShape.js\n// module id = 781\n// module chunks = 0","import {Transform, ingest, replace} from 'vega-dataflow';\nimport {inherits, isFunction} from 'vega-util';\nimport {geoGraticule} from 'd3-geo';\n\n/**\n * GeoJSON feature generator for creating graticules.\n * @constructor\n */\nexport default function Graticule(params) {\n Transform.call(this, [], params);\n this.generator = geoGraticule();\n}\n\nGraticule.Definition = {\n \"type\": \"Graticule\",\n \"metadata\": {\"changes\": true},\n \"params\": [\n { \"name\": \"extent\", \"type\": \"array\", \"array\": true, \"length\": 2,\n \"content\": {\"type\": \"number\", \"array\": true, \"length\": 2} },\n { \"name\": \"extentMajor\", \"type\": \"array\", \"array\": true, \"length\": 2,\n \"content\": {\"type\": \"number\", \"array\": true, \"length\": 2} },\n { \"name\": \"extentMinor\", \"type\": \"array\", \"array\": true, \"length\": 2,\n \"content\": {\"type\": \"number\", \"array\": true, \"length\": 2} },\n { \"name\": \"step\", \"type\": \"number\", \"array\": true, \"length\": 2 },\n { \"name\": \"stepMajor\", \"type\": \"number\", \"array\": true, \"length\": 2, \"default\": [90, 360] },\n { \"name\": \"stepMinor\", \"type\": \"number\", \"array\": true, \"length\": 2, \"default\": [10, 10] },\n { \"name\": \"precision\", \"type\": \"number\", \"default\": 2.5 }\n ]\n};\n\nvar prototype = inherits(Graticule, Transform);\n\nprototype.transform = function(_, pulse) {\n var src = this.value,\n gen = this.generator, t;\n\n if (!src.length || _.modified()) {\n for (var prop in _) {\n if (isFunction(gen[prop])) {\n gen[prop](_[prop]);\n }\n }\n }\n\n t = gen();\n if (src.length) {\n pulse.mod.push(replace(src[0], t));\n } else {\n pulse.add.push(ingest(t));\n }\n src[0] = t;\n\n return pulse;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-geo/src/Graticule.js\n// module id = 782\n// module chunks = 0","import {FeatureCollection} from './constants';\nimport {Transform} from 'vega-dataflow';\nimport {projection, projectionProperties} from 'vega-projection';\nimport {array, error, inherits, isArray, isFunction} from 'vega-util';\n\n/**\n * Maintains a cartographic projection.\n * @constructor\n * @param {object} params - The parameters for this operator.\n */\nexport default function Projection(params) {\n Transform.call(this, null, params);\n this.modified(true); // always treat as modified\n}\n\nvar prototype = inherits(Projection, Transform);\n\nprototype.transform = function(_, pulse) {\n var proj = this.value;\n\n if (!proj || _.modified('type')) {\n this.value = (proj = create(_.type));\n projectionProperties.forEach(function(prop) {\n if (_[prop] != null) set(proj, prop, _[prop]);\n });\n } else {\n projectionProperties.forEach(function(prop) {\n if (_.modified(prop)) set(proj, prop, _[prop]);\n });\n }\n\n if (_.pointRadius != null) proj.path.pointRadius(_.pointRadius);\n if (_.fit) fit(proj, _);\n\n return pulse.fork(pulse.NO_SOURCE | pulse.NO_FIELDS);\n};\n\nfunction fit(proj, _) {\n var data = collectGeoJSON(_.fit);\n _.extent ? proj.fitExtent(_.extent, data)\n : _.size ? proj.fitSize(_.size, data) : 0;\n}\n\nfunction create(type) {\n var constructor = projection((type || 'mercator').toLowerCase());\n if (!constructor) error('Unrecognized projection type: ' + type);\n return constructor();\n}\n\nfunction set(proj, key, value) {\n if (isFunction(proj[key])) proj[key](value);\n}\n\nexport function collectGeoJSON(features) {\n features = array(features);\n return features.length === 1\n ? features[0]\n : {\n type: FeatureCollection,\n features: features.reduce(function(list, f) {\n (f && f.type === FeatureCollection) ? list.push.apply(list, f.features)\n : isArray(f) ? list.push.apply(list, f)\n : list.push(f);\n return list;\n }, [])\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-geo/src/Projection.js\n// module id = 783\n// module chunks = 0","import {Transform} from 'vega-dataflow';\nimport {accessorFields, array, error, inherits, isFunction} from 'vega-util';\nimport {\n forceSimulation, forceCenter, forceCollide,\n forceManyBody, forceLink, forceX, forceY\n} from 'd3-force';\n\nvar ForceMap = {\n center: forceCenter,\n collide: forceCollide,\n nbody: forceManyBody,\n link: forceLink,\n x: forceX,\n y: forceY\n};\n\nvar Forces = 'forces',\n ForceParams = [\n 'alpha', 'alphaMin', 'alphaTarget',\n 'velocityDecay', 'forces'\n ],\n ForceConfig = ['static', 'iterations'],\n ForceOutput = ['x', 'y', 'vx', 'vy'];\n\n/**\n * Force simulation layout.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {Array<object>} params.forces - The forces to apply.\n */\nexport default function Force(params) {\n Transform.call(this, null, params);\n}\n\nForce.Definition = {\n \"type\": \"Force\",\n \"metadata\": {\"modifies\": true},\n \"params\": [\n { \"name\": \"static\", \"type\": \"boolean\", \"default\": false },\n { \"name\": \"restart\", \"type\": \"boolean\", \"default\": false },\n { \"name\": \"iterations\", \"type\": \"number\", \"default\": 300 },\n { \"name\": \"alpha\", \"type\": \"number\", \"default\": 1 },\n { \"name\": \"alphaMin\", \"type\": \"number\", \"default\": 0.001 },\n { \"name\": \"alphaTarget\", \"type\": \"number\", \"default\": 0 },\n { \"name\": \"velocityDecay\", \"type\": \"number\", \"default\": 0.4 },\n { \"name\": \"forces\", \"type\": \"param\", \"array\": true,\n \"params\": [\n {\n \"key\": {\"force\": \"center\"},\n \"params\": [\n { \"name\": \"x\", \"type\": \"number\", \"default\": 0 },\n { \"name\": \"y\", \"type\": \"number\", \"default\": 0 }\n ]\n },\n {\n \"key\": {\"force\": \"collide\"},\n \"params\": [\n { \"name\": \"radius\", \"type\": \"number\", \"expr\": true },\n { \"name\": \"strength\", \"type\": \"number\", \"default\": 0.7 },\n { \"name\": \"iterations\", \"type\": \"number\", \"default\": 1 }\n ]\n },\n {\n \"key\": {\"force\": \"nbody\"},\n \"params\": [\n { \"name\": \"strength\", \"type\": \"number\", \"default\": -30 },\n { \"name\": \"theta\", \"type\": \"number\", \"default\": 0.9 },\n { \"name\": \"distanceMin\", \"type\": \"number\", \"default\": 1 },\n { \"name\": \"distanceMax\", \"type\": \"number\" }\n ]\n },\n {\n \"key\": {\"force\": \"link\"},\n \"params\": [\n { \"name\": \"links\", \"type\": \"data\" },\n { \"name\": \"id\", \"type\": \"field\" },\n { \"name\": \"distance\", \"type\": \"number\", \"default\": 30, \"expr\": true },\n { \"name\": \"strength\", \"type\": \"number\", \"expr\": true },\n { \"name\": \"iterations\", \"type\": \"number\", \"default\": 1 }\n ]\n },\n {\n \"key\": {\"force\": \"x\"},\n \"params\": [\n { \"name\": \"strength\", \"type\": \"number\", \"default\": 0.1 },\n { \"name\": \"x\", \"type\": \"field\" }\n ]\n },\n {\n \"key\": {\"force\": \"y\"},\n \"params\": [\n { \"name\": \"strength\", \"type\": \"number\", \"default\": 0.1 },\n { \"name\": \"y\", \"type\": \"field\" }\n ]\n }\n ] },\n {\n \"name\": \"as\", \"type\": \"string\", \"array\": true, \"modify\": false,\n \"default\": ForceOutput\n }\n ]\n};\n\nvar prototype = inherits(Force, Transform);\n\nprototype.transform = function(_, pulse) {\n var sim = this.value,\n change = pulse.changed(pulse.ADD_REM),\n params = _.modified(ForceParams),\n iters = _.iterations || 300;\n\n // configure simulation\n if (!sim) {\n this.value = sim = simulation(pulse.source, _);\n sim.on('tick', rerun(pulse.dataflow, this));\n if (!_.static) {\n change = true;\n sim.tick(); // ensure we run on init\n }\n pulse.modifies('index');\n } else {\n if (change) {\n pulse.modifies('index');\n sim.nodes(pulse.source);\n }\n if (params || pulse.changed(pulse.MOD)) {\n setup(sim, _, 0, pulse);\n }\n }\n\n // run simulation\n if (params || change || _.modified(ForceConfig)\n || (pulse.changed() && _.restart))\n {\n sim.alpha(Math.max(sim.alpha(), _.alpha || 1))\n .alphaDecay(1 - Math.pow(sim.alphaMin(), 1 / iters));\n\n if (_.static) {\n for (sim.stop(); --iters >= 0;) sim.tick();\n } else {\n if (sim.stopped()) sim.restart();\n if (!change) return pulse.StopPropagation; // defer to sim ticks\n }\n }\n\n return this.finish(_, pulse);\n};\n\nprototype.finish = function(_, pulse) {\n var dataflow = pulse.dataflow;\n\n // inspect dependencies, touch link source data\n for (var args=this._argops, j=0, m=args.length, arg; j<m; ++j) {\n arg = args[j];\n if (arg.name !== Forces || arg.op._argval.force !== 'link') {\n continue;\n }\n for (var ops=arg.op._argops, i=0, n=ops.length, op; i<n; ++i) {\n if (ops[i].name === 'links' && (op = ops[i].op.source)) {\n dataflow.pulse(op, dataflow.changeset().reflow());\n break;\n }\n }\n }\n\n // reflow all nodes\n return pulse.reflow(_.modified()).modifies(ForceOutput);\n};\n\nfunction rerun(df, op) {\n return function() { df.touch(op).run(); }\n}\n\nfunction simulation(nodes, _) {\n var sim = forceSimulation(nodes),\n stopped = false,\n stop = sim.stop,\n restart = sim.restart;\n\n sim.stopped = function() {\n return stopped;\n };\n sim.restart = function() {\n stopped = false;\n return restart();\n };\n sim.stop = function() {\n stopped = true;\n return stop();\n };\n\n return setup(sim, _, true).on('end', function() { stopped = true; });\n}\n\nfunction setup(sim, _, init, pulse) {\n var f = array(_.forces), i, n, p, name;\n\n for (i=0, n=ForceParams.length; i<n; ++i) {\n p = ForceParams[i];\n if (p !== Forces && _.modified(p)) sim[p](_[p]);\n }\n\n for (i=0, n=f.length; i<n; ++i) {\n name = Forces + i;\n p = init || _.modified(Forces, i) ? getForce(f[i])\n : pulse && modified(f[i], pulse) ? sim.force(name)\n : null;\n if (p) sim.force(name, p);\n }\n\n for (n=(sim.numForces || 0); i<n; ++i) {\n sim.force(Forces + i, null); // remove\n }\n\n sim.numForces = f.length;\n return sim;\n}\n\nfunction modified(f, pulse) {\n var k, v;\n for (k in f) {\n if (isFunction(v = f[k]) && pulse.modified(accessorFields(v)))\n return 1;\n }\n return 0;\n}\n\nfunction getForce(_) {\n var f, p;\n\n if (!ForceMap.hasOwnProperty(_.force)) {\n error('Unrecognized force: ' + _.force);\n }\n f = ForceMap[_.force]();\n\n for (p in _) {\n if (isFunction(f[p])) setForceParam(f[p], _[p], _);\n }\n\n return f;\n}\n\nfunction setForceParam(f, v, _) {\n f(isFunction(v) ? function(d) { return v(d, _); } : v);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-force/src/Force.js\n// module id = 785\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-force/src/center.js\n// module id = 787\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-force/src/collide.js\n// module id = 788\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-quadtree/src/quadtree.js\n// module id = 789\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-quadtree/src/add.js\n// module id = 790\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-quadtree/src/cover.js\n// module id = 791\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-quadtree/src/data.js\n// module id = 792\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-quadtree/src/extent.js\n// module id = 793\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-quadtree/src/find.js\n// module id = 794\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-quadtree/src/remove.js\n// module id = 795\n// module chunks = 0","export default function() {\n return this._root;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-quadtree/src/root.js\n// module id = 796\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-quadtree/src/size.js\n// module id = 797\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-quadtree/src/visit.js\n// module id = 798\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-quadtree/src/visitAfter.js\n// module id = 799\n// module chunks = 0","export function defaultX(d) {\n return d[0];\n}\n\nexport default function(_) {\n return arguments.length ? (this._x = _, this) : this._x;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-quadtree/src/x.js\n// module id = 800\n// module chunks = 0","export function defaultY(d) {\n return d[1];\n}\n\nexport default function(_) {\n return arguments.length ? (this._y = _, this) : this._y;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-quadtree/src/y.js\n// module id = 801\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-force/src/link.js\n// module id = 802\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-force/src/manyBody.js\n// module id = 803\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-dispatch/src/dispatch.js\n// module id = 805\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-timer/src/interval.js\n// module id = 807\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-force/src/x.js\n// module id = 809\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-force/src/y.js\n// module id = 810\n// module chunks = 0","import lookup from './lookup';\nimport {ingest, isTuple, Transform, tupleid} from 'vega-dataflow';\nimport {array, error, inherits} from 'vega-util';\nimport {nest} from 'd3-collection';\nimport {hierarchy} from 'd3-hierarchy';\n\n /**\n * Nest tuples into a tree structure, grouped by key values.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {Array<function(object): *>} params.keys - The key fields to nest by, in order.\n * @param {boolean} [params.generate=false] - A boolean flag indicating if\n * non-leaf nodes generated by this transform should be included in the\n * output. The default (false) includes only the input data (leaf nodes)\n * in the data stream.\n */\nexport default function Nest(params) {\n Transform.call(this, null, params);\n}\n\nNest.Definition = {\n \"type\": \"Nest\",\n \"metadata\": {\"treesource\": true, \"changes\": true},\n \"params\": [\n { \"name\": \"keys\", \"type\": \"field\", \"array\": true },\n { \"name\": \"generate\", \"type\": \"boolean\" }\n ]\n};\n\nvar prototype = inherits(Nest, Transform);\n\nfunction children(n) {\n return n.values;\n}\n\nprototype.transform = function(_, pulse) {\n if (!pulse.source) {\n error('Nest transform requires an upstream data source.');\n }\n\n var gen = _.generate,\n mod = _.modified(),\n out = pulse.clone(),\n tree = this.value;\n\n if (!tree || mod || pulse.changed()) {\n // collect nodes to remove\n if (tree) {\n tree.each(function(node) {\n if (node.children && isTuple(node.data)) {\n out.rem.push(node.data);\n }\n });\n }\n\n // generate new tree structure\n this.value = tree = hierarchy({\n values: array(_.keys)\n .reduce(function(n, k) { n.key(k); return n; }, nest())\n .entries(out.source)\n }, children);\n\n // collect nodes to add\n if (gen) {\n tree.each(function(node) {\n if (node.children) {\n node = ingest(node.data);\n out.add.push(node);\n out.source.push(node);\n }\n });\n }\n\n // build lookup table\n lookup(tree, tupleid, tupleid);\n }\n\n out.source.root = tree;\n return out;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-hierarchy/src/Nest.js\n// module id = 812\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-hierarchy/src/cluster.js\n// module id = 813\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-hierarchy/src/hierarchy/count.js\n// module id = 814\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-hierarchy/src/hierarchy/each.js\n// module id = 815\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-hierarchy/src/hierarchy/eachBefore.js\n// module id = 816\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-hierarchy/src/hierarchy/eachAfter.js\n// module id = 817\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-hierarchy/src/hierarchy/sum.js\n// module id = 818\n// module chunks = 0","export default function(compare) {\n return this.eachBefore(function(node) {\n if (node.children) {\n node.children.sort(compare);\n }\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-hierarchy/src/hierarchy/sort.js\n// module id = 819\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-hierarchy/src/hierarchy/path.js\n// module id = 820\n// module chunks = 0","export default function() {\n var node = this, nodes = [node];\n while (node = node.parent) {\n nodes.push(node);\n }\n return nodes;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-hierarchy/src/hierarchy/ancestors.js\n// module id = 821\n// module chunks = 0","export default function() {\n var nodes = [];\n this.each(function(node) {\n nodes.push(node);\n });\n return nodes;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-hierarchy/src/hierarchy/descendants.js\n// module id = 822\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-hierarchy/src/hierarchy/leaves.js\n// module id = 823\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-hierarchy/src/hierarchy/links.js\n// module id = 824\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-hierarchy/src/pack/index.js\n// module id = 825\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-hierarchy/src/array.js\n// module id = 826\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-hierarchy/src/partition.js\n// module id = 827\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-hierarchy/src/stratify.js\n// module id = 828\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-hierarchy/src/tree.js\n// module id = 829\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-hierarchy/src/treemap/index.js\n// module id = 830\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-hierarchy/src/treemap/binary.js\n// module id = 831\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-hierarchy/src/treemap/sliceDice.js\n// module id = 832\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-hierarchy/src/treemap/resquarify.js\n// module id = 833\n// module chunks = 0","import HierarchyLayout from './HierarchyLayout';\nimport {inherits} from 'vega-util';\nimport {pack} from 'd3-hierarchy';\n\nvar Output = ['x', 'y', 'r', 'depth', 'children'];\n\n/**\n * Packed circle tree layout.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(object): *} params.field - The value field to size nodes.\n */\nexport default function Pack(params) {\n HierarchyLayout.call(this, params);\n}\n\nPack.Definition = {\n \"type\": \"Pack\",\n \"metadata\": {\"tree\": true, \"modifies\": true},\n \"params\": [\n { \"name\": \"field\", \"type\": \"field\" },\n { \"name\": \"sort\", \"type\": \"compare\" },\n { \"name\": \"padding\", \"type\": \"number\", \"default\": 0 },\n { \"name\": \"radius\", \"type\": \"field\", \"default\": null },\n { \"name\": \"size\", \"type\": \"number\", \"array\": true, \"length\": 2 },\n { \"name\": \"as\", \"type\": \"string\", \"array\": true, \"length\": Output.length, \"default\": Output }\n ]\n};\n\nvar prototype = inherits(Pack, HierarchyLayout);\n\nprototype.layout = pack;\n\nprototype.params = ['size', 'padding'];\n\nprototype.fields = Output;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-hierarchy/src/Pack.js\n// module id = 834\n// module chunks = 0","import HierarchyLayout from './HierarchyLayout';\nimport {inherits} from 'vega-util';\nimport {partition} from 'd3-hierarchy';\n\nvar Output = ['x0', 'y0', 'x1', 'y1', 'depth', 'children'];\n\n/**\n * Partition tree layout.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(object): *} params.field - The value field to size nodes.\n */\nexport default function Partition(params) {\n HierarchyLayout.call(this, params);\n}\n\nPartition.Definition = {\n \"type\": \"Partition\",\n \"metadata\": {\"tree\": true, \"modifies\": true},\n \"params\": [\n { \"name\": \"field\", \"type\": \"field\" },\n { \"name\": \"sort\", \"type\": \"compare\" },\n { \"name\": \"padding\", \"type\": \"number\", \"default\": 0 },\n { \"name\": \"round\", \"type\": \"boolean\", \"default\": false },\n { \"name\": \"size\", \"type\": \"number\", \"array\": true, \"length\": 2 },\n { \"name\": \"as\", \"type\": \"string\", \"array\": true, \"length\": Output.length, \"default\": Output }\n ]\n};\n\nvar prototype = inherits(Partition, HierarchyLayout);\n\nprototype.layout = partition;\n\nprototype.params = ['size', 'round', 'padding'];\n\nprototype.fields = Output;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-hierarchy/src/Partition.js\n// module id = 835\n// module chunks = 0","import lookup from './lookup';\nimport {Transform} from 'vega-dataflow';\nimport {error, inherits, truthy} from 'vega-util';\nimport {stratify} from 'd3-hierarchy';\n\n /**\n * Stratify a collection of tuples into a tree structure based on\n * id and parent id fields.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(object): *} params.key - Unique key field for each tuple.\n * @param {function(object): *} params.parentKey - Field with key for parent tuple.\n */\nexport default function Stratify(params) {\n Transform.call(this, null, params);\n}\n\nStratify.Definition = {\n \"type\": \"Stratify\",\n \"metadata\": {\"treesource\": true},\n \"params\": [\n { \"name\": \"key\", \"type\": \"field\", \"required\": true },\n { \"name\": \"parentKey\", \"type\": \"field\", \"required\": true }\n ]\n};\n\nvar prototype = inherits(Stratify, Transform);\n\nprototype.transform = function(_, pulse) {\n if (!pulse.source) {\n error('Stratify transform requires an upstream data source.');\n }\n\n var tree = this.value,\n mod = _.modified(),\n out = pulse.fork(pulse.ALL).materialize(pulse.SOURCE),\n run = !this.value\n || mod\n || pulse.changed(pulse.ADD_REM)\n || pulse.modified(_.key.fields)\n || pulse.modified(_.parentKey.fields);\n\n // prevent upstream source pollution\n out.source = out.source.slice();\n\n if (run) {\n if (out.source.length) {\n tree = lookup(\n stratify().id(_.key).parentId(_.parentKey)(out.source)\n , _.key, truthy);\n } else {\n tree = lookup(stratify()([{}]), _.key, _.key);\n }\n }\n\n out.source.root = this.value = tree;\n return out;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-hierarchy/src/Stratify.js\n// module id = 836\n// module chunks = 0","import HierarchyLayout from './HierarchyLayout';\nimport {error, inherits} from 'vega-util';\nimport {tree, cluster} from 'd3-hierarchy';\n\nvar Layouts = {\n tidy: tree,\n cluster: cluster\n};\n\nvar Output = ['x', 'y', 'depth', 'children'];\n\n/**\n * Tree layout. Depending on the method parameter, performs either\n * Reingold-Tilford 'tidy' layout or dendrogram 'cluster' layout.\n * @constructor\n * @param {object} params - The parameters for this operator.\n */\nexport default function Tree(params) {\n HierarchyLayout.call(this, params);\n}\n\nTree.Definition = {\n \"type\": \"Tree\",\n \"metadata\": {\"tree\": true, \"modifies\": true},\n \"params\": [\n { \"name\": \"field\", \"type\": \"field\" },\n { \"name\": \"sort\", \"type\": \"compare\" },\n { \"name\": \"method\", \"type\": \"enum\", \"default\": \"tidy\", \"values\": [\"tidy\", \"cluster\"] },\n { \"name\": \"size\", \"type\": \"number\", \"array\": true, \"length\": 2 },\n { \"name\": \"nodeSize\", \"type\": \"number\", \"array\": true, \"length\": 2 },\n { \"name\": \"as\", \"type\": \"string\", \"array\": true, \"length\": Output.length, \"default\": Output }\n ]\n};\n\nvar prototype = inherits(Tree, HierarchyLayout);\n\n/**\n * Tree layout generator. Supports both 'tidy' and 'cluster' layouts.\n */\nprototype.layout = function(method) {\n var m = method || 'tidy';\n if (Layouts.hasOwnProperty(m)) return Layouts[m]();\n else error('Unrecognized Tree layout method: ' + m);\n};\n\nprototype.params = ['size', 'nodeSize', 'separation'];\n\nprototype.fields = Output;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-hierarchy/src/Tree.js\n// module id = 837\n// module chunks = 0","import {ingest, tupleid, Transform} from 'vega-dataflow';\nimport {error, inherits} from 'vega-util';\n\n /**\n * Generate tuples representing links between tree nodes.\n * The resulting tuples will contain 'source' and 'target' fields,\n * which point to parent and child node tuples, respectively.\n * @constructor\n * @param {object} params - The parameters for this operator.\n */\nexport default function TreeLinks(params) {\n Transform.call(this, [], params);\n}\n\nTreeLinks.Definition = {\n \"type\": \"TreeLinks\",\n \"metadata\": {\"tree\": true, \"generates\": true, \"changes\": true},\n \"params\": []\n};\n\nvar prototype = inherits(TreeLinks, Transform);\n\nprototype.transform = function(_, pulse) {\n var links = this.value,\n tree = pulse.source && pulse.source.root,\n out = pulse.fork(pulse.NO_SOURCE),\n lut = {};\n\n if (!tree) error('TreeLinks transform requires a tree data source.');\n\n if (pulse.changed(pulse.ADD_REM)) {\n // remove previous links\n out.rem = links;\n\n // build lookup table of valid tuples\n pulse.visit(pulse.SOURCE, function(t) { lut[tupleid(t)] = 1; });\n\n // generate links for all edges incident on valid tuples\n tree.each(function(node) {\n var t = node.data,\n p = node.parent && node.parent.data;\n if (p && lut[tupleid(t)] && lut[tupleid(p)]) {\n out.add.push(ingest({source: p, target: t}));\n }\n });\n this.value = out.add;\n }\n\n else if (pulse.changed(pulse.MOD)) {\n // build lookup table of modified tuples\n pulse.visit(pulse.MOD, function(t) { lut[tupleid(t)] = 1; });\n\n // gather links incident on modified tuples\n links.forEach(function(link) {\n if (lut[tupleid(link.source)] || lut[tupleid(link.target)]) {\n out.mod.push(link);\n }\n });\n }\n\n return out;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-hierarchy/src/TreeLinks.js\n// module id = 838\n// module chunks = 0","import HierarchyLayout from './HierarchyLayout';\nimport {error, inherits} from 'vega-util';\nimport {\n treemap,\n treemapBinary,\n treemapDice,\n treemapSlice,\n treemapSliceDice,\n treemapSquarify,\n treemapResquarify\n} from 'd3-hierarchy';\n\nvar Tiles = {\n binary: treemapBinary,\n dice: treemapDice,\n slice: treemapSlice,\n slicedice: treemapSliceDice,\n squarify: treemapSquarify,\n resquarify: treemapResquarify\n};\n\nvar Output = ['x0', 'y0', 'x1', 'y1', 'depth', 'children'];\n\n/**\n * Treemap layout.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {function(object): *} params.field - The value field to size nodes.\n */\nexport default function Treemap(params) {\n HierarchyLayout.call(this, params);\n}\n\nTreemap.Definition = {\n \"type\": \"Treemap\",\n \"metadata\": {\"tree\": true, \"modifies\": true},\n \"params\": [\n { \"name\": \"field\", \"type\": \"field\" },\n { \"name\": \"sort\", \"type\": \"compare\" },\n { \"name\": \"method\", \"type\": \"enum\", \"default\": \"squarify\",\n \"values\": [\"squarify\", \"resquarify\", \"binary\", \"dice\", \"slice\", \"slicedice\"] },\n { \"name\": \"padding\", \"type\": \"number\", \"default\": 0 },\n { \"name\": \"paddingInner\", \"type\": \"number\", \"default\": 0 },\n { \"name\": \"paddingOuter\", \"type\": \"number\", \"default\": 0 },\n { \"name\": \"paddingTop\", \"type\": \"number\", \"default\": 0 },\n { \"name\": \"paddingRight\", \"type\": \"number\", \"default\": 0 },\n { \"name\": \"paddingBottom\", \"type\": \"number\", \"default\": 0 },\n { \"name\": \"paddingLeft\", \"type\": \"number\", \"default\": 0 },\n { \"name\": \"ratio\", \"type\": \"number\", \"default\": 1.618033988749895 },\n { \"name\": \"round\", \"type\": \"boolean\", \"default\": false },\n { \"name\": \"size\", \"type\": \"number\", \"array\": true, \"length\": 2 },\n { \"name\": \"as\", \"type\": \"string\", \"array\": true, \"length\": Output.length, \"default\": Output }\n ]\n};\n\nvar prototype = inherits(Treemap, HierarchyLayout);\n\n/**\n * Treemap layout generator. Adds 'method' and 'ratio' parameters\n * to configure the underlying tile method.\n */\nprototype.layout = function() {\n var x = treemap();\n x.ratio = function(_) {\n var t = x.tile();\n if (t.ratio) x.tile(t.ratio(_));\n };\n x.method = function(_) {\n if (Tiles.hasOwnProperty(_)) x.tile(Tiles[_]);\n else error('Unrecognized Treemap layout method: ' + _);\n };\n return x;\n};\n\nprototype.params = [\n 'method', 'ratio', 'size', 'round',\n 'padding', 'paddingInner', 'paddingOuter',\n 'paddingTop', 'paddingRight', 'paddingBottom', 'paddingLeft'\n];\n\nprototype.fields = Output;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-hierarchy/src/Treemap.js\n// module id = 839\n// module chunks = 0","import {Transform} from 'vega-dataflow';\nimport {inherits} from 'vega-util';\nimport {voronoi} from 'd3-voronoi';\n\nexport default function Voronoi(params) {\n Transform.call(this, null, params);\n}\n\nVoronoi.Definition = {\n \"type\": \"Voronoi\",\n \"metadata\": {\"modifies\": true},\n \"params\": [\n { \"name\": \"x\", \"type\": \"field\", \"required\": true },\n { \"name\": \"y\", \"type\": \"field\", \"required\": true },\n { \"name\": \"size\", \"type\": \"number\", \"array\": true, \"length\": 2 },\n { \"name\": \"extent\", \"type\": \"array\", \"array\": true, \"length\": 2,\n \"default\": [[-1e5, -1e5], [1e5, 1e5]],\n \"content\": {\"type\": \"number\", \"array\": true, \"length\": 2} },\n { \"name\": \"as\", \"type\": \"string\", \"default\": \"path\" }\n ]\n};\n\nvar prototype = inherits(Voronoi, Transform);\n\nvar defaultExtent = [[-1e5, -1e5], [1e5, 1e5]];\n\nprototype.transform = function(_, pulse) {\n var as = _.as || 'path',\n data = pulse.source,\n diagram, polygons, i, n;\n\n // configure and construct voronoi diagram\n diagram = voronoi().x(_.x).y(_.y);\n if (_.size) diagram.size(_.size);\n else diagram.extent(_.extent || defaultExtent);\n\n this.value = (diagram = diagram(data));\n\n // map polygons to paths\n polygons = diagram.polygons();\n for (i=0, n=data.length; i<n; ++i) {\n data[i][as] = polygons[i]\n ? 'M' + polygons[i].join('L') + 'Z'\n : null;\n }\n\n return pulse.reflow(_.modified()).modifies(as);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-voronoi/src/Voronoi.js\n// module id = 841\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-voronoi/src/voronoi.js\n// module id = 843\n// module chunks = 0","export default function(x) {\n return function() {\n return x;\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-voronoi/src/constant.js\n// module id = 844\n// module chunks = 0","export function x(d) {\n return d[0];\n}\n\nexport function y(d) {\n return d[1];\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-voronoi/src/point.js\n// module id = 845\n// module chunks = 0","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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/d3-voronoi/src/Beach.js\n// module id = 846\n// module chunks = 0","import cloud from './CloudLayout';\nimport {Transform} from 'vega-dataflow';\nimport {constant, inherits, isFunction} from 'vega-util';\nimport {scale} from 'vega-scale';\nimport {random} from 'vega-statistics';\n\nvar Output = ['x', 'y', 'font', 'fontSize', 'fontStyle', 'fontWeight', 'angle'];\n\nvar Params = ['text', 'font', 'rotate', 'fontSize', 'fontStyle', 'fontWeight'];\n\nexport default function Wordcloud(params) {\n Transform.call(this, cloud(), params);\n}\n\nWordcloud.Definition = {\n \"type\": \"Wordcloud\",\n \"metadata\": {\"modifies\": true},\n \"params\": [\n { \"name\": \"size\", \"type\": \"number\", \"array\": true, \"length\": 2 },\n { \"name\": \"font\", \"type\": \"string\", \"expr\": true, \"default\": \"sans-serif\" },\n { \"name\": \"fontStyle\", \"type\": \"string\", \"expr\": true, \"default\": \"normal\" },\n { \"name\": \"fontWeight\", \"type\": \"string\", \"expr\": true, \"default\": \"normal\" },\n { \"name\": \"fontSize\", \"type\": \"number\", \"expr\": true, \"default\": 14 },\n { \"name\": \"fontSizeRange\", \"type\": \"number\", \"array\": \"nullable\", \"default\": [10, 50] },\n { \"name\": \"rotate\", \"type\": \"number\", \"expr\": true, \"default\": 0 },\n { \"name\": \"text\", \"type\": \"field\" },\n { \"name\": \"spiral\", \"type\": \"string\", \"values\": [\"archimedean\", \"rectangular\"] },\n { \"name\": \"padding\", \"type\": \"number\", \"expr\": true },\n { \"name\": \"as\", \"type\": \"string\", \"array\": true, \"length\": 7, \"default\": Output }\n ]\n};\n\nvar prototype = inherits(Wordcloud, Transform);\n\nprototype.transform = function(_, pulse) {\n function modp(param) {\n var p = _[param];\n return isFunction(p) && pulse.modified(p.fields);\n }\n\n var mod = _.modified();\n if (!(mod || pulse.changed(pulse.ADD_REM) || Params.some(modp))) return;\n\n var data = pulse.materialize(pulse.SOURCE).source,\n layout = this.value,\n as = _.as || Output,\n fontSize = _.fontSize || 14,\n range;\n\n isFunction(fontSize)\n ? (range = _.fontSizeRange)\n : (fontSize = constant(fontSize));\n\n // create font size scaling function as needed\n if (range) {\n var fsize = fontSize,\n sizeScale = scale('sqrt')()\n .domain(extent(fsize, data))\n .range(range);\n fontSize = function(x) { return sizeScale(fsize(x)); };\n }\n\n data.forEach(function(t) {\n t[as[0]] = NaN;\n t[as[1]] = NaN;\n t[as[3]] = 0;\n });\n\n // configure layout\n var words = layout\n .words(data)\n .text(_.text)\n .size(_.size || [500, 500])\n .padding(_.padding || 1)\n .spiral(_.spiral || 'archimedean')\n .rotate(_.rotate || 0)\n .font(_.font || 'sans-serif')\n .fontStyle(_.fontStyle || 'normal')\n .fontWeight(_.fontWeight || 'normal')\n .fontSize(fontSize)\n .random(random)\n .layout();\n\n var size = layout.size(),\n dx = size[0] >> 1,\n dy = size[1] >> 1,\n i = 0,\n n = words.length,\n w, t;\n\n for (; i<n; ++i) {\n w = words[i];\n t = w.datum;\n t[as[0]] = w.x + dx;\n t[as[1]] = w.y + dy;\n t[as[2]] = w.font;\n t[as[3]] = w.size;\n t[as[4]] = w.style;\n t[as[5]] = w.weight;\n t[as[6]] = w.rotate;\n }\n\n return pulse.reflow(mod).modifies(as);\n};\n\nfunction extent(field, data) {\n var min = +Infinity,\n max = -Infinity,\n i = 0,\n n = data.length,\n v;\n\n for (; i<n; ++i) {\n v = field(data[i]);\n if (v < min) min = v;\n if (v > max) max = v;\n }\n\n return [min, max];\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-wordcloud/src/Wordcloud.js\n// module id = 848\n// module chunks = 0","import {canvas} from 'vega-canvas';\n\n/*\nCopyright (c) 2013, Jason Davies.\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n * Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n * The name Jason Davies may not be used to endorse or promote products\n derived from this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL JASON DAVIES BE LIABLE FOR ANY DIRECT, INDIRECT,\nINCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\nPROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\nLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE\nOR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\nADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n\n// Word cloud layout by Jason Davies, https://www.jasondavies.com/wordcloud/\n// Algorithm due to Jonathan Feinberg, http://static.mrfeinberg.com/bv_ch03.pdf\n\nvar cloudRadians = Math.PI / 180,\n cw = 1 << 11 >> 5,\n ch = 1 << 11;\n\nexport default function() {\n var size = [256, 256],\n text,\n font,\n fontSize,\n fontStyle,\n fontWeight,\n rotate,\n padding,\n spiral = archimedeanSpiral,\n words = [],\n random = Math.random,\n cloud = {};\n\n cloud.layout = function() {\n var contextAndRatio = getContext(canvas()),\n board = zeroArray((size[0] >> 5) * size[1]),\n bounds = null,\n n = words.length,\n i = -1,\n tags = [],\n data = words.map(function(d) {\n return {\n text: text(d),\n font: font(d),\n style: fontStyle(d),\n weight: fontWeight(d),\n rotate: rotate(d),\n size: ~~fontSize(d),\n padding: padding(d),\n xoff: 0,\n yoff: 0,\n x1: 0,\n y1: 0,\n x0: 0,\n y0: 0,\n hasText: false,\n sprite: null,\n datum: d\n };\n }).sort(function(a, b) { return b.size - a.size; });\n\n while (++i < n) {\n var d = data[i];\n d.x = (size[0] * (random() + .5)) >> 1;\n d.y = (size[1] * (random() + .5)) >> 1;\n cloudSprite(contextAndRatio, d, data, i);\n if (d.hasText && place(board, d, bounds)) {\n tags.push(d);\n if (bounds) cloudBounds(bounds, d);\n else bounds = [{x: d.x + d.x0, y: d.y + d.y0}, {x: d.x + d.x1, y: d.y + d.y1}];\n // Temporary hack\n d.x -= size[0] >> 1;\n d.y -= size[1] >> 1;\n }\n }\n\n return tags;\n };\n\n function getContext(canvas) {\n canvas.width = canvas.height = 1;\n var ratio = Math.sqrt(canvas.getContext(\"2d\").getImageData(0, 0, 1, 1).data.length >> 2);\n canvas.width = (cw << 5) / ratio;\n canvas.height = ch / ratio;\n\n var context = canvas.getContext(\"2d\");\n context.fillStyle = context.strokeStyle = \"red\";\n context.textAlign = \"center\";\n\n return {context: context, ratio: ratio};\n }\n\n function place(board, tag, bounds) {\n var startX = tag.x,\n startY = tag.y,\n maxDelta = Math.sqrt(size[0] * size[0] + size[1] * size[1]),\n s = spiral(size),\n dt = random() < .5 ? 1 : -1,\n t = -dt,\n dxdy,\n dx,\n dy;\n\n while (dxdy = s(t += dt)) {\n dx = ~~dxdy[0];\n dy = ~~dxdy[1];\n\n if (Math.min(Math.abs(dx), Math.abs(dy)) >= maxDelta) break;\n\n tag.x = startX + dx;\n tag.y = startY + dy;\n\n if (tag.x + tag.x0 < 0 || tag.y + tag.y0 < 0 ||\n tag.x + tag.x1 > size[0] || tag.y + tag.y1 > size[1]) continue;\n // TODO only check for collisions within current bounds.\n if (!bounds || !cloudCollide(tag, board, size[0])) {\n if (!bounds || collideRects(tag, bounds)) {\n var sprite = tag.sprite,\n w = tag.width >> 5,\n sw = size[0] >> 5,\n lx = tag.x - (w << 4),\n sx = lx & 0x7f,\n msx = 32 - sx,\n h = tag.y1 - tag.y0,\n x = (tag.y + tag.y0) * sw + (lx >> 5),\n last;\n for (var j = 0; j < h; j++) {\n last = 0;\n for (var i = 0; i <= w; i++) {\n board[x + i] |= (last << msx) | (i < w ? (last = sprite[j * w + i]) >>> sx : 0);\n }\n x += sw;\n }\n tag.sprite = null;\n return true;\n }\n }\n }\n return false;\n }\n\n cloud.words = function(_) {\n if (arguments.length) {\n words = _;\n return cloud;\n } else {\n return words;\n }\n };\n\n cloud.size = function(_) {\n if (arguments.length) {\n size = [+_[0], +_[1]];\n return cloud;\n } else {\n return size;\n }\n };\n\n cloud.font = function(_) {\n if (arguments.length) {\n font = functor(_);\n return cloud;\n } else {\n return font;\n }\n };\n\n cloud.fontStyle = function(_) {\n if (arguments.length) {\n fontStyle = functor(_);\n return cloud;\n } else {\n return fontStyle;\n }\n };\n\n cloud.fontWeight = function(_) {\n if (arguments.length) {\n fontWeight = functor(_);\n return cloud;\n } else {\n return fontWeight;\n }\n };\n\n cloud.rotate = function(_) {\n if (arguments.length) {\n rotate = functor(_);\n return cloud;\n } else {\n return rotate;\n }\n };\n\n cloud.text = function(_) {\n if (arguments.length) {\n text = functor(_);\n return cloud;\n } else {\n return text;\n }\n };\n\n cloud.spiral = function(_) {\n if (arguments.length) {\n spiral = spirals[_] || _;\n return cloud;\n } else {\n return spiral;\n }\n };\n\n cloud.fontSize = function(_) {\n if (arguments.length) {\n fontSize = functor(_);\n return cloud;\n } else {\n return fontSize;\n }\n };\n\n cloud.padding = function(_) {\n if (arguments.length) {\n padding = functor(_);\n return cloud;\n } else {\n return padding;\n }\n };\n\n cloud.random = function(_) {\n if (arguments.length) {\n random = _;\n return cloud;\n } else {\n return random;\n }\n };\n\n return cloud;\n}\n\n// Fetches a monochrome sprite bitmap for the specified text.\n// Load in batches for speed.\nfunction cloudSprite(contextAndRatio, d, data, di) {\n if (d.sprite) return;\n var c = contextAndRatio.context,\n ratio = contextAndRatio.ratio;\n\n c.clearRect(0, 0, (cw << 5) / ratio, ch / ratio);\n var x = 0,\n y = 0,\n maxh = 0,\n n = data.length,\n w, w32, h, i, j;\n --di;\n while (++di < n) {\n d = data[di];\n c.save();\n c.font = d.style + \" \" + d.weight + \" \" + ~~((d.size + 1) / ratio) + \"px \" + d.font;\n w = c.measureText(d.text + \"m\").width * ratio;\n h = d.size << 1;\n if (d.rotate) {\n var sr = Math.sin(d.rotate * cloudRadians),\n cr = Math.cos(d.rotate * cloudRadians),\n wcr = w * cr,\n wsr = w * sr,\n hcr = h * cr,\n hsr = h * sr;\n w = (Math.max(Math.abs(wcr + hsr), Math.abs(wcr - hsr)) + 0x1f) >> 5 << 5;\n h = ~~Math.max(Math.abs(wsr + hcr), Math.abs(wsr - hcr));\n } else {\n w = (w + 0x1f) >> 5 << 5;\n }\n if (h > maxh) maxh = h;\n if (x + w >= (cw << 5)) {\n x = 0;\n y += maxh;\n maxh = 0;\n }\n if (y + h >= ch) break;\n c.translate((x + (w >> 1)) / ratio, (y + (h >> 1)) / ratio);\n if (d.rotate) c.rotate(d.rotate * cloudRadians);\n c.fillText(d.text, 0, 0);\n if (d.padding) {\n c.lineWidth = 2 * d.padding;\n c.strokeText(d.text, 0, 0);\n }\n c.restore();\n d.width = w;\n d.height = h;\n d.xoff = x;\n d.yoff = y;\n d.x1 = w >> 1;\n d.y1 = h >> 1;\n d.x0 = -d.x1;\n d.y0 = -d.y1;\n d.hasText = true;\n x += w;\n }\n var pixels = c.getImageData(0, 0, (cw << 5) / ratio, ch / ratio).data,\n sprite = [];\n while (--di >= 0) {\n d = data[di];\n if (!d.hasText) continue;\n w = d.width;\n w32 = w >> 5;\n h = d.y1 - d.y0;\n // Zero the buffer\n for (i = 0; i < h * w32; i++) sprite[i] = 0;\n x = d.xoff;\n if (x == null) return;\n y = d.yoff;\n var seen = 0,\n seenRow = -1;\n for (j = 0; j < h; j++) {\n for (i = 0; i < w; i++) {\n var k = w32 * j + (i >> 5),\n m = pixels[((y + j) * (cw << 5) + (x + i)) << 2] ? 1 << (31 - (i % 32)) : 0;\n sprite[k] |= m;\n seen |= m;\n }\n if (seen) seenRow = j;\n else {\n d.y0++;\n h--;\n j--;\n y++;\n }\n }\n d.y1 = d.y0 + seenRow;\n d.sprite = sprite.slice(0, (d.y1 - d.y0) * w32);\n }\n}\n\n// Use mask-based collision detection.\nfunction cloudCollide(tag, board, sw) {\n sw >>= 5;\n var sprite = tag.sprite,\n w = tag.width >> 5,\n lx = tag.x - (w << 4),\n sx = lx & 0x7f,\n msx = 32 - sx,\n h = tag.y1 - tag.y0,\n x = (tag.y + tag.y0) * sw + (lx >> 5),\n last;\n for (var j = 0; j < h; j++) {\n last = 0;\n for (var i = 0; i <= w; i++) {\n if (((last << msx) | (i < w ? (last = sprite[j * w + i]) >>> sx : 0))\n & board[x + i]) return true;\n }\n x += sw;\n }\n return false;\n}\n\nfunction cloudBounds(bounds, d) {\n var b0 = bounds[0],\n b1 = bounds[1];\n if (d.x + d.x0 < b0.x) b0.x = d.x + d.x0;\n if (d.y + d.y0 < b0.y) b0.y = d.y + d.y0;\n if (d.x + d.x1 > b1.x) b1.x = d.x + d.x1;\n if (d.y + d.y1 > b1.y) b1.y = d.y + d.y1;\n}\n\nfunction collideRects(a, b) {\n return a.x + a.x1 > b[0].x && a.x + a.x0 < b[1].x && a.y + a.y1 > b[0].y && a.y + a.y0 < b[1].y;\n}\n\nfunction archimedeanSpiral(size) {\n var e = size[0] / size[1];\n return function(t) {\n return [e * (t *= .1) * Math.cos(t), t * Math.sin(t)];\n };\n}\n\nfunction rectangularSpiral(size) {\n var dy = 4,\n dx = dy * size[0] / size[1],\n x = 0,\n y = 0;\n return function(t) {\n var sign = t < 0 ? -1 : 1;\n // See triangular numbers: T_n = n * (n + 1) / 2.\n switch ((Math.sqrt(1 + 4 * sign * t) - sign) & 3) {\n case 0: x += dx; break;\n case 1: y += dy; break;\n case 2: x -= dx; break;\n default: y -= dy; break;\n }\n return [x, y];\n };\n}\n\n// TODO reuse arrays?\nfunction zeroArray(n) {\n var a = [],\n i = -1;\n while (++i < n) a[i] = 0;\n return a;\n}\n\nfunction functor(d) {\n return typeof d === \"function\" ? d : function() { return d; };\n}\n\nvar spirals = {\n archimedean: archimedeanSpiral,\n rectangular: rectangularSpiral\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-wordcloud/src/CloudLayout.js\n// module id = 849\n// module chunks = 0","import Bitmaps from './Bitmaps';\nimport Dimension from './Dimension';\nimport SortedIndex from './SortedIndex';\nimport {Transform} from 'vega-dataflow';\nimport {inherits} from 'vega-util';\n\n/**\n * An indexed multi-dimensional filter.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {Array<function(object): *>} params.fields - An array of dimension accessors to filter.\n * @param {Array} params.query - An array of per-dimension range queries.\n */\nexport default function CrossFilter(params) {\n Transform.call(this, Bitmaps(), params);\n this._indices = null;\n this._dims = null;\n}\n\nCrossFilter.Definition = {\n \"type\": \"CrossFilter\",\n \"metadata\": {},\n \"params\": [\n { \"name\": \"fields\", \"type\": \"field\", \"array\": true, \"required\": true },\n { \"name\": \"query\", \"type\": \"array\", \"array\": true, \"required\": true,\n \"content\": {\"type\": \"number\", \"array\": true, \"length\": 2} }\n ]\n};\n\nvar prototype = inherits(CrossFilter, Transform);\n\nprototype.transform = function(_, pulse) {\n if (!this._dims) {\n return this.init(_, pulse);\n } else {\n var init = _.modified('fields')\n || _.fields.some(function(f) { return pulse.modified(f.fields); });\n\n return init\n ? this.reinit(_, pulse)\n : this.eval(_, pulse);\n }\n};\n\nprototype.init = function(_, pulse) {\n var fields = _.fields,\n query = _.query,\n indices = this._indices = {},\n dims = this._dims = [],\n m = query.length,\n i = 0, key, index;\n\n // instantiate indices and dimensions\n for (; i<m; ++i) {\n key = fields[i].fname;\n index = indices[key] || (indices[key] = SortedIndex());\n dims.push(Dimension(index, i, query[i]));\n }\n\n return this.eval(_, pulse);\n};\n\nprototype.reinit = function(_, pulse) {\n var output = pulse.materialize().fork(),\n fields = _.fields,\n query = _.query,\n indices = this._indices,\n dims = this._dims,\n bits = this.value,\n curr = bits.curr(),\n prev = bits.prev(),\n all = bits.all(),\n out = (output.rem = output.add),\n mod = output.mod,\n m = query.length,\n adds = {}, add, index, key,\n mods, remMap, modMap, i, n, f;\n\n // set prev to current state\n prev.set(curr);\n\n // if pulse has remove tuples, process them first\n if (pulse.rem.length) {\n remMap = this.remove(_, pulse, output);\n }\n\n // if pulse has added tuples, add them to state\n if (pulse.add.length) {\n bits.add(pulse.add);\n }\n\n // if pulse has modified tuples, create an index map\n if (pulse.mod.length) {\n modMap = {};\n for (mods=pulse.mod, i=0, n=mods.length; i<n; ++i) {\n modMap[mods[i]._index] = 1;\n }\n }\n\n // re-initialize indices as needed, update curr bitmap\n for (i=0; i<m; ++i) {\n f = fields[i];\n if (!dims[i] || _.modified('fields', i) || pulse.modified(f.fields)) {\n key = f.fname;\n if (!(add = adds[key])) {\n indices[key] = index = SortedIndex();\n adds[key] = add = index.insert(f, pulse.source, 0);\n }\n dims[i] = Dimension(index, i, query[i]).onAdd(add, curr);\n }\n }\n\n // visit each tuple\n // if filter state changed, push index to add/rem\n // else if in mod and passes a filter, push index to mod\n for (i=0, n=bits.data().length; i<n; ++i) {\n if (remMap[i]) { // skip if removed tuple\n continue;\n } else if (prev[i] !== curr[i]) { // add if state changed\n out.push(i);\n } else if (modMap[i] && curr[i] !== all) { // otherwise, pass mods through\n mod.push(i);\n }\n }\n\n bits.mask = (1 << m) - 1;\n return output;\n};\n\nprototype.eval = function(_, pulse) {\n var output = pulse.materialize().fork(),\n m = this._dims.length,\n mask = 0;\n\n if (pulse.rem.length) {\n this.remove(_, pulse, output);\n mask |= (1 << m) - 1;\n }\n\n if (_.modified('query') && !_.modified('fields')) {\n mask |= this.update(_, pulse, output);\n }\n\n if (pulse.add.length) {\n this.insert(_, pulse, output);\n mask |= (1 << m) - 1;\n }\n\n if (pulse.mod.length) {\n this.modify(pulse, output);\n mask |= (1 << m) - 1;\n }\n\n this.value.mask = mask;\n return output;\n};\n\nprototype.insert = function(_, pulse, output) {\n var tuples = pulse.add,\n bits = this.value,\n dims = this._dims,\n indices = this._indices,\n fields = _.fields,\n adds = {},\n out = output.add,\n k = bits.size(),\n n = k + tuples.length,\n m = dims.length, j, key, add;\n\n // resize bitmaps and add tuples as needed\n bits.resize(n, m);\n bits.add(tuples);\n\n var curr = bits.curr(),\n prev = bits.prev(),\n all = bits.all();\n\n // add to dimensional indices\n for (j=0; j<m; ++j) {\n key = fields[j].fname;\n add = adds[key] || (adds[key] = indices[key].insert(fields[j], tuples, k));\n dims[j].onAdd(add, curr);\n }\n\n // set previous filters, output if passes at least one filter\n for (; k<n; ++k) {\n prev[k] = all;\n if (curr[k] !== all) out.push(k);\n }\n};\n\nprototype.modify = function(pulse, output) {\n var out = output.mod,\n bits = this.value,\n curr = bits.curr(),\n all = bits.all(),\n tuples = pulse.mod,\n i, n, k;\n\n for (i=0, n=tuples.length; i<n; ++i) {\n k = tuples[i]._index;\n if (curr[k] !== all) out.push(k);\n }\n};\n\nprototype.remove = function(_, pulse, output) {\n var indices = this._indices,\n bits = this.value,\n curr = bits.curr(),\n prev = bits.prev(),\n all = bits.all(),\n map = {},\n out = output.rem,\n tuples = pulse.rem,\n i, n, k, f;\n\n // process tuples, output if passes at least one filter\n for (i=0, n=tuples.length; i<n; ++i) {\n k = tuples[i]._index;\n map[k] = 1; // build index map\n prev[k] = (f = curr[k]);\n curr[k] = all;\n if (f !== all) out.push(k);\n }\n\n // remove from dimensional indices\n for (k in indices) {\n indices[k].remove(n, map);\n }\n\n this.reindex(pulse, n, map);\n return map;\n};\n\n// reindex filters and indices after propagation completes\nprototype.reindex = function(pulse, num, map) {\n var indices = this._indices,\n bits = this.value;\n\n pulse.runAfter(function() {\n var indexMap = bits.remove(num, map);\n for (var key in indices) indices[key].reindex(indexMap);\n });\n};\n\nprototype.update = function(_, pulse, output) {\n var dims = this._dims,\n query = _.query,\n stamp = pulse.stamp,\n m = dims.length,\n mask = 0, i, q;\n\n // survey how many queries have changed\n output.filters = 0;\n for (q=0; q<m; ++q) {\n if (_.modified('query', q)) { i = q; ++mask; }\n }\n\n if (mask === 1) {\n // only one query changed, use more efficient update\n mask = dims[i].one;\n this.incrementOne(dims[i], query[i], output.add, output.rem);\n } else {\n // multiple queries changed, perform full record keeping\n for (q=0, mask=0; q<m; ++q) {\n if (!_.modified('query', q)) continue;\n mask |= dims[q].one;\n this.incrementAll(dims[q], query[q], stamp, output.add);\n output.rem = output.add; // duplicate add/rem for downstream resolve\n }\n }\n\n return mask;\n};\n\nprototype.incrementAll = function(dim, query, stamp, out) {\n var bits = this.value,\n seen = bits.seen(),\n curr = bits.curr(),\n prev = bits.prev(),\n index = dim.index(),\n old = dim.bisect(dim.range),\n range = dim.bisect(query),\n lo1 = range[0],\n hi1 = range[1],\n lo0 = old[0],\n hi0 = old[1],\n one = dim.one,\n i, j, k;\n\n // Fast incremental update based on previous lo index.\n if (lo1 < lo0) {\n for (i = lo1, j = Math.min(lo0, hi1); i < j; ++i) {\n k = index[i];\n if (seen[k] !== stamp) {\n prev[k] = curr[k];\n seen[k] = stamp;\n out.push(k);\n }\n curr[k] ^= one;\n }\n } else if (lo1 > lo0) {\n for (i = lo0, j = Math.min(lo1, hi0); i < j; ++i) {\n k = index[i];\n if (seen[k] !== stamp) {\n prev[k] = curr[k];\n seen[k] = stamp;\n out.push(k);\n }\n curr[k] ^= one;\n }\n }\n\n // Fast incremental update based on previous hi index.\n if (hi1 > hi0) {\n for (i = Math.max(lo1, hi0), j = hi1; i < j; ++i) {\n k = index[i];\n if (seen[k] !== stamp) {\n prev[k] = curr[k];\n seen[k] = stamp;\n out.push(k);\n }\n curr[k] ^= one;\n }\n } else if (hi1 < hi0) {\n for (i = Math.max(lo0, hi1), j = hi0; i < j; ++i) {\n k = index[i];\n if (seen[k] !== stamp) {\n prev[k] = curr[k];\n seen[k] = stamp;\n out.push(k);\n }\n curr[k] ^= one;\n }\n }\n\n dim.range = query.slice();\n};\n\nprototype.incrementOne = function(dim, query, add, rem) {\n var bits = this.value,\n curr = bits.curr(),\n index = dim.index(),\n old = dim.bisect(dim.range),\n range = dim.bisect(query),\n lo1 = range[0],\n hi1 = range[1],\n lo0 = old[0],\n hi0 = old[1],\n one = dim.one,\n i, j, k;\n\n // Fast incremental update based on previous lo index.\n if (lo1 < lo0) {\n for (i = lo1, j = Math.min(lo0, hi1); i < j; ++i) {\n k = index[i];\n curr[k] ^= one;\n add.push(k);\n }\n } else if (lo1 > lo0) {\n for (i = lo0, j = Math.min(lo1, hi0); i < j; ++i) {\n k = index[i];\n curr[k] ^= one;\n rem.push(k);\n }\n }\n\n // Fast incremental update based on previous hi index.\n if (hi1 > hi0) {\n for (i = Math.max(lo1, hi0), j = hi1; i < j; ++i) {\n k = index[i];\n curr[k] ^= one;\n add.push(k);\n }\n } else if (hi1 < hi0) {\n for (i = Math.max(lo0, hi1), j = hi0; i < j; ++i) {\n k = index[i];\n curr[k] ^= one;\n rem.push(k);\n }\n }\n\n dim.range = query.slice();\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-crossfilter/src/CrossFilter.js\n// module id = 851\n// module chunks = 0","import {array8, array16, array32} from './arrays';\n\n/**\n * Maintains CrossFilter state.\n */\nexport default function Bitmaps() {\n\n var width = 8,\n data = [],\n seen = array32(0),\n curr = array(0, width),\n prev = array(0, width);\n\n return {\n\n data: function() { return data; },\n\n seen: function() {\n return (seen = lengthen(seen, data.length));\n },\n\n add: function(array) {\n for (var i=0, j=data.length, n=array.length, t; i<n; ++i) {\n t = array[i];\n t._index = j++;\n data.push(t);\n }\n },\n\n remove: function(num, map) { // map: index -> boolean (true => remove)\n var n = data.length,\n copy = Array(n - num),\n reindex = data, // reuse old data array for index map\n t, i, j;\n\n // seek forward to first removal\n for (i=0; !map[i] && i<n; ++i) {\n copy[i] = data[i];\n reindex[i] = i;\n }\n\n // condense arrays\n for (j=i; i<n; ++i) {\n t = data[i];\n if (!map[i]) {\n reindex[i] = j;\n curr[j] = curr[i];\n prev[j] = prev[i];\n copy[j] = t;\n t._index = j++;\n } else {\n reindex[i] = -1;\n }\n curr[i] = 0; // clear unused bits\n }\n\n data = copy;\n return reindex;\n },\n\n size: function() { return data.length; },\n\n curr: function() { return curr; },\n\n prev: function() { return prev; },\n\n reset: function(k) { prev[k] = curr[k]; },\n\n all: function() {\n return width < 0x101 ? 0xff : width < 0x10001 ? 0xffff : 0xffffffff;\n },\n\n set: function(k, one) { curr[k] |= one; },\n\n clear: function(k, one) { curr[k] &= ~one; },\n\n resize: function(n, m) {\n var k = curr.length;\n if (n > k || m > width) {\n width = Math.max(m, width);\n curr = array(n, width, curr);\n prev = array(n, width);\n }\n }\n };\n}\n\nfunction lengthen(array, length, copy) {\n if (array.length >= length) return array;\n copy = copy || new array.constructor(length);\n copy.set(array);\n return copy;\n}\n\nfunction array(n, m, array) {\n var copy = (m < 0x101 ? array8 : m < 0x10001 ? array16 : array32)(n);\n if (array) copy.set(array);\n return copy;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-crossfilter/src/Bitmaps.js\n// module id = 852\n// module chunks = 0","export default function(index, i, query) {\n var bit = (1 << i);\n\n return {\n one: bit,\n zero: ~bit,\n range: query.slice(),\n bisect: index.bisect,\n index: index.index,\n size: index.size,\n\n onAdd: function(added, curr) {\n var dim = this,\n range = dim.bisect(dim.range, added.value),\n idx = added.index,\n lo = range[0],\n hi = range[1],\n n1 = idx.length, i;\n\n for (i=0; i<lo; ++i) curr[idx[i]] |= bit;\n for (i=hi; i<n1; ++i) curr[idx[i]] |= bit;\n return dim;\n }\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-crossfilter/src/Dimension.js\n// module id = 853\n// module chunks = 0","import {array32} from './arrays';\nimport {bisectLeft, bisectRight, permute} from 'd3-array';\n\n/**\n * Maintains a list of values, sorted by key.\n */\nexport default function SortedIndex() {\n var index = array32(0),\n value = [],\n size = 0;\n\n function insert(key, data, base) {\n if (!data.length) return [];\n\n var n0 = size,\n n1 = data.length,\n addv = Array(n1),\n addi = array32(n1),\n oldv, oldi, i;\n\n for (i=0; i<n1; ++i) {\n addv[i] = key(data[i]);\n addi[i] = i;\n }\n addv = sort(addv, addi);\n\n if (n0) {\n oldv = value;\n oldi = index;\n value = Array(n0 + n1);\n index = array32(n0 + n1);\n merge(base, oldv, oldi, n0, addv, addi, n1, value, index);\n } else {\n if (base > 0) for (i=0; i<n1; ++i) {\n addi[i] += base;\n }\n value = addv;\n index = addi;\n }\n size = n0 + n1;\n\n return {index: addi, value: addv};\n }\n\n function remove(num, map) {\n // map: index -> remove\n var n = size,\n idx, i, j;\n\n // seek forward to first removal\n for (i=0; !map[index[i]] && i<n; ++i);\n\n // condense index and value arrays\n for (j=i; i<n; ++i) {\n if (!map[idx=index[i]]) {\n index[j] = idx;\n value[j] = value[i];\n ++j;\n }\n }\n\n size = n - num;\n }\n\n function reindex(map) {\n for (var i=0, n=size; i<n; ++i) {\n index[i] = map[index[i]];\n }\n }\n\n function bisect(range, array) {\n var n;\n if (array) {\n n = array.length;\n } else {\n array = value;\n n = size;\n }\n return [\n bisectLeft(array, range[0], 0, n),\n bisectRight(array, range[1], 0, n)\n ];\n }\n\n return {\n insert: insert,\n remove: remove,\n bisect: bisect,\n reindex: reindex,\n index: function() { return index; },\n size: function() { return size; }\n };\n}\n\nfunction sort(values, index) {\n values.sort.call(index, function(a, b) {\n var x = values[a],\n y = values[b];\n return x < y ? -1 : x > y ? 1 : 0;\n });\n return permute(values, index);\n}\n\nfunction merge(base, value0, index0, n0, value1, index1, n1, value, index) {\n var i0 = 0, i1 = 0, i;\n\n for (i=0; i0 < n0 && i1 < n1; ++i) {\n if (value0[i0] < value1[i1]) {\n value[i] = value0[i0];\n index[i] = index0[i0++];\n } else {\n value[i] = value1[i1];\n index[i] = index1[i1++] + base;\n }\n }\n\n for (; i0 < n0; ++i0, ++i) {\n value[i] = value0[i0];\n index[i] = index0[i0];\n }\n\n for (; i1 < n1; ++i1, ++i) {\n value[i] = value1[i1];\n index[i] = index1[i1] + base;\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-crossfilter/src/SortedIndex.js\n// module id = 854\n// module chunks = 0","import {Transform} from 'vega-dataflow';\nimport {inherits} from 'vega-util';\n\n/**\n * Selectively filters tuples by resolving against a filter bitmap.\n * Useful for processing the output of a cross-filter transform.\n * @constructor\n * @param {object} params - The parameters for this operator.\n * @param {object} params.ignore - A bit mask indicating which filters to ignore.\n * @param {object} params.filter - The per-tuple filter bitmaps. Typically this\n * parameter value is a reference to a {@link CrossFilter} transform.\n */\nexport default function ResolveFilter(params) {\n Transform.call(this, null, params);\n}\n\nResolveFilter.Definition = {\n \"type\": \"ResolveFilter\",\n \"metadata\": {},\n \"params\": [\n { \"name\": \"ignore\", \"type\": \"number\", \"required\": true,\n \"description\": \"A bit mask indicating which filters to ignore.\" },\n { \"name\": \"filter\", \"type\": \"object\", \"required\": true,\n \"description\": \"Per-tuple filter bitmaps from a CrossFilter transform.\" }\n ]\n};\n\nvar prototype = inherits(ResolveFilter, Transform);\n\nprototype.transform = function(_, pulse) {\n var ignore = ~(_.ignore || 0), // bit mask where zeros -> dims to ignore\n bitmap = _.filter,\n mask = bitmap.mask;\n\n // exit early if no relevant filter changes\n if ((mask & ignore) === 0) return pulse.StopPropagation;\n\n var output = pulse.fork(pulse.ALL),\n data = bitmap.data(),\n curr = bitmap.curr(),\n prev = bitmap.prev(),\n pass = function(k) {\n return !(curr[k] & ignore) ? data[k] : null;\n };\n\n // propagate all mod tuples that pass the filter\n output.filter(output.MOD, pass);\n\n // determine add & rem tuples via filter functions\n // for efficiency, we do *not* populate new arrays,\n // instead we add filter functions applied downstream\n\n if (!(mask & (mask-1))) { // only one filter changed\n output.filter(output.ADD, pass);\n output.filter(output.REM, function(k) {\n return (curr[k] & ignore) === mask ? data[k] : null;\n });\n\n } else { // multiple filters changed\n output.filter(output.ADD, function(k) {\n var c = curr[k] & ignore,\n f = !c && (c ^ (prev[k] & ignore));\n return f ? data[k] : null;\n });\n output.filter(output.REM, function(k) {\n var c = curr[k] & ignore,\n f = c && !(c ^ (c ^ (prev[k] & ignore)));\n return f ? data[k] : null;\n });\n }\n\n // add filter to source data in case of reflow...\n return output.filter(output.SOURCE, function(t) { return pass(t._index); });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-crossfilter/src/ResolveFilter.js\n// module id = 855\n// module chunks = 0","module.exports = {\"_from\":\"vega-lib@^4.0.0-rc.3\",\"_id\":\"vega-lib@4.2.0\",\"_inBundle\":false,\"_integrity\":\"sha1-eK3AhsewIw2ltBw/38AgK0jiKPo=\",\"_location\":\"/vega-lib\",\"_phantomChildren\":{},\"_requested\":{\"type\":\"range\",\"registry\":true,\"raw\":\"vega-lib@^4.0.0-rc.3\",\"name\":\"vega-lib\",\"escapedName\":\"vega-lib\",\"rawSpec\":\"^4.0.0-rc.3\",\"saveSpec\":null,\"fetchSpec\":\"^4.0.0-rc.3\"},\"_requiredBy\":[\"/\",\"/vega-embed\"],\"_resolved\":\"https://registry.npmjs.org/vega-lib/-/vega-lib-4.2.0.tgz\",\"_shasum\":\"78adc086c7b0230da5b41c3fdfc0202b48e228fa\",\"_spec\":\"vega-lib@^4.0.0-rc.3\",\"_where\":\"/home/travis/build/simonw/datasette-vega\",\"author\":{\"name\":\"UW Interactive Data Lab\",\"url\":\"http://idl.cs.washington.edu\"},\"browser\":{\"buffer\":false,\"fs\":false},\"bugs\":{\"url\":\"https://github.com/vega/vega-lib/issues\"},\"bundleDependencies\":false,\"contributors\":[{\"name\":\"Jeffrey Heer\",\"url\":\"http://idl.cs.washington.edu\"},{\"name\":\"Arvind Satyanarayan\",\"url\":\"http://arvindsatya.com\"},{\"name\":\"Ryan Russell\",\"url\":\"https://github.com/RussellSprouts\"},{\"name\":\"Emily Gu\",\"url\":\"https://github.com/emilygu\"},{\"name\":\"Dominik Moritz\",\"url\":\"https://www.domoritz.de\"},{\"name\":\"Yuri Astrakhan\",\"url\":\"https://github.com/nyurik\"}],\"dependencies\":{\"vega-crossfilter\":\"^3.0.0\",\"vega-dataflow\":\"^4.0.4\",\"vega-encode\":\"^3.1.4\",\"vega-event-selector\":\"^2.0.0\",\"vega-expression\":\"^2.3.1\",\"vega-force\":\"^3.0.0\",\"vega-geo\":\"^3.1.0\",\"vega-hierarchy\":\"^3.0.3\",\"vega-loader\":\"^3.0.1\",\"vega-parser\":\"^3.7.2\",\"vega-projection\":\"^1.2.0\",\"vega-runtime\":\"^3.1.0\",\"vega-scale\":\"^2.4.0\",\"vega-scenegraph\":\"^3.2.2\",\"vega-statistics\":\"^1.2.1\",\"vega-transforms\":\"^2.2.0\",\"vega-typings\":\"*\",\"vega-util\":\"^1.7.0\",\"vega-view\":\"^3.3.3\",\"vega-view-transforms\":\"^2.0.2\",\"vega-voronoi\":\"^3.0.0\",\"vega-wordcloud\":\"^3.0.0\"},\"deprecated\":false,\"description\":\"Include Vega in projects using minimal dependencies.\",\"devDependencies\":{\"eslint\":\"5\",\"rollup\":\"0.62.0\",\"rollup-plugin-json\":\"^3.0.0\",\"rollup-plugin-node-resolve\":\"^3.3.0\",\"tape\":\"4\",\"tv4\":\"1\",\"uglify-js\":\"3\"},\"homepage\":\"https://github.com/vega/vega-lib#readme\",\"jsdelivr\":\"build/vega.min.js\",\"jsnext:main\":\"index\",\"keywords\":[\"vega\",\"visualization\",\"interaction\",\"dataflow\",\"library\",\"data\",\"d3\"],\"license\":\"BSD-3-Clause\",\"main\":\"build/vega.js\",\"module\":\"index\",\"name\":\"vega-lib\",\"repository\":{\"type\":\"git\",\"url\":\"git+https://github.com/vega/vega-lib.git\"},\"scripts\":{\"build\":\"npm run rollup && bin/rollup -e\",\"postbuild\":\"uglifyjs build/vega.js -c -m -o build/vega.min.js && uglifyjs build/vega-core.js -c -m -o build/vega-core.min.js\",\"postpublish\":\"git push && git push --tags\",\"prebuild\":\"rm -rf build && mkdir build\",\"prepublishOnly\":\"npm run test && npm run build\",\"pretest\":\"npm run prebuild && npm run rollup\",\"rollup\":\"bin/rollup && bin/schema > build/vega-schema.json\",\"test\":\"TZ=America/Los_Angeles tape 'test/**/*-test.js' && eslint index.js test\"},\"unpkg\":\"build/vega.min.js\",\"version\":\"4.2.0\"}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lib/package.json\n// module id = 856\n// module chunks = 0","import cursor from './cursor';\nimport {data, change, insert, remove} from './data';\nimport {initializeEventConfig, events} from './events';\nimport hover from './hover';\nimport finalize from './finalize';\nimport initialize from './initialize';\nimport renderToImageURL from './render-to-image-url';\nimport renderToCanvas from './render-to-canvas';\nimport renderToSVG from './render-to-svg';\nimport {resizeRenderer} from './render-size';\nimport runtime from './runtime';\nimport {scale} from './scale';\nimport {resizeView, initializeResize, viewWidth, viewHeight} from './size';\nimport {getState, setState} from './state';\nimport timer from './timer';\nimport defaultTooltip from './tooltip';\nimport trap from './trap';\n\nimport {Dataflow} from 'vega-dataflow';\nimport {error, extend, inherits, stringValue} from 'vega-util';\nimport {\n CanvasHandler, Scenegraph,\n renderModule, RenderType\n} from 'vega-scenegraph';\n\n/**\n * Create a new View instance from a Vega dataflow runtime specification.\n * The generated View will not immediately be ready for display. Callers\n * should also invoke the initialize method (e.g., to set the parent\n * DOM element in browser-based deployment) and then invoke the run\n * method to evaluate the dataflow graph. Rendering will automatically\n * be peformed upon dataflow runs.\n * @constructor\n * @param {object} spec - The Vega dataflow runtime specification.\n */\nexport default function View(spec, options) {\n var view = this;\n options = options || {};\n\n Dataflow.call(view);\n view.loader(options.loader || view._loader);\n view.logLevel(options.logLevel || 0);\n\n view._el = null;\n view._renderType = options.renderer || RenderType.Canvas;\n view._scenegraph = new Scenegraph();\n var root = view._scenegraph.root;\n\n // initialize renderer, handler and event management\n view._renderer = null;\n view._tooltip = options.tooltip || defaultTooltip,\n view._redraw = true;\n view._handler = new CanvasHandler().scene(root);\n view._preventDefault = false;\n view._timers = [];\n view._eventListeners = [];\n view._resizeListeners = [];\n\n // initialize dataflow graph\n var ctx = runtime(view, spec, options.functions);\n view._runtime = ctx;\n view._signals = ctx.signals;\n view._bind = (spec.bindings || []).map(function(_) {\n return {\n state: null,\n param: extend({}, _)\n };\n });\n\n // initialize scenegraph\n if (ctx.root) ctx.root.set(root);\n root.source = ctx.data.root.input;\n view.pulse(\n ctx.data.root.input,\n view.changeset().insert(root.items)\n );\n\n // initialize background color\n view._background = ctx.background || null;\n\n // initialize event configuration\n view._eventConfig = initializeEventConfig(ctx.eventConfig);\n\n // initialize view size\n view._width = view.width();\n view._height = view.height();\n view._viewWidth = viewWidth(view, view._width);\n view._viewHeight = viewHeight(view, view._height);\n view._origin = [0, 0];\n view._resize = 0;\n view._autosize = 1;\n initializeResize(view);\n\n // initialize cursor\n cursor(view);\n}\n\nvar prototype = inherits(View, Dataflow);\n\n// -- DATAFLOW / RENDERING ----\n\nprototype.run = function(encode) {\n // evaluate dataflow\n Dataflow.prototype.run.call(this, encode);\n\n if (this._pending) {\n // resize next cycle if loading data sets\n this.resize();\n } else if (this._redraw || this._resize) {\n // render as needed\n try {\n this.render();\n } catch (e) {\n this.error(e);\n }\n }\n\n return this;\n};\n\nprototype.render = function() {\n if (this._renderer) {\n if (this._resize) {\n this._resize = 0;\n resizeRenderer(this);\n }\n this._renderer.render(this._scenegraph.root);\n }\n this._redraw = false;\n return this;\n};\n\nprototype.dirty = function(item) {\n this._redraw = true;\n this._renderer && this._renderer.dirty(item);\n};\n\n// -- GET / SET ----\n\nprototype.container = function() {\n return this._el;\n};\n\nprototype.scenegraph = function() {\n return this._scenegraph;\n};\n\nprototype.origin = function() {\n return this._origin.slice();\n};\n\nfunction lookupSignal(view, name) {\n return view._signals.hasOwnProperty(name)\n ? view._signals[name]\n : error('Unrecognized signal name: ' + stringValue(name));\n}\n\nprototype.signal = function(name, value, options) {\n var op = lookupSignal(this, name);\n return arguments.length === 1\n ? op.value\n : this.update(op, value, options);\n};\n\nprototype.background = function(_) {\n if (arguments.length) {\n this._background = _;\n this._resize = 1;\n return this;\n } else {\n return this._background;\n }\n};\n\nprototype.width = function(_) {\n return arguments.length ? this.signal('width', _) : this.signal('width');\n};\n\nprototype.height = function(_) {\n return arguments.length ? this.signal('height', _) : this.signal('height');\n};\n\nprototype.padding = function(_) {\n return arguments.length ? this.signal('padding', _) : this.signal('padding');\n};\n\nprototype.autosize = function(_) {\n return arguments.length ? this.signal('autosize', _) : this.signal('autosize');\n};\n\nprototype.renderer = function(type) {\n if (!arguments.length) return this._renderType;\n if (!renderModule(type)) error('Unrecognized renderer type: ' + type);\n if (type !== this._renderType) {\n this._renderType = type;\n this._resetRenderer();\n }\n return this;\n};\n\nprototype.tooltip = function(handler) {\n if (!arguments.length) return this._tooltip;\n if (handler !== this._tooltip) {\n this._tooltip = handler;\n this._resetRenderer();\n }\n return this;\n};\n\nprototype.loader = function(loader) {\n if (!arguments.length) return this._loader;\n if (loader !== this._loader) {\n Dataflow.prototype.loader.call(this, loader);\n this._resetRenderer();\n }\n return this;\n};\n\nprototype.resize = function() {\n // set flag to perform autosize\n this._autosize = 1;\n // touch autosize signal to ensure top-level ViewLayout runs\n return this.touch(lookupSignal(this, 'autosize'));\n};\n\nprototype._resetRenderer = function() {\n if (this._renderer) {\n this._renderer = null;\n this.initialize(this._el);\n }\n};\n\n// -- SIZING ----\nprototype._resizeView = resizeView;\n\n// -- EVENT HANDLING ----\n\nprototype.addEventListener = function(type, handler, options) {\n var callback = handler;\n if (!(options && options.trap === false)) {\n // wrap callback in error handler\n callback = trap(this, handler);\n callback.raw = handler;\n }\n this._handler.on(type, callback);\n return this;\n};\n\nprototype.removeEventListener = function(type, handler) {\n var handlers = this._handler.handlers(type),\n i = handlers.length, h, t;\n\n // search registered handlers, remove if match found\n while (--i >= 0) {\n t = handlers[i].type;\n h = handlers[i].handler;\n if (type === t && (handler === h || handler === h.raw)) {\n this._handler.off(t, h);\n break;\n }\n }\n return this;\n};\n\nprototype.addResizeListener = function(handler) {\n var l = this._resizeListeners;\n if (l.indexOf(handler) < 0) {\n // add handler if it isn't already registered\n // note: error trapping handled elsewhere, so\n // no need to wrap handlers here\n l.push(handler);\n }\n return this;\n};\n\nprototype.removeResizeListener = function(handler) {\n var l = this._resizeListeners,\n i = l.indexOf(handler);\n if (i >= 0) {\n l.splice(i, 1);\n }\n return this;\n};\n\nfunction findSignalHandler(signal, handler) {\n var t = signal._targets || [],\n h = t.filter(function(op) {\n var u = op._update;\n return u && u.handler === handler;\n });\n return h.length ? h[0] : null;\n}\n\nprototype.addSignalListener = function(name, handler) {\n var s = lookupSignal(this, name),\n h = findSignalHandler(s, handler);\n\n if (!h) {\n h = trap(this, function() { handler(name, s.value); });\n h.handler = handler;\n this.on(s, null, h);\n }\n return this;\n};\n\nprototype.removeSignalListener = function(name, handler) {\n var s = lookupSignal(this, name),\n h = findSignalHandler(s, handler);\n\n if (h) s._targets.remove(h);\n return this;\n};\n\nprototype.preventDefault = function(_) {\n if (arguments.length) {\n this._preventDefault = _;\n return this;\n } else {\n return this._preventDefault;\n }\n};\n\nprototype.timer = timer;\nprototype.events = events;\nprototype.finalize = finalize;\nprototype.hover = hover;\n\n// -- DATA ----\nprototype.data = data;\nprototype.change = change;\nprototype.insert = insert;\nprototype.remove = remove;\n\n// -- SCALES --\nprototype.scale = scale;\n\n// -- INITIALIZATION ----\nprototype.initialize = initialize;\n\n// -- HEADLESS RENDERING ----\nprototype.toImageURL = renderToImageURL;\nprototype.toCanvas = renderToCanvas;\nprototype.toSVG = renderToSVG;\n\n// -- SAVE / RESTORE STATE ----\nprototype.getState = getState;\nprototype.setState = setState;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-view/src/View.js\n// module id = 858\n// module chunks = 0","import {isString} from 'vega-util';\n\nvar Default = 'default';\n\nexport default function(view) {\n var cursor = view._signals.cursor;\n\n // add cursor signal to dataflow, if needed\n if (!cursor) {\n view._signals.cursor = (cursor = view.add({user: Default, item: null}));\n }\n\n // evaluate cursor on each mousemove event\n view.on(view.events('view', 'mousemove'), cursor,\n function(_, event) {\n var value = cursor.value,\n user = value ? (isString(value) ? value : value.user) : Default,\n item = event.item && event.item.cursor || null;\n\n return (value && user === value.user && item == value.item) ? value\n : {user: user, item: item};\n }\n );\n\n // when cursor signal updates, set visible cursor\n view.add(null, function(_) {\n var user = _.cursor,\n item = this.value;\n\n if (!isString(user)) {\n item = user.item;\n user = user.user;\n }\n\n setCursor(user && user !== Default ? user : (item || user));\n\n return item;\n }, {cursor: cursor});\n}\n\nfunction setCursor(cursor) {\n // set cursor on document body\n // this ensures cursor applies even if dragging out of view\n if (typeof document !== 'undefined' && document.body) {\n document.body.style.cursor = cursor;\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-view/src/cursor.js\n// module id = 859\n// module chunks = 0","import {changeset, isChangeSet} from 'vega-dataflow';\nimport {error} from 'vega-util';\n\nfunction dataref(view, name) {\n var data = view._runtime.data;\n if (!data.hasOwnProperty(name)) {\n error('Unrecognized data set: ' + name);\n }\n return data[name];\n}\n\nexport function data(name) {\n return dataref(this, name).values.value;\n}\n\nexport function change(name, changes) {\n if (!isChangeSet(changes)) {\n error('Second argument to changes must be a changeset.');\n }\n var dataset = dataref(this, name);\n dataset.modified = true;\n return this.pulse(dataset.input, changes);\n}\n\nexport function insert(name, _) {\n return change.call(this, name, changeset().insert(_));\n}\n\nexport function remove(name, _) {\n return change.call(this, name, changeset().remove(_));\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-view/src/data.js\n// module id = 860\n// module chunks = 0","import eventExtend from './events-extend';\nimport {EventStream} from 'vega-dataflow';\nimport {extend, isArray, toSet} from 'vega-util';\n\nvar VIEW = 'view',\n TIMER = 'timer',\n WINDOW = 'window',\n NO_TRAP = {trap: false};\n\n/**\n * Initialize event handling configuration.\n * @param {object} config - The configuration settings.\n * @return {object}\n */\nexport function initializeEventConfig(config) {\n config = extend({}, config);\n\n var def = config.defaults;\n if (def) {\n if (isArray(def.prevent)) {\n def.prevent = toSet(def.prevent);\n }\n if (isArray(def.allow)) {\n def.allow = toSet(def.allow);\n }\n }\n\n return config;\n}\n\nfunction prevent(view, type) {\n var def = view._eventConfig.defaults,\n prevent = def && def.prevent,\n allow = def && def.allow;\n\n return prevent === false || allow === true ? false\n : prevent === true || allow === false ? true\n : prevent ? prevent[type]\n : allow ? !allow[type]\n : view.preventDefault();\n}\n\n/**\n * Create a new event stream from an event source.\n * @param {object} source - The event source to monitor.\n * @param {string} type - The event type.\n * @param {function(object): boolean} [filter] - Event filter function.\n * @return {EventStream}\n */\nexport function events(source, type, filter) {\n var view = this,\n s = new EventStream(filter),\n send = function(e, item) {\n if (source === VIEW && prevent(view, type)) {\n e.preventDefault();\n }\n try {\n s.receive(eventExtend(view, e, item));\n } catch (error) {\n view.error(error);\n } finally {\n view.run();\n }\n },\n sources;\n\n if (source === TIMER) {\n view.timer(send, type);\n }\n\n else if (source === VIEW) {\n // send traps errors, so use {trap: false} option\n view.addEventListener(type, send, NO_TRAP);\n }\n\n else {\n if (source === WINDOW) {\n if (typeof window !== 'undefined') sources = [window];\n } else if (typeof document !== 'undefined') {\n sources = document.querySelectorAll(source);\n }\n\n if (!sources) {\n view.warn('Can not resolve event source: ' + source);\n } else {\n for (var i=0, n=sources.length; i<n; ++i) {\n sources[i].addEventListener(type, send);\n }\n\n view._eventListeners.push({\n type: type,\n sources: sources,\n handler: send\n });\n }\n }\n\n return s;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-view/src/events.js\n// module id = 861\n// module chunks = 0","import {offset} from './render-size';\nimport {constant, isString} from 'vega-util';\nimport {point} from 'vega-scenegraph';\n\n/**\n * Extend an event with additional view-specific methods.\n * Adds a new property ('vega') to an event that provides a number\n * of methods for querying information about the current interaction.\n * The vega object provides the following methods:\n * view - Returns the backing View instance.\n * item - Returns the currently active scenegraph item (if any).\n * group - Returns the currently active scenegraph group (if any).\n * This method accepts a single string-typed argument indicating the name\n * of the desired parent group. The scenegraph will be traversed from\n * the item up towards the root to search for a matching group. If no\n * argument is provided the enclosing group for the active item is\n * returned, unless the item it itself a group, in which case it is\n * returned directly.\n * xy - Returns a two-element array containing the x and y coordinates for\n * mouse or touch events. For touch events, this is based on the first\n * elements in the changedTouches array. This method accepts a single\n * argument: either an item instance or mark name that should serve as\n * the reference coordinate system. If no argument is provided the\n * top-level view coordinate system is assumed.\n * x - Returns the current x-coordinate, accepts the same arguments as xy.\n * y - Returns the current y-coordinate, accepts the same arguments as xy.\n * @param {Event} event - The input event to extend.\n * @param {Item} item - The currently active scenegraph item (if any).\n * @return {Event} - The extended input event.\n */\nexport default function(view, event, item) {\n var el = view._renderer.canvas(),\n p, e, translate;\n\n if (el) {\n translate = offset(view);\n e = event.changedTouches ? event.changedTouches[0] : event;\n p = point(e, el);\n p[0] -= translate[0];\n p[1] -= translate[1];\n }\n\n event.dataflow = view;\n event.vega = extension(view, item, p);\n event.item = item;\n return event;\n}\n\nfunction extension(view, item, point) {\n var itemGroup = item\n ? item.mark.marktype === 'group' ? item : item.mark.group\n : null;\n\n function group(name) {\n var g = itemGroup, i;\n if (name) for (i = item; i; i = i.mark.group) {\n if (i.mark.name === name) { g = i; break; }\n }\n return g && g.mark && g.mark.interactive ? g : {};\n }\n\n function xy(item) {\n if (!item) return point;\n if (isString(item)) item = group(item);\n\n var p = point.slice();\n while (item) {\n p[0] -= item.x || 0;\n p[1] -= item.y || 0;\n item = item.mark && item.mark.group;\n }\n return p;\n }\n\n return {\n view: constant(view),\n item: constant(item || {}),\n group: group,\n xy: xy,\n x: function(item) { return xy(item)[0]; },\n y: function(item) { return xy(item)[1]; }\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-view/src/events-extend.js\n// module id = 862\n// module chunks = 0","function itemFilter(event) {\n return event.item;\n}\n\nfunction markTarget(event) {\n // grab upstream collector feeding the mark operator\n var source = event.item.mark.source;\n return source.source || source;\n}\n\nfunction invoke(name) {\n return function(_, event) {\n return event.vega.view()\n .changeset()\n .encode(event.item, name);\n };\n}\n\nexport default function(hoverSet, leaveSet) {\n hoverSet = [hoverSet || 'hover'];\n leaveSet = [leaveSet || 'update', hoverSet[0]];\n\n // invoke hover set upon mouseover\n this.on(\n this.events('view', 'mouseover', itemFilter),\n markTarget,\n invoke(hoverSet)\n );\n\n // invoke leave set upon mouseout\n this.on(\n this.events('view', 'mouseout', itemFilter),\n markTarget,\n invoke(leaveSet)\n );\n\n return this;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-view/src/hover.js\n// module id = 863\n// module chunks = 0","/**\n * Finalize a View instance that is being removed.\n * Cancel any running timers.\n * Remove all external event listeners.\n * Remove any currently displayed tooltip.\n */\nexport default function() {\n var tooltip = this._tooltip,\n timers = this._timers,\n listeners = this._eventListeners,\n n, m, e;\n\n n = timers.length;\n while (--n >= 0) {\n timers[n].stop();\n }\n\n n = listeners.length;\n while (--n >= 0) {\n e = listeners[n];\n m = e.sources.length;\n while (--m >= 0) {\n e.sources[m].removeEventListener(e.type, e.handler);\n }\n }\n\n if (tooltip) {\n tooltip.call(this, this._handler, null, null, null);\n }\n\n return this;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-view/src/finalize.js\n// module id = 864\n// module chunks = 0","import bind from './bind';\nimport element from './element';\nimport initializeRenderer from './initialize-renderer';\nimport initializeHandler from './initialize-handler';\nimport {CanvasHandler, renderModule} from 'vega-scenegraph';\n\nexport default function(el, elBind) {\n var view = this,\n type = view._renderType,\n module = renderModule(type),\n Handler, Renderer;\n\n // containing dom element\n el = view._el = el ? lookup(view, el) : null;\n\n // select appropriate renderer & handler\n if (!module) view.error('Unrecognized renderer type: ' + type);\n Handler = module.handler || CanvasHandler;\n Renderer = (el ? module.renderer : module.headless);\n\n // initialize renderer and input handler\n view._renderer = !Renderer ? null\n : initializeRenderer(view, view._renderer, el, Renderer);\n view._handler = initializeHandler(view, view._handler, el, Handler);\n view._redraw = true;\n\n // initialize signal bindings\n if (el) {\n elBind = elBind ? lookup(view, elBind)\n : el.appendChild(element('div', {'class': 'vega-bindings'}));\n\n view._bind.forEach(function(_) {\n if (_.param.element) {\n _.element = lookup(view, _.param.element);\n }\n });\n\n view._bind.forEach(function(_) {\n bind(view, _.element || elBind, _);\n });\n }\n\n return view;\n}\n\nfunction lookup(view, el) {\n if (typeof el === 'string') {\n if (typeof document !== 'undefined') {\n el = document.querySelector(el);\n if (!el) {\n view.error('Signal bind element not found: ' + el);\n return null;\n }\n } else {\n view.error('DOM document instance not found.');\n return null;\n }\n }\n if (el) {\n try {\n el.innerHTML = '';\n } catch (e) {\n el = null;\n view.error(e);\n }\n }\n return el;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-view/src/initialize.js\n// module id = 865\n// module chunks = 0","import element from './element';\nimport {debounce} from 'vega-util';\nimport {tickStep} from 'd3-array';\n\nvar BindClass = 'vega-bind',\n NameClass = 'vega-bind-name',\n RadioClass = 'vega-bind-radio',\n OptionClass = 'vega-option-';\n\n/**\n * Bind a signal to an external HTML input element. The resulting two-way\n * binding will propagate input changes to signals, and propagate signal\n * changes to the input element state. If this view instance has no parent\n * element, we assume the view is headless and no bindings are created.\n * @param {Element|string} el - The parent DOM element to which the input\n * element should be appended as a child. If string-valued, this argument\n * will be treated as a CSS selector. If null or undefined, the parent\n * element of this view will be used as the element.\n * @param {object} param - The binding parameters which specify the signal\n * to bind to, the input element type, and type-specific configuration.\n * @return {View} - This view instance.\n */\nexport default function(view, el, binding) {\n if (!el) return;\n\n var param = binding.param,\n bind = binding.state;\n\n if (!bind) {\n bind = binding.state = {\n elements: null,\n active: false,\n set: null,\n update: function(value) {\n if (value !== view.signal(param.signal)) {\n bind.source = true;\n view.signal(param.signal, value).run();\n }\n }\n };\n if (param.debounce) {\n bind.update = debounce(param.debounce, bind.update);\n }\n }\n\n generate(bind, el, param, view.signal(param.signal));\n\n if (!bind.active) {\n view.on(view._signals[param.signal], null, function() {\n bind.source\n ? (bind.source = false)\n : bind.set(view.signal(param.signal));\n });\n bind.active = true;\n }\n\n return bind;\n}\n\n/**\n * Generate an HTML input form element and bind it to a signal.\n */\nfunction generate(bind, el, param, value) {\n var div = element('div', {'class': BindClass});\n\n div.appendChild(element('span',\n {'class': NameClass},\n (param.name || param.signal)\n ));\n\n el.appendChild(div);\n\n var input = form;\n switch (param.input) {\n case 'checkbox': input = checkbox; break;\n case 'select': input = select; break;\n case 'radio': input = radio; break;\n case 'range': input = range; break;\n }\n\n input(bind, div, param, value);\n}\n\n/**\n * Generates an arbitrary input form element.\n * The input type is controlled via user-provided parameters.\n */\nfunction form(bind, el, param, value) {\n var node = element('input');\n\n for (var key in param) {\n if (key !== 'signal' && key !== 'element') {\n node.setAttribute(key === 'input' ? 'type' : key, param[key]);\n }\n }\n node.setAttribute('name', param.signal);\n node.value = value;\n\n el.appendChild(node);\n\n node.addEventListener('input', function() {\n bind.update(node.value);\n });\n\n bind.elements = [node];\n bind.set = function(value) { node.value = value; };\n}\n\n/**\n * Generates a checkbox input element.\n */\nfunction checkbox(bind, el, param, value) {\n var attr = {type: 'checkbox', name: param.signal};\n if (value) attr.checked = true;\n var node = element('input', attr);\n\n el.appendChild(node);\n\n node.addEventListener('change', function() {\n bind.update(node.checked);\n });\n\n bind.elements = [node];\n bind.set = function(value) { node.checked = !!value || null; }\n}\n\n/**\n * Generates a selection list input element.\n */\nfunction select(bind, el, param, value) {\n var node = element('select', {name: param.signal});\n\n param.options.forEach(function(option) {\n var attr = {value: option};\n if (valuesEqual(option, value)) attr.selected = true;\n node.appendChild(element('option', attr, option+''));\n });\n\n el.appendChild(node);\n\n node.addEventListener('change', function() {\n bind.update(param.options[node.selectedIndex]);\n });\n\n bind.elements = [node];\n bind.set = function(value) {\n for (var i=0, n=param.options.length; i<n; ++i) {\n if (valuesEqual(param.options[i], value)) {\n node.selectedIndex = i; return;\n }\n }\n };\n}\n\n/**\n * Generates a radio button group.\n */\nfunction radio(bind, el, param, value) {\n var group = element('span', {'class': RadioClass});\n\n el.appendChild(group);\n\n bind.elements = param.options.map(function(option) {\n var id = OptionClass + param.signal + '-' + option;\n\n var attr = {\n id: id,\n type: 'radio',\n name: param.signal,\n value: option\n };\n if (valuesEqual(option, value)) attr.checked = true;\n\n var input = element('input', attr);\n\n input.addEventListener('change', function() {\n bind.update(option);\n });\n\n group.appendChild(input);\n group.appendChild(element('label', {'for': id}, option+''));\n\n return input;\n });\n\n bind.set = function(value) {\n var nodes = bind.elements,\n i = 0,\n n = nodes.length;\n for (; i<n; ++i) {\n if (valuesEqual(nodes[i].value, value)) nodes[i].checked = true;\n }\n };\n}\n\n/**\n * Generates a slider input element.\n */\nfunction range(bind, el, param, value) {\n value = value !== undefined ? value : ((+param.max) + (+param.min)) / 2;\n\n var min = param.min || Math.min(0, +value) || 0,\n max = param.max || Math.max(100, +value) || 100,\n step = param.step || tickStep(min, max, 100);\n\n var node = element('input', {\n type: 'range',\n name: param.signal,\n min: min,\n max: max,\n step: step\n });\n node.value = value;\n\n var label = element('label', {}, +value);\n\n el.appendChild(node);\n el.appendChild(label);\n\n function update() {\n label.textContent = node.value;\n bind.update(+node.value);\n }\n\n // subscribe to both input and change\n node.addEventListener('input', update);\n node.addEventListener('change', update);\n\n bind.elements = [node];\n bind.set = function(value) {\n node.value = value;\n label.textContent = value;\n };\n}\n\nfunction valuesEqual(a, b) {\n return a === b || (a+'' === b+'');\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-view/src/bind.js\n// module id = 866\n// module chunks = 0","import {offset} from './render-size';\nimport trap from './trap';\n\nexport default function(view, prevHandler, el, constructor) {\n // instantiate scenegraph handler\n var handler = new constructor(view.loader(), trap(view, view.tooltip()))\n .scene(view.scenegraph().root)\n .initialize(el, offset(view), view);\n\n // transfer event handlers\n if (prevHandler) {\n prevHandler.handlers().forEach(function(h) {\n handler.on(h.type, h.handler);\n });\n }\n\n return handler;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-view/src/initialize-handler.js\n// module id = 867\n// module chunks = 0","import renderHeadless from './render-headless';\nimport {RenderType as Type} from 'vega-scenegraph';\n\n/**\n * Produce an image URL for the visualization. Depending on the type\n * parameter, the generated URL contains data for either a PNG or SVG image.\n * The URL can be used (for example) to download images of the visualization.\n * This method is asynchronous, returning a Promise instance.\n * @param {string} type - The image type. One of 'svg', 'png' or 'canvas'.\n * The 'canvas' and 'png' types are synonyms for a PNG image.\n * @return {Promise} - A promise that resolves to an image URL.\n */\nexport default function(type, scaleFactor) {\n return (type !== Type.Canvas && type !== Type.SVG && type !== Type.PNG)\n ? Promise.reject('Unrecognized image type: ' + type)\n : renderHeadless(this, type, scaleFactor).then(function(renderer) {\n return type === Type.SVG\n ? toBlobURL(renderer.svg(), 'image/svg+xml')\n : renderer.canvas().toDataURL('image/png');\n });\n}\n\nfunction toBlobURL(data, mime) {\n var blob = new Blob([data], {type: mime});\n return window.URL.createObjectURL(blob);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-view/src/render-to-image-url.js\n// module id = 868\n// module chunks = 0","import renderHeadless from './render-headless';\nimport {RenderType} from 'vega-scenegraph';\n\n/**\n * Produce a Canvas instance containing a rendered visualization.\n * This method is asynchronous, returning a Promise instance.\n * @return {Promise} - A promise that resolves to a Canvas instance.\n */\nexport default function(scaleFactor) {\n return renderHeadless(this, RenderType.Canvas, scaleFactor)\n .then(function(renderer) { return renderer.canvas(); });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-view/src/render-to-canvas.js\n// module id = 869\n// module chunks = 0","import renderHeadless from './render-headless';\nimport {RenderType} from 'vega-scenegraph';\n\n/**\n * Produce a rendered SVG string of the visualization.\n * This method is asynchronous, returning a Promise instance.\n * @return {Promise} - A promise that resolves to an SVG string.\n */\nexport default function(scaleFactor) {\n return renderHeadless(this, RenderType.SVG, scaleFactor)\n .then(function(renderer) { return renderer.svg(); });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-view/src/render-to-svg.js\n// module id = 870\n// module chunks = 0","import {transforms} from 'vega-dataflow';\nimport {functionContext} from 'vega-parser';\nimport {parse, context} from 'vega-runtime';\n\nexport default function(view, spec, functions) {\n var fn = functions || functionContext;\n return parse(spec, context(view, transforms, fn));\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-view/src/runtime.js\n// module id = 871\n// module chunks = 0","import parseView from './parsers/view';\nimport Scope from './Scope';\nimport defaults from './config';\nimport {error, isObject} from 'vega-util';\n\nexport default function(spec, config) {\n if (!isObject(spec)) error('Input Vega specification must be an object.');\n return parseView(spec, new Scope(defaults([config, spec.config])))\n .toRuntime();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parse.js\n// module id = 872\n// module chunks = 0","import parseAutosize from './autosize';\nimport parsePadding from './padding';\nimport parseSignal from './signal';\nimport parseSpec from './spec';\nimport {encoders, extendEncode} from './encode/encode-util';\nimport {GroupMark} from './marks/marktypes';\nimport {FrameRole} from './marks/roles';\nimport {ref, operator} from '../util';\nimport DataScope from '../DataScope';\nimport {Bound, Collect, Encode, Render, Sieve, ViewLayout} from '../transforms';\nimport {array, toSet} from 'vega-util';\n\nvar defined = toSet(['width', 'height', 'padding', 'autosize']);\n\nexport default function parseView(spec, scope) {\n var config = scope.config,\n op, input, encode, parent, root;\n\n scope.background = spec.background || config.background;\n scope.eventConfig = config.events;\n root = ref(scope.root = scope.add(operator()));\n scope.addSignal('width', spec.width || 0);\n scope.addSignal('height', spec.height || 0);\n scope.addSignal('padding', parsePadding(spec.padding, config));\n scope.addSignal('autosize', parseAutosize(spec.autosize, config));\n\n array(spec.signals).forEach(function(_) {\n if (!defined[_.name]) parseSignal(_, scope);\n });\n\n // Store root group item\n input = scope.add(Collect());\n\n // Encode root group item\n encode = extendEncode({\n enter: { x: {value: 0}, y: {value: 0} },\n update: { width: {signal: 'width'}, height: {signal: 'height'} }\n }, spec.encode);\n\n encode = scope.add(Encode(\n encoders(encode, GroupMark, FrameRole, spec.style, scope, {pulse: ref(input)}))\n );\n\n // Perform view layout\n parent = scope.add(ViewLayout({\n layout: scope.objectProperty(spec.layout),\n legendMargin: config.legendMargin,\n autosize: scope.signalRef('autosize'),\n mark: root,\n pulse: ref(encode)\n }));\n scope.operators.pop();\n\n // Parse remainder of specification\n scope.pushState(ref(encode), ref(parent), null);\n parseSpec(spec, scope, true);\n scope.operators.push(parent);\n\n // Bound / render / sieve root item\n op = scope.add(Bound({mark: root, pulse: ref(parent)}));\n op = scope.add(Render({pulse: ref(op)}));\n op = scope.add(Sieve({pulse: ref(op)}));\n\n // Track metadata for root item\n scope.addData('root', new DataScope(scope, input, input, op));\n\n return scope;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/view.js\n// module id = 873\n// module chunks = 0","import {isObject} from 'vega-util';\n\nexport default function(spec, config) {\n spec = spec || config.autosize;\n if (isObject(spec)) {\n return spec;\n } else {\n spec = spec || 'pad';\n return {type: spec};\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/autosize.js\n// module id = 874\n// module chunks = 0","import {isObject} from 'vega-util';\n\nexport default function(spec, config) {\n spec = spec || config.padding;\n return isObject(spec)\n ? {\n top: number(spec.top),\n bottom: number(spec.bottom),\n left: number(spec.left),\n right: number(spec.right)\n }\n : paddingObject(number(spec));\n}\n\nfunction number(_) {\n return +_ || 0;\n}\n\nfunction paddingObject(_) {\n return {top: _, bottom: _, left: _, right: _};\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/padding.js\n// module id = 875\n// module chunks = 0","/*\n The following expression parser is based on Esprima (http://esprima.org/).\n Original header comment and license for Esprima is included here:\n\n Copyright (C) 2013 Ariya Hidayat <ariya.hidayat@gmail.com>\n Copyright (C) 2013 Thaddee Tyl <thaddee.tyl@gmail.com>\n Copyright (C) 2013 Mathias Bynens <mathias@qiwi.be>\n Copyright (C) 2012 Ariya Hidayat <ariya.hidayat@gmail.com>\n Copyright (C) 2012 Mathias Bynens <mathias@qiwi.be>\n Copyright (C) 2012 Joost-Wim Boekesteijn <joost-wim@boekesteijn.nl>\n Copyright (C) 2012 Kris Kowal <kris.kowal@cixar.com>\n Copyright (C) 2012 Yusuke Suzuki <utatane.tea@gmail.com>\n Copyright (C) 2012 Arpad Borsos <arpad.borsos@googlemail.com>\n Copyright (C) 2011 Ariya Hidayat <ariya.hidayat@gmail.com>\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY\n DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\nimport ASTNode from './ast';\n\nvar TokenName,\n source,\n index,\n length,\n lookahead;\n\nvar TokenBooleanLiteral = 1,\n TokenEOF = 2,\n TokenIdentifier = 3,\n TokenKeyword = 4,\n TokenNullLiteral = 5,\n TokenNumericLiteral = 6,\n TokenPunctuator = 7,\n TokenStringLiteral = 8,\n TokenRegularExpression = 9;\n\nTokenName = {};\nTokenName[TokenBooleanLiteral] = 'Boolean';\nTokenName[TokenEOF] = '<end>';\nTokenName[TokenIdentifier] = 'Identifier';\nTokenName[TokenKeyword] = 'Keyword';\nTokenName[TokenNullLiteral] = 'Null';\nTokenName[TokenNumericLiteral] = 'Numeric';\nTokenName[TokenPunctuator] = 'Punctuator';\nTokenName[TokenStringLiteral] = 'String';\nTokenName[TokenRegularExpression] = 'RegularExpression';\n\nvar SyntaxArrayExpression = 'ArrayExpression',\n SyntaxBinaryExpression = 'BinaryExpression',\n SyntaxCallExpression = 'CallExpression',\n SyntaxConditionalExpression = 'ConditionalExpression',\n SyntaxIdentifier = 'Identifier',\n SyntaxLiteral = 'Literal',\n SyntaxLogicalExpression = 'LogicalExpression',\n SyntaxMemberExpression = 'MemberExpression',\n SyntaxObjectExpression = 'ObjectExpression',\n SyntaxProperty = 'Property',\n SyntaxUnaryExpression = 'UnaryExpression';\n\n// Error messages should be identical to V8.\nvar MessageUnexpectedToken = 'Unexpected token %0',\n MessageUnexpectedNumber = 'Unexpected number',\n MessageUnexpectedString = 'Unexpected string',\n MessageUnexpectedIdentifier = 'Unexpected identifier',\n MessageUnexpectedReserved = 'Unexpected reserved word',\n MessageUnexpectedEOS = 'Unexpected end of input',\n MessageInvalidRegExp = 'Invalid regular expression',\n MessageUnterminatedRegExp = 'Invalid regular expression: missing /',\n MessageStrictOctalLiteral = 'Octal literals are not allowed in strict mode.',\n MessageStrictDuplicateProperty = 'Duplicate data property in object literal not allowed in strict mode';\n\nvar ILLEGAL = 'ILLEGAL',\n DISABLED = 'Disabled.';\n\n// See also tools/generate-unicode-regex.py.\nvar RegexNonAsciiIdentifierStart = new RegExp('[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B2\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]'),\n RegexNonAsciiIdentifierPart = new RegExp('[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B2\\u08E4-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58\\u0C59\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D60-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA69D\\uA69F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2D\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]');\n\n// Ensure the condition is true, otherwise throw an error.\n// This is only to have a better contract semantic, i.e. another safety net\n// to catch a logic error. The condition shall be fulfilled in normal case.\n// Do NOT use this to enforce a certain condition on any user input.\n\nfunction assert(condition, message) {\n /* istanbul ignore next */\n if (!condition) {\n throw new Error('ASSERT: ' + message);\n }\n}\n\nfunction isDecimalDigit(ch) {\n return (ch >= 0x30 && ch <= 0x39); // 0..9\n}\n\nfunction isHexDigit(ch) {\n return '0123456789abcdefABCDEF'.indexOf(ch) >= 0;\n}\n\nfunction isOctalDigit(ch) {\n return '01234567'.indexOf(ch) >= 0;\n}\n\n// 7.2 White Space\n\nfunction isWhiteSpace(ch) {\n return (ch === 0x20) || (ch === 0x09) || (ch === 0x0B) || (ch === 0x0C) || (ch === 0xA0) ||\n (ch >= 0x1680 && [0x1680, 0x180E, 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2007, 0x2008, 0x2009, 0x200A, 0x202F, 0x205F, 0x3000, 0xFEFF].indexOf(ch) >= 0);\n}\n\n// 7.3 Line Terminators\n\nfunction isLineTerminator(ch) {\n return (ch === 0x0A) || (ch === 0x0D) || (ch === 0x2028) || (ch === 0x2029);\n}\n\n// 7.6 Identifier Names and Identifiers\n\nfunction isIdentifierStart(ch) {\n return (ch === 0x24) || (ch === 0x5F) || // $ (dollar) and _ (underscore)\n (ch >= 0x41 && ch <= 0x5A) || // A..Z\n (ch >= 0x61 && ch <= 0x7A) || // a..z\n (ch === 0x5C) || // \\ (backslash)\n ((ch >= 0x80) && RegexNonAsciiIdentifierStart.test(String.fromCharCode(ch)));\n}\n\nfunction isIdentifierPart(ch) {\n return (ch === 0x24) || (ch === 0x5F) || // $ (dollar) and _ (underscore)\n (ch >= 0x41 && ch <= 0x5A) || // A..Z\n (ch >= 0x61 && ch <= 0x7A) || // a..z\n (ch >= 0x30 && ch <= 0x39) || // 0..9\n (ch === 0x5C) || // \\ (backslash)\n ((ch >= 0x80) && RegexNonAsciiIdentifierPart.test(String.fromCharCode(ch)));\n}\n\n// 7.6.1.1 Keywords\n\nvar keywords = {\n 'if':1, 'in':1, 'do':1,\n 'var':1, 'for':1, 'new':1, 'try':1, 'let':1,\n 'this':1, 'else':1, 'case':1, 'void':1, 'with':1, 'enum':1,\n 'while':1, 'break':1, 'catch':1, 'throw':1, 'const':1, 'yield':1, 'class':1, 'super':1,\n 'return':1, 'typeof':1, 'delete':1, 'switch':1, 'export':1, 'import':1, 'public':1, 'static':1,\n 'default':1, 'finally':1, 'extends':1, 'package':1, 'private':1,\n 'function':1, 'continue':1, 'debugger':1,\n 'interface':1, 'protected':1,\n 'instanceof':1, 'implements':1\n};\n\nfunction skipComment() {\n var ch;\n\n while (index < length) {\n ch = source.charCodeAt(index);\n\n if (isWhiteSpace(ch) || isLineTerminator(ch)) {\n ++index;\n } else {\n break;\n }\n }\n}\n\nfunction scanHexEscape(prefix) {\n var i, len, ch, code = 0;\n\n len = (prefix === 'u') ? 4 : 2;\n for (i = 0; i < len; ++i) {\n if (index < length && isHexDigit(source[index])) {\n ch = source[index++];\n code = code * 16 + '0123456789abcdef'.indexOf(ch.toLowerCase());\n } else {\n throwError({}, MessageUnexpectedToken, ILLEGAL);\n }\n }\n return String.fromCharCode(code);\n}\n\nfunction scanUnicodeCodePointEscape() {\n var ch, code, cu1, cu2;\n\n ch = source[index];\n code = 0;\n\n // At least, one hex digit is required.\n if (ch === '}') {\n throwError({}, MessageUnexpectedToken, ILLEGAL);\n }\n\n while (index < length) {\n ch = source[index++];\n if (!isHexDigit(ch)) {\n break;\n }\n code = code * 16 + '0123456789abcdef'.indexOf(ch.toLowerCase());\n }\n\n if (code > 0x10FFFF || ch !== '}') {\n throwError({}, MessageUnexpectedToken, ILLEGAL);\n }\n\n // UTF-16 Encoding\n if (code <= 0xFFFF) {\n return String.fromCharCode(code);\n }\n cu1 = ((code - 0x10000) >> 10) + 0xD800;\n cu2 = ((code - 0x10000) & 1023) + 0xDC00;\n return String.fromCharCode(cu1, cu2);\n}\n\nfunction getEscapedIdentifier() {\n var ch, id;\n\n ch = source.charCodeAt(index++);\n id = String.fromCharCode(ch);\n\n // '\\u' (U+005C, U+0075) denotes an escaped character.\n if (ch === 0x5C) {\n if (source.charCodeAt(index) !== 0x75) {\n throwError({}, MessageUnexpectedToken, ILLEGAL);\n }\n ++index;\n ch = scanHexEscape('u');\n if (!ch || ch === '\\\\' || !isIdentifierStart(ch.charCodeAt(0))) {\n throwError({}, MessageUnexpectedToken, ILLEGAL);\n }\n id = ch;\n }\n\n while (index < length) {\n ch = source.charCodeAt(index);\n if (!isIdentifierPart(ch)) {\n break;\n }\n ++index;\n id += String.fromCharCode(ch);\n\n // '\\u' (U+005C, U+0075) denotes an escaped character.\n if (ch === 0x5C) {\n id = id.substr(0, id.length - 1);\n if (source.charCodeAt(index) !== 0x75) {\n throwError({}, MessageUnexpectedToken, ILLEGAL);\n }\n ++index;\n ch = scanHexEscape('u');\n if (!ch || ch === '\\\\' || !isIdentifierPart(ch.charCodeAt(0))) {\n throwError({}, MessageUnexpectedToken, ILLEGAL);\n }\n id += ch;\n }\n }\n\n return id;\n}\n\nfunction getIdentifier() {\n var start, ch;\n\n start = index++;\n while (index < length) {\n ch = source.charCodeAt(index);\n if (ch === 0x5C) {\n // Blackslash (U+005C) marks Unicode escape sequence.\n index = start;\n return getEscapedIdentifier();\n }\n if (isIdentifierPart(ch)) {\n ++index;\n } else {\n break;\n }\n }\n\n return source.slice(start, index);\n}\n\nfunction scanIdentifier() {\n var start, id, type;\n\n start = index;\n\n // Backslash (U+005C) starts an escaped character.\n id = (source.charCodeAt(index) === 0x5C) ? getEscapedIdentifier() : getIdentifier();\n\n // There is no keyword or literal with only one character.\n // Thus, it must be an identifier.\n if (id.length === 1) {\n type = TokenIdentifier;\n } else if (keywords.hasOwnProperty(id)) {\n type = TokenKeyword;\n } else if (id === 'null') {\n type = TokenNullLiteral;\n } else if (id === 'true' || id === 'false') {\n type = TokenBooleanLiteral;\n } else {\n type = TokenIdentifier;\n }\n\n return {\n type: type,\n value: id,\n start: start,\n end: index\n };\n}\n\n// 7.7 Punctuators\n\nfunction scanPunctuator() {\n var start = index,\n code = source.charCodeAt(index),\n code2,\n ch1 = source[index],\n ch2,\n ch3,\n ch4;\n\n switch (code) {\n\n // Check for most common single-character punctuators.\n case 0x2E: // . dot\n case 0x28: // ( open bracket\n case 0x29: // ) close bracket\n case 0x3B: // ; semicolon\n case 0x2C: // , comma\n case 0x7B: // { open curly brace\n case 0x7D: // } close curly brace\n case 0x5B: // [\n case 0x5D: // ]\n case 0x3A: // :\n case 0x3F: // ?\n case 0x7E: // ~\n ++index;\n return {\n type: TokenPunctuator,\n value: String.fromCharCode(code),\n start: start,\n end: index\n };\n\n default:\n code2 = source.charCodeAt(index + 1);\n\n // '=' (U+003D) marks an assignment or comparison operator.\n if (code2 === 0x3D) {\n switch (code) {\n case 0x2B: // +\n case 0x2D: // -\n case 0x2F: // /\n case 0x3C: // <\n case 0x3E: // >\n case 0x5E: // ^\n case 0x7C: // |\n case 0x25: // %\n case 0x26: // &\n case 0x2A: // *\n index += 2;\n return {\n type: TokenPunctuator,\n value: String.fromCharCode(code) + String.fromCharCode(code2),\n start: start,\n end: index\n };\n\n case 0x21: // !\n case 0x3D: // =\n index += 2;\n\n // !== and ===\n if (source.charCodeAt(index) === 0x3D) {\n ++index;\n }\n return {\n type: TokenPunctuator,\n value: source.slice(start, index),\n start: start,\n end: index\n };\n }\n }\n }\n\n // 4-character punctuator: >>>=\n\n ch4 = source.substr(index, 4);\n\n if (ch4 === '>>>=') {\n index += 4;\n return {\n type: TokenPunctuator,\n value: ch4,\n start: start,\n end: index\n };\n }\n\n // 3-character punctuators: === !== >>> <<= >>=\n\n ch3 = ch4.substr(0, 3);\n\n if (ch3 === '>>>' || ch3 === '<<=' || ch3 === '>>=') {\n index += 3;\n return {\n type: TokenPunctuator,\n value: ch3,\n start: start,\n end: index\n };\n }\n\n // Other 2-character punctuators: ++ -- << >> && ||\n ch2 = ch3.substr(0, 2);\n\n if ((ch1 === ch2[1] && ('+-<>&|'.indexOf(ch1) >= 0)) || ch2 === '=>') {\n index += 2;\n return {\n type: TokenPunctuator,\n value: ch2,\n start: start,\n end: index\n };\n }\n\n // 1-character punctuators: < > = ! + - * % & | ^ /\n\n if ('<>=!+-*%&|^/'.indexOf(ch1) >= 0) {\n ++index;\n return {\n type: TokenPunctuator,\n value: ch1,\n start: start,\n end: index\n };\n }\n\n throwError({}, MessageUnexpectedToken, ILLEGAL);\n}\n\n// 7.8.3 Numeric Literals\n\nfunction scanHexLiteral(start) {\n var number = '';\n\n while (index < length) {\n if (!isHexDigit(source[index])) {\n break;\n }\n number += source[index++];\n }\n\n if (number.length === 0) {\n throwError({}, MessageUnexpectedToken, ILLEGAL);\n }\n\n if (isIdentifierStart(source.charCodeAt(index))) {\n throwError({}, MessageUnexpectedToken, ILLEGAL);\n }\n\n return {\n type: TokenNumericLiteral,\n value: parseInt('0x' + number, 16),\n start: start,\n end: index\n };\n}\n\nfunction scanOctalLiteral(start) {\n var number = '0' + source[index++];\n while (index < length) {\n if (!isOctalDigit(source[index])) {\n break;\n }\n number += source[index++];\n }\n\n if (isIdentifierStart(source.charCodeAt(index)) || isDecimalDigit(source.charCodeAt(index))) {\n throwError({}, MessageUnexpectedToken, ILLEGAL);\n }\n\n return {\n type: TokenNumericLiteral,\n value: parseInt(number, 8),\n octal: true,\n start: start,\n end: index\n };\n}\n\nfunction scanNumericLiteral() {\n var number, start, ch;\n\n ch = source[index];\n assert(isDecimalDigit(ch.charCodeAt(0)) || (ch === '.'),\n 'Numeric literal must start with a decimal digit or a decimal point');\n\n start = index;\n number = '';\n if (ch !== '.') {\n number = source[index++];\n ch = source[index];\n\n // Hex number starts with '0x'.\n // Octal number starts with '0'.\n if (number === '0') {\n if (ch === 'x' || ch === 'X') {\n ++index;\n return scanHexLiteral(start);\n }\n if (isOctalDigit(ch)) {\n return scanOctalLiteral(start);\n }\n\n // decimal number starts with '0' such as '09' is illegal.\n if (ch && isDecimalDigit(ch.charCodeAt(0))) {\n throwError({}, MessageUnexpectedToken, ILLEGAL);\n }\n }\n\n while (isDecimalDigit(source.charCodeAt(index))) {\n number += source[index++];\n }\n ch = source[index];\n }\n\n if (ch === '.') {\n number += source[index++];\n while (isDecimalDigit(source.charCodeAt(index))) {\n number += source[index++];\n }\n ch = source[index];\n }\n\n if (ch === 'e' || ch === 'E') {\n number += source[index++];\n\n ch = source[index];\n if (ch === '+' || ch === '-') {\n number += source[index++];\n }\n if (isDecimalDigit(source.charCodeAt(index))) {\n while (isDecimalDigit(source.charCodeAt(index))) {\n number += source[index++];\n }\n } else {\n throwError({}, MessageUnexpectedToken, ILLEGAL);\n }\n }\n\n if (isIdentifierStart(source.charCodeAt(index))) {\n throwError({}, MessageUnexpectedToken, ILLEGAL);\n }\n\n return {\n type: TokenNumericLiteral,\n value: parseFloat(number),\n start: start,\n end: index\n };\n}\n\n// 7.8.4 String Literals\n\nfunction scanStringLiteral() {\n var str = '',\n quote, start, ch, code, octal = false;\n\n quote = source[index];\n assert((quote === '\\'' || quote === '\"'),\n 'String literal must starts with a quote');\n\n start = index;\n ++index;\n\n while (index < length) {\n ch = source[index++];\n\n if (ch === quote) {\n quote = '';\n break;\n } else if (ch === '\\\\') {\n ch = source[index++];\n if (!ch || !isLineTerminator(ch.charCodeAt(0))) {\n switch (ch) {\n case 'u':\n case 'x':\n if (source[index] === '{') {\n ++index;\n str += scanUnicodeCodePointEscape();\n } else {\n str += scanHexEscape(ch);\n }\n break;\n case 'n':\n str += '\\n';\n break;\n case 'r':\n str += '\\r';\n break;\n case 't':\n str += '\\t';\n break;\n case 'b':\n str += '\\b';\n break;\n case 'f':\n str += '\\f';\n break;\n case 'v':\n str += '\\x0B';\n break;\n\n default:\n if (isOctalDigit(ch)) {\n code = '01234567'.indexOf(ch);\n\n // \\0 is not octal escape sequence\n if (code !== 0) {\n octal = true;\n }\n\n if (index < length && isOctalDigit(source[index])) {\n octal = true;\n code = code * 8 + '01234567'.indexOf(source[index++]);\n\n // 3 digits are only allowed when string starts\n // with 0, 1, 2, 3\n if ('0123'.indexOf(ch) >= 0 &&\n index < length &&\n isOctalDigit(source[index])) {\n code = code * 8 + '01234567'.indexOf(source[index++]);\n }\n }\n str += String.fromCharCode(code);\n } else {\n str += ch;\n }\n break;\n }\n } else {\n if (ch === '\\r' && source[index] === '\\n') {\n ++index;\n }\n }\n } else if (isLineTerminator(ch.charCodeAt(0))) {\n break;\n } else {\n str += ch;\n }\n }\n\n if (quote !== '') {\n throwError({}, MessageUnexpectedToken, ILLEGAL);\n }\n\n return {\n type: TokenStringLiteral,\n value: str,\n octal: octal,\n start: start,\n end: index\n };\n}\n\nfunction testRegExp(pattern, flags) {\n var tmp = pattern;\n\n if (flags.indexOf('u') >= 0) {\n // Replace each astral symbol and every Unicode code point\n // escape sequence with a single ASCII symbol to avoid throwing on\n // regular expressions that are only valid in combination with the\n // `/u` flag.\n // Note: replacing with the ASCII symbol `x` might cause false\n // negatives in unlikely scenarios. For example, `[\\u{61}-b]` is a\n // perfectly valid pattern that is equivalent to `[a-b]`, but it\n // would be replaced by `[x-b]` which throws an error.\n tmp = tmp\n .replace(/\\\\u\\{([0-9a-fA-F]+)\\}/g, function($0, $1) {\n if (parseInt($1, 16) <= 0x10FFFF) {\n return 'x';\n }\n throwError({}, MessageInvalidRegExp);\n })\n .replace(/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g, 'x');\n }\n\n // First, detect invalid regular expressions.\n try {\n new RegExp(tmp);\n } catch (e) {\n throwError({}, MessageInvalidRegExp);\n }\n\n // Return a regular expression object for this pattern-flag pair, or\n // `null` in case the current environment doesn't support the flags it\n // uses.\n try {\n return new RegExp(pattern, flags);\n } catch (exception) {\n return null;\n }\n}\n\nfunction scanRegExpBody() {\n var ch, str, classMarker, terminated, body;\n\n ch = source[index];\n assert(ch === '/', 'Regular expression literal must start with a slash');\n str = source[index++];\n\n classMarker = false;\n terminated = false;\n while (index < length) {\n ch = source[index++];\n str += ch;\n if (ch === '\\\\') {\n ch = source[index++];\n // ECMA-262 7.8.5\n if (isLineTerminator(ch.charCodeAt(0))) {\n throwError({}, MessageUnterminatedRegExp);\n }\n str += ch;\n } else if (isLineTerminator(ch.charCodeAt(0))) {\n throwError({}, MessageUnterminatedRegExp);\n } else if (classMarker) {\n if (ch === ']') {\n classMarker = false;\n }\n } else {\n if (ch === '/') {\n terminated = true;\n break;\n } else if (ch === '[') {\n classMarker = true;\n }\n }\n }\n\n if (!terminated) {\n throwError({}, MessageUnterminatedRegExp);\n }\n\n // Exclude leading and trailing slash.\n body = str.substr(1, str.length - 2);\n return {\n value: body,\n literal: str\n };\n}\n\nfunction scanRegExpFlags() {\n var ch, str, flags;\n\n str = '';\n flags = '';\n while (index < length) {\n ch = source[index];\n if (!isIdentifierPart(ch.charCodeAt(0))) {\n break;\n }\n\n ++index;\n if (ch === '\\\\' && index < length) {\n throwError({}, MessageUnexpectedToken, ILLEGAL);\n } else {\n flags += ch;\n str += ch;\n }\n }\n\n if (flags.search(/[^gimuy]/g) >= 0) {\n throwError({}, MessageInvalidRegExp, flags);\n }\n\n return {\n value: flags,\n literal: str\n };\n}\n\nfunction scanRegExp() {\n var start, body, flags, value;\n\n lookahead = null;\n skipComment();\n start = index;\n\n body = scanRegExpBody();\n flags = scanRegExpFlags();\n value = testRegExp(body.value, flags.value);\n\n return {\n literal: body.literal + flags.literal,\n value: value,\n regex: {\n pattern: body.value,\n flags: flags.value\n },\n start: start,\n end: index\n };\n}\n\nfunction isIdentifierName(token) {\n return token.type === TokenIdentifier ||\n token.type === TokenKeyword ||\n token.type === TokenBooleanLiteral ||\n token.type === TokenNullLiteral;\n}\n\nfunction advance() {\n var ch;\n\n skipComment();\n\n if (index >= length) {\n return {\n type: TokenEOF,\n start: index,\n end: index\n };\n }\n\n ch = source.charCodeAt(index);\n\n if (isIdentifierStart(ch)) {\n return scanIdentifier();\n }\n\n // Very common: ( and ) and ;\n if (ch === 0x28 || ch === 0x29 || ch === 0x3B) {\n return scanPunctuator();\n }\n\n // String literal starts with single quote (U+0027) or double quote (U+0022).\n if (ch === 0x27 || ch === 0x22) {\n return scanStringLiteral();\n }\n\n\n // Dot (.) U+002E can also start a floating-point number, hence the need\n // to check the next character.\n if (ch === 0x2E) {\n if (isDecimalDigit(source.charCodeAt(index + 1))) {\n return scanNumericLiteral();\n }\n return scanPunctuator();\n }\n\n if (isDecimalDigit(ch)) {\n return scanNumericLiteral();\n }\n\n return scanPunctuator();\n}\n\nfunction lex() {\n var token;\n\n token = lookahead;\n index = token.end;\n\n lookahead = advance();\n\n index = token.end;\n\n return token;\n}\n\nfunction peek() {\n var pos;\n\n pos = index;\n\n lookahead = advance();\n index = pos;\n}\n\nfunction finishArrayExpression(elements) {\n var node = new ASTNode(SyntaxArrayExpression);\n node.elements = elements;\n return node;\n}\n\nfunction finishBinaryExpression(operator, left, right) {\n var node = new ASTNode((operator === '||' || operator === '&&') ? SyntaxLogicalExpression : SyntaxBinaryExpression);\n node.operator = operator;\n node.left = left;\n node.right = right;\n return node;\n}\n\nfunction finishCallExpression(callee, args) {\n var node = new ASTNode(SyntaxCallExpression);\n node.callee = callee;\n node.arguments = args;\n return node;\n}\n\nfunction finishConditionalExpression(test, consequent, alternate) {\n var node = new ASTNode(SyntaxConditionalExpression);\n node.test = test;\n node.consequent = consequent;\n node.alternate = alternate;\n return node;\n}\n\nfunction finishIdentifier(name) {\n var node = new ASTNode(SyntaxIdentifier);\n node.name = name;\n return node;\n}\n\nfunction finishLiteral(token) {\n var node = new ASTNode(SyntaxLiteral);\n node.value = token.value;\n node.raw = source.slice(token.start, token.end);\n if (token.regex) {\n if (node.raw === '//') {\n node.raw = '/(?:)/';\n }\n node.regex = token.regex;\n }\n return node;\n}\n\nfunction finishMemberExpression(accessor, object, property) {\n var node = new ASTNode(SyntaxMemberExpression);\n node.computed = accessor === '[';\n node.object = object;\n node.property = property;\n if (!node.computed) property.member = true;\n return node;\n}\n\nfunction finishObjectExpression(properties) {\n var node = new ASTNode(SyntaxObjectExpression);\n node.properties = properties;\n return node;\n}\n\nfunction finishProperty(kind, key, value) {\n var node = new ASTNode(SyntaxProperty);\n node.key = key;\n node.value = value;\n node.kind = kind;\n return node;\n}\n\nfunction finishUnaryExpression(operator, argument) {\n var node = new ASTNode(SyntaxUnaryExpression);\n node.operator = operator;\n node.argument = argument;\n node.prefix = true;\n return node;\n}\n\n// Throw an exception\n\nfunction throwError(token, messageFormat) {\n var error,\n args = Array.prototype.slice.call(arguments, 2),\n msg = messageFormat.replace(\n /%(\\d)/g,\n function(whole, index) {\n assert(index < args.length, 'Message reference must be in range');\n return args[index];\n }\n );\n\n\n error = new Error(msg);\n error.index = index;\n error.description = msg;\n throw error;\n}\n\n// Throw an exception because of the token.\n\nfunction throwUnexpected(token) {\n if (token.type === TokenEOF) {\n throwError(token, MessageUnexpectedEOS);\n }\n\n if (token.type === TokenNumericLiteral) {\n throwError(token, MessageUnexpectedNumber);\n }\n\n if (token.type === TokenStringLiteral) {\n throwError(token, MessageUnexpectedString);\n }\n\n if (token.type === TokenIdentifier) {\n throwError(token, MessageUnexpectedIdentifier);\n }\n\n if (token.type === TokenKeyword) {\n throwError(token, MessageUnexpectedReserved);\n }\n\n // BooleanLiteral, NullLiteral, or Punctuator.\n throwError(token, MessageUnexpectedToken, token.value);\n}\n\n// Expect the next token to match the specified punctuator.\n// If not, an exception will be thrown.\n\nfunction expect(value) {\n var token = lex();\n if (token.type !== TokenPunctuator || token.value !== value) {\n throwUnexpected(token);\n }\n}\n\n// Return true if the next token matches the specified punctuator.\n\nfunction match(value) {\n return lookahead.type === TokenPunctuator && lookahead.value === value;\n}\n\n// Return true if the next token matches the specified keyword\n\nfunction matchKeyword(keyword) {\n return lookahead.type === TokenKeyword && lookahead.value === keyword;\n}\n\n// 11.1.4 Array Initialiser\n\nfunction parseArrayInitialiser() {\n var elements = [];\n\n index = lookahead.start;\n expect('[');\n\n while (!match(']')) {\n if (match(',')) {\n lex();\n elements.push(null);\n } else {\n elements.push(parseConditionalExpression());\n\n if (!match(']')) {\n expect(',');\n }\n }\n }\n\n lex();\n\n return finishArrayExpression(elements);\n}\n\n// 11.1.5 Object Initialiser\n\nfunction parseObjectPropertyKey() {\n var token;\n\n index = lookahead.start;\n token = lex();\n\n // Note: This function is called only from parseObjectProperty(), where\n // EOF and Punctuator tokens are already filtered out.\n\n if (token.type === TokenStringLiteral || token.type === TokenNumericLiteral) {\n if (token.octal) {\n throwError(token, MessageStrictOctalLiteral);\n }\n return finishLiteral(token);\n }\n\n return finishIdentifier(token.value);\n}\n\nfunction parseObjectProperty() {\n var token, key, id, value;\n\n index = lookahead.start;\n token = lookahead;\n\n if (token.type === TokenIdentifier) {\n id = parseObjectPropertyKey();\n expect(':');\n value = parseConditionalExpression();\n return finishProperty('init', id, value);\n }\n if (token.type === TokenEOF || token.type === TokenPunctuator) {\n throwUnexpected(token);\n } else {\n key = parseObjectPropertyKey();\n expect(':');\n value = parseConditionalExpression();\n return finishProperty('init', key, value);\n }\n}\n\nfunction parseObjectInitialiser() {\n var properties = [],\n property, name, key, map = {},\n toString = String;\n\n index = lookahead.start;\n expect('{');\n\n while (!match('}')) {\n property = parseObjectProperty();\n\n if (property.key.type === SyntaxIdentifier) {\n name = property.key.name;\n } else {\n name = toString(property.key.value);\n }\n\n key = '$' + name;\n if (Object.prototype.hasOwnProperty.call(map, key)) {\n throwError({}, MessageStrictDuplicateProperty);\n } else {\n map[key] = true;\n }\n\n properties.push(property);\n\n if (!match('}')) {\n expect(',');\n }\n }\n\n expect('}');\n\n return finishObjectExpression(properties);\n}\n\n// 11.1.6 The Grouping Operator\n\nfunction parseGroupExpression() {\n var expr;\n\n expect('(');\n\n expr = parseExpression();\n\n expect(')');\n\n return expr;\n}\n\n\n// 11.1 Primary Expressions\n\nvar legalKeywords = {\n \"if\": 1,\n \"this\": 1\n};\n\nfunction parsePrimaryExpression() {\n var type, token, expr;\n\n if (match('(')) {\n return parseGroupExpression();\n }\n\n if (match('[')) {\n return parseArrayInitialiser();\n }\n\n if (match('{')) {\n return parseObjectInitialiser();\n }\n\n type = lookahead.type;\n index = lookahead.start;\n\n\n if (type === TokenIdentifier || legalKeywords[lookahead.value]) {\n expr = finishIdentifier(lex().value);\n } else if (type === TokenStringLiteral || type === TokenNumericLiteral) {\n if (lookahead.octal) {\n throwError(lookahead, MessageStrictOctalLiteral);\n }\n expr = finishLiteral(lex());\n } else if (type === TokenKeyword) {\n throw new Error(DISABLED);\n } else if (type === TokenBooleanLiteral) {\n token = lex();\n token.value = (token.value === 'true');\n expr = finishLiteral(token);\n } else if (type === TokenNullLiteral) {\n token = lex();\n token.value = null;\n expr = finishLiteral(token);\n } else if (match('/') || match('/=')) {\n expr = finishLiteral(scanRegExp());\n peek();\n } else {\n throwUnexpected(lex());\n }\n\n return expr;\n}\n\n// 11.2 Left-Hand-Side Expressions\n\nfunction parseArguments() {\n var args = [];\n\n expect('(');\n\n if (!match(')')) {\n while (index < length) {\n args.push(parseConditionalExpression());\n if (match(')')) {\n break;\n }\n expect(',');\n }\n }\n\n expect(')');\n\n return args;\n}\n\nfunction parseNonComputedProperty() {\n var token;\n index = lookahead.start;\n token = lex();\n\n if (!isIdentifierName(token)) {\n throwUnexpected(token);\n }\n\n return finishIdentifier(token.value);\n}\n\nfunction parseNonComputedMember() {\n expect('.');\n\n return parseNonComputedProperty();\n}\n\nfunction parseComputedMember() {\n var expr;\n\n expect('[');\n\n expr = parseExpression();\n\n expect(']');\n\n return expr;\n}\n\nfunction parseLeftHandSideExpressionAllowCall() {\n var expr, args, property;\n\n expr = parsePrimaryExpression();\n\n for (;;) {\n if (match('.')) {\n property = parseNonComputedMember();\n expr = finishMemberExpression('.', expr, property);\n } else if (match('(')) {\n args = parseArguments();\n expr = finishCallExpression(expr, args);\n } else if (match('[')) {\n property = parseComputedMember();\n expr = finishMemberExpression('[', expr, property);\n } else {\n break;\n }\n }\n\n return expr;\n}\n\n// 11.3 Postfix Expressions\n\nfunction parsePostfixExpression() {\n var expr = parseLeftHandSideExpressionAllowCall();\n\n if (lookahead.type === TokenPunctuator) {\n if ((match('++') || match('--'))) {\n throw new Error(DISABLED);\n }\n }\n\n return expr;\n}\n\n// 11.4 Unary Operators\n\nfunction parseUnaryExpression() {\n var token, expr;\n\n if (lookahead.type !== TokenPunctuator && lookahead.type !== TokenKeyword) {\n expr = parsePostfixExpression();\n } else if (match('++') || match('--')) {\n throw new Error(DISABLED);\n } else if (match('+') || match('-') || match('~') || match('!')) {\n token = lex();\n expr = parseUnaryExpression();\n expr = finishUnaryExpression(token.value, expr);\n } else if (matchKeyword('delete') || matchKeyword('void') || matchKeyword('typeof')) {\n throw new Error(DISABLED);\n } else {\n expr = parsePostfixExpression();\n }\n\n return expr;\n}\n\nfunction binaryPrecedence(token) {\n var prec = 0;\n\n if (token.type !== TokenPunctuator && token.type !== TokenKeyword) {\n return 0;\n }\n\n switch (token.value) {\n case '||':\n prec = 1;\n break;\n\n case '&&':\n prec = 2;\n break;\n\n case '|':\n prec = 3;\n break;\n\n case '^':\n prec = 4;\n break;\n\n case '&':\n prec = 5;\n break;\n\n case '==':\n case '!=':\n case '===':\n case '!==':\n prec = 6;\n break;\n\n case '<':\n case '>':\n case '<=':\n case '>=':\n case 'instanceof':\n case 'in':\n prec = 7;\n break;\n\n case '<<':\n case '>>':\n case '>>>':\n prec = 8;\n break;\n\n case '+':\n case '-':\n prec = 9;\n break;\n\n case '*':\n case '/':\n case '%':\n prec = 11;\n break;\n\n default:\n break;\n }\n\n return prec;\n}\n\n// 11.5 Multiplicative Operators\n// 11.6 Additive Operators\n// 11.7 Bitwise Shift Operators\n// 11.8 Relational Operators\n// 11.9 Equality Operators\n// 11.10 Binary Bitwise Operators\n// 11.11 Binary Logical Operators\n\nfunction parseBinaryExpression() {\n var marker, markers, expr, token, prec, stack, right, operator, left, i;\n\n marker = lookahead;\n left = parseUnaryExpression();\n\n token = lookahead;\n prec = binaryPrecedence(token);\n if (prec === 0) {\n return left;\n }\n token.prec = prec;\n lex();\n\n markers = [marker, lookahead];\n right = parseUnaryExpression();\n\n stack = [left, token, right];\n\n while ((prec = binaryPrecedence(lookahead)) > 0) {\n\n // Reduce: make a binary expression from the three topmost entries.\n while ((stack.length > 2) && (prec <= stack[stack.length - 2].prec)) {\n right = stack.pop();\n operator = stack.pop().value;\n left = stack.pop();\n markers.pop();\n expr = finishBinaryExpression(operator, left, right);\n stack.push(expr);\n }\n\n // Shift.\n token = lex();\n token.prec = prec;\n stack.push(token);\n markers.push(lookahead);\n expr = parseUnaryExpression();\n stack.push(expr);\n }\n\n // Final reduce to clean-up the stack.\n i = stack.length - 1;\n expr = stack[i];\n markers.pop();\n while (i > 1) {\n markers.pop()\n expr = finishBinaryExpression(stack[i - 1].value, stack[i - 2], expr);\n i -= 2;\n }\n\n return expr;\n}\n\n// 11.12 Conditional Operator\n\nfunction parseConditionalExpression() {\n var expr, consequent, alternate;\n\n expr = parseBinaryExpression();\n\n if (match('?')) {\n lex();\n consequent = parseConditionalExpression();\n expect(':');\n alternate = parseConditionalExpression();\n\n expr = finishConditionalExpression(expr, consequent, alternate);\n }\n\n return expr;\n}\n\n// 11.14 Comma Operator\n\nfunction parseExpression() {\n var expr = parseConditionalExpression();\n\n if (match(',')) {\n throw new Error(DISABLED); // no sequence expressions\n }\n\n return expr;\n}\n\nexport default function(code) {\n source = code;\n index = 0;\n length = source.length;\n lookahead = null;\n\n peek();\n\n var expr = parseExpression();\n\n if (lookahead.type !== TokenEOF) {\n throw new Error(\"Unexpect token after expression.\");\n }\n return expr;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-expression/src/parser.js\n// module id = 876\n// module chunks = 0","import Constants from './constants';\nimport Functions from './functions';\nimport {error, isFunction, isString, toSet} from 'vega-util';\n\nexport default function(opt) {\n opt = opt || {};\n\n var whitelist = opt.whitelist ? toSet(opt.whitelist) : {},\n blacklist = opt.blacklist ? toSet(opt.blacklist) : {},\n constants = opt.constants || Constants,\n functions = (opt.functions || Functions)(visit),\n globalvar = opt.globalvar,\n fieldvar = opt.fieldvar,\n globals = {},\n fields = {},\n memberDepth = 0;\n\n var outputGlobal = isFunction(globalvar)\n ? globalvar\n : function (id) { return globalvar + '[\"' + id + '\"]'; };\n\n function visit(ast) {\n if (isString(ast)) return ast;\n var generator = Generators[ast.type];\n if (generator == null) error('Unsupported type: ' + ast.type);\n return generator(ast);\n }\n\n var Generators = {\n Literal: function(n) {\n return n.raw;\n },\n\n Identifier: function(n) {\n var id = n.name;\n if (memberDepth > 0) {\n return id;\n } else if (blacklist.hasOwnProperty(id)) {\n return error('Illegal identifier: ' + id);\n } else if (constants.hasOwnProperty(id)) {\n return constants[id];\n } else if (whitelist.hasOwnProperty(id)) {\n return id;\n } else {\n globals[id] = 1;\n return outputGlobal(id);\n }\n },\n\n MemberExpression: function(n) {\n var d = !n.computed;\n var o = visit(n.object);\n if (d) memberDepth += 1;\n var p = visit(n.property);\n if (o === fieldvar) { fields[p] = 1; } // HACKish...\n if (d) memberDepth -= 1;\n return o + (d ? '.'+p : '['+p+']');\n },\n\n CallExpression: function(n) {\n if (n.callee.type !== 'Identifier') {\n error('Illegal callee type: ' + n.callee.type);\n }\n var callee = n.callee.name;\n var args = n.arguments;\n var fn = functions.hasOwnProperty(callee) && functions[callee];\n if (!fn) error('Unrecognized function: ' + callee);\n return isFunction(fn)\n ? fn(args)\n : fn + '(' + args.map(visit).join(',') + ')';\n },\n\n ArrayExpression: function(n) {\n return '[' + n.elements.map(visit).join(',') + ']';\n },\n\n BinaryExpression: function(n) {\n return '(' + visit(n.left) + n.operator + visit(n.right) + ')';\n },\n\n UnaryExpression: function(n) {\n return '(' + n.operator + visit(n.argument) + ')';\n },\n\n ConditionalExpression: function(n) {\n return '(' + visit(n.test) +\n '?' + visit(n.consequent) +\n ':' + visit(n.alternate) +\n ')';\n },\n\n LogicalExpression: function(n) {\n return '(' + visit(n.left) + n.operator + visit(n.right) + ')';\n },\n\n ObjectExpression: function(n) {\n return '{' + n.properties.map(visit).join(',') + '}';\n },\n\n Property: function(n) {\n memberDepth += 1;\n var k = visit(n.key);\n memberDepth -= 1;\n return k + ':' + visit(n.value);\n }\n };\n\n function codegen(ast) {\n var result = {\n code: visit(ast),\n globals: Object.keys(globals),\n fields: Object.keys(fields)\n };\n globals = {};\n fields = {};\n return result;\n }\n\n codegen.functions = functions;\n codegen.constants = constants;\n\n return codegen;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-expression/src/codegen.js\n// module id = 877\n// module chunks = 0","import {format as d3_format} from 'd3-format';\nimport {\n timeFormat as d3_timeFormat,\n timeParse as d3_timeParse,\n utcFormat as d3_utcFormat,\n utcParse as d3_utcParse\n} from 'd3-time-format';\n\nvar formatCache = {};\n\nfunction formatter(type, method, specifier) {\n var k = type + ':' + specifier,\n e = formatCache[k];\n if (!e || e[0] !== method) {\n formatCache[k] = (e = [method, method(specifier)]);\n }\n return e[1];\n}\n\nexport function format(_, specifier) {\n return formatter('format', d3_format, specifier)(_);\n}\n\nexport function timeFormat(_, specifier) {\n return formatter('timeFormat', d3_timeFormat, specifier)(_);\n}\n\nexport function utcFormat(_, specifier) {\n return formatter('utcFormat', d3_utcFormat, specifier)(_);\n}\n\nexport function timeParse(_, specifier) {\n return formatter('timeParse', d3_timeParse, specifier)(_);\n}\n\nexport function utcParse(_, specifier) {\n return formatter('utcParse', d3_utcParse, specifier)(_);\n}\n\nvar dateObj = new Date(2000, 0, 1);\n\nfunction time(month, day, specifier) {\n dateObj.setMonth(month);\n dateObj.setDate(day);\n return timeFormat(dateObj, specifier);\n}\n\nexport function monthFormat(month) {\n return time(month, 1, '%B');\n}\n\nexport function monthAbbrevFormat(month) {\n return time(month, 1, '%b');\n}\n\nexport function dayFormat(day) {\n return time(0, 2 + day, '%A');\n}\n\nexport function dayAbbrevFormat(day) {\n return time(0, 2 + day, '%a');\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/expression/format.js\n// module id = 878\n// module chunks = 0","export function quarter(date) {\n return 1 + ~~(new Date(date).getMonth() / 3);\n}\n\nexport function utcquarter(date) {\n return 1 + ~~(new Date(date).getUTCMonth() / 3);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/expression/quarter.js\n// module id = 879\n// module chunks = 0","function log(df, method, args) {\n try {\n df[method].apply(df, ['EXPRESSION'].concat([].slice.call(args)));\n } catch (err) {\n df.warn(err);\n }\n return args[args.length-1];\n}\n\nexport function warn() {\n return log(this.context.dataflow, 'warn', arguments);\n}\n\nexport function info() {\n return log(this.context.dataflow, 'info', arguments);\n}\n\nexport function debug() {\n return log(this.context.dataflow, 'debug', arguments);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/expression/log.js\n// module id = 880\n// module chunks = 0","export default function(item) {\n var group = this.context.group,\n value = false;\n\n if (group) while (item) {\n if (item === group) { value = true; break; }\n item = item.mark.group;\n }\n return value;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/expression/inscope.js\n// module id = 881\n// module chunks = 0","export function pinchDistance(event) {\n var t = event.touches,\n dx = t[0].clientX - t[1].clientX,\n dy = t[0].clientY - t[1].clientY;\n return Math.sqrt(dx * dx + dy * dy);\n}\n\nexport function pinchAngle(event) {\n var t = event.touches;\n return Math.atan2(\n t[0].clientY - t[1].clientY,\n t[0].clientX - t[1].clientX\n );\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/expression/pinch.js\n// module id = 882\n// module chunks = 0","var _window = (typeof window !== 'undefined' && window) || null;\n\nexport function screen() {\n return _window ? _window.screen : {};\n}\n\nexport function windowSize() {\n return _window\n ? [_window.innerWidth, _window.innerHeight]\n : [undefined, undefined];\n}\n\nexport function containerSize() {\n var view = this.context.dataflow,\n el = view.container && view.container();\n return el\n ? [el.clientWidth, el.clientHeight]\n : [undefined, undefined];\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/expression/window.js\n// module id = 883\n// module chunks = 0","import {peek} from 'vega-util';\n\nexport default function(range, value, threshold, left, right, center) {\n if (!threshold && threshold !== 0) return center;\n\n var a = range[0],\n b = peek(range),\n t = +threshold,\n l, r;\n\n // swap endpoints if range is reversed\n if (b < a) {\n l = a; a = b; b = l;\n }\n\n // compare value to endpoints\n l = Math.abs(value - a);\n r = Math.abs(b - value);\n\n // adjust if value within threshold distance of endpoint\n return l < r && l <= t ? left : r <= t ? right : center;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/expression/flush.js\n// module id = 884\n// module chunks = 0","import {extend} from 'vega-util';\n\nexport default function() {\n var args = [].slice.call(arguments);\n args.unshift({});\n return extend.apply(null, args);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/expression/merge.js\n// module id = 885\n// module chunks = 0","import {getScale} from './scale';\nimport {Gradient} from 'vega-scenegraph';\nimport {scaleFraction} from 'vega-scale';\n\nexport default function(scale, p0, p1, count, group) {\n scale = getScale(scale, (group || this).context);\n\n var gradient = Gradient(p0, p1),\n stops = scale.domain(),\n min = stops[0],\n max = stops[stops.length-1],\n fraction = scaleFraction(scale, min, max);\n\n if (scale.ticks) {\n stops = scale.ticks(+count || 15);\n if (min !== stops[0]) stops.unshift(min);\n if (max !== stops[stops.length-1]) stops.push(max);\n }\n\n for (var i=0, n=stops.length; i<n; ++i) {\n gradient.stop(fraction(stops[i]), scale(stops[i]));\n }\n\n return gradient;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/expression/scale-gradient.js\n// module id = 886\n// module chunks = 0","import {\n geoArea as area,\n geoBounds as bounds,\n geoCentroid as centroid\n} from 'd3-geo';\nimport {getScale} from './scale';\n\nfunction geoMethod(methodName, globalMethod) {\n return function(projection, geojson, group) {\n if (projection) {\n // projection defined, use it\n var p = getScale(projection, (group || this).context);\n return p && p.path[methodName](geojson);\n } else {\n // projection undefined, use global method\n return globalMethod(geojson);\n }\n };\n}\n\nexport var geoArea = geoMethod('area', area);\nexport var geoBounds = geoMethod('bounds', bounds);\nexport var geoCentroid = geoMethod('centroid', centroid);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/expression/geo.js\n// module id = 887\n// module chunks = 0","import {getScale} from './scale';\nimport {pathParse, pathRender} from 'vega-scenegraph';\n\nexport function geoShape(projection, geojson, group) {\n var p = getScale(projection, (group || this).context);\n return function(context) {\n return p ? p.path.context(context)(geojson) : '';\n }\n}\n\nexport function pathShape(path) {\n var p = null;\n return function(context) {\n return context\n ? pathRender(context, (p = p || pathParse(path)))\n : path;\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/expression/shape.js\n// module id = 888\n// module chunks = 0","import {data} from './data';\n\nvar EMPTY = {};\n\nfunction datum(d) { return d.data; }\n\nfunction treeNodes(name, context) {\n var tree = data.call(context, name);\n return tree.root && tree.root.lookup || EMPTY;\n}\n\nexport function treePath(name, source, target) {\n var nodes = treeNodes(name, this),\n s = nodes[source],\n t = nodes[target];\n return s && t ? s.path(t).map(datum) : undefined;\n}\n\nexport function treeAncestors(name, node) {\n var n = treeNodes(name, this)[node];\n return n ? n.ancestors().map(datum) : undefined;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/expression/tree.js\n// module id = 889\n// module chunks = 0","export default function(item, name, retval) {\n if (item) {\n var df = this.context.dataflow,\n target = item.mark.source;\n df.pulse(target, df.changeset().encode(item, name));\n }\n return retval !== undefined ? retval : item;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/expression/encode.js\n// module id = 890\n// module chunks = 0","import {isTuple} from 'vega-dataflow';\nimport {isArray, truthy} from 'vega-util';\n\nfunction equal(a, b) {\n return a === b || a !== a && b !== b ? true\n : isArray(a) && isArray(b) && a.length === b.length ? equalArray(a, b)\n : false;\n}\n\nfunction equalArray(a, b) {\n for (var i=0, n=a.length; i<n; ++i) {\n if (!equal(a[i], b[i])) return false;\n }\n return true;\n}\n\nfunction removePredicate(props) {\n return function(_) {\n for (var key in props) {\n if (!equal(_[key], props[key])) return false;\n }\n return true;\n };\n}\n\nexport default function(name, insert, remove, toggle, modify, values) {\n var df = this.context.dataflow,\n data = this.context.data[name],\n input = data.input,\n changes = data.changes,\n stamp = df.stamp(),\n predicate, key;\n\n if (df._trigger === false || !(input.value.length || insert || toggle)) {\n // nothing to do!\n return 0;\n }\n\n if (!changes || changes.stamp < stamp) {\n data.changes = (changes = df.changeset());\n changes.stamp = stamp;\n df.runAfter(function() {\n data.modified = true;\n df.pulse(input, changes).run();\n }, true, 1);\n }\n\n if (remove) {\n predicate = remove === true ? truthy\n : (isArray(remove) || isTuple(remove)) ? remove\n : removePredicate(remove);\n changes.remove(predicate);\n }\n\n if (insert) {\n changes.insert(insert);\n }\n\n if (toggle) {\n predicate = removePredicate(toggle);\n if (input.value.some(predicate)) {\n changes.remove(predicate);\n } else {\n changes.insert(toggle);\n }\n }\n\n if (modify) {\n for (key in values) {\n changes.modify(modify, key, values[key]);\n }\n }\n\n return 1;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/expression/modify.js\n// module id = 891\n// module chunks = 0","import {inrange} from './arrays';\nimport {Literal} from './ast';\nimport {dataVisitor} from './data';\nimport {indexPrefix} from './prefixes';\nimport {error, field, isNumber, isString, isDate, toNumber} from 'vega-util';\n\nvar BIN = 'bin_',\n INTERSECT = 'intersect',\n UNION = 'union',\n UNIT_INDEX = 'index:unit';\n\nfunction testPoint(datum, entry) {\n var fields = entry.fields,\n values = entry.values,\n getter = entry.getter || (entry.getter = []),\n n = fields.length,\n i = 0, dval;\n\n for (; i<n; ++i) {\n getter[i] = getter[i] || field(fields[i]);\n dval = getter[i](datum);\n if (isDate(dval)) dval = toNumber(dval);\n if (isDate(values[i])) values[i] = toNumber(values[i]);\n if (entry[BIN + fields[i]]) {\n if (isDate(values[i][0])) values[i] = values[i].map(toNumber);\n if (!inrange(dval, values[i], true, false)) return false;\n } else if (dval !== values[i]) {\n return false;\n }\n }\n\n return true;\n}\n\n// TODO: revisit date coercion?\n// have selections populate with consistent types upon write?\n\nfunction testInterval(datum, entry) {\n var ivals = entry.intervals,\n n = ivals.length,\n i = 0,\n getter, extent, value;\n\n for (; i<n; ++i) {\n extent = ivals[i].extent;\n getter = ivals[i].getter || (ivals[i].getter = field(ivals[i].field));\n value = getter(datum);\n if (!extent || extent[0] === extent[1]) return false;\n if (isDate(value)) value = toNumber(value);\n if (isDate(extent[0])) extent = ivals[i].extent = extent.map(toNumber);\n if (isNumber(extent[0]) && !inrange(value, extent)) return false;\n else if (isString(extent[0]) && extent.indexOf(value) < 0) return false;\n }\n\n return true;\n}\n\n/**\n * Tests if a tuple is contained within an interactive selection.\n * @param {string} name - The name of the data set representing the selection.\n * @param {object} datum - The tuple to test for inclusion.\n * @param {string} op - The set operation for combining selections.\n * One of 'intersect' or 'union' (default).\n * @param {function(object,object):boolean} test - A boolean-valued test\n * predicate for determining selection status within a single unit chart.\n * @return {boolean} - True if the datum is in the selection, false otherwise.\n */\nfunction vlSelection(name, datum, op, test) {\n var data = this.context.data[name],\n entries = data ? data.values.value : [],\n unitIdx = data ? data[UNIT_INDEX] && data[UNIT_INDEX].value : undefined,\n intersect = op === INTERSECT,\n n = entries.length,\n i = 0,\n entry, miss, count, unit, b;\n\n for (; i<n; ++i) {\n entry = entries[i];\n\n if (unitIdx && intersect) {\n // multi selections union within the same unit and intersect across units.\n miss = miss || {};\n count = miss[unit=entry.unit] || 0;\n\n // if we've already matched this unit, skip.\n if (count === -1) continue;\n\n b = test(datum, entry);\n miss[unit] = b ? -1 : ++count;\n\n // if we match and there are no other units return true\n // if we've missed against all tuples in this unit return false\n if (b && unitIdx.size === 1) return true;\n if (!b && count === unitIdx.get(unit).count) return false;\n } else {\n b = test(datum, entry);\n\n // if we find a miss and we do require intersection return false\n // if we find a match and we don't require intersection return true\n if (intersect ^ b) return b;\n }\n }\n\n // if intersecting and we made it here, then we saw no misses\n // if not intersecting, then we saw no matches\n // if no active selections, return false\n return n && intersect;\n}\n\n// Assumes point selection tuples are of the form:\n// {unit: string, encodings: array<string>, fields: array<string>, values: array<*>, bins: object}\nexport function vlPoint(name, datum, op) {\n return vlSelection.call(this, name, datum, op, testPoint);\n}\n\n// Assumes interval selection typles are of the form:\n// {unit: string, intervals: array<{encoding: string, field:string, extent:array<number>}>}\nexport function vlInterval(name, datum, op) {\n return vlSelection.call(this, name, datum, op, testInterval);\n}\n\nexport function vlMultiVisitor(name, args, scope, params) {\n if (args[0].type !== Literal) error('First argument to indata must be a string literal.');\n\n var data = args[0].value,\n // vlMulti, vlMultiDomain have different # of params, but op is always last.\n op = args.length >= 2 && args[args.length-1].value,\n field = 'unit',\n indexName = indexPrefix + field;\n\n if (op === INTERSECT && !params.hasOwnProperty(indexName)) {\n params[indexName] = scope.getData(data).indataRef(scope, field);\n }\n\n dataVisitor(name, args, scope, params);\n}\n\n/**\n * Materializes a point selection as a scale domain.\n * @param {string} name - The name of the dataset representing the selection.\n * @param {string} [encoding] - A particular encoding channel to materialize.\n * @param {string} [field] - A particular field to materialize.\n * @param {string} [op='intersect'] - The set operation for combining selections.\n * One of 'intersect' (default) or 'union'.\n * @returns {array} An array of values to serve as a scale domain.\n */\nexport function vlPointDomain(name, encoding, field, op) {\n var data = this.context.data[name],\n entries = data ? data.values.value : [],\n unitIdx = data ? data[UNIT_INDEX] && data[UNIT_INDEX].value : undefined,\n entry = entries[0],\n i = 0, n, index, values, continuous, units;\n\n if (!entry) return undefined;\n\n for (n = encoding ? entry.encodings.length : entry.fields.length; i<n; ++i) {\n if ((encoding && entry.encodings[i] === encoding) ||\n (field && entry.fields[i] === field)) {\n index = i;\n continuous = entry[BIN + entry.fields[i]];\n break;\n }\n }\n\n // multi selections union within the same unit and intersect across units.\n // if we've got only one unit, enforce union for more efficient materialization.\n if (unitIdx && unitIdx.size === 1) {\n op = UNION;\n }\n\n if (unitIdx && op === INTERSECT) {\n units = entries.reduce(function(acc, entry) {\n var u = acc[entry.unit] || (acc[entry.unit] = []);\n u.push({unit: entry.unit, value: entry.values[index]});\n return acc;\n }, {});\n\n values = Object.keys(units).map(function(unit) {\n return {\n unit: unit,\n value: continuous\n ? continuousDomain(units[unit], UNION)\n : discreteDomain(units[unit], UNION)\n };\n });\n } else {\n values = entries.map(function(entry) {\n return {unit: entry.unit, value: entry.values[index]};\n });\n }\n\n return continuous ? continuousDomain(values, op) : discreteDomain(values, op);\n}\n\n/**\n * Materializes an interval selection as a scale domain.\n * @param {string} name - The name of the dataset representing the selection.\n * @param {string} [encoding] - A particular encoding channel to materialize.\n * @param {string} [field] - A particular field to materialize.\n * @param {string} [op='union'] - The set operation for combining selections.\n * One of 'intersect' or 'union' (default).\n * @returns {array} An array of values to serve as a scale domain.\n */\nexport function vlIntervalDomain(name, encoding, field, op) {\n var data = this.context.data[name],\n entries = data ? data.values.value : [],\n entry = entries[0],\n i = 0, n, interval, index, values, discrete;\n\n if (!entry) return undefined;\n\n for (n = entry.intervals.length; i<n; ++i) {\n interval = entry.intervals[i];\n if ((encoding && interval.encoding === encoding) ||\n (field && interval.field === field)) {\n if (!interval.extent) return undefined;\n index = i;\n discrete = interval.extent.length > 2;\n break;\n }\n }\n\n values = entries.reduce(function(acc, entry) {\n var extent = entry.intervals[index].extent,\n value = discrete\n ? extent.map(function (d) { return {unit: entry.unit, value: d}; })\n : {unit: entry.unit, value: extent};\n\n if (discrete) {\n acc.push.apply(acc, value);\n } else {\n acc.push(value);\n }\n return acc;\n }, []);\n\n\n return discrete ? discreteDomain(values, op) : continuousDomain(values, op);\n}\n\nfunction discreteDomain(entries, op) {\n var units = {}, count = 0,\n values = {}, domain = [],\n i = 0, n = entries.length,\n entry, unit, v, key;\n\n for (; i<n; ++i) {\n entry = entries[i];\n unit = entry.unit;\n key = entry.value;\n\n if (!units[unit]) units[unit] = ++count;\n if (!(v = values[key])) {\n values[key] = v = {value: key, units: {}, count: 0};\n }\n if (!v.units[unit]) v.units[unit] = ++v.count;\n }\n\n for (key in values) {\n v = values[key];\n if (op === INTERSECT && v.count !== count) continue;\n domain.push(v.value);\n }\n\n return domain.length ? domain : undefined;\n}\n\nfunction continuousDomain(entries, op) {\n var merge = op === INTERSECT ? intersectInterval : unionInterval,\n i = 0, n = entries.length,\n extent, domain, lo, hi;\n\n for (; i<n; ++i) {\n extent = entries[i].value;\n if (isDate(extent[0])) extent = extent.map(toNumber);\n lo = extent[0];\n hi = extent[1];\n if (lo > hi) {\n hi = extent[0];\n lo = extent[1];\n }\n domain = domain ? merge(domain, lo, hi) : [lo, hi];\n }\n\n return domain && domain.length && (+domain[0] !== +domain[1])\n ? domain\n : undefined;\n}\n\nfunction unionInterval(domain, lo, hi) {\n if (domain[0] > lo) domain[0] = lo;\n if (domain[1] < hi) domain[1] = hi;\n return domain;\n}\n\nfunction intersectInterval(domain, lo, hi) {\n if (hi < domain[0] || domain[1] < lo) {\n return [];\n } else {\n if (domain[0] < lo) domain[0] = lo;\n if (domain[1] > hi) domain[1] = hi;\n }\n return domain;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/expression/selection.js\n// module id = 892\n// module chunks = 0","import parseExpression from './expression';\nimport parseStream from './stream';\nimport {Scope, View} from '../util';\nimport {selector} from 'vega-event-selector';\nimport {array, error, extend, isString, stringValue} from 'vega-util';\n\nvar preamble = 'var datum=event.item&&event.item.datum;';\n\nexport default function(spec, scope, target) {\n var events = spec.events,\n update = spec.update,\n encode = spec.encode,\n sources = [],\n value = '', entry;\n\n if (!events) {\n error('Signal update missing events specification.');\n }\n\n // interpret as an event selector string\n if (isString(events)) {\n events = selector(events, scope.isSubscope() ? Scope : View);\n }\n\n // separate event streams from signal updates\n events = array(events).filter(function(stream) {\n if (stream.signal || stream.scale) {\n sources.push(stream);\n return 0;\n } else {\n return 1;\n }\n });\n\n // merge event streams, include as source\n if (events.length) {\n sources.push(events.length > 1 ? {merge: events} : events[0]);\n }\n\n if (encode != null) {\n if (update) error('Signal encode and update are mutually exclusive.');\n update = 'encode(item(),' + stringValue(encode) + ')';\n }\n\n // resolve update value\n value = isString(update) ? parseExpression(update, scope, preamble)\n : update.expr != null ? parseExpression(update.expr, scope, preamble)\n : update.value != null ? update.value\n : update.signal != null ? {\n $expr: '_.value',\n $params: {value: scope.signalRef(update.signal)}\n }\n : error('Invalid signal update specification.');\n\n entry = {\n target: target,\n update: value\n };\n\n if (spec.force) {\n entry.options = {force: true};\n }\n\n sources.forEach(function(source) {\n scope.addUpdate(extend(streamSource(source, scope), entry));\n });\n}\n\nfunction streamSource(stream, scope) {\n return {\n source: stream.signal ? scope.signalRef(stream.signal)\n : stream.scale ? scope.scaleRef(stream.scale)\n : parseStream(stream, scope)\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/update.js\n// module id = 893\n// module chunks = 0","/**\n * Parse an event selector string.\n * Returns an array of event stream definitions.\n */\nexport default function(selector, source, marks) {\n DEFAULT_SOURCE = source || VIEW;\n MARKS = marks || DEFAULT_MARKS;\n return parseMerge(selector.trim()).map(parseSelector);\n}\n\nvar VIEW = 'view',\n LBRACK = '[',\n RBRACK = ']',\n LBRACE = '{',\n RBRACE = '}',\n COLON = ':',\n COMMA = ',',\n NAME = '@',\n GT = '>',\n ILLEGAL = /[[\\]{}]/,\n DEFAULT_SOURCE,\n MARKS,\n DEFAULT_MARKS = {\n '*': 1,\n arc: 1,\n area: 1,\n group: 1,\n image: 1,\n line: 1,\n path: 1,\n rect: 1,\n rule: 1,\n shape: 1,\n symbol: 1,\n text: 1,\n trail: 1\n };\n\nfunction isMarkType(type) {\n return MARKS.hasOwnProperty(type);\n}\n\nfunction find(s, i, endChar, pushChar, popChar) {\n var count = 0,\n n = s.length,\n c;\n for (; i<n; ++i) {\n c = s[i];\n if (!count && c === endChar) return i;\n else if (popChar && popChar.indexOf(c) >= 0) --count;\n else if (pushChar && pushChar.indexOf(c) >= 0) ++count;\n }\n return i;\n}\n\nfunction parseMerge(s) {\n var output = [],\n start = 0,\n n = s.length,\n i = 0;\n\n while (i < n) {\n i = find(s, i, COMMA, LBRACK + LBRACE, RBRACK + RBRACE);\n output.push(s.substring(start, i).trim());\n start = ++i;\n }\n\n if (output.length === 0) {\n throw 'Empty event selector: ' + s;\n }\n return output;\n}\n\nfunction parseSelector(s) {\n return s[0] === '['\n ? parseBetween(s)\n : parseStream(s);\n}\n\nfunction parseBetween(s) {\n var n = s.length,\n i = 1,\n b, stream;\n\n i = find(s, i, RBRACK, LBRACK, RBRACK);\n if (i === n) {\n throw 'Empty between selector: ' + s;\n }\n\n b = parseMerge(s.substring(1, i));\n if (b.length !== 2) {\n throw 'Between selector must have two elements: ' + s;\n }\n\n s = s.slice(i + 1).trim();\n if (s[0] !== GT) {\n throw 'Expected \\'>\\' after between selector: ' + s;\n }\n\n b = b.map(parseSelector);\n\n stream = parseSelector(s.slice(1).trim());\n if (stream.between) {\n return {\n between: b,\n stream: stream\n };\n } else {\n stream.between = b;\n }\n\n return stream;\n}\n\nfunction parseStream(s) {\n var stream = {source: DEFAULT_SOURCE},\n source = [],\n throttle = [0, 0],\n markname = 0,\n start = 0,\n n = s.length,\n i = 0, j,\n filter;\n\n // extract throttle from end\n if (s[n-1] === RBRACE) {\n i = s.lastIndexOf(LBRACE);\n if (i >= 0) {\n try {\n throttle = parseThrottle(s.substring(i+1, n-1));\n } catch (e) {\n throw 'Invalid throttle specification: ' + s;\n }\n s = s.slice(0, i).trim();\n n = s.length;\n } else throw 'Unmatched right brace: ' + s;\n i = 0;\n }\n\n if (!n) throw s;\n\n // set name flag based on first char\n if (s[0] === NAME) markname = ++i;\n\n // extract first part of multi-part stream selector\n j = find(s, i, COLON);\n if (j < n) {\n source.push(s.substring(start, j).trim());\n start = i = ++j;\n }\n\n // extract remaining part of stream selector\n i = find(s, i, LBRACK);\n if (i === n) {\n source.push(s.substring(start, n).trim());\n } else {\n source.push(s.substring(start, i).trim());\n filter = [];\n start = ++i;\n if (start === n) throw 'Unmatched left bracket: ' + s;\n }\n\n // extract filters\n while (i < n) {\n i = find(s, i, RBRACK);\n if (i === n) throw 'Unmatched left bracket: ' + s;\n filter.push(s.substring(start, i).trim());\n if (i < n-1 && s[++i] !== LBRACK) throw 'Expected left bracket: ' + s;\n start = ++i;\n }\n\n // marshall event stream specification\n if (!(n = source.length) || ILLEGAL.test(source[n-1])) {\n throw 'Invalid event selector: ' + s;\n }\n\n if (n > 1) {\n stream.type = source[1];\n if (markname) {\n stream.markname = source[0].slice(1);\n } else if (isMarkType(source[0])) {\n stream.marktype = source[0];\n } else {\n stream.source = source[0];\n }\n } else {\n stream.type = source[0];\n }\n if (stream.type.slice(-1) === '!') {\n stream.consume = true;\n stream.type = stream.type.slice(0, -1)\n }\n if (filter != null) stream.filter = filter;\n if (throttle[0]) stream.throttle = throttle[0];\n if (throttle[1]) stream.debounce = throttle[1];\n\n return stream;\n}\n\nfunction parseThrottle(s) {\n var a = s.split(COMMA);\n if (!s.length || a.length > 2) throw s;\n return a.map(function(_) {\n var x = +_;\n if (x !== x) throw s;\n return x;\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-event-selector/src/event-selector.js\n// module id = 894\n// module chunks = 0","import {error, isArray, isObject, stringValue} from 'vega-util';\n\nexport default function(proj, scope) {\n var params = {};\n\n for (var name in proj) {\n if (name === 'name') continue;\n params[name] = parseParameter(proj[name], name, scope);\n }\n\n scope.addProjection(proj.name, params);\n}\n\nfunction parseParameter(_, name, scope) {\n return isArray(_) ? _.map(function(_) { return parseParameter(_, name, scope); })\n : !isObject(_) ? _\n : _.signal ? scope.signalRef(_.signal)\n : name === 'fit' ? _\n : error('Unsupported parameter object: ' + stringValue(_));\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/projection.js\n// module id = 895\n// module chunks = 0","import {\n GuideLabelStyle, Skip,\n Symbols, Gradient, Discrete, LegendScales\n} from './guides/constants';\nimport legendGradient from './guides/legend-gradient';\nimport legendGradientDiscrete from './guides/legend-gradient-discrete';\nimport legendGradientLabels from './guides/legend-gradient-labels';\nimport {default as legendSymbolGroups, legendSymbolLayout} from './guides/legend-symbol-groups';\nimport legendTitle from './guides/legend-title';\nimport guideGroup from './guides/guide-group';\nimport {getEncoding, getStyle, gradientLength, lookup} from './guides/guide-util';\nimport parseExpression from './expression';\nimport parseMark from './mark';\nimport {isContinuous, isDiscretizing} from './scale';\nimport {LegendRole, LegendEntryRole} from './marks/roles';\nimport {addEncode, extendEncode} from './encode/encode-util';\nimport {ref, deref} from '../util';\nimport {Collect, LegendEntries} from '../transforms';\nimport {error} from 'vega-util';\n\nexport default function(spec, scope) {\n var config = scope.config.legend,\n encode = spec.encode || {},\n legendEncode = encode.legend || {},\n name = legendEncode.name || undefined,\n interactive = legendEncode.interactive,\n style = legendEncode.style,\n entryEncode, entryLayout, params, children,\n type, datum, dataRef, entryRef, group;\n\n // resolve 'canonical' scale name\n var scale = LegendScales.reduce(function(a, b) { return a || spec[b]; }, 0);\n if (!scale) error('Missing valid scale for legend.');\n\n // resolve legend type (symbol, gradient, or discrete gradient)\n type = legendType(spec, scope.scaleType(scale));\n\n // single-element data source for legend group\n datum = {\n orient: lookup('orient', spec, config),\n title: spec.title != null,\n type: type\n };\n dataRef = ref(scope.add(Collect(null, [datum])));\n\n // encoding properties for legend group\n legendEncode = extendEncode(\n buildLegendEncode(spec, config),legendEncode, Skip\n );\n\n // encoding properties for legend entry sub-group\n entryEncode = {enter: {x: {value: 0}, y: {value: 0}}};\n\n // data source for legend values\n entryRef = ref(scope.add(LegendEntries(params = {\n type: type,\n scale: scope.scaleRef(scale),\n count: scope.objectProperty(spec.tickCount),\n values: scope.objectProperty(spec.values),\n formatSpecifier: scope.property(spec.format)\n })));\n\n // continuous gradient legend\n if (type === Gradient) {\n children = [\n legendGradient(spec, scale, config, encode.gradient),\n legendGradientLabels(spec, config, encode.labels, entryRef)\n ];\n // adjust default tick count based on the gradient length\n params.count = params.count || scope.signalRef(\n 'max(2,2*floor((' + deref(gradientLength(spec, config)) + ')/100))'\n );\n }\n\n // discrete gradient legend\n else if (type === Discrete) {\n children = [\n legendGradientDiscrete(spec, scale, config, encode.gradient, entryRef),\n legendGradientLabels(spec, config, encode.labels, entryRef)\n ];\n }\n\n // symbol legend\n else {\n // determine legend symbol group layout\n entryLayout = legendSymbolLayout(spec, config);\n children = [\n legendSymbolGroups(spec, config, encode, entryRef, deref(entryLayout.columns))\n ];\n // pass symbol size information to legend entry generator\n params.size = sizeExpression(spec, scope, children[0].marks);\n }\n\n // generate legend marks\n children = [\n guideGroup(LegendEntryRole, null, null, dataRef, interactive,\n entryEncode, children, entryLayout)\n ];\n\n // include legend title if defined\n if (datum.title) {\n children.push(legendTitle(spec, config, encode.title, dataRef));\n }\n\n // build legend specification\n group = guideGroup(LegendRole, style, name, dataRef, interactive, legendEncode, children);\n if (spec.zindex) group.zindex = spec.zindex;\n\n // parse legend specification\n return parseMark(group, scope);\n}\n\nfunction legendType(spec, scaleType) {\n var type = spec.type || Symbols;\n\n if (!spec.type && scaleCount(spec) === 1 && (spec.fill || spec.stroke)) {\n type = isContinuous(scaleType) ? Gradient\n : isDiscretizing(scaleType) ? Discrete\n : Symbols;\n }\n\n return type !== Gradient ? type\n : isDiscretizing(scaleType) ? Discrete\n : Gradient;\n}\n\nfunction scaleCount(spec) {\n return LegendScales.reduce(function(count, type) {\n return count + (spec[type] ? 1 : 0);\n }, 0);\n}\n\nfunction buildLegendEncode(spec, config) {\n var encode = {enter: {}, update: {}};\n\n addEncode(encode, 'offset', lookup('offset', spec, config));\n addEncode(encode, 'padding', lookup('padding', spec, config));\n addEncode(encode, 'titlePadding', lookup('titlePadding', spec, config));\n addEncode(encode, 'fill', lookup('fillColor', spec, config));\n addEncode(encode, 'stroke', lookup('strokeColor', spec, config));\n addEncode(encode, 'strokeWidth', lookup('strokeWidth', spec, config));\n addEncode(encode, 'cornerRadius', lookup('cornerRadius', spec, config));\n addEncode(encode, 'strokeDash', config.strokeDash);\n\n return encode;\n}\n\nfunction sizeExpression(spec, scope, marks) {\n var fontSize, size, strokeWidth, expr;\n\n strokeWidth = getEncoding('strokeWidth', marks[0].encode);\n\n size = spec.size ? 'scale(\"' + spec.size + '\",datum)'\n : getEncoding('size', marks[0].encode, scope);\n\n fontSize = getFontSize(marks[1].encode, scope, GuideLabelStyle);\n\n expr = 'max('\n + 'ceil(sqrt(' + deref(size) + ')+' + deref(strokeWidth) + '),'\n + deref(fontSize)\n + ')';\n\n return parseExpression(expr, scope);\n}\n\nfunction getFontSize(encode, scope, style) {\n return getEncoding('fontSize', encode) || getStyle('fontSize', scope, style);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/legend.js\n// module id = 896\n// module chunks = 0","import guideMark from './guide-mark';\nimport {gradientLength, gradientThickness, isVertical, lookup} from './guide-util';\nimport {RectMark} from '../marks/marktypes';\nimport {LegendGradientRole} from '../marks/roles';\nimport {addEncode, encoder} from '../encode/encode-util';\nimport {extend} from 'vega-util';\n\nexport default function(spec, scale, config, userEncode) {\n var zero = {value: 0},\n vertical = isVertical(spec, config.gradientDirection),\n thickness = gradientThickness(spec, config),\n length = gradientLength(spec, config),\n encode, enter, start, stop, width, height;\n\n if (vertical) {\n start = [0, 1];\n stop = [0, 0];\n width = thickness;\n height = length;\n } else {\n start = [0, 0];\n stop = [1, 0];\n width = length;\n height = thickness;\n }\n\n encode = {\n enter: enter = {\n opacity: zero,\n x: zero,\n y: zero,\n width: encoder(width),\n height: encoder(height)\n },\n update: extend({}, enter, {\n opacity: {value: 1},\n fill: {gradient: scale, start: start, stop: stop}\n }),\n exit: {\n opacity: zero\n }\n };\n addEncode(encode, 'stroke', lookup('gradientStrokeColor', spec, config));\n addEncode(encode, 'strokeWidth', lookup('gradientStrokeWidth', spec, config));\n addEncode(encode, 'opacity', lookup('gradientOpacity', spec, config), 'update');\n\n return guideMark(RectMark, LegendGradientRole, null, undefined, undefined, encode, userEncode);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/guides/legend-gradient.js\n// module id = 897\n// module chunks = 0","import adjustSpatial from './encode/adjust-spatial';\nimport entry from './encode/entry';\nimport rule from './encode/rule';\nimport set from './encode/set';\nimport {isArray} from 'vega-util';\n\nexport default function parseEncode(encode, marktype, params, scope) {\n var fields = {},\n code = 'var o=item,datum=o.datum,$;',\n channel, enc, value;\n\n for (channel in encode) {\n enc = encode[channel];\n if (isArray(enc)) { // rule\n code += rule(channel, enc, scope, params, fields);\n } else {\n value = entry(channel, enc, scope, params, fields);\n code += set('o', channel, value);\n }\n }\n\n code += adjustSpatial(encode, marktype);\n code += 'return 1;';\n\n return {\n $expr: code,\n $fields: Object.keys(fields),\n $output: Object.keys(encode)\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/encode.js\n// module id = 898\n// module chunks = 0","import {toSet} from 'vega-util';\n\nvar Skip = toSet(['rule']),\n Swap = toSet(['group', 'image', 'rect']);\n\nexport default function(encode, marktype) {\n var code = '';\n\n if (Skip[marktype]) return code;\n\n if (encode.x2) {\n if (encode.x) {\n if (Swap[marktype]) {\n code += 'if(o.x>o.x2)$=o.x,o.x=o.x2,o.x2=$;';\n }\n code += 'o.width=o.x2-o.x;';\n } else {\n code += 'o.x=o.x2-(o.width||0);';\n }\n }\n\n if (encode.xc) {\n code += 'o.x=o.xc-(o.width||0)/2;';\n }\n\n if (encode.y2) {\n if (encode.y) {\n if (Swap[marktype]) {\n code += 'if(o.y>o.y2)$=o.y,o.y=o.y2,o.y2=$;';\n }\n code += 'o.height=o.y2-o.y;';\n } else {\n code += 'o.y=o.y2-(o.height||0);';\n }\n }\n\n if (encode.yc) {\n code += 'o.y=o.yc-(o.height||0)/2;';\n }\n\n return code;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/encode/adjust-spatial.js\n// module id = 899\n// module chunks = 0","import entry from './entry';\n\nexport default function(enc, scope, params, fields) {\n function color(type, x, y, z) {\n var a = entry(null, x, scope, params, fields),\n b = entry(null, y, scope, params, fields),\n c = entry(null, z, scope, params, fields);\n return 'this.' + type + '(' + [a, b, c].join(',') + ').toString()';\n }\n\n return (enc.c) ? color('hcl', enc.h, enc.c, enc.l)\n : (enc.h || enc.s) ? color('hsl', enc.h, enc.s, enc.l)\n : (enc.l || enc.a) ? color('lab', enc.l, enc.a, enc.b)\n : (enc.r || enc.g || enc.b) ? color('rgb', enc.r, enc.g, enc.b)\n : null;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/encode/color.js\n// module id = 900\n// module chunks = 0","import {getScale} from './scale';\nimport {stringValue} from 'vega-util';\n\nexport default function(enc, scope, params, fields) {\n return 'this.gradient('\n + getScale(enc.gradient, scope, params, fields)\n + ',' + stringValue(enc.start)\n + ',' + stringValue(enc.stop)\n + ',' + stringValue(enc.count)\n + ')';\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/encode/gradient.js\n// module id = 901\n// module chunks = 0","import entry from './entry';\nimport {isObject} from 'vega-util';\n\nexport default function(property, scope, params, fields) {\n return isObject(property)\n ? '(' + entry(null, property, scope, params, fields) + ')'\n : property;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/encode/property.js\n// module id = 902\n// module chunks = 0","import entry from './entry';\nimport set from './set';\nimport expression from './expression';\nimport {peek} from 'vega-util';\n\nexport default function(channel, rules, scope, params, fields) {\n var code = '';\n\n rules.forEach(function(rule) {\n var value = entry(channel, rule, scope, params, fields);\n code += rule.test\n ? expression(rule.test, scope, params, fields) + '?' + value + ':'\n : value;\n });\n\n // if no else clause, terminate with null (vega/vega#1366)\n if (peek(code) === ':') {\n code += 'null';\n }\n\n return set('o', channel, code);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/encode/rule.js\n// module id = 903\n// module chunks = 0","import {Value, Perc, Perc2} from './constants';\nimport guideMark from './guide-mark';\nimport {gradientLength, gradientThickness, isVertical, lookup} from './guide-util';\nimport {RectMark} from '../marks/marktypes';\nimport {LegendBandRole} from '../marks/roles';\nimport {addEncode, encoder} from '../encode/encode-util';\nimport {extend} from 'vega-util';\n\nexport default function(spec, scale, config, userEncode, dataRef) {\n var zero = {value: 0},\n vertical = isVertical(spec, config.gradientDirection),\n thickness = gradientThickness(spec, config),\n length = gradientLength(spec, config),\n encode, enter, u, v, uu, vv, adjust = '';\n\n vertical\n ? (u = 'y', uu = 'y2', v = 'x', vv = 'width', adjust = '1-')\n : (u = 'x', uu = 'x2', v = 'y', vv = 'height');\n\n enter = {\n opacity: zero,\n fill: {scale: scale, field: Value}\n };\n enter[u] = {signal: adjust + 'datum.' + Perc, mult: length};\n enter[v] = zero;\n enter[uu] = {signal: adjust + 'datum.' + Perc2, mult: length};\n enter[vv] = encoder(thickness);\n\n encode = {\n enter: enter,\n update: extend({}, enter, {opacity: {value: 1}}),\n exit: {opacity: zero}\n };\n addEncode(encode, 'stroke', lookup('gradientStrokeColor', spec, config));\n addEncode(encode, 'strokeWidth', lookup('gradientStrokeWidth', spec, config));\n addEncode(encode, 'opacity', lookup('gradientOpacity', spec, config), 'update');\n\n return guideMark(RectMark, LegendBandRole, null, Value, dataRef, encode, userEncode);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/guides/legend-gradient-discrete.js\n// module id = 904\n// module chunks = 0","import {Index, Label, Perc, Value, GuideLabelStyle} from './constants';\nimport guideMark from './guide-mark';\nimport {gradientLength, gradientThickness, isVertical, lookup} from './guide-util';\nimport {TextMark} from '../marks/marktypes';\nimport {LegendLabelRole} from '../marks/roles';\nimport {addEncode, encoder} from '../encode/encode-util';\nimport {value} from '../../util';\n\nvar alignExpr = 'datum.' + Perc + '<=0?\"left\"'\n + ':datum.' + Perc + '>=1?\"right\":\"center\"';\n\nvar baselineExpr = 'datum.' + Perc + '<=0?\"bottom\"'\n + ':datum.' + Perc + '>=1?\"top\":\"middle\"';\n\nexport default function(spec, config, userEncode, dataRef) {\n var zero = {value: 0},\n vertical = isVertical(spec, config.gradientDirection),\n thickness = encoder(gradientThickness(spec, config)),\n length = gradientLength(spec, config),\n overlap = lookup('labelOverlap', spec, config),\n encode, enter, update, u, v, adjust = '';\n\n encode = {\n enter: enter = {\n opacity: zero\n },\n update: update = {\n opacity: {value: 1},\n text: {field: Label}\n },\n exit: {\n opacity: zero\n }\n };\n addEncode(encode, 'fill', lookup('labelColor', spec, config));\n addEncode(encode, 'font', lookup('labelFont', spec, config));\n addEncode(encode, 'fontSize', lookup('labelFontSize', spec, config));\n addEncode(encode, 'fontWeight', lookup('labelFontWeight', spec, config));\n addEncode(encode, 'fillOpacity', lookup('labelOpacity', spec, config));\n addEncode(encode, 'limit', value(spec.labelLimit, config.gradientLabelLimit));\n\n if (vertical) {\n enter.align = {value: 'left'};\n enter.baseline = update.baseline = {signal: baselineExpr};\n u = 'y'; v = 'x'; adjust = '1-';\n } else {\n enter.align = update.align = {signal: alignExpr};\n enter.baseline = {value: 'top'};\n u = 'x'; v = 'y';\n }\n\n enter[u] = update[u] = {signal: adjust + 'datum.' + Perc, mult: length};\n\n enter[v] = update[v] = thickness;\n thickness.offset = value(spec.labelOffset, config.gradientLabelOffset) || 0;\n\n spec = guideMark(TextMark, LegendLabelRole, GuideLabelStyle, Value, dataRef, encode, userEncode);\n if (overlap) spec.overlap = {method: overlap, order: 'datum.' + Index};\n return spec;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/guides/legend-gradient-labels.js\n// module id = 905\n// module chunks = 0","import {\n Index, Label, Offset, Size, Value,\n Skip, GuideLabelStyle, LegendScales\n} from './constants';\nimport guideGroup from './guide-group';\nimport guideMark from './guide-mark';\nimport {entryColumns, isVertical, lookup} from './guide-util';\nimport {SymbolMark, TextMark} from '../marks/marktypes';\nimport {ScopeRole, LegendSymbolRole, LegendLabelRole} from '../marks/roles';\nimport {addEncode, encoder, extendEncode} from '../encode/encode-util';\n\nvar zero = {value: 0};\n\n// userEncode is top-level, includes entries, symbols, labels\nexport default function(spec, config, userEncode, dataRef, columns) {\n var entries = userEncode.entries,\n interactive = !!(entries && entries.interactive),\n name = entries ? entries.name : undefined,\n height = lookup('clipHeight', spec, config),\n symbolOffset = lookup('symbolOffset', spec, config),\n valueRef = {data: 'value'},\n encode = {},\n xSignal = columns + '?' + 'datum.' + Offset + ':' + 'datum.' + Size,\n yEncode = height ? encoder(height) : {field: Size},\n index = 'datum.' + Index,\n ncols = 'max(1,' + columns + ')',\n enter, update, labelOffset, symbols, labels, nrows, sort;\n\n yEncode.mult = 0.5;\n\n // -- LEGEND SYMBOLS --\n encode = {\n enter: enter = {\n opacity: zero,\n x: {signal: xSignal, mult: 0.5, offset: symbolOffset},\n y: yEncode\n },\n update: update = {\n opacity: {value: 1},\n x: enter.x,\n y: enter.y\n },\n exit: {\n opacity: zero\n }\n };\n\n if (!spec.fill) {\n addEncode(encode, 'fill', config.symbolBaseFillColor);\n addEncode(encode, 'stroke', config.symbolBaseStrokeColor);\n }\n addEncode(encode, 'shape', lookup('symbolType', spec, config));\n addEncode(encode, 'size', lookup('symbolSize', spec, config));\n addEncode(encode, 'strokeWidth', lookup('symbolStrokeWidth', spec, config));\n addEncode(encode, 'fill', lookup('symbolFillColor', spec, config));\n addEncode(encode, 'stroke', lookup('symbolStrokeColor', spec, config));\n addEncode(encode, 'opacity', lookup('symbolOpacity', spec, config), 'update');\n\n LegendScales.forEach(function(scale) {\n if (spec[scale]) {\n update[scale] = enter[scale] = {scale: spec[scale], field: Value};\n }\n });\n\n symbols = guideMark(\n SymbolMark, LegendSymbolRole, null,\n Value, valueRef, encode, userEncode.symbols\n );\n if (height) symbols.clip = true;\n\n // -- LEGEND LABELS --\n labelOffset = encoder(symbolOffset);\n labelOffset.offset = lookup('labelOffset', spec, config);\n\n encode = {\n enter: enter = {\n opacity: zero,\n x: {signal: xSignal, offset: labelOffset},\n y: yEncode\n },\n update: update = {\n opacity: {value: 1},\n text: {field: Label},\n x: enter.x,\n y: enter.y\n },\n exit: {\n opacity: zero\n }\n };\n\n addEncode(encode, 'align', lookup('labelAlign', spec, config));\n addEncode(encode, 'baseline', lookup('labelBaseline', spec, config));\n addEncode(encode, 'fill', lookup('labelColor', spec, config));\n addEncode(encode, 'font', lookup('labelFont', spec, config));\n addEncode(encode, 'fontSize', lookup('labelFontSize', spec, config));\n addEncode(encode, 'fontWeight', lookup('labelFontWeight', spec, config));\n addEncode(encode, 'limit', lookup('labelLimit', spec, config));\n addEncode(encode, 'fillOpacity', lookup('labelOpacity', spec, config));\n\n labels = guideMark(\n TextMark, LegendLabelRole, GuideLabelStyle,\n Value, valueRef, encode, userEncode.labels\n );\n\n // -- LEGEND ENTRY GROUPS --\n encode = {\n enter: {\n noBound: {value: true}, // ignore width/height in bounds calc\n width: zero,\n height: height ? encoder(height) : zero,\n opacity: zero\n },\n exit: {opacity: zero},\n update: update = {\n opacity: {value: 1},\n row: {signal: null},\n column: {signal: null}\n }\n };\n\n // annotate and sort groups to ensure correct ordering\n if (isVertical(spec, config.symbolDirection)) {\n nrows = 'ceil(item.mark.items.length/' + ncols + ')';\n update.row.signal = index + '%' + nrows;\n update.column.signal = 'floor(' + index + '/' + nrows + ')';\n sort = {field: ['row', index]};\n } else {\n update.row.signal = 'floor(' + index + '/' + ncols + ')';\n update.column.signal = index + '%' + ncols;\n sort = {field: index};\n }\n // handle zero column case (implies infinite columns)\n update.column.signal = columns + '?' + update.column.signal + ':' + index;\n\n // facet legend entries into sub-groups\n dataRef = {facet: {data: dataRef, name: 'value', groupby: Index}};\n\n spec = guideGroup(\n ScopeRole, null, name, dataRef, interactive,\n extendEncode(encode, entries, Skip), [symbols, labels]\n );\n spec.sort = sort;\n return spec;\n}\n\nexport function legendSymbolLayout(spec, config) {\n // layout parameters for legend entries\n return {\n align: lookup('gridAlign', spec, config),\n center: {row: true, column: false},\n columns: entryColumns(spec, config),\n padding: {\n row: lookup('rowPadding', spec, config),\n column: lookup('columnPadding', spec, config)\n }\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/guides/legend-symbol-groups.js\n// module id = 906\n// module chunks = 0","import {GuideTitleStyle} from './constants';\nimport guideMark from './guide-mark';\nimport {lookup} from './guide-util';\nimport {TextMark} from '../marks/marktypes';\nimport {LegendTitleRole} from '../marks/roles';\nimport {addEncode, encoder} from '../encode/encode-util';\n\nexport default function(spec, config, userEncode, dataRef) {\n var zero = {value: 0},\n encode, enter;\n\n encode = {\n enter: enter = {\n opacity: zero,\n x: {field: {group: 'padding'}},\n y: {field: {group: 'padding'}}\n },\n update: {\n opacity: {value: 1},\n text: encoder(spec.title),\n x: enter.x,\n y: enter.y\n },\n exit: {\n opacity: zero\n }\n };\n addEncode(encode, 'align', lookup('titleAlign', spec, config));\n addEncode(encode, 'baseline', lookup('titleBaseline', spec, config));\n addEncode(encode, 'fill', lookup('titleColor', spec, config));\n addEncode(encode, 'font', lookup('titleFont', spec, config));\n addEncode(encode, 'fontSize', lookup('titleFontSize', spec, config));\n addEncode(encode, 'fontWeight', lookup('titleFontWeight', spec, config));\n addEncode(encode, 'limit', lookup('titleLimit', spec, config));\n addEncode(encode, 'fillOpacity', lookup('titleOpacity', spec, config));\n\n return guideMark(TextMark, LegendTitleRole, GuideTitleStyle, null, dataRef, encode, userEncode);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/guides/legend-title.js\n// module id = 907\n// module chunks = 0","import {isObject, stringValue} from 'vega-util';\n\nexport default function(clip, scope) {\n var expr;\n\n if (isObject(clip)) {\n if (clip.signal) {\n expr = clip.signal;\n } else if (clip.path) {\n expr = 'pathShape(' + param(clip.path) + ')';\n } else if (clip.sphere) {\n expr = 'geoShape(' + param(clip.sphere) + ', {type: \"Sphere\"})';\n }\n }\n\n return expr\n ? scope.signalRef(expr)\n : !!clip;\n}\n\nfunction param(value) {\n return isObject(value) && value.signal\n ? value.signal\n : stringValue(value);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/marks/clip.js\n// module id = 908\n// module chunks = 0","import role from './role';\n\nexport default function(spec) {\n return {\n marktype: spec.type,\n name: spec.name || undefined,\n role: spec.role || role(spec),\n zindex: +spec.zindex || undefined\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/marks/definition.js\n// module id = 909\n// module chunks = 0","export default function(spec, scope) {\n return spec && spec.signal ? scope.signalRef(spec.signal)\n : spec === false ? false\n : true;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/marks/interactive.js\n// module id = 910\n// module chunks = 0","import {getDataRef} from './data';\nimport parseSpec from '../spec';\nimport DataScope from '../../DataScope';\nimport {ref} from '../../util';\nimport {Collect, Facet, PreFacet, Sieve} from '../../transforms';\nimport {error, stringValue} from 'vega-util';\n\nexport default function(spec, scope, group) {\n var facet = spec.from.facet,\n name = facet.name,\n data = getDataRef(facet, scope),\n subscope, source, values, op;\n\n if (!facet.name) {\n error('Facet must have a name: ' + stringValue(facet));\n }\n if (!facet.data) {\n error('Facet must reference a data set: ' + stringValue(facet));\n }\n\n if (facet.field) {\n op = scope.add(PreFacet({\n field: scope.fieldRef(facet.field),\n pulse: data\n }));\n } else if (facet.groupby) {\n op = scope.add(Facet({\n key: scope.keyRef(facet.groupby),\n group: ref(scope.proxy(group.parent)),\n pulse: data\n }));\n } else {\n error('Facet must specify groupby or field: ' + stringValue(facet));\n }\n\n // initialize facet subscope\n subscope = scope.fork();\n source = subscope.add(Collect());\n values = subscope.add(Sieve({pulse: ref(source)}));\n subscope.addData(name, new DataScope(subscope, source, source, values));\n subscope.addSignal('parent', null);\n\n // parse faceted subflow\n op.params.subflow = {\n $subflow: parseSpec(spec, subscope).toRuntime()\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/marks/facet.js\n// module id = 911\n// module chunks = 0","import parseSpec from '../spec';\nimport {Sieve, PreFacet} from '../../transforms';\n\nexport default function(spec, scope, input) {\n var op = scope.add(PreFacet({pulse: input.pulse})),\n subscope = scope.fork();\n\n subscope.add(Sieve());\n subscope.addSignal('parent', null);\n\n // parse group mark subflow\n op.params.subflow = {\n $subflow: parseSpec(spec, subscope).toRuntime()\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/marks/subflow.js\n// module id = 912\n// module chunks = 0","import {\n Top, Bottom, Left, Right, Center,\n Start, End, GroupTitleStyle\n} from './guides/constants';\nimport guideMark from './guides/guide-mark';\nimport {lookup} from './guides/guide-util';\nimport parseMark from './mark';\nimport {TextMark} from './marks/marktypes';\nimport {TitleRole} from './marks/roles';\nimport {addEncode, encoder} from './encode/encode-util';\nimport {ref} from '../util';\nimport {Collect} from '../transforms';\nimport {extend, isString, stringValue} from 'vega-util';\n\nfunction anchorExpr(startValue, endValue, centerValue) {\n return 'item.anchor===\"' + Start + '\"?' + startValue\n + ':item.anchor===\"' + End + '\"?' + endValue\n + ':' + centerValue;\n}\n\n// title text alignment\nvar alignExpr = anchorExpr(\n stringValue(Left), stringValue(Right), stringValue(Center)\n);\n\n// multiplication factor for anchor positioning\nvar multExpr = anchorExpr(\n '+(item.orient===\"' + Right + '\")',\n '+(item.orient!==\"' + Left + '\")',\n '0.5'\n);\n\nexport default function(spec, scope) {\n spec = isString(spec) ? {text: spec} : spec;\n\n var config = scope.config.title,\n encode = extend({}, spec.encode),\n datum, dataRef, title;\n\n // single-element data source for group title\n datum = {\n orient: lookup('orient', spec, config)\n };\n dataRef = ref(scope.add(Collect(null, [datum])));\n\n // build title specification\n encode.name = spec.name;\n encode.interactive = spec.interactive;\n title = buildTitle(spec, config, encode, dataRef);\n if (spec.zindex) title.zindex = spec.zindex;\n\n // parse title specification\n return parseMark(title, scope);\n}\n\nfunction buildTitle(spec, config, userEncode, dataRef) {\n var zero = {value: 0},\n title = spec.text,\n orient = lookup('orient', spec, config),\n anchor = lookup('anchor', spec, config),\n sign = (orient === Left || orient === Top) ? -1 : 1,\n horizontal = (orient === Top || orient === Bottom),\n extent = {group: (horizontal ? 'width' : 'height')},\n encode, enter, update, pos, opp;\n\n // title positioning along orientation axis\n pos = {field: extent, mult: {signal: multExpr}};\n\n // title baseline position\n opp = sign < 0 ? zero\n : horizontal ? {field: {group: 'height'}}\n : {field: {group: 'width'}};\n\n encode = {\n enter: enter = {\n opacity: zero\n },\n update: update = {\n opacity: {value: 1},\n text: encoder(title),\n anchor: encoder(anchor),\n orient: encoder(orient),\n extent: {field: extent},\n align: {signal: alignExpr}\n },\n exit: {\n opacity: zero\n }\n };\n\n if (horizontal) {\n update.x = pos;\n update.y = opp;\n enter.angle = zero;\n enter.baseline = {value: orient === Top ? Bottom : Top};\n } else {\n update.x = opp;\n update.y = pos;\n enter.angle = {value: sign * 90};\n enter.baseline = {value: Bottom};\n }\n\n addEncode(encode, 'align', lookup('align', spec, config), 'update');\n addEncode(encode, 'angle', lookup('angle', spec, config));\n addEncode(encode, 'baseline', lookup('baseline', spec, config));\n addEncode(encode, 'fill', lookup('color', spec, config));\n addEncode(encode, 'font', lookup('font', spec, config));\n addEncode(encode, 'fontSize', lookup('fontSize', spec, config));\n addEncode(encode, 'fontWeight', lookup('fontWeight', spec, config));\n addEncode(encode, 'frame', lookup('frame', spec, config));\n addEncode(encode, 'limit', lookup('limit', spec, config));\n addEncode(encode, 'offset', lookup('offset', spec, config) || 0);\n\n return guideMark(TextMark, TitleRole, spec.style || GroupTitleStyle,\n null, dataRef, encode, userEncode);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/title.js\n// module id = 913\n// module chunks = 0","import parseTransform from './transform';\nimport parseTrigger from './trigger';\nimport {hasSignal, ref} from '../util';\nimport {Collect, Load, Relay, Sieve} from '../transforms';\nimport {array} from 'vega-util';\n\nexport default function parseData(data, scope) {\n var transforms = [];\n\n if (data.transform) {\n data.transform.forEach(function(tx) {\n transforms.push(parseTransform(tx, scope));\n });\n }\n\n if (data.on) {\n data.on.forEach(function(on) {\n parseTrigger(on, scope, data.name);\n });\n }\n\n scope.addDataPipeline(data.name, analyze(data, scope, transforms));\n}\n\n/**\n * Analyze a data pipeline, add needed operators.\n */\nfunction analyze(data, scope, ops) {\n // POSSIBLE TODOs:\n // - error checking for treesource on tree operators (BUT what if tree is upstream?)\n // - this is local analysis, perhaps some tasks better for global analysis...\n\n var output = [],\n source = null,\n modify = false,\n generate = false,\n upstream, i, n, t, m;\n\n if (data.values) {\n // hard-wired input data set\n output.push(source = collect({\n $ingest: data.values,\n $format: data.format\n }));\n } else if (data.url) {\n // load data from external source\n // if either url or format has signal, use dynamic loader\n // otherwise, request load upon dataflow init\n source = (hasSignal(data.url) || hasSignal(data.format))\n ? {$load: ref(scope.add(load(scope, data, source)))}\n : {$request: data.url, $format: data.format};\n output.push(source = collect(source));\n } else if (data.source) {\n // derives from one or more other data sets\n source = upstream = array(data.source).map(function(d) {\n return ref(scope.getData(d).output);\n });\n output.push(null); // populate later\n }\n\n // scan data transforms, add collectors as needed\n for (i=0, n=ops.length; i<n; ++i) {\n t = ops[i];\n m = t.metadata;\n\n if (!source && !m.source) {\n output.push(source = collect());\n }\n output.push(t);\n\n if (m.generates) generate = true;\n if (m.modifies && !generate) modify = true;\n\n if (m.source) source = t;\n else if (m.changes) source = null;\n }\n\n if (upstream) {\n n = upstream.length - 1;\n output[0] = Relay({\n derive: modify,\n pulse: n ? upstream : upstream[0]\n });\n if (modify || n) {\n // collect derived and multi-pulse tuples\n output.splice(1, 0, collect());\n }\n }\n\n if (!source) output.push(collect());\n output.push(Sieve({}));\n return output;\n}\n\nfunction collect(values) {\n var s = Collect({}, values);\n s.metadata = {source: true};\n return s;\n}\n\nfunction load(scope, data) {\n return Load({\n url: scope.property(data.url),\n format: scope.objectProperty(data.format)\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/data.js\n// module id = 914\n// module chunks = 0","import axisConfig from './guides/axis-config';\nimport axisDomain from './guides/axis-domain';\nimport axisGrid from './guides/axis-grid';\nimport axisTicks from './guides/axis-ticks';\nimport axisLabels from './guides/axis-labels';\nimport axisTitle from './guides/axis-title';\nimport guideGroup from './guides/guide-group';\nimport {lookup} from './guides/guide-util';\nimport {AxisRole} from './marks/roles';\nimport parseMark from './mark';\nimport {encoder, extendEncode} from './encode/encode-util';\nimport {Skip} from './guides/constants';\nimport {ref, value} from '../util';\nimport {Collect, AxisTicks} from '../transforms';\n\nexport default function(spec, scope) {\n var config = axisConfig(spec, scope),\n encode = spec.encode || {},\n axisEncode = encode.axis || {},\n name = axisEncode.name || undefined,\n interactive = axisEncode.interactive,\n style = axisEncode.style,\n datum, dataRef, ticksRef, size, group, children;\n\n // single-element data source for axis group\n datum = {\n orient: spec.orient,\n ticks: !!lookup('ticks', spec, config),\n labels: !!lookup('labels', spec, config),\n grid: !!lookup('grid', spec, config),\n domain: !!lookup('domain', spec, config),\n title: !!value(spec.title, false)\n };\n dataRef = ref(scope.add(Collect({}, [datum])));\n\n // encoding properties for axis group item\n axisEncode = extendEncode({\n update: {\n range: {signal: 'abs(span(range(\"' + spec.scale + '\")))'},\n offset: encoder(value(spec.offset, 0)),\n position: encoder(value(spec.position, 0)),\n titlePadding: encoder(lookup('titlePadding', spec, config)),\n minExtent: encoder(lookup('minExtent', spec, config)),\n maxExtent: encoder(lookup('maxExtent', spec, config))\n }\n }, encode.axis, Skip);\n\n // data source for axis ticks\n ticksRef = ref(scope.add(AxisTicks({\n scale: scope.scaleRef(spec.scale),\n extra: scope.property(lookup('tickExtra', spec, config)),\n count: scope.objectProperty(spec.tickCount),\n values: scope.objectProperty(spec.values),\n formatSpecifier: scope.property(spec.format)\n })));\n\n // generate axis marks\n children = [];\n\n // include axis gridlines if requested\n if (datum.grid) {\n children.push(axisGrid(spec, config, encode.grid, ticksRef));\n }\n\n // include axis ticks if requested\n if (datum.ticks) {\n size = lookup('tickSize', spec, config);\n children.push(axisTicks(spec, config, encode.ticks, ticksRef, size));\n }\n\n // include axis labels if requested\n if (datum.labels) {\n size = datum.ticks ? size : 0;\n children.push(axisLabels(spec, config, encode.labels, ticksRef, size));\n }\n\n // include axis domain path if requested\n if (datum.domain) {\n children.push(axisDomain(spec, config, encode.domain, dataRef));\n }\n\n // include axis title if defined\n if (datum.title) {\n children.push(axisTitle(spec, config, encode.title, dataRef));\n }\n\n // build axis specification\n group = guideGroup(AxisRole, style, name, dataRef, interactive, axisEncode, children);\n if (spec.zindex) group.zindex = spec.zindex;\n\n // parse axis specification\n return parseMark(group, scope);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/axis.js\n// module id = 915\n// module chunks = 0","import {Top, Bottom} from './constants';\nimport {extend} from 'vega-util';\n\nexport default function(spec, scope) {\n var config = scope.config,\n orient = spec.orient,\n xy = (orient === Top || orient === Bottom) ? config.axisX : config.axisY,\n or = config['axis' + orient[0].toUpperCase() + orient.slice(1)],\n band = scope.scaleType(spec.scale) === 'band' && config.axisBand;\n\n return (xy || or || band)\n ? extend({}, config.axis, xy, or, band)\n : config.axis;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/guides/axis-config.js\n// module id = 916\n// module chunks = 0","import {Top, Bottom} from './constants';\nimport guideMark from './guide-mark';\nimport {lookup} from './guide-util';\nimport {RuleMark} from '../marks/marktypes';\nimport {AxisDomainRole} from '../marks/roles';\nimport {addEncode} from '../encode/encode-util';\n\nexport default function(spec, config, userEncode, dataRef) {\n var orient = spec.orient,\n zero = {value: 0},\n encode, enter, update, u, u2, v;\n\n encode = {\n enter: enter = {\n opacity: zero\n },\n update: update = {\n opacity: {value: 1}\n },\n exit: {\n opacity: zero\n }\n };\n addEncode(encode, 'stroke', lookup('domainColor', spec, config));\n addEncode(encode, 'strokeWidth', lookup('domainWidth', spec, config));\n addEncode(encode, 'strokeOpacity', lookup('domainOpacity', spec, config));\n\n if (orient === Top || orient === Bottom) {\n u = 'x';\n v = 'y';\n } else {\n u = 'y';\n v = 'x';\n }\n u2 = u + '2';\n\n enter[v] = zero;\n update[u] = enter[u] = position(spec, 0);\n update[u2] = enter[u2] = position(spec, 1);\n\n return guideMark(RuleMark, AxisDomainRole, null, null, dataRef, encode, userEncode);\n}\n\nfunction position(spec, pos) {\n return {scale: spec.scale, range: pos};\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/guides/axis-domain.js\n// module id = 917\n// module chunks = 0","import {Left, Top, Bottom, Value} from './constants';\nimport guideMark from './guide-mark';\nimport {lookup} from './guide-util';\nimport {RuleMark} from '../marks/marktypes';\nimport {AxisGridRole} from '../marks/roles';\nimport {addEncode} from '../encode/encode-util';\n\nexport default function(spec, config, userEncode, dataRef) {\n var orient = spec.orient,\n vscale = spec.gridScale,\n sign = (orient === Left || orient === Top) ? 1 : -1,\n offset = sign * spec.offset || 0,\n zero = {value: 0},\n encode, enter, exit, update, tickPos, u, v, v2, s;\n\n encode = {\n enter: enter = {\n opacity: zero\n },\n update: update = {\n opacity: {value: 1}\n },\n exit: exit = {\n opacity: zero\n }\n };\n addEncode(encode, 'stroke', lookup('gridColor', spec, config));\n addEncode(encode, 'strokeDash', lookup('gridDash', spec, config));\n addEncode(encode, 'strokeOpacity', lookup('gridOpacity', spec, config));\n addEncode(encode, 'strokeWidth', lookup('gridWidth', spec, config));\n\n tickPos = {\n scale: spec.scale,\n field: Value,\n band: lookup('bandPosition', spec, config),\n round: lookup('tickRound', spec, config),\n extra: lookup('tickExtra', spec, config),\n offset: lookup('tickOffset', spec, config)\n };\n\n if (orient === Top || orient === Bottom) {\n u = 'x';\n v = 'y';\n s = 'height';\n } else {\n u = 'y';\n v = 'x';\n s = 'width';\n }\n v2 = v + '2';\n\n update[u] = enter[u] = exit[u] = tickPos;\n\n if (vscale) {\n enter[v] = {scale: vscale, range: 0, mult: sign, offset: offset};\n update[v2] = enter[v2] = {scale: vscale, range: 1, mult: sign, offset: offset};\n } else {\n enter[v] = {value: offset};\n update[v2] = enter[v2] = {signal: s, mult: sign, offset: offset};\n }\n\n return guideMark(RuleMark, AxisGridRole, null, Value, dataRef, encode, userEncode);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/guides/axis-grid.js\n// module id = 918\n// module chunks = 0","import {Top, Left, Bottom, Value} from './constants';\nimport guideMark from './guide-mark';\nimport {lookup} from './guide-util';\nimport {RuleMark} from '../marks/marktypes';\nimport {AxisTickRole} from '../marks/roles';\nimport {addEncode, encoder} from '../encode/encode-util';\n\nexport default function(spec, config, userEncode, dataRef, size) {\n var orient = spec.orient,\n sign = (orient === Left || orient === Top) ? -1 : 1,\n zero = {value: 0},\n encode, enter, exit, update, tickSize, tickPos;\n\n encode = {\n enter: enter = {\n opacity: zero\n },\n update: update = {\n opacity: {value: 1}\n },\n exit: exit = {\n opacity: zero\n }\n };\n addEncode(encode, 'stroke', lookup('tickColor', spec, config));\n addEncode(encode, 'strokeOpacity', lookup('tickOpacity', spec, config));\n addEncode(encode, 'strokeWidth', lookup('tickWidth', spec, config));\n\n tickSize = encoder(size);\n tickSize.mult = sign;\n\n tickPos = {\n scale: spec.scale,\n field: Value,\n band: lookup('bandPosition', spec, config),\n round: lookup('tickRound', spec, config),\n extra: lookup('tickExtra', spec, config),\n offset: lookup('tickOffset', spec, config)\n };\n\n if (orient === Top || orient === Bottom) {\n update.y = enter.y = zero;\n update.y2 = enter.y2 = tickSize;\n update.x = enter.x = exit.x = tickPos;\n } else {\n update.x = enter.x = zero;\n update.x2 = enter.x2 = tickSize;\n update.y = enter.y = exit.y = tickPos;\n }\n\n return guideMark(RuleMark, AxisTickRole, null, Value, dataRef, encode, userEncode);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/guides/axis-ticks.js\n// module id = 919\n// module chunks = 0","import {Top, Bottom, Left, Right, Label, Value, GuideLabelStyle} from './constants';\nimport guideMark from './guide-mark';\nimport {lookup} from './guide-util';\nimport {TextMark} from '../marks/marktypes';\nimport {AxisLabelRole} from '../marks/roles';\nimport {addEncode, encoder} from '../encode/encode-util';\nimport {deref} from '../../util';\n\nfunction flushExpr(scale, threshold, a, b, c) {\n return {\n signal: 'flush(range(\"' + scale + '\"), '\n + 'scale(\"' + scale + '\", datum.value), '\n + threshold + ',' + a + ',' + b + ',' + c + ')'\n };\n}\n\nexport default function(spec, config, userEncode, dataRef, size) {\n var orient = spec.orient,\n sign = (orient === Left || orient === Top) ? -1 : 1,\n isXAxis = (orient === Top || orient === Bottom),\n scale = spec.scale,\n flush = deref(lookup('labelFlush', spec, config)),\n flushOffset = deref(lookup('labelFlushOffset', spec, config)),\n flushOn = flush === 0 || !!flush,\n labelAlign = lookup('labelAlign', spec, config),\n labelBaseline = lookup('labelBaseline', spec, config),\n zero = {value: 0},\n encode, enter, tickSize, tickPos, align, baseline, offset, bound, overlap;\n\n tickSize = encoder(size);\n tickSize.mult = sign;\n tickSize.offset = encoder(lookup('labelPadding', spec, config) || 0);\n tickSize.offset.mult = sign;\n\n tickPos = {\n scale: scale,\n field: Value,\n band: 0.5,\n offset: lookup('tickOffset', spec, config)\n };\n\n if (isXAxis) {\n align = labelAlign || (flushOn\n ? flushExpr(scale, flush, '\"left\"', '\"right\"', '\"center\"')\n : 'center');\n baseline = labelBaseline || (orient === Top ? 'bottom' : 'top');\n offset = !labelAlign;\n } else {\n\n align = labelAlign || (orient === Right ? 'left' : 'right');\n baseline = labelBaseline || (flushOn\n ? flushExpr(scale, flush, '\"top\"', '\"bottom\"', '\"middle\"')\n : 'middle');\n offset = !labelBaseline;\n }\n\n offset = offset && flushOn && flushOffset\n ? flushExpr(scale, flush, '-' + flushOffset, flushOffset, 0)\n : null;\n\n encode = {\n enter: enter = {\n opacity: zero,\n x: isXAxis ? tickPos : tickSize,\n y: isXAxis ? tickSize : tickPos\n },\n update: {\n opacity: {value: 1},\n text: {field: Label},\n x: enter.x,\n y: enter.y\n },\n exit: {\n opacity: zero,\n x: enter.x,\n y: enter.y\n }\n };\n\n addEncode(encode, isXAxis ? 'dx' : 'dy', offset);\n addEncode(encode, 'align', align);\n addEncode(encode, 'baseline', baseline);\n addEncode(encode, 'angle', lookup('labelAngle', spec, config));\n addEncode(encode, 'fill', lookup('labelColor', spec, config));\n addEncode(encode, 'font', lookup('labelFont', spec, config));\n addEncode(encode, 'fontSize', lookup('labelFontSize', spec, config));\n addEncode(encode, 'fontWeight', lookup('labelFontWeight', spec, config));\n addEncode(encode, 'limit', lookup('labelLimit', spec, config));\n addEncode(encode, 'fillOpacity', lookup('labelOpacity', spec, config));\n bound = lookup('labelBound', spec, config);\n overlap = lookup('labelOverlap', spec, config);\n\n spec = guideMark(TextMark, AxisLabelRole, GuideLabelStyle, Value, dataRef, encode, userEncode);\n\n // if overlap method or bound defined, request label overlap removal\n if (overlap || bound) {\n spec.overlap = {\n method: overlap,\n order: 'datum.index',\n bound: bound ? {scale: scale, orient: orient, tolerance: bound} : null\n };\n }\n\n return spec;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/guides/axis-labels.js\n// module id = 920\n// module chunks = 0","import {Top, Bottom, Left, GuideTitleStyle} from './constants';\nimport guideMark from './guide-mark';\nimport {lookup} from './guide-util';\nimport {encoder, has} from '../encode/encode-util';\nimport {TextMark} from '../marks/marktypes';\nimport {AxisTitleRole} from '../marks/roles';\nimport {addEncode} from '../encode/encode-util';\n\nexport default function(spec, config, userEncode, dataRef) {\n var orient = spec.orient,\n sign = (orient === Left || orient === Top) ? -1 : 1,\n horizontal = (orient === Top || orient === Bottom),\n zero = {value: 0},\n encode, enter, update, titlePos;\n\n encode = {\n enter: enter = {\n opacity: zero\n },\n update: update = {\n opacity: {value: 1},\n text: encoder(spec.title)\n },\n exit: {\n opacity: zero\n }\n };\n\n titlePos = {\n scale: spec.scale,\n range: 0.5\n };\n\n if (horizontal) {\n update.x = titlePos;\n enter.angle = {value: 0};\n enter.baseline = {value: orient === Top ? 'bottom' : 'top'};\n } else {\n update.y = titlePos;\n enter.angle = {value: sign * 90};\n enter.baseline = {value: 'bottom'};\n }\n\n addEncode(encode, 'align', lookup('titleAlign', spec, config));\n addEncode(encode, 'angle', lookup('titleAngle', spec, config));\n addEncode(encode, 'baseline', lookup('titleBaseline', spec, config));\n addEncode(encode, 'fill', lookup('titleColor', spec, config));\n addEncode(encode, 'font', lookup('titleFont', spec, config));\n addEncode(encode, 'fontSize', lookup('titleFontSize', spec, config));\n addEncode(encode, 'fontWeight', lookup('titleFontWeight', spec, config));\n addEncode(encode, 'limit', lookup('titleLimit', spec, config));\n addEncode(encode, 'fillOpacity', lookup('titleOpacity', spec, config));\n\n !addEncode(encode, 'x', lookup('titleX', spec, config), 'update')\n && horizontal && !has('x', userEncode)\n && (encode.enter.auto = {value: true});\n\n !addEncode(encode, 'y', lookup('titleY', spec, config), 'update')\n && !horizontal && !has('y', userEncode)\n && (encode.enter.auto = {value: true});\n\n return guideMark(TextMark, AxisTitleRole, GuideTitleStyle, null, dataRef, encode, userEncode);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-parser/src/parsers/guides/axis-title.js\n// module id = 921\n// module chunks = 0","import {operatorExpression} from './expression';\nimport parseParameters from './parameters';\nimport {isOperator} from './util';\nimport {error} from 'vega-util';\n\n/**\n * Parse a dataflow operator.\n */\nexport default function(spec, ctx) {\n if (isOperator(spec.type) || !spec.type) {\n ctx.operator(spec,\n spec.update ? operatorExpression(spec.update, ctx) : null);\n } else {\n ctx.transform(spec, spec.type);\n }\n}\n\n/**\n * Parse and assign operator parameters.\n */\nexport function parseOperatorParameters(spec, ctx) {\n var op, params;\n if (spec.params) {\n if (!(op = ctx.get(spec.id))) {\n error('Invalid operator id: ' + spec.id);\n }\n params = parseParameters(spec.params, ctx);\n ctx.dataflow.connect(op, op.parameters(params));\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-runtime/src/operator.js\n// module id = 922\n// module chunks = 0","import {eventExpression} from './expression';\nimport {error} from 'vega-util';\n\n/**\n * Parse an event stream specification.\n */\nexport default function(spec, ctx) {\n var filter = spec.filter != null ? eventExpression(spec.filter, ctx) : undefined,\n stream = spec.stream != null ? ctx.get(spec.stream) : undefined,\n args;\n\n if (spec.source) {\n stream = ctx.events(spec.source, spec.type, filter);\n }\n else if (spec.merge) {\n args = spec.merge.map(ctx.get.bind(ctx));\n stream = args[0].merge.apply(args[0], args.slice(1));\n }\n\n if (spec.between) {\n args = spec.between.map(ctx.get.bind(ctx));\n stream = stream.between(args[0], args[1]);\n }\n\n if (spec.filter) {\n stream = stream.filter(filter);\n }\n\n if (spec.throttle != null) {\n stream = stream.throttle(+spec.throttle);\n }\n\n if (spec.debounce != null) {\n stream = stream.debounce(+spec.debounce);\n }\n\n if (stream == null) {\n error('Invalid stream definition: ' + JSON.stringify(spec));\n }\n\n if (spec.consume) stream.consume(true);\n\n ctx.stream(spec, stream);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-runtime/src/stream.js\n// module id = 923\n// module chunks = 0","import {eventExpression, handlerExpression} from './expression';\nimport parseParameters from './parameters';\nimport {error, isObject} from 'vega-util';\n\n/**\n * Parse an event-driven operator update.\n */\nexport default function(spec, ctx) {\n var srcid = isObject(srcid = spec.source) ? srcid.$ref : srcid,\n source = ctx.get(srcid),\n target = null,\n update = spec.update,\n params = undefined;\n\n if (!source) error('Source not defined: ' + spec.source);\n\n if (spec.target && spec.target.$expr) {\n target = eventExpression(spec.target.$expr, ctx);\n } else {\n target = ctx.get(spec.target);\n }\n\n if (update && update.$expr) {\n if (update.$params) {\n params = parseParameters(update.$params, ctx);\n }\n update = handlerExpression(update.$expr, ctx);\n }\n\n ctx.update(spec, source, target, update, params);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-runtime/src/update.js\n// module id = 924\n// module chunks = 0","import {getState, setState} from './state';\nimport {canonicalType, isCollect} from './util';\n\n/**\n * Context objects store the current parse state.\n * Enables lookup of parsed operators, event streams, accessors, etc.\n * Provides a 'fork' method for creating child contexts for subflows.\n */\nexport default function(df, transforms, functions) {\n return new Context(df, transforms, functions);\n}\n\nfunction Context(df, transforms, functions) {\n this.dataflow = df;\n this.transforms = transforms;\n this.events = df.events.bind(df);\n this.signals = {};\n this.scales = {};\n this.nodes = {};\n this.data = {};\n this.fn = {};\n if (functions) {\n this.functions = Object.create(functions);\n this.functions.context = this;\n }\n}\n\nfunction ContextFork(ctx) {\n this.dataflow = ctx.dataflow;\n this.transforms = ctx.transforms;\n this.functions = ctx.functions;\n this.events = ctx.events;\n this.signals = Object.create(ctx.signals);\n this.scales = Object.create(ctx.scales);\n this.nodes = Object.create(ctx.nodes);\n this.data = Object.create(ctx.data);\n this.fn = Object.create(ctx.fn);\n if (ctx.functions) {\n this.functions = Object.create(ctx.functions);\n this.functions.context = this;\n }\n}\n\nContext.prototype = ContextFork.prototype = {\n fork: function() {\n var ctx = new ContextFork(this);\n (this.subcontext || (this.subcontext = [])).push(ctx);\n return ctx;\n },\n get: function(id) {\n return this.nodes[id];\n },\n set: function(id, node) {\n return this.nodes[id] = node;\n },\n add: function(spec, op) {\n var ctx = this,\n df = ctx.dataflow,\n data;\n\n ctx.set(spec.id, op);\n\n if (isCollect(spec.type) && (data = spec.value)) {\n if (data.$ingest) {\n df.ingest(op, data.$ingest, data.$format);\n } else if (data.$load) {\n ctx.get(data.$load.$ref).target = op;\n } else if (data.$request) {\n df.request(op, data.$request, data.$format);\n } else {\n df.pulse(op, df.changeset().insert(data));\n }\n }\n\n if (spec.root) {\n ctx.root = op;\n }\n\n if (spec.parent) {\n var p = ctx.get(spec.parent.$ref);\n if (p) {\n df.connect(p, [op]);\n op.targets().add(p);\n } else {\n (ctx.unresolved = ctx.unresolved || []).push(function() {\n p = ctx.get(spec.parent.$ref);\n df.connect(p, [op]);\n op.targets().add(p);\n });\n }\n }\n\n if (spec.signal) {\n ctx.signals[spec.signal] = op;\n }\n\n if (spec.scale) {\n ctx.scales[spec.scale] = op;\n }\n\n if (spec.data) {\n for (var name in spec.data) {\n data = ctx.data[name] || (ctx.data[name] = {});\n spec.data[name].forEach(function(role) { data[role] = op; });\n }\n }\n },\n resolve: function() {\n (this.unresolved || []).forEach(function(fn) { fn(); });\n delete this.unresolved;\n return this;\n },\n operator: function(spec, update, params) {\n this.add(spec, this.dataflow.add(spec.value, update, params, spec.react));\n },\n transform: function(spec, type, params) {\n this.add(spec, this.dataflow.add(this.transforms[canonicalType(type)], params));\n },\n stream: function(spec, stream) {\n this.set(spec.id, stream);\n },\n update: function(spec, stream, target, update, params) {\n this.dataflow.on(stream, target, update, params, spec.options);\n },\n getState: getState,\n setState: setState\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-runtime/src/context.js\n// module id = 925\n// module chunks = 0","import {truthy} from 'vega-util';\n\nvar SKIP = {skip: true};\n\nexport function getState(options) {\n var ctx = this,\n state = {};\n\n if (options.signals) {\n var signals = (state.signals = {});\n Object.keys(ctx.signals).forEach(function(key) {\n var op = ctx.signals[key];\n if (options.signals(key, op)) {\n signals[key] = op.value;\n }\n });\n }\n\n if (options.data) {\n var data = (state.data = {});\n Object.keys(ctx.data).forEach(function(key) {\n var dataset = ctx.data[key];\n if (options.data(key, dataset)) {\n data[key] = dataset.input.value;\n }\n });\n }\n\n if (ctx.subcontext && options.recurse !== false) {\n state.subcontext = ctx.subcontext.map(function(ctx) {\n return ctx.getState(options);\n });\n }\n\n return state;\n}\n\nexport function setState(state) {\n var ctx = this,\n df = ctx.dataflow,\n data = state.data,\n signals = state.signals;\n\n Object.keys(signals || {}).forEach(function(key) {\n df.update(ctx.signals[key], signals[key], SKIP);\n });\n\n Object.keys(data || {}).forEach(function(key) {\n df.pulse(\n ctx.data[key].input,\n df.changeset().remove(truthy).insert(data[key])\n );\n });\n\n (state.subcontext || []).forEach(function(substate, i) {\n var subctx = ctx.subcontext[i];\n if (subctx) subctx.setState(substate);\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-runtime/src/state.js\n// module id = 926\n// module chunks = 0","import {error} from 'vega-util';\n\nexport function scale(name) {\n var scales = this._runtime.scales;\n if (!scales.hasOwnProperty(name)) {\n error('Unrecognized scale or projection: ' + name);\n }\n return scales[name].value;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-view/src/scale.js\n// module id = 927\n// module chunks = 0","var Width = 'width',\n Height = 'height',\n Padding = 'padding',\n Skip = {skip: true};\n\nexport function viewWidth(view, width) {\n var a = view.autosize(),\n p = view.padding();\n return width - (a && a.contains === Padding ? p.left + p.right : 0);\n}\n\nexport function viewHeight(view, height) {\n var a = view.autosize(),\n p = view.padding();\n return height - (a && a.contains === Padding ? p.top + p.bottom : 0);\n}\n\nexport function initializeResize(view) {\n var s = view._signals,\n w = s[Width],\n h = s[Height],\n p = s[Padding];\n\n function resetSize() {\n view._autosize = view._resize = 1;\n }\n\n // respond to width signal\n view._resizeWidth = view.add(null,\n function(_) {\n view._width = _.size;\n view._viewWidth = viewWidth(view, _.size);\n resetSize();\n },\n {size: w}\n );\n\n // respond to height signal\n view._resizeHeight = view.add(null,\n function(_) {\n view._height = _.size;\n view._viewHeight = viewHeight(view, _.size);\n resetSize();\n },\n {size: h}\n );\n\n // respond to padding signal\n var resizePadding = view.add(null, resetSize, {pad: p});\n\n // set rank to run immediately after source signal\n view._resizeWidth.rank = w.rank + 1;\n view._resizeHeight.rank = h.rank + 1;\n resizePadding.rank = p.rank + 1;\n}\n\nexport function resizeView(viewWidth, viewHeight, width, height, origin, auto) {\n this.runAfter(function(view) {\n var rerun = 0;\n\n // reset autosize flag\n view._autosize = 0;\n\n // width value changed: update signal, skip resize op\n if (view.width() !== width) {\n rerun = 1;\n view.signal(Width, width, Skip); // set width, skip update calc\n view._resizeWidth.skip(true); // skip width resize handler\n }\n\n // height value changed: update signal, skip resize op\n if (view.height() !== height) {\n rerun = 1;\n view.signal(Height, height, Skip); // set height, skip update calc\n view._resizeHeight.skip(true); // skip height resize handler\n }\n\n // view width changed: update view property, set resize flag\n if (view._viewWidth !== viewWidth) {\n view._resize = 1;\n view._viewWidth = viewWidth;\n }\n\n // view height changed: update view property, set resize flag\n if (view._viewHeight !== viewHeight) {\n view._resize = 1;\n view._viewHeight = viewHeight;\n }\n\n // origin changed: update view property, set resize flag\n if (view._origin[0] !== origin[0] || view._origin[1] !== origin[1]) {\n view._resize = 1;\n view._origin = origin;\n }\n\n // run dataflow on width/height signal change\n if (rerun) view.run('enter');\n if (auto) view.runAfter(function() { view.resize(); });\n }, false, 1);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-view/src/size.js\n// module id = 928\n// module chunks = 0","import {transforms} from 'vega-dataflow';\nimport {isArray} from 'vega-util';\n\n/**\n * Get the current view state, consisting of signal values and/or data sets.\n * @param {object} [options] - Options flags indicating which state to export.\n * If unspecified, all signals and data sets will be exported.\n * @param {function(string, Operator):boolean} [options.signals] - Optional\n * predicate function for testing if a signal should be included in the\n * exported state. If unspecified, all signals will be included, except for\n * those named 'parent' or those which refer to a Transform value.\n * @param {function(string, object):boolean} [options.data] - Optional\n * predicate function for testing if a data set's input should be included\n * in the exported state. If unspecified, all data sets that have been\n * explicitly modified will be included.\n * @param {boolean} [options.recurse=true] - Flag indicating if the exported\n * state should recursively include state from group mark sub-contexts.\n * @return {object} - An object containing the exported state values.\n */\nexport function getState(options) {\n return this._runtime.getState(options || {\n data: dataTest,\n signals: signalTest,\n recurse: true\n });\n}\n\nfunction dataTest(name, data) {\n return data.modified\n && isArray(data.input.value)\n && name.indexOf('_:vega:_');\n}\n\nfunction signalTest(name, op) {\n return !(name === 'parent' || op instanceof transforms.proxy);\n}\n\n/**\n * Sets the current view state and updates the view by invoking run.\n * @param {object} state - A state object containing signal and/or\n * data set values, following the format used by the getState method.\n * @return {View} - This view instance.\n */\nexport function setState(state) {\n var view = this;\n view.runAfter(function() {\n view._trigger = false;\n view._runtime.setState(state);\n view.run().runAfter(function() { view._trigger = true; });\n });\n return this;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-view/src/state.js\n// module id = 929\n// module chunks = 0","import {interval} from 'd3-timer';\n\nexport default function(callback, delay) {\n function tick(elapsed) {\n callback({timestamp: Date.now(), elapsed: elapsed});\n }\n this._timers.push(interval(tick, delay));\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-view/src/timer.js\n// module id = 930\n// module chunks = 0","import {isArray, isDate, isObject} from 'vega-util';\n\nexport default function(handler, event, item, value) {\n var el = handler.element();\n if (el) el.setAttribute('title', formatTooltip(value));\n}\n\nfunction formatTooltip(value) {\n return value == null ? ''\n : isArray(value) ? formatArray(value)\n : isObject(value) && !isDate(value) ? formatObject(value)\n : value + '';\n}\n\nfunction formatObject(obj) {\n return Object.keys(obj).map(function(key) {\n var v = obj[key];\n return key + ': ' + (isArray(v) ? formatArray(v) : formatValue(v));\n }).join('\\n');\n}\n\nfunction formatArray(value) {\n return '[' + value.map(formatValue).join(', ') + ']';\n}\n\nfunction formatValue(value) {\n return isArray(value) ? '[\\u2026]'\n : isObject(value) && !isDate(value) ? '{\\u2026}'\n : value;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-view/src/tooltip.js\n// module id = 931\n// module chunks = 0","import * as aggregate from './aggregate';\nimport * as axis from './axis';\nimport * as bin from './bin';\nimport * as channel from './channel';\nimport * as compositeMark from './compositemark';\nexport { compile } from './compile/compile';\nimport * as config from './config';\nimport * as data from './data';\nimport * as datetime from './datetime';\nimport * as encoding from './encoding';\nimport * as facet from './facet';\nimport * as fieldDef from './fielddef';\nimport * as header from './header';\nimport * as legend from './legend';\nimport * as mark from './mark';\nimport * as scale from './scale';\nimport * as sort from './sort';\nimport * as spec from './spec';\nimport * as stack from './stack';\nimport * as timeUnit from './timeunit';\nimport * as transform from './transform';\nimport * as type from './type';\nimport * as util from './util';\nimport * as validate from './validate';\nimport pkg from '../package.json';\nvar version = pkg.version;\nexport { aggregate, axis, bin, channel, compositeMark, config, data, datetime, encoding, facet, fieldDef, header, legend, mark, scale, sort, spec, stack, timeUnit, transform, type, util, validate, version };\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/index.js\n// module id = 932\n// module chunks = 0","var json = typeof JSON !== 'undefined' ? JSON : require('jsonify');\n\nmodule.exports = function (obj, opts) {\n if (!opts) opts = {};\n if (typeof opts === 'function') opts = { cmp: opts };\n var space = opts.space || '';\n if (typeof space === 'number') space = Array(space+1).join(' ');\n var cycles = (typeof opts.cycles === 'boolean') ? opts.cycles : false;\n var replacer = opts.replacer || function(key, value) { return value; };\n\n var cmp = opts.cmp && (function (f) {\n return function (node) {\n return function (a, b) {\n var aobj = { key: a, value: node[a] };\n var bobj = { key: b, value: node[b] };\n return f(aobj, bobj);\n };\n };\n })(opts.cmp);\n\n var seen = [];\n return (function stringify (parent, key, node, level) {\n var indent = space ? ('\\n' + new Array(level + 1).join(space)) : '';\n var colonSeparator = space ? ': ' : ':';\n\n if (node && node.toJSON && typeof node.toJSON === 'function') {\n node = node.toJSON();\n }\n\n node = replacer.call(parent, key, node);\n\n if (node === undefined) {\n return;\n }\n if (typeof node !== 'object' || node === null) {\n return json.stringify(node);\n }\n if (isArray(node)) {\n var out = [];\n for (var i = 0; i < node.length; i++) {\n var item = stringify(node, i, node[i], level+1) || json.stringify(null);\n out.push(indent + space + item);\n }\n return '[' + out.join(',') + indent + ']';\n }\n else {\n if (seen.indexOf(node) !== -1) {\n if (cycles) return json.stringify('__cycle__');\n throw new TypeError('Converting circular structure to JSON');\n }\n else seen.push(node);\n\n var keys = objectKeys(node).sort(cmp && cmp(node));\n var out = [];\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var value = stringify(node, key, node[key], level+1);\n\n if(!value) continue;\n\n var keyValue = json.stringify(key)\n + colonSeparator\n + value;\n ;\n out.push(indent + space + keyValue);\n }\n seen.splice(seen.indexOf(node), 1);\n return '{' + out.join(',') + indent + '}';\n }\n })({ '': obj }, '', obj, 0);\n};\n\nvar isArray = Array.isArray || function (x) {\n return {}.toString.call(x) === '[object Array]';\n};\n\nvar objectKeys = Object.keys || function (obj) {\n var has = Object.prototype.hasOwnProperty || function () { return true };\n var keys = [];\n for (var key in obj) {\n if (has.call(obj, key)) keys.push(key);\n }\n return keys;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/json-stable-stringify/index.js\n// module id = 933\n// module chunks = 0","exports.parse = require('./lib/parse');\nexports.stringify = require('./lib/stringify');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/jsonify/index.js\n// module id = 934\n// module chunks = 0","var at, // The index of the current character\n ch, // The current character\n escapee = {\n '\"': '\"',\n '\\\\': '\\\\',\n '/': '/',\n b: '\\b',\n f: '\\f',\n n: '\\n',\n r: '\\r',\n t: '\\t'\n },\n text,\n\n error = function (m) {\n // Call error when something is wrong.\n throw {\n name: 'SyntaxError',\n message: m,\n at: at,\n text: text\n };\n },\n \n next = function (c) {\n // If a c parameter is provided, verify that it matches the current character.\n if (c && c !== ch) {\n error(\"Expected '\" + c + \"' instead of '\" + ch + \"'\");\n }\n \n // Get the next character. When there are no more characters,\n // return the empty string.\n \n ch = text.charAt(at);\n at += 1;\n return ch;\n },\n \n number = function () {\n // Parse a number value.\n var number,\n string = '';\n \n if (ch === '-') {\n string = '-';\n next('-');\n }\n while (ch >= '0' && ch <= '9') {\n string += ch;\n next();\n }\n if (ch === '.') {\n string += '.';\n while (next() && ch >= '0' && ch <= '9') {\n string += ch;\n }\n }\n if (ch === 'e' || ch === 'E') {\n string += ch;\n next();\n if (ch === '-' || ch === '+') {\n string += ch;\n next();\n }\n while (ch >= '0' && ch <= '9') {\n string += ch;\n next();\n }\n }\n number = +string;\n if (!isFinite(number)) {\n error(\"Bad number\");\n } else {\n return number;\n }\n },\n \n string = function () {\n // Parse a string value.\n var hex,\n i,\n string = '',\n uffff;\n \n // When parsing for string values, we must look for \" and \\ characters.\n if (ch === '\"') {\n while (next()) {\n if (ch === '\"') {\n next();\n return string;\n } else if (ch === '\\\\') {\n next();\n if (ch === 'u') {\n uffff = 0;\n for (i = 0; i < 4; i += 1) {\n hex = parseInt(next(), 16);\n if (!isFinite(hex)) {\n break;\n }\n uffff = uffff * 16 + hex;\n }\n string += String.fromCharCode(uffff);\n } else if (typeof escapee[ch] === 'string') {\n string += escapee[ch];\n } else {\n break;\n }\n } else {\n string += ch;\n }\n }\n }\n error(\"Bad string\");\n },\n\n white = function () {\n\n// Skip whitespace.\n\n while (ch && ch <= ' ') {\n next();\n }\n },\n\n word = function () {\n\n// true, false, or null.\n\n switch (ch) {\n case 't':\n next('t');\n next('r');\n next('u');\n next('e');\n return true;\n case 'f':\n next('f');\n next('a');\n next('l');\n next('s');\n next('e');\n return false;\n case 'n':\n next('n');\n next('u');\n next('l');\n next('l');\n return null;\n }\n error(\"Unexpected '\" + ch + \"'\");\n },\n\n value, // Place holder for the value function.\n\n array = function () {\n\n// Parse an array value.\n\n var array = [];\n\n if (ch === '[') {\n next('[');\n white();\n if (ch === ']') {\n next(']');\n return array; // empty array\n }\n while (ch) {\n array.push(value());\n white();\n if (ch === ']') {\n next(']');\n return array;\n }\n next(',');\n white();\n }\n }\n error(\"Bad array\");\n },\n\n object = function () {\n\n// Parse an object value.\n\n var key,\n object = {};\n\n if (ch === '{') {\n next('{');\n white();\n if (ch === '}') {\n next('}');\n return object; // empty object\n }\n while (ch) {\n key = string();\n white();\n next(':');\n if (Object.hasOwnProperty.call(object, key)) {\n error('Duplicate key \"' + key + '\"');\n }\n object[key] = value();\n white();\n if (ch === '}') {\n next('}');\n return object;\n }\n next(',');\n white();\n }\n }\n error(\"Bad object\");\n };\n\nvalue = function () {\n\n// Parse a JSON value. It could be an object, an array, a string, a number,\n// or a word.\n\n white();\n switch (ch) {\n case '{':\n return object();\n case '[':\n return array();\n case '\"':\n return string();\n case '-':\n return number();\n default:\n return ch >= '0' && ch <= '9' ? number() : word();\n }\n};\n\n// Return the json_parse function. It will have access to all of the above\n// functions and variables.\n\nmodule.exports = function (source, reviver) {\n var result;\n \n text = source;\n at = 0;\n ch = ' ';\n result = value();\n white();\n if (ch) {\n error(\"Syntax error\");\n }\n\n // If there is a reviver function, we recursively walk the new structure,\n // passing each name/value pair to the reviver function for possible\n // transformation, starting with a temporary root object that holds the result\n // in an empty key. If there is not a reviver function, we simply return the\n // result.\n\n return typeof reviver === 'function' ? (function walk(holder, key) {\n var k, v, value = holder[key];\n if (value && typeof value === 'object') {\n for (k in value) {\n if (Object.prototype.hasOwnProperty.call(value, k)) {\n v = walk(value, k);\n if (v !== undefined) {\n value[k] = v;\n } else {\n delete value[k];\n }\n }\n }\n }\n return reviver.call(holder, key, value);\n }({'': result}, '')) : result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/jsonify/lib/parse.js\n// module id = 935\n// module chunks = 0","var cx = /[\\u0000\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g,\n escapable = /[\\\\\\\"\\x00-\\x1f\\x7f-\\x9f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g,\n gap,\n indent,\n meta = { // table of character substitutions\n '\\b': '\\\\b',\n '\\t': '\\\\t',\n '\\n': '\\\\n',\n '\\f': '\\\\f',\n '\\r': '\\\\r',\n '\"' : '\\\\\"',\n '\\\\': '\\\\\\\\'\n },\n rep;\n\nfunction quote(string) {\n // If the string contains no control characters, no quote characters, and no\n // backslash characters, then we can safely slap some quotes around it.\n // Otherwise we must also replace the offending characters with safe escape\n // sequences.\n \n escapable.lastIndex = 0;\n return escapable.test(string) ? '\"' + string.replace(escapable, function (a) {\n var c = meta[a];\n return typeof c === 'string' ? c :\n '\\\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);\n }) + '\"' : '\"' + string + '\"';\n}\n\nfunction str(key, holder) {\n // Produce a string from holder[key].\n var i, // The loop counter.\n k, // The member key.\n v, // The member value.\n length,\n mind = gap,\n partial,\n value = holder[key];\n \n // If the value has a toJSON method, call it to obtain a replacement value.\n if (value && typeof value === 'object' &&\n typeof value.toJSON === 'function') {\n value = value.toJSON(key);\n }\n \n // If we were called with a replacer function, then call the replacer to\n // obtain a replacement value.\n if (typeof rep === 'function') {\n value = rep.call(holder, key, value);\n }\n \n // What happens next depends on the value's type.\n switch (typeof value) {\n case 'string':\n return quote(value);\n \n case 'number':\n // JSON numbers must be finite. Encode non-finite numbers as null.\n return isFinite(value) ? String(value) : 'null';\n \n case 'boolean':\n case 'null':\n // If the value is a boolean or null, convert it to a string. Note:\n // typeof null does not produce 'null'. The case is included here in\n // the remote chance that this gets fixed someday.\n return String(value);\n \n case 'object':\n if (!value) return 'null';\n gap += indent;\n partial = [];\n \n // Array.isArray\n if (Object.prototype.toString.apply(value) === '[object Array]') {\n length = value.length;\n for (i = 0; i < length; i += 1) {\n partial[i] = str(i, value) || 'null';\n }\n \n // Join all of the elements together, separated with commas, and\n // wrap them in brackets.\n v = partial.length === 0 ? '[]' : gap ?\n '[\\n' + gap + partial.join(',\\n' + gap) + '\\n' + mind + ']' :\n '[' + partial.join(',') + ']';\n gap = mind;\n return v;\n }\n \n // If the replacer is an array, use it to select the members to be\n // stringified.\n if (rep && typeof rep === 'object') {\n length = rep.length;\n for (i = 0; i < length; i += 1) {\n k = rep[i];\n if (typeof k === 'string') {\n v = str(k, value);\n if (v) {\n partial.push(quote(k) + (gap ? ': ' : ':') + v);\n }\n }\n }\n }\n else {\n // Otherwise, iterate through all of the keys in the object.\n for (k in value) {\n if (Object.prototype.hasOwnProperty.call(value, k)) {\n v = str(k, value);\n if (v) {\n partial.push(quote(k) + (gap ? ': ' : ':') + v);\n }\n }\n }\n }\n \n // Join all of the member texts together, separated with commas,\n // and wrap them in braces.\n\n v = partial.length === 0 ? '{}' : gap ?\n '{\\n' + gap + partial.join(',\\n' + gap) + '\\n' + mind + '}' :\n '{' + partial.join(',') + '}';\n gap = mind;\n return v;\n }\n}\n\nmodule.exports = function (value, replacer, space) {\n var i;\n gap = '';\n indent = '';\n \n // If the space parameter is a number, make an indent string containing that\n // many spaces.\n if (typeof space === 'number') {\n for (i = 0; i < space; i += 1) {\n indent += ' ';\n }\n }\n // If the space parameter is a string, it will be used as the indent string.\n else if (typeof space === 'string') {\n indent = space;\n }\n\n // If there is a replacer, it must be a function or an array.\n // Otherwise, throw an error.\n rep = replacer;\n if (replacer && typeof replacer !== 'function'\n && (typeof replacer !== 'object' || typeof replacer.length !== 'number')) {\n throw new Error('JSON.stringify');\n }\n \n // Make a fake root object containing our value under the key of ''.\n // Return the result of stringifying the value.\n return str('', {'': value});\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/jsonify/lib/stringify.js\n// module id = 936\n// module chunks = 0","export function getMarkSpecificConfigMixins(markSpecificConfig, channel) {\n var _a;\n var value = markSpecificConfig[channel];\n return value !== undefined ? (_a = {}, _a[channel] = { value: value }, _a) : {};\n}\n//# sourceMappingURL=common.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compositemark/common.js\n// module id = 937\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nexport var ERRORBAR = 'error-bar';\nexport function normalizeErrorBar(spec) {\n // TODO: use selection\n var _m = spec.mark, _sel = spec.selection, _p = spec.projection, encoding = spec.encoding, outerSpec = tslib_1.__rest(spec, [\"mark\", \"selection\", \"projection\", \"encoding\"]);\n var _s = encoding.size, encodingWithoutSize = tslib_1.__rest(encoding, [\"size\"]);\n var _x2 = encoding.x2, _y2 = encoding.y2, encodingWithoutX2Y2 = tslib_1.__rest(encoding, [\"x2\", \"y2\"]);\n var _x = encodingWithoutX2Y2.x, _y = encodingWithoutX2Y2.y, encodingWithoutX_X2_Y_Y2 = tslib_1.__rest(encodingWithoutX2Y2, [\"x\", \"y\"]);\n if (!encoding.x2 && !encoding.y2) {\n throw new Error('Neither x2 or y2 provided');\n }\n return tslib_1.__assign({}, outerSpec, { layer: [\n {\n mark: 'rule',\n encoding: encodingWithoutSize\n }, {\n mark: 'tick',\n encoding: encodingWithoutX2Y2\n }, {\n mark: 'tick',\n encoding: encoding.x2 ? tslib_1.__assign({ x: encoding.x2, y: encoding.y }, encodingWithoutX_X2_Y_Y2) : tslib_1.__assign({ x: encoding.x, y: encoding.y2 }, encodingWithoutX_X2_Y_Y2)\n }\n ] });\n}\n//# sourceMappingURL=errorbar.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compositemark/errorbar.js\n// module id = 938\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { initConfig, stripAndRedirectConfig } from '../config';\nimport * as vlFieldDef from '../fielddef';\nimport * as log from '../log';\nimport { isLayerSpec, isUnitSpec, normalize } from '../spec';\nimport { extractTopLevelProperties, normalizeAutoSize } from '../toplevelprops';\nimport { keys, mergeDeep } from '../util';\nimport { buildModel } from './buildmodel';\nimport { assembleRootData } from './data/assemble';\nimport { optimizeDataflow } from './data/optimize';\n/**\n * Vega-Lite's main function, for compiling Vega-lite spec into Vega spec.\n *\n * At a high-level, we make the following transformations in different phases:\n *\n * Input spec\n * |\n * | (Normalization)\n * v\n * Normalized Spec (Row/Column channels in single-view specs becomes faceted specs, composite marks becomes layered specs.)\n * |\n * | (Build Model)\n * v\n * A model tree of the spec\n * |\n * | (Parse)\n * v\n * A model tree with parsed components (intermediate structure of visualization primitives in a format that can be easily merged)\n * |\n * | (Optimize)\n * v\n * A model tree with parsed components with the data component optimized\n * |\n * | (Assemble)\n * v\n * Vega spec\n */\nexport function compile(inputSpec, opt) {\n if (opt === void 0) { opt = {}; }\n // 0. Augment opt with default opts\n if (opt.logger) {\n // set the singleton logger to the provided logger\n log.set(opt.logger);\n }\n if (opt.fieldTitle) {\n // set the singleton field title formatter\n vlFieldDef.setTitleFormatter(opt.fieldTitle);\n }\n try {\n // 1. Initialize config by deep merging default config with the config provided via option and the input spec.\n var config = initConfig(mergeDeep({}, opt.config, inputSpec.config));\n // 2. Normalize: Convert input spec -> normalized spec\n // - Decompose all extended unit specs into composition of unit spec. For example, a box plot get expanded into multiple layers of bars, ticks, and rules. The shorthand row/column channel is also expanded to a facet spec.\n var spec = normalize(inputSpec, config);\n // - Normalize autosize to be a autosize properties object.\n var autosize = normalizeAutoSize(inputSpec.autosize, config.autosize, isLayerSpec(spec) || isUnitSpec(spec));\n // 3. Build Model: normalized spec -> Model (a tree structure)\n // This phases instantiates the models with default config by doing a top-down traversal. This allows us to pass properties that child models derive from their parents via their constructors.\n // See the abstract `Model` class and its children (UnitModel, LayerModel, FacetModel, RepeatModel, ConcatModel) for different types of models.\n var model = buildModel(spec, null, '', undefined, undefined, config, autosize.type === 'fit');\n // 4 Parse: Model --> Model with components\n // Note that components = intermediate representations that are equivalent to Vega specs.\n // We need these intermediate representation because we need to merge many visualizaiton \"components\" like projections, scales, axes, and legends.\n // We will later convert these components into actual Vega specs in the assemble phase.\n // In this phase, we do a bottom-up traversal over the whole tree to\n // parse for each type of components once (e.g., data, layout, mark, scale).\n // By doing bottom-up traversal, we start parsing components of unit specs and\n // then merge child components of parent composite specs.\n //\n // Please see inside model.parse() for order of different components parsed.\n model.parse();\n // 5. Optimize the dataflow. This will modify the data component of the model.\n optimizeDataflow(model.component.data);\n // 6. Assemble: convert model components --> Vega Spec.\n return assembleTopLevelModel(model, getTopLevelProperties(inputSpec, config, autosize));\n }\n finally {\n // Reset the singleton logger if a logger is provided\n if (opt.logger) {\n log.reset();\n }\n // Reset the singleton field title formatter if provided\n if (opt.fieldTitle) {\n vlFieldDef.resetTitleFormatter();\n }\n }\n}\nfunction getTopLevelProperties(topLevelSpec, config, autosize) {\n return tslib_1.__assign({ autosize: keys(autosize).length === 1 && autosize.type ? autosize.type : autosize }, extractTopLevelProperties(config), extractTopLevelProperties(topLevelSpec));\n}\n/*\n * Assemble the top-level model.\n *\n * Note: this couldn't be `model.assemble()` since the top-level model\n * needs some special treatment to generate top-level properties.\n */\nfunction assembleTopLevelModel(model, topLevelProperties) {\n // TODO: change type to become VgSpec\n // Config with Vega-Lite only config removed.\n var vgConfig = model.config ? stripAndRedirectConfig(model.config) : undefined;\n var data = [].concat(model.assembleSelectionData([]), \n // only assemble data in the root\n assembleRootData(model.component.data, topLevelProperties.datasets || {}));\n delete topLevelProperties.datasets;\n var projections = model.assembleProjections();\n var title = model.assembleTitle();\n var style = model.assembleGroupStyle();\n var layoutSignals = model.assembleLayoutSignals();\n // move width and height signals with values to top level\n layoutSignals = layoutSignals.filter(function (signal) {\n if ((signal.name === 'width' || signal.name === 'height') && signal.value !== undefined) {\n topLevelProperties[signal.name] = +signal.value;\n return false;\n }\n return true;\n });\n var output = tslib_1.__assign({ $schema: 'https://vega.github.io/schema/vega/v3.json' }, (model.description ? { description: model.description } : {}), topLevelProperties, (title ? { title: title } : {}), (style ? { style: style } : {}), { data: data }, (projections.length > 0 ? { projections: projections } : {}), model.assembleGroup(layoutSignals.concat(model.assembleSelectionTopLevelSignals([]))), (vgConfig ? { config: vgConfig } : {}));\n return {\n spec: output\n // TODO: add warning / errors here\n };\n}\n//# sourceMappingURL=compile.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/compile.js\n// module id = 939\n// module chunks = 0","export var VL_ONLY_GUIDE_CONFIG = ['shortTimeLabels'];\n//# sourceMappingURL=guide.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/guide.js\n// module id = 940\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport * as log from '../log';\nimport { isVConcatSpec } from '../spec';\nimport { BaseConcatModel } from './baseconcat';\nimport { buildModel } from './buildmodel';\nimport { parseConcatLayoutSize } from './layoutsize/parse';\nvar ConcatModel = /** @class */ (function (_super) {\n tslib_1.__extends(ConcatModel, _super);\n function ConcatModel(spec, parent, parentGivenName, repeater, config) {\n var _this = _super.call(this, spec, parent, parentGivenName, config, repeater, spec.resolve) || this;\n _this.type = 'concat';\n if (spec.resolve && spec.resolve.axis && (spec.resolve.axis.x === 'shared' || spec.resolve.axis.y === 'shared')) {\n log.warn(log.message.CONCAT_CANNOT_SHARE_AXIS);\n }\n _this.isVConcat = isVConcatSpec(spec);\n _this.children = (isVConcatSpec(spec) ? spec.vconcat : spec.hconcat).map(function (child, i) {\n return buildModel(child, _this, _this.getName('concat_' + i), undefined, repeater, config, false);\n });\n return _this;\n }\n ConcatModel.prototype.parseLayoutSize = function () {\n parseConcatLayoutSize(this);\n };\n ConcatModel.prototype.parseAxisGroup = function () {\n return null;\n };\n ConcatModel.prototype.assembleDefaultLayout = function () {\n return tslib_1.__assign({}, (this.isVConcat ? { columns: 1 } : {}), { bounds: 'full', \n // Use align each so it can work with multiple plots with different size\n align: 'each' });\n };\n return ConcatModel;\n}(BaseConcatModel));\nexport { ConcatModel };\n//# sourceMappingURL=concat.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/concat.js\n// module id = 941\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { Split } from '../split';\nvar LegendComponent = /** @class */ (function (_super) {\n tslib_1.__extends(LegendComponent, _super);\n function LegendComponent() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return LegendComponent;\n}(Split));\nexport { LegendComponent };\n//# sourceMappingURL=component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/legend/component.js\n// module id = 942\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { isArray } from 'vega-util';\nimport { COLOR, OPACITY, SHAPE } from '../../channel';\nimport { hasConditionalValueDef, isTimeFieldDef, isValueDef, } from '../../fielddef';\nimport { AREA, BAR, CIRCLE, FILL_STROKE_CONFIG, GEOSHAPE, LINE, POINT, SQUARE, TEXT, TICK } from '../../mark';\nimport { ScaleType } from '../../scale';\nimport { keys } from '../../util';\nimport { applyMarkConfig, timeFormatExpression } from '../common';\nimport * as mixins from '../mark/mixins';\nexport function symbols(fieldDef, symbolsSpec, model, channel, type) {\n if (type === 'gradient') {\n return undefined;\n }\n var out = tslib_1.__assign({}, applyMarkConfig({}, model, FILL_STROKE_CONFIG), mixins.color(model));\n switch (model.mark) {\n case BAR:\n case TICK:\n case TEXT:\n out.shape = { value: 'square' };\n break;\n case CIRCLE:\n case SQUARE:\n out.shape = { value: model.mark };\n break;\n case POINT:\n case LINE:\n case GEOSHAPE:\n case AREA:\n // use default circle\n break;\n }\n var markDef = model.markDef, encoding = model.encoding;\n var filled = markDef.filled;\n if (out.fill) {\n // for fill legend, we don't want any fill in symbol\n if (channel === 'fill' || (filled && channel === COLOR)) {\n delete out.fill;\n }\n else {\n if (out.fill['field']) {\n // For others, remove fill field\n delete out.fill;\n }\n else if (isArray(out.fill)) {\n var fill = getFirstConditionValue(encoding.fill || encoding.color) || markDef.fill || (filled && markDef.color);\n if (fill) {\n out.fill = { value: fill };\n }\n }\n }\n }\n if (out.stroke) {\n if (channel === 'stroke' || (!filled && channel === COLOR)) {\n delete out.stroke;\n }\n else {\n if (out.stroke['field']) {\n // For others, remove stroke field\n delete out.stroke;\n }\n else if (isArray(out.stroke)) {\n var stroke = getFirstConditionValue(encoding.stroke || encoding.color) || markDef.stroke || (!filled && markDef.color);\n if (stroke) {\n out.stroke = { value: stroke };\n }\n }\n }\n }\n if (out.fill && out.fill['value'] !== 'transparent' && !out.stroke) {\n // for non color channel's legend, we need to override symbol stroke config from Vega config\n out.stroke = { value: 'transparent' };\n }\n if (channel !== SHAPE) {\n var shape = getFirstConditionValue(encoding.shape) || markDef.shape;\n if (shape) {\n out.shape = { value: shape };\n }\n }\n if (channel !== OPACITY) {\n var opacity = getMaxValue(encoding.opacity) || markDef.opacity;\n if (opacity) { // only apply opacity if it is neither zero or undefined\n out.opacity = { value: opacity };\n }\n }\n out = tslib_1.__assign({}, out, symbolsSpec);\n return keys(out).length > 0 ? out : undefined;\n}\nexport function gradient(fieldDef, gradientSpec, model, channel, type) {\n var out = {};\n if (type === 'gradient') {\n var opacity = getMaxValue(model.encoding.opacity) || model.markDef.opacity;\n if (opacity) { // only apply opacity if it is neither zero or undefined\n out.opacity = { value: opacity };\n }\n }\n out = tslib_1.__assign({}, out, gradientSpec);\n return keys(out).length > 0 ? out : undefined;\n}\nexport function labels(fieldDef, labelsSpec, model, channel, type) {\n var legend = model.legend(channel);\n var config = model.config;\n var out = {};\n if (isTimeFieldDef(fieldDef)) {\n var isUTCScale = model.getScaleComponent(channel).get('type') === ScaleType.UTC;\n var expr = timeFormatExpression('datum.value', fieldDef.timeUnit, legend.format, config.legend.shortTimeLabels, config.timeFormat, isUTCScale);\n labelsSpec = tslib_1.__assign({}, (expr ? { text: { signal: expr } } : {}), labelsSpec);\n }\n out = tslib_1.__assign({}, out, labelsSpec);\n return keys(out).length > 0 ? out : undefined;\n}\nfunction getMaxValue(channelDef) {\n return getConditionValue(channelDef, function (v, conditionalDef) { return Math.max(v, conditionalDef.value); });\n}\nfunction getFirstConditionValue(channelDef) {\n return getConditionValue(channelDef, function (v, conditionalDef) { return v !== undefined ? v : conditionalDef.value; });\n}\nfunction getConditionValue(channelDef, reducer) {\n if (hasConditionalValueDef(channelDef)) {\n return (isArray(channelDef.condition) ? channelDef.condition : [channelDef.condition])\n .reduce(reducer, channelDef.value);\n }\n else if (isValueDef(channelDef)) {\n return channelDef.value;\n }\n return undefined;\n}\n//# sourceMappingURL=encode.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/legend/encode.js\n// module id = 943\n// module chunks = 0","import { isColorChannel } from '../../channel';\nimport { valueArray } from '../../fielddef';\nimport { isBinScale } from '../../scale';\nimport { contains } from '../../util';\nexport function values(legend, fieldDef) {\n var vals = legend.values;\n if (vals) {\n return valueArray(fieldDef, vals);\n }\n return undefined;\n}\nexport function type(t, channel, scaleType) {\n if (isColorChannel(channel) && ((t === 'quantitative' && !isBinScale(scaleType)) ||\n (t === 'temporal' && contains(['time', 'utc'], scaleType)))) {\n return 'gradient';\n }\n return undefined;\n}\n//# sourceMappingURL=properties.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/legend/properties.js\n// module id = 944\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { contains } from '../../util';\nimport { isVgSignalRef } from '../../vega.schema';\nimport { isConcatModel, isLayerModel, isRepeatModel } from '../model';\nexport function assembleProjections(model) {\n if (isLayerModel(model) || isConcatModel(model) || isRepeatModel(model)) {\n return assembleProjectionsForModelAndChildren(model);\n }\n else {\n return assembleProjectionForModel(model);\n }\n}\nexport function assembleProjectionsForModelAndChildren(model) {\n return model.children.reduce(function (projections, child) {\n return projections.concat(child.assembleProjections());\n }, assembleProjectionForModel(model));\n}\nexport function assembleProjectionForModel(model) {\n var component = model.component.projection;\n if (!component || component.merged) {\n return [];\n }\n var projection = component.combine();\n var name = projection.name, rest = tslib_1.__rest(projection, [\"name\"]); // we need to extract name so that it is always present in the output and pass TS type validation\n var size = {\n signal: \"[\" + component.size.map(function (ref) { return ref.signal; }).join(', ') + \"]\"\n };\n var fit = component.data.reduce(function (sources, data) {\n var source = isVgSignalRef(data) ? data.signal : \"data('\" + model.lookupDataSource(data) + \"')\";\n if (!contains(sources, source)) {\n // build a unique list of sources\n sources.push(source);\n }\n return sources;\n }, []);\n if (fit.length <= 0) {\n throw new Error(\"Projection's fit didn't find any data sources\");\n }\n return [tslib_1.__assign({ name: name,\n size: size, fit: {\n signal: fit.length > 1 ? \"[\" + fit.join(', ') + \"]\" : fit[0]\n } }, rest)];\n}\n//# sourceMappingURL=assemble.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/projection/assemble.js\n// module id = 945\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { LATITUDE, LATITUDE2, LONGITUDE, LONGITUDE2, SHAPE } from '../../channel';\nimport { MAIN } from '../../data';\nimport { PROJECTION_PROPERTIES } from '../../projection';\nimport { GEOJSON } from '../../type';\nimport { duplicate, every, stringify } from '../../util';\nimport { isUnitModel } from '../model';\nimport { ProjectionComponent } from './component';\nexport function parseProjection(model) {\n if (isUnitModel(model)) {\n model.component.projection = parseUnitProjection(model);\n }\n else {\n // because parse happens from leaves up (unit specs before layer spec),\n // we can be sure that the above if statement has already occurred\n // and therefore we have access to child.component.projection\n // for each of model's children\n model.component.projection = parseNonUnitProjections(model);\n }\n}\nfunction parseUnitProjection(model) {\n var specifiedProjection = model.specifiedProjection, config = model.config, hasProjection = model.hasProjection;\n if (hasProjection) {\n var data_1 = [];\n [[LONGITUDE, LATITUDE], [LONGITUDE2, LATITUDE2]].forEach(function (posssiblePair) {\n if (model.channelHasField(posssiblePair[0]) || model.channelHasField(posssiblePair[1])) {\n data_1.push({\n signal: model.getName(\"geojson_\" + data_1.length)\n });\n }\n });\n if (model.channelHasField(SHAPE) && model.fieldDef(SHAPE).type === GEOJSON) {\n data_1.push({\n signal: model.getName(\"geojson_\" + data_1.length)\n });\n }\n if (data_1.length === 0) {\n // main source is geojson, so we can just use that\n data_1.push(model.requestDataName(MAIN));\n }\n return new ProjectionComponent(model.projectionName(true), tslib_1.__assign({}, (config.projection || {}), (specifiedProjection || {})), [model.getSizeSignalRef('width'), model.getSizeSignalRef('height')], data_1);\n }\n return undefined;\n}\nfunction mergeIfNoConflict(first, second) {\n var allPropertiesShared = every(PROJECTION_PROPERTIES, function (prop) {\n // neither has the poperty\n if (!first.explicit.hasOwnProperty(prop) &&\n !second.explicit.hasOwnProperty(prop)) {\n return true;\n }\n // both have property and an equal value for property\n if (first.explicit.hasOwnProperty(prop) &&\n second.explicit.hasOwnProperty(prop) &&\n // some properties might be signals or objects and require hashing for comparison\n stringify(first.get(prop)) === stringify(second.get(prop))) {\n return true;\n }\n return false;\n });\n var size = stringify(first.size) === stringify(second.size);\n if (size) {\n if (allPropertiesShared) {\n return first;\n }\n else if (stringify(first.explicit) === stringify({})) {\n return second;\n }\n else if (stringify(second.explicit) === stringify({})) {\n return first;\n }\n }\n // if all properties don't match, let each unit spec have its own projection\n return null;\n}\nfunction parseNonUnitProjections(model) {\n if (model.children.length === 0) {\n return undefined;\n }\n var nonUnitProjection;\n var mergable = every(model.children, function (child) {\n parseProjection(child);\n var projection = child.component.projection;\n if (!projection) {\n // child layer does not use a projection\n return true;\n }\n else if (!nonUnitProjection) {\n // cached 'projection' is null, cache this one\n nonUnitProjection = projection;\n return true;\n }\n else {\n var merge = mergeIfNoConflict(nonUnitProjection, projection);\n if (merge) {\n nonUnitProjection = merge;\n }\n return !!merge;\n }\n });\n // it cached one and all other children share the same projection,\n if (nonUnitProjection && mergable) {\n // so we can elevate it to the layer level\n var name_1 = model.projectionName(true);\n var modelProjection_1 = new ProjectionComponent(name_1, nonUnitProjection.specifiedProjection, nonUnitProjection.size, duplicate(nonUnitProjection.data));\n // rename and assign all others as merged\n model.children.forEach(function (child) {\n if (child.component.projection) {\n modelProjection_1.data = modelProjection_1.data.concat(child.component.projection.data);\n child.renameProjection(child.component.projection.get('name'), name_1);\n child.component.projection.merged = true;\n }\n });\n return modelProjection_1;\n }\n return undefined;\n}\n//# sourceMappingURL=parse.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/projection/parse.js\n// module id = 946\n// module chunks = 0","export var PROJECTION_PROPERTIES = [\n 'type',\n 'clipAngle',\n 'clipExtent',\n 'center',\n 'rotate',\n 'precision',\n 'coefficient',\n 'distance',\n 'fraction',\n 'lobes',\n 'parallel',\n 'radius',\n 'ratio',\n 'spacing',\n 'tilt'\n];\n//# sourceMappingURL=projection.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/projection.js\n// module id = 947\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { Split } from '../split';\nvar ProjectionComponent = /** @class */ (function (_super) {\n tslib_1.__extends(ProjectionComponent, _super);\n function ProjectionComponent(name, specifiedProjection, size, data) {\n var _this = _super.call(this, tslib_1.__assign({}, specifiedProjection), // all explicit properties of projection\n { name: name } // name as initial implicit property\n ) || this;\n _this.specifiedProjection = specifiedProjection;\n _this.size = size;\n _this.data = data;\n _this.merged = false;\n return _this;\n }\n return ProjectionComponent;\n}(Split));\nexport { ProjectionComponent };\n//# sourceMappingURL=component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/projection/component.js\n// module id = 948\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { isArray } from 'vega-util';\nimport { keys } from '../../util';\nimport { isVgRangeStep, isVgSignalRef } from '../../vega.schema';\nimport { isConcatModel, isLayerModel, isRepeatModel } from '../model';\nimport { isRawSelectionDomain, selectionScaleDomain } from '../selection/selection';\nimport { assembleDomain } from './domain';\nexport function assembleScales(model) {\n if (isLayerModel(model) || isConcatModel(model) || isRepeatModel(model)) {\n // For concat / layer / repeat, include scales of children too\n return model.children.reduce(function (scales, child) {\n return scales.concat(assembleScales(child));\n }, assembleScalesForModel(model));\n }\n else {\n // For facet, child scales would not be included in the parent's scope.\n // For unit, there is no child.\n return assembleScalesForModel(model);\n }\n}\nexport function assembleScalesForModel(model) {\n return keys(model.component.scales).reduce(function (scales, channel) {\n var scaleComponent = model.component.scales[channel];\n if (scaleComponent.merged) {\n // Skipped merged scales\n return scales;\n }\n var scale = scaleComponent.combine();\n // need to separate const and non const object destruction\n var domainRaw = scale.domainRaw, range = scale.range;\n var name = scale.name, type = scale.type, _d = scale.domainRaw, _r = scale.range, otherScaleProps = tslib_1.__rest(scale, [\"name\", \"type\", \"domainRaw\", \"range\"]);\n range = assembleScaleRange(range, name, model, channel);\n // As scale parsing occurs before selection parsing, a temporary signal\n // is used for domainRaw. Here, we detect if this temporary signal\n // is set, and replace it with the correct domainRaw signal.\n // For more information, see isRawSelectionDomain in selection.ts.\n if (domainRaw && isRawSelectionDomain(domainRaw)) {\n domainRaw = selectionScaleDomain(model, domainRaw);\n }\n scales.push(tslib_1.__assign({ name: name,\n type: type, domain: assembleDomain(model, channel) }, (domainRaw ? { domainRaw: domainRaw } : {}), { range: range }, otherScaleProps));\n return scales;\n }, []);\n}\nexport function assembleScaleRange(scaleRange, scaleName, model, channel) {\n // add signals to x/y range\n if (channel === 'x' || channel === 'y') {\n if (isVgRangeStep(scaleRange)) {\n // For x/y range step, use a signal created in layout assemble instead of a constant range step.\n return {\n step: { signal: scaleName + '_step' }\n };\n }\n else if (isArray(scaleRange) && scaleRange.length === 2) {\n var r0 = scaleRange[0];\n var r1 = scaleRange[1];\n if (r0 === 0 && isVgSignalRef(r1)) {\n // Replace width signal just in case it is renamed.\n return [0, { signal: model.getSizeName(r1.signal) }];\n }\n else if (isVgSignalRef(r0) && r1 === 0) {\n // Replace height signal just in case it is renamed.\n return [{ signal: model.getSizeName(r0.signal) }, 0];\n }\n }\n }\n return scaleRange;\n}\n//# sourceMappingURL=assemble.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/scale/assemble.js\n// module id = 949\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { hasIntersection, keys } from '../../util';\nimport { OutputNode } from './dataflow';\nimport { FacetNode } from './facet';\nimport { ParseNode } from './formatparse';\nimport { SourceNode } from './source';\nimport { TimeUnitNode } from './timeunit';\n/**\n * Start optimization path at the leaves. Useful for merging up or removing things.\n *\n * If the callback returns true, the recursion continues.\n */\nexport function iterateFromLeaves(f) {\n function optimizeNextFromLeaves(node) {\n if (node instanceof SourceNode) {\n return;\n }\n var next = node.parent;\n if (f(node)) {\n optimizeNextFromLeaves(next);\n }\n }\n return optimizeNextFromLeaves;\n}\n/**\n * Move parse nodes up to forks.\n */\nexport function moveParseUp(node) {\n var parent = node.parent;\n // move parse up by merging or swapping\n if (node instanceof ParseNode) {\n if (parent instanceof SourceNode) {\n return false;\n }\n if (parent.numChildren() > 1) {\n // don't move parse further up but continue with parent.\n return true;\n }\n if (parent instanceof ParseNode) {\n parent.merge(node);\n }\n else {\n // don't swap with nodes that produce something that the parse node depends on (e.g. lookup)\n if (hasIntersection(parent.producedFields(), node.dependentFields())) {\n return true;\n }\n node.swapWithParent();\n }\n }\n return true;\n}\n/**\n * Repeatedly remove leaf nodes that are not output or facet nodes.\n * The reason is that we don't need subtrees that don't have any output nodes.\n * Facet nodes are needed for the row or column domains.\n */\nexport function removeUnusedSubtrees(node) {\n if (node instanceof OutputNode || node.numChildren() > 0 || node instanceof FacetNode) {\n // no need to continue with parent because it is output node or will have children (there was a fork)\n return false;\n }\n else {\n node.remove();\n }\n return true;\n}\n/**\n * Removes duplicate time unit nodes (as determined by the name of the\n * output field) that may be generated due to selections projected over\n * time units.\n */\nexport function removeDuplicateTimeUnits(leaf) {\n var fields = {};\n return iterateFromLeaves(function (node) {\n if (node instanceof TimeUnitNode) {\n var pfields = node.producedFields();\n var dupe = keys(pfields).every(function (k) { return !!fields[k]; });\n if (dupe) {\n node.remove();\n }\n else {\n fields = tslib_1.__assign({}, fields, pfields);\n }\n }\n return true;\n })(leaf);\n}\n//# sourceMappingURL=optimizers.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/data/optimizers.js\n// module id = 950\n// module chunks = 0","import { SCALE_CHANNELS, SHAPE, X, Y } from '../../channel';\nimport { getFieldDef, hasConditionalFieldDef, isFieldDef } from '../../fielddef';\nimport { GEOSHAPE } from '../../mark';\nimport { NON_TYPE_DOMAIN_RANGE_VEGA_SCALE_PROPERTIES, scaleCompatible, scaleTypePrecedence, } from '../../scale';\nimport { GEOJSON } from '../../type';\nimport { keys } from '../../util';\nimport { isUnitModel } from '../model';\nimport { defaultScaleResolve } from '../resolve';\nimport { mergeValuesWithExplicit, tieBreakByComparing } from '../split';\nimport { ScaleComponent } from './component';\nimport { parseScaleDomain } from './domain';\nimport { parseScaleProperty } from './properties';\nimport { parseScaleRange } from './range';\nimport { scaleType } from './type';\nexport function parseScale(model) {\n parseScaleCore(model);\n parseScaleDomain(model);\n for (var _i = 0, NON_TYPE_DOMAIN_RANGE_VEGA_SCALE_PROPERTIES_1 = NON_TYPE_DOMAIN_RANGE_VEGA_SCALE_PROPERTIES; _i < NON_TYPE_DOMAIN_RANGE_VEGA_SCALE_PROPERTIES_1.length; _i++) {\n var prop = NON_TYPE_DOMAIN_RANGE_VEGA_SCALE_PROPERTIES_1[_i];\n parseScaleProperty(model, prop);\n }\n // range depends on zero\n parseScaleRange(model);\n}\nexport function parseScaleCore(model) {\n if (isUnitModel(model)) {\n model.component.scales = parseUnitScaleCore(model);\n }\n else {\n model.component.scales = parseNonUnitScaleCore(model);\n }\n}\n/**\n * Parse scales for all channels of a model.\n */\nfunction parseUnitScaleCore(model) {\n var encoding = model.encoding, config = model.config, mark = model.mark;\n return SCALE_CHANNELS.reduce(function (scaleComponents, channel) {\n var fieldDef;\n var specifiedScale = undefined;\n var channelDef = encoding[channel];\n // Don't generate scale for shape of geoshape\n if (isFieldDef(channelDef) && mark === GEOSHAPE &&\n channel === SHAPE && channelDef.type === GEOJSON) {\n return scaleComponents;\n }\n if (isFieldDef(channelDef)) {\n fieldDef = channelDef;\n specifiedScale = channelDef.scale;\n }\n else if (hasConditionalFieldDef(channelDef)) {\n fieldDef = channelDef.condition;\n specifiedScale = channelDef.condition['scale']; // We use ['scale'] since we know that channel here has scale for sure\n }\n else if (channel === X) {\n fieldDef = getFieldDef(encoding.x2);\n }\n else if (channel === Y) {\n fieldDef = getFieldDef(encoding.y2);\n }\n if (fieldDef && specifiedScale !== null && specifiedScale !== false) {\n specifiedScale = specifiedScale || {};\n var specifiedScaleType = specifiedScale.type;\n var sType = scaleType(specifiedScale.type, channel, fieldDef, mark, config.scale);\n scaleComponents[channel] = new ScaleComponent(model.scaleName(channel + '', true), { value: sType, explicit: specifiedScaleType === sType });\n }\n return scaleComponents;\n }, {});\n}\nvar scaleTypeTieBreaker = tieBreakByComparing(function (st1, st2) { return (scaleTypePrecedence(st1) - scaleTypePrecedence(st2)); });\nfunction parseNonUnitScaleCore(model) {\n var scaleComponents = model.component.scales = {};\n var scaleTypeWithExplicitIndex = {};\n var resolve = model.component.resolve;\n var _loop_1 = function (child) {\n parseScaleCore(child);\n // Instead of always merging right away -- check if it is compatible to merge first!\n keys(child.component.scales).forEach(function (channel) {\n // if resolve is undefined, set default first\n resolve.scale[channel] = resolve.scale[channel] || defaultScaleResolve(channel, model);\n if (resolve.scale[channel] === 'shared') {\n var explicitScaleType = scaleTypeWithExplicitIndex[channel];\n var childScaleType = child.component.scales[channel].getWithExplicit('type');\n if (explicitScaleType) {\n if (scaleCompatible(explicitScaleType.value, childScaleType.value)) {\n // merge scale component if type are compatible\n scaleTypeWithExplicitIndex[channel] = mergeValuesWithExplicit(explicitScaleType, childScaleType, 'type', 'scale', scaleTypeTieBreaker);\n }\n else {\n // Otherwise, update conflicting channel to be independent\n resolve.scale[channel] = 'independent';\n // Remove from the index so they don't get merged\n delete scaleTypeWithExplicitIndex[channel];\n }\n }\n else {\n scaleTypeWithExplicitIndex[channel] = childScaleType;\n }\n }\n });\n };\n // Parse each child scale and determine if a particular channel can be merged.\n for (var _i = 0, _a = model.children; _i < _a.length; _i++) {\n var child = _a[_i];\n _loop_1(child);\n }\n // Merge each channel listed in the index\n keys(scaleTypeWithExplicitIndex).forEach(function (channel) {\n // Create new merged scale component\n var name = model.scaleName(channel, true);\n var typeWithExplicit = scaleTypeWithExplicitIndex[channel];\n scaleComponents[channel] = new ScaleComponent(name, typeWithExplicit);\n // rename each child and mark them as merged\n for (var _i = 0, _a = model.children; _i < _a.length; _i++) {\n var child = _a[_i];\n var childScale = child.component.scales[channel];\n if (childScale) {\n child.renameScale(childScale.get('name'), name);\n childScale.merged = true;\n }\n }\n });\n return scaleComponents;\n}\n//# sourceMappingURL=parse.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/scale/parse.js\n// module id = 951\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { Split } from '../split';\nvar ScaleComponent = /** @class */ (function (_super) {\n tslib_1.__extends(ScaleComponent, _super);\n function ScaleComponent(name, typeWithExplicit) {\n var _this = _super.call(this, {}, // no initial explicit property\n { name: name } // name as initial implicit property\n ) || this;\n _this.merged = false;\n _this.domains = [];\n _this.setWithExplicit('type', typeWithExplicit);\n return _this;\n }\n return ScaleComponent;\n}(Split));\nexport { ScaleComponent };\n//# sourceMappingURL=component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/scale/component.js\n// module id = 952\n// module chunks = 0","import { isColorChannel, isScaleChannel, rangeType } from '../../channel';\nimport * as log from '../../log';\nimport { channelSupportScaleType, scaleTypeSupportDataType } from '../../scale';\nimport * as util from '../../util';\n/**\n * Determine if there is a specified scale type and if it is appropriate,\n * or determine default type if type is unspecified or inappropriate.\n */\n// NOTE: CompassQL uses this method.\nexport function scaleType(specifiedType, channel, fieldDef, mark, scaleConfig) {\n var defaultScaleType = defaultType(channel, fieldDef, mark, scaleConfig);\n if (!isScaleChannel(channel)) {\n // There is no scale for these channels\n return null;\n }\n if (specifiedType !== undefined) {\n // Check if explicitly specified scale type is supported by the channel\n if (!channelSupportScaleType(channel, specifiedType)) {\n log.warn(log.message.scaleTypeNotWorkWithChannel(channel, specifiedType, defaultScaleType));\n return defaultScaleType;\n }\n // Check if explicitly specified scale type is supported by the data type\n if (!scaleTypeSupportDataType(specifiedType, fieldDef.type, fieldDef.bin)) {\n log.warn(log.message.scaleTypeNotWorkWithFieldDef(specifiedType, defaultScaleType));\n return defaultScaleType;\n }\n return specifiedType;\n }\n return defaultScaleType;\n}\n/**\n * Determine appropriate default scale type.\n */\n// NOTE: Voyager uses this method.\nfunction defaultType(channel, fieldDef, mark, scaleConfig) {\n switch (fieldDef.type) {\n case 'nominal':\n case 'ordinal':\n if (isColorChannel(channel) || rangeType(channel) === 'discrete') {\n if (channel === 'shape' && fieldDef.type === 'ordinal') {\n log.warn(log.message.discreteChannelCannotEncode(channel, 'ordinal'));\n }\n return 'ordinal';\n }\n if (util.contains(['x', 'y'], channel)) {\n if (util.contains(['rect', 'bar', 'rule'], mark)) {\n // The rect/bar mark should fit into a band.\n // For rule, using band scale to make rule align with axis ticks better https://github.com/vega/vega-lite/issues/3429\n return 'band';\n }\n if (mark === 'bar') {\n return 'band';\n }\n }\n // Otherwise, use ordinal point scale so we can easily get center positions of the marks.\n return 'point';\n case 'temporal':\n if (isColorChannel(channel)) {\n return 'sequential';\n }\n else if (rangeType(channel) === 'discrete') {\n log.warn(log.message.discreteChannelCannotEncode(channel, 'temporal'));\n // TODO: consider using quantize (equivalent to binning) once we have it\n return 'ordinal';\n }\n return 'time';\n case 'quantitative':\n if (isColorChannel(channel)) {\n if (fieldDef.bin) {\n return 'bin-ordinal';\n }\n // Use `sequential` as the default color scale for continuous data\n // since it supports both array range and scheme range.\n return 'sequential';\n }\n else if (rangeType(channel) === 'discrete') {\n log.warn(log.message.discreteChannelCannotEncode(channel, 'quantitative'));\n // TODO: consider using quantize (equivalent to binning) once we have it\n return 'ordinal';\n }\n // x and y use a linear scale because selections don't work with bin scales.\n // Binned scales apply discretization but pan/zoom apply transformations to a [min, max] extent domain.\n if (fieldDef.bin && channel !== 'x' && channel !== 'y') {\n return 'bin-linear';\n }\n return 'linear';\n case 'latitude':\n case 'longitude':\n case 'geojson':\n return undefined;\n }\n /* istanbul ignore next: should never reach this */\n throw new Error(log.message.invalidFieldType(fieldDef.type));\n}\n//# sourceMappingURL=type.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/scale/type.js\n// module id = 953\n// module chunks = 0","import { stringValue } from 'vega-util';\nimport { signals as multiSignals } from './multi';\nimport { STORE, TUPLE, unitName } from './selection';\nvar single = {\n predicate: 'vlSingle',\n scaleDomain: 'vlSingleDomain',\n signals: multiSignals,\n topLevelSignals: function (model, selCmpt, signals) {\n var hasSignal = signals.filter(function (s) { return s.name === selCmpt.name; });\n var data = \"data(\" + stringValue(selCmpt.name + STORE) + \")\";\n var values = data + \"[0].values\";\n return hasSignal.length ? signals : signals.concat({\n name: selCmpt.name,\n update: data + \".length && {\" +\n selCmpt.project.map(function (p, i) { return p.field + \": \" + values + \"[\" + i + \"]\"; }).join(', ') + '}'\n });\n },\n modifyExpr: function (model, selCmpt) {\n var tpl = selCmpt.name + TUPLE;\n return tpl + ', ' +\n (selCmpt.resolve === 'global' ? 'true' : \"{unit: \" + unitName(model) + \"}\");\n }\n};\nexport default single;\n//# sourceMappingURL=single.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/selection/single.js\n// module id = 954\n// module chunks = 0","import inputs from './inputs';\nimport nearest from './nearest';\nimport project from './project';\nimport scales from './scales';\nimport toggle from './toggle';\nimport translate from './translate';\nimport zoom from './zoom';\nvar compilers = { project: project, toggle: toggle, scales: scales,\n translate: translate, zoom: zoom, inputs: inputs, nearest: nearest };\nexport function forEachTransform(selCmpt, cb) {\n for (var t in compilers) {\n if (compilers[t].has(selCmpt)) {\n cb(compilers[t]);\n }\n }\n}\n//# sourceMappingURL=transforms.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/selection/transforms/transforms.js\n// module id = 955\n// module chunks = 0","import { stringValue } from 'vega-util';\nimport { accessPathWithDatum, varName } from '../../../util';\nimport { TUPLE } from '../selection';\nimport nearest from './nearest';\nvar inputBindings = {\n has: function (selCmpt) {\n return selCmpt.type === 'single' && selCmpt.resolve === 'global' &&\n selCmpt.bind && selCmpt.bind !== 'scales';\n },\n topLevelSignals: function (model, selCmpt, signals) {\n var name = selCmpt.name;\n var proj = selCmpt.project;\n var bind = selCmpt.bind;\n var datum = nearest.has(selCmpt) ?\n '(item().isVoronoi ? datum.datum : datum)' : 'datum';\n proj.forEach(function (p) {\n var sgname = varName(name + \"_\" + p.field);\n var hasSignal = signals.filter(function (s) { return s.name === sgname; });\n if (!hasSignal.length) {\n signals.unshift({\n name: sgname,\n value: '',\n on: [{\n events: selCmpt.events,\n update: \"datum && item().mark.marktype !== 'group' ? \" + accessPathWithDatum(p.field, datum) + \" : null\"\n }],\n bind: bind[p.field] || bind[p.channel] || bind\n });\n }\n });\n return signals;\n },\n signals: function (model, selCmpt, signals) {\n var name = selCmpt.name;\n var proj = selCmpt.project;\n var signal = signals.filter(function (s) { return s.name === name + TUPLE; })[0];\n var fields = proj.map(function (p) { return stringValue(p.field); }).join(', ');\n var values = proj.map(function (p) { return varName(name + \"_\" + p.field); });\n if (values.length) {\n signal.update = values.join(' && ') + \" ? {fields: [\" + fields + \"], values: [\" + values.join(', ') + \"]} : null\";\n }\n delete signal.value;\n delete signal.on;\n return signals;\n }\n};\nexport default inputBindings;\n//# sourceMappingURL=inputs.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/selection/transforms/inputs.js\n// module id = 956\n// module chunks = 0","import * as log from '../../../log';\nimport { keys } from '../../../util';\nimport { TimeUnitNode } from '../../data/timeunit';\nvar project = {\n has: function (selDef) {\n var def = selDef;\n return def.fields !== undefined || def.encodings !== undefined;\n },\n parse: function (model, selDef, selCmpt) {\n var channels = {};\n var timeUnits = {};\n // TODO: find a possible channel mapping for these fields.\n (selDef.fields || []).forEach(function (field) { return channels[field] = null; });\n (selDef.encodings || []).forEach(function (channel) {\n var fieldDef = model.fieldDef(channel);\n if (fieldDef) {\n if (fieldDef.timeUnit) {\n var tuField = model.vgField(channel);\n channels[tuField] = channel;\n // Construct TimeUnitComponents which will be combined into a\n // TimeUnitNode. This node may need to be inserted into the\n // dataflow if the selection is used across views that do not\n // have these time units defined.\n timeUnits[tuField] = {\n as: tuField,\n field: fieldDef.field,\n timeUnit: fieldDef.timeUnit\n };\n }\n else {\n channels[fieldDef.field] = channel;\n }\n }\n else {\n log.warn(log.message.cannotProjectOnChannelWithoutField(channel));\n }\n });\n var projection = selCmpt.project || (selCmpt.project = []);\n for (var field in channels) {\n if (channels.hasOwnProperty(field)) {\n projection.push({ field: field, channel: channels[field] });\n }\n }\n var fields = selCmpt.fields || (selCmpt.fields = {});\n projection.filter(function (p) { return p.channel; }).forEach(function (p) { return fields[p.channel] = p.field; });\n if (keys(timeUnits).length) {\n selCmpt.timeUnit = new TimeUnitNode(null, timeUnits);\n }\n }\n};\nexport default project;\n//# sourceMappingURL=project.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/selection/transforms/project.js\n// module id = 957\n// module chunks = 0","import { TUPLE, unitName } from '../selection';\nvar TOGGLE = '_toggle';\nvar toggle = {\n has: function (selCmpt) {\n return selCmpt.type === 'multi' && selCmpt.toggle;\n },\n signals: function (model, selCmpt, signals) {\n return signals.concat({\n name: selCmpt.name + TOGGLE,\n value: false,\n on: [{ events: selCmpt.events, update: selCmpt.toggle }]\n });\n },\n modifyExpr: function (model, selCmpt, expr) {\n var tpl = selCmpt.name + TUPLE;\n var signal = selCmpt.name + TOGGLE;\n return signal + \" ? null : \" + tpl + \", \" +\n (selCmpt.resolve === 'global' ?\n signal + \" ? null : true, \" :\n signal + \" ? null : {unit: \" + unitName(model) + \"}, \") +\n (signal + \" ? \" + tpl + \" : null\");\n }\n};\nexport default toggle;\n//# sourceMappingURL=toggle.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/selection/transforms/toggle.js\n// module id = 958\n// module chunks = 0","import { selector as parseSelector } from 'vega-event-selector';\nimport { X, Y } from '../../../channel';\nimport { BRUSH as INTERVAL_BRUSH } from '../interval';\nimport { channelSignalName, positionalProjections } from '../selection';\nimport scalesCompiler, { domain } from './scales';\nvar ANCHOR = '_translate_anchor';\nvar DELTA = '_translate_delta';\nvar translate = {\n has: function (selCmpt) {\n return selCmpt.type === 'interval' && selCmpt.translate;\n },\n signals: function (model, selCmpt, signals) {\n var name = selCmpt.name;\n var hasScales = scalesCompiler.has(selCmpt);\n var anchor = name + ANCHOR;\n var _a = positionalProjections(selCmpt), x = _a.x, y = _a.y;\n var events = parseSelector(selCmpt.translate, 'scope');\n if (!hasScales) {\n events = events.map(function (e) { return (e.between[0].markname = name + INTERVAL_BRUSH, e); });\n }\n signals.push({\n name: anchor,\n value: {},\n on: [{\n events: events.map(function (e) { return e.between[0]; }),\n update: '{x: x(unit), y: y(unit)' +\n (x !== null ? ', extent_x: ' + (hasScales ? domain(model, X) :\n \"slice(\" + channelSignalName(selCmpt, 'x', 'visual') + \")\") : '') +\n (y !== null ? ', extent_y: ' + (hasScales ? domain(model, Y) :\n \"slice(\" + channelSignalName(selCmpt, 'y', 'visual') + \")\") : '') + '}'\n }]\n }, {\n name: name + DELTA,\n value: {},\n on: [{\n events: events,\n update: \"{x: \" + anchor + \".x - x(unit), y: \" + anchor + \".y - y(unit)}\"\n }]\n });\n if (x !== null) {\n onDelta(model, selCmpt, X, 'width', signals);\n }\n if (y !== null) {\n onDelta(model, selCmpt, Y, 'height', signals);\n }\n return signals;\n }\n};\nexport default translate;\nfunction onDelta(model, selCmpt, channel, size, signals) {\n var name = selCmpt.name;\n var hasScales = scalesCompiler.has(selCmpt);\n var signal = signals.filter(function (s) {\n return s.name === channelSignalName(selCmpt, channel, hasScales ? 'data' : 'visual');\n })[0];\n var anchor = name + ANCHOR;\n var delta = name + DELTA;\n var sizeSg = model.getSizeSignalRef(size).signal;\n var scaleCmpt = model.getScaleComponent(channel);\n var scaleType = scaleCmpt.get('type');\n var sign = hasScales && channel === X ? '-' : ''; // Invert delta when panning x-scales.\n var extent = anchor + \".extent_\" + channel;\n var offset = \"\" + sign + delta + \".\" + channel + \" / \" + (hasScales ? \"\" + sizeSg : \"span(\" + extent + \")\");\n var panFn = !hasScales ? 'panLinear' :\n scaleType === 'log' ? 'panLog' :\n scaleType === 'pow' ? 'panPow' : 'panLinear';\n var update = panFn + \"(\" + extent + \", \" + offset +\n (hasScales && scaleType === 'pow' ? \", \" + (scaleCmpt.get('exponent') || 1) : '') + ')';\n signal.on.push({\n events: { signal: delta },\n update: hasScales ? update : \"clampRange(\" + update + \", 0, \" + sizeSg + \")\"\n });\n}\n//# sourceMappingURL=translate.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/selection/transforms/translate.js\n// module id = 959\n// module chunks = 0","import { selector as parseSelector } from 'vega-event-selector';\nimport { stringValue } from 'vega-util';\nimport { X, Y } from '../../../channel';\nimport { BRUSH as INTERVAL_BRUSH } from '../interval';\nimport { channelSignalName, positionalProjections } from '../selection';\nimport { default as scalesCompiler, domain } from './scales';\nvar ANCHOR = '_zoom_anchor';\nvar DELTA = '_zoom_delta';\nvar zoom = {\n has: function (selCmpt) {\n return selCmpt.type === 'interval' && selCmpt.zoom;\n },\n signals: function (model, selCmpt, signals) {\n var name = selCmpt.name;\n var hasScales = scalesCompiler.has(selCmpt);\n var delta = name + DELTA;\n var _a = positionalProjections(selCmpt), x = _a.x, y = _a.y;\n var sx = stringValue(model.scaleName(X));\n var sy = stringValue(model.scaleName(Y));\n var events = parseSelector(selCmpt.zoom, 'scope');\n if (!hasScales) {\n events = events.map(function (e) { return (e.markname = name + INTERVAL_BRUSH, e); });\n }\n signals.push({\n name: name + ANCHOR,\n on: [{\n events: events,\n update: !hasScales ? \"{x: x(unit), y: y(unit)}\" :\n '{' + [\n (sx ? \"x: invert(\" + sx + \", x(unit))\" : ''),\n (sy ? \"y: invert(\" + sy + \", y(unit))\" : '')\n ].filter(function (expr) { return !!expr; }).join(', ') + '}'\n }]\n }, {\n name: delta,\n on: [{\n events: events,\n force: true,\n update: 'pow(1.001, event.deltaY * pow(16, event.deltaMode))'\n }]\n });\n if (x !== null) {\n onDelta(model, selCmpt, 'x', 'width', signals);\n }\n if (y !== null) {\n onDelta(model, selCmpt, 'y', 'height', signals);\n }\n return signals;\n }\n};\nexport default zoom;\nfunction onDelta(model, selCmpt, channel, size, signals) {\n var name = selCmpt.name;\n var hasScales = scalesCompiler.has(selCmpt);\n var signal = signals.filter(function (s) {\n return s.name === channelSignalName(selCmpt, channel, hasScales ? 'data' : 'visual');\n })[0];\n var sizeSg = model.getSizeSignalRef(size).signal;\n var scaleCmpt = model.getScaleComponent(channel);\n var scaleType = scaleCmpt.get('type');\n var base = hasScales ? domain(model, channel) : signal.name;\n var delta = name + DELTA;\n var anchor = \"\" + name + ANCHOR + \".\" + channel;\n var zoomFn = !hasScales ? 'zoomLinear' :\n scaleType === 'log' ? 'zoomLog' :\n scaleType === 'pow' ? 'zoomPow' : 'zoomLinear';\n var update = zoomFn + \"(\" + base + \", \" + anchor + \", \" + delta +\n (hasScales && scaleType === 'pow' ? \", \" + (scaleCmpt.get('exponent') || 1) : '') + ')';\n signal.on.push({\n events: { signal: delta },\n update: hasScales ? update : \"clampRange(\" + update + \", 0, \" + sizeSg + \")\"\n });\n}\n//# sourceMappingURL=zoom.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/selection/transforms/zoom.js\n// module id = 960\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { Split } from '../split';\n/**\n * Class to track interesting properties (see https://15721.courses.cs.cmu.edu/spring2016/papers/graefe-ieee1995.pdf)\n * about how fields have been parsed or whether they have been derived in a transforms. We use this to not parse the\n * same field again (or differently).\n */\nvar AncestorParse = /** @class */ (function (_super) {\n tslib_1.__extends(AncestorParse, _super);\n function AncestorParse(explicit, implicit, parseNothing) {\n if (explicit === void 0) { explicit = {}; }\n if (implicit === void 0) { implicit = {}; }\n if (parseNothing === void 0) { parseNothing = false; }\n var _this = _super.call(this, explicit, implicit) || this;\n _this.explicit = explicit;\n _this.implicit = implicit;\n _this.parseNothing = parseNothing;\n return _this;\n }\n AncestorParse.prototype.clone = function () {\n var clone = _super.prototype.clone.call(this);\n clone.parseNothing = this.parseNothing;\n return clone;\n };\n return AncestorParse;\n}(Split));\nexport { AncestorParse };\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/data/index.js\n// module id = 961\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport * as log from '../log';\nimport { isLayerSpec, isUnitSpec } from '../spec';\nimport { flatten, keys } from '../util';\nimport { parseLayerAxis } from './axis/parse';\nimport { parseData } from './data/parse';\nimport { assembleLayoutSignals } from './layoutsize/assemble';\nimport { parseLayerLayoutSize } from './layoutsize/parse';\nimport { assembleLegends } from './legend/assemble';\nimport { Model } from './model';\nimport { assembleLayerSelectionMarks } from './selection/selection';\nimport { UnitModel } from './unit';\nvar LayerModel = /** @class */ (function (_super) {\n tslib_1.__extends(LayerModel, _super);\n function LayerModel(spec, parent, parentGivenName, parentGivenSize, repeater, config, fit) {\n var _this = _super.call(this, spec, parent, parentGivenName, config, repeater, spec.resolve) || this;\n _this.type = 'layer';\n var layoutSize = tslib_1.__assign({}, parentGivenSize, (spec.width ? { width: spec.width } : {}), (spec.height ? { height: spec.height } : {}));\n _this.initSize(layoutSize);\n _this.children = spec.layer.map(function (layer, i) {\n if (isLayerSpec(layer)) {\n return new LayerModel(layer, _this, _this.getName('layer_' + i), layoutSize, repeater, config, fit);\n }\n if (isUnitSpec(layer)) {\n return new UnitModel(layer, _this, _this.getName('layer_' + i), layoutSize, repeater, config, fit);\n }\n throw new Error(log.message.INVALID_SPEC);\n });\n return _this;\n }\n LayerModel.prototype.parseData = function () {\n this.component.data = parseData(this);\n for (var _i = 0, _a = this.children; _i < _a.length; _i++) {\n var child = _a[_i];\n child.parseData();\n }\n };\n LayerModel.prototype.parseLayoutSize = function () {\n parseLayerLayoutSize(this);\n };\n LayerModel.prototype.parseSelection = function () {\n var _this = this;\n // Merge selections up the hierarchy so that they may be referenced\n // across unit specs. Persist their definitions within each child\n // to assemble signals which remain within output Vega unit groups.\n this.component.selection = {};\n var _loop_1 = function (child) {\n child.parseSelection();\n keys(child.component.selection).forEach(function (key) {\n _this.component.selection[key] = child.component.selection[key];\n });\n };\n for (var _i = 0, _a = this.children; _i < _a.length; _i++) {\n var child = _a[_i];\n _loop_1(child);\n }\n };\n LayerModel.prototype.parseMarkGroup = function () {\n for (var _i = 0, _a = this.children; _i < _a.length; _i++) {\n var child = _a[_i];\n child.parseMarkGroup();\n }\n };\n LayerModel.prototype.parseAxisAndHeader = function () {\n parseLayerAxis(this);\n };\n LayerModel.prototype.assembleSelectionTopLevelSignals = function (signals) {\n return this.children.reduce(function (sg, child) { return child.assembleSelectionTopLevelSignals(sg); }, signals);\n };\n // TODO: Support same named selections across children.\n LayerModel.prototype.assembleSelectionSignals = function () {\n return this.children.reduce(function (signals, child) {\n return signals.concat(child.assembleSelectionSignals());\n }, []);\n };\n LayerModel.prototype.assembleLayoutSignals = function () {\n return this.children.reduce(function (signals, child) {\n return signals.concat(child.assembleLayoutSignals());\n }, assembleLayoutSignals(this));\n };\n LayerModel.prototype.assembleSelectionData = function (data) {\n return this.children.reduce(function (db, child) { return child.assembleSelectionData(db); }, data);\n };\n LayerModel.prototype.assembleTitle = function () {\n var title = _super.prototype.assembleTitle.call(this);\n if (title) {\n return title;\n }\n // If title does not provide layer, look into children\n for (var _i = 0, _a = this.children; _i < _a.length; _i++) {\n var child = _a[_i];\n title = child.assembleTitle();\n if (title) {\n return title;\n }\n }\n return undefined;\n };\n LayerModel.prototype.assembleLayout = function () {\n return null;\n };\n LayerModel.prototype.assembleMarks = function () {\n return assembleLayerSelectionMarks(this, flatten(this.children.map(function (child) {\n return child.assembleMarks();\n })));\n };\n LayerModel.prototype.assembleLegends = function () {\n return this.children.reduce(function (legends, child) {\n return legends.concat(child.assembleLegends());\n }, assembleLegends(this));\n };\n return LayerModel;\n}(Model));\nexport { LayerModel };\n//# sourceMappingURL=layer.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/layer.js\n// module id = 962\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { duplicate } from '../../util';\nimport { Split } from '../split';\nfunction isFalseOrNull(v) {\n return v === false || v === null;\n}\nvar AxisComponent = /** @class */ (function (_super) {\n tslib_1.__extends(AxisComponent, _super);\n function AxisComponent(explicit, implicit, mainExtracted) {\n if (explicit === void 0) { explicit = {}; }\n if (implicit === void 0) { implicit = {}; }\n if (mainExtracted === void 0) { mainExtracted = false; }\n var _this = _super.call(this) || this;\n _this.explicit = explicit;\n _this.implicit = implicit;\n _this.mainExtracted = mainExtracted;\n return _this;\n }\n AxisComponent.prototype.clone = function () {\n return new AxisComponent(duplicate(this.explicit), duplicate(this.implicit), this.mainExtracted);\n };\n AxisComponent.prototype.hasAxisPart = function (part) {\n // FIXME(https://github.com/vega/vega-lite/issues/2552) this method can be wrong if users use a Vega theme.\n if (part === 'axis') { // always has the axis container part\n return true;\n }\n if (part === 'grid' || part === 'title') {\n return !!this.get(part);\n }\n // Other parts are enabled by default, so they should not be false or null.\n return !isFalseOrNull(this.get(part));\n };\n return AxisComponent;\n}(Split));\nexport { AxisComponent };\n//# sourceMappingURL=component.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/axis/component.js\n// module id = 963\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { X } from '../../channel';\nimport { isTimeFieldDef } from '../../fielddef';\nimport { ScaleType } from '../../scale';\nimport { NOMINAL, ORDINAL } from '../../type';\nimport { contains, keys } from '../../util';\nimport { timeFormatExpression } from '../common';\nimport { getAxisConfig } from './config';\nexport function labels(model, channel, specifiedLabelsSpec, orient) {\n var fieldDef = model.fieldDef(channel) ||\n (channel === 'x' ? model.fieldDef('x2') :\n channel === 'y' ? model.fieldDef('y2') :\n undefined);\n var axis = model.axis(channel);\n var config = model.config;\n var labelsSpec = {};\n // Text\n if (isTimeFieldDef(fieldDef)) {\n var isUTCScale = model.getScaleComponent(channel).get('type') === ScaleType.UTC;\n var expr = timeFormatExpression('datum.value', fieldDef.timeUnit, axis.format, config.axis.shortTimeLabels, config.timeFormat, isUTCScale);\n if (expr) {\n labelsSpec.text = { signal: expr };\n }\n }\n // Label Angle\n var angle = getAxisConfig('labelAngle', model.config, channel, orient, model.getScaleComponent(channel).get('type'));\n if (angle === undefined) {\n angle = labelAngle(axis, channel, fieldDef);\n if (angle) {\n labelsSpec.angle = { value: angle };\n }\n }\n if (angle !== undefined) {\n var align = labelAlign(angle, orient);\n if (align) {\n labelsSpec.align = { value: align };\n }\n labelsSpec.baseline = labelBaseline(angle, orient);\n }\n labelsSpec = tslib_1.__assign({}, labelsSpec, specifiedLabelsSpec);\n return keys(labelsSpec).length === 0 ? undefined : labelsSpec;\n}\nexport function labelBaseline(angle, orient) {\n if (orient === 'top' || orient === 'bottom') {\n if (angle <= 45 || 315 <= angle) {\n return { value: orient === 'top' ? 'bottom' : 'top' };\n }\n else if (135 <= angle && angle <= 225) {\n return { value: orient === 'top' ? 'top' : 'bottom' };\n }\n else {\n return { value: 'middle' };\n }\n }\n else {\n if ((angle <= 45 || 315 <= angle) || (135 <= angle && angle <= 225)) {\n return { value: 'middle' };\n }\n else if (45 <= angle && angle <= 135) {\n return { value: orient === 'left' ? 'top' : 'bottom' };\n }\n else {\n return { value: orient === 'left' ? 'bottom' : 'top' };\n }\n }\n}\nexport function labelAngle(axis, channel, fieldDef) {\n if (axis.labelAngle !== undefined) {\n // Make angle within [0,360)\n return ((axis.labelAngle % 360) + 360) % 360;\n }\n else {\n if (channel === X && contains([NOMINAL, ORDINAL], fieldDef.type)) {\n return 270;\n }\n }\n return undefined;\n}\nexport function labelAlign(angle, orient) {\n angle = ((angle % 360) + 360) % 360;\n if (orient === 'top' || orient === 'bottom') {\n if (angle % 180 === 0) {\n return 'center';\n }\n else if (0 < angle && angle < 180) {\n return orient === 'top' ? 'right' : 'left';\n }\n else {\n return orient === 'top' ? 'left' : 'right';\n }\n }\n else {\n if ((angle + 90) % 180 === 0) {\n return 'center';\n }\n else if (90 <= angle && angle < 270) {\n return orient === 'left' ? 'left' : 'right';\n }\n else {\n return orient === 'left' ? 'right' : 'left';\n }\n }\n}\n//# sourceMappingURL=encode.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/axis/encode.js\n// module id = 964\n// module chunks = 0","import { truncate } from 'vega-util';\nimport { binToString } from '../../bin';\nimport { X, Y } from '../../channel';\nimport { title as fieldDefTitle, valueArray } from '../../fielddef';\nimport * as log from '../../log';\nimport { hasDiscreteDomain, isSelectionDomain } from '../../scale';\nimport { QUANTITATIVE } from '../../type';\nimport { contains } from '../../util';\n// TODO: we need to refactor this method after we take care of config refactoring\n/**\n * Default rules for whether to show a grid should be shown for a channel.\n * If `grid` is unspecified, the default value is `true` for ordinal scales that are not binned\n */\nexport function grid(scaleType, fieldDef) {\n return !hasDiscreteDomain(scaleType) && !fieldDef.bin;\n}\nexport function gridScale(model, channel) {\n var gridChannel = channel === 'x' ? 'y' : 'x';\n if (model.getScaleComponent(gridChannel)) {\n return model.scaleName(gridChannel);\n }\n return undefined;\n}\nexport function labelFlush(fieldDef, channel, specifiedAxis) {\n if (specifiedAxis.labelFlush !== undefined) {\n return specifiedAxis.labelFlush;\n }\n if (channel === 'x' && contains(['quantitative', 'temporal'], fieldDef.type)) {\n return true;\n }\n return undefined;\n}\nexport function labelOverlap(fieldDef, specifiedAxis, channel, scaleType) {\n if (specifiedAxis.labelOverlap !== undefined) {\n return specifiedAxis.labelOverlap;\n }\n // do not prevent overlap for nominal data because there is no way to infer what the missing labels are\n if (fieldDef.type !== 'nominal') {\n if (scaleType === 'log') {\n return 'greedy';\n }\n return true;\n }\n return undefined;\n}\nexport function orient(channel) {\n switch (channel) {\n case X:\n return 'bottom';\n case Y:\n return 'left';\n }\n /* istanbul ignore next: This should never happen. */\n throw new Error(log.message.INVALID_CHANNEL_FOR_AXIS);\n}\nexport function tickCount(channel, fieldDef, scaleType, size) {\n if (!hasDiscreteDomain(scaleType) && scaleType !== 'log' && !contains(['month', 'hours', 'day', 'quarter'], fieldDef.timeUnit)) {\n if (fieldDef.bin) {\n // for binned data, we don't want more ticks than maxbins\n return { signal: \"ceil(\" + size.signal + \"/20)\" };\n }\n return { signal: \"ceil(\" + size.signal + \"/40)\" };\n }\n return undefined;\n}\nexport function title(maxLength, fieldDef, config) {\n // if not defined, automatically determine axis title from field def\n var fieldTitle = fieldDefTitle(fieldDef, config);\n return maxLength ? truncate(fieldTitle, maxLength) : fieldTitle;\n}\nexport function values(specifiedAxis, model, fieldDef, channel) {\n var vals = specifiedAxis.values;\n if (vals) {\n return valueArray(fieldDef, vals);\n }\n if (fieldDef.bin && fieldDef.type === QUANTITATIVE) {\n var domain = model.scaleDomain(channel);\n if (domain && domain !== 'unaggregated' && !isSelectionDomain(domain)) { // explicit value\n return undefined;\n }\n var signal = model.getName(binToString(fieldDef.bin) + \"_\" + fieldDef.field + \"_bins\");\n return { signal: \"sequence(\" + signal + \".start, \" + signal + \".stop + \" + signal + \".step, \" + signal + \".step)\" };\n }\n return undefined;\n}\n//# sourceMappingURL=properties.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/axis/properties.js\n// module id = 965\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { isAggregate } from '../../encoding';\nimport { isContinuous, isFieldDef } from '../../fielddef';\nimport * as log from '../../log';\nimport { AREA, BAR, CIRCLE, isMarkDef, LINE, POINT, RECT, RULE, SQUARE, TEXT, TICK } from '../../mark';\nimport { QUANTITATIVE, TEMPORAL } from '../../type';\nimport { contains } from '../../util';\nimport { getMarkConfig } from '../common';\nexport function normalizeMarkDef(mark, encoding, config) {\n var markDef = isMarkDef(mark) ? tslib_1.__assign({}, mark) : { type: mark };\n // set orient, which can be overridden by rules as sometimes the specified orient is invalid.\n var specifiedOrient = markDef.orient || getMarkConfig('orient', markDef, config);\n markDef.orient = orient(markDef.type, encoding, specifiedOrient);\n if (specifiedOrient !== undefined && specifiedOrient !== markDef.orient) {\n log.warn(log.message.orientOverridden(markDef.orient, specifiedOrient));\n }\n // set opacity and filled if not specified in mark config\n var specifiedOpacity = markDef.opacity !== undefined ? markDef.opacity : getMarkConfig('opacity', markDef, config);\n if (specifiedOpacity === undefined) {\n markDef.opacity = opacity(markDef.type, encoding);\n }\n var specifiedFilled = markDef.filled;\n if (specifiedFilled === undefined) {\n markDef.filled = filled(markDef, config);\n }\n // set cursor, which should be pointer if href channel is present unless otherwise specified\n var specifiedCursor = markDef.cursor || getMarkConfig('cursor', markDef, config);\n if (specifiedCursor === undefined) {\n markDef.cursor = cursor(markDef, encoding, config);\n }\n return markDef;\n}\nfunction cursor(markDef, encoding, config) {\n if (encoding.href || markDef.href || getMarkConfig('href', markDef, config)) {\n return 'pointer';\n }\n return markDef.cursor;\n}\nfunction opacity(mark, encoding) {\n if (contains([POINT, TICK, CIRCLE, SQUARE], mark)) {\n // point-based marks\n if (!isAggregate(encoding)) {\n return 0.7;\n }\n }\n return undefined;\n}\nfunction filled(markDef, config) {\n var filledConfig = getMarkConfig('filled', markDef, config);\n var mark = markDef.type;\n return filledConfig !== undefined ? filledConfig : mark !== POINT && mark !== LINE && mark !== RULE;\n}\nfunction orient(mark, encoding, specifiedOrient) {\n switch (mark) {\n case POINT:\n case CIRCLE:\n case SQUARE:\n case TEXT:\n case RECT:\n // orient is meaningless for these marks.\n return undefined;\n }\n var yIsRange = encoding.y2;\n var xIsRange = encoding.x2;\n switch (mark) {\n case BAR:\n if (yIsRange || xIsRange) {\n // Ranged bar does not always have clear orientation, so we allow overriding\n if (specifiedOrient) {\n return specifiedOrient;\n }\n // If y is range and x is non-range, non-bin Q, y is likely a prebinned field\n var xDef = encoding.x;\n if (!xIsRange && isFieldDef(xDef) && xDef.type === QUANTITATIVE && !xDef.bin) {\n return 'horizontal';\n }\n // If x is range and y is non-range, non-bin Q, x is likely a prebinned field\n var yDef = encoding.y;\n if (!yIsRange && isFieldDef(yDef) && yDef.type === QUANTITATIVE && !yDef.bin) {\n return 'vertical';\n }\n }\n /* tslint:disable */\n case RULE: // intentionally fall through\n // return undefined for line segment rule and bar with both axis ranged\n if (xIsRange && yIsRange) {\n return undefined;\n }\n case AREA: // intentionally fall through\n // If there are range for both x and y, y (vertical) has higher precedence.\n if (yIsRange) {\n return 'vertical';\n }\n else if (xIsRange) {\n return 'horizontal';\n }\n else if (mark === RULE) {\n if (encoding.x && !encoding.y) {\n return 'vertical';\n }\n else if (encoding.y && !encoding.x) {\n return 'horizontal';\n }\n }\n case LINE: // intentional fall through\n case TICK: // Tick is opposite to bar, line, area and never have ranged mark.\n /* tslint:enable */\n var xIsContinuous = isFieldDef(encoding.x) && isContinuous(encoding.x);\n var yIsContinuous = isFieldDef(encoding.y) && isContinuous(encoding.y);\n if (xIsContinuous && !yIsContinuous) {\n return mark !== 'tick' ? 'horizontal' : 'vertical';\n }\n else if (!xIsContinuous && yIsContinuous) {\n return mark !== 'tick' ? 'vertical' : 'horizontal';\n }\n else if (xIsContinuous && yIsContinuous) {\n var xDef = encoding.x; // we can cast here since they are surely fieldDef\n var yDef = encoding.y;\n var xIsTemporal = xDef.type === TEMPORAL;\n var yIsTemporal = yDef.type === TEMPORAL;\n // temporal without timeUnit is considered continuous, but better serves as dimension\n if (xIsTemporal && !yIsTemporal) {\n return mark !== 'tick' ? 'vertical' : 'horizontal';\n }\n else if (!xIsTemporal && yIsTemporal) {\n return mark !== 'tick' ? 'horizontal' : 'vertical';\n }\n if (!xDef.aggregate && yDef.aggregate) {\n return mark !== 'tick' ? 'vertical' : 'horizontal';\n }\n else if (xDef.aggregate && !yDef.aggregate) {\n return mark !== 'tick' ? 'horizontal' : 'vertical';\n }\n if (specifiedOrient) {\n // When ambiguous, use user specified one.\n return specifiedOrient;\n }\n return 'vertical';\n }\n else {\n // Discrete x Discrete case\n if (specifiedOrient) {\n // When ambiguous, use user specified one.\n return specifiedOrient;\n }\n return undefined;\n }\n }\n return 'vertical';\n}\n//# sourceMappingURL=init.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/mark/init.js\n// module id = 966\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { isArray } from 'vega-util';\nimport { MAIN } from '../../data';\nimport { isAggregate } from '../../encoding';\nimport { getFieldDef, isFieldDef, isValueDef, vgField } from '../../fielddef';\nimport { AREA, isPathMark, LINE, TRAIL } from '../../mark';\nimport { isSortField } from '../../sort';\nimport { contains, keys } from '../../util';\nimport { getStyles, sortParams } from '../common';\nimport { area } from './area';\nimport { bar } from './bar';\nimport { geoshape } from './geoshape';\nimport { line, trail } from './line';\nimport { circle, point, square } from './point';\nimport { rect } from './rect';\nimport { rule } from './rule';\nimport { text } from './text';\nimport { tick } from './tick';\nvar markCompiler = {\n area: area,\n bar: bar,\n circle: circle,\n geoshape: geoshape,\n line: line,\n point: point,\n rect: rect,\n rule: rule,\n square: square,\n text: text,\n tick: tick,\n trail: trail\n};\nexport function parseMarkGroup(model) {\n if (contains([LINE, AREA, TRAIL], model.mark)) {\n return parsePathMark(model);\n }\n else {\n return getMarkGroups(model);\n }\n}\nvar FACETED_PATH_PREFIX = 'faceted_path_';\nfunction parsePathMark(model) {\n var details = pathGroupingFields(model.mark, model.encoding);\n var pathMarks = getMarkGroups(model, {\n // If has subfacet for line/area group, need to use faceted data from below.\n fromPrefix: (details.length > 0 ? FACETED_PATH_PREFIX : '')\n });\n if (details.length > 0) { // have level of details - need to facet line into subgroups\n // TODO: for non-stacked plot, map order to zindex. (Maybe rename order for layer to zindex?)\n return [{\n name: model.getName('pathgroup'),\n type: 'group',\n from: {\n facet: {\n name: FACETED_PATH_PREFIX + model.requestDataName(MAIN),\n data: model.requestDataName(MAIN),\n groupby: details,\n }\n },\n encode: {\n update: {\n width: { field: { group: 'width' } },\n height: { field: { group: 'height' } }\n }\n },\n marks: pathMarks\n }];\n }\n else {\n return pathMarks;\n }\n}\nexport function getSort(model) {\n var encoding = model.encoding, stack = model.stack, mark = model.mark, markDef = model.markDef;\n var order = encoding.order;\n if (!isArray(order) && isValueDef(order)) {\n return undefined;\n }\n else if ((isArray(order) || isFieldDef(order)) && !stack) {\n // Sort by the order field if it is specified and the field is not stacked. (For stacked field, order specify stack order.)\n return sortParams(order, { expr: 'datum' });\n }\n else if (isPathMark(mark)) {\n // For both line and area, we sort values based on dimension by default\n var dimensionChannelDef = encoding[markDef.orient === 'horizontal' ? 'y' : 'x'];\n if (isFieldDef(dimensionChannelDef)) {\n var s = dimensionChannelDef.sort;\n var sortField = isSortField(s) ?\n vgField({\n // FIXME: this op might not already exist?\n // FIXME: what if dimensionChannel (x or y) contains custom domain?\n aggregate: isAggregate(model.encoding) ? s.op : undefined,\n field: s.field\n }, { expr: 'datum' }) :\n vgField(dimensionChannelDef, {\n // For stack with imputation, we only have bin_mid\n binSuffix: model.stack && model.stack.impute ? 'mid' : undefined,\n expr: 'datum'\n });\n return {\n field: sortField,\n order: 'descending'\n };\n }\n return undefined;\n }\n return undefined;\n}\nfunction getMarkGroups(model, opt) {\n if (opt === void 0) { opt = { fromPrefix: '' }; }\n var mark = model.mark;\n var clip = model.markDef.clip !== undefined ?\n !!model.markDef.clip : scaleClip(model);\n var style = getStyles(model.markDef);\n var key = model.encoding.key;\n var sort = getSort(model);\n var postEncodingTransform = markCompiler[mark].postEncodingTransform ? markCompiler[mark].postEncodingTransform(model) : null;\n return [tslib_1.__assign({ name: model.getName('marks'), type: markCompiler[mark].vgMark }, (clip ? { clip: true } : {}), (style ? { style: style } : {}), (key ? { key: { field: key.field } } : {}), (sort ? { sort: sort } : {}), { from: { data: opt.fromPrefix + model.requestDataName(MAIN) }, encode: {\n update: markCompiler[mark].encodeEntry(model)\n } }, (postEncodingTransform ? {\n transform: postEncodingTransform\n } : {}))];\n}\n/**\n * Returns list of path grouping fields\n * that the model's spec contains.\n */\nexport function pathGroupingFields(mark, encoding) {\n return keys(encoding).reduce(function (details, channel) {\n switch (channel) {\n // x, y, x2, y2, lat, long, lat1, long2, order, tooltip, href, cursor should not cause lines to group\n case 'x':\n case 'y':\n case 'order':\n case 'tooltip':\n case 'href':\n case 'x2':\n case 'y2':\n case 'latitude':\n case 'longitude':\n case 'latitude2':\n case 'longitude2':\n // TODO: case 'cursor':\n // text, shape, shouldn't be a part of line/trail/area\n case 'text':\n case 'shape':\n return details;\n case 'detail':\n case 'key':\n var channelDef = encoding[channel];\n if (channelDef) {\n (isArray(channelDef) ? channelDef : [channelDef]).forEach(function (fieldDef) {\n if (!fieldDef.aggregate) {\n details.push(vgField(fieldDef, {}));\n }\n });\n }\n return details;\n case 'size':\n if (mark === 'trail') {\n // For trail, size should not group trail lines.\n return details;\n }\n // For line, it should group lines.\n /* tslint:disable */\n // intentional fall through\n case 'color':\n case 'fill':\n case 'stroke':\n case 'opacity':\n // TODO strokeDashOffset:\n /* tslint:enable */\n var fieldDef = getFieldDef(encoding[channel]);\n if (fieldDef && !fieldDef.aggregate) {\n details.push(vgField(fieldDef, {}));\n }\n return details;\n default:\n throw new Error(\"Bug: Channel \" + channel + \" unimplemented for line mark\");\n }\n }, []);\n}\n/**\n * If scales are bound to interval selections, we want to automatically clip\n * marks to account for panning/zooming interactions. We identify bound scales\n * by the domainRaw property, which gets added during scale parsing.\n */\nfunction scaleClip(model) {\n var xScale = model.getScaleComponent('x');\n var yScale = model.getScaleComponent('y');\n return (xScale && xScale.get('domainRaw')) ||\n (yScale && yScale.get('domainRaw')) ? true : false;\n}\n//# sourceMappingURL=mark.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/mark/mark.js\n// module id = 967\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport * as mixins from './mixins';\nexport var area = {\n vgMark: 'area',\n encodeEntry: function (model) {\n return tslib_1.__assign({}, mixins.baseEncodeEntry(model, { size: 'ignore', orient: 'include' }), mixins.pointPosition('x', model, 'zeroOrMin'), mixins.pointPosition('y', model, 'zeroOrMin'), mixins.pointPosition2(model, 'zeroOrMin', model.markDef.orient === 'horizontal' ? 'x2' : 'y2'), mixins.defined(model));\n }\n};\n//# sourceMappingURL=area.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/mark/area.js\n// module id = 968\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { isNumber } from 'vega-util';\nimport { X, Y } from '../../channel';\nimport { isFieldDef } from '../../fielddef';\nimport * as log from '../../log';\nimport { hasDiscreteDomain, ScaleType } from '../../scale';\nimport { isVgRangeStep } from '../../vega.schema';\nimport * as mixins from './mixins';\nimport * as ref from './valueref';\nexport var bar = {\n vgMark: 'rect',\n encodeEntry: function (model) {\n return tslib_1.__assign({}, mixins.baseEncodeEntry(model, { size: 'ignore', orient: 'ignore' }), x(model), y(model));\n }\n};\nfunction x(model) {\n var config = model.config, encoding = model.encoding, markDef = model.markDef, width = model.width;\n var orient = markDef.orient;\n var sizeDef = encoding.size;\n var xDef = encoding.x;\n var x2Def = encoding.x2;\n var xScaleName = model.scaleName(X);\n var xScale = model.getScaleComponent(X);\n // x, x2, and width -- we must specify two of these in all conditions\n if (orient === 'horizontal' || x2Def) {\n return tslib_1.__assign({}, mixins.pointPosition('x', model, 'zeroOrMin'), mixins.pointPosition2(model, 'zeroOrMin', 'x2'));\n }\n else { // vertical\n if (isFieldDef(xDef)) {\n var xScaleType = xScale.get('type');\n if (xDef.bin && !sizeDef && !hasDiscreteDomain(xScaleType)) {\n return mixins.binnedPosition(xDef, 'x', model.scaleName('x'), markDef.binSpacing === undefined ? config.bar.binSpacing : markDef.binSpacing, xScale.get('reverse'));\n }\n else {\n if (xScaleType === ScaleType.BAND) {\n return mixins.bandPosition(xDef, 'x', model);\n }\n }\n }\n // sized bin, normal point-ordinal axis, quantitative x-axis, or no x\n return mixins.centeredBandPosition('x', model, tslib_1.__assign({}, ref.mid(width)), defaultSizeRef(markDef, xScaleName, xScale, config));\n }\n}\nfunction y(model) {\n var config = model.config, encoding = model.encoding, height = model.height, markDef = model.markDef;\n var orient = markDef.orient;\n var sizeDef = encoding.size;\n var yDef = encoding.y;\n var y2Def = encoding.y2;\n var yScaleName = model.scaleName(Y);\n var yScale = model.getScaleComponent(Y);\n // y, y2 & height -- we must specify two of these in all conditions\n if (orient === 'vertical' || y2Def) {\n return tslib_1.__assign({}, mixins.pointPosition('y', model, 'zeroOrMin'), mixins.pointPosition2(model, 'zeroOrMin', 'y2'));\n }\n else {\n if (isFieldDef(yDef)) {\n var yScaleType = yScale.get('type');\n if (yDef.bin && !sizeDef && !hasDiscreteDomain(yScaleType)) {\n return mixins.binnedPosition(yDef, 'y', model.scaleName('y'), markDef.binSpacing === undefined ? config.bar.binSpacing : markDef.binSpacing, yScale.get('reverse'));\n }\n else if (yScaleType === ScaleType.BAND) {\n return mixins.bandPosition(yDef, 'y', model);\n }\n }\n return mixins.centeredBandPosition('y', model, ref.mid(height), defaultSizeRef(markDef, yScaleName, yScale, config));\n }\n}\nfunction defaultSizeRef(markDef, scaleName, scale, config) {\n if (markDef.size !== undefined) {\n return { value: markDef.size };\n }\n else if (config.bar.discreteBandSize) {\n return { value: config.bar.discreteBandSize };\n }\n else if (scale) {\n var scaleType = scale.get('type');\n if (scaleType === ScaleType.POINT) {\n var scaleRange = scale.get('range');\n if (isVgRangeStep(scaleRange) && isNumber(scaleRange.step)) {\n return { value: scaleRange.step - 1 };\n }\n log.warn(log.message.BAR_WITH_POINT_SCALE_AND_RANGESTEP_NULL);\n }\n else if (scaleType === ScaleType.BAND) {\n return ref.bandRef(scaleName);\n }\n else { // non-ordinal scale\n return { value: config.bar.continuousBandSize };\n }\n }\n else if (config.scale.rangeStep && config.scale.rangeStep !== null) {\n return { value: config.scale.rangeStep - 1 };\n }\n return { value: 20 };\n}\n//# sourceMappingURL=bar.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/mark/bar.js\n// module id = 969\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport * as mixins from './mixins';\nimport { isFieldDef, vgField } from '../../fielddef';\nimport { GEOJSON } from '../../type';\nexport var geoshape = {\n vgMark: 'shape',\n encodeEntry: function (model) {\n return tslib_1.__assign({}, mixins.baseEncodeEntry(model, { size: 'ignore', orient: 'ignore' }));\n },\n postEncodingTransform: function (model) {\n var encoding = model.encoding;\n var shapeDef = encoding.shape;\n var transform = tslib_1.__assign({ type: 'geoshape', projection: model.projectionName() }, (shapeDef && isFieldDef(shapeDef) && shapeDef.type === GEOJSON ? { field: vgField(shapeDef, { expr: 'datum' }) } : {}));\n return [transform];\n }\n};\n//# sourceMappingURL=geoshape.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/mark/geoshape.js\n// module id = 970\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport * as mixins from './mixins';\nimport * as ref from './valueref';\nexport var line = {\n vgMark: 'line',\n encodeEntry: function (model) {\n var width = model.width, height = model.height;\n return tslib_1.__assign({}, mixins.baseEncodeEntry(model, { size: 'ignore', orient: 'ignore' }), mixins.pointPosition('x', model, ref.mid(width)), mixins.pointPosition('y', model, ref.mid(height)), mixins.nonPosition('size', model, {\n vgChannel: 'strokeWidth' // VL's line size is strokeWidth\n }), mixins.defined(model));\n }\n};\nexport var trail = {\n vgMark: 'trail',\n encodeEntry: function (model) {\n var width = model.width, height = model.height;\n return tslib_1.__assign({}, mixins.baseEncodeEntry(model, { size: 'include', orient: 'ignore' }), mixins.pointPosition('x', model, ref.mid(width)), mixins.pointPosition('y', model, ref.mid(height)), mixins.nonPosition('size', model), mixins.defined(model));\n }\n};\n//# sourceMappingURL=line.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/mark/line.js\n// module id = 971\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { getMarkConfig } from '../common';\nimport * as mixins from './mixins';\nimport * as ref from './valueref';\nfunction encodeEntry(model, fixedShape) {\n var config = model.config, width = model.width, height = model.height;\n return tslib_1.__assign({}, mixins.baseEncodeEntry(model, { size: 'include', orient: 'ignore' }), mixins.pointPosition('x', model, ref.mid(width)), mixins.pointPosition('y', model, ref.mid(height)), mixins.nonPosition('size', model), shapeMixins(model, config, fixedShape));\n}\nexport function shapeMixins(model, config, fixedShape) {\n if (fixedShape) {\n return { shape: { value: fixedShape } };\n }\n return mixins.nonPosition('shape', model, { defaultValue: getMarkConfig('shape', model.markDef, config) });\n}\nexport var point = {\n vgMark: 'symbol',\n encodeEntry: function (model) {\n return encodeEntry(model);\n }\n};\nexport var circle = {\n vgMark: 'symbol',\n encodeEntry: function (model) {\n return encodeEntry(model, 'circle');\n }\n};\nexport var square = {\n vgMark: 'symbol',\n encodeEntry: function (model) {\n return encodeEntry(model, 'square');\n }\n};\n//# sourceMappingURL=point.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/mark/point.js\n// module id = 972\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { X, Y } from '../../channel';\nimport { isFieldDef } from '../../fielddef';\nimport * as log from '../../log';\nimport { RECT } from '../../mark';\nimport { hasDiscreteDomain, ScaleType } from '../../scale';\nimport * as mixins from './mixins';\nexport var rect = {\n vgMark: 'rect',\n encodeEntry: function (model) {\n return tslib_1.__assign({}, mixins.baseEncodeEntry(model, { size: 'ignore', orient: 'ignore' }), x(model), y(model));\n }\n};\nexport function x(model) {\n var xDef = model.encoding.x;\n var x2Def = model.encoding.x2;\n var xScale = model.getScaleComponent(X);\n var xScaleType = xScale ? xScale.get('type') : undefined;\n if (isFieldDef(xDef) && xDef.bin && !x2Def) {\n return mixins.binnedPosition(xDef, 'x', model.scaleName('x'), 0, xScale.get('reverse'));\n }\n else if (isFieldDef(xDef) && xScale && hasDiscreteDomain(xScaleType)) {\n /* istanbul ignore else */\n if (xScaleType === ScaleType.BAND) {\n return mixins.bandPosition(xDef, 'x', model);\n }\n else {\n // We don't support rect mark with point/ordinal scale\n throw new Error(log.message.scaleTypeNotWorkWithMark(RECT, xScaleType));\n }\n }\n else { // continuous scale or no scale\n return tslib_1.__assign({}, mixins.pointPosition('x', model, 'zeroOrMax'), mixins.pointPosition2(model, 'zeroOrMin', 'x2'));\n }\n}\nexport function y(model) {\n var yDef = model.encoding.y;\n var y2Def = model.encoding.y2;\n var yScale = model.getScaleComponent(Y);\n var yScaleType = yScale ? yScale.get('type') : undefined;\n if (isFieldDef(yDef) && yDef.bin && !y2Def) {\n return mixins.binnedPosition(yDef, 'y', model.scaleName('y'), 0, yScale.get('reverse'));\n }\n else if (isFieldDef(yDef) && yScale && hasDiscreteDomain(yScaleType)) {\n /* istanbul ignore else */\n if (yScaleType === ScaleType.BAND) {\n return mixins.bandPosition(yDef, 'y', model);\n }\n else {\n // We don't support rect mark with point/ordinal scale\n throw new Error(log.message.scaleTypeNotWorkWithMark(RECT, yScaleType));\n }\n }\n else { // continuous scale or no scale\n return tslib_1.__assign({}, mixins.pointPosition('y', model, 'zeroOrMax'), mixins.pointPosition2(model, 'zeroOrMin', 'y2'));\n }\n}\n//# sourceMappingURL=rect.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/mark/rect.js\n// module id = 973\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport * as mixins from './mixins';\nimport * as ref from './valueref';\nexport var rule = {\n vgMark: 'rule',\n encodeEntry: function (model) {\n var _config = model.config, markDef = model.markDef, width = model.width, height = model.height;\n var orient = markDef.orient;\n if (!model.encoding.x && !model.encoding.y && !model.encoding.latitude && !model.encoding.longitude) {\n // Show nothing if we have none of x, y, lat, and long.\n return {};\n }\n return tslib_1.__assign({}, mixins.baseEncodeEntry(model, { size: 'ignore', orient: 'ignore' }), mixins.pointPosition('x', model, orient === 'horizontal' ? 'zeroOrMin' : ref.mid(width)), mixins.pointPosition('y', model, orient === 'vertical' ? 'zeroOrMin' : ref.mid(height)), (orient !== 'vertical' ? mixins.pointPosition2(model, 'zeroOrMax', 'x2') : {}), (orient !== 'horizontal' ? mixins.pointPosition2(model, 'zeroOrMax', 'y2') : {}), mixins.nonPosition('size', model, {\n vgChannel: 'strokeWidth',\n defaultValue: markDef.size\n }));\n }\n};\n//# sourceMappingURL=rule.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/mark/rule.js\n// module id = 974\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { getMarkConfig } from '../common';\nimport * as mixins from './mixins';\nimport * as ref from './valueref';\nexport var text = {\n vgMark: 'text',\n encodeEntry: function (model) {\n var config = model.config, encoding = model.encoding, width = model.width, height = model.height, markDef = model.markDef;\n return tslib_1.__assign({}, mixins.baseEncodeEntry(model, { size: 'ignore', orient: 'ignore' }), mixins.pointPosition('x', model, ref.mid(width)), mixins.pointPosition('y', model, ref.mid(height)), mixins.text(model), mixins.nonPosition('size', model, tslib_1.__assign({}, (markDef.size ? { defaultValue: markDef.size } : {}), { vgChannel: 'fontSize' // VL's text size is fontSize\n })), mixins.valueIfDefined('align', align(model.markDef, encoding, config)));\n }\n};\nfunction align(markDef, encoding, config) {\n var a = markDef.align || getMarkConfig('align', markDef, config);\n if (a === undefined) {\n return 'center';\n }\n // If there is a config, Vega-parser will process this already.\n return undefined;\n}\n//# sourceMappingURL=text.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/mark/text.js\n// module id = 975\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport { isVgRangeStep } from '../../vega.schema';\nimport * as mixins from './mixins';\nimport * as ref from './valueref';\nexport var tick = {\n vgMark: 'rect',\n encodeEntry: function (model) {\n var _a;\n var config = model.config, markDef = model.markDef, width = model.width, height = model.height;\n var orient = markDef.orient;\n var vgSizeChannel = orient === 'horizontal' ? 'width' : 'height';\n var vgThicknessChannel = orient === 'horizontal' ? 'height' : 'width';\n return tslib_1.__assign({}, mixins.baseEncodeEntry(model, { size: 'ignore', orient: 'ignore' }), mixins.pointPosition('x', model, ref.mid(width), 'xc'), mixins.pointPosition('y', model, ref.mid(height), 'yc'), mixins.nonPosition('size', model, {\n defaultValue: defaultSize(model),\n vgChannel: vgSizeChannel\n }), (_a = {}, _a[vgThicknessChannel] = { value: markDef.thickness || config.tick.thickness }, _a));\n }\n};\nfunction defaultSize(model) {\n var config = model.config, markDef = model.markDef;\n var orient = markDef.orient;\n var scale = model.getScaleComponent(orient === 'horizontal' ? 'x' : 'y');\n if (markDef.size !== undefined) {\n return markDef.size;\n }\n else if (config.tick.bandSize !== undefined) {\n return config.tick.bandSize;\n }\n else {\n var scaleRange = scale ? scale.get('range') : undefined;\n var rangeStep = scaleRange && isVgRangeStep(scaleRange) ?\n scaleRange.step :\n config.scale.rangeStep;\n if (typeof rangeStep !== 'number') {\n // FIXME consolidate this log\n throw new Error('Function does not handle non-numeric rangeStep');\n }\n return rangeStep / 1.5;\n }\n}\n//# sourceMappingURL=tick.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/mark/tick.js\n// module id = 976\n// module chunks = 0","import * as tslib_1 from \"tslib\";\nimport * as log from '../log';\nimport { BaseConcatModel } from './baseconcat';\nimport { buildModel } from './buildmodel';\nimport { parseRepeatLayoutSize } from './layoutsize/parse';\nvar RepeatModel = /** @class */ (function (_super) {\n tslib_1.__extends(RepeatModel, _super);\n function RepeatModel(spec, parent, parentGivenName, repeatValues, config) {\n var _this = _super.call(this, spec, parent, parentGivenName, config, repeatValues, spec.resolve) || this;\n _this.type = 'repeat';\n if (spec.resolve && spec.resolve.axis && (spec.resolve.axis.x === 'shared' || spec.resolve.axis.y === 'shared')) {\n log.warn(log.message.REPEAT_CANNOT_SHARE_AXIS);\n }\n _this.repeat = spec.repeat;\n _this.children = _this._initChildren(spec, _this.repeat, repeatValues, config);\n return _this;\n }\n RepeatModel.prototype._initChildren = function (spec, repeat, repeater, config) {\n var children = [];\n var row = repeat.row || [repeater ? repeater.row : null];\n var column = repeat.column || [repeater ? repeater.column : null];\n // cross product\n for (var _i = 0, row_1 = row; _i < row_1.length; _i++) {\n var rowField = row_1[_i];\n for (var _a = 0, column_1 = column; _a < column_1.length; _a++) {\n var columnField = column_1[_a];\n var name_1 = (rowField ? '_' + rowField : '') + (columnField ? '_' + columnField : '');\n var childRepeat = {\n row: rowField,\n column: columnField\n };\n children.push(buildModel(spec.spec, this, this.getName('child' + name_1), undefined, childRepeat, config, false));\n }\n }\n return children;\n };\n RepeatModel.prototype.parseLayoutSize = function () {\n parseRepeatLayoutSize(this);\n };\n RepeatModel.prototype.assembleDefaultLayout = function () {\n return {\n columns: this.repeat && this.repeat.column ? this.repeat.column.length : 1,\n bounds: 'full',\n align: 'all'\n };\n };\n return RepeatModel;\n}(BaseConcatModel));\nexport { RepeatModel };\n//# sourceMappingURL=repeat.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/compile/repeat.js\n// module id = 977\n// module chunks = 0","import { toSet } from 'vega-util';\nimport { isMarkDef } from './mark';\nimport { BAR } from './mark';\n/**\n * Required Encoding Channels for each mark type\n */\nexport var DEFAULT_REQUIRED_CHANNEL_MAP = {\n text: ['text'],\n line: ['x', 'y'],\n trail: ['x', 'y'],\n area: ['x', 'y']\n};\n/**\n * Supported Encoding Channel for each mark type\n */\nexport var DEFAULT_SUPPORTED_CHANNEL_TYPE = {\n bar: toSet(['row', 'column', 'x', 'y', 'size', 'color', 'fill', 'stroke', 'detail']),\n line: toSet(['row', 'column', 'x', 'y', 'color', 'fill', 'stroke', 'color', 'detail']),\n trail: toSet(['row', 'column', 'x', 'y', 'color', 'fill', 'stroke', 'color', 'detail', 'size']),\n area: toSet(['row', 'column', 'x', 'y', 'color', 'fill', 'stroke', 'detail']),\n tick: toSet(['row', 'column', 'x', 'y', 'color', 'fill', 'stroke', 'detail']),\n circle: toSet(['row', 'column', 'x', 'y', 'color', 'fill', 'stroke', 'size', 'detail']),\n square: toSet(['row', 'column', 'x', 'y', 'color', 'fill', 'stroke', 'size', 'detail']),\n point: toSet(['row', 'column', 'x', 'y', 'color', 'fill', 'stroke', 'size', 'detail', 'shape']),\n geoshape: toSet(['row', 'column', 'color', 'fill', 'stroke', 'detail', 'shape']),\n text: toSet(['row', 'column', 'size', 'color', 'fill', 'stroke', 'text']) // TODO(#724) revise\n};\n// TODO: consider if we should add validate method and\n// requires ZSchema in the main vega-lite repo\n/**\n * Further check if encoding mapping of a spec is invalid and\n * return error if it is invalid.\n *\n * This checks if\n * (1) all the required encoding channels for the mark type are specified\n * (2) all the specified encoding channels are supported by the mark type\n * @param {[type]} spec [description]\n * @param {RequiredChannelMap = DefaultRequiredChannelMap} requiredChannelMap\n * @param {SupportedChannelMap = DefaultSupportedChannelMap} supportedChannelMap\n * @return {String} Return one reason why the encoding is invalid,\n * or null if the encoding is valid.\n */\nexport function getEncodingMappingError(spec, requiredChannelMap, supportedChannelMap) {\n if (requiredChannelMap === void 0) { requiredChannelMap = DEFAULT_REQUIRED_CHANNEL_MAP; }\n if (supportedChannelMap === void 0) { supportedChannelMap = DEFAULT_SUPPORTED_CHANNEL_TYPE; }\n var mark = isMarkDef(spec.mark) ? spec.mark.type : spec.mark;\n var encoding = spec.encoding;\n var requiredChannels = requiredChannelMap[mark];\n var supportedChannels = supportedChannelMap[mark];\n for (var i in requiredChannels) { // all required channels are in encoding`\n if (!(requiredChannels[i] in encoding)) {\n return 'Missing encoding channel \\\"' + requiredChannels[i] +\n '\\\" for mark \\\"' + mark + '\\\"';\n }\n }\n for (var channel in encoding) { // all channels in encoding are supported\n if (!supportedChannels[channel]) {\n return 'Encoding channel \\\"' + channel +\n '\\\" is not supported by mark type \\\"' + mark + '\\\"';\n }\n }\n if (mark === BAR && !encoding.x && !encoding.y) {\n return 'Missing both x and y for bar';\n }\n return null;\n}\n//# sourceMappingURL=validate.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/src/validate.js\n// module id = 979\n// module chunks = 0","module.exports = {\"name\":\"vega-lite\",\"author\":\"Jeffrey Heer, Dominik Moritz, Kanit \\\"Ham\\\" Wongsuphasawat\",\"version\":\"2.6.0\",\"collaborators\":[\"Kanit Wongsuphasawat <kanitw@gmail.com> (http://kanitw.yellowpigz.com)\",\"Dominik Moritz <domoritz@cs.washington.edu> (https://www.domoritz.de)\",\"Jeffrey Heer <jheer@uw.edu> (http://jheer.org)\"],\"homepage\":\"https://vega.github.io/vega-lite/\",\"description\":\"Vega-Lite is a concise high-level language for interactive visualization.\",\"main\":\"build/vega-lite.js\",\"unpkg\":\"build/vega-lite.min.js\",\"jsdelivr\":\"build/vega-lite.min.js\",\"module\":\"build/src/index\",\"types\":\"build/src/index.d.ts\",\"bin\":{\"vl2png\":\"./bin/vl2png\",\"vl2svg\":\"./bin/vl2svg\",\"vl2vg\":\"./bin/vl2vg\"},\"directories\":{\"test\":\"test\"},\"scripts\":{\"prebuild\":\"mkdir -p build/src\",\"build\":\"npm run build:only\",\"build:only\":\"tsc && rollup -c\",\"postbuild\":\"uglifyjs build/vega-lite.js -cm --source-map content=build/vega-lite.js.map,filename=build/vega-lite.min.js.map -o build/vega-lite.min.js && npm run schema\",\"build:examples\":\"npm run data && TZ=America/Los_Angeles scripts/build-examples.sh\",\"build:examples-full\":\"TZ=America/Los_Angeles scripts/build-examples.sh 1\",\"build:example\":\"TZ=America/Los_Angeles scripts/build-example.sh\",\"build:toc\":\"bundle exec jekyll build -q && scripts/generate-toc\",\"build:site\":\"tsc -p site && webpack --config site/webpack.config.js\",\"build:versions\":\"scripts/update-version.sh\",\"check:examples\":\"scripts/check-examples.sh\",\"check:schema\":\"scripts/check-schema.sh\",\"clean\":\"rm -rf build && rm -f examples/compiled/*.png && find site/examples ! -name 'index.md' -type f -delete\",\"data\":\"rsync -r node_modules/vega-datasets/data/* data\",\"deploy\":\"scripts/deploy.sh\",\"deploy:gh\":\"scripts/deploy-gh.sh\",\"deploy:schema\":\"scripts/deploy-schema.sh\",\"preschema\":\"npm run prebuild\",\"schema\":\"node --stack-size=1200 ./node_modules/.bin/ts-json-schema-generator --path tsconfig.json --type TopLevelSpec > build/vega-lite-schema.json && npm run renameschema && cp build/vega-lite-schema.json _data/\",\"renameschema\":\"scripts/rename-schema.sh\",\"presite\":\"npm run prebuild && npm run data && npm run build:site && npm run build:toc && npm run build:versions && scripts/create-example-pages\",\"site\":\"bundle exec jekyll serve --incremental\",\"lint\":\"tslint -p . -e 'package.json'\",\"test\":\"jest test/ && npm run lint && npm run schema && jest examples/ && npm run test:runtime\",\"test:inspect\":\"node --inspect-brk ./node_modules/.bin/jest --runInBand test\",\"test:runtime\":\"TZ=America/Los_Angeles TS_NODE_COMPILER_OPTIONS='{\\\"module\\\":\\\"commonjs\\\"}' wdio wdio.conf.js\",\"test:runtime:generate\":\"rm -Rf test-runtime/resources && VL_GENERATE_TESTS=true npm run test:runtime\",\"watch:build\":\"npm run build:only && concurrently --kill-others -n Typescript,Rollup 'tsc -w' 'rollup -c -w'\",\"watch:site\":\"concurrently --kill-others -n Typescript,Webpack 'tsc -p site --watch' 'webpack --config site/webpack.config.js --mode development --watch'\",\"watch:test\":\"jest --watch\"},\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/vega/vega-lite.git\"},\"license\":\"BSD-3-Clause\",\"bugs\":{\"url\":\"https://github.com/vega/vega-lite/issues\"},\"devDependencies\":{\"@types/chai\":\"^4.1.4\",\"@types/d3\":\"^5.0.0\",\"@types/highlight.js\":\"^9.12.3\",\"@types/jest\":\"^23.1.1\",\"@types/mkdirp\":\"^0.5.2\",\"@types/node\":\"^9.0.0\",\"@types/webdriverio\":\"^4.10.2\",\"ajv\":\"^6.5.1\",\"chai\":\"^4.1.2\",\"cheerio\":\"^1.0.0-rc.2\",\"chromedriver\":\"^2.40.0\",\"codecov\":\"^3.0.2\",\"concurrently\":\"^3.6.0\",\"d3\":\"^5.5.0\",\"highlight.js\":\"^9.12.0\",\"jest\":\"^23.1.0\",\"mkdirp\":\"^0.5.1\",\"rollup\":\"^0.59.4\",\"rollup-plugin-commonjs\":\"^9.1.3\",\"rollup-plugin-json\":\"^3.0.0\",\"rollup-plugin-node-resolve\":\"^3.3.0\",\"rollup-plugin-sourcemaps\":\"^0.4.2\",\"source-map-support\":\"^0.5.6\",\"svg2png-many\":\"^0.0.7\",\"ts-jest\":\"^22.4.6\",\"ts-json-schema-generator\":\"^0.28.0\",\"ts-node\":\"^6.1.1\",\"tslint\":\"5.10.0\",\"tslint-eslint-rules\":\"^5.3.1\",\"typescript\":\"^2.9.2\",\"uglify-js\":\"^3.4.1\",\"vega\":\"^4.0.0-rc.3\",\"vega-datasets\":\"^1.19.0\",\"vega-embed\":\"^3.16.0\",\"vega-tooltip\":\"^0.11.0\",\"wdio-chromedriver-service\":\"^0.1.3\",\"wdio-dot-reporter\":\"0.0.9\",\"wdio-mocha-framework\":\"^0.5.13\",\"wdio-static-server-service\":\"^1.0.1\",\"webdriverio\":\"^4.13.0\",\"webpack\":\"^4.12.0\",\"webpack-cli\":\"^3.0.8\",\"yaml-front-matter\":\"^4.0.0\"},\"dependencies\":{\"@types/json-stable-stringify\":\"^1.0.32\",\"json-stable-stringify\":\"^1.0.1\",\"tslib\":\"^1.9.2\",\"vega-event-selector\":\"^2.0.0\",\"vega-typings\":\"^0.3.17\",\"vega-util\":\"^1.7.0\",\"yargs\":\"^11.0.0\"},\"jest\":{\"transform\":{\"^.+\\\\.tsx?$\":\"ts-jest\"},\"testRegex\":\"(/__tests__/.*|(\\\\.|/)(test|spec))\\\\.(jsx?|tsx?)$\",\"moduleFileExtensions\":[\"ts\",\"tsx\",\"js\",\"jsx\",\"json\",\"node\"],\"testPathIgnorePatterns\":[\"node_modules\",\"test-runtime\",\"<rootDir>/build\",\"_site\",\"src\"],\"coverageDirectory\":\"./coverage/\",\"collectCoverage\":false}}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-lite/build/package.json\n// module id = 980\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Parse a vega schema url into library and version.\n */\nfunction default_1(url) {\n var regex = /\\/schema\\/([\\w-]+)\\/([\\w\\.\\-]+)\\.json$/g;\n var _a = regex.exec(url).slice(1, 3), library = _a[0], version = _a[1];\n return { library: library, version: version };\n}\nexports.default = default_1;\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-schema-url-parser/index.js\n// module id = 981\n// module chunks = 0","var markColor = '#4572a7';\nvar excelTheme = {\n background: '#fff',\n arc: { fill: markColor },\n area: { fill: markColor },\n line: { stroke: markColor, strokeWidth: 2 },\n path: { stroke: markColor },\n rect: { fill: markColor },\n shape: { stroke: markColor },\n symbol: { fill: markColor, strokeWidth: 1.5, size: 50 },\n axis: {\n bandPosition: 0.5,\n grid: true,\n gridColor: '#000000',\n gridOpacity: 1,\n gridWidth: 0.5,\n labelPadding: 10,\n tickSize: 5,\n tickWidth: 0.5,\n },\n axisBand: {\n grid: false,\n tickExtra: true,\n },\n legend: {\n labelBaseline: 'middle',\n labelFontSize: 11,\n symbolSize: 50,\n symbolType: 'square',\n },\n range: {\n category: [\n '#4572a7',\n '#aa4643',\n '#8aa453',\n '#71598e',\n '#4598ae',\n '#d98445',\n '#94aace',\n '#d09393',\n '#b9cc98',\n '#a99cbc',\n ],\n },\n};\nexport default excelTheme;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtZXhjZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdGhlbWUtZXhjZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsSUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDO0FBRTVCLElBQU0sVUFBVSxHQUFXO0lBQ3pCLFVBQVUsRUFBRSxNQUFNO0lBRWxCLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7SUFDeEIsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtJQUN6QixJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxDQUFDLEVBQUU7SUFDM0MsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtJQUMzQixJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO0lBQ3pCLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDNUIsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUU7SUFFdkQsSUFBSSxFQUFFO1FBQ0osWUFBWSxFQUFFLEdBQUc7UUFDakIsSUFBSSxFQUFFLElBQUk7UUFDVixTQUFTLEVBQUUsU0FBUztRQUNwQixXQUFXLEVBQUUsQ0FBQztRQUNkLFNBQVMsRUFBRSxHQUFHO1FBQ2QsWUFBWSxFQUFFLEVBQUU7UUFDaEIsUUFBUSxFQUFFLENBQUM7UUFDWCxTQUFTLEVBQUUsR0FBRztLQUNmO0lBRUQsUUFBUSxFQUFFO1FBQ1IsSUFBSSxFQUFFLEtBQUs7UUFDWCxTQUFTLEVBQUUsSUFBSTtLQUNoQjtJQUVELE1BQU0sRUFBRTtRQUNOLGFBQWEsRUFBRSxRQUFRO1FBQ3ZCLGFBQWEsRUFBRSxFQUFFO1FBQ2pCLFVBQVUsRUFBRSxFQUFFO1FBQ2QsVUFBVSxFQUFFLFFBQVE7S0FDckI7SUFFRCxLQUFLLEVBQUU7UUFDTCxRQUFRLEVBQUU7WUFDUixTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1NBQ1Y7S0FDRjtDQUNGLENBQUM7QUFFRixlQUFlLFVBQVUsQ0FBQyJ9\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-themes/build/theme-excel.js\n// module id = 983\n// module chunks = 0","var markColor = '#000';\nvar ggplot2Theme = {\n group: {\n fill: '#e5e5e5',\n },\n arc: { fill: markColor },\n area: { fill: markColor },\n line: { stroke: markColor },\n path: { stroke: markColor },\n rect: { fill: markColor },\n shape: { stroke: markColor },\n symbol: { fill: markColor, size: 40 },\n axis: {\n domain: false,\n grid: true,\n gridColor: '#FFFFFF',\n gridOpacity: 1,\n labelColor: '#7F7F7F',\n labelPadding: 4,\n tickColor: '#7F7F7F',\n tickSize: 5.67,\n titleFontSize: 16,\n titleFontWeight: 'normal',\n },\n legend: {\n labelBaseline: 'middle',\n labelFontSize: 11,\n symbolSize: 40,\n },\n range: {\n category: [\n '#000000',\n '#7F7F7F',\n '#1A1A1A',\n '#999999',\n '#333333',\n '#B0B0B0',\n '#4D4D4D',\n '#C9C9C9',\n '#666666',\n '#DCDCDC',\n ],\n },\n};\nexport default ggplot2Theme;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtZ2dwbG90Mi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90aGVtZS1nZ3Bsb3QyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLElBQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQztBQUV6QixJQUFNLFlBQVksR0FBVztJQUMzQixLQUFLLEVBQUU7UUFDTCxJQUFJLEVBQUUsU0FBUztLQUNoQjtJQUVELEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7SUFDeEIsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtJQUN6QixJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQzNCLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDM0IsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtJQUN6QixLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQzVCLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRTtJQUVyQyxJQUFJLEVBQUU7UUFDSixNQUFNLEVBQUUsS0FBSztRQUNiLElBQUksRUFBRSxJQUFJO1FBQ1YsU0FBUyxFQUFFLFNBQVM7UUFDcEIsV0FBVyxFQUFFLENBQUM7UUFDZCxVQUFVLEVBQUUsU0FBUztRQUNyQixZQUFZLEVBQUUsQ0FBQztRQUNmLFNBQVMsRUFBRSxTQUFTO1FBQ3BCLFFBQVEsRUFBRSxJQUFJO1FBQ2QsYUFBYSxFQUFFLEVBQUU7UUFDakIsZUFBZSxFQUFFLFFBQVE7S0FDMUI7SUFFRCxNQUFNLEVBQUU7UUFDTixhQUFhLEVBQUUsUUFBUTtRQUN2QixhQUFhLEVBQUUsRUFBRTtRQUNqQixVQUFVLEVBQUUsRUFBRTtLQUNmO0lBRUQsS0FBSyxFQUFFO1FBQ0wsUUFBUSxFQUFFO1lBQ1IsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztTQUNWO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsZUFBZSxZQUFZLENBQUMifQ==\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-themes/build/theme-ggplot2.js\n// module id = 984\n// module chunks = 0","var markColor = '#ab5787';\nvar axisColor = '#979797';\nvar quartzTheme = {\n background: '#f9f9f9',\n arc: { fill: markColor },\n area: { fill: markColor },\n line: { stroke: markColor },\n path: { stroke: markColor },\n rect: { fill: markColor },\n shape: { stroke: markColor },\n symbol: { fill: markColor, size: 30 },\n axis: {\n domainColor: axisColor,\n domainWidth: 0.5,\n gridWidth: 0.2,\n labelColor: axisColor,\n tickColor: axisColor,\n tickWidth: 0.2,\n titleColor: axisColor,\n },\n axisBand: {\n grid: false,\n },\n axisX: {\n grid: true,\n tickSize: 10,\n },\n axisY: {\n domain: false,\n grid: true,\n tickSize: 0,\n },\n legend: {\n labelFontSize: 11,\n padding: 1,\n symbolSize: 30,\n symbolType: 'square',\n },\n range: {\n category: [\n '#ab5787',\n '#51b2e5',\n '#703c5c',\n '#168dd9',\n '#d190b6',\n '#00609f',\n '#d365ba',\n '#154866',\n '#666666',\n '#c4c4c4',\n ],\n },\n};\nexport default quartzTheme;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtcXVhcnR6LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RoZW1lLXF1YXJ0ei50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxJQUFNLFNBQVMsR0FBRyxTQUFTLENBQUM7QUFDNUIsSUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDO0FBRTVCLElBQU0sV0FBVyxHQUFXO0lBQzFCLFVBQVUsRUFBRSxTQUFTO0lBRXJCLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7SUFDeEIsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtJQUN6QixJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQzNCLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDM0IsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtJQUN6QixLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0lBQzVCLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRTtJQUVyQyxJQUFJLEVBQUU7UUFDSixXQUFXLEVBQUUsU0FBUztRQUN0QixXQUFXLEVBQUUsR0FBRztRQUNoQixTQUFTLEVBQUUsR0FBRztRQUNkLFVBQVUsRUFBRSxTQUFTO1FBQ3JCLFNBQVMsRUFBRSxTQUFTO1FBQ3BCLFNBQVMsRUFBRSxHQUFHO1FBQ2QsVUFBVSxFQUFFLFNBQVM7S0FDdEI7SUFFRCxRQUFRLEVBQUU7UUFDUixJQUFJLEVBQUUsS0FBSztLQUNaO0lBRUQsS0FBSyxFQUFFO1FBQ0wsSUFBSSxFQUFFLElBQUk7UUFDVixRQUFRLEVBQUUsRUFBRTtLQUNiO0lBRUQsS0FBSyxFQUFFO1FBQ0wsTUFBTSxFQUFFLEtBQUs7UUFDYixJQUFJLEVBQUUsSUFBSTtRQUNWLFFBQVEsRUFBRSxDQUFDO0tBQ1o7SUFFRCxNQUFNLEVBQUU7UUFDTixhQUFhLEVBQUUsRUFBRTtRQUNqQixPQUFPLEVBQUUsQ0FBQztRQUNWLFVBQVUsRUFBRSxFQUFFO1FBQ2QsVUFBVSxFQUFFLFFBQVE7S0FDckI7SUFFRCxLQUFLLEVBQUU7UUFDTCxRQUFRLEVBQUU7WUFDUixTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1NBQ1Y7S0FDRjtDQUNGLENBQUM7QUFFRixlQUFlLFdBQVcsQ0FBQyJ9\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-themes/build/theme-quartz.js\n// module id = 985\n// module chunks = 0","var markColor = '#3e5c69';\nvar voxTheme = {\n background: '#fff',\n arc: { fill: markColor },\n area: { fill: markColor },\n line: { stroke: markColor },\n path: { stroke: markColor },\n rect: { fill: markColor },\n shape: { stroke: markColor },\n symbol: { fill: markColor },\n axis: {\n domainWidth: 0.5,\n grid: true,\n labelPadding: 2,\n tickSize: 5,\n tickWidth: 0.5,\n titleFontWeight: 'normal',\n },\n axisBand: {\n grid: false,\n },\n axisX: {\n gridWidth: 0.2,\n },\n axisY: {\n gridDash: [3],\n gridWidth: 0.4,\n },\n legend: {\n labelFontSize: 11,\n padding: 1,\n symbolType: 'square',\n },\n range: {\n category: [\n '#3e5c69',\n '#6793a6',\n '#182429',\n '#0570b0',\n '#3690c0',\n '#74a9cf',\n '#a6bddb',\n '#e2ddf2',\n ],\n },\n};\nexport default voxTheme;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtdm94LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RoZW1lLXZveC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxJQUFNLFNBQVMsR0FBRyxTQUFTLENBQUM7QUFFNUIsSUFBTSxRQUFRLEdBQVc7SUFDdkIsVUFBVSxFQUFFLE1BQU07SUFFbEIsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtJQUN4QixJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO0lBQ3pCLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDM0IsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtJQUMzQixJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO0lBQ3pCLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDNUIsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtJQUUzQixJQUFJLEVBQUU7UUFDSixXQUFXLEVBQUUsR0FBRztRQUNoQixJQUFJLEVBQUUsSUFBSTtRQUNWLFlBQVksRUFBRSxDQUFDO1FBQ2YsUUFBUSxFQUFFLENBQUM7UUFDWCxTQUFTLEVBQUUsR0FBRztRQUNkLGVBQWUsRUFBRSxRQUFRO0tBQzFCO0lBRUQsUUFBUSxFQUFFO1FBQ1IsSUFBSSxFQUFFLEtBQUs7S0FDWjtJQUVELEtBQUssRUFBRTtRQUNMLFNBQVMsRUFBRSxHQUFHO0tBQ2Y7SUFFRCxLQUFLLEVBQUU7UUFDTCxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDYixTQUFTLEVBQUUsR0FBRztLQUNmO0lBRUQsTUFBTSxFQUFFO1FBQ04sYUFBYSxFQUFFLEVBQUU7UUFDakIsT0FBTyxFQUFFLENBQUM7UUFDVixVQUFVLEVBQUUsUUFBUTtLQUNyQjtJQUVELEtBQUssRUFBRTtRQUNMLFFBQVEsRUFBRTtZQUNSLFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1NBQ1Y7S0FDRjtDQUNGLENBQUM7QUFFRixlQUFlLFFBQVEsQ0FBQyJ9\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-themes/build/theme-vox.js\n// module id = 986\n// module chunks = 0","var lightColor = '#fff';\nvar medColor = '#aaa';\nvar darkTheme = {\n background: '#333',\n title: { color: lightColor },\n style: {\n 'guide-label': {\n fill: lightColor,\n },\n 'guide-title': {\n fill: lightColor,\n },\n },\n axis: {\n domainColor: lightColor,\n gridColor: medColor,\n tickColor: lightColor,\n },\n};\nexport default darkTheme;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtZGFyay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90aGVtZS1kYXJrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLElBQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQztBQUMxQixJQUFNLFFBQVEsR0FBRyxNQUFNLENBQUM7QUFFeEIsSUFBTSxTQUFTLEdBQVc7SUFDeEIsVUFBVSxFQUFFLE1BQU07SUFFbEIsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRTtJQUU1QixLQUFLLEVBQUU7UUFDTCxhQUFhLEVBQUU7WUFDYixJQUFJLEVBQUUsVUFBVTtTQUNqQjtRQUNELGFBQWEsRUFBRTtZQUNiLElBQUksRUFBRSxVQUFVO1NBQ2pCO0tBQ0Y7SUFFRCxJQUFJLEVBQUU7UUFDSixXQUFXLEVBQUUsVUFBVTtRQUN2QixTQUFTLEVBQUUsUUFBUTtRQUNuQixTQUFTLEVBQUUsVUFBVTtLQUN0QjtDQUNGLENBQUM7QUFFRixlQUFlLFNBQVMsQ0FBQyJ9\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-themes/build/theme-dark.js\n// module id = 987\n// module chunks = 0","var markColor = '#30a2da';\nvar axisColor = '#cbcbcb';\nvar backgroundColor = '#f0f0f0';\nvar fivethirtyeighttheme = {\n arc: { fill: markColor },\n area: { fill: markColor },\n axisBand: {\n grid: false,\n },\n axisBottom: {\n domain: false,\n domainColor: 'black',\n domainWidth: 3,\n grid: true,\n gridColor: axisColor,\n gridWidth: 1,\n labelFontSize: 12,\n labelPadding: 4,\n tickColor: axisColor,\n tickSize: 10,\n titleFontSize: 14,\n titlePadding: 10,\n },\n axisLeft: {\n domainColor: axisColor,\n domainWidth: 1,\n gridColor: axisColor,\n gridWidth: 1,\n labelFontSize: 12,\n labelPadding: 4,\n tickColor: axisColor,\n tickSize: 10,\n ticks: true,\n titleFontSize: 14,\n titlePadding: 10,\n },\n axisRight: {\n domainColor: axisColor,\n domainWidth: 1,\n gridColor: axisColor,\n gridWidth: 1,\n labelFontSize: 12,\n labelPadding: 4,\n tickColor: axisColor,\n tickSize: 10,\n ticks: true,\n titleFontSize: 14,\n titlePadding: 10,\n },\n axisTop: {\n domain: false,\n domainColor: 'black',\n domainWidth: 3,\n grid: true,\n gridColor: axisColor,\n gridWidth: 1,\n labelFontSize: 12,\n labelPadding: 4,\n tickColor: axisColor,\n tickSize: 10,\n titleFontSize: 14,\n titlePadding: 10,\n },\n background: backgroundColor,\n group: {\n fill: backgroundColor,\n },\n legend: {\n labelFontSize: 11,\n padding: 1,\n symbolSize: 30,\n symbolType: 'square',\n titleFontSize: 14,\n titlePadding: 10,\n },\n line: {\n stroke: markColor,\n strokeWidth: 2,\n },\n path: { stroke: markColor, strokeWidth: 0.5 },\n point: { filled: true },\n rect: { fill: markColor },\n range: {\n category: [\n '#30a2da',\n '#fc4f30',\n '#e5ae38',\n '#6d904f',\n '#8b8b8b',\n '#b96db8',\n '#ff9e27',\n '#56cc60',\n '#52d2ca',\n '#52689e',\n '#545454',\n '#9fe4f8',\n ],\n diverging: [\n '#cc0020',\n '#e77866',\n '#f6e7e1',\n '#d6e8ed',\n '#91bfd9',\n '#1d78b5',\n ],\n heatmap: ['#d6e8ed', '#cee0e5', '#91bfd9', '#549cc6', '#1d78b5'],\n },\n symbol: {\n opacity: 1,\n shape: 'circle',\n size: 40,\n strokeWidth: 1,\n },\n shape: { stroke: markColor },\n style: {\n bar: {\n binSpacing: 2,\n fill: markColor,\n stroke: null,\n },\n },\n title: {\n anchor: 'start',\n fontSize: 24,\n fontWeight: 600,\n offset: 20,\n },\n};\nexport default fivethirtyeighttheme;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtZml2ZXRoaXJ0eWVpZ2h0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RoZW1lLWZpdmV0aGlydHllaWdodC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxJQUFNLFNBQVMsR0FBRyxTQUFTLENBQUM7QUFDNUIsSUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDO0FBQzVCLElBQU0sZUFBZSxHQUFHLFNBQVMsQ0FBQztBQUVsQyxJQUFNLG9CQUFvQixHQUFXO0lBQ25DLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7SUFDeEIsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtJQUV6QixRQUFRLEVBQUU7UUFDUixJQUFJLEVBQUUsS0FBSztLQUNaO0lBRUQsVUFBVSxFQUFFO1FBQ1YsTUFBTSxFQUFFLEtBQUs7UUFDYixXQUFXLEVBQUUsT0FBTztRQUNwQixXQUFXLEVBQUUsQ0FBQztRQUNkLElBQUksRUFBRSxJQUFJO1FBQ1YsU0FBUyxFQUFFLFNBQVM7UUFDcEIsU0FBUyxFQUFFLENBQUM7UUFDWixhQUFhLEVBQUUsRUFBRTtRQUNqQixZQUFZLEVBQUUsQ0FBQztRQUNmLFNBQVMsRUFBRSxTQUFTO1FBQ3BCLFFBQVEsRUFBRSxFQUFFO1FBQ1osYUFBYSxFQUFFLEVBQUU7UUFDakIsWUFBWSxFQUFFLEVBQUU7S0FDakI7SUFFRCxRQUFRLEVBQUU7UUFDUixXQUFXLEVBQUUsU0FBUztRQUN0QixXQUFXLEVBQUUsQ0FBQztRQUNkLFNBQVMsRUFBRSxTQUFTO1FBQ3BCLFNBQVMsRUFBRSxDQUFDO1FBQ1osYUFBYSxFQUFFLEVBQUU7UUFDakIsWUFBWSxFQUFFLENBQUM7UUFDZixTQUFTLEVBQUUsU0FBUztRQUNwQixRQUFRLEVBQUUsRUFBRTtRQUNaLEtBQUssRUFBRSxJQUFJO1FBQ1gsYUFBYSxFQUFFLEVBQUU7UUFDakIsWUFBWSxFQUFFLEVBQUU7S0FDakI7SUFFRCxTQUFTLEVBQUU7UUFD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\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-themes/build/theme-fivethirtyeight.js\n// module id = 988\n// module chunks = 0","// generated with build-style.sh\nexport default \"#vg-tooltip-element {\\n visibility: hidden;\\n padding: 8px;\\n position: fixed;\\n z-index: 1000;\\n font-family: sans-serif;\\n font-size: 11px;\\n border-radius: 3px;\\n box-shadow: 2px 2px 4px rgba(0,0,0,0.1);\\n\\n /* The default theme is the light theme. */\\n background-color: rgba(255, 255, 255, 0.95);\\n border: 1px solid #d9d9d9;\\n color: black;\\n}\\n#vg-tooltip-element.visible {\\n visibility: visible;\\n}\\n#vg-tooltip-element h2 {\\n margin-top: 0;\\n margin-bottom: 10px;\\n font-size: 13px;\\n}\\n#vg-tooltip-element table {\\n border-spacing: 0;\\n}\\n#vg-tooltip-element td {\\n overflow: hidden;\\n text-overflow: ellipsis;\\n padding-top: 2px;\\n padding-bottom: 2px;\\n}\\n#vg-tooltip-element td.key {\\n color: #808080;\\n max-width: 150px;\\n text-align: right;\\n padding-right: 4px;\\n}\\n#vg-tooltip-element td.value {\\n display: block;\\n max-width: 300px;\\n max-height: 7em;\\n text-align: left;\\n}\\n\\n/* Dark and light color themes */\\n#vg-tooltip-element.dark-theme {\\n background-color: rgba(32, 32, 32, 0.9);\\n border: 1px solid #f5f5f5;\\n color: white;\\n}\\n#vg-tooltip-element.dark-theme td.key {\\n color: #bfbfbf;\\n}\\n\\n#vg-tooltip-element.light-theme {\\n background-color: rgba(255, 255, 255, 0.95);\\n border: 1px solid #d9d9d9;\\n color: black;\\n}\\n#vg-tooltip-element.light-theme td.key {\\n color: #808080;\\n}\";\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc3R5bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0NBQWdDO0FBQ2hDLGVBQWUsczBDQThEYixDQUFBIn0=\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-tooltip/build/style.js\n// module id = 990\n// module chunks = 0","/**\n * Open editor url in a new window, and pass a message.\n */\nexport function post(window, url, data) {\n var editor = window.open(url);\n var wait = 10000;\n var step = 250;\n var count = ~~(wait / step);\n function listen(evt) {\n if (evt.source === editor) {\n count = 0;\n window.removeEventListener('message', listen, false);\n }\n }\n window.addEventListener('message', listen, false);\n // send message\n // periodically resend until ack received or timeout\n function send() {\n if (count <= 0) {\n return;\n }\n editor.postMessage(data, '*');\n setTimeout(send, step);\n count -= 1;\n }\n setTimeout(send, step);\n}\n//# sourceMappingURL=post.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-embed/build/src/post.js\n// module id = 991\n// module chunks = 0","// generated with build-style.sh\nexport default \".vega-embed {\\n position: relative;\\n display: inline-block;\\n padding-right: 38px;\\n}\\n\\n.vega-embed .vega-actions-wrapper {\\n display: inline-flex;\\n position: absolute;\\n top: 0;\\n right: 0;\\n padding: 6px;\\n z-index: 1000;\\n\\n opacity: 0.2;\\n background: white;\\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);\\n color: #1b1e23;\\n border: 1px solid #aaa;\\n border-radius: 999px;\\n transition: opacity 0.4s ease-in;\\n}\\n\\n.vega-embed:hover .vega-actions-wrapper {\\n transition: opacity 0.2s ease;\\n opacity: 1;\\n}\\n\\n.vega-embed .vega-actions {\\n position: absolute;\\n top: 0;\\n right: 0;\\n display: none;\\n flex-direction: column;\\n\\n padding-bottom: 8px;\\n padding-top: 8px;\\n border-radius: 4px;\\n box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.2);\\n border: 1px solid #d9d9d9;\\n background: white;\\n}\\n\\n.vega-embed .vega-actions-wrapper:hover {\\n background: transparent;\\n color: transparent;\\n border: none;\\n box-shadow: none;\\n}\\n\\n.vega-embed .vega-actions-wrapper:hover .vega-actions {\\n display: flex;\\n}\\n\\n.vega-embed .vega-actions a {\\n padding: 8px 16px;\\n font-family: sans-serif;\\n font-size: 14px;\\n font-weight: 600;\\n white-space: nowrap;\\n color: #434a56;\\n text-decoration: none;\\n}\\n\\n.vega-embed .vega-actions a:hover {\\n background-color: #f7f7f9;\\n color: #1b1e23;\\n}\";\n//# sourceMappingURL=style.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-embed/build/src/style.js\n// module id = 992\n// module chunks = 0","import { isArray } from 'vega-util';\n/**\n * From vega-lite\n */\nexport function mergeDeep(dest) {\n var src = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n src[_i - 1] = arguments[_i];\n }\n for (var _a = 0, src_1 = src; _a < src_1.length; _a++) {\n var s = src_1[_a];\n dest = deepMerge_(dest, s);\n }\n return dest;\n}\nfunction deepMerge_(dest, src) {\n if (typeof src !== 'object' || src === null) {\n return dest;\n }\n for (var p in src) {\n if (!src.hasOwnProperty(p)) {\n continue;\n }\n if (src[p] === undefined) {\n continue;\n }\n if (typeof src[p] !== 'object' || isArray(src[p]) || src[p] === null) {\n dest[p] = src[p];\n }\n else if (typeof dest[p] !== 'object' || dest[p] === null) {\n dest[p] = mergeDeep(isArray(src[p].constructor) ? [] : {}, src[p]);\n }\n else {\n mergeDeep(dest[p], src[p]);\n }\n }\n return dest;\n}\n// polyfill for IE\nif (!String.prototype.startsWith) {\n String.prototype.startsWith = function (search, pos) {\n return this.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n };\n}\nexport function isURL(s) {\n return s.startsWith('http://') || s.startsWith('https://') || s.startsWith('//');\n}\n//# sourceMappingURL=util.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vega-embed/build/src/util.js\n// module id = 993\n// module chunks = 0"],"sourceRoot":""}