@alauda-fe/common 1.1.1 → 1.2.0-beta.0

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.
Files changed (98) hide show
  1. package/a-chart/base-chart.d.ts +4 -3
  2. package/a-chart/types.d.ts +5 -0
  3. package/a-chart/utils.d.ts +1 -1
  4. package/a-metric-chart/a-metric-chart.component.d.ts +5 -1
  5. package/a-metric-chart/stat-chart/stat-chart.component.d.ts +5 -1
  6. package/a-metric-chart/types.d.ts +15 -0
  7. package/a-metric-chart/utils/util.d.ts +6 -1
  8. package/array-form-table/string-array-form/component.d.ts +2 -1
  9. package/core/constants/tokens.d.ts +1 -1
  10. package/core/pipes/cron-human-readable.pipe.d.ts +1 -6
  11. package/core/pipes/k8s-util.pipe.d.ts +1 -9
  12. package/core/pipes/k8s-util.pipe.module.d.ts +3 -3
  13. package/core/pipes/parse-json-translate.pipe.d.ts +4 -4
  14. package/core/services/aui-paginator-intl.service.d.ts +1 -1
  15. package/core/services/k8s-util.service.d.ts +3 -1
  16. package/core/types/k8s/crd.d.ts +1 -4
  17. package/esm2022/a-chart/base-chart.mjs +47 -33
  18. package/esm2022/a-chart/chart.component.mjs +9 -5
  19. package/esm2022/a-chart/types.mjs +1 -1
  20. package/esm2022/a-chart/utils.mjs +3 -3
  21. package/esm2022/a-metric-chart/a-metric-chart.component.mjs +53 -19
  22. package/esm2022/a-metric-chart/a-metric-chart.module.mjs +1 -1
  23. package/esm2022/a-metric-chart/stat-chart/stat-chart.component.mjs +63 -25
  24. package/esm2022/a-metric-chart/table-chart/table-chart.component.mjs +2 -2
  25. package/esm2022/a-metric-chart/types.mjs +9 -1
  26. package/esm2022/a-metric-chart/utils/util.mjs +20 -2
  27. package/esm2022/array-form-table/string-array-form/component.mjs +32 -22
  28. package/esm2022/business/resource-select/internals/data-grid/component.mjs +2 -2
  29. package/esm2022/business/resource-select/internals/namespace-list/component.mjs +5 -5
  30. package/esm2022/core/constants/tokens.mjs +15 -16
  31. package/esm2022/core/pipes/cron-human-readable.pipe.mjs +3 -6
  32. package/esm2022/core/pipes/k8s-util.pipe.mjs +2 -24
  33. package/esm2022/core/pipes/k8s-util.pipe.module.mjs +2 -5
  34. package/esm2022/core/pipes/parse-json-translate.pipe.mjs +1 -1
  35. package/esm2022/core/services/k8s-util.service.mjs +4 -5
  36. package/esm2022/core/services/time.service.mjs +3 -5
  37. package/esm2022/core/types/k8s/crd.mjs +1 -1
  38. package/esm2022/core/utils/common.mjs +7 -1
  39. package/esm2022/metric-chart/types.mjs +1 -1
  40. package/esm2022/notification/notification-util.service.mjs +2 -3
  41. package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.component.mjs +2 -2
  42. package/esm2022/page-scaffold/page-header/account-menu/component/component.mjs +78 -81
  43. package/esm2022/page-scaffold/page-header/account-menu/module.mjs +1 -1
  44. package/esm2022/page-scaffold/page-header/common-layout/namespace-select/component.mjs +2 -2
  45. package/esm2022/table/component.mjs +12 -5
  46. package/esm2022/translate/constants.mjs +2 -6
  47. package/esm2022/translate/helpers.mjs +4 -18
  48. package/esm2022/translate/i18n-assets-loader.mjs +58 -0
  49. package/esm2022/translate/i18n-config.mjs +25 -0
  50. package/esm2022/translate/public-api.mjs +3 -1
  51. package/esm2022/translate/tokens.mjs +3 -8
  52. package/esm2022/translate/translate.module.mjs +1 -52
  53. package/esm2022/translate/translate.pipe.mjs +4 -6
  54. package/esm2022/translate/translate.service.mjs +44 -76
  55. package/esm2022/translate/types.mjs +1 -1
  56. package/esm2022/view-zchart/units.mjs +3 -3
  57. package/esm2022/widget/date-range-picker/component.mjs +14 -23
  58. package/esm2022/widget/foldable-item-in-table/component.mjs +3 -3
  59. package/esm2022/widget/password-input/component.mjs +5 -3
  60. package/esm2022/widget/search-panel/component.mjs +2 -2
  61. package/esm2022/widget/tags-label/component.mjs +8 -6
  62. package/esm2022/xterm/xterm.component.mjs +2 -2
  63. package/metric-chart/types.d.ts +1 -1
  64. package/package.json +2 -1
  65. package/page-scaffold/page-header/account-menu/component/component.d.ts +6 -2
  66. package/page-scaffold/page-header/component.d.ts +1 -1
  67. package/styles/global.scss +3 -3
  68. package/styles/mixins.scss +13 -3
  69. package/styles/tailwind-preset.scss +1 -1
  70. package/table/component.d.ts +3 -1
  71. package/translate/constants.d.ts +1 -7
  72. package/translate/helpers.d.ts +1 -10
  73. package/translate/i18n-assets-loader.d.ts +19 -0
  74. package/translate/i18n-config.d.ts +12 -0
  75. package/translate/public-api.d.ts +2 -0
  76. package/translate/tokens.d.ts +3 -7
  77. package/translate/translate.module.d.ts +0 -1214
  78. package/translate/translate.pipe.d.ts +4 -4
  79. package/translate/translate.service.d.ts +15 -21
  80. package/translate/types.d.ts +8 -8
  81. package/widget/date-range-picker/component.d.ts +3 -7
  82. package/widget/foldable-item-in-table/component.d.ts +1 -2
  83. package/widget/tags-label/component.d.ts +6 -1
  84. package/assets/icons/bicolor-icons.js +0 -1
  85. package/assets/icons/navigation-icons.js +0 -1
  86. package/assets/icons/prod-icons.js +0 -1
  87. package/esm2022/graphql/graphql.module.mjs +0 -62
  88. package/esm2022/graphql/graphql.service.mjs +0 -45
  89. package/esm2022/graphql/public-api.mjs +0 -4
  90. package/esm2022/graphql/queries.mjs +0 -29
  91. package/esm2022/graphql/types.mjs +0 -6
  92. package/esm2022/translate/en.json +0 -602
  93. package/esm2022/translate/zh.json +0 -600
  94. package/graphql/graphql.module.d.ts +0 -12
  95. package/graphql/graphql.service.d.ts +0 -14
  96. package/graphql/public-api.d.ts +0 -3
  97. package/graphql/queries.d.ts +0 -5
  98. package/graphql/types.d.ts +0 -46
@@ -1,6 +1,7 @@
1
- import { Component, ChangeDetectionStrategy } from '@angular/core';
1
+ import { Component, ChangeDetectionStrategy, Input } from '@angular/core';
2
2
  import { isNumber } from 'lodash-es';
3
3
  import { BaseComponentChart } from '../base-chart.component';
4
+ import { ValueTextMode } from '../types';
4
5
  import * as i0 from "@angular/core";
5
6
  function StatChartComponent_div_4_div_2_div_1_Template(rf, ctx) { if (rf & 1) {
6
7
  i0.ɵɵelementStart(0, "div", 11);
@@ -11,57 +12,92 @@ function StatChartComponent_div_4_div_2_div_1_Template(rf, ctx) { if (rf & 1) {
11
12
  i0.ɵɵadvance(1);
12
13
  i0.ɵɵtextInterpolate1(" ", item_r3.name, " ");
13
14
  } }
14
- const _c0 = function () { return {}; };
15
- function StatChartComponent_div_4_div_2_span_4_Template(rf, ctx) { if (rf & 1) {
16
- i0.ɵɵelementStart(0, "span", 12);
15
+ const _c0 = function (a0) { return { value: a0 }; };
16
+ const _c1 = function (a0) { return { color: a0 }; };
17
+ function StatChartComponent_div_4_div_2_div_3_Template(rf, ctx) { if (rf & 1) {
18
+ i0.ɵɵelementStart(0, "div", 12);
17
19
  i0.ɵɵtext(1);
18
- i0.ɵɵpipe(2, "translate");
19
20
  i0.ɵɵelementEnd();
20
21
  } if (rf & 2) {
21
22
  const item_r3 = i0.ɵɵnextContext().$implicit;
23
+ const ctx_r5 = i0.ɵɵnextContext(2);
24
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c0, !ctx_r5.showValue))("ngStyle", i0.ɵɵpureFunction1(5, _c1, !ctx_r5.showValue ? item_r3 == null ? null : item_r3.color : ""));
25
+ i0.ɵɵadvance(1);
26
+ i0.ɵɵtextInterpolate1(" ", item_r3.name, " ");
27
+ } }
28
+ const _c2 = function () { return {}; };
29
+ function StatChartComponent_div_4_div_2_div_4_span_2_Template(rf, ctx) { if (rf & 1) {
30
+ i0.ɵɵelementStart(0, "span", 15);
31
+ i0.ɵɵtext(1);
32
+ i0.ɵɵpipe(2, "translate");
33
+ i0.ɵɵelementEnd();
34
+ } if (rf & 2) {
35
+ const item_r3 = i0.ɵɵnextContext(2).$implicit;
22
36
  let tmp_0_0;
23
37
  i0.ɵɵadvance(1);
24
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind3(2, 1, (tmp_0_0 = item_r3) == null ? null : tmp_0_0.unit, i0.ɵɵpureFunction0(5, _c0), true));
38
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind3(2, 1, (tmp_0_0 = item_r3) == null ? null : tmp_0_0.unit, i0.ɵɵpureFunction0(5, _c2), true));
39
+ } }
40
+ function StatChartComponent_div_4_div_2_div_4_Template(rf, ctx) { if (rf & 1) {
41
+ i0.ɵɵelementStart(0, "div", 13);
42
+ i0.ɵɵtext(1);
43
+ i0.ɵɵtemplate(2, StatChartComponent_div_4_div_2_div_4_span_2_Template, 3, 6, "span", 14);
44
+ i0.ɵɵpipe(3, "pure");
45
+ i0.ɵɵelementEnd();
46
+ } if (rf & 2) {
47
+ const item_r3 = i0.ɵɵnextContext().$implicit;
48
+ const ctx_r6 = i0.ɵɵnextContext(2);
49
+ i0.ɵɵstyleProp("color", item_r3 == null ? null : item_r3.color);
50
+ i0.ɵɵadvance(1);
51
+ i0.ɵɵtextInterpolate1(" ", item_r3.displayName, " ");
52
+ i0.ɵɵadvance(1);
53
+ i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind2(3, 4, item_r3.displayName, ctx_r6.showUnit));
25
54
  } }
26
55
  function StatChartComponent_div_4_div_2_Template(rf, ctx) { if (rf & 1) {
27
56
  i0.ɵɵelementStart(0, "div", 7);
28
57
  i0.ɵɵtemplate(1, StatChartComponent_div_4_div_2_div_1_Template, 2, 1, "div", 8);
29
- i0.ɵɵelementStart(2, "div", 9);
30
- i0.ɵɵtext(3);
31
- i0.ɵɵtemplate(4, StatChartComponent_div_4_div_2_span_4_Template, 3, 6, "span", 10);
32
- i0.ɵɵpipe(5, "pure");
58
+ i0.ɵɵelementStart(2, "div");
59
+ i0.ɵɵtemplate(3, StatChartComponent_div_4_div_2_div_3_Template, 2, 7, "div", 9);
60
+ i0.ɵɵtemplate(4, StatChartComponent_div_4_div_2_div_4_Template, 4, 7, "div", 10);
33
61
  i0.ɵɵelementEnd()();
34
62
  } if (rf & 2) {
35
- const item_r3 = ctx.$implicit;
36
63
  const statSeries_r1 = i0.ɵɵnextContext().ngIf;
37
64
  const ctx_r2 = i0.ɵɵnextContext();
38
65
  i0.ɵɵadvance(1);
39
- i0.ɵɵproperty("ngIf", (statSeries_r1 == null ? null : statSeries_r1.length) > 1);
40
- i0.ɵɵadvance(1);
41
- i0.ɵɵstyleProp("color", item_r3 == null ? null : item_r3.color);
42
- i0.ɵɵadvance(1);
43
- i0.ɵɵtextInterpolate1(" ", item_r3.displayName, " ");
66
+ i0.ɵɵproperty("ngIf", (statSeries_r1 == null ? null : statSeries_r1.length) > 1 && !(ctx_r2.options == null ? null : ctx_r2.options.textMode));
67
+ i0.ɵɵadvance(2);
68
+ i0.ɵɵproperty("ngIf", ctx_r2.showName);
44
69
  i0.ɵɵadvance(1);
45
- i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind2(5, 5, item_r3.displayName, ctx_r2.showUnit));
70
+ i0.ɵɵproperty("ngIf", ctx_r2.showValue);
46
71
  } }
47
72
  function StatChartComponent_div_4_Template(rf, ctx) { if (rf & 1) {
48
73
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 5);
49
- i0.ɵɵtemplate(2, StatChartComponent_div_4_div_2_Template, 6, 8, "div", 6);
74
+ i0.ɵɵtemplate(2, StatChartComponent_div_4_div_2_Template, 5, 3, "div", 6);
50
75
  i0.ɵɵelementEnd()();
51
76
  } if (rf & 2) {
52
77
  const statSeries_r1 = ctx.ngIf;
53
78
  i0.ɵɵadvance(2);
54
79
  i0.ɵɵproperty("ngForOf", statSeries_r1);
55
80
  } }
