{"version":3,"sources":["webpack:///./node_modules/d3-time/src/utcWeek.js","webpack:///./node_modules/d3-time/src/week.js","webpack:///./node_modules/d3-shape/src/constant.js","webpack:///./node_modules/d3-time/src/utcYear.js","webpack:///./node_modules/d3-time/src/year.js","webpack:///./node_modules/d3-time/src/utcDay.js","webpack:///./node_modules/d3-time/src/day.js","webpack:///./node_modules/d3-time-format/src/defaultLocale.js","webpack:///./node_modules/d3-time-format/src/locale.js","webpack:///./node_modules/d3-shape/src/point.js","webpack:///./node_modules/d3-shape/src/array.js","webpack:///./node_modules/d3-shape/src/curve/linear.js","webpack:///./node_modules/d3-time/src/month.js","webpack:///./node_modules/d3-time/src/duration.js","webpack:///./node_modules/d3-time/src/millisecond.js","webpack:///./node_modules/d3-time/src/second.js","webpack:///./node_modules/d3-time/src/minute.js","webpack:///./node_modules/d3-time/src/hour.js","webpack:///./node_modules/d3-time/src/utcMinute.js","webpack:///./node_modules/d3-time/src/utcHour.js","webpack:///./node_modules/d3-time/src/utcMonth.js","webpack:///./node_modules/d3-time/src/ticks.js","webpack:///./node_modules/d3-scale/src/time.js","webpack:///./node_modules/d3-scale/src/nice.js","webpack:///./node_modules/d3-path/src/path.js","webpack:///./node_modules/d3-axis/src/identity.js","webpack:///./node_modules/d3-axis/src/axis.js","webpack:///./node_modules/d3-shape/src/line.js","webpack:///./node_modules/d3-time/src/interval.js"],"names":["__webpack_require__","d","__webpack_exports__","utcSunday","utcMonday","utcThursday","_interval_js__WEBPACK_IMPORTED_MODULE_0__","_duration_js__WEBPACK_IMPORTED_MODULE_1__","utcWeekday","i","interval","date","setUTCDate","getUTCDate","getUTCDay","setUTCHours","step","start","end","durationWeek","utcTuesday","utcWednesday","utcFriday","utcSaturday","range","sunday","monday","thursday","weekday","setDate","getDate","getDay","setHours","getTimezoneOffset","durationMinute","tuesday","wednesday","friday","saturday","x","utcYear","setUTCMonth","setUTCFullYear","getUTCFullYear","every","k","isFinite","Math","floor","year","setMonth","setFullYear","getFullYear","utcDay","durationDay","day","timeFormat","locale","definition","_locale_js__WEBPACK_IMPORTED_MODULE_0__","dateTime","time","periods","days","shortDays","months","shortMonths","formatLocale","format","parse","utcFormat","utcParse","d3_time__WEBPACK_IMPORTED_MODULE_0__","d3_time__WEBPACK_IMPORTED_MODULE_1__","d3_time__WEBPACK_IMPORTED_MODULE_2__","d3_time__WEBPACK_IMPORTED_MODULE_3__","d3_time__WEBPACK_IMPORTED_MODULE_4__","d3_time__WEBPACK_IMPORTED_MODULE_5__","localDate","y","Date","m","H","M","S","L","utcDate","UTC","newDate","locale_dateTime","locale_date","locale_time","locale_periods","locale_weekdays","locale_shortWeekdays","locale_months","locale_shortMonths","periodRe","formatRe","periodLookup","formatLookup","weekdayRe","weekdayLookup","shortWeekdayRe","shortWeekdayLookup","monthRe","monthLookup","shortMonthRe","shortMonthLookup","formats","a","A","b","getMonth","B","c","formatDayOfMonth","e","f","formatMicroseconds","g","formatYearISO","G","formatFullYearISO","formatHour24","I","formatHour12","j","formatDayOfYear","formatMilliseconds","formatMonthNumber","formatMinutes","p","getHours","q","Q","formatUnixTimestamp","s","formatUnixTimestampSeconds","formatSeconds","u","formatWeekdayNumberMonday","U","formatWeekNumberSunday","V","formatWeekNumberISO","w","formatWeekdayNumberSunday","W","formatWeekNumberMonday","X","formatYear","Y","formatFullYear","Z","formatZone","%","formatLiteralPercent","utcFormats","getUTCMonth","formatUTCDayOfMonth","formatUTCMicroseconds","formatUTCYearISO","formatUTCFullYearISO","formatUTCHour24","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","formatUTCMonthNumber","formatUTCMinutes","getUTCHours","formatUTCSeconds","formatUTCWeekdayNumberMonday","formatUTCWeekNumberSunday","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCFullYear","formatUTCZone","parses","string","n","exec","slice","get","toLowerCase","length","parseSpecifier","parseDayOfMonth","parseMicroseconds","parseYear","parseFullYear","parseHour24","parseDayOfYear","parseMilliseconds","parseMonthNumber","parseMinutes","parseQuarter","parseUnixTimestamp","parseUnixTimestampSeconds","parseSeconds","parseWeekdayNumberMonday","parseWeekNumberSunday","parseWeekNumberISO","parseWeekdayNumberSunday","parseWeekNumberMonday","parseZone","parseLiteralPercent","newFormat","specifier","pad","charCodeAt","push","pads","charAt","join","newParse","week","undefined","ceil","offset","timeMonday","timeDay","toString","-","_","0","numberRe","percentRe","requoteRe","value","fill","width","sign","Array","requote","replace","names","RegExp","map","Map","name","count","timeYear","getMilliseconds","getMinutes","getSeconds","timeSunday","dISO","timeThursday","z","getUTCMilliseconds","getUTCMinutes","getUTCSeconds","dow","UTCdISO","prototype","from","Linear","context","this","_context","areaStart","_line","areaEnd","NaN","lineStart","_point","lineEnd","closePath","point","lineTo","moveTo","month","durationSecond","durationHour","durationMonth","durationYear","millisecond","setTime","second","minute","hour","utcMinute","setUTCSeconds","utcHour","setUTCMinutes","utcMonth","ticker","tickIntervals","tickInterval","stop","target","abs","bisector","right","tickStep","max","t","reverse","ticks","utcTicks","utcTickInterval","utcWeek","timeTicks","timeTickInterval","number","initRange","apply","calendar","scale","continuous","invert","domain","formatMillisecond","formatSecond","formatMinute","formatHour","formatDay","formatWeek","formatMonth","tickFormat","arguments","nice","i0","i1","x0","x1","copy","timeMonth","timeWeek","timeHour","timeMinute","timeSecond","pi","PI","tau","tauEpsilon","Path","_x0","_y0","_x1","_y1","path","constructor","quadraticCurveTo","y1","bezierCurveTo","x2","y2","arcTo","r","y0","x21","y21","x01","y01","l01_2","Error","x20","y20","l21_2","l20_2","l21","sqrt","l01","l","tan","acos","t01","t21","arc","a0","a1","ccw","dx","cos","dy","sin","cw","da","rect","h","identity","top","bottom","left","epsilon","translateX","translateY","entering","__axis","axis","orient","tickArguments","tickValues","tickSizeInner","tickSizeOuter","tickPadding","window","devicePixelRatio","transform","values","spacing","range0","range1","position","bandwidth","round","selection","selectAll","data","tick","order","tickExit","exit","tickEnter","enter","append","attr","line","select","text","merge","insert","transition","getAttribute","parentNode","remove","filter","each","tickSize","axisRight","axisBottom","axisLeft","d3_path__WEBPACK_IMPORTED_MODULE_0__","_array_js__WEBPACK_IMPORTED_MODULE_1__","_constant_js__WEBPACK_IMPORTED_MODULE_2__","_curve_linear_js__WEBPACK_IMPORTED_MODULE_3__","_point_js__WEBPACK_IMPORTED_MODULE_4__","defined","constant","curve","curveLinear","output","buffer","array","defined0","pointX","pointY","newInterval","t0","t1","floori","offseti","field","d0","d1","previous","test"],"mappings":"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","file":"assets/js/2.js","sourcesContent":["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\";\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","export default function(x) {\n return function constant() {\n return x;\n };\n}\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 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 {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 {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 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 {\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","export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n","export var slice = Array.prototype.slice;\n\nexport default function(x) {\n return typeof x === \"object\" && \"length\" in x\n ? x // Array, TypedArray, NodeList, array-like\n : Array.from(x); // Map, Set, iterable, string, or anything else\n}\n","function Linear(context) {\n this._context = context;\n}\n\nLinear.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // falls through\n default: this._context.lineTo(x, y); break;\n }\n }\n};\n\nexport default function(context) {\n return new Linear(context);\n}\n","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","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","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 {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\";\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 {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 {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","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","const pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction Path() {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n}\n\nfunction path() {\n return new Path;\n}\n\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function(x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._ += \"Z\";\n }\n },\n lineTo: function(x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function(x1, y1, x, y) {\n this._ += \"Q\" + (+x1) + \",\" + (+y1) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) {\n this._ += \"C\" + (+x1) + \",\" + (+y1) + \",\" + (+x2) + \",\" + (+y2) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n var x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon));\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Otherwise, draw an arc!\n else {\n var x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01);\n }\n\n this._ += \"A\" + r + \",\" + r + \",0,0,\" + (+(y01 * x20 > x01 * y20)) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n }\n },\n arc: function(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n var dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._ += \"M\" + x0 + \",\" + y0;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._ += \"L\" + x0 + \",\" + y0;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (x - dx) + \",\" + (y - dy) + \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (this._x1 = x0) + \",\" + (this._y1 = y0);\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,\" + (+(da >= pi)) + \",\" + cw + \",\" + (this._x1 = x + r * Math.cos(a1)) + \",\" + (this._y1 = y + r * Math.sin(a1));\n }\n },\n rect: function(x, y, w, h) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y) + \"h\" + (+w) + \"v\" + (+h) + \"h\" + (-w) + \"Z\";\n },\n toString: function() {\n return this._;\n }\n};\n\nexport default path;\n","export default function(x) {\n return x;\n}\n","import identity from \"./identity.js\";\n\nvar top = 1,\n right = 2,\n bottom = 3,\n left = 4,\n epsilon = 1e-6;\n\nfunction translateX(x) {\n return \"translate(\" + x + \",0)\";\n}\n\nfunction translateY(y) {\n return \"translate(0,\" + y + \")\";\n}\n\nfunction number(scale) {\n return d => +scale(d);\n}\n\nfunction center(scale, offset) {\n offset = Math.max(0, scale.bandwidth() - offset * 2) / 2;\n if (scale.round()) offset = Math.round(offset);\n return d => +scale(d) + offset;\n}\n\nfunction entering() {\n return !this.__axis;\n}\n\nfunction axis(orient, scale) {\n var tickArguments = [],\n tickValues = null,\n tickFormat = null,\n tickSizeInner = 6,\n tickSizeOuter = 6,\n tickPadding = 3,\n offset = typeof window !== \"undefined\" && window.devicePixelRatio > 1 ? 0 : 0.5,\n k = orient === top || orient === left ? -1 : 1,\n x = orient === left || orient === right ? \"x\" : \"y\",\n transform = orient === top || orient === bottom ? translateX : translateY;\n\n function axis(context) {\n var values = tickValues == null ? (scale.ticks ? scale.ticks.apply(scale, tickArguments) : scale.domain()) : tickValues,\n format = tickFormat == null ? (scale.tickFormat ? scale.tickFormat.apply(scale, tickArguments) : identity) : tickFormat,\n spacing = Math.max(tickSizeInner, 0) + tickPadding,\n range = scale.range(),\n range0 = +range[0] + offset,\n range1 = +range[range.length - 1] + offset,\n position = (scale.bandwidth ? center : number)(scale.copy(), offset),\n selection = context.selection ? context.selection() : context,\n path = selection.selectAll(\".domain\").data([null]),\n tick = selection.selectAll(\".tick\").data(values, scale).order(),\n tickExit = tick.exit(),\n tickEnter = tick.enter().append(\"g\").attr(\"class\", \"tick\"),\n line = tick.select(\"line\"),\n text = tick.select(\"text\");\n\n path = path.merge(path.enter().insert(\"path\", \".tick\")\n .attr(\"class\", \"domain\")\n .attr(\"stroke\", \"currentColor\"));\n\n tick = tick.merge(tickEnter);\n\n line = line.merge(tickEnter.append(\"line\")\n .attr(\"stroke\", \"currentColor\")\n .attr(x + \"2\", k * tickSizeInner));\n\n text = text.merge(tickEnter.append(\"text\")\n .attr(\"fill\", \"currentColor\")\n .attr(x, k * spacing)\n .attr(\"dy\", orient === top ? \"0em\" : orient === bottom ? \"0.71em\" : \"0.32em\"));\n\n if (context !== selection) {\n path = path.transition(context);\n tick = tick.transition(context);\n line = line.transition(context);\n text = text.transition(context);\n\n tickExit = tickExit.transition(context)\n .attr(\"opacity\", epsilon)\n .attr(\"transform\", function(d) { return isFinite(d = position(d)) ? transform(d + offset) : this.getAttribute(\"transform\"); });\n\n tickEnter\n .attr(\"opacity\", epsilon)\n .attr(\"transform\", function(d) { var p = this.parentNode.__axis; return transform((p && isFinite(p = p(d)) ? p : position(d)) + offset); });\n }\n\n tickExit.remove();\n\n path\n .attr(\"d\", orient === left || orient === right\n ? (tickSizeOuter ? \"M\" + k * tickSizeOuter + \",\" + range0 + \"H\" + offset + \"V\" + range1 + \"H\" + k * tickSizeOuter : \"M\" + offset + \",\" + range0 + \"V\" + range1)\n : (tickSizeOuter ? \"M\" + range0 + \",\" + k * tickSizeOuter + \"V\" + offset + \"H\" + range1 + \"V\" + k * tickSizeOuter : \"M\" + range0 + \",\" + offset + \"H\" + range1));\n\n tick\n .attr(\"opacity\", 1)\n .attr(\"transform\", function(d) { return transform(position(d) + offset); });\n\n line\n .attr(x + \"2\", k * tickSizeInner);\n\n text\n .attr(x, k * spacing)\n .text(format);\n\n selection.filter(entering)\n .attr(\"fill\", \"none\")\n .attr(\"font-size\", 10)\n .attr(\"font-family\", \"sans-serif\")\n .attr(\"text-anchor\", orient === right ? \"start\" : orient === left ? \"end\" : \"middle\");\n\n selection\n .each(function() { this.__axis = position; });\n }\n\n axis.scale = function(_) {\n return arguments.length ? (scale = _, axis) : scale;\n };\n\n axis.ticks = function() {\n return tickArguments = Array.from(arguments), axis;\n };\n\n axis.tickArguments = function(_) {\n return arguments.length ? (tickArguments = _ == null ? [] : Array.from(_), axis) : tickArguments.slice();\n };\n\n axis.tickValues = function(_) {\n return arguments.length ? (tickValues = _ == null ? null : Array.from(_), axis) : tickValues && tickValues.slice();\n };\n\n axis.tickFormat = function(_) {\n return arguments.length ? (tickFormat = _, axis) : tickFormat;\n };\n\n axis.tickSize = function(_) {\n return arguments.length ? (tickSizeInner = tickSizeOuter = +_, axis) : tickSizeInner;\n };\n\n axis.tickSizeInner = function(_) {\n return arguments.length ? (tickSizeInner = +_, axis) : tickSizeInner;\n };\n\n axis.tickSizeOuter = function(_) {\n return arguments.length ? (tickSizeOuter = +_, axis) : tickSizeOuter;\n };\n\n axis.tickPadding = function(_) {\n return arguments.length ? (tickPadding = +_, axis) : tickPadding;\n };\n\n axis.offset = function(_) {\n return arguments.length ? (offset = +_, axis) : offset;\n };\n\n return axis;\n}\n\nexport function axisTop(scale) {\n return axis(top, scale);\n}\n\nexport function axisRight(scale) {\n return axis(right, scale);\n}\n\nexport function axisBottom(scale) {\n return axis(bottom, scale);\n}\n\nexport function axisLeft(scale) {\n return axis(left, scale);\n}\n","import {path} from \"d3-path\";\nimport array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function(x, y) {\n var defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n\n x = typeof x === \"function\" ? x : (x === undefined) ? pointX : constant(x);\n y = typeof y === \"function\" ? y : (y === undefined) ? pointY : constant(y);\n\n function line(data) {\n var i,\n n = (data = array(data)).length,\n d,\n defined0 = false,\n buffer;\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) output.lineStart();\n else output.lineEnd();\n }\n if (defined0) output.point(+x(d, i, data), +y(d, i, data));\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n line.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), line) : x;\n };\n\n line.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), line) : y;\n };\n\n line.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), line) : defined;\n };\n\n line.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;\n };\n\n line.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;\n };\n\n return line;\n}\n","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"],"sourceRoot":""}