@myrtex-org/form 1.1.15 → 1.1.17
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/esm2022/lib/modules/object-form/components/elements/input/date/input-date.component.mjs +26 -26
- package/esm2022/lib/modules/object-form/components/elements/input/table/components/input-table-modal/input-table-modal.component.mjs +17 -4
- package/fesm2022/myrtex-org-form.mjs +40 -27
- package/fesm2022/myrtex-org-form.mjs.map +1 -1
- package/lib/modules/object-form/components/elements/input/date/input-date.component.d.ts +1 -0
- package/lib/modules/object-form/components/elements/input/table/components/input-table-modal/input-table-modal.component.d.ts +2 -0
- package/lib/modules/object-form/components/elements/input/table/input-table.component.d.ts +1 -1
- package/package.json +1 -1
package/esm2022/lib/modules/object-form/components/elements/input/date/input-date.component.mjs
CHANGED
|
@@ -12,6 +12,7 @@ export class InputDateComponent extends BaseFieldComponent {
|
|
|
12
12
|
this.type = ComponentType.InputDate;
|
|
13
13
|
this._millisecondsInDay = 1000 * 60 * 60 * 24;
|
|
14
14
|
this._isInit = false;
|
|
15
|
+
this._isUpdatingInternal = false;
|
|
15
16
|
this.dateModel = '';
|
|
16
17
|
this.modelCounter = 0;
|
|
17
18
|
}
|
|
@@ -37,27 +38,29 @@ export class InputDateComponent extends BaseFieldComponent {
|
|
|
37
38
|
}
|
|
38
39
|
updateValue(event) {
|
|
39
40
|
if (this._isInit) {
|
|
41
|
+
this._isUpdatingInternal = true; // Блокируем внешние обновления на время ввода
|
|
40
42
|
if (this.settings.options.range) {
|
|
41
43
|
if (!event.value || event.value.length === 0) {
|
|
42
|
-
this.dateModel = [];
|
|
44
|
+
this.dateModel = [];
|
|
43
45
|
this.modelStart.value = null;
|
|
44
46
|
this.modelEnd.value = null;
|
|
45
|
-
this.model.value = [null, null];
|
|
46
47
|
this.modelCounter = 0;
|
|
47
48
|
}
|
|
48
49
|
else if (event.value.length === 2) {
|
|
49
|
-
this.dateModel = [event.value[0], event.value[1]];
|
|
50
|
+
this.dateModel = [event.value[0], event.value[1]];
|
|
50
51
|
this.modelStart.value = event.value[0];
|
|
51
52
|
this.modelEnd.value = event.value[1];
|
|
52
|
-
this.model.value = [this.modelStart.value, this.modelEnd.value];
|
|
53
53
|
this.modelCounter = this._getDaysDifference(this.modelStart.value, this.modelEnd.value);
|
|
54
54
|
}
|
|
55
|
+
this.model.value = this.dateModel;
|
|
55
56
|
}
|
|
56
57
|
else {
|
|
57
58
|
this.dateModel = event.value;
|
|
58
59
|
this.model.value = event.value;
|
|
59
60
|
}
|
|
60
61
|
this.dispatchModify(event);
|
|
62
|
+
// Снимаем блокировку чуть позже, когда Store переварит изменения
|
|
63
|
+
setTimeout(() => this._isUpdatingInternal = false, 600);
|
|
61
64
|
}
|
|
62
65
|
}
|
|
63
66
|
updateCounter(value) {
|
|
@@ -92,7 +95,7 @@ export class InputDateComponent extends BaseFieldComponent {
|
|
|
92
95
|
_initSubscriptionForValue() {
|
|
93
96
|
this._subscriptions$.push(this._store.select(objectFormSelectors.selectValueModel(this.settings))
|
|
94
97
|
.subscribe((result) => {
|
|
95
|
-
if (!result)
|
|
98
|
+
if (!result || this._isUpdatingInternal)
|
|
96
99
|
return;
|
|
97
100
|
// Если компонент уже инициализирован, проверяем, нужно ли обновляться.
|
|
98
101
|
// Мы НЕ обновляемся, если данные в Store идентичны тем, что мы уже держим в памяти.
|
|
@@ -119,28 +122,25 @@ export class InputDateComponent extends BaseFieldComponent {
|
|
|
119
122
|
}));
|
|
120
123
|
}
|
|
121
124
|
_customInit() {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
this.dateModel = [this.modelStart.value, this.modelEnd.value];
|
|
130
|
-
this.modelCounter = this._getDaysDifference(this.modelStart.value, this.modelEnd.value);
|
|
131
|
-
}
|
|
132
|
-
else if (!this.modelStart?.value && !this.modelEnd?.value) {
|
|
133
|
-
// Очищаем только если в Store реально пусто
|
|
134
|
-
this.dateModel = [];
|
|
135
|
-
this.modelCounter = 0;
|
|
136
|
-
}
|
|
125
|
+
if (!this.model) {
|
|
126
|
+
this.model = defaultValueModel(this.settings);
|
|
127
|
+
}
|
|
128
|
+
if (this.settings.options.range) {
|
|
129
|
+
if (this.modelStart?.value && this.modelEnd?.value) {
|
|
130
|
+
this.dateModel = [this.modelStart.value, this.modelEnd.value];
|
|
131
|
+
this.modelCounter = this._getDaysDifference(this.modelStart.value, this.modelEnd.value);
|
|
137
132
|
}
|
|
138
|
-
else {
|
|
139
|
-
|
|
133
|
+
else if (!this.modelStart?.value && !this.modelEnd?.value) {
|
|
134
|
+
// Очищаем только если в Store реально пусто
|
|
135
|
+
this.dateModel = [];
|
|
136
|
+
this.modelCounter = 0;
|
|
140
137
|
}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
this.dateModel = this.model.value;
|
|
141
|
+
}
|
|
142
|
+
this._isInit = true;
|
|
143
|
+
this._detector.markForCheck();
|
|
144
144
|
}
|
|
145
145
|
_getDaysDifference(startDate, endDate) {
|
|
146
146
|
const start = new Date(startDate);
|
|
@@ -181,4 +181,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
181
181
|
type: Component,
|
|
182
182
|
args: [{ selector: 'app-input-date', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (settings) {\r\n <div class=\"input-date-content\">\r\n <div class=\"row\">\r\n <div class=\"col\" [class.col-8]=\"settings.options.counter\">\r\n @if (settings.options.label) {\r\n <mrx-label\r\n [required]=\"settings.options.required\"\r\n [tooltip]=\"settings.options.tooltip || ''\"\r\n >\r\n {{ settings.options.label }}\r\n </mrx-label>\r\n }\r\n\r\n <mrx-input-date-time\r\n [dateFormat]=\"settings.options.format\"\r\n [ngModel]=\"dateModel\"\r\n [fields]=\"autosaveFields\"\r\n [range]=\"settings.options.range\"\r\n [datePlaceholder]=\"(settings.options.range ? settings.options.placeholder + ' - ' + settings.options.placeholder : settings.options.placeholder) || ''\"\r\n [isManualInput]=\"!settings.options.range\"\r\n [timepicker]=\"getViewTypeTimepicker\"\r\n [invalid]=\"getInvalid\"\r\n [invalidMessage]=\"getInvalidMessage\"\r\n [minDate]=\"settings.options.minDate\"\r\n [maxDate]=\"settings.options.maxDate\"\r\n [disabled]=\"disabled\"\r\n (modelChange)=\"updateValue($event)\"\r\n ></mrx-input-date-time>\r\n\r\n @if(!!settings.options.minDate) {\r\n <mrx-hint-error-message \r\n message=\"\u041C\u0438\u043D\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u2014 {{ settings.options.minDate | dateTimeFormat: 'mos' : 'dd.MM.yyyy'}}\"\r\n ></mrx-hint-error-message>\r\n }\r\n\r\n @if(!!settings.options.maxDate) {\r\n <mrx-hint-error-message \r\n message=\"\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u2014 {{ settings.options.maxDate | dateTimeFormat: 'mos' : 'dd.MM.yyyy' }}\"\r\n ></mrx-hint-error-message>\r\n }\r\n </div>\r\n\r\n @if (settings.options.counter && settings.options.range) {\r\n <div class=\"col col-4\">\r\n <mrx-label>\r\n {{ settings.options.counterLabel }}\r\n </mrx-label>\r\n <mrx-input-number\r\n [ngModel]=\"modelCounter\"\r\n [placeholder]=\"'0'\"\r\n [disabled]=\"!settings.options.counterEditable\"\r\n (ngModelChange)=\"updateCounter($event)\"\r\n ></mrx-input-number>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n}\r\n" }]
|
|
183
183
|
}] });
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0ZXgtZm9ybS9zcmMvbGliL21vZHVsZXMvb2JqZWN0LWZvcm0vY29tcG9uZW50cy9lbGVtZW50cy9pbnB1dC9kYXRlL2lucHV0LWRhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGV4LWZvcm0vc3JjL2xpYi9tb2R1bGVzL29iamVjdC1mb3JtL2NvbXBvbmVudHMvZWxlbWVudHMvaW5wdXQvZGF0ZS9pbnB1dC1kYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHaEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7QUFTeEQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGtCQUE0RDtJQU5wRzs7UUFPRSxTQUFJLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQztRQUVkLHVCQUFrQixHQUFXLElBQUksR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUUxRCxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRWpCLGNBQVMsR0FBNkIsRUFBRSxDQUFDO1FBSXpDLGlCQUFZLEdBQVcsQ0FBQyxDQUFDO0tBb0xqQztJQWxMQyxJQUFhLFVBQVU7UUFDckIsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDNUQsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQy9ELENBQUM7WUFDRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQyxVQUFVLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEQsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBVyxxQkFBcUI7UUFDOUIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEtBQUssWUFBWSxDQUFDLFFBQVEsQ0FBQztJQUNsRSxDQUFDO0lBRU0sV0FBVyxDQUFDLEtBQStCO1FBQ2hELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUM3QyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxDQUFDLDhCQUE4QjtvQkFDbkQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO29CQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7b0JBQzNCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO29CQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQztnQkFDeEIsQ0FBQztxQkFBTSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUNwQyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyw4QkFBOEI7b0JBQ2pGLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3JDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDaEUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDMUYsQ0FBQztZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDakMsQ0FBQztZQUNELElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFFTSxhQUFhLENBQUMsS0FBb0I7UUFDdkMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzVCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7UUFDeEIsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEMsSUFBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUMzQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQTtnQkFDcEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBRS9FLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDcEMsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLENBQUE7Z0JBRTNDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUUvRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ3BDLENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFUSxxQkFBcUI7UUFDNUIsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQyxPQUFPLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDNUUsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsQ0FBQztJQUNILENBQUM7SUFFUSx5QkFBeUI7UUFDaEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUNwRSxTQUFTLENBQUMsQ0FBQyxNQUFtRSxFQUFFLEVBQUU7WUFDakYsSUFBSSxDQUFDLE1BQU07Z0JBQUUsT0FBTztZQUVwQix1RUFBdUU7WUFDdkUsb0ZBQW9GO1lBQ3BGLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNqQixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztvQkFDcEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztvQkFDdEQsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUVqQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLO29CQUM5QyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7b0JBQ2hFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBRXRDLElBQUksUUFBUSxLQUFLLFlBQVksRUFBRSxDQUFDO29CQUM5QixPQUFPLENBQUMsZ0VBQWdFO2dCQUMxRSxDQUFDO1lBQ0gsQ0FBQztZQUVELHVFQUF1RTtZQUN2RSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNqRixJQUFJLENBQUMsUUFBUSxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDakYsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxLQUFLLEdBQUcsZUFBZSxDQUFDLE1BQU0sSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUMzRSxDQUFDO1lBRUQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDSixDQUFDO0lBRVEsV0FBVztRQUNsQixnQ0FBZ0M7UUFDaEMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2hCLElBQUksQ0FBQyxLQUFLLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2hELENBQUM7WUFFRCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNoQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7b0JBQ25ELElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUM5RCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMxRixDQUFDO3FCQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7b0JBQzVELDRDQUE0QztvQkFDNUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7b0JBQ3BCLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO2dCQUN4QixDQUFDO1lBQ0gsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDcEMsQ0FBQztZQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDakMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVPLGtCQUFrQixDQUFDLFNBQWlCLEVBQUUsT0FBZTtRQUMzRCxNQUFNLEtBQUssR0FBRyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNsQyxNQUFNLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU5QixJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNuRCxPQUFPLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDckMsT0FBTyxDQUFDLENBQUM7UUFDWCxDQUFDO1FBRUQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDakUsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU8sV0FBVyxDQUFDLFNBQWlCLEVBQUUsSUFBWTtRQUNqRCxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QsTUFBTSxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFbEMsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDM0IsT0FBTyxDQUFDLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO2dCQUMzQyxPQUFPLFNBQVMsQ0FBQztZQUNuQixDQUFDO1lBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN4QyxPQUFPLENBQUMsS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7Z0JBQ3JELE9BQU8sU0FBUyxDQUFDO1lBQ25CLENBQUM7WUFFRCxJQUFJLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBRXpFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDekYsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO2dCQUM1SCxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQ2hGLENBQUM7WUFFRCxPQUFPLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMvQixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7K0dBOUxVLGtCQUFrQjttR0FBbEIsa0JBQWtCLDZFQ2YvQixpK0VBMERBOzs0RkQzQ2Esa0JBQWtCO2tCQU45QixTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudFR5cGUsIERhdGVUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NoYXJlZC1mb3JtL2VudW1zJztcclxuaW1wb3J0IHsgQmFzZUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYmFzZSc7XHJcbmltcG9ydCB7IElucHV0RGF0ZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2VsZW1ldHMvaW5wdXRzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50VmFsdWVNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscyc7XHJcbmltcG9ydCB7IG9iamVjdEZvcm1TZWxlY3RvcnMgfSBmcm9tICcuLi8uLi8uLi8uLi9zdG9yZSc7XHJcbmltcG9ydCB7IGRlZmF1bHRWYWx1ZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vaGVscGVycyc7XHJcbmltcG9ydCB7IElucHV0RGF0ZVRpbWVWYWx1ZVdpdGhJZCB9IGZyb20gJ0BteXJ0ZXgtb3JnL3VpJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWlucHV0LWRhdGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1kYXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9pbnB1dC1kYXRlLmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIElucHV0RGF0ZUNvbXBvbmVudCBleHRlbmRzIEJhc2VGaWVsZENvbXBvbmVudDxJbnB1dERhdGVNb2RlbCwgSW5wdXREYXRlVGltZVZhbHVlV2l0aElkPiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgdHlwZSA9IENvbXBvbmVudFR5cGUuSW5wdXREYXRlO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IF9taWxsaXNlY29uZHNJbkRheTogbnVtYmVyID0gMTAwMCAqIDYwICogNjAgKiAyNDtcclxuXHJcbiAgcHJpdmF0ZSBfaXNJbml0ID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBkYXRlTW9kZWw6IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCA9ICcnO1xyXG5cclxuICBwdWJsaWMgbW9kZWxTdGFydCE6IENvbXBvbmVudFZhbHVlTW9kZWw7XHJcbiAgcHVibGljIG1vZGVsRW5kITogQ29tcG9uZW50VmFsdWVNb2RlbDtcclxuICBwdWJsaWMgbW9kZWxDb3VudGVyOiBudW1iZXIgPSAwO1xyXG5cclxuICBvdmVycmlkZSBnZXQgZ2V0SW52YWxpZCgpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLnNldHRpbmdzLm9wdGlvbnMucmFuZ2UpIHtcclxuICAgICAgaWYgKHRoaXMuX2lzQ2hlY2tSZXF1aXJlZCAmJiB0aGlzLnNldHRpbmdzLm9wdGlvbnMucmVxdWlyZWQpIHtcclxuICAgICAgICByZXR1cm4gISghIXRoaXMubW9kZWxTdGFydD8udmFsdWUgJiYgISF0aGlzLm1vZGVsRW5kPy52YWx1ZSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN1cGVyLmdldEludmFsaWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IHN0cmluZyB8IHN0cmluZ1tdIHtcclxuICAgIGlmICh0aGlzLnNldHRpbmdzLm9wdGlvbnMucmFuZ2UpIHtcclxuICAgICAgcmV0dXJuIFt0aGlzLm1vZGVsU3RhcnQudmFsdWUsIHRoaXMubW9kZWxFbmQudmFsdWVdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMubW9kZWwudmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdldFZpZXdUeXBlVGltZXBpY2tlcigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnNldHRpbmdzLm9wdGlvbnMudmlld1R5cGUgPT09IERhdGVUeXBlRW51bS5EYXRlVGltZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGVWYWx1ZShldmVudDogSW5wdXREYXRlVGltZVZhbHVlV2l0aElkKSB7XHJcbiAgICBpZiAodGhpcy5faXNJbml0KSB7XHJcbiAgICAgIGlmICh0aGlzLnNldHRpbmdzLm9wdGlvbnMucmFuZ2UpIHtcclxuICAgICAgICBpZiAoIWV2ZW50LnZhbHVlIHx8IGV2ZW50LnZhbHVlLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgdGhpcy5kYXRlTW9kZWwgPSBbXTsgLy8g0JvQvtC60LDQu9GM0L3QvtC1INC+0LHQvdC+0LLQu9C10L3QuNC1INC00LvRjyBVSVxyXG4gICAgICAgICAgdGhpcy5tb2RlbFN0YXJ0LnZhbHVlID0gbnVsbDtcclxuICAgICAgICAgIHRoaXMubW9kZWxFbmQudmFsdWUgPSBudWxsO1xyXG4gICAgICAgICAgdGhpcy5tb2RlbC52YWx1ZSA9IFtudWxsLCBudWxsXTtcclxuICAgICAgICAgIHRoaXMubW9kZWxDb3VudGVyID0gMDtcclxuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LnZhbHVlLmxlbmd0aCA9PT0gMikge1xyXG4gICAgICAgICAgdGhpcy5kYXRlTW9kZWwgPSBbZXZlbnQudmFsdWVbMF0sIGV2ZW50LnZhbHVlWzFdXTsgLy8g0JvQvtC60LDQu9GM0L3QvtC1INC+0LHQvdC+0LLQu9C10L3QuNC1INC00LvRjyBVSVxyXG4gICAgICAgICAgdGhpcy5tb2RlbFN0YXJ0LnZhbHVlID0gZXZlbnQudmFsdWVbMF07XHJcbiAgICAgICAgICB0aGlzLm1vZGVsRW5kLnZhbHVlID0gZXZlbnQudmFsdWVbMV07XHJcbiAgICAgICAgICB0aGlzLm1vZGVsLnZhbHVlID0gW3RoaXMubW9kZWxTdGFydC52YWx1ZSwgdGhpcy5tb2RlbEVuZC52YWx1ZV07XHJcbiAgICAgICAgICB0aGlzLm1vZGVsQ291bnRlciA9IHRoaXMuX2dldERheXNEaWZmZXJlbmNlKHRoaXMubW9kZWxTdGFydC52YWx1ZSwgdGhpcy5tb2RlbEVuZC52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZGF0ZU1vZGVsID0gZXZlbnQudmFsdWU7XHJcbiAgICAgICAgdGhpcy5tb2RlbC52YWx1ZSA9IGV2ZW50LnZhbHVlO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZGlzcGF0Y2hNb2RpZnkoZXZlbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZUNvdW50ZXIodmFsdWU6IG51bWJlciB8IG51bGwpOiB2b2lkIHtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB0aGlzLm1vZGVsQ291bnRlciA9IHZhbHVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5tb2RlbENvdW50ZXIgPSAwO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnNldHRpbmdzLm9wdGlvbnMucmFuZ2UpIHtcclxuICAgICAgaWYodGhpcy5tb2RlbC52YWx1ZSAmJiB0aGlzLm1vZGVsLnZhbHVlWzBdKSB7XHJcbiAgICAgICAgdGhpcy5tb2RlbC52YWx1ZSA9IFt0aGlzLm1vZGVsLnZhbHVlWzBdLCBuZXcgRGF0ZSgpXVxyXG4gICAgICAgIHRoaXMubW9kZWwudmFsdWVbMV0gPSB0aGlzLl9jaGFuZ2VEYXlzKHRoaXMubW9kZWwudmFsdWVbMF0sIHRoaXMubW9kZWxDb3VudGVyKTtcclxuXHJcbiAgICAgICAgdGhpcy5kYXRlTW9kZWwgPSB0aGlzLm1vZGVsLnZhbHVlOyBcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm1vZGVsLnZhbHVlID0gW25ldyBEYXRlKCksIG5ldyBEYXRlKCldXHJcblxyXG4gICAgICAgIHRoaXMubW9kZWwudmFsdWVbMV0gPSB0aGlzLl9jaGFuZ2VEYXlzKHRoaXMubW9kZWwudmFsdWVbMF0sIHRoaXMubW9kZWxDb3VudGVyKTtcclxuXHJcbiAgICAgICAgdGhpcy5kYXRlTW9kZWwgPSB0aGlzLm1vZGVsLnZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5kaXNwYXRjaE1vZGlmeShzdHJ1Y3R1cmVkQ2xvbmUodGhpcy5tb2RlbC52YWx1ZSkpO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgX3RyYW5zZm9ybU91dHB1dFZhbHVlKCkge1xyXG4gICAgaWYgKHRoaXMuc2V0dGluZ3Mub3B0aW9ucy5yYW5nZSkge1xyXG4gICAgICByZXR1cm4gW3N0cnVjdHVyZWRDbG9uZSh0aGlzLm1vZGVsU3RhcnQpLCBzdHJ1Y3R1cmVkQ2xvbmUodGhpcy5tb2RlbEVuZCldO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHN0cnVjdHVyZWRDbG9uZSh0aGlzLm1vZGVsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIF9pbml0U3Vic2NyaXB0aW9uRm9yVmFsdWUoKSB7XHJcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zJC5wdXNoKFxyXG4gICAgICB0aGlzLl9zdG9yZS5zZWxlY3Qob2JqZWN0Rm9ybVNlbGVjdG9ycy5zZWxlY3RWYWx1ZU1vZGVsKHRoaXMuc2V0dGluZ3MpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdDogQ29tcG9uZW50VmFsdWVNb2RlbCB8IG51bGwgfCAoQ29tcG9uZW50VmFsdWVNb2RlbCB8IG51bGwpW10pID0+IHtcclxuICAgICAgICAgIGlmICghcmVzdWx0KSByZXR1cm47XHJcblxyXG4gICAgICAgICAgLy8g0JXRgdC70Lgg0LrQvtC80L/QvtC90LXQvdGCINGD0LbQtSDQuNC90LjRhtC40LDQu9C40LfQuNGA0L7QstCw0L0sINC/0YDQvtCy0LXRgNGP0LXQvCwg0L3Rg9C20L3QviDQu9C4INC+0LHQvdC+0LLQu9GP0YLRjNGB0Y8uXHJcbiAgICAgICAgICAvLyDQnNGLINCd0JUg0L7QsdC90L7QstC70Y/QtdC80YHRjywg0LXRgdC70Lgg0LTQsNC90L3Ri9C1INCyIFN0b3JlINC40LTQtdC90YLQuNGH0L3RiyDRgtC10LwsINGH0YLQviDQvNGLINGD0LbQtSDQtNC10YDQttC40Lwg0LIg0L/QsNC80Y/RgtC4LlxyXG4gICAgICAgICAgaWYgKHRoaXMuX2lzSW5pdCkge1xyXG4gICAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IEFycmF5LmlzQXJyYXkocmVzdWx0KSBcclxuICAgICAgICAgICAgICA/IEpTT04uc3RyaW5naWZ5KFtyZXN1bHRbMF0/LnZhbHVlLCByZXN1bHRbMV0/LnZhbHVlXSlcclxuICAgICAgICAgICAgICA6IEpTT04uc3RyaW5naWZ5KHJlc3VsdC52YWx1ZSk7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBjdXJyZW50VmFsdWUgPSB0aGlzLnNldHRpbmdzLm9wdGlvbnMucmFuZ2VcclxuICAgICAgICAgICAgICA/IEpTT04uc3RyaW5naWZ5KFt0aGlzLm1vZGVsU3RhcnQ/LnZhbHVlLCB0aGlzLm1vZGVsRW5kPy52YWx1ZV0pXHJcbiAgICAgICAgICAgICAgOiBKU09OLnN0cmluZ2lmeSh0aGlzLm1vZGVsPy52YWx1ZSk7XHJcblxyXG4gICAgICAgICAgICBpZiAobmV3VmFsdWUgPT09IGN1cnJlbnRWYWx1ZSkge1xyXG4gICAgICAgICAgICAgIHJldHVybjsgLy8g0JTQsNC90L3Ri9C1INGC0LUg0LbQtSDRgdCw0LzRi9C1LCDQstGL0YXQvtC00LjQvCwg0YfRgtC+0LHRiyDQvdC1INC30LDQv9GD0YHQutCw0YLRjCDRgtCw0LnQvNC10YAg0LfQsNC90L7QstC+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAvLyDQldGB0LvQuCDQtNCw0L3QvdGL0LUg0YDQtdCw0LvRjNC90L4g0L3QvtCy0YvQtSAo0L/RgNC40YjQu9C4INC40LfQstC90LUpLCDQvtCx0L3QvtCy0LvRj9C10Lwg0LvQvtC60LDQu9GM0L3Ri9C1INC80L7QtNC10LvQuFxyXG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVzdWx0KSkge1xyXG4gICAgICAgICAgICB0aGlzLm1vZGVsU3RhcnQgPSBzdHJ1Y3R1cmVkQ2xvbmUocmVzdWx0WzBdKSB8fCBkZWZhdWx0VmFsdWVNb2RlbCh0aGlzLnNldHRpbmdzKTtcclxuICAgICAgICAgICAgdGhpcy5tb2RlbEVuZCA9IHN0cnVjdHVyZWRDbG9uZShyZXN1bHRbMV0pIHx8IGRlZmF1bHRWYWx1ZU1vZGVsKHRoaXMuc2V0dGluZ3MpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5tb2RlbCA9IHN0cnVjdHVyZWRDbG9uZShyZXN1bHQgfHwgZGVmYXVsdFZhbHVlTW9kZWwodGhpcy5zZXR0aW5ncykpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRoaXMuX2N1c3RvbUluaXQoKTtcclxuICAgICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIF9jdXN0b21Jbml0KCkge1xyXG4gICAgLy8gMCDQuNC70LggMTDQvNGBIOKAlCDRjdGC0L7Qs9C+INC00L7RgdGC0LDRgtC+0YfQvdC+XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgaWYgKCF0aGlzLm1vZGVsKSB7XHJcbiAgICAgICAgdGhpcy5tb2RlbCA9IGRlZmF1bHRWYWx1ZU1vZGVsKHRoaXMuc2V0dGluZ3MpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAodGhpcy5zZXR0aW5ncy5vcHRpb25zLnJhbmdlKSB7XHJcbiAgICAgICAgaWYgKHRoaXMubW9kZWxTdGFydD8udmFsdWUgJiYgdGhpcy5tb2RlbEVuZD8udmFsdWUpIHtcclxuICAgICAgICAgIHRoaXMuZGF0ZU1vZGVsID0gW3RoaXMubW9kZWxTdGFydC52YWx1ZSwgdGhpcy5tb2RlbEVuZC52YWx1ZV07XHJcbiAgICAgICAgICB0aGlzLm1vZGVsQ291bnRlciA9IHRoaXMuX2dldERheXNEaWZmZXJlbmNlKHRoaXMubW9kZWxTdGFydC52YWx1ZSwgdGhpcy5tb2RlbEVuZC52YWx1ZSk7XHJcbiAgICAgICAgfSBlbHNlIGlmICghdGhpcy5tb2RlbFN0YXJ0Py52YWx1ZSAmJiAhdGhpcy5tb2RlbEVuZD8udmFsdWUpIHtcclxuICAgICAgICAgIC8vINCe0YfQuNGJ0LDQtdC8INGC0L7Qu9GM0LrQviDQtdGB0LvQuCDQsiBTdG9yZSDRgNC10LDQu9GM0L3QviDQv9GD0YHRgtC+XHJcbiAgICAgICAgICB0aGlzLmRhdGVNb2RlbCA9IFtdO1xyXG4gICAgICAgICAgdGhpcy5tb2RlbENvdW50ZXIgPSAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmRhdGVNb2RlbCA9IHRoaXMubW9kZWwudmFsdWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuX2lzSW5pdCA9IHRydWU7XHJcbiAgICAgIHRoaXMuX2RldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0sIDApOyBcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldERheXNEaWZmZXJlbmNlKHN0YXJ0RGF0ZTogc3RyaW5nLCBlbmREYXRlOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgY29uc3Qgc3RhcnQgPSBuZXcgRGF0ZShzdGFydERhdGUpO1xyXG4gICAgY29uc3QgZW5kID0gbmV3IERhdGUoZW5kRGF0ZSk7XHJcblxyXG4gICAgaWYgKGlzTmFOKHN0YXJ0LmdldFRpbWUoKSkgfHwgaXNOYU4oZW5kLmdldFRpbWUoKSkpIHtcclxuICAgICAgY29uc29sZS5lcnJvcignSW52YWxpZCBkYXRlIGZvcm1hdCcpO1xyXG4gICAgICByZXR1cm4gMDtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBkaWZmZXJlbmNlSW5NcyA9IE1hdGguYWJzKGVuZC5nZXRUaW1lKCkgLSBzdGFydC5nZXRUaW1lKCkpO1xyXG4gICAgcmV0dXJuIE1hdGguZmxvb3IoZGlmZmVyZW5jZUluTXMgLyB0aGlzLl9taWxsaXNlY29uZHNJbkRheSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jaGFuZ2VEYXlzKHN0YXJ0RGF0ZTogc3RyaW5nLCBkYXlzOiBudW1iZXIpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIGlmIChzdGFydERhdGUpIHtcclxuICAgICAgY29uc3Qgc3RhcnQgPSBuZXcgRGF0ZShzdGFydERhdGUpO1xyXG5cclxuICAgICAgaWYgKGlzTmFOKHN0YXJ0LmdldFRpbWUoKSkpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKCdJbnZhbGlkIHN0YXJ0IGRhdGUgZm9ybWF0Jyk7XHJcbiAgICAgICAgcmV0dXJuIHN0YXJ0RGF0ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKCFOdW1iZXIuaXNJbnRlZ2VyKGRheXMpIHx8IGRheXMgPCAwKSB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcignRGF5cyBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIGludGVnZXInKTtcclxuICAgICAgICByZXR1cm4gc3RhcnREYXRlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsZXQgbmV3RGF0ZSA9IG5ldyBEYXRlKHN0YXJ0LmdldFRpbWUoKSArIGRheXMgKiB0aGlzLl9taWxsaXNlY29uZHNJbkRheSk7XHJcblxyXG4gICAgICBpZiAoISF0aGlzLnNldHRpbmdzLm9wdGlvbnMubWF4RGF0ZSAmJiBuZXdEYXRlID4gbmV3IERhdGUodGhpcy5zZXR0aW5ncy5vcHRpb25zLm1heERhdGUpKSB7XHJcbiAgICAgICAgY29uc3QgbWF4RGF5cyA9IE1hdGguZmxvb3IoKG5ldyBEYXRlKHRoaXMuc2V0dGluZ3Mub3B0aW9ucy5tYXhEYXRlKS5nZXRUaW1lKCkgLSBzdGFydC5nZXRUaW1lKCkpIC8gdGhpcy5fbWlsbGlzZWNvbmRzSW5EYXkpO1xyXG4gICAgICAgIG5ld0RhdGUgPSBuZXcgRGF0ZShzdGFydC5nZXRUaW1lKCkgKyAobWF4RGF5cyArIDEpICogdGhpcy5fbWlsbGlzZWNvbmRzSW5EYXkpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gbmV3RGF0ZS50b0lTT1N0cmluZygpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIkBpZiAoc2V0dGluZ3MpIHtcclxuICA8ZGl2IGNsYXNzPVwiaW5wdXQtZGF0ZS1jb250ZW50XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIiBbY2xhc3MuY29sLThdPVwic2V0dGluZ3Mub3B0aW9ucy5jb3VudGVyXCI+XHJcbiAgICAgICAgQGlmIChzZXR0aW5ncy5vcHRpb25zLmxhYmVsKSB7XHJcbiAgICAgICAgICA8bXJ4LWxhYmVsXHJcbiAgICAgICAgICAgIFtyZXF1aXJlZF09XCJzZXR0aW5ncy5vcHRpb25zLnJlcXVpcmVkXCJcclxuICAgICAgICAgICAgW3Rvb2x0aXBdPVwic2V0dGluZ3Mub3B0aW9ucy50b29sdGlwIHx8ICcnXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3sgc2V0dGluZ3Mub3B0aW9ucy5sYWJlbCB9fVxyXG4gICAgICAgICAgPC9tcngtbGFiZWw+XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA8bXJ4LWlucHV0LWRhdGUtdGltZVxyXG4gICAgICAgICAgW2RhdGVGb3JtYXRdPVwic2V0dGluZ3Mub3B0aW9ucy5mb3JtYXRcIlxyXG4gICAgICAgICAgW25nTW9kZWxdPVwiZGF0ZU1vZGVsXCJcclxuICAgICAgICAgIFtmaWVsZHNdPVwiYXV0b3NhdmVGaWVsZHNcIlxyXG4gICAgICAgICAgW3JhbmdlXT1cInNldHRpbmdzLm9wdGlvbnMucmFuZ2VcIlxyXG4gICAgICAgICAgW2RhdGVQbGFjZWhvbGRlcl09XCIoc2V0dGluZ3Mub3B0aW9ucy5yYW5nZSA/IHNldHRpbmdzLm9wdGlvbnMucGxhY2Vob2xkZXIgKyAnIC0gJyArIHNldHRpbmdzLm9wdGlvbnMucGxhY2Vob2xkZXIgOiBzZXR0aW5ncy5vcHRpb25zLnBsYWNlaG9sZGVyKSB8fCAnJ1wiXHJcbiAgICAgICAgICBbaXNNYW51YWxJbnB1dF09XCIhc2V0dGluZ3Mub3B0aW9ucy5yYW5nZVwiXHJcbiAgICAgICAgICBbdGltZXBpY2tlcl09XCJnZXRWaWV3VHlwZVRpbWVwaWNrZXJcIlxyXG4gICAgICAgICAgW2ludmFsaWRdPVwiZ2V0SW52YWxpZFwiXHJcbiAgICAgICAgICBbaW52YWxpZE1lc3NhZ2VdPVwiZ2V0SW52YWxpZE1lc3NhZ2VcIlxyXG4gICAgICAgICAgW21pbkRhdGVdPVwic2V0dGluZ3Mub3B0aW9ucy5taW5EYXRlXCJcclxuICAgICAgICAgIFttYXhEYXRlXT1cInNldHRpbmdzLm9wdGlvbnMubWF4RGF0ZVwiXHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cInVwZGF0ZVZhbHVlKCRldmVudClcIlxyXG4gICAgICAgID48L21yeC1pbnB1dC1kYXRlLXRpbWU+XHJcblxyXG4gICAgICAgIEBpZighIXNldHRpbmdzLm9wdGlvbnMubWluRGF0ZSkge1xyXG4gICAgICAgICAgPG1yeC1oaW50LWVycm9yLW1lc3NhZ2UgIFxyXG4gICAgICAgICAgICBtZXNzYWdlPVwi0JzQuNC90LjQvNCw0LvRjNC90L7QtSDQt9C90LDRh9C10L3QuNC1IOKAlCB7eyBzZXR0aW5ncy5vcHRpb25zLm1pbkRhdGUgfCBkYXRlVGltZUZvcm1hdDogJ21vcycgOiAnZGQuTU0ueXl5eSd9fVwiXHJcbiAgICAgICAgICA+PC9tcngtaGludC1lcnJvci1tZXNzYWdlPlxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGlmKCEhc2V0dGluZ3Mub3B0aW9ucy5tYXhEYXRlKSB7XHJcbiAgICAgICAgICA8bXJ4LWhpbnQtZXJyb3ItbWVzc2FnZSAgXHJcbiAgICAgICAgICAgIG1lc3NhZ2U9XCLQnNCw0LrRgdC40LzQsNC70YzQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDigJQge3sgc2V0dGluZ3Mub3B0aW9ucy5tYXhEYXRlIHwgZGF0ZVRpbWVGb3JtYXQ6ICdtb3MnIDogJ2RkLk1NLnl5eXknIH19XCJcclxuICAgICAgICAgID48L21yeC1oaW50LWVycm9yLW1lc3NhZ2U+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIEBpZiAoc2V0dGluZ3Mub3B0aW9ucy5jb3VudGVyICYmIHNldHRpbmdzLm9wdGlvbnMucmFuZ2UpIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGNvbC00XCI+XHJcbiAgICAgICAgICA8bXJ4LWxhYmVsPlxyXG4gICAgICAgICAgICB7eyBzZXR0aW5ncy5vcHRpb25zLmNvdW50ZXJMYWJlbCB9fVxyXG4gICAgICAgICAgPC9tcngtbGFiZWw+XHJcbiAgICAgICAgICA8bXJ4LWlucHV0LW51bWJlclxyXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJtb2RlbENvdW50ZXJcIlxyXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJzAnXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFzZXR0aW5ncy5vcHRpb25zLmNvdW50ZXJFZGl0YWJsZVwiXHJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZUNvdW50ZXIoJGV2ZW50KVwiXHJcbiAgICAgICAgICA+PC9tcngtaW5wdXQtbnVtYmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxufVxyXG4iXX0=
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0ZXgtZm9ybS9zcmMvbGliL21vZHVsZXMvb2JqZWN0LWZvcm0vY29tcG9uZW50cy9lbGVtZW50cy9pbnB1dC9kYXRlL2lucHV0LWRhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGV4LWZvcm0vc3JjL2xpYi9tb2R1bGVzL29iamVjdC1mb3JtL2NvbXBvbmVudHMvZWxlbWVudHMvaW5wdXQvZGF0ZS9pbnB1dC1kYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHaEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7QUFTeEQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGtCQUE0RDtJQU5wRzs7UUFPRSxTQUFJLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQztRQUVkLHVCQUFrQixHQUFXLElBQUksR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUUxRCxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQUU3QixjQUFTLEdBQTZCLEVBQUUsQ0FBQztRQUl6QyxpQkFBWSxHQUFXLENBQUMsQ0FBQztLQXNMakM7SUFwTEMsSUFBYSxVQUFVO1FBQ3JCLElBQUksSUFBSSxDQUFDLFFB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QUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDekYsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO2dCQUM1SCxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQ2hGLENBQUM7WUFFRCxPQUFPLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMvQixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7K0dBak1VLGtCQUFrQjttR0FBbEIsa0JBQWtCLDZFQ2YvQixpK0VBMERBOzs0RkQzQ2Esa0JBQWtCO2tCQU45QixTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudFR5cGUsIERhdGVUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NoYXJlZC1mb3JtL2VudW1zJztcclxuaW1wb3J0IHsgQmFzZUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYmFzZSc7XHJcbmltcG9ydCB7IElucHV0RGF0ZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2VsZW1ldHMvaW5wdXRzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50VmFsdWVNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscyc7XHJcbmltcG9ydCB7IG9iamVjdEZvcm1TZWxlY3RvcnMgfSBmcm9tICcuLi8uLi8uLi8uLi9zdG9yZSc7XHJcbmltcG9ydCB7IGRlZmF1bHRWYWx1ZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vaGVscGVycyc7XHJcbmltcG9ydCB7IElucHV0RGF0ZVRpbWVWYWx1ZVdpdGhJZCB9IGZyb20gJ0BteXJ0ZXgtb3JnL3VpJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWlucHV0LWRhdGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1kYXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9pbnB1dC1kYXRlLmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIElucHV0RGF0ZUNvbXBvbmVudCBleHRlbmRzIEJhc2VGaWVsZENvbXBvbmVudDxJbnB1dERhdGVNb2RlbCwgSW5wdXREYXRlVGltZVZhbHVlV2l0aElkPiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgdHlwZSA9IENvbXBvbmVudFR5cGUuSW5wdXREYXRlO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IF9taWxsaXNlY29uZHNJbkRheTogbnVtYmVyID0gMTAwMCAqIDYwICogNjAgKiAyNDtcclxuXHJcbiAgcHJpdmF0ZSBfaXNJbml0ID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfaXNVcGRhdGluZ0ludGVybmFsID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBkYXRlTW9kZWw6IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCA9ICcnO1xyXG5cclxuICBwdWJsaWMgbW9kZWxTdGFydCE6IENvbXBvbmVudFZhbHVlTW9kZWw7XHJcbiAgcHVibGljIG1vZGVsRW5kITogQ29tcG9uZW50VmFsdWVNb2RlbDtcclxuICBwdWJsaWMgbW9kZWxDb3VudGVyOiBudW1iZXIgPSAwO1xyXG5cclxuICBvdmVycmlkZSBnZXQgZ2V0SW52YWxpZCgpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLnNldHRpbmdzLm9wdGlvbnMucmFuZ2UpIHtcclxuICAgICAgaWYgKHRoaXMuX2lzQ2hlY2tSZXF1aXJlZCAmJiB0aGlzLnNldHRpbmdzLm9wdGlvbnMucmVxdWlyZWQpIHtcclxuICAgICAgICByZXR1cm4gISghIXRoaXMubW9kZWxTdGFydD8udmFsdWUgJiYgISF0aGlzLm1vZGVsRW5kPy52YWx1ZSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN1cGVyLmdldEludmFsaWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IHN0cmluZyB8IHN0cmluZ1tdIHtcclxuICAgIGlmICh0aGlzLnNldHRpbmdzLm9wdGlvbnMucmFuZ2UpIHtcclxuICAgICAgcmV0dXJuIFt0aGlzLm1vZGVsU3RhcnQudmFsdWUsIHRoaXMubW9kZWxFbmQudmFsdWVdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMubW9kZWwudmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdldFZpZXdUeXBlVGltZXBpY2tlcigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnNldHRpbmdzLm9wdGlvbnMudmlld1R5cGUgPT09IERhdGVUeXBlRW51bS5EYXRlVGltZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGVWYWx1ZShldmVudDogSW5wdXREYXRlVGltZVZhbHVlV2l0aElkKSB7XHJcbiAgICBpZiAodGhpcy5faXNJbml0KSB7XHJcbiAgICAgIHRoaXMuX2lzVXBkYXRpbmdJbnRlcm5hbCA9IHRydWU7IC8vINCR0LvQvtC60LjRgNGD0LXQvCDQstC90LXRiNC90LjQtSDQvtCx0L3QvtCy0LvQtdC90LjRjyDQvdCwINCy0YDQtdC80Y8g0LLQstC+0LTQsFxyXG5cclxuICAgICAgaWYgKHRoaXMuc2V0dGluZ3Mub3B0aW9ucy5yYW5nZSkge1xyXG4gICAgICAgIGlmICghZXZlbnQudmFsdWUgfHwgZXZlbnQudmFsdWUubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICB0aGlzLmRhdGVNb2RlbCA9IFtdO1xyXG4gICAgICAgICAgdGhpcy5tb2RlbFN0YXJ0LnZhbHVlID0gbnVsbDtcclxuICAgICAgICAgIHRoaXMubW9kZWxFbmQudmFsdWUgPSBudWxsO1xyXG4gICAgICAgICAgdGhpcy5tb2RlbENvdW50ZXIgPSAwO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnQudmFsdWUubGVuZ3RoID09PSAyKSB7XHJcbiAgICAgICAgICB0aGlzLmRhdGVNb2RlbCA9IFtldmVudC52YWx1ZVswXSwgZXZlbnQudmFsdWVbMV1dO1xyXG4gICAgICAgICAgdGhpcy5tb2RlbFN0YXJ0LnZhbHVlID0gZXZlbnQudmFsdWVbMF07XHJcbiAgICAgICAgICB0aGlzLm1vZGVsRW5kLnZhbHVlID0gZXZlbnQudmFsdWVbMV07XHJcbiAgICAgICAgICB0aGlzLm1vZGVsQ291bnRlciA9IHRoaXMuX2dldERheXNEaWZmZXJlbmNlKHRoaXMubW9kZWxTdGFydC52YWx1ZSwgdGhpcy5tb2RlbEVuZC52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubW9kZWwudmFsdWUgPSB0aGlzLmRhdGVNb2RlbDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmRhdGVNb2RlbCA9IGV2ZW50LnZhbHVlO1xyXG4gICAgICAgIHRoaXMubW9kZWwudmFsdWUgPSBldmVudC52YWx1ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5kaXNwYXRjaE1vZGlmeShldmVudCk7XHJcbiAgICAgIFxyXG4gICAgICAvLyDQodC90LjQvNCw0LXQvCDQsdC70L7QutC40YDQvtCy0LrRgyDRh9GD0YLRjCDQv9C+0LfQttC1LCDQutC+0LPQtNCwIFN0b3JlINC/0LXRgNC10LLQsNGA0LjRgiDQuNC30LzQtdC90LXQvdC40Y9cclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl9pc1VwZGF0aW5nSW50ZXJuYWwgPSBmYWxzZSwgNjAwKTsgXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdXBkYXRlQ291bnRlcih2YWx1ZTogbnVtYmVyIHwgbnVsbCk6IHZvaWQge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMubW9kZWxDb3VudGVyID0gdmFsdWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm1vZGVsQ291bnRlciA9IDA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuc2V0dGluZ3Mub3B0aW9ucy5yYW5nZSkge1xyXG4gICAgICBpZih0aGlzLm1vZGVsLnZhbHVlICYmIHRoaXMubW9kZWwudmFsdWVbMF0pIHtcclxuICAgICAgICB0aGlzLm1vZGVsLnZhbHVlID0gW3RoaXMubW9kZWwudmFsdWVbMF0sIG5ldyBEYXRlKCldXHJcbiAgICAgICAgdGhpcy5tb2RlbC52YWx1ZVsxXSA9IHRoaXMuX2NoYW5nZURheXModGhpcy5tb2RlbC52YWx1ZVswXSwgdGhpcy5tb2RlbENvdW50ZXIpO1xyXG5cclxuICAgICAgICB0aGlzLmRhdGVNb2RlbCA9IHRoaXMubW9kZWwudmFsdWU7IFxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubW9kZWwudmFsdWUgPSBbbmV3IERhdGUoKSwgbmV3IERhdGUoKV1cclxuXHJcbiAgICAgICAgdGhpcy5tb2RlbC52YWx1ZVsxXSA9IHRoaXMuX2NoYW5nZURheXModGhpcy5tb2RlbC52YWx1ZVswXSwgdGhpcy5tb2RlbENvdW50ZXIpO1xyXG5cclxuICAgICAgICB0aGlzLmRhdGVNb2RlbCA9IHRoaXMubW9kZWwudmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmRpc3BhdGNoTW9kaWZ5KHN0cnVjdHVyZWRDbG9uZSh0aGlzLm1vZGVsLnZhbHVlKSk7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBfdHJhbnNmb3JtT3V0cHV0VmFsdWUoKSB7XHJcbiAgICBpZiAodGhpcy5zZXR0aW5ncy5vcHRpb25zLnJhbmdlKSB7XHJcbiAgICAgIHJldHVybiBbc3RydWN0dXJlZENsb25lKHRoaXMubW9kZWxTdGFydCksIHN0cnVjdHVyZWRDbG9uZSh0aGlzLm1vZGVsRW5kKV07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gc3RydWN0dXJlZENsb25lKHRoaXMubW9kZWwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgX2luaXRTdWJzY3JpcHRpb25Gb3JWYWx1ZSgpIHtcclxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMkLnB1c2goXHJcbiAgICAgIHRoaXMuX3N0b3JlLnNlbGVjdChvYmplY3RGb3JtU2VsZWN0b3JzLnNlbGVjdFZhbHVlTW9kZWwodGhpcy5zZXR0aW5ncykpXHJcbiAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiBDb21wb25lbnRWYWx1ZU1vZGVsIHwgbnVsbCB8IChDb21wb25lbnRWYWx1ZU1vZGVsIHwgbnVsbClbXSkgPT4ge1xyXG4gICAgICAgICAgaWYgKCFyZXN1bHQgfHwgdGhpcy5faXNVcGRhdGluZ0ludGVybmFsKSByZXR1cm47XHJcblxyXG4gICAgICAgICAgLy8g0JXRgdC70Lgg0LrQvtC80L/QvtC90LXQvdGCINGD0LbQtSDQuNC90LjRhtC40LDQu9C40LfQuNGA0L7QstCw0L0sINC/0YDQvtCy0LXRgNGP0LXQvCwg0L3Rg9C20L3QviDQu9C4INC+0LHQvdC+0LLQu9GP0YLRjNGB0Y8uXHJcbiAgICAgICAgICAvLyDQnNGLINCd0JUg0L7QsdC90L7QstC70Y/QtdC80YHRjywg0LXRgdC70Lgg0LTQsNC90L3Ri9C1INCyIFN0b3JlINC40LTQtdC90YLQuNGH0L3RiyDRgtC10LwsINGH0YLQviDQvNGLINGD0LbQtSDQtNC10YDQttC40Lwg0LIg0L/QsNC80Y/RgtC4LlxyXG4gICAgICAgICAgaWYgKHRoaXMuX2lzSW5pdCkge1xyXG4gICAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IEFycmF5LmlzQXJyYXkocmVzdWx0KSBcclxuICAgICAgICAgICAgICA/IEpTT04uc3RyaW5naWZ5KFtyZXN1bHRbMF0/LnZhbHVlLCByZXN1bHRbMV0/LnZhbHVlXSlcclxuICAgICAgICAgICAgICA6IEpTT04uc3RyaW5naWZ5KHJlc3VsdC52YWx1ZSk7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBjdXJyZW50VmFsdWUgPSB0aGlzLnNldHRpbmdzLm9wdGlvbnMucmFuZ2VcclxuICAgICAgICAgICAgICA/IEpTT04uc3RyaW5naWZ5KFt0aGlzLm1vZGVsU3RhcnQ/LnZhbHVlLCB0aGlzLm1vZGVsRW5kPy52YWx1ZV0pXHJcbiAgICAgICAgICAgICAgOiBKU09OLnN0cmluZ2lmeSh0aGlzLm1vZGVsPy52YWx1ZSk7XHJcblxyXG4gICAgICAgICAgICBpZiAobmV3VmFsdWUgPT09IGN1cnJlbnRWYWx1ZSkge1xyXG4gICAgICAgICAgICAgIHJldHVybjsgLy8g0JTQsNC90L3Ri9C1INGC0LUg0LbQtSDRgdCw0LzRi9C1LCDQstGL0YXQvtC00LjQvCwg0YfRgtC+0LHRiyDQvdC1INC30LDQv9GD0YHQutCw0YLRjCDRgtCw0LnQvNC10YAg0LfQsNC90L7QstC+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAvLyDQldGB0LvQuCDQtNCw0L3QvdGL0LUg0YDQtdCw0LvRjNC90L4g0L3QvtCy0YvQtSAo0L/RgNC40YjQu9C4INC40LfQstC90LUpLCDQvtCx0L3QvtCy0LvRj9C10Lwg0LvQvtC60LDQu9GM0L3Ri9C1INC80L7QtNC10LvQuFxyXG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVzdWx0KSkge1xyXG4gICAgICAgICAgICB0aGlzLm1vZGVsU3RhcnQgPSBzdHJ1Y3R1cmVkQ2xvbmUocmVzdWx0WzBdKSB8fCBkZWZhdWx0VmFsdWVNb2RlbCh0aGlzLnNldHRpbmdzKTtcclxuICAgICAgICAgICAgdGhpcy5tb2RlbEVuZCA9IHN0cnVjdHVyZWRDbG9uZShyZXN1bHRbMV0pIHx8IGRlZmF1bHRWYWx1ZU1vZGVsKHRoaXMuc2V0dGluZ3MpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5tb2RlbCA9IHN0cnVjdHVyZWRDbG9uZShyZXN1bHQgfHwgZGVmYXVsdFZhbHVlTW9kZWwodGhpcy5zZXR0aW5ncykpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRoaXMuX2N1c3RvbUluaXQoKTtcclxuICAgICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIF9jdXN0b21Jbml0KCkge1xyXG4gICAgaWYgKCF0aGlzLm1vZGVsKSB7XHJcbiAgICAgIHRoaXMubW9kZWwgPSBkZWZhdWx0VmFsdWVNb2RlbCh0aGlzLnNldHRpbmdzKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5zZXR0aW5ncy5vcHRpb25zLnJhbmdlKSB7XHJcbiAgICAgIGlmICh0aGlzLm1vZGVsU3RhcnQ/LnZhbHVlICYmIHRoaXMubW9kZWxFbmQ/LnZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5kYXRlTW9kZWwgPSBbdGhpcy5tb2RlbFN0YXJ0LnZhbHVlLCB0aGlzLm1vZGVsRW5kLnZhbHVlXTtcclxuICAgICAgICB0aGlzLm1vZGVsQ291bnRlciA9IHRoaXMuX2dldERheXNEaWZmZXJlbmNlKHRoaXMubW9kZWxTdGFydC52YWx1ZSwgdGhpcy5tb2RlbEVuZC52YWx1ZSk7XHJcbiAgICAgIH0gZWxzZSBpZiAoIXRoaXMubW9kZWxTdGFydD8udmFsdWUgJiYgIXRoaXMubW9kZWxFbmQ/LnZhbHVlKSB7XHJcbiAgICAgICAgLy8g0J7Rh9C40YnQsNC10Lwg0YLQvtC70YzQutC+INC10YHQu9C4INCyIFN0b3JlINGA0LXQsNC70YzQvdC+INC/0YPRgdGC0L5cclxuICAgICAgICB0aGlzLmRhdGVNb2RlbCA9IFtdO1xyXG4gICAgICAgIHRoaXMubW9kZWxDb3VudGVyID0gMDtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kYXRlTW9kZWwgPSB0aGlzLm1vZGVsLnZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX2lzSW5pdCA9IHRydWU7XHJcbiAgICB0aGlzLl9kZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTsgXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXREYXlzRGlmZmVyZW5jZShzdGFydERhdGU6IHN0cmluZywgZW5kRGF0ZTogc3RyaW5nKTogbnVtYmVyIHtcclxuICAgIGNvbnN0IHN0YXJ0ID0gbmV3IERhdGUoc3RhcnREYXRlKTtcclxuICAgIGNvbnN0IGVuZCA9IG5ldyBEYXRlKGVuZERhdGUpO1xyXG5cclxuICAgIGlmIChpc05hTihzdGFydC5nZXRUaW1lKCkpIHx8IGlzTmFOKGVuZC5nZXRUaW1lKCkpKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ludmFsaWQgZGF0ZSBmb3JtYXQnKTtcclxuICAgICAgcmV0dXJuIDA7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZGlmZmVyZW5jZUluTXMgPSBNYXRoLmFicyhlbmQuZ2V0VGltZSgpIC0gc3RhcnQuZ2V0VGltZSgpKTtcclxuICAgIHJldHVybiBNYXRoLmZsb29yKGRpZmZlcmVuY2VJbk1zIC8gdGhpcy5fbWlsbGlzZWNvbmRzSW5EYXkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY2hhbmdlRGF5cyhzdGFydERhdGU6IHN0cmluZywgZGF5czogbnVtYmVyKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICBpZiAoc3RhcnREYXRlKSB7XHJcbiAgICAgIGNvbnN0IHN0YXJ0ID0gbmV3IERhdGUoc3RhcnREYXRlKTtcclxuXHJcbiAgICAgIGlmIChpc05hTihzdGFydC5nZXRUaW1lKCkpKSB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcignSW52YWxpZCBzdGFydCBkYXRlIGZvcm1hdCcpO1xyXG4gICAgICAgIHJldHVybiBzdGFydERhdGU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICghTnVtYmVyLmlzSW50ZWdlcihkYXlzKSB8fCBkYXlzIDwgMCkge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0RheXMgbXVzdCBiZSBhIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyJyk7XHJcbiAgICAgICAgcmV0dXJuIHN0YXJ0RGF0ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgbGV0IG5ld0RhdGUgPSBuZXcgRGF0ZShzdGFydC5nZXRUaW1lKCkgKyBkYXlzICogdGhpcy5fbWlsbGlzZWNvbmRzSW5EYXkpO1xyXG5cclxuICAgICAgaWYgKCEhdGhpcy5zZXR0aW5ncy5vcHRpb25zLm1heERhdGUgJiYgbmV3RGF0ZSA+IG5ldyBEYXRlKHRoaXMuc2V0dGluZ3Mub3B0aW9ucy5tYXhEYXRlKSkge1xyXG4gICAgICAgIGNvbnN0IG1heERheXMgPSBNYXRoLmZsb29yKChuZXcgRGF0ZSh0aGlzLnNldHRpbmdzLm9wdGlvbnMubWF4RGF0ZSkuZ2V0VGltZSgpIC0gc3RhcnQuZ2V0VGltZSgpKSAvIHRoaXMuX21pbGxpc2Vjb25kc0luRGF5KTtcclxuICAgICAgICBuZXdEYXRlID0gbmV3IERhdGUoc3RhcnQuZ2V0VGltZSgpICsgKG1heERheXMgKyAxKSAqIHRoaXMuX21pbGxpc2Vjb25kc0luRGF5KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIG5ld0RhdGUudG9JU09TdHJpbmcoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAaWYgKHNldHRpbmdzKSB7XHJcbiAgPGRpdiBjbGFzcz1cImlucHV0LWRhdGUtY29udGVudFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sXCIgW2NsYXNzLmNvbC04XT1cInNldHRpbmdzLm9wdGlvbnMuY291bnRlclwiPlxyXG4gICAgICAgIEBpZiAoc2V0dGluZ3Mub3B0aW9ucy5sYWJlbCkge1xyXG4gICAgICAgICAgPG1yeC1sYWJlbFxyXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwic2V0dGluZ3Mub3B0aW9ucy5yZXF1aXJlZFwiXHJcbiAgICAgICAgICAgIFt0b29sdGlwXT1cInNldHRpbmdzLm9wdGlvbnMudG9vbHRpcCB8fCAnJ1wiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7IHNldHRpbmdzLm9wdGlvbnMubGFiZWwgfX1cclxuICAgICAgICAgIDwvbXJ4LWxhYmVsPlxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPG1yeC1pbnB1dC1kYXRlLXRpbWVcclxuICAgICAgICAgIFtkYXRlRm9ybWF0XT1cInNldHRpbmdzLm9wdGlvbnMuZm9ybWF0XCJcclxuICAgICAgICAgIFtuZ01vZGVsXT1cImRhdGVNb2RlbFwiXHJcbiAgICAgICAgICBbZmllbGRzXT1cImF1dG9zYXZlRmllbGRzXCJcclxuICAgICAgICAgIFtyYW5nZV09XCJzZXR0aW5ncy5vcHRpb25zLnJhbmdlXCJcclxuICAgICAgICAgIFtkYXRlUGxhY2Vob2xkZXJdPVwiKHNldHRpbmdzLm9wdGlvbnMucmFuZ2UgPyBzZXR0aW5ncy5vcHRpb25zLnBsYWNlaG9sZGVyICsgJyAtICcgKyBzZXR0aW5ncy5vcHRpb25zLnBsYWNlaG9sZGVyIDogc2V0dGluZ3Mub3B0aW9ucy5wbGFjZWhvbGRlcikgfHwgJydcIlxyXG4gICAgICAgICAgW2lzTWFudWFsSW5wdXRdPVwiIXNldHRpbmdzLm9wdGlvbnMucmFuZ2VcIlxyXG4gICAgICAgICAgW3RpbWVwaWNrZXJdPVwiZ2V0Vmlld1R5cGVUaW1lcGlja2VyXCJcclxuICAgICAgICAgIFtpbnZhbGlkXT1cImdldEludmFsaWRcIlxyXG4gICAgICAgICAgW2ludmFsaWRNZXNzYWdlXT1cImdldEludmFsaWRNZXNzYWdlXCJcclxuICAgICAgICAgIFttaW5EYXRlXT1cInNldHRpbmdzLm9wdGlvbnMubWluRGF0ZVwiXHJcbiAgICAgICAgICBbbWF4RGF0ZV09XCJzZXR0aW5ncy5vcHRpb25zLm1heERhdGVcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJ1cGRhdGVWYWx1ZSgkZXZlbnQpXCJcclxuICAgICAgICA+PC9tcngtaW5wdXQtZGF0ZS10aW1lPlxyXG5cclxuICAgICAgICBAaWYoISFzZXR0aW5ncy5vcHRpb25zLm1pbkRhdGUpIHtcclxuICAgICAgICAgIDxtcngtaGludC1lcnJvci1tZXNzYWdlICBcclxuICAgICAgICAgICAgbWVzc2FnZT1cItCc0LjQvdC40LzQsNC70YzQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDigJQge3sgc2V0dGluZ3Mub3B0aW9ucy5taW5EYXRlIHwgZGF0ZVRpbWVGb3JtYXQ6ICdtb3MnIDogJ2RkLk1NLnl5eXknfX1cIlxyXG4gICAgICAgICAgPjwvbXJ4LWhpbnQtZXJyb3ItbWVzc2FnZT5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpZighIXNldHRpbmdzLm9wdGlvbnMubWF4RGF0ZSkge1xyXG4gICAgICAgICAgPG1yeC1oaW50LWVycm9yLW1lc3NhZ2UgIFxyXG4gICAgICAgICAgICBtZXNzYWdlPVwi0JzQsNC60YHQuNC80LDQu9GM0L3QvtC1INC30L3QsNGH0LXQvdC40LUg4oCUIHt7IHNldHRpbmdzLm9wdGlvbnMubWF4RGF0ZSB8IGRhdGVUaW1lRm9ybWF0OiAnbW9zJyA6ICdkZC5NTS55eXl5JyB9fVwiXHJcbiAgICAgICAgICA+PC9tcngtaGludC1lcnJvci1tZXNzYWdlPlxyXG4gICAgICAgIH1cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICBAaWYgKHNldHRpbmdzLm9wdGlvbnMuY291bnRlciAmJiBzZXR0aW5ncy5vcHRpb25zLnJhbmdlKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbCBjb2wtNFwiPlxyXG4gICAgICAgICAgPG1yeC1sYWJlbD5cclxuICAgICAgICAgICAge3sgc2V0dGluZ3Mub3B0aW9ucy5jb3VudGVyTGFiZWwgfX1cclxuICAgICAgICAgIDwvbXJ4LWxhYmVsPlxyXG4gICAgICAgICAgPG1yeC1pbnB1dC1udW1iZXJcclxuICAgICAgICAgICAgW25nTW9kZWxdPVwibW9kZWxDb3VudGVyXCJcclxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIicwJ1wiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhc2V0dGluZ3Mub3B0aW9ucy5jb3VudGVyRWRpdGFibGVcIlxyXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGVDb3VudGVyKCRldmVudClcIlxyXG4gICAgICAgICAgPjwvbXJ4LWlucHV0LW51bWJlcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbn1cclxuIl19
|
|
@@ -5,7 +5,7 @@ import { FormDispenserModal } from './form-dispenser-modal/form-dispenser-modal.
|
|
|
5
5
|
import { provideNgxMask } from 'ngx-mask';
|
|
6
6
|
import { ReferenceService } from '../../../../../../services';
|
|
7
7
|
import { objectFormActions } from '../../../../../../store';
|
|
8
|
-
import { ComponentType } from '../../../../../../../shared-form/enums';
|
|
8
|
+
import { ComponentType, ValueType } from '../../../../../../../shared-form/enums';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
import * as i1 from "@myrtex-org/ui";
|
|
11
11
|
import * as i2 from "@ngrx/store";
|
|
@@ -14,6 +14,7 @@ export class InputTableModalComponent extends ModalServiceComponent {
|
|
|
14
14
|
super();
|
|
15
15
|
this.dialogRef = dialogRef;
|
|
16
16
|
this.store = store;
|
|
17
|
+
this.emptyRow = true;
|
|
17
18
|
this.title = data.title;
|
|
18
19
|
this.okText = data.okText;
|
|
19
20
|
this.settings = data.settings;
|
|
@@ -30,6 +31,7 @@ export class InputTableModalComponent extends ModalServiceComponent {
|
|
|
30
31
|
else {
|
|
31
32
|
this._transformValues(valueModel);
|
|
32
33
|
}
|
|
34
|
+
this.emptyRow = this.rowModel.data.every(x => this.isEmpty(x.value, x.valueType));
|
|
33
35
|
}
|
|
34
36
|
ok() {
|
|
35
37
|
if (!this._isValid()) {
|
|
@@ -78,11 +80,22 @@ export class InputTableModalComponent extends ModalServiceComponent {
|
|
|
78
80
|
}
|
|
79
81
|
return components;
|
|
80
82
|
}
|
|
83
|
+
isEmpty(value, type) {
|
|
84
|
+
if (type === ValueType.Undefined)
|
|
85
|
+
return true;
|
|
86
|
+
if (value === null || value === undefined)
|
|
87
|
+
return true;
|
|
88
|
+
if (type === "string" || type === "guid")
|
|
89
|
+
return value === "";
|
|
90
|
+
if (Array.isArray(value))
|
|
91
|
+
return value.length === 0;
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
81
94
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputTableModalComponent, deps: [{ token: i1.ModalRef }, { token: i2.Store }, { token: MODAL_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
82
95
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: InputTableModalComponent, isStandalone: true, selector: "app-input-table-modal", providers: [
|
|
83
96
|
provideNgxMask(),
|
|
84
97
|
ReferenceService // для компонента список
|
|
85
|
-
], usesInheritance: true, ngImport: i0, template: "<mrx-modal\r\n [title]=\"title\"\r\n size=\"large\"\r\n (close)=\"close()\"\r\n (ok)=\"ok()\"\r\n>\r\n <app-form-dispenser-modal\r\n [sectionSettings]=\"settings\"\r\n [values]=\"rowModel.data\"\r\n [valueMode]=\"'manual'\"\r\n (changed)=\"componentValueChanged($event)\"\r\n ></app-form-dispenser-modal>\r\n\r\n <ng-template #footerContent>\r\n <mrx-button\r\n [customClasses]=\"'mr-3'\"\r\n [type]=\"'secondary'\"\r\n [size]=\"'medium'\"\r\n (click)=\"close()\"\r\n >\u041E\u0442\u043C\u0435\u043D\u0430\r\n </mrx-button>\r\n <mrx-button\r\n [type]=\"'primary'\"\r\n [size]=\"'medium'\"\r\n (click)=\"ok()\"\r\n >{{ okText }}\r\n </mrx-button>\r\n </ng-template>\r\n</mrx-modal>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ModalModule }, { kind: "component", type: i1.ModalComponent, selector: "mrx-modal", inputs: ["title", "message", "alert", "okText", "closeText", "size", "color", "customClasses", "expandable", "isEmbed", "isClose", "isBack", "backText", "enableFooter", "alignButtons", "isLoading", "iconPosition"], outputs: ["ok", "close", "back", "expand"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.ButtonComponent, selector: "mrx-button", inputs: ["size", "type", "color", "iconPosition", "active", "disabled", "isLoading", "iconOnly", "customClasses", "label", "icon", "iconClass", "buttonType", "href", "target", "routerLink", "queryParams"], outputs: ["mrxClick"] }, { kind: "component", type: FormDispenserModal, selector: "app-form-dispenser-modal", inputs: ["sectionSettings", "values", "valueMode"], outputs: ["changed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
98
|
+
], usesInheritance: true, ngImport: i0, template: "<mrx-modal\r\n [title]=\"title\"\r\n size=\"large\"\r\n (close)=\"close()\"\r\n (ok)=\"ok()\"\r\n>\r\n <app-form-dispenser-modal\r\n [sectionSettings]=\"settings\"\r\n [values]=\"rowModel.data\"\r\n [valueMode]=\"'manual'\"\r\n (changed)=\"componentValueChanged($event)\"\r\n ></app-form-dispenser-modal>\r\n\r\n <ng-template #footerContent>\r\n <mrx-button\r\n [customClasses]=\"'mr-3'\"\r\n [type]=\"'secondary'\"\r\n [size]=\"'medium'\"\r\n (click)=\"close()\"\r\n >\u041E\u0442\u043C\u0435\u043D\u0430\r\n </mrx-button>\r\n <mrx-button\r\n [type]=\"'primary'\"\r\n [size]=\"'medium'\"\r\n [disabled]=\"emptyRow\"\r\n (click)=\"ok()\"\r\n >{{ okText }}\r\n </mrx-button>\r\n </ng-template>\r\n</mrx-modal>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ModalModule }, { kind: "component", type: i1.ModalComponent, selector: "mrx-modal", inputs: ["title", "message", "alert", "okText", "closeText", "size", "color", "customClasses", "expandable", "isEmbed", "isClose", "isBack", "backText", "enableFooter", "alignButtons", "isLoading", "iconPosition"], outputs: ["ok", "close", "back", "expand"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.ButtonComponent, selector: "mrx-button", inputs: ["size", "type", "color", "iconPosition", "active", "disabled", "isLoading", "iconOnly", "customClasses", "label", "icon", "iconClass", "buttonType", "href", "target", "routerLink", "queryParams"], outputs: ["mrxClick"] }, { kind: "component", type: FormDispenserModal, selector: "app-form-dispenser-modal", inputs: ["sectionSettings", "values", "valueMode"], outputs: ["changed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
86
99
|
}
|
|
87
100
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputTableModalComponent, decorators: [{
|
|
88
101
|
type: Component,
|
|
@@ -93,9 +106,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
93
106
|
], providers: [
|
|
94
107
|
provideNgxMask(),
|
|
95
108
|
ReferenceService // для компонента список
|
|
96
|
-
], template: "<mrx-modal\r\n [title]=\"title\"\r\n size=\"large\"\r\n (close)=\"close()\"\r\n (ok)=\"ok()\"\r\n>\r\n <app-form-dispenser-modal\r\n [sectionSettings]=\"settings\"\r\n [values]=\"rowModel.data\"\r\n [valueMode]=\"'manual'\"\r\n (changed)=\"componentValueChanged($event)\"\r\n ></app-form-dispenser-modal>\r\n\r\n <ng-template #footerContent>\r\n <mrx-button\r\n [customClasses]=\"'mr-3'\"\r\n [type]=\"'secondary'\"\r\n [size]=\"'medium'\"\r\n (click)=\"close()\"\r\n >\u041E\u0442\u043C\u0435\u043D\u0430\r\n </mrx-button>\r\n <mrx-button\r\n [type]=\"'primary'\"\r\n [size]=\"'medium'\"\r\n (click)=\"ok()\"\r\n >{{ okText }}\r\n </mrx-button>\r\n </ng-template>\r\n</mrx-modal>\r\n" }]
|
|
109
|
+
], template: "<mrx-modal\r\n [title]=\"title\"\r\n size=\"large\"\r\n (close)=\"close()\"\r\n (ok)=\"ok()\"\r\n>\r\n <app-form-dispenser-modal\r\n [sectionSettings]=\"settings\"\r\n [values]=\"rowModel.data\"\r\n [valueMode]=\"'manual'\"\r\n (changed)=\"componentValueChanged($event)\"\r\n ></app-form-dispenser-modal>\r\n\r\n <ng-template #footerContent>\r\n <mrx-button\r\n [customClasses]=\"'mr-3'\"\r\n [type]=\"'secondary'\"\r\n [size]=\"'medium'\"\r\n (click)=\"close()\"\r\n >\u041E\u0442\u043C\u0435\u043D\u0430\r\n </mrx-button>\r\n <mrx-button\r\n [type]=\"'primary'\"\r\n [size]=\"'medium'\"\r\n [disabled]=\"emptyRow\"\r\n (click)=\"ok()\"\r\n >{{ okText }}\r\n </mrx-button>\r\n </ng-template>\r\n</mrx-modal>\r\n" }]
|
|
97
110
|
}], ctorParameters: () => [{ type: i1.ModalRef }, { type: i2.Store }, { type: undefined, decorators: [{
|
|
98
111
|
type: Inject,
|
|
99
112
|
args: [MODAL_DATA]
|
|
100
113
|
}] }] });
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGFibGUtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGV4LWZvcm0vc3JjL2xpYi9tb2R1bGVzL29iamVjdC1mb3JtL2NvbXBvbmVudHMvZWxlbWVudHMvaW5wdXQvdGFibGUvY29tcG9uZW50cy9pbnB1dC10YWJsZS1tb2RhbC9pbnB1dC10YWJsZS1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0ZXgtZm9ybS9zcmMvbGliL21vZHVsZXMvb2JqZWN0LWZvcm0vY29tcG9uZW50cy9lbGVtZW50cy9pbnB1dC90YWJsZS9jb21wb25lbnRzL2lucHV0LXRhYmxlLW1vZGFsL2lucHV0LXRhYmxlLW1vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFZLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDM0YsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7QUErQnZFLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxxQkFBbUU7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Q0FBQztRQUNwRCxDQUFDO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQzsrR0ExRlUsd0JBQXdCLCtEQVd6QixVQUFVO21HQVhULHdCQUF3QixvRUFMeEI7WUFDVCxjQUFjLEVBQUU7WUFDaEIsZ0JBQWdCLENBQUMsd0JBQXdCO1NBQzFDLGlEQ3hDSCx1dkJBNkJBLHlERElJLFdBQVcsd1dBQ1gsWUFBWSw2VUFDWixrQkFBa0I7OzRGQU9ULHdCQUF3QjtrQkFoQnBDLFNBQVM7K0JBQ0UsdUJBQXVCLG1CQUdoQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxXQUFXO3dCQUNYLFlBQVk7d0JBQ1osa0JBQWtCO3FCQUNuQixhQUNVO3dCQUNULGNBQWMsRUFBRTt3QkFDaEIsZ0JBQWdCLENBQUMsd0JBQXdCO3FCQUMxQzs7MEJBYUUsTUFBTTsyQkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tICdsb2Rhc2gtZXMnO1xyXG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUsIE1PREFMX0RBVEEsIE1vZGFsTW9kdWxlLCBNb2RhbFJlZiwgTW9kYWxTZXJ2aWNlQ29tcG9uZW50IH0gZnJvbSAnQG15cnRleC1vcmcvdWknO1xyXG5pbXBvcnQgeyBJbnB1dFRhYmxlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9tb2RlbHMvZWxlbWV0cy9pbnB1dHMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRWYWx1ZU1vZGVsLCBUYWJsZVJvd01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgRm9ybURpc3BlbnNlck1vZGFsIH0gZnJvbSAnLi9mb3JtLWRpc3BlbnNlci1tb2RhbC9mb3JtLWRpc3BlbnNlci1tb2RhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBwcm92aWRlTmd4TWFzayB9IGZyb20gJ25neC1tYXNrJztcclxuaW1wb3J0IHsgUmVmZXJlbmNlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcbmltcG9ydCB7IG9iamVjdEZvcm1BY3Rpb25zIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vc3RvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRNb2RlbEJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9zaGFyZWQtZm9ybS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vc2hhcmVkLWZvcm0vZW51bXMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJbnB1dFRhYmxlTW9kYWxQYXJhbXMge1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgb2tUZXh0OiBzdHJpbmc7XHJcbiAgc2V0dGluZ3M6IElucHV0VGFibGVNb2RlbDtcclxuICByb3dNb2RlbDogVGFibGVSb3dNb2RlbDtcclxuICBpc0NoZWNrUmVxdWlyZWQ6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSW5wdXRUYWJsZU1vZGFsUmVzdWx0IHtcclxuICByZXN1bHQ6IGJvb2xlYW47XHJcbiAgcm93TW9kZWw6IFRhYmxlUm93TW9kZWw7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWlucHV0LXRhYmxlLW1vZGFsJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtdGFibGUtbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2lucHV0LXRhYmxlLW1vZGFsLmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBNb2RhbE1vZHVsZSxcclxuICAgIEJ1dHRvbk1vZHVsZSxcclxuICAgIEZvcm1EaXNwZW5zZXJNb2RhbCxcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgcHJvdmlkZU5neE1hc2soKSxcclxuICAgIFJlZmVyZW5jZVNlcnZpY2UgLy8g0LTQu9GPINC60L7QvNC/0L7QvdC10L3RgtCwINGB0L/QuNGB0L7QulxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIElucHV0VGFibGVNb2RhbENvbXBvbmVudCBleHRlbmRzIE1vZGFsU2VydmljZUNvbXBvbmVudDxJbnB1dFRhYmxlTW9kYWxQYXJhbXMsIElucHV0VGFibGVNb2RhbFJlc3VsdD4ge1xyXG4gIHB1YmxpYyB0aXRsZSE6IHN0cmluZztcclxuICBwdWJsaWMgb2tUZXh0ITogc3RyaW5nO1xyXG4gIHB1YmxpYyBzZXR0aW5ncyE6IElucHV0VGFibGVNb2RlbDtcclxuICBwdWJsaWMgcm93TW9kZWwhOiBUYWJsZVJvd01vZGVsO1xyXG4gIC8vINCX0LDQv9C+0LzQuNC90LDQtdC8INGB0YLQsNGC0YPRgSDQv9GA0L7QstC10YDQutC4INGE0L7RgNC80Ysg0L/RgNC4INC+0YLQutGA0YvRgtC40Lgg0LzQvtC00LDQu9C60LhcclxuICBwdWJsaWMgaXNDaGVja1JlcXVpcmVkITogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGRpYWxvZ1JlZjogTW9kYWxSZWY8SW5wdXRUYWJsZU1vZGFsUmVzdWx0PixcclxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlLFxyXG4gICAgQEluamVjdChNT0RBTF9EQVRBKSBkYXRhOiBJbnB1dFRhYmxlTW9kYWxQYXJhbXMsXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG5cclxuICAgIHRoaXMudGl0bGUgPSBkYXRhLnRpdGxlO1xyXG4gICAgdGhpcy5va1RleHQgPSBkYXRhLm9rVGV4dFxyXG4gICAgdGhpcy5zZXR0aW5ncyA9IGRhdGEuc2V0dGluZ3M7XHJcbiAgICB0aGlzLnJvd01vZGVsID0gZGF0YS5yb3dNb2RlbDtcclxuICAgIHRoaXMuaXNDaGVja1JlcXVpcmVkID0gZGF0YS5pc0NoZWNrUmVxdWlyZWQ7XHJcblxyXG4gICAgdGhpcy5yZXN1bHQgPSB7cmVzdWx0OiBmYWxzZSwgcm93TW9kZWw6IHRoaXMucm93TW9kZWx9O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNvbXBvbmVudFZhbHVlQ2hhbmdlZCh2YWx1ZU1vZGVsOiBDb21wb25lbnRWYWx1ZU1vZGVsIHwgQ29tcG9uZW50VmFsdWVNb2RlbFtdKSB7XHJcbiAgICBpZiAoaXNBcnJheSh2YWx1ZU1vZGVsKSkge1xyXG4gICAgICB2YWx1ZU1vZGVsLmZvckVhY2gobW9kZWwgPT4ge1xyXG4gICAgICAgIHRoaXMuX3RyYW5zZm9ybVZhbHVlcyhtb2RlbCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fdHJhbnNmb3JtVmFsdWVzKHZhbHVlTW9kZWwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9rKCkge1xyXG4gICAgaWYgKCF0aGlzLl9pc1ZhbGlkKCkpXHJcbiAgICB7XHJcbiAgICAgIC8vINCy0LrQu9GO0YfQsNC10Lwg0L/QvtC00YHQstC10YLQutGDINC/0L7Qu9C10LlcclxuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChvYmplY3RGb3JtQWN0aW9ucy51cGRhdGVDaGVja1JlcXVpcmVkKHsgaXNDaGVja1JlcXVpcmVkOiB0cnVlIH0pKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIC8vINCy0L7Qt9Cy0YDQsNGJ0LDQtdC8INC/0YDQuNC30L3QsNC6INC60LDQuiDQsdGL0Lsg0LTQviDQvtGC0LrRgNGL0YLQuNGPINC80L7QtNCw0LvQutC4XHJcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG9iamVjdEZvcm1BY3Rpb25zLnVwZGF0ZUNoZWNrUmVxdWlyZWQoeyBpc0NoZWNrUmVxdWlyZWQ6IHRoaXMuaXNDaGVja1JlcXVpcmVkIH0pKTtcclxuXHJcbiAgICB0aGlzLnJlc3VsdCA9IHtyZXN1bHQ6IHRydWUsIHJvd01vZGVsOiB0aGlzLnJvd01vZGVsfTtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHN0cnVjdHVyZWRDbG9uZSh0aGlzLnJlc3VsdCkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsb3NlKCkge1xyXG4gICAgLy8g0LLQvtC30LLRgNCw0YnQsNC10Lwg0L/RgNC40LfQvdCw0Log0LrQsNC6INCx0YvQuyDQtNC+INC+0YLQutGA0YvRgtC40Y8g0LzQvtC00LDQu9C60LhcclxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gob2JqZWN0Rm9ybUFjdGlvbnMudXBkYXRlQ2hlY2tSZXF1aXJlZCh7IGlzQ2hlY2tSZXF1aXJlZDogdGhpcy5pc0NoZWNrUmVxdWlyZWQgfSkpO1xyXG5cclxuICAgIHRoaXMucmVzdWx0ID0ge3Jlc3VsdDogZmFsc2UsIHJvd01vZGVsOiB0aGlzLnJvd01vZGVsfTtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRoaXMucmVzdWx0KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3RyYW5zZm9ybVZhbHVlcyh2YWx1ZTogQ29tcG9uZW50VmFsdWVNb2RlbCkge1xyXG4gICAgY29uc3QgY2xvbmVSb3dNb2RlbCA9IHN0cnVjdHVyZWRDbG9uZSh0aGlzLnJvd01vZGVsKTtcclxuICAgIGNvbnN0IGZpbmRWYWx1ZTogQ29tcG9uZW50VmFsdWVNb2RlbCB8IHVuZGVmaW5lZCA9IGNsb25lUm93TW9kZWwuZGF0YS5maW5kKChjOiBDb21wb25lbnRWYWx1ZU1vZGVsKSA9PiBjLnN5c05hbWUgPT09IHZhbHVlLnN5c05hbWUpO1xyXG5cclxuICAgIGlmIChmaW5kVmFsdWUpIHtcclxuICAgICAgZmluZFZhbHVlLnZhbHVlID0gdmFsdWUudmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5yb3dNb2RlbCA9IGNsb25lUm93TW9kZWw7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9pc1ZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgdmFyIGhhc0Vycm9yID0gZmFsc2U7XHJcbiAgICB2YXIgcmVxdWlyZWRDb21wb25lbnRzID0gdGhpcy5fZ2V0UmVxdWlyZWRDb21wb25lbnRzKHRoaXMuc2V0dGluZ3MuY29tcG9uZW50cyk7XHJcbiAgICBmb3IgKGNvbnN0IGNvbXBvbmVudCBvZiByZXF1aXJlZENvbXBvbmVudHMpIHtcclxuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnJvd01vZGVsLmRhdGFcclxuICAgICAgICAuZmluZCh4ID0+IHguc3lzTmFtZSA9PSBjb21wb25lbnQuc3lzTmFtZVxyXG4gICAgICAgICAgICAgIHx8IHguc3lzTmFtZSA9PSBgJHtjb21wb25lbnQuc3lzTmFtZX1fc3RhcnRgXHJcbiAgICAgICAgICAgICAgfHwgeC5zeXNOYW1lID09IGAke2NvbXBvbmVudC5zeXNOYW1lfV9lbmRgKTtcclxuICAgICAgaWYgKCF2YWx1ZT8udmFsdWUpIHtcclxuICAgICAgICBoYXNFcnJvciA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiAhaGFzRXJyb3I7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXRSZXF1aXJlZENvbXBvbmVudHMoY29tcG9uZW50czogQ29tcG9uZW50TW9kZWxCYXNlW10pOiBDb21wb25lbnRNb2RlbEJhc2VbXXtcclxuICAgIHZhciBjb21wb25lbnRzID0gY29tcG9uZW50cy5maWx0ZXIoeCA9PiB4LnR5cGUgIT0gQ29tcG9uZW50VHlwZS5Hcm91cCAmJiAhIXgub3B0aW9ucy5yZXF1aXJlZCk7XHJcbiAgICBmb3IgKGNvbnN0IGNvbXBvbmVudCBvZiBjb21wb25lbnRzLmZpbHRlcih4ID0+IHgudHlwZSA9PSBDb21wb25lbnRUeXBlLkdyb3VwICYmIHguY29tcG9uZW50cy5sZW5ndGggPiAwKSkge1xyXG4gICAgICB0aGlzLl9nZXRSZXF1aXJlZENvbXBvbmVudHMoY29tcG9uZW50LmNvbXBvbmVudHMpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNvbXBvbmVudHM7XHJcbiAgfVxyXG59XHJcbiIsIjxtcngtbW9kYWxcclxuICBbdGl0bGVdPVwidGl0bGVcIlxyXG4gIHNpemU9XCJsYXJnZVwiXHJcbiAgKGNsb3NlKT1cImNsb3NlKClcIlxyXG4gIChvayk9XCJvaygpXCJcclxuPlxyXG4gIDxhcHAtZm9ybS1kaXNwZW5zZXItbW9kYWxcclxuICAgIFtzZWN0aW9uU2V0dGluZ3NdPVwic2V0dGluZ3NcIlxyXG4gICAgW3ZhbHVlc109XCJyb3dNb2RlbC5kYXRhXCJcclxuICAgIFt2YWx1ZU1vZGVdPVwiJ21hbnVhbCdcIlxyXG4gICAgKGNoYW5nZWQpPVwiY29tcG9uZW50VmFsdWVDaGFuZ2VkKCRldmVudClcIlxyXG4gID48L2FwcC1mb3JtLWRpc3BlbnNlci1tb2RhbD5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNmb290ZXJDb250ZW50PlxyXG4gICAgPG1yeC1idXR0b25cclxuICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ21yLTMnXCJcclxuICAgICAgW3R5cGVdPVwiJ3NlY29uZGFyeSdcIlxyXG4gICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgIChjbGljayk9XCJjbG9zZSgpXCJcclxuICAgID7QntGC0LzQtdC90LBcclxuICAgIDwvbXJ4LWJ1dHRvbj5cclxuICAgIDxtcngtYnV0dG9uXHJcbiAgICAgIFt0eXBlXT1cIidwcmltYXJ5J1wiXHJcbiAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgKGNsaWNrKT1cIm9rKClcIlxyXG4gICAgPnt7IG9rVGV4dCB9fVxyXG4gICAgPC9tcngtYnV0dG9uPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvbXJ4LW1vZGFsPlxyXG4iXX0=
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGFibGUtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGV4LWZvcm0vc3JjL2xpYi9tb2R1bGVzL29iamVjdC1mb3JtL2NvbXBvbmVudHMvZWxlbWVudHMvaW5wdXQvdGFibGUvY29tcG9uZW50cy9pbnB1dC10YWJsZS1tb2RhbC9pbnB1dC10YWJsZS1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0ZXgtZm9ybS9zcmMvbGliL21vZHVsZXMvb2JqZWN0LWZvcm0vY29tcG9uZW50cy9lbGVtZW50cy9pbnB1dC90YWJsZS9jb21wb25lbnRzL2lucHV0LXRhYmxlLW1vZGFsL2lucHV0LXRhYmxlLW1vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFZLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDM0YsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7O0FBK0JsRixNQUFNLE9BQU8sd0JBQXlCLFNB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Y0UsTUFBTTsyQkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tICdsb2Rhc2gtZXMnO1xyXG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUsIE1PREFMX0RBVEEsIE1vZGFsTW9kdWxlLCBNb2RhbFJlZiwgTW9kYWxTZXJ2aWNlQ29tcG9uZW50IH0gZnJvbSAnQG15cnRleC1vcmcvdWknO1xyXG5pbXBvcnQgeyBJbnB1dFRhYmxlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9tb2RlbHMvZWxlbWV0cy9pbnB1dHMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRWYWx1ZU1vZGVsLCBUYWJsZVJvd01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgRm9ybURpc3BlbnNlck1vZGFsIH0gZnJvbSAnLi9mb3JtLWRpc3BlbnNlci1tb2RhbC9mb3JtLWRpc3BlbnNlci1tb2RhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBwcm92aWRlTmd4TWFzayB9IGZyb20gJ25neC1tYXNrJztcclxuaW1wb3J0IHsgUmVmZXJlbmNlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcbmltcG9ydCB7IG9iamVjdEZvcm1BY3Rpb25zIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vc3RvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRNb2RlbEJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9zaGFyZWQtZm9ybS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRUeXBlLCBWYWx1ZVR5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9zaGFyZWQtZm9ybS9lbnVtcyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElucHV0VGFibGVNb2RhbFBhcmFtcyB7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBva1RleHQ6IHN0cmluZztcclxuICBzZXR0aW5nczogSW5wdXRUYWJsZU1vZGVsO1xyXG4gIHJvd01vZGVsOiBUYWJsZVJvd01vZGVsO1xyXG4gIGlzQ2hlY2tSZXF1aXJlZDogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJbnB1dFRhYmxlTW9kYWxSZXN1bHQge1xyXG4gIHJlc3VsdDogYm9vbGVhbjtcclxuICByb3dNb2RlbDogVGFibGVSb3dNb2RlbDtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtaW5wdXQtdGFibGUtbW9kYWwnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC10YWJsZS1tb2RhbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtdGFibGUtbW9kYWwuY29tcG9uZW50Lmxlc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE1vZGFsTW9kdWxlLFxyXG4gICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgRm9ybURpc3BlbnNlck1vZGFsLFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBwcm92aWRlTmd4TWFzaygpLFxyXG4gICAgUmVmZXJlbmNlU2VydmljZSAvLyDQtNC70Y8g0LrQvtC80L/QvtC90LXQvdGC0LAg0YHQv9C40YHQvtC6XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRUYWJsZU1vZGFsQ29tcG9uZW50IGV4dGVuZHMgTW9kYWxTZXJ2aWNlQ29tcG9uZW50PElucHV0VGFibGVNb2RhbFBhcmFtcywgSW5wdXRUYWJsZU1vZGFsUmVzdWx0PiB7XHJcbiAgcHVibGljIHRpdGxlITogc3RyaW5nO1xyXG4gIHB1YmxpYyBva1RleHQhOiBzdHJpbmc7XHJcbiAgcHVibGljIHNldHRpbmdzITogSW5wdXRUYWJsZU1vZGVsO1xyXG4gIHB1YmxpYyByb3dNb2RlbCE6IFRhYmxlUm93TW9kZWw7XHJcbiAgLy8g0JfQsNC/0L7QvNC40L3QsNC10Lwg0YHRgtCw0YLRg9GBINC/0YDQvtCy0LXRgNC60Lgg0YTQvtGA0LzRiyDQv9GA0Lgg0L7RgtC60YDRi9GC0LjQuCDQvNC+0LTQsNC70LrQuFxyXG4gIHB1YmxpYyBpc0NoZWNrUmVxdWlyZWQhOiBib29sZWFuO1xyXG4gIHB1YmxpYyBlbXB0eVJvdzogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkaWFsb2dSZWY6IE1vZGFsUmVmPElucHV0VGFibGVNb2RhbFJlc3VsdD4sXHJcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcclxuICAgIEBJbmplY3QoTU9EQUxfREFUQSkgZGF0YTogSW5wdXRUYWJsZU1vZGFsUGFyYW1zLFxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuXHJcbiAgICB0aGlzLnRpdGxlID0gZGF0YS50aXRsZTtcclxuICAgIHRoaXMub2tUZXh0ID0gZGF0YS5va1RleHRcclxuICAgIHRoaXMuc2V0dGluZ3MgPSBkYXRhLnNldHRpbmdzO1xyXG4gICAgdGhpcy5yb3dNb2RlbCA9IGRhdGEucm93TW9kZWw7XHJcbiAgICB0aGlzLmlzQ2hlY2tSZXF1aXJlZCA9IGRhdGEuaXNDaGVja1JlcXVpcmVkO1xyXG5cclxuICAgIHRoaXMucmVzdWx0ID0ge3Jlc3VsdDogZmFsc2UsIHJvd01vZGVsOiB0aGlzLnJvd01vZGVsfTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjb21wb25lbnRWYWx1ZUNoYW5nZWQodmFsdWVNb2RlbDogQ29tcG9uZW50VmFsdWVNb2RlbCB8IENvbXBvbmVudFZhbHVlTW9kZWxbXSkge1xyXG4gICAgaWYgKGlzQXJyYXkodmFsdWVNb2RlbCkpIHtcclxuICAgICAgdmFsdWVNb2RlbC5mb3JFYWNoKG1vZGVsID0+IHtcclxuICAgICAgICB0aGlzLl90cmFuc2Zvcm1WYWx1ZXMobW9kZWwpO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX3RyYW5zZm9ybVZhbHVlcyh2YWx1ZU1vZGVsKTtcclxuICAgIH1cclxuICAgIHRoaXMuZW1wdHlSb3cgPSB0aGlzLnJvd01vZGVsLmRhdGEuZXZlcnkoeCA9PiB0aGlzLmlzRW1wdHkoeC52YWx1ZSwgeC52YWx1ZVR5cGUpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvaygpIHtcclxuICAgIGlmICghdGhpcy5faXNWYWxpZCgpKVxyXG4gICAge1xyXG4gICAgICAvLyDQstC60LvRjtGH0LDQtdC8INC/0L7QtNGB0LLQtdGC0LrRgyDQv9C+0LvQtdC5XHJcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gob2JqZWN0Rm9ybUFjdGlvbnMudXBkYXRlQ2hlY2tSZXF1aXJlZCh7IGlzQ2hlY2tSZXF1aXJlZDogdHJ1ZSB9KSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICAvLyDQstC+0LfQstGA0LDRidCw0LXQvCDQv9GA0LjQt9C90LDQuiDQutCw0Log0LHRi9C7INC00L4g0L7RgtC60YDRi9GC0LjRjyDQvNC+0LTQsNC70LrQuFxyXG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChvYmplY3RGb3JtQWN0aW9ucy51cGRhdGVDaGVja1JlcXVpcmVkKHsgaXNDaGVja1JlcXVpcmVkOiB0aGlzLmlzQ2hlY2tSZXF1aXJlZCB9KSk7XHJcblxyXG4gICAgdGhpcy5yZXN1bHQgPSB7cmVzdWx0OiB0cnVlLCByb3dNb2RlbDogdGhpcy5yb3dNb2RlbH07XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShzdHJ1Y3R1cmVkQ2xvbmUodGhpcy5yZXN1bHQpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbG9zZSgpIHtcclxuICAgIC8vINCy0L7Qt9Cy0YDQsNGJ0LDQtdC8INC/0YDQuNC30L3QsNC6INC60LDQuiDQsdGL0Lsg0LTQviDQvtGC0LrRgNGL0YLQuNGPINC80L7QtNCw0LvQutC4XHJcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG9iamVjdEZvcm1BY3Rpb25zLnVwZGF0ZUNoZWNrUmVxdWlyZWQoeyBpc0NoZWNrUmVxdWlyZWQ6IHRoaXMuaXNDaGVja1JlcXVpcmVkIH0pKTtcclxuXHJcbiAgICB0aGlzLnJlc3VsdCA9IHtyZXN1bHQ6IGZhbHNlLCByb3dNb2RlbDogdGhpcy5yb3dNb2RlbH07XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh0aGlzLnJlc3VsdCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF90cmFuc2Zvcm1WYWx1ZXModmFsdWU6IENvbXBvbmVudFZhbHVlTW9kZWwpIHtcclxuICAgIGNvbnN0IGNsb25lUm93TW9kZWwgPSBzdHJ1Y3R1cmVkQ2xvbmUodGhpcy5yb3dNb2RlbCk7XHJcbiAgICBjb25zdCBmaW5kVmFsdWU6IENvbXBvbmVudFZhbHVlTW9kZWwgfCB1bmRlZmluZWQgPSBjbG9uZVJvd01vZGVsLmRhdGEuZmluZCgoYzogQ29tcG9uZW50VmFsdWVNb2RlbCkgPT4gYy5zeXNOYW1lID09PSB2YWx1ZS5zeXNOYW1lKTtcclxuXHJcbiAgICBpZiAoZmluZFZhbHVlKSB7XHJcbiAgICAgIGZpbmRWYWx1ZS52YWx1ZSA9IHZhbHVlLnZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucm93TW9kZWwgPSBjbG9uZVJvd01vZGVsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaXNWYWxpZCgpOiBib29sZWFuIHtcclxuICAgIHZhciBoYXNFcnJvciA9IGZhbHNlO1xyXG4gICAgdmFyIHJlcXVpcmVkQ29tcG9uZW50cyA9IHRoaXMuX2dldFJlcXVpcmVkQ29tcG9uZW50cyh0aGlzLnNldHRpbmdzLmNvbXBvbmVudHMpO1xyXG4gICAgZm9yIChjb25zdCBjb21wb25lbnQgb2YgcmVxdWlyZWRDb21wb25lbnRzKSB7XHJcbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5yb3dNb2RlbC5kYXRhXHJcbiAgICAgICAgLmZpbmQoeCA9PiB4LnN5c05hbWUgPT0gY29tcG9uZW50LnN5c05hbWVcclxuICAgICAgICAgICAgICB8fCB4LnN5c05hbWUgPT0gYCR7Y29tcG9uZW50LnN5c05hbWV9X3N0YXJ0YFxyXG4gICAgICAgICAgICAgIHx8IHguc3lzTmFtZSA9PSBgJHtjb21wb25lbnQuc3lzTmFtZX1fZW5kYCk7XHJcbiAgICAgIGlmICghdmFsdWU/LnZhbHVlKSB7XHJcbiAgICAgICAgaGFzRXJyb3IgPSB0cnVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gIWhhc0Vycm9yO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0UmVxdWlyZWRDb21wb25lbnRzKGNvbXBvbmVudHM6IENvbXBvbmVudE1vZGVsQmFzZVtdKTogQ29tcG9uZW50TW9kZWxCYXNlW117XHJcbiAgICB2YXIgY29tcG9uZW50cyA9IGNvbXBvbmVudHMuZmlsdGVyKHggPT4geC50eXBlICE9IENvbXBvbmVudFR5cGUuR3JvdXAgJiYgISF4Lm9wdGlvbnMucmVxdWlyZWQpO1xyXG4gICAgZm9yIChjb25zdCBjb21wb25lbnQgb2YgY29tcG9uZW50cy5maWx0ZXIoeCA9PiB4LnR5cGUgPT0gQ29tcG9uZW50VHlwZS5Hcm91cCAmJiB4LmNvbXBvbmVudHMubGVuZ3RoID4gMCkpIHtcclxuICAgICAgdGhpcy5fZ2V0UmVxdWlyZWRDb21wb25lbnRzKGNvbXBvbmVudC5jb21wb25lbnRzKTtcclxuICAgIH1cclxuICAgIHJldHVybiBjb21wb25lbnRzO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0VtcHR5KHZhbHVlOiBhbnksIHR5cGU6IFZhbHVlVHlwZSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHR5cGUgPT09IFZhbHVlVHlwZS5VbmRlZmluZWQpIHJldHVybiB0cnVlO1xyXG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQpIHJldHVybiB0cnVlO1xyXG4gICAgaWYgKHR5cGUgPT09IFwic3RyaW5nXCIgfHwgdHlwZSA9PT0gXCJndWlkXCIpIHJldHVybiB2YWx1ZSA9PT0gXCJcIjtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkgcmV0dXJuIHZhbHVlLmxlbmd0aCA9PT0gMDtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuIiwiPG1yeC1tb2RhbFxyXG4gIFt0aXRsZV09XCJ0aXRsZVwiXHJcbiAgc2l6ZT1cImxhcmdlXCJcclxuICAoY2xvc2UpPVwiY2xvc2UoKVwiXHJcbiAgKG9rKT1cIm9rKClcIlxyXG4+XHJcbiAgPGFwcC1mb3JtLWRpc3BlbnNlci1tb2RhbFxyXG4gICAgW3NlY3Rpb25TZXR0aW5nc109XCJzZXR0aW5nc1wiXHJcbiAgICBbdmFsdWVzXT1cInJvd01vZGVsLmRhdGFcIlxyXG4gICAgW3ZhbHVlTW9kZV09XCInbWFudWFsJ1wiXHJcbiAgICAoY2hhbmdlZCk9XCJjb21wb25lbnRWYWx1ZUNoYW5nZWQoJGV2ZW50KVwiXHJcbiAgPjwvYXBwLWZvcm0tZGlzcGVuc2VyLW1vZGFsPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2Zvb3RlckNvbnRlbnQ+XHJcbiAgICA8bXJ4LWJ1dHRvblxyXG4gICAgICBbY3VzdG9tQ2xhc3Nlc109XCInbXItMydcIlxyXG4gICAgICBbdHlwZV09XCInc2Vjb25kYXJ5J1wiXHJcbiAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgKGNsaWNrKT1cImNsb3NlKClcIlxyXG4gICAgPtCe0YLQvNC10L3QsFxyXG4gICAgPC9tcngtYnV0dG9uPlxyXG4gICAgPG1yeC1idXR0b25cclxuICAgICAgW3R5cGVdPVwiJ3ByaW1hcnknXCJcclxuICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiZW1wdHlSb3dcIlxyXG4gICAgICAoY2xpY2spPVwib2soKVwiXHJcbiAgICA+e3sgb2tUZXh0IH19XHJcbiAgICA8L21yeC1idXR0b24+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9tcngtbW9kYWw+XHJcbiJdfQ==
|
|
@@ -1494,6 +1494,7 @@ class InputDateComponent extends BaseFieldComponent {
|
|
|
1494
1494
|
this.type = ComponentType.InputDate;
|
|
1495
1495
|
this._millisecondsInDay = 1000 * 60 * 60 * 24;
|
|
1496
1496
|
this._isInit = false;
|
|
1497
|
+
this._isUpdatingInternal = false;
|
|
1497
1498
|
this.dateModel = '';
|
|
1498
1499
|
this.modelCounter = 0;
|
|
1499
1500
|
}
|
|
@@ -1519,27 +1520,29 @@ class InputDateComponent extends BaseFieldComponent {
|
|
|
1519
1520
|
}
|
|
1520
1521
|
updateValue(event) {
|
|
1521
1522
|
if (this._isInit) {
|
|
1523
|
+
this._isUpdatingInternal = true; // Блокируем внешние обновления на время ввода
|
|
1522
1524
|
if (this.settings.options.range) {
|
|
1523
1525
|
if (!event.value || event.value.length === 0) {
|
|
1524
|
-
this.dateModel = [];
|
|
1526
|
+
this.dateModel = [];
|
|
1525
1527
|
this.modelStart.value = null;
|
|
1526
1528
|
this.modelEnd.value = null;
|
|
1527
|
-
this.model.value = [null, null];
|
|
1528
1529
|
this.modelCounter = 0;
|
|
1529
1530
|
}
|
|
1530
1531
|
else if (event.value.length === 2) {
|
|
1531
|
-
this.dateModel = [event.value[0], event.value[1]];
|
|
1532
|
+
this.dateModel = [event.value[0], event.value[1]];
|
|
1532
1533
|
this.modelStart.value = event.value[0];
|
|
1533
1534
|
this.modelEnd.value = event.value[1];
|
|
1534
|
-
this.model.value = [this.modelStart.value, this.modelEnd.value];
|
|
1535
1535
|
this.modelCounter = this._getDaysDifference(this.modelStart.value, this.modelEnd.value);
|
|
1536
1536
|
}
|
|
1537
|
+
this.model.value = this.dateModel;
|
|
1537
1538
|
}
|
|
1538
1539
|
else {
|
|
1539
1540
|
this.dateModel = event.value;
|
|
1540
1541
|
this.model.value = event.value;
|
|
1541
1542
|
}
|
|
1542
1543
|
this.dispatchModify(event);
|
|
1544
|
+
// Снимаем блокировку чуть позже, когда Store переварит изменения
|
|
1545
|
+
setTimeout(() => this._isUpdatingInternal = false, 600);
|
|
1543
1546
|
}
|
|
1544
1547
|
}
|
|
1545
1548
|
updateCounter(value) {
|
|
@@ -1574,7 +1577,7 @@ class InputDateComponent extends BaseFieldComponent {
|
|
|
1574
1577
|
_initSubscriptionForValue() {
|
|
1575
1578
|
this._subscriptions$.push(this._store.select(selectValueModel(this.settings))
|
|
1576
1579
|
.subscribe((result) => {
|
|
1577
|
-
if (!result)
|
|
1580
|
+
if (!result || this._isUpdatingInternal)
|
|
1578
1581
|
return;
|
|
1579
1582
|
// Если компонент уже инициализирован, проверяем, нужно ли обновляться.
|
|
1580
1583
|
// Мы НЕ обновляемся, если данные в Store идентичны тем, что мы уже держим в памяти.
|
|
@@ -1601,28 +1604,25 @@ class InputDateComponent extends BaseFieldComponent {
|
|
|
1601
1604
|
}));
|
|
1602
1605
|
}
|
|
1603
1606
|
_customInit() {
|
|
1604
|
-
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
this.dateModel = [this.modelStart.value, this.modelEnd.value];
|
|
1612
|
-
this.modelCounter = this._getDaysDifference(this.modelStart.value, this.modelEnd.value);
|
|
1613
|
-
}
|
|
1614
|
-
else if (!this.modelStart?.value && !this.modelEnd?.value) {
|
|
1615
|
-
// Очищаем только если в Store реально пусто
|
|
1616
|
-
this.dateModel = [];
|
|
1617
|
-
this.modelCounter = 0;
|
|
1618
|
-
}
|
|
1607
|
+
if (!this.model) {
|
|
1608
|
+
this.model = defaultValueModel(this.settings);
|
|
1609
|
+
}
|
|
1610
|
+
if (this.settings.options.range) {
|
|
1611
|
+
if (this.modelStart?.value && this.modelEnd?.value) {
|
|
1612
|
+
this.dateModel = [this.modelStart.value, this.modelEnd.value];
|
|
1613
|
+
this.modelCounter = this._getDaysDifference(this.modelStart.value, this.modelEnd.value);
|
|
1619
1614
|
}
|
|
1620
|
-
else {
|
|
1621
|
-
|
|
1615
|
+
else if (!this.modelStart?.value && !this.modelEnd?.value) {
|
|
1616
|
+
// Очищаем только если в Store реально пусто
|
|
1617
|
+
this.dateModel = [];
|
|
1618
|
+
this.modelCounter = 0;
|
|
1622
1619
|
}
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1620
|
+
}
|
|
1621
|
+
else {
|
|
1622
|
+
this.dateModel = this.model.value;
|
|
1623
|
+
}
|
|
1624
|
+
this._isInit = true;
|
|
1625
|
+
this._detector.markForCheck();
|
|
1626
1626
|
}
|
|
1627
1627
|
_getDaysDifference(startDate, endDate) {
|
|
1628
1628
|
const start = new Date(startDate);
|
|
@@ -1961,6 +1961,7 @@ class InputTableModalComponent extends ModalServiceComponent {
|
|
|
1961
1961
|
super();
|
|
1962
1962
|
this.dialogRef = dialogRef;
|
|
1963
1963
|
this.store = store;
|
|
1964
|
+
this.emptyRow = true;
|
|
1964
1965
|
this.title = data.title;
|
|
1965
1966
|
this.okText = data.okText;
|
|
1966
1967
|
this.settings = data.settings;
|
|
@@ -1977,6 +1978,7 @@ class InputTableModalComponent extends ModalServiceComponent {
|
|
|
1977
1978
|
else {
|
|
1978
1979
|
this._transformValues(valueModel);
|
|
1979
1980
|
}
|
|
1981
|
+
this.emptyRow = this.rowModel.data.every(x => this.isEmpty(x.value, x.valueType));
|
|
1980
1982
|
}
|
|
1981
1983
|
ok() {
|
|
1982
1984
|
if (!this._isValid()) {
|
|
@@ -2025,11 +2027,22 @@ class InputTableModalComponent extends ModalServiceComponent {
|
|
|
2025
2027
|
}
|
|
2026
2028
|
return components;
|
|
2027
2029
|
}
|
|
2030
|
+
isEmpty(value, type) {
|
|
2031
|
+
if (type === ValueType.Undefined)
|
|
2032
|
+
return true;
|
|
2033
|
+
if (value === null || value === undefined)
|
|
2034
|
+
return true;
|
|
2035
|
+
if (type === "string" || type === "guid")
|
|
2036
|
+
return value === "";
|
|
2037
|
+
if (Array.isArray(value))
|
|
2038
|
+
return value.length === 0;
|
|
2039
|
+
return false;
|
|
2040
|
+
}
|
|
2028
2041
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputTableModalComponent, deps: [{ token: i1$2.ModalRef }, { token: i2.Store }, { token: MODAL_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2029
2042
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: InputTableModalComponent, isStandalone: true, selector: "app-input-table-modal", providers: [
|
|
2030
2043
|
provideNgxMask(),
|
|
2031
2044
|
ReferenceService // для компонента список
|
|
2032
|
-
], usesInheritance: true, ngImport: i0, template: "<mrx-modal\r\n [title]=\"title\"\r\n size=\"large\"\r\n (close)=\"close()\"\r\n (ok)=\"ok()\"\r\n>\r\n <app-form-dispenser-modal\r\n [sectionSettings]=\"settings\"\r\n [values]=\"rowModel.data\"\r\n [valueMode]=\"'manual'\"\r\n (changed)=\"componentValueChanged($event)\"\r\n ></app-form-dispenser-modal>\r\n\r\n <ng-template #footerContent>\r\n <mrx-button\r\n [customClasses]=\"'mr-3'\"\r\n [type]=\"'secondary'\"\r\n [size]=\"'medium'\"\r\n (click)=\"close()\"\r\n >\u041E\u0442\u043C\u0435\u043D\u0430\r\n </mrx-button>\r\n <mrx-button\r\n [type]=\"'primary'\"\r\n [size]=\"'medium'\"\r\n (click)=\"ok()\"\r\n >{{ okText }}\r\n </mrx-button>\r\n </ng-template>\r\n</mrx-modal>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ModalModule }, { kind: "component", type: i1$2.ModalComponent, selector: "mrx-modal", inputs: ["title", "message", "alert", "okText", "closeText", "size", "color", "customClasses", "expandable", "isEmbed", "isClose", "isBack", "backText", "enableFooter", "alignButtons", "isLoading", "iconPosition"], outputs: ["ok", "close", "back", "expand"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.ButtonComponent, selector: "mrx-button", inputs: ["size", "type", "color", "iconPosition", "active", "disabled", "isLoading", "iconOnly", "customClasses", "label", "icon", "iconClass", "buttonType", "href", "target", "routerLink", "queryParams"], outputs: ["mrxClick"] }, { kind: "component", type: FormDispenserModal, selector: "app-form-dispenser-modal", inputs: ["sectionSettings", "values", "valueMode"], outputs: ["changed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2045
|
+
], usesInheritance: true, ngImport: i0, template: "<mrx-modal\r\n [title]=\"title\"\r\n size=\"large\"\r\n (close)=\"close()\"\r\n (ok)=\"ok()\"\r\n>\r\n <app-form-dispenser-modal\r\n [sectionSettings]=\"settings\"\r\n [values]=\"rowModel.data\"\r\n [valueMode]=\"'manual'\"\r\n (changed)=\"componentValueChanged($event)\"\r\n ></app-form-dispenser-modal>\r\n\r\n <ng-template #footerContent>\r\n <mrx-button\r\n [customClasses]=\"'mr-3'\"\r\n [type]=\"'secondary'\"\r\n [size]=\"'medium'\"\r\n (click)=\"close()\"\r\n >\u041E\u0442\u043C\u0435\u043D\u0430\r\n </mrx-button>\r\n <mrx-button\r\n [type]=\"'primary'\"\r\n [size]=\"'medium'\"\r\n [disabled]=\"emptyRow\"\r\n (click)=\"ok()\"\r\n >{{ okText }}\r\n </mrx-button>\r\n </ng-template>\r\n</mrx-modal>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ModalModule }, { kind: "component", type: i1$2.ModalComponent, selector: "mrx-modal", inputs: ["title", "message", "alert", "okText", "closeText", "size", "color", "customClasses", "expandable", "isEmbed", "isClose", "isBack", "backText", "enableFooter", "alignButtons", "isLoading", "iconPosition"], outputs: ["ok", "close", "back", "expand"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.ButtonComponent, selector: "mrx-button", inputs: ["size", "type", "color", "iconPosition", "active", "disabled", "isLoading", "iconOnly", "customClasses", "label", "icon", "iconClass", "buttonType", "href", "target", "routerLink", "queryParams"], outputs: ["mrxClick"] }, { kind: "component", type: FormDispenserModal, selector: "app-form-dispenser-modal", inputs: ["sectionSettings", "values", "valueMode"], outputs: ["changed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2033
2046
|
}
|
|
2034
2047
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputTableModalComponent, decorators: [{
|
|
2035
2048
|
type: Component,
|
|
@@ -2040,7 +2053,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
2040
2053
|
], providers: [
|
|
2041
2054
|
provideNgxMask(),
|
|
2042
2055
|
ReferenceService // для компонента список
|
|
2043
|
-
], template: "<mrx-modal\r\n [title]=\"title\"\r\n size=\"large\"\r\n (close)=\"close()\"\r\n (ok)=\"ok()\"\r\n>\r\n <app-form-dispenser-modal\r\n [sectionSettings]=\"settings\"\r\n [values]=\"rowModel.data\"\r\n [valueMode]=\"'manual'\"\r\n (changed)=\"componentValueChanged($event)\"\r\n ></app-form-dispenser-modal>\r\n\r\n <ng-template #footerContent>\r\n <mrx-button\r\n [customClasses]=\"'mr-3'\"\r\n [type]=\"'secondary'\"\r\n [size]=\"'medium'\"\r\n (click)=\"close()\"\r\n >\u041E\u0442\u043C\u0435\u043D\u0430\r\n </mrx-button>\r\n <mrx-button\r\n [type]=\"'primary'\"\r\n [size]=\"'medium'\"\r\n (click)=\"ok()\"\r\n >{{ okText }}\r\n </mrx-button>\r\n </ng-template>\r\n</mrx-modal>\r\n" }]
|
|
2056
|
+
], template: "<mrx-modal\r\n [title]=\"title\"\r\n size=\"large\"\r\n (close)=\"close()\"\r\n (ok)=\"ok()\"\r\n>\r\n <app-form-dispenser-modal\r\n [sectionSettings]=\"settings\"\r\n [values]=\"rowModel.data\"\r\n [valueMode]=\"'manual'\"\r\n (changed)=\"componentValueChanged($event)\"\r\n ></app-form-dispenser-modal>\r\n\r\n <ng-template #footerContent>\r\n <mrx-button\r\n [customClasses]=\"'mr-3'\"\r\n [type]=\"'secondary'\"\r\n [size]=\"'medium'\"\r\n (click)=\"close()\"\r\n >\u041E\u0442\u043C\u0435\u043D\u0430\r\n </mrx-button>\r\n <mrx-button\r\n [type]=\"'primary'\"\r\n [size]=\"'medium'\"\r\n [disabled]=\"emptyRow\"\r\n (click)=\"ok()\"\r\n >{{ okText }}\r\n </mrx-button>\r\n </ng-template>\r\n</mrx-modal>\r\n" }]
|
|
2044
2057
|
}], ctorParameters: () => [{ type: i1$2.ModalRef }, { type: i2.Store }, { type: undefined, decorators: [{
|
|
2045
2058
|
type: Inject,
|
|
2046
2059
|
args: [MODAL_DATA]
|