@agorapulse/ui-charts 2.2.17 → 13.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agorapulse-ui-charts-13.0.1.tgz +0 -0
- package/agorapulse-ui-charts.d.ts +1 -0
- package/{esm2015/agorapulse-ui-charts.js → esm2020/agorapulse-ui-charts.mjs} +0 -0
- package/{esm2015/index.js → esm2020/index.mjs} +0 -0
- package/esm2020/src/lib/agorapulse-ui-charts.module.mjs +60 -0
- package/esm2020/src/lib/chart-bar/chart-bar-options.model.mjs +80 -0
- package/esm2020/src/lib/chart-bar/chart-bar.component.mjs +58 -0
- package/{esm2015/src/lib/chart-colors.js → esm2020/src/lib/chart-colors.mjs} +3 -2
- package/esm2020/src/lib/chart-column/chart-column-options.model.mjs +104 -0
- package/esm2020/src/lib/chart-column/chart-column.component.mjs +59 -0
- package/{esm2015/src/lib/chart-heatmap/chart-heatmap-options.model.js → esm2020/src/lib/chart-heatmap/chart-heatmap-options.model.mjs} +0 -0
- package/esm2020/src/lib/chart-heatmap/chart-heatmap.component.mjs +55 -0
- package/{esm2015/src/lib/chart-metric.js → esm2020/src/lib/chart-metric.mjs} +0 -0
- package/esm2020/src/lib/chart-metrics-list/chart-metrics-list.component.mjs +23 -0
- package/{esm2015/src/lib/chart-options.js → esm2020/src/lib/chart-options.mjs} +0 -0
- package/esm2020/src/lib/chart-pie/chart-pie-options.model.mjs +121 -0
- package/esm2020/src/lib/chart-pie/chart-pie.component.mjs +56 -0
- package/esm2020/src/lib/chart-spline/chart-spline-options.model.mjs +24 -0
- package/esm2020/src/lib/chart-spline/chart-spline.component.mjs +53 -0
- package/{esm2015/src/lib/highchart-series.model.js → esm2020/src/lib/highchart-series.model.mjs} +0 -0
- package/{esm2015/src/lib/highcharts-border-radius-plugin.js → esm2020/src/lib/highcharts-border-radius-plugin.mjs} +0 -0
- package/fesm2015/agorapulse-ui-charts.mjs +1088 -0
- package/fesm2015/agorapulse-ui-charts.mjs.map +1 -0
- package/fesm2020/agorapulse-ui-charts.mjs +1089 -0
- package/fesm2020/agorapulse-ui-charts.mjs.map +1 -0
- package/package.json +26 -13
- package/src/lib/agorapulse-ui-charts.module.d.ts +13 -0
- package/src/lib/chart-bar/chart-bar.component.d.ts +4 -1
- package/src/lib/chart-colors.d.ts +1 -0
- package/src/lib/chart-column/chart-column.component.d.ts +4 -1
- package/src/lib/chart-heatmap/chart-heatmap.component.d.ts +3 -0
- package/src/lib/chart-metrics-list/chart-metrics-list.component.d.ts +3 -0
- package/src/lib/chart-pie/chart-pie.component.d.ts +3 -0
- package/src/lib/chart-spline/chart-spline-options.model.d.ts +1 -1
- package/src/lib/chart-spline/chart-spline.component.d.ts +3 -0
- package/agorapulse-ui-charts-2.2.17.tgz +0 -0
- package/agorapulse-ui-charts.metadata.json +0 -1
- package/bundles/agorapulse-ui-charts.umd.js +0 -1378
- package/bundles/agorapulse-ui-charts.umd.js.map +0 -1
- package/esm2015/src/lib/agorapulse-ui-charts.module.js +0 -39
- package/esm2015/src/lib/chart-bar/chart-bar-options.model.js +0 -77
- package/esm2015/src/lib/chart-bar/chart-bar.component.js +0 -52
- package/esm2015/src/lib/chart-column/chart-column-options.model.js +0 -103
- package/esm2015/src/lib/chart-column/chart-column.component.js +0 -54
- package/esm2015/src/lib/chart-heatmap/chart-heatmap.component.js +0 -50
- package/esm2015/src/lib/chart-metrics-list/chart-metrics-list.component.js +0 -21
- package/esm2015/src/lib/chart-pie/chart-pie-options.model.js +0 -55
- package/esm2015/src/lib/chart-pie/chart-pie.component.js +0 -51
- package/esm2015/src/lib/chart-spline/chart-spline-options.model.js +0 -24
- package/esm2015/src/lib/chart-spline/chart-spline.component.js +0 -54
- package/fesm2015/agorapulse-ui-charts.js +0 -981
- package/fesm2015/agorapulse-ui-charts.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agorapulse-ui-charts.umd.js","sources":["../../../libs/ui-charts/src/lib/highcharts-border-radius-plugin.ts","../../../node_modules/tslib/tslib.es6.js","../../../libs/ui-charts/src/lib/chart-colors.ts","../../../libs/ui-charts/src/lib/chart-options.ts","../../../libs/ui-charts/src/lib/chart-bar/chart-bar-options.model.ts","../../../libs/ui-charts/src/lib/chart-bar/chart-bar.component.ts","../../../libs/ui-charts/src/lib/chart-column/chart-column-options.model.ts","../../../libs/ui-charts/src/lib/chart-column/chart-column.component.ts","../../../libs/ui-charts/src/lib/chart-metric.ts","../../../libs/ui-charts/src/lib/chart-metrics-list/chart-metrics-list.component.ts","../../../libs/ui-charts/src/lib/chart-heatmap/chart-heatmap-options.model.ts","../../../libs/ui-charts/src/lib/chart-heatmap/chart-heatmap.component.ts","../../../libs/ui-charts/src/lib/chart-spline/chart-spline-options.model.ts","../../../libs/ui-charts/src/lib/chart-spline/chart-spline.component.ts","../../../libs/ui-charts/src/lib/chart-pie/chart-pie-options.model.ts","../../../libs/ui-charts/src/lib/chart-pie/chart-pie.component.ts","../../../libs/ui-charts/src/lib/agorapulse-ui-charts.module.ts","../../../libs/ui-charts/index.ts","../../../libs/ui-charts/agorapulse-ui-charts.ts"],"sourcesContent":["export const borderRadiusPlugin = function (H) {\n if (H.borderRadiusPlugininitialized) {\n return;\n }\n H.borderRadiusPlugininitialized = true;\n\n H.wrap(H.seriesTypes.column.prototype, 'translate', function (proceed) {\n const options = this.options;\n const topMargin = options.topMargin || 0;\n const bottomMargin = options.bottomMargin || 0;\n const borderRadiusTopLeftSettings = options.borderRadiusTopLeft;\n const borderRadiusTopRightSettings = options.borderRadiusTopRight;\n const borderRadiusBottomLeftSettings = options.borderRadiusBottomLeft;\n const borderRadiusBottomRightSettings = options.borderRadiusBottomRight;\n\n proceed.call(this);\n\n if (!this.points) {\n return;\n }\n this.points.forEach(function (point) {\n\n if (borderRadiusTopLeftSettings || borderRadiusTopRightSettings || borderRadiusBottomLeftSettings || borderRadiusBottomRightSettings) {\n const w = point.shapeArgs.width;\n const h = point.shapeArgs.height;\n const x = point.shapeArgs.x;\n const y = point.shapeArgs.y;\n const borderRadiusTopLeft = (borderRadiusTopLeftSettings && borderRadiusTopLeftSettings.length) ? borderRadiusTopLeftSettings[point.index] : borderRadiusTopLeftSettings || 0;\n const borderRadiusTopRight = (borderRadiusTopRightSettings && borderRadiusTopRightSettings.length) ? borderRadiusTopRightSettings[point.index] : borderRadiusTopRightSettings || 0;\n const borderRadiusBottomLeft = (borderRadiusBottomLeftSettings && borderRadiusBottomLeftSettings.length) ? borderRadiusBottomLeftSettings[point.index] : borderRadiusBottomLeftSettings || 0;\n const borderRadiusBottomRight = (borderRadiusBottomRightSettings && borderRadiusBottomRightSettings.length) ? borderRadiusBottomRightSettings[point.index] : borderRadiusBottomRightSettings || 0;\n\n let radiusTopLeft = H.relativeLength(borderRadiusTopLeft, w);\n let radiusTopRight = H.relativeLength(borderRadiusTopRight, w);\n let radiusBottomRight = H.relativeLength(borderRadiusBottomRight, w);\n let radiusBottomLeft = H.relativeLength(borderRadiusBottomLeft, w);\n\n const maxR = Math.min(w, h) / 2;\n\n radiusTopLeft = radiusTopLeft > maxR ? maxR : radiusTopLeft;\n radiusTopRight = radiusTopRight > maxR ? maxR : radiusTopRight;\n radiusBottomRight = radiusBottomRight > maxR ? maxR : radiusBottomRight;\n radiusBottomLeft = radiusBottomLeft > maxR ? maxR : radiusBottomLeft;\n\n point.dlBox = point.shapeArgs;\n\n point.shapeType = 'path';\n point.shapeArgs = {\n d: [\n 'M', x + radiusTopLeft, y + topMargin,\n 'L', x + w - radiusTopRight, y + topMargin,\n 'C', x + w - radiusTopRight / 2, y, x + w, y + radiusTopRight / 2, x + w, y + radiusTopRight,\n 'L', x + w, y + h - radiusBottomRight,\n 'C', x + w, y + h - radiusBottomRight / 2, x + w - radiusBottomRight / 2, y + h, x + w - radiusBottomRight, y + h + bottomMargin,\n 'L', x + radiusBottomLeft, y + h + bottomMargin,\n 'C', x + radiusBottomLeft / 2, y + h, x, y + h - radiusBottomLeft / 2, x, y + h - radiusBottomLeft,\n 'L', x, y + radiusTopLeft,\n 'C', x, y + radiusTopLeft / 2, x + radiusTopLeft / 2, y, x + radiusTopLeft, y,\n 'Z'\n ]\n };\n }\n\n });\n });\n};\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","export enum ChartColor {\n Grey,\n Orange,\n SoftBlue,\n ElectricBlue,\n Purple,\n Green,\n}\n\nexport class ChartColors {\n\n static readonly SOFT_BLUE_COLORS = {\n '10': '#EFF5FC',\n '20': '#DFEDFA',\n '40': '#C0DBF4',\n '60': '#A0C8EF',\n '85': '#78B1E8',\n '100': '#61A4E4'\n };\n static readonly ELECTRIC_BLUE_COLORS = {\n '10': '#e8f4ff',\n '20': '#d1e8ff',\n '40': '#a2d1ff',\n '60': '#74bbfe',\n '85': '#3a9efe',\n '100': '#178dfe'\n };\n static readonly ORANGE_COLORS = {\n '10': '#FFEFE9',\n '20': '#FFE1D4',\n '40': '#FFC2A8',\n '60': '#FFA47D',\n '85': '#FF7E46',\n '100': '#FF6726'\n };\n static readonly GREEN_COLORS = {\n '10': '#ECF7ED',\n '20': '#DAF1DD',\n '40': '#B5E3BB',\n '60': '#8FD498',\n '85': '#61C26D',\n '100': '#45B854'\n };\n static readonly PURPLE_COLORS = {\n '10': '#EFEDF8',\n '20': '#E0DDF2',\n '40': '#C1BBE6',\n '60': '#A398D9',\n '85': '#7C6DC9',\n '100': '#6554C0'\n };\n static readonly GREY_COLORS = {\n '10': '#EAECEF',\n '20': '#D6DAE0',\n '40': '#AEB5C1',\n '60': '#858FA1',\n '85': '#5D6A82',\n '100': '#344563'\n };\n\n static readonly BLACK_COLOR: string = '#000000';\n static readonly LIMIT_COLOR: string = '#E81313';\n static readonly WHITE_COLOR: string = '#FFFFFF';\n\n static getChartColors(color: ChartColor): { [shade: string]: string } {\n switch (color) {\n case ChartColor.Orange:\n return this.ORANGE_COLORS;\n case ChartColor.SoftBlue:\n return this.SOFT_BLUE_COLORS;\n case ChartColor.ElectricBlue:\n return this.ELECTRIC_BLUE_COLORS;\n case ChartColor.Purple:\n return this.PURPLE_COLORS;\n case ChartColor.Green:\n return this.GREEN_COLORS;\n default:\n return this.GREY_COLORS;\n }\n }\n\n static getColors(seriesCount: number, color: ChartColor): string[] {\n let colors = this.getChartColors(color);\n switch (seriesCount) {\n case 1:\n return [colors[100]];\n case 2:\n return [colors[40], colors[100]];\n case 3:\n return [colors[20], colors[60], colors[100]];\n case 4:\n return [colors[20], colors[40], colors[60], colors[100]];\n case 5:\n return [colors[10], colors[20], colors[40], colors[60], colors[100]];\n default:\n return [colors[20], colors[40], colors[60], colors[100]];\n }\n }\n}\n","import {dateFormat, Options, SeriesOptionsType} from 'highcharts';\nimport {ChartColor, ChartColors} from './chart-colors';\n\nexport class ChartOptions {\n\n static readonly DEFAULT_DATE_FORMAT: string = '%A, %b %e, %Y';\n static readonly DEFAULT_OPTIONS: Options = {\n /*lang: {\n decimalPoint: (manager && manager.locale !== 'en') ? ',' : '.',\n resetZoom: resetZoomLabel,\n resetZoomTitle: resetZoomHtmlTitle,\n shortMonths: [\n shortJanuary, shortFebruary, shortMarch, shortApril, shortMay, shortJune,\n shortJuly, shortAugust, shortSeptember, shortOctober, shortNovember, shortDecember\n ],\n thousandsSep: (manager && manager.locale !== 'en') ? ' ' : ',',\n weekdays: this.weekDays,\n zoomIn: zoomInHtmlTitle,\n zoomOut: zoomOutHtmlTitle\n },*/\n chart: {\n spacingRight: 20,\n zoomType: 'xy',\n panning: {\n enabled: true\n },\n panKey: 'shift',\n style: {\n fontFamily: 'Averta, \\'Open Sans\\', Helvetica, sans-serif'\n },\n resetZoomButton: {\n theme: {\n fill: ChartColors.WHITE_COLOR,\n r: 4,\n style: {\n color: ChartColors.GREY_COLORS[100],\n fontSize: '12px'\n },\n states: {\n hover: {\n fill: ChartColors.GREY_COLORS[5]\n }\n }\n }\n }\n },\n colorAxis: {\n labels: {\n style: {\n color: ChartColors.GREY_COLORS[60]\n }\n }\n },\n credits: {\n enabled: false\n },\n legend: {\n borderWidth: 0,\n itemStyle: {\n color: ChartColors.GREY_COLORS[60],\n fontSize: '14px',\n fontWeight: 'normal'\n },\n itemHoverStyle: {\n color: ChartColors.GREY_COLORS[100],\n fontWeight: 'bold'\n }\n },\n plotOptions: {\n series: {\n states: {\n hover: {\n brightness: 0\n }\n },\n connectNulls: true,\n lineWidth: 4\n }\n },\n navigation: {\n buttonOptions: {\n y: 0\n }\n },\n title: {\n text: null\n },\n tooltip: {\n backgroundColor: ChartColors.WHITE_COLOR,\n borderRadius: 4,\n borderWidth: 0,\n dateTimeLabelFormats: {\n day: ChartOptions.DEFAULT_DATE_FORMAT,\n week: ChartOptions.DEFAULT_DATE_FORMAT\n },\n shadow: {\n color: ChartColors.BLACK_COLOR,\n offsetX: 0,\n offsetY: 2,\n opacity: 0.02,\n width: 6\n },\n split: false,\n shared: true,\n useHTML: true,\n headerFormat: `<div style=\"border-bottom: 1px solid ${ChartColors.GREY_COLORS[10]}; padding: 0 8px 7px\">`\n + `<span style=\"font-size: 12px; color: ${ChartColors.GREY_COLORS[60]}\">{point.key}</span></div>`,\n pointFormat: `<div style=\"font-size: 14px; color: ${ChartColors.GREY_COLORS[100]}; margin: 6px 8px 0 8px;\">`\n + '<span style=\"color:{point.color}\">\\u25CF</span> {series.name}: <b>{point.y}</b></div>'\n },\n xAxis: {\n gridLineColor: ChartColors.GREY_COLORS[10],\n lineColor: ChartColors.GREY_COLORS[10],\n tickColor: ChartColors.GREY_COLORS[10],\n gridLineWidth: 1,\n title: {\n text: null\n },\n labels: {\n style: {\n color: ChartColors.GREY_COLORS[40],\n fontSize: '12px'\n }\n }\n },\n yAxis: {\n allowDecimals: false,\n gridLineColor: ChartColors.GREY_COLORS[10],\n lineColor: ChartColors.GREY_COLORS[10],\n gridLineWidth: 1,\n title: {\n text: null\n },\n labels: {\n style: {\n color: ChartColors.GREY_COLORS[40],\n fontSize: '12px'\n }\n }\n }\n };\n\n static build(options: Options): Options {\n return mergeDeep(ChartOptions.DEFAULT_OPTIONS, options);\n }\n\n static configure(series: SeriesOptionsType[],\n options: Options,\n color: ChartColor,\n labelDateFormat?: string) {\n // Configure axis\n options.xAxis = mergeDeep({\n labels: {\n formatter: function(): string {\n return dateFormat(labelDateFormat ? labelDateFormat : '%m/%d', this.value);\n }\n },\n //minTickInterval: 24 * 60 * 60 * 1000 // One day\n }, options.xAxis);\n // Configure series\n if (series && series.length) {\n options.series = series;\n options.legend.enabled = series.length >= 2;\n options.colors = ChartColors.getColors(series.length, color);\n }\n }\n}\n\nexport function isObject(item) {\n return (item && typeof item === 'object' && !Array.isArray(item));\n}\n\nexport function mergeDeep(target, source) {\n let output = deepCopy(target);\n if (isObject(target) && isObject(source)) {\n Object.keys(source).forEach(key => {\n if (isObject(source[key])) {\n if (!(key in target))\n Object.assign(output, {[key]: source[key]});\n else\n output[key] = mergeDeep(target[key], source[key]);\n } else {\n Object.assign(output, {[key]: source[key]});\n }\n });\n }\n return output;\n}\n\nfunction deepCopy(source) {\n if (typeof source !== \"object\" || source === null) {\n return source // Return the value if source is not an object\n }\n // Create an array or object to hold the values\n const newObject = Array.isArray(source) ? [] : {}\n for (let key in source) {\n if (source.hasOwnProperty(key)) {\n // Recursively (deep) copy for nested objects, including arrays\n newObject[key] = deepCopy(source[key])\n }\n }\n return newObject\n}\n","import {ChartOptions, mergeDeep} from '../chart-options';\nimport {Options, SeriesBarOptions, XAxisOptions, YAxisOptions} from 'highcharts';\nimport {PlotRoundedSeriesOptions, SeriesRoundedBarOptions} from \"./../highchart-series.model\";\nimport {ChartColor} from './../chart-colors';\n\nexport class ChartBarOptions extends ChartOptions {\n\n static build(options: Options): Options {\n const seriesOptions: PlotRoundedSeriesOptions = {\n borderRadiusTopLeft: 100,\n borderRadiusTopRight: 100,\n borderWidth: 0\n };\n const defaultColumnOptions: Options = {\n chart: {\n type: 'bar'\n },\n xAxis: {\n categories: undefined,\n gridLineWidth: 0,\n lineWidth: 0,\n reversed: false,\n tickWidth: 0,\n labels: {\n align: 'center',\n formatter: function () {\n if (this.value && this.value.toString().length > 16) {\n return this.value.toString().substring(0, 15) + \"...\";\n }\n return this.value.toString()\n },\n style: {\n width: 100\n }\n },\n type: 'category'\n },\n yAxis: {\n type: 'linear',\n minTickInterval: 1\n },\n plotOptions: {\n bar: {\n maxPointWidth: 18,\n pointWidth: 20\n },\n series: seriesOptions\n }\n };\n return super.build(mergeDeep(defaultColumnOptions, options));\n }\n\n static configureBar(series: SeriesBarOptions[],\n categories: string[],\n options: Options,\n opposite: boolean,\n color: ChartColor,\n labelDateFormat?: string) {\n ChartOptions.configure(series, options, color, labelDateFormat);\n if (categories && categories.length) {\n (options.xAxis as XAxisOptions).categories = categories;\n }\n if (opposite && series.length === 2) {\n const negativeSerie = (series[0] as SeriesRoundedBarOptions);\n negativeSerie.borderRadiusBottomLeft = 100;\n negativeSerie.borderRadiusBottomRight = 100;\n negativeSerie.borderRadiusTopLeft = 0;\n negativeSerie.borderRadiusTopRight = 0;\n negativeSerie.data = negativeSerie.data.map((point: any) => {\n if (point && isNaN(point)) {\n return {\n ...point,\n y: -Math.abs(point.y)\n };\n } else if (!isNaN(point)) {\n return -Math.abs(point);\n }\n return point;\n })\n options.plotOptions.series.stacking = 'normal';\n (options.yAxis as YAxisOptions).labels.formatter = function () {\n return Math.abs(this.value) + '%';\n }\n options.tooltip.pointFormatter = function () {\n return `<div style=\"font-size: 14px; color: #344563; margin: 6px 8px 0 8px;\"><span style=\"color:${this.color};\">\\u25CF</span> ${this.series.name}: <b>${Math.abs(this.y) + '%'}</b></div>`;\n }\n }\n }\n}\n","import {AfterViewChecked, Component, ElementRef, Input, OnChanges, SimpleChanges, ViewChild} from '@angular/core';\nimport {Chart, Options, SeriesBarOptions} from 'highcharts';\nimport {ChartBarOptions} from './chart-bar-options.model';\nimport {ChartColor} from \"../chart-colors\";\n\n@Component({\n selector: 'ap-chart-bar',\n templateUrl: './chart-bar.component.html',\n styleUrls: ['./chart-bar.component.scss']\n})\nexport class ChartBarComponent implements AfterViewChecked, OnChanges {\n\n @ViewChild('chart') chartRef: ElementRef;\n\n @Input() categories: string[] = [];\n @Input() chartOptions: Options = {}; // https://api.highcharts.com/highcharts/\n @Input() color: ChartColor = ChartColor.ElectricBlue;\n @Input() labelDateFormat: string;\n @Input() opposite: boolean;\n @Input() series: SeriesBarOptions[];\n\n private chart: Chart;\n private lastWidth = 0;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.series && !changes.series.firstChange) || (changes.color && !changes.color.firstChange)) {\n this.initChart();\n }\n }\n\n ngAfterViewChecked() {\n if (this.chartRef && this.chartRef.nativeElement.clientWidth != this.lastWidth) {\n this.lastWidth = this.chartRef.nativeElement.clientWidth;\n if (this.chart) {\n this.chart.reflow();\n } else if (this.series && this.series.length) {\n this.initChart();\n }\n }\n }\n\n initChart() {\n if (this.series) {\n this.chartOptions = ChartBarOptions.build(this.chartOptions);\n ChartBarOptions.configureBar(this.series, this.categories, this.chartOptions, this.opposite, this.color, this.labelDateFormat);\n this.chart = new Chart(this.chartRef.nativeElement, this.chartOptions);\n }\n }\n}\n","import {ChartOptions, mergeDeep} from '../chart-options';\nimport {Chart, dateFormat, Options, Series} from 'highcharts';\nimport {SeriesRoundedColumnOptions} from '../highchart-series.model';\n\nexport class ChartColumnOptions extends ChartOptions {\n\n static buildColumn(options: Options, simple: boolean): Options {\n const defaultColumnOptions: Options = {\n chart: {\n type: 'column'\n },\n legend: {\n symbolHeight: 10\n },\n plotOptions: {\n column: {\n stacking: 'normal',\n borderWidth: 0,\n maxPointWidth: 20,\n events: {\n hide: function () {\n ChartColumnOptions.redrawWithRoundedColumns(this.chart);\n },\n show: function () {\n ChartColumnOptions.redrawWithRoundedColumns(this.chart);\n }\n }\n }\n },\n xAxis: {\n type: 'datetime'\n }\n };\n const simpleColumnOptions: Options = {\n chart: {\n type: 'column',\n height: '80px'\n },\n credits: {\n enabled: false\n },\n plotOptions: {\n column: {\n events: {\n hide: function () {\n ChartColumnOptions.redrawWithRoundedColumns(this.chart);\n },\n show: function () {\n ChartColumnOptions.redrawWithRoundedColumns(this.chart);\n }\n },\n }\n },\n xAxis: {\n type: 'datetime',\n crosshair: true,\n labels: {\n enabled: false,\n formatter: function () {\n return dateFormat('%m/%d', this.value);\n }\n },\n lineWidth: 0,\n tickWidth: 0,\n gridLineWidth: 0\n },\n yAxis: {\n min: 0,\n labels: {\n enabled: false\n },\n gridLineWidth: 0\n }\n };\n return super.build(mergeDeep(simple ? simpleColumnOptions : defaultColumnOptions, options));\n }\n\n static redrawWithRoundedColumns(chart: Chart) {\n chart.series.map((serie, serieIndex: number, arr) => {\n ChartColumnOptions.roundSerie(arr, serie.options as SeriesRoundedColumnOptions, serieIndex);\n });\n chart.redraw(true);\n }\n\n static roundSerie(series: Series[], serie: SeriesRoundedColumnOptions, serieIndex: number): void {\n const roundedOptionMap = [];\n let borderRadius = 0;\n if (serie.data) {\n serie.data.forEach((point, columnIndex) => {\n // Check if all previous stacked data at the same abscissa (located higher on the graph) are missing or have a value of 0\n // if so, it means that this point is the visual top of the column, so we should round it\n const roundedColumnEnabled = series.slice(0, serieIndex)\n .every(otherSerie => {\n if (otherSerie.visible === false) {\n return true;\n }\n const pointAtSameAbscissa = (otherSerie.options as SeriesRoundedColumnOptions).data.find(otherPoint => otherPoint[0] === point[0])\n return !pointAtSameAbscissa || pointAtSameAbscissa[1] === 0;\n });\n borderRadius = roundedColumnEnabled ? 100 : 0;\n roundedOptionMap[columnIndex] = borderRadius;\n });\n serie.borderRadiusTopLeft = roundedOptionMap;\n serie.borderRadiusTopRight = roundedOptionMap;\n }\n }\n}\n","import {AfterViewChecked, Component, ElementRef, Input, OnChanges, SimpleChanges, ViewChild} from '@angular/core';\nimport {ChartColumnOptions} from './chart-column-options.model';\nimport {ChartColor} from \"../chart-colors\";\nimport {Chart, Options, SeriesColumnOptions} from 'highcharts';\n\n@Component({\n selector: 'ap-chart-column',\n templateUrl: './chart-column.component.html',\n styleUrls: ['./chart-column.component.scss']\n})\nexport class ChartColumnComponent implements AfterViewChecked, OnChanges {\n\n @ViewChild('chart') chartRef: ElementRef;\n\n @Input() chartOptions: Options = {}; // https://api.highcharts.com/highcharts/\n @Input() color: ChartColor = ChartColor.ElectricBlue;\n @Input() labelDateFormat: string;\n @Input() series: SeriesColumnOptions[];\n @Input() simple: boolean = false;\n\n private chart: Chart;\n private lastWidth = 0;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.series && !changes.series.firstChange) || (changes.color && !changes.color.firstChange)) {\n this.initChart();\n }\n }\n\n ngAfterViewChecked() {\n if (this.chartRef && this.chartRef.nativeElement.clientWidth != this.lastWidth) {\n this.lastWidth = this.chartRef.nativeElement.clientWidth;\n if (this.chart) {\n this.chart.reflow();\n } else if (this.series && this.series.length) {\n this.initChart();\n }\n }\n }\n\n initChart() {\n if (this.series) {\n this.chartOptions = ChartColumnOptions.buildColumn(this.chartOptions, this.simple);\n ChartColumnOptions.configure(this.series, this.chartOptions, this.color, this.labelDateFormat);\n this.chart = new Chart(this.chartRef.nativeElement, this.chartOptions);\n if (this.chart) {\n ChartColumnOptions.redrawWithRoundedColumns(this.chart);\n }\n }\n }\n}\n","export enum ChartMetricType {\n default,\n total\n}\n\nexport class ChartMetric {\n\n children?: ChartMetric[];\n name: string;\n type?: ChartMetricType;\n value: number;\n\n}\n","import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\nimport {ChartMetric, ChartMetricType} from '../chart-metric';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: \"ap-chart-metrics-list\",\n styleUrls: ['chart-metrics-list.component.scss'],\n templateUrl: 'chart-metrics-list.component.html'\n})\nexport class ChartMetricsListComponent {\n\n @Input() metrics: ChartMetric[];\n @Input() locale: string;\n\n ChartMetricType = ChartMetricType;\n digitsInfo: string = '1.0-1';\n\n}\n","import {ChartOptions, mergeDeep} from '../chart-options';\nimport * as Highcharts from 'highcharts';\nimport {ChartColors} from '../chart-colors';\n\nexport class ChartHeatmapOptions extends ChartOptions {\n\n static build(options: Highcharts.Options): Highcharts.Options {\n const defaultHeatmapOptions: Highcharts.Options = {\n chart: {\n type: 'heatmap',\n height: 600\n },\n colorAxis: {\n allowDecimals: false,\n gridLineWidth: 2,\n gridLineColor: 'white',\n min: 0,\n labels: {\n style: {\n fontSize: '12px'\n }\n }\n },\n legend: {\n enabled: false\n },\n plotOptions: {\n heatmap: {\n borderColor: ChartColors.GREY_COLORS[10],\n borderWidth: 1,\n nullColor: 'white'\n }\n },\n tooltip: {\n headerFormat: '',\n pointFormat: `<div style=\"border-bottom: 1px solid ${ChartColors.GREY_COLORS[10]}; padding: 0 8px 7px\">`\n + `<span style=\"font-size: 12px; color: ${ChartColors.GREY_COLORS[60]}\">{point.tooltipHeaderLabel}</span></div>`\n + `<div style=\"font-size: 14px; color: ${ChartColors.GREY_COLORS[100]}; margin: 6px 8px 0 8px;\">`\n + `<span style=\"color:{point.color}\">\\u25CF</span> {series.name}: <b>{point.value}</b></div>`,\n },\n xAxis: {\n labels: {\n formatter: function () {\n return this.value.toString();\n }\n },\n lineWidth: 1,\n tickWidth: 0,\n visible: true\n },\n yAxis: {\n lineWidth: 0,\n tickInterval: 3,\n reversed: true,\n visible: true\n }\n };\n return super.build(mergeDeep(defaultHeatmapOptions, options));\n }\n\n static configureHeatmap(categoriesX: string[],\n categoriesY: string[],\n series: Highcharts.SeriesOptionsType[],\n options: Highcharts.Options,\n labelDateFormat?: string) {\n super.configure(series, options, null, labelDateFormat);\n if (categoriesX && categoriesX.length) {\n (options.xAxis as Highcharts.XAxisOptions).categories = categoriesX;\n }\n if (categoriesY && categoriesY.length) {\n (options.yAxis as Highcharts.YAxisOptions).categories = categoriesY;\n }\n }\n}\n","import {AfterViewChecked, Component, ElementRef, Input, OnChanges, SimpleChanges, ViewChild} from '@angular/core';\nimport {mapChart, Options, SeriesHeatmapOptions} from 'highcharts/highmaps';\nimport {ChartHeatmapOptions} from './chart-heatmap-options.model';\n\n@Component({\n selector: 'ap-chart-heatmap',\n templateUrl: './chart-heatmap.component.html',\n styleUrls: ['./chart-heatmap.component.scss']\n})\nexport class ChartHeatmapComponent implements AfterViewChecked, OnChanges {\n\n @ViewChild('chart') chartRef: ElementRef;\n\n @Input() categoriesX: string[] = [];\n @Input() categoriesY: string[] = [];\n @Input() chartOptions: Options = {}; // https://api.highcharts.com/highcharts/\n @Input() labelDateFormat: string;\n @Input() series: SeriesHeatmapOptions[];\n\n private chart;\n private lastWidth = 0;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.series && !changes.series.firstChange)) {\n this.initChart();\n }\n }\n\n ngAfterViewChecked() {\n if (this.chartRef && this.chartRef.nativeElement.clientWidth != this.lastWidth) {\n this.lastWidth = this.chartRef.nativeElement.clientWidth;\n if (this.chart) {\n this.chart.reflow();\n } else if (this.series && this.series.length) {\n this.initChart();\n }\n }\n }\n\n private initChart() {\n if (this.series) {\n this.chartOptions = ChartHeatmapOptions.build(this.chartOptions);\n ChartHeatmapOptions.configureHeatmap(this.categoriesX, this.categoriesY, this.series, this.chartOptions, this.labelDateFormat);\n mapChart(this.chartRef.nativeElement, this.chartOptions);\n }\n }\n\n}\n","import {ChartOptions, mergeDeep} from '../chart-options';\nimport {Options} from 'highcharts';\n\nexport class ChartSplineOptions extends ChartOptions {\n\n static build(options: Options): Options {\n const defaultSplineOptions: Options = {\n chart: {\n type: 'spline'\n },\n plotOptions: {\n series: {\n marker: {\n enabled: false,\n radius: 2,\n symbol: 'circle'\n }\n }\n },\n xAxis: {\n type: 'datetime'\n }\n };\n return super.build(mergeDeep(defaultSplineOptions, options));\n }\n\n}\n","import {AfterViewChecked, Component, ElementRef, Input, OnChanges, SimpleChanges, ViewChild} from '@angular/core';\nimport {ChartSplineOptions} from './chart-spline-options.model';\nimport {ChartColor} from '../chart-colors';\nimport {Chart, Options, SeriesSplineOptions} from 'highcharts';\n\n@Component({\n selector: 'ap-chart-spline',\n templateUrl: './chart-spline.component.html',\n styleUrls: ['./chart-spline.component.scss']\n})\nexport class ChartSplineComponent implements AfterViewChecked, OnChanges {\n\n @ViewChild('chart') chartRef: ElementRef;\n\n @Input() chartOptions: Options = {}; // https://api.highcharts.com/highcharts/\n @Input() color: ChartColor = ChartColor.ElectricBlue;\n @Input() labelDateFormat: string;\n @Input() series: SeriesSplineOptions[];\n\n private chart: Chart;\n private lastWidth = 0;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.series && !changes.series.firstChange) || (changes.color && !changes.color.firstChange)) {\n this.initChart();\n }\n }\n\n ngAfterViewChecked(): void {\n if (this.chartRef && this.chartRef.nativeElement.clientWidth !== this.lastWidth) {\n this.lastWidth = this.chartRef.nativeElement.clientWidth;\n if (this.chart) {\n this.chart.reflow();\n } else if (this.series && this.series.length) {\n this.initChart();\n }\n }\n }\n\n private initChart(): void {\n if (this.series) {\n this.chartOptions = ChartSplineOptions.build(this.chartOptions);\n if (this.series[0].data?.length === 1) {\n this.chartOptions.plotOptions.series.marker.enabled = true;\n this.chartOptions.plotOptions.series.marker.radius = 5;\n }\n ChartSplineOptions.configure(this.series, this.chartOptions, this.color, this.labelDateFormat);\n this.chart = new Chart(this.chartRef.nativeElement, this.chartOptions);\n }\n }\n\n}\n","import {ChartOptions, mergeDeep} from '../chart-options';\nimport {Options, SeriesPieOptions} from 'highcharts';\nimport {ChartColor, ChartColors} from './../chart-colors';\n\nexport class ChartPieOptions extends ChartOptions {\n\n static buildPie(options: Options, innerLabels: boolean): Options {\n const defaultPieOptions: Options = {\n chart: {\n type: 'pie',\n plotBackgroundColor: null,\n plotBorderWidth: null,\n plotShadow: false\n },\n plotOptions: {\n pie: {\n dataLabels: {\n distance: innerLabels ? -40 : 30,\n useHTML: true\n },\n innerSize: '50%'\n },\n series: {\n allowPointSelect: !innerLabels,\n dataLabels: innerLabels ? {\n format: '{point.percentage:.1f}%',\n style: {\n fontSize: '16px',\n color: 'white',\n textOutline: '0'\n }\n } : {\n style: {\n fontSize: '12px',\n color: ChartColors.GREY_COLORS[60]\n }\n },\n showInLegend: innerLabels\n }\n },\n legend: innerLabels ? {\n symbolHeight: 10,\n enabled: true\n } : {}\n };\n return super.build(mergeDeep(defaultPieOptions, options));\n }\n\n static configurePie(series: SeriesPieOptions[],\n options: Options,\n color: ChartColor,\n labelDateFormat: string,\n innerLabels: boolean) {\n super.configure(series, options, color, labelDateFormat);\n if (innerLabels) {\n options.legend.enabled = true;\n }\n if (series && series.length > 0 && series[0]) {\n options.colors = ChartColors.getColors((series[0] as SeriesPieOptions).data.length, color);\n }\n\n }\n}\n\n","import {AfterViewChecked, Component, ElementRef, Input, OnChanges, SimpleChanges, ViewChild} from '@angular/core';\nimport {ChartPieOptions} from './chart-pie-options.model';\nimport {ChartColor} from '../chart-colors';\nimport {Chart, Options, SeriesPieOptions} from 'highcharts';\n\n@Component({\n selector: 'ap-chart-pie',\n templateUrl: './chart-pie.component.html',\n styleUrls: ['./chart-pie.component.scss']\n})\nexport class ChartPieComponent implements AfterViewChecked, OnChanges {\n\n @ViewChild('chart') chartRef: ElementRef;\n\n @Input() chartOptions: Options = {}; // https://api.highcharts.com/highcharts/\n @Input() color: ChartColor = ChartColor.ElectricBlue;\n @Input() innerLabels = false;\n @Input() labelDateFormat: string;\n @Input() series: SeriesPieOptions[];\n\n private chart: Chart;\n private lastWidth = 0;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.series && !changes.series.firstChange) || (changes.color && !changes.color.firstChange)) {\n this.initChart();\n }\n }\n\n ngAfterViewChecked() {\n if (this.chartRef && this.chartRef.nativeElement.clientWidth !== this.lastWidth) {\n this.lastWidth = this.chartRef.nativeElement.clientWidth;\n if (this.chart) {\n this.chart.reflow();\n } else if (this.series && this.series.length) {\n this.initChart();\n }\n }\n }\n\n initChart() {\n if (this.series) {\n this.chartOptions = ChartPieOptions.buildPie(this.chartOptions, this.innerLabels);\n ChartPieOptions.configurePie(this.series, this.chartOptions, this.color, this.labelDateFormat, this.innerLabels);\n this.chart = new Chart(this.chartRef.nativeElement, this.chartOptions);\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {MatListModule} from \"@angular/material/list\";\nimport {HighchartsChartModule} from 'highcharts-angular';\n\nimport {ChartBarComponent} from './chart-bar/chart-bar.component';\nimport {ChartColumnComponent} from './chart-column/chart-column.component';\nimport {ChartMetricsListComponent} from './chart-metrics-list/chart-metrics-list.component';\nimport {ChartHeatmapComponent} from './chart-heatmap/chart-heatmap.component';\nimport {ChartSplineComponent} from './chart-spline/chart-spline.component';\nimport {ChartPieComponent} from './chart-pie/chart-pie.component';\n\n@NgModule({\n declarations: [\n ChartBarComponent,\n ChartColumnComponent,\n ChartHeatmapComponent,\n ChartMetricsListComponent,\n ChartSplineComponent,\n ChartPieComponent\n ],\n imports: [\n CommonModule,\n HighchartsChartModule,\n MatListModule\n ],\n exports: [\n ChartBarComponent,\n ChartColumnComponent,\n ChartHeatmapComponent,\n ChartMetricsListComponent,\n ChartSplineComponent,\n ChartPieComponent\n ],\n providers: [\n ]\n})\nexport class AgorapulseUiChartsModule {\n}\n","/*\n * Public API Surface of ui-charts\n */\n\nimport * as Highcharts from 'highcharts';\nimport {borderRadiusPlugin} from './src/lib/highcharts-border-radius-plugin';\n\nborderRadiusPlugin(Highcharts);\n\nexport {AgorapulseUiChartsModule} from './src/lib/agorapulse-ui-charts.module';\nexport {ChartBarComponent} from './src/lib/chart-bar/chart-bar.component';\nexport {ChartColor, ChartColors} from './src/lib/chart-colors';\nexport {ChartColumnComponent} from './src/lib/chart-column/chart-column.component';\nexport {ChartHeatmapComponent} from './src/lib/chart-heatmap/chart-heatmap.component';\nexport {ChartMetric, ChartMetricType} from './src/lib/chart-metric';\nexport {ChartMetricsListComponent} from './src/lib/chart-metrics-list/chart-metrics-list.component';\nexport {ChartOptions, mergeDeep} from './src/lib/chart-options';\nexport {ChartPieComponent} from './src/lib/chart-pie/chart-pie.component';\nexport {ChartSplineComponent} from './src/lib/chart-spline/chart-spline.component';\n\nexport {borderRadiusPlugin} from './src/lib/highcharts-border-radius-plugin';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["ChartColor","dateFormat","Chart","Component","ViewChild","Input","ChartMetricType","ChangeDetectionStrategy","mapChart","NgModule","CommonModule","HighchartsChartModule","MatListModule","Highcharts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;QAAa,kBAAkB,GAAG,UAAU,CAAC;QACzC,IAAI,CAAC,CAAC,6BAA6B,EAAE;YACjC,OAAO;SACV;QACD,CAAC,CAAC,6BAA6B,GAAG,IAAI,CAAC;QAEvC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,OAAO;YACjE,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC7B,IAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC;YACzC,IAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC;YAC/C,IAAM,2BAA2B,GAAG,OAAO,CAAC,mBAAmB,CAAC;YAChE,IAAM,4BAA4B,GAAG,OAAO,CAAC,oBAAoB,CAAC;YAClE,IAAM,8BAA8B,GAAG,OAAO,CAAC,sBAAsB,CAAC;YACtE,IAAM,+BAA+B,GAAG,OAAO,CAAC,uBAAuB,CAAC;YAExE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEnB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBACd,OAAO;aACV;YACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,KAAK;gBAE/B,IAAI,2BAA2B,IAAI,4BAA4B,IAAI,8BAA8B,IAAI,+BAA+B,EAAE;oBAClI,IAAM,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;oBAChC,IAAM,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;oBACjC,IAAM,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;oBAC5B,IAAM,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;oBAC5B,IAAM,mBAAmB,GAAG,CAAC,2BAA2B,IAAI,2BAA2B,CAAC,MAAM,IAAI,2BAA2B,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,2BAA2B,IAAI,CAAC,CAAC;oBAC9K,IAAM,oBAAoB,GAAG,CAAC,4BAA4B,IAAI,4BAA4B,CAAC,MAAM,IAAI,4BAA4B,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,4BAA4B,IAAI,CAAC,CAAC;oBACnL,IAAM,sBAAsB,GAAG,CAAC,8BAA8B,IAAI,8BAA8B,CAAC,MAAM,IAAI,8BAA8B,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,8BAA8B,IAAI,CAAC,CAAC;oBAC7L,IAAM,uBAAuB,GAAG,CAAC,+BAA+B,IAAI,+BAA+B,CAAC,MAAM,IAAI,+BAA+B,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,+BAA+B,IAAI,CAAC,CAAC;oBAElM,IAAI,aAAa,GAAG,CAAC,CAAC,cAAc,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;oBAC7D,IAAI,cAAc,GAAG,CAAC,CAAC,cAAc,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;oBAC/D,IAAI,iBAAiB,GAAG,CAAC,CAAC,cAAc,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC;oBACrE,IAAI,gBAAgB,GAAG,CAAC,CAAC,cAAc,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;oBAEnE,IAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;oBAEhC,aAAa,GAAG,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,aAAa,CAAC;oBAC5D,cAAc,GAAG,cAAc,GAAG,IAAI,GAAG,IAAI,GAAG,cAAc,CAAC;oBAC/D,iBAAiB,GAAG,iBAAiB,GAAG,IAAI,GAAG,IAAI,GAAG,iBAAiB,CAAC;oBACxE,gBAAgB,GAAG,gBAAgB,GAAG,IAAI,GAAG,IAAI,GAAG,gBAAgB,CAAC;oBAErE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC;oBAE9B,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;oBACzB,KAAK,CAAC,SAAS,GAAG;wBACd,CAAC,EAAE;4BACC,GAAG,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,GAAG,SAAS;4BACrC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,cAAc,EAAE,CAAC,GAAG,SAAS;4BAC1C,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,cAAc,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc;4BAC5F,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,iBAAiB;4BACrC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,iBAAiB,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,iBAAiB,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,iBAAiB,EAAE,CAAC,GAAG,CAAC,GAAG,YAAY;4BAChI,GAAG,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC,GAAG,CAAC,GAAG,YAAY;4BAC/C,GAAG,EAAE,CAAC,GAAG,gBAAgB,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,gBAAgB,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,gBAAgB;4BAClG,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,aAAa;4BACzB,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,aAAa,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC;4BAC7E,GAAG;yBACN;qBACJ,CAAC;iBACL;aAEJ,CAAC,CAAC;SACN,CAAC,CAAC;IACP;;ICjEA;;;;;;;;;;;;;;IAcA;IAEA,IAAI,aAAa,GAAG,UAAS,CAAC,EAAE,CAAC;QAC7B,aAAa,GAAG,MAAM,CAAC,cAAc;aAChC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5E,UAAU,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;oBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtG,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;aAEc,SAAS,CAAC,CAAC,EAAE,CAAC;QAC1B,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI;YACrC,MAAM,IAAI,SAAS,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC;QAC9F,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,SAAS,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;QACvC,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;IAEM,IAAI,QAAQ,GAAG;QAClB,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC;YAC3C,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjD,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACjB,KAAK,IAAI,CAAC,IAAI,CAAC;oBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;wBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAChF;YACD,OAAO,CAAC,CAAC;SACZ,CAAA;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAA;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC/E,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;YAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACzB;QACL,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI;QACpD,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;YAC1H,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;oBAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAClJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;aAEe,OAAO,CAAC,UAAU,EAAE,SAAS;QACzC,OAAO,UAAU,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAA;IACzE,CAAC;aAEe,UAAU,CAAC,WAAW,EAAE,aAAa;QACjD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;aAEe,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS;QACvD,SAAS,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAC5G,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM;YACrD,SAAS,SAAS,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC3F,SAAS,QAAQ,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC9F,SAAS,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;YAC9G,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;SACzE,CAAC,CAAC;IACP,CAAC;aAEe,WAAW,CAAC,OAAO,EAAE,IAAI;QACrC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,cAAa,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACjH,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAa,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzJ,SAAS,IAAI,CAAC,CAAC,IAAI,OAAO,UAAU,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QAClE,SAAS,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC;gBAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;YAC9D,OAAO,CAAC;gBAAE,IAAI;oBACV,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI;wBAAE,OAAO,CAAC,CAAC;oBAC7J,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;oBACxC,QAAQ,EAAE,CAAC,CAAC,CAAC;wBACT,KAAK,CAAC,CAAC;wBAAC,KAAK,CAAC;4BAAE,CAAC,GAAG,EAAE,CAAC;4BAAC,MAAM;wBAC9B,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;wBACxD,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;4BAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;4BAAC,SAAS;wBACjD,KAAK,CAAC;4BAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;wBACjD;4BACI,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;gCAAE,CAAC,GAAG,CAAC,CAAC;gCAAC,SAAS;6BAAE;4BAC5G,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACtF,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,GAAG,EAAE,CAAC;gCAAC,MAAM;6BAAE;4BACrE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACnE,IAAI,CAAC,CAAC,CAAC,CAAC;gCAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BACtB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;qBAC9B;oBACD,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;iBAC9B;gBAAC,OAAO,CAAC,EAAE;oBAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAAC,CAAC,GAAG,CAAC,CAAC;iBAAE;wBAAS;oBAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBAAE;YAC1D,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACpF;IACL,CAAC;IAEM,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9D,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,cAAa,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC,KAAK,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QACtB,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;aAEa,YAAY,CAAC,CAAC,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;gBAAE,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClH,CAAC;aAEe,QAAQ,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAC9E,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO;gBAC1C,IAAI,EAAE;oBACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;wBAAE,CAAC,GAAG,KAAK,CAAC,CAAC;oBACnC,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBAC3C;aACJ,CAAC;QACF,MAAM,IAAI,SAAS,CAAC,CAAC,GAAG,yBAAyB,GAAG,iCAAiC,CAAC,CAAC;IAC3F,CAAC;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACjB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI;YACA,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI;gBAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAC9E;QACD,OAAO,KAAK,EAAE;YAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SAAE;gBAC/B;YACJ,IAAI;gBACA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACpD;oBACO;gBAAE,IAAI,CAAC;oBAAE,MAAM,CAAC,CAAC,KAAK,CAAC;aAAE;SACpC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,QAAQ;QACpB,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;YAC9C,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,cAAc;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACpF,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAC5C,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;gBAC7D,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI;QACxC,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjF,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE;oBACpB,IAAI,CAAC,EAAE;wBAAE,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrD,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;iBACnB;aACJ;QACD,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;IACjC,CAAC;aAEe,OAAO,CAAC,CAAC;QACrB,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;aAEe,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS;QAC3D,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QAC9D,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACtH,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAC1I,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI;YAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAAE;QAAC,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAAE,EAAE;QAClF,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACxH,SAAS,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;aAEe,gBAAgB,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC,CAAC;QACT,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5I,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;aAEe,aAAa,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACjN,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAChK,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAS,CAAC,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;aAEe,oBAAoB,CAAC,MAAM,EAAE,GAAG;QAC5C,IAAI,MAAM,CAAC,cAAc,EAAE;YAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;SAAE;aAAM;YAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;SAAE;QAC/G,OAAO,MAAM,CAAC;IAClB,CAAC;IAAA,CAAC;IAEF,IAAI,kBAAkB,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC,IAAI,UAAS,CAAC,EAAE,CAAC;QACd,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC,CAAC;aAEc,YAAY,CAAC,GAAG;QAC5B,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU;YAAE,OAAO,GAAG,CAAC;QACtC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,IAAI,IAAI;YAAE,KAAK,IAAI,CAAC,IAAI,GAAG;gBAAE,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAAE,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACzI,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC;IAClB,CAAC;aAEe,eAAe,CAAC,GAAG;QAC/B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC3D,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,0EAA0E,CAAC,CAAC;QACnL,OAAO,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClG,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAClE,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;QACxE,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,yEAAyE,CAAC,CAAC;QAClL,OAAO,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;IAC9G;;AC9OYA;IAAZ,WAAY,UAAU;QAClB,2CAAI,CAAA;QACJ,+CAAM,CAAA;QACN,mDAAQ,CAAA;QACR,2DAAY,CAAA;QACZ,+CAAM,CAAA;QACN,6CAAK,CAAA;IACT,CAAC,EAPWA,kBAAU,KAAVA,kBAAU,QAOrB;;QAED;;QAuDW,0BAAc,GAArB,UAAsB,KAAiB;YACnC,QAAQ,KAAK;gBACT,KAAKA,kBAAU,CAAC,MAAM;oBAClB,OAAO,IAAI,CAAC,aAAa,CAAC;gBAC9B,KAAKA,kBAAU,CAAC,QAAQ;oBACpB,OAAO,IAAI,CAAC,gBAAgB,CAAC;gBACjC,KAAKA,kBAAU,CAAC,YAAY;oBACxB,OAAO,IAAI,CAAC,oBAAoB,CAAC;gBACrC,KAAKA,kBAAU,CAAC,MAAM;oBAClB,OAAO,IAAI,CAAC,aAAa,CAAC;gBAC9B,KAAKA,kBAAU,CAAC,KAAK;oBACjB,OAAO,IAAI,CAAC,YAAY,CAAC;gBAC7B;oBACI,OAAO,IAAI,CAAC,WAAW,CAAC;aAC/B;SACJ;QAEM,qBAAS,GAAhB,UAAiB,WAAmB,EAAE,KAAiB;YACnD,IAAI,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACxC,QAAQ,WAAW;gBACf,KAAK,CAAC;oBACF,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzB,KAAK,CAAC;oBACF,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBACrC,KAAK,CAAC;oBACF,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBACjD,KAAK,CAAC;oBACF,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC7D,KAAK,CAAC;oBACF,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzE;oBACI,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;aAChE;SACJ;;;IAtFe,4BAAgB,GAAG;QAC/B,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;KACnB,CAAC;IACc,gCAAoB,GAAG;QACnC,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;KACnB,CAAC;IACc,yBAAa,GAAG;QAC5B,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;KACnB,CAAC;IACc,wBAAY,GAAG;QAC3B,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;KACnB,CAAC;IACc,yBAAa,GAAG;QAC5B,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;KACnB,CAAC;IACc,uBAAW,GAAG;QAC1B,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;KACnB,CAAC;IAEc,uBAAW,GAAW,SAAS,CAAC;IAChC,uBAAW,GAAW,SAAS,CAAC;IAChC,uBAAW,GAAW,SAAS;;;QC3DnD;;QA2IW,kBAAK,GAAZ,UAAa,OAAgB;YACzB,OAAO,SAAS,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;SAC3D;QAEM,sBAAS,GAAhB,UAAiB,MAA2B,EAC3B,OAAgB,EAChB,KAAiB,EACjB,eAAwB;;YAErC,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;gBACtB,MAAM,EAAE;oBACJ,SAAS,EAAE;wBACP,OAAOC,qBAAU,CAAC,eAAe,GAAG,eAAe,GAAG,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;qBAC9E;iBACJ;;aAEJ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;;YAElB,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE;gBACzB,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;gBACxB,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;gBAC5C,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;aAChE;SACJ;;;IAhKe,gCAAmB,GAAW,eAAe,CAAC;IAC9C,4BAAe,GAAY;;;;;;;;;;;;;;QAcvC,KAAK,EAAE;YACH,YAAY,EAAE,EAAE;YAChB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACL,OAAO,EAAE,IAAI;aAChB;YACD,MAAM,EAAE,OAAO;YACf,KAAK,EAAE;gBACH,UAAU,EAAE,8CAA8C;aAC7D;YACD,eAAe,EAAE;gBACb,KAAK,EAAE;oBACH,IAAI,EAAE,WAAW,CAAC,WAAW;oBAC7B,CAAC,EAAE,CAAC;oBACJ,KAAK,EAAE;wBACH,KAAK,EAAE,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC;wBACnC,QAAQ,EAAE,MAAM;qBACnB;oBACD,MAAM,EAAE;wBACJ,KAAK,EAAE;4BACH,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;yBACnC;qBACJ;iBACJ;aACJ;SACJ;QACD,SAAS,EAAE;YACP,MAAM,EAAE;gBACJ,KAAK,EAAE;oBACH,KAAK,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;iBACrC;aACJ;SACJ;QACD,OAAO,EAAE;YACL,OAAO,EAAE,KAAK;SACjB;QACD,MAAM,EAAE;YACJ,WAAW,EAAE,CAAC;YACd,SAAS,EAAE;gBACP,KAAK,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;gBAClC,QAAQ,EAAE,MAAM;gBAChB,UAAU,EAAE,QAAQ;aACvB;YACD,cAAc,EAAE;gBACZ,KAAK,EAAE,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC;gBACnC,UAAU,EAAE,MAAM;aACrB;SACJ;QACD,WAAW,EAAE;YACT,MAAM,EAAE;gBACJ,MAAM,EAAE;oBACJ,KAAK,EAAE;wBACH,UAAU,EAAE,CAAC;qBAChB;iBACJ;gBACD,YAAY,EAAE,IAAI;gBAClB,SAAS,EAAE,CAAC;aACf;SACJ;QACD,UAAU,EAAE;YACR,aAAa,EAAE;gBACX,CAAC,EAAE,CAAC;aACP;SACJ;QACD,KAAK,EAAE;YACH,IAAI,EAAE,IAAI;SACb;QACD,OAAO,EAAE;YACL,eAAe,EAAE,WAAW,CAAC,WAAW;YACxC,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,CAAC;YACd,oBAAoB,EAAE;gBAClB,GAAG,EAAE,YAAY,CAAC,mBAAmB;gBACrC,IAAI,EAAE,YAAY,CAAC,mBAAmB;aACzC;YACD,MAAM,EAAE;gBACJ,KAAK,EAAE,WAAW,CAAC,WAAW;gBAC9B,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,CAAC;aACX;YACD,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,IAAI;YACb,YAAY,EAAE,2CAAwC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC,4BAAwB;mBACnG,2CAAwC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC,gCAA4B,CAAA;YACrG,WAAW,EAAE,0CAAuC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,gCAA4B;kBACtG,uFAAuF;SAChG;QACD,KAAK,EAAE;YACH,aAAa,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1C,SAAS,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;YACtC,SAAS,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;YACtC,aAAa,EAAE,CAAC;YAChB,KAAK,EAAE;gBACH,IAAI,EAAE,IAAI;aACb;YACD,MAAM,EAAE;gBACJ,KAAK,EAAE;oBACH,KAAK,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;oBAClC,QAAQ,EAAE,MAAM;iBACnB;aACJ;SACJ;QACD,KAAK,EAAE;YACH,aAAa,EAAE,KAAK;YACpB,aAAa,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1C,SAAS,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;YACtC,aAAa,EAAE,CAAC;YAChB,KAAK,EAAE;gBACH,IAAI,EAAE,IAAI;aACb;YACD,MAAM,EAAE;gBACJ,KAAK,EAAE;oBACH,KAAK,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;oBAClC,QAAQ,EAAE,MAAM;iBACnB;aACJ;SACJ;KACJ,CAAC;aA4BU,QAAQ,CAAC,IAAI;QACzB,QAAQ,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;IACtE,CAAC;aAEe,SAAS,CAAC,MAAM,EAAE,MAAM;QACpC,IAAI,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9B,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;YACtC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAA,GAAG;;gBAC3B,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;oBACvB,IAAI,EAAE,GAAG,IAAI,MAAM,CAAC;wBAChB,MAAM,CAAC,MAAM,CAAC,MAAM,YAAG,GAAC,GAAG,IAAG,MAAM,CAAC,GAAG,CAAC,MAAE,CAAC;;wBAE5C,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;iBACzD;qBAAM;oBACH,MAAM,CAAC,MAAM,CAAC,MAAM,YAAG,GAAC,GAAG,IAAG,MAAM,CAAC,GAAG,CAAC,MAAE,CAAC;iBAC/C;aACJ,CAAC,CAAC;SACN;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,SAAS,QAAQ,CAAC,MAAM;QACpB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE;YAC/C,OAAO,MAAM,CAAA;SAChB;;QAED,IAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,CAAA;QACjD,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE;YACpB,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;;gBAE5B,SAAS,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;aACzC;SACJ;QACD,OAAO,SAAS,CAAA;IACpB;;ICrMA;QAAqC,mCAAY;QAAjD;;SAmFC;QAjFU,qBAAK,GAAZ,UAAa,OAAgB;YACzB,IAAM,aAAa,GAA6B;gBAC5C,mBAAmB,EAAE,GAAG;gBACxB,oBAAoB,EAAE,GAAG;gBACzB,WAAW,EAAE,CAAC;aACjB,CAAC;YACF,IAAM,oBAAoB,GAAY;gBAClC,KAAK,EAAE;oBACH,IAAI,EAAE,KAAK;iBACd;gBACD,KAAK,EAAE;oBACH,UAAU,EAAE,SAAS;oBACrB,aAAa,EAAE,CAAC;oBAChB,SAAS,EAAE,CAAC;oBACZ,QAAQ,EAAE,KAAK;oBACf,SAAS,EAAE,CAAC;oBACZ,MAAM,EAAE;wBACJ,KAAK,EAAE,QAAQ;wBACf,SAAS,EAAE;4BACP,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,EAAE,EAAE;gCACjD,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;6BACzD;4BACD,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAA;yBAC/B;wBACD,KAAK,EAAE;4BACH,KAAK,EAAE,GAAG;yBACb;qBACJ;oBACD,IAAI,EAAE,UAAU;iBACnB;gBACD,KAAK,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,eAAe,EAAE,CAAC;iBACrB;gBACD,WAAW,EAAE;oBACT,GAAG,EAAE;wBACD,aAAa,EAAE,EAAE;wBACjB,UAAU,EAAE,EAAE;qBACjB;oBACD,MAAM,EAAE,aAAa;iBACxB;aACJ,CAAC;YACF,OAAO,OAAM,KAAK,YAAC,SAAS,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,CAAC;SAChE;QAEM,4BAAY,GAAnB,UAAoB,MAA0B,EAC1B,UAAoB,EACpB,OAAgB,EAChB,QAAiB,EACjB,KAAiB,EACjB,eAAwB;YACxC,YAAY,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;YAChE,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE;gBAChC,OAAO,CAAC,KAAsB,CAAC,UAAU,GAAG,UAAU,CAAC;aAC3D;YACD,IAAI,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;gBACjC,IAAM,aAAa,GAAI,MAAM,CAAC,CAAC,CAA6B,CAAC;gBAC7D,aAAa,CAAC,sBAAsB,GAAG,GAAG,CAAC;gBAC3C,aAAa,CAAC,uBAAuB,GAAG,GAAG,CAAC;gBAC5C,aAAa,CAAC,mBAAmB,GAAG,CAAC,CAAC;gBACtC,aAAa,CAAC,oBAAoB,GAAG,CAAC,CAAC;gBACvC,aAAa,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,KAAU;oBACnD,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;wBACvB,uCACO,KAAK,KACR,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IACvB;qBACL;yBAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;wBACtB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;qBAC3B;oBACD,OAAO,KAAK,CAAC;iBAChB,CAAC,CAAA;gBACF,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBAC9C,OAAO,CAAC,KAAsB,CAAC,MAAM,CAAC,SAAS,GAAG;oBAC/C,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;iBACrC,CAAA;gBACD,OAAO,CAAC,OAAO,CAAC,cAAc,GAAG;oBAC7B,OAAO,gGAA2F,IAAI,CAAC,KAAK,0BAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,cAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,gBAAY,CAAC;iBAC9L,CAAA;aACJ;SACJ;8BACJ;KAnFD,CAAqC,YAAY;;;QCAjD;YASa,eAAU,GAAa,EAAE,CAAC;YAC1B,iBAAY,GAAY,EAAE,CAAC;YAC3B,UAAK,GAAeD,kBAAU,CAAC,YAAY,CAAC;YAM7C,cAAS,GAAG,CAAC,CAAC;SA0BzB;QAxBG,uCAAW,GAAX,UAAY,OAAsB;YAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,MAAM,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;gBAClG,IAAI,CAAC,SAAS,EAAE,CAAC;aACpB;SACJ;QAED,8CAAkB,GAAlB;YACI,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,EAAE;gBAC5E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC;gBACzD,IAAI,IAAI,CAAC,KAAK,EAAE;oBACZ,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;iBACvB;qBAAM,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;oBAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;iBACpB;aACJ;SACJ;QAED,qCAAS,GAAT;YACI,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC7D,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;gBAC/H,IAAI,CAAC,KAAK,GAAG,IAAIE,gBAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;aAC1E;SACJ;;;;gBA1CJC,cAAS,SAAC;oBACP,QAAQ,EAAE,cAAc;oBACxB,gCAAyC;;iBAE5C;;;2BAGIC,cAAS,SAAC,OAAO;6BAEjBC,UAAK;+BACLA,UAAK;wBACLA,UAAK;kCACLA,UAAK;2BACLA,UAAK;yBACLA,UAAK;;;ICfV;QAAwC,sCAAY;QAApD;;SAsGC;QApGU,8BAAW,GAAlB,UAAmB,OAAgB,EAAE,MAAe;YAChD,IAAM,oBAAoB,GAAY;gBAClC,KAAK,EAAE;oBACH,IAAI,EAAE,QAAQ;iBACjB;gBACD,MAAM,EAAE;oBACJ,YAAY,EAAE,EAAE;iBACnB;gBACD,WAAW,EAAE;oBACT,MAAM,EAAE;wBACJ,QAAQ,EAAE,QAAQ;wBAClB,WAAW,EAAE,CAAC;wBACd,aAAa,EAAE,EAAE;wBACjB,MAAM,EAAE;4BACJ,IAAI,EAAE;gCACF,kBAAkB,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;6BAC3D;4BACD,IAAI,EAAE;gCACF,kBAAkB,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;6BAC3D;yBACJ;qBACJ;iBACJ;gBACD,KAAK,EAAE;oBACH,IAAI,EAAE,UAAU;iBACnB;aACJ,CAAC;YACF,IAAM,mBAAmB,GAAY;gBACjC,KAAK,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,MAAM;iBACjB;gBACD,OAAO,EAAE;oBACL,OAAO,EAAE,KAAK;iBACjB;gBACD,WAAW,EAAE;oBACT,MAAM,EAAE;wBACJ,MAAM,EAAE;4BACJ,IAAI,EAAE;gCACF,kBAAkB,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;6BAC3D;4BACD,IAAI,EAAE;gCACF,kBAAkB,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;6BAC3D;yBACJ;qBACJ;iBACJ;gBACD,KAAK,EAAE;oBACH,IAAI,EAAE,UAAU;oBAChB,SAAS,EAAE,IAAI;oBACf,MAAM,EAAE;wBACJ,OAAO,EAAE,KAAK;wBACd,SAAS,EAAE;4BACP,OAAOJ,qBAAU,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;yBAC1C;qBACJ;oBACD,SAAS,EAAE,CAAC;oBACZ,SAAS,EAAE,CAAC;oBACZ,aAAa,EAAE,CAAC;iBACnB;gBACD,KAAK,EAAE;oBACH,GAAG,EAAE,CAAC;oBACN,MAAM,EAAE;wBACJ,OAAO,EAAE,KAAK;qBACjB;oBACD,aAAa,EAAE,CAAC;iBACnB;aACJ,CAAC;YACF,OAAO,OAAM,KAAK,YAAC,SAAS,CAAC,MAAM,GAAG,mBAAmB,GAAG,oBAAoB,EAAE,OAAO,CAAC,CAAC,CAAC;SAC/F;QAEM,2CAAwB,GAA/B,UAAgC,KAAY;YACxC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,UAAC,KAAK,EAAE,UAAkB,EAAE,GAAG;gBAC5C,kBAAkB,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,OAAqC,EAAE,UAAU,CAAC,CAAC;aAC/F,CAAC,CAAC;YACH,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACtB;QAEM,6BAAU,GAAjB,UAAkB,MAAgB,EAAE,KAAiC,EAAE,UAAkB;YACrF,IAAM,gBAAgB,GAAG,EAAE,CAAC;YAC5B,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,KAAK,CAAC,IAAI,EAAE;gBACZ,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAC,KAAK,EAAE,WAAW;;;oBAGlC,IAAM,oBAAoB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC;yBACnD,KAAK,CAAC,UAAA,UAAU;wBACb,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,EAAE;4BAC9B,OAAO,IAAI,CAAC;yBACf;wBACD,IAAM,mBAAmB,GAAI,UAAU,CAAC,OAAsC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAA,UAAU,IAAI,OAAA,UAAU,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,GAAA,CAAC,CAAA;wBAClI,OAAO,CAAC,mBAAmB,IAAI,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;qBAC/D,CAAC,CAAC;oBACP,YAAY,GAAG,oBAAoB,GAAG,GAAG,GAAG,CAAC,CAAC;oBAC9C,gBAAgB,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC;iBAChD,CAAC,CAAC;gBACH,KAAK,CAAC,mBAAmB,GAAG,gBAAgB,CAAC;gBAC7C,KAAK,CAAC,oBAAoB,GAAG,gBAAgB,CAAC;aACjD;SACJ;iCACJ;KAtGD,CAAwC,YAAY;;;QCCpD;YASa,iBAAY,GAAY,EAAE,CAAC;YAC3B,UAAK,GAAeD,kBAAU,CAAC,YAAY,CAAC;YAG5C,WAAM,GAAY,KAAK,CAAC;YAGzB,cAAS,GAAG,CAAC,CAAC;SA6BzB;QA3BG,0CAAW,GAAX,UAAY,OAAsB;YAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,MAAM,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;gBAClG,IAAI,CAAC,SAAS,EAAE,CAAC;aACpB;SACJ;QAED,iDAAkB,GAAlB;YACI,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,EAAE;gBAC5E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC;gBACzD,IAAI,IAAI,CAAC,KAAK,EAAE;oBACZ,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;iBACvB;qBAAM,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;oBAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;iBACpB;aACJ;SACJ;QAED,wCAAS,GAAT;YACI,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBACnF,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;gBAC/F,IAAI,CAAC,KAAK,GAAG,IAAIE,gBAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBACvE,IAAI,IAAI,CAAC,KAAK,EAAE;oBACZ,kBAAkB,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBAC3D;aACJ;SACJ;;;;gBA5CJC,cAAS,SAAC;oBACP,QAAQ,EAAE,iBAAiB;oBAC3B,gCAA4C;;iBAE/C;;;2BAGIC,cAAS,SAAC,OAAO;+BAEjBC,UAAK;wBACLA,UAAK;kCACLA,UAAK;yBACLA,UAAK;yBACLA,UAAK;;;AClBEC;IAAZ,WAAY,eAAe;QACvB,2DAAO,CAAA;QACP,uDAAK,CAAA;IACT,CAAC,EAHWA,uBAAe,KAAfA,uBAAe,QAG1B;;QAED;SAOC;0BAAA;KAAA;;;QCTD;YAWI,oBAAe,GAAGA,uBAAe,CAAC;YAClC,eAAU,GAAW,OAAO,CAAC;SAEhC;;;;gBAdAH,cAAS,SAAC;oBACP,eAAe,EAAEI,4BAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE,uBAAuB;oBAEjC,wqCAAgD;;iBACnD;;;0BAGIF,UAAK;yBACLA,UAAK;;;ICRV;QAAyC,uCAAY;QAArD;;SAqEC;QAnEU,yBAAK,GAAZ,UAAa,OAA2B;YACpC,IAAM,qBAAqB,GAAuB;gBAC9C,KAAK,EAAE;oBACH,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,GAAG;iBACd;gBACD,SAAS,EAAE;oBACP,aAAa,EAAE,KAAK;oBACpB,aAAa,EAAE,CAAC;oBAChB,aAAa,EAAE,OAAO;oBACtB,GAAG,EAAE,CAAC;oBACN,MAAM,EAAE;wBACJ,KAAK,EAAE;4BACH,QAAQ,EAAE,MAAM;yBACnB;qBACJ;iBACJ;gBACD,MAAM,EAAE;oBACJ,OAAO,EAAE,KAAK;iBACjB;gBACD,WAAW,EAAE;oBACT,OAAO,EAAE;wBACL,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;wBACxC,WAAW,EAAE,CAAC;wBACd,SAAS,EAAE,OAAO;qBACrB;iBACJ;gBACD,OAAO,EAAE;oBACL,YAAY,EAAE,EAAE;oBAChB,WAAW,EAAE,2CAAwC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC,4BAAwB;2BAClG,2CAAwC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC,+CAA2C,CAAA;2BAC9G,0CAAuC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,gCAA4B,CAAA;0BAC/F,6FAA2F;iBACpG;gBACD,KAAK,EAAE;oBACH,MAAM,EAAE;wBACJ,SAAS,EAAE;4BACP,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;yBAChC;qBACJ;oBACD,SAAS,EAAE,CAAC;oBACZ,SAAS,EAAE,CAAC;oBACZ,OAAO,EAAE,IAAI;iBAChB;gBACD,KAAK,EAAE;oBACH,SAAS,EAAE,CAAC;oBACZ,YAAY,EAAE,CAAC;oBACf,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,IAAI;iBAChB;aACJ,CAAC;YACF,OAAO,OAAM,KAAK,YAAC,SAAS,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC,CAAC;SACjE;QAEM,oCAAgB,GAAvB,UAAwB,WAAqB,EACrB,WAAqB,EACrB,MAAsC,EACtC,OAA2B,EAC3B,eAAwB;YAC5C,OAAM,SAAS,YAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;YACxD,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,EAAE;gBAClC,OAAO,CAAC,KAAiC,CAAC,UAAU,GAAG,WAAW,CAAC;aACvE;YACD,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,EAAE;gBAClC,OAAO,CAAC,KAAiC,CAAC,UAAU,GAAG,WAAW,CAAC;aACvE;SACJ;kCACJ;KArED,CAAyC,YAAY;;;QCArD;YASa,gBAAW,GAAa,EAAE,CAAC;YAC3B,gBAAW,GAAa,EAAE,CAAC;YAC3B,iBAAY,GAAY,EAAE,CAAC;YAK5B,cAAS,GAAG,CAAC,CAAC;SA2BzB;QAzBG,2CAAW,GAAX,UAAY,OAAsB;YAC9B,KAAK,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,GAAG;gBACjD,IAAI,CAAC,SAAS,EAAE,CAAC;aACpB;SACJ;QAED,kDAAkB,GAAlB;YACI,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,EAAE;gBAC5E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC;gBACzD,IAAI,IAAI,CAAC,KAAK,EAAE;oBACZ,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;iBACvB;qBAAM,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;oBAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;iBACpB;aACJ;SACJ;QAEO,yCAAS,GAAT;YACJ,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,IAAI,CAAC,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACjE,mBAAmB,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;gBAC/HG,iBAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;aAC5D;SACJ;;;;gBAzCJL,cAAS,SAAC;oBACP,QAAQ,EAAE,kBAAkB;oBAC5B,gCAA6C;;iBAEhD;;;2BAGIC,cAAS,SAAC,OAAO;8BAEjBC,UAAK;8BACLA,UAAK;+BACLA,UAAK;kCACLA,UAAK;yBACLA,UAAK;;;ICdV;QAAwC,sCAAY;QAApD;;SAuBC;QArBU,wBAAK,GAAZ,UAAa,OAAgB;YACzB,IAAM,oBAAoB,GAAY;gBAClC,KAAK,EAAE;oBACH,IAAI,EAAE,QAAQ;iBACjB;gBACD,WAAW,EAAE;oBACT,MAAM,EAAE;wBACJ,MAAM,EAAE;4BACJ,OAAO,EAAE,KAAK;4BACd,MAAM,EAAE,CAAC;4BACT,MAAM,EAAE,QAAQ;yBACnB;qBACJ;iBACJ;gBACD,KAAK,EAAE;oBACH,IAAI,EAAE,UAAU;iBACnB;aACJ,CAAC;YACF,OAAO,OAAM,KAAK,YAAC,SAAS,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,CAAC;SAChE;iCAEJ;KAvBD,CAAwC,YAAY;;;QCEpD;YASa,iBAAY,GAAY,EAAE,CAAC;YAC3B,UAAK,GAAeL,kBAAU,CAAC,YAAY,CAAC;YAK7C,cAAS,GAAG,CAAC,CAAC;SA+BzB;QA7BG,0CAAW,GAAX,UAAY,OAAsB;YAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,MAAM,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;gBAClG,IAAI,CAAC,SAAS,EAAE,CAAC;aACpB;SACJ;QAED,iDAAkB,GAAlB;YACI,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,KAAK,IAAI,CAAC,SAAS,EAAE;gBAC7E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC;gBACzD,IAAI,IAAI,CAAC,KAAK,EAAE;oBACZ,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;iBACvB;qBAAM,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;oBAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;iBACpB;aACJ;SACJ;QAEO,wCAAS,GAAT;;YACJ,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAChE,IAAI,CAAA,MAAA,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,0CAAE,MAAM,MAAK,CAAC,EAAE;oBACnC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;oBAC3D,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;iBAC1D;gBACD,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;gBAC/F,IAAI,CAAC,KAAK,GAAG,IAAIE,gBAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;aAC1E;SACJ;;;;gBA5CJC,cAAS,SAAC;oBACP,QAAQ,EAAE,iBAAiB;oBAC3B,gCAA4C;;iBAE/C;;;2BAGIC,cAAS,SAAC,OAAO;+BAEjBC,UAAK;wBACLA,UAAK;kCACLA,UAAK;yBACLA,UAAK;;;ICbV;QAAqC,mCAAY;QAAjD;;SA0DC;QAxDU,wBAAQ,GAAf,UAAgB,OAAgB,EAAE,WAAoB;YAClD,IAAM,iBAAiB,GAAY;gBAC/B,KAAK,EAAE;oBACH,IAAI,EAAE,KAAK;oBACX,mBAAmB,EAAE,IAAI;oBACzB,eAAe,EAAE,IAAI;oBACrB,UAAU,EAAE,KAAK;iBACpB;gBACD,WAAW,EAAE;oBACT,GAAG,EAAE;wBACD,UAAU,EAAE;4BACR,QAAQ,EAAE,WAAW,GAAG,CAAC,EAAE,GAAG,EAAE;4BAChC,OAAO,EAAE,IAAI;yBAChB;wBACD,SAAS,EAAE,KAAK;qBACnB;oBACD,MAAM,EAAE;wBACJ,gBAAgB,EAAE,CAAC,WAAW;wBAC9B,UAAU,EAAE,WAAW,GAAG;4BACtB,MAAM,EAAE,yBAAyB;4BACjC,KAAK,EAAE;gCACH,QAAQ,EAAE,MAAM;gCAChB,KAAK,EAAE,OAAO;gCACd,WAAW,EAAE,GAAG;6BACnB;yBACJ,GAAG;4BACA,KAAK,EAAE;gCACH,QAAQ,EAAE,MAAM;gCAChB,KAAK,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;6BACrC;yBACJ;wBACD,YAAY,EAAE,WAAW;qBAC5B;iBACJ;gBACD,MAAM,EAAE,WAAW,GAAG;oBAClB,YAAY,EAAE,EAAE;oBAChB,OAAO,EAAE,IAAI;iBAChB,GAAG,EAAE;aACT,CAAC;YACF,OAAO,OAAM,KAAK,YAAC,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,CAAC;SAC7D;QAEM,4BAAY,GAAnB,UAAoB,MAA0B,EAC1B,OAAgB,EAChB,KAAiB,EACjB,eAAuB,EACvB,WAAoB;YACpC,OAAM,SAAS,YAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;YACzD,IAAI,WAAW,EAAE;gBACb,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;aACjC;YACD,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;gBAC1C,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC,SAAS,CAAE,MAAM,CAAC,CAAC,CAAsB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;aAC9F;SAEJ;8BACJ;KA1DD,CAAqC,YAAY;;;QCCjD;YASa,iBAAY,GAAY,EAAE,CAAC;YAC3B,UAAK,GAAeL,kBAAU,CAAC,YAAY,CAAC;YAC5C,gBAAW,GAAG,KAAK,CAAC;YAKrB,cAAS,GAAG,CAAC,CAAC;SA0BzB;QAxBG,uCAAW,GAAX,UAAY,OAAsB;YAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,MAAM,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;gBAClG,IAAI,CAAC,SAAS,EAAE,CAAC;aACpB;SACJ;QAED,8CAAkB,GAAlB;YACI,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,KAAK,IAAI,CAAC,SAAS,EAAE;gBAC7E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC;gBACzD,IAAI,IAAI,CAAC,KAAK,EAAE;oBACZ,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;iBACvB;qBAAM,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;oBAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;iBACpB;aACJ;SACJ;QAED,qCAAS,GAAT;YACI,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBAClF,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBACjH,IAAI,CAAC,KAAK,GAAG,IAAIE,gBAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;aAC1E;SACJ;;;;gBAzCJC,cAAS,SAAC;oBACP,QAAQ,EAAE,cAAc;oBACxB,gCAAyC;;iBAE5C;;;2BAGIC,cAAS,SAAC,OAAO;+BAEjBC,UAAK;wBACLA,UAAK;8BACLA,UAAK;kCACLA,UAAK;yBACLA,UAAK;;;;QCmBV;;;;;gBAzBCI,aAAQ,SAAC;oBACN,YAAY,EAAE;wBACV,iBAAiB;wBACjB,oBAAoB;wBACpB,qBAAqB;wBACrB,yBAAyB;wBACzB,oBAAoB;wBACpB,iBAAiB;qBACpB;oBACD,OAAO,EAAE;wBACLC,mBAAY;wBACZC,uCAAqB;wBACrBC,kBAAa;qBAChB;oBACD,OAAO,EAAE;wBACL,iBAAiB;wBACjB,oBAAoB;wBACpB,qBAAqB;wBACrB,yBAAyB;wBACzB,oBAAoB;wBACpB,iBAAiB;qBACpB;oBACD,SAAS,EAAE,EACV;iBACJ;;;ICpCD;;;IAOA,kBAAkB,CAACC,qBAAU,CAAC;;ICP9B;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { MatListModule } from "@angular/material/list";
|
|
4
|
-
import { HighchartsChartModule } from 'highcharts-angular';
|
|
5
|
-
import { ChartBarComponent } from './chart-bar/chart-bar.component';
|
|
6
|
-
import { ChartColumnComponent } from './chart-column/chart-column.component';
|
|
7
|
-
import { ChartMetricsListComponent } from './chart-metrics-list/chart-metrics-list.component';
|
|
8
|
-
import { ChartHeatmapComponent } from './chart-heatmap/chart-heatmap.component';
|
|
9
|
-
import { ChartSplineComponent } from './chart-spline/chart-spline.component';
|
|
10
|
-
import { ChartPieComponent } from './chart-pie/chart-pie.component';
|
|
11
|
-
export class AgorapulseUiChartsModule {
|
|
12
|
-
}
|
|
13
|
-
AgorapulseUiChartsModule.decorators = [
|
|
14
|
-
{ type: NgModule, args: [{
|
|
15
|
-
declarations: [
|
|
16
|
-
ChartBarComponent,
|
|
17
|
-
ChartColumnComponent,
|
|
18
|
-
ChartHeatmapComponent,
|
|
19
|
-
ChartMetricsListComponent,
|
|
20
|
-
ChartSplineComponent,
|
|
21
|
-
ChartPieComponent
|
|
22
|
-
],
|
|
23
|
-
imports: [
|
|
24
|
-
CommonModule,
|
|
25
|
-
HighchartsChartModule,
|
|
26
|
-
MatListModule
|
|
27
|
-
],
|
|
28
|
-
exports: [
|
|
29
|
-
ChartBarComponent,
|
|
30
|
-
ChartColumnComponent,
|
|
31
|
-
ChartHeatmapComponent,
|
|
32
|
-
ChartMetricsListComponent,
|
|
33
|
-
ChartSplineComponent,
|
|
34
|
-
ChartPieComponent
|
|
35
|
-
],
|
|
36
|
-
providers: []
|
|
37
|
-
},] }
|
|
38
|
-
];
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdvcmFwdWxzZS11aS1jaGFydHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jaGFydHMvc3JjL2xpYi9hZ29yYXB1bHNlLXVpLWNoYXJ0cy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRXpELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzVGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBMkJsRSxNQUFNLE9BQU8sd0JBQXdCOzs7WUF6QnBDLFFBQVEsU0FBQztnQkFDTixZQUFZLEVBQUU7b0JBQ1YsaUJBQWlCO29CQUNqQixvQkFBb0I7b0JBQ3BCLHFCQUFxQjtvQkFDckIseUJBQXlCO29CQUN6QixvQkFBb0I7b0JBQ3BCLGlCQUFpQjtpQkFDcEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNMLFlBQVk7b0JBQ1oscUJBQXFCO29CQUNyQixhQUFhO2lCQUNoQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ0wsaUJBQWlCO29CQUNqQixvQkFBb0I7b0JBQ3BCLHFCQUFxQjtvQkFDckIseUJBQXlCO29CQUN6QixvQkFBb0I7b0JBQ3BCLGlCQUFpQjtpQkFDcEI7Z0JBQ0QsU0FBUyxFQUFFLEVBQ1Y7YUFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge01hdExpc3RNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9saXN0XCI7XG5pbXBvcnQge0hpZ2hjaGFydHNDaGFydE1vZHVsZX0gZnJvbSAnaGlnaGNoYXJ0cy1hbmd1bGFyJztcblxuaW1wb3J0IHtDaGFydEJhckNvbXBvbmVudH0gZnJvbSAnLi9jaGFydC1iYXIvY2hhcnQtYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQge0NoYXJ0Q29sdW1uQ29tcG9uZW50fSBmcm9tICcuL2NoYXJ0LWNvbHVtbi9jaGFydC1jb2x1bW4uY29tcG9uZW50JztcbmltcG9ydCB7Q2hhcnRNZXRyaWNzTGlzdENvbXBvbmVudH0gZnJvbSAnLi9jaGFydC1tZXRyaWNzLWxpc3QvY2hhcnQtbWV0cmljcy1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQge0NoYXJ0SGVhdG1hcENvbXBvbmVudH0gZnJvbSAnLi9jaGFydC1oZWF0bWFwL2NoYXJ0LWhlYXRtYXAuY29tcG9uZW50JztcbmltcG9ydCB7Q2hhcnRTcGxpbmVDb21wb25lbnR9IGZyb20gJy4vY2hhcnQtc3BsaW5lL2NoYXJ0LXNwbGluZS5jb21wb25lbnQnO1xuaW1wb3J0IHtDaGFydFBpZUNvbXBvbmVudH0gZnJvbSAnLi9jaGFydC1waWUvY2hhcnQtcGllLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIENoYXJ0QmFyQ29tcG9uZW50LFxuICAgICAgICBDaGFydENvbHVtbkNvbXBvbmVudCxcbiAgICAgICAgQ2hhcnRIZWF0bWFwQ29tcG9uZW50LFxuICAgICAgICBDaGFydE1ldHJpY3NMaXN0Q29tcG9uZW50LFxuICAgICAgICBDaGFydFNwbGluZUNvbXBvbmVudCxcbiAgICAgICAgQ2hhcnRQaWVDb21wb25lbnRcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBIaWdoY2hhcnRzQ2hhcnRNb2R1bGUsXG4gICAgICAgIE1hdExpc3RNb2R1bGVcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgQ2hhcnRCYXJDb21wb25lbnQsXG4gICAgICAgIENoYXJ0Q29sdW1uQ29tcG9uZW50LFxuICAgICAgICBDaGFydEhlYXRtYXBDb21wb25lbnQsXG4gICAgICAgIENoYXJ0TWV0cmljc0xpc3RDb21wb25lbnQsXG4gICAgICAgIENoYXJ0U3BsaW5lQ29tcG9uZW50LFxuICAgICAgICBDaGFydFBpZUNvbXBvbmVudFxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBBZ29yYXB1bHNlVWlDaGFydHNNb2R1bGUge1xufVxuIl19
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { ChartOptions, mergeDeep } from '../chart-options';
|
|
2
|
-
export class ChartBarOptions extends ChartOptions {
|
|
3
|
-
static build(options) {
|
|
4
|
-
const seriesOptions = {
|
|
5
|
-
borderRadiusTopLeft: 100,
|
|
6
|
-
borderRadiusTopRight: 100,
|
|
7
|
-
borderWidth: 0
|
|
8
|
-
};
|
|
9
|
-
const defaultColumnOptions = {
|
|
10
|
-
chart: {
|
|
11
|
-
type: 'bar'
|
|
12
|
-
},
|
|
13
|
-
xAxis: {
|
|
14
|
-
categories: undefined,
|
|
15
|
-
gridLineWidth: 0,
|
|
16
|
-
lineWidth: 0,
|
|
17
|
-
reversed: false,
|
|
18
|
-
tickWidth: 0,
|
|
19
|
-
labels: {
|
|
20
|
-
align: 'center',
|
|
21
|
-
formatter: function () {
|
|
22
|
-
if (this.value && this.value.toString().length > 16) {
|
|
23
|
-
return this.value.toString().substring(0, 15) + "...";
|
|
24
|
-
}
|
|
25
|
-
return this.value.toString();
|
|
26
|
-
},
|
|
27
|
-
style: {
|
|
28
|
-
width: 100
|
|
29
|
-
}
|
|
30
|
-
},
|
|
31
|
-
type: 'category'
|
|
32
|
-
},
|
|
33
|
-
yAxis: {
|
|
34
|
-
type: 'linear',
|
|
35
|
-
minTickInterval: 1
|
|
36
|
-
},
|
|
37
|
-
plotOptions: {
|
|
38
|
-
bar: {
|
|
39
|
-
maxPointWidth: 18,
|
|
40
|
-
pointWidth: 20
|
|
41
|
-
},
|
|
42
|
-
series: seriesOptions
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
return super.build(mergeDeep(defaultColumnOptions, options));
|
|
46
|
-
}
|
|
47
|
-
static configureBar(series, categories, options, opposite, color, labelDateFormat) {
|
|
48
|
-
ChartOptions.configure(series, options, color, labelDateFormat);
|
|
49
|
-
if (categories && categories.length) {
|
|
50
|
-
options.xAxis.categories = categories;
|
|
51
|
-
}
|
|
52
|
-
if (opposite && series.length === 2) {
|
|
53
|
-
const negativeSerie = series[0];
|
|
54
|
-
negativeSerie.borderRadiusBottomLeft = 100;
|
|
55
|
-
negativeSerie.borderRadiusBottomRight = 100;
|
|
56
|
-
negativeSerie.borderRadiusTopLeft = 0;
|
|
57
|
-
negativeSerie.borderRadiusTopRight = 0;
|
|
58
|
-
negativeSerie.data = negativeSerie.data.map((point) => {
|
|
59
|
-
if (point && isNaN(point)) {
|
|
60
|
-
return Object.assign(Object.assign({}, point), { y: -Math.abs(point.y) });
|
|
61
|
-
}
|
|
62
|
-
else if (!isNaN(point)) {
|
|
63
|
-
return -Math.abs(point);
|
|
64
|
-
}
|
|
65
|
-
return point;
|
|
66
|
-
});
|
|
67
|
-
options.plotOptions.series.stacking = 'normal';
|
|
68
|
-
options.yAxis.labels.formatter = function () {
|
|
69
|
-
return Math.abs(this.value) + '%';
|
|
70
|
-
};
|
|
71
|
-
options.tooltip.pointFormatter = function () {
|
|
72
|
-
return `<div style="font-size: 14px; color: #344563; margin: 6px 8px 0 8px;"><span style="color:${this.color};">\u25CF</span> ${this.series.name}: <b>${Math.abs(this.y) + '%'}</b></div>`;
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYmFyLW9wdGlvbnMubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNoYXJ0cy9zcmMvbGliL2NoYXJ0LWJhci9jaGFydC1iYXItb3B0aW9ucy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFFLFNBQVMsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBS3pELE1BQU0sT0FBTyxlQUFnQixTQUFRLFlBQVk7SUFFN0MsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFnQjtRQUN6QixNQUFNLGFBQWEsR0FBNkI7WUFDNUMsbUJBQW1CLEVBQUUsR0FBRztZQUN4QixvQkFBb0IsRUFBRSxHQUFHO1lBQ3pCLFdBQVcsRUFBRSxDQUFDO1NBQ2pCLENBQUM7UUFDRixNQUFNLG9CQUFvQixHQUFZO1lBQ2xDLEtBQUssRUFBRTtnQkFDSCxJQUFJLEVBQUUsS0FBSzthQUNkO1lBQ0QsS0FBSyxFQUFFO2dCQUNILFVBQVUsRUFBRSxTQUFTO2dCQUNyQixhQUFhLEVBQUUsQ0FBQztnQkFDaEIsU0FBUyxFQUFFLENBQUM7Z0JBQ1osUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsU0FBUyxFQUFFLENBQUM7Z0JBQ1osTUFBTSxFQUFFO29CQUNKLEtBQUssRUFBRSxRQUFRO29CQUNmLFNBQVMsRUFBRTt3QkFDUCxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEdBQUcsRUFBRSxFQUFFOzRCQUNqRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUM7eUJBQ3pEO3dCQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQTtvQkFDaEMsQ0FBQztvQkFDRCxLQUFLLEVBQUU7d0JBQ0gsS0FBSyxFQUFFLEdBQUc7cUJBQ2I7aUJBQ0o7Z0JBQ0QsSUFBSSxFQUFFLFVBQVU7YUFDbkI7WUFDRCxLQUFLLEVBQUU7Z0JBQ0gsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsZUFBZSxFQUFFLENBQUM7YUFDckI7WUFDRCxXQUFXLEVBQUU7Z0JBQ1QsR0FBRyxFQUFFO29CQUNELGFBQWEsRUFBRSxFQUFFO29CQUNqQixVQUFVLEVBQUUsRUFBRTtpQkFDakI7Z0JBQ0QsTUFBTSxFQUFFLGFBQWE7YUFDeEI7U0FDSixDQUFDO1FBQ0YsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQTBCLEVBQzFCLFVBQW9CLEVBQ3BCLE9BQWdCLEVBQ2hCLFFBQWlCLEVBQ2pCLEtBQWlCLEVBQ2pCLGVBQXdCO1FBQ3hDLFlBQVksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDaEUsSUFBSSxVQUFVLElBQUksVUFBVSxDQUFDLE1BQU0sRUFBRTtZQUNoQyxPQUFPLENBQUMsS0FBc0IsQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1NBQzNEO1FBQ0QsSUFBSSxRQUFRLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDakMsTUFBTSxhQUFhLEdBQUksTUFBTSxDQUFDLENBQUMsQ0FBNkIsQ0FBQztZQUM3RCxhQUFhLENBQUMsc0JBQXNCLEdBQUcsR0FBRyxDQUFDO1lBQzNDLGFBQWEsQ0FBQyx1QkFBdUIsR0FBRyxHQUFHLENBQUM7WUFDNUMsYUFBYSxDQUFDLG1CQUFtQixHQUFHLENBQUMsQ0FBQztZQUN0QyxhQUFhLENBQUMsb0JBQW9CLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZDLGFBQWEsQ0FBQyxJQUFJLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRTtnQkFDdkQsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUN2Qix1Q0FDTyxLQUFLLEtBQ1IsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQ3ZCO2lCQUNMO3FCQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUMzQjtnQkFDRCxPQUFPLEtBQUssQ0FBQztZQUNqQixDQUFDLENBQUMsQ0FBQTtZQUNGLE9BQU8sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7WUFDOUMsT0FBTyxDQUFDLEtBQXNCLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRztnQkFDL0MsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUM7WUFDdEMsQ0FBQyxDQUFBO1lBQ0QsT0FBTyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEdBQUc7Z0JBQzdCLE9BQU8sMkZBQTJGLElBQUksQ0FBQyxLQUFLLG9CQUFvQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksUUFBUSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLFlBQVksQ0FBQztZQUMvTCxDQUFDLENBQUE7U0FDSjtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhcnRPcHRpb25zLCBtZXJnZURlZXB9IGZyb20gJy4uL2NoYXJ0LW9wdGlvbnMnO1xuaW1wb3J0IHtPcHRpb25zLCBTZXJpZXNCYXJPcHRpb25zLCBYQXhpc09wdGlvbnMsIFlBeGlzT3B0aW9uc30gZnJvbSAnaGlnaGNoYXJ0cyc7XG5pbXBvcnQge1Bsb3RSb3VuZGVkU2VyaWVzT3B0aW9ucywgU2VyaWVzUm91bmRlZEJhck9wdGlvbnN9IGZyb20gXCIuLy4uL2hpZ2hjaGFydC1zZXJpZXMubW9kZWxcIjtcbmltcG9ydCB7Q2hhcnRDb2xvcn0gZnJvbSAnLi8uLi9jaGFydC1jb2xvcnMnO1xuXG5leHBvcnQgY2xhc3MgQ2hhcnRCYXJPcHRpb25zIGV4dGVuZHMgQ2hhcnRPcHRpb25zIHtcblxuICAgIHN0YXRpYyBidWlsZChvcHRpb25zOiBPcHRpb25zKTogT3B0aW9ucyB7XG4gICAgICAgIGNvbnN0IHNlcmllc09wdGlvbnM6IFBsb3RSb3VuZGVkU2VyaWVzT3B0aW9ucyA9IHtcbiAgICAgICAgICAgIGJvcmRlclJhZGl1c1RvcExlZnQ6IDEwMCxcbiAgICAgICAgICAgIGJvcmRlclJhZGl1c1RvcFJpZ2h0OiAxMDAsXG4gICAgICAgICAgICBib3JkZXJXaWR0aDogMFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBkZWZhdWx0Q29sdW1uT3B0aW9uczogT3B0aW9ucyA9IHtcbiAgICAgICAgICAgIGNoYXJ0OiB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ2JhcidcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB4QXhpczoge1xuICAgICAgICAgICAgICAgIGNhdGVnb3JpZXM6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBncmlkTGluZVdpZHRoOiAwLFxuICAgICAgICAgICAgICAgIGxpbmVXaWR0aDogMCxcbiAgICAgICAgICAgICAgICByZXZlcnNlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgdGlja1dpZHRoOiAwLFxuICAgICAgICAgICAgICAgIGxhYmVsczoge1xuICAgICAgICAgICAgICAgICAgICBhbGlnbjogJ2NlbnRlcicsXG4gICAgICAgICAgICAgICAgICAgIGZvcm1hdHRlcjogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudmFsdWUgJiYgdGhpcy52YWx1ZS50b1N0cmluZygpLmxlbmd0aCA+IDE2KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUudG9TdHJpbmcoKS5zdWJzdHJpbmcoMCwgMTUpICsgXCIuLi5cIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlLnRvU3RyaW5nKClcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdHlwZTogJ2NhdGVnb3J5J1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHlBeGlzOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ2xpbmVhcicsXG4gICAgICAgICAgICAgICAgbWluVGlja0ludGVydmFsOiAxXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcGxvdE9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICBiYXI6IHtcbiAgICAgICAgICAgICAgICAgICAgbWF4UG9pbnRXaWR0aDogMTgsXG4gICAgICAgICAgICAgICAgICAgIHBvaW50V2lkdGg6IDIwXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBzZXJpZXM6IHNlcmllc09wdGlvbnNcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHN1cGVyLmJ1aWxkKG1lcmdlRGVlcChkZWZhdWx0Q29sdW1uT3B0aW9ucywgb3B0aW9ucykpO1xuICAgIH1cblxuICAgIHN0YXRpYyBjb25maWd1cmVCYXIoc2VyaWVzOiBTZXJpZXNCYXJPcHRpb25zW10sXG4gICAgICAgICAgICAgICAgICAgICAgICBjYXRlZ29yaWVzOiBzdHJpbmdbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IE9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHBvc2l0ZTogYm9vbGVhbixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBDaGFydENvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWxEYXRlRm9ybWF0Pzogc3RyaW5nKSB7XG4gICAgICAgIENoYXJ0T3B0aW9ucy5jb25maWd1cmUoc2VyaWVzLCBvcHRpb25zLCBjb2xvciwgbGFiZWxEYXRlRm9ybWF0KTtcbiAgICAgICAgaWYgKGNhdGVnb3JpZXMgJiYgY2F0ZWdvcmllcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIChvcHRpb25zLnhBeGlzIGFzIFhBeGlzT3B0aW9ucykuY2F0ZWdvcmllcyA9IGNhdGVnb3JpZXM7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wcG9zaXRlICYmIHNlcmllcy5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICAgIGNvbnN0IG5lZ2F0aXZlU2VyaWUgPSAoc2VyaWVzWzBdIGFzIFNlcmllc1JvdW5kZWRCYXJPcHRpb25zKTtcbiAgICAgICAgICAgIG5lZ2F0aXZlU2VyaWUuYm9yZGVyUmFkaXVzQm90dG9tTGVmdCA9IDEwMDtcbiAgICAgICAgICAgIG5lZ2F0aXZlU2VyaWUuYm9yZGVyUmFkaXVzQm90dG9tUmlnaHQgPSAxMDA7XG4gICAgICAgICAgICBuZWdhdGl2ZVNlcmllLmJvcmRlclJhZGl1c1RvcExlZnQgPSAwO1xuICAgICAgICAgICAgbmVnYXRpdmVTZXJpZS5ib3JkZXJSYWRpdXNUb3BSaWdodCA9IDA7XG4gICAgICAgICAgICBuZWdhdGl2ZVNlcmllLmRhdGEgPSBuZWdhdGl2ZVNlcmllLmRhdGEubWFwKChwb2ludDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHBvaW50ICYmIGlzTmFOKHBvaW50KSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4ucG9pbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICB5OiAtTWF0aC5hYnMocG9pbnQueSlcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFpc05hTihwb2ludCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1NYXRoLmFicyhwb2ludCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBwb2ludDtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBvcHRpb25zLnBsb3RPcHRpb25zLnNlcmllcy5zdGFja2luZyA9ICdub3JtYWwnO1xuICAgICAgICAgICAgKG9wdGlvbnMueUF4aXMgYXMgWUF4aXNPcHRpb25zKS5sYWJlbHMuZm9ybWF0dGVyID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBNYXRoLmFicyh0aGlzLnZhbHVlKSArICclJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG9wdGlvbnMudG9vbHRpcC5wb2ludEZvcm1hdHRlciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYDxkaXYgc3R5bGU9XCJmb250LXNpemU6IDE0cHg7IGNvbG9yOiAjMzQ0NTYzOyBtYXJnaW46IDZweCA4cHggMCA4cHg7XCI+PHNwYW4gc3R5bGU9XCJjb2xvcjoke3RoaXMuY29sb3J9O1wiPlxcdTI1Q0Y8L3NwYW4+ICR7dGhpcy5zZXJpZXMubmFtZX06IDxiPiR7TWF0aC5hYnModGhpcy55KSArICclJ308L2I+PC9kaXY+YDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { Component, ElementRef, Input, ViewChild } from '@angular/core';
|
|
2
|
-
import { Chart } from 'highcharts';
|
|
3
|
-
import { ChartBarOptions } from './chart-bar-options.model';
|
|
4
|
-
import { ChartColor } from "../chart-colors";
|
|
5
|
-
export class ChartBarComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.categories = [];
|
|
8
|
-
this.chartOptions = {}; // https://api.highcharts.com/highcharts/
|
|
9
|
-
this.color = ChartColor.ElectricBlue;
|
|
10
|
-
this.lastWidth = 0;
|
|
11
|
-
}
|
|
12
|
-
ngOnChanges(changes) {
|
|
13
|
-
if ((changes.series && !changes.series.firstChange) || (changes.color && !changes.color.firstChange)) {
|
|
14
|
-
this.initChart();
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
ngAfterViewChecked() {
|
|
18
|
-
if (this.chartRef && this.chartRef.nativeElement.clientWidth != this.lastWidth) {
|
|
19
|
-
this.lastWidth = this.chartRef.nativeElement.clientWidth;
|
|
20
|
-
if (this.chart) {
|
|
21
|
-
this.chart.reflow();
|
|
22
|
-
}
|
|
23
|
-
else if (this.series && this.series.length) {
|
|
24
|
-
this.initChart();
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
initChart() {
|
|
29
|
-
if (this.series) {
|
|
30
|
-
this.chartOptions = ChartBarOptions.build(this.chartOptions);
|
|
31
|
-
ChartBarOptions.configureBar(this.series, this.categories, this.chartOptions, this.opposite, this.color, this.labelDateFormat);
|
|
32
|
-
this.chart = new Chart(this.chartRef.nativeElement, this.chartOptions);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
ChartBarComponent.decorators = [
|
|
37
|
-
{ type: Component, args: [{
|
|
38
|
-
selector: 'ap-chart-bar',
|
|
39
|
-
template: "<div #chart></div>\n",
|
|
40
|
-
styles: [""]
|
|
41
|
-
},] }
|
|
42
|
-
];
|
|
43
|
-
ChartBarComponent.propDecorators = {
|
|
44
|
-
chartRef: [{ type: ViewChild, args: ['chart',] }],
|
|
45
|
-
categories: [{ type: Input }],
|
|
46
|
-
chartOptions: [{ type: Input }],
|
|
47
|
-
color: [{ type: Input }],
|
|
48
|
-
labelDateFormat: [{ type: Input }],
|
|
49
|
-
opposite: [{ type: Input }],
|
|
50
|
-
series: [{ type: Input }]
|
|
51
|
-
};
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY2hhcnRzL3NyYy9saWIvY2hhcnQtYmFyL2NoYXJ0LWJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBNEIsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2xILE9BQU8sRUFBQyxLQUFLLEVBQTRCLE1BQU0sWUFBWSxDQUFDO0FBQzVELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFPM0MsTUFBTSxPQUFPLGlCQUFpQjtJQUw5QjtRQVNhLGVBQVUsR0FBYSxFQUFFLENBQUM7UUFDMUIsaUJBQVksR0FBWSxFQUFFLENBQUMsQ0FBQyx5Q0FBeUM7UUFDckUsVUFBSyxHQUFlLFVBQVUsQ0FBQyxZQUFZLENBQUM7UUFNN0MsY0FBUyxHQUFHLENBQUMsQ0FBQztJQTBCMUIsQ0FBQztJQXhCRyxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDbEcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ3BCO0lBQ0wsQ0FBQztJQUVELGtCQUFrQjtRQUNkLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUM1RSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztZQUN6RCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUN2QjtpQkFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7Z0JBQzFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQzthQUNwQjtTQUNKO0lBQ0wsQ0FBQztJQUVELFNBQVM7UUFDTCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDYixJQUFJLENBQUMsWUFBWSxHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzdELGVBQWUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUMvSCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUMxRTtJQUNMLENBQUM7OztZQTFDSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGNBQWM7Z0JBQ3hCLGdDQUF5Qzs7YUFFNUM7Ozt1QkFHSSxTQUFTLFNBQUMsT0FBTzt5QkFFakIsS0FBSzsyQkFDTCxLQUFLO29CQUNMLEtBQUs7OEJBQ0wsS0FBSzt1QkFDTCxLQUFLO3FCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0NoZWNrZWQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q2hhcnQsIE9wdGlvbnMsIFNlcmllc0Jhck9wdGlvbnN9IGZyb20gJ2hpZ2hjaGFydHMnO1xuaW1wb3J0IHtDaGFydEJhck9wdGlvbnN9IGZyb20gJy4vY2hhcnQtYmFyLW9wdGlvbnMubW9kZWwnO1xuaW1wb3J0IHtDaGFydENvbG9yfSBmcm9tIFwiLi4vY2hhcnQtY29sb3JzXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXAtY2hhcnQtYmFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2hhcnQtYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jaGFydC1iYXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDaGFydEJhckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0NoZWNrZWQsIE9uQ2hhbmdlcyB7XG5cbiAgICBAVmlld0NoaWxkKCdjaGFydCcpIGNoYXJ0UmVmOiBFbGVtZW50UmVmO1xuXG4gICAgQElucHV0KCkgY2F0ZWdvcmllczogc3RyaW5nW10gPSBbXTtcbiAgICBASW5wdXQoKSBjaGFydE9wdGlvbnM6IE9wdGlvbnMgPSB7fTsgLy8gaHR0cHM6Ly9hcGkuaGlnaGNoYXJ0cy5jb20vaGlnaGNoYXJ0cy9cbiAgICBASW5wdXQoKSBjb2xvcjogQ2hhcnRDb2xvciA9IENoYXJ0Q29sb3IuRWxlY3RyaWNCbHVlO1xuICAgIEBJbnB1dCgpIGxhYmVsRGF0ZUZvcm1hdDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIG9wcG9zaXRlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHNlcmllczogU2VyaWVzQmFyT3B0aW9uc1tdO1xuXG4gICAgcHJpdmF0ZSBjaGFydDogQ2hhcnQ7XG4gICAgcHJpdmF0ZSBsYXN0V2lkdGggPSAwO1xuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoKGNoYW5nZXMuc2VyaWVzICYmICFjaGFuZ2VzLnNlcmllcy5maXJzdENoYW5nZSkgfHwgKGNoYW5nZXMuY29sb3IgJiYgIWNoYW5nZXMuY29sb3IuZmlyc3RDaGFuZ2UpKSB7XG4gICAgICAgICAgICB0aGlzLmluaXRDaGFydCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgICAgICBpZiAodGhpcy5jaGFydFJlZiAmJiB0aGlzLmNoYXJ0UmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGggIT0gdGhpcy5sYXN0V2lkdGgpIHtcbiAgICAgICAgICAgIHRoaXMubGFzdFdpZHRoID0gdGhpcy5jaGFydFJlZi5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoO1xuICAgICAgICAgICAgaWYgKHRoaXMuY2hhcnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNoYXJ0LnJlZmxvdygpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnNlcmllcyAmJiB0aGlzLnNlcmllcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRDaGFydCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5pdENoYXJ0KCkge1xuICAgICAgICBpZiAodGhpcy5zZXJpZXMpIHtcbiAgICAgICAgICAgIHRoaXMuY2hhcnRPcHRpb25zID0gQ2hhcnRCYXJPcHRpb25zLmJ1aWxkKHRoaXMuY2hhcnRPcHRpb25zKTtcbiAgICAgICAgICAgIENoYXJ0QmFyT3B0aW9ucy5jb25maWd1cmVCYXIodGhpcy5zZXJpZXMsIHRoaXMuY2F0ZWdvcmllcywgdGhpcy5jaGFydE9wdGlvbnMsIHRoaXMub3Bwb3NpdGUsIHRoaXMuY29sb3IsIHRoaXMubGFiZWxEYXRlRm9ybWF0KTtcbiAgICAgICAgICAgIHRoaXMuY2hhcnQgPSBuZXcgQ2hhcnQodGhpcy5jaGFydFJlZi5uYXRpdmVFbGVtZW50LCB0aGlzLmNoYXJ0T3B0aW9ucyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import { ChartOptions, mergeDeep } from '../chart-options';
|
|
2
|
-
import { dateFormat } from 'highcharts';
|
|
3
|
-
export class ChartColumnOptions extends ChartOptions {
|
|
4
|
-
static buildColumn(options, simple) {
|
|
5
|
-
const defaultColumnOptions = {
|
|
6
|
-
chart: {
|
|
7
|
-
type: 'column'
|
|
8
|
-
},
|
|
9
|
-
legend: {
|
|
10
|
-
symbolHeight: 10
|
|
11
|
-
},
|
|
12
|
-
plotOptions: {
|
|
13
|
-
column: {
|
|
14
|
-
stacking: 'normal',
|
|
15
|
-
borderWidth: 0,
|
|
16
|
-
maxPointWidth: 20,
|
|
17
|
-
events: {
|
|
18
|
-
hide: function () {
|
|
19
|
-
ChartColumnOptions.redrawWithRoundedColumns(this.chart);
|
|
20
|
-
},
|
|
21
|
-
show: function () {
|
|
22
|
-
ChartColumnOptions.redrawWithRoundedColumns(this.chart);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
},
|
|
27
|
-
xAxis: {
|
|
28
|
-
type: 'datetime'
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
const simpleColumnOptions = {
|
|
32
|
-
chart: {
|
|
33
|
-
type: 'column',
|
|
34
|
-
height: '80px'
|
|
35
|
-
},
|
|
36
|
-
credits: {
|
|
37
|
-
enabled: false
|
|
38
|
-
},
|
|
39
|
-
plotOptions: {
|
|
40
|
-
column: {
|
|
41
|
-
events: {
|
|
42
|
-
hide: function () {
|
|
43
|
-
ChartColumnOptions.redrawWithRoundedColumns(this.chart);
|
|
44
|
-
},
|
|
45
|
-
show: function () {
|
|
46
|
-
ChartColumnOptions.redrawWithRoundedColumns(this.chart);
|
|
47
|
-
}
|
|
48
|
-
},
|
|
49
|
-
}
|
|
50
|
-
},
|
|
51
|
-
xAxis: {
|
|
52
|
-
type: 'datetime',
|
|
53
|
-
crosshair: true,
|
|
54
|
-
labels: {
|
|
55
|
-
enabled: false,
|
|
56
|
-
formatter: function () {
|
|
57
|
-
return dateFormat('%m/%d', this.value);
|
|
58
|
-
}
|
|
59
|
-
},
|
|
60
|
-
lineWidth: 0,
|
|
61
|
-
tickWidth: 0,
|
|
62
|
-
gridLineWidth: 0
|
|
63
|
-
},
|
|
64
|
-
yAxis: {
|
|
65
|
-
min: 0,
|
|
66
|
-
labels: {
|
|
67
|
-
enabled: false
|
|
68
|
-
},
|
|
69
|
-
gridLineWidth: 0
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
return super.build(mergeDeep(simple ? simpleColumnOptions : defaultColumnOptions, options));
|
|
73
|
-
}
|
|
74
|
-
static redrawWithRoundedColumns(chart) {
|
|
75
|
-
chart.series.map((serie, serieIndex, arr) => {
|
|
76
|
-
ChartColumnOptions.roundSerie(arr, serie.options, serieIndex);
|
|
77
|
-
});
|
|
78
|
-
chart.redraw(true);
|
|
79
|
-
}
|
|
80
|
-
static roundSerie(series, serie, serieIndex) {
|
|
81
|
-
const roundedOptionMap = [];
|
|
82
|
-
let borderRadius = 0;
|
|
83
|
-
if (serie.data) {
|
|
84
|
-
serie.data.forEach((point, columnIndex) => {
|
|
85
|
-
// Check if all previous stacked data at the same abscissa (located higher on the graph) are missing or have a value of 0
|
|
86
|
-
// if so, it means that this point is the visual top of the column, so we should round it
|
|
87
|
-
const roundedColumnEnabled = series.slice(0, serieIndex)
|
|
88
|
-
.every(otherSerie => {
|
|
89
|
-
if (otherSerie.visible === false) {
|
|
90
|
-
return true;
|
|
91
|
-
}
|
|
92
|
-
const pointAtSameAbscissa = otherSerie.options.data.find(otherPoint => otherPoint[0] === point[0]);
|
|
93
|
-
return !pointAtSameAbscissa || pointAtSameAbscissa[1] === 0;
|
|
94
|
-
});
|
|
95
|
-
borderRadius = roundedColumnEnabled ? 100 : 0;
|
|
96
|
-
roundedOptionMap[columnIndex] = borderRadius;
|
|
97
|
-
});
|
|
98
|
-
serie.borderRadiusTopLeft = roundedOptionMap;
|
|
99
|
-
serie.borderRadiusTopRight = roundedOptionMap;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtY29sdW1uLW9wdGlvbnMubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNoYXJ0cy9zcmMvbGliL2NoYXJ0LWNvbHVtbi9jaGFydC1jb2x1bW4tb3B0aW9ucy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFFLFNBQVMsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3pELE9BQU8sRUFBUSxVQUFVLEVBQWtCLE1BQU0sWUFBWSxDQUFDO0FBRzlELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxZQUFZO0lBRWhELE1BQU0sQ0FBQyxXQUFXLENBQUMsT0FBZ0IsRUFBRSxNQUFlO1FBQ2hELE1BQU0sb0JBQW9CLEdBQVk7WUFDbEMsS0FBSyxFQUFFO2dCQUNILElBQUksRUFBRSxRQUFRO2FBQ2pCO1lBQ0QsTUFBTSxFQUFFO2dCQUNKLFlBQVksRUFBRSxFQUFFO2FBQ25CO1lBQ0QsV0FBVyxFQUFFO2dCQUNULE1BQU0sRUFBRTtvQkFDSixRQUFRLEVBQUUsUUFBUTtvQkFDbEIsV0FBVyxFQUFFLENBQUM7b0JBQ2QsYUFBYSxFQUFFLEVBQUU7b0JBQ2pCLE1BQU0sRUFBRTt3QkFDSixJQUFJLEVBQUU7NEJBQ0Ysa0JBQWtCLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUM1RCxDQUFDO3dCQUNELElBQUksRUFBRTs0QkFDRixrQkFBa0IsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQzVELENBQUM7cUJBQ0o7aUJBQ0o7YUFDSjtZQUNELEtBQUssRUFBRTtnQkFDSCxJQUFJLEVBQUUsVUFBVTthQUNuQjtTQUNKLENBQUM7UUFDRixNQUFNLG1CQUFtQixHQUFZO1lBQ2pDLEtBQUssRUFBRTtnQkFDSCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxNQUFNLEVBQUUsTUFBTTthQUNqQjtZ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QUFDLG1CQUFtQixHQUFHLGdCQUFnQixDQUFDO1lBQzdDLEtBQUssQ0FBQyxvQkFBb0IsR0FBRyxnQkFBZ0IsQ0FBQztTQUNqRDtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhcnRPcHRpb25zLCBtZXJnZURlZXB9IGZyb20gJy4uL2NoYXJ0LW9wdGlvbnMnO1xuaW1wb3J0IHtDaGFydCwgZGF0ZUZvcm1hdCwgT3B0aW9ucywgU2VyaWVzfSBmcm9tICdoaWdoY2hhcnRzJztcbmltcG9ydCB7U2VyaWVzUm91bmRlZENvbHVtbk9wdGlvbnN9IGZyb20gJy4uL2hpZ2hjaGFydC1zZXJpZXMubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgQ2hhcnRDb2x1bW5PcHRpb25zIGV4dGVuZHMgQ2hhcnRPcHRpb25zIHtcblxuICAgIHN0YXRpYyBidWlsZENvbHVtbihvcHRpb25zOiBPcHRpb25zLCBzaW1wbGU6IGJvb2xlYW4pOiBPcHRpb25zIHtcbiAgICAgICAgY29uc3QgZGVmYXVsdENvbHVtbk9wdGlvbnM6IE9wdGlvbnMgPSB7XG4gICAgICAgICAgICBjaGFydDoge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdjb2x1bW4nXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbGVnZW5kOiB7XG4gICAgICAgICAgICAgICAgc3ltYm9sSGVpZ2h0OiAxMFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHBsb3RPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgY29sdW1uOiB7XG4gICAgICAgICAgICAgICAgICAgIHN0YWNraW5nOiAnbm9ybWFsJyxcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyV2lkdGg6IDAsXG4gICAgICAgICAgICAgICAgICAgIG1heFBvaW50V2lkdGg6IDIwLFxuICAgICAgICAgICAgICAgICAgICBldmVudHM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhpZGU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDaGFydENvbHVtbk9wdGlvbnMucmVkcmF3V2l0aFJvdW5kZWRDb2x1bW5zKHRoaXMuY2hhcnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNob3c6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDaGFydENvbHVtbk9wdGlvbnMucmVkcmF3V2l0aFJvdW5kZWRDb2x1bW5zKHRoaXMuY2hhcnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHhBeGlzOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ2RhdGV0aW1lJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBzaW1wbGVDb2x1bW5PcHRpb25zOiBPcHRpb25zID0ge1xuICAgICAgICAgICAgY2hhcnQ6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnY29sdW1uJyxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICc4MHB4J1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNyZWRpdHM6IHtcbiAgICAgICAgICAgICAgICBlbmFibGVkOiBmYWxzZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHBsb3RPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgY29sdW1uOiB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50czoge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGlkZTogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIENoYXJ0Q29sdW1uT3B0aW9ucy5yZWRyYXdXaXRoUm91bmRlZENvbHVtbnModGhpcy5jaGFydCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgc2hvdzogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIENoYXJ0Q29sdW1uT3B0aW9ucy5yZWRyYXdXaXRoUm91bmRlZENvbHVtbnModGhpcy5jaGFydCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHhBeGlzOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ2RhdGV0aW1lJyxcbiAgICAgICAgICAgICAgICBjcm9zc2hhaXI6IHRydWUsXG4gICAgICAgICAgICAgICAgbGFiZWxzOiB7XG4gICAgICAgICAgICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBmb3JtYXR0ZXI6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRlRm9ybWF0KCclbS8lZCcsIHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBsaW5lV2lkdGg6IDAsXG4gICAgICAgICAgICAgICAgdGlja1dpZHRoOiAwLFxuICAgICAgICAgICAgICAgIGdyaWRMaW5lV2lkdGg6IDBcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB5QXhpczoge1xuICAgICAgICAgICAgICAgIG1pbjogMCxcbiAgICAgICAgICAgICAgICBsYWJlbHM6IHtcbiAgICAgICAgICAgICAgICAgICAgZW5hYmxlZDogZmFsc2VcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGdyaWRMaW5lV2lkdGg6IDBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHN1cGVyLmJ1aWxkKG1lcmdlRGVlcChzaW1wbGUgPyBzaW1wbGVDb2x1bW5PcHRpb25zIDogZGVmYXVsdENvbHVtbk9wdGlvbnMsIG9wdGlvbnMpKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgcmVkcmF3V2l0aFJvdW5kZWRDb2x1bW5zKGNoYXJ0OiBDaGFydCkge1xuICAgICAgICBjaGFydC5zZXJpZXMubWFwKChzZXJpZSwgc2VyaWVJbmRleDogbnVtYmVyLCBhcnIpID0+IHtcbiAgICAgICAgICAgIENoYXJ0Q29sdW1uT3B0aW9ucy5yb3VuZFNlcmllKGFyciwgc2VyaWUub3B0aW9ucyBhcyBTZXJpZXNSb3VuZGVkQ29sdW1uT3B0aW9ucywgc2VyaWVJbmRleCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjaGFydC5yZWRyYXcodHJ1ZSk7XG4gICAgfVxuXG4gICAgc3RhdGljIHJvdW5kU2VyaWUoc2VyaWVzOiBTZXJpZXNbXSwgc2VyaWU6IFNlcmllc1JvdW5kZWRDb2x1bW5PcHRpb25zLCBzZXJpZUluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgcm91bmRlZE9wdGlvbk1hcCA9IFtdO1xuICAgICAgICBsZXQgYm9yZGVyUmFkaXVzID0gMDtcbiAgICAgICAgaWYgKHNlcmllLmRhdGEpIHtcbiAgICAgICAgICAgIHNlcmllLmRhdGEuZm9yRWFjaCgocG9pbnQsIGNvbHVtbkluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gQ2hlY2sgaWYgYWxsIHByZXZpb3VzIHN0YWNrZWQgZGF0YSBhdCB0aGUgc2FtZSBhYnNjaXNzYSAobG9jYXRlZCBoaWdoZXIgb24gdGhlIGdyYXBoKSBhcmUgbWlzc2luZyBvciBoYXZlIGEgdmFsdWUgb2YgMFxuICAgICAgICAgICAgICAgIC8vIGlmIHNvLCBpdCBtZWFucyB0aGF0IHRoaXMgcG9pbnQgaXMgdGhlIHZpc3VhbCB0b3Agb2YgdGhlIGNvbHVtbiwgc28gd2Ugc2hvdWxkIHJvdW5kIGl0XG4gICAgICAgICAgICAgICAgY29uc3Qgcm91bmRlZENvbHVtbkVuYWJsZWQgPSBzZXJpZXMuc2xpY2UoMCwgc2VyaWVJbmRleClcbiAgICAgICAgICAgICAgICAgICAgLmV2ZXJ5KG90aGVyU2VyaWUgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG90aGVyU2VyaWUudmlzaWJsZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvaW50QXRTYW1lQWJzY2lzc2EgPSAob3RoZXJTZXJpZS5vcHRpb25zIGFzIFNlcmllc1JvdW5kZWRDb2x1bW5PcHRpb25zKS5kYXRhLmZpbmQob3RoZXJQb2ludCA9PiBvdGhlclBvaW50WzBdID09PSBwb2ludFswXSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAhcG9pbnRBdFNhbWVBYnNjaXNzYSB8fCBwb2ludEF0U2FtZUFic2Npc3NhWzFdID09PSAwO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXMgPSByb3VuZGVkQ29sdW1uRW5hYmxlZCA/IDEwMCA6IDA7XG4gICAgICAgICAgICAgICAgcm91bmRlZE9wdGlvbk1hcFtjb2x1bW5JbmRleF0gPSBib3JkZXJSYWRpdXM7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHNlcmllLmJvcmRlclJhZGl1c1RvcExlZnQgPSByb3VuZGVkT3B0aW9uTWFwO1xuICAgICAgICAgICAgc2VyaWUuYm9yZGVyUmFkaXVzVG9wUmlnaHQgPSByb3VuZGVkT3B0aW9uTWFwO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { Component, ElementRef, Input, ViewChild } from '@angular/core';
|
|
2
|
-
import { ChartColumnOptions } from './chart-column-options.model';
|
|
3
|
-
import { ChartColor } from "../chart-colors";
|
|
4
|
-
import { Chart } from 'highcharts';
|
|
5
|
-
export class ChartColumnComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.chartOptions = {}; // https://api.highcharts.com/highcharts/
|
|
8
|
-
this.color = ChartColor.ElectricBlue;
|
|
9
|
-
this.simple = false;
|
|
10
|
-
this.lastWidth = 0;
|
|
11
|
-
}
|
|
12
|
-
ngOnChanges(changes) {
|
|
13
|
-
if ((changes.series && !changes.series.firstChange) || (changes.color && !changes.color.firstChange)) {
|
|
14
|
-
this.initChart();
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
ngAfterViewChecked() {
|
|
18
|
-
if (this.chartRef && this.chartRef.nativeElement.clientWidth != this.lastWidth) {
|
|
19
|
-
this.lastWidth = this.chartRef.nativeElement.clientWidth;
|
|
20
|
-
if (this.chart) {
|
|
21
|
-
this.chart.reflow();
|
|
22
|
-
}
|
|
23
|
-
else if (this.series && this.series.length) {
|
|
24
|
-
this.initChart();
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
initChart() {
|
|
29
|
-
if (this.series) {
|
|
30
|
-
this.chartOptions = ChartColumnOptions.buildColumn(this.chartOptions, this.simple);
|
|
31
|
-
ChartColumnOptions.configure(this.series, this.chartOptions, this.color, this.labelDateFormat);
|
|
32
|
-
this.chart = new Chart(this.chartRef.nativeElement, this.chartOptions);
|
|
33
|
-
if (this.chart) {
|
|
34
|
-
ChartColumnOptions.redrawWithRoundedColumns(this.chart);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
ChartColumnComponent.decorators = [
|
|
40
|
-
{ type: Component, args: [{
|
|
41
|
-
selector: 'ap-chart-column',
|
|
42
|
-
template: "<div #chart></div>\n",
|
|
43
|
-
styles: [""]
|
|
44
|
-
},] }
|
|
45
|
-
];
|
|
46
|
-
ChartColumnComponent.propDecorators = {
|
|
47
|
-
chartRef: [{ type: ViewChild, args: ['chart',] }],
|
|
48
|
-
chartOptions: [{ type: Input }],
|
|
49
|
-
color: [{ type: Input }],
|
|
50
|
-
labelDateFormat: [{ type: Input }],
|
|
51
|
-
series: [{ type: Input }],
|
|
52
|
-
simple: [{ type: Input }]
|
|
53
|
-
};
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY2hhcnRzL3NyYy9saWIvY2hhcnQtY29sdW1uL2NoYXJ0LWNvbHVtbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBNEIsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2xILE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUMsS0FBSyxFQUErQixNQUFNLFlBQVksQ0FBQztBQU8vRCxNQUFNLE9BQU8sb0JBQW9CO0lBTGpDO1FBU2EsaUJBQVksR0FBWSxFQUFFLENBQUMsQ0FBQyx5Q0FBeUM7UUFDckUsVUFBSyxHQUFlLFVBQVUsQ0FBQyxZQUFZLENBQUM7UUFHNUMsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUd6QixjQUFTLEdBQUcsQ0FBQyxDQUFDO0lBNkIxQixDQUFDO0lBM0JHLFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNsRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDcEI7SUFDTCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2QsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQzVFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO1lBQ3pELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDWixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQ3ZCO2lCQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtnQkFDMUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2FBQ3BCO1NBQ0o7SUFDTCxDQUFDO0lBRUQsU0FBUztRQUNMLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNiLElBQUksQ0FBQyxZQUFZLEdBQUcsa0JBQWtCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25GLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDL0YsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDdkUsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNaLGtCQUFrQixDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUMzRDtTQUNKO0lBQ0wsQ0FBQzs7O1lBNUNKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQixnQ0FBNEM7O2FBRS9DOzs7dUJBR0ksU0FBUyxTQUFDLE9BQU87MkJBRWpCLEtBQUs7b0JBQ0wsS0FBSzs4QkFDTCxLQUFLO3FCQUNMLEtBQUs7cUJBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3Q2hlY2tlZCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDaGFydENvbHVtbk9wdGlvbnN9IGZyb20gJy4vY2hhcnQtY29sdW1uLW9wdGlvbnMubW9kZWwnO1xuaW1wb3J0IHtDaGFydENvbG9yfSBmcm9tIFwiLi4vY2hhcnQtY29sb3JzXCI7XG5pbXBvcnQge0NoYXJ0LCBPcHRpb25zLCBTZXJpZXNDb2x1bW5PcHRpb25zfSBmcm9tICdoaWdoY2hhcnRzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcC1jaGFydC1jb2x1bW4nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jaGFydC1jb2x1bW4uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NoYXJ0LWNvbHVtbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENoYXJ0Q29sdW1uQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3Q2hlY2tlZCwgT25DaGFuZ2VzIHtcblxuICAgIEBWaWV3Q2hpbGQoJ2NoYXJ0JykgY2hhcnRSZWY6IEVsZW1lbnRSZWY7XG5cbiAgICBASW5wdXQoKSBjaGFydE9wdGlvbnM6IE9wdGlvbnMgPSB7fTsgLy8gaHR0cHM6Ly9hcGkuaGlnaGNoYXJ0cy5jb20vaGlnaGNoYXJ0cy9cbiAgICBASW5wdXQoKSBjb2xvcjogQ2hhcnRDb2xvciA9IENoYXJ0Q29sb3IuRWxlY3RyaWNCbHVlO1xuICAgIEBJbnB1dCgpIGxhYmVsRGF0ZUZvcm1hdDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHNlcmllczogU2VyaWVzQ29sdW1uT3B0aW9uc1tdO1xuICAgIEBJbnB1dCgpIHNpbXBsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBjaGFydDogQ2hhcnQ7XG4gICAgcHJpdmF0ZSBsYXN0V2lkdGggPSAwO1xuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoKGNoYW5nZXMuc2VyaWVzICYmICFjaGFuZ2VzLnNlcmllcy5maXJzdENoYW5nZSkgfHwgKGNoYW5nZXMuY29sb3IgJiYgIWNoYW5nZXMuY29sb3IuZmlyc3RDaGFuZ2UpKSB7XG4gICAgICAgICAgICB0aGlzLmluaXRDaGFydCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgICAgICBpZiAodGhpcy5jaGFydFJlZiAmJiB0aGlzLmNoYXJ0UmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGggIT0gdGhpcy5sYXN0V2lkdGgpIHtcbiAgICAgICAgICAgIHRoaXMubGFzdFdpZHRoID0gdGhpcy5jaGFydFJlZi5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoO1xuICAgICAgICAgICAgaWYgKHRoaXMuY2hhcnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNoYXJ0LnJlZmxvdygpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnNlcmllcyAmJiB0aGlzLnNlcmllcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRDaGFydCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5pdENoYXJ0KCkge1xuICAgICAgICBpZiAodGhpcy5zZXJpZXMpIHtcbiAgICAgICAgICAgIHRoaXMuY2hhcnRPcHRpb25zID0gQ2hhcnRDb2x1bW5PcHRpb25zLmJ1aWxkQ29sdW1uKHRoaXMuY2hhcnRPcHRpb25zLCB0aGlzLnNpbXBsZSk7XG4gICAgICAgICAgICBDaGFydENvbHVtbk9wdGlvbnMuY29uZmlndXJlKHRoaXMuc2VyaWVzLCB0aGlzLmNoYXJ0T3B0aW9ucywgdGhpcy5jb2xvciwgdGhpcy5sYWJlbERhdGVGb3JtYXQpO1xuICAgICAgICAgICAgdGhpcy5jaGFydCA9IG5ldyBDaGFydCh0aGlzLmNoYXJ0UmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMuY2hhcnRPcHRpb25zKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmNoYXJ0KSB7XG4gICAgICAgICAgICAgICAgQ2hhcnRDb2x1bW5PcHRpb25zLnJlZHJhd1dpdGhSb3VuZGVkQ29sdW1ucyh0aGlzLmNoYXJ0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|