|
|
"use strict";
|
|
|
/*
|
|
|
* ATTENTION: An "eval-source-map" devtool has been used.
|
|
|
* This devtool is neither made for production nor for readable output files.
|
|
|
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
|
|
|
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
|
|
* or disable the default devtool with "devtool: false".
|
|
|
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
|
|
*/
|
|
|
exports.id = "vendor-chunks/d3-sankey";
|
|
|
exports.ids = ["vendor-chunks/d3-sankey"];
|
|
|
exports.modules = {
|
|
|
|
|
|
/***/ "(ssr)/./node_modules/d3-sankey/node_modules/d3-array/src/max.js":
|
|
|
/*!*****************************************************************!*\
|
|
|
!*** ./node_modules/d3-sankey/node_modules/d3-array/src/max.js ***!
|
|
|
\*****************************************************************/
|
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ max)\n/* harmony export */ });\nfunction max(values, valueof) {\n let max;\n if (valueof === undefined) {\n for (const value of values){\n if (value != null && (max < value || max === undefined && value >= value)) {\n max = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values){\n if ((value = valueof(value, ++index, values)) != null && (max < value || max === undefined && value >= value)) {\n max = value;\n }\n }\n }\n return max;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvZDMtc2Fua2V5L25vZGVfbW9kdWxlcy9kMy1hcnJheS9zcmMvbWF4LmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBZSxTQUFTQSxJQUFJQyxNQUFNLEVBQUVDLE9BQU87SUFDekMsSUFBSUY7SUFDSixJQUFJRSxZQUFZQyxXQUFXO1FBQ3pCLEtBQUssTUFBTUMsU0FBU0gsT0FBUTtZQUMxQixJQUFJRyxTQUFTLFFBQ0xKLENBQUFBLE1BQU1JLFNBQVVKLFFBQVFHLGFBQWFDLFNBQVNBLEtBQUssR0FBSTtnQkFDN0RKLE1BQU1JO1lBQ1I7UUFDRjtJQUNGLE9BQU87UUFDTCxJQUFJQyxRQUFRLENBQUM7UUFDYixLQUFLLElBQUlELFNBQVNILE9BQVE7WUFDeEIsSUFBSSxDQUFDRyxRQUFRRixRQUFRRSxPQUFPLEVBQUVDLE9BQU9KLE9BQU0sS0FBTSxRQUN6Q0QsQ0FBQUEsTUFBTUksU0FBVUosUUFBUUcsYUFBYUMsU0FBU0EsS0FBSyxHQUFJO2dCQUM3REosTUFBTUk7WUFDUjtRQUNGO0lBQ0Y7SUFDQSxPQUFPSjtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGNoYXQvLi9ub2RlX21vZHVsZXMvZDMtc2Fua2V5L25vZGVfbW9kdWxlcy9kMy1hcnJheS9zcmMvbWF4LmpzPzUyYWYiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbWF4KHZhbHVlcywgdmFsdWVvZikge1xuICBsZXQgbWF4O1xuICBpZiAodmFsdWVvZiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgZm9yIChjb25zdCB2YWx1ZSBvZiB2YWx1ZXMpIHtcbiAgICAgIGlmICh2YWx1ZSAhPSBudWxsXG4gICAgICAgICAgJiYgKG1heCA8IHZhbHVlIHx8IChtYXggPT09IHVuZGVmaW5lZCAmJiB2YWx1ZSA+PSB2YWx1ZSkpKSB7XG4gICAgICAgIG1heCA9IHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBsZXQgaW5kZXggPSAtMTtcbiAgICBmb3IgKGxldCB2YWx1ZSBvZiB2YWx1ZXMpIHtcbiAgICAgIGlmICgodmFsdWUgPSB2YWx1ZW9mKHZhbHVlLCArK2luZGV4LCB2YWx1ZXMpKSAhPSBudWxsXG4gICAgICAgICAgJiYgKG1heCA8IHZhbHVlIHx8IChtYXggPT09IHVuZGVmaW5lZCAmJiB2YWx1ZSA+PSB2YWx1ZSkpKSB7XG4gICAgICAgIG1heCA9IHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gbWF4O1xufVxuIl0sIm5hbWVzIjpbIm1heCIsInZhbHVlcyIsInZhbHVlb2YiLCJ1bmRlZmluZWQiLCJ2YWx1ZSIsImluZGV4Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/d3-sankey/node_modules/d3-array/src/max.js\n");
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ "(ssr)/./node_modules/d3-sankey/node_modules/d3-array/src/min.js":
|
|
|
/*!*****************************************************************!*\
|
|
|
!*** ./node_modules/d3-sankey/node_modules/d3-array/src/min.js ***!
|
|
|
\*****************************************************************/
|
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ min)\n/* harmony export */ });\nfunction min(values, valueof) {\n let min;\n if (valueof === undefined) {\n for (const value of values){\n if (value != null && (min > value || min === undefined && value >= value)) {\n min = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values){\n if ((value = valueof(value, ++index, values)) != null && (min > value || min === undefined && value >= value)) {\n min = value;\n }\n }\n }\n return min;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvZDMtc2Fua2V5L25vZGVfbW9kdWxlcy9kMy1hcnJheS9zcmMvbWluLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBZSxTQUFTQSxJQUFJQyxNQUFNLEVBQUVDLE9BQU87SUFDekMsSUFBSUY7SUFDSixJQUFJRSxZQUFZQyxXQUFXO1FBQ3pCLEtBQUssTUFBTUMsU0FBU0gsT0FBUTtZQUMxQixJQUFJRyxTQUFTLFFBQ0xKLENBQUFBLE1BQU1JLFNBQVVKLFFBQVFHLGFBQWFDLFNBQVNBLEtBQUssR0FBSTtnQkFDN0RKLE1BQU1JO1lBQ1I7UUFDRjtJQUNGLE9BQU87UUFDTCxJQUFJQyxRQUFRLENBQUM7UUFDYixLQUFLLElBQUlELFNBQVNILE9BQVE7WUFDeEIsSUFBSSxDQUFDRyxRQUFRRixRQUFRRSxPQUFPLEVBQUVDLE9BQU9KLE9BQU0sS0FBTSxRQUN6Q0QsQ0FBQUEsTUFBTUksU0FBVUosUUFBUUcsYUFBYUMsU0FBU0EsS0FBSyxHQUFJO2dCQUM3REosTUFBTUk7WUFDUjtRQUNGO0lBQ0Y7SUFDQSxPQUFPSjtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGNoYXQvLi9ub2RlX21vZHVsZXMvZDMtc2Fua2V5L25vZGVfbW9kdWxlcy9kMy1hcnJheS9zcmMvbWluLmpzPzcxZmMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbWluKHZhbHVlcywgdmFsdWVvZikge1xuICBsZXQgbWluO1xuICBpZiAodmFsdWVvZiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgZm9yIChjb25zdCB2YWx1ZSBvZiB2YWx1ZXMpIHtcbiAgICAgIGlmICh2YWx1ZSAhPSBudWxsXG4gICAgICAgICAgJiYgKG1pbiA+IHZhbHVlIHx8IChtaW4gPT09IHVuZGVmaW5lZCAmJiB2YWx1ZSA+PSB2YWx1ZSkpKSB7XG4gICAgICAgIG1pbiA9IHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBsZXQgaW5kZXggPSAtMTtcbiAgICBmb3IgKGxldCB2YWx1ZSBvZiB2YWx1ZXMpIHtcbiAgICAgIGlmICgodmFsdWUgPSB2YWx1ZW9mKHZhbHVlLCArK2luZGV4LCB2YWx1ZXMpKSAhPSBudWxsXG4gICAgICAgICAgJiYgKG1pbiA+IHZhbHVlIHx8IChtaW4gPT09IHVuZGVmaW5lZCAmJiB2YWx1ZSA+PSB2YWx1ZSkpKSB7XG4gICAgICAgIG1pbiA9IHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gbWluO1xufVxuIl0sIm5hbWVzIjpbIm1pbiIsInZhbHVlcyIsInZhbHVlb2YiLCJ1bmRlZmluZWQiLCJ2YWx1ZSIsImluZGV4Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/d3-sankey/node_modules/d3-array/src/min.js\n");
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ "(ssr)/./node_modules/d3-sankey/node_modules/d3-array/src/sum.js":
|
|
|
/*!*****************************************************************!*\
|
|
|
!*** ./node_modules/d3-sankey/node_modules/d3-array/src/sum.js ***!
|
|
|
\*****************************************************************/
|
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ sum)\n/* harmony export */ });\nfunction sum(values, valueof) {\n let sum = 0;\n if (valueof === undefined) {\n for (let value of values){\n if (value = +value) {\n sum += value;\n }\n }\n } else {\n let index = -1;\n for (let value of values){\n if (value = +valueof(value, ++index, values)) {\n sum += value;\n }\n }\n }\n return sum;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvZDMtc2Fua2V5L25vZGVfbW9kdWxlcy9kMy1hcnJheS9zcmMvc3VtLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBZSxTQUFTQSxJQUFJQyxNQUFNLEVBQUVDLE9BQU87SUFDekMsSUFBSUYsTUFBTTtJQUNWLElBQUlFLFlBQVlDLFdBQVc7UUFDekIsS0FBSyxJQUFJQyxTQUFTSCxPQUFRO1lBQ3hCLElBQUlHLFFBQVEsQ0FBQ0EsT0FBTztnQkFDbEJKLE9BQU9JO1lBQ1Q7UUFDRjtJQUNGLE9BQU87UUFDTCxJQUFJQyxRQUFRLENBQUM7UUFDYixLQUFLLElBQUlELFNBQVNILE9BQVE7WUFDeEIsSUFBSUcsUUFBUSxDQUFDRixRQUFRRSxPQUFPLEVBQUVDLE9BQU9KLFNBQVM7Z0JBQzVDRCxPQUFPSTtZQUNUO1FBQ0Y7SUFDRjtJQUNBLE9BQU9KO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0Y2hhdC8uL25vZGVfbW9kdWxlcy9kMy1zYW5rZXkvbm9kZV9tb2R1bGVzL2QzLWFycmF5L3NyYy9zdW0uanM/MjFlYyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBzdW0odmFsdWVzLCB2YWx1ZW9mKSB7XG4gIGxldCBzdW0gPSAwO1xuICBpZiAodmFsdWVvZiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgZm9yIChsZXQgdmFsdWUgb2YgdmFsdWVzKSB7XG4gICAgICBpZiAodmFsdWUgPSArdmFsdWUpIHtcbiAgICAgICAgc3VtICs9IHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBsZXQgaW5kZXggPSAtMTtcbiAgICBmb3IgKGxldCB2YWx1ZSBvZiB2YWx1ZXMpIHtcbiAgICAgIGlmICh2YWx1ZSA9ICt2YWx1ZW9mKHZhbHVlLCArK2luZGV4LCB2YWx1ZXMpKSB7XG4gICAgICAgIHN1bSArPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHN1bTtcbn1cbiJdLCJuYW1lcyI6WyJzdW0iLCJ2YWx1ZXMiLCJ2YWx1ZW9mIiwidW5kZWZpbmVkIiwidmFsdWUiLCJpbmRleCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/d3-sankey/node_modules/d3-array/src/sum.js\n");
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ "(ssr)/./node_modules/d3-sankey/node_modules/d3-path/src/path.js":
|
|
|
/*!*****************************************************************!*\
|
|
|
!*** ./node_modules/d3-sankey/node_modules/d3-path/src/path.js ***!
|
|
|
\*****************************************************************/
|
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nvar pi = Math.PI, tau = 2 * pi, epsilon = 1e-6, tauEpsilon = tau - epsilon;\nfunction Path() {\n this._x0 = this._y0 = this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n}\nfunction path() {\n return new Path;\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, y0 = this._y1, x21 = x2 - x1, y21 = y2 - y1, x01 = x0 - x1, y01 = y0 - y1, l01_2 = x01 * x01 + y01 * y01;\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n } else if (!(l01_2 > epsilon)) ;\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n } else {\n var x20 = x2 - x0, y20 = y2 - y0, l21_2 = x21 * x21 + y21 * y21, l20_2 = x20 * x20 + y20 * y20, l21 = Math.sqrt(l21_2), l01 = Math.sqrt(l01_2), l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2), t01 = l / l01, t21 = l / l21;\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 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), dy = r * Math.sin(a0), x0 = x + dx, y0 = y + dy, cw = 1 ^ ccw, da = ccw ? a0 - a1 : a1 - a0;\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._ += \"M\" + x0 + \",\" + y0;\n } else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._ += \"L\" + x0 + \",\" + y0;\n }\n // Is this arc empty? We’re done.\n if (!r) return;\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\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 } 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/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (path);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvZDMtc2Fua2V5L25vZGVfbW9kdWxlcy9kMy1wYXRoL3NyYy9wYXRoLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxJQUFJQSxLQUFLQyxLQUFLQyxFQUFFLEVBQ1pDLE1BQU0sSUFBSUgsSUFDVkksVUFBVSxNQUNWQyxhQUFhRixNQUFNQztBQUV2QixTQUFTRTtJQUNQLElBQUksQ0FBQ0MsR0FBRyxHQUFHLElBQUksQ0FBQ0MsR0FBRyxHQUNuQixJQUFJLENBQUNDLEdBQUcsR0FBRyxJQUFJLENBQUNDLEdBQUcsR0FBRyxNQUFNLHlCQUF5QjtJQUNyRCxJQUFJLENBQUNDLENBQUMsR0FBRztBQUNYO0FBRUEsU0FBU0M7SUFDUCxPQUFPLElBQUlOO0FBQ2I7QUFFQUEsS0FBS08sU0FBUyxHQUFHRCxLQUFLQyxTQUFTLEdBQUc7SUFDaENDLGFBQWFSO0lBQ2JTLFFBQVEsU0FBU0MsQ0FBQyxFQUFFQyxDQUFDO1FBQ25CLElBQUksQ0FBQ04sQ0FBQyxJQUFJLE1BQU8sS0FBSSxDQUFDSixHQUFHLEdBQUcsSUFBSSxDQUFDRSxHQUFHLEdBQUcsQ0FBQ08sQ0FBQUEsSUFBSyxNQUFPLEtBQUksQ0FBQ1IsR0FBRyxHQUFHLElBQUksQ0FBQ0UsR0FBRyxHQUFHLENBQUNPLENBQUFBO0lBQzdFO0lBQ0FDLFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQ1QsR0FBRyxLQUFLLE1BQU07WUFDckIsSUFBSSxDQUFDQSxHQUFHLEdBQUcsSUFBSSxDQUFDRixHQUFHLEVBQUUsSUFBSSxDQUFDRyxHQUFHLEdBQUcsSUFBSSxDQUFDRixHQUFHO1lBQ3hDLElBQUksQ0FBQ0csQ0FBQyxJQUFJO1FBQ1o7SUFDRjtJQUNBUSxRQUFRLFNBQVNILENBQUMsRUFBRUMsQ0FBQztRQUNuQixJQUFJLENBQUNOLENBQUMsSUFBSSxNQUFPLEtBQUksQ0FBQ0YsR0FBRyxHQUFHLENBQUNPLENBQUFBLElBQUssTUFBTyxLQUFJLENBQUNOLEdBQUcsR0FBRyxDQUFDTyxD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My1zYW5rZXkvbm9kZV9tb2R1bGVzL2QzLXBhdGgvc3JjL3BhdGguanM/MzU3NSJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcGkgPSBNYXRoLlBJLFxuICAgIHRhdSA9IDIgKiBwaSxcbiAgICBlcHNpbG9uID0gMWUtNixcbiAgICB0YXVFcHNpbG9uID0gdGF1IC0gZXBzaWxvbjtcblxuZnVuY3Rpb24gUGF0aCgpIHtcbiAgdGhpcy5feDAgPSB0aGlzLl95MCA9IC8vIHN0YXJ0IG9mIGN1cnJlbnQgc3VicGF0aFxuICB0aGlzLl94MSA9IHRoaXMuX3kxID0gbnVsbDsgLy8gZW5kIG9mIGN1cnJlbnQgc3VicGF0aFxuICB0aGlzLl8gPSBcIlwiO1xufVxuXG5mdW5jdGlvbiBwYXRoKCkge1xuICByZXR1cm4gbmV3IFBhdGg7XG59XG5cblBhdGgucHJvdG90eXBlID0gcGF0aC5wcm90b3R5cGUgPSB7XG4gIGNvbnN0cnVjdG9yOiBQYXRoLFxuICBtb3ZlVG86IGZ1bmN0aW9uKHgsIHkpIHtcbiAgICB0aGlzLl8gKz0gXCJNXCIgKyAodGhpcy5feDAgPSB0aGlzLl94MSA9ICt4KSArIFwiLFwiICsgKHRoaXMuX3kwID0gdGhpcy5feTEgPSAreSk7XG4gIH0sXG4gIGNsb3NlUGF0aDogZnVuY3Rpb24oKSB7XG4gICAgaWYgKHRoaXMuX3gxICE9PSBudWxsKSB7XG4gICAgICB0aGlzLl94MSA9IHRoaXMuX3gwLCB0aGlzLl95MSA9IHRoaXMuX3kwO1xuICAgICAgdGhpcy5fICs9IFwiWlwiO1xuICAgIH1cbiAgfSxcbiAgbGluZVRvOiBmdW5jdGlvbih4LCB5KSB7XG4gICAgdGhpcy5fICs9IFwiTFwiICsgKHRoaXMuX3gxID0gK3gpICsgXCIsXCIgKyAodGhpcy5feTEgPSAreSk7XG4gIH0sXG4gIHF1YWRyYXRpY0N1cnZlVG86IGZ1bmN0aW9uKHgxLCB5MSwgeCwgeSkge1xuICAgIHRoaXMuXyArPSBcIlFcIiArICgreDEpICsgXCIsXCIgKyAoK3kxKSArIFwiLFwiICsgKHRoaXMuX3gxID0gK3gpICsgXCIsXCIgKyAodGhpcy5feTEgPSAreSk7XG4gIH0sXG4gIGJlemllckN1cnZlVG86IGZ1bmN0aW9uKHgxLCB5MSwgeDIsIHkyLCB4LCB5KSB7XG4gICAgdGhpcy5fICs9IFwiQ1wiICsgKCt4MSkgKyBcIixcIiArICgreTEpICsgXCIsXCIgKyAoK3gyKSArIFwiLFwiICsgKCt5MikgKyBcIixcIiArICh0aGlzLl94MSA9ICt4KSArIFwiLFwiICsgKHRoaXMuX3kxID0gK3kpO1xuICB9LFxuICBhcmNUbzogZnVuY3Rpb24oeDEsIHkxLCB4MiwgeTIsIHIpIHtcbiAgICB4MSA9ICt4MSwgeTEgPSAreTEsIHgyID0gK3gyLCB5MiA9ICt5MiwgciA9ICtyO1xuICAgIHZhciB4MCA9IHRoaXMuX3gxLFxuICAgICAgICB5MCA9IHRoaXMuX3kxLFxuICAgICAgICB4MjEgPSB4MiAtIHgxLFxuICAgICAgICB5MjEgPSB5MiAtIHkxLFxuICAgICAgICB4MDEgPSB4MCAtIHgxLFxuICAgICAgICB5MDEgPSB5MCAtIHkxLFxuICAgICAgICBsMDFfMiA9IHgwMSAqIHgwMSArIHkwMSAqIHkwMTtcblxuICAgIC8vIElzIHRoZSByYWRpdXMgbmVnYXRpdmU/IEVycm9yLlxuICAgIGlmIChyIDwgMCkgdGhyb3cgbmV3IEVycm9yKFwibmVnYXRpdmUgcmFkaXVzOiBcIiArIHIpO1xuXG4gICAgLy8gSXMgdGhpcyBwYXRoIGVtcHR5PyBNb3ZlIHRvICh4MSx5MSkuXG4gICAgaWYgKHRoaXMuX3gxID09PSBudWxsKSB7XG4gICAgICB0aGlzLl8gKz0gXCJNXCIgKyAodGhpcy5feDEgPSB4MSkgKyBcIixcIiArICh0aGlzLl95MSA9IHkxKTtcbiAgICB9XG5cbiAgICAvLyBPciwgaXMgKHgxLHkxKSBjb2luY2lkZW50IHdpdGggKHgwLHkwKT8gRG8gbm90aGluZy5cbiAgICBlbHNlIGlmICghKGwwMV8yID4gZXBzaWxvbikpO1xuXG4gICAgLy8gT3IsIGFyZSAoeDAseTApLCAoeDEseTEpIGFuZCAoeDIseTIpIGNvbGxpbmVhcj9cbiAgICAvLyBFcXVpdmFsZW50bHksIGlzICh4MSx5MSkgY29pbmNpZGVudCB3aXRoICh4Mix5Mik/XG4gICAgLy8gT3IsIGlzIHRoZSByYWRpdXMgemVybz8gTGluZSB0byAoeDEseTEpLlxuICAgIGVsc2UgaWYgKCEoTWF0aC5hYnMoeTAxICogeDIxIC0geTIxICogeDAxKSA+IGVwc2lsb24pIHx8ICFyKSB7XG4gICAgICB0aGlzLl8gKz0gXCJMXCIgKyAodGhpcy5feDEgPSB4MSkgKyBcIixcIiArICh0aGlzLl95MSA9IHkxKTtcbiAgICB9XG5cbiAgICAvLyBPdGhlcndpc2UsIGRyYXcgYW4gYXJjIVxuICAgIGVsc2Uge1xuICAgICAgdmFyIHgyMCA9IHgyIC0geDAsXG4gICAgICAgICAgeTIwID0geTIgLSB5MCxcbiAgICAgICAgICBsMjFfMiA9IHgyMSAqIHgyMSArIHkyMSAqIHkyMSxcbiAgICAgICAgICBsMjBfMiA9IHgyMCAqIHgyMCArIHkyMCAqIHkyMCxcbiAgICAgICAgICBsMjEgPSBNYXRoLnNxcnQobDIxXzIpLFxuICAgICAgICAgIGwwMSA9IE1hdGguc3FydChsMDFfMiksXG4gICAgICAgICAgbCA9IHIgKiBNYXRoLnRhbigocGkgLSBNYXRoLmFjb3MoKGwyMV8yICsgbDAxXzIgLSBsMjBfMikgLyAoMiAqIGwyMSAqIGwwMSkpKSAvIDIpLFxuICAgICAgICAgIHQwMSA9IGwgLyBsMDEsXG4gICAgICAgICAgdDIxID0gbCAvIGwyMTtcblxuICAgICAgLy8gSWYgdGhlIHN0YXJ0IHRhbmdlbnQgaXMgbm90IGNvaW5jaWRlbnQgd2l0aCAoeDAseTApLCBsaW5lIHRvLlxuICAgICAgaWYgKE1hdGguYWJzKHQwMSAtIDEpID4gZXBzaWxvbikge1xuICAgICAgICB0aGlzLl8gKz0gXCJMXCIgKyAoeDEgKyB0MDEgKiB4MDEpICsgXCIsXCIgKyAoeTEgKyB0MDEgKiB5MDEpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl8gKz0gXCJBXCIgKyByICsgXCIsXCIgKyByICsgXCIsMCwwLFwiICsgKCsoeTAxICogeDIwID4geDAxICogeTIwKSkgKyBcIixcIiArICh0aGlzLl94MSA9IHgxICsgdDIxICogeDIxKSArIFwiLFwiICsgKHRoaXMuX3kxID0geTEgKyB0MjEgKiB5MjEpO1xuICAgIH1cbiAgfSxcbiAgYXJjOiBmdW5jdGlvbih4LCB5LCByLCBhMCwgYTEsIGNjdykge1xuICAgIHggPSAreCwgeSA9ICt5LCByID0gK3IsIGNjdyA9ICEhY2N3O1xuICAgIHZhciBkeCA9IHIgKiBNYXRoLmNvcyhhMCksXG4gICAgICAgIGR5ID0gciAqIE1hdGguc2luKGEwKSxcbiAgICAgICAgeDAgPSB4ICsgZHgsXG4gICAgICAgIHkwID0geSArIGR5LFxuICAgICAgICBjdyA9IDEgXiBjY3csXG4gICAgICAgIGRhID0gY2N3ID8gYTAgLSBhMSA6IGExIC0gYTA7XG5cbiAgICAvLyBJcyB0aGUgcmFkaXVzIG5lZ2F0aXZlPyBFcnJvci5cbiAgICBpZiAociA8IDApIHRocm93IG5ldyBFcnJvcihcIm5lZ2F0aXZlIHJhZGl1czogXCIgKyByKTtcblxuICAgIC8vIElzIHRoaXMgcGF0aCBlbXB0eT8gTW92ZSB0byAoeDAseTApLlxuICAgIGlmICh0aGlzLl94MSA9PT0gbnVsbCkge1xuICAgICAgdGhpcy5fICs9IFwiTVwiICsgeDAgKyBcIixcIiArIHkwO1xuICAgIH1cblxuICAgIC8vIE9yLCBpcyAoeDAseTApIG5vdCBjb2luY2lkZW50IHdpdGggdGhlIHByZXZpb3VzIHBvaW50PyBMaW5lIHRvICh4MCx5MCkuXG4gICAgZWxzZSBpZiAoTWF0aC5hYnModGhpcy5feDEgLSB4MCkgPiBlcHNpbG9uIHx8IE1hdGguYWJzKHRoaXMuX3kxIC0geTApID4gZXBzaWxvbikge1xuICAgICAgdGhpcy5fICs9IFwiTFwiICsgeDAgKyBcIixcIiArIHkwO1xuICAgIH1cblxuICAgIC8vIElzIHRoaXMgYXJjIGVtcHR5PyBXZeKAmXJlIGRvbmUuXG4gICAgaWYgKCFyKSByZXR1cm47XG5cbiAgICAvLyBEb2VzIHRoZSBhbmdsZSBnbyB0aGUgd3Jvbmcgd2F5PyBGbGlwIHRoZSBkaXJlY3Rpb24uXG4gICAgaWYgKGRhIDwgMCkgZGEgPSBkYSAlIHRhdSArIHRhdTtcblxuICAgIC8vIElzIHRoaXMgYSBjb21wbGV0ZSBjaXJjbGU/IERyYXcgdHdvIGFyY3MgdG8gY29tcGxldGUgdGhlIGNpcmNsZS5cbiAgICBpZiAoZGEgPiB0YXVFcHNpbG9uKSB7XG4gICAgICB0aGlzLl8gKz0gXCJBXCIgKyByICsgXCIsXCIgKyByICsgXCIsMCwxLFwiICsgY3cgKyBcIixcIiArICh4IC0gZHgpICsgXCIsXCIgKyAoeSAtIGR5KSArIFwiQVwiICsgciArIFwiLFwiICsgciArIFwiLDAsMSxcIiArIGN3ICsgXCIsXCIgKyAodGhpcy5feDEgPSB4MCkgKyBcIixcIiArICh0aGlzLl95MSA9IHkwKTtcbiAgICB9XG5cbiAgICAvLyBJcyB0aGlzIGFyYyBub24tZW1wdHk/IERyYXcgYW4gYXJjIVxuICAgIGVsc2UgaWYgKGRhID4gZXBzaWxvbikge1xuICAgICAgdGhpcy5fICs9IFwiQVwiICsgciArIFwiLFwiICsgciArIFwiLDAsXCIgKyAoKyhkYSA+PSBwaSkpICsgXCIsXCIgKyBjdyArIFwiLFwiICsgKHRoaXMuX3gxID0geCArIHIgKiBNYXRoLmNvcyhhMSkpICsgXCIsXCIgKyAodGhpcy5feTEgPSB5ICsgciAqIE1hdGguc2luKGExKSk7XG4gICAgfVxuICB9LFxuICByZWN0OiBmdW5jdGlvbih4LCB5LCB3LCBoKSB7XG4gICAgdGhpcy5fICs9IFwiTVwiICsgKHRoaXMuX3gwID0gdGhpcy5feDEgPSAreCkgKyBcIixcIiArICh0aGlzLl95MCA9IHRoaXMuX3kxID0gK3kpICsgXCJoXCIgKyAoK3cpICsgXCJ2XCIgKyAoK2gpICsgXCJoXCIgKyAoLXcpICsgXCJaXCI7XG4gIH0sXG4gIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5fO1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBwYXRoO1xuIl0sIm5hbWVzIjpbInBpIiwiTWF0aCIsIlBJIiwidGF1IiwiZXBzaWxvbiIsInRhdUVwc2lsb24iLCJQYXRoIiwiX3gwIiwiX3kwIiwiX3gxIiwiX3kxIiwiXyIsInBhdGgiLCJwcm90b3R5cGUiLCJjb25zdHJ1Y3RvciIsIm1vdmVUbyIsIngiLCJ5IiwiY2xvc2VQYXRoIiwibGluZVRvIiwicXVhZHJhdGljQ3VydmVUbyIsIngxIiwieTEiLCJiZXppZXJDdXJ2ZVRvIiwieDIiLCJ5MiIsImFyY1RvIiwiciIsIngwIiwieTAiLCJ4MjEiLCJ5MjEiLCJ4MDEiLCJ5MDEiLCJsMDFfMiIsIkVycm9yIiwiYWJzIiwieDIwIiwieTIwIiwibDIxXzIiLCJsMjBfMiIsImwyMSIsInNxcnQiLCJsMDEiLCJsIiwidGFuIiwiYWNvcyIsInQwMSIsInQyMSIsImFyYyIsImEwIiwiYTEiLCJjY3ciLCJkeCIsImNvcyIsImR5Iiwic2luIiwiY3ciLCJkYSIsInJlY3QiLCJ3IiwiaCIsInRvU3RyaW5nIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/d3-sankey/node_modules/d3-path/src/path.js\n");
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ "(ssr)/./node_modules/d3-sankey/node_modules/d3-shape/src/array.js":
|
|
|
/*!*******************************************************************!*\
|
|
|
!*** ./node_modules/d3-sankey/node_modules/d3-shape/src/array.js ***!
|
|
|
\*******************************************************************/
|
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ slice: () => (/* binding */ slice)\n/* harmony export */ });\nvar slice = Array.prototype.slice;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvZDMtc2Fua2V5L25vZGVfbW9kdWxlcy9kMy1zaGFwZS9zcmMvYXJyYXkuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFPLElBQUlBLFFBQVFDLE1BQU1DLFNBQVMsQ0FBQ0YsS0FBSyxDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGNoYXQvLi9ub2RlX21vZHVsZXMvZDMtc2Fua2V5L25vZGVfbW9kdWxlcy9kMy1zaGFwZS9zcmMvYXJyYXkuanM/YjIzNCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdmFyIHNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlO1xuIl0sIm5hbWVzIjpbInNsaWNlIiwiQXJyYXkiLCJwcm90b3R5cGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/d3-sankey/node_modules/d3-shape/src/array.js\n");
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ "(ssr)/./node_modules/d3-sankey/node_modules/d3-shape/src/constant.js":
|
|
|
/*!**********************************************************************!*\
|
|
|
!*** ./node_modules/d3-sankey/node_modules/d3-shape/src/constant.js ***!
|
|
|
\**********************************************************************/
|
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(x) {\n return function constant() {\n return x;\n };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvZDMtc2Fua2V5L25vZGVfbW9kdWxlcy9kMy1zaGFwZS9zcmMvY29uc3RhbnQuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLDZCQUFlLG9DQUFTQSxDQUFDO0lBQ3ZCLE9BQU8sU0FBU0M7UUFDZCxPQUFPRDtJQUNUO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0Y2hhdC8uL25vZGVfbW9kdWxlcy9kMy1zYW5rZXkvbm9kZV9tb2R1bGVzL2QzLXNoYXBlL3NyYy9jb25zdGFudC5qcz8wMTVkIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKHgpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGNvbnN0YW50KCkge1xuICAgIHJldHVybiB4O1xuICB9O1xufVxuIl0sIm5hbWVzIjpbIngiLCJjb25zdGFudCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/d3-sankey/node_modules/d3-shape/src/constant.js\n");
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ "(ssr)/./node_modules/d3-sankey/node_modules/d3-shape/src/link/index.js":
|
|
|
/*!************************************************************************!*\
|
|
|
!*** ./node_modules/d3-sankey/node_modules/d3-shape/src/link/index.js ***!
|
|
|
\************************************************************************/
|
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ linkHorizontal: () => (/* binding */ linkHorizontal),\n/* harmony export */ linkRadial: () => (/* binding */ linkRadial),\n/* harmony export */ linkVertical: () => (/* binding */ linkVertical)\n/* harmony export */ });\n/* harmony import */ var d3_path__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! d3-path */ \"(ssr)/./node_modules/d3-sankey/node_modules/d3-path/src/path.js\");\n/* harmony import */ var _array_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../array.js */ \"(ssr)/./node_modules/d3-sankey/node_modules/d3-shape/src/array.js\");\n/* harmony import */ var _constant_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../constant.js */ \"(ssr)/./node_modules/d3-sankey/node_modules/d3-shape/src/constant.js\");\n/* harmony import */ var _point_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../point.js */ \"(ssr)/./node_modules/d3-sankey/node_modules/d3-shape/src/point.js\");\n/* harmony import */ var _pointRadial_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../pointRadial.js */ \"(ssr)/./node_modules/d3-sankey/node_modules/d3-shape/src/pointRadial.js\");\n\n\n\n\n\nfunction linkSource(d) {\n return d.source;\n}\nfunction linkTarget(d) {\n return d.target;\n}\nfunction link(curve) {\n var source = linkSource, target = linkTarget, x = _point_js__WEBPACK_IMPORTED_MODULE_0__.x, y = _point_js__WEBPACK_IMPORTED_MODULE_0__.y, context = null;\n function link() {\n var buffer, argv = _array_js__WEBPACK_IMPORTED_MODULE_1__.slice.call(arguments), s = source.apply(this, argv), t = target.apply(this, argv);\n if (!context) context = buffer = (0,d3_path__WEBPACK_IMPORTED_MODULE_2__[\"default\"])();\n curve(context, +x.apply(this, (argv[0] = s, argv)), +y.apply(this, argv), +x.apply(this, (argv[0] = t, argv)), +y.apply(this, argv));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n link.source = function(_) {\n return arguments.length ? (source = _, link) : source;\n };\n link.target = function(_) {\n return arguments.length ? (target = _, link) : target;\n };\n link.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : (0,_constant_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(+_), link) : x;\n };\n link.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : (0,_constant_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(+_), link) : y;\n };\n link.context = function(_) {\n return arguments.length ? (context = _ == null ? null : _, link) : context;\n };\n return link;\n}\nfunction curveHorizontal(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0 = (x0 + x1) / 2, y0, x0, y1, x1, y1);\n}\nfunction curveVertical(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0, y0 = (y0 + y1) / 2, x1, y0, x1, y1);\n}\nfunction curveRadial(context, x0, y0, x1, y1) {\n var p0 = (0,_pointRadial_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(x0, y0), p1 = (0,_pointRadial_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(x0, y0 = (y0 + y1) / 2), p2 = (0,_pointRadial_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(x1, y0), p3 = (0,_pointRadial_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(x1, y1);\n context.moveTo(p0[0], p0[1]);\n context.bezierCurveTo(p1[0], p1[1], p2[0], p2[1], p3[0], p3[1]);\n}\nfunction linkHorizontal() {\n return link(curveHorizontal);\n}\nfunction linkVertical() {\n return link(curveVertical);\n}\nfunction linkRadial() {\n var l = link(curveRadial);\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n return l;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvZDMtc2Fua2V5L25vZGVfbW9kdWxlcy9kMy1zaGFwZS9zcmMvbGluay9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUE2QjtBQUNLO0FBQ0k7QUFDZTtBQUNUO0FBRTVDLFNBQVNRLFdBQVdDLENBQUM7SUFDbkIsT0FBT0EsRUFBRUMsTUFBTTtBQUNqQjtBQUVBLFNBQVNDLFdBQVdGLENBQUM7SUFDbkIsT0FBT0EsRUFBRUcsTUFBTTtBQUNqQjtBQUVBLFNBQVNDLEtBQUtDLEtBQUs7SUFDakIsSUFBSUosU0FBU0YsWUFDVEksU0FBU0QsWUFDVFIsSUFBSUMsd0NBQU1BLEVBQ1ZDLElBQUlDLHdDQUFNQSxFQUNWUyxVQUFVO0lBRWQsU0FBU0Y7UUFDUCxJQUFJRyxRQUFRQyxPQUFPaEIsNENBQUtBLENBQUNpQixJQUFJLENBQUNDLFlBQVlDLElBQUlWLE9BQU9XLEtBQUssQ0FBQyxJQUFJLEVBQUVKLE9BQU9LLElBQUlWLE9BQU9TLEtBQUssQ0FBQyxJQUFJLEVBQUVKO1FBQy9GLElBQUksQ0FBQ0YsU0FBU0EsVUFBVUMsU0FBU2hCLG1EQUFJQTtRQUNyQ2MsTUFBTUMsU0FBUyxDQUFDWixFQUFFa0IsS0FBSyxDQUFDLElBQUksRUFBR0osQ0FBQUEsSUFBSSxDQUFDLEVBQUUsR0FBR0csR0FBR0gsSUFBRyxJQUFLLENBQUNaLEVBQUVnQixLQUFLLENBQUMsSUFBSSxFQUFFSixPQUFPLENBQUNkLEVBQUVrQixLQUFLLENBQUMsSUFBSSxFQUFHSixDQUFBQSxJQUFJLENBQUMsRUFBRSxHQUFHSyxHQUFHTCxJQUFHLElBQUssQ0FBQ1osRUFBRWdCLEtBQUssQ0FBQyxJQUFJLEVBQUVKO1FBQzlILElBQUlELFFBQVEsT0FBT0QsVUFBVSxNQUFNQyxTQUFTLE1BQU07SUFDcEQ7SUFFQUgsS0FBS0gsTUFBTSxHQUFHLFNBQVNhLENBQUM7UUFDdEIsT0FBT0osVUFBVUssTUFBTSxHQUFJZCxDQUFBQSxTQUFTYSxHQUFHVixJQUFHLElBQUtIO0lBQ2pEO0lBRUFHLEtBQUtELE1BQU0sR0FBRyxTQUFTVyxDQUFDO1FBQ3RCLE9BQU9KLFVBQVVLLE1BQU0sR0FBSVosQ0FBQUEsU0FBU1csR0FBR1YsSUFBRyxJQUFLRDtJQUNqRDtJQUVBQyxLQUFLVixDQUFDLEdBQUcsU0FBU29CLENBQUM7UUFDakIsT0FBT0osVUFBVUssTUFBTSxHQUFJckIsQ0FBQUEsSUFBSSxPQUFPb0IsTUFBTSxhQUFhQSxJQUFJckIsd0RBQVFBLENBQUMsQ0FBQ3FCLElBQUlWLElBQUcsSUFBS1Y7SUFDckY7SUFFQVUsS0FBS1IsQ0FBQyxHQUFHLFNBQVNrQixDQUFDO1FBQ2pCLE9BQU9KLFVBQVVLLE1BQU0sR0FBSW5CLENBQUFBLElBQUksT0FBT2tCLE1BQU0sYUFBYUEsSUFBSXJCLHdEQUFRQSxDQUFDLENBQUNxQixJQUFJVixJQUFHLElBQUtSO0lBQ3JGO0lBRUFRLEtBQUtFLE9BQU8sR0FBRyxTQUFTUSxDQUFDO1FBQ3ZCLE9BQU9KLFVBQVVLLE1BQU0sR0FBSSxXQUFXRCxLQUFLLE9BQU8sT0FBT0EsR0FBSVYsSUFBRyxJQUFLRTtJQUN2RTtJQUVBLE9BQU9GO0FBQ1Q7QUFFQSxTQUFTWSxnQkFBZ0JWLE9BQU8sRUFBRVcsRUFBRSxFQUFFQyxFQUFFLEVBQUVDLEVBQUUsRUFBRUMsRUFBRTtJQUM5Q2QsUUFBUWUsTUFBTSxDQUFDSixJQUFJQztJQUNuQlosUUFBUWdCLGFBQWEsQ0FBQ0wsS0FBSyxDQUFDQSxLQUFLRSxFQUFDLElBQUssR0FBR0QsSUFBSUQsSUFBSUcsSUFBSUQsSUFBSUM7QUFDNUQ7QUFFQSxTQUFTRyxjQUFjakIsT0FBTyxFQUFFVyxFQUFFLEVBQUVDLEVBQUUsRUFBRUMsRUFBRSxFQUFFQyxFQUFFO0lBQzVDZCxRQUFRZSxNQUFNLENBQUNKLElBQUlDO0lBQ25CWixRQUFRZ0IsYUFBYSxDQUFDTCxJQUFJQyxLQUFLLENBQUNBLEtBQUtFLEVBQUMsSUFBSyxHQUFHRCxJQUFJRCxJQUFJQyxJQUFJQztBQUM1RDtBQUVBLFNBQVNJLFlBQVlsQixPQUFPLEVBQUVXLEVBQUUsRUFBRUMsRUFBRSxFQUFFQyxFQUFFLEVBQUVDLEVBQUU7SUFDMUMsSUFBSUssS0FBSzNCLDJEQUFXQSxDQUFDbUIsSUFBSUMsS0FDckJRLEtBQUs1QiwyREFBV0EsQ0FBQ21CLElBQUlDLEtBQUssQ0FBQ0EsS0FBS0UsRUFBQyxJQUFLLElBQ3RDTyxLQUFLN0IsMkRBQVdBLENBQUNxQixJQUFJRCxLQUNyQlUsS0FBSzlCLDJEQUFXQSxDQUFDcUIsSUFBSUM7SUFDekJkLFFBQVFlLE1BQU0sQ0FBQ0ksRUFBRSxDQUFDLEVBQUUsRUFBRUEsRUFBRSxDQUFDLEVBQUU7SUFDM0JuQixRQUFRZ0IsYUFBYSxDQUFDSSxFQUFFLENBQUMsRUFBRSxFQUFFQSxFQUFFLENBQUMsRUFBRSxFQUFFQyxFQUFFLENBQUMsRUFBRSxFQUFFQSxFQUFFLENBQUMsRUFBRSxFQUFFQyxFQUFFLENBQUMsRUFBRSxFQUFFQSxFQUFFLENBQUMsRUFBRTtBQUNoRTtBQUVPLFNBQVNDO0lBQ2QsT0FBT3pCLEtBQUtZO0FBQ2Q7QUFFTyxTQUFTYztJQUNkLE9BQU8xQixLQUFLbUI7QUFDZDtBQUVPLFNBQVNRO0lBQ2QsSUFBSUMsSUFBSTVCLEtBQUtvQjtJQUNiUSxFQUFFQyxLQUFLLEdBQUdELEVBQUV0QyxDQUFDLEVBQUUsT0FBT3NDLEVBQUV0QyxDQUFDO0lBQ3pCc0MsRUFBRUUsTUFBTSxHQUFHRixFQUFFcEMsQ0FBQyxFQUFFLE9BQU9vQyxFQUFFcEMsQ0FBQztJQUMxQixPQUFPb0M7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL25leHRjaGF0Ly4vbm9kZV9tb2R1bGVzL2QzLXNhbmtleS9ub2RlX21vZHVsZXMvZDMtc2hhcGUvc3JjL2xpbmsvaW5kZXguanM/YzIyOSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3BhdGh9IGZyb20gXCJkMy1wYXRoXCI7XG5pbXBvcnQge3NsaWNlfSBmcm9tIFwiLi4vYXJyYXkuanNcIjtcbmltcG9ydCBjb25zdGFudCBmcm9tIFwiLi4vY29uc3RhbnQuanNcIjtcbmltcG9ydCB7eCBhcyBwb2ludFgsIHkgYXMgcG9pbnRZfSBmcm9tIFwiLi4vcG9pbnQuanNcIjtcbmltcG9ydCBwb2ludFJhZGlhbCBmcm9tIFwiLi4vcG9pbnRSYWRpYWwuanNcIjtcblxuZnVuY3Rpb24gbGlua1NvdXJjZShkKSB7XG4gIHJldHVybiBkLnNvdXJjZTtcbn1cblxuZnVuY3Rpb24gbGlua1RhcmdldChkKSB7XG4gIHJldHVybiBkLnRhcmdldDtcbn1cblxuZnVuY3Rpb24gbGluayhjdXJ2ZSkge1xuICB2YXIgc291cmNlID0gbGlua1NvdXJjZSxcbiAgICAgIHRhcmdldCA9IGxpbmtUYXJnZXQsXG4gICAgICB4ID0gcG9pbnRYLFxuICAgICAgeSA9IHBvaW50WSxcbiAgICAgIGNvbnRleHQgPSBudWxsO1xuXG4gIGZ1bmN0aW9uIGxpbmsoKSB7XG4gICAgdmFyIGJ1ZmZlciwgYXJndiA9IHNsaWNlLmNhbGwoYXJndW1lbnRzKSwgcyA9IHNvdXJjZS5hcHBseSh0aGlzLCBhcmd2KSwgdCA9IHRhcmdldC5hcHBseSh0aGlzLCBhcmd2KTtcbiAgICBpZiAoIWNvbnRleHQpIGNvbnRleHQgPSBidWZmZXIgPSBwYXRoKCk7XG4gICAgY3VydmUoY29udGV4dCwgK3guYXBwbHkodGhpcywgKGFyZ3ZbMF0gPSBzLCBhcmd2KSksICt5LmFwcGx5KHRoaXMsIGFyZ3YpLCAreC5hcHBseSh0aGlzLCAoYXJndlswXSA9IHQsIGFyZ3YpKSwgK3kuYXBwbHkodGhpcywgYXJndikpO1xuICAgIGlmIChidWZmZXIpIHJldHVybiBjb250ZXh0ID0gbnVsbCwgYnVmZmVyICsgXCJcIiB8fCBudWxsO1xuICB9XG5cbiAgbGluay5zb3VyY2UgPSBmdW5jdGlvbihfKSB7XG4gICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoc291cmNlID0gXywgbGluaykgOiBzb3VyY2U7XG4gIH07XG5cbiAgbGluay50YXJnZXQgPSBmdW5jdGlvbihfKSB7XG4gICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAodGFyZ2V0ID0gXywgbGluaykgOiB0YXJnZXQ7XG4gIH07XG5cbiAgbGluay54ID0gZnVuY3Rpb24oXykge1xuICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHggPSB0eXBlb2YgXyA9PT0gXCJmdW5jdGlvblwiID8gXyA6IGNvbnN0YW50KCtfKSwgbGluaykgOiB4O1xuICB9O1xuXG4gIGxpbmsueSA9IGZ1bmN0aW9uKF8pIHtcbiAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh5ID0gdHlwZW9mIF8gPT09IFwiZnVuY3Rpb25cIiA/IF8gOiBjb25zdGFudCgrXyksIGxpbmspIDogeTtcbiAgfTtcblxuICBsaW5rLmNvbnRleHQgPSBmdW5jdGlvbihfKSB7XG4gICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoKGNvbnRleHQgPSBfID09IG51bGwgPyBudWxsIDogXyksIGxpbmspIDogY29udGV4dDtcbiAgfTtcblxuICByZXR1cm4gbGluaztcbn1cblxuZnVuY3Rpb24gY3VydmVIb3Jpem9udGFsKGNvbnRleHQsIHgwLCB5MCwgeDEsIHkxKSB7XG4gIGNvbnRleHQubW92ZVRvKHgwLCB5MCk7XG4gIGNvbnRleHQuYmV6aWVyQ3VydmVUbyh4MCA9ICh4MCArIHgxKSAvIDIsIHkwLCB4MCwgeTEsIHgxLCB5MSk7XG59XG5cbmZ1bmN0aW9uIGN1cnZlVmVydGljYWwoY29udGV4dCwgeDAsIHkwLCB4MSwgeTEpIHtcbiAgY29udGV4dC5tb3ZlVG8oeDAsIHkwKTtcbiAgY29udGV4dC5iZXppZXJDdXJ2ZVRvKHgwLCB5MCA9ICh5MCArIHkxKSAvIDIsIHgxLCB5MCwgeDEsIHkxKTtcbn1cblxuZnVuY3Rpb24gY3VydmVSYWRpYWwoY29udGV4dCwgeDAsIHkwLCB4MSwgeTEpIHtcbiAgdmFyIHAwID0gcG9pbnRSYWRpYWwoeDAsIHkwKSxcbiAgICAgIHAxID0gcG9pbnRSYWRpYWwoeDAsIHkwID0gKHkwICsgeTEpIC8gMiksXG4gICAgICBwMiA9IHBvaW50UmFkaWFsKHgxLCB5MCksXG4gICAgICBwMyA9IHBvaW50UmFkaWFsKHgxLCB5MSk7XG4gIGNvbnRleHQubW92ZVRvKHAwWzBdLCBwMFsxXSk7XG4gIGNvbnRleHQuYmV6aWVyQ3VydmVUbyhwMVswXSwgcDFbMV0sIHAyWzBdLCBwMlsxXSwgcDNbMF0sIHAzWzFdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxpbmtIb3Jpem9udGFsKCkge1xuICByZXR1cm4gbGluayhjdXJ2ZUhvcml6b250YWwpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbGlua1ZlcnRpY2FsKCkge1xuICByZXR1cm4gbGluayhjdXJ2ZVZlcnRpY2FsKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxpbmtSYWRpYWwoKSB7XG4gIHZhciBsID0gbGluayhjdXJ2ZVJhZGlhbCk7XG4gIGwuYW5nbGUgPSBsLngsIGRlbGV0ZSBsLng7XG4gIGwucmFkaXVzID0gbC55LCBkZWxldGUgbC55O1xuICByZXR1cm4gbDtcbn1cbiJdLCJuYW1lcyI6WyJwYXRoIiwic2xpY2UiLCJjb25zdGFudCIsIngiLCJwb2ludFgiLCJ5IiwicG9pbnRZIiwicG9pbnRSYWRpYWwiLCJsaW5rU291cmNlIiwiZCIsInNvdXJjZSIsImxpbmtUYXJnZXQiLCJ0YXJnZXQiLCJsaW5rIiwiY3VydmUiLCJjb250ZXh0IiwiYnVmZmVyIiwiYXJndiIsImNhbGwiLCJhcmd1bWVudHMiLCJzIiwiYXBwbHkiLCJ0IiwiXyIsImxlbmd0aCIsImN1cnZlSG9yaXpvbnRhbCIsIngwIiwieTAiLCJ4MSIsInkxIiwibW92ZVRvIiwiYmV6aWVyQ3VydmVUbyIsImN1cnZlVmVydGljYWwiLCJjdXJ2ZVJhZGlhbCIsInAwIiwicDEiLCJwMiIsInAzIiwibGlua0hvcml6b250YWwiLCJsaW5rVmVydGljYWwiLCJsaW5rUmFkaWFsIiwibCIsImFuZ2xlIiwicmFkaXVzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/d3-sankey/node_modules/d3-shape/src/link/index.js\n");
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ "(ssr)/./node_modules/d3-sankey/node_modules/d3-shape/src/point.js":
|
|
|
/*!*******************************************************************!*\
|
|
|
!*** ./node_modules/d3-sankey/node_modules/d3-shape/src/point.js ***!
|
|
|
\*******************************************************************/
|
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ x: () => (/* binding */ x),\n/* harmony export */ y: () => (/* binding */ y)\n/* harmony export */ });\nfunction x(p) {\n return p[0];\n}\nfunction y(p) {\n return p[1];\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvZDMtc2Fua2V5L25vZGVfbW9kdWxlcy9kMy1zaGFwZS9zcmMvcG9pbnQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTyxTQUFTQSxFQUFFQyxDQUFDO0lBQ2pCLE9BQU9BLENBQUMsQ0FBQyxFQUFFO0FBQ2I7QUFFTyxTQUFTQyxFQUFFRCxDQUFDO0lBQ2pCLE9BQU9BLENBQUMsQ0FBQyxFQUFFO0FBQ2IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0Y2hhdC8uL25vZGVfbW9kdWxlcy9kMy1zYW5rZXkvbm9kZV9tb2R1bGVzL2QzLXNoYXBlL3NyYy9wb2ludC5qcz82MDFlIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiB4KHApIHtcbiAgcmV0dXJuIHBbMF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB5KHApIHtcbiAgcmV0dXJuIHBbMV07XG59XG4iXSwibmFtZXMiOlsieCIsInAiLCJ5Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/d3-sankey/node_modules/d3-shape/src/point.js\n");
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ "(ssr)/./node_modules/d3-sankey/node_modules/d3-shape/src/pointRadial.js":
|
|
|
/*!*************************************************************************!*\
|
|
|
!*** ./node_modules/d3-sankey/node_modules/d3-shape/src/pointRadial.js ***!
|
|
|
\*************************************************************************/
|
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__(x, y) {\n return [\n (y = +y) * Math.cos(x -= Math.PI / 2),\n y * Math.sin(x)\n ];\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvZDMtc2Fua2V5L25vZGVfbW9kdWxlcy9kMy1zaGFwZS9zcmMvcG9pbnRSYWRpYWwuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLDZCQUFlLG9DQUFTQSxDQUFDLEVBQUVDLENBQUM7SUFDMUIsT0FBTztRQUFFQSxDQUFBQSxJQUFJLENBQUNBLENBQUFBLElBQUtDLEtBQUtDLEdBQUcsQ0FBQ0gsS0FBS0UsS0FBS0UsRUFBRSxHQUFHO1FBQUlILElBQUlDLEtBQUtHLEdBQUcsQ0FBQ0w7S0FBRztBQUNqRSIsInNvdXJjZXMiOlsid2VicGFjazovL25leHRjaGF0Ly4vbm9kZV9tb2R1bGVzL2QzLXNhbmtleS9ub2RlX21vZHVsZXMvZDMtc2hhcGUvc3JjL3BvaW50UmFkaWFsLmpzPzRkMzMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oeCwgeSkge1xuICByZXR1cm4gWyh5ID0gK3kpICogTWF0aC5jb3MoeCAtPSBNYXRoLlBJIC8gMiksIHkgKiBNYXRoLnNpbih4KV07XG59XG4iXSwibmFtZXMiOlsieCIsInkiLCJNYXRoIiwiY29zIiwiUEkiLCJzaW4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/d3-sankey/node_modules/d3-shape/src/pointRadial.js\n");
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ "(ssr)/./node_modules/d3-sankey/src/align.js":
|
|
|
/*!*********************************************!*\
|
|
|
!*** ./node_modules/d3-sankey/src/align.js ***!
|
|
|
\*********************************************/
|
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ center: () => (/* binding */ center),\n/* harmony export */ justify: () => (/* binding */ justify),\n/* harmony export */ left: () => (/* binding */ left),\n/* harmony export */ right: () => (/* binding */ right)\n/* harmony export */ });\n/* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-array */ \"(ssr)/./node_modules/d3-sankey/node_modules/d3-array/src/min.js\");\n\nfunction targetDepth(d) {\n return d.target.depth;\n}\nfunction left(node) {\n return node.depth;\n}\nfunction right(node, n) {\n return n - 1 - node.height;\n}\nfunction justify(node, n) {\n return node.sourceLinks.length ? node.depth : n - 1;\n}\nfunction center(node) {\n return node.targetLinks.length ? node.depth : node.sourceLinks.length ? (0,d3_array__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(node.sourceLinks, targetDepth) - 1 : 0;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvZDMtc2Fua2V5L3NyYy9hbGlnbi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUE2QjtBQUU3QixTQUFTQyxZQUFZQyxDQUFDO0lBQ3BCLE9BQU9BLEVBQUVDLE1BQU0sQ0FBQ0MsS0FBSztBQUN2QjtBQUVPLFNBQVNDLEtBQUtDLElBQUk7SUFDdkIsT0FBT0EsS0FBS0YsS0FBSztBQUNuQjtBQUVPLFNBQVNHLE1BQU1ELElBQUksRUFBRUUsQ0FBQztJQUMzQixPQUFPQSxJQUFJLElBQUlGLEtBQUtHLE1BQU07QUFDNUI7QUFFTyxTQUFTQyxRQUFRSixJQUFJLEVBQUVFLENBQUM7SUFDN0IsT0FBT0YsS0FBS0ssV0FBVyxDQUFDQyxNQUFNLEdBQUdOLEtBQUtGLEtBQUssR0FBR0ksSUFBSTtBQUNwRDtBQUVPLFNBQVNLLE9BQU9QLElBQUk7SUFDekIsT0FBT0EsS0FBS1EsV0FBVyxDQUFDRixNQUFNLEdBQUdOLEtBQUtGLEtBQUssR0FDckNFLEtBQUtLLFdBQVcsQ0FBQ0MsTUFBTSxHQUFHWixvREFBR0EsQ0FBQ00sS0FBS0ssV0FBVyxFQUFFVixlQUFlLElBQy9EO0FBQ1IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0Y2hhdC8uL25vZGVfbW9kdWxlcy9kMy1zYW5rZXkvc3JjL2FsaWduLmpzPzk4MDkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHttaW59IGZyb20gXCJkMy1hcnJheVwiO1xuXG5mdW5jdGlvbiB0YXJnZXREZXB0aChkKSB7XG4gIHJldHVybiBkLnRhcmdldC5kZXB0aDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxlZnQobm9kZSkge1xuICByZXR1cm4gbm9kZS5kZXB0aDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJpZ2h0KG5vZGUsIG4pIHtcbiAgcmV0dXJuIG4gLSAxIC0gbm9kZS5oZWlnaHQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBqdXN0aWZ5KG5vZGUsIG4pIHtcbiAgcmV0dXJuIG5vZGUuc291cmNlTGlua3MubGVuZ3RoID8gbm9kZS5kZXB0aCA6IG4gLSAxO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2VudGVyKG5vZGUpIHtcbiAgcmV0dXJuIG5vZGUudGFyZ2V0TGlua3MubGVuZ3RoID8gbm9kZS5kZXB0aFxuICAgICAgOiBub2RlLnNvdXJjZUxpbmtzLmxlbmd0aCA/IG1pbihub2RlLnNvdXJjZUxpbmtzLCB0YXJnZXREZXB0aCkgLSAxXG4gICAgICA6IDA7XG59XG4iXSwibmFtZXMiOlsibWluIiwidGFyZ2V0RGVwdGgiLCJkIiwidGFyZ2V0IiwiZGVwdGgiLCJsZWZ0Iiwibm9kZSIsInJpZ2h0IiwibiIsImhlaWdodCIsImp1c3RpZnkiLCJzb3VyY2VMaW5rcyIsImxlbmd0aCIsImNlbnRlciIsInRhcmdldExpbmtzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/d3-sankey/src/align.js\n");
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ "(ssr)/./node_modules/d3-sankey/src/constant.js":
|
|
|
/*!************************************************!*\
|
|
|
!*** ./node_modules/d3-sankey/src/constant.js ***!
|
|
|
\************************************************/
|
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ constant)\n/* harmony export */ });\nfunction constant(x) {\n return function() {\n return x;\n };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvZDMtc2Fua2V5L3NyYy9jb25zdGFudC5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQWUsU0FBU0EsU0FBU0MsQ0FBQztJQUNoQyxPQUFPO1FBQ0wsT0FBT0E7SUFDVDtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGNoYXQvLi9ub2RlX21vZHVsZXMvZDMtc2Fua2V5L3NyYy9jb25zdGFudC5qcz81NGE5Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNvbnN0YW50KHgpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiB4O1xuICB9O1xufVxuIl0sIm5hbWVzIjpbImNvbnN0YW50IiwieCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/d3-sankey/src/constant.js\n");
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ "(ssr)/./node_modules/d3-sankey/src/index.js":
|
|
|
/*!*********************************************!*\
|
|
|
!*** ./node_modules/d3-sankey/src/index.js ***!
|
|
|
\*********************************************/
|
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ sankey: () => (/* reexport safe */ _sankey_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]),\n/* harmony export */ sankeyCenter: () => (/* reexport safe */ _align_js__WEBPACK_IMPORTED_MODULE_1__.center),\n/* harmony export */ sankeyJustify: () => (/* reexport safe */ _align_js__WEBPACK_IMPORTED_MODULE_1__.justify),\n/* harmony export */ sankeyLeft: () => (/* reexport safe */ _align_js__WEBPACK_IMPORTED_MODULE_1__.left),\n/* harmony export */ sankeyLinkHorizontal: () => (/* reexport safe */ _sankeyLinkHorizontal_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]),\n/* harmony export */ sankeyRight: () => (/* reexport safe */ _align_js__WEBPACK_IMPORTED_MODULE_1__.right)\n/* harmony export */ });\n/* harmony import */ var _sankey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./sankey.js */ \"(ssr)/./node_modules/d3-sankey/src/sankey.js\");\n/* harmony import */ var _align_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./align.js */ \"(ssr)/./node_modules/d3-sankey/src/align.js\");\n/* harmony import */ var _sankeyLinkHorizontal_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./sankeyLinkHorizontal.js */ \"(ssr)/./node_modules/d3-sankey/src/sankeyLinkHorizontal.js\");\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvZDMtc2Fua2V5L3NyYy9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBOEM7QUFDd0U7QUFDNUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0Y2hhdC8uL25vZGVfbW9kdWxlcy9kMy1zYW5rZXkvc3JjL2luZGV4LmpzP2ZhNWQiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtkZWZhdWx0IGFzIHNhbmtleX0gZnJvbSBcIi4vc2Fua2V5LmpzXCI7XG5leHBvcnQge2NlbnRlciBhcyBzYW5rZXlDZW50ZXIsIGxlZnQgYXMgc2Fua2V5TGVmdCwgcmlnaHQgYXMgc2Fua2V5UmlnaHQsIGp1c3RpZnkgYXMgc2Fua2V5SnVzdGlmeX0gZnJvbSBcIi4vYWxpZ24uanNcIjtcbmV4cG9ydCB7ZGVmYXVsdCBhcyBzYW5rZXlMaW5rSG9yaXpvbnRhbH0gZnJvbSBcIi4vc2Fua2V5TGlua0hvcml6b250YWwuanNcIjtcbiJdLCJuYW1lcyI6WyJkZWZhdWx0Iiwic2Fua2V5IiwiY2VudGVyIiwic2Fua2V5Q2VudGVyIiwibGVmdCIsInNhbmtleUxlZnQiLCJyaWdodCIsInNhbmtleVJpZ2h0IiwianVzdGlmeSIsInNhbmtleUp1c3RpZnkiLCJzYW5rZXlMaW5rSG9yaXpvbnRhbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/d3-sankey/src/index.js\n");
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ "(ssr)/./node_modules/d3-sankey/src/sankey.js":
|
|
|
/*!**********************************************!*\
|
|
|
!*** ./node_modules/d3-sankey/src/sankey.js ***!
|
|
|
\**********************************************/
|
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Sankey)\n/* harmony export */ });\n/* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! d3-array */ \"(ssr)/./node_modules/d3-sankey/node_modules/d3-array/src/sum.js\");\n/* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! d3-array */ \"(ssr)/./node_modules/d3-sankey/node_modules/d3-array/src/max.js\");\n/* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! d3-array */ \"(ssr)/./node_modules/d3-sankey/node_modules/d3-array/src/min.js\");\n/* harmony import */ var _align_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./align.js */ \"(ssr)/./node_modules/d3-sankey/src/align.js\");\n/* harmony import */ var _constant_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constant.js */ \"(ssr)/./node_modules/d3-sankey/src/constant.js\");\n\n\n\nfunction ascendingSourceBreadth(a, b) {\n return ascendingBreadth(a.source, b.source) || a.index - b.index;\n}\nfunction ascendingTargetBreadth(a, b) {\n return ascendingBreadth(a.target, b.target) || a.index - b.index;\n}\nfunction ascendingBreadth(a, b) {\n return a.y0 - b.y0;\n}\nfunction value(d) {\n return d.value;\n}\nfunction defaultId(d) {\n return d.index;\n}\nfunction defaultNodes(graph) {\n return graph.nodes;\n}\nfunction defaultLinks(graph) {\n return graph.links;\n}\nfunction find(nodeById, id) {\n const node = nodeById.get(id);\n if (!node) throw new Error(\"missing: \" + id);\n return node;\n}\nfunction computeLinkBreadths({ nodes }) {\n for (const node of nodes){\n let y0 = node.y0;\n let y1 = y0;\n for (const link of node.sourceLinks){\n link.y0 = y0 + link.width / 2;\n y0 += link.width;\n }\n for (const link of node.targetLinks){\n link.y1 = y1 + link.width / 2;\n y1 += link.width;\n }\n }\n}\nfunction Sankey() {\n let x0 = 0, y0 = 0, x1 = 1, y1 = 1; // extent\n let dx = 24; // nodeWidth\n let dy = 8, py; // nodePadding\n let id = defaultId;\n let align = _align_js__WEBPACK_IMPORTED_MODULE_0__.justify;\n let sort;\n let linkSort;\n let nodes = defaultNodes;\n let links = defaultLinks;\n let iterations = 6;\n function sankey() {\n const graph = {\n nodes: nodes.apply(null, arguments),\n links: links.apply(null, arguments)\n };\n computeNodeLinks(graph);\n computeNodeValues(graph);\n computeNodeDepths(graph);\n computeNodeHeights(graph);\n computeNodeBreadths(graph);\n computeLinkBreadths(graph);\n return graph;\n }\n sankey.update = function(graph) {\n computeLinkBreadths(graph);\n return graph;\n };\n sankey.nodeId = function(_) {\n return arguments.length ? (id = typeof _ === \"function\" ? _ : (0,_constant_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_), sankey) : id;\n };\n sankey.nodeAlign = function(_) {\n return arguments.length ? (align = typeof _ === \"function\" ? _ : (0,_constant_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_), sankey) : align;\n };\n sankey.nodeSort = function(_) {\n return arguments.length ? (sort = _, sankey) : sort;\n };\n sankey.nodeWidth = function(_) {\n return arguments.length ? (dx = +_, sankey) : dx;\n };\n sankey.nodePadding = function(_) {\n return arguments.length ? (dy = py = +_, sankey) : dy;\n };\n sankey.nodes = function(_) {\n return arguments.length ? (nodes = typeof _ === \"function\" ? _ : (0,_constant_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_), sankey) : nodes;\n };\n sankey.links = function(_) {\n return arguments.length ? (links = typeof _ === \"function\" ? _ : (0,_constant_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_), sankey) : links;\n };\n sankey.linkSort = function(_) {\n return arguments.length ? (linkSort = _, sankey) : linkSort;\n };\n sankey.size = function(_) {\n return arguments.length ? (x0 = y0 = 0, x1 = +_[0], y1 = +_[1], sankey) : [\n x1 - x0,\n y1 - y0\n ];\n };\n sankey.extent = function(_) {\n return arguments.length ? (x0 = +_[0][0], x1 = +_[1][0], y0 = +_[0][1], y1 = +_[1][1], sankey) : [\n [\n x0,\n y0\n ],\n [\n x1,\n y1\n ]\n ];\n };\n sankey.iterations = function(_) {\n return arguments.length ? (iterations = +_, sankey) : iterations;\n };\n function computeNodeLinks({ nodes, links }) {\n for (const [i, node] of nodes.entries()){\n node.index = i;\n node.sourceLinks = [];\n node.targetLinks = [];\n }\n const nodeById = new Map(nodes.map((d, i)=>[\n id(d, i, nodes),\n d\n ]));\n for (const [i, link] of links.entries()){\n link.index = i;\n let { source, target } = link;\n if (typeof source !== \"object\") source = link.source = find(nodeById, source);\n if (typeof target !== \"object\") target = link.target = find(nodeById, target);\n source.sourceLinks.push(link);\n target.targetLinks.push(link);\n }\n if (linkSort != null) {\n for (const { sourceLinks, targetLinks } of nodes){\n sourceLinks.sort(linkSort);\n targetLinks.sort(linkSort);\n }\n }\n }\n function computeNodeValues({ nodes }) {\n for (const node of nodes){\n node.value = node.fixedValue === undefined ? Math.max((0,d3_array__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(node.sourceLinks, value), (0,d3_array__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(node.targetLinks, value)) : node.fixedValue;\n }\n }\n function computeNodeDepths({ nodes }) {\n const n = nodes.length;\n let current = new Set(nodes);\n let next = new Set;\n let x = 0;\n while(current.size){\n for (const node of current){\n node.depth = x;\n for (const { target } of node.sourceLinks){\n next.add(target);\n }\n }\n if (++x > n) throw new Error(\"circular link\");\n current = next;\n next = new Set;\n }\n }\n function computeNodeHeights({ nodes }) {\n const n = nodes.length;\n let current = new Set(nodes);\n let next = new Set;\n let x = 0;\n while(current.size){\n for (const node of current){\n node.height = x;\n for (const { source } of node.targetLinks){\n next.add(source);\n }\n }\n if (++x > n) throw new Error(\"circular link\");\n current = next;\n next = new Set;\n }\n }\n function computeNodeLayers({ nodes }) {\n const x = (0,d3_array__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(nodes, (d)=>d.depth) + 1;\n const kx = (x1 - x0 - dx) / (x - 1);\n const columns = new Array(x);\n for (const node of nodes){\n const i = Math.max(0, Math.min(x - 1, Math.floor(align.call(null, node, x))));\n node.layer = i;\n node.x0 = x0 + i * kx;\n node.x1 = node.x0 + dx;\n if (columns[i]) columns[i].push(node);\n else columns[i] = [\n node\n ];\n }\n if (sort) for (const column of columns){\n column.sort(sort);\n }\n return columns;\n }\n function initializeNodeBreadths(columns) {\n const ky = (0,d3_array__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(columns, (c)=>(y1 - y0 - (c.length - 1) * py) / (0,d3_array__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(c, value));\n for (const nodes of columns){\n let y = y0;\n for (const node of nodes){\n node.y0 = y;\n node.y1 = y + node.value * ky;\n y = node.y1 + py;\n for (const link of node.sourceLinks){\n link.width = link.value * ky;\n }\n }\n y = (y1 - y + py) / (nodes.length + 1);\n for(let i = 0; i < nodes.length; ++i){\n const node = nodes[i];\n node.y0 += y * (i + 1);\n node.y1 += y * (i + 1);\n }\n reorderLinks(nodes);\n }\n }\n function computeNodeBreadths(graph) {\n const columns = computeNodeLayers(graph);\n py = Math.min(dy, (y1 - y0) / ((0,d3_array__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(columns, (c)=>c.length) - 1));\n initializeNodeBreadths(columns);\n for(let i = 0; i < iterations; ++i){\n const alpha = Math.pow(0.99, i);\n const beta = Math.max(1 - alpha, (i + 1) / iterations);\n relaxRightToLeft(columns, alpha, beta);\n relaxLeftToRight(columns, alpha, beta);\n }\n }\n // Reposition each node based on its incoming (target) links.\n function relaxLeftToRight(columns, alpha, beta) {\n for(let i = 1, n = columns.length; i < n; ++i){\n const column = columns[i];\n for (const target of column){\n let y = 0;\n let w = 0;\n for (const { source, value } of target.targetLinks){\n let v = value * (target.layer - source.layer);\n y += targetTop(source, target) * v;\n w += v;\n }\n if (!(w > 0)) continue;\n let dy = (y / w - target.y0) * alpha;\n target.y0 += dy;\n target.y1 += dy;\n reorderNodeLinks(target);\n }\n if (sort === undefined) column.sort(ascendingBreadth);\n resolveCollisions(column, beta);\n }\n }\n // Reposition each node based on its outgoing (source) links.\n function relaxRightToLeft(columns, alpha, beta) {\n for(let n = columns.length, i = n - 2; i >= 0; --i){\n const column = columns[i];\n for (const source of column){\n let y = 0;\n let w = 0;\n for (const { target, value } of source.sourceLinks){\n let v = value * (target.layer - source.layer);\n y += sourceTop(source, target) * v;\n w += v;\n }\n if (!(w > 0)) continue;\n let dy = (y / w - source.y0) * alpha;\n source.y0 += dy;\n source.y1 += dy;\n reorderNodeLinks(source);\n }\n if (sort === undefined) column.sort(ascendingBreadth);\n resolveCollisions(column, beta);\n }\n }\n function resolveCollisions(nodes, alpha) {\n const i = nodes.length >> 1;\n const subject = nodes[i];\n resolveCollisionsBottomToTop(nodes, subject.y0 - py, i - 1, alpha);\n resolveCollisionsTopToBottom(nodes, subject.y1 + py, i + 1, alpha);\n resolveCollisionsBottomToTop(nodes, y1, nodes.length - 1, alpha);\n resolveCollisionsTopToBottom(nodes, y0, 0, alpha);\n }\n // Push any overlapping nodes down.\n function resolveCollisionsTopToBottom(nodes, y, i, alpha) {\n for(; i < nodes.length; ++i){\n const node = nodes[i];\n const dy = (y - node.y0) * alpha;\n if (dy > 1e-6) node.y0 += dy, node.y1 += dy;\n y = node.y1 + py;\n }\n }\n // Push any overlapping nodes up.\n function resolveCollisionsBottomToTop(nodes, y, i, alpha) {\n for(; i >= 0; --i){\n const node = nodes[i];\n const dy = (node.y1 - y) * alpha;\n if (dy > 1e-6) node.y0 -= dy, node.y1 -= dy;\n y = node.y0 - py;\n }\n }\n function reorderNodeLinks({ sourceLinks, targetLinks }) {\n if (linkSort === undefined) {\n for (const { source: { sourceLinks } } of targetLinks){\n sourceLinks.sort(ascendingTargetBreadth);\n }\n for (const { target: { targetLinks } } of sourceLinks){\n targetLinks.sort(ascendingSourceBreadth);\n }\n }\n }\n function reorderLinks(nodes) {\n if (linkSort === undefined) {\n for (const { sourceLinks, targetLinks } of nodes){\n sourceLinks.sort(ascendingTargetBreadth);\n targetLinks.sort(ascendingSourceBreadth);\n }\n }\n }\n // Returns the target.y0 that would produce an ideal link from source to target.\n function targetTop(source, target) {\n let y = source.y0 - (source.sourceLinks.length - 1) * py / 2;\n for (const { target: node, width } of source.sourceLinks){\n if (node === target) break;\n y += width + py;\n }\n for (const { source: node, width } of target.targetLinks){\n if (node === source) break;\n y -= width;\n }\n return y;\n }\n // Returns the source.y0 that would produce an ideal link from source to target.\n function sourceTop(source, target) {\n let y = target.y0 - (target.targetLinks.length - 1) * py / 2;\n for (const { source: node, width } of target.targetLinks){\n if (node === source) break;\n y += width + py;\n }\n for (const { target: node, width } of source.sourceLinks){\n if (node === target) break;\n y -= width;\n }\n return y;\n }\n return sankey;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvZDMtc2Fua2V5L3NyYy9zYW5rZXkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQXVDO0FBQ0o7QUFDRTtBQUVyQyxTQUFTSyx1QkFBdUJDLENBQUMsRUFBRUMsQ0FBQztJQUNsQyxPQUFPQyxpQkFBaUJGLEVBQUVHLE1BQU0sRUFBRUYsRUFBRUUsTUFBTSxLQUFLSCxFQUFFSSxLQUFLLEdBQUdILEVBQUVHLEtBQUs7QUFDbEU7QUFFQSxTQUFTQyx1QkFBdUJMLENBQUMsRUFBRUMsQ0FBQztJQUNsQyxPQUFPQyxpQkFBaUJGLEVBQUVNLE1BQU0sRUFBRUwsRUFBRUssTUFBTSxLQUFLTixFQUFFSSxLQUFLLEdBQUdILEVBQUVHLEtBQUs7QUFDbEU7QUFFQSxTQUFTRixpQkFBaUJGLENBQUMsRUFBRUMsQ0FBQztJQUM1QixPQUFPRCxFQUFFTyxFQUFFLEdBQUdOLEVBQUVNLEVBQUU7QUFDcEI7QUFFQSxTQUFTQyxNQUFNQyxDQUFDO0lBQ2QsT0FBT0EsRUFBRUQsS0FBSztBQUNoQjtBQUVBLFNBQVNFLFVBQVVELENBQUM7SUFDbEIsT0FBT0EsRUFBRUwsS0FBSztBQUNoQjtBQUVBLFNBQVNPLGFBQWFDLEtBQUs7SUFDekIsT0FBT0EsTUFBTUMsS0FBSztBQUNwQjtBQUVBLFNBQVNDLGFBQWFGLEtBQUs7SUFDekIsT0FBT0EsTUFBTUcsS0FBSztBQUNwQjtBQUVBLFNBQVNDLEtBQUtDLFFBQVEsRUFBRUMsRUFBRTtJQUN4QixNQUFNQyxPQUFPRixTQUFTRyxHQUFHLENBQUNGO0lBQzFCLElBQUksQ0FBQ0MsTUFBTSxNQUFNLElBQUlFLE1BQU0sY0FBY0g7SUFDekMsT0FBT0M7QUFDVDtBQUVBLFNBQVNHLG9CQUFvQixFQUFDVCxLQUFLLEVBQUM7SUFDbEMsS0FBSyxNQUFNTSxRQUFRTixNQUFPO1FBQ3hCLElBQUlOLEtBQUtZLEtBQUtaLEVBQUU7UUFDaEIsSUFBSWdCLEtBQUtoQjtRQUNULEtBQUssTUFBTWlCLFFBQVFMLEtB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Q0FBRTtZQUN0RCxJQUFJUixTQUFTaEIsUUFBUTtZQUNyQmdGLEtBQUt6RDtRQUNQO1FBQ0EsT0FBT3lEO0lBQ1Q7SUFFQSxnRkFBZ0Y7SUFDaEYsU0FBU1ksVUFBVTVGLE1BQU0sRUFBRUcsTUFBTTtRQUMvQixJQUFJNkUsSUFBSTdFLE9BQU9DLEVBQUUsR0FBRyxDQUFDRCxPQUFPcUIsV0FBVyxDQUFDc0IsTUFBTSxHQUFHLEtBQUtoQixLQUFLO1FBQzNELEtBQUssTUFBTSxFQUFDOUIsUUFBUWdCLElBQUksRUFBRU8sS0FBSyxFQUFDLElBQUlwQixPQUFPcUIsV0FBVyxDQUFFO1lBQ3RELElBQUlSLFNBQVNoQixRQUFRO1lBQ3JCZ0YsS0FBS3pELFFBQVFPO1FBQ2Y7UUFDQSxLQUFLLE1BQU0sRUFBQzNCLFFBQVFhLElBQUksRUFBRU8sS0FBSyxFQUFDLElBQUl2QixPQUFPc0IsV0FBVyxDQUFFO1lBQ3RELElBQUlOLFNBQVNiLFFBQVE7WUFDckI2RSxLQUFLekQ7UUFDUDtRQUNBLE9BQU95RDtJQUNUO0lBRUEsT0FBTzdDO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0Y2hhdC8uL25vZGVfbW9kdWxlcy9kMy1zYW5rZXkvc3JjL3NhbmtleS5qcz83NDlkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7bWF4LCBtaW4sIHN1bX0gZnJvbSBcImQzLWFycmF5XCI7XG5pbXBvcnQge2p1c3RpZnl9IGZyb20gXCIuL2FsaWduLmpzXCI7XG5pbXBvcnQgY29uc3RhbnQgZnJvbSBcIi4vY29uc3RhbnQuanNcIjtcblxuZnVuY3Rpb24gYXNjZW5kaW5nU291cmNlQnJlYWR0aChhLCBiKSB7XG4gIHJldHVybiBhc2NlbmRpbmdCcmVhZHRoKGEuc291cmNlLCBiLnNvdXJjZSkgfHwgYS5pbmRleCAtIGIuaW5kZXg7XG59XG5cbmZ1bmN0aW9uIGFzY2VuZGluZ1RhcmdldEJyZWFkdGgoYSwgYikge1xuICByZXR1cm4gYXNjZW5kaW5nQnJlYWR0aChhLnRhcmdldCwgYi50YXJnZXQpIHx8IGEuaW5kZXggLSBiLmluZGV4O1xufVxuXG5mdW5jdGlvbiBhc2NlbmRpbmdCcmVhZHRoKGEsIGIpIHtcbiAgcmV0dXJuIGEueTAgLSBiLnkwO1xufVxuXG5mdW5jdGlvbiB2YWx1ZShkKSB7XG4gIHJldHVybiBkLnZhbHVlO1xufVxuXG5mdW5jdGlvbiBkZWZhdWx0SWQoZCkge1xuICByZXR1cm4gZC5pbmRleDtcbn1cblxuZnVuY3Rpb24gZGVmYXVsdE5vZGVzKGdyYXBoKSB7XG4gIHJldHVybiBncmFwaC5ub2Rlcztcbn1cblxuZnVuY3Rpb24gZGVmYXVsdExpbmtzKGdyYXBoKSB7XG4gIHJldHVybiBncmFwaC5saW5rcztcbn1cblxuZnVuY3Rpb24gZmluZChub2RlQnlJZCwgaWQpIHtcbiAgY29uc3Qgbm9kZSA9IG5vZGVCeUlkLmdldChpZCk7XG4gIGlmICghbm9kZSkgdGhyb3cgbmV3IEVycm9yKFwibWlzc2luZzogXCIgKyBpZCk7XG4gIHJldHVybiBub2RlO1xufVxuXG5mdW5jdGlvbiBjb21wdXRlTGlua0JyZWFkdGhzKHtub2Rlc30pIHtcbiAgZm9yIChjb25zdCBub2RlIG9mIG5vZGVzKSB7XG4gICAgbGV0IHkwID0gbm9kZS55MDtcbiAgICBsZXQgeTEgPSB5MDtcbiAgICBmb3IgKGNvbnN0IGxpbmsgb2Ygbm9kZS5zb3VyY2VMaW5rcykge1xuICAgICAgbGluay55MCA9IHkwICsgbGluay53aWR0aCAvIDI7XG4gICAgICB5MCArPSBsaW5rLndpZHRoO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IGxpbmsgb2Ygbm9kZS50YXJnZXRMaW5rcykge1xuICAgICAgbGluay55MSA9IHkxICsgbGluay53aWR0aCAvIDI7XG4gICAgICB5MSArPSBsaW5rLndpZHRoO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBTYW5rZXkoKSB7XG4gIGxldCB4MCA9IDAsIHkwID0gMCwgeDEgPSAxLCB5MSA9IDE7IC8vIGV4dGVudFxuICBsZXQgZHggPSAyNDsgLy8gbm9kZVdpZHRoXG4gIGxldCBkeSA9IDgsIHB5OyAvLyBub2RlUGFkZGluZ1xuICBsZXQgaWQgPSBkZWZhdWx0SWQ7XG4gIGxldCBhbGlnbiA9IGp1c3RpZnk7XG4gIGxldCBzb3J0O1xuICBsZXQgbGlua1NvcnQ7XG4gIGxldCBub2RlcyA9IGRlZmF1bHROb2RlcztcbiAgbGV0IGxpbmtzID0gZGVmYXVsdExpbmtzO1xuICBsZXQgaXRlcmF0aW9ucyA9IDY7XG5cbiAgZnVuY3Rpb24gc2Fua2V5KCkge1xuICAgIGNvbnN0IGdyYXBoID0ge25vZGVzOiBub2Rlcy5hcHBseShudWxsLCBhcmd1bWVudHMpLCBsaW5rczogbGlua3MuYXBwbHkobnVsbCwgYXJndW1lbnRzKX07XG4gICAgY29tcHV0ZU5vZGVMaW5rcyhncmFwaCk7XG4gICAgY29tcHV0ZU5vZGVWYWx1ZXMoZ3JhcGgpO1xuICAgIGNvbXB1dGVOb2RlRGVwdGhzKGdyYXBoKTtcbiAgICBjb21wdXRlTm9kZUhlaWdodHMoZ3JhcGgpO1xuICAgIGNvbXB1dGVOb2RlQnJlYWR0aHMoZ3JhcGgpO1xuICAgIGNvbXB1dGVMaW5rQnJlYWR0aHMoZ3JhcGgpO1xuICAgIHJldHVybiBncmFwaDtcbiAgfVxuXG4gIHNhbmtleS51cGRhdGUgPSBmdW5jdGlvbihncmFwaCkge1xuICAgIGNvbXB1dGVMaW5rQnJlYWR0aHMoZ3JhcGgpO1xuICAgIHJldHVybiBncmFwaDtcbiAgfTtcblxuICBzYW5rZXkubm9kZUlkID0gZnVuY3Rpb24oXykge1xuICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGlkID0gdHlwZW9mIF8gPT09IFwiZnVuY3Rpb25cIiA/IF8gOiBjb25zdGFudChfKSwgc2Fua2V5KSA6IGlkO1xuICB9O1xuXG4gIHNhbmtleS5ub2RlQWxpZ24gPSBmdW5jdGlvbihfKSB7XG4gICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoYWxpZ24gPSB0eXBlb2YgXyA9PT0gXCJmdW5jdGlvblwiID8gXyA6IGNvbnN0YW50KF8pLCBzYW5rZXkpIDogYWxpZ247XG4gIH07XG5cbiAgc2Fua2V5Lm5vZGVTb3J0ID0gZnVuY3Rpb24oXykge1xuICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKHNvcnQgPSBfLCBzYW5rZXkpIDogc29ydDtcbiAgfTtcblxuICBzYW5rZXkubm9kZVdpZHRoID0gZnVuY3Rpb24oXykge1xuICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKGR4ID0gK18sIHNhbmtleSkgOiBkeDtcbiAgfTtcblxuICBzYW5rZXkubm9kZVBhZGRpbmcgPSBmdW5jdGlvbihfKSB7XG4gICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoZHkgPSBweSA9ICtfLCBzYW5rZXkpIDogZHk7XG4gIH07XG5cbiAgc2Fua2V5Lm5vZGVzID0gZnVuY3Rpb24oXykge1xuICAgIHJldHVybiBhcmd1bWVudHMubGVuZ3RoID8gKG5vZGVzID0gdHlwZW9mIF8gPT09IFwiZnVuY3Rpb25cIiA/IF8gOiBjb25zdGFudChfKSwgc2Fua2V5KSA6IG5vZGVzO1xuICB9O1xuXG4gIHNhbmtleS5saW5rcyA9IGZ1bmN0aW9uKF8pIHtcbiAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/IChsaW5rcyA9IHR5cGVvZiBfID09PSBcImZ1bmN0aW9uXCIgPyBfIDogY29uc3RhbnQoXyksIHNhbmtleSkgOiBsaW5rcztcbiAgfTtcblxuICBzYW5rZXkubGlua1NvcnQgPSBmdW5jdGlvbihfKSB7XG4gICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAobGlua1NvcnQgPSBfLCBzYW5rZXkpIDogbGlua1NvcnQ7XG4gIH07XG5cbiAgc2Fua2V5LnNpemUgPSBmdW5jdGlvbihfKSB7XG4gICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoeDAgPSB5MCA9IDAsIHgxID0gK19bMF0sIHkxID0gK19bMV0sIHNhbmtleSkgOiBbeDEgLSB4MCwgeTEgLSB5MF07XG4gIH07XG5cbiAgc2Fua2V5LmV4dGVudCA9IGZ1bmN0aW9uKF8pIHtcbiAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA/ICh4MCA9ICtfWzBdWzBdLCB4MSA9ICtfWzFdWzBdLCB5MCA9ICtfWzBdWzFdLCB5MSA9ICtfWzFdWzFdLCBzYW5rZXkpIDogW1t4MCwgeTBdLCBbeDEsIHkxXV07XG4gIH07XG5cbiAgc2Fua2V5Lml0ZXJhdGlvbnMgPSBmdW5jdGlvbihfKSB7XG4gICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyAoaXRlcmF0aW9ucyA9ICtfLCBzYW5rZXkpIDogaXRlcmF0aW9ucztcbiAgfTtcblxuICBmdW5jdGlvbiBjb21wdXRlTm9kZUxpbmtzKHtub2RlcywgbGlua3N9KSB7XG4gICAgZm9yIChjb25zdCBbaSwgbm9kZV0gb2Ygbm9kZXMuZW50cmllcygpKSB7XG4gICAgICBub2RlLmluZGV4ID0gaTtcbiAgICAgIG5vZGUuc291cmNlTGlua3MgPSBbXTtcbiAgICAgIG5vZGUudGFyZ2V0TGlua3MgPSBbXTtcbiAgICB9XG4gICAgY29uc3Qgbm9kZUJ5SWQgPSBuZXcgTWFwKG5vZGVzLm1hcCgoZCwgaSkgPT4gW2lkKGQsIGksIG5vZGVzKSwgZF0pKTtcbiAgICBmb3IgKGNvbnN0IFtpLCBsaW5rXSBvZiBsaW5rcy5lbnRyaWVzKCkpIHtcbiAgICAgIGxpbmsuaW5kZXggPSBpO1xuICAgICAgbGV0IHtzb3VyY2UsIHRhcmdldH0gPSBsaW5rO1xuICAgICAgaWYgKHR5cGVvZiBzb3VyY2UgIT09IFwib2JqZWN0XCIpIHNvdXJjZSA9IGxpbmsuc291cmNlID0gZmluZChub2RlQnlJZCwgc291cmNlKTtcbiAgICAgIGlmICh0eXBlb2YgdGFyZ2V0ICE9PSBcIm9iamVjdFwiKSB0YXJnZXQgPSBsaW5rLnRhcmdldCA9IGZpbmQobm9kZUJ5SWQsIHRhcmdldCk7XG4gICAgICBzb3VyY2Uuc291cmNlTGlua3MucHVzaChsaW5rKTtcbiAgICAgIHRhcmdldC50YXJnZXRMaW5rcy5wdXNoKGxpbmspO1xuICAgIH1cbiAgICBpZiAobGlua1NvcnQgIT0gbnVsbCkge1xuICAgICAgZm9yIChjb25zdCB7c291cmNlTGlua3MsIHRhcmdldExpbmtzfSBvZiBub2Rlcykge1xuICAgICAgICBzb3VyY2VMaW5rcy5zb3J0KGxpbmtTb3J0KTtcbiAgICAgICAgdGFyZ2V0TGlua3Muc29ydChsaW5rU29ydCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gY29tcHV0ZU5vZGVWYWx1ZXMoe25vZGVzfSkge1xuICAgIGZvciAoY29uc3Qgbm9kZSBvZiBub2Rlcykge1xuICAgICAgbm9kZS52YWx1ZSA9IG5vZGUuZml4ZWRWYWx1ZSA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgPyBNYXRoLm1heChzdW0obm9kZS5zb3VyY2VMaW5rcywgdmFsdWUpLCBzdW0obm9kZS50YXJnZXRMaW5rcywgdmFsdWUpKVxuICAgICAgICAgIDogbm9kZS5maXhlZFZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGNvbXB1dGVOb2RlRGVwdGhzKHtub2Rlc30pIHtcbiAgICBjb25zdCBuID0gbm9kZXMubGVuZ3RoO1xuICAgIGxldCBjdXJyZW50ID0gbmV3IFNldChub2Rlcyk7XG4gICAgbGV0IG5leHQgPSBuZXcgU2V0O1xuICAgIGxldCB4ID0gMDtcbiAgICB3aGlsZSAoY3VycmVudC5zaXplKSB7XG4gICAgICBmb3IgKGNvbnN0IG5vZGUgb2YgY3VycmVudCkge1xuICAgICAgICBub2RlLmRlcHRoID0geDtcbiAgICAgICAgZm9yIChjb25zdCB7dGFyZ2V0fSBvZiBub2RlLnNvdXJjZUxpbmtzKSB7XG4gICAgICAgICAgbmV4dC5hZGQodGFyZ2V0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCsreCA+IG4pIHRocm93IG5ldyBFcnJvcihcImNpcmN1bGFyIGxpbmtcIik7XG4gICAgICBjdXJyZW50ID0gbmV4dDtcbiAgICAgIG5leHQgPSBuZXcgU2V0O1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGNvbXB1dGVOb2RlSGVpZ2h0cyh7bm9kZXN9KSB7XG4gICAgY29uc3QgbiA9IG5vZGVzLmxlbmd0aDtcbiAgICBsZXQgY3VycmVudCA9IG5ldyBTZXQobm9kZXMpO1xuICAgIGxldCBuZXh0ID0gbmV3IFNldDtcbiAgICBsZXQgeCA9IDA7XG4gICAgd2hpbGUgKGN1cnJlbnQuc2l6ZSkge1xuICAgICAgZm9yIChjb25zdCBub2RlIG9mIGN1cnJlbnQpIHtcbiAgICAgICAgbm9kZS5oZWlnaHQgPSB4O1xuICAgICAgICBmb3IgKGNvbnN0IHtzb3VyY2V9IG9mIG5vZGUudGFyZ2V0TGlua3MpIHtcbiAgICAgICAgICBuZXh0LmFkZChzb3VyY2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoKyt4ID4gbikgdGhyb3cgbmV3IEVycm9yKFwiY2lyY3VsYXIgbGlua1wiKTtcbiAgICAgIGN1cnJlbnQgPSBuZXh0O1xuICAgICAgbmV4dCA9IG5ldyBTZXQ7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gY29tcHV0ZU5vZGVMYXllcnMoe25vZGVzfSkge1xuICAgIGNvbnN0IHggPSBtYXgobm9kZXMsIGQgPT4gZC5kZXB0aCkgKyAxO1xuICAgIGNvbnN0IGt4ID0gKHgxIC0geDAgLSBkeCkgLyAoeCAtIDEpO1xuICAgIGNvbnN0IGNvbHVtbnMgPSBuZXcgQXJyYXkoeCk7XG4gICAgZm9yIChjb25zdCBub2RlIG9mIG5vZGVzKSB7XG4gICAgICBjb25zdCBpID0gTWF0aC5tYXgoMCwgTWF0aC5taW4oeCAtIDEsIE1hdGguZmxvb3IoYWxpZ24uY2FsbChudWxsLCBub2RlLCB4KSkpKTtcbiAgICAgIG5vZGUubGF5ZXIgPSBpO1xuICAgICAgbm9kZS54MCA9IHgwICsgaSAqIGt4O1xuICAgICAgbm9kZS54MSA9IG5vZGUueDAgKyBkeDtcbiAgICAgIGlmIChjb2x1bW5zW2ldKSBjb2x1bW5zW2ldLnB1c2gobm9kZSk7XG4gICAgICBlbHNlIGNvbHVtbnNbaV0gPSBbbm9kZV07XG4gICAgfVxuICAgIGlmIChzb3J0KSBmb3IgKGNvbnN0IGNvbHVtbiBvZiBjb2x1bW5zKSB7XG4gICAgICBjb2x1bW4uc29ydChzb3J0KTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbHVtbnM7XG4gIH1cblxuICBmdW5jdGlvbiBpbml0aWFsaXplTm9kZUJyZWFkdGhzKGNvbHVtbnMpIHtcbiAgICBjb25zdCBreSA9IG1pbihjb2x1bW5zLCBjID0+ICh5MSAtIHkwIC0gKGMubGVuZ3RoIC0gMSkgKiBweSkgLyBzdW0oYywgdmFsdWUpKTtcbiAgICBmb3IgKGNvbnN0IG5vZGVzIG9mIGNvbHVtbnMpIHtcbiAgICAgIGxldCB5ID0geTA7XG4gICAgICBmb3IgKGNvbnN0IG5vZGUgb2Ygbm9kZXMpIHtcbiAgICAgICAgbm9kZS55MCA9IHk7XG4gICAgICAgIG5vZGUueTEgPSB5ICsgbm9kZS52YWx1ZSAqIGt5O1xuICAgICAgICB5ID0gbm9kZS55MSArIHB5O1xuICAgICAgICBmb3IgKGNvbnN0IGxpbmsgb2Ygbm9kZS5zb3VyY2VMaW5rcykge1xuICAgICAgICAgIGxpbmsud2lkdGggPSBsaW5rLnZhbHVlICoga3k7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHkgPSAoeTEgLSB5ICsgcHkpIC8gKG5vZGVzLmxlbmd0aCArIDEpO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBub2Rlcy5sZW5ndGg7ICsraSkge1xuICAgICAgICBjb25zdCBub2RlID0gbm9kZXNbaV07XG4gICAgICAgIG5vZGUueTAgKz0geSAqIChpICsgMSk7XG4gICAgICAgIG5vZGUueTEgKz0geSAqIChpICsgMSk7XG4gICAgICB9XG4gICAgICByZW9yZGVyTGlua3Mobm9kZXMpO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGNvbXB1dGVOb2RlQnJlYWR0aHMoZ3JhcGgpIHtcbiAgICBjb25zdCBjb2x1bW5zID0gY29tcHV0ZU5vZGVMYXllcnMoZ3JhcGgpO1xuICAgIHB5ID0gTWF0aC5taW4oZHksICh5MSAtIHkwKSAvIChtYXgoY29sdW1ucywgYyA9PiBjLmxlbmd0aCkgLSAxKSk7XG4gICAgaW5pdGlhbGl6ZU5vZGVCcmVhZHRocyhjb2x1bW5zKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZXJhdGlvbnM7ICsraSkge1xuICAgICAgY29uc3QgYWxwaGEgPSBNYXRoLnBvdygwLjk5LCBpKTtcbiAgICAgIGNvbnN0IGJldGEgPSBNYXRoLm1heCgxIC0gYWxwaGEsIChpICsgMSkgLyBpdGVyYXRpb25zKTtcbiAgICAgIHJlbGF4UmlnaHRUb0xlZnQoY29sdW1ucywgYWxwaGEsIGJldGEpO1xuICAgICAgcmVsYXhMZWZ0VG9SaWdodChjb2x1bW5zLCBhbHBoYSwgYmV0YSk7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVwb3NpdGlvbiBlYWNoIG5vZGUgYmFzZWQgb24gaXRzIGluY29taW5nICh0YXJnZXQpIGxpbmtzLlxuICBmdW5jdGlvbiByZWxheExlZnRUb1JpZ2h0KGNvbHVtbnMsIGFscGhhLCBiZXRhKSB7XG4gICAgZm9yIChsZXQgaSA9IDEsIG4gPSBjb2x1bW5zLmxlbmd0aDsgaSA8IG47ICsraSkge1xuICAgICAgY29uc3QgY29sdW1uID0gY29sdW1uc1tpXTtcbiAgICAgIGZvciAoY29uc3QgdGFyZ2V0IG9mIGNvbHVtbikge1xuICAgICAgICBsZXQgeSA9IDA7XG4gICAgICAgIGxldCB3ID0gMDtcbiAgICAgICAgZm9yIChjb25zdCB7c291cmNlLCB2YWx1ZX0gb2YgdGFyZ2V0LnRhcmdldExpbmtzKSB7XG4gICAgICAgICAgbGV0IHYgPSB2YWx1ZSAqICh0YXJnZXQubGF5ZXIgLSBzb3VyY2UubGF5ZXIpO1xuICAgICAgICAgIHkgKz0gdGFyZ2V0VG9wKHNvdXJjZSwgdGFyZ2V0KSAqIHY7XG4gICAgICAgICAgdyArPSB2O1xuICAgICAgICB9XG4gICAgICAgIGlmICghKHcgPiAwKSkgY29udGludWU7XG4gICAgICAgIGxldCBkeSA9ICh5IC8gdyAtIHRhcmdldC55MCkgKiBhbHBoYTtcbiAgICAgICAgdGFyZ2V0LnkwICs9IGR5O1xuICAgICAgICB0YXJnZXQueTEgKz0gZHk7XG4gICAgICAgIHJlb3JkZXJOb2RlTGlua3ModGFyZ2V0KTtcbiAgICAgIH1cbiAgICAgIGlmIChzb3J0ID09PSB1bmRlZmluZWQpIGNvbHVtbi5zb3J0KGFzY2VuZGluZ0JyZWFkdGgpO1xuICAgICAgcmVzb2x2ZUNvbGxpc2lvbnMoY29sdW1uLCBiZXRhKTtcbiAgICB9XG4gIH1cblxuICAvLyBSZXBvc2l0aW9uIGVhY2ggbm9kZSBiYXNlZCBvbiBpdHMgb3V0Z29pbmcgKHNvdXJjZSkgbGlua3MuXG4gIGZ1bmN0aW9uIHJlbGF4UmlnaHRUb0xlZnQoY29sdW1ucywgYWxwaGEsIGJldGEpIHtcbiAgICBmb3IgKGxldCBuID0gY29sdW1ucy5sZW5ndGgsIGkgPSBuIC0gMjsgaSA+PSAwOyAtLWkpIHtcbiAgICAgIGNvbnN0IGNvbHVtbiA9IGNvbHVtbnNbaV07XG4gICAgICBmb3IgKGNvbnN0IHNvdXJjZSBvZiBjb2x1bW4pIHtcbiAgICAgICAgbGV0IHkgPSAwO1xuICAgICAgICBsZXQgdyA9IDA7XG4gICAgICAgIGZvciAoY29uc3Qge3RhcmdldCwgdmFsdWV9IG9mIHNvdXJjZS5zb3VyY2VMaW5rcykge1xuICAgICAgICAgIGxldCB2ID0gdmFsdWUgKiAodGFyZ2V0LmxheWVyIC0gc291cmNlLmxheWVyKTtcbiAgICAgICAgICB5ICs9IHNvdXJjZVRvcChzb3VyY2UsIHRhcmdldCkgKiB2O1xuICAgICAgICAgIHcgKz0gdjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoISh3ID4gMCkpIGNvbnRpbnVlO1xuICAgICAgICBsZXQgZHkgPSAoeSAvIHcgLSBzb3VyY2UueTApICogYWxwaGE7XG4gICAgICAgIHNvdXJjZS55MCArPSBkeTtcbiAgICAgICAgc291cmNlLnkxICs9IGR5O1xuICAgICAgICByZW9yZGVyTm9kZUxpbmtzKHNvdXJjZSk7XG4gICAgICB9XG4gICAgICBpZiAoc29ydCA9PT0gdW5kZWZpbmVkKSBjb2x1bW4uc29ydChhc2NlbmRpbmdCcmVhZHRoKTtcbiAgICAgIHJlc29sdmVDb2xsaXNpb25zKGNvbHVtbiwgYmV0YSk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gcmVzb2x2ZUNvbGxpc2lvbnMobm9kZXMsIGFscGhhKSB7XG4gICAgY29uc3QgaSA9IG5vZGVzLmxlbmd0aCA+PiAxO1xuICAgIGNvbnN0IHN1YmplY3QgPSBub2Rlc1tpXTtcbiAgICByZXNvbHZlQ29sbGlzaW9uc0JvdHRvbVRvVG9wKG5vZGVzLCBzdWJqZWN0LnkwIC0gcHksIGkgLSAxLCBhbHBoYSk7XG4gICAgcmVzb2x2ZUNvbGxpc2lvbnNUb3BUb0JvdHRvbShub2Rlcywgc3ViamVjdC55MSArIHB5LCBpICsgMSwgYWxwaGEpO1xuICAgIHJlc29sdmVDb2xsaXNpb25zQm90dG9tVG9Ub3Aobm9kZXMsIHkxLCBub2Rlcy5sZW5ndGggLSAxLCBhbHBoYSk7XG4gICAgcmVzb2x2ZUNvbGxpc2lvbnNUb3BUb0JvdHRvbShub2RlcywgeTAsIDAsIGFscGhhKTtcbiAgfVxuXG4gIC8vIFB1c2ggYW55IG92ZXJsYXBwaW5nIG5vZGVzIGRvd24uXG4gIGZ1bmN0aW9uIHJlc29sdmVDb2xsaXNpb25zVG9wVG9Cb3R0b20obm9kZXMsIHksIGksIGFscGhhKSB7XG4gICAgZm9yICg7IGkgPCBub2Rlcy5sZW5ndGg7ICsraSkge1xuICAgICAgY29uc3Qgbm9kZSA9IG5vZGVzW2ldO1xuICAgICAgY29uc3QgZHkgPSAoeSAtIG5vZGUueTApICogYWxwaGE7XG4gICAgICBpZiAoZHkgPiAxZS02KSBub2RlLnkwICs9IGR5LCBub2RlLnkxICs9IGR5O1xuICAgICAgeSA9IG5vZGUueTEgKyBweTtcbiAgICB9XG4gIH1cblxuICAvLyBQdXNoIGFueSBvdmVybGFwcGluZyBub2RlcyB1cC5cbiAgZnVuY3Rpb24gcmVzb2x2ZUNvbGxpc2lvbnNCb3R0b21Ub1RvcChub2RlcywgeSwgaSwgYWxwaGEpIHtcbiAgICBmb3IgKDsgaSA+PSAwOyAtLWkpIHtcbiAgICAgIGNvbnN0IG5vZGUgPSBub2Rlc1tpXTtcbiAgICAgIGNvbnN0IGR5ID0gKG5vZGUueTEgLSB5KSAqIGFscGhhO1xuICAgICAgaWYgKGR5ID4gMWUtNikgbm9kZS55MCAtPSBkeSwgbm9kZS55MSAtPSBkeTtcbiAgICAgIHkgPSBub2RlLnkwIC0gcHk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gcmVvcmRlck5vZGVMaW5rcyh7c291cmNlTGlua3MsIHRhcmdldExpbmtzfSkge1xuICAgIGlmIChsaW5rU29ydCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBmb3IgKGNvbnN0IHtzb3VyY2U6IHtzb3VyY2VMaW5rc319IG9mIHRhcmdldExpbmtzKSB7XG4gICAgICAgIHNvdXJjZUxpbmtzLnNvcnQoYXNjZW5kaW5nVGFyZ2V0QnJlYWR0aCk7XG4gICAgICB9XG4gICAgICBmb3IgKGNvbnN0IHt0YXJnZXQ6IHt0YXJnZXRMaW5rc319IG9mIHNvdXJjZUxpbmtzKSB7XG4gICAgICAgIHRhcmdldExpbmtzLnNvcnQoYXNjZW5kaW5nU291cmNlQnJlYWR0aCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gcmVvcmRlckxpbmtzKG5vZGVzKSB7XG4gICAgaWYgKGxpbmtTb3J0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGZvciAoY29uc3Qge3NvdXJjZUxpbmtzLCB0YXJnZXRMaW5rc30gb2Ygbm9kZXMpIHtcbiAgICAgICAgc291cmNlTGlua3Muc29ydChhc2NlbmRpbmdUYXJnZXRCcmVhZHRoKTtcbiAgICAgICAgdGFyZ2V0TGlua3Muc29ydChhc2NlbmRpbmdTb3VyY2VCcmVhZHRoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXR1cm5zIHRoZSB0YXJnZXQueTAgdGhhdCB3b3VsZCBwcm9kdWNlIGFuIGlkZWFsIGxpbmsgZnJvbSBzb3VyY2UgdG8gdGFyZ2V0LlxuICBmdW5jdGlvbiB0YXJnZXRUb3Aoc291cmNlLCB0YXJnZXQpIHtcbiAgICBsZXQgeSA9IHNvdXJjZS55MCAtIChzb3VyY2Uuc291cmNlTGlua3MubGVuZ3RoIC0gMSkgKiBweSAvIDI7XG4gICAgZm9yIChjb25zdCB7dGFyZ2V0OiBub2RlLCB3aWR0aH0gb2Ygc291cmNlLnNvdXJjZUxpbmtzKSB7XG4gICAgICBpZiAobm9kZSA9PT0gdGFyZ2V0KSBicmVhaztcbiAgICAgIHkgKz0gd2lkdGggKyBweTtcbiAgICB9XG4gICAgZm9yIChjb25zdCB7c291cmNlOiBub2RlLCB3aWR0aH0gb2YgdGFyZ2V0LnRhcmdldExpbmtzKSB7XG4gICAgICBpZiAobm9kZSA9PT0gc291cmNlKSBicmVhaztcbiAgICAgIHkgLT0gd2lkdGg7XG4gICAgfVxuICAgIHJldHVybiB5O1xuICB9XG5cbiAgLy8gUmV0dXJucyB0aGUgc291cmNlLnkwIHRoYXQgd291bGQgcHJvZHVjZSBhbiBpZGVhbCBsaW5rIGZyb20gc291cmNlIHRvIHRhcmdldC5cbiAgZnVuY3Rpb24gc291cmNlVG9wKHNvdXJjZSwgdGFyZ2V0KSB7XG4gICAgbGV0IHkgPSB0YXJnZXQueTAgLSAodGFyZ2V0LnRhcmdldExpbmtzLmxlbmd0aCAtIDEpICogcHkgLyAyO1xuICAgIGZvciAoY29uc3Qge3NvdXJjZTogbm9kZSwgd2lkdGh9IG9mIHRhcmdldC50YXJnZXRMaW5rcykge1xuICAgICAgaWYgKG5vZGUgPT09IHNvdXJjZSkgYnJlYWs7XG4gICAgICB5ICs9IHdpZHRoICsgcHk7XG4gICAgfVxuICAgIGZvciAoY29uc3Qge3RhcmdldDogbm9kZSwgd2lkdGh9IG9mIHNvdXJjZS5zb3VyY2VMaW5rcykge1xuICAgICAgaWYgKG5vZGUgPT09IHRhcmdldCkgYnJlYWs7XG4gICAgICB5IC09IHdpZHRoO1xuICAgIH1cbiAgICByZXR1cm4geTtcbiAgfVxuXG4gIHJldHVybiBzYW5rZXk7XG59XG4iXSwibmFtZXMiOlsibWF4IiwibWluIiwic3VtIiwianVzdGlmeSIsImNvbnN0YW50IiwiYXNjZW5kaW5nU291cmNlQnJlYWR0aCIsImEiLCJiIiwiYXNjZW5kaW5nQnJlYWR0aCIsInNvdXJjZSIsImluZGV4IiwiYXNjZW5kaW5nVGFyZ2V0QnJlYWR0aCIsInRhcmdldCIsInkwIiwidmFsdWUiLCJkIiwiZGVmYXVsdElkIiwiZGVmYXVsdE5vZGVzIiwiZ3JhcGgiLCJub2RlcyIsImRlZmF1bHRMaW5rcyIsImxpbmtzIiwiZmluZCIsIm5vZGVCeUlkIiwiaWQiLCJub2RlIiwiZ2V0IiwiRXJyb3IiLCJjb21wdXRlTGlua0JyZWFkdGhzIiwieTEiLCJsaW5rIiwic291cmNlTGlua3MiLCJ3aWR0aCIsInRhcmdldExpbmtzIiwiU2Fua2V5IiwieDAiLCJ4MSIsImR4IiwiZHkiLCJweSIsImFsaWduIiwic29ydCIsImxpbmtTb3J0IiwiaXRlcmF0aW9ucyIsInNhbmtleSIsImFwcGx5IiwiYXJndW1lbnRzIiwiY29tcHV0ZU5vZGVMaW5rcyIsImNvbXB1dGVOb2RlVmFsdWVzIiwiY29tcHV0ZU5vZGVEZXB0aHMiLCJjb21wdXRlTm9kZUhlaWdodHMiLCJjb21wdXRlTm9kZUJyZWFkdGhzIiwidXBkYXRlIiwibm9kZUlkIiwiXyIsImxlbmd0aCIsIm5vZGVBbGlnbiIsIm5vZGVTb3J0Iiwibm9kZVdpZHRoIiwibm9kZVBhZGRpbmciLCJzaXplIiwiZXh0ZW50IiwiaSIsImVudHJpZXMiLCJNYXAiLCJtYXAiLCJwdXNoIiwiZml4ZWRWYWx1ZSIsInVuZGVmaW5lZCIsIk1hdGgiLCJuIiwiY3VycmVudCIsIlNldCIsIm5leHQiLCJ4IiwiZGVwdGgiLCJhZGQiLCJoZWlnaHQiLCJjb21wdXRlTm9kZUxheWVycyIsImt4IiwiY29sdW1ucyIsIkFycmF5IiwiZmxvb3IiLCJjYWxsIiwibGF5ZXIiLCJjb2x1bW4iLCJpbml0aWFsaXplTm9kZUJyZWFkdGhzIiwia3kiLCJjIiwieSIsInJlb3JkZXJMaW5rcyIsImFscGhhIiwicG93IiwiYmV0YSIsInJlbGF4UmlnaHRUb0xlZnQiLCJyZWxheExlZnRUb1JpZ2h0IiwidyIsInYiLCJ0YXJnZXRUb3AiLCJyZW9yZGVyTm9kZUxpbmtzIiwicmVzb2x2ZUNvbGxpc2lvbnMiLCJzb3VyY2VUb3AiLCJzdWJqZWN0IiwicmVzb2x2ZUNvbGxpc2lvbnNCb3R0b21Ub1RvcCIsInJlc29sdmVDb2xsaXNpb25zVG9wVG9Cb3R0b20iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/d3-sankey/src/sankey.js\n");
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ "(ssr)/./node_modules/d3-sankey/src/sankeyLinkHorizontal.js":
|
|
|
/*!************************************************************!*\
|
|
|
!*** ./node_modules/d3-sankey/src/sankeyLinkHorizontal.js ***!
|
|
|
\************************************************************/
|
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var d3_shape__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-shape */ \"(ssr)/./node_modules/d3-sankey/node_modules/d3-shape/src/link/index.js\");\n\nfunction horizontalSource(d) {\n return [\n d.source.x1,\n d.y0\n ];\n}\nfunction horizontalTarget(d) {\n return [\n d.target.x0,\n d.y1\n ];\n}\n/* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__() {\n return (0,d3_shape__WEBPACK_IMPORTED_MODULE_0__.linkHorizontal)().source(horizontalSource).target(horizontalTarget);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvZDMtc2Fua2V5L3NyYy9zYW5rZXlMaW5rSG9yaXpvbnRhbC5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUF3QztBQUV4QyxTQUFTQyxpQkFBaUJDLENBQUM7SUFDekIsT0FBTztRQUFDQSxFQUFFQyxNQUFNLENBQUNDLEVBQUU7UUFBRUYsRUFBRUcsRUFBRTtLQUFDO0FBQzVCO0FBRUEsU0FBU0MsaUJBQWlCSixDQUFDO0lBQ3pCLE9BQU87UUFBQ0EsRUFBRUssTUFBTSxDQUFDQyxFQUFFO1FBQUVOLEVBQUVPLEVBQUU7S0FBQztBQUM1QjtBQUVBLDZCQUFlLHNDQUFXO0lBQ3hCLE9BQU9ULHdEQUFjQSxHQUNoQkcsTUFBTSxDQUFDRixrQkFDUE0sTUFBTSxDQUFDRDtBQUNkIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGNoYXQvLi9ub2RlX21vZHVsZXMvZDMtc2Fua2V5L3NyYy9zYW5rZXlMaW5rSG9yaXpvbnRhbC5qcz9jYzlkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7bGlua0hvcml6b250YWx9IGZyb20gXCJkMy1zaGFwZVwiO1xuXG5mdW5jdGlvbiBob3Jpem9udGFsU291cmNlKGQpIHtcbiAgcmV0dXJuIFtkLnNvdXJjZS54MSwgZC55MF07XG59XG5cbmZ1bmN0aW9uIGhvcml6b250YWxUYXJnZXQoZCkge1xuICByZXR1cm4gW2QudGFyZ2V0LngwLCBkLnkxXTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oKSB7XG4gIHJldHVybiBsaW5rSG9yaXpvbnRhbCgpXG4gICAgICAuc291cmNlKGhvcml6b250YWxTb3VyY2UpXG4gICAgICAudGFyZ2V0KGhvcml6b250YWxUYXJnZXQpO1xufVxuIl0sIm5hbWVzIjpbImxpbmtIb3Jpem9udGFsIiwiaG9yaXpvbnRhbFNvdXJjZSIsImQiLCJzb3VyY2UiLCJ4MSIsInkwIiwiaG9yaXpvbnRhbFRhcmdldCIsInRhcmdldCIsIngwIiwieTEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/d3-sankey/src/sankeyLinkHorizontal.js\n");
|
|
|
|
|
|
/***/ })
|
|
|
|
|
|
};
|
|
|
; |