56
- const _c1 = [[["a-title"]]];
57
- const _c2 = ["a-title"];
81
+ const _c3 = [[["a-title"]]];
82
+ const _c4 = ["a-title"];
58
83
  export class StatChartComponent extends BaseComponentChart {
59
84
  showUnit(value) {
60
85
  return isNumber(+value) && !Number.isNaN(+value);
61
86
  }
87
+ get showName() {
88
+ return [ValueTextMode.Name, ValueTextMode.ValueAndName].includes(this.options?.textMode);
89
+ }
90
+ get showValue() {
91
+ return (!this.options?.textMode ||
92
+ [
93
+ ValueTextMode.Auto,
94
+ ValueTextMode.Value,
95
+ ValueTextMode.ValueAndName,
96
+ ].includes(this.options.textMode));
97
+ }
62
98
  static { this.ɵfac = /*@__PURE__*/ function () { let ɵStatChartComponent_BaseFactory; return function StatChartComponent_Factory(t) { return (ɵStatChartComponent_BaseFactory || (ɵStatChartComponent_BaseFactory = i0.ɵɵgetInheritedFactory(StatChartComponent)))(t || StatChartComponent); }; }(); }
63
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: StatChartComponent, selectors: [["acl-stat-chart"]], features: [i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c2, decls: 7, vars: 5, consts: [[1, "stat"], [1, "tw-flex"], [1, "achart-title", "tw-flex-1", "tw-break-all"], ["class", "stat", 4, "ngIf"], [3, "status", "customError", "refresh"], [1, "body"], ["class", "item", 4, "ngFor", "ngForOf"], [1, "item"], ["class", "name", 4, "ngIf"], [1, "value"], ["class", "tw-text-l tw-font-bold", 4, "ngIf"], [1, "name"], [1, "tw-text-l", "tw-font-bold"]], template: function StatChartComponent_Template(rf, ctx) { if (rf & 1) {
64
- i0.ɵɵprojectionDef(_c1);
99
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: StatChartComponent, selectors: [["acl-stat-chart"]], inputs: { options: "options" }, features: [i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c4, decls: 7, vars: 5, consts: [[1, "stat"], [1, "tw-flex"], [1, "achart-title", "tw-flex-1", "tw-break-all"], ["class", "stat", 4, "ngIf"], [3, "status", "customError", "refresh"], [1, "body"], ["class", "item", 4, "ngFor", "ngForOf"], [1, "item"], ["class", "name", 4, "ngIf"], ["class", "name", 3, "ngClass", "ngStyle", 4, "ngIf"], ["class", "value", 3, "color", 4, "ngIf"], [1, "name"], [1, "name", 3, "ngClass", "ngStyle"], [1, "value"], ["class", "tw-text-l tw-font-bold", 4, "ngIf"], [1, "tw-text-l", "tw-font-bold"]], template: function StatChartComponent_Template(rf, ctx) { if (rf & 1) {
100
+ i0.ɵɵprojectionDef(_c3);
65
101
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2);
66
102
  i0.ɵɵprojection(3);
67
103
  i0.ɵɵelementEnd()();
@@ -79,6 +115,8 @@ export class StatChartComponent extends BaseComponentChart {
79
115
  }
80
116
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(StatChartComponent, [{
81
117
  type: Component,
82
- args: [{ selector: 'acl-stat-chart', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"stat\">\n <div class=\"tw-flex\">\n <div class=\"achart-title tw-flex-1 tw-break-all\">\n <ng-content select=\"a-title\"></ng-content>\n </div>\n </div>\n <div\n class=\"stat\"\n *ngIf=\"data$ | async as statSeries\"\n >\n <div class=\"body\">\n <div\n class=\"item\"\n *ngFor=\"let item of statSeries\"\n >\n <div\n class=\"name\"\n *ngIf=\"statSeries?.length > 1\"\n >\n {{ $any(item).name }}\n </div>\n <div\n class=\"value\"\n [style.color]=\"item?.color\"\n >\n {{ $any(item).displayName }}\n <span\n class=\"tw-text-l tw-font-bold\"\n *ngIf=\"$any(item).displayName | pure: showUnit\"\n >{{ $any(item)?.unit | translate: {} : true}}</span\n >\n </div>\n </div>\n </div>\n </div>\n <acl-chart-status\n [status]=\"status\"\n [customError]=\"customError\"\n (refresh)=\"refresh.next()\"\n ></acl-chart-status>\n</div>\n", styles: [":host{position:relative}.stat{display:flex;flex-direction:column;width:100%;height:100%}.stat .body{display:flex;height:100%}.stat .item{flex:1;padding:12px;display:flex;align-items:center;justify-content:center;flex-direction:column}.stat .title{font-size:20px}.stat .value{font-size:60px;line-height:initial}\n"] }]
83
- }], null, null); })();
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdC1jaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvYS1tZXRyaWMtY2hhcnQvc3RhdC1jaGFydC9zdGF0LWNoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hLW1ldHJpYy1jaGFydC9zdGF0LWNoYXJ0L3N0YXQtY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7SUNZckQsK0JBR0M7SUFDQyxZQUNGO0lBQUEsaUJBQU07OztJQURKLGVBQ0Y7SUFERSw2Q0FDRjs7OztJQU1FLGdDQUdHO0lBQUEsWUFBNEM7O0lBQUEsaUJBQzlDOzs7O0lBREUsZUFBNEM7SUFBNUMsK0hBQTRDOzs7SUFsQm5ELDhCQUdDO0lBQ0MsK0VBS007SUFDTiw4QkFHQztJQUNDLFlBQ0E7SUFBQSxrRkFJQzs7SUFDSCxpQkFBTSxFQUFBOzs7OztJQWRILGVBQTRCO0lBQTVCLGdGQUE0QjtJQU03QixlQUEyQjtJQUEzQiwrREFBMkI7SUFFM0IsZUFDQTtJQURBLG9EQUNBO0lBRUcsZUFBNkM7SUFBN0MsaUZBQTZDOzs7SUF0QnhELDhCQUdDLGFBQUE7SUFFRyx5RUFxQk07SUFDUixpQkFBTSxFQUFBOzs7SUFwQmUsZUFBYTtJQUFiLHVDQUFhOzs7O0FERnRDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxrQkFBa0I7SUFDeEQsUUFBUSxDQUFDLEtBQXNCO1FBQzdCLE9BQU8sUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQztpUEFIVSxrQkFBa0IsU0FBbEIsa0JBQWtCO29FQUFsQixrQkFBa0I7O1lDWC9CLDhCQUFrQixhQUFBLGFBQUE7WUFHWixrQkFBMEM7WUFDNUMsaUJBQU0sRUFBQTtZQUVSLG1FQTRCTTs7WUFDTiwyQ0FJQztZQURDLDZHQUFXLGtCQUFjLElBQUM7WUFDM0IsaUJBQW1CLEVBQUE7O1lBL0JqQixlQUFvQjtZQUFwQixzREFBb0I7WUE0QnJCLGVBQWlCO1lBQWpCLG1DQUFpQixnQ0FBQTs7O3VGRHpCUixrQkFBa0I7Y0FOOUIsU0FBUzsyQkFDRSxnQkFBZ0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzTnVtYmVyIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudENoYXJ0IH0gZnJvbSAnLi4vYmFzZS1jaGFydC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtc3RhdC1jaGFydCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdGF0LWNoYXJ0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3RhdC1jaGFydC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU3RhdENoYXJ0Q29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudENoYXJ0IHtcbiAgc2hvd1VuaXQodmFsdWU6IHN0cmluZyB8IG51bWJlcikge1xuICAgIHJldHVybiBpc051bWJlcigrdmFsdWUpICYmICFOdW1iZXIuaXNOYU4oK3ZhbHVlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInN0YXRcIj5cbiAgPGRpdiBjbGFzcz1cInR3LWZsZXhcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWNoYXJ0LXRpdGxlIHR3LWZsZXgtMSB0dy1icmVhay1hbGxcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImEtdGl0bGVcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJzdGF0XCJcbiAgICAqbmdJZj1cImRhdGEkIHwgYXN5bmMgYXMgc3RhdFNlcmllc1wiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwiYm9keVwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cIml0ZW1cIlxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzdGF0U2VyaWVzXCJcbiAgICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwibmFtZVwiXG4gICAgICAgICAgKm5nSWY9XCJzdGF0U2VyaWVzPy5sZW5ndGggPiAxXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7ICRhbnkoaXRlbSkubmFtZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwidmFsdWVcIlxuICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJpdGVtPy5jb2xvclwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyAkYW55KGl0ZW0pLmRpc3BsYXlOYW1lIH19XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzPVwidHctdGV4dC1sIHR3LWZvbnQtYm9sZFwiXG4gICAgICAgICAgICAqbmdJZj1cIiRhbnkoaXRlbSkuZGlzcGxheU5hbWUgfCBwdXJlOiBzaG93VW5pdFwiXG4gICAgICAgICAgICA+e3sgJGFueShpdGVtKT8udW5pdCB8IHRyYW5zbGF0ZToge30gOiB0cnVlfX08L3NwYW5cbiAgICAgICAgICA+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8YWNsLWNoYXJ0LXN0YXR1c1xuICAgIFtzdGF0dXNdPVwic3RhdHVzXCJcbiAgICBbY3VzdG9tRXJyb3JdPVwiY3VzdG9tRXJyb3JcIlxuICAgIChyZWZyZXNoKT1cInJlZnJlc2gubmV4dCgpXCJcbiAgPjwvYWNsLWNoYXJ0LXN0YXR1cz5cbjwvZGl2PlxuIl19
118
+ args: [{ selector: 'acl-stat-chart', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"stat\">\n <div class=\"tw-flex\">\n <div class=\"achart-title tw-flex-1 tw-break-all\">\n <ng-content select=\"a-title\"></ng-content>\n </div>\n </div>\n <div\n class=\"stat\"\n *ngIf=\"data$ | async as statSeries\"\n >\n <div class=\"body\">\n <div\n class=\"item\"\n *ngFor=\"let item of statSeries\"\n >\n <div\n class=\"name\"\n *ngIf=\"statSeries?.length > 1 && !options?.textMode\"\n >\n {{ $any(item).name }}\n </div>\n <div>\n <div\n class=\"name\"\n *ngIf=\"showName\"\n [ngClass]=\"{ value: !showValue }\"\n [ngStyle]=\"{ color: !showValue ? item?.color : '' }\"\n >\n {{ $any(item).name }}\n </div>\n <div\n [style.color]=\"item?.color\"\n class=\"value\"\n *ngIf=\"showValue\"\n >\n {{ $any(item).displayName }}\n <span\n class=\"tw-text-l tw-font-bold\"\n *ngIf=\"$any(item).displayName | pure: showUnit\"\n >{{ $any(item)?.unit | translate: {} : true}}</span\n >\n </div>\n </div>\n </div>\n </div>\n </div>\n <acl-chart-status\n [status]=\"status\"\n [customError]=\"customError\"\n (refresh)=\"refresh.next()\"\n ></acl-chart-status>\n</div>\n", styles: [":host{position:relative}.stat{display:flex;flex-direction:column;width:100%;height:100%}.stat .body{display:flex;height:100%}.stat .item{flex:1;padding:12px;display:flex;align-items:center;justify-content:center;flex-direction:column}.stat .title{font-size:20px}.stat .value{font-size:60px;line-height:initial}\n"] }]
119
+ }], null, { options: [{
120
+ type: Input
121
+ }] }); })();
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdC1jaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvYS1tZXRyaWMtY2hhcnQvc3RhdC1jaGFydC9zdGF0LWNoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hLW1ldHJpYy1jaGFydC9zdGF0LWNoYXJ0L3N0YXQtY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVyQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQWUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDOzs7SUNXOUMsK0JBR0M7SUFDQyxZQUNGO0lBQUEsaUJBQU07OztJQURKLGVBQ0Y7SUFERSw2Q0FDRjs7Ozs7SUFFRSwrQkFLQztJQUNDLFlBQ0Y7SUFBQSxpQkFBTTs7OztJQUpKLHVFQUFpQyx3R0FBQTtJQUdqQyxlQUNGO0lBREUsNkNBQ0Y7Ozs7SUFPRSxnQ0FHRztJQUFBLFlBQTRDOztJQUFBLGlCQUM5Qzs7OztJQURFLGVBQTRDO0lBQTVDLCtIQUE0Qzs7O0lBVGpELCtCQUlDO0lBQ0MsWUFDQTtJQUFBLHdGQUlDOztJQUNILGlCQUFNOzs7O0lBVkosK0RBQTJCO0lBSTNCLGVBQ0E7SUFEQSxvREFDQTtJQUVHLGVBQTZDO0lBQTdDLGlGQUE2Qzs7O0lBM0J0RCw4QkFHQztJQUNDLCtFQUtNO0lBQ04sMkJBQUs7SUFDSCwrRUFPTTtJQUNOLGdGQVdNO0lBQ1IsaUJBQU0sRUFBQTs7OztJQXpCSCxlQUFrRDtJQUFsRCw4SUFBa0Q7SUFPaEQsZUFBYztJQUFkLHNDQUFjO0lBU2QsZUFBZTtJQUFmLHVDQUFlOzs7SUEzQjFCLDhCQUdDLGFBQUE7SUFFRyx5RUFnQ007SUFDUixpQkFBTSxFQUFBOzs7SUEvQmUsZUFBYTtJQUFiLHVDQUFhOzs7O0FERHRDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxrQkFBa0I7SUFHeEQsUUFBUSxDQUFDLEtBQXNCO1FBQzdCLE9BQU8sUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxRQUFRLENBQzlELElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUN2QixDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sQ0FDTCxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUTtZQUN2QjtnQkFDRSxhQUFhLENBQUMsSUFBSTtnQkFDbEIsYUFBYSxDQUFDLEtBQUs7Z0JBQ25CLGFBQWEsQ0FBQyxZQUFZO2FBQzNCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQ2xDLENBQUM7SUFDSixDQUFDO2lQQXRCVSxrQkFBa0IsU0FBbEIsa0JBQWtCO29FQUFsQixrQkFBa0I7O1lDWi9CLDhCQUFrQixhQUFBLGFBQUE7WUFHWixrQkFBMEM7WUFDNUMsaUJBQU0sRUFBQTtZQUVSLG1FQXVDTTs7WUFDTiwyQ0FJQztZQURDLDZHQUFXLGtCQUFjLElBQUM7WUFDM0IsaUJBQW1CLEVBQUE7O1lBMUNqQixlQUFvQjtZQUFwQixzREFBb0I7WUF1Q3JCLGVBQWlCO1lBQWpCLG1DQUFpQixnQ0FBQTs7O3VGRG5DUixrQkFBa0I7Y0FOOUIsU0FBUzsyQkFDRSxnQkFBZ0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTTtnQkFHdEMsT0FBTztrQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzTnVtYmVyIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudENoYXJ0IH0gZnJvbSAnLi4vYmFzZS1jaGFydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3RhdE9wdGlvbnMsIFZhbHVlVGV4dE1vZGUgfSBmcm9tICcuLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjbC1zdGF0LWNoYXJ0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0YXQtY2hhcnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdGF0LWNoYXJ0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTdGF0Q2hhcnRDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50Q2hhcnQge1xuICBASW5wdXQoKSBvcHRpb25zOiBTdGF0T3B0aW9ucztcblxuICBzaG93VW5pdCh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKSB7XG4gICAgcmV0dXJuIGlzTnVtYmVyKCt2YWx1ZSkgJiYgIU51bWJlci5pc05hTigrdmFsdWUpO1xuICB9XG5cbiAgZ2V0IHNob3dOYW1lKCkge1xuICAgIHJldHVybiBbVmFsdWVUZXh0TW9kZS5OYW1lLCBWYWx1ZVRleHRNb2RlLlZhbHVlQW5kTmFtZV0uaW5jbHVkZXMoXG4gICAgICB0aGlzLm9wdGlvbnM/LnRleHRNb2RlLFxuICAgICk7XG4gIH1cblxuICBnZXQgc2hvd1ZhbHVlKCkge1xuICAgIHJldHVybiAoXG4gICAgICAhdGhpcy5vcHRpb25zPy50ZXh0TW9kZSB8fFxuICAgICAgW1xuICAgICAgICBWYWx1ZVRleHRNb2RlLkF1dG8sXG4gICAgICAgIFZhbHVlVGV4dE1vZGUuVmFsdWUsXG4gICAgICAgIFZhbHVlVGV4dE1vZGUuVmFsdWVBbmROYW1lLFxuICAgICAgXS5pbmNsdWRlcyh0aGlzLm9wdGlvbnMudGV4dE1vZGUpXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInN0YXRcIj5cbiAgPGRpdiBjbGFzcz1cInR3LWZsZXhcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWNoYXJ0LXRpdGxlIHR3LWZsZXgtMSB0dy1icmVhay1hbGxcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImEtdGl0bGVcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJzdGF0XCJcbiAgICAqbmdJZj1cImRhdGEkIHwgYXN5bmMgYXMgc3RhdFNlcmllc1wiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwiYm9keVwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cIml0ZW1cIlxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzdGF0U2VyaWVzXCJcbiAgICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwibmFtZVwiXG4gICAgICAgICAgKm5nSWY9XCJzdGF0U2VyaWVzPy5sZW5ndGggPiAxICYmICFvcHRpb25zPy50ZXh0TW9kZVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyAkYW55KGl0ZW0pLm5hbWUgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJuYW1lXCJcbiAgICAgICAgICAgICpuZ0lmPVwic2hvd05hbWVcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyB2YWx1ZTogIXNob3dWYWx1ZSB9XCJcbiAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgY29sb3I6ICFzaG93VmFsdWUgPyBpdGVtPy5jb2xvciA6ICcnIH1cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7ICRhbnkoaXRlbSkubmFtZSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJpdGVtPy5jb2xvclwiXG4gICAgICAgICAgICBjbGFzcz1cInZhbHVlXCJcbiAgICAgICAgICAgICpuZ0lmPVwic2hvd1ZhbHVlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyAkYW55KGl0ZW0pLmRpc3BsYXlOYW1lIH19XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBjbGFzcz1cInR3LXRleHQtbCB0dy1mb250LWJvbGRcIlxuICAgICAgICAgICAgICAqbmdJZj1cIiRhbnkoaXRlbSkuZGlzcGxheU5hbWUgfCBwdXJlOiBzaG93VW5pdFwiXG4gICAgICAgICAgICAgID57eyAkYW55KGl0ZW0pPy51bml0IHwgdHJhbnNsYXRlOiB7fSA6IHRydWV9fTwvc3BhblxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGFjbC1jaGFydC1zdGF0dXNcbiAgICBbc3RhdHVzXT1cInN0YXR1c1wiXG4gICAgW2N1c3RvbUVycm9yXT1cImN1c3RvbUVycm9yXCJcbiAgICAocmVmcmVzaCk9XCJyZWZyZXNoLm5leHQoKVwiXG4gID48L2FjbC1jaGFydC1zdGF0dXM+XG48L2Rpdj5cbiJdfQ==
@@ -143,7 +143,7 @@ export class TableChartComponent extends BaseComponentChart {
143
143
  }
144
144
  format(value, type, unit) {
145
145
  if (!value) {
146
- return;
146
+ return value;
147
147
  }
148
148
  let data = value;
149
149
  if (unit === '%') {
@@ -198,4 +198,4 @@ __decorate([
198
198
  }], paginator: [{
199
199
  type: Input
200
200
  }] }); })();
