{"version":3,"file":"892.727c7869.js","mappings":"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","sources":["webpack://@finviz/website/../node_modules/core-js/internals/array-includes.js","webpack://@finviz/website/../node_modules/core-js/internals/array-set-length.js","webpack://@finviz/website/../node_modules/core-js/internals/copy-constructor-properties.js","webpack://@finviz/website/../node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://@finviz/website/../node_modules/core-js/internals/enum-bug-keys.js","webpack://@finviz/website/../node_modules/core-js/internals/export.js","webpack://@finviz/website/../node_modules/core-js/internals/is-array.js","webpack://@finviz/website/../node_modules/core-js/internals/is-forced.js","webpack://@finviz/website/../node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://@finviz/website/../node_modules/core-js/internals/object-get-own-property-names.js","webpack://@finviz/website/../node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://@finviz/website/../node_modules/core-js/internals/object-keys-internal.js","webpack://@finviz/website/../node_modules/core-js/internals/object-property-is-enumerable.js","webpack://@finviz/website/../node_modules/core-js/internals/own-keys.js","webpack://@finviz/website/../node_modules/core-js/internals/to-absolute-index.js","webpack://@finviz/website/../node_modules/core-js/internals/to-indexed-object.js","webpack://@finviz/website/../node_modules/core-js/modules/es.array.push.js","webpack://@finviz/website/../node_modules/d3-array/src/ascending.js","webpack://@finviz/website/../node_modules/d3-array/src/bisect.js","webpack://@finviz/website/../node_modules/d3-array/src/descending.js","webpack://@finviz/website/../node_modules/d3-array/src/bisector.js","webpack://@finviz/website/../node_modules/d3-array/src/max.js","webpack://@finviz/website/../node_modules/d3-array/src/min.js","webpack://@finviz/website/../node_modules/d3-array/src/number.js","webpack://@finviz/website/../node_modules/d3-array/src/ticks.js","webpack://@finviz/website/../node_modules/d3-color/src/define.js","webpack://@finviz/website/../node_modules/d3-color/src/color.js","webpack://@finviz/website/../node_modules/d3-format/src/formatPrefixAuto.js","webpack://@finviz/website/../node_modules/d3-format/src/formatRounded.js","webpack://@finviz/website/../node_modules/d3-format/src/formatTypes.js","webpack://@finviz/website/../node_modules/d3-format/src/identity.js","webpack://@finviz/website/../node_modules/d3-format/src/locale.js","webpack://@finviz/website/../node_modules/d3-format/src/defaultLocale.js","webpack://@finviz/website/../node_modules/d3-format/src/formatGroup.js","webpack://@finviz/website/../node_modules/d3-format/src/formatNumerals.js","webpack://@finviz/website/../node_modules/d3-format/src/formatTrim.js","webpack://@finviz/website/../node_modules/d3-format/src/exponent.js","webpack://@finviz/website/../node_modules/d3-format/src/formatDecimal.js","webpack://@finviz/website/../node_modules/d3-format/src/formatSpecifier.js","webpack://@finviz/website/../node_modules/d3-interpolate/src/constant.js","webpack://@finviz/website/../node_modules/d3-interpolate/src/number.js","webpack://@finviz/website/../node_modules/d3-interpolate/src/basis.js","webpack://@finviz/website/../node_modules/d3-interpolate/src/color.js","webpack://@finviz/website/../node_modules/d3-interpolate/src/rgb.js","webpack://@finviz/website/../node_modules/d3-interpolate/src/basisClosed.js","webpack://@finviz/website/../node_modules/d3-interpolate/src/round.js","webpack://@finviz/website/../node_modules/d3-interpolate/src/string.js","webpack://@finviz/website/../node_modules/d3-interpolate/src/array.js","webpack://@finviz/website/../node_modules/d3-interpolate/src/date.js","webpack://@finviz/website/../node_modules/d3-interpolate/src/object.js","webpack://@finviz/website/../node_modules/d3-interpolate/src/numberArray.js","webpack://@finviz/website/../node_modules/d3-interpolate/src/value.js","webpack://@finviz/website/../node_modules/d3-scale/src/band.js","webpack://@finviz/website/../node_modules/d3-array/src/range.js","webpack://@finviz/website/../node_modules/d3-scale/src/continuous.js","webpack://@finviz/website/../node_modules/d3-scale/src/constant.js","webpack://@finviz/website/../node_modules/d3-scale/src/identity.js","webpack://@finviz/website/../node_modules/d3-scale/src/nice.js","webpack://@finviz/website/../node_modules/d3-scale/src/log.js","webpack://@finviz/website/../node_modules/d3-scale/src/symlog.js","webpack://@finviz/website/../node_modules/d3-scale/src/pow.js","webpack://@finviz/website/../node_modules/d3-scale/src/radial.js","webpack://@finviz/website/../node_modules/d3-array/src/sort.js","webpack://@finviz/website/../node_modules/d3-array/src/quickselect.js","webpack://@finviz/website/../node_modules/d3-array/src/quantile.js","webpack://@finviz/website/../node_modules/d3-scale/src/quantile.js","webpack://@finviz/website/../node_modules/d3-scale/src/quantize.js","webpack://@finviz/website/../node_modules/d3-scale/src/threshold.js","webpack://@finviz/website/../node_modules/d3-time/src/duration.js","webpack://@finviz/website/../node_modules/d3-time/src/interval.js","webpack://@finviz/website/../node_modules/d3-time/src/millisecond.js","webpack://@finviz/website/../node_modules/d3-time/src/second.js","webpack://@finviz/website/../node_modules/d3-time/src/minute.js","webpack://@finviz/website/../node_modules/d3-time/src/hour.js","webpack://@finviz/website/../node_modules/d3-time/src/day.js","webpack://@finviz/website/../node_modules/d3-time/src/week.js","webpack://@finviz/website/../node_modules/d3-time/src/month.js","webpack://@finviz/website/../node_modules/d3-time/src/year.js","webpack://@finviz/website/../node_modules/d3-time/src/utcMinute.js","webpack://@finviz/website/../node_modules/d3-time/src/utcHour.js","webpack://@finviz/website/../node_modules/d3-time/src/utcDay.js","webpack://@finviz/website/../node_modules/d3-time/src/utcWeek.js","webpack://@finviz/website/../node_modules/d3-time/src/utcMonth.js","webpack://@finviz/website/../node_modules/d3-time/src/utcYear.js","webpack://@finviz/website/../node_modules/d3-time/src/ticks.js","webpack://@finviz/website/../node_modules/d3-time-format/src/locale.js","webpack://@finviz/website/../node_modules/d3-time-format/src/defaultLocale.js","webpack://@finviz/website/../node_modules/d3-scale/src/time.js","webpack://@finviz/website/../node_modules/d3-scale/src/utcTime.js","webpack://@finviz/website/../node_modules/d3-scale/src/sequential.js","webpack://@finviz/website/../node_modules/d3-scale/src/sequentialQuantile.js","webpack://@finviz/website/../node_modules/d3-scale/src/diverging.js","webpack://@finviz/website/../node_modules/d3-interpolate/src/piecewise.js","webpack://@finviz/website/../node_modules/d3-scale/src/init.js","webpack://@finviz/website/../node_modules/d3-scale/src/linear.js","webpack://@finviz/website/../node_modules/d3-scale/src/number.js","webpack://@finviz/website/../node_modules/internmap/src/index.js","webpack://@finviz/website/../node_modules/d3-scale/src/ordinal.js","webpack://@finviz/website/../node_modules/d3-scale/src/tickFormat.js","webpack://@finviz/website/../node_modules/d3-format/src/precisionPrefix.js","webpack://@finviz/website/../node_modules/d3-format/src/precisionRound.js","webpack://@finviz/website/../node_modules/d3-format/src/precisionFixed.js"],"sourcesContent":["'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\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 = lengthOfArrayLike(O);\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","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar isArray = require('../internals/is-array');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Safari < 13 does not throw an error in this case\nvar SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {\n // makes no sense without proper strict mode support\n if (this !== undefined) return true;\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).length = 1;\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\nmodule.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {\n if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {\n throw new $TypeError('Cannot set read only .length');\n } return O.length = length;\n} : function (O, length) {\n return O.length = length;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\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, exceptions) {\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 (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","'use strict';\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","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\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.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\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] || defineGlobalProperty(TARGET, {});\n } else {\n target = global[TARGET] && global[TARGET].prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\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 defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\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 : isCallable(detection) ? 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","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\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 = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar 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","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\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) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, 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","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\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\nvar concat = uncurryThis([].concat);\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 ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\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 = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\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","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar fails = require('../internals/fails');\n\nvar INCORRECT_TO_LENGTH = fails(function () {\n return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;\n});\n\n// V8 <= 121 and Safari <= 15.4; FF < 23 throws InternalError\n// https://bugs.chromium.org/p/v8/issues/detail?id=12681\nvar properErrorOnNonWritableLength = function () {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).push();\n } catch (error) {\n return error instanceof TypeError;\n }\n};\n\nvar FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength();\n\n// `Array.prototype.push` method\n// https://tc39.es/ecma262/#sec-array.prototype.push\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n push: function push(item) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var argCount = arguments.length;\n doesNotExceedSafeInteger(len + argCount);\n for (var i = 0; i < argCount; i++) {\n O[len] = arguments[i];\n len++;\n }\n setArrayLength(O, len);\n return len;\n }\n});\n","export default function ascending(a, b) {\n return a == null || b == null ? NaN : a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","import ascending from \"./ascending.js\";\nimport bisector from \"./bisector.js\";\nimport number from \"./number.js\";\n\nconst ascendingBisect = bisector(ascending);\nexport const bisectRight = ascendingBisect.right;\nexport const bisectLeft = ascendingBisect.left;\nexport const bisectCenter = bisector(number).center;\nexport default bisectRight;\n","export default function descending(a, b) {\n return a == null || b == null ? NaN\n : b < a ? -1\n : b > a ? 1\n : b >= a ? 0\n : NaN;\n}\n","import ascending from \"./ascending.js\";\nimport descending from \"./descending.js\";\n\nexport default function bisector(f) {\n let compare1, compare2, delta;\n\n // If an accessor is specified, promote it to a comparator. In this case we\n // can test whether the search value is (self-) comparable. We can’t do this\n // for a comparator (except for specific, known comparators) because we can’t\n // tell if the comparator is symmetric, and an asymmetric comparator can’t be\n // used to test whether a single value is comparable.\n if (f.length !== 2) {\n compare1 = ascending;\n compare2 = (d, x) => ascending(f(d), x);\n delta = (d, x) => f(d) - x;\n } else {\n compare1 = f === ascending || f === descending ? f : zero;\n compare2 = f;\n delta = f;\n }\n\n function left(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function right(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) <= 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function center(a, x, lo = 0, hi = a.length) {\n const i = left(a, x, lo, hi - 1);\n return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;\n }\n\n return {left, center, right};\n}\n\nfunction zero() {\n return 0;\n}\n","export default function max(values, valueof) {\n let max;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n }\n return max;\n}\n","export default function min(values, valueof) {\n let min;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n }\n return min;\n}\n","export default function number(x) {\n return x === null ? NaN : +x;\n}\n\nexport function* numbers(values, valueof) {\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n yield value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n yield value;\n }\n }\n }\n}\n","var e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nexport default function ticks(start, stop, count) {\n var reverse,\n i = -1,\n n,\n ticks,\n step;\n\n stop = +stop, start = +start, count = +count;\n if (start === stop && count > 0) return [start];\n if (reverse = stop < start) n = start, start = stop, stop = n;\n if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];\n\n if (step > 0) {\n let r0 = Math.round(start / step), 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 while (++i < n) ticks[i] = (r0 + i) * step;\n } else {\n step = -step;\n let r0 = Math.round(start * step), 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 while (++i < n) ticks[i] = (r0 + i) / step;\n }\n\n if (reverse) ticks.reverse();\n\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n var step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log(step) / Math.LN10),\n error = step / Math.pow(10, power);\n return power >= 0\n ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power)\n : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);\n}\n\nexport function tickStep(start, stop, count) {\n var step0 = Math.abs(stop - start) / Math.max(0, count),\n step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),\n error = step0 / step1;\n if (error >= e10) step1 *= 10;\n else if (error >= e5) step1 *= 5;\n else if (error >= e2) step1 *= 2;\n return stop < start ? -step1 : step1;\n}\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(`^rgb\\\\(${reI},${reI},${reI}\\\\)$`),\n reRgbPercent = new RegExp(`^rgb\\\\(${reP},${reP},${reP}\\\\)$`),\n reRgbaInteger = new RegExp(`^rgba\\\\(${reI},${reI},${reI},${reN}\\\\)$`),\n reRgbaPercent = new RegExp(`^rgba\\\\(${reP},${reP},${reP},${reN}\\\\)$`),\n reHslPercent = new RegExp(`^hsl\\\\(${reN},${reP},${reP}\\\\)$`),\n reHslaPercent = new RegExp(`^hsla\\\\(${reN},${reP},${reP},${reN}\\\\)$`);\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHex8: color_formatHex8,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHex8() {\n return this.rgb().formatHex8();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb() {\n return this;\n },\n clamp() {\n return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));\n },\n displayable() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatHex8: rgb_formatHex8,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`;\n}\n\nfunction rgb_formatHex8() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;\n}\n\nfunction rgb_formatRgb() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"rgb(\" : \"rgba(\"}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? \")\" : `, ${a})`}`;\n}\n\nfunction clampa(opacity) {\n return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity));\n}\n\nfunction clampi(value) {\n return Math.max(0, Math.min(255, Math.round(value) || 0));\n}\n\nfunction hex(value) {\n value = clampi(value);\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n clamp() {\n return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));\n },\n displayable() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"hsl(\" : \"hsla(\"}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? \")\" : `, ${a})`}`;\n }\n}));\n\nfunction clamph(value) {\n value = (value || 0) % 360;\n return value < 0 ? value + 360 : value;\n}\n\nfunction clampt(value) {\n return Math.max(0, Math.min(1, value || 0));\n}\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n","import formatDecimal from \"./formatDecimal.js\";\nimport formatPrefixAuto from \"./formatPrefixAuto.js\";\nimport formatRounded from \"./formatRounded.js\";\n\nexport default {\n \"%\": (x, p) => (x * 100).toFixed(p),\n \"b\": (x) => Math.round(x).toString(2),\n \"c\": (x) => x + \"\",\n \"d\": formatDecimal,\n \"e\": (x, p) => x.toExponential(p),\n \"f\": (x, p) => x.toFixed(p),\n \"g\": (x, p) => x.toPrecision(p),\n \"o\": (x) => Math.round(x).toString(8),\n \"p\": (x, p) => formatRounded(x * 100, p),\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": (x) => Math.round(x).toString(16).toUpperCase(),\n \"x\": (x) => Math.round(x).toString(16)\n};\n","export default function(x) {\n return x;\n}\n","import exponent from \"./exponent.js\";\nimport formatGroup from \"./formatGroup.js\";\nimport formatNumerals from \"./formatNumerals.js\";\nimport formatSpecifier from \"./formatSpecifier.js\";\nimport formatTrim from \"./formatTrim.js\";\nimport formatTypes from \"./formatTypes.js\";\nimport {prefixExponent} from \"./formatPrefixAuto.js\";\nimport identity from \"./identity.js\";\n\nvar map = Array.prototype.map,\n prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"−\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\";\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision === undefined ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n var valueNegative = value < 0 || 1 / value < 0;\n\n // Perform the initial formatting.\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : minus) : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function(value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n","export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n","export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}\n","export default function(x) {\n return Math.abs(x = Math.round(x)) >= 1e21\n ? x.toLocaleString(\"en\").replace(/,/g, \"\")\n : x.toString(10);\n}\n\n// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\nexport function formatDecimalParts(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n var i, coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nexport function FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width === undefined ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n","export default x => () => x;\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","import {basis} from \"./basis.js\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","import value from \"./value.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\n\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n","import value from \"./value.js\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","export default function(a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function(t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n return c;\n };\n}\n\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport {genericArray} from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : isNumberArray(b) ? numberArray\n : Array.isArray(b) ? genericArray\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","import {range as sequence} from \"d3-array\";\nimport {initRange} from \"./init.js\";\nimport ordinal from \"./ordinal.js\";\n\nexport default function band() {\n var scale = ordinal().unknown(undefined),\n domain = scale.domain,\n ordinalRange = scale.range,\n r0 = 0,\n r1 = 1,\n step,\n bandwidth,\n round = false,\n paddingInner = 0,\n paddingOuter = 0,\n align = 0.5;\n\n delete scale.unknown;\n\n function rescale() {\n var n = domain().length,\n reverse = r1 < r0,\n start = reverse ? r1 : r0,\n stop = reverse ? r0 : r1;\n step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);\n if (round) step = Math.floor(step);\n start += (stop - start - step * (n - paddingInner)) * align;\n bandwidth = step * (1 - paddingInner);\n if (round) start = Math.round(start), bandwidth = Math.round(bandwidth);\n var values = sequence(n).map(function(i) { return start + step * i; });\n return ordinalRange(reverse ? values.reverse() : values);\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.range = function(_) {\n return arguments.length ? ([r0, r1] = _, r0 = +r0, r1 = +r1, rescale()) : [r0, r1];\n };\n\n scale.rangeRound = function(_) {\n return [r0, r1] = _, r0 = +r0, r1 = +r1, round = true, rescale();\n };\n\n scale.bandwidth = function() {\n return bandwidth;\n };\n\n scale.step = function() {\n return step;\n };\n\n scale.round = function(_) {\n return arguments.length ? (round = !!_, rescale()) : round;\n };\n\n scale.padding = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, paddingOuter = +_), rescale()) : paddingInner;\n };\n\n scale.paddingInner = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, _), rescale()) : paddingInner;\n };\n\n scale.paddingOuter = function(_) {\n return arguments.length ? (paddingOuter = +_, rescale()) : paddingOuter;\n };\n\n scale.align = function(_) {\n return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;\n };\n\n scale.copy = function() {\n return band(domain(), [r0, r1])\n .round(round)\n .paddingInner(paddingInner)\n .paddingOuter(paddingOuter)\n .align(align);\n };\n\n return initRange.apply(rescale(), arguments);\n}\n\nfunction pointish(scale) {\n var copy = scale.copy;\n\n scale.padding = scale.paddingOuter;\n delete scale.paddingInner;\n delete scale.paddingOuter;\n\n scale.copy = function() {\n return pointish(copy());\n };\n\n return scale;\n}\n\nexport function point() {\n return pointish(band.apply(null, arguments).paddingInner(1));\n}\n","export default function range(start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n\n var i = -1,\n n = Math.max(0, Math.ceil((stop - start) / step)) | 0,\n range = new Array(n);\n\n while (++i < n) {\n range[i] = start + i * step;\n }\n\n return range;\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateNumber, interpolateRound} from \"d3-interpolate\";\nimport constant from \"./constant.js\";\nimport number from \"./number.js\";\n\nvar unit = [0, 1];\n\nexport function identity(x) {\n return x;\n}\n\nfunction normalize(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(isNaN(b) ? NaN : 0.5);\n}\n\nfunction clamper(a, b) {\n var t;\n if (a > b) t = a, a = b, b = t;\n return function(x) { return Math.max(a, Math.min(b, x)); };\n}\n\n// normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);\n else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport function transformer() {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n\n function rescale() {\n var n = Math.min(domain.length, range.length);\n if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);\n piecewise = n > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n\n scale.invert = function(y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = Array.from(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = _ ? true : identity, rescale()) : clamp !== identity;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\n\nexport default function continuous() {\n return transformer()(identity, identity);\n}\n","export default function constants(x) {\n return function() {\n return x;\n };\n}\n","import {linearish} from \"./linear.js\";\nimport number from \"./number.js\";\n\nexport default function identity(domain) {\n var unknown;\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : x;\n }\n\n scale.invert = scale;\n\n scale.domain = scale.range = function(_) {\n return arguments.length ? (domain = Array.from(_, number), scale) : domain.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return identity(domain).unknown(unknown);\n };\n\n domain = arguments.length ? Array.from(domain, number) : [0, 1];\n\n return linearish(scale);\n}\n","export default function nice(domain, interval) {\n domain = domain.slice();\n\n var i0 = 0,\n i1 = domain.length - 1,\n x0 = domain[i0],\n x1 = domain[i1],\n t;\n\n if (x1 < x0) {\n t = i0, i0 = i1, i1 = t;\n t = x0, x0 = x1, x1 = t;\n }\n\n domain[i0] = interval.floor(x0);\n domain[i1] = interval.ceil(x1);\n return domain;\n}\n","import {ticks} from \"d3-array\";\nimport {format, formatSpecifier} from \"d3-format\";\nimport nice from \"./nice.js\";\nimport {copy, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformLog(x) {\n return Math.log(x);\n}\n\nfunction transformExp(x) {\n return Math.exp(x);\n}\n\nfunction transformLogn(x) {\n return -Math.log(-x);\n}\n\nfunction transformExpn(x) {\n return -Math.exp(-x);\n}\n\nfunction pow10(x) {\n return isFinite(x) ? +(\"1e\" + x) : x < 0 ? 0 : x;\n}\n\nfunction powp(base) {\n return base === 10 ? pow10\n : base === Math.E ? Math.exp\n : x => Math.pow(base, x);\n}\n\nfunction logp(base) {\n return base === Math.E ? Math.log\n : base === 10 && Math.log10\n || base === 2 && Math.log2\n || (base = Math.log(base), x => Math.log(x) / base);\n}\n\nfunction reflect(f) {\n return (x, k) => -f(-x, k);\n}\n\nexport function loggish(transform) {\n const scale = transform(transformLog, transformExp);\n const domain = scale.domain;\n let base = 10;\n let logs;\n let pows;\n\n function rescale() {\n logs = logp(base), pows = powp(base);\n if (domain()[0] < 0) {\n logs = reflect(logs), pows = reflect(pows);\n transform(transformLogn, transformExpn);\n } else {\n transform(transformLog, transformExp);\n }\n return scale;\n }\n\n scale.base = function(_) {\n return arguments.length ? (base = +_, rescale()) : base;\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.ticks = count => {\n const d = domain();\n let u = d[0];\n let v = d[d.length - 1];\n const r = v < u;\n\n if (r) ([u, v] = [v, u]);\n\n let i = logs(u);\n let j = logs(v);\n let k;\n let t;\n const n = count == null ? 10 : +count;\n let z = [];\n\n if (!(base % 1) && j - i < n) {\n i = Math.floor(i), j = Math.ceil(j);\n if (u > 0) for (; i <= j; ++i) {\n for (k = 1; k < base; ++k) {\n t = i < 0 ? k / pows(-i) : k * pows(i);\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n } else for (; i <= j; ++i) {\n for (k = base - 1; k >= 1; --k) {\n t = i > 0 ? k / pows(-i) : k * pows(i);\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n }\n if (z.length * 2 < n) z = ticks(u, v, n);\n } else {\n z = ticks(i, j, Math.min(j - i, n)).map(pows);\n }\n return r ? z.reverse() : z;\n };\n\n scale.tickFormat = (count, specifier) => {\n if (count == null) count = 10;\n if (specifier == null) specifier = base === 10 ? \"s\" : \",\";\n if (typeof specifier !== \"function\") {\n if (!(base % 1) && (specifier = formatSpecifier(specifier)).precision == null) specifier.trim = true;\n specifier = format(specifier);\n }\n if (count === Infinity) return specifier;\n const k = Math.max(1, base * count / scale.ticks().length); // TODO fast estimate?\n return d => {\n let i = d / pows(Math.round(logs(d)));\n if (i * base < base - 0.5) i *= base;\n return i <= k ? specifier(d) : \"\";\n };\n };\n\n scale.nice = () => {\n return domain(nice(domain(), {\n floor: x => pows(Math.floor(logs(x))),\n ceil: x => pows(Math.ceil(logs(x)))\n }));\n };\n\n return scale;\n}\n\nexport default function log() {\n const scale = loggish(transformer()).domain([1, 10]);\n scale.copy = () => copy(scale, log()).base(scale.base());\n initRange.apply(scale, arguments);\n return scale;\n}\n","import {linearish} from \"./linear.js\";\nimport {copy, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformSymlog(c) {\n return function(x) {\n return Math.sign(x) * Math.log1p(Math.abs(x / c));\n };\n}\n\nfunction transformSymexp(c) {\n return function(x) {\n return Math.sign(x) * Math.expm1(Math.abs(x)) * c;\n };\n}\n\nexport function symlogish(transform) {\n var c = 1, scale = transform(transformSymlog(c), transformSymexp(c));\n\n scale.constant = function(_) {\n return arguments.length ? transform(transformSymlog(c = +_), transformSymexp(c)) : c;\n };\n\n return linearish(scale);\n}\n\nexport default function symlog() {\n var scale = symlogish(transformer());\n\n scale.copy = function() {\n return copy(scale, symlog()).constant(scale.constant());\n };\n\n return initRange.apply(scale, arguments);\n}\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)\n : exponent === 0.5 ? transform(transformSqrt, transformSquare)\n : 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}\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\n return scale;\n}\n\nexport function sqrt() {\n return pow.apply(null, arguments).exponent(0.5);\n}\n","import continuous from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport {linearish} from \"./linear.js\";\nimport number from \"./number.js\";\n\nfunction square(x) {\n return Math.sign(x) * x * x;\n}\n\nfunction unsquare(x) {\n return Math.sign(x) * Math.sqrt(Math.abs(x));\n}\n\nexport default function radial() {\n var squared = continuous(),\n range = [0, 1],\n round = false,\n unknown;\n\n function scale(x) {\n var y = unsquare(squared(x));\n return isNaN(y) ? unknown : round ? Math.round(y) : y;\n }\n\n scale.invert = function(y) {\n return squared.invert(square(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (squared.domain(_), scale) : squared.domain();\n };\n\n scale.range = function(_) {\n return arguments.length ? (squared.range((range = Array.from(_, number)).map(square)), scale) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return scale.range(_).round(true);\n };\n\n scale.round = function(_) {\n return arguments.length ? (round = !!_, scale) : round;\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (squared.clamp(_), scale) : squared.clamp();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return radial(squared.domain(), range)\n .round(round)\n .clamp(squared.clamp())\n .unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n","import ascending from \"./ascending.js\";\nimport permute from \"./permute.js\";\n\nexport default function sort(values, ...F) {\n if (typeof values[Symbol.iterator] !== \"function\") throw new TypeError(\"values is not iterable\");\n values = Array.from(values);\n let [f] = F;\n if ((f && f.length !== 2) || F.length > 1) {\n const index = Uint32Array.from(values, (d, i) => i);\n if (F.length > 1) {\n F = F.map(f => values.map(f));\n index.sort((i, j) => {\n for (const f of F) {\n const c = ascendingDefined(f[i], f[j]);\n if (c) return c;\n }\n });\n } else {\n f = values.map(f);\n index.sort((i, j) => ascendingDefined(f[i], f[j]));\n }\n return permute(values, index);\n }\n return values.sort(compareDefined(f));\n}\n\nexport function compareDefined(compare = ascending) {\n if (compare === ascending) return ascendingDefined;\n if (typeof compare !== \"function\") throw new TypeError(\"compare is not a function\");\n return (a, b) => {\n const x = compare(a, b);\n if (x || x === 0) return x;\n return (compare(b, b) === 0) - (compare(a, a) === 0);\n };\n}\n\nexport function ascendingDefined(a, b) {\n return (a == null || !(a >= a)) - (b == null || !(b >= b)) || (a < b ? -1 : a > b ? 1 : 0);\n}\n","import {ascendingDefined, compareDefined} from \"./sort.js\";\n\n// Based on https://github.com/mourner/quickselect\n// ISC license, Copyright 2018 Vladimir Agafonkin.\nexport default function quickselect(array, k, left = 0, right = array.length - 1, compare) {\n compare = compare === undefined ? ascendingDefined : compareDefined(compare);\n\n while (right > left) {\n if (right - left > 600) {\n const n = right - left + 1;\n const m = k - left + 1;\n const z = Math.log(n);\n const s = 0.5 * Math.exp(2 * z / 3);\n const sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1);\n const newLeft = Math.max(left, Math.floor(k - m * s / n + sd));\n const newRight = Math.min(right, Math.floor(k + (n - m) * s / n + sd));\n quickselect(array, k, newLeft, newRight, compare);\n }\n\n const t = array[k];\n let i = left;\n let j = right;\n\n swap(array, left, k);\n if (compare(array[right], t) > 0) swap(array, left, right);\n\n while (i < j) {\n swap(array, i, j), ++i, --j;\n while (compare(array[i], t) < 0) ++i;\n while (compare(array[j], t) > 0) --j;\n }\n\n if (compare(array[left], t) === 0) swap(array, left, j);\n else ++j, swap(array, j, right);\n\n if (j <= k) left = j + 1;\n if (k <= j) right = j - 1;\n }\n\n return array;\n}\n\nfunction swap(array, i, j) {\n const t = array[i];\n array[i] = array[j];\n array[j] = t;\n}\n","import max from \"./max.js\";\nimport maxIndex from \"./maxIndex.js\";\nimport min from \"./min.js\";\nimport minIndex from \"./minIndex.js\";\nimport quickselect from \"./quickselect.js\";\nimport number, {numbers} from \"./number.js\";\nimport {ascendingDefined} from \"./sort.js\";\nimport greatest from \"./greatest.js\";\n\nexport default function quantile(values, p, valueof) {\n values = Float64Array.from(numbers(values, valueof));\n if (!(n = values.length)) return;\n if ((p = +p) <= 0 || n < 2) return min(values);\n if (p >= 1) return max(values);\n var n,\n i = (n - 1) * p,\n i0 = Math.floor(i),\n value0 = max(quickselect(values, i0).subarray(0, i0 + 1)),\n value1 = min(values.subarray(i0 + 1));\n return value0 + (value1 - value0) * (i - i0);\n}\n\nexport function quantileSorted(values, p, valueof = number) {\n if (!(n = values.length)) return;\n if ((p = +p) <= 0 || n < 2) return +valueof(values[0], 0, values);\n if (p >= 1) return +valueof(values[n - 1], n - 1, values);\n var n,\n i = (n - 1) * p,\n i0 = Math.floor(i),\n value0 = +valueof(values[i0], i0, values),\n value1 = +valueof(values[i0 + 1], i0 + 1, values);\n return value0 + (value1 - value0) * (i - i0);\n}\n\nexport function quantileIndex(values, p, valueof) {\n values = Float64Array.from(numbers(values, valueof));\n if (!(n = values.length)) return;\n if ((p = +p) <= 0 || n < 2) return minIndex(values);\n if (p >= 1) return maxIndex(values);\n var n,\n i = Math.floor((n - 1) * p),\n order = (i, j) => ascendingDefined(values[i], values[j]),\n index = quickselect(Uint32Array.from(values, (_, i) => i), i, 0, n - 1, order);\n return greatest(index.subarray(0, i + 1), i => values[i]);\n}\n","import {ascending, bisect, quantileSorted as threshold} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport default function quantile() {\n var domain = [],\n range = [],\n thresholds = [],\n unknown;\n\n function rescale() {\n var i = 0, n = Math.max(1, range.length);\n thresholds = new Array(n - 1);\n while (++i < n) thresholds[i - 1] = threshold(domain, i / n);\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : range[bisect(thresholds, x)];\n }\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return i < 0 ? [NaN, NaN] : [\n i > 0 ? thresholds[i - 1] : domain[0],\n i < thresholds.length ? thresholds[i] : domain[domain.length - 1]\n ];\n };\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [];\n for (let d of _) if (d != null && !isNaN(d = +d)) domain.push(d);\n domain.sort(ascending);\n return rescale();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.quantiles = function() {\n return thresholds.slice();\n };\n\n scale.copy = function() {\n return quantile()\n .domain(domain)\n .range(range)\n .unknown(unknown);\n };\n\n return initRange.apply(scale, arguments);\n}\n","import {bisect} from \"d3-array\";\nimport {linearish} from \"./linear.js\";\nimport {initRange} from \"./init.js\";\n\nexport default function quantize() {\n var x0 = 0,\n x1 = 1,\n n = 1,\n domain = [0.5],\n range = [0, 1],\n unknown;\n\n function scale(x) {\n return x != null && x <= x ? range[bisect(domain, x, 0, n)] : unknown;\n }\n\n function rescale() {\n var i = -1;\n domain = new Array(n);\n while (++i < n) domain[i] = ((i + 1) * x1 - (i - n) * x0) / (n + 1);\n return scale;\n }\n\n scale.domain = function(_) {\n return arguments.length ? ([x0, x1] = _, x0 = +x0, x1 = +x1, rescale()) : [x0, x1];\n };\n\n scale.range = function(_) {\n return arguments.length ? (n = (range = Array.from(_)).length - 1, rescale()) : range.slice();\n };\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return i < 0 ? [NaN, NaN]\n : i < 1 ? [x0, domain[0]]\n : i >= n ? [domain[n - 1], x1]\n : [domain[i - 1], domain[i]];\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : scale;\n };\n\n scale.thresholds = function() {\n return domain.slice();\n };\n\n scale.copy = function() {\n return quantize()\n .domain([x0, x1])\n .range(range)\n .unknown(unknown);\n };\n\n return initRange.apply(linearish(scale), arguments);\n}\n","import {bisect} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport default function threshold() {\n var domain = [0.5],\n range = [0, 1],\n unknown,\n n = 1;\n\n function scale(x) {\n return x != null && x <= x ? range[bisect(domain, x, 0, n)] : unknown;\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_), n = Math.min(domain.length, range.length - 1), scale) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), n = Math.min(domain.length, range.length - 1), scale) : range.slice();\n };\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return [domain[i - 1], domain[i]];\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return threshold()\n .domain(domain)\n .range(range)\n .unknown(unknown);\n };\n\n return initRange.apply(scale, arguments);\n}\n","export const durationSecond = 1000;\nexport const durationMinute = durationSecond * 60;\nexport const durationHour = durationMinute * 60;\nexport const durationDay = durationHour * 24;\nexport const durationWeek = durationDay * 7;\nexport const durationMonth = durationDay * 30;\nexport const durationYear = durationDay * 365;\n","var t0 = new Date,\n t1 = new Date;\n\nexport default function newInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = 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 = [], previous;\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = function(test) {\n return newInterval(function(date) {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, function(date, step) {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = function(start, end) {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = function(step) {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? function(d) { return field(d) % step === 0; }\n : function(d) { return interval.count(0, d) % step === 0; });\n };\n }\n\n return interval;\n}\n","import interval from \"./interval.js\";\n\nvar millisecond = interval(function() {\n // noop\n}, function(date, step) {\n date.setTime(+date + step);\n}, function(start, end) {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = function(k) {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return interval(function(date) {\n date.setTime(Math.floor(date / k) * k);\n }, function(date, step) {\n date.setTime(+date + step * k);\n }, function(start, end) {\n return (end - start) / k;\n });\n};\n\nexport default millisecond;\nexport var milliseconds = millisecond.range;\n","import interval from \"./interval.js\";\nimport {durationSecond} from \"./duration.js\";\n\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});\n\nexport default second;\nexport var seconds = second.range;\n","import interval from \"./interval.js\";\nimport {durationMinute, durationSecond} from \"./duration.js\";\n\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});\n\nexport default minute;\nexport var minutes = minute.range;\n","import interval from \"./interval.js\";\nimport {durationHour, durationMinute, durationSecond} from \"./duration.js\";\n\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});\n\nexport default hour;\nexport var hours = hour.range;\n","import interval from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nvar day = interval(\n date => date.setHours(0, 0, 0, 0),\n (date, step) => date.setDate(date.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n date => date.getDate() - 1\n);\n\nexport default day;\nexport var days = day.range;\n","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);\n\nexport var sundays = sunday.range;\nexport var mondays = monday.range;\nexport var tuesdays = tuesday.range;\nexport var wednesdays = wednesday.range;\nexport var thursdays = thursday.range;\nexport var fridays = friday.range;\nexport var saturdays = saturday.range;\n","import interval from \"./interval.js\";\n\nvar month = interval(function(date) {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setMonth(date.getMonth() + step);\n}, function(start, end) {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, function(date) {\n return date.getMonth();\n});\n\nexport default month;\nexport var months = month.range;\n","import interval from \"./interval.js\";\n\nvar year = interval(function(date) {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setFullYear(date.getFullYear() + step);\n}, function(start, end) {\n return end.getFullYear() - start.getFullYear();\n}, function(date) {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\nyear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport default year;\nexport var years = year.range;\n","import interval from \"./interval.js\";\nimport {durationMinute} from \"./duration.js\";\n\nvar utcMinute = interval(function(date) {\n date.setUTCSeconds(0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getUTCMinutes();\n});\n\nexport default utcMinute;\nexport var utcMinutes = utcMinute.range;\n","import interval from \"./interval.js\";\nimport {durationHour} from \"./duration.js\";\n\nvar utcHour = interval(function(date) {\n date.setUTCMinutes(0, 0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getUTCHours();\n});\n\nexport default utcHour;\nexport var utcHours = utcHour.range;\n","import interval from \"./interval.js\";\nimport {durationDay} from \"./duration.js\";\n\nvar utcDay = interval(function(date) {\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step);\n}, function(start, end) {\n return (end - start) / durationDay;\n}, function(date) {\n return date.getUTCDate() - 1;\n});\n\nexport default utcDay;\nexport var utcDays = utcDay.range;\n","import interval from \"./interval.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);\n\nexport var utcSundays = utcSunday.range;\nexport var utcMondays = utcMonday.range;\nexport var utcTuesdays = utcTuesday.range;\nexport var utcWednesdays = utcWednesday.range;\nexport var utcThursdays = utcThursday.range;\nexport var utcFridays = utcFriday.range;\nexport var utcSaturdays = utcSaturday.range;\n","import interval from \"./interval.js\";\n\nvar utcMonth = interval(function(date) {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, function(start, end) {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, function(date) {\n return date.getUTCMonth();\n});\n\nexport default utcMonth;\nexport var utcMonths = utcMonth.range;\n","import interval from \"./interval.js\";\n\nvar utcYear = interval(function(date) {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, function(start, end) {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, function(date) {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport default utcYear;\nexport var utcYears = utcYear.range;\n","import {bisector, tickStep} from \"d3-array\";\nimport {durationDay, durationHour, durationMinute, durationMonth, durationSecond, durationWeek, durationYear} from \"./duration.js\";\nimport millisecond from \"./millisecond.js\";\nimport second from \"./second.js\";\nimport minute from \"./minute.js\";\nimport hour from \"./hour.js\";\nimport day from \"./day.js\";\nimport {sunday as week} from \"./week.js\";\nimport month from \"./month.js\";\nimport year from \"./year.js\";\nimport utcMinute from \"./utcMinute.js\";\nimport utcHour from \"./utcHour.js\";\nimport utcDay from \"./utcDay.js\";\nimport {utcSunday as utcWeek} from \"./utcWeek.js\";\nimport utcMonth from \"./utcMonth.js\";\nimport utcYear from \"./utcYear.js\";\n\nfunction ticker(year, month, week, day, hour, minute) {\n\n const tickIntervals = [\n [second, 1, durationSecond],\n [second, 5, 5 * durationSecond],\n [second, 15, 15 * durationSecond],\n [second, 30, 30 * durationSecond],\n [minute, 1, durationMinute],\n [minute, 5, 5 * durationMinute],\n [minute, 15, 15 * durationMinute],\n [minute, 30, 30 * durationMinute],\n [ hour, 1, durationHour ],\n [ hour, 3, 3 * durationHour ],\n [ hour, 6, 6 * durationHour ],\n [ hour, 12, 12 * durationHour ],\n [ day, 1, durationDay ],\n [ day, 2, 2 * durationDay ],\n [ week, 1, durationWeek ],\n [ month, 1, durationMonth ],\n [ month, 3, 3 * durationMonth ],\n [ year, 1, durationYear ]\n ];\n\n function ticks(start, stop, count) {\n const reverse = stop < start;\n if (reverse) [start, stop] = [stop, start];\n const interval = count && typeof count.range === \"function\" ? count : tickInterval(start, stop, count);\n const ticks = interval ? interval.range(start, +stop + 1) : []; // inclusive stop\n return reverse ? ticks.reverse() : ticks;\n }\n\n function tickInterval(start, stop, count) {\n const target = Math.abs(stop - start) / count;\n const i = bisector(([,, step]) => step).right(tickIntervals, target);\n if (i === tickIntervals.length) return year.every(tickStep(start / durationYear, stop / durationYear, count));\n if (i === 0) return millisecond.every(Math.max(tickStep(start, stop, count), 1));\n const [t, step] = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n return t.every(step);\n }\n\n return [ticks, tickInterval];\n}\n\nconst [utcTicks, utcTickInterval] = ticker(utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute);\nconst [timeTicks, timeTickInterval] = ticker(year, month, week, day, hour, minute);\n\nexport {utcTicks, utcTickInterval, timeTicks, timeTickInterval};\n","import {\n timeDay,\n timeSunday,\n timeMonday,\n timeThursday,\n timeYear,\n utcDay,\n utcSunday,\n utcMonday,\n utcThursday,\n utcYear\n} from \"d3-time\";\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newDate(y, m, d) {\n return {y: y, m: m, d: d, H: 0, M: 0, S: 0, L: 0};\n}\n\nexport default function formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"g\": formatYearISO,\n \"G\": formatFullYearISO,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"q\": formatQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"g\": formatUTCYearISO,\n \"G\": formatUTCFullYearISO,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"q\": formatUTCQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"g\": parseYear,\n \"G\": parseFullYear,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"q\": parseQuarter,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n\n // These recursive directive definitions must be deferred.\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function(date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);\n else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, Z) {\n return function(string) {\n var d = newDate(1900, undefined, 1),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week, day;\n if (i != string.length) return null;\n\n // If a UNIX timestamp is specified, return it.\n if (\"Q\" in d) return new Date(d.Q);\n if (\"s\" in d) return new Date(d.s * 1000 + (\"L\" in d ? d.L : 0));\n\n // If this is utcParse, never use the local timezone.\n if (Z && !(\"Z\" in d)) d.Z = 0;\n\n // The am-pm flag is 0 for AM, and 1 for PM.\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n\n // If the month was not specified, inherit from the quarter.\n if (d.m === undefined) d.m = \"q\" in d ? d.q : 0;\n\n // Convert day-of-week and week-of-year to day-of-year.\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = localDate(newDate(d.y, 0, 1)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n\n // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n\n // Otherwise, all fields are in local time.\n return localDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || ((j = parse(d, string, j)) < 0)) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatQuarter(d) {\n return 1 + ~~(d.getMonth() / 3);\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n function formatUTCQuarter(d) {\n return 1 + ~~(d.getUTCMonth() / 3);\n }\n\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() { return specifier; };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", false);\n p.toString = function() { return specifier; };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() { return specifier; };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier += \"\", true);\n p.toString = function() { return specifier; };\n return p;\n }\n };\n}\n\nvar pads = {\"-\": \"\", \"_\": \" \", \"0\": \"0\"},\n numberRe = /^\\s*\\d+/, // note: ignores next directive\n percentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n return new Map(names.map((name, i) => [name.toLowerCase(), i]));\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseQuarter(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.s = +n[0], i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction dISO(d) {\n var day = d.getDay();\n return (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n}\n\nfunction formatWeekNumberISO(d, p) {\n d = dISO(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatYearISO(d, p) {\n d = dISO(d);\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatFullYearISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\"))\n + pad(z / 60 | 0, \"0\", 2)\n + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction UTCdISO(d) {\n var day = d.getUTCDay();\n return (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n d = UTCdISO(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCYearISO(d, p) {\n d = UTCdISO(d);\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCFullYearISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\n\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}\n","import {timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeTicks, timeTickInterval} from \"d3-time\";\nimport {timeFormat} from \"d3-time-format\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport nice from \"./nice.js\";\n\nfunction date(t) {\n return new Date(t);\n}\n\nfunction number(t) {\n return t instanceof Date ? +t : +new Date(+t);\n}\n\nexport function calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format) {\n var scale = continuous(),\n invert = scale.invert,\n domain = scale.domain;\n\n var formatMillisecond = format(\".%L\"),\n formatSecond = format(\":%S\"),\n formatMinute = format(\"%I:%M\"),\n formatHour = format(\"%I %p\"),\n formatDay = format(\"%a %d\"),\n formatWeek = format(\"%b %d\"),\n formatMonth = format(\"%B\"),\n formatYear = format(\"%Y\");\n\n function tickFormat(date) {\n return (second(date) < date ? formatMillisecond\n : minute(date) < date ? formatSecond\n : hour(date) < date ? formatMinute\n : day(date) < date ? formatHour\n : month(date) < date ? (week(date) < date ? formatDay : formatWeek)\n : year(date) < date ? formatMonth\n : formatYear)(date);\n }\n\n scale.invert = function(y) {\n return new Date(invert(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? domain(Array.from(_, number)) : domain().map(date);\n };\n\n scale.ticks = function(interval) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], interval == null ? 10 : interval);\n };\n\n scale.tickFormat = function(count, specifier) {\n return specifier == null ? tickFormat : format(specifier);\n };\n\n scale.nice = function(interval) {\n var d = domain();\n if (!interval || typeof interval.range !== \"function\") interval = tickInterval(d[0], d[d.length - 1], interval == null ? 10 : interval);\n return interval ? domain(nice(d, interval)) : scale;\n };\n\n scale.copy = function() {\n return copy(scale, calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format));\n };\n\n return scale;\n}\n\nexport default function time() {\n return initRange.apply(calendar(timeTicks, timeTickInterval, timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]), arguments);\n}\n","import {utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcTicks, utcTickInterval} from \"d3-time\";\nimport {utcFormat} from \"d3-time-format\";\nimport {calendar} from \"./time.js\";\nimport {initRange} from \"./init.js\";\n\nexport default function utcTime() {\n return initRange.apply(calendar(utcTicks, utcTickInterval, utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]), arguments);\n}\n","import {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 return arguments.length ? ([x0, x1] = _, 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 r0, r1;\n return arguments.length ? ([r0, r1] = _, interpolator = interpolate(r0, r1), scale) : [interpolator(0), interpolator(1)];\n };\n }\n\n scale.range = range(interpolate);\n\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\n .domain(source.domain())\n .interpolator(source.interpolator())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\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}\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}\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}\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}\n\nexport function sequentialSqrt() {\n return sequentialPow.apply(null, arguments).exponent(0.5);\n}\n","import {ascending, bisect, quantile} from \"d3-array\";\nimport {identity} from \"./continuous.js\";\nimport {initInterpolator} from \"./init.js\";\n\nexport default function sequentialQuantile() {\n var domain = [],\n interpolator = identity;\n\n function scale(x) {\n if (x != null && !isNaN(x = +x)) return interpolator((bisect(domain, x, 1) - 1) / (domain.length - 1));\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [];\n for (let d of _) if (d != null && !isNaN(d = +d)) domain.push(d);\n domain.sort(ascending);\n return scale;\n };\n\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n scale.range = function() {\n return domain.map((d, i) => interpolator(i / (domain.length - 1)));\n };\n\n scale.quantiles = function(n) {\n return Array.from({length: n + 1}, (_, i) => quantile(domain, i / n));\n };\n\n scale.copy = function() {\n return sequentialQuantile(interpolator).domain(domain);\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n","import {interpolate, interpolateRound, piecewise} from \"d3-interpolate\";\nimport {identity} from \"./continuous.js\";\nimport {initInterpolator} from \"./init.js\";\nimport {linearish} from \"./linear.js\";\nimport {loggish} from \"./log.js\";\nimport {copy} from \"./sequential.js\";\nimport {symlogish} from \"./symlog.js\";\nimport {powish} from \"./pow.js\";\n\nfunction transformer() {\n var x0 = 0,\n x1 = 0.5,\n x2 = 1,\n s = 1,\n t0,\n t1,\n t2,\n k10,\n k21,\n interpolator = identity,\n transform,\n clamp = false,\n unknown;\n\n function scale(x) {\n return isNaN(x = +x) ? unknown : (x = 0.5 + ((x = +transform(x)) - t1) * (s * x < s * t1 ? k10 : k21), interpolator(clamp ? Math.max(0, Math.min(1, x)) : x));\n }\n\n scale.domain = function(_) {\n return arguments.length ? ([x0, x1, x2] = _, t0 = transform(x0 = +x0), t1 = transform(x1 = +x1), t2 = transform(x2 = +x2), k10 = t0 === t1 ? 0 : 0.5 / (t1 - t0), k21 = t1 === t2 ? 0 : 0.5 / (t2 - t1), s = t1 < t0 ? -1 : 1, scale) : [x0, x1, x2];\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = !!_, scale) : clamp;\n };\n\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n function range(interpolate) {\n return function(_) {\n var r0, r1, r2;\n return arguments.length ? ([r0, r1, r2] = _, interpolator = piecewise(interpolate, [r0, r1, r2]), scale) : [interpolator(0), interpolator(0.5), interpolator(1)];\n };\n }\n\n scale.range = range(interpolate);\n\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), t2 = t(x2), k10 = t0 === t1 ? 0 : 0.5 / (t1 - t0), k21 = t1 === t2 ? 0 : 0.5 / (t2 - t1), s = t1 < t0 ? -1 : 1;\n return scale;\n };\n}\n\nexport default function diverging() {\n var scale = linearish(transformer()(identity));\n\n scale.copy = function() {\n return copy(scale, diverging());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function divergingLog() {\n var scale = loggish(transformer()).domain([0.1, 1, 10]);\n\n scale.copy = function() {\n return copy(scale, divergingLog()).base(scale.base());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function divergingSymlog() {\n var scale = symlogish(transformer());\n\n scale.copy = function() {\n return copy(scale, divergingSymlog()).constant(scale.constant());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function divergingPow() {\n var scale = powish(transformer());\n\n scale.copy = function() {\n return copy(scale, divergingPow()).exponent(scale.exponent());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function divergingSqrt() {\n return divergingPow.apply(null, arguments).exponent(0.5);\n}\n","import {default as value} from \"./value.js\";\n\nexport default function piecewise(interpolate, values) {\n if (values === undefined) values = interpolate, interpolate = value;\n var i = 0, n = values.length - 1, v = values[0], I = new Array(n < 0 ? 0 : n);\n while (i < n) I[i] = interpolate(v, v = values[++i]);\n return function(t) {\n var i = Math.max(0, Math.min(n - 1, Math.floor(t *= n)));\n return I[i](t - i);\n };\n}\n","export function initRange(domain, range) {\n switch (arguments.length) {\n case 0: break;\n case 1: this.range(domain); break;\n default: this.range(range).domain(domain); break;\n }\n return this;\n}\n\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0: break;\n case 1: {\n if (typeof domain === \"function\") this.interpolator(domain);\n else this.range(domain);\n break;\n }\n default: {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);\n else this.range(interpolator);\n break;\n }\n }\n return this;\n}\n","import {ticks, tickIncrement} from \"d3-array\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport tickFormat from \"./tickFormat.js\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n \n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count);\n if (step === prestep) {\n d[i0] = start\n d[i1] = stop\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n prestep = step;\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous();\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n","export default function number(x) {\n return +x;\n}\n","export class InternMap extends Map {\n constructor(entries, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (entries != null) for (const [key, value] of entries) this.set(key, value);\n }\n get(key) {\n return super.get(intern_get(this, key));\n }\n has(key) {\n return super.has(intern_get(this, key));\n }\n set(key, value) {\n return super.set(intern_set(this, key), value);\n }\n delete(key) {\n return super.delete(intern_delete(this, key));\n }\n}\n\nexport class InternSet extends Set {\n constructor(values, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (values != null) for (const value of values) this.add(value);\n }\n has(value) {\n return super.has(intern_get(this, value));\n }\n add(value) {\n return super.add(intern_set(this, value));\n }\n delete(value) {\n return super.delete(intern_delete(this, value));\n }\n}\n\nfunction intern_get({_intern, _key}, value) {\n const key = _key(value);\n return _intern.has(key) ? _intern.get(key) : value;\n}\n\nfunction intern_set({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) return _intern.get(key);\n _intern.set(key, value);\n return value;\n}\n\nfunction intern_delete({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) {\n value = _intern.get(key);\n _intern.delete(key);\n }\n return value;\n}\n\nfunction keyof(value) {\n return value !== null && typeof value === \"object\" ? value.valueOf() : value;\n}\n","import {InternMap} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport const implicit = Symbol(\"implicit\");\n\nexport default function ordinal() {\n var index = new InternMap(),\n domain = [],\n range = [],\n unknown = implicit;\n\n function scale(d) {\n let i = index.get(d);\n if (i === undefined) {\n if (unknown !== implicit) return unknown;\n index.set(d, i = domain.push(d) - 1);\n }\n return range[i % range.length];\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = new InternMap();\n for (const value of _) {\n if (index.has(value)) continue;\n index.set(value, domain.push(value) - 1);\n }\n return scale;\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), scale) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return ordinal(domain, range).unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n","import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function tickFormat(start, stop, count, specifier) {\n var step = tickStep(start, stop, count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n"],"names":["toIndexedObject","toAbsoluteIndex","lengthOfArrayLike","createMethod","IS_INCLUDES","$this","el","fromIndex","value","O","length","index","module","exports","includes","indexOf","DESCRIPTORS","isArray","$TypeError","TypeError","getOwnPropertyDescriptor","Object","SILENT_ON_NON_WRITABLE_LENGTH_SET","undefined","this","defineProperty","writable","error","hasOwn","ownKeys","getOwnPropertyDescriptorModule","definePropertyModule","target","source","exceptions","keys","f","i","key","it","global","createNonEnumerableProperty","defineBuiltIn","defineGlobalProperty","copyConstructorProperties","isForced","options","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","prototype","dontCallGetSet","forced","sham","classof","Array","argument","fails","isCallable","replacement","feature","detection","data","normalize","POLYFILL","NATIVE","string","String","replace","toLowerCase","call","propertyIsEnumerableModule","createPropertyDescriptor","toPropertyKey","IE8_DOM_DEFINE","$getOwnPropertyDescriptor","P","internalObjectKeys","hiddenKeys","concat","getOwnPropertyNames","getOwnPropertySymbols","uncurryThis","push","object","names","result","$propertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","V","enumerable","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","anObject","toIntegerOrInfinity","max","Math","min","integer","IndexedObject","requireObjectCoercible","$","toObject","setArrayLength","doesNotExceedSafeInteger","proto","arity","properErrorOnNonWritableLength","item","len","argCount","arguments","ascending","a","b","NaN","ascendingBisect","bisectRight","right","left","center","descending","bisector","compare1","compare2","delta","x","lo","hi","mid","d","zero","values","valueof","number","numbers","e10","sqrt","e5","e2","ticks","start","stop","count","reverse","n","step","tickIncrement","isFinite","r0","round","r1","power","floor","log","LN10","pow","tickStep","step0","abs","step1","constructor","factory","extend","parent","definition","create","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","format","m","l","trim","exec","parseInt","rgbn","Rgb","rgba","hsla","hasOwnProperty","r","g","opacity","o","rgb_formatHex","hex","rgb_formatRgb","clampa","clampi","isNaN","toString","h","s","Hsl","hslConvert","clamph","clampt","hsl2rgb","m1","m2","copy","channels","assign","displayable","formatHex8","formatHsl","k","clamp","prefixExponent","p","formatDecimal","coefficient","exponent","join","slice","toFixed","toExponential","toPrecision","formatRounded","toUpperCase","formatPrefix","map","prefixes","locale","grouping","thousands","group","identity","Number","width","t","j","substring","currencyPrefix","currency","currencySuffix","decimal","numerals","formatNumerals","percent","minus","nan","newFormat","specifier","fill","formatSpecifier","align","sign","symbol","comma","precision","type","formatTypes","prefix","test","suffix","formatType","maybeSuffix","c","valuePrefix","valueSuffix","valueNegative","out","i1","i0","formatTrim","charCodeAt","Infinity","padding","e","toLocaleString","formatDecimalParts","re","match","Error","FormatSpecifier","basis","t1","v0","v1","v2","v3","t2","t3","linear","gamma","y","nogamma","exponential","rgbGamma","end","rgbSpline","spline","colors","reA","reB","am","bm","bs","bi","lastIndex","q","one","genericArray","nb","na","Date","setTime","constant","date","ArrayBuffer","isView","DataView","valueOf","band","bandwidth","scale","ordinal","unknown","domain","ordinalRange","range","paddingInner","paddingOuter","rescale","ceil","_","rangeRound","init","apply","pointish","point","unit","bimap","interpolate","d0","d1","polymap","bisect","transformer","transform","untransform","piecewise","output","input","invert","from","u","continuous","nice","interval","x0","x1","transformLog","transformExp","exp","transformLogn","transformExpn","pow10","reflect","loggish","logs","pows","base","E","log10","log2","logp","powp","v","z","tickFormat","transformSymlog","log1p","transformSymexp","expm1","symlogish","symlog","transformPow","transformSqrt","transformSquare","powish","square","radial","squared","unsquare","compareDefined","compare","array","sd","swap","quantile","Float64Array","value0","subarray","quantileSorted","thresholds","invertExtent","sort","quantiles","quantize","threshold","durationSecond","durationMinute","durationHour","durationDay","durationWeek","durationMonth","durationYear","t0","newInterval","floori","offseti","field","offset","previous","filter","every","millisecond","second","getMilliseconds","getUTCSeconds","minute","getSeconds","getMinutes","hour","getHours","day","setHours","setDate","getDate","getTimezoneOffset","weekday","getDay","sunday","monday","tuesday","wednesday","thursday","friday","saturday","month","setMonth","getMonth","getFullYear","year","setFullYear","utcMinute","setUTCSeconds","getUTCMinutes","utcHour","setUTCMinutes","getUTCHours","utcDay","setUTCHours","setUTCDate","getUTCDate","utcWeekday","getUTCDay","utcSunday","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","utcMonth","setUTCMonth","getUTCMonth","getUTCFullYear","utcYear","setUTCFullYear","ticker","week","tickIntervals","tickInterval","utcTicks","utcTickInterval","timeTicks","timeTickInterval","localDate","H","M","S","L","utcDate","UTC","newDate","timeFormat","utcFormat","pads","numberRe","percentRe","requoteRe","pad","requote","formatRe","formatLookup","Map","name","parseWeekdayNumberSunday","w","parseWeekdayNumberMonday","parseWeekNumberSunday","U","parseWeekNumberISO","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","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","getUTCMilliseconds","formatUTCMicroseconds","formatUTCMonthNumber","formatUTCMinutes","formatUTCSeconds","formatUTCWeekdayNumberMonday","dow","formatUTCWeekNumberSunday","UTCdISO","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCYearISO","formatUTCFullYear","formatUTCFullYearISO","formatUTCZone","formatLiteralPercent","formatUnixTimestamp","formatUnixTimestampSeconds","calendar","formatMillisecond","formatSecond","formatMinute","formatHour","formatDay","formatWeek","formatMonth","time","utcTime","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","get","parseSpecifier","charAt","newParse","parse","X","utcParse","formatLocale","k10","interpolator","sequential","sequentialLog","sequentialSymlog","sequentialPow","sequentialSqrt","sequentialQuantile","k21","x2","r2","I","diverging","divergingLog","divergingSymlog","divergingPow","divergingSqrt","initRange","initInterpolator","linearish","prestep","maxIter","InternMap","entries","keyof","super","defineProperties","_intern","_key","set","intern_get","has","intern_set","delete","intern_delete","Set","implicit","Symbol","precisionPrefix","precisionRound","precisionFixed"],"sourceRoot":""}