@atomist/sdm-pack-aspect
Version:
an Atomist SDM Extension Pack for visualizing drift across an organization
368 lines (298 loc) • 1.29 MB
JavaScript
var SunburstYo =
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = "./lib/page/sunburstScript.js");
/******/ })
/************************************************************************/
/******/ ({
/***/ "./lib/page/sunburstScript.js":
/*!************************************!*\
!*** ./lib/page/sunburstScript.js ***!
\************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n/*\n * Copyright © 2019 Atomist, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst d3 = __webpack_require__(/*! d3 */ \"./node_modules/d3/index.js\");\nconst NameOfThisLibrary = \"SunburstYo\";\n/**\n * Color palette for d3 to use\n */\nconst palette = [\n \"#56b06f\",\n \"#3bbaa8\",\n \"#35848c\",\n \"#173d6d\",\n \"#846473\",\n \"#5F7186\",\n \"#0d560d\",\n \"#1f8045\",\n \"#173d48\",\n];\n// tslint:disable\nfunction sunburst(workspaceId, data, pWidth, pHeight, options) {\n const { perLevelDataElementIds, fieldsToDisplay } = options;\n const minDiameterInPixels = 100;\n const width = Math.max(pWidth || window.innerWidth, minDiameterInPixels), height = Math.max(pHeight || window.innerHeight, minDiameterInPixels), maxRadius = (Math.min(width, height) / 2) - 5;\n const viewBoxSide = maxRadius * 2 + 10;\n const x = d3.scaleLinear()\n .range([0, 2 * Math.PI])\n .clamp(true);\n const y = d3.scaleSqrt()\n .range([maxRadius * .1, maxRadius]);\n const chooseColorFromString = d3.scaleOrdinal(palette);\n const arc = d3.arc()\n .startAngle((d) => x(d.x0))\n .endAngle((d) => x(d.x1))\n .innerRadius((d) => Math.max(0, y(d.y0)))\n .outerRadius((d) => Math.max(0, y(d.y1)));\n const middleArcLine = d => {\n const halfPi = Math.PI / 2;\n const angles = [x(d.x0) - halfPi, x(d.x1) - halfPi];\n const r = Math.max(0, (y(d.y0) + y(d.y1)) / 2);\n const middleAngle = (angles[1] + angles[0]) / 2;\n const invertDirection = middleAngle > 0 && middleAngle < Math.PI; // On lower quadrants write text ccw\n if (invertDirection) {\n angles.reverse();\n }\n const path = d3.path();\n path.arc(0, 0, r, angles[0], angles[1], invertDirection);\n return path.toString();\n };\n const textFits = d => {\n const CHAR_SPACE = 6;\n const deltaAngle = x(d.x1) - x(d.x0);\n const r = Math.max(0, (y(d.y0) + y(d.y1)) / 2);\n const perimeter = r * deltaAngle;\n return d.data.name.length * CHAR_SPACE < perimeter;\n };\n const svg = d3.select(\"#putSvgHere\").append(\"svg\")\n .style(\"width\", viewBoxSide + \"px\")\n .attr(\"viewBox\", `${-viewBoxSide / 2} ${-viewBoxSide / 2} ${viewBoxSide} ${viewBoxSide}`)\n .on(\"click\", focusOn); // Reset zoom on canvas click\n // now work with the data\n const d = data;\n if (!d.tree || d.tree.children.length === 0) {\n alert(\"No data\");\n return;\n }\n const root = d3.hierarchy(d.tree);\n root.sum(d => d.size || 0); // sets a \"value\" property on each node\n const slice = svg.selectAll(\"g.slice\")\n .data(d3.partition()(root).descendants());\n slice.exit().remove(); // does this remove any extraneous ones?\n const perLevelDataElements = perLevelDataElementIds.map(id => d3.select(\"#\" + id)).filter(a => !!a);\n const additionalDataElement = d3.select(\"#additionalDataAboutWhatYouClicked\");\n const newSlice = slice.enter()\n .append(\"g\").attr(\"class\", \"slice\")\n .on(\"click\", d => {\n d3.event.stopPropagation();\n setFrozenLevelData(workspaceId, perLevelDataElements, d);\n focusOn(d);\n })\n .on(\"mouseover\", (d) => {\n populatePerLevelData(perLevelDataElements, d);\n populateAdditionalData(additionalDataElement, fieldsToDisplay, d);\n });\n // This is the hover text\n newSlice.append(\"title\")\n .text(d => d.data.name);\n newSlice.append(\"path\")\n .attr(\"class\", \"main-arc\")\n // I think this says, the last ring should use the same color as its parent\n .style(\"fill\", (d) => d.data.color || chooseColorFromString((d.children ? d : d.parent).data.name))\n .attr(\"d\", arc);\n newSlice.append(\"path\")\n .attr(\"class\", \"hidden-arc\")\n .attr(\"id\", (_, i) => `hiddenArc${i}`)\n .attr(\"d\", middleArcLine);\n const text = newSlice.append(\"text\")\n .attr(\"display\", d => textFits(d) ? null : \"none\");\n // Add white contour\n text.append(\"textPath\")\n .attr(\"class\", \"textOutline\")\n .attr(\"startOffset\", \"50%\")\n .attr(\"xlink:href\", (_, i) => `#hiddenArc${i}`)\n .text(d => d.data.name);\n text.append(\"textPath\")\n .attr(\"startOffset\", \"50%\")\n .attr(\"xlink:href\", (_, i) => `#hiddenArc${i}`)\n .text(d => d.data.name);\n function focusOn(d = { x0: 0, x1: 1, y0: 0, y1: 1 }) {\n // Reset to top-level if no data point specified\n const transition = svg.transition()\n .duration(750)\n .tween(\"scale\", () => {\n const xd = d3.interpolate(x.domain(), [d.x0, d.x1]), yd = d3.interpolate(y.domain(), [d.y0, 1]);\n return t => {\n x.domain(xd(t));\n y.domain(yd(t));\n };\n });\n transition.selectAll(\"path.main-arc\")\n .attrTween(\"d\", d => () => arc(d));\n transition.selectAll(\"path.hidden-arc\")\n .attrTween(\"d\", d => () => middleArcLine(d));\n transition.selectAll(\"text\")\n .attrTween(\"display\", d => () => textFits(d) ? null : \"none\");\n moveStackToFront(d);\n function moveStackToFront(elD) {\n svg.selectAll(\".slice\").filter(d => d === elD)\n .each(function (d) {\n this.parentNode.appendChild(this); // move all parents to the end of the line\n if (d.parent) {\n moveStackToFront(d.parent);\n }\n });\n }\n }\n}\nexports.sunburst = sunburst;\nfunction hasTags(data) {\n return !!data.tags;\n}\nfunction populateAdditionalData(additionalDataElement, usefulFields, d) {\n if (!additionalDataElement) {\n return;\n }\n let content = \"\";\n const data = d.data;\n console.log(\"Properties on data: \" + Object.getOwnPropertyNames(data).join(\",\"));\n if (hasTags(data)) {\n content = \"Tags: <ul>\" + data.tags.map(t => `<li>${t.name}</li>`).join(\"\") + \"</ul>\";\n }\n usefulFields.forEach(fieldname => {\n if (data[fieldname] !== undefined) {\n content += `<br />${fieldname}: ${data[fieldname]}`;\n }\n });\n additionalDataElement.html(content);\n}\nfunction populatePerLevelData(perLevelDataElements, d) {\n const namesUpTree = [d.data.name];\n for (let place = d; place = place.parent; !!place) {\n namesUpTree.push(place.data.name);\n }\n const namesDownTree = namesUpTree.reverse();\n perLevelDataElements.forEach((e, i) => {\n if (e.attr(\"class\") === \"frozenLevelData\") {\n return;\n }\n const value = namesDownTree[i] || \"(various)\";\n e.html(value);\n });\n if (namesUpTree.length < perLevelDataElements.length) {\n // if this isn't a leaf node, then\n // the value property on the node is a count of the leaves under it.\n // put that count in the last level data\n perLevelDataElements[perLevelDataElements.length - 1].html(\"(\" + d.value + \" of them)\");\n }\n}\nfunction setFrozenLevelData(workspaceId, perLevelDataElements, d) {\n const htmlUpTree = [formatLevelData(d.data)];\n for (let place = d; place = place.parent; !!place) {\n htmlUpTree.push(formatLevelData(place.data));\n }\n const htmlDownTree = htmlUpTree.reverse();\n const dataId = d.data.id;\n const levelCountAbove = htmlUpTree.length;\n perLevelDataElements.forEach((e, i) => {\n const className = i >= levelCountAbove ? \"unfrozenLevelData\" : \"frozenLevelData\";\n e.attr(\"class\", className);\n if (!dataId || i !== (levelCountAbove - 1)) {\n // no buttons\n e.html(htmlDownTree[i]);\n return;\n }\n e.html(htmlDownTree[i] + \"<br/>\" + htmlForSetIdeal(workspaceId, dataId) + htmlForNoteProblem(workspaceId, dataId));\n });\n}\nfunction formatLevelData(data) {\n console.log(\"tags: \" + data.tags);\n const viewLink = data.viewUrl ? `<a href=\"${data.viewUrl}\"><img src=\"/hexagonal-fruit-of-power.png\" class=\"linkToInsightsImage\" ></img></a>` : \"\";\n let tagList = \"\";\n if (data.tags) {\n tagList = \"<ul>\" + data.tags.map(t => `<li>${t.name}</li>`).join(\"\") + \"</ul>\";\n }\n const nameDisplay = data.url ? `<a href=\"${data.url}\">${data.name}</a>` : data.name;\n return nameDisplay + viewLink + tagList;\n}\nfunction htmlForSetIdeal(workspaceId, dataId) {\n return `<button id=\"setIdeal\" onclick=\"${NameOfThisLibrary}.postSetIdeal('${workspaceId}','${dataId}')\">\n Set as ideal\n </button><label for=\"setIdeal\" id=\"setIdealLabel\" class=\"nothingToSay\"> </label>`;\n}\nfunction htmlForNoteProblem(workspaceId, dataId) {\n return `<button id=\"noteProblem\" onclick=\"${NameOfThisLibrary}.postNoteProblem('${workspaceId}','${dataId}')\">\n Note as problem\n </button><label for=\"noteProblem\" id=\"noteProblemLabel\" class=\"nothingToSay\"> </label>`;\n}\nfunction postSetIdeal(workspaceId, fingerprintId) {\n const postUrl = `../../api/v1/${workspaceId}/ideal/${encodeURIComponent(fingerprintId)}`;\n const labelElement = document.getElementById(\"setIdealLabel\");\n fetch(postUrl, { method: \"PUT\" }).then(response => {\n if (response.ok) {\n labelElement.textContent = `Ideal set`;\n labelElement.setAttribute(\"class\", \"success\");\n labelElement.setAttribute(\"display\", \"static\");\n }\n else {\n labelElement.textContent = \"Failed to set. consult the server logaments\";\n labelElement.setAttribute(\"class\", \"error\");\n }\n }, e => {\n labelElement.textContent = \"Network error\";\n labelElement.setAttribute(\"class\", \"error\");\n });\n}\nexports.postSetIdeal = postSetIdeal;\nfunction postNoteProblem(workspaceId, fingerprintId) {\n const postUrl = `../../api/v1/${workspaceId}/problem/${encodeURIComponent(fingerprintId)}`;\n const labelElement = document.getElementById(\"noteProblemLabel\");\n fetch(postUrl, { method: \"PUT\" }).then(response => {\n if (response.ok) {\n labelElement.textContent = `Problem noted`;\n labelElement.setAttribute(\"class\", \"success\");\n labelElement.setAttribute(\"display\", \"static\");\n }\n else {\n labelElement.textContent = \"Failed to set. consult the server logaments\";\n labelElement.setAttribute(\"class\", \"error\");\n }\n }, e => {\n labelElement.textContent = \"Network error\";\n labelElement.setAttribute(\"class\", \"error\");\n });\n}\nexports.postNoteProblem = postNoteProblem;\n//# sourceMappingURL=sunburstScript.js.map\n\n//# sourceURL=webpack://SunburstYo/./lib/page/sunburstScript.js?");
/***/ }),
/***/ "./node_modules/d3-array/src/array.js":
/*!********************************************!*\
!*** ./node_modules/d3-array/src/array.js ***!
\********************************************/
/*! exports provided: slice, map */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"slice\", function() { return slice; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"map\", function() { return map; });\nvar array = Array.prototype;\n\nvar slice = array.slice;\nvar map = array.map;\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/array.js?");
/***/ }),
/***/ "./node_modules/d3-array/src/ascending.js":
/*!************************************************!*\
!*** ./node_modules/d3-array/src/ascending.js ***!
\************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n});\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/ascending.js?");
/***/ }),
/***/ "./node_modules/d3-array/src/bisect.js":
/*!*********************************************!*\
!*** ./node_modules/d3-array/src/bisect.js ***!
\*********************************************/
/*! exports provided: bisectRight, bisectLeft, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bisectRight\", function() { return bisectRight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bisectLeft\", function() { return bisectLeft; });\n/* harmony import */ var _ascending__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ascending */ \"./node_modules/d3-array/src/ascending.js\");\n/* harmony import */ var _bisector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./bisector */ \"./node_modules/d3-array/src/bisector.js\");\n\n\n\nvar ascendingBisect = Object(_bisector__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_ascending__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\nvar bisectRight = ascendingBisect.right;\nvar bisectLeft = ascendingBisect.left;\n/* harmony default export */ __webpack_exports__[\"default\"] = (bisectRight);\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/bisect.js?");
/***/ }),
/***/ "./node_modules/d3-array/src/bisector.js":
/*!***********************************************!*\
!*** ./node_modules/d3-array/src/bisector.js ***!
\***********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ascending__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ascending */ \"./node_modules/d3-array/src/ascending.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(compare) {\n if (compare.length === 1) compare = ascendingComparator(compare);\n return {\n left: function(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n }\n return lo;\n },\n right: function(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) > 0) hi = mid;\n else lo = mid + 1;\n }\n return lo;\n }\n };\n});\n\nfunction ascendingComparator(f) {\n return function(d, x) {\n return Object(_ascending__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(f(d), x);\n };\n}\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/bisector.js?");
/***/ }),
/***/ "./node_modules/d3-array/src/constant.js":
/*!***********************************************!*\
!*** ./node_modules/d3-array/src/constant.js ***!
\***********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x) {\n return function() {\n return x;\n };\n});\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/constant.js?");
/***/ }),
/***/ "./node_modules/d3-array/src/cross.js":
/*!********************************************!*\
!*** ./node_modules/d3-array/src/cross.js ***!
\********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _pairs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pairs */ \"./node_modules/d3-array/src/pairs.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(values0, values1, reduce) {\n var n0 = values0.length,\n n1 = values1.length,\n values = new Array(n0 * n1),\n i0,\n i1,\n i,\n value0;\n\n if (reduce == null) reduce = _pairs__WEBPACK_IMPORTED_MODULE_0__[\"pair\"];\n\n for (i0 = i = 0; i0 < n0; ++i0) {\n for (value0 = values0[i0], i1 = 0; i1 < n1; ++i1, ++i) {\n values[i] = reduce(value0, values1[i1]);\n }\n }\n\n return values;\n});\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/cross.js?");
/***/ }),
/***/ "./node_modules/d3-array/src/descending.js":
/*!*************************************************!*\
!*** ./node_modules/d3-array/src/descending.js ***!
\*************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n});\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/descending.js?");
/***/ }),
/***/ "./node_modules/d3-array/src/deviation.js":
/*!************************************************!*\
!*** ./node_modules/d3-array/src/deviation.js ***!
\************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _variance__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./variance */ \"./node_modules/d3-array/src/variance.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(array, f) {\n var v = Object(_variance__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(array, f);\n return v ? Math.sqrt(v) : v;\n});\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/deviation.js?");
/***/ }),
/***/ "./node_modules/d3-array/src/extent.js":
/*!*********************************************!*\
!*** ./node_modules/d3-array/src/extent.js ***!
\*********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n min,\n max;\n\n if (valueof == null) {\n while (++i < n) { // Find the first comparable value.\n if ((value = values[i]) != null && value >= value) {\n min = max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = values[i]) != null) {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n }\n }\n\n else {\n while (++i < n) { // Find the first comparable value.\n if ((value = valueof(values[i], i, values)) != null && value >= value) {\n min = max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = valueof(values[i], i, values)) != null) {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n }\n }\n\n return [min, max];\n});\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/extent.js?");
/***/ }),
/***/ "./node_modules/d3-array/src/histogram.js":
/*!************************************************!*\
!*** ./node_modules/d3-array/src/histogram.js ***!
\************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./array */ \"./node_modules/d3-array/src/array.js\");\n/* harmony import */ var _bisect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./bisect */ \"./node_modules/d3-array/src/bisect.js\");\n/* harmony import */ var _constant__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constant */ \"./node_modules/d3-array/src/constant.js\");\n/* harmony import */ var _extent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./extent */ \"./node_modules/d3-array/src/extent.js\");\n/* harmony import */ var _identity__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./identity */ \"./node_modules/d3-array/src/identity.js\");\n/* harmony import */ var _range__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./range */ \"./node_modules/d3-array/src/range.js\");\n/* harmony import */ var _ticks__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ticks */ \"./node_modules/d3-array/src/ticks.js\");\n/* harmony import */ var _threshold_sturges__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./threshold/sturges */ \"./node_modules/d3-array/src/threshold/sturges.js\");\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function() {\n var value = _identity__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n domain = _extent__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n threshold = _threshold_sturges__WEBPACK_IMPORTED_MODULE_7__[\"default\"];\n\n function histogram(data) {\n var i,\n n = data.length,\n x,\n values = new Array(n);\n\n for (i = 0; i < n; ++i) {\n values[i] = value(data[i], i, data);\n }\n\n var xz = domain(values),\n x0 = xz[0],\n x1 = xz[1],\n tz = threshold(values, x0, x1);\n\n // Convert number of thresholds into uniform thresholds.\n if (!Array.isArray(tz)) {\n tz = Object(_ticks__WEBPACK_IMPORTED_MODULE_6__[\"tickStep\"])(x0, x1, tz);\n tz = Object(_range__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(Math.ceil(x0 / tz) * tz, x1, tz); // exclusive\n }\n\n // Remove any thresholds outside the domain.\n var m = tz.length;\n while (tz[0] <= x0) tz.shift(), --m;\n while (tz[m - 1] > x1) tz.pop(), --m;\n\n var bins = new Array(m + 1),\n bin;\n\n // Initialize bins.\n for (i = 0; i <= m; ++i) {\n bin = bins[i] = [];\n bin.x0 = i > 0 ? tz[i - 1] : x0;\n bin.x1 = i < m ? tz[i] : x1;\n }\n\n // Assign data to bins by value, ignoring any outside the domain.\n for (i = 0; i < n; ++i) {\n x = values[i];\n if (x0 <= x && x <= x1) {\n bins[Object(_bisect__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(tz, x, 0, m)].push(data[i]);\n }\n }\n\n return bins;\n }\n\n histogram.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_), histogram) : value;\n };\n\n histogram.domain = function(_) {\n return arguments.length ? (domain = typeof _ === \"function\" ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_2__[\"default\"])([_[0], _[1]]), histogram) : domain;\n };\n\n histogram.thresholds = function(_) {\n return arguments.length ? (threshold = typeof _ === \"function\" ? _ : Array.isArray(_) ? Object(_constant__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_array__WEBPACK_IMPORTED_MODULE_0__[\"slice\"].call(_)) : Object(_constant__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_), histogram) : threshold;\n };\n\n return histogram;\n});\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/histogram.js?");
/***/ }),
/***/ "./node_modules/d3-array/src/identity.js":
/*!***********************************************!*\
!*** ./node_modules/d3-array/src/identity.js ***!
\***********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x) {\n return x;\n});\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/identity.js?");
/***/ }),
/***/ "./node_modules/d3-array/src/index.js":
/*!********************************************!*\
!*** ./node_modules/d3-array/src/index.js ***!
\********************************************/
/*! exports provided: bisect, bisectRight, bisectLeft, ascending, bisector, cross, descending, deviation, extent, histogram, thresholdFreedmanDiaconis, thresholdScott, thresholdSturges, max, mean, median, merge, min, pairs, permute, quantile, range, scan, shuffle, sum, ticks, tickIncrement, tickStep, transpose, variance, zip */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _bisect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./bisect */ \"./node_modules/d3-array/src/bisect.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bisect\", function() { return _bisect__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bisectRight\", function() { return _bisect__WEBPACK_IMPORTED_MODULE_0__[\"bisectRight\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bisectLeft\", function() { return _bisect__WEBPACK_IMPORTED_MODULE_0__[\"bisectLeft\"]; });\n\n/* harmony import */ var _ascending__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ascending */ \"./node_modules/d3-array/src/ascending.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ascending\", function() { return _ascending__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _bisector__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./bisector */ \"./node_modules/d3-array/src/bisector.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bisector\", function() { return _bisector__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _cross__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./cross */ \"./node_modules/d3-array/src/cross.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cross\", function() { return _cross__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _descending__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./descending */ \"./node_modules/d3-array/src/descending.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"descending\", function() { return _descending__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _deviation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./deviation */ \"./node_modules/d3-array/src/deviation.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"deviation\", function() { return _deviation__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _extent__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./extent */ \"./node_modules/d3-array/src/extent.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"extent\", function() { return _extent__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _histogram__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./histogram */ \"./node_modules/d3-array/src/histogram.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"histogram\", function() { return _histogram__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _threshold_freedmanDiaconis__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./threshold/freedmanDiaconis */ \"./node_modules/d3-array/src/threshold/freedmanDiaconis.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"thresholdFreedmanDiaconis\", function() { return _threshold_freedmanDiaconis__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _threshold_scott__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./threshold/scott */ \"./node_modules/d3-array/src/threshold/scott.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"thresholdScott\", function() { return _threshold_scott__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _threshold_sturges__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./threshold/sturges */ \"./node_modules/d3-array/src/threshold/sturges.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"thresholdSturges\", function() { return _threshold_sturges__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _max__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./max */ \"./node_modules/d3-array/src/max.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"max\", function() { return _max__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _mean__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./mean */ \"./node_modules/d3-array/src/mean.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mean\", function() { return _mean__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _median__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./median */ \"./node_modules/d3-array/src/median.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"median\", function() { return _median__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var _merge__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./merge */ \"./node_modules/d3-array/src/merge.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"merge\", function() { return _merge__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony import */ var _min__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./min */ \"./node_modules/d3-array/src/min.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"min\", function() { return _min__WEBPACK_IMPORTED_MODULE_15__[\"default\"]; });\n\n/* harmony import */ var _pairs__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./pairs */ \"./node_modules/d3-array/src/pairs.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pairs\", function() { return _pairs__WEBPACK_IMPORTED_MODULE_16__[\"default\"]; });\n\n/* harmony import */ var _permute__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./permute */ \"./node_modules/d3-array/src/permute.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"permute\", function() { return _permute__WEBPACK_IMPORTED_MODULE_17__[\"default\"]; });\n\n/* harmony import */ var _quantile__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./quantile */ \"./node_modules/d3-array/src/quantile.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"quantile\", function() { return _quantile__WEBPACK_IMPORTED_MODULE_18__[\"default\"]; });\n\n/* harmony import */ var _range__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./range */ \"./node_modules/d3-array/src/range.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"range\", function() { return _range__WEBPACK_IMPORTED_MODULE_19__[\"default\"]; });\n\n/* harmony import */ var _scan__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./scan */ \"./node_modules/d3-array/src/scan.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"scan\", function() { return _scan__WEBPACK_IMPORTED_MODULE_20__[\"default\"]; });\n\n/* harmony import */ var _shuffle__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./shuffle */ \"./node_modules/d3-array/src/shuffle.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"shuffle\", function() { return _shuffle__WEBPACK_IMPORTED_MODULE_21__[\"default\"]; });\n\n/* harmony import */ var _sum__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./sum */ \"./node_modules/d3-array/src/sum.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sum\", function() { return _sum__WEBPACK_IMPORTED_MODULE_22__[\"default\"]; });\n\n/* harmony import */ var _ticks__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./ticks */ \"./node_modules/d3-array/src/ticks.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ticks\", function() { return _ticks__WEBPACK_IMPORTED_MODULE_23__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"tickIncrement\", function() { return _ticks__WEBPACK_IMPORTED_MODULE_23__[\"tickIncrement\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"tickStep\", function() { return _ticks__WEBPACK_IMPORTED_MODULE_23__[\"tickStep\"]; });\n\n/* harmony import */ var _transpose__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./transpose */ \"./node_modules/d3-array/src/transpose.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"transpose\", function() { return _transpose__WEBPACK_IMPORTED_MODULE_24__[\"default\"]; });\n\n/* harmony import */ var _variance__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./variance */ \"./node_modules/d3-array/src/variance.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"variance\", function() { return _variance__WEBPACK_IMPORTED_MODULE_25__[\"default\"]; });\n\n/* harmony import */ var _zip__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./zip */ \"./node_modules/d3-array/src/zip.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"zip\", function() { return _zip__WEBPACK_IMPORTED_MODULE_26__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/index.js?");
/***/ }),
/***/ "./node_modules/d3-array/src/max.js":
/*!******************************************!*\
!*** ./node_modules/d3-array/src/max.js ***!
\******************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n max;\n\n if (valueof == null) {\n while (++i < n) { // Find the first comparable value.\n if ((value = values[i]) != null && value >= value) {\n max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = values[i]) != null && value > max) {\n max = value;\n }\n }\n }\n }\n }\n\n else {\n while (++i < n) { // Find the first comparable value.\n if ((value = valueof(values[i], i, values)) != null && value >= value) {\n max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = valueof(values[i], i, values)) != null && value > max) {\n max = value;\n }\n }\n }\n }\n }\n\n return max;\n});\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/max.js?");
/***/ }),
/***/ "./node_modules/d3-array/src/mean.js":
/*!*******************************************!*\
!*** ./node_modules/d3-array/src/mean.js ***!
\*******************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _number__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./number */ \"./node_modules/d3-array/src/number.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(values, valueof) {\n var n = values.length,\n m = n,\n i = -1,\n value,\n sum = 0;\n\n if (valueof == null) {\n while (++i < n) {\n if (!isNaN(value = Object(_number__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(values[i]))) sum += value;\n else --m;\n }\n }\n\n else {\n while (++i < n) {\n if (!isNaN(value = Object(_number__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(valueof(values[i], i, values)))) sum += value;\n else --m;\n }\n }\n\n if (m) return sum / m;\n});\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/mean.js?");
/***/ }),
/***/ "./node_modules/d3-array/src/median.js":
/*!*********************************************!*\
!*** ./node_modules/d3-array/src/median.js ***!
\*********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _ascending__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ascending */ \"./node_modules/d3-array/src/ascending.js\");\n/* harmony import */ var _number__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./number */ \"./node_modules/d3-array/src/number.js\");\n/* harmony import */ var _quantile__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./quantile */ \"./node_modules/d3-array/src/quantile.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n numbers = [];\n\n if (valueof == null) {\n while (++i < n) {\n if (!isNaN(value = Object(_number__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(values[i]))) {\n numbers.push(value);\n }\n }\n }\n\n else {\n while (++i < n) {\n if (!isNaN(value = Object(_number__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(valueof(values[i], i, values)))) {\n numbers.push(value);\n }\n }\n }\n\n return Object(_quantile__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(numbers.sort(_ascending__WEBPACK_IMPORTED_MODULE_0__[\"default\"]), 0.5);\n});\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/median.js?");
/***/ }),
/***/ "./node_modules/d3-array/src/merge.js":
/*!********************************************!*\
!*** ./node_modules/d3-array/src/merge.js ***!
\********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(arrays) {\n var n = arrays.length,\n m,\n i = -1,\n j = 0,\n merged,\n array;\n\n while (++i < n) j += arrays[i].length;\n merged = new Array(j);\n\n while (--n >= 0) {\n array = arrays[n];\n m = array.length;\n while (--m >= 0) {\n merged[--j] = array[m];\n }\n }\n\n return merged;\n});\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/merge.js?");
/***/ }),
/***/ "./node_modules/d3-array/src/min.js":
/*!******************************************!*\
!*** ./node_modules/d3-array/src/min.js ***!
\******************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n min;\n\n if (valueof == null) {\n while (++i < n) { // Find the first comparable value.\n if ((value = values[i]) != null && value >= value) {\n min = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = values[i]) != null && min > value) {\n min = value;\n }\n }\n }\n }\n }\n\n else {\n while (++i < n) { // Find the first comparable value.\n if ((value = valueof(values[i], i, values)) != null && value >= value) {\n min = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = valueof(values[i], i, values)) != null && min > value) {\n min = value;\n }\n }\n }\n }\n }\n\n return min;\n});\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/min.js?");
/***/ }),
/***/ "./node_modules/d3-array/src/number.js":
/*!*********************************************!*\
!*** ./node_modules/d3-array/src/number.js ***!
\*********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x) {\n return x === null ? NaN : +x;\n});\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/number.js?");
/***/ }),
/***/ "./node_modules/d3-array/src/pairs.js":
/*!********************************************!*\
!*** ./node_modules/d3-array/src/pairs.js ***!
\********************************************/
/*! exports provided: default, pair */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pair\", function() { return pair; });\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(array, f) {\n if (f == null) f = pair;\n var i = 0, n = array.length - 1, p = array[0], pairs = new Array(n < 0 ? 0 : n);\n while (i < n) pairs[i] = f(p, p = array[++i]);\n return pairs;\n});\n\nfunction pair(a, b) {\n return [a, b];\n}\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/pairs.js?");
/***/ }),
/***/ "./node_modules/d3-array/src/permute.js":
/*!**********************************************!*\
!*** ./node_modules/d3-array/src/permute.js ***!
\**********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(array, indexes) {\n var i = indexes.length, permutes = new Array(i);\n while (i--) permutes[i] = array[indexes[i]];\n return permutes;\n});\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/permute.js?");
/***/ }),
/***/ "./node_modules/d3-array/src/quantile.js":
/*!***********************************************!*\
!*** ./node_modules/d3-array/src/quantile.js ***!
\***********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _number__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./number */ \"./node_modules/d3-array/src/number.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(values, p, valueof) {\n if (valueof == null) valueof = _number__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n if (!(n = values.length)) return;\n if ((p = +p) <= 0 || n < 2) return +valueof(values[0], 0, values);\n if (p >= 1) return +valueof(values[n - 1], n - 1, values);\n var n,\n i = (n - 1) * p,\n i0 = Math.floor(i),\n value0 = +valueof(values[i0], i0, values),\n value1 = +valueof(values[i0 + 1], i0 + 1, values);\n return value0 + (value1 - value0) * (i - i0);\n});\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/quantile.js?");
/***/ }),
/***/ "./node_modules/d3-array/src/range.js":
/*!********************************************!*\
!*** ./node_modules/d3-array/src/range.js ***!
\********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n\n var i = -1,\n n = Math.max(0, Math.ceil((stop - start) / step)) | 0,\n range = new Array(n);\n\n while (++i < n) {\n range[i] = start + i * step;\n }\n\n return range;\n});\n\n\n//# sourceURL=webpack://SunburstYo/./node_modules/d3-array/src/range.js?");
/***/ }),
/***/ "./node_modules/d3-array/src/scan.js":
/*!*******************************************!*\
!*** ./node_mo