201
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2EtbWV0cmljLWNoYXJ0L3RhYmxlLWNoYXJ0L3RhYmxlLWNoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hLW1ldHJpYy1jaGFydC90YWJsZS1jaGFydC90YWJsZS1jaGFydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkUsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsVUFBVSxHQUNYLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztJQ2EvQyw2QkFFQztJQUNDLFlBQ0Y7SUFBQSwwQkFBZTs7O0lBRGIsZUFDRjtJQURFLDBDQUNGOzs7SUFURiw2Q0FHQzs7SUFDQyxZQUNBOztJQUFBLG9JQUllOztJQUNqQixpQkFBd0I7Ozs7O0lBVHRCLCtFQUE2QztJQUc3QyxlQUNBO0lBREEsNFhBQ0E7SUFDRyxlQUFvRDtJQUFwRCx5TEFBb0Q7Ozs7SUFLekQsc0NBR0M7O0lBQ0MsZ0NBR0M7SUFDQyxZQUNGOzs7SUFBQSxpQkFBTyxFQUFBOzs7OztJQVJQLCtFQUE2QztJQUszQyxlQUE0QztJQUE1QywrSUFBNEM7SUFFNUMsZUFDRjtJQURFLDRXQUNGOzs7SUF0Qk4s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RVIscUVBcURNO1lBQ04sMkNBSUM7WUFEQyw4R0FBVyxrQkFBYyxJQUFDO1lBQzNCLGlCQUFtQixFQUFBOztZQXZEakIsZUFBa0I7WUFBbEIsZ0VBQWtCO1lBb0RuQixlQUFrQjtZQUFsQixvQ0FBa0IsZ0NBQUE7OztBRHZDRDtJQUFsQixlQUFlLEVBQUU7OEJBQVMsVUFBVTtrREFBYzt1RkFGeEMsbUJBQW1CO2NBTi9CLFNBQVM7MkJBQ0UsZUFBZSxtQkFHUix1QkFBdUIsQ0FBQyxNQUFNO2dCQUd0QyxJQUFJO2tCQUFaLEtBQUs7WUFDYSxLQUFLLE1BRWYsU0FBUztrQkFBakIsS0FBSztZQUVHLFNBQVM7a0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcbmltcG9ydCB7IGdldCwgdW5pcSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QsIG1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICBEQVRFX1RJTUVfRk9STUFULFxuICBPYnNlcnZhYmxlSW5wdXQsXG4gIHB1Ymxpc2hSZWYsXG59IGZyb20gJy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50Q2hhcnQgfSBmcm9tICcuLi9iYXNlLWNoYXJ0LmNvbXBvbmVudCc7XG5cbnR5cGUgVGFibGVJdGVtID0gUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhLXRhYmxlLWNoYXJ0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLWNoYXJ0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtY2hhcnQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQ2hhcnRDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50Q2hhcnQge1xuICBASW5wdXQoKSBsaXN0OiBUYWJsZUl0ZW1bXTtcbiAgQE9ic2VydmFibGVJbnB1dCgpIGxpc3QkITogT2JzZXJ2YWJsZTxUYWJsZUl0ZW1bXT47XG5cbiAgQElucHV0KCkgYWxpZ25tZW50OiAnbGVmdCcgfCAnY2VudGVyJyB8ICdyaWdodCcgPSAnbGVmdCc7XG5cbiAgQElucHV0KCkgcGFnaW5hdG9yOiB7XG4gICAgbGF5b3V0OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICBjdXJyZW50UGFnZT86IG51bWJlcjtcbiAgICBwYWdlSW5kZXg/OiBudW1iZXI7XG4gICAgcGFnZVNpemU/OiBudW1iZXI7XG4gICAgdG90YWw/OiBudW1iZXI7XG4gIH07XG5cbiAgZ2V0IGNvbHVtbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMubGlzdD8ubGVuZ3RoXG4gICAgICA/IHRoaXMubGlzdC5yZWR1Y2UoXG4gICAgICAgICAgKHByZXYsIGl0ZW0pID0+IHVuaXEoWy4uLnByZXYsIC4uLk9iamVjdC5rZXlzKGl0ZW0pXSksXG4gICAgICAgICAgW10sXG4gICAgICAgIClcbiAgICAgIDogW107XG4gIH1cblxuICBnZXQgX3N0YXR1cygpIHtcbiAgICByZXR1cm4gdGhpcy5jb2x1bW5zLmxlbmd0aCA/IHRoaXMuc3RhdHVzIDogeyAuLi50aGlzLnN0YXR1cywgbm9EYXRhOiB0cnVlIH07XG4gIH1cblxuICBnZXRBbGlnbm1lbnRDbGFzcyh0eXBlOiAnbGVmdCcgfCAnY2VudGVyJyB8ICdyaWdodCcpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbGVmdDogJ3R3LWp1c3RpZnktc3RhcnQnLFxuICAgICAgY2VudGVyOiAndHctanVzdGlmeS1jZW50ZXInLFxuICAgICAgcmlnaHQ6ICd0dy1qdXN0aWZ5LWVuZCcsXG4gICAgfVt0eXBlXTtcbiAgfVxuXG4gIHBhZ2luYXRvciQkID0gbmV3IEJlaGF2aW9yU3ViamVjdCh7XG4gICAgY3VycmVudFBhZ2U6IDEsXG4gICAgcGFnZVNpemU6IDUsXG4gIH0pO1xuXG4gIHRhYmxlTGlzdCQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLmxpc3QkLCB0aGlzLnBhZ2luYXRvciQkXSkucGlwZShcbiAgICBtYXAoKFtpdGVtLCB7IGN1cnJlbnRQYWdlLCBwYWdlU2l6ZSB9XSkgPT4ge1xuICAgICAgY29uc3QgbGlzdCA9IGdldChpdGVtPy5bMF0sIFsndGltZScsICd2YWx1ZSddKVxuICAgICAgICA/IGl0ZW0uc29ydChcbiAgICAgICAgICAgIChhLCBiKSA9PiAoYi50aW1lLnZhbHVlIGFzIG51bWJlcikgLSAoYS50aW1lLnZhbHVlIGFzIG51bWJlciksXG4gICAgICAgICAgKVxuICAgICAgICA6IGl0ZW07XG4gICAgICBpZiAoIXRoaXMucGFnaW5hdG9yKSB7XG4gICAgICAgIHJldHVybiBsaXN0O1xuICAgICAgfVxuICAgICAgcmV0dXJuIGxpc3Quc2xpY2UoKGN1cnJlbnRQYWdlIC0gMSkgKiBwYWdlU2l6ZSwgY3VycmVudFBhZ2UgKiBwYWdlU2l6ZSk7XG4gICAgfSksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xuXG4gIGZvcm1hdCh2YWx1ZTogc3RyaW5nLCB0eXBlOiBzdHJpbmcsIHVuaXQ6IHN0cmluZykge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IGRhdGE6IHN0cmluZyB8IG51bWJlciA9IHZhbHVlO1xuICAgIGlmICh1bml0ID09PSAnJScpIHtcbiAgICAgIGRhdGEgPSBpc05hTigrdmFsdWUpIHx8ICF2YWx1ZSA/IHZhbHVlIDogK3ZhbHVlICogMTAwO1xuICAgIH1cbiAgICBpZiAodHlwZS5pbmNsdWRlcygndmFsdWUnKSkge1xuICAgICAgcmV0dXJuIGlzTmFOKCtkYXRhKSB8fCAhZGF0YSA/IGRhdGEgOiArKCtkYXRhKT8udG9GaXhlZCgyKTtcbiAgICB9XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlICd0aW1lJzoge1xuICAgICAgICByZXR1cm4gZGF5anMoK2RhdGEgKiAxMDAwKS5mb3JtYXQoREFURV9USU1FX0ZPUk1BVCk7XG4gICAgICB9XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uUGFnZUNoYW5nZShjdXJyZW50UGFnZTogbnVtYmVyKSB7XG4gICAgdGhpcy5wYWdpbmF0b3IkJC5uZXh0KHtcbiAgICAgIGN1cnJlbnRQYWdlLFxuICAgICAgcGFnZVNpemU6IHRoaXMucGFnaW5hdG9yLnBhZ2VTaXplIHx8IDUsXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0dy1oLWZ1bGxcIj5cbiAgPGRpdiBjbGFzcz1cInR3LWZsZXhcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWNoYXJ0LXRpdGxlIHR3LWZsZXgtMSB0dy1icmVhay1hbGxcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImEtdGl0bGVcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJ0YWJsZSB0dy1tdC04XCJcbiAgICBbbmdTdHlsZV09XCJ7IGhlaWdodDogJ2NhbGMoMTAwJSAtIDE1cHgpJyB9XCJcbiAgICAqbmdJZj1cImxpc3Q/Lmxlbmd0aFwiXG4gID5cbiAgICA8ZGl2IFthdWlUYWJsZVNjcm9sbFdyYXBwZXJdPVwicGFnaW5hdG9yID8gJ2NhbGMoMTAwJSAtIDQ4cHgpJyA6ICcxMDAlJ1wiPlxuICAgICAgPGF1aS10YWJsZVxuICAgICAgICBbZGF0YVNvdXJjZV09XCJjb2x1bW5zLmxlbmd0aCA/ICh0YWJsZUxpc3QkIHwgYXN5bmMpIDogW11cIlxuICAgICAgICBhdWlUYWJsZVNjcm9sbGFibGVcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnNcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyIFthdWlUYWJsZUNvbHVtbkRlZl09XCJjb2x1bW5cIj5cbiAgICAgICAgICAgIDxhdWktdGFibGUtaGVhZGVyLWNlbGxcbiAgICAgICAgICAgICAgW2NsYXNzXT1cImFsaWdubWVudCB8IHB1cmU6IGdldEFsaWdubWVudENsYXNzXCJcbiAgICAgICAgICAgICAgKmF1aVRhYmxlSGVhZGVyQ2VsbERlZlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyRhbnkobGlzdD8uWzBdPy5bY29sdW1uXT8uc291cmNlTmFtZSkgPT09ICd0aW1lJyAmJiAhJGFueShsaXN0Py5bMF0/Lltjb2x1bW5dPy5kaXNwbGF5TmFtZSkgID8gIChjb2x1bW4gfCB0cmFuc2xhdGUpIDogY29sdW1uIH19XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiRhbnkodGFibGVMaXN0JCB8IGFzeW5jKT8uWzBdPy5bY29sdW1uXT8udW5pdCBhcyB1bml0XCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICh7eyB1bml0IH19KVxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvYXVpLXRhYmxlLWhlYWRlci1jZWxsPlxuICAgICAgICAgICAgPGF1aS10YWJsZS1jZWxsXG4gICAgICAgICAgICAgIFtjbGFzc109XCJhbGlnbm1lbnQgfCBwdXJlOiBnZXRBbGlnbm1lbnRDbGFzc1wiXG4gICAgICAgICAgICAgICphdWlUYWJsZUNlbGxEZWY9XCJsZXQgaXRlbTsgbGV0IGluZGV4ID0gaW5kZXhcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNsYXNzPVwidHctdGV4dC1lbGxpcHNpcyB0dy1vdmVyZmxvdy1oaWRkZW5cIlxuICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgY29sb3I6IGl0ZW0/Lltjb2x1bW5dPy5jb2xvciB9XCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0/Lltjb2x1bW5dPy52YWx1ZSB8IHB1cmU6IGZvcm1hdDppdGVtPy5bY29sdW1uXT8uc291cmNlTmFtZTogaXRlbT8uW2NvbHVtbl0/LnVuaXQgfCBhY2xGaWVsZE5vdEF2YWlsYWJsZSB9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2F1aS10YWJsZS1jZWxsPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8YXVpLXRhYmxlLWhlYWRlci1yb3dcbiAgICAgICAgICAqYXVpVGFibGVIZWFkZXJSb3dEZWY9XCJjb2x1bW5zOyBzdGlja3k6IHRydWVcIlxuICAgICAgICA+PC9hdWktdGFibGUtaGVhZGVyLXJvdz5cbiAgICAgICAgPGF1aS10YWJsZS1yb3dcbiAgICAgICAgICAqYXVpVGFibGVSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBjb2x1bW5zXCJcbiAgICAgICAgPjwvYXVpLXRhYmxlLXJvdz5cbiAgICAgIDwvYXVpLXRhYmxlPlxuICAgIDwvZGl2PlxuICAgIDxhdWktcGFnaW5hdG9yXG4gICAgICAqbmdJZj1cInBhZ2luYXRvclwiXG4gICAgICBsYXlvdXQ9XCJwYWdlclwiXG4gICAgICBbY3VycmVudFBhZ2VdPVwiKHBhZ2luYXRvciQkIHwgYXN5bmMpLmN1cnJlbnRQYWdlXCJcbiAgICAgIFtwYWdlU2l6ZV09XCIocGFnaW5hdG9yJCQgfCBhc3luYykucGFnZVNpemVcIlxuICAgICAgW3RvdGFsXT1cImxpc3QubGVuZ3RoIHx8IDBcIlxuICAgICAgKGN1cnJlbnRQYWdlQ2hhbmdlKT1cIm9uUGFnZUNoYW5nZSgkZXZlbnQpXCJcbiAgICA+PC9hdWktcGFnaW5hdG9yPlxuICA8L2Rpdj5cbiAgPGFjbC1jaGFydC1zdGF0dXNcbiAgICBbc3RhdHVzXT1cIl9zdGF0dXNcIlxuICAgIFtjdXN0b21FcnJvcl09XCJjdXN0b21FcnJvclwiXG4gICAgKHJlZnJlc2gpPVwicmVmcmVzaC5uZXh0KClcIlxuICA+PC9hY2wtY2hhcnQtc3RhdHVzPlxuPC9kaXY+XG4iXX0=
201
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2EtbWV0cmljLWNoYXJ0L3RhYmxlLWNoYXJ0L3RhYmxlLWNoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hLW1ldHJpYy1jaGFydC90YWJsZS1jaGFydC90YWJsZS1jaGFydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkUsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsVUFBVSxHQUNYLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztJQ2EvQyw2QkFFQztJQUNDLFlBQ0Y7SUFBQSwwQkFBZTs7O0lBRGIsZUFDRjtJQURFLDBDQUNGOzs7SUFURiw2Q0FHQzs7SUFDQyxZQUNBOztJQUFBLG9JQUllOztJQUNqQixpQkFBd0I7Ozs7O0lBVHRCLCtFQUE2QztJQUc3QyxlQUNBO0lBREEsNFhBQ0E7SUFDRyxlQUFvRDtJQUFwRCx5TEFBb0Q7Ozs7SUFLekQsc0NBR0M7O0lBQ0MsZ0NBR0M7SUFDQyxZQUNGOzs7SUFBQSxpQkFBTyxFQUFBOzs7OztJQVJQLCtFQUE2QztJQUszQyxlQUE0QztJQUE1QywrSUFBNEM7SUFFNUMsZUFDRjtJQURFLDRXQUNGOzs7SUF0Qk4s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QU0sRUFBQTtZQUVSLHFFQXFETTtZQUNOLDJDQUlDO1lBREMsOEdBQVcsa0JBQWMsSUFBQztZQUMzQixpQkFBbUIsRUFBQTs7WUF2RGpCLGVBQWtCO1lBQWxCLGdFQUFrQjtZQW9EbkIsZUFBa0I7WUFBbEIsb0NBQWtCLGdDQUFBOzs7QUR2Q0Q7SUFBbEIsZUFBZSxFQUFFOzhCQUFTLFVBQVU7a0RBQWM7dUZBRnhDLG1CQUFtQjtjQU4vQixTQUFTOzJCQUNFLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTTtnQkFHdEMsSUFBSTtrQkFBWixLQUFLO1lBQ2EsS0FBSyxNQUVmLFNBQVM7a0JBQWpCLEtBQUs7WUFFRyxTQUFTO2tCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XG5pbXBvcnQgeyBnZXQsIHVuaXEgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBjb21iaW5lTGF0ZXN0LCBtYXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgREFURV9USU1FX0ZPUk1BVCxcbiAgT2JzZXJ2YWJsZUlucHV0LFxuICBwdWJsaXNoUmVmLFxufSBmcm9tICcuLi8uLi9jb3JlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudENoYXJ0IH0gZnJvbSAnLi4vYmFzZS1jaGFydC5jb21wb25lbnQnO1xuXG50eXBlIFRhYmxlSXRlbSA9IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHVua25vd24+PjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYS10YWJsZS1jaGFydCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1jaGFydC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLWNoYXJ0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUNoYXJ0Q29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudENoYXJ0IHtcbiAgQElucHV0KCkgbGlzdDogVGFibGVJdGVtW107XG4gIEBPYnNlcnZhYmxlSW5wdXQoKSBsaXN0JCE6IE9ic2VydmFibGU8VGFibGVJdGVtW10+O1xuXG4gIEBJbnB1dCgpIGFsaWdubWVudDogJ2xlZnQnIHwgJ2NlbnRlcicgfCAncmlnaHQnID0gJ2xlZnQnO1xuXG4gIEBJbnB1dCgpIHBhZ2luYXRvcjoge1xuICAgIGxheW91dDogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgY3VycmVudFBhZ2U/OiBudW1iZXI7XG4gICAgcGFnZUluZGV4PzogbnVtYmVyO1xuICAgIHBhZ2VTaXplPzogbnVtYmVyO1xuICAgIHRvdGFsPzogbnVtYmVyO1xuICB9O1xuXG4gIGdldCBjb2x1bW5zKCkge1xuICAgIHJldHVybiB0aGlzLmxpc3Q/Lmxlbmd0aFxuICAgICAgPyB0aGlzLmxpc3QucmVkdWNlKFxuICAgICAgICAgIChwcmV2LCBpdGVtKSA9PiB1bmlxKFsuLi5wcmV2LCAuLi5PYmplY3Qua2V5cyhpdGVtKV0pLFxuICAgICAgICAgIFtdLFxuICAgICAgICApXG4gICAgICA6IFtdO1xuICB9XG5cbiAgZ2V0IF9zdGF0dXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29sdW1ucy5sZW5ndGggPyB0aGlzLnN0YXR1cyA6IHsgLi4udGhpcy5zdGF0dXMsIG5vRGF0YTogdHJ1ZSB9O1xuICB9XG5cbiAgZ2V0QWxpZ25tZW50Q2xhc3ModHlwZTogJ2xlZnQnIHwgJ2NlbnRlcicgfCAncmlnaHQnKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxlZnQ6ICd0dy1qdXN0aWZ5LXN0YXJ0JyxcbiAgICAgIGNlbnRlcjogJ3R3LWp1c3RpZnktY2VudGVyJyxcbiAgICAgIHJpZ2h0OiAndHctanVzdGlmeS1lbmQnLFxuICAgIH1bdHlwZV07XG4gIH1cblxuICBwYWdpbmF0b3IkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Qoe1xuICAgIGN1cnJlbnRQYWdlOiAxLFxuICAgIHBhZ2VTaXplOiA1LFxuICB9KTtcblxuICB0YWJsZUxpc3QkID0gY29tYmluZUxhdGVzdChbdGhpcy5saXN0JCwgdGhpcy5wYWdpbmF0b3IkJF0pLnBpcGUoXG4gICAgbWFwKChbaXRlbSwgeyBjdXJyZW50UGFnZSwgcGFnZVNpemUgfV0pID0+IHtcbiAgICAgIGNvbnN0IGxpc3QgPSBnZXQoaXRlbT8uWzBdLCBbJ3RpbWUnLCAndmFsdWUnXSlcbiAgICAgICAgPyBpdGVtLnNvcnQoXG4gICAgICAgICAgICAoYSwgYikgPT4gKGIudGltZS52YWx1ZSBhcyBudW1iZXIpIC0gKGEudGltZS52YWx1ZSBhcyBudW1iZXIpLFxuICAgICAgICAgIClcbiAgICAgICAgOiBpdGVtO1xuICAgICAgaWYgKCF0aGlzLnBhZ2luYXRvcikge1xuICAgICAgICByZXR1cm4gbGlzdDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBsaXN0LnNsaWNlKChjdXJyZW50UGFnZSAtIDEpICogcGFnZVNpemUsIGN1cnJlbnRQYWdlICogcGFnZVNpemUpO1xuICAgIH0pLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBmb3JtYXQodmFsdWU6IHN0cmluZywgdHlwZTogc3RyaW5nLCB1bml0OiBzdHJpbmcpIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICAgIGxldCBkYXRhOiBzdHJpbmcgfCBudW1iZXIgPSB2YWx1ZTtcbiAgICBpZiAodW5pdCA9PT0gJyUnKSB7XG4gICAgICBkYXRhID0gaXNOYU4oK3ZhbHVlKSB8fCAhdmFsdWUgPyB2YWx1ZSA6ICt2YWx1ZSAqIDEwMDtcbiAgICB9XG4gICAgaWYgKHR5cGUuaW5jbHVkZXMoJ3ZhbHVlJykpIHtcbiAgICAgIHJldHVybiBpc05hTigrZGF0YSkgfHwgIWRhdGEgPyBkYXRhIDogKygrZGF0YSk/LnRvRml4ZWQoMik7XG4gICAgfVxuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAndGltZSc6IHtcbiAgICAgICAgcmV0dXJuIGRheWpzKCtkYXRhICogMTAwMCkuZm9ybWF0KERBVEVfVElNRV9GT1JNQVQpO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvblBhZ2VDaGFuZ2UoY3VycmVudFBhZ2U6IG51bWJlcikge1xuICAgIHRoaXMucGFnaW5hdG9yJCQubmV4dCh7XG4gICAgICBjdXJyZW50UGFnZSxcbiAgICAgIHBhZ2VTaXplOiB0aGlzLnBhZ2luYXRvci5wYWdlU2l6ZSB8fCA1LFxuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidHctaC1mdWxsXCI+XG4gIDxkaXYgY2xhc3M9XCJ0dy1mbGV4XCI+XG4gICAgPGRpdiBjbGFzcz1cImFjaGFydC10aXRsZSB0dy1mbGV4LTEgdHctYnJlYWstYWxsXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJhLXRpdGxlXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwidGFibGUgdHctbXQtOFwiXG4gICAgW25nU3R5bGVdPVwieyBoZWlnaHQ6ICdjYWxjKDEwMCUgLSAxNXB4KScgfVwiXG4gICAgKm5nSWY9XCJsaXN0Py5sZW5ndGhcIlxuICA+XG4gICAgPGRpdiBbYXVpVGFibGVTY3JvbGxXcmFwcGVyXT1cInBhZ2luYXRvciA/ICdjYWxjKDEwMCUgLSA0OHB4KScgOiAnMTAwJSdcIj5cbiAgICAgIDxhdWktdGFibGVcbiAgICAgICAgW2RhdGFTb3VyY2VdPVwiY29sdW1ucy5sZW5ndGggPyAodGFibGVMaXN0JCB8IGFzeW5jKSA6IFtdXCJcbiAgICAgICAgYXVpVGFibGVTY3JvbGxhYmxlXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbYXVpVGFibGVDb2x1bW5EZWZdPVwiY29sdW1uXCI+XG4gICAgICAgICAgICA8YXVpLXRhYmxlLWhlYWRlci1jZWxsXG4gICAgICAgICAgICAgIFtjbGFzc109XCJhbGlnbm1lbnQgfCBwdXJlOiBnZXRBbGlnbm1lbnRDbGFzc1wiXG4gICAgICAgICAgICAgICphdWlUYWJsZUhlYWRlckNlbGxEZWZcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3skYW55KGxpc3Q/LlswXT8uW2NvbHVtbl0/LnNvdXJjZU5hbWUpID09PSAndGltZScgJiYgISRhbnkobGlzdD8uWzBdPy5bY29sdW1uXT8uZGlzcGxheU5hbWUpICA/ICAoY29sdW1uIHwgdHJhbnNsYXRlKSA6IGNvbHVtbiB9fVxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIkYW55KHRhYmxlTGlzdCQgfCBhc3luYyk/LlswXT8uW2NvbHVtbl0/LnVuaXQgYXMgdW5pdFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAoe3sgdW5pdCB9fSlcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2F1aS10YWJsZS1oZWFkZXItY2VsbD5cbiAgICAgICAgICAgIDxhdWktdGFibGUtY2VsbFxuICAgICAgICAgICAgICBbY2xhc3NdPVwiYWxpZ25tZW50IHwgcHVyZTogZ2V0QWxpZ25tZW50Q2xhc3NcIlxuICAgICAgICAgICAgICAqYXVpVGFibGVDZWxsRGVmPVwibGV0IGl0ZW07IGxldCBpbmRleCA9IGluZGV4XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBjbGFzcz1cInR3LXRleHQtZWxsaXBzaXMgdHctb3ZlcmZsb3ctaGlkZGVuXCJcbiAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7IGNvbG9yOiBpdGVtPy5bY29sdW1uXT8uY29sb3IgfVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBpdGVtPy5bY29sdW1uXT8udmFsdWUgfCBwdXJlOiBmb3JtYXQ6aXRlbT8uW2NvbHVtbl0/LnNvdXJjZU5hbWU6IGl0ZW0/Lltjb2x1bW5dPy51bml0IHwgYWNsRmllbGROb3RBdmFpbGFibGUgfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9hdWktdGFibGUtY2VsbD5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPGF1aS10YWJsZS1oZWFkZXItcm93XG4gICAgICAgICAgKmF1aVRhYmxlSGVhZGVyUm93RGVmPVwiY29sdW1uczsgc3RpY2t5OiB0cnVlXCJcbiAgICAgICAgPjwvYXVpLXRhYmxlLWhlYWRlci1yb3c+XG4gICAgICAgIDxhdWktdGFibGUtcm93XG4gICAgICAgICAgKmF1aVRhYmxlUm93RGVmPVwibGV0IHJvdzsgY29sdW1uczogY29sdW1uc1wiXG4gICAgICAgID48L2F1aS10YWJsZS1yb3c+XG4gICAgICA8L2F1aS10YWJsZT5cbiAgICA8L2Rpdj5cbiAgICA8YXVpLXBhZ2luYXRvclxuICAgICAgKm5nSWY9XCJwYWdpbmF0b3JcIlxuICAgICAgbGF5b3V0PVwicGFnZXJcIlxuICAgICAgW2N1cnJlbnRQYWdlXT1cIihwYWdpbmF0b3IkJCB8IGFzeW5jKS5jdXJyZW50UGFnZVwiXG4gICAgICBbcGFnZVNpemVdPVwiKHBhZ2luYXRvciQkIHwgYXN5bmMpLnBhZ2VTaXplXCJcbiAgICAgIFt0b3RhbF09XCJsaXN0Lmxlbmd0aCB8fCAwXCJcbiAgICAgIChjdXJyZW50UGFnZUNoYW5nZSk9XCJvblBhZ2VDaGFuZ2UoJGV2ZW50KVwiXG4gICAgPjwvYXVpLXBhZ2luYXRvcj5cbiAgPC9kaXY+XG4gIDxhY2wtY2hhcnQtc3RhdHVzXG4gICAgW3N0YXR1c109XCJfc3RhdHVzXCJcbiAgICBbY3VzdG9tRXJyb3JdPVwiY3VzdG9tRXJyb3JcIlxuICAgIChyZWZyZXNoKT1cInJlZnJlc2gubmV4dCgpXCJcbiAgPjwvYWNsLWNoYXJ0LXN0YXR1cz5cbjwvZGl2PlxuIl19
@@ -15,4 +15,12 @@ export var Orientation;
15
15
  Orientation["HORIZONTAL"] = "horizontal";
