-
Notifications
You must be signed in to change notification settings - Fork 0
/
commons-56ea7cdef35bd0a62d80.js.map
1 lines (1 loc) · 654 KB
/
commons-56ea7cdef35bd0a62d80.js.map
1
{"version":3,"sources":["webpack://my-gatsby-site/./node_modules/@babel/runtime/regenerator/index.js","webpack://my-gatsby-site/./node_modules/@emotion/memoize/dist/memoize.browser.esm.js","webpack://my-gatsby-site/./node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js","webpack://my-gatsby-site/./node_modules/d3/dist/package.js","webpack://my-gatsby-site/./node_modules/d3-axis/src/array.js","webpack://my-gatsby-site/./node_modules/d3-axis/src/identity.js","webpack://my-gatsby-site/./node_modules/d3-axis/src/axis.js","webpack://my-gatsby-site/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selector.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/array.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selectorAll.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/matcher.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/selectChild.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/selectChildren.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/sparse.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/enter.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/constant.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/data.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/sort.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/size.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/namespaces.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/namespace.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/attr.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/window.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/style.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/property.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/classed.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/text.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/html.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/raise.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/lower.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/creator.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/insert.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/remove.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/clone.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/on.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/dispatch.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/iterator.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/index.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/select.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/selectAll.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/filter.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/exit.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/join.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/merge.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/order.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/call.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/nodes.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/node.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/empty.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/each.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/append.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/selection/datum.js","webpack://my-gatsby-site/./node_modules/d3-dispatch/src/dispatch.js","webpack://my-gatsby-site/./node_modules/d3-timer/src/timer.js","webpack://my-gatsby-site/./node_modules/d3-timer/src/timeout.js","webpack://my-gatsby-site/./node_modules/d3-transition/src/transition/schedule.js","webpack://my-gatsby-site/./node_modules/d3-interpolate/src/number.js","webpack://my-gatsby-site/./node_modules/d3-interpolate/src/transform/decompose.js","webpack://my-gatsby-site/./node_modules/d3-interpolate/src/transform/parse.js","webpack://my-gatsby-site/./node_modules/d3-interpolate/src/transform/index.js","webpack://my-gatsby-site/./node_modules/d3-transition/src/transition/tween.js","webpack://my-gatsby-site/./node_modules/d3-color/src/define.js","webpack://my-gatsby-site/./node_modules/d3-color/src/color.js","webpack://my-gatsby-site/./node_modules/d3-interpolate/src/basis.js","webpack://my-gatsby-site/./node_modules/d3-interpolate/src/constant.js","webpack://my-gatsby-site/./node_modules/d3-interpolate/src/color.js","webpack://my-gatsby-site/./node_modules/d3-interpolate/src/rgb.js","webpack://my-gatsby-site/./node_modules/d3-interpolate/src/string.js","webpack://my-gatsby-site/./node_modules/d3-interpolate/src/basisClosed.js","webpack://my-gatsby-site/./node_modules/d3-transition/src/transition/interpolate.js","webpack://my-gatsby-site/./node_modules/d3-transition/src/transition/attr.js","webpack://my-gatsby-site/./node_modules/d3-transition/src/transition/attrTween.js","webpack://my-gatsby-site/./node_modules/d3-transition/src/transition/delay.js","webpack://my-gatsby-site/./node_modules/d3-transition/src/transition/duration.js","webpack://my-gatsby-site/./node_modules/d3-transition/src/transition/ease.js","webpack://my-gatsby-site/./node_modules/d3-transition/src/transition/on.js","webpack://my-gatsby-site/./node_modules/d3-transition/src/transition/selection.js","webpack://my-gatsby-site/./node_modules/d3-transition/src/transition/style.js","webpack://my-gatsby-site/./node_modules/d3-transition/src/transition/styleTween.js","webpack://my-gatsby-site/./node_modules/d3-transition/src/transition/textTween.js","webpack://my-gatsby-site/./node_modules/d3-transition/src/transition/index.js","webpack://my-gatsby-site/./node_modules/d3-transition/src/transition/select.js","webpack://my-gatsby-site/./node_modules/d3-transition/src/transition/selectAll.js","webpack://my-gatsby-site/./node_modules/d3-transition/src/transition/filter.js","webpack://my-gatsby-site/./node_modules/d3-transition/src/transition/merge.js","webpack://my-gatsby-site/./node_modules/d3-transition/src/transition/transition.js","webpack://my-gatsby-site/./node_modules/d3-transition/src/transition/text.js","webpack://my-gatsby-site/./node_modules/d3-transition/src/transition/remove.js","webpack://my-gatsby-site/./node_modules/d3-transition/src/transition/easeVarying.js","webpack://my-gatsby-site/./node_modules/d3-transition/src/transition/end.js","webpack://my-gatsby-site/./node_modules/d3-transition/src/selection/transition.js","webpack://my-gatsby-site/./node_modules/d3-ease/src/cubic.js","webpack://my-gatsby-site/./node_modules/d3-transition/src/selection/index.js","webpack://my-gatsby-site/./node_modules/d3-transition/src/selection/interrupt.js","webpack://my-gatsby-site/./node_modules/d3-transition/src/interrupt.js","webpack://my-gatsby-site/./node_modules/d3-brush/src/brush.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/select.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/pointer.js","webpack://my-gatsby-site/./node_modules/d3-selection/src/sourceEvent.js","webpack://my-gatsby-site/./node_modules/d3-drag/src/noevent.js","webpack://my-gatsby-site/./node_modules/d3-drag/src/constant.js","webpack://my-gatsby-site/./node_modules/d3-drag/src/event.js","webpack://my-gatsby-site/./node_modules/d3-drag/src/drag.js","webpack://my-gatsby-site/./node_modules/d3-drag/src/nodrag.js","webpack://my-gatsby-site/./node_modules/d3-geo/src/identity.js","webpack://my-gatsby-site/./node_modules/d3-geo/src/stream.js","webpack://my-gatsby-site/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://my-gatsby-site/./node_modules/d3-array/src/fsum.js","webpack://my-gatsby-site/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://my-gatsby-site/./node_modules/d3-geo/src/math.js","webpack://my-gatsby-site/./node_modules/d3-geo/src/noop.js","webpack://my-gatsby-site/./node_modules/d3-geo/src/path/area.js","webpack://my-gatsby-site/./node_modules/d3-geo/src/path/bounds.js","webpack://my-gatsby-site/./node_modules/d3-geo/src/path/centroid.js","webpack://my-gatsby-site/./node_modules/d3-geo/src/path/context.js","webpack://my-gatsby-site/./node_modules/d3-geo/src/path/measure.js","webpack://my-gatsby-site/./node_modules/d3-geo/src/path/string.js","webpack://my-gatsby-site/./node_modules/d3-geo/src/path/index.js","webpack://my-gatsby-site/./node_modules/d3-geo/src/clip/buffer.js","webpack://my-gatsby-site/./node_modules/d3-geo/src/pointEqual.js","webpack://my-gatsby-site/./node_modules/d3-geo/src/clip/rejoin.js","webpack://my-gatsby-site/./node_modules/d3-geo/src/cartesian.js","webpack://my-gatsby-site/./node_modules/d3-geo/src/polygonContains.js","webpack://my-gatsby-site/./node_modules/d3-array/src/merge.js","webpack://my-gatsby-site/./node_modules/d3-geo/src/clip/index.js","webpack://my-gatsby-site/./node_modules/d3-geo/src/clip/antimeridian.js","webpack://my-gatsby-site/./node_modules/d3-geo/src/circle.js","webpack://my-gatsby-site/./node_modules/d3-geo/src/clip/circle.js","webpack://my-gatsby-site/./node_modules/d3-geo/src/clip/rectangle.js","webpack://my-gatsby-site/./node_modules/d3-geo/src/clip/line.js","webpack://my-gatsby-site/./node_modules/d3-geo/src/compose.js","webpack://my-gatsby-site/./node_modules/d3-geo/src/rotation.js","webpack://my-gatsby-site/./node_modules/d3-geo/src/transform.js","webpack://my-gatsby-site/./node_modules/d3-geo/src/projection/fit.js","webpack://my-gatsby-site/./node_modules/d3-geo/src/projection/resample.js","webpack://my-gatsby-site/./node_modules/d3-geo/src/projection/index.js","webpack://my-gatsby-site/./node_modules/d3-geo/src/projection/conicEqualArea.js","webpack://my-gatsby-site/./node_modules/d3-geo/src/projection/cylindricalEqualArea.js","webpack://my-gatsby-site/./node_modules/d3-geo/src/projection/conic.js","webpack://my-gatsby-site/./node_modules/d3-geo/src/projection/albers.js","webpack://my-gatsby-site/./node_modules/d3-array/src/ticks.js","webpack://my-gatsby-site/./node_modules/d3-array/src/ascending.js","webpack://my-gatsby-site/./node_modules/d3-array/src/bisector.js","webpack://my-gatsby-site/./node_modules/d3-array/src/bisect.js","webpack://my-gatsby-site/./node_modules/d3-array/src/number.js","webpack://my-gatsby-site/./node_modules/d3-interpolate/src/array.js","webpack://my-gatsby-site/./node_modules/d3-interpolate/src/date.js","webpack://my-gatsby-site/./node_modules/d3-interpolate/src/object.js","webpack://my-gatsby-site/./node_modules/d3-interpolate/src/numberArray.js","webpack://my-gatsby-site/./node_modules/d3-interpolate/src/value.js","webpack://my-gatsby-site/./node_modules/d3-interpolate/src/round.js","webpack://my-gatsby-site/./node_modules/d3-scale/src/number.js","webpack://my-gatsby-site/./node_modules/d3-scale/src/continuous.js","webpack://my-gatsby-site/./node_modules/d3-scale/src/constant.js","webpack://my-gatsby-site/./node_modules/d3-scale/src/init.js","webpack://my-gatsby-site/./node_modules/d3-format/src/formatSpecifier.js","webpack://my-gatsby-site/./node_modules/d3-format/src/formatPrefixAuto.js","webpack://my-gatsby-site/./node_modules/d3-format/src/formatDecimal.js","webpack://my-gatsby-site/./node_modules/d3-format/src/exponent.js","webpack://my-gatsby-site/./node_modules/d3-format/src/formatRounded.js","webpack://my-gatsby-site/./node_modules/d3-format/src/formatTypes.js","webpack://my-gatsby-site/./node_modules/d3-format/src/identity.js","webpack://my-gatsby-site/./node_modules/d3-format/src/locale.js","webpack://my-gatsby-site/./node_modules/d3-format/src/defaultLocale.js","webpack://my-gatsby-site/./node_modules/d3-format/src/formatGroup.js","webpack://my-gatsby-site/./node_modules/d3-format/src/formatNumerals.js","webpack://my-gatsby-site/./node_modules/d3-format/src/formatTrim.js","webpack://my-gatsby-site/./node_modules/d3-scale/src/tickFormat.js","webpack://my-gatsby-site/./node_modules/d3-format/src/precisionPrefix.js","webpack://my-gatsby-site/./node_modules/d3-format/src/precisionRound.js","webpack://my-gatsby-site/./node_modules/d3-format/src/precisionFixed.js","webpack://my-gatsby-site/./node_modules/d3-scale/src/linear.js","webpack://my-gatsby-site/./node_modules/d3-time/src/interval.js","webpack://my-gatsby-site/./node_modules/d3-time/src/year.js","webpack://my-gatsby-site/./node_modules/d3-time/src/month.js","webpack://my-gatsby-site/./node_modules/d3-time/src/duration.js","webpack://my-gatsby-site/./node_modules/d3-time/src/week.js","webpack://my-gatsby-site/./node_modules/d3-time/src/day.js","webpack://my-gatsby-site/./node_modules/d3-time/src/hour.js","webpack://my-gatsby-site/./node_modules/d3-time/src/minute.js","webpack://my-gatsby-site/./node_modules/d3-time/src/second.js","webpack://my-gatsby-site/./node_modules/d3-time/src/millisecond.js","webpack://my-gatsby-site/./node_modules/d3-time/src/utcWeek.js","webpack://my-gatsby-site/./node_modules/d3-time/src/utcDay.js","webpack://my-gatsby-site/./node_modules/d3-time/src/utcYear.js","webpack://my-gatsby-site/./node_modules/d3-time-format/src/locale.js","webpack://my-gatsby-site/./node_modules/d3-time-format/src/defaultLocale.js","webpack://my-gatsby-site/./node_modules/d3-scale/src/time.js","webpack://my-gatsby-site/./node_modules/d3-scale/src/nice.js","webpack://my-gatsby-site/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://my-gatsby-site/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://my-gatsby-site/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://my-gatsby-site/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://my-gatsby-site/./node_modules/d3-scale/src/pow.js","webpack://my-gatsby-site/./node_modules/d3-scale/src/sequential.js","webpack://my-gatsby-site/./node_modules/d3-scale-chromatic/src/colors.js","webpack://my-gatsby-site/./node_modules/d3-scale-chromatic/src/ramp.js","webpack://my-gatsby-site/./node_modules/d3-scale-chromatic/src/sequential-single/Blues.js","webpack://my-gatsby-site/./node_modules/d3-scale-chromatic/src/sequential-single/Reds.js","webpack://my-gatsby-site/./node_modules/d3-path/src/path.js","webpack://my-gatsby-site/./node_modules/d3-shape/src/array.js","webpack://my-gatsby-site/./node_modules/d3-shape/src/constant.js","webpack://my-gatsby-site/./node_modules/d3-shape/src/curve/linear.js","webpack://my-gatsby-site/./node_modules/d3-shape/src/point.js","webpack://my-gatsby-site/./node_modules/d3-shape/src/line.js","webpack://my-gatsby-site/./node_modules/d3-zoom/src/transform.js","webpack://my-gatsby-site/./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://my-gatsby-site/./node_modules/react-is/cjs/react-is.production.min.js","webpack://my-gatsby-site/./node_modules/react-is/index.js","webpack://my-gatsby-site/./node_modules/shallowequal/index.js","webpack://my-gatsby-site/./node_modules/@emotion/stylis/dist/stylis.browser.esm.js","webpack://my-gatsby-site/./node_modules/@emotion/unitless/dist/unitless.browser.esm.js","webpack://my-gatsby-site/./node_modules/styled-components/dist/styled-components.browser.esm.js","webpack://my-gatsby-site/./node_modules/topojson/node_modules/topojson-client/src/identity.js","webpack://my-gatsby-site/./node_modules/topojson/node_modules/topojson-client/src/feature.js","webpack://my-gatsby-site/./node_modules/topojson/node_modules/topojson-client/src/transform.js","webpack://my-gatsby-site/./node_modules/topojson/node_modules/topojson-client/src/reverse.js","webpack://my-gatsby-site/./node_modules/topojson/node_modules/topojson-server/src/hash/point-hash.js","webpack://my-gatsby-site/./node_modules/topojson/node_modules/topojson-simplify/src/spherical.js","webpack://my-gatsby-site/./node_modules/core-js/internals/an-object.js","webpack://my-gatsby-site/./node_modules/core-js/internals/array-includes.js","webpack://my-gatsby-site/./node_modules/core-js/internals/classof-raw.js","webpack://my-gatsby-site/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://my-gatsby-site/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://my-gatsby-site/./node_modules/core-js/internals/create-property-descriptor.js","webpack://my-gatsby-site/./node_modules/core-js/internals/descriptors.js","webpack://my-gatsby-site/./node_modules/core-js/internals/document-create-element.js","webpack://my-gatsby-site/./node_modules/core-js/internals/enum-bug-keys.js","webpack://my-gatsby-site/./node_modules/core-js/internals/export.js","webpack://my-gatsby-site/./node_modules/core-js/internals/fails.js","webpack://my-gatsby-site/./node_modules/core-js/internals/get-built-in.js","webpack://my-gatsby-site/./node_modules/core-js/internals/global.js","webpack://my-gatsby-site/./node_modules/core-js/internals/has.js","webpack://my-gatsby-site/./node_modules/core-js/internals/hidden-keys.js","webpack://my-gatsby-site/./node_modules/core-js/internals/ie8-dom-define.js","webpack://my-gatsby-site/./node_modules/core-js/internals/indexed-object.js","webpack://my-gatsby-site/./node_modules/core-js/internals/inspect-source.js","webpack://my-gatsby-site/./node_modules/core-js/internals/internal-state.js","webpack://my-gatsby-site/./node_modules/core-js/internals/is-forced.js","webpack://my-gatsby-site/./node_modules/core-js/internals/is-object.js","webpack://my-gatsby-site/./node_modules/core-js/internals/is-pure.js","webpack://my-gatsby-site/./node_modules/core-js/internals/native-weak-map.js","webpack://my-gatsby-site/./node_modules/core-js/internals/object-define-property.js","webpack://my-gatsby-site/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://my-gatsby-site/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://my-gatsby-site/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://my-gatsby-site/./node_modules/core-js/internals/object-keys-internal.js","webpack://my-gatsby-site/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://my-gatsby-site/./node_modules/core-js/internals/own-keys.js","webpack://my-gatsby-site/./node_modules/core-js/internals/path.js","webpack://my-gatsby-site/./node_modules/core-js/internals/redefine.js","webpack://my-gatsby-site/./node_modules/core-js/internals/require-object-coercible.js","webpack://my-gatsby-site/./node_modules/core-js/internals/set-global.js","webpack://my-gatsby-site/./node_modules/core-js/internals/shared-key.js","webpack://my-gatsby-site/./node_modules/core-js/internals/shared-store.js","webpack://my-gatsby-site/./node_modules/core-js/internals/shared.js","webpack://my-gatsby-site/./node_modules/core-js/internals/to-absolute-index.js","webpack://my-gatsby-site/./node_modules/core-js/internals/to-indexed-object.js","webpack://my-gatsby-site/./node_modules/core-js/internals/to-integer.js","webpack://my-gatsby-site/./node_modules/core-js/internals/to-length.js","webpack://my-gatsby-site/./node_modules/core-js/internals/to-primitive.js","webpack://my-gatsby-site/./node_modules/core-js/internals/uid.js","webpack://my-gatsby-site/./node_modules/core-js/modules/es.math.hypot.js","webpack://my-gatsby-site/./src/images/MOVE2.svg","webpack://my-gatsby-site/./src/images/logo.png","webpack://my-gatsby-site/./src/components/header.tsx","webpack://my-gatsby-site/./src/styles/globalStyles.ts","webpack://my-gatsby-site/./node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteralLoose.js","webpack://my-gatsby-site/./src/components/page.tsx","webpack://my-gatsby-site/./src/contexts/datesContext.tsx","webpack://my-gatsby-site/./src/contexts/globalContext.tsx","webpack://my-gatsby-site/./src/contexts/lisaContext.tsx","webpack://my-gatsby-site/./src/utility/sparse.ts","webpack://my-gatsby-site/./node_modules/regenerator-runtime/runtime.js"],"names":["module","exports","reactPropsRegex","fn","cache","arg","undefined","prop","test","charCodeAt","slice","Array","prototype","x","epsilon","translateX","translateY","y","number","scale","d","center","offset","Math","max","bandwidth","round","entering","this","__axis","axis","orient","tickArguments","tickValues","tickFormat","tickSizeInner","tickSizeOuter","tickPadding","window","devicePixelRatio","k","transform","context","values","ticks","apply","domain","format","spacing","range","range0","range1","length","position","copy","selection","path","selectAll","data","tick","order","tickExit","exit","tickEnter","enter","append","attr","line","select","text","merge","insert","transition","isFinite","getAttribute","p","parentNode","remove","filter","each","_","arguments","call","tickSize","axisBottom","axisLeft","_defineProperty","obj","key","value","Object","defineProperty","enumerable","configurable","writable","none","selector","querySelector","from","empty","querySelectorAll","matches","childMatcher","node","find","childFirst","firstElementChild","children","update","EnterNode","parent","datum","ownerDocument","namespaceURI","_next","_parent","__data__","bindIndex","group","i","groupLength","dataLength","bindKey","keyValue","nodeByKeyValue","Map","keyValues","has","set","get","delete","ascending","a","b","NaN","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","isArray","minLen","_arrayLikeToArray","n","toString","constructor","name","_unsupportedIterableToArray","F","s","done","e","_e","f","TypeError","err","normalCompletion","didErr","step","next","_e2","return","arr","len","arr2","appendChild","child","insertBefore","xhtml","svg","xlink","xml","xmlns","prefix","indexOf","namespaces","hasOwnProperty","space","local","attrRemove","removeAttribute","attrRemoveNS","fullname","removeAttributeNS","attrConstant","setAttribute","attrConstantNS","setAttributeNS","attrFunction","v","attrFunctionNS","defaultView","document","styleRemove","style","removeProperty","styleConstant","priority","setProperty","styleFunction","styleValue","getPropertyValue","getComputedStyle","propertyRemove","propertyConstant","propertyFunction","classArray","string","trim","split","classList","ClassList","_node","_names","classedAdd","names","list","add","classedRemove","classedTrue","classedFalse","classedFunction","textRemove","textContent","textConstant","textFunction","htmlRemove","innerHTML","htmlConstant","htmlFunction","raise","nextSibling","lower","previousSibling","firstChild","creatorInherit","uri","documentElement","createElement","createElementNS","creatorFixed","namespace","constantNull","removeChild","selection_cloneShallow","clone","cloneNode","selection_cloneDeep","parseTypenames","typenames","map","t","type","onRemove","typename","on","__on","j","m","removeEventListener","listener","options","onAdd","event","contextListener","addEventListener","push","dispatchEvent","params","CustomEvent","createEvent","initEvent","bubbles","cancelable","detail","dispatchConstant","dispatchFunction","join","splice","contains","_marked","_callee","groups","_context","prev","_groups","stop","root","Selection","parents","_parents","subgroups","subnode","subgroup","array","arrayAll","selectorAll","selectChild","match","childFind","selectChildren","childrenFilter","matcher","bind","enterGroup","updateGroup","exitGroup","previous","i0","i1","_enter","_exit","sparse","onenter","onupdate","onexit","Error","groups0","groups1","m0","m1","min","merges","group0","group1","compareDocumentPosition","sort","compare","compareNode","sortgroups","sortgroup","callback","nodes","size","_step","_iterator","getAttributeNS","property","classed","html","create","creator","before","deep","dispatch","noop","Dispatch","types","c","concat","T","that","args","taskHead","taskTail","timeout","interval","clockLast","clockNow","clockSkew","clock","performance","now","Date","setFrame","requestAnimationFrame","setTimeout","clearNow","Timer","_call","_time","timer","delay","time","restart","wake","timerFlush","t0","t2","t1","Infinity","sleep","nap","poke","clearTimeout","clearInterval","setInterval","elapsed","emptyOn","emptyTween","id","index","timing","schedules","__transition","self","tween","schedule","state","start","duration","ease","init","svgNode","PI","rotate","skewX","scaleX","scaleY","sqrt","atan2","atan","interpolateTransform","parse","pxComma","pxParen","degParen","pop","q","xa","ya","xb","yb","translate","interpolateTransformCss","DOMMatrix","WebKitCSSMatrix","isIdentity","decompose","interpolateTransformSvg","baseVal","consolidate","matrix","tweenRemove","tween0","tween1","tweenFunction","tweenValue","_id","factory","extend","definition","Color","_darker","_brighter","reI","reN","reP","reHex","reRgbInteger","RegExp","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","color_formatHex","rgb","formatHex","color_formatRgb","formatRgb","color","l","toLowerCase","exec","parseInt","rgbn","Rgb","rgba","hsla","r","g","rgbConvert","opacity","rgb_formatHex","hex","rgb_formatRgb","isNaN","h","Hsl","hslConvert","hsl2rgb","m2","basis","v0","v1","v2","v3","t3","channels","assign","displayable","formatHsl","brighter","pow","darker","linear","gamma","nogamma","exponential","rgbGamma","end","rgbSpline","spline","colors","rgbBasis","floor","reA","reB","source","am","bm","bs","bi","lastIndex","one","zero","interpolate","value1","string00","interpolate0","string1","string0","string10","attrInterpolate","attrInterpolateNS","attrTweenNS","_value","attrTween","delayFunction","delayConstant","durationFunction","durationConstant","easeConstant","onFunction","on0","on1","sit","every","styleInterpolate","styleTween","textInterpolate","textTween","_name","newId","selection_prototype","inherit","id0","id1","styleNull","listener0","styleMaybeRemove","removeFunction","easeVarying","Promise","resolve","reject","cancel","interrupt","defaultTiming","active","abs","number1","number2","sourceEvent","currentTarget","ownerSVGElement","createSVGPoint","point","clientX","clientY","matrixTransform","getScreenCTM","inverse","getBoundingClientRect","rect","left","clientLeft","top","clientTop","pageX","pageY","stopImmediatePropagation","preventDefault","DragEvent","_ref","subject","target","identifier","dx","dy","defineProperties","ctrlKey","button","defaultContainer","defaultSubject","navigator","maxTouchPoints","mousedownx","mousedowny","mousemoving","touchending","container","touchable","gestures","listeners","clickDistance2","drag","mousedowned","touchstarted","touchmoved","touchended","gesture","beforestart","view","mousemoved","mouseupped","__noselect","MozUserSelect","nodrag","mouse","noclick","yesdrag","touches","changedTouches","touch","p0","clickDistance","streamGeometry","geometry","stream","streamGeometryType","streamObjectType","Feature","object","FeatureCollection","features","Sphere","sphere","Point","coordinates","MultiPoint","LineString","streamLine","MultiLineString","Polygon","streamPolygon","MultiPolygon","GeometryCollection","geometries","closed","coordinate","lineStart","lineEnd","polygonStart","polygonEnd","_defineProperties","props","descriptor","Adder","instance","Constructor","_classCallCheck","_partials","Float64Array","_n","protoProps","staticProps","hi","lo","pi","halfPi","quarterPi","tau","cos","sin","ceil","exp","hypot","log","sign","asin","x00","y00","x0","y0","areaSum","areaRingSum","areaStream","areaRingStart","areaRingEnd","result","area","areaPointFirst","areaPoint","x1","y1","bounds","X0","Y0","Z0","X1","Y1","Z1","X2","Y2","Z2","centroidStream","centroidPoint","centroidLineStart","centroidLineEnd","centroidRingStart","centroidRingEnd","centroid","centroidPointFirstLine","centroidPointLine","z","centroidPointFirstRing","centroidPointRing","PathContext","_radius","pointRadius","_line","_point","closePath","moveTo","lineTo","arc","lengthRing","lengthSum","lengthStream","lengthPointFirst","lengthPoint","PathString","_string","circle","radius","projection","projectionStream","contextStream","measure","lines","rejoin","shift","Intersection","points","other","entry","segments","compareIntersection","startInside","clip","forEach","segment","p1","pointEqual","current","isSubject","spherical","cartesian","lambda","phi","cosPhi","cartesianDot","cartesianCross","cartesianAddInPlace","cartesianScale","vector","cartesianNormalizeInPlace","longitude","_circle","flatten","arrays","delegateYield","finish","pointVisible","clipLine","sink","polygon","ring","ringBuffer","ringSink","polygonStarted","pointRing","ringStart","ringEnd","sinPhi","normal","angle","winding","sum","point0","lambda0","phi0","sinPhi0","cosPhi0","lambda1","sinPhi1","cosPhi1","point1","phi1","delta","absDelta","antimeridian","intersection","phiArc","polygonContains","pointLine","clean","ringSegments","validSegment","_clean","sign0","sign1","sinLambda0Lambda1","clipAntimeridianIntersect","to","direction","circleStream","cosRadius","sinRadius","circleRadius","acos","cr","smallRadius","notHemisphere","visible","intersect","two","n1","n2","n2n2","n1n2","determinant","c1","c2","n1xn2","A","u","w","uu","polar","q1","code","c0","v00","point2","clipMax","clipMin","clipRectangle","a1","corner","comparePoint","ca","cb","x__","y__","v__","x_","y_","v_","first","activeStream","bufferStream","clipStream","linePoint","a0","b0","b1","polygonInside","cleanInside","ax","ay","compose","invert","rotationIdentity","deltaLambda","deltaPhi","deltaGamma","rotationLambda","rotationPhiGamma","forwardRotationLambda","rotation","cosDeltaPhi","sinDeltaPhi","cosDeltaGamma","sinDeltaGamma","methods","TransformStream","fit","fitBounds","clipExtent","fitExtent","extent","cosMinDistance","project","delta2","resampleLineTo","depth","d2","phi2","lambda2","x2","y2","dx2","dy2","dz","lambda00","a00","b00","c00","resampleStream","ringPoint","resampleNone","transformRadians","scaleTranslateRotate","sx","sy","alpha","scaleTranslate","cosAlpha","sinAlpha","ai","ci","fi","projectionMutator","projectAt","projectResample","projectTransform","projectRotateTransform","cacheStream","theta","preclip","postclip","recenter","resample","reset","transformRotate","clipAngle","reflectX","reflectY","precision","fitSize","fitWidth","width","fitHeight","height","conicEqualAreaRaw","sy0","forward","cylindricalEqualAreaRaw","r0","r0y","parallels","conicEqualArea","e10","e5","e2","tickIncrement","count","power","LN10","error","tickStep","step0","step1","mid","ascendingComparator","right","ascendingBisect","bisector","bisectRight","genericArray","nb","na","setTime","date","ArrayBuffer","isView","DataView","valueOf","unit","normalize","bimap","d0","d1","r1","polymap","reverse","bisect","clamp","unknown","untransform","piecewise","output","input","rescale","rangeRound","continuous","interpolator","prefixExponent","re","formatSpecifier","specifier","FormatSpecifier","fill","align","symbol","comma","formatDecimalParts","toExponential","coefficient","exponent","toFixed","toLocaleString","replace","toPrecision","_p","formatRounded","toUpperCase","_x","formatPrefix","prefixes","locale","grouping","thousands","Number","substring","currencyPrefix","currency","currencySuffix","decimal","numerals","formatNumerals","String","percent","minus","nan","newFormat","formatTypes","suffix","formatType","maybeSuffix","valuePrefix","valueSuffix","valueNegative","out","formatTrim","padding","precisionPrefix","precisionRound","precisionFixed","_r","_r2","nice","prestep","maxIter","newInterval","floori","offseti","field","year","setMonth","setHours","setFullYear","getFullYear","month","setDate","getMonth","durationSecond","durationMinute","durationHour","durationDay","durationWeek","weekday","getDate","getDay","getTimezoneOffset","sunday","monday","tuesday","wednesday","thursday","friday","saturday","day","hour","getMilliseconds","getSeconds","getMinutes","getHours","minute","second","getUTCSeconds","millisecond","utcWeekday","setUTCDate","getUTCDate","getUTCDay","setUTCHours","utcSunday","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","utcDay","utcYear","setUTCMonth","setUTCFullYear","getUTCFullYear","localDate","H","M","S","L","utcDate","UTC","newDate","timeFormat","pads","numberRe","percentRe","requoteRe","pad","requote","formatRe","formatLookup","parseWeekdayNumberSunday","parseWeekdayNumberMonday","parseWeekNumberSunday","U","parseWeekNumberISO","V","parseWeekNumberMonday","W","parseFullYear","parseYear","parseZone","Z","parseQuarter","parseMonthNumber","parseDayOfMonth","parseDayOfYear","parseHour24","parseMinutes","parseSeconds","parseMilliseconds","parseMicroseconds","parseLiteralPercent","parseUnixTimestamp","Q","parseUnixTimestampSeconds","formatDayOfMonth","formatHour24","formatHour12","formatDayOfYear","formatMilliseconds","formatMicroseconds","formatMonthNumber","formatMinutes","formatSeconds","formatWeekdayNumberMonday","formatWeekNumberSunday","dISO","formatWeekNumberISO","formatWeekdayNumberSunday","formatWeekNumberMonday","formatYear","formatYearISO","formatFullYear","formatFullYearISO","formatZone","formatUTCDayOfMonth","formatUTCHour24","getUTCHours","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","getUTCMilliseconds","formatUTCMicroseconds","formatUTCMonthNumber","getUTCMonth","formatUTCMinutes","getUTCMinutes","formatUTCSeconds","formatUTCWeekdayNumberMonday","dow","formatUTCWeekNumberSunday","UTCdISO","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCYearISO","formatUTCFullYear","formatUTCFullYearISO","formatUTCZone","formatLiteralPercent","formatUnixTimestamp","formatUnixTimestampSeconds","locale_dateTime","dateTime","locale_date","locale_time","locale_periods","periods","locale_weekdays","days","locale_shortWeekdays","shortDays","locale_months","months","locale_shortMonths","shortMonths","periodRe","periodLookup","weekdayRe","weekdayLookup","shortWeekdayRe","shortWeekdayLookup","monthRe","monthLookup","shortMonthRe","shortMonthLookup","formats","utcFormats","parses","parseSpecifier","charAt","newParse","week","X","utcFormat","utcParse","formatLocale","calendar","formatMillisecond","formatSecond","formatMinute","formatHour","formatDay","formatWeek","formatMonth","tickIntervals","tickInterval","_slicedToArray","_arr","_d","_s","_i","unsupportedIterableToArray","transformPow","transformSqrt","transformSquare","powish","k10","_ref4","_ref2","sequentialPow","scheme","ramp","tauEpsilon","Path","_x0","_y0","_x1","_y1","quadraticCurveTo","bezierCurveTo","arcTo","x21","y21","x01","y01","l01_2","x20","y20","l21_2","l20_2","l21","l01","t01","t21","ccw","cw","da","Linear","defined","curve","buffer","defined0","areaStart","areaEnd","applyX","applyY","location","invertX","invertY","rescaleX","rescaleY","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","keys","targetStatics","sourceStatics","for","$$typeof","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","objA","objB","compareContext","ret","keysA","keysB","bHasOwnProperty","idx","valueA","valueB","C","K","I","B","J","G","N","O","D","ea","fa","P","Y","E","ha","ia","ja","ka","aa","ba","la","ma","R","oa","use","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","fontWeight","lineHeight","orphans","tabSize","widows","zIndex","zoom","WebkitLineClamp","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","freeze","styledComponentId","process","REACT_APP_SC_ATTR","SC_ATTR","Boolean","SC_DISABLE_SPEEDY","REACT_APP_SC_DISABLE_SPEEDY","groupSizes","Uint32Array","tag","indexOfGroup","insertRules","insertRule","clearGroup","deleteRule","getGroup","getRule","registerName","getTag","__webpack_nonce__","head","childNodes","nodeType","hasAttribute","$","element","createTextNode","sheet","styleSheets","ownerNode","cssRules","cssText","rules","isServer","useCSSOMInjection","gs","registerId","reconstructWithOptions","allocateGSInstance","hasNameForId","Set","clearNames","clear","clearRules","clearTag","fromCharCode","ee","te","ne","oe","ie","staticRulesId","isStatic","componentId","baseHash","baseStyle","generateAndInjectStyles","hash","Ne","se","ae","ce","plugins","lastIndexOf","reduce","ue","de","Consumer","he","pe","fe","me","ye","stylisPlugins","disableCSSOMInjection","disableVendorPrefixes","Provider","ve","inject","getName","ge","Se","we","Ee","be","isReactComponent","Ae","Oe","theme","Re","De","je","Te","ke","xe","Ve","Be","Me","ze","Fe","Ye","attrs","parentComponentId","shouldForwardProp","componentStyle","foldedComponentIds","$as","as","className","ref","withComponent","_foldedDefaultProps","qe","withConfig","He","createStyles","removeStyles","renderStyles","$e","JSON","stringify","We","_emitSheetCSS","getStyleTags","sealed","getStyleElement","dangerouslySetInnerHTML","__html","nonce","seal","collectStyles","interleaveWithNodeStream","topology","bbox","properties","transformPoint","identity","kx","ky","arcs","isObject","toIndexedObject","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","includes","ownKeys","getOwnPropertyDescriptorModule","definePropertyModule","DESCRIPTORS","createPropertyDescriptor","bitmap","fails","global","EXISTS","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","noTargetGet","forced","sham","aFunction","variable","method","check","globalThis","Function","classof","propertyIsEnumerable","store","functionToString","inspectSource","NATIVE_WEAK_MAP","objectHas","shared","sharedKey","hiddenKeys","WeakMap","wmget","wmhas","wmset","metadata","facade","STATE","enforce","getterFor","TYPE","replacement","feature","detection","POLYFILL","NATIVE","IE8_DOM_DEFINE","anObject","toPrimitive","$defineProperty","Attributes","propertyIsEnumerableModule","$getOwnPropertyDescriptor","internalObjectKeys","$propertyIsEnumerable","NASHORN_BUG","1","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","InternalStateModule","getInternalState","enforceInternalState","TEMPLATE","unsafe","simple","uid","SHARED","IS_PURE","version","mode","copyright","toInteger","integer","IndexedObject","requireObjectCoercible","argument","PREFERRED_STRING","val","postfix","random","$hypot","value2","div","aLen","larg","fadeIn","keyframes","LogoPng","styled","Container","SVGImage","NavBar","Nav","HoverOver","LinkText","Link","selected","Line","LinkContainer","console","selectedPage","NavItem","href","alt","src","LogoImage","strings","raw","createGlobalStyle","Centered","Page","DatesContext","createContext","DatesData","dates","GlobalContext","GlobalData","useStaticQuery","allGlobalMoranCsv","Sparse","mapData","cue_mobility","cue_sheltered","safe_mobility","safe_sheltered","LisaContext","LisaData","mapTitles","nweek","fips","base","getLast","curr","last","acc","weeks","firstWeek","lastWeek","recent","changes","sequential","which","incl","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","GenStateSuspendedYield","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","__await","then","unwrapped","previousPromise","callInvokeWithMethodAndArg","info","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iterable","iteratorMethod","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","async","iter","skipTempReset","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","thrown","regeneratorRuntime","accidentalStrictMode"],"mappings":"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","file":"commons-56ea7cdef35bd0a62d80.js","sourcesContent":["module.exports = require(\"regenerator-runtime\");\n","function memoize(fn) {\n var cache = {};\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;","import memoize from '@emotion/memoize';\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|inert|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar index = memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\nexport default index;","export var name = \"d3\";\nexport var version = \"6.6.2\";\nexport var description = \"Data-Driven Documents\";\nexport var keywords = [\"dom\", \"visualization\", \"svg\", \"animation\", \"canvas\"];\nexport var homepage = \"https://d3js.org\";\nexport var license = \"BSD-3-Clause\";\nexport var author = {\n \"name\": \"Mike Bostock\",\n \"url\": \"https://bost.ocks.org/mike\"\n};\nexport var main = \"dist/d3.node.js\";\nexport var unpkg = \"dist/d3.min.js\";\nexport var jsdelivr = \"dist/d3.min.js\";\nexport var module = \"index.js\";\nexport var repository = {\n \"type\": \"git\",\n \"url\": \"https://github.com/d3/d3.git\"\n};\nexport var files = [\"dist/**/*.js\", \"index.js\"];\nexport var scripts = {\n \"pretest\": \"rimraf dist && mkdir dist && json2module package.json > dist/package.js && rollup -c\",\n \"test\": \"tape 'test/**/*-test.js'\",\n \"prepublishOnly\": \"yarn test\",\n \"postpublish\": \"git push && git push --tags && cd ../d3.github.com && git pull && cp ../d3/dist/d3.js d3.v${npm_package_version%%.*}.js && cp ../d3/dist/d3.min.js d3.v${npm_package_version%%.*}.min.js && git add d3.v${npm_package_version%%.*}.js d3.v${npm_package_version%%.*}.min.js && git commit -m \\\"d3 ${npm_package_version}\\\" && git push && cd - && zip -j dist/d3.zip -- LICENSE README.md API.md CHANGES.md dist/d3.js dist/d3.min.js\"\n};\nexport var devDependencies = {\n \"json2module\": \"0.0\",\n \"rimraf\": \"3\",\n \"rollup\": \"2\",\n \"rollup-plugin-ascii\": \"0.0\",\n \"rollup-plugin-node-resolve\": \"5\",\n \"rollup-plugin-terser\": \"7\",\n \"tape\": \"4\",\n \"tape-await\": \"0.1\"\n};\nexport var dependencies = {\n \"d3-array\": \"2\",\n \"d3-axis\": \"2\",\n \"d3-brush\": \"2\",\n \"d3-chord\": \"2\",\n \"d3-color\": \"2\",\n \"d3-contour\": \"2\",\n \"d3-delaunay\": \"5\",\n \"d3-dispatch\": \"2\",\n \"d3-drag\": \"2\",\n \"d3-dsv\": \"2\",\n \"d3-ease\": \"2\",\n \"d3-fetch\": \"2\",\n \"d3-force\": \"2\",\n \"d3-format\": \"2\",\n \"d3-geo\": \"2\",\n \"d3-hierarchy\": \"2\",\n \"d3-interpolate\": \"2\",\n \"d3-path\": \"2\",\n \"d3-polygon\": \"2\",\n \"d3-quadtree\": \"2\",\n \"d3-random\": \"2\",\n \"d3-scale\": \"3\",\n \"d3-scale-chromatic\": \"2\",\n \"d3-selection\": \"2\",\n \"d3-shape\": \"2\",\n \"d3-time\": \"2\",\n \"d3-time-format\": \"3\",\n \"d3-timer\": \"2\",\n \"d3-transition\": \"2\",\n \"d3-zoom\": \"2\"\n};","export var slice = Array.prototype.slice;","export default function (x) {\n return x;\n}","import { slice } from \"./array.js\";\nimport identity from \"./identity.js\";\nvar top = 1,\n right = 2,\n bottom = 3,\n left = 4,\n epsilon = 1e-6;\n\nfunction translateX(x) {\n return \"translate(\" + x + \",0)\";\n}\n\nfunction translateY(y) {\n return \"translate(0,\" + y + \")\";\n}\n\nfunction number(scale) {\n return function (d) {\n return +scale(d);\n };\n}\n\nfunction center(scale, offset) {\n offset = Math.max(0, scale.bandwidth() - offset * 2) / 2;\n if (scale.round()) offset = Math.round(offset);\n return function (d) {\n return +scale(d) + offset;\n };\n}\n\nfunction entering() {\n return !this.__axis;\n}\n\nfunction axis(orient, scale) {\n var tickArguments = [],\n tickValues = null,\n tickFormat = null,\n tickSizeInner = 6,\n tickSizeOuter = 6,\n tickPadding = 3,\n offset = typeof window !== \"undefined\" && window.devicePixelRatio > 1 ? 0 : 0.5,\n k = orient === top || orient === left ? -1 : 1,\n x = orient === left || orient === right ? \"x\" : \"y\",\n transform = orient === top || orient === bottom ? translateX : translateY;\n\n function axis(context) {\n var values = tickValues == null ? scale.ticks ? scale.ticks.apply(scale, tickArguments) : scale.domain() : tickValues,\n format = tickFormat == null ? scale.tickFormat ? scale.tickFormat.apply(scale, tickArguments) : identity : tickFormat,\n spacing = Math.max(tickSizeInner, 0) + tickPadding,\n range = scale.range(),\n range0 = +range[0] + offset,\n range1 = +range[range.length - 1] + offset,\n position = (scale.bandwidth ? center : number)(scale.copy(), offset),\n selection = context.selection ? context.selection() : context,\n path = selection.selectAll(\".domain\").data([null]),\n tick = selection.selectAll(\".tick\").data(values, scale).order(),\n tickExit = tick.exit(),\n tickEnter = tick.enter().append(\"g\").attr(\"class\", \"tick\"),\n line = tick.select(\"line\"),\n text = tick.select(\"text\");\n path = path.merge(path.enter().insert(\"path\", \".tick\").attr(\"class\", \"domain\").attr(\"stroke\", \"currentColor\"));\n tick = tick.merge(tickEnter);\n line = line.merge(tickEnter.append(\"line\").attr(\"stroke\", \"currentColor\").attr(x + \"2\", k * tickSizeInner));\n text = text.merge(tickEnter.append(\"text\").attr(\"fill\", \"currentColor\").attr(x, k * spacing).attr(\"dy\", orient === top ? \"0em\" : orient === bottom ? \"0.71em\" : \"0.32em\"));\n\n if (context !== selection) {\n path = path.transition(context);\n tick = tick.transition(context);\n line = line.transition(context);\n text = text.transition(context);\n tickExit = tickExit.transition(context).attr(\"opacity\", epsilon).attr(\"transform\", function (d) {\n return isFinite(d = position(d)) ? transform(d + offset) : this.getAttribute(\"transform\");\n });\n tickEnter.attr(\"opacity\", epsilon).attr(\"transform\", function (d) {\n var p = this.parentNode.__axis;\n return transform((p && isFinite(p = p(d)) ? p : position(d)) + offset);\n });\n }\n\n tickExit.remove();\n path.attr(\"d\", orient === left || orient === right ? tickSizeOuter ? \"M\" + k * tickSizeOuter + \",\" + range0 + \"H\" + offset + \"V\" + range1 + \"H\" + k * tickSizeOuter : \"M\" + offset + \",\" + range0 + \"V\" + range1 : tickSizeOuter ? \"M\" + range0 + \",\" + k * tickSizeOuter + \"V\" + offset + \"H\" + range1 + \"V\" + k * tickSizeOuter : \"M\" + range0 + \",\" + offset + \"H\" + range1);\n tick.attr(\"opacity\", 1).attr(\"transform\", function (d) {\n return transform(position(d) + offset);\n });\n line.attr(x + \"2\", k * tickSizeInner);\n text.attr(x, k * spacing).text(format);\n selection.filter(entering).attr(\"fill\", \"none\").attr(\"font-size\", 10).attr(\"font-family\", \"sans-serif\").attr(\"text-anchor\", orient === right ? \"start\" : orient === left ? \"end\" : \"middle\");\n selection.each(function () {\n this.__axis = position;\n });\n }\n\n axis.scale = function (_) {\n return arguments.length ? (scale = _, axis) : scale;\n };\n\n axis.ticks = function () {\n return tickArguments = slice.call(arguments), axis;\n };\n\n axis.tickArguments = function (_) {\n return arguments.length ? (tickArguments = _ == null ? [] : slice.call(_), axis) : tickArguments.slice();\n };\n\n axis.tickValues = function (_) {\n return arguments.length ? (tickValues = _ == null ? null : slice.call(_), axis) : tickValues && tickValues.slice();\n };\n\n axis.tickFormat = function (_) {\n return arguments.length ? (tickFormat = _, axis) : tickFormat;\n };\n\n axis.tickSize = function (_) {\n return arguments.length ? (tickSizeInner = tickSizeOuter = +_, axis) : tickSizeInner;\n };\n\n axis.tickSizeInner = function (_) {\n return arguments.length ? (tickSizeInner = +_, axis) : tickSizeInner;\n };\n\n axis.tickSizeOuter = function (_) {\n return arguments.length ? (tickSizeOuter = +_, axis) : tickSizeOuter;\n };\n\n axis.tickPadding = function (_) {\n return arguments.length ? (tickPadding = +_, axis) : tickPadding;\n };\n\n axis.offset = function (_) {\n return arguments.length ? (offset = +_, axis) : offset;\n };\n\n return axis;\n}\n\nexport function axisTop(scale) {\n return axis(top, scale);\n}\nexport function axisRight(scale) {\n return axis(right, scale);\n}\nexport function axisBottom(scale) {\n return axis(bottom, scale);\n}\nexport function axisLeft(scale) {\n return axis(left, scale);\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","function none() {}\n\nexport default function (selector) {\n return selector == null ? none : function () {\n return this.querySelector(selector);\n };\n}","export default function (x) {\n return typeof x === \"object\" && \"length\" in x ? x // Array, TypedArray, NodeList, array-like\n : Array.from(x); // Map, Set, iterable, string, or anything else\n}","function empty() {\n return [];\n}\n\nexport default function (selector) {\n return selector == null ? empty : function () {\n return this.querySelectorAll(selector);\n };\n}","export default function (selector) {\n return function () {\n return this.matches(selector);\n };\n}\nexport function childMatcher(selector) {\n return function (node) {\n return node.matches(selector);\n };\n}","import { childMatcher } from \"../matcher.js\";\nvar find = Array.prototype.find;\n\nfunction childFind(match) {\n return function () {\n return find.call(this.children, match);\n };\n}\n\nfunction childFirst() {\n return this.firstElementChild;\n}\n\nexport default function (match) {\n return this.select(match == null ? childFirst : childFind(typeof match === \"function\" ? match : childMatcher(match)));\n}","import { childMatcher } from \"../matcher.js\";\nvar filter = Array.prototype.filter;\n\nfunction children() {\n return this.children;\n}\n\nfunction childrenFilter(match) {\n return function () {\n return filter.call(this.children, match);\n };\n}\n\nexport default function (match) {\n return this.selectAll(match == null ? children : childrenFilter(typeof match === \"function\" ? match : childMatcher(match)));\n}","export default function (update) {\n return new Array(update.length);\n}","import sparse from \"./sparse.js\";\nimport { Selection } from \"./index.js\";\nexport default function () {\n return new Selection(this._enter || this._groups.map(sparse), this._parents);\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}\nEnterNode.prototype = {\n constructor: EnterNode,\n appendChild: function appendChild(child) {\n return this._parent.insertBefore(child, this._next);\n },\n insertBefore: function insertBefore(child, next) {\n return this._parent.insertBefore(child, next);\n },\n querySelector: function querySelector(selector) {\n return this._parent.querySelector(selector);\n },\n querySelectorAll: function querySelectorAll(selector) {\n return this._parent.querySelectorAll(selector);\n }\n};","export default function (x) {\n return function () {\n return x;\n };\n}","import { Selection } from \"./index.js\";\nimport { EnterNode } from \"./enter.js\";\nimport array from \"../array.js\";\nimport constant from \"../constant.js\";\n\nfunction bindIndex(parent, group, enter, update, exit, data) {\n var i = 0,\n node,\n groupLength = group.length,\n dataLength = data.length; // Put any non-null nodes that fit into update.\n // Put any null nodes into enter.\n // Put any remaining data into enter.\n\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 } // Put any non-null nodes that don’t fit into exit.\n\n\n for (; i < groupLength; ++i) {\n if (node = group[i]) {\n exit[i] = node;\n }\n }\n}\n\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n var i,\n node,\n nodeByKeyValue = new Map(),\n groupLength = group.length,\n dataLength = data.length,\n keyValues = new Array(groupLength),\n keyValue; // Compute the key for each node.\n // If multiple nodes have the same key, the duplicates are added to exit.\n\n for (i = 0; i < groupLength; ++i) {\n if (node = group[i]) {\n keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + \"\";\n\n if (nodeByKeyValue.has(keyValue)) {\n exit[i] = node;\n } else {\n nodeByKeyValue.set(keyValue, node);\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\n\n for (i = 0; i < dataLength; ++i) {\n keyValue = key.call(parent, data[i], i, data) + \"\";\n\n if (node = nodeByKeyValue.get(keyValue)) {\n update[i] = node;\n node.__data__ = data[i];\n nodeByKeyValue.delete(keyValue);\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n } // Add any remaining nodes that were not bound to data to exit.\n\n\n for (i = 0; i < groupLength; ++i) {\n if ((node = group[i]) && nodeByKeyValue.get(keyValues[i]) === node) {\n exit[i] = node;\n }\n }\n}\n\nfunction datum(node) {\n return node.__data__;\n}\n\nexport default function (value, key) {\n if (!arguments.length) return Array.from(this, datum);\n var bind = key ? bindKey : bindIndex,\n parents = this._parents,\n groups = this._groups;\n if (typeof value !== \"function\") value = constant(value);\n\n for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n var parent = parents[j],\n group = groups[j],\n groupLength = group.length,\n data = array(value.call(parent, parent && parent.__data__, j, parents)),\n dataLength = data.length,\n enterGroup = enter[j] = new Array(dataLength),\n updateGroup = update[j] = new Array(dataLength),\n exitGroup = exit[j] = new Array(groupLength);\n bind(parent, group, enterGroup, updateGroup, exitGroup, data, key); // 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\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\n while (!(next = updateGroup[i1]) && ++i1 < dataLength) {\n ;\n }\n\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}","import { Selection } from \"./index.js\";\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\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}","function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nexport default function () {\n var size = 0;\n\n var _iterator = _createForOfIteratorHelper(this),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var node = _step.value;\n ++size;\n } // eslint-disable-line no-unused-vars\n\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return size;\n}","export var xhtml = \"http://www.w3.org/1999/xhtml\";\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};","import namespaces from \"./namespaces.js\";\nexport default function (name) {\n var prefix = name += \"\",\n i = prefix.indexOf(\":\");\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return namespaces.hasOwnProperty(prefix) ? {\n space: namespaces[prefix],\n local: name\n } : name; // eslint-disable-line no-prototype-builtins\n}","import namespace from \"../namespace.js\";\n\nfunction attrRemove(name) {\n return function () {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function () {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, value) {\n return function () {\n this.setAttribute(name, value);\n };\n}\n\nfunction attrConstantNS(fullname, value) {\n return function () {\n this.setAttributeNS(fullname.space, fullname.local, value);\n };\n}\n\nfunction attrFunction(name, value) {\n return function () {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttribute(name);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);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 ? node.getAttributeNS(fullname.space, fullname.local) : node.getAttribute(fullname);\n }\n\n return this.each((value == null ? fullname.local ? attrRemoveNS : attrRemove : typeof value === \"function\" ? fullname.local ? attrFunctionNS : attrFunction : fullname.local ? attrConstantNS : attrConstant)(fullname, value));\n}","export default function (node) {\n return node.ownerDocument && node.ownerDocument.defaultView || // node is a Node\n node.document && node // node is a Window\n || node.defaultView; // node is a Document\n}","import defaultView from \"../window.js\";\n\nfunction styleRemove(name) {\n return function () {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, value, priority) {\n return function () {\n this.style.setProperty(name, value, priority);\n };\n}\n\nfunction styleFunction(name, value, priority) {\n return function () {\n var v = value.apply(this, arguments);\n if (v == null) this.style.removeProperty(name);else this.style.setProperty(name, v, priority);\n };\n}\n\nexport default function (name, value, priority) {\n return arguments.length > 1 ? this.each((value == null ? styleRemove : typeof value === \"function\" ? styleFunction : styleConstant)(name, value, priority == null ? \"\" : priority)) : styleValue(this.node(), name);\n}\nexport function styleValue(node, name) {\n return node.style.getPropertyValue(name) || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}","function propertyRemove(name) {\n return function () {\n delete this[name];\n };\n}\n\nfunction propertyConstant(name, value) {\n return function () {\n this[name] = value;\n };\n}\n\nfunction propertyFunction(name, value) {\n return function () {\n var v = value.apply(this, arguments);\n if (v == null) delete this[name];else this[name] = v;\n };\n}\n\nexport default function (name, value) {\n return arguments.length > 1 ? this.each((value == null ? propertyRemove : typeof value === \"function\" ? propertyFunction : propertyConstant)(name, value)) : this.node()[name];\n}","function classArray(string) {\n return string.trim().split(/^|\\s+/);\n}\n\nfunction classList(node) {\n return node.classList || new ClassList(node);\n}\n\nfunction ClassList(node) {\n this._node = node;\n this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\n\nClassList.prototype = {\n add: function add(name) {\n var i = this._names.indexOf(name);\n\n if (i < 0) {\n this._names.push(name);\n\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n remove: function remove(name) {\n var i = this._names.indexOf(name);\n\n if (i >= 0) {\n this._names.splice(i, 1);\n\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n contains: function contains(name) {\n return this._names.indexOf(name) >= 0;\n }\n};\n\nfunction classedAdd(node, names) {\n var list = classList(node),\n i = -1,\n n = names.length;\n\n while (++i < n) {\n list.add(names[i]);\n }\n}\n\nfunction classedRemove(node, names) {\n var list = classList(node),\n i = -1,\n n = names.length;\n\n while (++i < n) {\n list.remove(names[i]);\n }\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()),\n i = -1,\n n = names.length;\n\n while (++i < n) {\n if (!list.contains(names[i])) return false;\n }\n\n return true;\n }\n\n return this.each((typeof value === \"function\" ? classedFunction : value ? classedTrue : classedFalse)(names, value));\n}","function textRemove() {\n this.textContent = \"\";\n}\n\nfunction textConstant(value) {\n return function () {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function () {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n };\n}\n\nexport default function (value) {\n return arguments.length ? this.each(value == null ? textRemove : (typeof value === \"function\" ? textFunction : textConstant)(value)) : this.node().textContent;\n}","function htmlRemove() {\n this.innerHTML = \"\";\n}\n\nfunction htmlConstant(value) {\n return function () {\n this.innerHTML = value;\n };\n}\n\nfunction htmlFunction(value) {\n return function () {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n };\n}\n\nexport default function (value) {\n return arguments.length ? this.each(value == null ? htmlRemove : (typeof value === \"function\" ? htmlFunction : htmlConstant)(value)) : this.node().innerHTML;\n}","function raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function () {\n return this.each(raise);\n}","function lower() {\n if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\nexport default function () {\n return this.each(lower);\n}","import namespace from \"./namespace.js\";\nimport { xhtml } from \"./namespaces.js\";\n\nfunction creatorInherit(name) {\n return function () {\n var document = this.ownerDocument,\n uri = this.namespaceURI;\n return uri === xhtml && document.documentElement.namespaceURI === xhtml ? document.createElement(name) : 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 ? creatorFixed : creatorInherit)(fullname);\n}","import creator from \"../creator.js\";\nimport selector from \"../selector.js\";\n\nfunction constantNull() {\n return null;\n}\n\nexport default function (name, before) {\n var create = typeof name === \"function\" ? name : creator(name),\n select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n return this.select(function () {\n return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n });\n}","function remove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n}\n\nexport default function () {\n return this.each(remove);\n}","function selection_cloneShallow() {\n var clone = this.cloneNode(false),\n parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nfunction selection_cloneDeep() {\n var clone = this.cloneNode(true),\n parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nexport default function (deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}","function contextListener(listener) {\n return function (event) {\n listener.call(this, event, this.__data__);\n };\n}\n\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function (t) {\n var name = \"\",\n i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n return {\n type: t,\n name: name\n };\n });\n}\n\nfunction onRemove(typename) {\n return function () {\n var on = this.__on;\n if (!on) return;\n\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n } else {\n on[++i] = o;\n }\n }\n\n if (++i) on.length = i;else delete this.__on;\n };\n}\n\nfunction onAdd(typename, value, options) {\n return function () {\n var on = this.__on,\n o,\n listener = contextListener(value);\n if (on) for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n this.addEventListener(o.type, o.listener = listener, o.options = options);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, options);\n o = {\n type: typename.type,\n name: typename.name,\n value: value,\n listener: listener,\n options: options\n };\n if (!on) this.__on = [o];else on.push(o);\n };\n}\n\nexport default function (typename, value, options) {\n var typenames = parseTypenames(typename + \"\"),\n i,\n n = typenames.length,\n t;\n\n if (arguments.length < 2) {\n var on = this.node().__on;\n\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\n for (i = 0; i < n; ++i) {\n this.each(on(typenames[i], value, options));\n }\n\n return this;\n}","import defaultView from \"../window.js\";\n\nfunction dispatchEvent(node, type, params) {\n var window = defaultView(node),\n event = window.CustomEvent;\n\n if (typeof event === \"function\") {\n event = new event(type, params);\n } else {\n event = window.document.createEvent(\"Event\");\n if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;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\" ? dispatchFunction : dispatchConstant)(type, params));\n}","import _regeneratorRuntime from \"/home/alex/Desktop/github/lisa/my-gatsby-site/node_modules/@babel/runtime/regenerator\";\n\nvar _marked = /*#__PURE__*/_regeneratorRuntime.mark(_callee);\n\nexport default function _callee() {\n var groups, j, m, group, i, n, node;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n groups = this._groups, j = 0, m = groups.length;\n\n case 1:\n if (!(j < m)) {\n _context.next = 13;\n break;\n }\n\n group = groups[j], i = 0, n = group.length;\n\n case 3:\n if (!(i < n)) {\n _context.next = 10;\n break;\n }\n\n if (!(node = group[i])) {\n _context.next = 7;\n break;\n }\n\n _context.next = 7;\n return node;\n\n case 7:\n ++i;\n _context.next = 3;\n break;\n\n case 10:\n ++j;\n _context.next = 1;\n break;\n\n case 13:\n case \"end\":\n return _context.stop();\n }\n }\n }, _marked, this);\n}","import _defineProperty from \"/home/alex/Desktop/github/lisa/my-gatsby-site/node_modules/@babel/runtime/helpers/esm/defineProperty\";\nimport selection_select from \"./select.js\";\nimport selection_selectAll from \"./selectAll.js\";\nimport selection_selectChild from \"./selectChild.js\";\nimport selection_selectChildren from \"./selectChildren.js\";\nimport selection_filter from \"./filter.js\";\nimport selection_data from \"./data.js\";\nimport selection_enter from \"./enter.js\";\nimport selection_exit from \"./exit.js\";\nimport selection_join from \"./join.js\";\nimport selection_merge from \"./merge.js\";\nimport selection_order from \"./order.js\";\nimport selection_sort from \"./sort.js\";\nimport selection_call from \"./call.js\";\nimport selection_nodes from \"./nodes.js\";\nimport selection_node from \"./node.js\";\nimport selection_size from \"./size.js\";\nimport selection_empty from \"./empty.js\";\nimport selection_each from \"./each.js\";\nimport selection_attr from \"./attr.js\";\nimport selection_style from \"./style.js\";\nimport selection_property from \"./property.js\";\nimport selection_classed from \"./classed.js\";\nimport selection_text from \"./text.js\";\nimport selection_html from \"./html.js\";\nimport selection_raise from \"./raise.js\";\nimport selection_lower from \"./lower.js\";\nimport selection_append from \"./append.js\";\nimport selection_insert from \"./insert.js\";\nimport selection_remove from \"./remove.js\";\nimport selection_clone from \"./clone.js\";\nimport selection_datum from \"./datum.js\";\nimport selection_on from \"./on.js\";\nimport selection_dispatch from \"./dispatch.js\";\nimport selection_iterator from \"./iterator.js\";\nexport var root = [null];\nexport function Selection(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\n\nfunction selection() {\n return new Selection([[document.documentElement]], root);\n}\n\nfunction selection_selection() {\n return this;\n}\n\nSelection.prototype = selection.prototype = _defineProperty({\n constructor: Selection,\n select: selection_select,\n selectAll: selection_selectAll,\n selectChild: selection_selectChild,\n selectChildren: selection_selectChildren,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n join: selection_join,\n merge: selection_merge,\n selection: selection_selection,\n order: selection_order,\n sort: selection_sort,\n call: selection_call,\n nodes: selection_nodes,\n node: selection_node,\n size: selection_size,\n empty: selection_empty,\n each: selection_each,\n attr: selection_attr,\n style: selection_style,\n property: selection_property,\n classed: selection_classed,\n text: selection_text,\n html: selection_html,\n raise: selection_raise,\n lower: selection_lower,\n append: selection_append,\n insert: selection_insert,\n remove: selection_remove,\n clone: selection_clone,\n datum: selection_datum,\n on: selection_on,\n dispatch: selection_dispatch\n}, Symbol.iterator, selection_iterator);\nexport default selection;","import { Selection } from \"./index.js\";\nimport selector from \"../selector.js\";\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}","import { Selection } from \"./index.js\";\nimport array from \"../array.js\";\nimport selectorAll from \"../selectorAll.js\";\n\nfunction arrayAll(select) {\n return function () {\n var group = select.apply(this, arguments);\n return group == null ? [] : array(group);\n };\n}\n\nexport default function (select) {\n if (typeof select === \"function\") select = arrayAll(select);else select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n subgroups.push(select.call(node, node.__data__, i, group));\n parents.push(node);\n }\n }\n }\n\n return new Selection(subgroups, parents);\n}","import { Selection } from \"./index.js\";\nimport matcher from \"../matcher.js\";\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}","import sparse from \"./sparse.js\";\nimport { Selection } from \"./index.js\";\nexport default function () {\n return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}","export default function (onenter, onupdate, onexit) {\n var enter = this.enter(),\n update = this,\n exit = this.exit();\n enter = typeof onenter === \"function\" ? onenter(enter) : enter.append(onenter + \"\");\n if (onupdate != null) update = onupdate(update);\n if (onexit == null) exit.remove();else onexit(exit);\n return enter && update ? enter.merge(update).order() : update;\n}","import { Selection } from \"./index.js\";\nexport default function (selection) {\n if (!(selection instanceof Selection)) throw new Error(\"invalid merge\");\n\n for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Selection(merges, this._parents);\n}","export default function () {\n for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n if (node = group[i]) {\n if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n\n return this;\n}","export default function () {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}","export default function () {\n return Array.from(this);\n}","export default function () {\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n var node = group[i];\n if (node) return node;\n }\n }\n\n return null;\n}","export default function () {\n return !this.node();\n}","export default function (callback) {\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}","import creator from \"../creator.js\";\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}","export default function (value) {\n return arguments.length ? this.property(\"__data__\", value) : this.node().__data__;\n}","var noop = {\n value: function value() {}\n};\n\nfunction dispatch() {\n for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n if (!(t = arguments[i] + \"\") || t in _ || /[\\s.]/.test(t)) throw new Error(\"illegal type: \" + t);\n _[t] = [];\n }\n\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 = \"\",\n 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 {\n type: t,\n name: name\n };\n });\n}\n\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function on(typename, callback) {\n var _ = this._,\n T = parseTypenames(typename + \"\", _),\n t,\n i = -1,\n n = T.length; // If no callback was specified, return the callback of the given type and name.\n\n if (arguments.length < 2) {\n while (++i < n) {\n if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n }\n\n return;\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\n\n if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n\n while (++i < n) {\n if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);else if (callback == null) for (t in _) {\n _[t] = set(_[t], typename.name, null);\n }\n }\n\n return this;\n },\n copy: function copy() {\n var copy = {},\n _ = this._;\n\n for (var t in _) {\n copy[t] = _[t].slice();\n }\n\n return new Dispatch(copy);\n },\n call: function call(type, that) {\n if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) {\n args[i] = arguments[i + 2];\n }\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n\n for (t = this._[type], i = 0, n = t.length; i < n; ++i) {\n t[i].value.apply(that, args);\n }\n },\n apply: function apply(type, that, args) {\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n\n for (var t = this._[type], i = 0, n = t.length; i < n; ++i) {\n t[i].value.apply(that, args);\n }\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\n if (callback != null) type.push({\n name: name,\n value: callback\n });\n return type;\n}\n\nexport default dispatch;","var frame = 0,\n // is an animation frame pending?\ntimeout = 0,\n // is a timeout pending?\ninterval = 0,\n // are any timers active?\npokeDelay = 1000,\n // how frequently we check for clock skew\ntaskHead,\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) {\n 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 = this._time = this._next = null;\n}\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function restart(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\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;else taskHead = this;\n taskTail = this;\n }\n\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function stop() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\nexport function timer(callback, delay, time) {\n var t = new Timer();\n t.restart(callback, delay, time);\n return t;\n}\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n\n var t = taskHead,\n e;\n\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(null, e);\n t = t._next;\n }\n\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(),\n delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0,\n t1 = taskHead,\n t2,\n time = Infinity;\n\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\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n\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}","import { Timer } from \"./timer.js\";\nexport default function (callback, delay, time) {\n var t = new Timer();\n delay = delay == null ? 0 : +delay;\n t.restart(function (elapsed) {\n t.stop();\n callback(elapsed + delay);\n }, delay, time);\n return t;\n}","import { dispatch } from \"d3-dispatch\";\nimport { timer, timeout } from \"d3-timer\";\nvar emptyOn = dispatch(\"start\", \"end\", \"cancel\", \"interrupt\");\nvar emptyTween = [];\nexport var CREATED = 0;\nexport var SCHEDULED = 1;\nexport var STARTING = 2;\nexport var STARTED = 3;\nexport var RUNNING = 4;\nexport var ENDING = 5;\nexport var ENDED = 6;\nexport default function (node, name, id, index, group, timing) {\n var schedules = node.__transition;\n if (!schedules) node.__transition = {};else if (id in schedules) return;\n create(node, id, {\n name: name,\n index: index,\n // For context during callback.\n group: group,\n // For context during callback.\n on: emptyOn,\n tween: emptyTween,\n time: timing.time,\n delay: timing.delay,\n duration: timing.duration,\n ease: timing.ease,\n timer: null,\n state: CREATED\n });\n}\nexport function init(node, id) {\n var schedule = get(node, id);\n if (schedule.state > CREATED) throw new Error(\"too late; already scheduled\");\n return schedule;\n}\nexport function set(node, id) {\n var schedule = get(node, id);\n if (schedule.state > STARTED) throw new Error(\"too late; already running\");\n return schedule;\n}\nexport function get(node, id) {\n var schedule = node.__transition;\n if (!schedule || !(schedule = schedule[id])) throw new Error(\"transition not found\");\n return schedule;\n}\n\nfunction create(node, id, self) {\n var schedules = node.__transition,\n tween; // Initialize the self timer when the transition is created.\n // Note the actual delay is not known until the first callback!\n\n schedules[id] = self;\n self.timer = timer(schedule, 0, self.time);\n\n function schedule(elapsed) {\n self.state = SCHEDULED;\n self.timer.restart(start, self.delay, self.time); // If the elapsed delay is less than our first sleep, start immediately.\n\n if (self.delay <= elapsed) start(elapsed - self.delay);\n }\n\n function start(elapsed) {\n var i, j, n, o; // If the state is not SCHEDULED, then we previously errored on start.\n\n if (self.state !== SCHEDULED) return stop();\n\n for (i in schedules) {\n o = schedules[i];\n if (o.name !== self.name) continue; // While this element already has a starting transition during this frame,\n // defer starting an interrupting transition until that transition has a\n // chance to tick (and possibly end); see d3/d3-transition#54!\n\n if (o.state === STARTED) return timeout(start); // Interrupt the active transition, if any.\n\n if (o.state === RUNNING) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"interrupt\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n } // Cancel any pre-empted transitions.\n else if (+i < id) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"cancel\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n } // Defer the first tick to end of the current frame; see d3/d3#1576.\n // Note the transition may be canceled after start and before the first tick!\n // Note this must be scheduled before the start event; see d3/d3-transition#16!\n // Assuming this is successful, subsequent callbacks go straight to tick.\n\n\n timeout(function () {\n if (self.state === STARTED) {\n self.state = RUNNING;\n self.timer.restart(tick, self.delay, self.time);\n tick(elapsed);\n }\n }); // Dispatch the start event.\n // Note this must be done before the tween are initialized.\n\n self.state = STARTING;\n self.on.call(\"start\", node, node.__data__, self.index, self.group);\n if (self.state !== STARTING) return; // interrupted\n\n self.state = STARTED; // Initialize the tween, deleting null tween.\n\n tween = new Array(n = self.tween.length);\n\n for (i = 0, j = -1; i < n; ++i) {\n if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {\n tween[++j] = o;\n }\n }\n\n tween.length = j + 1;\n }\n\n function tick(elapsed) {\n var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),\n i = -1,\n n = tween.length;\n\n while (++i < n) {\n tween[i].call(node, t);\n } // Dispatch the end event.\n\n\n if (self.state === ENDING) {\n self.on.call(\"end\", node, node.__data__, self.index, self.group);\n stop();\n }\n }\n\n function stop() {\n self.state = ENDED;\n self.timer.stop();\n delete schedules[id];\n\n for (var i in schedules) {\n return;\n } // eslint-disable-line no-unused-vars\n\n\n delete node.__transition;\n }\n}","export default function (a, b) {\n return a = +a, b = +b, function (t) {\n return a * (1 - t) + b * t;\n };\n}","var degrees = 180 / Math.PI;\nexport var identity = {\n translateX: 0,\n translateY: 0,\n rotate: 0,\n skewX: 0,\n scaleX: 1,\n scaleY: 1\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}","import decompose, { identity } from \"./decompose.js\";\nvar svgNode;\n/* eslint-disable no-undef */\n\nexport function parseCss(value) {\n var m = new (typeof DOMMatrix === \"function\" ? DOMMatrix : WebKitCSSMatrix)(value + \"\");\n return m.isIdentity ? identity : decompose(m.a, m.b, m.c, m.d, m.e, m.f);\n}\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}","import number from \"../number.js\";\nimport { parseCss, parseSvg } from \"./parse.js\";\n\nfunction interpolateTransform(parse, pxComma, pxParen, degParen) {\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({\n i: i - 4,\n x: number(xa, xb)\n }, {\n i: i - 2,\n x: number(ya, yb)\n });\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\n q.push({\n i: s.push(pop(s) + \"rotate(\", null, degParen) - 2,\n x: number(a, b)\n });\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({\n i: s.push(pop(s) + \"skewX(\", null, degParen) - 2,\n x: number(a, b)\n });\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({\n i: i - 4,\n x: number(xa, xb)\n }, {\n i: i - 2,\n x: number(ya, yb)\n });\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 = [],\n // string constants and placeholders\n q = []; // number interpolators\n\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\n return function (t) {\n var i = -1,\n n = q.length,\n o;\n\n while (++i < n) {\n s[(o = q[i]).i] = o.x(t);\n }\n\n return s.join(\"\");\n };\n };\n}\n\nexport var interpolateTransformCss = interpolateTransform(parseCss, \"px, \", \"px)\", \"deg)\");\nexport var interpolateTransformSvg = interpolateTransform(parseSvg, \", \", \")\", \")\");","import { get, set } from \"./schedule.js\";\n\nfunction tweenRemove(id, name) {\n var tween0, tween1;\n return function () {\n var schedule = set(this, id),\n tween = schedule.tween; // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n\n if (tween !== tween0) {\n tween1 = tween0 = tween;\n\n for (var i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1 = tween1.slice();\n tween1.splice(i, 1);\n break;\n }\n }\n }\n\n schedule.tween = tween1;\n };\n}\n\nfunction tweenFunction(id, name, value) {\n var tween0, tween1;\n if (typeof value !== \"function\") throw new Error();\n return function () {\n var schedule = set(this, id),\n tween = schedule.tween; // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n\n if (tween !== tween0) {\n tween1 = (tween0 = tween).slice();\n\n for (var t = {\n name: name,\n value: value\n }, i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1[i] = t;\n break;\n }\n }\n\n if (i === n) tween1.push(t);\n }\n\n schedule.tween = tween1;\n };\n}\n\nexport default function (name, value) {\n var id = this._id;\n name += \"\";\n\n if (arguments.length < 2) {\n var tween = get(this.node(), id).tween;\n\n for (var i = 0, n = tween.length, t; i < n; ++i) {\n if ((t = tween[i]).name === name) {\n return t.value;\n }\n }\n\n return null;\n }\n\n return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));\n}\nexport function tweenValue(transition, name, value) {\n var id = transition._id;\n transition.each(function () {\n var schedule = set(this, id);\n (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);\n });\n return function (node) {\n return get(node, id).value[name];\n };\n}","export default function (constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n\n for (var key in definition) {\n prototype[key] = definition[key];\n }\n\n return prototype;\n}","import define, { extend } from \"./define.js\";\nexport function Color() {}\nvar _darker = 0.7;\nexport { _darker as darker };\n\nvar _brighter = 1 / _darker;\n\nexport { _brighter as brighter };\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(\"^rgb\\\\(\" + [reI, reI, reI] + \"\\\\)$\"),\n reRgbPercent = new RegExp(\"^rgb\\\\(\" + [reP, reP, reP] + \"\\\\)$\"),\n reRgbaInteger = new RegExp(\"^rgba\\\\(\" + [reI, reI, reI, reN] + \"\\\\)$\"),\n reRgbaPercent = new RegExp(\"^rgba\\\\(\" + [reP, reP, reP, reN] + \"\\\\)$\"),\n reHslPercent = new RegExp(\"^hsl\\\\(\" + [reN, reP, reP] + \"\\\\)$\"),\n reHslaPercent = new RegExp(\"^hsla\\\\(\" + [reN, reP, reP, reN] + \"\\\\)$\");\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};\ndefine(Color, color, {\n copy: function copy(channels) {\n return Object.assign(new this.constructor(), this, channels);\n },\n displayable: function displayable() {\n return this.rgb().displayable();\n },\n hex: color_formatHex,\n // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb(m >> 8 & 0xf | m >> 4 & 0xf0, m >> 4 & 0xf | m & 0xf0, (m & 0xf) << 4 | m & 0xf, 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba(m >> 12 & 0xf | m >> 8 & 0xf0, m >> 8 & 0xf | m >> 4 & 0xf0, m >> 4 & 0xf | m & 0xf0, ((m & 0xf) << 4 | m & 0xf) / 0xff) // #f000\n : null // invalid hex\n ) : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0) : 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}\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\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}\ndefine(Rgb, rgb, extend(Color, {\n brighter: function brighter(k) {\n k = k == null ? _brighter : Math.pow(_brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker: function darker(k) {\n k = k == null ? _darker : Math.pow(_darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb: function rgb() {\n return this;\n },\n displayable: function displayable() {\n return -0.5 <= this.r && this.r < 255.5 && -0.5 <= this.g && this.g < 255.5 && -0.5 <= this.b && this.b < 255.5 && 0 <= this.opacity && this.opacity <= 1;\n },\n hex: rgb_formatHex,\n // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return \"#\" + hex(this.r) + hex(this.g) + hex(this.b);\n}\n\nfunction rgb_formatRgb() {\n var a = this.opacity;\n a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"rgb(\" : \"rgba(\") + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + \", \" + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + \", \" + Math.max(0, Math.min(255, Math.round(this.b) || 0)) + (a === 1 ? \")\" : \", \" + a + \")\");\n}\n\nfunction hex(value) {\n value = Math.max(0, Math.min(255, Math.round(value) || 0));\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;else if (l <= 0 || l >= 1) h = s = NaN;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\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;else if (g === max) h = (b - r) / s + 2;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\n return new Hsl(h, s, l, o.opacity);\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 brighter(k) {\n k = k == null ? _brighter : Math.pow(_brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function darker(k) {\n k = k == null ? _darker : Math.pow(_darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function rgb() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2), hsl2rgb(h, m1, m2), hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2), this.opacity);\n },\n displayable: function displayable() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s)) && 0 <= this.l && this.l <= 1 && 0 <= this.opacity && this.opacity <= 1;\n },\n formatHsl: function formatHsl() {\n var a = this.opacity;\n a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"hsl(\" : \"hsla(\") + (this.h || 0) + \", \" + (this.s || 0) * 100 + \"%, \" + (this.l || 0) * 100 + \"%\" + (a === 1 ? \")\" : \", \" + a + \")\");\n }\n}));\n/* From FvD 13.37, CSS Color Module Level 3 */\n\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60 : h < 180 ? m2 : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60 : m1) * 255;\n}","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1,\n t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0 + (4 - 6 * t2 + 3 * t3) * v1 + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2 + t3 * v3) / 6;\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}","export default (function (x) {\n return function () {\n return x;\n };\n});","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function (t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function (t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\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}\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}","import { rgb as colorRgb } from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, { gamma } from \"./color.js\";\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 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,\n color;\n\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\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);","import number from \"./number.js\";\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,\n // scan index for next number in b\n am,\n // current match in a\n bm,\n // current match in b\n bs,\n // string preceding current number in b, if any\n i = -1,\n // index in s\n s = [],\n // string constants and placeholders\n q = []; // number interpolators\n // Coerce inputs to strings.\n\n a = a + \"\", b = b + \"\"; // Interpolate pairs of numbers in a & b.\n\n while ((am = reA.exec(a)) && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) {\n // 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\n if ((am = am[0]) === (bm = bm[0])) {\n // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else {\n // interpolate non-matching numbers\n s[++i] = null;\n q.push({\n i: i,\n x: number(am, bm)\n });\n }\n\n bi = reB.lastIndex;\n } // Add remains of b.\n\n\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 } // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n\n\n return s.length < 2 ? q[0] ? one(q[0].x) : zero(b) : (b = q.length, function (t) {\n for (var i = 0, o; i < b; ++i) {\n s[(o = q[i]).i] = o.x(t);\n }\n\n return s.join(\"\");\n });\n}","import { basis } from \"./basis.js\";\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}","import { color } from \"d3-color\";\nimport { interpolateNumber, interpolateRgb, interpolateString } from \"d3-interpolate\";\nexport default function (a, b) {\n var c;\n return (typeof b === \"number\" ? interpolateNumber : b instanceof color ? interpolateRgb : (c = color(b)) ? (b = c, interpolateRgb) : interpolateString)(a, b);\n}","import { interpolateTransformSvg as interpolateTransform } from \"d3-interpolate\";\nimport { namespace } from \"d3-selection\";\nimport { tweenValue } from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction attrRemove(name) {\n return function () {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function () {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function () {\n var string0 = this.getAttribute(name);\n return string0 === string1 ? null : string0 === string00 ? interpolate0 : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrConstantNS(fullname, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function () {\n var string0 = this.getAttributeNS(fullname.space, fullname.local);\n return string0 === string1 ? null : string0 === string00 ? interpolate0 : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrFunction(name, interpolate, value) {\n var string00, string10, interpolate0;\n return function () {\n var string0,\n value1 = value(this),\n string1;\n if (value1 == null) return void this.removeAttribute(name);\n string0 = this.getAttribute(name);\n string1 = value1 + \"\";\n return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction attrFunctionNS(fullname, interpolate, value) {\n var string00, string10, interpolate0;\n return function () {\n var string0,\n value1 = value(this),\n string1;\n if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);\n string0 = this.getAttributeNS(fullname.space, fullname.local);\n string1 = value1 + \"\";\n return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nexport default function (name, value) {\n var fullname = namespace(name),\n i = fullname === \"transform\" ? interpolateTransform : interpolate;\n return this.attrTween(name, typeof value === \"function\" ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, tweenValue(this, \"attr.\" + name, value)) : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname) : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value));\n}","import { namespace } from \"d3-selection\";\n\nfunction attrInterpolate(name, i) {\n return function (t) {\n this.setAttribute(name, i.call(this, t));\n };\n}\n\nfunction attrInterpolateNS(fullname, i) {\n return function (t) {\n this.setAttributeNS(fullname.space, fullname.local, i.call(this, t));\n };\n}\n\nfunction attrTweenNS(fullname, value) {\n var t0, i0;\n\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i);\n return t0;\n }\n\n tween._value = value;\n return tween;\n}\n\nfunction attrTween(name, value) {\n var t0, i0;\n\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i);\n return t0;\n }\n\n tween._value = value;\n return tween;\n}\n\nexport default function (name, value) {\n var key = \"attr.\" + name;\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error();\n var fullname = namespace(name);\n return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));\n}","import { get, init } from \"./schedule.js\";\n\nfunction delayFunction(id, value) {\n return function () {\n init(this, id).delay = +value.apply(this, arguments);\n };\n}\n\nfunction delayConstant(id, value) {\n return value = +value, function () {\n init(this, id).delay = value;\n };\n}\n\nexport default function (value) {\n var id = this._id;\n return arguments.length ? this.each((typeof value === \"function\" ? delayFunction : delayConstant)(id, value)) : get(this.node(), id).delay;\n}","import { get, set } from \"./schedule.js\";\n\nfunction durationFunction(id, value) {\n return function () {\n set(this, id).duration = +value.apply(this, arguments);\n };\n}\n\nfunction durationConstant(id, value) {\n return value = +value, function () {\n set(this, id).duration = value;\n };\n}\n\nexport default function (value) {\n var id = this._id;\n return arguments.length ? this.each((typeof value === \"function\" ? durationFunction : durationConstant)(id, value)) : get(this.node(), id).duration;\n}","import { get, set } from \"./schedule.js\";\n\nfunction easeConstant(id, value) {\n if (typeof value !== \"function\") throw new Error();\n return function () {\n set(this, id).ease = value;\n };\n}\n\nexport default function (value) {\n var id = this._id;\n return arguments.length ? this.each(easeConstant(id, value)) : get(this.node(), id).ease;\n}","import { get, set, init } from \"./schedule.js\";\n\nfunction start(name) {\n return (name + \"\").trim().split(/^|\\s+/).every(function (t) {\n var i = t.indexOf(\".\");\n if (i >= 0) t = t.slice(0, i);\n return !t || t === \"start\";\n });\n}\n\nfunction onFunction(id, name, listener) {\n var on0,\n on1,\n sit = start(name) ? init : set;\n return function () {\n var schedule = sit(this, id),\n on = schedule.on; // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n\n if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);\n schedule.on = on1;\n };\n}\n\nexport default function (name, listener) {\n var id = this._id;\n return arguments.length < 2 ? get(this.node(), id).on.on(name) : this.each(onFunction(id, name, listener));\n}","import { selection } from \"d3-selection\";\nvar Selection = selection.prototype.constructor;\nexport default function () {\n return new Selection(this._groups, this._parents);\n}","import { interpolateTransformCss as interpolateTransform } from \"d3-interpolate\";\nimport { style } from \"d3-selection\";\nimport { set } from \"./schedule.js\";\nimport { tweenValue } from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction styleNull(name, interpolate) {\n var string00, string10, interpolate0;\n return function () {\n var string0 = style(this, name),\n string1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : interpolate0 = interpolate(string00 = string0, string10 = string1);\n };\n}\n\nfunction styleRemove(name) {\n return function () {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function () {\n var string0 = style(this, name);\n return string0 === string1 ? null : string0 === string00 ? interpolate0 : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction styleFunction(name, interpolate, value) {\n var string00, string10, interpolate0;\n return function () {\n var string0 = style(this, name),\n value1 = value(this),\n string1 = value1 + \"\";\n if (value1 == null) string1 = value1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction styleMaybeRemove(id, name) {\n var on0,\n on1,\n listener0,\n key = \"style.\" + name,\n event = \"end.\" + key,\n remove;\n return function () {\n var schedule = set(this, id),\n on = schedule.on,\n listener = schedule.value[key] == null ? remove || (remove = styleRemove(name)) : undefined; // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n\n if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener);\n schedule.on = on1;\n };\n}\n\nexport default function (name, value, priority) {\n var i = (name += \"\") === \"transform\" ? interpolateTransform : interpolate;\n return value == null ? this.styleTween(name, styleNull(name, i)).on(\"end.style.\" + name, styleRemove(name)) : typeof value === \"function\" ? this.styleTween(name, styleFunction(name, i, tweenValue(this, \"style.\" + name, value))).each(styleMaybeRemove(this._id, name)) : this.styleTween(name, styleConstant(name, i, value), priority).on(\"end.style.\" + name, null);\n}","function styleInterpolate(name, i, priority) {\n return function (t) {\n this.style.setProperty(name, i.call(this, t), priority);\n };\n}\n\nfunction styleTween(name, value, priority) {\n var t, i0;\n\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority);\n return t;\n }\n\n tween._value = value;\n return tween;\n}\n\nexport default function (name, value, priority) {\n var key = \"style.\" + (name += \"\");\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error();\n return this.tween(key, styleTween(name, value, priority == null ? \"\" : priority));\n}","function textInterpolate(i) {\n return function (t) {\n this.textContent = i.call(this, t);\n };\n}\n\nfunction textTween(value) {\n var t0, i0;\n\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && textInterpolate(i);\n return t0;\n }\n\n tween._value = value;\n return tween;\n}\n\nexport default function (value) {\n var key = \"text\";\n if (arguments.length < 1) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error();\n return this.tween(key, textTween(value));\n}","import _defineProperty from \"/home/alex/Desktop/github/lisa/my-gatsby-site/node_modules/@babel/runtime/helpers/esm/defineProperty\";\nimport { selection } from \"d3-selection\";\nimport transition_attr from \"./attr.js\";\nimport transition_attrTween from \"./attrTween.js\";\nimport transition_delay from \"./delay.js\";\nimport transition_duration from \"./duration.js\";\nimport transition_ease from \"./ease.js\";\nimport transition_easeVarying from \"./easeVarying.js\";\nimport transition_filter from \"./filter.js\";\nimport transition_merge from \"./merge.js\";\nimport transition_on from \"./on.js\";\nimport transition_remove from \"./remove.js\";\nimport transition_select from \"./select.js\";\nimport transition_selectAll from \"./selectAll.js\";\nimport transition_selection from \"./selection.js\";\nimport transition_style from \"./style.js\";\nimport transition_styleTween from \"./styleTween.js\";\nimport transition_text from \"./text.js\";\nimport transition_textTween from \"./textTween.js\";\nimport transition_transition from \"./transition.js\";\nimport transition_tween from \"./tween.js\";\nimport transition_end from \"./end.js\";\nvar id = 0;\nexport function Transition(groups, parents, name, id) {\n this._groups = groups;\n this._parents = parents;\n this._name = name;\n this._id = id;\n}\nexport default function transition(name) {\n return selection().transition(name);\n}\nexport function newId() {\n return ++id;\n}\nvar selection_prototype = selection.prototype;\nTransition.prototype = transition.prototype = _defineProperty({\n constructor: Transition,\n select: transition_select,\n selectAll: transition_selectAll,\n filter: transition_filter,\n merge: transition_merge,\n selection: transition_selection,\n transition: transition_transition,\n call: selection_prototype.call,\n nodes: selection_prototype.nodes,\n node: selection_prototype.node,\n size: selection_prototype.size,\n empty: selection_prototype.empty,\n each: selection_prototype.each,\n on: transition_on,\n attr: transition_attr,\n attrTween: transition_attrTween,\n style: transition_style,\n styleTween: transition_styleTween,\n text: transition_text,\n textTween: transition_textTween,\n remove: transition_remove,\n tween: transition_tween,\n delay: transition_delay,\n duration: transition_duration,\n ease: transition_ease,\n easeVarying: transition_easeVarying,\n end: transition_end\n}, Symbol.iterator, selection_prototype[Symbol.iterator]);","import { selector } from \"d3-selection\";\nimport { Transition } from \"./index.js\";\nimport schedule, { get } from \"./schedule.js\";\nexport default function (select) {\n var name = this._name,\n id = this._id;\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n schedule(subgroup[i], name, id, i, subgroup, get(node, id));\n }\n }\n }\n\n return new Transition(subgroups, this._parents, name, id);\n}","import { selectorAll } from \"d3-selection\";\nimport { Transition } from \"./index.js\";\nimport schedule, { get } from \"./schedule.js\";\nexport default function (select) {\n var name = this._name,\n id = this._id;\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n for (var children = select.call(node, node.__data__, i, group), child, inherit = get(node, id), k = 0, l = children.length; k < l; ++k) {\n if (child = children[k]) {\n schedule(child, name, id, k, children, inherit);\n }\n }\n\n subgroups.push(children);\n parents.push(node);\n }\n }\n }\n\n return new Transition(subgroups, parents, name, id);\n}","import { matcher } from \"d3-selection\";\nimport { Transition } from \"./index.js\";\nexport default function (match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Transition(subgroups, this._parents, this._name, this._id);\n}","import { Transition } from \"./index.js\";\nexport default function (transition) {\n if (transition._id !== this._id) throw new Error();\n\n for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Transition(merges, this._parents, this._name, this._id);\n}","import { Transition, newId } from \"./index.js\";\nimport schedule, { get } from \"./schedule.js\";\nexport default function () {\n var name = this._name,\n id0 = this._id,\n id1 = newId();\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n var inherit = get(node, id0);\n schedule(node, name, id1, i, group, {\n time: inherit.time + inherit.delay + inherit.duration,\n delay: 0,\n duration: inherit.duration,\n ease: inherit.ease\n });\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id1);\n}","import { tweenValue } from \"./tween.js\";\n\nfunction textConstant(value) {\n return function () {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function () {\n var value1 = value(this);\n this.textContent = value1 == null ? \"\" : value1;\n };\n}\n\nexport default function (value) {\n return this.tween(\"text\", typeof value === \"function\" ? textFunction(tweenValue(this, \"text\", value)) : textConstant(value == null ? \"\" : value + \"\"));\n}","function removeFunction(id) {\n return function () {\n var parent = this.parentNode;\n\n for (var i in this.__transition) {\n if (+i !== id) return;\n }\n\n if (parent) parent.removeChild(this);\n };\n}\n\nexport default function () {\n return this.on(\"end.remove\", removeFunction(this._id));\n}","import { set } from \"./schedule.js\";\n\nfunction easeVarying(id, value) {\n return function () {\n var v = value.apply(this, arguments);\n if (typeof v !== \"function\") throw new Error();\n set(this, id).ease = v;\n };\n}\n\nexport default function (value) {\n if (typeof value !== \"function\") throw new Error();\n return this.each(easeVarying(this._id, value));\n}","import { set } from \"./schedule.js\";\nexport default function () {\n var on0,\n on1,\n that = this,\n id = that._id,\n size = that.size();\n return new Promise(function (resolve, reject) {\n var cancel = {\n value: reject\n },\n end = {\n value: function value() {\n if (--size === 0) resolve();\n }\n };\n that.each(function () {\n var schedule = set(this, id),\n on = schedule.on; // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n\n if (on !== on0) {\n on1 = (on0 = on).copy();\n\n on1._.cancel.push(cancel);\n\n on1._.interrupt.push(cancel);\n\n on1._.end.push(end);\n }\n\n schedule.on = on1;\n }); // The selection was empty, resolve end immediately\n\n if (size === 0) resolve();\n });\n}","import { Transition, newId } from \"../transition/index.js\";\nimport schedule from \"../transition/schedule.js\";\nimport { easeCubicInOut } from \"d3-ease\";\nimport { now } from \"d3-timer\";\nvar defaultTiming = {\n time: null,\n // Set on use.\n delay: 0,\n duration: 250,\n ease: easeCubicInOut\n};\n\nfunction inherit(node, id) {\n var timing;\n\n while (!(timing = node.__transition) || !(timing = timing[id])) {\n if (!(node = node.parentNode)) {\n throw new Error(\"transition \".concat(id, \" not found\"));\n }\n }\n\n return timing;\n}\n\nexport default function (name) {\n var id, timing;\n\n if (name instanceof Transition) {\n id = name._id, name = name._name;\n } else {\n id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + \"\";\n }\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n schedule(node, name, id, i, group, timing || inherit(node, id));\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id);\n}","export function cubicIn(t) {\n return t * t * t;\n}\nexport function cubicOut(t) {\n return --t * t * t + 1;\n}\nexport function cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}","import { selection } from \"d3-selection\";\nimport selection_interrupt from \"./interrupt.js\";\nimport selection_transition from \"./transition.js\";\nselection.prototype.interrupt = selection_interrupt;\nselection.prototype.transition = selection_transition;","import interrupt from \"../interrupt.js\";\nexport default function (name) {\n return this.each(function () {\n interrupt(this, name);\n });\n}","import { STARTING, ENDING, ENDED } from \"./transition/schedule.js\";\nexport default function (node, name) {\n var schedules = node.__transition,\n schedule,\n active,\n empty = true,\n i;\n if (!schedules) return;\n name = name == null ? null : name + \"\";\n\n for (i in schedules) {\n if ((schedule = schedules[i]).name !== name) {\n empty = false;\n continue;\n }\n\n active = schedule.state > STARTING && schedule.state < ENDING;\n schedule.state = ENDED;\n schedule.timer.stop();\n schedule.on.call(active ? \"interrupt\" : \"cancel\", node, node.__data__, schedule.index, schedule.group);\n delete schedules[i];\n }\n\n if (empty) delete node.__transition;\n}","function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { dispatch } from \"d3-dispatch\";\nimport { dragDisable, dragEnable } from \"d3-drag\";\nimport { interpolate } from \"d3-interpolate\";\nimport { pointer, select } from \"d3-selection\";\nimport { interrupt } from \"d3-transition\";\nimport constant from \"./constant.js\";\nimport BrushEvent from \"./event.js\";\nimport noevent, { nopropagation } from \"./noevent.js\";\nvar MODE_DRAG = {\n name: \"drag\"\n},\n MODE_SPACE = {\n name: \"space\"\n},\n MODE_HANDLE = {\n name: \"handle\"\n},\n MODE_CENTER = {\n name: \"center\"\n};\nvar abs = Math.abs,\n max = Math.max,\n min = Math.min;\n\nfunction number1(e) {\n return [+e[0], +e[1]];\n}\n\nfunction number2(e) {\n return [number1(e[0]), number1(e[1])];\n}\n\nvar X = {\n name: \"x\",\n handles: [\"w\", \"e\"].map(type),\n input: function input(x, e) {\n return x == null ? null : [[+x[0], e[0][1]], [+x[1], e[1][1]]];\n },\n output: function output(xy) {\n return xy && [xy[0][0], xy[1][0]];\n }\n};\nvar Y = {\n name: \"y\",\n handles: [\"n\", \"s\"].map(type),\n input: function input(y, e) {\n return y == null ? null : [[e[0][0], +y[0]], [e[1][0], +y[1]]];\n },\n output: function output(xy) {\n return xy && [xy[0][1], xy[1][1]];\n }\n};\nvar XY = {\n name: \"xy\",\n handles: [\"n\", \"w\", \"e\", \"s\", \"nw\", \"ne\", \"sw\", \"se\"].map(type),\n input: function input(xy) {\n return xy == null ? null : number2(xy);\n },\n output: function output(xy) {\n return xy;\n }\n};\nvar cursors = {\n overlay: \"crosshair\",\n selection: \"move\",\n n: \"ns-resize\",\n e: \"ew-resize\",\n s: \"ns-resize\",\n w: \"ew-resize\",\n nw: \"nwse-resize\",\n ne: \"nesw-resize\",\n se: \"nwse-resize\",\n sw: \"nesw-resize\"\n};\nvar flipX = {\n e: \"w\",\n w: \"e\",\n nw: \"ne\",\n ne: \"nw\",\n se: \"sw\",\n sw: \"se\"\n};\nvar flipY = {\n n: \"s\",\n s: \"n\",\n nw: \"sw\",\n ne: \"se\",\n se: \"ne\",\n sw: \"nw\"\n};\nvar signsX = {\n overlay: +1,\n selection: +1,\n n: null,\n e: +1,\n s: null,\n w: -1,\n nw: -1,\n ne: +1,\n se: +1,\n sw: -1\n};\nvar signsY = {\n overlay: +1,\n selection: +1,\n n: -1,\n e: null,\n s: +1,\n w: null,\n nw: -1,\n ne: -1,\n se: +1,\n sw: +1\n};\n\nfunction type(t) {\n return {\n type: t\n };\n} // Ignore right-click, since that should open the context menu.\n\n\nfunction defaultFilter(event) {\n return !event.ctrlKey && !event.button;\n}\n\nfunction defaultExtent() {\n var svg = this.ownerSVGElement || this;\n\n if (svg.hasAttribute(\"viewBox\")) {\n svg = svg.viewBox.baseVal;\n return [[svg.x, svg.y], [svg.x + svg.width, svg.y + svg.height]];\n }\n\n return [[0, 0], [svg.width.baseVal.value, svg.height.baseVal.value]];\n}\n\nfunction defaultTouchable() {\n return navigator.maxTouchPoints || \"ontouchstart\" in this;\n} // Like d3.local, but with the name “__brush” rather than auto-generated.\n\n\nfunction local(node) {\n while (!node.__brush) {\n if (!(node = node.parentNode)) return;\n }\n\n return node.__brush;\n}\n\nfunction empty(extent) {\n return extent[0][0] === extent[1][0] || extent[0][1] === extent[1][1];\n}\n\nexport function brushSelection(node) {\n var state = node.__brush;\n return state ? state.dim.output(state.selection) : null;\n}\nexport function brushX() {\n return brush(X);\n}\nexport function brushY() {\n return brush(Y);\n}\nexport default function () {\n return brush(XY);\n}\n\nfunction brush(dim) {\n var extent = defaultExtent,\n filter = defaultFilter,\n touchable = defaultTouchable,\n keys = true,\n listeners = dispatch(\"start\", \"brush\", \"end\"),\n handleSize = 6,\n touchending;\n\n function brush(group) {\n var overlay = group.property(\"__brush\", initialize).selectAll(\".overlay\").data([type(\"overlay\")]);\n overlay.enter().append(\"rect\").attr(\"class\", \"overlay\").attr(\"pointer-events\", \"all\").attr(\"cursor\", cursors.overlay).merge(overlay).each(function () {\n var extent = local(this).extent;\n select(this).attr(\"x\", extent[0][0]).attr(\"y\", extent[0][1]).attr(\"width\", extent[1][0] - extent[0][0]).attr(\"height\", extent[1][1] - extent[0][1]);\n });\n group.selectAll(\".selection\").data([type(\"selection\")]).enter().append(\"rect\").attr(\"class\", \"selection\").attr(\"cursor\", cursors.selection).attr(\"fill\", \"#777\").attr(\"fill-opacity\", 0.3).attr(\"stroke\", \"#fff\").attr(\"shape-rendering\", \"crispEdges\");\n var handle = group.selectAll(\".handle\").data(dim.handles, function (d) {\n return d.type;\n });\n handle.exit().remove();\n handle.enter().append(\"rect\").attr(\"class\", function (d) {\n return \"handle handle--\" + d.type;\n }).attr(\"cursor\", function (d) {\n return cursors[d.type];\n });\n group.each(redraw).attr(\"fill\", \"none\").attr(\"pointer-events\", \"all\").on(\"mousedown.brush\", started).filter(touchable).on(\"touchstart.brush\", started).on(\"touchmove.brush\", touchmoved).on(\"touchend.brush touchcancel.brush\", touchended).style(\"touch-action\", \"none\").style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n }\n\n brush.move = function (group, selection) {\n if (group.tween) {\n group.on(\"start.brush\", function (event) {\n emitter(this, arguments).beforestart().start(event);\n }).on(\"interrupt.brush end.brush\", function (event) {\n emitter(this, arguments).end(event);\n }).tween(\"brush\", function () {\n var that = this,\n state = that.__brush,\n emit = emitter(that, arguments),\n selection0 = state.selection,\n selection1 = dim.input(typeof selection === \"function\" ? selection.apply(this, arguments) : selection, state.extent),\n i = interpolate(selection0, selection1);\n\n function tween(t) {\n state.selection = t === 1 && selection1 === null ? null : i(t);\n redraw.call(that);\n emit.brush();\n }\n\n return selection0 !== null && selection1 !== null ? tween : tween(1);\n });\n } else {\n group.each(function () {\n var that = this,\n args = arguments,\n state = that.__brush,\n selection1 = dim.input(typeof selection === \"function\" ? selection.apply(that, args) : selection, state.extent),\n emit = emitter(that, args).beforestart();\n interrupt(that);\n state.selection = selection1 === null ? null : selection1;\n redraw.call(that);\n emit.start().brush().end();\n });\n }\n };\n\n brush.clear = function (group) {\n brush.move(group, null);\n };\n\n function redraw() {\n var group = select(this),\n selection = local(this).selection;\n\n if (selection) {\n group.selectAll(\".selection\").style(\"display\", null).attr(\"x\", selection[0][0]).attr(\"y\", selection[0][1]).attr(\"width\", selection[1][0] - selection[0][0]).attr(\"height\", selection[1][1] - selection[0][1]);\n group.selectAll(\".handle\").style(\"display\", null).attr(\"x\", function (d) {\n return d.type[d.type.length - 1] === \"e\" ? selection[1][0] - handleSize / 2 : selection[0][0] - handleSize / 2;\n }).attr(\"y\", function (d) {\n return d.type[0] === \"s\" ? selection[1][1] - handleSize / 2 : selection[0][1] - handleSize / 2;\n }).attr(\"width\", function (d) {\n return d.type === \"n\" || d.type === \"s\" ? selection[1][0] - selection[0][0] + handleSize : handleSize;\n }).attr(\"height\", function (d) {\n return d.type === \"e\" || d.type === \"w\" ? selection[1][1] - selection[0][1] + handleSize : handleSize;\n });\n } else {\n group.selectAll(\".selection,.handle\").style(\"display\", \"none\").attr(\"x\", null).attr(\"y\", null).attr(\"width\", null).attr(\"height\", null);\n }\n }\n\n function emitter(that, args, clean) {\n var emit = that.__brush.emitter;\n return emit && (!clean || !emit.clean) ? emit : new Emitter(that, args, clean);\n }\n\n function Emitter(that, args, clean) {\n this.that = that;\n this.args = args;\n this.state = that.__brush;\n this.active = 0;\n this.clean = clean;\n }\n\n Emitter.prototype = {\n beforestart: function beforestart() {\n if (++this.active === 1) this.state.emitter = this, this.starting = true;\n return this;\n },\n start: function start(event, mode) {\n if (this.starting) this.starting = false, this.emit(\"start\", event, mode);else this.emit(\"brush\", event);\n return this;\n },\n brush: function brush(event, mode) {\n this.emit(\"brush\", event, mode);\n return this;\n },\n end: function end(event, mode) {\n if (--this.active === 0) delete this.state.emitter, this.emit(\"end\", event, mode);\n return this;\n },\n emit: function emit(type, event, mode) {\n var d = select(this.that).datum();\n listeners.call(type, this.that, new BrushEvent(type, {\n sourceEvent: event,\n target: brush,\n selection: dim.output(this.state.selection),\n mode: mode,\n dispatch: listeners\n }), d);\n }\n };\n\n function started(event) {\n if (touchending && !event.touches) return;\n if (!filter.apply(this, arguments)) return;\n var that = this,\n type = event.target.__data__.type,\n mode = (keys && event.metaKey ? type = \"overlay\" : type) === \"selection\" ? MODE_DRAG : keys && event.altKey ? MODE_CENTER : MODE_HANDLE,\n signX = dim === Y ? null : signsX[type],\n signY = dim === X ? null : signsY[type],\n state = local(that),\n extent = state.extent,\n selection = state.selection,\n W = extent[0][0],\n w0,\n w1,\n N = extent[0][1],\n n0,\n n1,\n E = extent[1][0],\n e0,\n e1,\n S = extent[1][1],\n s0,\n s1,\n dx = 0,\n dy = 0,\n moving,\n shifting = signX && signY && keys && event.shiftKey,\n lockX,\n lockY,\n points = Array.from(event.touches || [event], function (t) {\n var i = t.identifier;\n t = pointer(t, that);\n t.point0 = t.slice();\n t.identifier = i;\n return t;\n });\n\n if (type === \"overlay\") {\n if (selection) moving = true;\n var pts = [points[0], points[1] || points[0]];\n state.selection = selection = [[w0 = dim === Y ? W : min(pts[0][0], pts[1][0]), n0 = dim === X ? N : min(pts[0][1], pts[1][1])], [e0 = dim === Y ? E : max(pts[0][0], pts[1][0]), s0 = dim === X ? S : max(pts[0][1], pts[1][1])]];\n if (points.length > 1) move();\n } else {\n w0 = selection[0][0];\n n0 = selection[0][1];\n e0 = selection[1][0];\n s0 = selection[1][1];\n }\n\n w1 = w0;\n n1 = n0;\n e1 = e0;\n s1 = s0;\n var group = select(that).attr(\"pointer-events\", \"none\");\n var overlay = group.selectAll(\".overlay\").attr(\"cursor\", cursors[type]);\n interrupt(that);\n var emit = emitter(that, arguments, true).beforestart();\n\n if (event.touches) {\n emit.moved = moved;\n emit.ended = ended;\n } else {\n var view = select(event.view).on(\"mousemove.brush\", moved, true).on(\"mouseup.brush\", ended, true);\n if (keys) view.on(\"keydown.brush\", keydowned, true).on(\"keyup.brush\", keyupped, true);\n dragDisable(event.view);\n }\n\n redraw.call(that);\n emit.start(event, mode.name);\n\n function moved(event) {\n var _iterator = _createForOfIteratorHelper(event.changedTouches || [event]),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var p = _step.value;\n\n var _iterator3 = _createForOfIteratorHelper(points),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var d = _step3.value;\n if (d.identifier === p.identifier) d.cur = pointer(p, that);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (shifting && !lockX && !lockY && points.length === 1) {\n var point = points[0];\n if (abs(point.cur[0] - point[0]) > abs(point.cur[1] - point[1])) lockY = true;else lockX = true;\n }\n\n var _iterator2 = _createForOfIteratorHelper(points),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _point = _step2.value;\n if (_point.cur) _point[0] = _point.cur[0], _point[1] = _point.cur[1];\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n moving = true;\n noevent(event);\n move(event);\n }\n\n function move(event) {\n var point = points[0],\n point0 = point.point0;\n var t;\n dx = point[0] - point0[0];\n dy = point[1] - point0[1];\n\n switch (mode) {\n case MODE_SPACE:\n case MODE_DRAG:\n {\n if (signX) dx = max(W - w0, min(E - e0, dx)), w1 = w0 + dx, e1 = e0 + dx;\n if (signY) dy = max(N - n0, min(S - s0, dy)), n1 = n0 + dy, s1 = s0 + dy;\n break;\n }\n\n case MODE_HANDLE:\n {\n if (points[1]) {\n if (signX) w1 = max(W, min(E, points[0][0])), e1 = max(W, min(E, points[1][0])), signX = 1;\n if (signY) n1 = max(N, min(S, points[0][1])), s1 = max(N, min(S, points[1][1])), signY = 1;\n } else {\n if (signX < 0) dx = max(W - w0, min(E - w0, dx)), w1 = w0 + dx, e1 = e0;else if (signX > 0) dx = max(W - e0, min(E - e0, dx)), w1 = w0, e1 = e0 + dx;\n if (signY < 0) dy = max(N - n0, min(S - n0, dy)), n1 = n0 + dy, s1 = s0;else if (signY > 0) dy = max(N - s0, min(S - s0, dy)), n1 = n0, s1 = s0 + dy;\n }\n\n break;\n }\n\n case MODE_CENTER:\n {\n if (signX) w1 = max(W, min(E, w0 - dx * signX)), e1 = max(W, min(E, e0 + dx * signX));\n if (signY) n1 = max(N, min(S, n0 - dy * signY)), s1 = max(N, min(S, s0 + dy * signY));\n break;\n }\n }\n\n if (e1 < w1) {\n signX *= -1;\n t = w0, w0 = e0, e0 = t;\n t = w1, w1 = e1, e1 = t;\n if (type in flipX) overlay.attr(\"cursor\", cursors[type = flipX[type]]);\n }\n\n if (s1 < n1) {\n signY *= -1;\n t = n0, n0 = s0, s0 = t;\n t = n1, n1 = s1, s1 = t;\n if (type in flipY) overlay.attr(\"cursor\", cursors[type = flipY[type]]);\n }\n\n if (state.selection) selection = state.selection; // May be set by brush.move!\n\n if (lockX) w1 = selection[0][0], e1 = selection[1][0];\n if (lockY) n1 = selection[0][1], s1 = selection[1][1];\n\n if (selection[0][0] !== w1 || selection[0][1] !== n1 || selection[1][0] !== e1 || selection[1][1] !== s1) {\n state.selection = [[w1, n1], [e1, s1]];\n redraw.call(that);\n emit.brush(event, mode.name);\n }\n }\n\n function ended(event) {\n nopropagation(event);\n\n if (event.touches) {\n if (event.touches.length) return;\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function () {\n touchending = null;\n }, 500); // Ghost clicks are delayed!\n } else {\n dragEnable(event.view, moving);\n view.on(\"keydown.brush keyup.brush mousemove.brush mouseup.brush\", null);\n }\n\n group.attr(\"pointer-events\", \"all\");\n overlay.attr(\"cursor\", cursors.overlay);\n if (state.selection) selection = state.selection; // May be set by brush.move (on start)!\n\n if (empty(selection)) state.selection = null, redraw.call(that);\n emit.end(event, mode.name);\n }\n\n function keydowned(event) {\n switch (event.keyCode) {\n case 16:\n {\n // SHIFT\n shifting = signX && signY;\n break;\n }\n\n case 18:\n {\n // ALT\n if (mode === MODE_HANDLE) {\n if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX;\n if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY;\n mode = MODE_CENTER;\n move();\n }\n\n break;\n }\n\n case 32:\n {\n // SPACE; takes priority over ALT\n if (mode === MODE_HANDLE || mode === MODE_CENTER) {\n if (signX < 0) e0 = e1 - dx;else if (signX > 0) w0 = w1 - dx;\n if (signY < 0) s0 = s1 - dy;else if (signY > 0) n0 = n1 - dy;\n mode = MODE_SPACE;\n overlay.attr(\"cursor\", cursors.selection);\n move();\n }\n\n break;\n }\n\n default:\n return;\n }\n\n noevent(event);\n }\n\n function keyupped(event) {\n switch (event.keyCode) {\n case 16:\n {\n // SHIFT\n if (shifting) {\n lockX = lockY = shifting = false;\n move();\n }\n\n break;\n }\n\n case 18:\n {\n // ALT\n if (mode === MODE_CENTER) {\n if (signX < 0) e0 = e1;else if (signX > 0) w0 = w1;\n if (signY < 0) s0 = s1;else if (signY > 0) n0 = n1;\n mode = MODE_HANDLE;\n move();\n }\n\n break;\n }\n\n case 32:\n {\n // SPACE\n if (mode === MODE_SPACE) {\n if (event.altKey) {\n if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX;\n if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY;\n mode = MODE_CENTER;\n } else {\n if (signX < 0) e0 = e1;else if (signX > 0) w0 = w1;\n if (signY < 0) s0 = s1;else if (signY > 0) n0 = n1;\n mode = MODE_HANDLE;\n }\n\n overlay.attr(\"cursor\", cursors[type]);\n move();\n }\n\n break;\n }\n\n default:\n return;\n }\n\n noevent(event);\n }\n }\n\n function touchmoved(event) {\n emitter(this, arguments).moved(event);\n }\n\n function touchended(event) {\n emitter(this, arguments).ended(event);\n }\n\n function initialize() {\n var state = this.__brush || {\n selection: null\n };\n state.extent = number2(extent.apply(this, arguments));\n state.dim = dim;\n return state;\n }\n\n brush.extent = function (_) {\n return arguments.length ? (extent = typeof _ === \"function\" ? _ : constant(number2(_)), brush) : extent;\n };\n\n brush.filter = function (_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), brush) : filter;\n };\n\n brush.touchable = function (_) {\n return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), brush) : touchable;\n };\n\n brush.handleSize = function (_) {\n return arguments.length ? (handleSize = +_, brush) : handleSize;\n };\n\n brush.keyModifiers = function (_) {\n return arguments.length ? (keys = !!_, brush) : keys;\n };\n\n brush.on = function () {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? brush : value;\n };\n\n return brush;\n}","import { Selection, root } from \"./selection/index.js\";\nexport default function (selector) {\n return typeof selector === \"string\" ? new Selection([[document.querySelector(selector)]], [document.documentElement]) : new Selection([[selector]], root);\n}","import sourceEvent from \"./sourceEvent.js\";\nexport default function (event, node) {\n event = sourceEvent(event);\n if (node === undefined) node = event.currentTarget;\n\n if (node) {\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 if (node.getBoundingClientRect) {\n var rect = node.getBoundingClientRect();\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n }\n }\n\n return [event.pageX, event.pageY];\n}","export default function (event) {\n var sourceEvent;\n\n while (sourceEvent = event.sourceEvent) {\n event = sourceEvent;\n }\n\n return event;\n}","export function nopropagation(event) {\n event.stopImmediatePropagation();\n}\nexport default function (event) {\n event.preventDefault();\n event.stopImmediatePropagation();\n}","export default (function (x) {\n return function () {\n return x;\n };\n});","export default function DragEvent(type, _ref) {\n var sourceEvent = _ref.sourceEvent,\n subject = _ref.subject,\n target = _ref.target,\n identifier = _ref.identifier,\n active = _ref.active,\n x = _ref.x,\n y = _ref.y,\n dx = _ref.dx,\n dy = _ref.dy,\n dispatch = _ref.dispatch;\n Object.defineProperties(this, {\n type: {\n value: type,\n enumerable: true,\n configurable: true\n },\n sourceEvent: {\n value: sourceEvent,\n enumerable: true,\n configurable: true\n },\n subject: {\n value: subject,\n enumerable: true,\n configurable: true\n },\n target: {\n value: target,\n enumerable: true,\n configurable: true\n },\n identifier: {\n value: identifier,\n enumerable: true,\n configurable: true\n },\n active: {\n value: active,\n enumerable: true,\n configurable: true\n },\n x: {\n value: x,\n enumerable: true,\n configurable: true\n },\n y: {\n value: y,\n enumerable: true,\n configurable: true\n },\n dx: {\n value: dx,\n enumerable: true,\n configurable: true\n },\n dy: {\n value: dy,\n enumerable: true,\n configurable: true\n },\n _: {\n value: dispatch\n }\n });\n}\n\nDragEvent.prototype.on = function () {\n var value = this._.on.apply(this._, arguments);\n\n return value === this._ ? this : value;\n};","import { dispatch } from \"d3-dispatch\";\nimport { select, pointer } from \"d3-selection\";\nimport nodrag, { yesdrag } from \"./nodrag.js\";\nimport noevent, { nopropagation } from \"./noevent.js\";\nimport constant from \"./constant.js\";\nimport DragEvent from \"./event.js\"; // Ignore right-click, since that should open the context menu.\n\nfunction defaultFilter(event) {\n return !event.ctrlKey && !event.button;\n}\n\nfunction defaultContainer() {\n return this.parentNode;\n}\n\nfunction defaultSubject(event, d) {\n return d == null ? {\n x: event.x,\n y: event.y\n } : d;\n}\n\nfunction defaultTouchable() {\n return navigator.maxTouchPoints || \"ontouchstart\" in this;\n}\n\nexport default function () {\n var filter = defaultFilter,\n container = defaultContainer,\n subject = defaultSubject,\n touchable = defaultTouchable,\n gestures = {},\n listeners = dispatch(\"start\", \"drag\", \"end\"),\n active = 0,\n mousedownx,\n mousedowny,\n mousemoving,\n touchending,\n clickDistance2 = 0;\n\n function drag(selection) {\n selection.on(\"mousedown.drag\", mousedowned).filter(touchable).on(\"touchstart.drag\", touchstarted).on(\"touchmove.drag\", touchmoved).on(\"touchend.drag touchcancel.drag\", touchended).style(\"touch-action\", \"none\").style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n }\n\n function mousedowned(event, d) {\n if (touchending || !filter.call(this, event, d)) return;\n var gesture = beforestart(this, container.call(this, event, d), event, d, \"mouse\");\n if (!gesture) return;\n select(event.view).on(\"mousemove.drag\", mousemoved, true).on(\"mouseup.drag\", mouseupped, true);\n nodrag(event.view);\n nopropagation(event);\n mousemoving = false;\n mousedownx = event.clientX;\n mousedowny = event.clientY;\n gesture(\"start\", event);\n }\n\n function mousemoved(event) {\n noevent(event);\n\n if (!mousemoving) {\n var dx = event.clientX - mousedownx,\n dy = event.clientY - mousedowny;\n mousemoving = dx * dx + dy * dy > clickDistance2;\n }\n\n gestures.mouse(\"drag\", event);\n }\n\n function mouseupped(event) {\n select(event.view).on(\"mousemove.drag mouseup.drag\", null);\n yesdrag(event.view, mousemoving);\n noevent(event);\n gestures.mouse(\"end\", event);\n }\n\n function touchstarted(event, d) {\n if (!filter.call(this, event, d)) return;\n var touches = event.changedTouches,\n c = container.call(this, event, d),\n n = touches.length,\n i,\n gesture;\n\n for (i = 0; i < n; ++i) {\n if (gesture = beforestart(this, c, event, d, touches[i].identifier, touches[i])) {\n nopropagation(event);\n gesture(\"start\", event, touches[i]);\n }\n }\n }\n\n function touchmoved(event) {\n var touches = event.changedTouches,\n n = touches.length,\n i,\n gesture;\n\n for (i = 0; i < n; ++i) {\n if (gesture = gestures[touches[i].identifier]) {\n noevent(event);\n gesture(\"drag\", event, touches[i]);\n }\n }\n }\n\n function touchended(event) {\n var touches = event.changedTouches,\n n = touches.length,\n i,\n gesture;\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function () {\n touchending = null;\n }, 500); // Ghost clicks are delayed!\n\n for (i = 0; i < n; ++i) {\n if (gesture = gestures[touches[i].identifier]) {\n nopropagation(event);\n gesture(\"end\", event, touches[i]);\n }\n }\n }\n\n function beforestart(that, container, event, d, identifier, touch) {\n var dispatch = listeners.copy(),\n p = pointer(touch || event, container),\n dx,\n dy,\n s;\n if ((s = subject.call(that, new DragEvent(\"beforestart\", {\n sourceEvent: event,\n target: drag,\n identifier: identifier,\n active: active,\n x: p[0],\n y: p[1],\n dx: 0,\n dy: 0,\n dispatch: dispatch\n }), d)) == null) return;\n dx = s.x - p[0] || 0;\n dy = s.y - p[1] || 0;\n return function gesture(type, event, touch) {\n var p0 = p,\n n;\n\n switch (type) {\n case \"start\":\n gestures[identifier] = gesture, n = active++;\n break;\n\n case \"end\":\n delete gestures[identifier], --active;\n // nobreak\n\n case \"drag\":\n p = pointer(touch || event, container), n = active;\n break;\n }\n\n dispatch.call(type, that, new DragEvent(type, {\n sourceEvent: event,\n subject: s,\n target: drag,\n identifier: identifier,\n active: n,\n x: p[0] + dx,\n y: p[1] + dy,\n dx: p[0] - p0[0],\n dy: p[1] - p0[1],\n dispatch: dispatch\n }), d);\n };\n }\n\n drag.filter = function (_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), drag) : filter;\n };\n\n drag.container = function (_) {\n return arguments.length ? (container = typeof _ === \"function\" ? _ : constant(_), drag) : container;\n };\n\n drag.subject = function (_) {\n return arguments.length ? (subject = typeof _ === \"function\" ? _ : constant(_), drag) : subject;\n };\n\n drag.touchable = function (_) {\n return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), drag) : touchable;\n };\n\n drag.on = function () {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? drag : value;\n };\n\n drag.clickDistance = function (_) {\n return arguments.length ? (clickDistance2 = (_ = +_) * _, drag) : Math.sqrt(clickDistance2);\n };\n\n return drag;\n}","import { select } from \"d3-selection\";\nimport noevent from \"./noevent.js\";\nexport default function (view) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", noevent, true);\n\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", noevent, true);\n } else {\n root.__noselect = root.style.MozUserSelect;\n root.style.MozUserSelect = \"none\";\n }\n}\nexport function yesdrag(view, noclick) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", null);\n\n if (noclick) {\n selection.on(\"click.drag\", noevent, true);\n setTimeout(function () {\n selection.on(\"click.drag\", null);\n }, 0);\n }\n\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", null);\n } else {\n root.style.MozUserSelect = root.__noselect;\n delete root.__noselect;\n }\n}","export default (function (x) {\n return x;\n});","function streamGeometry(geometry, stream) {\n if (geometry && streamGeometryType.hasOwnProperty(geometry.type)) {\n streamGeometryType[geometry.type](geometry, stream);\n }\n}\n\nvar streamObjectType = {\n Feature: function Feature(object, stream) {\n streamGeometry(object.geometry, stream);\n },\n FeatureCollection: function FeatureCollection(object, stream) {\n var features = object.features,\n i = -1,\n n = features.length;\n\n while (++i < n) {\n streamGeometry(features[i].geometry, stream);\n }\n }\n};\nvar streamGeometryType = {\n Sphere: function Sphere(object, stream) {\n stream.sphere();\n },\n Point: function Point(object, stream) {\n object = object.coordinates;\n stream.point(object[0], object[1], object[2]);\n },\n MultiPoint: function MultiPoint(object, stream) {\n var coordinates = object.coordinates,\n i = -1,\n n = coordinates.length;\n\n while (++i < n) {\n object = coordinates[i], stream.point(object[0], object[1], object[2]);\n }\n },\n LineString: function LineString(object, stream) {\n streamLine(object.coordinates, stream, 0);\n },\n MultiLineString: function MultiLineString(object, stream) {\n var coordinates = object.coordinates,\n i = -1,\n n = coordinates.length;\n\n while (++i < n) {\n streamLine(coordinates[i], stream, 0);\n }\n },\n Polygon: function Polygon(object, stream) {\n streamPolygon(object.coordinates, stream);\n },\n MultiPolygon: function MultiPolygon(object, stream) {\n var coordinates = object.coordinates,\n i = -1,\n n = coordinates.length;\n\n while (++i < n) {\n streamPolygon(coordinates[i], stream);\n }\n },\n GeometryCollection: function GeometryCollection(object, stream) {\n var geometries = object.geometries,\n i = -1,\n n = geometries.length;\n\n while (++i < n) {\n streamGeometry(geometries[i], stream);\n }\n }\n};\n\nfunction streamLine(coordinates, stream, closed) {\n var i = -1,\n n = coordinates.length - closed,\n coordinate;\n stream.lineStart();\n\n while (++i < n) {\n coordinate = coordinates[i], stream.point(coordinate[0], coordinate[1], coordinate[2]);\n }\n\n stream.lineEnd();\n}\n\nfunction streamPolygon(coordinates, stream) {\n var i = -1,\n n = coordinates.length;\n stream.polygonStart();\n\n while (++i < n) {\n streamLine(coordinates[i], stream, 1);\n }\n\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}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","import _classCallCheck from \"/home/alex/Desktop/github/lisa/my-gatsby-site/node_modules/@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"/home/alex/Desktop/github/lisa/my-gatsby-site/node_modules/@babel/runtime/helpers/esm/createClass\";\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n// https://github.com/python/cpython/blob/a74eea238f5baba15797e2e8b570d153bc8690a7/Modules/mathmodule.c#L1423\nexport var Adder = /*#__PURE__*/function () {\n function Adder() {\n _classCallCheck(this, Adder);\n\n this._partials = new Float64Array(32);\n this._n = 0;\n }\n\n _createClass(Adder, [{\n key: \"add\",\n value: function add(x) {\n var p = this._partials;\n var i = 0;\n\n for (var j = 0; j < this._n && j < 32; j++) {\n var y = p[j],\n hi = x + y,\n lo = Math.abs(x) < Math.abs(y) ? x - (hi - y) : y - (hi - x);\n if (lo) p[i++] = lo;\n x = hi;\n }\n\n p[i] = x;\n this._n = i + 1;\n return this;\n }\n }, {\n key: \"valueOf\",\n value: function valueOf() {\n var p = this._partials;\n var n = this._n,\n x,\n y,\n lo,\n hi = 0;\n\n if (n > 0) {\n hi = p[--n];\n\n while (n > 0) {\n x = hi;\n y = p[--n];\n hi = x + y;\n lo = y - (hi - x);\n if (lo) break;\n }\n\n if (n > 0 && (lo < 0 && p[n - 1] < 0 || lo > 0 && p[n - 1] > 0)) {\n y = lo * 2;\n x = hi + y;\n if (y == x - hi) hi = x;\n }\n }\n\n return hi;\n }\n }]);\n\n return Adder;\n}();\nexport function fsum(values, valueof) {\n var adder = new Adder();\n\n if (valueof === undefined) {\n var _iterator = _createForOfIteratorHelper(values),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var value = _step.value;\n\n if (value = +value) {\n adder.add(value);\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n } else {\n var index = -1;\n\n var _iterator2 = _createForOfIteratorHelper(values),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _value = _step2.value;\n\n if (_value = +valueof(_value, ++index, values)) {\n adder.add(_value);\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n\n return +adder;\n}\nexport function fcumsum(values, valueof) {\n var adder = new Adder();\n var index = -1;\n return Float64Array.from(values, valueof === undefined ? function (v) {\n return adder.add(+v || 0);\n } : function (v) {\n return adder.add(+valueof(v, ++index, values) || 0);\n });\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import \"core-js/modules/es.math.hypot.js\";\nexport 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;\nexport var degrees = 180 / pi;\nexport var radians = pi / 180;\nexport var abs = Math.abs;\nexport var atan = Math.atan;\nexport var atan2 = Math.atan2;\nexport var cos = Math.cos;\nexport var ceil = Math.ceil;\nexport var exp = Math.exp;\nexport var floor = Math.floor;\nexport var hypot = Math.hypot;\nexport var log = Math.log;\nexport var pow = Math.pow;\nexport var sin = Math.sin;\nexport var sign = Math.sign || function (x) {\n return x > 0 ? 1 : x < 0 ? -1 : 0;\n};\nexport var sqrt = Math.sqrt;\nexport var tan = Math.tan;\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\nexport function asin(x) {\n return x > 1 ? halfPi : x < -1 ? -halfPi : Math.asin(x);\n}\nexport function haversin(x) {\n return (x = sin(x / 2)) * x;\n}","export default function noop() {}","import { Adder } from \"d3-array\";\nimport { abs } from \"../math.js\";\nimport noop from \"../noop.js\";\nvar areaSum = new Adder(),\n areaRingSum = new Adder(),\n x00,\n y00,\n x0,\n y0;\nvar areaStream = {\n point: noop,\n lineStart: noop,\n lineEnd: noop,\n polygonStart: function polygonStart() {\n areaStream.lineStart = areaRingStart;\n areaStream.lineEnd = areaRingEnd;\n },\n polygonEnd: function polygonEnd() {\n areaStream.lineStart = areaStream.lineEnd = areaStream.point = noop;\n areaSum.add(abs(areaRingSum));\n areaRingSum = new Adder();\n },\n result: function result() {\n var area = areaSum / 2;\n areaSum = new Adder();\n return area;\n }\n};\n\nfunction areaRingStart() {\n areaStream.point = areaPointFirst;\n}\n\nfunction areaPointFirst(x, y) {\n areaStream.point = areaPoint;\n x00 = x0 = x, y00 = y0 = y;\n}\n\nfunction areaPoint(x, y) {\n areaRingSum.add(y0 * x - x0 * y);\n x0 = x, y0 = y;\n}\n\nfunction areaRingEnd() {\n areaPoint(x00, y00);\n}\n\nexport default areaStream;","import noop from \"../noop.js\";\nvar x0 = Infinity,\n y0 = x0,\n x1 = -x0,\n y1 = x1;\nvar boundsStream = {\n point: boundsPoint,\n lineStart: noop,\n lineEnd: noop,\n polygonStart: noop,\n polygonEnd: noop,\n result: function result() {\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;","import { sqrt } from \"../math.js\"; // 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;\nvar centroidStream = {\n point: centroidPoint,\n lineStart: centroidLineStart,\n lineEnd: centroidLineEnd,\n polygonStart: function polygonStart() {\n centroidStream.lineStart = centroidRingStart;\n centroidStream.lineEnd = centroidRingEnd;\n },\n polygonEnd: function polygonEnd() {\n centroidStream.point = centroidPoint;\n centroidStream.lineStart = centroidLineStart;\n centroidStream.lineEnd = centroidLineEnd;\n },\n result: function result() {\n var centroid = Z2 ? [X2 / Z2, Y2 / Z2] : Z1 ? [X1 / Z1, Y1 / Z1] : Z0 ? [X0 / Z0, Y0 / Z0] : [NaN, NaN];\n X0 = Y0 = Z0 = X1 = Y1 = Z1 = 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,\n dy = y - y0,\n 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 X1 += z * (x0 + x) / 2;\n Y1 += z * (y0 + y) / 2;\n Z1 += z;\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;","import { tau } from \"../math.js\";\nimport noop from \"../noop.js\";\nexport default function PathContext(context) {\n this._context = context;\n}\nPathContext.prototype = {\n _radius: 4.5,\n pointRadius: function pointRadius(_) {\n return this._radius = _, this;\n },\n polygonStart: function polygonStart() {\n this._line = 0;\n },\n polygonEnd: function polygonEnd() {\n this._line = NaN;\n },\n lineStart: function lineStart() {\n this._point = 0;\n },\n lineEnd: function lineEnd() {\n if (this._line === 0) this._context.closePath();\n this._point = NaN;\n },\n point: function point(x, y) {\n switch (this._point) {\n case 0:\n {\n this._context.moveTo(x, y);\n\n this._point = 1;\n break;\n }\n\n case 1:\n {\n this._context.lineTo(x, y);\n\n break;\n }\n\n default:\n {\n this._context.moveTo(x + this._radius, y);\n\n this._context.arc(x, y, this._radius, 0, tau);\n\n break;\n }\n }\n },\n result: noop\n};","import { Adder } from \"d3-array\";\nimport { sqrt } from \"../math.js\";\nimport noop from \"../noop.js\";\nvar lengthSum = new Adder(),\n lengthRing,\n x00,\n y00,\n x0,\n y0;\nvar lengthStream = {\n point: noop,\n lineStart: function lineStart() {\n lengthStream.point = lengthPointFirst;\n },\n lineEnd: function lineEnd() {\n if (lengthRing) lengthPoint(x00, y00);\n lengthStream.point = noop;\n },\n polygonStart: function polygonStart() {\n lengthRing = true;\n },\n polygonEnd: function polygonEnd() {\n lengthRing = null;\n },\n result: function result() {\n var length = +lengthSum;\n lengthSum = new Adder();\n return length;\n }\n};\n\nfunction lengthPointFirst(x, y) {\n lengthStream.point = lengthPoint;\n x00 = x0 = x, y00 = y0 = y;\n}\n\nfunction lengthPoint(x, y) {\n x0 -= x, y0 -= y;\n lengthSum.add(sqrt(x0 * x0 + y0 * y0));\n x0 = x, y0 = y;\n}\n\nexport default lengthStream;","export default function PathString() {\n this._string = [];\n}\nPathString.prototype = {\n _radius: 4.5,\n _circle: circle(4.5),\n pointRadius: function pointRadius(_) {\n if ((_ = +_) !== this._radius) this._radius = _, this._circle = null;\n return this;\n },\n polygonStart: function polygonStart() {\n this._line = 0;\n },\n polygonEnd: function polygonEnd() {\n this._line = NaN;\n },\n lineStart: function lineStart() {\n this._point = 0;\n },\n lineEnd: function lineEnd() {\n if (this._line === 0) this._string.push(\"Z\");\n this._point = NaN;\n },\n point: function point(x, y) {\n switch (this._point) {\n case 0:\n {\n this._string.push(\"M\", x, \",\", y);\n\n this._point = 1;\n break;\n }\n\n case 1:\n {\n this._string.push(\"L\", x, \",\", y);\n\n break;\n }\n\n default:\n {\n if (this._circle == null) this._circle = circle(this._radius);\n\n this._string.push(\"M\", x, \",\", y, this._circle);\n\n break;\n }\n }\n },\n result: function result() {\n if (this._string.length) {\n var result = this._string.join(\"\");\n\n this._string = [];\n return result;\n } else {\n return null;\n }\n }\n};\n\nfunction circle(radius) {\n return \"m0,\" + radius + \"a\" + radius + \",\" + radius + \" 0 1,1 0,\" + -2 * radius + \"a\" + radius + \",\" + radius + \" 0 1,1 0,\" + 2 * radius + \"z\";\n}","import identity from \"../identity.js\";\nimport stream from \"../stream.js\";\nimport pathArea from \"./area.js\";\nimport pathBounds from \"./bounds.js\";\nimport pathCentroid from \"./centroid.js\";\nimport PathContext from \"./context.js\";\nimport pathMeasure from \"./measure.js\";\nimport PathString from \"./string.js\";\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\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}","import noop from \"../noop.js\";\nexport default function () {\n var lines = [],\n line;\n return {\n point: function point(x, y, m) {\n line.push([x, y, m]);\n },\n lineStart: function lineStart() {\n lines.push(line = []);\n },\n lineEnd: noop,\n rejoin: function rejoin() {\n if (lines.length > 1) lines.push(lines.pop().concat(lines.shift()));\n },\n result: function result() {\n var result = lines;\n lines = [];\n line = null;\n return result;\n }\n };\n}","import { abs, epsilon } from \"./math.js\";\nexport default function (a, b) {\n return abs(a[0] - b[0]) < epsilon && abs(a[1] - b[1]) < epsilon;\n}","import pointEqual from \"../pointEqual.js\";\nimport { epsilon } from \"../math.js\";\n\nfunction Intersection(point, points, other, entry) {\n this.x = point;\n this.z = points;\n this.o = other; // another intersection\n\n this.e = entry; // is an entry?\n\n this.v = false; // visited\n\n this.n = this.p = null; // next & previous\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\n\nexport default function (segments, compareIntersection, startInside, interpolate, stream) {\n var subject = [],\n clip = [],\n i,\n n;\n segments.forEach(function (segment) {\n if ((n = segment.length - 1) <= 0) return;\n var n,\n p0 = segment[0],\n p1 = segment[n],\n x;\n\n if (pointEqual(p0, p1)) {\n if (!p0[2] && !p1[2]) {\n stream.lineStart();\n\n for (i = 0; i < n; ++i) {\n stream.point((p0 = segment[i])[0], p0[1]);\n }\n\n stream.lineEnd();\n return;\n } // handle degenerate cases by moving the point\n\n\n p1[0] += 2 * epsilon;\n }\n\n subject.push(x = new Intersection(p0, segment, null, true));\n clip.push(x.o = new Intersection(p0, null, x, false));\n subject.push(x = new Intersection(p1, segment, null, false));\n clip.push(x.o = new Intersection(p1, null, x, true));\n });\n if (!subject.length) return;\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\n while (current.v) {\n if ((current = current.n) === start) return;\n }\n\n points = current.z;\n stream.lineStart();\n\n do {\n current.v = current.o.v = true;\n\n if (current.e) {\n if (isSubject) {\n for (i = 0, n = points.length; i < n; ++i) {\n stream.point((point = points[i])[0], point[1]);\n }\n } else {\n interpolate(current.x, current.n.x, 1, stream);\n }\n\n current = current.n;\n } else {\n if (isSubject) {\n points = current.p.z;\n\n for (i = points.length - 1; i >= 0; --i) {\n stream.point((point = points[i])[0], point[1]);\n }\n } else {\n interpolate(current.x, current.p.x, -1, stream);\n }\n\n current = current.p;\n }\n\n current = current.o;\n points = current.z;\n isSubject = !isSubject;\n } while (!current.v);\n\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\n while (++i < n) {\n a.n = b = array[i];\n b.p = a;\n a = b;\n }\n\n a.n = b = array[0];\n b.p = a;\n}","import { asin, atan2, cos, sin, sqrt } from \"./math.js\";\nexport function spherical(cartesian) {\n return [atan2(cartesian[1], cartesian[0]), asin(cartesian[2])];\n}\nexport function cartesian(spherical) {\n var lambda = spherical[0],\n phi = spherical[1],\n cosPhi = cos(phi);\n return [cosPhi * cos(lambda), cosPhi * sin(lambda), sin(phi)];\n}\nexport function cartesianDot(a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\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} // TODO return a\n\nexport function cartesianAddInPlace(a, b) {\n a[0] += b[0], a[1] += b[1], a[2] += b[2];\n}\nexport function cartesianScale(vector, k) {\n return [vector[0] * k, vector[1] * k, vector[2] * k];\n} // TODO return d\n\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}","import { Adder } from \"d3-array\";\nimport { cartesian, cartesianCross, cartesianNormalizeInPlace } from \"./cartesian.js\";\nimport { abs, asin, atan2, cos, epsilon, epsilon2, halfPi, pi, quarterPi, sign, sin, tau } from \"./math.js\";\n\nfunction longitude(point) {\n if (abs(point[0]) <= pi) return point[0];else return sign(point[0]) * ((abs(point[0]) + pi) % tau - pi);\n}\n\nexport default function (polygon, point) {\n var lambda = longitude(point),\n phi = point[1],\n sinPhi = sin(phi),\n normal = [sin(lambda), -cos(lambda), 0],\n angle = 0,\n winding = 0;\n var sum = new Adder();\n if (sinPhi === 1) phi = halfPi + epsilon;else if (sinPhi === -1) phi = -halfPi - epsilon;\n\n for (var i = 0, n = polygon.length; i < n; ++i) {\n if (!(m = (ring = polygon[i]).length)) continue;\n var ring,\n m,\n point0 = ring[m - 1],\n lambda0 = longitude(point0),\n phi0 = point0[1] / 2 + quarterPi,\n sinPhi0 = sin(phi0),\n cosPhi0 = cos(phi0);\n\n for (var j = 0; j < m; ++j, lambda0 = lambda1, sinPhi0 = sinPhi1, cosPhi0 = cosPhi1, point0 = point1) {\n var point1 = ring[j],\n lambda1 = longitude(point1),\n phi1 = point1[1] / 2 + quarterPi,\n sinPhi1 = sin(phi1),\n cosPhi1 = cos(phi1),\n delta = lambda1 - lambda0,\n sign = delta >= 0 ? 1 : -1,\n absDelta = sign * delta,\n antimeridian = absDelta > pi,\n k = sinPhi0 * sinPhi1;\n sum.add(atan2(k * sign * sin(absDelta), cosPhi0 * cosPhi1 + k * cos(absDelta)));\n angle += antimeridian ? delta + sign * tau : delta; // Are the longitudes either side of the point’s meridian (lambda),\n // and are the latitudes smaller than the parallel (phi)?\n\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\n if (phi > phiArc || phi === phiArc && (arc[0] || arc[1])) {\n winding += antimeridian ^ delta >= 0 ? 1 : -1;\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\n return (angle < -epsilon || angle < epsilon && sum < -epsilon2) ^ winding & 1;\n}","import _regeneratorRuntime from \"/home/alex/Desktop/github/lisa/my-gatsby-site/node_modules/@babel/runtime/regenerator\";\n\nvar _marked = /*#__PURE__*/_regeneratorRuntime.mark(flatten);\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction flatten(arrays) {\n var _iterator, _step, array;\n\n return _regeneratorRuntime.wrap(function flatten$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _iterator = _createForOfIteratorHelper(arrays);\n _context.prev = 1;\n\n _iterator.s();\n\n case 3:\n if ((_step = _iterator.n()).done) {\n _context.next = 8;\n break;\n }\n\n array = _step.value;\n return _context.delegateYield(array, \"t0\", 6);\n\n case 6:\n _context.next = 3;\n break;\n\n case 8:\n _context.next = 13;\n break;\n\n case 10:\n _context.prev = 10;\n _context.t1 = _context[\"catch\"](1);\n\n _iterator.e(_context.t1);\n\n case 13:\n _context.prev = 13;\n\n _iterator.f();\n\n return _context.finish(13);\n\n case 16:\n case \"end\":\n return _context.stop();\n }\n }\n }, _marked, null, [[1, 10, 13, 16]]);\n}\n\nexport default function merge(arrays) {\n return Array.from(flatten(arrays));\n}","import clipBuffer from \"./buffer.js\";\nimport clipRejoin from \"./rejoin.js\";\nimport { epsilon, halfPi } from \"../math.js\";\nimport polygonContains from \"../polygonContains.js\";\nimport { merge } from \"d3-array\";\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 var clip = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function polygonStart() {\n clip.point = pointRing;\n clip.lineStart = ringStart;\n clip.lineEnd = ringEnd;\n segments = [];\n polygon = [];\n },\n polygonEnd: function polygonEnd() {\n clip.point = point;\n clip.lineStart = lineStart;\n clip.lineEnd = lineEnd;\n segments = merge(segments);\n var startInside = polygonContains(polygon, start);\n\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\n if (polygonStarted) sink.polygonEnd(), polygonStarted = false;\n segments = polygon = null;\n },\n sphere: function sphere() {\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 var clean = ringSink.clean(),\n ringSegments = ringBuffer.result(),\n i,\n n = ringSegments.length,\n m,\n segment,\n point;\n ring.pop();\n polygon.push(ring);\n ring = null;\n if (!n) return; // No intersections.\n\n if (clean & 1) {\n segment = ringSegments[0];\n\n if ((m = segment.length - 1) > 0) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n sink.lineStart();\n\n for (i = 0; i < m; ++i) {\n sink.point((point = segment[i])[0], point[1]);\n }\n\n sink.lineEnd();\n }\n\n return;\n } // Rejoin connected segments.\n // TODO reuse ringBuffer.rejoin()?\n\n\n if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));\n segments.push(ringSegments.filter(validSegment));\n }\n\n return clip;\n };\n}\n\nfunction validSegment(segment) {\n return segment.length > 1;\n} // Intersections are sorted along the clip edge. For both antimeridian cutting\n// and circle clipping, the same comparison is used.\n\n\nfunction compareIntersection(a, b) {\n return ((a = a.x)[0] < 0 ? a[1] - halfPi - epsilon : halfPi - a[1]) - ((b = b.x)[0] < 0 ? b[1] - halfPi - epsilon : halfPi - b[1]);\n}","import clip from \"./index.js\";\nimport { abs, atan, cos, epsilon, halfPi, pi, sin } from \"../math.js\";\nexport default clip(function () {\n return true;\n}, clipAntimeridianLine, clipAntimeridianInterpolate, [-pi, -halfPi]); // 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.\n\nfunction clipAntimeridianLine(stream) {\n var lambda0 = NaN,\n phi0 = NaN,\n sign0 = NaN,\n _clean; // no intersections\n\n\n return {\n lineStart: function lineStart() {\n stream.lineStart();\n _clean = 1;\n },\n point: function point(lambda1, phi1) {\n var sign1 = lambda1 > 0 ? pi : -pi,\n delta = abs(lambda1 - lambda0);\n\n if (abs(delta - pi) < epsilon) {\n // 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) {\n // line crosses antimeridian\n if (abs(lambda0 - sign0) < epsilon) lambda0 -= sign0 * epsilon; // handle degeneracies\n\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\n stream.point(lambda0 = lambda1, phi0 = phi1);\n sign0 = sign1;\n },\n lineEnd: function lineEnd() {\n stream.lineEnd();\n lambda0 = phi0 = NaN;\n },\n clean: function clean() {\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 ? atan((sin(phi0) * (cosPhi1 = cos(phi1)) * sin(lambda1) - sin(phi1) * (cosPhi0 = cos(phi0)) * sin(lambda0)) / (cosPhi0 * cosPhi1 * sinLambda0Lambda1)) : (phi0 + phi1) / 2;\n}\n\nfunction clipAntimeridianInterpolate(from, to, direction, stream) {\n var phi;\n\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}","import { cartesian, cartesianNormalizeInPlace, spherical } from \"./cartesian.js\";\nimport constant from \"./constant.js\";\nimport { acos, cos, degrees, epsilon, radians, sin, tau } from \"./math.js\";\nimport { rotateRadians } from \"./rotation.js\"; // Generates a circle centered at [0°, 0°], with a given radius and precision.\n\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\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\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} // Returns the signed angle of a cartesian point relative to [cosRadius, 0, 0].\n\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 = {\n point: point\n };\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 = {\n type: \"Polygon\",\n coordinates: [ring]\n };\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}","import { cartesian, cartesianAddInPlace, cartesianCross, cartesianDot, cartesianScale, spherical } from \"../cartesian.js\";\nimport { circleStream } from \"../circle.js\";\nimport { abs, cos, epsilon, pi, radians, sqrt } from \"../math.js\";\nimport pointEqual from \"../pointEqual.js\";\nimport clip from \"./index.js\";\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 } // 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\n\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\n\n return {\n lineStart: function lineStart() {\n v00 = v0 = false;\n _clean = 1;\n },\n point: function point(lambda, phi) {\n var point1 = [lambda, phi],\n point2,\n v = visible(lambda, phi),\n c = smallRadius ? v ? 0 : code(lambda, phi) : v ? code(lambda + (lambda < 0 ? pi : -pi), phi) : 0;\n if (!point0 && (v00 = v0 = v)) stream.lineStart();\n\n if (v !== v0) {\n point2 = intersect(point0, point1);\n if (!point2 || pointEqual(point0, point2) || pointEqual(point1, point2)) point1[2] = 1;\n }\n\n if (v !== v0) {\n _clean = 0;\n\n if (v) {\n // outside going in\n stream.lineStart();\n point2 = intersect(point1, point0);\n stream.point(point2[0], point2[1]);\n } else {\n // inside going out\n point2 = intersect(point0, point1);\n stream.point(point2[0], point2[1], 2);\n stream.lineEnd();\n }\n\n point0 = point2;\n } else if (notHemisphere && point0 && smallRadius ^ v) {\n var t; // If the codes for two points are different, or are both zero,\n // and there this segment intersects with the small circle.\n\n if (!(c & c0) && (t = intersect(point1, point0, true))) {\n _clean = 0;\n\n if (smallRadius) {\n stream.lineStart();\n stream.point(t[0][0], t[0][1]);\n stream.point(t[1][0], t[1][1]);\n stream.lineEnd();\n } else {\n stream.point(t[1][0], t[1][1]);\n stream.lineEnd();\n stream.lineStart();\n stream.point(t[0][0], t[0][1], 3);\n }\n }\n }\n\n if (v && (!point0 || !pointEqual(point0, point1))) {\n stream.point(point1[0], point1[1]);\n }\n\n point0 = point1, v0 = v, c0 = c;\n },\n lineEnd: function lineEnd() {\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 clean() {\n return _clean | (v00 && v0) << 1;\n }\n };\n } // Intersects the great circle between a and b with the clip circle.\n\n\n function intersect(a, b, two) {\n var pa = cartesian(a),\n pb = cartesian(b); // 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\n var n1 = [1, 0, 0],\n // normal\n n2 = cartesianCross(pa, pb),\n n2n2 = cartesianDot(n2, n2),\n n1n2 = n2[0],\n // cartesianDot(n1, n2),\n determinant = n2n2 - n1n2 * n1n2; // Two polar points.\n\n if (!determinant) return !two && a;\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); // Solve |p(t)|^2 = 1.\n\n var u = n1xn2,\n w = cartesianDot(A, u),\n uu = cartesianDot(u, u),\n t2 = w * w - uu * (cartesianDot(A, A) - 1);\n if (t2 < 0) return;\n var t = sqrt(t2),\n q = cartesianScale(u, (-w - t) / uu);\n cartesianAddInPlace(q, A);\n q = spherical(q);\n if (!two) return q; // Two intersection points.\n\n var lambda0 = a[0],\n lambda1 = b[0],\n phi0 = a[1],\n phi1 = b[1],\n z;\n if (lambda1 < lambda0) z = lambda0, lambda0 = lambda1, lambda1 = z;\n var delta = lambda1 - lambda0,\n polar = abs(delta - pi) < epsilon,\n meridian = polar || delta < epsilon;\n if (!polar && phi1 < phi0) z = phi0, phi0 = phi1, phi1 = z; // Check that the first point is between a and b.\n\n if (meridian ? polar ? phi0 + phi1 > 0 ^ q[1] < (abs(q[0] - lambda0) < epsilon ? phi0 : phi1) : phi0 <= q[1] && q[1] <= phi1 : 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 } // Generates a 4-bit vector representing the location of a point relative to\n // the small circle's bounding box.\n\n\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\n if (phi < -r) code |= 4; // below\n else if (phi > r) code |= 8; // above\n\n return code;\n }\n\n return clip(visible, clipLine, interpolate, smallRadius ? [0, -radius] : [-pi, radius - pi]);\n}","import { abs, epsilon } from \"../math.js\";\nimport clipBuffer from \"./buffer.js\";\nimport clipLine from \"./line.js\";\nimport clipRejoin from \"./rejoin.js\";\nimport { merge } from \"d3-array\";\nvar clipMax = 1e9,\n clipMin = -clipMax; // 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 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,\n a1 = 0;\n\n if (from == null || (a = corner(from, direction)) !== (a1 = corner(to, direction)) || comparePoint(from, to) < 0 ^ direction > 0) {\n do {\n 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 : abs(p[0] - x1) < epsilon ? direction > 0 ? 2 : 1 : abs(p[1] - y0) < epsilon ? direction > 0 ? 1 : 0 : 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 : ca === 0 ? b[1] - a[1] : ca === 1 ? a[0] - b[0] : ca === 2 ? a[1] - b[1] : 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__,\n y__,\n v__,\n // first point\n x_,\n y_,\n v_,\n // previous point\n first,\n clean;\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\n if (a1 <= y1) {\n if (b1 > y1 && (b0 - a0) * (y1 - a1) > (b1 - a1) * (x0 - a0)) ++winding;\n } else {\n if (b1 <= y1 && (b0 - a0) * (y1 - a1) < (b1 - a1) * (x0 - a0)) --winding;\n }\n }\n }\n\n return winding;\n } // Buffer geometry within a polygon and then clip it en masse.\n\n\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\n if (cleanInside || visible) {\n stream.polygonStart();\n\n if (cleanInside) {\n stream.lineStart();\n interpolate(null, null, 1, stream);\n stream.lineEnd();\n }\n\n if (visible) {\n clipRejoin(segments, compareIntersection, startInside, interpolate, stream);\n }\n\n stream.polygonEnd();\n }\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 } // TODO rather than special-case polygons, simply handle them separately.\n // Ideally, coincident intersection points should be jittered to avoid\n // clipping issues.\n\n\n function lineEnd() {\n if (segments) {\n linePoint(x__, y__);\n if (v__ && v_) bufferStream.rejoin();\n segments.push(bufferStream.result());\n }\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\n if (first) {\n x__ = x, y__ = y, v__ = v;\n first = false;\n\n if (v) {\n activeStream.lineStart();\n activeStream.point(x, y);\n }\n } else {\n if (v && v_) activeStream.point(x, y);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\n if (clipLine(a, b, x0, y0, x1, y1)) {\n if (!v_) {\n activeStream.lineStart();\n activeStream.point(a[0], a[1]);\n }\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\n x_ = x, y_ = y, v_ = v;\n }\n\n return clipStream;\n };\n}","export default function (a, b, x0, y0, x1, y1) {\n var ax = a[0],\n ay = a[1],\n bx = b[0],\n by = b[1],\n t0 = 0,\n t1 = 1,\n dx = bx - ax,\n dy = by - ay,\n r;\n r = x0 - ax;\n if (!dx && r > 0) return;\n r /= dx;\n\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\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\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\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}","export default function (a, b) {\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 return compose;\n}","import compose from \"./compose.js\";\nimport { abs, asin, atan2, cos, degrees, pi, radians, sin, tau } from \"./math.js\";\n\nfunction rotationIdentity(lambda, phi) {\n return [abs(lambda) > pi ? lambda + Math.round(-lambda / tau) * tau : lambda, phi];\n}\n\nrotationIdentity.invert = rotationIdentity;\nexport function rotateRadians(deltaLambda, deltaPhi, deltaGamma) {\n return (deltaLambda %= tau) ? deltaPhi || deltaGamma ? compose(rotationLambda(deltaLambda), rotationPhiGamma(deltaPhi, deltaGamma)) : rotationLambda(deltaLambda) : deltaPhi || deltaGamma ? rotationPhiGamma(deltaPhi, deltaGamma) : 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 [atan2(y * cosDeltaGamma - k * sinDeltaGamma, x * cosDeltaPhi - z * sinDeltaPhi), asin(k * cosDeltaGamma + y * sinDeltaGamma)];\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 [atan2(y * cosDeltaGamma + z * sinDeltaGamma, x * cosDeltaPhi + k * sinDeltaPhi), asin(k * cosDeltaPhi - x * sinDeltaPhi)];\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}","export default function (methods) {\n return {\n stream: transformer(methods)\n };\n}\nexport function transformer(methods) {\n return function (stream) {\n var s = new TransformStream();\n\n for (var key in methods) {\n s[key] = methods[key];\n }\n\n s.stream = stream;\n return s;\n };\n}\n\nfunction TransformStream() {}\n\nTransformStream.prototype = {\n constructor: TransformStream,\n point: function point(x, y) {\n this.stream.point(x, y);\n },\n sphere: function sphere() {\n this.stream.sphere();\n },\n lineStart: function lineStart() {\n this.stream.lineStart();\n },\n lineEnd: function lineEnd() {\n this.stream.lineEnd();\n },\n polygonStart: function polygonStart() {\n this.stream.polygonStart();\n },\n polygonEnd: function polygonEnd() {\n this.stream.polygonEnd();\n }\n};","import { default as geoStream } from \"../stream.js\";\nimport boundsStream from \"../path/bounds.js\";\n\nfunction fit(projection, fitBounds, object) {\n var clip = projection.clipExtent && projection.clipExtent();\n projection.scale(150).translate([0, 0]);\n if (clip != null) projection.clipExtent(null);\n geoStream(object, projection.stream(boundsStream));\n fitBounds(boundsStream.result());\n if (clip != null) projection.clipExtent(clip);\n return projection;\n}\n\nexport function fitExtent(projection, extent, object) {\n return fit(projection, function (b) {\n var w = extent[1][0] - extent[0][0],\n h = extent[1][1] - extent[0][1],\n k = Math.min(w / (b[1][0] - b[0][0]), h / (b[1][1] - b[0][1])),\n x = +extent[0][0] + (w - k * (b[1][0] + b[0][0])) / 2,\n y = +extent[0][1] + (h - k * (b[1][1] + b[0][1])) / 2;\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\nexport function fitSize(projection, size, object) {\n return fitExtent(projection, [[0, 0], size], object);\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}\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}","import { cartesian } from \"../cartesian.js\";\nimport { abs, asin, atan2, cos, epsilon, radians, sqrt } from \"../math.js\";\nimport { transformer } from \"../transform.js\";\nvar maxDepth = 16,\n // maximum depth of subdivision\ncosMinDistance = 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 point(x, y) {\n x = project(x, y);\n this.stream.point(x[0], x[1]);\n }\n });\n}\n\nfunction resample(project, delta2) {\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\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\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) {\n // 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\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 polygonStart() {\n stream.polygonStart();\n resampleStream.lineStart = ringStart;\n },\n polygonEnd: function polygonEnd() {\n stream.polygonEnd();\n resampleStream.lineStart = lineStart;\n }\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]),\n 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}","import clipAntimeridian from \"../clip/antimeridian.js\";\nimport clipCircle from \"../clip/circle.js\";\nimport clipRectangle from \"../clip/rectangle.js\";\nimport compose from \"../compose.js\";\nimport identity from \"../identity.js\";\nimport { cos, degrees, radians, sin, sqrt } from \"../math.js\";\nimport { rotateRadians } from \"../rotation.js\";\nimport { transformer } from \"../transform.js\";\nimport { fitExtent, fitSize, fitWidth, fitHeight } from \"./fit.js\";\nimport resample from \"./resample.js\";\nvar transformRadians = transformer({\n point: function point(x, y) {\n this.stream.point(x * radians, y * radians);\n }\n});\n\nfunction transformRotate(rotate) {\n return transformer({\n point: function point(x, y) {\n var r = rotate(x, y);\n return this.stream.point(r[0], r[1]);\n }\n });\n}\n\nfunction scaleTranslate(k, dx, dy, sx, sy) {\n function transform(x, y) {\n x *= sx;\n y *= sy;\n return [dx + k * x, dy - k * y];\n }\n\n transform.invert = function (x, y) {\n return [(x - dx) / k * sx, (dy - y) / k * sy];\n };\n\n return transform;\n}\n\nfunction scaleTranslateRotate(k, dx, dy, sx, sy, alpha) {\n if (!alpha) return scaleTranslate(k, dx, dy, sx, sy);\n var cosAlpha = cos(alpha),\n sinAlpha = sin(alpha),\n a = cosAlpha * k,\n b = sinAlpha * k,\n ai = cosAlpha / k,\n bi = sinAlpha / k,\n ci = (sinAlpha * dy - cosAlpha * dx) / k,\n fi = (sinAlpha * dx + cosAlpha * dy) / k;\n\n function transform(x, y) {\n x *= sx;\n y *= sy;\n return [a * x - b * y + dx, dy - b * x - a * y];\n }\n\n transform.invert = function (x, y) {\n return [sx * (ai * x - bi * y + ci), sy * (fi - bi * x - ai * y)];\n };\n\n return transform;\n}\n\nexport default function projection(project) {\n return projectionMutator(function () {\n return project;\n })();\n}\nexport function projectionMutator(projectAt) {\n var project,\n k = 150,\n // scale\n x = 480,\n y = 250,\n // translate\n lambda = 0,\n phi = 0,\n // center\n deltaLambda = 0,\n deltaPhi = 0,\n deltaGamma = 0,\n rotate,\n // pre-rotate\n alpha = 0,\n // post-rotate angle\n sx = 1,\n // reflectX\n sy = 1,\n // reflectX\n theta = null,\n preclip = clipAntimeridian,\n // pre-clip angle\n x0 = null,\n y0,\n x1,\n y1,\n postclip = identity,\n // post-clip extent\n delta2 = 0.5,\n // precision\n projectResample,\n projectTransform,\n projectRotateTransform,\n cache,\n cacheStream;\n\n function projection(point) {\n return projectRotateTransform(point[0] * radians, point[1] * radians);\n }\n\n function invert(point) {\n point = projectRotateTransform.invert(point[0], point[1]);\n return point && [point[0] * degrees, point[1] * degrees];\n }\n\n projection.stream = function (stream) {\n return cache && cacheStream === stream ? cache : cache = transformRadians(transformRotate(rotate)(preclip(projectResample(postclip(cacheStream = stream)))));\n };\n\n projection.preclip = function (_) {\n return arguments.length ? (preclip = _, theta = undefined, reset()) : preclip;\n };\n\n projection.postclip = function (_) {\n return arguments.length ? (postclip = _, x0 = y0 = x1 = y1 = null, reset()) : postclip;\n };\n\n projection.clipAngle = function (_) {\n return arguments.length ? (preclip = +_ ? clipCircle(theta = _ * radians) : (theta = null, clipAntimeridian), reset()) : theta * degrees;\n };\n\n projection.clipExtent = function (_) {\n return arguments.length ? (postclip = _ == null ? (x0 = y0 = x1 = y1 = null, identity) : clipRectangle(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]), reset()) : x0 == null ? null : [[x0, y0], [x1, y1]];\n };\n\n projection.scale = function (_) {\n return arguments.length ? (k = +_, recenter()) : k;\n };\n\n projection.translate = function (_) {\n return arguments.length ? (x = +_[0], y = +_[1], recenter()) : [x, y];\n };\n\n projection.center = function (_) {\n return arguments.length ? (lambda = _[0] % 360 * radians, phi = _[1] % 360 * radians, recenter()) : [lambda * degrees, phi * degrees];\n };\n\n projection.rotate = function (_) {\n return arguments.length ? (deltaLambda = _[0] % 360 * radians, deltaPhi = _[1] % 360 * radians, deltaGamma = _.length > 2 ? _[2] % 360 * radians : 0, recenter()) : [deltaLambda * degrees, deltaPhi * degrees, deltaGamma * degrees];\n };\n\n projection.angle = function (_) {\n return arguments.length ? (alpha = _ % 360 * radians, recenter()) : alpha * degrees;\n };\n\n projection.reflectX = function (_) {\n return arguments.length ? (sx = _ ? -1 : 1, recenter()) : sx < 0;\n };\n\n projection.reflectY = function (_) {\n return arguments.length ? (sy = _ ? -1 : 1, recenter()) : sy < 0;\n };\n\n projection.precision = function (_) {\n return arguments.length ? (projectResample = resample(projectTransform, delta2 = _ * _), reset()) : sqrt(delta2);\n };\n\n projection.fitExtent = function (extent, object) {\n return fitExtent(projection, extent, object);\n };\n\n projection.fitSize = function (size, object) {\n return fitSize(projection, size, object);\n };\n\n projection.fitWidth = function (width, object) {\n return fitWidth(projection, width, object);\n };\n\n projection.fitHeight = function (height, object) {\n return fitHeight(projection, height, object);\n };\n\n function recenter() {\n var center = scaleTranslateRotate(k, 0, 0, sx, sy, alpha).apply(null, project(lambda, phi)),\n transform = scaleTranslateRotate(k, x - center[0], y - center[1], sx, sy, alpha);\n rotate = rotateRadians(deltaLambda, deltaPhi, deltaGamma);\n projectTransform = compose(project, transform);\n projectRotateTransform = compose(rotate, projectTransform);\n projectResample = resample(projectTransform, delta2);\n return reset();\n }\n\n function reset() {\n cache = cacheStream = null;\n return projection;\n }\n\n return function () {\n project = projectAt.apply(this, arguments);\n projection.invert = project.invert && invert;\n return recenter();\n };\n}","import { abs, asin, atan2, cos, epsilon, pi, sign, sin, sqrt } from \"../math.js\";\nimport { conicProjection } from \"./conic.js\";\nimport { cylindricalEqualAreaRaw } from \"./cylindricalEqualArea.js\";\nexport function conicEqualAreaRaw(y0, y1) {\n var sy0 = sin(y0),\n n = (sy0 + sin(y1)) / 2; // Are the parallels symmetrical around the Equator?\n\n if (abs(n) < epsilon) return cylindricalEqualAreaRaw(y0);\n var c = 1 + sy0 * (2 * n - sy0),\n r0 = sqrt(c) / n;\n\n function project(x, y) {\n var r = sqrt(c - 2 * n * sin(y)) / n;\n return [r * sin(x *= n), r0 - r * cos(x)];\n }\n\n project.invert = function (x, y) {\n var r0y = r0 - y,\n l = atan2(x, abs(r0y)) * sign(r0y);\n if (r0y * n < 0) l -= pi * sign(x) * sign(r0y);\n return [l / n, asin((c - (x * x + r0y * r0y) * n * n) / (2 * n))];\n };\n\n return project;\n}\nexport default function () {\n return conicProjection(conicEqualAreaRaw).scale(155.424).center([0, 33.6442]);\n}","import { asin, cos, sin } from \"../math.js\";\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}","import { degrees, pi, radians } from \"../math.js\";\nimport { projectionMutator } from \"./index.js\";\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}","import conicEqualArea from \"./conicEqualArea.js\";\nexport default function () {\n return conicEqualArea().parallels([29.5, 45.5]).scale(1070).translate([480, 250]).rotate([96, 0]).center([-0.6, 38.7]);\n}","var e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\nexport default function (start, stop, count) {\n var reverse,\n i = -1,\n n,\n ticks,\n step;\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 var r0 = Math.round(start / step),\n r1 = Math.round(stop / step);\n if (r0 * step < start) ++r0;\n if (r1 * step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n\n while (++i < n) {\n ticks[i] = (r0 + i) * step;\n }\n } else {\n step = -step;\n\n var _r = Math.round(start * step),\n _r2 = Math.round(stop * step);\n\n if (_r / step < start) ++_r;\n if (_r2 / step > stop) --_r2;\n ticks = new Array(n = _r2 - _r + 1);\n\n while (++i < n) {\n ticks[i] = (_r + i) / step;\n }\n }\n\n if (reverse) ticks.reverse();\n return ticks;\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 ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power) : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);\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;else if (error >= e5) step1 *= 5;else if (error >= e2) step1 *= 2;\n return stop < start ? -step1 : step1;\n}","export default function (a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}","import ascending from \"./ascending.js\";\nexport default function (f) {\n var delta = f;\n var compare = f;\n\n if (f.length === 1) {\n delta = function delta(d, x) {\n return f(d) - x;\n };\n\n compare = ascendingComparator(f);\n }\n\n function left(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1;else hi = mid;\n }\n\n return lo;\n }\n\n function right(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) > 0) hi = mid;else lo = mid + 1;\n }\n\n return lo;\n }\n\n function center(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n var i = left(a, x, lo, hi - 1);\n return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;\n }\n\n return {\n left: left,\n center: center,\n right: right\n };\n}\n\nfunction ascendingComparator(f) {\n return function (d, x) {\n return ascending(f(d), x);\n };\n}","import ascending from \"./ascending.js\";\nimport bisector from \"./bisector.js\";\nimport number from \"./number.js\";\nvar ascendingBisect = bisector(ascending);\nexport var bisectRight = ascendingBisect.right;\nexport var bisectLeft = ascendingBisect.left;\nexport var bisectCenter = bisector(number).center;\nexport default bisectRight;","import _regeneratorRuntime from \"/home/alex/Desktop/github/lisa/my-gatsby-site/node_modules/@babel/runtime/regenerator\";\n\nvar _marked = /*#__PURE__*/_regeneratorRuntime.mark(numbers);\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nexport default function (x) {\n return x === null ? NaN : +x;\n}\nexport function numbers(values, valueof) {\n var _iterator, _step, value, index, _iterator2, _step2, _value;\n\n return _regeneratorRuntime.wrap(function numbers$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(valueof === undefined)) {\n _context.next = 21;\n break;\n }\n\n _iterator = _createForOfIteratorHelper(values);\n _context.prev = 2;\n\n _iterator.s();\n\n case 4:\n if ((_step = _iterator.n()).done) {\n _context.next = 11;\n break;\n }\n\n value = _step.value;\n\n if (!(value != null && (value = +value) >= value)) {\n _context.next = 9;\n break;\n }\n\n _context.next = 9;\n return value;\n\n case 9:\n _context.next = 4;\n break;\n\n case 11:\n _context.next = 16;\n break;\n\n case 13:\n _context.prev = 13;\n _context.t0 = _context[\"catch\"](2);\n\n _iterator.e(_context.t0);\n\n case 16:\n _context.prev = 16;\n\n _iterator.f();\n\n return _context.finish(16);\n\n case 19:\n _context.next = 40;\n break;\n\n case 21:\n index = -1;\n _iterator2 = _createForOfIteratorHelper(values);\n _context.prev = 23;\n\n _iterator2.s();\n\n case 25:\n if ((_step2 = _iterator2.n()).done) {\n _context.next = 32;\n break;\n }\n\n _value = _step2.value;\n\n if (!((_value = valueof(_value, ++index, values)) != null && (_value = +_value) >= _value)) {\n _context.next = 30;\n break;\n }\n\n _context.next = 30;\n return _value;\n\n case 30:\n _context.next = 25;\n break;\n\n case 32:\n _context.next = 37;\n break;\n\n case 34:\n _context.prev = 34;\n _context.t1 = _context[\"catch\"](23);\n\n _iterator2.e(_context.t1);\n\n case 37:\n _context.prev = 37;\n\n _iterator2.f();\n\n return _context.finish(37);\n\n case 40:\n case \"end\":\n return _context.stop();\n }\n }\n }, _marked, null, [[2, 13, 16, 19], [23, 34, 37, 40]]);\n}","import value from \"./value.js\";\nimport numberArray, { isNumberArray } from \"./numberArray.js\";\nexport default function (a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) {\n x[i] = value(a[i], b[i]);\n }\n\n for (; i < nb; ++i) {\n c[i] = b[i];\n }\n\n return function (t) {\n for (i = 0; i < na; ++i) {\n c[i] = x[i](t);\n }\n\n return c;\n };\n}","export default function (a, b) {\n var d = new Date();\n return a = +a, b = +b, function (t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}","import value from \"./value.js\";\nexport default function (a, b) {\n var i = {},\n c = {},\n k;\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) {\n c[k] = i[k](t);\n }\n\n return c;\n };\n}","export default function (a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function (t) {\n for (i = 0; i < n; ++i) {\n c[i] = a[i] * (1 - t) + b[i] * t;\n }\n\n return c;\n };\n}\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}","import { color } from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport { genericArray } from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, { isNumberArray } from \"./numberArray.js\";\nexport default function (a, b) {\n var t = typeof b,\n c;\n return b == null || t === \"boolean\" ? constant(b) : (t === \"number\" ? number : t === \"string\" ? (c = color(b)) ? (b = c, rgb) : string : b instanceof color ? rgb : b instanceof Date ? date : isNumberArray(b) ? numberArray : Array.isArray(b) ? genericArray : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object : number)(a, b);\n}","export default function (a, b) {\n return a = +a, b = +b, function (t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}","export default function number(x) {\n return +x;\n}","import { bisect } from \"d3-array\";\nimport { interpolate as interpolateValue, interpolateNumber, interpolateRound } from \"d3-interpolate\";\nimport constant from \"./constant.js\";\nimport number from \"./number.js\";\nvar unit = [0, 1];\nexport function identity(x) {\n return x;\n}\n\nfunction normalize(a, b) {\n return (b -= a = +a) ? function (x) {\n return (x - a) / b;\n } : constant(isNaN(b) ? NaN : 0.5);\n}\n\nfunction clamper(a, b) {\n var t;\n if (a > b) t = a, a = b, b = t;\n return function (x) {\n return Math.max(a, Math.min(b, x));\n };\n} // normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\n\n\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0],\n d1 = domain[1],\n r0 = range[0],\n r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function (x) {\n return r0(d0(x));\n };\n}\n\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1; // Reverse descending domains.\n\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n\n return function (x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target.domain(source.domain()).range(source.range()).interpolate(source.interpolate()).clamp(source.clamp()).unknown(source.unknown());\n}\nexport function transformer() {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n\n function rescale() {\n var n = Math.min(domain.length, range.length);\n if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);\n piecewise = n > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n\n scale.invert = function (y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));\n };\n\n scale.domain = function (_) {\n return arguments.length ? (domain = Array.from(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function (_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function (_) {\n return range = Array.from(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function (_) {\n return arguments.length ? (clamp = _ ? true : identity, rescale()) : clamp !== identity;\n };\n\n scale.interpolate = function (_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n scale.unknown = function (_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function (t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\nexport default function continuous() {\n return transformer()(identity, identity);\n}","export default function constants(x) {\n return function () {\n return x;\n };\n}","export function initRange(domain, range) {\n switch (arguments.length) {\n case 0:\n break;\n\n case 1:\n this.range(domain);\n break;\n\n default:\n this.range(range).domain(domain);\n break;\n }\n\n return this;\n}\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0:\n break;\n\n case 1:\n {\n if (typeof domain === \"function\") this.interpolator(domain);else this.range(domain);\n break;\n }\n\n default:\n {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);else this.range(interpolator);\n break;\n }\n }\n\n return this;\n}","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\nexport default function formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nexport function FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\n\nFormatSpecifier.prototype.toString = function () {\n return this.fill + this.align + this.sign + this.symbol + (this.zero ? \"0\" : \"\") + (this.width === undefined ? \"\" : Math.max(1, this.width | 0)) + (this.comma ? \",\" : \"\") + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0)) + (this.trim ? \"~\" : \"\") + this.type;\n};","import { formatDecimalParts } from \"./formatDecimal.js\";\nexport var prefixExponent;\nexport default function (x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient : i > n ? coefficient + new Array(i - n + 1).join(\"0\") : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i) : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}","export default function (x) {\n return Math.abs(x = Math.round(x)) >= 1e21 ? x.toLocaleString(\"en\").replace(/,/g, \"\") : x.toString(10);\n} // Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\n\nexport function formatDecimalParts(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n\n var i,\n coefficient = x.slice(0, i); // 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\n return [coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient, +x.slice(i + 1)];\n}","import { formatDecimalParts } from \"./formatDecimal.js\";\nexport default function (x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}","import { formatDecimalParts } from \"./formatDecimal.js\";\nexport default function (x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1) : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}","import formatDecimal from \"./formatDecimal.js\";\nimport formatPrefixAuto from \"./formatPrefixAuto.js\";\nimport formatRounded from \"./formatRounded.js\";\nexport default {\n \"%\": function _(x, p) {\n return (x * 100).toFixed(p);\n },\n \"b\": function b(x) {\n return Math.round(x).toString(2);\n },\n \"c\": function c(x) {\n return x + \"\";\n },\n \"d\": formatDecimal,\n \"e\": function e(x, p) {\n return x.toExponential(p);\n },\n \"f\": function f(x, p) {\n return x.toFixed(p);\n },\n \"g\": function g(x, p) {\n return x.toPrecision(p);\n },\n \"o\": function o(x) {\n return Math.round(x).toString(8);\n },\n \"p\": function p(x, _p) {\n return formatRounded(x * 100, _p);\n },\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": function X(x) {\n return Math.round(x).toString(16).toUpperCase();\n },\n \"x\": function x(_x) {\n return Math.round(_x).toString(16);\n }\n};","export default function (x) {\n return x;\n}","import exponent from \"./exponent.js\";\nimport formatGroup from \"./formatGroup.js\";\nimport formatNumerals from \"./formatNumerals.js\";\nimport formatSpecifier from \"./formatSpecifier.js\";\nimport formatTrim from \"./formatTrim.js\";\nimport formatTypes from \"./formatTypes.js\";\nimport { prefixExponent } from \"./formatPrefixAuto.js\";\nimport identity from \"./identity.js\";\nvar map = Array.prototype.map,\n prefixes = [\"y\", \"z\", \"a\", \"f\", \"p\", \"n\", \"µ\", \"m\", \"\", \"k\", \"M\", \"G\", \"T\", \"P\", \"E\", \"Z\", \"Y\"];\nexport default function (locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"−\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n 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; // The \"n\" type is an alias for \",g\".\n\n if (type === \"n\") comma = true, type = \"g\"; // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = \"g\"; // If zero fill is specified, padding goes after sign and before digits.\n\n if (zero || fill === \"0\" && align === \"=\") zero = true, fill = \"0\", align = \"=\"; // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n\n var prefix = symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\"; // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type); // 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\n precision = precision === undefined ? 6 : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision)) : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i,\n n,\n c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value; // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n\n var valueNegative = value < 0 || 1 / value < 0; // Perform the initial formatting.\n\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision); // Trim insignificant zeros.\n\n if (trim) value = formatTrim(value); // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false; // Compute the prefix and suffix.\n\n valuePrefix = (valueNegative ? sign === \"(\" ? sign : minus : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\"); // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n\n if (maybeSuffix) {\n i = -1, n = value.length;\n\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 } // If the fill character is not \"0\", grouping is applied before padding.\n\n\n if (comma && !zero) value = group(value, Infinity); // Compute the padding.\n\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\"; // If the fill character is \"0\", grouping is applied after padding.\n\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\"; // Reconstruct the final output based on the desired alignment.\n\n switch (align) {\n case \"<\":\n value = valuePrefix + value + valueSuffix + padding;\n break;\n\n case \"=\":\n value = valuePrefix + padding + value + valueSuffix;\n break;\n\n case \"^\":\n value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length);\n break;\n\n default:\n value = padding + valuePrefix + value + valueSuffix;\n 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}","import formatLocale from \"./locale.js\";\nvar locale;\nexport var format;\nexport var formatPrefix;\ndefaultLocale({\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}","export default function (grouping, thousands) {\n return function (value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}","export default function (numerals) {\n return function (value) {\n return value.replace(/[0-9]/g, function (i) {\n return numerals[+i];\n });\n };\n}","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function (s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\":\n i0 = i1 = i;\n break;\n\n case \"0\":\n if (i0 === 0) i0 = i;\n i1 = i;\n break;\n\n default:\n if (!+s[i]) break out;\n if (i0 > 0) i0 = 0;\n break;\n }\n }\n\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}","import { tickStep } from \"d3-array\";\nimport { format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound } from \"d3-format\";\nexport default function tickFormat(start, stop, count, specifier) {\n var step = tickStep(start, stop, count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n\n switch (specifier.type) {\n case \"s\":\n {\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\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\":\n {\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\n case \"f\":\n case \"%\":\n {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n\n return format(specifier);\n}","import exponent from \"./exponent.js\";\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}","import exponent from \"./exponent.js\";\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}","import exponent from \"./exponent.js\";\nexport default function (step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}","import { ticks, tickIncrement } from \"d3-array\";\nimport continuous, { copy } from \"./continuous.js\";\nimport { initRange } from \"./init.js\";\nimport tickFormat from \"./tickFormat.js\";\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function (count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function (count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function (count) {\n if (count == null) count = 10;\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n\n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count);\n\n if (step === prestep) {\n d[i0] = start;\n d[i1] = stop;\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n\n prestep = step;\n }\n\n return scale;\n };\n\n return scale;\n}\nexport default function linear() {\n var scale = continuous();\n\n scale.copy = function () {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n return linearish(scale);\n}","var t0 = new Date(),\n t1 = new Date();\nexport default function newInterval(floori, offseti, count, field) {\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date() : new Date(+date)), date;\n }\n\n interval.floor = function (date) {\n return floori(date = new Date(+date)), date;\n };\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 = [],\n 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\n do {\n range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n } while (previous < start && start < stop);\n\n return range;\n };\n\n interval.filter = function (test) {\n return newInterval(function (date) {\n if (date >= date) while (floori(date), !test(date)) {\n date.setTime(date - 1);\n }\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\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n\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 : !(step > 1) ? interval : interval.filter(field ? function (d) {\n return field(d) % step === 0;\n } : function (d) {\n return interval.count(0, d) % step === 0;\n });\n };\n }\n\n return interval;\n}","import interval from \"./interval.js\";\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}); // An optimized implementation for this simple case.\n\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;","import interval from \"./interval.js\";\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});\nexport default month;\nexport var months = month.range;","export var durationSecond = 1000;\nexport var durationMinute = durationSecond * 60;\nexport var durationHour = durationMinute * 60;\nexport var durationDay = durationHour * 24;\nexport var durationWeek = durationDay * 7;\nexport var durationMonth = durationDay * 30;\nexport var durationYear = durationDay * 365;","import interval from \"./interval.js\";\nimport { durationMinute, durationWeek } from \"./duration.js\";\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);\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;","import interval from \"./interval.js\";\nimport { durationDay, durationMinute } from \"./duration.js\";\nvar day = interval(function (date) {\n return date.setHours(0, 0, 0, 0);\n}, function (date, step) {\n return 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});\nexport default day;\nexport var days = day.range;","import interval from \"./interval.js\";\nimport { durationHour, durationMinute, durationSecond } from \"./duration.js\";\nvar hour = interval(function (date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute);\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});\nexport default hour;\nexport var hours = hour.range;","import interval from \"./interval.js\";\nimport { durationMinute, durationSecond } from \"./duration.js\";\nvar minute = interval(function (date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond);\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});\nexport default minute;\nexport var minutes = minute.range;","import interval from \"./interval.js\";\nimport { durationSecond } from \"./duration.js\";\nvar second = interval(function (date) {\n date.setTime(date - date.getMilliseconds());\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});\nexport default second;\nexport var seconds = second.range;","import interval from \"./interval.js\";\nvar millisecond = interval(function () {// noop\n}, function (date, step) {\n date.setTime(+date + step);\n}, function (start, end) {\n return end - start;\n}); // An optimized implementation for this simple case.\n\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;","import interval from \"./interval.js\";\nimport { durationWeek } from \"./duration.js\";\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);\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;","import interval from \"./interval.js\";\nimport { durationDay } from \"./duration.js\";\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});\nexport default utcDay;\nexport var utcDays = utcDay.range;","import interval from \"./interval.js\";\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}); // An optimized implementation for this simple case.\n\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;","import { timeDay, timeSunday, timeMonday, timeThursday, timeYear, utcDay, utcSunday, utcMonday, utcThursday, utcYear } 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\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\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newDate(y, m, d) {\n return {\n y: y,\n m: m,\n d: d,\n H: 0,\n M: 0,\n S: 0,\n L: 0\n };\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 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 var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"g\": formatYearISO,\n \"G\": formatFullYearISO,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"q\": formatQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"g\": formatUTCYearISO,\n \"G\": formatUTCFullYearISO,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"q\": formatUTCQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"g\": parseYear,\n \"G\": parseFullYear,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"q\": parseQuarter,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n }; // These recursive directive definitions must be deferred.\n\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 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);else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, Z) {\n return function (string) {\n var d = newDate(1900, undefined, 1),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week,\n day;\n if (i != string.length) return null; // If a UNIX timestamp is specified, return it.\n\n if (\"Q\" in d) return new Date(d.Q);\n if (\"s\" in d) return new Date(d.s * 1000 + (\"L\" in d ? d.L : 0)); // If this is utcParse, never use the local timezone.\n\n if (Z && !(\"Z\" in d)) d.Z = 0; // The am-pm flag is 0 for AM, and 1 for PM.\n\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12; // If the month was not specified, inherit from the quarter.\n\n if (d.m === undefined) d.m = \"q\" in d ? d.q : 0; // Convert day-of-week and week-of-year to day-of-year.\n\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n\n if (\"Z\" in d) {\n week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = localDate(newDate(d.y, 0, 1)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n } // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n\n\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n } // Otherwise, all fields are in local time.\n\n\n return localDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || (j = parse(d, string, j)) < 0) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatQuarter(d) {\n return 1 + ~~(d.getMonth() / 3);\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n function formatUTCQuarter(d) {\n return 1 + ~~(d.getUTCMonth() / 3);\n }\n\n return {\n format: function format(specifier) {\n var f = newFormat(specifier += \"\", formats);\n\n f.toString = function () {\n return specifier;\n };\n\n return f;\n },\n parse: function parse(specifier) {\n var p = newParse(specifier += \"\", false);\n\n p.toString = function () {\n return specifier;\n };\n\n return p;\n },\n utcFormat: function utcFormat(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n\n f.toString = function () {\n return specifier;\n };\n\n return f;\n },\n utcParse: function utcParse(specifier) {\n var p = newParse(specifier += \"\", true);\n\n p.toString = function () {\n return specifier;\n };\n\n return p;\n }\n };\n}\nvar pads = {\n \"-\": \"\",\n \"_\": \" \",\n \"0\": \"0\"\n},\n numberRe = /^\\s*\\d+/,\n // note: ignores next directive\npercentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n return new Map(names.map(function (name, i) {\n return [name.toLowerCase(), i];\n }));\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseQuarter(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.s = +n[0], i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction dISO(d) {\n var day = d.getDay();\n return day >= 4 || day === 0 ? timeThursday(d) : timeThursday.ceil(d);\n}\n\nfunction formatWeekNumberISO(d, p) {\n d = dISO(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatYearISO(d, p) {\n d = dISO(d);\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatFullYearISO(d, p) {\n var day = d.getDay();\n d = day >= 4 || day === 0 ? timeThursday(d) : timeThursday.ceil(d);\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\")) + pad(z / 60 | 0, \"0\", 2) + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction UTCdISO(d) {\n var day = d.getUTCDay();\n return day >= 4 || day === 0 ? utcThursday(d) : utcThursday.ceil(d);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n d = UTCdISO(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCYearISO(d, p) {\n d = UTCdISO(d);\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCFullYearISO(d, p) {\n var day = d.getUTCDay();\n d = day >= 4 || day === 0 ? utcThursday(d) : utcThursday.ceil(d);\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}","import formatLocale from \"./locale.js\";\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\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});\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}","import { bisector, tickStep } from \"d3-array\";\nimport { timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeMillisecond } from \"d3-time\";\nimport { timeFormat } from \"d3-time-format\";\nimport continuous, { copy } from \"./continuous.js\";\nimport { initRange } from \"./init.js\";\nimport nice from \"./nice.js\";\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(),\n invert = scale.invert,\n domain = scale.domain;\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 var tickIntervals = [[second, 1, durationSecond], [second, 5, 5 * durationSecond], [second, 15, 15 * durationSecond], [second, 30, 30 * durationSecond], [minute, 1, durationMinute], [minute, 5, 5 * durationMinute], [minute, 15, 15 * durationMinute], [minute, 30, 30 * durationMinute], [hour, 1, durationHour], [hour, 3, 3 * durationHour], [hour, 6, 6 * durationHour], [hour, 12, 12 * durationHour], [day, 1, durationDay], [day, 2, 2 * durationDay], [week, 1, durationWeek], [month, 1, durationMonth], [month, 3, 3 * durationMonth], [year, 1, durationYear]];\n\n function tickFormat(date) {\n return (second(date) < date ? formatMillisecond : minute(date) < date ? formatSecond : hour(date) < date ? formatMinute : day(date) < date ? formatHour : month(date) < date ? week(date) < date ? formatDay : formatWeek : year(date) < date ? formatMonth : formatYear)(date);\n }\n\n function tickInterval(interval, start, stop) {\n if (interval == null) interval = 10; // 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\n if (typeof interval === \"number\") {\n var target = Math.abs(stop - start) / interval,\n i = bisector(function (i) {\n return i[2];\n }).right(tickIntervals, target),\n step;\n\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 return interval.every(step);\n }\n\n return interval;\n }\n\n scale.invert = function (y) {\n return new Date(invert(y));\n };\n\n scale.domain = function (_) {\n return arguments.length ? domain(Array.from(_, number)) : domain().map(date);\n };\n\n scale.ticks = function (interval) {\n var d = domain(),\n 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);\n t = t ? t.range(t0, t1 + 1) : []; // inclusive stop\n\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) {\n var d = domain();\n return (interval = tickInterval(interval, d[0], d[d.length - 1])) ? domain(nice(d, interval)) : 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}\nexport default function time() {\n return initRange.apply(calendar(timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeMillisecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]), arguments);\n}","export default function nice(domain, interval) {\n domain = domain.slice();\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}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import { linearish } from \"./linear.js\";\nimport { copy, identity, transformer } from \"./continuous.js\";\nimport { initRange } from \"./init.js\";\n\nfunction transformPow(exponent) {\n return function (x) {\n return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent);\n };\n}\n\nfunction transformSqrt(x) {\n return x < 0 ? -Math.sqrt(-x) : Math.sqrt(x);\n}\n\nfunction transformSquare(x) {\n return x < 0 ? -x * x : x * x;\n}\n\nexport function powish(transform) {\n var scale = transform(identity, identity),\n exponent = 1;\n\n function rescale() {\n return exponent === 1 ? transform(identity, identity) : exponent === 0.5 ? transform(transformSqrt, transformSquare) : transform(transformPow(exponent), transformPow(1 / exponent));\n }\n\n scale.exponent = function (_) {\n return arguments.length ? (exponent = +_, rescale()) : exponent;\n };\n\n return linearish(scale);\n}\nexport default function pow() {\n var scale = powish(transformer());\n\n scale.copy = function () {\n return copy(scale, pow()).exponent(scale.exponent());\n };\n\n initRange.apply(scale, arguments);\n return scale;\n}\nexport function sqrt() {\n return pow.apply(null, arguments).exponent(0.5);\n}","import _slicedToArray from \"/home/alex/Desktop/github/lisa/my-gatsby-site/node_modules/@babel/runtime/helpers/esm/slicedToArray\";\nimport { interpolate, interpolateRound } from \"d3-interpolate\";\nimport { identity } from \"./continuous.js\";\nimport { initInterpolator } from \"./init.js\";\nimport { linearish } from \"./linear.js\";\nimport { loggish } from \"./log.js\";\nimport { symlogish } from \"./symlog.js\";\nimport { powish } from \"./pow.js\";\n\nfunction transformer() {\n var x0 = 0,\n x1 = 1,\n t0,\n t1,\n k10,\n transform,\n interpolator = identity,\n clamp = false,\n unknown;\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : interpolator(k10 === 0 ? 0.5 : (x = (transform(x) - t0) * k10, clamp ? Math.max(0, Math.min(1, x)) : x));\n }\n\n scale.domain = function (_) {\n var _ref, _ref2;\n\n return arguments.length ? ((_ref = _, _ref2 = _slicedToArray(_ref, 2), x0 = _ref2[0], x1 = _ref2[1], _ref), t0 = transform(x0 = +x0), t1 = transform(x1 = +x1), k10 = t0 === t1 ? 0 : 1 / (t1 - t0), 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 function range(interpolate) {\n return function (_) {\n var _ref3, _ref4;\n\n var r0, r1;\n return arguments.length ? ((_ref3 = _, _ref4 = _slicedToArray(_ref3, 2), r0 = _ref4[0], r1 = _ref4[1], _ref3), interpolator = interpolate(r0, r1), scale) : [interpolator(0), interpolator(1)];\n };\n }\n\n scale.range = range(interpolate);\n scale.rangeRound = range(interpolateRound);\n\n scale.unknown = function (_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function (t) {\n transform = t, t0 = t(x0), t1 = t(x1), k10 = t0 === t1 ? 0 : 1 / (t1 - t0);\n return scale;\n };\n}\n\nexport function copy(source, target) {\n return target.domain(source.domain()).interpolator(source.interpolator()).clamp(source.clamp()).unknown(source.unknown());\n}\nexport default function sequential() {\n var scale = linearish(transformer()(identity));\n\n scale.copy = function () {\n return copy(scale, sequential());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\nexport function sequentialLog() {\n var scale = loggish(transformer()).domain([1, 10]);\n\n scale.copy = function () {\n return copy(scale, sequentialLog()).base(scale.base());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\nexport function sequentialSymlog() {\n var scale = symlogish(transformer());\n\n scale.copy = function () {\n return copy(scale, sequentialSymlog()).constant(scale.constant());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\nexport function sequentialPow() {\n var scale = powish(transformer());\n\n scale.copy = function () {\n return copy(scale, sequentialPow()).exponent(scale.exponent());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\nexport function sequentialSqrt() {\n return sequentialPow.apply(null, arguments).exponent(0.5);\n}","export default function (specifier) {\n var n = specifier.length / 6 | 0,\n colors = new Array(n),\n i = 0;\n\n while (i < n) {\n colors[i] = \"#\" + specifier.slice(i * 6, ++i * 6);\n }\n\n return colors;\n}","import { interpolateRgbBasis } from \"d3-interpolate\";\nexport default (function (scheme) {\n return interpolateRgbBasis(scheme[scheme.length - 1]);\n});","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\nexport var scheme = new Array(3).concat(\"deebf79ecae13182bd\", \"eff3ffbdd7e76baed62171b5\", \"eff3ffbdd7e76baed63182bd08519c\", \"eff3ffc6dbef9ecae16baed63182bd08519c\", \"eff3ffc6dbef9ecae16baed64292c62171b5084594\", \"f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594\", \"f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b\").map(colors);\nexport default ramp(scheme);","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\nexport var scheme = new Array(3).concat(\"fee0d2fc9272de2d26\", \"fee5d9fcae91fb6a4acb181d\", \"fee5d9fcae91fb6a4ade2d26a50f15\", \"fee5d9fcbba1fc9272fb6a4ade2d26a50f15\", \"fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d\", \"fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d\", \"fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d\").map(colors);\nexport default ramp(scheme);","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\n this._ = \"\";\n}\n\nfunction path() {\n return new Path();\n}\n\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function moveTo(x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function closePath() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._ += \"Z\";\n }\n },\n lineTo: function lineTo(x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function quadraticCurveTo(x1, y1, x, y) {\n this._ += \"Q\" + +x1 + \",\" + +y1 + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function bezierCurveTo(x1, y1, x2, y2, x, y) {\n this._ += \"C\" + +x1 + \",\" + +y1 + \",\" + +x2 + \",\" + +y2 + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function arcTo(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; // Is the radius negative? Error.\n\n if (r < 0) throw new Error(\"negative radius: \" + r); // Is this path empty? Move to (x1,y1).\n\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n } // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon)) ; // 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 } // 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; // If the start tangent is not coincident with (x0,y0), line to.\n\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 arc(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n var dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0; // Is the radius negative? Error.\n\n if (r < 0) throw new Error(\"negative radius: \" + r); // Is this path empty? Move to (x0,y0).\n\n if (this._x1 === null) {\n this._ += \"M\" + x0 + \",\" + y0;\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 } // Is this arc empty? We’re done.\n\n\n if (!r) return; // Does the angle go the wrong way? Flip the direction.\n\n if (da < 0) da = da % tau + tau; // Is this a complete circle? Draw two arcs to complete the circle.\n\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 } // 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 rect(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 toString() {\n return this._;\n }\n};\nexport default path;","export var slice = Array.prototype.slice;\nexport default function (x) {\n return typeof x === \"object\" && \"length\" in x ? x // Array, TypedArray, NodeList, array-like\n : Array.from(x); // Map, Set, iterable, string, or anything else\n}","export default function (x) {\n return function constant() {\n return x;\n };\n}","function Linear(context) {\n this._context = context;\n}\n\nLinear.prototype = {\n areaStart: function areaStart() {\n this._line = 0;\n },\n areaEnd: function areaEnd() {\n this._line = NaN;\n },\n lineStart: function lineStart() {\n this._point = 0;\n },\n lineEnd: function lineEnd() {\n if (this._line || this._line !== 0 && this._point === 1) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function point(x, y) {\n x = +x, y = +y;\n\n switch (this._point) {\n case 0:\n this._point = 1;\n this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y);\n break;\n\n case 1:\n this._point = 2;\n // proceed\n\n default:\n this._context.lineTo(x, y);\n\n break;\n }\n }\n};\nexport default function (context) {\n return new Linear(context);\n}","export function x(p) {\n return p[0];\n}\nexport function y(p) {\n return p[1];\n}","import { path } from \"d3-path\";\nimport array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport { x as pointX, y as pointY } from \"./point.js\";\nexport default function (x, y) {\n var defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n x = typeof x === \"function\" ? x : x === undefined ? pointX : constant(x);\n y = typeof y === \"function\" ? y : y === undefined ? pointY : constant(y);\n\n function line(data) {\n var i,\n n = (data = array(data)).length,\n d,\n defined0 = false,\n buffer;\n 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();else output.lineEnd();\n }\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}","export function Transform(k, x, y) {\n this.k = k;\n this.x = x;\n this.y = y;\n}\nTransform.prototype = {\n constructor: Transform,\n scale: function scale(k) {\n return k === 1 ? this : new Transform(this.k * k, this.x, this.y);\n },\n translate: function translate(x, y) {\n return x === 0 & y === 0 ? this : new Transform(this.k, this.x + this.k * x, this.y + this.k * y);\n },\n apply: function apply(point) {\n return [point[0] * this.k + this.x, point[1] * this.k + this.y];\n },\n applyX: function applyX(x) {\n return x * this.k + this.x;\n },\n applyY: function applyY(y) {\n return y * this.k + this.y;\n },\n invert: function invert(location) {\n return [(location[0] - this.x) / this.k, (location[1] - this.y) / this.k];\n },\n invertX: function invertX(x) {\n return (x - this.x) / this.k;\n },\n invertY: function invertY(y) {\n return (y - this.y) / this.k;\n },\n rescaleX: function rescaleX(x) {\n return x.copy().domain(x.range().map(this.invertX, this).map(x.invert, x));\n },\n rescaleY: function rescaleY(y) {\n return y.copy().domain(y.range().map(this.invertY, this).map(y.invert, y));\n },\n toString: function toString() {\n return \"translate(\" + this.x + \",\" + this.y + \") scale(\" + this.k + \")\";\n }\n};\nexport var identity = new Transform(1, 0, 0);\ntransform.prototype = Transform.prototype;\nexport default function transform(node) {\n while (!node.__zoom) {\n if (!(node = node.parentNode)) return identity;\n }\n\n return node.__zoom;\n}","'use strict';\n\nvar reactIs = require('react-is');\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n\n\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';\n\nvar b = \"function\" === typeof Symbol && Symbol.for,\n c = b ? Symbol.for(\"react.element\") : 60103,\n d = b ? Symbol.for(\"react.portal\") : 60106,\n e = b ? Symbol.for(\"react.fragment\") : 60107,\n f = b ? Symbol.for(\"react.strict_mode\") : 60108,\n g = b ? Symbol.for(\"react.profiler\") : 60114,\n h = b ? Symbol.for(\"react.provider\") : 60109,\n k = b ? Symbol.for(\"react.context\") : 60110,\n l = b ? Symbol.for(\"react.async_mode\") : 60111,\n m = b ? Symbol.for(\"react.concurrent_mode\") : 60111,\n n = b ? Symbol.for(\"react.forward_ref\") : 60112,\n p = b ? Symbol.for(\"react.suspense\") : 60113,\n q = b ? Symbol.for(\"react.suspense_list\") : 60120,\n r = b ? Symbol.for(\"react.memo\") : 60115,\n t = b ? Symbol.for(\"react.lazy\") : 60116,\n v = b ? Symbol.for(\"react.block\") : 60121,\n w = b ? Symbol.for(\"react.fundamental\") : 60117,\n x = b ? Symbol.for(\"react.responder\") : 60118,\n y = b ? Symbol.for(\"react.scope\") : 60119;\n\nfunction z(a) {\n if (\"object\" === typeof a && null !== a) {\n var u = a.$$typeof;\n\n switch (u) {\n case c:\n switch (a = a.type, a) {\n case l:\n case m:\n case e:\n case g:\n case f:\n case p:\n return a;\n\n default:\n switch (a = a && a.$$typeof, a) {\n case k:\n case n:\n case t:\n case r:\n case h:\n return a;\n\n default:\n return u;\n }\n\n }\n\n case d:\n return u;\n }\n }\n}\n\nfunction A(a) {\n return z(a) === m;\n}\n\nexports.AsyncMode = l;\nexports.ConcurrentMode = m;\nexports.ContextConsumer = k;\nexports.ContextProvider = h;\nexports.Element = c;\nexports.ForwardRef = n;\nexports.Fragment = e;\nexports.Lazy = t;\nexports.Memo = r;\nexports.Portal = d;\nexports.Profiler = g;\nexports.StrictMode = f;\nexports.Suspense = p;\n\nexports.isAsyncMode = function (a) {\n return A(a) || z(a) === l;\n};\n\nexports.isConcurrentMode = A;\n\nexports.isContextConsumer = function (a) {\n return z(a) === k;\n};\n\nexports.isContextProvider = function (a) {\n return z(a) === h;\n};\n\nexports.isElement = function (a) {\n return \"object\" === typeof a && null !== a && a.$$typeof === c;\n};\n\nexports.isForwardRef = function (a) {\n return z(a) === n;\n};\n\nexports.isFragment = function (a) {\n return z(a) === e;\n};\n\nexports.isLazy = function (a) {\n return z(a) === t;\n};\n\nexports.isMemo = function (a) {\n return z(a) === r;\n};\n\nexports.isPortal = function (a) {\n return z(a) === d;\n};\n\nexports.isProfiler = function (a) {\n return z(a) === g;\n};\n\nexports.isStrictMode = function (a) {\n return z(a) === f;\n};\n\nexports.isSuspense = function (a) {\n return z(a) === p;\n};\n\nexports.isValidElementType = function (a) {\n return \"string\" === typeof a || \"function\" === typeof a || a === e || a === m || a === g || a === f || a === p || a === q || \"object\" === typeof a && null !== a && (a.$$typeof === t || a.$$typeof === r || a.$$typeof === h || a.$$typeof === k || a.$$typeof === n || a.$$typeof === w || a.$$typeof === x || a.$$typeof === y || a.$$typeof === v);\n};\n\nexports.typeOf = z;","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}","//\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\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 var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB); // Test for A's keys different from B.\n\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || ret === void 0 && valueA !== valueB) {\n return false;\n }\n }\n\n return true;\n};","function stylis_min(W) {\n function M(d, c, e, h, a) {\n for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {\n g = e.charCodeAt(l);\n l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);\n\n if (0 === b + n + v + m) {\n if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {\n switch (g) {\n case 32:\n case 9:\n case 59:\n case 13:\n case 10:\n break;\n\n default:\n f += e.charAt(l);\n }\n\n g = 59;\n }\n\n switch (g) {\n case 123:\n f = f.trim();\n q = f.charCodeAt(0);\n k = 1;\n\n for (t = ++l; l < B;) {\n switch (g = e.charCodeAt(l)) {\n case 123:\n k++;\n break;\n\n case 125:\n k--;\n break;\n\n case 47:\n switch (g = e.charCodeAt(l + 1)) {\n case 42:\n case 47:\n a: {\n for (u = l + 1; u < J; ++u) {\n switch (e.charCodeAt(u)) {\n case 47:\n if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {\n l = u + 1;\n break a;\n }\n\n break;\n\n case 10:\n if (47 === g) {\n l = u + 1;\n break a;\n }\n\n }\n }\n\n l = u;\n }\n\n }\n\n break;\n\n case 91:\n g++;\n\n case 40:\n g++;\n\n case 34:\n case 39:\n for (; l++ < J && e.charCodeAt(l) !== g;) {}\n\n }\n\n if (0 === k) break;\n l++;\n }\n\n k = e.substring(t, l);\n 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));\n\n switch (q) {\n case 64:\n 0 < r && (f = f.replace(N, ''));\n g = f.charCodeAt(1);\n\n switch (g) {\n case 100:\n case 109:\n case 115:\n case 45:\n r = c;\n break;\n\n default:\n r = O;\n }\n\n k = M(c, r, k, g, a + 1);\n t = k.length;\n 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));\n if (0 < t) switch (g) {\n case 115:\n f = f.replace(da, ea);\n\n case 100:\n case 109:\n case 45:\n k = f + '{' + k + '}';\n break;\n\n case 107:\n f = f.replace(fa, '$1 $2');\n k = f + '{' + k + '}';\n k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;\n break;\n\n default:\n k = f + k, 112 === h && (k = (p += k, ''));\n } else k = '';\n break;\n\n default:\n k = M(c, X(c, f, I), k, h, a + 1);\n }\n\n F += k;\n k = I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n break;\n\n case 125:\n case 59:\n f = (0 < r ? f.replace(N, '') : f).trim();\n if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\\x00\\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {\n case 0:\n break;\n\n case 64:\n if (105 === g || 99 === g) {\n G += f + e.charAt(l);\n break;\n }\n\n default:\n 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));\n }\n I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n }\n }\n\n switch (g) {\n case 13:\n case 10:\n 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\\x00');\n 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);\n z = 1;\n D++;\n break;\n\n case 59:\n case 125:\n if (0 === b + n + v + m) {\n z++;\n break;\n }\n\n default:\n z++;\n y = e.charAt(l);\n\n switch (g) {\n case 9:\n case 32:\n if (0 === n + m + b) switch (x) {\n case 44:\n case 58:\n case 9:\n case 32:\n y = '';\n break;\n\n default:\n 32 !== g && (y = ' ');\n }\n break;\n\n case 0:\n y = '\\\\0';\n break;\n\n case 12:\n y = '\\\\f';\n break;\n\n case 11:\n y = '\\\\v';\n break;\n\n case 38:\n 0 === n + b + m && (r = I = 1, y = '\\f' + y);\n break;\n\n case 108:\n if (0 === n + b + m + E && 0 < u) switch (l - u) {\n case 2:\n 112 === x && 58 === e.charCodeAt(l - 3) && (E = x);\n\n case 8:\n 111 === K && (E = K);\n }\n break;\n\n case 58:\n 0 === n + b + m && (u = l);\n break;\n\n case 44:\n 0 === b + v + n + m && (r = 1, y += '\\r');\n break;\n\n case 34:\n case 39:\n 0 === b && (n = n === g ? 0 : 0 === n ? g : n);\n break;\n\n case 91:\n 0 === n + b + v && m++;\n break;\n\n case 93:\n 0 === n + b + v && m--;\n break;\n\n case 41:\n 0 === n + b + m && v--;\n break;\n\n case 40:\n if (0 === n + b + m) {\n if (0 === q) switch (2 * x + 3 * K) {\n case 533:\n break;\n\n default:\n q = 1;\n }\n v++;\n }\n\n break;\n\n case 64:\n 0 === b + v + n + m + u + k && (k = 1);\n break;\n\n case 42:\n case 47:\n if (!(0 < n + m + v)) switch (b) {\n case 0:\n switch (2 * g + 3 * e.charCodeAt(l + 1)) {\n case 235:\n b = 47;\n break;\n\n case 220:\n t = l, b = 42;\n }\n\n break;\n\n case 42:\n 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);\n }\n }\n\n 0 === b && (f += y);\n }\n\n K = x;\n x = g;\n l++;\n }\n\n t = p.length;\n\n if (0 < t) {\n r = c;\n if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;\n p = r.join(',') + '{' + p + '}';\n\n if (0 !== w * E) {\n 2 !== w || L(p, 2) || (E = 0);\n\n switch (E) {\n case 111:\n p = p.replace(ha, ':-moz-$1') + p;\n break;\n\n case 112:\n p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;\n }\n\n E = 0;\n }\n }\n\n return G + p + F;\n }\n\n function X(d, c, e) {\n var h = c.trim().split(ia);\n c = h;\n var a = h.length,\n m = d.length;\n\n switch (m) {\n case 0:\n case 1:\n var b = 0;\n\n for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {\n c[b] = Z(d, c[b], e).trim();\n }\n\n break;\n\n default:\n var v = b = 0;\n\n for (c = []; b < a; ++b) {\n for (var n = 0; n < m; ++n) {\n c[v++] = Z(d[n] + ' ', h[b], e).trim();\n }\n }\n\n }\n\n return c;\n }\n\n function Z(d, c, e) {\n var h = c.charCodeAt(0);\n 33 > h && (h = (c = c.trim()).charCodeAt(0));\n\n switch (h) {\n case 38:\n return c.replace(F, '$1' + d.trim());\n\n case 58:\n return d.trim() + c.replace(F, '$1' + d.trim());\n\n default:\n if (0 < 1 * e && 0 < c.indexOf('\\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());\n }\n\n return d + c;\n }\n\n function P(d, c, e, h) {\n var a = d + ';',\n m = 2 * c + 3 * e + 4 * h;\n\n if (944 === m) {\n d = a.indexOf(':', 9) + 1;\n var b = a.substring(d, a.length - 1).trim();\n b = a.substring(0, d).trim() + b + ';';\n return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;\n }\n\n if (0 === w || 2 === w && !L(a, 1)) return a;\n\n switch (m) {\n case 1015:\n return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;\n\n case 951:\n return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;\n\n case 963:\n return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;\n\n case 1009:\n if (100 !== a.charCodeAt(4)) break;\n\n case 969:\n case 942:\n return '-webkit-' + a + a;\n\n case 978:\n return '-webkit-' + a + '-moz-' + a + a;\n\n case 1019:\n case 983:\n return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;\n\n case 883:\n if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;\n if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;\n break;\n\n case 932:\n if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {\n case 103:\n return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;\n\n case 115:\n return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;\n\n case 98:\n return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;\n }\n return '-webkit-' + a + '-ms-' + a + a;\n\n case 964:\n return '-webkit-' + a + '-ms-flex-' + a + a;\n\n case 1023:\n if (99 !== a.charCodeAt(8)) break;\n b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');\n return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;\n\n case 1005:\n return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;\n\n case 1e3:\n b = a.substring(13).trim();\n c = b.indexOf('-') + 1;\n\n switch (b.charCodeAt(0) + b.charCodeAt(c)) {\n case 226:\n b = a.replace(G, 'tb');\n break;\n\n case 232:\n b = a.replace(G, 'tb-rl');\n break;\n\n case 220:\n b = a.replace(G, 'lr');\n break;\n\n default:\n return a;\n }\n\n return '-webkit-' + a + '-ms-' + b + a;\n\n case 1017:\n if (-1 === a.indexOf('sticky', 9)) break;\n\n case 975:\n c = (a = d).length - 10;\n b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();\n\n switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {\n case 203:\n if (111 > b.charCodeAt(8)) break;\n\n case 115:\n a = a.replace(b, '-webkit-' + b) + ';' + a;\n break;\n\n case 207:\n case 102:\n a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;\n }\n\n return a + ';';\n\n case 938:\n if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {\n case 105:\n return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;\n\n case 115:\n return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;\n\n default:\n return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;\n }\n break;\n\n case 973:\n case 989:\n if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;\n\n case 931:\n case 953:\n if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;\n break;\n\n case 962:\n if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;\n }\n\n return a;\n }\n\n function L(d, c) {\n var e = d.indexOf(1 === c ? ':' : '{'),\n h = d.substring(0, 3 !== c ? e : 10);\n e = d.substring(e + 1, d.length - 1);\n return R(2 !== c ? h : h.replace(na, '$1'), e, c);\n }\n\n function ea(d, c) {\n var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));\n return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';\n }\n\n function H(d, c, e, h, a, m, b, v, n, q) {\n for (var g = 0, x = c, w; g < A; ++g) {\n switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {\n case void 0:\n case !1:\n case !0:\n case null:\n break;\n\n default:\n x = w;\n }\n }\n\n if (x !== c) return x;\n }\n\n function T(d) {\n switch (d) {\n case void 0:\n case null:\n A = S.length = 0;\n break;\n\n default:\n if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {\n T(d[c]);\n } else Y = !!d | 0;\n }\n\n return T;\n }\n\n function U(d) {\n d = d.prefix;\n void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);\n return U;\n }\n\n function B(d, c) {\n var e = d;\n 33 > e.charCodeAt(0) && (e = e.trim());\n V = e;\n e = [V];\n\n if (0 < A) {\n var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);\n void 0 !== h && 'string' === typeof h && (c = h);\n }\n\n var a = M(O, e, c, 0, 0);\n 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));\n V = '';\n E = 0;\n z = D = 1;\n return a;\n }\n\n var ca = /^\\0+/g,\n N = /[\\0\\r\\f]/g,\n aa = /: */g,\n ka = /zoo|gra/,\n ma = /([,: ])(transform)/g,\n ia = /,\\r+?/g,\n F = /([\\t\\r\\n ])*\\f?&/g,\n fa = /@(k\\w+)\\s*(\\S*)\\s*/,\n Q = /::(place)/g,\n ha = /:(read-only)/g,\n G = /[svh]\\w+-[tblr]{2}/,\n da = /\\(\\s*(.*)\\s*\\)/g,\n oa = /([\\s\\S]*?);/g,\n ba = /-self|flex-/g,\n na = /[^]*?(:[rp][el]a[\\w-]+)[^]*/,\n la = /stretch|:\\s*\\w+\\-(?:conte|avail)/,\n ja = /([^-])(image-set\\()/,\n z = 1,\n D = 1,\n E = 0,\n w = 1,\n O = [],\n S = [],\n A = 0,\n R = null,\n Y = 0,\n V = '';\n B.use = T;\n B.set = U;\n void 0 !== W && U(W);\n return B;\n}\n\nexport default stylis_min;","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\nexport default unitlessKeys;","import { typeOf as e, isElement as t, isValidElementType as n } from \"react-is\";\nimport r, { useState as o, useContext as i, useMemo as s, useEffect as a, useRef as c, createElement as u, useDebugValue as l, useLayoutEffect as d } from \"react\";\nimport h from \"shallowequal\";\nimport p from \"@emotion/stylis\";\nimport f from \"@emotion/unitless\";\nimport m from \"@emotion/is-prop-valid\";\nimport y from \"hoist-non-react-statics\";\n\nfunction v() {\n return (v = Object.assign || function (e) {\n for (var t = 1; t < arguments.length; t++) {\n var n = arguments[t];\n\n for (var r in n) {\n Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n}\n\nvar g = function g(e, t) {\n for (var n = [e[0]], r = 0, o = t.length; r < o; r += 1) {\n n.push(t[r], e[r + 1]);\n }\n\n return n;\n},\n S = function S(t) {\n return null !== t && \"object\" == typeof t && \"[object Object]\" === (t.toString ? t.toString() : Object.prototype.toString.call(t)) && !e(t);\n},\n w = Object.freeze([]),\n E = Object.freeze({});\n\nfunction b(e) {\n return \"function\" == typeof e;\n}\n\nfunction _(e) {\n return \"production\" !== process.env.NODE_ENV && \"string\" == typeof e && e || e.displayName || e.name || \"Component\";\n}\n\nfunction N(e) {\n return e && \"string\" == typeof e.styledComponentId;\n}\n\nvar A = \"undefined\" != typeof process && (process.env.REACT_APP_SC_ATTR || process.env.SC_ATTR) || \"data-styled\",\n C = \"5.2.3\",\n I = \"undefined\" != typeof window && \"HTMLElement\" in window,\n P = Boolean(\"boolean\" == typeof SC_DISABLE_SPEEDY ? SC_DISABLE_SPEEDY : \"undefined\" != typeof process && void 0 !== process.env.REACT_APP_SC_DISABLE_SPEEDY && \"\" !== process.env.REACT_APP_SC_DISABLE_SPEEDY ? \"false\" !== process.env.REACT_APP_SC_DISABLE_SPEEDY && process.env.REACT_APP_SC_DISABLE_SPEEDY : \"undefined\" != typeof process && void 0 !== process.env.SC_DISABLE_SPEEDY && \"\" !== process.env.SC_DISABLE_SPEEDY ? \"false\" !== process.env.SC_DISABLE_SPEEDY && process.env.SC_DISABLE_SPEEDY : \"production\" !== process.env.NODE_ENV),\n O = {},\n R = \"production\" !== process.env.NODE_ENV ? {\n 1: \"Cannot create styled-component for component: %s.\\n\\n\",\n 2: \"Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\\n\\n- Are you trying to reuse it across renders?\\n- Are you accidentally calling collectStyles twice?\\n\\n\",\n 3: \"Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\\n\\n\",\n 4: \"The `StyleSheetManager` expects a valid target or sheet prop!\\n\\n- Does this error occur on the client and is your target falsy?\\n- Does this error occur on the server and is the sheet falsy?\\n\\n\",\n 5: \"The clone method cannot be used on the client!\\n\\n- Are you running in a client-like environment on the server?\\n- Are you trying to run SSR on the client?\\n\\n\",\n 6: \"Trying to insert a new style tag, but the given Node is unmounted!\\n\\n- Are you using a custom target that isn't mounted?\\n- Does your document not have a valid head element?\\n- Have you accidentally removed a style tag manually?\\n\\n\",\n 7: 'ThemeProvider: Please return an object from your \"theme\" prop function, e.g.\\n\\n```js\\ntheme={() => ({})}\\n```\\n\\n',\n 8: 'ThemeProvider: Please make your \"theme\" prop an object.\\n\\n',\n 9: \"Missing document `<head>`\\n\\n\",\n 10: \"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\\n\\n\",\n 11: \"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\\n\\n\",\n 12: \"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\\\`\\\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\\n\\n\",\n 13: \"%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\\n\\n\",\n 14: 'ThemeProvider: \"theme\" prop is required.\\n\\n',\n 15: \"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to `<StyleSheetManager stylisPlugins={[]}>`, please make sure each plugin is uniquely-named, e.g.\\n\\n```js\\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\\n```\\n\\n\",\n 16: \"Reached the limit of how many styled components may be created at group %s.\\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\\nas for instance in your render method then you may be running into this limitation.\\n\\n\",\n 17: \"CSSStyleSheet could not be found on HTMLStyleElement.\\nHas styled-components' style tag been unmounted or altered by another script?\\n\"\n} : {};\n\nfunction D() {\n for (var e = arguments.length <= 0 ? void 0 : arguments[0], t = [], n = 1, r = arguments.length; n < r; n += 1) {\n t.push(n < 0 || arguments.length <= n ? void 0 : arguments[n]);\n }\n\n return t.forEach(function (t) {\n e = e.replace(/%[a-z]/, t);\n }), e;\n}\n\nfunction j(e) {\n for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) {\n n[r - 1] = arguments[r];\n }\n\n throw \"production\" === process.env.NODE_ENV ? new Error(\"An error occurred. See https://git.io/JUIaE#\" + e + \" for more information.\" + (n.length > 0 ? \" Args: \" + n.join(\", \") : \"\")) : new Error(D.apply(void 0, [R[e]].concat(n)).trim());\n}\n\nvar T = function () {\n function e(e) {\n this.groupSizes = new Uint32Array(512), this.length = 512, this.tag = e;\n }\n\n var t = e.prototype;\n return t.indexOfGroup = function (e) {\n for (var t = 0, n = 0; n < e; n++) {\n t += this.groupSizes[n];\n }\n\n return t;\n }, t.insertRules = function (e, t) {\n if (e >= this.groupSizes.length) {\n for (var n = this.groupSizes, r = n.length, o = r; e >= o;) {\n (o <<= 1) < 0 && j(16, \"\" + e);\n }\n\n this.groupSizes = new Uint32Array(o), this.groupSizes.set(n), this.length = o;\n\n for (var i = r; i < o; i++) {\n this.groupSizes[i] = 0;\n }\n }\n\n for (var s = this.indexOfGroup(e + 1), a = 0, c = t.length; a < c; a++) {\n this.tag.insertRule(s, t[a]) && (this.groupSizes[e]++, s++);\n }\n }, t.clearGroup = function (e) {\n if (e < this.length) {\n var t = this.groupSizes[e],\n n = this.indexOfGroup(e),\n r = n + t;\n this.groupSizes[e] = 0;\n\n for (var o = n; o < r; o++) {\n this.tag.deleteRule(n);\n }\n }\n }, t.getGroup = function (e) {\n var t = \"\";\n if (e >= this.length || 0 === this.groupSizes[e]) return t;\n\n for (var n = this.groupSizes[e], r = this.indexOfGroup(e), o = r + n, i = r; i < o; i++) {\n t += this.tag.getRule(i) + \"/*!sc*/\\n\";\n }\n\n return t;\n }, e;\n}(),\n k = new Map(),\n x = new Map(),\n V = 1,\n B = function B(e) {\n if (k.has(e)) return k.get(e);\n\n for (; x.has(V);) {\n V++;\n }\n\n var t = V++;\n return \"production\" !== process.env.NODE_ENV && ((0 | t) < 0 || t > 1 << 30) && j(16, \"\" + t), k.set(e, t), x.set(t, e), t;\n},\n M = function M(e) {\n return x.get(e);\n},\n z = function z(e, t) {\n k.set(e, t), x.set(t, e);\n},\n L = \"style[\" + A + '][data-styled-version=\"5.2.3\"]',\n G = new RegExp(\"^\" + A + '\\\\.g(\\\\d+)\\\\[id=\"([\\\\w\\\\d-]+)\"\\\\].*?\"([^\"]*)'),\n F = function F(e, t, n) {\n for (var r, o = n.split(\",\"), i = 0, s = o.length; i < s; i++) {\n (r = o[i]) && e.registerName(t, r);\n }\n},\n Y = function Y(e, t) {\n for (var n = t.innerHTML.split(\"/*!sc*/\\n\"), r = [], o = 0, i = n.length; o < i; o++) {\n var s = n[o].trim();\n\n if (s) {\n var a = s.match(G);\n\n if (a) {\n var c = 0 | parseInt(a[1], 10),\n u = a[2];\n 0 !== c && (z(u, c), F(e, u, a[3]), e.getTag().insertRules(c, r)), r.length = 0;\n } else r.push(s);\n }\n }\n},\n q = function q() {\n return \"undefined\" != typeof window && void 0 !== window.__webpack_nonce__ ? window.__webpack_nonce__ : null;\n},\n H = function H(e) {\n var t = document.head,\n n = e || t,\n r = document.createElement(\"style\"),\n o = function (e) {\n for (var t = e.childNodes, n = t.length; n >= 0; n--) {\n var r = t[n];\n if (r && 1 === r.nodeType && r.hasAttribute(A)) return r;\n }\n }(n),\n i = void 0 !== o ? o.nextSibling : null;\n\n r.setAttribute(A, \"active\"), r.setAttribute(\"data-styled-version\", \"5.2.3\");\n var s = q();\n return s && r.setAttribute(\"nonce\", s), n.insertBefore(r, i), r;\n},\n $ = function () {\n function e(e) {\n var t = this.element = H(e);\n t.appendChild(document.createTextNode(\"\")), this.sheet = function (e) {\n if (e.sheet) return e.sheet;\n\n for (var t = document.styleSheets, n = 0, r = t.length; n < r; n++) {\n var o = t[n];\n if (o.ownerNode === e) return o;\n }\n\n j(17);\n }(t), this.length = 0;\n }\n\n var t = e.prototype;\n return t.insertRule = function (e, t) {\n try {\n return this.sheet.insertRule(t, e), this.length++, !0;\n } catch (e) {\n return !1;\n }\n }, t.deleteRule = function (e) {\n this.sheet.deleteRule(e), this.length--;\n }, t.getRule = function (e) {\n var t = this.sheet.cssRules[e];\n return void 0 !== t && \"string\" == typeof t.cssText ? t.cssText : \"\";\n }, e;\n}(),\n W = function () {\n function e(e) {\n var t = this.element = H(e);\n this.nodes = t.childNodes, this.length = 0;\n }\n\n var t = e.prototype;\n return t.insertRule = function (e, t) {\n if (e <= this.length && e >= 0) {\n var n = document.createTextNode(t),\n r = this.nodes[e];\n return this.element.insertBefore(n, r || null), this.length++, !0;\n }\n\n return !1;\n }, t.deleteRule = function (e) {\n this.element.removeChild(this.nodes[e]), this.length--;\n }, t.getRule = function (e) {\n return e < this.length ? this.nodes[e].textContent : \"\";\n }, e;\n}(),\n U = function () {\n function e(e) {\n this.rules = [], this.length = 0;\n }\n\n var t = e.prototype;\n return t.insertRule = function (e, t) {\n return e <= this.length && (this.rules.splice(e, 0, t), this.length++, !0);\n }, t.deleteRule = function (e) {\n this.rules.splice(e, 1), this.length--;\n }, t.getRule = function (e) {\n return e < this.length ? this.rules[e] : \"\";\n }, e;\n}(),\n J = I,\n X = {\n isServer: !I,\n useCSSOMInjection: !P\n},\n Z = function () {\n function e(e, t, n) {\n void 0 === e && (e = E), void 0 === t && (t = {}), this.options = v({}, X, {}, e), this.gs = t, this.names = new Map(n), !this.options.isServer && I && J && (J = !1, function (e) {\n for (var t = document.querySelectorAll(L), n = 0, r = t.length; n < r; n++) {\n var o = t[n];\n o && \"active\" !== o.getAttribute(A) && (Y(e, o), o.parentNode && o.parentNode.removeChild(o));\n }\n }(this));\n }\n\n e.registerId = function (e) {\n return B(e);\n };\n\n var t = e.prototype;\n return t.reconstructWithOptions = function (t, n) {\n return void 0 === n && (n = !0), new e(v({}, this.options, {}, t), this.gs, n && this.names || void 0);\n }, t.allocateGSInstance = function (e) {\n return this.gs[e] = (this.gs[e] || 0) + 1;\n }, t.getTag = function () {\n return this.tag || (this.tag = (n = (t = this.options).isServer, r = t.useCSSOMInjection, o = t.target, e = n ? new U(o) : r ? new $(o) : new W(o), new T(e)));\n var e, t, n, r, o;\n }, t.hasNameForId = function (e, t) {\n return this.names.has(e) && this.names.get(e).has(t);\n }, t.registerName = function (e, t) {\n if (B(e), this.names.has(e)) this.names.get(e).add(t);else {\n var n = new Set();\n n.add(t), this.names.set(e, n);\n }\n }, t.insertRules = function (e, t, n) {\n this.registerName(e, t), this.getTag().insertRules(B(e), n);\n }, t.clearNames = function (e) {\n this.names.has(e) && this.names.get(e).clear();\n }, t.clearRules = function (e) {\n this.getTag().clearGroup(B(e)), this.clearNames(e);\n }, t.clearTag = function () {\n this.tag = void 0;\n }, t.toString = function () {\n return function (e) {\n for (var t = e.getTag(), n = t.length, r = \"\", o = 0; o < n; o++) {\n var i = M(o);\n\n if (void 0 !== i) {\n var s = e.names.get(i),\n a = t.getGroup(o);\n\n if (void 0 !== s && 0 !== a.length) {\n var c = A + \".g\" + o + '[id=\"' + i + '\"]',\n u = \"\";\n void 0 !== s && s.forEach(function (e) {\n e.length > 0 && (u += e + \",\");\n }), r += \"\" + a + c + '{content:\"' + u + '\"}/*!sc*/\\n';\n }\n }\n }\n\n return r;\n }(this);\n }, e;\n}(),\n K = /(a)(d)/gi,\n Q = function Q(e) {\n return String.fromCharCode(e + (e > 25 ? 39 : 97));\n};\n\nfunction ee(e) {\n var t,\n n = \"\";\n\n for (t = Math.abs(e); t > 52; t = t / 52 | 0) {\n n = Q(t % 52) + n;\n }\n\n return (Q(t % 52) + n).replace(K, \"$1-$2\");\n}\n\nvar te = function te(e, t) {\n for (var n = t.length; n;) {\n e = 33 * e ^ t.charCodeAt(--n);\n }\n\n return e;\n},\n ne = function ne(e) {\n return te(5381, e);\n};\n\nfunction re(e) {\n for (var t = 0; t < e.length; t += 1) {\n var n = e[t];\n if (b(n) && !N(n)) return !1;\n }\n\n return !0;\n}\n\nvar oe = ne(\"5.2.3\"),\n ie = function () {\n function e(e, t, n) {\n this.rules = e, this.staticRulesId = \"\", this.isStatic = \"production\" === process.env.NODE_ENV && (void 0 === n || n.isStatic) && re(e), this.componentId = t, this.baseHash = te(oe, t), this.baseStyle = n, Z.registerId(t);\n }\n\n return e.prototype.generateAndInjectStyles = function (e, t, n) {\n var r = this.componentId,\n o = [];\n if (this.baseStyle && o.push(this.baseStyle.generateAndInjectStyles(e, t, n)), this.isStatic && !n.hash) {\n if (this.staticRulesId && t.hasNameForId(r, this.staticRulesId)) o.push(this.staticRulesId);else {\n var i = Ne(this.rules, e, t, n).join(\"\"),\n s = ee(te(this.baseHash, i.length) >>> 0);\n\n if (!t.hasNameForId(r, s)) {\n var a = n(i, \".\" + s, void 0, r);\n t.insertRules(r, s, a);\n }\n\n o.push(s), this.staticRulesId = s;\n }\n } else {\n for (var c = this.rules.length, u = te(this.baseHash, n.hash), l = \"\", d = 0; d < c; d++) {\n var h = this.rules[d];\n if (\"string\" == typeof h) l += h, \"production\" !== process.env.NODE_ENV && (u = te(u, h + d));else if (h) {\n var p = Ne(h, e, t, n),\n f = Array.isArray(p) ? p.join(\"\") : p;\n u = te(u, f + d), l += f;\n }\n }\n\n if (l) {\n var m = ee(u >>> 0);\n\n if (!t.hasNameForId(r, m)) {\n var y = n(l, \".\" + m, void 0, r);\n t.insertRules(r, m, y);\n }\n\n o.push(m);\n }\n }\n return o.join(\" \");\n }, e;\n}(),\n se = /^\\s*\\/\\/.*$/gm,\n ae = [\":\", \"[\", \".\", \"#\"];\n\nfunction ce(e) {\n var t,\n n,\n r,\n o,\n i = void 0 === e ? E : e,\n s = i.options,\n a = void 0 === s ? E : s,\n c = i.plugins,\n u = void 0 === c ? w : c,\n l = new p(a),\n d = [],\n h = function (e) {\n function t(t) {\n if (t) try {\n e(t + \"}\");\n } catch (e) {}\n }\n\n return function (n, r, o, i, s, a, c, u, l, d) {\n switch (n) {\n case 1:\n if (0 === l && 64 === r.charCodeAt(0)) return e(r + \";\"), \"\";\n break;\n\n case 2:\n if (0 === u) return r + \"/*|*/\";\n break;\n\n case 3:\n switch (u) {\n case 102:\n case 112:\n return e(o[0] + r), \"\";\n\n default:\n return r + (0 === d ? \"/*|*/\" : \"\");\n }\n\n case -2:\n r.split(\"/*|*/}\").forEach(t);\n }\n };\n }(function (e) {\n d.push(e);\n }),\n f = function f(e, r, i) {\n return 0 === r && -1 !== ae.indexOf(i[n.length]) || i.match(o) ? e : \".\" + t;\n };\n\n function m(e, i, s, a) {\n void 0 === a && (a = \"&\");\n var c = e.replace(se, \"\"),\n u = i && s ? s + \" \" + i + \" { \" + c + \" }\" : c;\n return t = a, n = i, r = new RegExp(\"\\\\\" + n + \"\\\\b\", \"g\"), o = new RegExp(\"(\\\\\" + n + \"\\\\b){2,}\"), l(s || !i ? \"\" : i, u);\n }\n\n return l.use([].concat(u, [function (e, t, o) {\n 2 === e && o.length && o[0].lastIndexOf(n) > 0 && (o[0] = o[0].replace(r, f));\n }, h, function (e) {\n if (-2 === e) {\n var t = d;\n return d = [], t;\n }\n }])), m.hash = u.length ? u.reduce(function (e, t) {\n return t.name || j(15), te(e, t.name);\n }, 5381).toString() : \"\", m;\n}\n\nvar ue = r.createContext(),\n le = ue.Consumer,\n de = r.createContext(),\n he = (de.Consumer, new Z()),\n pe = ce();\n\nfunction fe() {\n return i(ue) || he;\n}\n\nfunction me() {\n return i(de) || pe;\n}\n\nfunction ye(e) {\n var t = o(e.stylisPlugins),\n n = t[0],\n i = t[1],\n c = fe(),\n u = s(function () {\n var t = c;\n return e.sheet ? t = e.sheet : e.target && (t = t.reconstructWithOptions({\n target: e.target\n }, !1)), e.disableCSSOMInjection && (t = t.reconstructWithOptions({\n useCSSOMInjection: !1\n })), t;\n }, [e.disableCSSOMInjection, e.sheet, e.target]),\n l = s(function () {\n return ce({\n options: {\n prefix: !e.disableVendorPrefixes\n },\n plugins: n\n });\n }, [e.disableVendorPrefixes, n]);\n return a(function () {\n h(n, e.stylisPlugins) || i(e.stylisPlugins);\n }, [e.stylisPlugins]), r.createElement(ue.Provider, {\n value: u\n }, r.createElement(de.Provider, {\n value: l\n }, \"production\" !== process.env.NODE_ENV ? r.Children.only(e.children) : e.children));\n}\n\nvar ve = function () {\n function e(e, t) {\n var n = this;\n this.inject = function (e, t) {\n void 0 === t && (t = pe);\n var r = n.name + t.hash;\n e.hasNameForId(n.id, r) || e.insertRules(n.id, r, t(n.rules, r, \"@keyframes\"));\n }, this.toString = function () {\n return j(12, String(n.name));\n }, this.name = e, this.id = \"sc-keyframes-\" + e, this.rules = t;\n }\n\n return e.prototype.getName = function (e) {\n return void 0 === e && (e = pe), this.name + e.hash;\n }, e;\n}(),\n ge = /([A-Z])/,\n Se = /([A-Z])/g,\n we = /^ms-/,\n Ee = function Ee(e) {\n return \"-\" + e.toLowerCase();\n};\n\nfunction be(e) {\n return ge.test(e) ? e.replace(Se, Ee).replace(we, \"-ms-\") : e;\n}\n\nvar _e = function _e(e) {\n return null == e || !1 === e || \"\" === e;\n};\n\nfunction Ne(e, n, r, o) {\n if (Array.isArray(e)) {\n for (var i, s = [], a = 0, c = e.length; a < c; a += 1) {\n \"\" !== (i = Ne(e[a], n, r, o)) && (Array.isArray(i) ? s.push.apply(s, i) : s.push(i));\n }\n\n return s;\n }\n\n if (_e(e)) return \"\";\n if (N(e)) return \".\" + e.styledComponentId;\n\n if (b(e)) {\n if (\"function\" != typeof (l = e) || l.prototype && l.prototype.isReactComponent || !n) return e;\n var u = e(n);\n return \"production\" !== process.env.NODE_ENV && t(u) && console.warn(_(e) + \" is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\"), Ne(u, n, r, o);\n }\n\n var l;\n return e instanceof ve ? r ? (e.inject(r, o), e.getName(o)) : e : S(e) ? function e(t, n) {\n var r,\n o,\n i = [];\n\n for (var s in t) {\n t.hasOwnProperty(s) && !_e(t[s]) && (S(t[s]) ? i.push.apply(i, e(t[s], s)) : b(t[s]) ? i.push(be(s) + \":\", t[s], \";\") : i.push(be(s) + \": \" + (r = s, null == (o = t[s]) || \"boolean\" == typeof o || \"\" === o ? \"\" : \"number\" != typeof o || 0 === o || r in f ? String(o).trim() : o + \"px\") + \";\"));\n }\n\n return n ? [n + \" {\"].concat(i, [\"}\"]) : i;\n }(e) : e.toString();\n}\n\nfunction Ae(e) {\n for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) {\n n[r - 1] = arguments[r];\n }\n\n return b(e) || S(e) ? Ne(g(w, [e].concat(n))) : 0 === n.length && 1 === e.length && \"string\" == typeof e[0] ? e : Ne(g(e, n));\n}\n\nvar Ce = /invalid hook call/i,\n Ie = new Set(),\n Pe = function Pe(e, t) {\n if (\"production\" !== process.env.NODE_ENV) {\n var n = \"The component \" + e + (t ? ' with the id of \"' + t + '\"' : \"\") + \" has been created dynamically.\\nYou may see this warning because you've called styled inside another component.\\nTo resolve this only create new StyledComponents outside of any render method and function component.\";\n\n try {\n c(), Ie.has(n) || (console.warn(n), Ie.add(n));\n } catch (e) {\n Ce.test(e.message) && Ie.delete(n);\n }\n }\n},\n Oe = function Oe(e, t, n) {\n return void 0 === n && (n = E), e.theme !== n.theme && e.theme || t || n.theme;\n},\n Re = /[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~-]+/g,\n De = /(^-|-$)/g;\n\nfunction je(e) {\n return e.replace(Re, \"-\").replace(De, \"\");\n}\n\nvar Te = function Te(e) {\n return ee(ne(e) >>> 0);\n};\n\nfunction ke(e) {\n return \"string\" == typeof e && (\"production\" === process.env.NODE_ENV || e.charAt(0) === e.charAt(0).toLowerCase());\n}\n\nvar xe = function xe(e) {\n return \"function\" == typeof e || \"object\" == typeof e && null !== e && !Array.isArray(e);\n},\n Ve = function Ve(e) {\n return \"__proto__\" !== e && \"constructor\" !== e && \"prototype\" !== e;\n};\n\nfunction Be(e, t, n) {\n var r = e[n];\n xe(t) && xe(r) ? Me(r, t) : e[n] = t;\n}\n\nfunction Me(e) {\n for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) {\n n[r - 1] = arguments[r];\n }\n\n for (var o = 0, i = n; o < i.length; o++) {\n var s = i[o];\n if (xe(s)) for (var a in s) {\n Ve(a) && Be(e, s[a], a);\n }\n }\n\n return e;\n}\n\nvar ze = r.createContext(),\n Le = ze.Consumer;\n\nfunction Ge(e) {\n var t = i(ze),\n n = s(function () {\n return function (e, t) {\n if (!e) return j(14);\n\n if (b(e)) {\n var n = e(t);\n return \"production\" === process.env.NODE_ENV || null !== n && !Array.isArray(n) && \"object\" == typeof n ? n : j(7);\n }\n\n return Array.isArray(e) || \"object\" != typeof e ? j(8) : t ? v({}, t, {}, e) : e;\n }(e.theme, t);\n }, [e.theme, t]);\n return e.children ? r.createElement(ze.Provider, {\n value: n\n }, e.children) : null;\n}\n\nvar Fe = {};\n\nfunction Ye(e, t, n) {\n var o = N(e),\n s = !ke(e),\n a = t.attrs,\n c = void 0 === a ? w : a,\n d = t.componentId,\n h = void 0 === d ? function (e, t) {\n var n = \"string\" != typeof e ? \"sc\" : je(e);\n Fe[n] = (Fe[n] || 0) + 1;\n var r = n + \"-\" + Te(\"5.2.3\" + n + Fe[n]);\n return t ? t + \"-\" + r : r;\n }(t.displayName, t.parentComponentId) : d,\n p = t.displayName,\n f = void 0 === p ? function (e) {\n return ke(e) ? \"styled.\" + e : \"Styled(\" + _(e) + \")\";\n }(e) : p,\n g = t.displayName && t.componentId ? je(t.displayName) + \"-\" + t.componentId : t.componentId || h,\n S = o && e.attrs ? Array.prototype.concat(e.attrs, c).filter(Boolean) : c,\n A = t.shouldForwardProp;\n o && e.shouldForwardProp && (A = t.shouldForwardProp ? function (n, r) {\n return e.shouldForwardProp(n, r) && t.shouldForwardProp(n, r);\n } : e.shouldForwardProp);\n\n var C,\n I = new ie(n, g, o ? e.componentStyle : void 0),\n P = I.isStatic && 0 === c.length,\n O = function O(e, t) {\n return function (e, t, n, r) {\n var o = e.attrs,\n s = e.componentStyle,\n a = e.defaultProps,\n c = e.foldedComponentIds,\n d = e.shouldForwardProp,\n h = e.styledComponentId,\n p = e.target;\n \"production\" !== process.env.NODE_ENV && l(h);\n\n var f = function (e, t, n) {\n void 0 === e && (e = E);\n var r = v({}, t, {\n theme: e\n }),\n o = {};\n return n.forEach(function (e) {\n var t,\n n,\n i,\n s = e;\n\n for (t in b(s) && (s = s(r)), s) {\n r[t] = o[t] = \"className\" === t ? (n = o[t], i = s[t], n && i ? n + \" \" + i : n || i) : s[t];\n }\n }), [r, o];\n }(Oe(t, i(ze), a) || E, t, o),\n y = f[0],\n g = f[1],\n S = function (e, t, n, r) {\n var o = fe(),\n i = me(),\n s = t ? e.generateAndInjectStyles(E, o, i) : e.generateAndInjectStyles(n, o, i);\n return \"production\" !== process.env.NODE_ENV && l(s), \"production\" !== process.env.NODE_ENV && !t && r && r(s), s;\n }(s, r, y, \"production\" !== process.env.NODE_ENV ? e.warnTooManyClasses : void 0),\n w = n,\n _ = g.$as || t.$as || g.as || t.as || p,\n N = ke(_),\n A = g !== t ? v({}, t, {}, g) : t,\n C = {};\n\n for (var I in A) {\n \"$\" !== I[0] && \"as\" !== I && (\"forwardedAs\" === I ? C.as = A[I] : (d ? d(I, m) : !N || m(I)) && (C[I] = A[I]));\n }\n\n return t.style && g.style !== t.style && (C.style = v({}, t.style, {}, g.style)), C.className = Array.prototype.concat(c, h, S !== h ? S : null, t.className, g.className).filter(Boolean).join(\" \"), C.ref = w, u(_, C);\n }(C, e, t, P);\n };\n\n return O.displayName = f, (C = r.forwardRef(O)).attrs = S, C.componentStyle = I, C.displayName = f, C.shouldForwardProp = A, C.foldedComponentIds = o ? Array.prototype.concat(e.foldedComponentIds, e.styledComponentId) : w, C.styledComponentId = g, C.target = o ? e.target : e, C.withComponent = function (e) {\n var r = t.componentId,\n o = function (e, t) {\n if (null == e) return {};\n var n,\n r,\n o = {},\n i = Object.keys(e);\n\n for (r = 0; r < i.length; r++) {\n n = i[r], t.indexOf(n) >= 0 || (o[n] = e[n]);\n }\n\n return o;\n }(t, [\"componentId\"]),\n i = r && r + \"-\" + (ke(e) ? e : je(_(e)));\n\n return Ye(e, v({}, o, {\n attrs: S,\n componentId: i\n }), n);\n }, Object.defineProperty(C, \"defaultProps\", {\n get: function get() {\n return this._foldedDefaultProps;\n },\n set: function set(t) {\n this._foldedDefaultProps = o ? Me({}, e.defaultProps, t) : t;\n }\n }), \"production\" !== process.env.NODE_ENV && (Pe(f, g), C.warnTooManyClasses = function (e, t) {\n var n = {},\n r = !1;\n return function (o) {\n if (!r && (n[o] = !0, Object.keys(n).length >= 200)) {\n var i = t ? ' with the id of \"' + t + '\"' : \"\";\n console.warn(\"Over 200 classes were generated for component \" + e + i + \".\\nConsider using the attrs method, together with a style object for frequently changed styles.\\nExample:\\n const Component = styled.div.attrs(props => ({\\n style: {\\n background: props.background,\\n },\\n }))`width: 100%;`\\n\\n <Component />\"), r = !0, n = {};\n }\n };\n }(f, g)), C.toString = function () {\n return \".\" + C.styledComponentId;\n }, s && y(C, e, {\n attrs: !0,\n componentStyle: !0,\n displayName: !0,\n foldedComponentIds: !0,\n shouldForwardProp: !0,\n styledComponentId: !0,\n target: !0,\n withComponent: !0\n }), C;\n}\n\nvar qe = function qe(e) {\n return function e(t, r, o) {\n if (void 0 === o && (o = E), !n(r)) return j(1, String(r));\n\n var i = function i() {\n return t(r, o, Ae.apply(void 0, arguments));\n };\n\n return i.withConfig = function (n) {\n return e(t, r, v({}, o, {}, n));\n }, i.attrs = function (n) {\n return e(t, r, v({}, o, {\n attrs: Array.prototype.concat(o.attrs, n).filter(Boolean)\n }));\n }, i;\n }(Ye, e);\n};\n\n[\"a\", \"abbr\", \"address\", \"area\", \"article\", \"aside\", \"audio\", \"b\", \"base\", \"bdi\", \"bdo\", \"big\", \"blockquote\", \"body\", \"br\", \"button\", \"canvas\", \"caption\", \"cite\", \"code\", \"col\", \"colgroup\", \"data\", \"datalist\", \"dd\", \"del\", \"details\", \"dfn\", \"dialog\", \"div\", \"dl\", \"dt\", \"em\", \"embed\", \"fieldset\", \"figcaption\", \"figure\", \"footer\", \"form\", \"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\", \"head\", \"header\", \"hgroup\", \"hr\", \"html\", \"i\", \"iframe\", \"img\", \"input\", \"ins\", \"kbd\", \"keygen\", \"label\", \"legend\", \"li\", \"link\", \"main\", \"map\", \"mark\", \"marquee\", \"menu\", \"menuitem\", \"meta\", \"meter\", \"nav\", \"noscript\", \"object\", \"ol\", \"optgroup\", \"option\", \"output\", \"p\", \"param\", \"picture\", \"pre\", \"progress\", \"q\", \"rp\", \"rt\", \"ruby\", \"s\", \"samp\", \"script\", \"section\", \"select\", \"small\", \"source\", \"span\", \"strong\", \"style\", \"sub\", \"summary\", \"sup\", \"table\", \"tbody\", \"td\", \"textarea\", \"tfoot\", \"th\", \"thead\", \"time\", \"title\", \"tr\", \"track\", \"u\", \"ul\", \"var\", \"video\", \"wbr\", \"circle\", \"clipPath\", \"defs\", \"ellipse\", \"foreignObject\", \"g\", \"image\", \"line\", \"linearGradient\", \"marker\", \"mask\", \"path\", \"pattern\", \"polygon\", \"polyline\", \"radialGradient\", \"rect\", \"stop\", \"svg\", \"text\", \"tspan\"].forEach(function (e) {\n qe[e] = qe(e);\n});\n\nvar He = function () {\n function e(e, t) {\n this.rules = e, this.componentId = t, this.isStatic = re(e), Z.registerId(this.componentId + 1);\n }\n\n var t = e.prototype;\n return t.createStyles = function (e, t, n, r) {\n var o = r(Ne(this.rules, t, n, r).join(\"\"), \"\"),\n i = this.componentId + e;\n n.insertRules(i, i, o);\n }, t.removeStyles = function (e, t) {\n t.clearRules(this.componentId + e);\n }, t.renderStyles = function (e, t, n, r) {\n e > 2 && Z.registerId(this.componentId + e), this.removeStyles(e, n), this.createStyles(e, t, n, r);\n }, e;\n}();\n\nfunction $e(e) {\n for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), o = 1; o < t; o++) {\n n[o - 1] = arguments[o];\n }\n\n var s = Ae.apply(void 0, [e].concat(n)),\n a = \"sc-global-\" + Te(JSON.stringify(s)),\n u = new He(s, a);\n\n function l(e) {\n var t = fe(),\n n = me(),\n o = i(ze),\n l = c(t.allocateGSInstance(a)).current;\n return \"production\" !== process.env.NODE_ENV && r.Children.count(e.children) && console.warn(\"The global style component \" + a + \" was given child JSX. createGlobalStyle does not render children.\"), \"production\" !== process.env.NODE_ENV && s.some(function (e) {\n return \"string\" == typeof e && -1 !== e.indexOf(\"@import\");\n }) && console.warn(\"Please do not use @import CSS syntax in createGlobalStyle at this time, as the CSSOM APIs we use in production do not handle it well. Instead, we recommend using a library such as react-helmet to inject a typical <link> meta tag to the stylesheet, or simply embedding it manually in your index.html <head> section for a simpler app.\"), d(function () {\n return h(l, e, t, o, n), function () {\n return u.removeStyles(l, t);\n };\n }, [l, e, t, o, n]), null;\n }\n\n function h(e, t, n, r, o) {\n if (u.isStatic) u.renderStyles(e, O, n, o);else {\n var i = v({}, t, {\n theme: Oe(t, r, l.defaultProps)\n });\n u.renderStyles(e, i, n, o);\n }\n }\n\n return \"production\" !== process.env.NODE_ENV && Pe(a), r.memo(l);\n}\n\nfunction We(e) {\n \"production\" !== process.env.NODE_ENV && \"undefined\" != typeof navigator && \"ReactNative\" === navigator.product && console.warn(\"`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.\");\n\n for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) {\n n[r - 1] = arguments[r];\n }\n\n var o = Ae.apply(void 0, [e].concat(n)).join(\"\"),\n i = Te(o);\n return new ve(i, o);\n}\n\nvar Ue = function () {\n function e() {\n var e = this;\n this._emitSheetCSS = function () {\n var t = e.instance.toString(),\n n = q();\n return \"<style \" + [n && 'nonce=\"' + n + '\"', A + '=\"true\"', 'data-styled-version=\"5.2.3\"'].filter(Boolean).join(\" \") + \">\" + t + \"</style>\";\n }, this.getStyleTags = function () {\n return e.sealed ? j(2) : e._emitSheetCSS();\n }, this.getStyleElement = function () {\n var t;\n if (e.sealed) return j(2);\n var n = ((t = {})[A] = \"\", t[\"data-styled-version\"] = \"5.2.3\", t.dangerouslySetInnerHTML = {\n __html: e.instance.toString()\n }, t),\n o = q();\n return o && (n.nonce = o), [r.createElement(\"style\", v({}, n, {\n key: \"sc-0-0\"\n }))];\n }, this.seal = function () {\n e.sealed = !0;\n }, this.instance = new Z({\n isServer: !0\n }), this.sealed = !1;\n }\n\n var t = e.prototype;\n return t.collectStyles = function (e) {\n return this.sealed ? j(2) : r.createElement(ye, {\n sheet: this.instance\n }, e);\n }, t.interleaveWithNodeStream = function (e) {\n return j(3);\n }, e;\n}(),\n Je = function Je(e) {\n var t = r.forwardRef(function (t, n) {\n var o = i(ze),\n s = e.defaultProps,\n a = Oe(t, o, s);\n return \"production\" !== process.env.NODE_ENV && void 0 === a && console.warn('[withTheme] You are not using a ThemeProvider nor passing a theme prop or a theme in defaultProps in component class \"' + _(e) + '\"'), r.createElement(e, v({}, t, {\n theme: a,\n ref: n\n }));\n });\n return y(t, e), t.displayName = \"WithTheme(\" + _(e) + \")\", t;\n},\n Xe = function Xe() {\n return i(ze);\n},\n Ze = {\n StyleSheet: Z,\n masterSheet: he\n};\n\n\"production\" !== process.env.NODE_ENV && \"undefined\" != typeof navigator && \"ReactNative\" === navigator.product && console.warn(\"It looks like you've imported 'styled-components' on React Native.\\nPerhaps you're looking to import 'styled-components/native'?\\nRead more about this at https://www.styled-components.com/docs/basics#react-native\"), \"production\" !== process.env.NODE_ENV && \"test\" !== process.env.NODE_ENV && (window[\"__styled-components-init__\"] = window[\"__styled-components-init__\"] || 0, 1 === window[\"__styled-components-init__\"] && console.warn(\"It looks like there are several instances of 'styled-components' initialized in this application. This may cause dynamic styles to not render properly, errors during the rehydration process, a missing theme prop, and makes your application bigger without good reason.\\n\\nSee https://s-c.sh/2BAXzed for more info.\"), window[\"__styled-components-init__\"] += 1);\nexport default qe;\nexport { Ue as ServerStyleSheet, le as StyleSheetConsumer, ue as StyleSheetContext, ye as StyleSheetManager, Le as ThemeConsumer, ze as ThemeContext, Ge as ThemeProvider, Ze as __PRIVATE__, $e as createGlobalStyle, Ae as css, N as isStyledComponent, We as keyframes, Xe as useTheme, C as version, Je as withTheme };","export default function (x) {\n return x;\n}","import reverse from \"./reverse\";\nimport transform from \"./transform\";\nexport default function (topology, o) {\n return o.type === \"GeometryCollection\" ? {\n type: \"FeatureCollection\",\n features: o.geometries.map(function (o) {\n return feature(topology, o);\n })\n } : feature(topology, o);\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 ? {\n type: \"Feature\",\n properties: properties,\n geometry: geometry\n } : bbox == null ? {\n type: \"Feature\",\n id: id,\n properties: properties,\n geometry: geometry\n } : {\n type: \"Feature\",\n id: id,\n bbox: bbox,\n properties: properties,\n 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\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\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\n for (var i = 0, n = arcs.length; i < n; ++i) {\n arc(arcs[i], points);\n }\n\n if (points.length < 2) points.push(points[0]); // This should never happen per the specification.\n\n return points;\n }\n\n function ring(arcs) {\n var points = line(arcs);\n\n while (points.length < 4) {\n points.push(points[0]);\n } // This may happen if an arc has only two points.\n\n\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,\n coordinates;\n\n switch (type) {\n case \"GeometryCollection\":\n return {\n type: type,\n geometries: o.geometries.map(geometry)\n };\n\n case \"Point\":\n coordinates = point(o.coordinates);\n break;\n\n case \"MultiPoint\":\n coordinates = o.coordinates.map(point);\n break;\n\n case \"LineString\":\n coordinates = line(o.arcs);\n break;\n\n case \"MultiLineString\":\n coordinates = o.arcs.map(line);\n break;\n\n case \"Polygon\":\n coordinates = polygon(o.arcs);\n break;\n\n case \"MultiPolygon\":\n coordinates = o.arcs.map(polygon);\n break;\n\n default:\n return null;\n }\n\n return {\n type: type,\n coordinates: coordinates\n };\n }\n\n return geometry(o);\n}","import identity from \"./identity\";\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 output[0] = (x0 += input[0]) * kx + dx;\n output[1] = (y0 += input[1]) * ky + dy;\n\n while (j < n) {\n output[j] = input[j], ++j;\n }\n\n return output;\n };\n}","export default function (array, n) {\n var t,\n j = array.length,\n i = j - n;\n\n while (i < --j) {\n t = array[i], array[i++] = array[j], array[j] = t;\n }\n}","// TODO if quantized, use simpler Int32 hashing?\nvar buffer = new ArrayBuffer(16),\n floats = new Float64Array(buffer),\n uints = new Uint32Array(buffer);\nexport default function (point) {\n floats[0] = point[0];\n floats[1] = point[1];\n var hash = uints[0] ^ uints[1];\n hash = hash << 5 ^ hash >> 7 ^ uints[2] ^ uints[3];\n return hash & 0x7fffffff;\n}","var pi = Math.PI,\n tau = 2 * pi,\n quarterPi = pi / 4,\n radians = pi / 180,\n abs = Math.abs,\n atan2 = Math.atan2,\n cos = Math.cos,\n sin = Math.sin;\n\nfunction halfArea(ring, closed) {\n var i = 0,\n n = ring.length,\n sum = 0,\n point = ring[closed ? i++ : n - 1],\n lambda0,\n lambda1 = point[0] * radians,\n phi1 = point[1] * radians / 2 + quarterPi,\n cosPhi0,\n cosPhi1 = cos(phi1),\n sinPhi0,\n sinPhi1 = sin(phi1);\n\n for (; i < n; ++i) {\n point = ring[i];\n lambda0 = lambda1, lambda1 = point[0] * radians;\n phi1 = point[1] * radians / 2 + quarterPi;\n cosPhi0 = cosPhi1, cosPhi1 = cos(phi1);\n sinPhi0 = sinPhi1, sinPhi1 = sin(phi1); // 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 // See https://github.com/d3/d3-geo/blob/master/README.md#geoArea\n\n var dLambda = lambda1 - lambda0,\n sdLambda = dLambda >= 0 ? 1 : -1,\n adLambda = sdLambda * dLambda,\n k = sinPhi0 * sinPhi1,\n u = cosPhi0 * cosPhi1 + k * cos(adLambda),\n v = k * sdLambda * sin(adLambda);\n sum += atan2(v, u);\n }\n\n return sum;\n}\n\nexport function sphericalRingArea(ring, interior) {\n var sum = halfArea(ring, true);\n if (interior) sum *= -1;\n return (sum < 0 ? tau + sum : sum) * 2;\n}\nexport function sphericalTriangleArea(t) {\n return abs(halfArea(t, false)) * 2;\n}","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","module.exports = {};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = false;\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.10.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.es/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var $ = require('../internals/export');\n\n// eslint-disable-next-line es/no-math-hypot -- required for testing\nvar $hypot = Math.hypot;\nvar abs = Math.abs;\nvar sqrt = Math.sqrt;\n\n// Chrome 77 bug\n// https://bugs.chromium.org/p/v8/issues/detail?id=9546\nvar BUGGY = !!$hypot && $hypot(Infinity, NaN) !== Infinity;\n\n// `Math.hypot` method\n// https://tc39.es/ecma262/#sec-math.hypot\n$({ target: 'Math', stat: true, forced: BUGGY }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n hypot: function hypot(value1, value2) {\n var sum = 0;\n var i = 0;\n var aLen = arguments.length;\n var larg = 0;\n var arg, div;\n while (i < aLen) {\n arg = abs(arguments[i++]);\n if (larg < arg) {\n div = larg / arg;\n sum = sum * div * div + 1;\n larg = arg;\n } else if (arg > 0) {\n div = arg / larg;\n sum += div * div;\n } else sum += arg;\n }\n return larg === Infinity ? Infinity : larg * sqrt(sum);\n }\n});\n","export default __webpack_public_path__ + \"static/MOVE2-5c35c3e677a1c4c95ac270d370f7d0bd.svg\";","export default __webpack_public_path__ + \"static/logo-ed4e7c26e41c64cd9c25b8172b640c5d.png\";","import React from \"react\";\nimport { Link } from \"gatsby\";\nimport styled, { keyframes } from \"styled-components\";\n\nimport SVGImage from \"../images/MOVE2.svg\";\nimport LogoImage from \"../images/logo.png\";\n\nconst fadeIn = keyframes`\n 0% {\n fill: rgba(255, 255, 255, 0);\n }\n 100% {\n fill: rgba(255, 255, 255, 1);\n }\n`;\n\nconst rotate = keyframes`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n`;\n\nconst LogoPng = styled.img`\n height: 80px;\n width: auto;\n`;\n\nconst Logo = styled(SVGImage)`\n height: 80px;\n width: auto;\n\n #MOVE_CIRC {\n transform-box: fill-box;\n transform-origin: center;\n }\n\n &:hover #MOVE_CIRC {\n animation: ${rotate} 0.2s linear !important;\n }\n\n #MOVE_PATH1 {\n animation: ${fadeIn} 1s forwards !important;\n }\n #MOVE_PATH2 {\n animation: ${fadeIn} 1.5s forwards !important;\n }\n #MOVE_PATH3 {\n animation: ${fadeIn} 2s forwards !important;\n }\n #MOVE_PATH4 {\n animation: ${fadeIn} 2.5s forwards !important;\n }\n #MOVE_PATH5 {\n animation: ${fadeIn} 3s forwards !important;\n }\n #MOVE_PATH6 {\n animation: ${fadeIn} 3.5s forwards !important;\n }\n #MOVE_PATH7 {\n animation: ${fadeIn} 4s forwards !important;\n }\n #MOVE_PATH8 {\n animation: ${fadeIn} 4.5s forwards !important;\n }\n #MOVE_PATH9 {\n animation: ${fadeIn} 5s forwards !important;\n }\n #MOVE_PATH10 {\n animation: ${fadeIn} 5.5s forwards !important;\n }\n #MOVE_PATH11 {\n animation: ${fadeIn} 6s forwards !important;\n }\n #MOVE_PATH12 {\n animation: ${fadeIn} 6.5s forwards !important;\n }\n #MOVE_PATH13 {\n animation: ${fadeIn} 7s forwards !important;\n }\n #MOVE_PATH14 {\n animation: ${fadeIn} 7.5s forwards !important;\n }\n #MOVE_PATH15 {\n animation: ${fadeIn} 8s forwards !important;\n }\n #MOVE_PATH16 {\n animation: ${fadeIn} 8.5s forwards !important;\n }\n #MOVE_PATH17 {\n animation: ${fadeIn} 9s forwards !important;\n }\n #MOVE_PATH18 {\n animation: ${fadeIn} 9.5s forwards !important;\n }\n`;\n\nconst Container = styled.div`\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n flex-wrap: wrap;\n background-color: rgb(0, 54, 96);\n min-height: 115px;\n`;\n\nconst NavBar = styled.div`\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n justify-content: space-between;\n\n width: 960px;\n @media (max-width: 960px) {\n width: 100%;\n justify-content: center;\n }\n`;\n\nconst Nav = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n flex-wrap: wrap;\n`;\n\nconst HoverOver = keyframes`\n to {\n width: 100%;\n }\n`;\n\nconst LinkText = styled(Link)<{ selected: boolean }>`\n font-size: 14pt;\n\n color: ${({ selected }) => (selected ? \"#FFFFFFB3\" : \"white\")};\n user-drag: none;\n text-decoration: none;\n\n &:link {\n color: white;\n }\n\n &:visited {\n color: white;\n }\n`;\n\nconst Line = styled.div<{ selected: boolean }>`\n border-bottom: 2px solid\n ${({ selected }) => (selected ? \"#FFFFFFB3\" : \"white\")};\n width: ${({ selected }) => (selected ? \"100%\" : \"0\")};\n`;\n\nconst LinkContainer = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n margin: 10px;\n\n &:hover > ${Line} {\n animation: ${HoverOver} 0.2s forwards ease-in;\n color: lightgray;\n }\n`;\n\nconsole.log(\n \"%cMOVE@UCSB\",\n \"background-color: rgb(0, 54, 96); color: white; padding: 10px; font-size: 30px;\"\n);\n\nconsole.log(\n \"This website was made by Alex Rudolph for the MOVE Lab at UCSB. See the source code at:\\nhttps://github.com/alrudolph/lisa.\"\n);\n\ninterface Props {\n selectedPage: string;\n}\n\ninterface NavItem {\n text: string;\n to: string;\n}\n\nconst Header = ({ selectedPage }: Props) => {\n const NavItem = ({ text, to }: NavItem) => {\n return (\n <LinkContainer>\n <LinkText to={`/${to}`} selected={selectedPage === text}>\n {text}\n </LinkText>\n <Line selected={selectedPage === text} />\n </LinkContainer>\n );\n };\n\n return (\n <Container>\n <NavBar>\n <a href=\"https://move.geog.ucsb.edu/\">\n <LogoPng alt=\"Move Logo\" src={LogoImage} />\n </a>\n <Nav>\n <NavItem text=\"About\" to=\"\" />\n <NavItem text=\"Animation\" to=\"animated\" />\n <NavItem text=\"Interactive\" to=\"interactive\" />\n <NavItem text=\"Scatter\" to=\"scatter\" />\n </Nav>\n </NavBar>\n </Container>\n );\n}\n\nexport default Header;","import { createGlobalStyle } from \"styled-components\"\n\nconst GlobalStyle = createGlobalStyle`\n body {\n margin: 0;\n font-family: \"Source Sans Pro\", Arial, sans-serif;\n overflow-x: hidden;\n }\n html {\n scroll-behaviour: smooth;\n }\n h1 {\n font-weight: 400;\n font-size: 2.48832em;\n }\n h2 {\n font-weight: 300;\n font-size: 2em;\n }\n`\n\nexport default GlobalStyle;","export default function _taggedTemplateLiteralLoose(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n\n strings.raw = raw;\n return strings;\n}","import React from \"react\";\nimport styled from \"styled-components\";\nimport Header from \"./header\";\n\nimport GlobalStyle from \"../styles/globalStyles\";\n\nimport { LisaData } from \"../contexts/lisaContext\";\nimport { DatesData } from \"../contexts/datesContext\";\nimport { GlobalData } from \"../contexts/globalContext\";\n\nimport Sidebar from \"./sidebar\";\n\nconst Centered = styled.div`\n width: 930px;\n @media (max-width: 930px) {\n width: 100%;\n }\n margin-top: 5px;\n`;\n\nconst Container = styled.div`\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n margin-bottom: 80px;\n`;\n\nconst SidebarContainer = styled.div`\n width: 100%;\n`;\n\nexport default function Page({ children, selectedPage }) {\n return (\n <Container>\n <GlobalStyle />\n <Header selectedPage={selectedPage} />\n {/*<SidebarContainer>\n <Sidebar />\n </SidebarContainer>*/}\n <Centered>\n <GlobalData>\n <LisaData>\n <DatesData>{children}</DatesData>\n </LisaData>\n </GlobalData>\n </Centered>\n </Container>\n );\n}\n","import React, { createContext } from \"react\";\n\nimport dates from \"../data/dates.json\";\n\nexport const DatesContext = createContext(null);\n\nexport const DatesData = ({ children }) => {\n\n return (\n <DatesContext.Provider value={dates}>\n {children}\n </DatesContext.Provider>\n );\n};\n","import React, { createContext } from \"react\";\nimport { useStaticQuery, graphql } from \"gatsby\";\n\nexport const GlobalContext = createContext(null);\n\nexport const GlobalData = ({ children }) => {\n const {\n allGlobalMoranCsv: { nodes: data },\n } = useStaticQuery(graphql`\n query GlobalQuery {\n allGlobalMoranCsv {\n nodes {\n cs\n cm\n ss\n sm\n }\n }\n }\n `);\n\n return (\n <GlobalContext.Provider value={data}>{children}</GlobalContext.Provider>\n );\n};\n","import React, { createContext } from \"react\";\n\nimport cue_mobility from \"../data/cm.json\";\nimport cue_sheltered from \"../data/cs.json\";\nimport safe_mobility from \"../data/sm.json\";\nimport safe_sheltered from \"../data/ss.json\";\n\nimport Sparse from \"../utility/sparse\";\n\nconst nweek = 52;\n\nconst format = (data): Array<Sparse> => {\n return Object.keys(data).map((key, i) => {\n return new Sparse(data[key], nweek, key);\n });\n};\n\n\nconst mapData: [Array<Sparse>, Array<Sparse>, Array<Sparse>, Array<Sparse>] = [\n format(cue_mobility),\n format(cue_sheltered),\n format(safe_mobility),\n format(safe_sheltered),\n];\n\nexport const LisaContext = createContext(null);\n\nexport const LisaData = ({ children }) => {\n\n const mapTitles = [\n \"Cuebiq mobility index (Cuebiq)\",\n \"% sheltered in place (Cuebiq)\",\n \"Median distance traveled (Safegraph)\",\n \"% sheltered (Safegraph)\",\n ];\n\n return (\n <LisaContext.Provider value={{ mapData, mapTitles }}>\n {children}\n </LisaContext.Provider>\n );\n};\n","type Vec = {\n [key: number]: number\n}\n\ntype Input = {\n [key: number]: number\n base: number\n}\n\nexport default class Sparse {\n\n base: number;\n arr: Vec\n n: number\n fips: number\n\n /* INSTEAD OF STORING N, STORE LAST AND FIRST WEEK */\n\n constructor(arr: Input, nweek: number, fips: string | number) {\n\n // if (arr.base != 0 && arr.base != 1 && arr.base != 2) {console.log(Object.keys(arr))}\n\n this.base = arr.base;\n delete arr[\"base\"];\n this.arr = arr;\n this.n = nweek\n this.fips = Number(fips)\n }\n\n get(i: number) {\n return (i in this.arr) ? this.arr[i] : this.base\n }\n\n getLast(i: number) {\n const curr = this.get(i);\n\n if (curr === undefined) {\n console.log(i, this.base)\n }\n\n const last = curr === 0 ? [...Array(i).keys()].reduce((acc, curr) => {\n const last = this.get(curr)\n return last !== 0 ? { last, weeks: i - curr } : acc\n }, { last: -1, weeks: 0 }) : { last: curr, weeks: 0 }\n\n return {\n curr,\n ...last\n }\n }\n\n count(firstWeek = 0, lastWeek = this.n) {\n this.n = lastWeek - firstWeek\n\n return [...Array(this.n).keys()].map(i => {\n const val = this.get(i + firstWeek)\n return [Number(val === 1), Number(val === 2)]\n }).reduce((acc, curr) => {\n return [acc[0] + curr[0], acc[1] + curr[1]]\n }, [0, 0])\n }\n\n recent(firstWeek = 0, lastWeek = this.n) {\n this.n = lastWeek - firstWeek\n\n return [...Array(this.n).keys()].map(i => {\n const val = this.get(i + firstWeek)\n return [Number(val === 1), Number(val === 2)]\n }).reduce((acc, curr, i) => {\n return [curr[0] ? i + 1 : acc[0], curr[1] ? i + 1 : acc[1]]\n }, [0, 0])\n }\n\n changes(firstWeek = 0, lastWeek = this.n) {\n return [...Array(this.n).keys()].map(i => {\n return { last: this.get(i + firstWeek), changes: 0 }\n }).reduce((acc, curr) => {\n if (acc.last !== curr.last) {\n acc.changes += 1;\n }\n return { ...curr, changes: acc.changes }\n }).changes;\n }\n\n sequential(which: 1 | 2, firstWeek = 0, lastWeek = this.n) {\n this.n = lastWeek - firstWeek\n\n let sum = 0;\n\n return [...Array(this.n).keys()].map(i => {\n const val = this.get(i + firstWeek)\n const incl = val === which\n sum += Number(incl)\n return incl ? {\n y: sum,\n x: i + firstWeek + 1\n } : 0\n }).filter(val => val !== 0)\n }\n\n}","/**\n * Copyright (c) 2014-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 runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n"],"sourceRoot":""}