32 lines
45 KiB
JavaScript
Executable File
32 lines
45 KiB
JavaScript
Executable File
/*
|
|
* 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/).
|
|
*/
|
|
/******/ (() => { // webpackBootstrap
|
|
/******/ var __webpack_modules__ = ({
|
|
|
|
/***/ "./resources/js/pages/chartjs.init.js":
|
|
/*!********************************************!*\
|
|
!*** ./resources/js/pages/chartjs.init.js ***!
|
|
\********************************************/
|
|
/***/ (() => {
|
|
|
|
eval("/*\nTemplate Name: Ubold - Responsive Bootstrap 4 Admin Dashboard\nAuthor: CoderThemes\nWebsite: https://coderthemes.com/\nContact: support@coderthemes.com\nFile: Chart js init\n*/\n!function ($) {\n \"use strict\";\n\n var ChartJs = function ChartJs() {\n this.$body = $(\"body\"), this.charts = [];\n };\n\n ChartJs.prototype.respChart = function (selector, type, data, options) {\n // get selector by context\n var ctx = selector.get(0).getContext(\"2d\"); // pointing parent container to make chart js inherit its width\n\n var container = $(selector).parent(); //default config\n\n Chart.defaults.global.defaultFontColor = \"#8391a2\";\n Chart.defaults.scale.gridLines.color = \"#8391a2\"; // this function produce the responsive Chart JS\n\n function generateChart() {\n // make chart width fit with its container\n var ww = selector.attr('width', $(container).width());\n var chart;\n\n switch (type) {\n case 'Line':\n chart = new Chart(ctx, {\n type: 'line',\n data: data,\n options: options\n });\n break;\n\n case 'Doughnut':\n chart = new Chart(ctx, {\n type: 'doughnut',\n data: data,\n options: options\n });\n break;\n\n case 'Pie':\n chart = new Chart(ctx, {\n type: 'pie',\n data: data,\n options: options\n });\n break;\n\n case 'Bar':\n chart = new Chart(ctx, {\n type: 'bar',\n data: data,\n options: options\n });\n break;\n\n case 'Radar':\n chart = new Chart(ctx, {\n type: 'radar',\n data: data,\n options: options\n });\n break;\n\n case 'PolarArea':\n chart = new Chart(ctx, {\n data: data,\n type: 'polarArea',\n options: options\n });\n break;\n }\n\n return chart;\n }\n\n ; // run function - render chart at first load\n\n return generateChart();\n }, // init various charts and returns\n ChartJs.prototype.initCharts = function () {\n var charts = [];\n var defaultColors = [\"#1abc9c\", \"#f1556c\", \"#4a81d4\", \"#e3eaef\"];\n\n if ($('#line-chart-example').length > 0) {\n var dataColors = $(\"#line-chart-example\").data('colors');\n var colors = dataColors ? dataColors.split(\",\") : defaultColors.concat();\n var lineChart = {\n labels: [\"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\", \"Sun\"],\n datasets: [{\n label: \"Current Week\",\n backgroundColor: hexToRGB(colors[0], 0.3),\n borderColor: colors[0],\n data: [32, 42, 42, 62, 52, 75, 62]\n }, {\n label: \"Previous Week\",\n fill: true,\n backgroundColor: 'transparent',\n borderColor: colors[1],\n borderDash: [5, 5],\n data: [42, 58, 66, 93, 82, 105, 92]\n }]\n };\n var lineOpts = {\n maintainAspectRatio: false,\n legend: {\n display: false\n },\n tooltips: {\n intersect: false\n },\n hover: {\n intersect: true\n },\n plugins: {\n filler: {\n propagate: false\n }\n },\n scales: {\n xAxes: [{\n reverse: true,\n gridLines: {\n color: \"rgba(0,0,0,0.05)\"\n }\n }],\n yAxes: [{\n ticks: {\n stepSize: 20\n },\n display: true,\n borderDash: [5, 5],\n gridLines: {\n color: \"rgba(0,0,0,0)\",\n fontColor: '#fff'\n }\n }]\n }\n };\n charts.push(this.respChart($(\"#line-chart-example\"), 'Line', lineChart, lineOpts));\n } //barchart\n\n\n if ($('#bar-chart-example').length > 0) {\n var dataColors = $(\"#bar-chart-example\").data('colors');\n var colors = dataColors ? dataColors.split(\",\") : defaultColors.concat();\n var barChart = {\n // labels: [\"01\", \"02\", \"03\", \"04\", \"05\", \"06\", \"07\", \"08\", \"09\", \"10\", \"11\", \"12\"],\n labels: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"],\n datasets: [{\n label: \"Sales Analytics\",\n backgroundColor: colors[0],\n borderColor: colors[0],\n hoverBackgroundColor: colors[0],\n hoverBorderColor: colors[0],\n data: [65, 59, 80, 81, 56, 89, 40, 32, 65, 59, 80, 81]\n }, {\n label: \"Dollar Rate\",\n backgroundColor: colors[1],\n borderColor: colors[1],\n hoverBackgroundColor: colors[1],\n hoverBorderColor: colors[1],\n data: [89, 40, 32, 65, 59, 80, 81, 56, 89, 40, 65, 59]\n }]\n };\n var barOpts = {\n maintainAspectRatio: false,\n legend: {\n display: false\n },\n scales: {\n yAxes: [{\n gridLines: {\n display: false\n },\n stacked: false,\n ticks: {\n stepSize: 20\n }\n }],\n xAxes: [{\n barPercentage: 0.7,\n categoryPercentage: 0.5,\n stacked: false,\n gridLines: {\n color: \"rgba(0,0,0,0.01)\"\n }\n }]\n }\n };\n charts.push(this.respChart($(\"#bar-chart-example\"), 'Bar', barChart, barOpts));\n }\n\n if ($('#pie-chart-example').length > 0) {\n var dataColors = $(\"#pie-chart-example\").data('colors');\n var colors = dataColors ? dataColors.split(\",\") : defaultColors.concat(); //pie chart\n\n var pieChart = {\n labels: [\"Direct\", \"Affilliate\", \"Sponsored\", \"E-mail\"],\n datasets: [{\n data: [300, 135, 48, 154],\n backgroundColor: colors,\n borderColor: \"transparent\"\n }]\n };\n var pieOpts = {\n maintainAspectRatio: false,\n legend: {\n display: false\n }\n };\n charts.push(this.respChart($(\"#pie-chart-example\"), 'Pie', pieChart, pieOpts));\n }\n\n if ($('#donut-chart-example').length > 0) {\n //donut chart\n var dataColors = $(\"#donut-chart-example\").data('colors');\n var colors = dataColors ? dataColors.split(\",\") : defaultColors.concat();\n var donutChart = {\n labels: [\"Direct\", \"Affilliate\", \"Sponsored\"],\n datasets: [{\n data: [128, 78, 48],\n backgroundColor: colors,\n borderColor: \"transparent\",\n borderWidth: \"3\"\n }]\n };\n var donutOpts = {\n maintainAspectRatio: false,\n cutoutPercentage: 60,\n legend: {\n display: false\n }\n };\n charts.push(this.respChart($(\"#donut-chart-example\"), 'Doughnut', donutChart, donutOpts));\n }\n\n if ($('#polar-chart-example').length > 0) {\n //Ploar chart\n var dataColors = $(\"#polar-chart-example\").data('colors');\n var colors = dataColors ? dataColors.split(\",\") : defaultColors.concat();\n var polarChart = {\n labels: [\"Direct\", \"Affilliate\", \"Sponsored\", \"E-mail\"],\n datasets: [{\n data: [251, 135, 48, 154],\n backgroundColor: colors,\n borderColor: \"transparent\"\n }]\n };\n charts.push(this.respChart($(\"#polar-chart-example\"), 'PolarArea', polarChart));\n }\n\n if ($('#radar-chart-example').length > 0) {\n var dataColors = $(\"#radar-chart-example\").data('colors');\n var colors = dataColors ? dataColors.split(\",\") : defaultColors.concat(); //radar chart\n\n var radarChart = {\n labels: [\"Eating\", \"Drinking\", \"Sleeping\", \"Designing\", \"Coding\", \"Cycling\", \"Running\"],\n datasets: [{\n label: \"Desktops\",\n backgroundColor: hexToRGB(colors[0], 0.3),\n borderColor: colors[0],\n pointBackgroundColor: colors[0],\n pointBorderColor: \"#fff\",\n pointHoverBackgroundColor: \"#fff\",\n pointHoverBorderColor: colors[0],\n data: [65, 59, 90, 81, 56, 55, 40]\n }, {\n label: \"Tablets\",\n backgroundColor: hexToRGB(colors[1], 0.3),\n borderColor: colors[1],\n pointBackgroundColor: colors[1],\n pointBorderColor: \"#fff\",\n pointHoverBackgroundColor: \"#fff\",\n pointHoverBorderColor: colors[1],\n data: [28, 48, 40, 19, 96, 27, 100]\n }]\n };\n var radarOpts = {\n maintainAspectRatio: false\n };\n charts.push(this.respChart($(\"#radar-chart-example\"), 'Radar', radarChart, radarOpts));\n }\n\n return charts;\n }, //initializing various components and plugins\n ChartJs.prototype.init = function () {\n var $this = this; // font\n\n Chart.defaults.global.defaultFontFamily = 'Nunito,sans-serif'; // init charts\n\n $this.charts = this.initCharts(); // enable resizing matter\n\n $(window).on('resize', function (e) {\n $.each($this.charts, function (index, chart) {\n try {\n chart.destroy();\n } catch (err) {}\n });\n $this.charts = $this.initCharts();\n });\n }, //init flotchart\n $.ChartJs = new ChartJs(), $.ChartJs.Constructor = ChartJs;\n}(window.jQuery), //initializing ChartJs\nfunction ($) {\n \"use strict\";\n\n $.ChartJs.init();\n}(window.jQuery);\n/* utility function */\n\nfunction hexToRGB(hex, alpha) {\n var r = parseInt(hex.slice(1, 3), 16),\n g = parseInt(hex.slice(3, 5), 16),\n b = parseInt(hex.slice(5, 7), 16);\n\n if (alpha) {\n return \"rgba(\" + r + \", \" + g + \", \" + b + \", \" + alpha + \")\";\n } else {\n return \"rgb(\" + r + \", \" + g + \", \" + b + \")\";\n }\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly91Ym9sZC1sYXJhdmVsLy4vcmVzb3VyY2VzL2pzL3BhZ2VzL2NoYXJ0anMuaW5pdC5qcz8zN2I5Il0sIm5hbWVzIjpbIiQiLCJDaGFydEpzIiwiJGJvZHkiLCJjaGFydHMiLCJwcm90b3R5cGUiLCJyZXNwQ2hhcnQiLCJzZWxlY3RvciIsInR5cGUiLCJkYXRhIiwib3B0aW9ucyIsImN0eCIsImdldCIsImdldENvbnRleHQiLCJjb250YWluZXIiLCJwYXJlbnQiLCJDaGFydCIsImRlZmF1bHRzIiwiZ2xvYmFsIiwiZGVmYXVsdEZvbnRDb2xvciIsInNjYWxlIiwiZ3JpZExpbmVzIiwiY29sb3IiLCJnZW5lcmF0ZUNoYXJ0Iiwid3ciLCJhdHRyIiwid2lkdGgiLCJjaGFydCIsImluaXRDaGFydHMiLCJkZWZhdWx0Q29sb3JzIiwibGVuZ3RoIiwiZGF0YUNvbG9ycyIsImNvbG9ycyIsInNwbGl0IiwiY29uY2F0IiwibGluZUNoYXJ0IiwibGFiZWxzIiwiZGF0YXNldHMiLCJsYWJlbCIsImJhY2tncm91bmRDb2xvciIsImhleFRvUkdCIiwiYm9yZGVyQ29sb3IiLCJmaWxsIiwiYm9yZGVyRGFzaCIsImxpbmVPcHRzIiwibWFpbnRhaW5Bc3BlY3RSYXRpbyIsImxlZ2VuZCIsImRpc3BsYXkiLCJ0b29sdGlwcyIsImludGVyc2VjdCIsImhvdmVyIiwicGx1Z2lucyIsImZpbGxlciIsInByb3BhZ2F0ZSIsInNjYWxlcyIsInhBeGVzIiwicmV2ZXJzZSIsInlBeGVzIiwidGlja3MiLCJzdGVwU2l6ZSIsImZvbnRDb2xvciIsInB1c2giLCJiYXJDaGFydCIsImhvdmVyQmFja2dyb3VuZENvbG9yIiwiaG92ZXJCb3JkZXJDb2xvciIsImJhck9wdHMiLCJzdGFja2VkIiwiYmFyUGVyY2VudGFnZSIsImNhdGVnb3J5UGVyY2VudGFnZSIsInBpZUNoYXJ0IiwicGllT3B0cyIsImRvbnV0Q2hhcnQiLCJib3JkZXJXaWR0aCIsImRvbnV0T3B0cyIsImN1dG91dFBlcmNlbnRhZ2UiLCJwb2xhckNoYXJ0IiwicmFkYXJDaGFydCIsInBvaW50QmFja2dyb3VuZENvbG9yIiwicG9pbnRCb3JkZXJDb2xvciIsInBvaW50SG92ZXJCYWNrZ3JvdW5kQ29sb3IiLCJwb2ludEhvdmVyQm9yZGVyQ29sb3IiLCJyYWRhck9wdHMiLCJpbml0IiwiJHRoaXMiLCJkZWZhdWx0Rm9udEZhbWlseSIsIndpbmRvdyIsIm9uIiwiZSIsImVhY2giLCJpbmRleCIsImRlc3Ryb3kiLCJlcnIiLCJDb25zdHJ1Y3RvciIsImpRdWVyeSIsImhleCIsImFscGhhIiwiciIsInBhcnNlSW50Iiwic2xpY2UiLCJnIiwiYiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQSxDQUFFLFVBQVVBLENBQVYsRUFBYTtBQUNYOztBQUVBLE1BQUlDLE9BQU8sR0FBRyxTQUFWQSxPQUFVLEdBQVk7QUFDdEIsU0FBS0MsS0FBTCxHQUFhRixDQUFDLENBQUMsTUFBRCxDQUFkLEVBQ0ksS0FBS0csTUFBTCxHQUFjLEVBRGxCO0FBRUgsR0FIRDs7QUFLQUYsRUFBQUEsT0FBTyxDQUFDRyxTQUFSLENBQWtCQyxTQUFsQixHQUE4QixVQUFVQyxRQUFWLEVBQW9CQyxJQUFwQixFQUEwQkMsSUFBMUIsRUFBZ0NDLE9BQWhDLEVBQXlDO0FBRW5FO0FBQ0EsUUFBSUMsR0FBRyxHQUFHSixRQUFRLENBQUNLLEdBQVQsQ0FBYSxDQUFiLEVBQWdCQyxVQUFoQixDQUEyQixJQUEzQixDQUFWLENBSG1FLENBSW5FOztBQUNBLFFBQUlDLFNBQVMsR0FBR2IsQ0FBQyxDQUFDTSxRQUFELENBQUQsQ0FBWVEsTUFBWixFQUFoQixDQUxtRSxDQU9uRTs7QUFDQUMsSUFBQUEsS0FBSyxDQUFDQyxRQUFOLENBQWVDLE1BQWYsQ0FBc0JDLGdCQUF0QixHQUF5QyxTQUF6QztBQUNBSCxJQUFBQSxLQUFLLENBQUNDLFFBQU4sQ0FBZUcsS0FBZixDQUFxQkMsU0FBckIsQ0FBK0JDLEtBQS9CLEdB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Z0NDLENBQWhDLEdBQW9DLElBQXBDLEdBQTJDTCxLQUEzQyxHQUFtRCxHQUExRDtBQUNILEdBRkQsTUFFTztBQUNILFdBQU8sU0FBU0MsQ0FBVCxHQUFhLElBQWIsR0FBb0JHLENBQXBCLEdBQXdCLElBQXhCLEdBQStCQyxDQUEvQixHQUFtQyxHQUExQztBQUNIO0FBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuVGVtcGxhdGUgTmFtZTogVWJvbGQgLSBSZXNwb25zaXZlIEJvb3RzdHJhcCA0IEFkbWluIERhc2hib2FyZFxuQXV0aG9yOiBDb2RlclRoZW1lc1xuV2Vic2l0ZTogaHR0cHM6Ly9jb2RlcnRoZW1lcy5jb20vXG5Db250YWN0OiBzdXBwb3J0QGNvZGVydGhlbWVzLmNvbVxuRmlsZTogQ2hhcnQganMgaW5pdFxuKi9cblxuISBmdW5jdGlvbiAoJCkge1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgdmFyIENoYXJ0SnMgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuJGJvZHkgPSAkKFwiYm9keVwiKSxcbiAgICAgICAgICAgIHRoaXMuY2hhcnRzID0gW11cbiAgICB9O1xuXG4gICAgQ2hhcnRKcy5wcm90b3R5cGUucmVzcENoYXJ0ID0gZnVuY3Rpb24gKHNlbGVjdG9yLCB0eXBlLCBkYXRhLCBvcHRpb25zKSB7XG5cbiAgICAgICAgLy8gZ2V0IHNlbGVjdG9yIGJ5IGNvbnRleHRcbiAgICAgICAgdmFyIGN0eCA9IHNlbGVjdG9yLmdldCgwKS5nZXRDb250ZXh0KFwiMmRcIik7XG4gICAgICAgIC8vIHBvaW50aW5nIHBhcmVudCBjb250YWluZXIgdG8gbWFrZSBjaGFydCBqcyBpbmhlcml0IGl0cyB3aWR0aFxuICAgICAgICB2YXIgY29udGFpbmVyID0gJChzZWxlY3RvcikucGFyZW50KCk7XG5cbiAgICAgICAgLy9kZWZhdWx0IGNvbmZpZ1xuICAgICAgICBDaGFydC5kZWZhdWx0cy5nbG9iYWwuZGVmYXVsdEZvbnRDb2xvciA9IFwiIzgzOTFhMlwiO1xuICAgICAgICBDaGFydC5kZWZhdWx0cy5zY2FsZS5ncmlkTGluZXMuY29sb3IgPSBcIiM4MzkxYTJcIjtcblxuICAgICAgICAvLyB0aGlzIGZ1bmN0aW9uIHByb2R1Y2UgdGhlIHJlc3BvbnNpdmUgQ2hhcnQgSlNcbiAgICAgICAgZnVuY3Rpb24gZ2VuZXJhdGVDaGFydCgpIHtcbiAgICAgICAgICAgIC8vIG1ha2UgY2hhcnQgd2lkdGggZml0IHdpdGggaXRzIGNvbnRhaW5lclxuICAgICAgICAgICAgdmFyIHd3ID0gc2VsZWN0b3IuYXR0cignd2lkdGgnLCAkKGNvbnRhaW5lcikud2lkdGgoKSk7XG4gICAgICAgICAgICB2YXIgY2hhcnQ7XG4gICAgICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdMaW5lJzpcbiAgICAgICAgICAgICAgICAgICAgY2hhcnQgPSBuZXcgQ2hhcnQoY3R4LCB7IHR5cGU6ICdsaW5lJywgZGF0YTogZGF0YSwgb3B0aW9uczogb3B0aW9ucyB9KTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnRG91Z2hudXQnOlxuICAgICAgICAgICAgICAgICAgICBjaGFydCA9IG5ldyBDaGFydChjdHgsIHsgdHlwZTogJ2RvdWdobnV0JywgZGF0YTogZGF0YSwgb3B0aW9uczogb3B0aW9ucyB9KTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnUGllJzpcbiAgICAgICAgICAgICAgICAgICAgY2hhcnQgPSBuZXcgQ2hhcnQoY3R4LCB7IHR5cGU6ICdwaWUnLCBkYXRhOiBkYXRhLCBvcHRpb25zOiBvcHRpb25zIH0pO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdCYXInOlxuICAgICAgICAgICAgICAgICAgICBjaGFydCA9IG5ldyBDaGFydChjdHgsIHsgdHlwZTogJ2JhcicsIGRhdGE6IGRhdGEsIG9wdGlvbnM6IG9wdGlvbnMgfSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ1JhZGFyJzpcbiAgICAgICAgICAgICAgICAgICAgY2hhcnQgPSBuZXcgQ2hhcnQoY3R4LCB7IHR5cGU6ICdyYWRhcicsIGRhdGE6IGRhdGEsIG9wdGlvbnM6IG9wdGlvbnMgfSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ1BvbGFyQXJlYSc6XG4gICAgICAgICAgICAgICAgICAgIGNoYXJ0ID0gbmV3IENoYXJ0KGN0eCwgeyBkYXRhOiBkYXRhLCB0eXBlOiAncG9sYXJBcmVhJywgb3B0aW9uczogb3B0aW9ucyB9KTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY2hhcnQ7XG4gICAgICAgIH07XG4gICAgICAgIC8vIHJ1biBmdW5jdGlvbiAtIHJlbmRlciBjaGFydCBhdCBmaXJzdCBsb2FkXG4gICAgICAgIHJldHVybiBnZW5lcmF0ZUNoYXJ0KCk7XG4gICAgfSxcbiAgICAgICAgLy8gaW5pdCB2YXJpb3VzIGNoYXJ0cyBhbmQgcmV0dXJuc1xuICAgICAgICBDaGFydEpzLnByb3RvdHlwZS5pbml0Q2hhcnRzID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIGNoYXJ0cyA9IFtdO1xuICAgICAgICAgICAgdmFyIGRlZmF1bHRDb2xvcnMgPSBbXCIjMWFiYzljXCIsIFwiI2YxNTU2Y1wiLCBcIiM0YTgxZDRcIiwgXCIjZTNlYWVmXCJdO1xuXG4gICAgICAgICAgICBpZiAoJCgnI2xpbmUtY2hhcnQtZXhhbXBsZScpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICB2YXIgZGF0YUNvbG9ycyA9ICQoXCIjbGluZS1jaGFydC1leGFtcGxlXCIpLmRhdGEoJ2NvbG9ycycpO1xuICAgICAgICAgICAgICAgIHZhciBjb2xvcnMgPSBkYXRhQ29sb3JzPyBkYXRhQ29sb3JzLnNwbGl0KFwiLFwiKSA6IGRlZmF1bHRDb2xvcnMuY29uY2F0KCk7XG5cbiAgICAgICAgICAgICAgICB2YXIgbGluZUNoYXJ0ID0ge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbHM6IFtcIk1vblwiLCBcIlR1ZVwiLCBcIldlZFwiLCBcIlRodVwiLCBcIkZyaVwiLCBcIlNhdFwiLCBcIlN1blwiXSxcbiAgICAgICAgICAgICAgICAgICAgZGF0YXNldHM6IFt7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXCJDdXJyZW50IFdlZWtcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogaGV4VG9SR0IoY29sb3JzWzBdLCAwLjMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyQ29sb3I6IGNvbG9yc1swXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IFszMiwgNDIsIDQyLCA2MiwgNTIsIDc1LCA2Ml1cbiAgICAgICAgICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwiUHJldmlvdXMgV2Vla1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3RyYW5zcGFyZW50JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlckNvbG9yOiBjb2xvcnNbMV0sXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXJEYXNoOiBbNSwgNV0sXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBbNDIsIDU4LCA2NiwgOTMsIDgyLCAxMDUsIDkyXVxuICAgICAgICAgICAgICAgICAgICB9XVxuICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICB2YXIgbGluZU9wdHMgPSB7XG4gICAgICAgICAgICAgICAgICAgIG1haW50YWluQXNwZWN0UmF0aW86IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBsZWdlbmQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHRvb2x0aXBzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbnRlcnNlY3Q6IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGhvdmVyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbnRlcnNlY3Q6IHRydWVcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcGx1Z2luczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbGVyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGFnYXRlOiBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBzY2FsZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHhBeGVzOiBbe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldmVyc2U6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZExpbmVzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBcInJnYmEoMCwwLDAsMC4wNSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1dLFxuICAgICAgICAgICAgICAgICAgICAgICAgeUF4ZXM6IFt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGlja3M6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RlcFNpemU6IDIwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlckRhc2g6IFs1LCA1XSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkTGluZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IFwicmdiYSgwLDAsMCwwKVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250Q29sb3I6ICcjZmZmJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1dXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNoYXJ0cy5wdXNoKHRoaXMucmVzcENoYXJ0KCQoXCIjbGluZS1jaGFydC1leGFtcGxlXCIpLCAnTGluZScsIGxpbmVDaGFydCwgbGluZU9wdHMpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy9iYXJjaGFydFxuICAgICAgICAgICAgaWYgKCQoJyNiYXItY2hhcnQtZXhhbXBsZScpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICB2YXIgZGF0YUNvbG9ycyA9ICQoXCIjYmFyLWNoYXJ0LWV4YW1wbGVcIikuZGF0YSgnY29sb3JzJyk7XG4gICAgICAgICAgICAgICAgdmFyIGNvbG9ycyA9IGRhdGFDb2xvcnM/IGRhdGFDb2xvcnMuc3BsaXQoXCIsXCIpIDogZGVmYXVsdENvbG9ycy5jb25jYXQoKTtcblxuICAgICAgICAgICAgICAgIHZhciBiYXJDaGFydCA9IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gbGFiZWxzOiBbXCIwMVwiLCBcIjAyXCIsIFwiMDNcIiwgXCIwNFwiLCBcIjA1XCIsIFwiMDZcIiwgXCIwN1wiLCBcIjA4XCIsIFwiMDlcIiwgXCIxMFwiLCBcIjExXCIsIFwiMTJcIl0sXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsczogW1wiSmFuXCIsIFwiRmViXCIsIFwiTWFyXCIsIFwiQXByXCIsIFwiTWF5XCIsIFwiSnVuXCIsIFwiSnVsXCIsIFwiQXVnXCIsIFwiU2VwXCIsIFwiT2N0XCIsIFwiTm92XCIsIFwiRGVjXCJdLFxuICAgICAgICAgICAgICAgICAgICBkYXRhc2V0czogW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIlNhbGVzIEFuYWx5dGljc1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogY29sb3JzWzBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlckNvbG9yOiBjb2xvcnNbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaG92ZXJCYWNrZ3JvdW5kQ29sb3I6IGNvbG9yc1swXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBob3ZlckJvcmRlckNvbG9yOiBjb2xvcnNbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogWzY1LCA1OSwgODAsIDgxLCA1NiwgODksIDQwLCAzMiwgNjUsIDU5LCA4MCwgODFdXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIkRvbGxhciBSYXRlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvcnNbMV0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyQ29sb3I6IGNvbG9yc1sxXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBob3ZlckJhY2tncm91bmRDb2xvcjogY29sb3JzWzFdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhvdmVyQm9yZGVyQ29sb3I6IGNvbG9yc1sxXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBbODksIDQwLCAzMiwgNjUsIDU5LCA4MCwgODEsIDU2LCA4OSwgNDAsIDY1LCA1OV1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgdmFyIGJhck9wdHMgPSB7XG4gICAgICAgICAgICAgICAgICAgIG1haW50YWluQXNwZWN0UmF0aW86IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBsZWdlbmQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHNjYWxlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgeUF4ZXM6IFt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZExpbmVzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFja2VkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aWNrczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVwU2l6ZTogMjBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHhBeGVzOiBbe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhclBlcmNlbnRhZ2U6IDAuNyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXRlZ29yeVBlcmNlbnRhZ2U6IDAuNSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFja2VkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkTGluZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IFwicmdiYSgwLDAsMCwwLjAxKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfV1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICBjaGFydHMucHVzaCh0aGlzLnJlc3BDaGFydCgkKFwiI2Jhci1jaGFydC1leGFtcGxlXCIpLCAnQmFyJywgYmFyQ2hhcnQsIGJhck9wdHMpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCQoJyNwaWUtY2hhcnQtZXhhbXBsZScpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICB2YXIgZGF0YUNvbG9ycyA9ICQoXCIjcGllLWNoYXJ0LWV4YW1wbGVcIikuZGF0YSgnY29sb3JzJyk7XG4gICAgICAgICAgICAgICAgdmFyIGNvbG9ycyA9IGRhdGFDb2xvcnM/IGRhdGFDb2xvcnMuc3BsaXQoXCIsXCIpIDogZGVmYXVsdENvbG9ycy5jb25jYXQoKTtcbiAgICAgICAgICAgICAgICAvL3BpZSBjaGFydFxuICAgICAgICAgICAgICAgIHZhciBwaWVDaGFydCA9IHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWxzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICBcIkRpcmVjdFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJBZmZpbGxpYXRlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlNwb25zb3JlZFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJFLW1haWxcIlxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICBkYXRhc2V0czogW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IFszMDAsIDEzNSwgNDgsIDE1NF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvcnMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyQ29sb3I6IFwidHJhbnNwYXJlbnRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgdmFyIHBpZU9wdHMgPSB7XG4gICAgICAgICAgICAgICAgICAgIG1haW50YWluQXNwZWN0UmF0aW86IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBsZWdlbmQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNoYXJ0cy5wdXNoKHRoaXMucmVzcENoYXJ0KCQoXCIjcGllLWNoYXJ0LWV4YW1wbGVcIiksICdQaWUnLCBwaWVDaGFydCwgcGllT3B0cykpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoJCgnI2RvbnV0LWNoYXJ0LWV4YW1wbGUnKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgLy9kb251dCBjaGFydFxuICAgICAgICAgICAgICAgIHZhciBkYXRhQ29sb3JzID0gJChcIiNkb251dC1jaGFydC1leGFtcGxlXCIpLmRhdGEoJ2NvbG9ycycpO1xuICAgICAgICAgICAgICAgIHZhciBjb2xvcnMgPSBkYXRhQ29sb3JzPyBkYXRhQ29sb3JzLnNwbGl0KFwiLFwiKSA6IGRlZmF1bHRDb2xvcnMuY29uY2F0KCk7XG4gICAgICAgICAgICAgICAgdmFyIGRvbnV0Q2hhcnQgPSB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgXCJEaXJlY3RcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiQWZmaWxsaWF0ZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJTcG9uc29yZWRcIlxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICBkYXRhc2V0czogW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IFsxMjgsIDc4LCA0OF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvcnMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyQ29sb3I6IFwidHJhbnNwYXJlbnRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXJXaWR0aDogXCIzXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB9XVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgdmFyIGRvbnV0T3B0cyA9IHtcbiAgICAgICAgICAgICAgICAgICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGN1dG91dFBlcmNlbnRhZ2U6IDYwLFxuICAgICAgICAgICAgICAgICAgICBsZWdlbmQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNoYXJ0cy5wdXNoKHRoaXMucmVzcENoYXJ0KCQoXCIjZG9udXQtY2hhcnQtZXhhbXBsZVwiKSwgJ0RvdWdobnV0JywgZG9udXRDaGFydCwgZG9udXRPcHRzKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICgkKCcjcG9sYXItY2hhcnQtZXhhbXBsZScpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAvL1Bsb2FyIGNoYXJ0XG4gICAgICAgICAgICAgICAgdmFyIGRhdGFDb2xvcnMgPSAkKFwiI3BvbGFyLWNoYXJ0LWV4YW1wbGVcIikuZGF0YSgnY29sb3JzJyk7XG4gICAgICAgICAgICAgICAgdmFyIGNvbG9ycyA9IGRhdGFDb2xvcnM/IGRhdGFDb2xvcnMuc3BsaXQoXCIsXCIpIDogZGVmYXVsdENvbG9ycy5jb25jYXQoKTtcbiAgICAgICAgICAgICAgICB2YXIgcG9sYXJDaGFydCA9IHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWxzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICBcIkRpcmVjdFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJBZmZpbGxpYXRlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlNwb25zb3JlZFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJFLW1haWxcIlxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICBkYXRhc2V0czogW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IFsyNTEsIDEzNSwgNDgsIDE1NF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvcnMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyQ29sb3I6IFwidHJhbnNwYXJlbnRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY2hhcnRzLnB1c2godGhpcy5yZXNwQ2hhcnQoJChcIiNwb2xhci1jaGFydC1leGFtcGxlXCIpLCAnUG9sYXJBcmVhJywgcG9sYXJDaGFydCkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoJCgnI3JhZGFyLWNoYXJ0LWV4YW1wbGUnKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgdmFyIGRhdGFDb2xvcnMgPSAkKFwiI3JhZGFyLWNoYXJ0LWV4YW1wbGVcIikuZGF0YSgnY29sb3JzJyk7XG4gICAgICAgICAgICAgICAgdmFyIGNvbG9ycyA9IGRhdGFDb2xvcnM/IGRhdGFDb2xvcnMuc3BsaXQoXCIsXCIpIDogZGVmYXVsdENvbG9ycy5jb25jYXQoKTtcbiAgICAgICAgICAgICAgICAvL3JhZGFyIGNoYXJ0XG4gICAgICAgICAgICAgICAgdmFyIHJhZGFyQ2hhcnQgPSB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsczogW1wiRWF0aW5nXCIsIFwiRHJpbmtpbmdcIiwgXCJTbGVlcGluZ1wiLCBcIkRlc2lnbmluZ1wiLCBcIkNvZGluZ1wiLCBcIkN5Y2xpbmdcIiwgXCJSdW5uaW5nXCJdLFxuICAgICAgICAgICAgICAgICAgICBkYXRhc2V0czogW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIkRlc2t0b3BzXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBoZXhUb1JHQihjb2xvcnNbMF0sIDAuMyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyQ29sb3I6IGNvbG9yc1swXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludEJhY2tncm91bmRDb2xvcjogY29sb3JzWzBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50Qm9yZGVyQ29sb3I6IFwiI2ZmZlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50SG92ZXJCYWNrZ3JvdW5kQ29sb3I6IFwiI2ZmZlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50SG92ZXJCb3JkZXJDb2xvcjogY29sb3JzWzBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IFs2NSwgNTksIDkwLCA4MSwgNTYsIDU1LCA0MF1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwiVGFibGV0c1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogaGV4VG9SR0IoY29sb3JzWzFdLCAwLjMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlckNvbG9yOiBjb2xvcnNbMV0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRCYWNrZ3JvdW5kQ29sb3I6IGNvbG9yc1sxXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludEJvcmRlckNvbG9yOiBcIiNmZmZcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludEhvdmVyQmFja2dyb3VuZENvbG9yOiBcIiNmZmZcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludEhvdmVyQm9yZGVyQ29sb3I6IGNvbG9yc1sxXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBbMjgsIDQ4LCA0MCwgMTksIDk2LCAyNywgMTAwXVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB2YXIgcmFkYXJPcHRzID0ge1xuICAgICAgICAgICAgICAgICAgICBtYWludGFpbkFzcGVjdFJhdGlvOiBmYWxzZVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY2hhcnRzLnB1c2godGhpcy5yZXNwQ2hhcnQoJChcIiNyYWRhci1jaGFydC1leGFtcGxlXCIpLCAnUmFkYXInLCByYWRhckNoYXJ0LCByYWRhck9wdHMpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBjaGFydHM7XG4gICAgICAgIH0sXG4gICAgICAgIC8vaW5pdGlhbGl6aW5nIHZhcmlvdXMgY29tcG9uZW50cyBhbmQgcGx1Z2luc1xuICAgICAgICBDaGFydEpzLnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyICR0aGlzID0gdGhpcztcbiAgICAgICAgICAgIC8vIGZvbnRcbiAgICAgICAgICAgIENoYXJ0LmRlZmF1bHRzLmdsb2JhbC5kZWZhdWx0Rm9udEZhbWlseSA9ICdOdW5pdG8sc2Fucy1zZXJpZic7XG5cbiAgICAgICAgICAgIC8vIGluaXQgY2hhcnRzXG4gICAgICAgICAgICAkdGhpcy5jaGFydHMgPSB0aGlzLmluaXRDaGFydHMoKTtcblxuICAgICAgICAgICAgLy8gZW5hYmxlIHJlc2l6aW5nIG1hdHRlclxuICAgICAgICAgICAgJCh3aW5kb3cpLm9uKCdyZXNpemUnLCBmdW5jdGlvbiAoZSkge1xuICAgICAgICAgICAgICAgICQuZWFjaCgkdGhpcy5jaGFydHMsIGZ1bmN0aW9uIChpbmRleCwgY2hhcnQpIHtcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoYXJ0LmRlc3Ryb3koKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAkdGhpcy5jaGFydHMgPSAkdGhpcy5pbml0Q2hhcnRzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSxcblxuICAgICAgICAvL2luaXQgZmxvdGNoYXJ0XG4gICAgICAgICQuQ2hhcnRKcyA9IG5ldyBDaGFydEpzLCAkLkNoYXJ0SnMuQ29uc3RydWN0b3IgPSBDaGFydEpzXG59KHdpbmRvdy5qUXVlcnkpLFxuXG4vL2luaXRpYWxpemluZyBDaGFydEpzXG5mdW5jdGlvbiAoJCkge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgICQuQ2hhcnRKcy5pbml0KClcbn0od2luZG93LmpRdWVyeSk7XG5cbi8qIHV0aWxpdHkgZnVuY3Rpb24gKi9cblxuZnVuY3Rpb24gaGV4VG9SR0IoaGV4LCBhbHBoYSkge1xuICAgIHZhciByID0gcGFyc2VJbnQoaGV4LnNsaWNlKDEsIDMpLCAxNiksXG4gICAgICAgIGcgPSBwYXJzZUludChoZXguc2xpY2UoMywgNSksIDE2KSxcbiAgICAgICAgYiA9IHBhcnNlSW50KGhleC5zbGljZSg1LCA3KSwgMTYpO1xuXG4gICAgaWYgKGFscGhhKSB7XG4gICAgICAgIHJldHVybiBcInJnYmEoXCIgKyByICsgXCIsIFwiICsgZyArIFwiLCBcIiArIGIgKyBcIiwgXCIgKyBhbHBoYSArIFwiKVwiO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBcInJnYihcIiArIHIgKyBcIiwgXCIgKyBnICsgXCIsIFwiICsgYiArIFwiKVwiO1xuICAgIH1cbn1cbiJdLCJmaWxlIjoiLi9yZXNvdXJjZXMvanMvcGFnZXMvY2hhcnRqcy5pbml0LmpzLmpzIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./resources/js/pages/chartjs.init.js\n");
|
|
|
|
/***/ })
|
|
|
|
/******/ });
|
|
/************************************************************************/
|
|
/******/
|
|
/******/ // startup
|
|
/******/ // Load entry module and return exports
|
|
/******/ // This entry module can't be inlined because the eval-source-map devtool is used.
|
|
/******/ var __webpack_exports__ = {};
|
|
/******/ __webpack_modules__["./resources/js/pages/chartjs.init.js"]();
|
|
/******/
|
|
/******/ })()
|
|
; |