16
16
  Orientation["AUTO"] = "auto";
17
17
  })(Orientation || (Orientation = {}));
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvYS1tZXRyaWMtY2hhcnQvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsTUFBTSxDQUFOLElBQVksV0FJWDtBQUpELFdBQVksV0FBVztJQUNyQixrQ0FBcUIsQ0FBQTtJQUNyQixrQ0FBcUIsQ0FBQTtJQUNyQixzQ0FBeUIsQ0FBQTtBQUMzQixDQUFDLEVBSlcsV0FBVyxLQUFYLFdBQVcsUUFJdEI7QUEwQ0QsTUFBTSxDQUFOLElBQVksU0FHWDtBQUhELFdBQVksU0FBUztJQUNuQiw4QkFBaUIsQ0FBQTtJQUNqQixrQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBSFcsU0FBUyxLQUFULFNBQVMsUUFHcEI7QUEyQkQsTUFBTSxDQUFOLElBQVksV0FJWDtBQUpELFdBQVksV0FBVztJQUNyQixvQ0FBdUIsQ0FBQTtJQUN2Qix3Q0FBMkIsQ0FBQTtJQUMzQiw0QkFBZSxDQUFBO0FBQ2pCLENBQUMsRUFKVyxXQUFXLEtBQVgsV0FBVyxRQUl0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBYT1IgfSBmcm9tICd0cy1lc3NlbnRpYWxzJztcbmltcG9ydCB7IExlZ2VuZE9wdCwgT3B0aW9ucywgVG9vbHRpcE9wdGlvbiwgVG9vbHRpcFZhbHVlIH0gZnJvbSAnenotY2hhcnQnO1xuXG5pbXBvcnQgeyBNb25pdG9yTWV0cmljUmVzdWx0IH0gZnJvbSAnLi4vYXBpL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgU3RyaW5nTWFwLCBXb3Jrc3BhY2VQYXJhbXMgfSBmcm9tICcuLi9jb3JlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgVHJhbnNsYXRpb24gfSBmcm9tICcuLi90cmFuc2xhdGUvcHVibGljLWFwaSc7XG5cbmV4cG9ydCBlbnVtIE1ldHJpY1Njb3BlIHtcbiAgJ0NMVVNURVInID0gJ2NsdXN0ZXInLFxuICAnUFJPSkVDVCcgPSAncHJvamVjdCcsXG4gICdXT1JLU1BBQ0UnID0gJ3dvcmtzcGFjZScsXG59XG5cbmV4cG9ydCB0eXBlIExlZ2VuZFBhcmFtcyA9XG4gIHwgc3RyaW5nXG4gIHwgKChwYXJhbXM6IEluZGljYXRvclBhcmFtcywgcmVzdWx0OiBNb25pdG9yTWV0cmljUmVzdWx0KSA9PiBzdHJpbmcpO1xuXG5leHBvcnQgdHlwZSBTZXJpZXNQYXJhbXMgPSBQYXJ0aWFsPFxuICBYT1I8eyBpbmRpY2F0b3JzOiBzdHJpbmcgfCBzdHJpbmdbXSB9LCB7IGV4cHI6IHN0cmluZyB9PiAmIHtcbiAgICBpbnZpc2libGU/OiBib29sZWFuOyAvLyDpmpDol4/nmoTmjIfmoIfvvIzkuI3nlKjkuo7nlLvnur9cbiAgICBjb2xvcj86IHN0cmluZzsgLy8g57q/6aKc6Imy77yM5LiN56m/5L2/55So6buY6K6k6Imy5YC8XG4gICAgLy8g5aSa5p2h57q/5LiL5L2/55SoIG1ldHJpYyDlsZXnpLrlm77kvossIOaUr+aMgeWkmuS4qnzliIblibIncG9kfHBvZE5hbWUn77yM5ZCO6Z2i5pyf5pyb5pSv5oyBZ28gdGVtcGxhdGVcbiAgICBsZWdlbmQ/OiBMZWdlbmRQYXJhbXM7IC8vIOWPr+aMh+WummxlZ2VuZCDkuI3orr7nva7kvb/nlKggaW5kaWNhdG9ycyDnmoTjgILmlK/mjIFmbiDoh6rlrprkuYlsZWdlbmQg57+76K+R562JXG4gIH1cbj47XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0cmljUGFyYW1zIHtcbiAgc3RhcnQ6IG51bWJlcjtcbiAgZW5kOiBudW1iZXI7XG4gIHN0ZXA/OiBudW1iZXI7XG4gIHNjb3BlPzogTWV0cmljU2NvcGU7IC8vIG1ldHJpYyDojIPlm7RcbiAgc2NvcGVWYWx1ZT86IHN0cmluZyB8IFdvcmtzcGFjZVBhcmFtcztcbiAgZGVwZW5kZW50RGF0YT86IGJvb2xlYW47IC8vIOS+nei1luaVsOaNru+8jOWkmuadoee6v+WcuuaZr1xuICB2YXJpYWJsZVNvdXJjZT86IFN0cmluZ01hcCB8IFN0cmluZ01hcFtdO1xuICBpc0luZGV4PzogYm9vbGVhbjsgLy8gVE9ET++8miDnm5HmjqfpnaLmnb/kuIvkuIDkuKrmjIfmoIflr7nlupTkuIDkuKogdmFyIO+8jOagueaNrmluZGV4IOWMuemFje+8jOWFtuS7luWcuuaZr+m7mOiupOS8oOWFpeaVsOe7hOivt+axguWkmuasoVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZldGNoUGFyYW1zIHtcbiAgaW5kaWNhdG9yUGFyYW1zOiBJbmRpY2F0b3JQYXJhbXNbXTtcbiAgbWV0cmljUGFyYW1zOiBNZXRyaWNQYXJhbXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5kaWNhdG9yUGFyYW1zIHtcbiAgaWQ/OiBzdHJpbmc7IC8vIOebkeaOp+mdouadv+S9v+eUqO+8jOWFtuS7luaXoOmcgOS8oOWFpVxuICBleHByPzogc3RyaW5nO1xuICBpbmRpY2F0b3JzPzogc3RyaW5nO1xuICB2YXJpYWJsZXM6IHN0cmluZ1tdO1xuICB1bml0Pzogc3RyaW5nO1xuICBsZWdlbmQ/OiBzdHJpbmc7XG4gIGNvbG9yPzogc3RyaW5nO1xuICBpbnZpc2libGU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgZW51bSBBVW5pdFR5cGUge1xuICBNRU1PUlkgPSAnbWVtb3J5JyxcbiAgQ0FQQUNJVFkgPSAnY2FwYWNpdHknLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFNYXRjaFVuaXRQYXJhbXMge1xuICBiYXNlPzogbnVtYmVyO1xuICB0aHJlc2hvbGQ/OiBudW1iZXI7XG4gIHVuaXRUeXBlPzogQVVuaXRUeXBlO1xuICB1bml0UmFuZ2U/OiBzdHJpbmdbXTtcbiAgZGVmYXVsdFByZWZpeD86IGJvb2xlYW47XG4gIHByZWZpeD86IHN0cmluZztcbiAgYmFzZVVuaXQ/OiBzdHJpbmc7XG4gIGdyb3Vwcz86IEFycmF5PHsgYmFzZTogbnVtYmVyOyByYW5nZTogc3RyaW5nW10gfT47XG4gIGNvbnZlcnNpb25zPzogSW5kaWNhdG9yVW5pdENvbnZlcnNpb25bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmRpY2F0b3JVbml0IHtcbiAgdHlwZTogc3RyaW5nO1xuICB0cmFuc2xhdGlvbjogVHJhbnNsYXRpb247XG4gIGNvbnZlcnNpb25zOiBJbmRpY2F0b3JVbml0Q29udmVyc2lvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluZGljYXRvclVuaXRDb252ZXJzaW9uIHtcbiAgYWxpYXM6IHN0cmluZ1tdO1xuICB1bml0OiBzdHJpbmc7XG4gIHNjYWxlcjogbnVtYmVyO1xuICB0cmFuc2xhdGlvbjogVHJhbnNsYXRpb247XG59XG5cbmV4cG9ydCBlbnVtIE9yaWVudGF0aW9uIHtcbiAgJ1ZFUlRJQ0FMJyA9ICd2ZXJ0aWNhbCcsXG4gICdIT1JJWk9OVEFMJyA9ICdob3Jpem9udGFsJyxcbiAgJ0FVVE8nID0gJ2F1dG8nLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIExlZ2VuZE9wdGlvbiBleHRlbmRzIExlZ2VuZE9wdCB7XG4gIHN5bWJvbD86ICdjaXJjbGUnIHwgJ3NxdWFyZScgfCAnbGluZSc7XG4gIHRlbXBsYXRlPzogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCBzdHJpbmcgfCAnZHJvcGRvd24nO1xuICB0cmFuc2xhdGlvbj86IGJvb2xlYW47XG4gIHNlbGVjdEFsbD86IGJvb2xlYW47XG4gIHNlbGVjdEFsbE5hbWU/OiBib29sZWFuO1xuICBkaXJlY3Rpb24/OiBPcmllbnRhdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBTWV0cmljQ2hhcnRPcHRpb25zXG4gIGV4dGVuZHMgT21pdDxPcHRpb25zLCAndGl0bGUnIHwgJ2xlZ2VuZCcgfCAndG9vbHRpcCc+IHtcbiAgdGl0bGU/OiB7XG4gICAgdGV4dD86IHN0cmluZyB8IFRlbXBsYXRlUmVmPHVua25vd24+O1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dW5rbm93bj47XG4gICAgZGVzY3JpcHRpb25Db250ZXh0PzogU3RyaW5nTWFwO1xuICAgIHN1ZmZpeD86IHN0cmluZztcbiAgfTtcbiAgbGVnZW5kPzogTGVnZW5kT3B0aW9uIHwgYm9vbGVhbjtcbiAgdG9vbHRpcD86IE1ldHJpY0NoYXJ0VG9vbHRpcE9wdGlvbiB8IGJvb2xlYW47XG4gIHRhYmxlPzogVGFibGVDaGFydE9wdGlvbnM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0cmljQ2hhcnRUb29sdGlwT3B0aW9uXG4gIGV4dGVuZHMgT21pdDxUb29sdGlwT3B0aW9uLCAnaXRlbUZvcm1hdHRlcic+IHtcbiAgaXRlbUZvcm1hdHRlcj86XG4gICAgfCAoKHZhbHVlOiBUb29sdGlwVmFsdWVbXSkgPT4gc3RyaW5nIHwgVG9vbHRpcFZhbHVlW10gfCBFbGVtZW50KVxuICAgIHwgVGVtcGxhdGVSZWY8dW5rbm93bj47XG4gIHRpdGxlRm9ybWF0dGVyPzpcbiAgICB8IHN0cmluZ1xuICAgIHwgKCh0aXRsZTogc3RyaW5nLCB2YWx1ZXM6IFRvb2x0aXBWYWx1ZVtdKSA9PiBzdHJpbmcpXG4gICAgfCBUZW1wbGF0ZVJlZjx1bmtub3duPjtcbiAgaXRlbVRlbXBsYXRlQ29udGV4dD86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICB0b29sdGlwVGl0bGVDb250ZXh0PzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVDaGFydE9wdGlvbnMge1xuICBhbGlnbm1lbnQ/OiAnbGVmdCcgfCAnY2VudGVyJyB8ICdyaWdodCc7XG4gIHBhZ2luYXRpb24/OiBUYWJsZVBhZ2luYXRvckNoYXJ0T3B0aW9ucztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZVBhZ2luYXRvckNoYXJ0T3B0aW9ucyB7XG4gIGxheW91dDogc3RyaW5nIHwgc3RyaW5nW107XG4gIGN1cnJlbnRQYWdlPzogbnVtYmVyO1xuICBwYWdlSW5kZXg/OiBudW1iZXI7XG4gIHBhZ2VTaXplPzogbnVtYmVyO1xuICB0b3RhbD86IG51bWJlcjtcbn1cbiJdfQ==
18
+ export var ValueTextMode;
19
+ (function (ValueTextMode) {
20
+ ValueTextMode["Auto"] = "auto";
21
+ ValueTextMode["Value"] = "value";
22
+ ValueTextMode["ValueAndName"] = "value_and_name";
23
+ ValueTextMode["Name"] = "name";
24
+ ValueTextMode["None"] = "none";
25
+ })(ValueTextMode || (ValueTextMode = {}));
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvYS1tZXRyaWMtY2hhcnQvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsTUFBTSxDQUFOLElBQVksV0FJWDtBQUpELFdBQVksV0FBVztJQUNyQixrQ0FBcUIsQ0FBQTtJQUNyQixrQ0FBcUIsQ0FBQTtJQUNyQixzQ0FBeUIsQ0FBQTtBQUMzQixDQUFDLEVBSlcsV0FBVyxLQUFYLFdBQVcsUUFJdEI7QUE4Q0QsTUFBTSxDQUFOLElBQVksU0FHWDtBQUhELFdBQVksU0FBUztJQUNuQiw4QkFBaUIsQ0FBQTtJQUNqQixrQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBSFcsU0FBUyxLQUFULFNBQVMsUUFHcEI7QUEyQkQsTUFBTSxDQUFOLElBQVksV0FJWDtBQUpELFdBQVksV0FBVztJQUNyQixvQ0FBdUIsQ0FBQTtJQUN2Qix3Q0FBMkIsQ0FBQTtJQUMzQiw0QkFBZSxDQUFBO0FBQ2pCLENBQUMsRUFKVyxXQUFXLEtBQVgsV0FBVyxRQUl0QjtBQTZCRCxNQUFNLENBQU4sSUFBWSxhQU1YO0FBTkQsV0FBWSxhQUFhO0lBQ3ZCLDhCQUFhLENBQUE7SUFDYixnQ0FBZSxDQUFBO0lBQ2YsZ0RBQStCLENBQUE7SUFDL0IsOEJBQWEsQ0FBQTtJQUNiLDhCQUFhLENBQUE7QUFDZixDQUFDLEVBTlcsYUFBYSxLQUFiLGFBQWEsUUFNeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgWE9SIH0gZnJvbSAndHMtZXNzZW50aWFscyc7XG5pbXBvcnQgeyBMZWdlbmRPcHQsIE9wdGlvbnMsIFRvb2x0aXBPcHRpb24sIFRvb2x0aXBWYWx1ZSB9IGZyb20gJ3p6LWNoYXJ0JztcblxuaW1wb3J0IHsgTW9uaXRvck1ldHJpY1Jlc3VsdCB9IGZyb20gJy4uL2FwaS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IFN0cmluZ01hcCwgV29ya3NwYWNlUGFyYW1zIH0gZnJvbSAnLi4vY29yZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IFRyYW5zbGF0aW9uIH0gZnJvbSAnLi4vdHJhbnNsYXRlL3B1YmxpYy1hcGknO1xuXG5leHBvcnQgZW51bSBNZXRyaWNTY29wZSB7XG4gICdDTFVTVEVSJyA9ICdjbHVzdGVyJyxcbiAgJ1BST0pFQ1QnID0gJ3Byb2plY3QnLFxuICAnV09SS1NQQUNFJyA9ICd3b3Jrc3BhY2UnLFxufVxuXG5leHBvcnQgdHlwZSBMZWdlbmRQYXJhbXMgPVxuICB8IHN0cmluZ1xuICB8ICgocGFyYW1zOiBJbmRpY2F0b3JQYXJhbXMsIHJlc3VsdDogTW9uaXRvck1ldHJpY1Jlc3VsdCkgPT4gc3RyaW5nKTtcblxuZXhwb3J0IHR5cGUgU2VyaWVzUGFyYW1zID0gUGFydGlhbDxcbiAgWE9SPHsgaW5kaWNhdG9yczogc3RyaW5nIHwgc3RyaW5nW10gfSwgeyBleHByOiBzdHJpbmcgfT4gJiB7XG4gICAgaW52aXNpYmxlPzogYm9vbGVhbjsgLy8g6ZqQ6JeP55qE5oyH5qCH77yM5LiN55So5LqO55S757q/XG4gICAgaW5zdGFudD86IGJvb2xlYW47IC8vIOWPquafpeivouW9k+WJjeaVsOaNrueCuVxuICAgIHJhbmdlPzogYm9vbGVhbjsgLy8g6buY6K6kdHJ1ZVxuICAgIGNvbG9yPzogc3RyaW5nOyAvLyDnur/popzoibLvvIzkuI3nqb/kvb/nlKjpu5jorqToibLlgLxcbiAgICAvLyDlpJrmnaHnur/kuIvkvb/nlKggbWV0cmljIOWxleekuuWbvuS+iywg5pSv5oyB5aSa5LiqfOWIhuWJsidwb2R8cG9kTmFtZSfvvIzlkI7pnaLmnJ/mnJvmlK/mjIFnbyB0ZW1wbGF0ZVxuICAgIGxlZ2VuZD86IExlZ2VuZFBhcmFtczsgLy8g5Y+v5oyH5a6abGVnZW5kIOS4jeiuvue9ruS9v+eUqCBpbmRpY2F0b3JzIOeahOOAguaUr+aMgWZuIOiHquWumuS5iWxlZ2VuZCDnv7vor5HnrYlcbiAgfVxuPjtcblxuZXhwb3J0IGludGVyZmFjZSBNZXRyaWNQYXJhbXMge1xuICBzdGFydDogbnVtYmVyO1xuICBlbmQ6IG51bWJlcjtcbiAgc3RlcD86IG51bWJlcjtcbiAgc2NvcGU/OiBNZXRyaWNTY29wZTsgLy8gbWV0cmljIOiMg+WbtFxuICBzY29wZVZhbHVlPzogc3RyaW5nIHwgV29ya3NwYWNlUGFyYW1zO1xuICBkZXBlbmRlbnREYXRhPzogYm9vbGVhbjsgLy8g5L6d6LWW5pWw5o2u77yM5aSa5p2h57q/5Zy65pmvXG4gIHZhcmlhYmxlU291cmNlPzogU3RyaW5nTWFwIHwgU3RyaW5nTWFwW107XG4gIGlzSW5kZXg/OiBib29sZWFuOyAvLyBUT0RP77yaIOebkeaOp+mdouadv+S4i+S4gOS4quaMh+agh+WvueW6lOS4gOS4qiB2YXIg77yM5qC55o2uaW5kZXgg5Yy56YWN77yM5YW25LuW5Zy65pmv6buY6K6k5Lyg5YWl5pWw57uE6K+35rGC5aSa5qyhXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmV0Y2hQYXJhbXMge1xuICBpbmRpY2F0b3JQYXJhbXM6IEluZGljYXRvclBhcmFtc1tdO1xuICBtZXRyaWNQYXJhbXM6IE1ldHJpY1BhcmFtcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmRpY2F0b3JQYXJhbXMge1xuICBpZD86IHN0cmluZzsgLy8g55uR5o6n6Z2i5p2/5L2/55So77yM5YW25LuW5peg6ZyA5Lyg5YWlXG4gIGV4cHI/OiBzdHJpbmc7XG4gIGluZGljYXRvcnM/OiBzdHJpbmc7XG4gIHZhcmlhYmxlczogc3RyaW5nW107XG4gIHVuaXQ/OiBzdHJpbmc7XG4gIGxlZ2VuZD86IHN0cmluZztcbiAgY29sb3I/OiBzdHJpbmc7XG4gIGluc3RhbnQ/OiBib29sZWFuO1xuICByYW5nZT86IGJvb2xlYW47XG4gIGludmlzaWJsZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBlbnVtIEFVbml0VHlwZSB7XG4gIE1FTU9SWSA9ICdtZW1vcnknLFxuICBDQVBBQ0lUWSA9ICdjYXBhY2l0eScsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQU1hdGNoVW5pdFBhcmFtcyB7XG4gIGJhc2U/OiBudW1iZXI7XG4gIHRocmVzaG9sZD86IG51bWJlcjtcbiAgdW5pdFR5cGU/OiBBVW5pdFR5cGU7XG4gIHVuaXRSYW5nZT86IHN0cmluZ1tdO1xuICBkZWZhdWx0UHJlZml4PzogYm9vbGVhbjtcbiAgcHJlZml4Pzogc3RyaW5nO1xuICBiYXNlVW5pdD86IHN0cmluZztcbiAgZ3JvdXBzPzogQXJyYXk8eyBiYXNlOiBudW1iZXI7IHJhbmdlOiBzdHJpbmdbXSB9PjtcbiAgY29udmVyc2lvbnM/OiBJbmRpY2F0b3JVbml0Q29udmVyc2lvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluZGljYXRvclVuaXQge1xuICB0eXBlOiBzdHJpbmc7XG4gIHRyYW5zbGF0aW9uOiBUcmFuc2xhdGlvbjtcbiAgY29udmVyc2lvbnM6IEluZGljYXRvclVuaXRDb252ZXJzaW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5kaWNhdG9yVW5pdENvbnZlcnNpb24ge1xuICBhbGlhczogc3RyaW5nW107XG4gIHVuaXQ6IHN0cmluZztcbiAgc2NhbGVyOiBudW1iZXI7XG4gIHRyYW5zbGF0aW9uOiBUcmFuc2xhdGlvbjtcbn1cblxuZXhwb3J0IGVudW0gT3JpZW50YXRpb24ge1xuICAnVkVSVElDQUwnID0gJ3ZlcnRpY2FsJyxcbiAgJ0hPUklaT05UQUwnID0gJ2hvcml6b250YWwnLFxuICAnQVVUTycgPSAnYXV0bycsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGVnZW5kT3B0aW9uIGV4dGVuZHMgTGVnZW5kT3B0IHtcbiAgc3ltYm9sPzogJ2NpcmNsZScgfCAnc3F1YXJlJyB8ICdsaW5lJztcbiAgdGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IHN0cmluZyB8ICdkcm9wZG93bic7XG4gIHRyYW5zbGF0aW9uPzogYm9vbGVhbjtcbiAgc2VsZWN0QWxsPzogYm9vbGVhbjtcbiAgc2VsZWN0QWxsTmFtZT86IGJvb2xlYW47XG4gIGRpcmVjdGlvbj86IE9yaWVudGF0aW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFNZXRyaWNDaGFydE9wdGlvbnNcbiAgZXh0ZW5kcyBPbWl0PE9wdGlvbnMsICd0aXRsZScgfCAnbGVnZW5kJyB8ICd0b29sdGlwJz4ge1xuICB0aXRsZT86IHtcbiAgICB0ZXh0Pzogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dW5rbm93bj47XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjx1bmtub3duPjtcbiAgICBkZXNjcmlwdGlvbkNvbnRleHQ/OiBTdHJpbmdNYXA7XG4gICAgc3VmZml4Pzogc3RyaW5nO1xuICB9O1xuICBsZWdlbmQ/OiBMZWdlbmRPcHRpb24gfCBib29sZWFuO1xuICB0b29sdGlwPzogTWV0cmljQ2hhcnRUb29sdGlwT3B0aW9uIHwgYm9vbGVhbjtcbiAgdGFibGU/OiBUYWJsZUNoYXJ0T3B0aW9ucztcbiAgc3RhdD86IFN0YXRPcHRpb25zO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YXRPcHRpb25zIHtcbiAgdGV4dE1vZGU/OiBWYWx1ZVRleHRNb2RlO1xufVxuXG5leHBvcnQgZW51bSBWYWx1ZVRleHRNb2RlIHtcbiAgQXV0byA9ICdhdXRvJyxcbiAgVmFsdWUgPSAndmFsdWUnLFxuICBWYWx1ZUFuZE5hbWUgPSAndmFsdWVfYW5kX25hbWUnLFxuICBOYW1lID0gJ25hbWUnLFxuICBOb25lID0gJ25vbmUnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldHJpY0NoYXJ0VG9vbHRpcE9wdGlvblxuICBleHRlbmRzIE9taXQ8VG9vbHRpcE9wdGlvbiwgJ2l0ZW1Gb3JtYXR0ZXInPiB7XG4gIGl0ZW1Gb3JtYXR0ZXI/OlxuICAgIHwgKCh2YWx1ZTogVG9vbHRpcFZhbHVlW10pID0+IHN0cmluZyB8IFRvb2x0aXBWYWx1ZVtdIHwgRWxlbWVudClcbiAgICB8IFRlbXBsYXRlUmVmPHVua25vd24+O1xuICB0aXRsZUZvcm1hdHRlcj86XG4gICAgfCBzdHJpbmdcbiAgICB8ICgodGl0bGU6IHN0cmluZywgdmFsdWVzOiBUb29sdGlwVmFsdWVbXSkgPT4gc3RyaW5nKVxuICAgIHwgVGVtcGxhdGVSZWY8dW5rbm93bj47XG4gIGl0ZW1UZW1wbGF0ZUNvbnRleHQ/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgdG9vbHRpcFRpdGxlQ29udGV4dD86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQ2hhcnRPcHRpb25zIHtcbiAgYWxpZ25tZW50PzogJ2xlZnQnIHwgJ2NlbnRlcicgfCAncmlnaHQnO1xuICBwYWdpbmF0aW9uPzogVGFibGVQYWdpbmF0b3JDaGFydE9wdGlvbnM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVQYWdpbmF0b3JDaGFydE9wdGlvbnMge1xuICBsYXlvdXQ6IHN0cmluZyB8IHN0cmluZ1tdO1xuICBjdXJyZW50UGFnZT86IG51bWJlcjtcbiAgcGFnZUluZGV4PzogbnVtYmVyO1xuICBwYWdlU2l6ZT86IG51bWJlcjtcbiAgdG90YWw/OiBudW1iZXI7XG59XG4iXX0=
@@ -29,6 +29,8 @@ export function handleMetricParams(params, { variableSource, start, end, step, i
29
29
  const indicators = cur.indicators || cur.expr;
30
30
  return {
31
31
  indicators: cur.indicators,
32
+ range: cur.range,
33
+ instant: cur.instant,
32
34
  exprs: cur.expr ? [indicators] : [],
33
35
  variables: variable,
34
36
  };
@@ -70,6 +72,9 @@ export function dependOnData(indicatorParams, data) {
70
72
  export function handleDataResult(params, res) {
71
73
  return {
72
74
  name: handleLegend(params, res),
75
+ ...(params.instant && !params.range && { type: 'point' }),
76
+ ...(params.instant && { instant: true }),
77
+ range: params.range,
73
78
  values: res?.values?.map(d => ({
74
79
  x: d[0],
75
80
  y: d[1],
@@ -98,9 +103,22 @@ export function getLegendName(metricKey, metric) {
98
103
  return value || metricKey;
99
104
  }
100
105
  return (getLegendTemplate(metricKey, metric) ||
101
- metric[matchLegend(metricKey)] ||
106
+ legendFormat(metricKey, metric) ||
102
107
  metricKey);
103
108
  }
109
+ function legendFormat(str, vars) {
110
+ // eslint-disable-next-line unicorn/better-regex
111
+ const regex = /\{\{\.(.+?)\}\}/g;
112
+ return (str.replaceAll(regex, (match, capture) => {
113
+ if (vars[capture]) {
114
+ return vars[capture];
115
+ }
116
+ if (match) {
117
+ return '';
118
+ }
119
+ return '';
120
+ }) || 'Value');
121
+ }
104
122
  function getLegendTemplate(str, obj) {
105
123
  let name;
106
124
  try {
@@ -222,4 +240,4 @@ export function findTimeRange(diff) {
222
240
  });
223
241
  return time ? { start: time.startTime(), end: time.endTime() } : null;
224
242
  }
225
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hLW1ldHJpYy1jaGFydC91dGlscy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFjLE1BQU0sMEJBQTBCLENBQUM7QUFFekUsT0FBTyxFQUVMLCtCQUErQixHQUVoQyxNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBR25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFeEMsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxNQUF5QixFQUN6QixFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQWdCO0lBRTNELHdEQUF3RDtJQUN4RCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQ3RDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUNuQixDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNWLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTTtnQkFDeEIsQ0FBQyxDQUFDLE9BQU87b0JBQ1AsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDO29CQUNiLENBQUMsQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFB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TUFBTSxJQUFJLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQzFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxJQUFJLENBQUM7SUFDcEQsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ3hFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuaW1wb3J0IHsgZ2V0LCBpc0Z1bmN0aW9uLCB0ZW1wbGF0ZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBEYXRhSXRlbSwgVG9vbHRpcFZhbHVlIH0gZnJvbSAnenotY2hhcnQnO1xuXG5pbXBvcnQgeyBDSEFSVF9USU1FX0ZPUk1BVCwgQUNoYXJ0RGF0YSB9IGZyb20gJy4uLy4uL2EtY2hhcnQvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBNb25pdG9yTWV0cmljLCBNb25pdG9yTWV0cmljUmVzdWx0IH0gZnJvbSAnLi4vLi4vYXBpL3B1YmxpYy1hcGknO1xuaW1wb3J0IHtcbiAgRGljdGlvbmFyeSxcbiAgRklFTERfTk9UX0FWQUlMQUJMRV9QTEFDRUhPTERFUixcbiAgU3RyaW5nTWFwLFxufSBmcm9tICcuLi8uLi9jb3JlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgUElDS0VSX1RJTUVfUkFOR0VTIH0gZnJvbSAnLi4vLi4vbWV0cmljLWNoYXJ0L3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgRmV0Y2hQYXJhbXMsIEluZGljYXRvclBhcmFtcywgTWV0cmljUGFyYW1zIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5pbXBvcnQgeyByb3VuZEludGVydmFsIH0gZnJvbSAnLi9yYW5nZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVNZXRyaWNQYXJhbXMoXG4gIHBhcmFtczogSW5kaWNhdG9yUGFyYW1zW10sXG4gIHsgdmFyaWFibGVTb3VyY2UsIHN0YXJ0LCBlbmQsIHN0ZXAsIGlzSW5kZXggfTogTWV0cmljUGFyYW1zLFxuKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzb25hcmpzL2NvZ25pdGl2ZS1jb21wbGV4aXR5XG4gIGNvbnN0IHZhbHVlID0gcGFyYW1zLm1hcCgoY3VyLCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IHYgPSBBcnJheS5pc0FycmF5KHZhcmlhYmxlU291cmNlKVxuICAgICAgPyB2YXJpYWJsZVNvdXJjZS5maWx0ZXIoXG4gICAgICAgICAgKGl0ZW0sIGkpID0+XG4gICAgICAgICAgICBPYmplY3Qua2V5cyhpdGVtKS5sZW5ndGggJiZcbiAgICAgICAgICAgICgoaXNJbmRleFxuICAgICAgICAgICAgICA/IGluZGV4ID09PSBpXG4gICAgICAgICAgICAgIDogY3VyPy52YXJpYWJsZXM/LmV2ZXJ5KHYgPT4gT2JqZWN0LmtleXMoaXRlbSkuaW5jbHVkZXModikpKSB8fFxuICAgICAgICAgICAgICBjdXIuZXhwciksXG4gICAgICAgIClcbiAgICAgIDogY3VyLnZhcmlhYmxlcz8ubGVuZ3RoICYmIHZhcmlhYmxlU291cmNlXG4gICAgICA/IFt2YXJpYWJsZVNvdXJjZV1cbiAgICAgIDogW107XG4gICAgY29uc3QgdmFyaWFibGU6IFN0cmluZ01hcFtdID0gdi5tYXAodmFsdWUgPT4ge1xuICAgICAgcmV0dXJuIGN1ci5leHByXG4gICAgICAgID8gdmFsdWVcbiAgICAgICAgOiBjdXIudmFyaWFibGVzPy5yZWR1Y2UoXG4gICAgICAgICAgICAocHJlLCBrZXkpID0+XG4gICAgICAgICAgICAgIHZhbHVlW2tleV1cbiAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgLi4ucHJlLFxuICAgICAgICAgICAgICAgICAgICBba2V5XTogdmFsdWVba2V5XSxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA6IHByZSxcbiAgICAgICAgICAgIHt9LFxuICAgICAgICAgICk7XG4gICAgfSk7XG4gICAgY29uc3QgaW5kaWNhdG9ycyA9IGN1ci5pbmRpY2F0b3JzIHx8IGN1ci5leHByO1xuICAgIHJldHVybiB7XG4gICAgICBpbmRpY2F0b3JzOiBjdXIuaW5kaWNhdG9ycyxcbiAgICAgIGV4cHJzOiBjdXIuZXhwciA/IFtpbmRpY2F0b3JzXSA6IFtdLFxuICAgICAgdmFyaWFibGVzOiB2YXJpYWJsZSxcbiAgICB9O1xuICB9KTtcbiAgcmV0dXJuIHtcbiAgICBpbmRpY2F0b3JzOiB2YWx1ZSxcbiAgICBzdGFydCxcbiAgICBlbmQsXG4gICAgc3RlcCxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZUNoYXJ0RGF0YShcbiAgeyBpbmRpY2F0b3JQYXJhbXMsIG1ldHJpY1BhcmFtcyB9OiBGZXRjaFBhcmFtcyxcbiAgZGF0YTogTW9uaXRvck1ldHJpY1tdLFxuKSB7XG4gIGlmICghZGF0YSkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuICBjb25zdCB7IGRlcGVuZGVudERhdGEgfSA9IG1ldHJpY1BhcmFtcztcbiAgcmV0dXJuIGRlcGVuZGVudERhdGFcbiAgICA/IGRlcGVuZE9uRGF0YShpbmRpY2F0b3JQYXJhbXMsIGRhdGEpXG4gICAgOiBkZXBlbmRPbkluZGljYXRvcihpbmRpY2F0b3JQYXJhbXMsIGRhdGEpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVwZW5kT25JbmRpY2F0b3IoXG4gIGluZGljYXRvclBhcmFtczogSW5kaWNhdG9yUGFyYW1zW10sXG4gIGRhdGE6IE1vbml0b3JNZXRyaWNbXSxcbik6IEFDaGFydERhdGFbXSB7XG4gIHJldHVybiBpbmRpY2F0b3JQYXJhbXMucmVkdWNlKChwcmUsIHBhcmFtcykgPT4ge1xuICAgIGNvbnN0IG1ldHJpY0RhdGEgPSBkYXRhPy5maW5kKGl0ZW0gPT4gaXRlbS5pbmRpY2F0b3IgPT09IHBhcmFtcy5pbmRpY2F0b3JzKTtcbiAgICByZXR1cm4gWy4uLnByZSwgaGFuZGxlRGF0YVJlc3VsdChwYXJhbXMsIG1ldHJpY0RhdGE/LnJlc3VsdD8uWzBdKV07XG4gIH0sIFtdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlcGVuZE9uRGF0YShcbiAgaW5kaWNhdG9yUGFyYW1zOiBJbmRpY2F0b3JQYXJhbXNbXSxcbiAgZGF0YTogTW9uaXRvck1ldHJpY1tdLFxuKTogQUNoYXJ0RGF0YVtdIHtcbiAgY29uc3QgcGFyYW1zID0gaW5kaWNhdG9yUGFyYW1zWzBdO1xuICByZXR1cm4gZGF0YT8ucmVkdWNlKChwcmUsIHJlcykgPT4ge1xuICAgIGlmIChwYXJhbXMuaW5kaWNhdG9ycyA9PT0gcmVzLmluZGljYXRvciB8fCBwYXJhbXMuZXhwciA9PT0gcmVzLnF1ZXJ5KSB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICAuLi5wcmUsXG4gICAgICAgIC4uLnJlcy5yZXN1bHQubWFwKGl0ZW0gPT4gaGFuZGxlRGF0YVJlc3VsdChwYXJhbXMsIGl0ZW0pKSxcbiAgICAgIF07XG4gICAgfVxuICAgIHJldHVybiBwcmU7XG4gIH0sIFtdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZURhdGFSZXN1bHQoXG4gIHBhcmFtczogSW5kaWNhdG9yUGFyYW1zLFxuICByZXM6IE1vbml0b3JNZXRyaWNSZXN1bHQsXG4pIHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiBoYW5kbGVMZWdlbmQocGFyYW1zLCByZXMpLFxuICAgIHZhbHVlczogcmVzPy52YWx1ZXM/Lm1hcChkID0+ICh7XG4gICAgICB4OiBkWzBdLFxuICAgICAgeTogZFsxXSxcbiAgICB9KSksXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVMZWdlbmQoXG4gIHBhcmFtczogSW5kaWNhdG9yUGFyYW1zLFxuICByZXN1bHQ6IE1vbml0b3JNZXRyaWNSZXN1bHQsXG4pIHtcbiAgcmV0dXJuIGlzRnVuY3Rpb24ocGFyYW1zPy5sZWdlbmQpXG4gICAgPyBwYXJhbXMubGVnZW5kKHBhcmFtcywgcmVzdWx0KVxuICAgIDogZ2V0TGVnZW5kTmFtZShwYXJhbXM/LmxlZ2VuZCwgcmVzdWx0Py5tZXRyaWMgfHwge30pO1xufVxuZXhwb3J0IGNvbnN0IExFR0VORF9URU1QTEFURV9PUFRJT05TID0gT2JqZWN0LmZyZWV6ZSh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWdleHAvbWF0Y2gtYW55LCByZWdleHAvc3RyaWN0XG4gIGludGVycG9sYXRlOiAve3tcXC4oW1xcU1xcc10rPyl9fS9nLFxufSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMZWdlbmROYW1lKG1ldHJpY0tleTogc3RyaW5nLCBtZXRyaWM6IFN0cmluZ01hcCkge1xuICBpZiAoIW1ldHJpY0tleSAmJiAhT2JqZWN0LmtleXMobWV0cmljIHx8IHt9KT8ubGVuZ3RoKSB7XG4gICAgcmV0dXJuIEZJRUxEX05PVF9BVkFJTEFCTEVfUExBQ0VIT0xERVI7XG4gIH1cbiAgaWYgKCFtZXRyaWNLZXkgJiYgbWV0cmljKSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG1ldHJpYyk7XG4gIH1cbiAgY29uc3QgbWV0cmljS2V5cyA9IG1ldHJpY0tleT8uc3BsaXQoJywnKS5tYXAobWF0Y2hMZWdlbmQpO1xuICBpZiAobWV0cmljS2V5cz8ubGVuZ3RoID4gMSkge1xuICAgIGNvbnN0IHZhbHVlID0gbWV0cmljPy5bbWV0cmljS2V5cy5maW5kKGl0ZW0gPT4gbWV0cmljW2l0ZW1dKV07XG4gICAgcmV0dXJuIHZhbHVlIHx8IG1ldHJpY0tleTtcbiAgfVxuICByZXR1cm4gKFxuICAgIGdldExlZ2VuZFRlbXBsYXRlKG1ldHJpY0tleSwgbWV0cmljKSB8fFxuICAgIG1ldHJpY1ttYXRjaExlZ2VuZChtZXRyaWNLZXkpXSB8fFxuICAgIG1ldHJpY0tleVxuICApO1xufVxuXG5mdW5jdGlvbiBnZXRMZWdlbmRUZW1wbGF0ZShzdHI6IHN0cmluZywgb2JqOiBvYmplY3QpIHtcbiAgbGV0IG5hbWU6IHN0cmluZztcbiAgdHJ5IHtcbiAgICBuYW1lID0gZ2V0KG9iaiwgc3RyKSB8fCB0ZW1wbGF0ZShzdHIsIExFR0VORF9URU1QTEFURV9PUFRJT05TKShvYmopO1xuICB9IGNhdGNoIHtcbiAgICBuYW1lID0gJyc7XG4gIH1cbiAgcmV0dXJuIG5hbWU7XG59XG5cbmZ1bmN0aW9uIG1hdGNoTGVnZW5kKHZhbHVlOiBzdHJpbmcpIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaWNvcm4vYmV0dGVyLXJlZ2V4XG4gIHJldHVybiB2YWx1ZS5tYXRjaCgvXFx7XFx7XFwuKC4rPylcXH1cXH0vKT8uWzFdIHx8IHZhbHVlO1xufVxuXG4vLyDloavlhYXnqbrmlbDmja5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzb25hcmpzL2NvZ25pdGl2ZS1jb21wbGV4aXR5XG5leHBvcnQgZnVuY3Rpb24gZmlsbE51bGxEYXRhKFxuICB7IHN0YXJ0LCBlbmQsIHN0ZXAgfTogTWV0cmljUGFyYW1zLFxuICByZXM6IERhdGFJdGVtWyd2YWx1ZXMnXSA9IFtdLFxuICBpc1plcm8gPSBmYWxzZSxcbiAgc3RlcExpbmUgPSBmYWxzZSxcbikge1xuICBpZiAoIStzdGFydCB8fCAhK2VuZCkge1xuICAgIHJldHVybiByZXM7XG4gIH1cbiAgY29uc3QgX3N0ZXAgPSBzdGVwIHx8IHJvdW5kSW50ZXJ2YWwoc3RhcnQsIGVuZCk7XG4gIGNvbnN0IGN1clN0YXJ0ID0gK3N0YXJ0O1xuICBjb25zdCBudWxsVmFsdWUgPSBpc1plcm8gPyAwIDogbnVsbDtcbiAgY29uc3QgY3VyRW5kID0gc3RhcnQgKyBzdGVwICogKChlbmQgLSBzdGFydCkgLyBzdGVwKTtcbiAgY29uc3QgcHJlWCA9IHN0ZXBMaW5lXG4gICAgPyB7XG4gICAgICAgIHByZVg6IGRheWpzKGN1clN0YXJ0KVxuICAgICAgICAgIC5zdWJ0cmFjdCgoZW5kIC0gc3RhcnQpIC8gNiwgJ3MnKVxuICAgICAgICAgIC52YWx1ZU9mKCksXG4gICAgICB9XG4gICAgOiB7fTtcbiAgY29uc3QgcmVzdWx0ID0gW1xuICAgIC4uLihjdXJTdGFydCA9PT0gcmVzWzBdPy54ID8gW10gOiBbeyB4OiBjdXJTdGFydCwgeTogbnVsbFZhbHVlLCAuLi5wcmVYIH1dKSxcbiAgICAuLi5yZXMsXG4gICAgLi4uKHJlcy5hdCgtMSk/LnggPj0gY3VyRW5kID8gW10gOiBbeyB4OiBjdXJFbmQsIHk6IG51bGxWYWx1ZSB9XSksXG4gIF07XG5cbiAgLy8gcXVlcnkg6L+U5Zue5pWw5o2u5Y+v6IO95a2Y5Zyo5p+Q5Liq5pe26Ze05q615peg5pWw5o2u5oOF5Ya177yM5Lya5a+86Ie05YmN56uvYnVnXG4gIC8vIOmAmui/hyBzdGVwIOiuoeeul+WHuiDmgLvmlbDmja7jgIJcbiAgLy8g5Zyo5Ye6546w5LiA5byA5aeL5pWw5o2u57y65aSx5oOF5Ya177yM5YWI57uZ5pWw5o2u5re75Yqg5byA5aeL5pe26Ze05pWw5o2u77yM5ZKM57uT5p2f5pe26Ze05pWw5o2u44CCXG4gIC8vIOWcqOi/m+ihjOmBjeWOhu+8jOWIpOivu+W9k+WJjeaVsOaNruWSjOS4i+S4gOi3s+aVsOaNruS6i+S7tuW3riDmmK/lkKbmmK/ov5nkuKogc3RlcCxcbiAgLy8g5aaC5p6c5LiN5piv6K6h566X5Ye65Lik6ICF55u45beuIOWHoOadoeaVsOaNru+8jOeEtuWQjui/m+ihjOWhq+WFhVxuICBjb25zdCBkYXRhID0gcmVzdWx0LnJlZHVjZSgoYWNjLCBwcmV2LCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IGRpZmYgPVxuICAgICAgcmVzdWx0W2luZGV4ICsgMV0gJiYgcmVzdWx0W2luZGV4ICsgMV0ueCAqIDEwMDAgLSBwcmV2LnggKiAxMDAwO1xuICAgIGNvbnN0IHN0ZXBNID0gX3N0ZXAgKiAxMDAwO1xuICAgIC8vIOWQjuerr+WPr+iDveWHuueOsCArSWZuIOWvvOiHtOaIkCBOYU7vvIzorr7nva7kuLogbnVsbFxuICAgIGNvbnN0IGN1clZhbHVlID0ge1xuICAgICAgLi4ucHJldixcbiAgICAgIHk6IHByZXYueSxcbiAgICB9O1xuICAgIGlmIChkaWZmICYmIGRpZmYgIT09IHN0ZXBNKSB7XG4gICAgICBjb25zdCB0b3RhbCA9IE1hdGguY2VpbChkaWZmIC8gc3RlcE0gLSAxKTtcbiAgICAgIGNvbnN0IGRhdGEgPSBBcnJheS5mcm9tPG51bWJlcj4oeyBsZW5ndGg6IHRvdGFsIHx8IDAgfSlcbiAgICAgICAgLmZpbGwoMClcbiAgICAgICAgLnJlZHVjZSgob2xkLCBfY3VyciwgaSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHggPVxuICAgICAgICAgICAgaSA9PT0gMCA/IHByZXYueCAqIDEwMDAgKyBzdGVwTSA6IG9sZFtpIC0gMV0ueCAqIDEwMDAgKyBzdGVwTTtcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgLi4ub2xkLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB4OiB4IC8gMTAwMCxcbiAgICAgICAgICAgICAgeTogbnVsbFZhbHVlLFxuICAgICAgICAgICAgICAuLi4oc3RlcExpbmVcbiAgICAgICAgICAgICAgICA/IHsgcHJlWDogaSA9PT0gMCA/IHJlc3VsdFtpbmRleF0ueCA6IG9sZFtpIC0gMV0ueCB9XG4gICAgICAgICAgICAgICAgOiB7fSksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF07XG4gICAgICAgIH0sIFtdKTtcbiAgICAgIHJldHVybiBbLi4uYWNjLCBjdXJWYWx1ZSwgLi4uZGF0YV07XG4gICAgfVxuICAgIHJldHVybiBbLi4uYWNjLCBjdXJWYWx1ZV07XG4gIH0sIFtdKTtcbiAgcmV0dXJuIGRhdGEuc29ydCgoYSwgYikgPT4gYS54IC0gYi54KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZURhdGVBeGlzTGFiZWxGb3JtYXRzKFxuICBwYXJhbXM6IE1ldHJpY1BhcmFtcyxcbiAgaXNSaWNoPzogYm9vbGVhbixcbikge1xuICBpZiAocGFyYW1zKSB7XG4gICAgY29uc3QgZGlmZiA9IHBhcmFtcy5lbmQgLSBwYXJhbXMuc3RhcnQ7XG4gICAgY29uc3QgbTEgPSAyNCAqIDYwICogNjA7XG4gICAgY29uc3QgbTMgPSAzICogbTE7XG4gICAgY29uc3QgbTcgPSA3ICogbTE7XG4gICAgY29uc3QgTV9EX0ZPUk1BVCA9ICdNTS1ERCc7XG4gICAgY29uc3QgTURfSFNfRk9STUFUID0gYCR7TV9EX0ZPUk1BVH0gJHtDSEFSVF9USU1FX0ZPUk1BVH1gO1xuICAgIHJldHVybiBkaWZmID49IG03XG4gICAgICA/IGlzUmljaFxuICAgICAgICA/IE1EX0hTX0ZPUk1BVFxuICAgICAgICA6IE1fRF9GT1JNQVRcbiAgICAgIDogZGlmZiA8IG03ICYmIChkaWZmID49IG0zIHx8IGRpZmYgPiBtMSlcbiAgICAgID8gTURfSFNfRk9STUFUXG4gICAgICA6IENIQVJUX1RJTUVfRk9STUFUO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsaW1pdE1heFRvb2x0aXBJdGVtKGNvbnRleHQ6IFRvb2x0aXBWYWx1ZVtdLCBsaW1pdCA9IDE1KSB7XG4gIHJldHVybiBjb250ZXh0LnNsaWNlKDAsIGxpbWl0KTtcbn1cblxuZXhwb3J0IGNvbnN0IFZBUklBQkxFX0tFWV9DTFVTVEVSID0gJyRjbHVzdGVyJztcbmV4cG9ydCBjb25zdCBWQVJJQUJMRV9LRVlfTkFNRVNQQUNFID0gJyRuYW1lc3BhY2UnO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVwbGFjZUV4cHJWYXJpYWJsZShcbiAgZXhwcjogc3RyaW5nIHwgc3RyaW5nW10sXG4gIHZhcmlhYmxlOiBEaWN0aW9uYXJ5PGFueT4sXG4pIHtcbiAgbGV0IGRhdGEgPSBBcnJheS5pc0FycmF5KGV4cHIpID8gZXhwci5qb2luKCd8JykgOiBleHByO1xuICBjb25zdCB2YXJpYWJsZUtleXMgPSBPYmplY3Qua2V5cyh2YXJpYWJsZSB8fCB7fSk7XG4gIGNvbnN0IHZhcmlhYmxlVmFsdWVzID0gT2JqZWN0LnZhbHVlcyh2YXJpYWJsZSB8fCB7fSk7XG4gIGNvbnN0IHZhcnM6IHN0cmluZ1tdID1cbiAgICBkYXRhICYmIHR5cGVvZiBkYXRhLm1hdGNoID09PSAnZnVuY3Rpb24nID8gZGF0YS5tYXRjaCgvXFwkXFx3Ky9nKSA6IFtdO1xuICBpZiAoXG4gICAgIXZhcmlhYmxlS2V5cy5sZW5ndGggfHxcbiAgICAhdmFyaWFibGVLZXlzLnNvbWUodiA9PiB2YXJzPy5zb21lKGl0ZW0gPT4gaXRlbS5yZXBsYWNlKCckJywgJycpID09PSB2KSlcbiAgKSB7XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICB2YXJzXG4gICAgLnNvcnQoKGEsIGIpID0+IGIubGVuZ3RoIC0gYS5sZW5ndGgpXG4gICAgLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGNvbnN0IGsgPSBrZXkucmVwbGFjZSgnJCcsICcnKTtcbiAgICAgIGNvbnN0IGluZGV4ID0gdmFyaWFibGVLZXlzLmluZGV4T2Yoayk7XG4gICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICBjb25zdCB2ID0gdmFyaWFibGVWYWx1ZXNbaW5kZXhdO1xuICAgICAgICBkYXRhID0gZGF0YT8ucmVwbGFjZShcbiAgICAgICAgICBuZXcgUmVnRXhwKGBcXFxcJCR7a31gLCAnZycpLFxuICAgICAgICAgIEFycmF5LmlzQXJyYXkodikgPyB2LmpvaW4oJ3wnKSA6IHYsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gIHJldHVybiBkYXRhO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluZFRpbWVSYW5nZShkaWZmOiBudW1iZXIpIHtcbiAgY29uc3QgdGltZSA9IFBJQ0tFUl9USU1FX1JBTkdFUy5maW5kKGl0ZW0gPT4ge1xuICAgIHJldHVybiBpdGVtLmVuZFRpbWUoKSAtIGl0ZW0uc3RhcnRUaW1lKCkgPT09IGRpZmY7XG4gIH0pO1xuICByZXR1cm4gdGltZSA/IHsgc3RhcnQ6IHRpbWUuc3RhcnRUaW1lKCksIGVuZDogdGltZS5lbmRUaW1lKCkgfSA6IG51bGw7XG59XG4iXX0=
243
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9hLW1ldHJpYy1jaGFydC91dGlscy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFjLE1BQU0sMEJBQTBCLENBQUM7QUFFekUsT0FBTyxFQUVMLCtCQUErQixHQUVoQyxNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBR25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFeEMsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxNQUF5QixFQUN6QixFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQWdCO0lBRTNELHdEQUF3RDtJQUN4RCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQ3RDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUNuQixDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNWLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTTtnQkFDeEIsQ0FBQyxDQUFDLE9BQU87b0JBQ1AsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDO29CQUNiLENBQUMsQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFB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dCBkYXlqcyBmcm9tICdkYXlqcyc7XG5pbXBvcnQgeyBnZXQsIGlzRnVuY3Rpb24sIHRlbXBsYXRlIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IERhdGFJdGVtLCBUb29sdGlwVmFsdWUgfSBmcm9tICd6ei1jaGFydCc7XG5cbmltcG9ydCB7IENIQVJUX1RJTUVfRk9STUFULCBBQ2hhcnREYXRhIH0gZnJvbSAnLi4vLi4vYS1jaGFydC9wdWJsaWMtYXBpJztcbmltcG9ydCB7IE1vbml0b3JNZXRyaWMsIE1vbml0b3JNZXRyaWNSZXN1bHQgfSBmcm9tICcuLi8uLi9hcGkvcHVibGljLWFwaSc7XG5pbXBvcnQge1xuICBEaWN0aW9uYXJ5LFxuICBGSUVMRF9OT1RfQVZBSUxBQkxFX1BMQUNFSE9MREVSLFxuICBTdHJpbmdNYXAsXG59IGZyb20gJy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBQSUNLRVJfVElNRV9SQU5HRVMgfSBmcm9tICcuLi8uLi9tZXRyaWMtY2hhcnQvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBGZXRjaFBhcmFtcywgSW5kaWNhdG9yUGFyYW1zLCBNZXRyaWNQYXJhbXMgfSBmcm9tICcuLi90eXBlcyc7XG5cbmltcG9ydCB7IHJvdW5kSW50ZXJ2YWwgfSBmcm9tICcuL3JhbmdlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZU1ldHJpY1BhcmFtcyhcbiAgcGFyYW1zOiBJbmRpY2F0b3JQYXJhbXNbXSxcbiAgeyB2YXJpYWJsZVNvdXJjZSwgc3RhcnQsIGVuZCwgc3RlcCwgaXNJbmRleCB9OiBNZXRyaWNQYXJhbXMsXG4pIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbmFyanMvY29nbml0aXZlLWNvbXBsZXhpdHlcbiAgY29uc3QgdmFsdWUgPSBwYXJhbXMubWFwKChjdXIsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgdiA9IEFycmF5LmlzQXJyYXkodmFyaWFibGVTb3VyY2UpXG4gICAgICA/IHZhcmlhYmxlU291cmNlLmZpbHRlcihcbiAgICAgICAgICAoaXRlbSwgaSkgPT5cbiAgICAgICAgICAgIE9iamVjdC5rZXlzKGl0ZW0pLmxlbmd0aCAmJlxuICAgICAgICAgICAgKChpc0luZGV4XG4gICAgICAgICAgICAgID8gaW5kZXggPT09IGlcbiAgICAgICAgICAgICAgOiBjdXI/LnZhcmlhYmxlcz8uZXZlcnkodiA9PiBPYmplY3Qua2V5cyhpdGVtKS5pbmNsdWRlcyh2KSkpIHx8XG4gICAgICAgICAgICAgIGN1ci5leHByKSxcbiAgICAgICAgKVxuICAgICAgOiBjdXIudmFyaWFibGVzPy5sZW5ndGggJiYgdmFyaWFibGVTb3VyY2VcbiAgICAgID8gW3ZhcmlhYmxlU291cmNlXVxuICAgICAgOiBbXTtcbiAgICBjb25zdCB2YXJpYWJsZTogU3RyaW5nTWFwW10gPSB2Lm1hcCh2YWx1ZSA9PiB7XG4gICAgICByZXR1cm4gY3VyLmV4cHJcbiAgICAgICAgPyB2YWx1ZVxuICAgICAgICA6IGN1ci52YXJpYWJsZXM/LnJlZHVjZShcbiAgICAgICAgICAgIChwcmUsIGtleSkgPT5cbiAgICAgICAgICAgICAgdmFsdWVba2V5XVxuICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICAuLi5wcmUsXG4gICAgICAgICAgICAgICAgICAgIFtrZXldOiB2YWx1ZVtrZXldLFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDogcHJlLFxuICAgICAgICAgICAge30sXG4gICAgICAgICAgKTtcbiAgICB9KTtcbiAgICBjb25zdCBpbmRpY2F0b3JzID0gY3VyLmluZGljYXRvcnMgfHwgY3VyLmV4cHI7XG4gICAgcmV0dXJuIHtcbiAgICAgIGluZGljYXRvcnM6IGN1ci5pbmRpY2F0b3JzLFxuICAgICAgcmFuZ2U6IGN1ci5yYW5nZSxcbiAgICAgIGluc3RhbnQ6IGN1ci5pbnN0YW50LFxuICAgICAgZXhwcnM6IGN1ci5leHByID8gW2luZGljYXRvcnNdIDogW10sXG4gICAgICB2YXJpYWJsZXM6IHZhcmlhYmxlLFxuICAgIH07XG4gIH0pO1xuICByZXR1cm4ge1xuICAgIGluZGljYXRvcnM6IHZhbHVlLFxuICAgIHN0YXJ0LFxuICAgIGVuZCxcbiAgICBzdGVwLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlQ2hhcnREYXRhKFxuICB7IGluZGljYXRvclBhcmFtcywgbWV0cmljUGFyYW1zIH06IEZldGNoUGFyYW1zLFxuICBkYXRhOiBNb25pdG9yTWV0cmljW10sXG4pIHtcbiAgaWYgKCFkYXRhKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIGNvbnN0IHsgZGVwZW5kZW50RGF0YSB9ID0gbWV0cmljUGFyYW1zO1xuICByZXR1cm4gZGVwZW5kZW50RGF0YVxuICAgID8gZGVwZW5kT25EYXRhKGluZGljYXRvclBhcmFtcywgZGF0YSlcbiAgICA6IGRlcGVuZE9uSW5kaWNhdG9yKGluZGljYXRvclBhcmFtcywgZGF0YSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZXBlbmRPbkluZGljYXRvcihcbiAgaW5kaWNhdG9yUGFyYW1zOiBJbmRpY2F0b3JQYXJhbXNbXSxcbiAgZGF0YTogTW9uaXRvck1ldHJpY1tdLFxuKTogQUNoYXJ0RGF0YVtdIHtcbiAgcmV0dXJuIGluZGljYXRvclBhcmFtcy5yZWR1Y2UoKHByZSwgcGFyYW1zKSA9PiB7XG4gICAgY29uc3QgbWV0cmljRGF0YSA9IGRhdGE/LmZpbmQoaXRlbSA9PiBpdGVtLmluZGljYXRvciA9PT0gcGFyYW1zLmluZGljYXRvcnMpO1xuICAgIHJldHVybiBbLi4ucHJlLCBoYW5kbGVEYXRhUmVzdWx0KHBhcmFtcywgbWV0cmljRGF0YT8ucmVzdWx0Py5bMF0pXTtcbiAgfSwgW10pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVwZW5kT25EYXRhKFxuICBpbmRpY2F0b3JQYXJhbXM6IEluZGljYXRvclBhcmFtc1tdLFxuICBkYXRhOiBNb25pdG9yTWV0cmljW10sXG4pOiBBQ2hhcnREYXRhW10ge1xuICBjb25zdCBwYXJhbXMgPSBpbmRpY2F0b3JQYXJhbXNbMF07XG4gIHJldHVybiBkYXRhPy5yZWR1Y2UoKHByZSwgcmVzKSA9PiB7XG4gICAgaWYgKHBhcmFtcy5pbmRpY2F0b3JzID09PSByZXMuaW5kaWNhdG9yIHx8IHBhcmFtcy5leHByID09PSByZXMucXVlcnkpIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIC4uLnByZSxcbiAgICAgICAgLi4ucmVzLnJlc3VsdC5tYXAoaXRlbSA9PiBoYW5kbGVEYXRhUmVzdWx0KHBhcmFtcywgaXRlbSkpLFxuICAgICAgXTtcbiAgICB9XG4gICAgcmV0dXJuIHByZTtcbiAgfSwgW10pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlRGF0YVJlc3VsdChcbiAgcGFyYW1zOiBJbmRpY2F0b3JQYXJhbXMsXG4gIHJlczogTW9uaXRvck1ldHJpY1Jlc3VsdCxcbikge1xuICByZXR1cm4ge1xuICAgIG5hbWU6IGhhbmRsZUxlZ2VuZChwYXJhbXMsIHJlcyksXG4gICAgLi4uKHBhcmFtcy5pbnN0YW50ICYmICFwYXJhbXMucmFuZ2UgJiYgeyB0eXBlOiAncG9pbnQnIH0pLFxuICAgIC4uLihwYXJhbXMuaW5zdGFudCAmJiB7IGluc3RhbnQ6IHRydWUgfSksXG4gICAgcmFuZ2U6IHBhcmFtcy5yYW5nZSxcbiAgICB2YWx1ZXM6IHJlcz8udmFsdWVzPy5tYXAoZCA9PiAoe1xuICAgICAgeDogZFswXSxcbiAgICAgIHk6IGRbMV0sXG4gICAgfSkpLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlTGVnZW5kKFxuICBwYXJhbXM6IEluZGljYXRvclBhcmFtcyxcbiAgcmVzdWx0OiBNb25pdG9yTWV0cmljUmVzdWx0LFxuKSB7XG4gIHJldHVybiBpc0Z1bmN0aW9uKHBhcmFtcz8ubGVnZW5kKVxuICAgID8gcGFyYW1zLmxlZ2VuZChwYXJhbXMsIHJlc3VsdClcbiAgICA6IGdldExlZ2VuZE5hbWUocGFyYW1zPy5sZWdlbmQsIHJlc3VsdD8ubWV0cmljIHx8IHt9KTtcbn1cbmV4cG9ydCBjb25zdCBMRUdFTkRfVEVNUExBVEVfT1BUSU9OUyA9IE9iamVjdC5mcmVlemUoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVnZXhwL21hdGNoLWFueSwgcmVnZXhwL3N0cmljdFxuICBpbnRlcnBvbGF0ZTogL3t7XFwuKFtcXFNcXHNdKz8pfX0vZyxcbn0pO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGVnZW5kTmFtZShtZXRyaWNLZXk6IHN0cmluZywgbWV0cmljOiBTdHJpbmdNYXApIHtcbiAgaWYgKCFtZXRyaWNLZXkgJiYgIU9iamVjdC5rZXlzKG1ldHJpYyB8fCB7fSk/Lmxlbmd0aCkge1xuICAgIHJldHVybiBGSUVMRF9OT1RfQVZBSUxBQkxFX1BMQUNFSE9MREVSO1xuICB9XG4gIGlmICghbWV0cmljS2V5ICYmIG1ldHJpYykge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShtZXRyaWMpO1xuICB9XG4gIGNvbnN0IG1ldHJpY0tleXMgPSBtZXRyaWNLZXk/LnNwbGl0KCcsJykubWFwKG1hdGNoTGVnZW5kKTtcbiAgaWYgKG1ldHJpY0tleXM/Lmxlbmd0aCA+IDEpIHtcbiAgICBjb25zdCB2YWx1ZSA9IG1ldHJpYz8uW21ldHJpY0tleXMuZmluZChpdGVtID0+IG1ldHJpY1tpdGVtXSldO1xuICAgIHJldHVybiB2YWx1ZSB8fCBtZXRyaWNLZXk7XG4gIH1cbiAgcmV0dXJuIChcbiAgICBnZXRMZWdlbmRUZW1wbGF0ZShtZXRyaWNLZXksIG1ldHJpYykgfHxcbiAgICBsZWdlbmRGb3JtYXQobWV0cmljS2V5LCBtZXRyaWMpIHx8XG4gICAgbWV0cmljS2V5XG4gICk7XG59XG5cbmZ1bmN0aW9uIGxlZ2VuZEZvcm1hdChzdHI6IHN0cmluZywgdmFyczogU3RyaW5nTWFwKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB1bmljb3JuL2JldHRlci1yZWdleFxuICBjb25zdCByZWdleCA9IC9cXHtcXHtcXC4oLis/KVxcfVxcfS9nO1xuICByZXR1cm4gKFxuICAgIHN0ci5yZXBsYWNlQWxsKHJlZ2V4LCAobWF0Y2gsIGNhcHR1cmUpID0+IHtcbiAgICAgIGlmICh2YXJzW2NhcHR1cmVdKSB7XG4gICAgICAgIHJldHVybiB2YXJzW2NhcHR1cmVdO1xuICAgICAgfVxuICAgICAgaWYgKG1hdGNoKSB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICAgIH1cbiAgICAgIHJldHVybiAnJztcbiAgICB9KSB8fCAnVmFsdWUnXG4gICk7XG59XG5cbmZ1bmN0aW9uIGdldExlZ2VuZFRlbXBsYXRlKHN0cjogc3RyaW5nLCBvYmo6IG9iamVjdCkge1xuICBsZXQgbmFtZTogc3RyaW5nO1xuICB0cnkge1xuICAgIG5hbWUgPSBnZXQob2JqLCBzdHIpIHx8IHRlbXBsYXRlKHN0ciwgTEVHRU5EX1RFTVBMQVRFX09QVElPTlMpKG9iaik7XG4gIH0gY2F0Y2gge1xuICAgIG5hbWUgPSAnJztcbiAgfVxuICByZXR1cm4gbmFtZTtcbn1cblxuZnVuY3Rpb24gbWF0Y2hMZWdlbmQodmFsdWU6IHN0cmluZykge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9iZXR0ZXItcmVnZXhcbiAgcmV0dXJuIHZhbHVlLm1hdGNoKC9cXHtcXHtcXC4oLis/KVxcfVxcfS8pPy5bMV0gfHwgdmFsdWU7XG59XG5cbi8vIOWhq+WFheepuuaVsOaNrlxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbmFyanMvY29nbml0aXZlLWNvbXBsZXhpdHlcbmV4cG9ydCBmdW5jdGlvbiBmaWxsTnVsbERhdGEoXG4gIHsgc3RhcnQsIGVuZCwgc3RlcCB9OiBNZXRyaWNQYXJhbXMsXG4gIHJlczogRGF0YUl0ZW1bJ3ZhbHVlcyddID0gW10sXG4gIGlzWmVybyA9IGZhbHNlLFxuICBzdGVwTGluZSA9IGZhbHNlLFxuKSB7XG4gIGlmICghK3N0YXJ0IHx8ICErZW5kKSB7XG4gICAgcmV0dXJuIHJlcztcbiAgfVxuICBjb25zdCBfc3RlcCA9IHN0ZXAgfHwgcm91bmRJbnRlcnZhbChzdGFydCwgZW5kKTtcbiAgY29uc3QgY3VyU3RhcnQgPSArc3RhcnQ7XG4gIGNvbnN0IG51bGxWYWx1ZSA9IGlzWmVybyA/IDAgOiBudWxsO1xuICBjb25zdCBjdXJFbmQgPSBzdGFydCArIHN0ZXAgKiAoKGVuZCAtIHN0YXJ0KSAvIHN0ZXApO1xuICBjb25zdCBwcmVYID0gc3RlcExpbmVcbiAgICA/IHtcbiAgICAgICAgcHJlWDogZGF5anMoY3VyU3RhcnQpXG4gICAgICAgICAgLnN1YnRyYWN0KChlbmQgLSBzdGFydCkgLyA2LCAncycpXG4gICAgICAgICAgLnZhbHVlT2YoKSxcbiAgICAgIH1cbiAgICA6IHt9O1xuICBjb25zdCByZXN1bHQgPSBbXG4gICAgLi4uKGN1clN0YXJ0ID09PSByZXNbMF0/LnggPyBbXSA6IFt7IHg6IGN1clN0YXJ0LCB5OiBudWxsVmFsdWUsIC4uLnByZVggfV0pLFxuICAgIC4uLnJlcyxcbiAgICAuLi4ocmVzLmF0KC0xKT8ueCA+PSBjdXJFbmQgPyBbXSA6IFt7IHg6IGN1ckVuZCwgeTogbnVsbFZhbHVlIH1dKSxcbiAgXTtcblxuICAvLyBxdWVyeSDov5Tlm57mlbDmja7lj6/og73lrZjlnKjmn5DkuKrml7bpl7TmrrXml6DmlbDmja7mg4XlhrXvvIzkvJrlr7zoh7TliY3nq69idWdcbiAgLy8g6YCa6L+HIHN0ZXAg6K6h566X5Ye6IOaAu+aVsOaNruOAglxuICAvLyDlnKjlh7rnjrDkuIDlvIDlp4vmlbDmja7nvLrlpLHmg4XlhrXvvIzlhYjnu5nmlbDmja7mt7vliqDlvIDlp4vml7bpl7TmlbDmja7vvIzlkoznu5PmnZ/ml7bpl7TmlbDmja7jgIJcbiAgLy8g5Zyo6L+b6KGM6YGN5Y6G77yM5Yik6K+75b2T5YmN5pWw5o2u5ZKM5LiL5LiA6Lez5pWw5o2u5LqL5Lu25beuIOaYr+WQpuaYr+i/meS4qiBzdGVwLFxuICAvLyDlpoLmnpzkuI3mmK/orqHnrpflh7rkuKTogIXnm7jlt64g5Yeg5p2h5pWw5o2u77yM54S25ZCO6L+b6KGM5aGr5YWFXG4gIGNvbnN0IGRhdGEgPSByZXN1bHQucmVkdWNlKChhY2MsIHByZXYsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgZGlmZiA9XG4gICAgICByZXN1bHRbaW5kZXggKyAxXSAmJiByZXN1bHRbaW5kZXggKyAxXS54ICogMTAwMCAtIHByZXYueCAqIDEwMDA7XG4gICAgY29uc3Qgc3RlcE0gPSBfc3RlcCAqIDEwMDA7XG4gICAgLy8g5ZCO56uv5Y+v6IO95Ye6546wICtJZm4g5a+86Ie05oiQIE5hTu+8jOiuvue9ruS4uiBudWxsXG4gICAgY29uc3QgY3VyVmFsdWUgPSB7XG4gICAgICAuLi5wcmV2LFxuICAgICAgeTogcHJldi55LFxuICAgIH07XG4gICAgaWYgKGRpZmYgJiYgZGlmZiAhPT0gc3RlcE0pIHtcbiAgICAgIGNvbnN0IHRvdGFsID0gTWF0aC5jZWlsKGRpZmYgLyBzdGVwTSAtIDEpO1xuICAgICAgY29uc3QgZGF0YSA9IEFycmF5LmZyb208bnVtYmVyPih7IGxlbmd0aDogdG90YWwgfHwgMCB9KVxuICAgICAgICAuZmlsbCgwKVxuICAgICAgICAucmVkdWNlKChvbGQsIF9jdXJyLCBpKSA9PiB7XG4gICAgICAgICAgY29uc3QgeCA9XG4gICAgICAgICAgICBpID09PSAwID8gcHJldi54ICogMTAwMCArIHN0ZXBNIDogb2xkW2kgLSAxXS54ICogMTAwMCArIHN0ZXBNO1xuICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAuLi5vbGQsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHg6IHggLyAxMDAwLFxuICAgICAgICAgICAgICB5OiBudWxsVmFsdWUsXG4gICAgICAgICAgICAgIC4uLihzdGVwTGluZVxuICAgICAgICAgICAgICAgID8geyBwcmVYOiBpID09PSAwID8gcmVzdWx0W2luZGV4XS54IDogb2xkW2kgLSAxXS54IH1cbiAgICAgICAgICAgICAgICA6IHt9KSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXTtcbiAgICAgICAgfSwgW10pO1xuICAgICAgcmV0dXJuIFsuLi5hY2MsIGN1clZhbHVlLCAuLi5kYXRhXTtcbiAgICB9XG4gICAgcmV0dXJuIFsuLi5hY2MsIGN1clZhbHVlXTtcbiAgfSwgW10pO1xuICByZXR1cm4gZGF0YS5zb3J0KChhLCBiKSA9PiBhLnggLSBiLngpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlRGF0ZUF4aXNMYWJlbEZvcm1hdHMoXG4gIHBhcmFtczogTWV0cmljUGFyYW1zLFxuICBpc1JpY2g/OiBib29sZWFuLFxuKSB7XG4gIGlmIChwYXJhbXMpIHtcbiAgICBjb25zdCBkaWZmID0gcGFyYW1zLmVuZCAtIHBhcmFtcy5zdGFydDtcbiAgICBjb25zdCBtMSA9IDI0ICogNjAgKiA2MDtcbiAgICBjb25zdCBtMyA9IDMgKiBtMTtcbiAgICBjb25zdCBtNyA9IDcgKiBtMTtcbiAgICBjb25zdCBNX0RfRk9STUFUID0gJ01NLUREJztcbiAgICBjb25zdCBNRF9IU19GT1JNQVQgPSBgJHtNX0RfRk9STUFUfSAke0NIQVJUX1RJTUVfRk9STUFUfWA7XG4gICAgcmV0dXJuIGRpZmYgPj0gbTdcbiAgICAgID8gaXNSaWNoXG4gICAgICAgID8gTURfSFNfRk9STUFUXG4gICAgICAgIDogTV9EX0ZPUk1BVFxuICAgICAgOiBkaWZmIDwgbTcgJiYgKGRpZmYgPj0gbTMgfHwgZGlmZiA+IG0xKVxuICAgICAgPyBNRF9IU19GT1JNQVRcbiAgICAgIDogQ0hBUlRfVElNRV9GT1JNQVQ7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxpbWl0TWF4VG9vbHRpcEl0ZW0oY29udGV4dDogVG9vbHRpcFZhbHVlW10sIGxpbWl0ID0gMTUpIHtcbiAgcmV0dXJuIGNvbnRleHQuc2xpY2UoMCwgbGltaXQpO1xufVxuXG5leHBvcnQgY29uc3QgVkFSSUFCTEVfS0VZX0NMVVNURVIgPSAnJGNsdXN0ZXInO1xuZXhwb3J0IGNvbnN0IFZBUklBQkxFX0tFWV9OQU1FU1BBQ0UgPSAnJG5hbWVzcGFjZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiByZXBsYWNlRXhwclZhcmlhYmxlKFxuICBleHByOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgdmFyaWFibGU6IERpY3Rpb25hcnk8YW55Pixcbikge1xuICBsZXQgZGF0YSA9IEFycmF5LmlzQXJyYXkoZXhwcikgPyBleHByLmpvaW4oJ3wnKSA6IGV4cHI7XG4gIGNvbnN0IHZhcmlhYmxlS2V5cyA9IE9iamVjdC5rZXlzKHZhcmlhYmxlIHx8IHt9KTtcbiAgY29uc3QgdmFyaWFibGVWYWx1ZXMgPSBPYmplY3QudmFsdWVzKHZhcmlhYmxlIHx8IHt9KTtcbiAgY29uc3QgdmFyczogc3RyaW5nW10gPVxuICAgIGRhdGEgJiYgdHlwZW9mIGRhdGEubWF0Y2ggPT09ICdmdW5jdGlvbicgPyBkYXRhLm1hdGNoKC9cXCRcXHcrL2cpIDogW107XG4gIGlmIChcbiAgICAhdmFyaWFibGVLZXlzLmxlbmd0aCB8fFxuICAgICF2YXJpYWJsZUtleXMuc29tZSh2ID0+IHZhcnM/LnNvbWUoaXRlbSA9PiBpdGVtLnJlcGxhY2UoJyQnLCAnJykgPT09IHYpKVxuICApIHtcbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIHZhcnNcbiAgICAuc29ydCgoYSwgYikgPT4gYi5sZW5ndGggLSBhLmxlbmd0aClcbiAgICAuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgY29uc3QgayA9IGtleS5yZXBsYWNlKCckJywgJycpO1xuICAgICAgY29uc3QgaW5kZXggPSB2YXJpYWJsZUtleXMuaW5kZXhPZihrKTtcbiAgICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICAgIGNvbnN0IHYgPSB2YXJpYWJsZVZhbHVlc1tpbmRleF07XG4gICAgICAgIGRhdGEgPSBkYXRhPy5yZXBsYWNlKFxuICAgICAgICAgIG5ldyBSZWdFeHAoYFxcXFwkJHtrfWAsICdnJyksXG4gICAgICAgICAgQXJyYXkuaXNBcnJheSh2KSA/IHYuam9pbignfCcpIDogdixcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgcmV0dXJuIGRhdGE7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kVGltZVJhbmdlKGRpZmY6IG51bWJlcikge1xuICBjb25zdCB0aW1lID0gUElDS0VSX1RJTUVfUkFOR0VTLmZpbmQoaXRlbSA9PiB7XG4gICAgcmV0dXJuIGl0ZW0uZW5kVGltZSgpIC0gaXRlbS5zdGFydFRpbWUoKSA9PT0gZGlmZjtcbiAgfSk7XG4gIHJldHVybiB0aW1lID8geyBzdGFydDogdGltZS5zdGFydFRpbWUoKSwgZW5kOiB0aW1lLmVuZFRpbWUoKSB9IDogbnVsbDtcbn1cbiJdfQ==