fabrikantencore 2.8.8 → 2.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-filter/beheer-filter.component.mjs +16 -4
- package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-filters/beheer-filters.component.mjs +6 -2
- package/esm2022/src/app/modules/fabrikantencore/beheer/components/beheer-translate/beheer-translate.component.mjs +1 -1
- package/esm2022/src/app/modules/fabrikantencore/components/fab-actionmenu/fab-actionmenu.component.mjs +6 -3
- package/esm2022/src/app/modules/fabrikantencore/components/fab-filter/fab-filter.component.mjs +15 -12
- package/esm2022/src/app/modules/fabrikantencore/components/fab-filter-fold/fab-filter-fold.component.mjs +4 -5
- package/esm2022/src/app/modules/fabrikantencore/components/fab-multiselect/fab-multiselect.component.mjs +5 -2
- package/esm2022/src/app/modules/fabrikantencore/components/fab-multiselect-fold/fab-multiselect-fold.component.mjs +4 -5
- package/esm2022/src/app/modules/fabrikantencore/components/fab-range-input/fab-range-input.component.mjs +14 -11
- package/esm2022/src/app/modules/fabrikantencore/services/fabrikanten.service.mjs +41 -5
- package/esm2022/src/app/modules/fabrikantencore/swagger/SwaggerClient.mjs +177 -1
- package/fesm2022/fabrikantencore.mjs +322 -87
- package/fesm2022/fabrikantencore.mjs.map +1 -1
- package/package.json +2 -2
- package/src/app/modules/fabrikantencore/components/fab-actionmenu/fab-actionmenu.component.d.ts +2 -1
- package/src/app/modules/fabrikantencore/components/fab-filter/fab-filter.component.d.ts +3 -1
- package/src/app/modules/fabrikantencore/components/fab-filter-fold/fab-filter-fold.component.d.ts +0 -1
- package/src/app/modules/fabrikantencore/components/fab-multiselect-fold/fab-multiselect-fold.component.d.ts +0 -1
- package/src/app/modules/fabrikantencore/components/fab-range-input/fab-range-input.component.d.ts +3 -1
- package/src/app/modules/fabrikantencore/services/fabrikanten.service.d.ts +4 -2
- package/src/app/modules/fabrikantencore/swagger/SwaggerClient.d.ts +57 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { moveItemInArray } from '@angular/cdk/drag-drop';
|
|
2
2
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
-
import { SortFilterRequest, SetFilterOptionRequiredRequest, SetFilterRequiredRequest } from '../../../swagger/SwaggerClient';
|
|
3
|
+
import { SortFilterRequest, SetFilterOptionRequiredRequest, SetFilterRequiredRequest, LoginResponseModel, SaveFilterRequest, SaveFilterOptionRequest, RemoveFilterOptionRequest } from '../../../swagger/SwaggerClient';
|
|
4
4
|
import { BeheerSelectFilterDialogComponent } from '../beheer-select-filter-dialog/beheer-select-filter-dialog.component';
|
|
5
5
|
import { BeheerSelectFilteroptionDialogComponent } from '../beheer-select-filteroption-dialog/beheer-select-filteroption-dialog.component';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
@@ -43,7 +43,7 @@ class BeheerFilterComponent {
|
|
|
43
43
|
Sort() {
|
|
44
44
|
if (this.filter != null) {
|
|
45
45
|
var request = new SortFilterRequest();
|
|
46
|
-
request.loginResponseModel = this.authenticationService.currentUserValue;
|
|
46
|
+
request.loginResponseModel = new LoginResponseModel(this.authenticationService.currentUserValue);
|
|
47
47
|
request.filterId = this.filter.id;
|
|
48
48
|
this.FiltersApiClient.sortFilter(request).subscribe(() => {
|
|
49
49
|
this.reload.emit();
|
|
@@ -65,6 +65,7 @@ class BeheerFilterComponent {
|
|
|
65
65
|
if (confirm("Weet je het zeker?")) {
|
|
66
66
|
this.ChangeDetectorRef.detectChanges();
|
|
67
67
|
var request = new SetFilterRequiredRequest();
|
|
68
|
+
request.loginResponseModel = new LoginResponseModel(this.authenticationService.currentUserValue);
|
|
68
69
|
request.filterAffectsId = this.filter.id;
|
|
69
70
|
request.filterRequiredId = result.filter;
|
|
70
71
|
this.FiltersApiClient.setFilterRequired(request).subscribe(() => {
|
|
@@ -90,6 +91,7 @@ class BeheerFilterComponent {
|
|
|
90
91
|
if (confirm("Weet je het zeker?")) {
|
|
91
92
|
this.ChangeDetectorRef.detectChanges();
|
|
92
93
|
var request = new SetFilterOptionRequiredRequest();
|
|
94
|
+
request.loginResponseModel = new LoginResponseModel(this.authenticationService.currentUserValue);
|
|
93
95
|
request.filterId = this.filter.id;
|
|
94
96
|
request.rangeInputId = 0;
|
|
95
97
|
request.filterOptionId = result.filteroption;
|
|
@@ -136,6 +138,7 @@ class BeheerFilterComponent {
|
|
|
136
138
|
request.filterId = require.affectedFilterId;
|
|
137
139
|
request.rangeInputId = 0;
|
|
138
140
|
request.filterOptionId = require.requiredFilterOptionId;
|
|
141
|
+
request.loginResponseModel = new LoginResponseModel(this.authenticationService.currentUserValue);
|
|
139
142
|
this.FiltersApiClient.removeFilterOptionRequired(request).subscribe(() => {
|
|
140
143
|
this.reload.emit();
|
|
141
144
|
}, (error) => {
|
|
@@ -168,6 +171,9 @@ class BeheerFilterComponent {
|
|
|
168
171
|
}
|
|
169
172
|
}
|
|
170
173
|
RemoveFilterOption(option) {
|
|
174
|
+
var request = new RemoveFilterOptionRequest();
|
|
175
|
+
request.filterOptionViewModel = option;
|
|
176
|
+
request.loginResponseModel = new LoginResponseModel(this.authenticationService.currentUserValue);
|
|
171
177
|
this.FiltersApiClient.removeFilterOption(option).subscribe(() => {
|
|
172
178
|
this.reload.emit();
|
|
173
179
|
}, (error) => {
|
|
@@ -175,7 +181,10 @@ class BeheerFilterComponent {
|
|
|
175
181
|
});
|
|
176
182
|
}
|
|
177
183
|
SaveFilterOption(option) {
|
|
178
|
-
|
|
184
|
+
var request = new SaveFilterOptionRequest();
|
|
185
|
+
request.filterOptionViewModel = option;
|
|
186
|
+
request.loginResponseModel = new LoginResponseModel(this.authenticationService.currentUserValue);
|
|
187
|
+
this.FiltersApiClient.saveFilterOption(request).subscribe(() => {
|
|
179
188
|
this.reload.emit();
|
|
180
189
|
}, (error) => {
|
|
181
190
|
alert('An unexpected error occured');
|
|
@@ -190,6 +199,9 @@ class BeheerFilterComponent {
|
|
|
190
199
|
}
|
|
191
200
|
}
|
|
192
201
|
Save() {
|
|
202
|
+
var request = new SaveFilterRequest();
|
|
203
|
+
request.filterViewModel = this.filter;
|
|
204
|
+
request.loginResponseModel = new LoginResponseModel(this.authenticationService.currentUserValue);
|
|
193
205
|
this.FiltersApiClient.saveFilterViewModel(this.filter).subscribe(() => {
|
|
194
206
|
this.reload.emit();
|
|
195
207
|
}, (error) => {
|
|
@@ -208,4 +220,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
|
|
|
208
220
|
}], reload: [{
|
|
209
221
|
type: Output
|
|
210
222
|
}] } });
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1maWx0ZXIvYmVoZWVyLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1maWx0ZXIvYmVoZWVyLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEUsT0FBTyxFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUYsT0FBTyxFQUFzSSxpQkFBaUIsRUFBRSw4QkFBOEIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pRLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ3pILE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLGtGQUFrRixDQUFDOzs7Ozs7Ozs7Ozs7QUFFM0ksTUFLYSxxQkFBcUI7SUFPWjtJQUNWO0lBQ0Q7SUFDQztJQVRELE1BQU0sQ0FBa0I7SUFFdkIsTUFBTSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBRXpELHFCQUFxQixHQUFpQyxJQUFJLENBQUM7SUFFbEUsWUFBb0IsZ0JBQWtDLEVBQzVDLHFCQUE0QyxFQUM3QyxNQUFpQixFQUNoQixpQkFBb0M7UUFIMUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUM1QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzdDLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDaEIs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QyxDQUFDO0lBQ0wsQ0FBQztJQUVNLGdCQUFnQixDQUFDLE1BQTZCO1FBQ25ELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzVELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsQ0FBQyxFQUFFLENBQUMsS0FBZSxFQUFFLEVBQUU7WUFDcEIsS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sZ0JBQWdCO1FBQ3JCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxzQkFBc0IsSUFBSSxTQUFTLEVBQUU7WUFDcEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLHNCQUFzQixDQUFDO1NBQzNDO2FBQ0k7WUFDSCxPQUFPLElBQUksS0FBSyxFQUF5QixDQUFDO1NBQzNDO0lBQ0gsQ0FBQztJQUVNLElBQUk7UUFDVCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDcEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixDQUFDLEVBQUUsQ0FBQyxLQUFlLEVBQUUsRUFBRTtZQUNwQixLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7dUdBek5VLHFCQUFxQjsyRkFBckIscUJBQXFCLHNIQ2JsQyxxOEZBd0VBOztTRDNEYSxxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxtQkFBbUI7eU1BS3BCLE1BQU07c0JBQWQsS0FBSztnQkFFSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRMZWdhY3lEaWFsb2cgYXMgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWRpYWxvZyc7XHJcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGaWx0ZXJPcHRpb25GaWx0ZXJPcHRpb25SZXF1aXJlZFZpZXdNb2RlbCwgRmlsdGVyT3B0aW9uUmVxdWlyZWRWaWV3TW9kZWwsIEZpbHRlck9wdGlvblZpZXdNb2RlbCwgRmlsdGVyc0FwaUNsaWVudCwgRmlsdGVyVmlld01vZGVsLCBTb3J0RmlsdGVyUmVxdWVzdCwgU2V0RmlsdGVyT3B0aW9uUmVxdWlyZWRSZXF1ZXN0LCBTZXRGaWx0ZXJSZXF1aXJlZFJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9zd2FnZ2VyL1N3YWdnZXJDbGllbnQnO1xyXG5pbXBvcnQgeyBCZWhlZXJTZWxlY3RGaWx0ZXJEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9iZWhlZXItc2VsZWN0LWZpbHRlci1kaWFsb2cvYmVoZWVyLXNlbGVjdC1maWx0ZXItZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJlaGVlclNlbGVjdEZpbHRlcm9wdGlvbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2JlaGVlci1zZWxlY3QtZmlsdGVyb3B0aW9uLWRpYWxvZy9iZWhlZXItc2VsZWN0LWZpbHRlcm9wdGlvbi1kaWFsb2cuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWJlaGVlci1maWx0ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iZWhlZXItZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9iZWhlZXItZmlsdGVyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEJlaGVlckZpbHRlckNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgZmlsdGVyOiBGaWx0ZXJWaWV3TW9kZWw7XHJcblxyXG4gIEBPdXRwdXQoKSByZWxvYWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgcHVibGljIEZpbHRlck9wdGlvblZpZXdNb2RlbDogRmlsdGVyT3B0aW9uVmlld01vZGVsIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgRmlsdGVyc0FwaUNsaWVudDogRmlsdGVyc0FwaUNsaWVudCxcclxuICAgIHByaXZhdGUgYXV0aGVudGljYXRpb25TZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2UsXHJcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIENoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XHJcblxyXG4gIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZ1tdPikge1xyXG4gICAgaWYgKHRoaXMuZmlsdGVyLmZpbHRlck9wdGlvblZpZXdNb2RlbHMgIT0gbnVsbCkge1xyXG4gICAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5maWx0ZXIuZmlsdGVyT3B0aW9uVmlld01vZGVscywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcclxuXHJcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5maWx0ZXIuZmlsdGVyT3B0aW9uVmlld01vZGVscy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIHRoaXMuZmlsdGVyLmZpbHRlck9wdGlvblZpZXdNb2RlbHNbaV0ucG9zaXRpb24gPSBpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLlNhdmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBPcGVuKG9wdGlvbjogRmlsdGVyT3B0aW9uVmlld01vZGVsKSB7XHJcbiAgICB0aGlzLkZpbHRlck9wdGlvblZpZXdNb2RlbCA9IG9wdGlvbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTb3J0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZmlsdGVyICE9IG51bGwpIHtcclxuICAgICAgdmFyIHJlcXVlc3QgPSBuZXcgU29ydEZpbHRlclJlcXVlc3QoKTtcclxuXHJcbiAgICAgIHJlcXVlc3QubG9naW5SZXNwb25zZU1vZGVsID0gdGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UuY3VycmVudFVzZXJWYWx1ZTtcclxuICAgICAgcmVxdWVzdC5maWx0ZXJJZCA9IHRoaXMuZmlsdGVyLmlkO1xyXG5cclxuICAgICAgdGhpcy5GaWx0ZXJzQXBpQ2xpZW50LnNvcnRGaWx0ZXIocmVxdWVzdCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLnJlbG9hZC5lbWl0KCk7XHJcbiAgICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwMClcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yLmpzb24oKSk7XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZygnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBSZXF1aXJlRmlsdGVyKCk6IHZvaWQge1xyXG4gICAgdmFyIGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQmVoZWVyU2VsZWN0RmlsdGVyRGlhbG9nQ29tcG9uZW50KTtcclxuXHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQ/LmZpbHRlciAhPSBudWxsICYmIHRoaXMuZmlsdGVyICE9IG51bGwpIHtcclxuICAgICAgICBpZiAocmVzdWx0LmZpbHRlciA+IDApIHtcclxuICAgICAgICAgIGlmIChjb25maXJtKFwiV2VldCBqZSBoZXQgemVrZXI/XCIpKSB7XHJcblxyXG4gICAgICAgICAgICB0aGlzLkNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgICAgICAgICAgIHZhciByZXF1ZXN0ID0gbmV3IFNldEZpbHRlclJlcXVpcmVkUmVxdWVzdCgpO1xyXG5cclxuICAgICAgICAgICAgcmVxdWVzdC5maWx0ZXJBZmZlY3RzSWQgPSB0aGlzLmZpbHRlci5pZDtcclxuICAgICAgICAgICAgcmVxdWVzdC5maWx0ZXJSZXF1aXJlZElkID0gcmVzdWx0LmZpbHRlcjtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuRmlsdGVyc0FwaUNsaWVudC5zZXRGaWx0ZXJSZXF1aXJlZChyZXF1ZXN0KS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMucmVsb2FkLmVtaXQoKTtcclxuICAgICAgICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IuanNvbigpKTtcclxuICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgUmVxdWlyZUZpbHRlck9wdGlvbigpOiB2b2lkIHtcclxuICAgIHZhciBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEJlaGVlclNlbGVjdEZpbHRlcm9wdGlvbkRpYWxvZ0NvbXBvbmVudCk7XHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQ6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocmVzdWx0Py5maWx0ZXJvcHRpb24gIT0gbnVsbCAmJiB0aGlzLmZpbHRlcikge1xyXG4gICAgICAgIGlmIChyZXN1bHQuZmlsdGVyb3B0aW9uID4gMCkge1xyXG4gICAgICAgICAgaWYgKGNvbmZpcm0oXCJXZWV0IGplIGhldCB6ZWtlcj9cIikpIHtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICAgICAgICAgICAgdmFyIHJlcXVlc3QgPSBuZXcgU2V0RmlsdGVyT3B0aW9uUmVxdWlyZWRSZXF1ZXN0KCk7XHJcblxyXG4gICAgICAgICAgICByZXF1ZXN0LmZpbHRlcklkID0gdGhpcy5maWx0ZXIuaWQ7XHJcbiAgICAgICAgICAgIHJlcXVlc3QucmFuZ2VJbnB1dElkID0gMDtcclxuICAgICAgICAgICAgcmVxdWVzdC5maWx0ZXJPcHRpb25JZCA9IHJlc3VsdC5maWx0ZXJvcHRpb247XHJcblxyXG4gICAgICAgICAgICB0aGlzLkZpbHRlcnNBcGlDbGllbnQuc2V0RmlsdGVyT3B0aW9uUmVxdWlyZWQocmVxdWVzdCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnJlbG9hZC5lbWl0KCk7XHJcbiAgICAgICAgICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICBhbGVydCgnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgUmVxdWlyZUZpbHRlck9wdGlvbkZpbHRlck9wdGlvbigpOiB2b2lkIHtcclxuICAgIHZhciBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEJlaGVlclNlbGVjdEZpbHRlcm9wdGlvbkRpYWxvZ0NvbXBvbmVudCk7XHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQ6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocmVzdWx0Py5maWx0ZXJvcHRpb24gIT0gbnVsbCAmJiB0aGlzLmZpbHRlcikge1xyXG4gICAgICAgIGlmIChyZXN1bHQuZmlsdGVyb3B0aW9uID4gMCkge1xyXG4gICAgICAgICAgaWYgKGNvbmZpcm0oXCJXZWV0IGplIGhldCB6ZWtlcj9cIikpIHtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICAgICAgICAgICAgLy92YXIgcmVxdWVzdCA9IG5ldyBTZXRGaWx0ZXJPcHRpb25SZXF1aXJlZFJlcXVlc3QoKTtcclxuXHJcbiAgICAgICAgICAgIC8vcmVxdWVzdC5maWx0ZXJJZCA9IHRoaXMuZmlsdGVyLmlkO1xyXG4gICAgICAgICAgICAvL3JlcXVlc3QucmFuZ2VJbnB1dElkID0gMDtcclxuICAgICAgICAgICAgLy9yZXF1ZXN0LmZpbHRlck9wdGlvbklkID0gcmVzdWx0LmZpbHRlcm9wdGlvbjtcclxuXHJcbiAgICAgICAgICAgIC8vdGhpcy5GaWx0ZXJzQXBpQ2xpZW50LnNldEZpbHRlck9wdGlvblJlcXVpcmVkKHJlcXVlc3QpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIC8vICB0aGlzLnJlbG9hZC5lbWl0KCk7XHJcbiAgICAgICAgICAgIC8vfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAvLyAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgICAgIC8vICAgIGNvbnNvbGUubG9nKGVycm9yLmpzb24oKSk7XHJcbiAgICAgICAgICAgIC8vICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgICAgICAvLyAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgICAgICAgIC8vICB9XHJcbiAgICAgICAgICAgIC8vfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBSZW1vdmVSZXF1aXJlRmlsdGVyT3B0aW9uKHJlcXVpcmU6IEZpbHRlck9wdGlvblJlcXVpcmVkVmlld01vZGVsKTogdm9pZCB7XHJcbiAgICBpZiAoY29uZmlybShcIldlZXQgamUgaGV0IHpla2VyP1wiKSkge1xyXG5cclxuICAgICAgdGhpcy5DaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgICB2YXIgcmVxdWVzdCA9IG5ldyBTZXRGaWx0ZXJPcHRpb25SZXF1aXJlZFJlcXVlc3QoKTtcclxuXHJcbiAgICAgIHJlcXVlc3QuZmlsdGVySWQgPSByZXF1aXJlLmFmZmVjdGVkRmlsdGVySWQ7XHJcbiAgICAgIHJlcXVlc3QucmFuZ2VJbnB1dElkID0gMDtcclxuICAgICAgcmVxdWVzdC5maWx0ZXJPcHRpb25JZCA9IHJlcXVpcmUucmVxdWlyZWRGaWx0ZXJPcHRpb25JZDtcclxuXHJcbiAgICAgIHRoaXMuRmlsdGVyc0FwaUNsaWVudC5yZW1vdmVGaWx0ZXJPcHRpb25SZXF1aXJlZChyZXF1ZXN0KS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMucmVsb2FkLmVtaXQoKTtcclxuICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IuanNvbigpKTtcclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIFJlbW92ZVJlcXVpcmVGaWx0ZXJPcHRpb25GaWx0ZXJPcHRpb24ocmVxdWlyZTogRmlsdGVyT3B0aW9uRmlsdGVyT3B0aW9uUmVxdWlyZWRWaWV3TW9kZWwpOiB2b2lkIHtcclxuICAgIGlmIChjb25maXJtKFwiV2VldCBqZSBoZXQgemVrZXI/XCIpKSB7XHJcblxyXG4gICAgICB0aGlzLkNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgICAgIC8vdmFyIHJlcXVlc3QgPSBuZXcgU2V0RmlsdGVyT3B0aW9uUmVxdWlyZWRSZXF1ZXN0KCk7XHJcblxyXG4gICAgICAvL3JlcXVlc3QuZmlsdGVySWQgPSByZXF1aXJlLmFmZmVjdGVkRmlsdGVySWQ7XHJcbiAgICAgIC8vcmVxdWVzdC5yYW5nZUlucHV0SWQgPSAwO1xyXG4gICAgICAvL3JlcXVlc3QuZmlsdGVyT3B0aW9uSWQgPSByZXF1aXJlLnJlcXVpcmVkRmlsdGVyT3B0aW9uSWQ7XHJcblxyXG4gICAgICAvL3RoaXMuRmlsdGVyc0FwaUNsaWVudC5yZW1vdmVGaWx0ZXJPcHRpb25SZXF1aXJlZChyZXF1ZXN0KS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAvLyAgdGhpcy5yZWxvYWQuZW1pdCgpO1xyXG4gICAgICAvL30sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgLy8gIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAvLyAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICAvLyAgZWxzZSB7XHJcbiAgICAgIC8vICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgLy8gICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAvLyAgfVxyXG4gICAgICAvL30pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIFJlbW92ZUZpbHRlck9wdGlvbihvcHRpb246IEZpbHRlck9wdGlvblZpZXdNb2RlbCk6IHZvaWQge1xyXG4gICAgdGhpcy5GaWx0ZXJzQXBpQ2xpZW50LnJlbW92ZUZpbHRlck9wdGlvbihvcHRpb24pLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMucmVsb2FkLmVtaXQoKTtcclxuICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgIGFsZXJ0KCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNhdmVGaWx0ZXJPcHRpb24ob3B0aW9uOiBGaWx0ZXJPcHRpb25WaWV3TW9kZWwpOiB2b2lkIHtcclxuICAgIHRoaXMuRmlsdGVyc0FwaUNsaWVudC5zYXZlRmlsdGVyT3B0aW9uKG9wdGlvbikuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5yZWxvYWQuZW1pdCgpO1xyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgYWxlcnQoJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgR2V0RmlsdGVyT3B0aW9ucygpOiBGaWx0ZXJPcHRpb25WaWV3TW9kZWxbXSB7XHJcbiAgICBpZiAodGhpcy5maWx0ZXI/LmZpbHRlck9wdGlvblZpZXdNb2RlbHMgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmZpbHRlci5maWx0ZXJPcHRpb25WaWV3TW9kZWxzO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJldHVybiBuZXcgQXJyYXk8RmlsdGVyT3B0aW9uVmlld01vZGVsPigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIFNhdmUoKTogdm9pZCB7XHJcbiAgICB0aGlzLkZpbHRlcnNBcGlDbGllbnQuc2F2ZUZpbHRlclZpZXdNb2RlbCh0aGlzLmZpbHRlcikuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5yZWxvYWQuZW1pdCgpO1xyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgYWxlcnQoJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmaWx0ZXItbmFtZVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJmbGV4YXV0b1wiPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgY2xhc3M9XCJmdWxsLXdpZHRoXCI+XHJcbiAgICAgIDxtYXQtbGFiZWw+TmFtZTwvbWF0LWxhYmVsPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJmaWx0ZXIubmFtZVwiPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwic2F2ZS1kaXZcIj5cclxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIlNhdmUoKVwiPlNhdmU8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXY+XHJcbiAgPGRpdiBjbGFzcz1cImZpbHRlci1uYW1lXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleGF1dG9cIj5cclxuICAgICAgUmVxdWlyZXNcclxuICAgIDwvZGl2PlxyXG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiUmVxdWlyZUZpbHRlcigpXCI+RmlsdGVyPC9idXR0b24+XHJcbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJSZXF1aXJlRmlsdGVyT3B0aW9uKClcIj5GaWx0ZXJPcHRpb248L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGZpbHRlci5yZXF1aXJlc0ZpbHRlck9wdGlvbnNcIiBjbGFzcz1cInJlcXVpcmVkLW9wdGlvblwiIFtuZ0NsYXNzXT1cInsgJ0FORCc6IG9wdGlvbi5maWx0ZXJPcHRpb25SZXF1aXJlZFR5cGUgPT0gMCwgJ09SJzogb3B0aW9uLmZpbHRlck9wdGlvblJlcXVpcmVkVHlwZSA9PSAxIH1cIj5cclxuICAgIHt7IG9wdGlvbi5yZXF1aXJlZEZpbHRlck5hbWUgfX06IHt7IG9wdGlvbi5yZXF1aXJlZEZpbHRlck9wdGlvbk5hbWUgfX1cclxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIlJlbW92ZVJlcXVpcmVGaWx0ZXJPcHRpb24ob3B0aW9uKVwiPlJlbW92ZTwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKm5nRm9yPVwibGV0IGZpbHRlciBvZiBmaWx0ZXIucmVxdWlyZXNGaWx0ZXJzXCIgY2xhc3M9XCJyZXF1aXJlZC1vcHRpb25cIj5cclxuICAgIHt7IGZpbHRlci5yZXF1aXJlZEZpbHRlck5hbWUgfX1cclxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24+UmVtb3ZlPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2PlxyXG4gIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIlNvcnQoKVwiPlNvcnQ8L2J1dHRvbj5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJmaWx0ZXItb3B0aW9ucy1jb250YWluZXJcIj5cclxuICA8ZGl2IGNka0Ryb3BMaXN0IGNsYXNzPVwiaW5wdXQtbGlzdFwiIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtaXRlbVwiICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgR2V0RmlsdGVyT3B0aW9ucygpXCIgY2RrRHJhZz5cclxuICAgICAgPHNwYW4gW25nQ2xhc3NdPVwieydzZWxlY3RlZCc6IG9wdGlvbi5pZCA9PSBGaWx0ZXJPcHRpb25WaWV3TW9kZWw/LmlkIH1cIj5cclxuICAgICAgICB7eyBvcHRpb24ubmFtZSB9fVxyXG4gICAgICA8L3NwYW4+XHJcblxyXG4gICAgICA8YnV0dG9uIChjbGljayk9XCJPcGVuKG9wdGlvbilcIj5TZWxlY3Q8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxtYXQtY2FyZCAqbmdJZj1cIkZpbHRlck9wdGlvblZpZXdNb2RlbCAhPSBudWxsXCI+XHJcbiAgPG1hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZGlzcGxheWZsZXhcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1vcHRpb24tbmFtZSBmbGV4YXV0b1wiPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbD5OYW1lICgje3sgRmlsdGVyT3B0aW9uVmlld01vZGVsLmlkIH19KTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwiRmlsdGVyT3B0aW9uVmlld01vZGVsLm5hbWVcIj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiU2F2ZUZpbHRlck9wdGlvbihGaWx0ZXJPcHRpb25WaWV3TW9kZWwpXCI+U2F2ZTwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJSZW1vdmVGaWx0ZXJPcHRpb24oRmlsdGVyT3B0aW9uVmlld01vZGVsKVwiPlJlbW92ZTwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLW5hbWVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleGF1dG9cIj5cclxuICAgICAgICAgIFJlcXVpcmVzXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiUmVxdWlyZUZpbHRlck9wdGlvbkZpbHRlck9wdGlvbigpXCI+RmlsdGVyT3B0aW9uPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIEZpbHRlck9wdGlvblZpZXdNb2RlbC5yZXF1aXJlZFwiIGNsYXNzPVwicmVxdWlyZWQtb3B0aW9uXCI+XHJcbiAgICAgICAge3sgb3B0aW9uLmZpbHRlck5hbWUgfX06IHt7IG9wdGlvbi5maWx0ZXJPcHRpb25OYW1lIH19XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiUmVtb3ZlUmVxdWlyZUZpbHRlck9wdGlvbkZpbHRlck9wdGlvbihvcHRpb24pXCI+UmVtb3ZlPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG48L21hdC1jYXJkPlxyXG5cclxuIl19
|
|
223
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1maWx0ZXIvYmVoZWVyLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1maWx0ZXIvYmVoZWVyLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEUsT0FBTyxFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUYsT0FBTyxFQUFzSSxpQkFBaUIsRUFBRSw4QkFBOEIsRUFBRSx3QkFBd0IsRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzVWLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ3pILE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLGtGQUFrRixDQUFDOzs7Ozs7Ozs7Ozs7QUFFM0ksTUFLYSxxQkFBcUI7SUFPWjtJQUNWO0lBQ0Q7SUFDQztJQVRELE1BQU0sQ0FBa0I7SUFFdkIsTUFBTSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBRXpELHFCQUFxQixHQUFpQyxJQUFJLENBQUM7SUFFbEUsWUFBb0IsZ0JBQWtDLEVBQzVDLHFCQUE0QyxFQUM3QyxNQUFpQixFQUNoQixpQkFBb0M7UUFIMUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUM1QywwQkFBcUIsR0FB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SUFDTCxDQUFDO0lBRU0sZ0JBQWdCO1FBQ3JCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxzQkFBc0IsSUFBSSxTQUFTLEVBQUU7WUFDcEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLHNCQUFzQixDQUFDO1NBQzNDO2FBQ0k7WUFDSCxPQUFPLElBQUksS0FBSyxFQUF5QixDQUFDO1NBQzNDO0lBQ0gsQ0FBQztJQUVNLElBQUk7UUFFVCxJQUFJLE9BQU8sR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFDdEMsT0FBTyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3RDLE9BQU8sQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRWpHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNwRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLENBQUMsRUFBRSxDQUFDLEtBQWUsRUFBRSxFQUFFO1lBQ3BCLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt1R0EzT1UscUJBQXFCOzJGQUFyQixxQkFBcUIsc0hDYmxDLHE4RkF3RUE7O1NEM0RhLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLG1CQUFtQjt5TUFLcEIsTUFBTTtzQkFBZCxLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdExlZ2FjeURpYWxvZyBhcyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktZGlhbG9nJztcclxuaW1wb3J0IHsgQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEZpbHRlck9wdGlvbkZpbHRlck9wdGlvblJlcXVpcmVkVmlld01vZGVsLCBGaWx0ZXJPcHRpb25SZXF1aXJlZFZpZXdNb2RlbCwgRmlsdGVyT3B0aW9uVmlld01vZGVsLCBGaWx0ZXJzQXBpQ2xpZW50LCBGaWx0ZXJWaWV3TW9kZWwsIFNvcnRGaWx0ZXJSZXF1ZXN0LCBTZXRGaWx0ZXJPcHRpb25SZXF1aXJlZFJlcXVlc3QsIFNldEZpbHRlclJlcXVpcmVkUmVxdWVzdCwgTG9naW5SZXNwb25zZU1vZGVsLCBTYXZlRmlsdGVyUmVxdWVzdCwgU2F2ZUZpbHRlck9wdGlvblJlcXVlc3QsIFJlbW92ZUZpbHRlck9wdGlvblJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9zd2FnZ2VyL1N3YWdnZXJDbGllbnQnO1xyXG5pbXBvcnQgeyBCZWhlZXJTZWxlY3RGaWx0ZXJEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9iZWhlZXItc2VsZWN0LWZpbHRlci1kaWFsb2cvYmVoZWVyLXNlbGVjdC1maWx0ZXItZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJlaGVlclNlbGVjdEZpbHRlcm9wdGlvbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2JlaGVlci1zZWxlY3QtZmlsdGVyb3B0aW9uLWRpYWxvZy9iZWhlZXItc2VsZWN0LWZpbHRlcm9wdGlvbi1kaWFsb2cuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWJlaGVlci1maWx0ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iZWhlZXItZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9iZWhlZXItZmlsdGVyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEJlaGVlckZpbHRlckNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgZmlsdGVyOiBGaWx0ZXJWaWV3TW9kZWw7XHJcblxyXG4gIEBPdXRwdXQoKSByZWxvYWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgcHVibGljIEZpbHRlck9wdGlvblZpZXdNb2RlbDogRmlsdGVyT3B0aW9uVmlld01vZGVsIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgRmlsdGVyc0FwaUNsaWVudDogRmlsdGVyc0FwaUNsaWVudCxcclxuICAgIHByaXZhdGUgYXV0aGVudGljYXRpb25TZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2UsXHJcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIENoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XHJcblxyXG4gIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZ1tdPikge1xyXG4gICAgaWYgKHRoaXMuZmlsdGVyLmZpbHRlck9wdGlvblZpZXdNb2RlbHMgIT0gbnVsbCkge1xyXG4gICAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5maWx0ZXIuZmlsdGVyT3B0aW9uVmlld01vZGVscywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcclxuXHJcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5maWx0ZXIuZmlsdGVyT3B0aW9uVmlld01vZGVscy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIHRoaXMuZmlsdGVyLmZpbHRlck9wdGlvblZpZXdNb2RlbHNbaV0ucG9zaXRpb24gPSBpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLlNhdmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBPcGVuKG9wdGlvbjogRmlsdGVyT3B0aW9uVmlld01vZGVsKSB7XHJcbiAgICB0aGlzLkZpbHRlck9wdGlvblZpZXdNb2RlbCA9IG9wdGlvbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTb3J0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZmlsdGVyICE9IG51bGwpIHtcclxuICAgICAgdmFyIHJlcXVlc3QgPSBuZXcgU29ydEZpbHRlclJlcXVlc3QoKTtcclxuXHJcbiAgICAgIHJlcXVlc3QubG9naW5SZXNwb25zZU1vZGVsID0gbmV3IExvZ2luUmVzcG9uc2VNb2RlbCh0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5jdXJyZW50VXNlclZhbHVlKTtcclxuICAgICAgcmVxdWVzdC5maWx0ZXJJZCA9IHRoaXMuZmlsdGVyLmlkO1xyXG5cclxuICAgICAgdGhpcy5GaWx0ZXJzQXBpQ2xpZW50LnNvcnRGaWx0ZXIocmVxdWVzdCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLnJlbG9hZC5lbWl0KCk7XHJcbiAgICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwMClcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yLmpzb24oKSk7XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZygnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBSZXF1aXJlRmlsdGVyKCk6IHZvaWQge1xyXG4gICAgdmFyIGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQmVoZWVyU2VsZWN0RmlsdGVyRGlhbG9nQ29tcG9uZW50KTtcclxuXHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQ/LmZpbHRlciAhPSBudWxsICYmIHRoaXMuZmlsdGVyICE9IG51bGwpIHtcclxuICAgICAgICBpZiAocmVzdWx0LmZpbHRlciA+IDApIHtcclxuICAgICAgICAgIGlmIChjb25maXJtKFwiV2VldCBqZSBoZXQgemVrZXI/XCIpKSB7XHJcblxyXG4gICAgICAgICAgICB0aGlzLkNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgICAgICAgICAgIHZhciByZXF1ZXN0ID0gbmV3IFNldEZpbHRlclJlcXVpcmVkUmVxdWVzdCgpO1xyXG5cclxuICAgICAgICAgICAgcmVxdWVzdC5sb2dpblJlc3BvbnNlTW9kZWwgPSBuZXcgTG9naW5SZXNwb25zZU1vZGVsKHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmN1cnJlbnRVc2VyVmFsdWUpO1xyXG4gICAgICAgICAgICByZXF1ZXN0LmZpbHRlckFmZmVjdHNJZCA9IHRoaXMuZmlsdGVyLmlkO1xyXG4gICAgICAgICAgICByZXF1ZXN0LmZpbHRlclJlcXVpcmVkSWQgPSByZXN1bHQuZmlsdGVyO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5GaWx0ZXJzQXBpQ2xpZW50LnNldEZpbHRlclJlcXVpcmVkKHJlcXVlc3QpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5yZWxvYWQuZW1pdCgpO1xyXG4gICAgICAgICAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBSZXF1aXJlRmlsdGVyT3B0aW9uKCk6IHZvaWQge1xyXG4gICAgdmFyIGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQmVoZWVyU2VsZWN0RmlsdGVyb3B0aW9uRGlhbG9nQ29tcG9uZW50KTtcclxuXHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQ/LmZpbHRlcm9wdGlvbiAhPSBudWxsICYmIHRoaXMuZmlsdGVyKSB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC5maWx0ZXJvcHRpb24gPiAwKSB7XHJcbiAgICAgICAgICBpZiAoY29uZmlybShcIldlZXQgamUgaGV0IHpla2VyP1wiKSkge1xyXG5cclxuICAgICAgICAgICAgdGhpcy5DaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBTZXRGaWx0ZXJPcHRpb25SZXF1aXJlZFJlcXVlc3QoKTtcclxuXHJcbiAgICAgICAgICAgIHJlcXVlc3QubG9naW5SZXNwb25zZU1vZGVsID0gbmV3IExvZ2luUmVzcG9uc2VNb2RlbCh0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5jdXJyZW50VXNlclZhbHVlKTtcclxuICAgICAgICAgICAgcmVxdWVzdC5maWx0ZXJJZCA9IHRoaXMuZmlsdGVyLmlkO1xyXG4gICAgICAgICAgICByZXF1ZXN0LnJhbmdlSW5wdXRJZCA9IDA7XHJcbiAgICAgICAgICAgIHJlcXVlc3QuZmlsdGVyT3B0aW9uSWQgPSByZXN1bHQuZmlsdGVyb3B0aW9uO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5GaWx0ZXJzQXBpQ2xpZW50LnNldEZpbHRlck9wdGlvblJlcXVpcmVkKHJlcXVlc3QpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5yZWxvYWQuZW1pdCgpO1xyXG4gICAgICAgICAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgYWxlcnQoJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFJlcXVpcmVGaWx0ZXJPcHRpb25GaWx0ZXJPcHRpb24oKTogdm9pZCB7XHJcbiAgICB2YXIgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihCZWhlZXJTZWxlY3RGaWx0ZXJvcHRpb25EaWFsb2dDb21wb25lbnQpO1xyXG5cclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0OiBhbnkpID0+IHtcclxuICAgICAgaWYgKHJlc3VsdD8uZmlsdGVyb3B0aW9uICE9IG51bGwgJiYgdGhpcy5maWx0ZXIpIHtcclxuICAgICAgICBpZiAocmVzdWx0LmZpbHRlcm9wdGlvbiA+IDApIHtcclxuICAgICAgICAgIGlmIChjb25maXJtKFwiV2VldCBqZSBoZXQgemVrZXI/XCIpKSB7XHJcblxyXG4gICAgICAgICAgICB0aGlzLkNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgICAgICAgICAgIC8vdmFyIHJlcXVlc3QgPSBuZXcgU2V0RmlsdGVyT3B0aW9uUmVxdWlyZWRSZXF1ZXN0KCk7XHJcblxyXG4gICAgICAgICAgICAvL3JlcXVlc3QuZmlsdGVySWQgPSB0aGlzLmZpbHRlci5pZDtcclxuICAgICAgICAgICAgLy9yZXF1ZXN0LnJhbmdlSW5wdXRJZCA9IDA7XHJcbiAgICAgICAgICAgIC8vcmVxdWVzdC5maWx0ZXJPcHRpb25JZCA9IHJlc3VsdC5maWx0ZXJvcHRpb247XHJcblxyXG4gICAgICAgICAgICAvL3RoaXMuRmlsdGVyc0FwaUNsaWVudC5zZXRGaWx0ZXJPcHRpb25SZXF1aXJlZChyZXF1ZXN0KS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAvLyAgdGhpcy5yZWxvYWQuZW1pdCgpO1xyXG4gICAgICAgICAgICAvL30sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgLy8gIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAgICAgICAvLyAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICAgICAgICAvLyAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgICAgICAgLy8gICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAgICAgICAvLyAgfVxyXG4gICAgICAgICAgICAvL30pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgUmVtb3ZlUmVxdWlyZUZpbHRlck9wdGlvbihyZXF1aXJlOiBGaWx0ZXJPcHRpb25SZXF1aXJlZFZpZXdNb2RlbCk6IHZvaWQge1xyXG4gICAgaWYgKGNvbmZpcm0oXCJXZWV0IGplIGhldCB6ZWtlcj9cIikpIHtcclxuXHJcbiAgICAgIHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICAgICAgdmFyIHJlcXVlc3QgPSBuZXcgU2V0RmlsdGVyT3B0aW9uUmVxdWlyZWRSZXF1ZXN0KCk7XHJcblxyXG4gICAgICByZXF1ZXN0LmZpbHRlcklkID0gcmVxdWlyZS5hZmZlY3RlZEZpbHRlcklkO1xyXG4gICAgICByZXF1ZXN0LnJhbmdlSW5wdXRJZCA9IDA7XHJcbiAgICAgIHJlcXVlc3QuZmlsdGVyT3B0aW9uSWQgPSByZXF1aXJlLnJlcXVpcmVkRmlsdGVyT3B0aW9uSWQ7XHJcbiAgICAgIHJlcXVlc3QubG9naW5SZXNwb25zZU1vZGVsID0gbmV3IExvZ2luUmVzcG9uc2VNb2RlbCh0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5jdXJyZW50VXNlclZhbHVlKTtcclxuXHJcbiAgICAgIHRoaXMuRmlsdGVyc0FwaUNsaWVudC5yZW1vdmVGaWx0ZXJPcHRpb25SZXF1aXJlZChyZXF1ZXN0KS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMucmVsb2FkLmVtaXQoKTtcclxuICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IuanNvbigpKTtcclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIFJlbW92ZVJlcXVpcmVGaWx0ZXJPcHRpb25GaWx0ZXJPcHRpb24ocmVxdWlyZTogRmlsdGVyT3B0aW9uRmlsdGVyT3B0aW9uUmVxdWlyZWRWaWV3TW9kZWwpOiB2b2lkIHtcclxuICAgIGlmIChjb25maXJtKFwiV2VldCBqZSBoZXQgemVrZXI/XCIpKSB7XHJcblxyXG4gICAgICB0aGlzLkNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgICAgIC8vdmFyIHJlcXVlc3QgPSBuZXcgU2V0RmlsdGVyT3B0aW9uUmVxdWlyZWRSZXF1ZXN0KCk7XHJcblxyXG4gICAgICAvL3JlcXVlc3QuZmlsdGVySWQgPSByZXF1aXJlLmFmZmVjdGVkRmlsdGVySWQ7XHJcbiAgICAgIC8vcmVxdWVzdC5yYW5nZUlucHV0SWQgPSAwO1xyXG4gICAgICAvL3JlcXVlc3QuZmlsdGVyT3B0aW9uSWQgPSByZXF1aXJlLnJlcXVpcmVkRmlsdGVyT3B0aW9uSWQ7XHJcblxyXG4gICAgICAvL3RoaXMuRmlsdGVyc0FwaUNsaWVudC5yZW1vdmVGaWx0ZXJPcHRpb25SZXF1aXJlZChyZXF1ZXN0KS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAvLyAgdGhpcy5yZWxvYWQuZW1pdCgpO1xyXG4gICAgICAvL30sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgLy8gIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAvLyAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICAvLyAgZWxzZSB7XHJcbiAgICAgIC8vICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgLy8gICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAvLyAgfVxyXG4gICAgICAvL30pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIFJlbW92ZUZpbHRlck9wdGlvbihvcHRpb246IEZpbHRlck9wdGlvblZpZXdNb2RlbCk6IHZvaWQge1xyXG5cclxuICAgIHZhciByZXF1ZXN0ID0gbmV3IFJlbW92ZUZpbHRlck9wdGlvblJlcXVlc3QoKTtcclxuICAgIHJlcXVlc3QuZmlsdGVyT3B0aW9uVmlld01vZGVsID0gb3B0aW9uO1xyXG4gICAgcmVxdWVzdC5sb2dpblJlc3BvbnNlTW9kZWwgPSBuZXcgTG9naW5SZXNwb25zZU1vZGVsKHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmN1cnJlbnRVc2VyVmFsdWUpO1xyXG5cclxuICAgIHRoaXMuRmlsdGVyc0FwaUNsaWVudC5yZW1vdmVGaWx0ZXJPcHRpb24ob3B0aW9uKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLnJlbG9hZC5lbWl0KCk7XHJcbiAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICBhbGVydCgnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTYXZlRmlsdGVyT3B0aW9uKG9wdGlvbjogRmlsdGVyT3B0aW9uVmlld01vZGVsKTogdm9pZCB7XHJcblxyXG4gICAgdmFyIHJlcXVlc3QgPSBuZXcgU2F2ZUZpbHRlck9wdGlvblJlcXVlc3QoKTtcclxuICAgIHJlcXVlc3QuZmlsdGVyT3B0aW9uVmlld01vZGVsID0gb3B0aW9uO1xyXG4gICAgcmVxdWVzdC5sb2dpblJlc3BvbnNlTW9kZWwgPSBuZXcgTG9naW5SZXNwb25zZU1vZGVsKHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmN1cnJlbnRVc2VyVmFsdWUpO1xyXG5cclxuICAgIHRoaXMuRmlsdGVyc0FwaUNsaWVudC5zYXZlRmlsdGVyT3B0aW9uKHJlcXVlc3QpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMucmVsb2FkLmVtaXQoKTtcclxuICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgIGFsZXJ0KCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEdldEZpbHRlck9wdGlvbnMoKTogRmlsdGVyT3B0aW9uVmlld01vZGVsW10ge1xyXG4gICAgaWYgKHRoaXMuZmlsdGVyPy5maWx0ZXJPcHRpb25WaWV3TW9kZWxzICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5maWx0ZXIuZmlsdGVyT3B0aW9uVmlld01vZGVscztcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICByZXR1cm4gbmV3IEFycmF5PEZpbHRlck9wdGlvblZpZXdNb2RlbD4oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBTYXZlKCk6IHZvaWQge1xyXG5cclxuICAgIHZhciByZXF1ZXN0ID0gbmV3IFNhdmVGaWx0ZXJSZXF1ZXN0KCk7XHJcbiAgICByZXF1ZXN0LmZpbHRlclZpZXdNb2RlbCA9IHRoaXMuZmlsdGVyO1xyXG4gICAgcmVxdWVzdC5sb2dpblJlc3BvbnNlTW9kZWwgPSBuZXcgTG9naW5SZXNwb25zZU1vZGVsKHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmN1cnJlbnRVc2VyVmFsdWUpO1xyXG5cclxuICAgIHRoaXMuRmlsdGVyc0FwaUNsaWVudC5zYXZlRmlsdGVyVmlld01vZGVsKHRoaXMuZmlsdGVyKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLnJlbG9hZC5lbWl0KCk7XHJcbiAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICBhbGVydCgnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImZpbHRlci1uYW1lXCI+XHJcbiAgPGRpdiBjbGFzcz1cImZsZXhhdXRvXCI+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgPG1hdC1sYWJlbD5OYW1lPC9tYXQtbGFiZWw+XHJcbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cImZpbHRlci5uYW1lXCI+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJzYXZlLWRpdlwiPlxyXG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiU2F2ZSgpXCI+U2F2ZTwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPGRpdj5cclxuICA8ZGl2IGNsYXNzPVwiZmlsdGVyLW5hbWVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4YXV0b1wiPlxyXG4gICAgICBSZXF1aXJlc1xyXG4gICAgPC9kaXY+XHJcbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJSZXF1aXJlRmlsdGVyKClcIj5GaWx0ZXI8L2J1dHRvbj5cclxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIlJlcXVpcmVGaWx0ZXJPcHRpb24oKVwiPkZpbHRlck9wdGlvbjwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2ICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZmlsdGVyLnJlcXVpcmVzRmlsdGVyT3B0aW9uc1wiIGNsYXNzPVwicmVxdWlyZWQtb3B0aW9uXCIgW25nQ2xhc3NdPVwieyAnQU5EJzogb3B0aW9uLmZpbHRlck9wdGlvblJlcXVpcmVkVHlwZSA9PSAwLCAnT1InOiBvcHRpb24uZmlsdGVyT3B0aW9uUmVxdWlyZWRUeXBlID09IDEgfVwiPlxyXG4gICAge3sgb3B0aW9uLnJlcXVpcmVkRmlsdGVyTmFtZSB9fToge3sgb3B0aW9uLnJlcXVpcmVkRmlsdGVyT3B0aW9uTmFtZSB9fVxyXG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiUmVtb3ZlUmVxdWlyZUZpbHRlck9wdGlvbihvcHRpb24pXCI+UmVtb3ZlPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdGb3I9XCJsZXQgZmlsdGVyIG9mIGZpbHRlci5yZXF1aXJlc0ZpbHRlcnNcIiBjbGFzcz1cInJlcXVpcmVkLW9wdGlvblwiPlxyXG4gICAge3sgZmlsdGVyLnJlcXVpcmVkRmlsdGVyTmFtZSB9fVxyXG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbj5SZW1vdmU8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXY+XHJcbiAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiU29ydCgpXCI+U29ydDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cImZpbHRlci1vcHRpb25zLWNvbnRhaW5lclwiPlxyXG4gIDxkaXYgY2RrRHJvcExpc3QgY2xhc3M9XCJpbnB1dC1saXN0XCIgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1pdGVtXCIgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBHZXRGaWx0ZXJPcHRpb25zKClcIiBjZGtEcmFnPlxyXG4gICAgICA8c3BhbiBbbmdDbGFzc109XCJ7J3NlbGVjdGVkJzogb3B0aW9uLmlkID09IEZpbHRlck9wdGlvblZpZXdNb2RlbD8uaWQgfVwiPlxyXG4gICAgICAgIHt7IG9wdGlvbi5uYW1lIH19XHJcbiAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgIDxidXR0b24gKGNsaWNrKT1cIk9wZW4ob3B0aW9uKVwiPlNlbGVjdDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPG1hdC1jYXJkICpuZ0lmPVwiRmlsdGVyT3B0aW9uVmlld01vZGVsICE9IG51bGxcIj5cclxuICA8bWF0LWNhcmQtY29udGVudD5cclxuICAgIDxkaXYgY2xhc3M9XCJkaXNwbGF5ZmxleFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLW9wdGlvbi1uYW1lIGZsZXhhdXRvXCI+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgY2xhc3M9XCJmdWxsLXdpZHRoXCI+XHJcbiAgICAgICAgICA8bWF0LWxhYmVsPk5hbWUgKCN7eyBGaWx0ZXJPcHRpb25WaWV3TW9kZWwuaWQgfX0pPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJGaWx0ZXJPcHRpb25WaWV3TW9kZWwubmFtZVwiPlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJTYXZlRmlsdGVyT3B0aW9uKEZpbHRlck9wdGlvblZpZXdNb2RlbClcIj5TYXZlPC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIlJlbW92ZUZpbHRlck9wdGlvbihGaWx0ZXJPcHRpb25WaWV3TW9kZWwpXCI+UmVtb3ZlPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItbmFtZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4YXV0b1wiPlxyXG4gICAgICAgICAgUmVxdWlyZXNcclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJSZXF1aXJlRmlsdGVyT3B0aW9uRmlsdGVyT3B0aW9uKClcIj5GaWx0ZXJPcHRpb248L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgRmlsdGVyT3B0aW9uVmlld01vZGVsLnJlcXVpcmVkXCIgY2xhc3M9XCJyZXF1aXJlZC1vcHRpb25cIj5cclxuICAgICAgICB7eyBvcHRpb24uZmlsdGVyTmFtZSB9fToge3sgb3B0aW9uLmZpbHRlck9wdGlvbk5hbWUgfX1cclxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJSZW1vdmVSZXF1aXJlRmlsdGVyT3B0aW9uRmlsdGVyT3B0aW9uKG9wdGlvbilcIj5SZW1vdmU8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L21hdC1jYXJkLWNvbnRlbnQ+XHJcbjwvbWF0LWNhcmQ+XHJcblxyXG4iXX0=
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Component } from '@angular/core';
|
|
2
|
+
import { LoginResponseModel, ChangeOrderInputsRequest } from '../../../swagger/SwaggerClient';
|
|
2
3
|
import { moveItemInArray } from '@angular/cdk/drag-drop';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
import * as i1 from "../../../swagger/SwaggerClient";
|
|
@@ -64,7 +65,10 @@ class BeheerFiltersComponent {
|
|
|
64
65
|
for (var i = 0; i < this.InputsViewModel.inputs.length; i++) {
|
|
65
66
|
this.InputsViewModel.inputs[i].position = i;
|
|
66
67
|
}
|
|
67
|
-
|
|
68
|
+
var request = new ChangeOrderInputsRequest();
|
|
69
|
+
request.loginResponseModel = new LoginResponseModel(this.authenticationService.currentUserValue);
|
|
70
|
+
request.inputsViewModel = this.InputsViewModel;
|
|
71
|
+
this.FiltersApiClient.saveInputsViewModel(request).subscribe(() => {
|
|
68
72
|
this.LoadInputs();
|
|
69
73
|
}, (error) => {
|
|
70
74
|
if (error.status == 400)
|
|
@@ -85,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
|
|
|
85
89
|
type: Component,
|
|
86
90
|
args: [{ selector: 'app-beheer-filters', template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"Loading\" class=\"loader\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"InputsViewModel\" class=\"main-content\">\r\n <mat-card>\r\n <mat-card-content>\r\n <button mat-raised-button (click)=\"AddCategory()\">Categorie toevoegen</button>\r\n </mat-card-content>\r\n </mat-card>\r\n <br />\r\n <div class=\"displayflex\">\r\n <div>\r\n <mat-card>\r\n <mat-card-content>\r\n <div cdkDropList class=\"input-list\" (cdkDropListDropped)=\"drop($event)\">\r\n <div class=\"input-item\" *ngFor=\"let input of InputsViewModel.inputs\" cdkDrag>\r\n <ng-container *ngIf=\"input.filter\">\r\n <span [ngClass]=\"{'selected': input.filter?.id == InputViewModel?.filter?.id }\">\r\n {{ input.filter.name }} (#{{ input.filter.id }})\r\n </span>\r\n </ng-container>\r\n <ng-container *ngIf=\"input.range\">\r\n <span [ngClass]=\"{'selected': input.range?.id == InputViewModel?.range?.id }\">\r\n {{ input.range.name }} (#{{ input.range.id }})\r\n </span>\r\n \r\n </ng-container>\r\n <button (click)=\"Open(input)\">Select</button>\r\n </div>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n <div class=\"flexauto\">\r\n <mat-card>\r\n <mat-card-content>\r\n <div *ngIf=\"InputViewModel != undefined\">\r\n <ng-container *ngIf=\"InputViewModel.filter\">\r\n <app-beheer-filter [filter]=\"InputViewModel.filter\" (reload)=\"LoadInputs()\"></app-beheer-filter>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"InputViewModel.range\">\r\n <app-beheer-rangeinput [rangeinput]=\"InputViewModel.range\" (reload)=\"LoadInputs()\"></app-beheer-rangeinput>\r\n </ng-container>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [".displayflex{display:flex;gap:10px}.required-option{border:1px solid #000;border-radius:2px;padding:2px;margin:2px}.loader{position:fixed;z-index:100;width:100%;background-color:#fffa;top:0;height:100%}.AND{border-color:red}.OR{border-color:#0f0}.filter-row{font-size:20px;line-height:30px;margin-bottom:10px}.flexauto{flex:auto}.main-content{padding:10px}.filter-name{font-size:20px;padding:10px;border-bottom:1px solid #000;display:flex}.filter-option:hover{background-color:gray}.filter-options-container{border:1px solid #000;padding:10px;margin:10px}.filter-option{padding:5px;border-bottom:1px solid #000;display:flex;gap:5px}.filter-option-name{flex:auto;line-height:30px;font-size:20px}.selected{font-weight:700}.input-list{max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:white;border-radius:4px;overflow-y:scroll;height:calc(100vH - 188px)}.input-item{padding:5px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:white;font-size:14px}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.input-item:last-child{border:none}.input-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
|
|
87
91
|
}], ctorParameters: function () { return [{ type: i1.FiltersApiClient }, { type: i2.AuthenticationService }, { type: i3.MatLegacyDialog }, { type: i0.ChangeDetectorRef }]; } });
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLWZpbHRlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItZmlsdGVycy9iZWhlZXItZmlsdGVycy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1maWx0ZXJzL2JlaGVlci1maWx0ZXJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXJFLE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7OztBQU10RSxNQUthLHNCQUFzQjtJQVFiO0lBQ1Y7SUFDRDtJQUNDO0lBVEgsT0FBTyxHQUFZLElBQUksQ0FBQztJQUV4QixlQUFlLENBQWtCO0lBRWpDLGNBQWMsR0FBK0IsU0FBUyxDQUFDO0lBRTlELFlBQW9CLGdCQUFrQyxFQUM1QyxxQkFBNEMsRUFDN0MsTUFBaUIsRUFDaEIsaUJBQW9DO1FBSDFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDNUMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM3QyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2hCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7SUFBSSxDQUFDO0lBRW5ELFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksQ0FBQyxLQUE0QjtRQUMvQixJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxJQUFJLElBQUksRUFBRTtZQUN2QyxlQUFlLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxN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QXNEQTs7U0R6Q2Esc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0Usb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZpbHRlcnNBcGlDbGllbnQsIElucHV0c1ZpZXdNb2RlbCwgRmlsdGVyT3B0aW9uUmVxdWlyZWRWaWV3TW9kZWwsIFJhbmdlSW5wdXRGaWx0ZXJPcHRpb25SZXF1aXJlZFZpZXdNb2RlbCwgSW5wdXRWaWV3TW9kZWwsIFNvcnRGaWx0ZXJSZXF1ZXN0LCBGaWx0ZXJPcHRpb25WaWV3TW9kZWwsIFNldEZpbHRlclJlcXVpcmVkUmVxdWVzdCwgU2V0RmlsdGVyT3B0aW9uUmVxdWlyZWRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vc3dhZ2dlci9Td2FnZ2VyQ2xpZW50JztcclxuaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQgeyBNYXRMZWdhY3lEaWFsb2cgYXMgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWRpYWxvZyc7XHJcbmltcG9ydCB7IEJlaGVlclNlbGVjdEZpbHRlckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2JlaGVlci1zZWxlY3QtZmlsdGVyLWRpYWxvZy9iZWhlZXItc2VsZWN0LWZpbHRlci1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyU2VsZWN0RmlsdGVyb3B0aW9uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vYmVoZWVyLXNlbGVjdC1maWx0ZXJvcHRpb24tZGlhbG9nL2JlaGVlci1zZWxlY3QtZmlsdGVyb3B0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWJlaGVlci1maWx0ZXJzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYmVoZWVyLWZpbHRlcnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2JlaGVlci1maWx0ZXJzLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEJlaGVlckZpbHRlcnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBwdWJsaWMgTG9hZGluZzogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIHB1YmxpYyBJbnB1dHNWaWV3TW9kZWw6IElucHV0c1ZpZXdNb2RlbDtcclxuXHJcbiAgcHVibGljIElucHV0Vmlld01vZGVsOiBJbnB1dFZpZXdNb2RlbCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBGaWx0ZXJzQXBpQ2xpZW50OiBGaWx0ZXJzQXBpQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBhdXRoZW50aWNhdGlvblNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSxcclxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgQ2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLkxvYWRJbnB1dHMoKTtcclxuICB9XHJcblxyXG4gIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZ1tdPikge1xyXG4gICAgaWYgKHRoaXMuSW5wdXRzVmlld01vZGVsLmlucHV0cyAhPSBudWxsKSB7XHJcbiAgICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLklucHV0c1ZpZXdNb2RlbC5pbnB1dHMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XHJcblxyXG4gICAgICB0aGlzLlNhdmVJbnB1dHMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBPcGVuKGlucHV0OiBJbnB1dFZpZXdNb2RlbCkge1xyXG4gICAgdGhpcy5JbnB1dFZpZXdNb2RlbCA9IGlucHV0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEFkZENhdGVnb3J5KCk6IHZvaWQge1xyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyBMb2FkSW5wdXRzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5Mb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLkZpbHRlcnNBcGlDbGllbnQuZ2V0SW5wdXRzVmlld01vZGVsKHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmN1cnJlbnRVc2VyVmFsdWUpLnN1YnNjcmliZSgobW9kZWw6IElucHV0c1ZpZXdNb2RlbCkgPT4ge1xyXG4gICAgICB0aGlzLklucHV0c1ZpZXdNb2RlbCA9IG1vZGVsO1xyXG5cclxuICAgICAgaWYgKHRoaXMuSW5wdXRWaWV3TW9kZWwgIT0gbnVsbCAmJiB0aGlzLklucHV0c1ZpZXdNb2RlbC5pbnB1dHMgIT0gbnVsbCkge1xyXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5JbnB1dHNWaWV3TW9kZWwuaW5wdXRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICBpZiAoKHRoaXMuSW5wdXRWaWV3TW9kZWwuZmlsdGVyPy5pZCA9PSB0aGlzLklucHV0c1ZpZXdNb2RlbC5pbnB1dHNbaV0uZmlsdGVyPy5pZCkgJiZcclxuICAgICAgICAgICAgKHRoaXMuSW5wdXRWaWV3TW9kZWwucmFuZ2U/LmlkID09IHRoaXMuSW5wdXRzVmlld01vZGVsLmlucHV0c1tpXS5yYW5nZT8uaWQpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuSW5wdXRWaWV3TW9kZWwgPSB0aGlzLklucHV0c1ZpZXdNb2RlbC5pbnB1dHNbaV07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcclxuICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgYWxlcnQoJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG5cclxuICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgU2F2ZUlucHV0cygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLklucHV0c1ZpZXdNb2RlbC5pbnB1dHMgIT0gbnVsbCkge1xyXG4gICAgICB0aGlzLkxvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLklucHV0c1ZpZXdNb2RlbC5pbnB1dHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICB0aGlzLklucHV0c1ZpZXdNb2RlbC5pbnB1dHNbaV0ucG9zaXRpb24gPSBpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBcclxuXHJcbiAgICAgIHRoaXMuRmlsdGVyc0FwaUNsaWVudC5zYXZlSW5wdXRzVmlld01vZGVsKHRoaXMuSW5wdXRzVmlld01vZGVsKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuTG9hZElucHV0cygpO1xyXG4gICAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8YXBwLWJlaGVlci1uYXY+PC9hcHAtYmVoZWVyLW5hdj5cclxuXHJcbjxkaXYgKm5nSWY9XCJMb2FkaW5nXCIgY2xhc3M9XCJsb2FkZXJcIj5cclxuICA8YXBwLWZhYi1sb2FkZXI+PC9hcHAtZmFiLWxvYWRlcj5cclxuPC9kaXY+XHJcblxyXG48ZGl2ICpuZ0lmPVwiSW5wdXRzVmlld01vZGVsXCIgY2xhc3M9XCJtYWluLWNvbnRlbnRcIj5cclxuICA8bWF0LWNhcmQ+XHJcbiAgICA8bWF0LWNhcmQtY29udGVudD5cclxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiQWRkQ2F0ZWdvcnkoKVwiPkNhdGVnb3JpZSB0b2V2b2VnZW48L2J1dHRvbj5cclxuICAgIDwvbWF0LWNhcmQtY29udGVudD5cclxuICA8L21hdC1jYXJkPlxyXG4gIDxiciAvPlxyXG4gIDxkaXYgY2xhc3M9XCJkaXNwbGF5ZmxleFwiPlxyXG4gICAgPGRpdj5cclxuICAgICAgPG1hdC1jYXJkPlxyXG4gICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICAgICAgPGRpdiBjZGtEcm9wTGlzdCBjbGFzcz1cImlucHV0LWxpc3RcIiAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtaXRlbVwiICpuZ0Zvcj1cImxldCBpbnB1dCBvZiBJbnB1dHNWaWV3TW9kZWwuaW5wdXRzXCIgY2RrRHJhZz5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW5wdXQuZmlsdGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJ7J3NlbGVjdGVkJzogaW5wdXQuZmlsdGVyPy5pZCA9PSBJbnB1dFZpZXdNb2RlbD8uZmlsdGVyPy5pZCB9XCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7IGlucHV0LmZpbHRlci5uYW1lIH19ICgje3sgaW5wdXQuZmlsdGVyLmlkIH19KVxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbnB1dC5yYW5nZVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwieydzZWxlY3RlZCc6IGlucHV0LnJhbmdlPy5pZCA9PSBJbnB1dFZpZXdNb2RlbD8ucmFuZ2U/LmlkIH1cIj5cclxuICAgICAgICAgICAgICAgICAge3sgaW5wdXQucmFuZ2UubmFtZSB9fSAoI3t7IGlucHV0LnJhbmdlLmlkIH19KVxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiT3BlbihpbnB1dClcIj5TZWxlY3Q8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgIDwvbWF0LWNhcmQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4YXV0b1wiPlxyXG4gICAgICA8bWF0LWNhcmQ+XHJcbiAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgICAgIDxkaXYgKm5nSWY9XCJJbnB1dFZpZXdNb2RlbCAhPSB1bmRlZmluZWRcIj5cclxuICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiSW5wdXRWaWV3TW9kZWwuZmlsdGVyXCI+XHJcbiAgICAgICAgICAgICA8YXBwLWJlaGVlci1maWx0ZXIgW2ZpbHRlcl09XCJJbnB1dFZpZXdNb2RlbC5maWx0ZXJcIiAocmVsb2FkKT1cIkxvYWRJbnB1dHMoKVwiPjwvYXBwLWJlaGVlci1maWx0ZXI+XHJcbiAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJJbnB1dFZpZXdNb2RlbC5yYW5nZVwiPlxyXG4gICAgICAgICAgICA8YXBwLWJlaGVlci1yYW5nZWlucHV0IFtyYW5nZWlucHV0XT1cIklucHV0Vmlld01vZGVsLnJhbmdlXCIgKHJlbG9hZCk9XCJMb2FkSW5wdXRzKClcIj48L2FwcC1iZWhlZXItcmFuZ2VpbnB1dD5cclxuICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICA8L21hdC1jYXJkPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuIl19
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLWZpbHRlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItZmlsdGVycy9iZWhlZXItZmlsdGVycy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1maWx0ZXJzL2JlaGVlci1maWx0ZXJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBaU8sa0JBQWtCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3VCxPQUFPLEVBQWUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFNdEUsTUFLYSxzQkFBc0I7SUFRYjtJQUNWO0lBQ0Q7SUFDQztJQVRILE9BQU8sR0FBWSxJQUFJLENBQUM7SUFFeEIsZUFBZSxDQUFrQjtJQUVqQyxjQUFjLEdBQStCLFNBQVMsQ0FBQztJQUU5RCxZQUFvQixnQkFBa0MsRUFDNUMscUJBQTRDLEVBQzdDLE1BQWlCLEVBQ2hCLGlCQUFvQztRQUgxQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQzVDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDN0MsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNoQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO0lBQUksQ0FBQztJQUVuRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLENBQUMsS0FBNEI7UUFDL0IsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sSUFBSSxJQUFJLEVBQUU7WUFDdkMsZUFBZSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBRXRGLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNuQjtJQUNILENBQUM7SUFFTSxJQUFJLENBQUMsS0FBcUI7UUFDL0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUVNLFdBQVc7SUFFbEIsQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUVwQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGdCQUFnQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBc0IsRUFBRSxFQUFFO1lBQ3pILElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1lBRTdCLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFFO2dCQUN0RSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUMzRCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7d0JBQy9FLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRTt3QkFDN0UsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztxQkFDdEQ7aUJBQ0Y7YUFDRjtZQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUMsRUFBRSxDQUFDLEtBQWUsRUFBRSxFQUFFO1lBQ3JCLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1lBRXJDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFVBQVU7UUFDaEIsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sSUFBSSxJQUFJLEVBQUU7WUFDdkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFFcEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDM0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQzthQUM3QztZQUVELElBQUksT0FBTyxHQUFHLElBQUksd0JBQXdCLEVBQUUsQ0FBQztZQUU3QyxPQUFPLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUNqRyxPQUFPLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7WUFFL0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2hFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixDQUFDLEVBQUUsQ0FBQyxLQUFlLEVBQUUsRUFBRTtnQkFDckIsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUc7b0JBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7cUJBQ3ZCO29CQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQztvQkFDM0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDcEI7Z0JBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDdkIsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7dUdBbEZVLHNCQUFzQjsyRkFBdEIsc0JBQXNCLDBEQ2JuQyw2akVBc0RBOztTRHpDYSxzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRmlsdGVyc0FwaUNsaWVudCwgSW5wdXRzVmlld01vZGVsLCBGaWx0ZXJPcHRpb25SZXF1aXJlZFZpZXdNb2RlbCwgUmFuZ2VJbnB1dEZpbHRlck9wdGlvblJlcXVpcmVkVmlld01vZGVsLCBJbnB1dFZpZXdNb2RlbCwgU29ydEZpbHRlclJlcXVlc3QsIEZpbHRlck9wdGlvblZpZXdNb2RlbCwgU2V0RmlsdGVyUmVxdWlyZWRSZXF1ZXN0LCBTZXRGaWx0ZXJPcHRpb25SZXF1aXJlZFJlcXVlc3QsIExvZ2luUmVzcG9uc2VNb2RlbCwgQ2hhbmdlT3JkZXJJbnB1dHNSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vc3dhZ2dlci9Td2FnZ2VyQ2xpZW50JztcclxuaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQgeyBNYXRMZWdhY3lEaWFsb2cgYXMgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWRpYWxvZyc7XHJcbmltcG9ydCB7IEJlaGVlclNlbGVjdEZpbHRlckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2JlaGVlci1zZWxlY3QtZmlsdGVyLWRpYWxvZy9iZWhlZXItc2VsZWN0LWZpbHRlci1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyU2VsZWN0RmlsdGVyb3B0aW9uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vYmVoZWVyLXNlbGVjdC1maWx0ZXJvcHRpb24tZGlhbG9nL2JlaGVlci1zZWxlY3QtZmlsdGVyb3B0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWJlaGVlci1maWx0ZXJzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYmVoZWVyLWZpbHRlcnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2JlaGVlci1maWx0ZXJzLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEJlaGVlckZpbHRlcnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBwdWJsaWMgTG9hZGluZzogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIHB1YmxpYyBJbnB1dHNWaWV3TW9kZWw6IElucHV0c1ZpZXdNb2RlbDtcclxuXHJcbiAgcHVibGljIElucHV0Vmlld01vZGVsOiBJbnB1dFZpZXdNb2RlbCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBGaWx0ZXJzQXBpQ2xpZW50OiBGaWx0ZXJzQXBpQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBhdXRoZW50aWNhdGlvblNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSxcclxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgQ2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLkxvYWRJbnB1dHMoKTtcclxuICB9XHJcblxyXG4gIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZ1tdPikge1xyXG4gICAgaWYgKHRoaXMuSW5wdXRzVmlld01vZGVsLmlucHV0cyAhPSBudWxsKSB7XHJcbiAgICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLklucHV0c1ZpZXdNb2RlbC5pbnB1dHMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XHJcblxyXG4gICAgICB0aGlzLlNhdmVJbnB1dHMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBPcGVuKGlucHV0OiBJbnB1dFZpZXdNb2RlbCkge1xyXG4gICAgdGhpcy5JbnB1dFZpZXdNb2RlbCA9IGlucHV0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEFkZENhdGVnb3J5KCk6IHZvaWQge1xyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyBMb2FkSW5wdXRzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5Mb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLkZpbHRlcnNBcGlDbGllbnQuZ2V0SW5wdXRzVmlld01vZGVsKHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmN1cnJlbnRVc2VyVmFsdWUpLnN1YnNjcmliZSgobW9kZWw6IElucHV0c1ZpZXdNb2RlbCkgPT4ge1xyXG4gICAgICB0aGlzLklucHV0c1ZpZXdNb2RlbCA9IG1vZGVsO1xyXG5cclxuICAgICAgaWYgKHRoaXMuSW5wdXRWaWV3TW9kZWwgIT0gbnVsbCAmJiB0aGlzLklucHV0c1ZpZXdNb2RlbC5pbnB1dHMgIT0gbnVsbCkge1xyXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5JbnB1dHNWaWV3TW9kZWwuaW5wdXRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICBpZiAoKHRoaXMuSW5wdXRWaWV3TW9kZWwuZmlsdGVyPy5pZCA9PSB0aGlzLklucHV0c1ZpZXdNb2RlbC5pbnB1dHNbaV0uZmlsdGVyPy5pZCkgJiZcclxuICAgICAgICAgICAgKHRoaXMuSW5wdXRWaWV3TW9kZWwucmFuZ2U/LmlkID09IHRoaXMuSW5wdXRzVmlld01vZGVsLmlucHV0c1tpXS5yYW5nZT8uaWQpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuSW5wdXRWaWV3TW9kZWwgPSB0aGlzLklucHV0c1ZpZXdNb2RlbC5pbnB1dHNbaV07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcclxuICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgYWxlcnQoJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG5cclxuICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgU2F2ZUlucHV0cygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLklucHV0c1ZpZXdNb2RlbC5pbnB1dHMgIT0gbnVsbCkge1xyXG4gICAgICB0aGlzLkxvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLklucHV0c1ZpZXdNb2RlbC5pbnB1dHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICB0aGlzLklucHV0c1ZpZXdNb2RlbC5pbnB1dHNbaV0ucG9zaXRpb24gPSBpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB2YXIgcmVxdWVzdCA9IG5ldyBDaGFuZ2VPcmRlcklucHV0c1JlcXVlc3QoKTtcclxuXHJcbiAgICAgIHJlcXVlc3QubG9naW5SZXNwb25zZU1vZGVsID0gbmV3IExvZ2luUmVzcG9uc2VNb2RlbCh0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5jdXJyZW50VXNlclZhbHVlKTtcclxuICAgICAgcmVxdWVzdC5pbnB1dHNWaWV3TW9kZWwgPSB0aGlzLklucHV0c1ZpZXdNb2RlbDtcclxuXHJcbiAgICAgIHRoaXMuRmlsdGVyc0FwaUNsaWVudC5zYXZlSW5wdXRzVmlld01vZGVsKHJlcXVlc3QpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5Mb2FkSW5wdXRzKCk7XHJcbiAgICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwMClcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yLmpzb24oKSk7XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZygnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxhcHAtYmVoZWVyLW5hdj48L2FwcC1iZWhlZXItbmF2PlxyXG5cclxuPGRpdiAqbmdJZj1cIkxvYWRpbmdcIiBjbGFzcz1cImxvYWRlclwiPlxyXG4gIDxhcHAtZmFiLWxvYWRlcj48L2FwcC1mYWItbG9hZGVyPlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgKm5nSWY9XCJJbnB1dHNWaWV3TW9kZWxcIiBjbGFzcz1cIm1haW4tY29udGVudFwiPlxyXG4gIDxtYXQtY2FyZD5cclxuICAgIDxtYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJBZGRDYXRlZ29yeSgpXCI+Q2F0ZWdvcmllIHRvZXZvZWdlbjwvYnV0dG9uPlxyXG4gICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gIDwvbWF0LWNhcmQ+XHJcbiAgPGJyIC8+XHJcbiAgPGRpdiBjbGFzcz1cImRpc3BsYXlmbGV4XCI+XHJcbiAgICA8ZGl2PlxyXG4gICAgICA8bWF0LWNhcmQ+XHJcbiAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgICAgICA8ZGl2IGNka0Ryb3BMaXN0IGNsYXNzPVwiaW5wdXQtbGlzdFwiIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1pdGVtXCIgKm5nRm9yPVwibGV0IGlucHV0IG9mIElucHV0c1ZpZXdNb2RlbC5pbnB1dHNcIiBjZGtEcmFnPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbnB1dC5maWx0ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cInsnc2VsZWN0ZWQnOiBpbnB1dC5maWx0ZXI/LmlkID09IElucHV0Vmlld01vZGVsPy5maWx0ZXI/LmlkIH1cIj5cclxuICAgICAgICAgICAgICAgICAge3sgaW5wdXQuZmlsdGVyLm5hbWUgfX0gKCN7eyBpbnB1dC5maWx0ZXIuaWQgfX0pXHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlucHV0LnJhbmdlXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJ7J3NlbGVjdGVkJzogaW5wdXQucmFuZ2U/LmlkID09IElucHV0Vmlld01vZGVsPy5yYW5nZT8uaWQgfVwiPlxyXG4gICAgICAgICAgICAgICAgICB7eyBpbnB1dC5yYW5nZS5uYW1lIH19ICgje3sgaW5wdXQucmFuZ2UuaWQgfX0pXHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJPcGVuKGlucHV0KVwiPlNlbGVjdDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cclxuICAgICAgPC9tYXQtY2FyZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXhhdXRvXCI+XHJcbiAgICAgIDxtYXQtY2FyZD5cclxuICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cclxuICAgICAgICAgPGRpdiAqbmdJZj1cIklucHV0Vmlld01vZGVsICE9IHVuZGVmaW5lZFwiPlxyXG4gICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJJbnB1dFZpZXdNb2RlbC5maWx0ZXJcIj5cclxuICAgICAgICAgICAgIDxhcHAtYmVoZWVyLWZpbHRlciBbZmlsdGVyXT1cIklucHV0Vmlld01vZGVsLmZpbHRlclwiIChyZWxvYWQpPVwiTG9hZElucHV0cygpXCI+PC9hcHAtYmVoZWVyLWZpbHRlcj5cclxuICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIklucHV0Vmlld01vZGVsLnJhbmdlXCI+XHJcbiAgICAgICAgICAgIDxhcHAtYmVoZWVyLXJhbmdlaW5wdXQgW3JhbmdlaW5wdXRdPVwiSW5wdXRWaWV3TW9kZWwucmFuZ2VcIiAocmVsb2FkKT1cIkxvYWRJbnB1dHMoKVwiPjwvYXBwLWJlaGVlci1yYW5nZWlucHV0PlxyXG4gICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgIDwvbWF0LWNhcmQ+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG4iXX0=
|
|
@@ -293,4 +293,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
|
|
|
293
293
|
type: ViewChild,
|
|
294
294
|
args: ['tablediv']
|
|
295
295
|
}] } });
|
|
296
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXRyYW5zbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci10cmFuc2xhdGUvYmVoZWVyLXRyYW5zbGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci10cmFuc2xhdGUvYmVoZWVyLXRyYW5zbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBeUQsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTWxKLE9BQU8sRUFBZ0csbUNBQW1DLEVBQXFELG1CQUFtQixFQUF3QixrQkFBa0IsRUFBRSxpQkFBaUIsRUFBcUQsbUJBQW1CLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV4WixNQU1hLHdCQUF3QjtJQTZDekI7SUFDQTtJQUNBO0lBQ0E7SUEvQ0gsT0FBTyxHQUFZLElBQUksQ0FBQztJQUN4QixXQUFXLEdBQVksS0FBSyxDQUFDO0lBQzdCLHdCQUF3QixDQUEyQjtJQUNuRCxVQUFVLEdBQStDLElBQUksS0FBSyxFQUF1QyxDQUFDO0lBRTFHLFNBQVMsR0FBVyxDQUFDLENBQUM7SUFDdEIsWUFBWSxHQUFXLENBQUMsQ0FBQztJQUN6QixhQUFhLEdBQVcsRUFBRSxDQUFDO0lBRWxDLElBQVcsbUJBQW1CO1FBQzVCLE9BQU8sbUJBQW1CLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsc0JBQXNCO1FBQy9CLE9BQU8sc0JBQXNCLENBQUM7SUFDaEMsQ0FBQztJQUVNLHdDQUF3QyxHQUE0QyxJQUFJLENBQUM7SUFDekYsK0JBQStCLEdBQW1DLElBQUksQ0FBQztJQUV2RCxRQUFRLENBQWE7SUFFNUMsWUFBWSxHQUF3QjtRQUNsQyxRQUFRLEVBQUUsSUFBSTtRQUNkLFVBQVUsRUFBRSxLQUFLO1FBQ2pCLE1BQU0sRUFBRSxNQUFNO1FBQ2QsU0FBUyxFQUFFLEdBQUc7UUFDZCxTQUFTLEVBQUUsTUFBTTtRQUNqQixLQUFLLEVBQUUsTUFBTTtRQUNiLFFBQVEsRUFBRSxHQUFHO1FBQ2IsU0FBUyxFQUFFLElBQUk7UUFDZixhQUFhLEVBQUUsSUFBSTtRQUNuQixXQUFXLEVBQUUsSUFBSTtRQUNqQix5QkFBeUIsRUFBRSxFQUFFO1FBQzdCLGVBQWUsRUFBRSxFQUFFO1FBQ25CLGVBQWUsRUFBRSxFQUFFO1FBQ25CLFFBQVEsRUFBRSxJQUFJO1FBQ2QsZUFBZSxFQUFFLEtBQUs7UUFDdEIsb0JBQW9CLEVBQUU7WUFDcEIsQ0FBQyxVQUFVLENBQUM7U0FDYjtLQUNGLENBQUM7SUFFRixZQUNVLGtCQUFzQyxFQUN0QyxxQkFBNEMsRUFDNUMsUUFBcUIsRUFDckIsaUJBQW9DO1FBSHBDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ3JCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7SUFBSSxDQUFDO0lBRW5ELFNBQVM7UUFDUCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFVO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsZUFBZSxDQUFDLENBQVk7UUFDMUIscUJBQXFCO1FBQ3JCLHlCQUF5QjtRQUN6Qiw2QkFBNkI7UUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBRTdCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLEtBQUssRUFBdUMsQ0FBQztRQUVuRSxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDckQsSUFBSSxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDekQsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDO1FBRW5CLElBQUksSUFBSSxDQUFDLHdDQUF3QyxJQUFJLElBQUksRUFBRTtZQUV6RCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsd0NBQXdDLENBQUMsYUFBYSxDQUFDO1lBRTFFLElBQUksT0FBTyxJQUFJLElBQUksRUFBRTtnQkFDbkIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7b0JBQ3ZDLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7b0JBRTNCLElBQUksSUFBSSxJQUFJLElBQUksRUFBRTt3QkFFaEIsSUFBSSxNQUFNLEdBQStDLElBQUksQ0FBQzt3QkFFOUQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7NEJBRXBDLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxVQUFVLElBQUksSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0NBQ3RHLElBQUksTUFBTSxJQUFJLElBQUksRUFBRTtvQ0FDbEIsTUFBTSxHQUFHLElBQUksbUNBQW1DLEVBQUUsQ0FBQztvQ0FDbkQsTUFBTSxDQUFDLHNCQUFzQixHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQztvQ0FDbEUsTUFBTSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO29DQUM5QixNQUFNLENBQUMsSUFBSSxHQUFHLElBQUksS0FBSyxFQUErQixDQUFDO29DQUV2RCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztvQ0FDN0IsVUFBVSxFQUFFLENBQUM7aUNBQ2Q7Z0NBRUQsSUFBSSxNQUFNLEVBQUUsSUFBSSxJQUFJLElBQUksRUFBRTtvQ0FDeEIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7aUNBQzNCOzZCQUNGOzRCQUVELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQzt5QkFDckI7cUJBQ0Y7b0JBRUQsbUNBQW1DO29CQUVuQyx3QkFBd0I7b0JBRXhCLGtFQUFrRTtvQkFFbEUsOENBQThDO29CQUM5Qyx1Q0FBdUM7b0JBQ3ZDLG9FQUFvRTtvQkFFcEUsNEJBQTRCO29CQUM1QixrREFBa0Q7b0JBQ2xELG1IQUFtSDtvQkFDbkgsaUNBQWlDO29CQUNqQyxpRUFBaUU7b0JBQ2pFLGdGQUFnRjtvQkFDaEYsNENBQTRDO29CQUM1QyxxRUFBcUU7b0JBQ3JFLDJFQUEyRTtvQkFFM0UsMkNBQTJDO29CQUMzQyxhQUFhO29CQUViLGlFQUFpRTtvQkFDakUsMkVBQTJFO29CQUMzRSw2RUFBNkU7b0JBQzdFLCtDQUErQztvQkFDL0MsMkJBQTJCO29CQUMzQixhQUFhO29CQUViLCtDQUErQztvQkFDL0MsbURBQW1EO29CQUNuRCwyQkFBMkI7b0JBQzNCLGFBQWE7b0JBQ2IsV0FBVztvQkFFWCw4QkFBOEI7b0JBQzlCLFNBQVM7b0JBQ1QsT0FBTztvQkFDUCxLQUFLO29CQUNMLEdBQUc7aUJBQ0o7YUFDRjtTQUNGO1FBRUQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxZQUFZLElBQUksSUFBSSxFQUFFO1lBQ3RELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFO2dCQUNqQixJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxFQUFFO29CQUMzQixJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztvQkFFdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxZQUFZLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO29CQUUvRixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztpQkFDekI7YUFDRjtpQkFDSTtnQkFDSCxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUU1RixJQUFJLFNBQVMsR0FBRyxDQUFDLEVBQUU7b0JBQ2pCLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxTQUFTLEVBQUU7d0JBQ25DLElBQUksQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDO3dCQUUvQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztxQkFDekI7aUJBQ0Y7YUFDRjtTQUNGO0lBQ0gsQ0FBQztJQUVNLFFBQVEsQ0FBQyxPQUF3QyxFQUFFLFFBQWlDO1FBQ3pGLElBQUksT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLEVBQUU7WUFDM0IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3ZDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsSUFBSSxRQUFRLENBQUMsRUFBRSxFQUFFO29CQUN4QyxPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDbkI7YUFDRjtTQUNGO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsaUJBQW9DO1FBRTFELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRWxDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUErQixFQUFFLEVBQUU7WUFDN0ksSUFBSSxDQUFDLHdCQUF3QixHQUFHLEtBQUssQ0FBQztZQUV0QyxJQUFJLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxVQUFVLElBQUksSUFBSSxFQUFFO2dCQUNwRCxJQUFJLENBQUMsd0NBQXdDLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDNUYsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7YUFDekI7WUFFRCxJQUFJLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxTQUFTLElBQUksSUFBSSxFQUFFO2dCQUNuRCxJQUFJLENBQUMsK0JBQStCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDbEYsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7YUFDekI7WUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUVyQixpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNwQyxDQUFDLEVBQUUsQ0FBQyxLQUFlLEVBQUUsRUFBRTtZQUNyQixJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRztnQkFDckIsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2lCQUNqQjtnQkFDSCxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztnQkFDckMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ2Q7WUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxJQUFJO1FBQ1QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRXZDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXZILElBQUksQ0FBQyxrQkFBa0IsQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2pHLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1lBQ3pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN6QyxDQUFDLEVBQUUsQ0FBQyxLQUFlLEVBQUUsRUFBRTtZQUNyQixLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztZQUVyQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sYUFBYSxDQUFDLEtBQW9DO1FBQ3ZELEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBRXJCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUV4QixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUU3RCxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDOUIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2QsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxPQUFPLEdBQUcsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1FBR3hDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBMkIsRUFBRSxFQUFFO1lBQ3RGLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFbkIsQ0FBQyxFQUFFLENBQUMsS0FBZSxFQUFFLEVBQUU7WUFDckIsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUc7Z0JBQ3JCLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztpQkFDakI7Z0JBQ0gsS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7Z0JBQ3JDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNkO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksT0FBTyxHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQztRQUd0QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFFM0QsQ0FBQyxFQUFFLENBQUMsS0FBZSxFQUFFLEVBQUU7WUFDckIsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUc7Z0JBQ3JCLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztpQkFDakI7Z0JBQ0gsS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7Z0JBQ3JDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNkO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksSUFBSSxDQUFDLHdDQUF3QyxJQUFJLElBQUksRUFBRTtZQUN6RCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsd0NBQXdDLENBQUMsYUFBYSxDQUFDO1lBRTFFLElBQUksT0FBTyxJQUFJLElBQUksRUFBRTtnQkFDbkIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7b0JBQ3ZDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7d0JBQ2pCLE9BQU8sSUFBSSxDQUFDO2lCQUNmO2FBQ0Y7U0FDRjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLGdCQUFnQjtRQUNyQixJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDZCxJQUFJLElBQUksQ0FBQyx3QkFBd0IsSUFBSSxJQUFJLEVBQUU7WUFDekMsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFNBQVMsQ0FBQztZQUV4RCxJQUFJLFNBQVMsSUFBSSxJQUFJLEVBQUU7Z0JBQ3JCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUN6QyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRO3dCQUN2QixLQUFLLEVBQUUsQ0FBQztpQkFDWDthQUNGO1NBQ0Y7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7dUdBMVVVLHdCQUF3QjsyRkFBeEIsd0JBQXdCLGtLQ2RyQywyblFBb0tBOztTRHRKYSx3QkFBd0I7MkZBQXhCLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDRSxzQkFBc0IsaUJBR2pCLGlCQUFpQixDQUFDLElBQUk7Nk1BdUJkLFFBQVE7c0JBQTlCLFNBQVM7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIERvQ2hlY2ssIEVsZW1lbnRSZWYsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExlZ2FjeVBhZ2VFdmVudCBhcyBQYWdlRXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgTWF0TGVnYWN5U25hY2tCYXIgYXMgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktc25hY2stYmFyJztcclxuaW1wb3J0IHsgQW5ndWxhckVkaXRvckNvbmZpZyB9IGZyb20gJ0Brb2xrb3YvYW5ndWxhci1lZGl0b3InO1xyXG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmVoZWVyTGFuZ3VhZ2VzQ2F0ZWdvcnlWaWV3TW9kZWwsIEJlaGVlckxhbmd1YWdlc0VudHJ5Vmlld01vZGVsLCBCZWhlZXJMYW5ndWFnZXNLZXlWaWV3TW9kZWwsIEJlaGVlckxhbmd1YWdlc1N1YkNhdGVnb3J5Vmlld01vZGVsLCBCZWhlZXJMYW5ndWFnZXNWaWV3TW9kZWwsIEJlaGVlckxhbmd1YWdlVmlld01vZGVsLCBDcmVhdGVFeHBvcnRSZXF1ZXN0LCBDcmVhdGVFeHBvcnRSZXNwb25zZSwgTG9naW5SZXNwb25zZU1vZGVsLCBSZWFkRXhwb3J0UmVxdWVzdCwgVHJhbnNsYXRlQXBpQ2xpZW50LCBUcmFuc2xhdGVLZXlDYXRlZ29yeVZpZXdNb2RlbCwgVHJhbnNsYXRpb25DYXRlZ29yeSwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeSB9IGZyb20gJy4uLy4uLy4uL3N3YWdnZXIvU3dhZ2dlckNsaWVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1iZWhlZXItdHJhbnNsYXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYmVoZWVyLXRyYW5zbGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYmVoZWVyLXRyYW5zbGF0ZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIEJlaGVlclRyYW5zbGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgRG9DaGVjayB7XHJcbiAgcHVibGljIExvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBPcGVuQ2hhbmdlczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBCZWhlZXJMYW5ndWFnZXNWaWV3TW9kZWw6IEJlaGVlckxhbmd1YWdlc1ZpZXdNb2RlbDtcclxuICBwdWJsaWMgQWN0aXZlU3ViczogQXJyYXk8QmVoZWVyTGFuZ3VhZ2VzU3ViQ2F0ZWdvcnlWaWV3TW9kZWw+ID0gbmV3IEFycmF5PEJlaGVlckxhbmd1YWdlc1N1YkNhdGVnb3J5Vmlld01vZGVsPigpO1xyXG5cclxuICBwdWJsaWMgcGFnZUluZGV4OiBudW1iZXIgPSAwO1xyXG4gIHB1YmxpYyBhbW91bnRMZW5ndGg6IG51bWJlciA9IDA7XHJcbiAgcHVibGljIGFtb3VudFBlclBhZ2U6IG51bWJlciA9IDEwO1xyXG5cclxuICBwdWJsaWMgZ2V0IFRyYW5zbGF0aW9uQ2F0ZWdvcnkoKSB7XHJcbiAgICByZXR1cm4gVHJhbnNsYXRpb25DYXRlZ29yeTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgVHJhbnNsYXRpb25TdWJDYXRlZ29yeSgpIHtcclxuICAgIHJldHVybiBUcmFuc2xhdGlvblN1YkNhdGVnb3J5O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNlbGVjdGVkQmVoZWVyTGFuZ3VhZ2VzQ2F0ZWdvcnlWaWV3TW9kZWw6IEJlaGVlckxhbmd1YWdlc0NhdGVnb3J5Vmlld01vZGVsIHwgbnVsbCA9IG51bGw7XHJcbiAgcHVibGljIFNlbGVjdGVkQmVoZWVyTGFuZ3VhZ2VWaWV3TW9kZWw6IEJlaGVlckxhbmd1YWdlVmlld01vZGVsIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3RhYmxlZGl2JykgdGFibGVkaXY6IEVsZW1lbnRSZWY7XHJcblxyXG4gIGVkaXRvckNvbmZpZzogQW5ndWxhckVkaXRvckNvbmZpZyA9IHtcclxuICAgIGVkaXRhYmxlOiB0cnVlLFxyXG4gICAgc3BlbGxjaGVjazogZmFsc2UsXHJcbiAgICBoZWlnaHQ6ICdhdXRvJyxcclxuICAgIG1pbkhlaWdodDogJzAnLFxyXG4gICAgbWF4SGVpZ2h0OiAnYXV0bycsXHJcbiAgICB3aWR0aDogJ2F1dG8nLFxyXG4gICAgbWluV2lkdGg6ICcwJyxcclxuICAgIHRyYW5zbGF0ZTogJ25vJyxcclxuICAgIGVuYWJsZVRvb2xiYXI6IHRydWUsXHJcbiAgICBzaG93VG9vbGJhcjogdHJ1ZSxcclxuICAgIGRlZmF1bHRQYXJhZ3JhcGhTZXBhcmF0b3I6ICcnLFxyXG4gICAgZGVmYXVsdEZvbnROYW1lOiAnJyxcclxuICAgIGRlZmF1bHRGb250U2l6ZTogJycsXHJcbiAgICBzYW5pdGl6ZTogdHJ1ZSxcclxuICAgIHRvb2xiYXJQb3NpdGlvbjogJ3RvcCcsXHJcbiAgICB0b29sYmFySGlkZGVuQnV0dG9uczogW1xyXG4gICAgICBbJ2ZvbnROYW1lJ11cclxuICAgIF1cclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgVHJhbnNsYXRlQXBpQ2xpZW50OiBUcmFuc2xhdGVBcGlDbGllbnQsXHJcbiAgICBwcml2YXRlIGF1dGhlbnRpY2F0aW9uU2VydmljZTogQXV0aGVudGljYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzbmFja0JhcjogTWF0U25hY2tCYXIsXHJcbiAgICBwcml2YXRlIENoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XHJcblxyXG4gIG5nRG9DaGVjaygpOiB2b2lkIHtcclxuICAgIHRoaXMuUmVzaXplKCk7XHJcbiAgfVxyXG5cclxuICBvblJlc2l6ZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLlJlc2l6ZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLkxvYWRUcmFuc2xhdGlvbnModGhpcy5DaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVQYWdlRXZlbnQoZTogUGFnZUV2ZW50KSB7XHJcbiAgICAvL3RoaXMucGFnZUV2ZW50ID0gZTtcclxuICAgIC8vdGhpcy5sZW5ndGggPSBlLmxlbmd0aDtcclxuICAgIC8vdGhpcy5wYWdlU2l6ZSA9IGUucGFnZVNpemU7XHJcbiAgICB0aGlzLnBhZ2VJbmRleCA9IGUucGFnZUluZGV4O1xyXG5cclxuICAgIHRoaXMuUmVmcmVzaFBhZ2luYXRvcigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFJlZnJlc2hQYWdpbmF0b3IoKTogdm9pZCB7XHJcbiAgICB0aGlzLmFtb3VudExlbmd0aCA9IDA7XHJcbiAgICB0aGlzLkFjdGl2ZVN1YnMgPSBuZXcgQXJyYXk8QmVoZWVyTGFuZ3VhZ2VzU3ViQ2F0ZWdvcnlWaWV3TW9kZWw+KCk7XHJcblxyXG4gICAgdmFyIHN0YXJ0SW5kZXggPSB0aGlzLnBhZ2VJbmRleCAqIHRoaXMuYW1vdW50UGVyUGFnZTtcclxuICAgIHZhciBlbmRJbmRleCA9ICh0aGlzLnBhZ2VJbmRleCArIDEpICogdGhpcy5hbW91bnRQZXJQYWdlO1xyXG4gICAgdmFyIGl0ZW1zYWRkZWQgPSAwO1xyXG5cclxuICAgIGlmICh0aGlzLlNlbGVjdGVkQmVoZWVyTGFuZ3VhZ2VzQ2F0ZWdvcnlWaWV3TW9kZWwgIT0gbnVsbCkge1xyXG5cclxuICAgICAgdmFyIHN1YmNhdHMgPSB0aGlzLlNlbGVjdGVkQmVoZWVyTGFuZ3VhZ2VzQ2F0ZWdvcnlWaWV3TW9kZWwuc3ViQ2F0ZWdvcmllcztcclxuXHJcbiAgICAgIGlmIChzdWJjYXRzICE9IG51bGwpIHtcclxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN1YmNhdHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIHZhciBrZXlzID0gc3ViY2F0c1tpXS5rZXlzO1xyXG5cclxuICAgICAgICAgIGlmIChrZXlzICE9IG51bGwpIHtcclxuXHJcbiAgICAgICAgICAgIHZhciBzdWJjYXQ6IEJlaGVlckxhbmd1YWdlc1N1YkNhdGVnb3J5Vmlld01vZGVsIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGtleXMubGVuZ3RoOyBqKyspIHtcclxuXHJcbiAgICAgICAgICAgICAgaWYgKHRoaXMuYW1vdW50TGVuZ3RoID49IHN0YXJ0SW5kZXggJiYgdGhpcy5hbW91bnRMZW5ndGggPCBlbmRJbmRleCAmJiBpdGVtc2FkZGVkIDwgdGhpcy5hbW91bnRQZXJQYWdlKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoc3ViY2F0ID09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgc3ViY2F0ID0gbmV3IEJlaGVlckxhbmd1YWdlc1N1YkNhdGVnb3J5Vmlld01vZGVsKCk7XHJcbiAgICAgICAgICAgICAgICAgIHN1YmNhdC50cmFuc2xhdGlvblN1YkNhdGVnb3J5ID0gc3ViY2F0c1tpXS50cmFuc2xhdGlvblN1YkNhdGVnb3J5O1xyXG4gICAgICAgICAgICAgICAgICBzdWJjYXQuaHRtbCA9IHN1YmNhdHNbaV0uaHRtbDtcclxuICAgICAgICAgICAgICAgICAgc3ViY2F0LmtleXMgPSBuZXcgQXJyYXk8QmVoZWVyTGFuZ3VhZ2VzS2V5Vmlld01vZGVsPigpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgdGhpcy5BY3RpdmVTdWJzLnB1c2goc3ViY2F0KTtcclxuICAgICAgICAgICAgICAgICAgaXRlbXNhZGRlZCsrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmIChzdWJjYXQ/LmtleXMgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICBzdWJjYXQua2V5cy5wdXNoKGtleXNbal0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgdGhpcy5hbW91bnRMZW5ndGgrKztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC8vdmFyIGZpbHRlcnMgPSBzdWJjYXRzW2ldLmZpbHRlcnM7XHJcblxyXG4gICAgICAgICAgLy9pZiAoZmlsdGVycyAhPSBudWxsKSB7XHJcblxyXG4gICAgICAgICAgLy8gIHZhciBzdWJjYXQ6IEJlaGVlckxhbmd1YWdlc1N1YkNhdGVnb3J5Vmlld01vZGVsIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgICAgICAgLy8gIGZvciAodmFyIGogPSAwOyBqIDwgZmlsdGVycy5sZW5ndGg7IGorKykge1xyXG4gICAgICAgICAgLy8gICAgdmFyIG9wdGlvbnMgPSBmaWx0ZXJzW2pdLm9wdGlvbnM7XHJcbiAgICAgICAgICAvLyAgICB2YXIgZmlsdGVybW9kZWw6IEJlaGVlckxhbmd1YWdlc0ZpbHRlclZpZXdNb2RlbCB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgICAgICAgIC8vICAgIGlmIChvcHRpb25zICE9IG51bGwpIHtcclxuICAgICAgICAgIC8vICAgICAgZm9yICh2YXIgbyA9IDA7IG8gPCBvcHRpb25zLmxlbmd0aDsgbysrKSB7XHJcbiAgICAgICAgICAvLyAgICAgICAgaWYgKHRoaXMuYW1vdW50TGVuZ3RoID49IHN0YXJ0SW5kZXggJiYgdGhpcy5hbW91bnRMZW5ndGggPCBlbmRJbmRleCAmJiBpdGVtc2FkZGVkIDwgdGhpcy5hbW91bnRQZXJQYWdlKSB7XHJcbiAgICAgICAgICAvLyAgICAgICAgICBpZiAoc3ViY2F0ID09IG51bGwpIHtcclxuICAgICAgICAgIC8vICAgICAgICAgICAgc3ViY2F0ID0gbmV3IEJlaGVlckxhbmd1YWdlc1N1YkNhdGVnb3J5Vmlld01vZGVsKCk7XHJcbiAgICAgICAgICAvLyAgICAgICAgICAgIHN1YmNhdC50cmFuc2xhdGlvblN1YkNhdGVnb3J5ID0gc3ViY2F0c1tpXS50cmFuc2xhdGlvblN1YkNhdGVnb3J5O1xyXG4gICAgICAgICAgLy8gICAgICAgICAgICBzdWJjYXQuaHRtbCA9IHN1YmNhdHNbaV0uaHRtbDtcclxuICAgICAgICAgIC8vICAgICAgICAgICAgc3ViY2F0LmtleXMgPSBuZXcgQXJyYXk8QmVoZWVyTGFuZ3VhZ2VzS2V5Vmlld01vZGVsPigpO1xyXG4gICAgICAgICAgLy8gICAgICAgICAgICBzdWJjYXQuZmlsdGVycyA9IG5ldyBBcnJheTxCZWhlZXJMYW5ndWFnZXNGaWx0ZXJWaWV3TW9kZWw+KCk7XHJcblxyXG4gICAgICAgICAgLy8gICAgICAgICAgICB0aGlzLkFjdGl2ZVN1YnMucHVzaChzdWJjYXQpO1xyXG4gICAgICAgICAgLy8gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC8vICAgICAgICAgIGlmIChzdWJjYXQ/LmZpbHRlcnMgIT0gbnVsbCAmJiBmaWx0ZXJtb2RlbCA9PSBudWxsKSB7XHJcbiAgICAgICAgICAvLyAgICAgICAgICAgIGZpbHRlcm1vZGVsID0gbmV3IEJlaGVlckxhbmd1YWdlc0ZpbHRlclZpZXdNb2RlbChmaWx0ZXJzW2pdKTtcclxuICAgICAgICAgIC8vICAgICAgICAgICAgZmlsdGVybW9kZWwub3B0aW9ucyA9IG5ldyBBcnJheTxCZWhlZXJMYW5ndWFnZXNLZXlWaWV3TW9kZWw+KCk7XHJcbiAgICAgICAgICAvLyAgICAgICAgICAgIHN1YmNhdC5maWx0ZXJzLnB1c2goZmlsdGVybW9kZWwpO1xyXG4gICAgICAgICAgLy8gICAgICAgICAgICBpdGVtc2FkZGVkKys7XHJcbiAgICAgICAgICAvLyAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLy8gICAgICAgICAgaWYgKGZpbHRlcm1vZGVsPy5vcHRpb25zICE9IG51bGwpIHtcclxuICAgICAgICAgIC8vICAgICAgICAgICAgZmlsdGVybW9kZWwub3B0aW9ucy5wdXNoKG9wdGlvbnNbb10pO1xyXG4gICAgICAgICAgLy8gICAgICAgICAgICBpdGVtc2FkZGVkKys7XHJcbiAgICAgICAgICAvLyAgICAgICAgICB9XHJcbiAgICAgICAgICAvLyAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC8vICAgICAgICB0aGlzLmFtb3VudExlbmd0aCsrO1xyXG4gICAgICAgICAgLy8gICAgICB9XHJcbiAgICAgICAgICAvLyAgICB9XHJcbiAgICAgICAgICAvLyAgfVxyXG4gICAgICAgICAgLy99XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5DaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgUmVzaXplKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMudGFibGVkaXY/Lm5hdGl2ZUVsZW1lbnQ/Lm9mZnNldEhlaWdodCAhPSBudWxsKSB7XHJcbiAgICAgIGlmICh0aGlzLklzSFRNTCgpKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuYW1vdW50UGVyUGFnZSAhPSAxKSB7XHJcbiAgICAgICAgICB0aGlzLmFtb3VudFBlclBhZ2UgPSAxO1xyXG5cclxuICAgICAgICAgIHRoaXMuZWRpdG9yQ29uZmlnLmhlaWdodCA9IE1hdGguZmxvb3IodGhpcy50YWJsZWRpdj8ubmF0aXZlRWxlbWVudD8ub2Zmc2V0SGVpZ2h0IC0gNDAwKSArIFwicHhcIjtcclxuXHJcbiAgICAgICAgICB0aGlzLlJlZnJlc2hQYWdpbmF0b3IoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdmFyIGl0ZW1jb3VudCA9IE1hdGguZmxvb3IoKHBhcnNlSW50KHRoaXMudGFibGVkaXYubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQpIC0gMjUwKSAvIDU3KTtcclxuXHJcbiAgICAgICAgaWYgKGl0ZW1jb3VudCA+IDApIHtcclxuICAgICAgICAgIGlmICh0aGlzLmFtb3VudFBlclBhZ2UgIT0gaXRlbWNvdW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMuYW1vdW50UGVyUGFnZSA9IGl0ZW1jb3VudDtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuUmVmcmVzaFBhZ2luYXRvcigpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIEdldEVudHJ5KGVudHJpZXM6IEJlaGVlckxhbmd1YWdlc0VudHJ5Vmlld01vZGVsW10sIGxhbmd1YWdlOiBCZWhlZXJMYW5ndWFnZVZpZXdNb2RlbCk6IEJlaGVlckxhbmd1YWdlc0VudHJ5Vmlld01vZGVsIHwgbnVsbCB7XHJcbiAgICBpZiAoZW50cmllcy5lbnRyaWVzICE9IG51bGwpIHtcclxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlbnRyaWVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgaWYgKGVudHJpZXNbaV0ubGFuZ3VhZ2VJZCA9PSBsYW5ndWFnZS5pZCkge1xyXG4gICAgICAgICAgcmV0dXJuIGVudHJpZXNbaV07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgTG9hZFRyYW5zbGF0aW9ucyhDaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpOiB2b2lkIHtcclxuXHJcbiAgICB0aGlzLkxvYWRpbmcgPSB0cnVlO1xyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICAgIHRoaXMuVHJhbnNsYXRlQXBpQ2xpZW50LmdldEJlaGVlckxhbmd1YWdlc1ZpZXdNb2RlbCh0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5jdXJyZW50VXNlclZhbHVlKS5zdWJzY3JpYmUoKG1vZGVsOiBCZWhlZXJMYW5ndWFnZXNWaWV3TW9kZWwpID0+IHtcclxuICAgICAgdGhpcy5CZWhlZXJMYW5ndWFnZXNWaWV3TW9kZWwgPSBtb2RlbDtcclxuXHJcbiAgICAgIGlmICh0aGlzLkJlaGVlckxhbmd1YWdlc1ZpZXdNb2RlbC5jYXRlZ29yaWVzICE9IG51bGwpIHtcclxuICAgICAgICB0aGlzLlNlbGVjdGVkQmVoZWVyTGFuZ3VhZ2VzQ2F0ZWdvcnlWaWV3TW9kZWwgPSB0aGlzLkJlaGVlckxhbmd1YWdlc1ZpZXdNb2RlbC5jYXRlZ29yaWVzWzBdO1xyXG4gICAgICAgIHRoaXMuUmVmcmVzaFBhZ2luYXRvcigpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAodGhpcy5CZWhlZXJMYW5ndWFnZXNWaWV3TW9kZWwubGFuZ3VhZ2VzICE9IG51bGwpIHtcclxuICAgICAgICB0aGlzLlNlbGVjdGVkQmVoZWVyTGFuZ3VhZ2VWaWV3TW9kZWwgPSB0aGlzLkJlaGVlckxhbmd1YWdlc1ZpZXdNb2RlbC5sYW5ndWFnZXNbMF07XHJcbiAgICAgICAgdGhpcy5SZWZyZXNoUGFnaW5hdG9yKCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuTG9hZGluZyA9IGZhbHNlO1xyXG5cclxuICAgICAgQ2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwMClcclxuICAgICAgICBhbGVydChlcnJvci5qc29uKCkpO1xyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBhbGVydCgnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcbiAgICAgICAgYWxlcnQoZXJyb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgQ2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2F2ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLkNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgICB0aGlzLkJlaGVlckxhbmd1YWdlc1ZpZXdNb2RlbC5sb2dpblJlc3BvbnNlTW9kZWwgPSBuZXcgTG9naW5SZXNwb25zZU1vZGVsKHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmN1cnJlbnRVc2VyVmFsdWUpO1xyXG5cclxuICAgIHRoaXMuVHJhbnNsYXRlQXBpQ2xpZW50LnNhdmVCZWhlZXJMYW5ndWFnZXNWaWV3TW9kZWwodGhpcy5CZWhlZXJMYW5ndWFnZXNWaWV3TW9kZWwpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLk9wZW5DaGFuZ2VzID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICBhbGVydCgnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcblxyXG4gICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgdGhpcy5DaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBVcGRhdGVDaGFuZ2VkKGVudHJ5OiBCZWhlZXJMYW5ndWFnZXNFbnRyeVZpZXdNb2RlbCk6IHZvaWQge1xyXG4gICAgZW50cnkuY2hhbmdlZCA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5TaG93U25hY2tCYXIoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTaG93U25hY2tCYXIoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuT3BlbkNoYW5nZXMpIHtcclxuICAgICAgdGhpcy5PcGVuQ2hhbmdlcyA9IHRydWU7XHJcblxyXG4gICAgICB2YXIgc25hY2sgPSB0aGlzLnNuYWNrQmFyLm9wZW4oXCJVbnNhdmVkIGNoYW5nZXMuLi5cIiwgXCJTYXZlXCIpO1xyXG5cclxuICAgICAgc25hY2sub25BY3Rpb24oKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuU2F2ZSgpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBFeHBvcnQoKTogdm9pZCB7XHJcbiAgICB2YXIgcmVxdWVzdCA9IG5ldyBDcmVhdGVFeHBvcnRSZXF1ZXN0KCk7XHJcblxyXG5cclxuICAgIHRoaXMuVHJhbnNsYXRlQXBpQ2xpZW50LmNyZWF0ZUV4cG9ydChyZXF1ZXN0KS5zdWJzY3JpYmUoKG1vZGVsOiBDcmVhdGVFeHBvcnRSZXNwb25zZSkgPT4ge1xyXG4gICAgICBhbGVydChtb2RlbC51cmwpO1xyXG5cclxuICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgYWxlcnQoZXJyb3IuanNvbigpKTtcclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgYWxlcnQoJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgIGFsZXJ0KGVycm9yKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgSW1wb3J0KCk6IHZvaWQge1xyXG4gICAgdmFyIHJlcXVlc3QgPSBuZXcgUmVhZEV4cG9ydFJlcXVlc3QoKTtcclxuXHJcblxyXG4gICAgdGhpcy5UcmFuc2xhdGVBcGlDbGllbnQucmVhZEV4cG9ydChyZXF1ZXN0KS5zdWJzY3JpYmUoKCkgPT4ge1xyXG5cclxuICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgYWxlcnQoZXJyb3IuanNvbigpKTtcclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgYWxlcnQoJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgIGFsZXJ0KGVycm9yKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgSXNIVE1MKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMuU2VsZWN0ZWRCZWhlZXJMYW5ndWFnZXNDYXRlZ29yeVZpZXdNb2RlbCAhPSBudWxsKSB7XHJcbiAgICAgIHZhciBzdWJjYXRzID0gdGhpcy5TZWxlY3RlZEJlaGVlckxhbmd1YWdlc0NhdGVnb3J5Vmlld01vZGVsLnN1YkNhdGVnb3JpZXM7XHJcblxyXG4gICAgICBpZiAoc3ViY2F0cyAhPSBudWxsKSB7XHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdWJjYXRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICBpZiAoc3ViY2F0c1tpXS5odG1sKVxyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgR2V0TGFuZ3VhZ2VDb3VudCgpOiBudW1iZXIge1xyXG4gICAgdmFyIGNvdW50ID0gMDtcclxuICAgIGlmICh0aGlzLkJlaGVlckxhbmd1YWdlc1ZpZXdNb2RlbCAhPSBudWxsKSB7XHJcbiAgICAgIHZhciBsYW5ndWFnZXMgPSB0aGlzLkJlaGVlckxhbmd1YWdlc1ZpZXdNb2RlbC5sYW5ndWFnZXM7XHJcblxyXG4gICAgICBpZiAobGFuZ3VhZ2VzICE9IG51bGwpIHtcclxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxhbmd1YWdlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgaWYgKGxhbmd1YWdlc1tpXS5zZWxlY3RlZClcclxuICAgICAgICAgICAgY291bnQrKztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gY291bnQ7XHJcbiAgfVxyXG59XHJcbiIsIjxhcHAtYmVoZWVyLW5hdj48L2FwcC1iZWhlZXItbmF2PlxyXG5cclxuPGFwcC1mYWItbG9hZGVyICpuZ0lmPVwiTG9hZGluZ1wiPjwvYXBwLWZhYi1sb2FkZXI+XHJcblxyXG48ZGl2ICpuZ0lmPVwiIUxvYWRpbmdcIj5cclxuICA8ZGl2IGNsYXNzPVwiZGlzcGxheWZsZXhcIiAjdGFibGVkaXYgKHdpbmRvdzpyZXNpemUpPVwib25SZXNpemUoJGV2ZW50KVwiPlxyXG4gICAgPGRpdj5cclxuICAgICAgPG1hdC1jYXJkIGNsYXNzPVwibWFpbi1iYXJcIj5cclxuICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cclxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxyXG4gICAgICAgICAgICA8bWF0LWxhYmVsPkdyb3VwPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgIDxtYXQtc2VsZWN0IFsobmdNb2RlbCldPVwiU2VsZWN0ZWRCZWhlZXJMYW5ndWFnZXNDYXRlZ29yeVZpZXdNb2RlbFwiIChzZWxlY3Rpb25DaGFuZ2UpPVwidGhpcy5wYWdlSW5kZXggPSAwOyBSZWZyZXNoUGFnaW5hdG9yKCk7IFJlc2l6ZSgpO1wiPlxyXG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBjYXQgb2YgQmVoZWVyTGFuZ3VhZ2VzVmlld01vZGVsLmNhdGVnb3JpZXNcIiBbdmFsdWVdPVwiY2F0XCI+XHJcbiAgICAgICAgICAgICAgICB7eyBUcmFuc2xhdGlvbkNhdGVnb3J5W2NhdC50cmFuc2xhdGlvbkNhdGVnb3J5XSB9fVxyXG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCIhSXNIVE1MKClcIj5cclxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgbGFuZ3VhZ2Ugb2YgQmVoZWVyTGFuZ3VhZ2VzVmlld01vZGVsLmxhbmd1YWdlc1wiPlxyXG4gICAgICAgICAgICAgIDxtYXQtY2hlY2tib3ggWyhuZ01vZGVsKV09XCJsYW5ndWFnZS5zZWxlY3RlZFwiPlxyXG4gICAgICAgICAgICAgICAgPGZhYi1mbGFnIFtjb3VudHJ5XT1cImxhbmd1YWdlLmZsYWdcIj48L2ZhYi1mbGFnPiB7eyBsYW5ndWFnZS5uYW1lIH19XHJcbiAgICAgICAgICAgICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiAqbmdJZj1cIklzSFRNTCgpXCI+XHJcbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxyXG4gICAgICAgICAgICAgIDxtYXQtbGFiZWw+TGFuZ3VhZ2U8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBbKG5nTW9kZWwpXT1cIlNlbGVjdGVkQmVoZWVyTGFuZ3VhZ2VWaWV3TW9kZWxcIiA+XHJcbiAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgbGFuZ3VhZ2Ugb2YgQmVoZWVyTGFuZ3VhZ2VzVmlld01vZGVsLmxhbmd1YWdlc1wiIFt2YWx1ZV09XCJsYW5ndWFnZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZmFiLWZsYWcgW2NvdW50cnldPVwibGFuZ3VhZ2UuZmxhZ1wiPjwvZmFiLWZsYWc+IHt7IGxhbmd1YWdlLm5hbWUgfX1cclxuICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8YnIgLz48YnIgLz5cclxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIlNhdmUoKVwiIGNsYXNzPVwic2F2ZS1idXR0b25cIiBbZGlzYWJsZWRdPVwiIU9wZW5DaGFuZ2VzXCI+XHJcbiAgICAgICAgICAgIFNhdmVcclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cclxuICAgICAgPC9tYXQtY2FyZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPG1hdC1jYXJkIGNsYXNzPVwibWFpbi1iYXIgZmxleGF1dG9cIj5cclxuICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1heC1oZWlnaHRcIj5cclxuXHJcbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiU2VsZWN0ZWRCZWhlZXJMYW5ndWFnZXNDYXRlZ29yeVZpZXdNb2RlbCAhPSBudWxsXCI+XHJcbiAgICAgICAgICAgIDxoMT57eyBUcmFuc2xhdGlvbkNhdGVnb3J5W1NlbGVjdGVkQmVoZWVyTGFuZ3VhZ2VzQ2F0ZWdvcnlWaWV3TW9kZWwudHJhbnNsYXRpb25DYXRlZ29yeV0gfX08L2gxPlxyXG5cclxuICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJJc0hUTUwoKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJjYXQtcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZhYi1mbGFnIFtjb3VudHJ5XT1cIlNlbGVjdGVkQmVoZWVyTGFuZ3VhZ2VWaWV3TW9kZWwuZmxhZ1wiPjwvZmFiLWZsYWc+IHt7IFNlbGVjdGVkQmVoZWVyTGFuZ3VhZ2VWaWV3TW9kZWwubmFtZSB9fVxyXG4gICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFJc0hUTUwoKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8dGQgY29sc3Bhbj1cIjJcIiBjbGFzcz1cImNhdC1yb3dcIj48L3RkPlxyXG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBsYW5ndWFnZSBvZiBCZWhlZXJMYW5ndWFnZXNWaWV3TW9kZWwubGFuZ3VhZ2VzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiY2F0LXJvd1wiICpuZ0lmPVwibGFuZ3VhZ2Uuc2VsZWN0ZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxmYWItZmxhZyBbY291bnRyeV09XCJsYW5ndWFnZS5mbGFnXCI+PC9mYWItZmxhZz4ge3sgbGFuZ3VhZ2UubmFtZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPC90cj5cclxuXHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIklzSFRNTCgpXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzdWJjYXQgb2YgQWN0aXZlU3Vic1wiPlxyXG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBrZXkgb2Ygc3ViY2F0LmtleXNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBsYW5ndWFnZSBvZiBCZWhlZXJMYW5ndWFnZXNWaWV3TW9kZWwubGFuZ3VhZ2VzOyBpbmRleCBhcyBpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cImxhbmd1YWdlID09IFNlbGVjdGVkQmVoZWVyTGFuZ3VhZ2VWaWV3TW9kZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFuZ3VsYXItZWRpdG9yIFtjb25maWddPVwiZWRpdG9yQ29uZmlnXCIgWyhuZ01vZGVsKV09XCJHZXRFbnRyeShrZXkuZW50cmllcywgbGFuZ3VhZ2UpLnZhbHVlXCIgKG5nTW9kZWxDaGFuZ2UpPVwiVXBkYXRlQ2hhbmdlZChHZXRFbnRyeShrZXkuZW50cmllcywgbGFuZ3VhZ2UpKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hbmd1bGFyLWVkaXRvcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFJc0hUTUwoKVwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc3ViY2F0IG9mIEFjdGl2ZVN1YnNcIj5cclxuICAgICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBrZXkgb2Ygc3ViY2F0LmtleXNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7eyBUcmFuc2xhdGlvblN1YkNhdGVnb3J5W3N1YmNhdC50cmFuc2xhdGlvblN1YkNhdGVnb3J5XSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImtleS50ZXh0ICE9ICcnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICh7eyBrZXkudGV4dCB9fSlcclxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbGFuZ3VhZ2Ugb2YgQmVoZWVyTGFuZ3VhZ2VzVmlld01vZGVsLmxhbmd1YWdlczsgaW5kZXggYXMgaVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwibGFuZ3VhZ2Uuc2VsZWN0ZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgY2xhc3M9XCJmdWxsd2lkdGhcIiAqbmdJZj1cIkdldEVudHJ5KGtleS5lbnRyaWVzLCBsYW5ndWFnZSkgIT0gbnVsbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBUcmFuc2xhdGlvblN1YkNhdGVnb3J5W3N1YmNhdC50cmFuc2xhdGlvblN1YkNhdGVnb3J5XSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwiR2V0RW50cnkoa2V5LmVudHJpZXMsIGxhbmd1YWdlKS52YWx1ZVwiIChrZXl1cCk9XCJVcGRhdGVDaGFuZ2VkKEdldEVudHJ5KGtleS5lbnRyaWVzLCBsYW5ndWFnZSkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICA8L3RyPlxyXG5cclxuICAgICAgICAgICAgICAgICAgPCEtLTxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGZpbHRlciBvZiBzdWJjYXQuZmlsdGVyc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgZmlsdGVyLmZpbHRlci50ZXh0IH19XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRkPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBsYW5ndWFnZSBvZiBCZWhlZXJMYW5ndWFnZXNWaWV3TW9kZWwubGFuZ3VhZ2VzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cImxhbmd1YWdlLnNlbGVjdGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgY2xhc3M9XCJmdWxsd2lkdGhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnlbc3ViY2F0LnRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnldIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwiR2V0RW50cnkoZmlsdGVyLmZpbHRlci5lbnRyaWVzLCBsYW5ndWFnZSkudmFsdWVcIiAoa2V5dXApPVwiVXBkYXRlQ2hhbmdlZChHZXRFbnRyeShmaWx0ZXIuZmlsdGVyLmVudHJpZXMsIGxhbmd1YWdlKSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZmlsdGVyLm9wdGlvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT57eyBvcHRpb24udGV4dCB9fTwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGxhbmd1YWdlIG9mIEJlaGVlckxhbmd1YWdlc1ZpZXdNb2RlbC5sYW5ndWFnZXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJsYW5ndWFnZS5zZWxlY3RlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgY2xhc3M9XCJmdWxsd2lkdGhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBUcmFuc2xhdGlvblN1YkNhdGVnb3J5W3N1YmNhdC50cmFuc2xhdGlvblN1YkNhdGVnb3J5XSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJHZXRFbnRyeShvcHRpb24uZW50cmllcywgbGFuZ3VhZ2UpLnZhbHVlXCIgKGtleXVwKT1cIlVwZGF0ZUNoYW5nZWQoR2V0RW50cnkob3B0aW9uLmVudHJpZXMsIGxhbmd1YWdlKSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj4tLT5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICAgIDxtYXQtcGFnaW5hdG9yICNwYWdpbmF0b3JcclxuICAgICAgICAgICAgICAgICAgICAgICAgIChwYWdlKT1cImhhbmRsZVBhZ2VFdmVudCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtsZW5ndGhdPVwiYW1vdW50TGVuZ3RoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtwYWdlU2l6ZV09XCJhbW91bnRQZXJQYWdlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93Rmlyc3RMYXN0QnV0dG9uc109XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtoaWRlUGFnZVNpemVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbcGFnZUluZGV4XT1cInBhZ2VJbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiU2VsZWN0IHBhZ2VcIj5cclxuICAgICAgICAgIDwvbWF0LXBhZ2luYXRvcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gICAgPC9tYXQtY2FyZD5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
296
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXRyYW5zbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci10cmFuc2xhdGUvYmVoZWVyLXRyYW5zbGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci10cmFuc2xhdGUvYmVoZWVyLXRyYW5zbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBeUQsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTWxKLE9BQU8sRUFBZ0csbUNBQW1DLEVBQXFELG1CQUFtQixFQUF3QixrQkFBa0IsRUFBRSxpQkFBaUIsRUFBcUQsbUJBQW1CLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV4WixNQU1hLHdCQUF3QjtJQTZDekI7SUFDQTtJQUNBO0lBQ0E7SUEvQ0gsT0FBTyxHQUFZLElBQUksQ0FBQztJQUN4QixXQUFXLEdBQVksS0FBSyxDQUFDO0lBQzdCLHdCQUF3QixDQUEyQjtJQUNuRCxVQUFVLEdBQStDLElBQUksS0FBSyxFQUF1QyxDQUFDO0lBRTFHLFNBQVMsR0FBVyxDQUFDLENBQUM7SUFDdEIsWUFBWSxHQUFXLENBQUMsQ0FBQztJQUN6QixhQUFhLEdBQVcsRUFBRSxDQUFDO0lBRWxDLElBQVcsbUJBQW1CO1FBQzVCLE9BQU8sbUJBQW1CLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsc0JBQXNCO1FBQy9CLE9BQU8sc0JBQXNCLENBQUM7SUFDaEMsQ0FBQztJQUVNLHdDQUF3QyxHQUE0QyxJQUFJ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ZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIERvQ2hlY2ssIEVsZW1lbnRSZWYsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExlZ2FjeVBhZ2VFdmVudCBhcyBQYWdlRXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgTWF0TGVnYWN5U25hY2tCYXIgYXMgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktc25hY2stYmFyJztcclxuaW1wb3J0IHsgQW5ndWxhckVkaXRvckNvbmZpZyB9IGZyb20gJ0Brb2xrb3YvYW5ndWxhci1lZGl0b3InO1xyXG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmVoZWVyTGFuZ3VhZ2VzQ2F0ZWdvcnlWaWV3TW9kZWwsIEJlaGVlckxhbmd1YWdlc0VudHJ5Vmlld01vZGVsLCBCZWhlZXJMYW5ndWFnZXNLZXlWaWV3TW9kZWwsIEJlaGVlckxhbmd1YWdlc1N1YkNhdGVnb3J5Vmlld01vZGVsLCBCZWhlZXJMYW5ndWFnZXNWaWV3TW9kZWwsIEJlaGVlckxhbmd1YWdlVmlld01vZGVsLCBDcmVhdGVFeHBvcnRSZXF1ZXN0LCBDcmVhdGVFeHBvcnRSZXNwb25zZSwgTG9naW5SZXNwb25zZU1vZGVsLCBSZWFkRXhwb3J0UmVxdWVzdCwgVHJhbnNsYXRlQXBpQ2xpZW50LCBUcmFuc2xhdGVLZXlDYXRlZ29yeVZpZXdNb2RlbCwgVHJhbnNsYXRpb25DYXRlZ29yeSwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeSB9IGZyb20gJy4uLy4uLy4uL3N3YWdnZXIvU3dhZ2dlckNsaWVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1iZWhlZXItdHJhbnNsYXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYmVoZWVyLXRyYW5zbGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYmVoZWVyLXRyYW5zbGF0ZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIEJlaGVlclRyYW5zbGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgRG9DaGVjayB7XHJcbiAgcHVibGljIExvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBPcGVuQ2hhbmdlczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBCZWhlZXJMYW5ndWFnZXNWaWV3TW9kZWw6IEJlaGVlckxhbmd1YWdlc1ZpZXdNb2RlbDtcclxuICBwdWJsaWMgQWN0aXZlU3ViczogQXJyYXk8QmVoZWVyTGFuZ3VhZ2VzU3ViQ2F0ZWdvcnlWaWV3TW9kZWw+ID0gbmV3IEFycmF5PEJlaGVlckxhbmd1YWdlc1N1YkNhdGVnb3J5Vmlld01vZGVsPigpO1xyXG5cclxuICBwdWJsaWMgcGFnZUluZGV4OiBudW1iZXIgPSAwO1xyXG4gIHB1YmxpYyBhbW91bnRMZW5ndGg6IG51bWJlciA9IDA7XHJcbiAgcHVibGljIGFtb3VudFBlclBhZ2U6IG51bWJlciA9IDEwO1xyXG5cclxuICBwdWJsaWMgZ2V0IFRyYW5zbGF0aW9uQ2F0ZWdvcnkoKSB7XHJcbiAgICByZXR1cm4gVHJhbnNsYXRpb25DYXRlZ29yeTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgVHJhbnNsYXRpb25TdWJDYXRlZ29yeSgpIHtcclxuICAgIHJldHVybiBUcmFuc2xhdGlvblN1YkNhdGVnb3J5O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNlbGVjdGVkQmVoZWVyTGFuZ3VhZ2VzQ2F0ZWdvcnlWaWV3TW9kZWw6IEJlaGVlckxhbmd1YWdlc0NhdGVnb3J5Vmlld01vZGVsIHwgbnVsbCA9IG51bGw7XHJcbiAgcHVibGljIFNlbGVjdGVkQmVoZWVyTGFuZ3VhZ2VWaWV3TW9kZWw6IEJlaGVlckxhbmd1YWdlVmlld01vZGVsIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3RhYmxlZGl2JykgdGFibGVkaXY6IEVsZW1lbnRSZWY7XHJcblxyXG4gIGVkaXRvckNvbmZpZzogQW5ndWxhckVkaXRvckNvbmZpZyA9IHtcclxuICAgIGVkaXRhYmxlOiB0cnVlLFxyXG4gICAgc3BlbGxjaGVjazogZmFsc2UsXHJcbiAgICBoZWlnaHQ6ICdhdXRvJyxcclxuICAgIG1pbkhlaWdodDogJzAnLFxyXG4gICAgbWF4SGVpZ2h0OiAnYXV0bycsXHJcbiAgICB3aWR0aDogJ2F1dG8nLFxyXG4gICAgbWluV2lkdGg6ICcwJyxcclxuICAgIHRyYW5zbGF0ZTogJ25vJyxcclxuICAgIGVuYWJsZVRvb2xiYXI6IHRydWUsXHJcbiAgICBzaG93VG9vbGJhcjogdHJ1ZSxcclxuICAgIGRlZmF1bHRQYXJhZ3JhcGhTZXBhcmF0b3I6ICcnLFxyXG4gICAgZGVmYXVsdEZvbnROYW1lOiAnJyxcclxuICAgIGRlZmF1bHRGb250U2l6ZTogJycsXHJcbiAgICBzYW5pdGl6ZTogdHJ1ZSxcclxuICAgIHRvb2xiYXJQb3NpdGlvbjogJ3RvcCcsXHJcbiAgICB0b29sYmFySGlkZGVuQnV0dG9uczogW1xyXG4gICAgICBbJ2ZvbnROYW1lJ11cclxuICAgIF1cclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgVHJhbnNsYXRlQXBpQ2xpZW50OiBUcmFuc2xhdGVBcGlDbGllbnQsXHJcbiAgICBwcml2YXRlIGF1dGhlbnRpY2F0aW9uU2VydmljZTogQXV0aGVudGljYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzbmFja0JhcjogTWF0U25hY2tCYXIsXHJcbiAgICBwcml2YXRlIENoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gIH1cclxuXHJcbiAgbmdEb0NoZWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5SZXNpemUoKTtcclxuICB9XHJcblxyXG4gIG9uUmVzaXplKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuUmVzaXplKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuTG9hZFRyYW5zbGF0aW9ucyh0aGlzLkNoYW5nZURldGVjdG9yUmVmKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZVBhZ2VFdmVudChlOiBQYWdlRXZlbnQpIHtcclxuICAgIC8vdGhpcy5wYWdlRXZlbnQgPSBlO1xyXG4gICAgLy90aGlzLmxlbmd0aCA9IGUubGVuZ3RoO1xyXG4gICAgLy90aGlzLnBhZ2VTaXplID0gZS5wYWdlU2l6ZTtcclxuICAgIHRoaXMucGFnZUluZGV4ID0gZS5wYWdlSW5kZXg7XHJcblxyXG4gICAgdGhpcy5SZWZyZXNoUGFnaW5hdG9yKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgUmVmcmVzaFBhZ2luYXRvcigpOiB2b2lkIHtcclxuICAgIHRoaXMuYW1vdW50TGVuZ3RoID0gMDtcclxuICAgIHRoaXMuQWN0aXZlU3VicyA9IG5ldyBBcnJheTxCZWhlZXJMYW5ndWFnZXNTdWJDYXRlZ29yeVZpZXdNb2RlbD4oKTtcclxuXHJcbiAgICB2YXIgc3RhcnRJbmRleCA9IHRoaXMucGFnZUluZGV4ICogdGhpcy5hbW91bnRQZXJQYWdlO1xyXG4gICAgdmFyIGVuZEluZGV4ID0gKHRoaXMucGFnZUluZGV4ICsgMSkgKiB0aGlzLmFtb3VudFBlclBhZ2U7XHJcbiAgICB2YXIgaXRlbXNhZGRlZCA9IDA7XHJcblxyXG4gICAgaWYgKHRoaXMuU2VsZWN0ZWRCZWhlZXJMYW5ndWFnZXNDYXRlZ29yeVZpZXdNb2RlbCAhPSBudWxsKSB7XHJcblxyXG4gICAgICB2YXIgc3ViY2F0cyA9IHRoaXMuU2VsZWN0ZWRCZWhlZXJMYW5ndWFnZXNDYXRlZ29yeVZpZXdNb2RlbC5zdWJDYXRlZ29yaWVzO1xyXG5cclxuICAgICAgaWYgKHN1YmNhdHMgIT0gbnVsbCkge1xyXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3ViY2F0cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgdmFyIGtleXMgPSBzdWJjYXRzW2ldLmtleXM7XHJcblxyXG4gICAgICAgICAgaWYgKGtleXMgIT0gbnVsbCkge1xyXG5cclxuICAgICAgICAgICAgdmFyIHN1YmNhdDogQmVoZWVyTGFuZ3VhZ2VzU3ViQ2F0ZWdvcnlWaWV3TW9kZWwgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwga2V5cy5sZW5ndGg7IGorKykge1xyXG5cclxuICAgICAgICAgICAgICBpZiAodGhpcy5hbW91bnRMZW5ndGggPj0gc3RhcnRJbmRleCAmJiB0aGlzLmFtb3VudExlbmd0aCA8IGVuZEluZGV4ICYmIGl0ZW1zYWRkZWQgPCB0aGlzLmFtb3VudFBlclBhZ2UpIHtcclxuICAgICAgICAgICAgICAgIGlmIChzdWJjYXQgPT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICBzdWJjYXQgPSBuZXcgQmVoZWVyTGFuZ3VhZ2VzU3ViQ2F0ZWdvcnlWaWV3TW9kZWwoKTtcclxuICAgICAgICAgICAgICAgICAgc3ViY2F0LnRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkgPSBzdWJjYXRzW2ldLnRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnk7XHJcbiAgICAgICAgICAgICAgICAgIHN1YmNhdC5odG1sID0gc3ViY2F0c1tpXS5odG1sO1xyXG4gICAgICAgICAgICAgICAgICBzdWJjYXQua2V5cyA9IG5ldyBBcnJheTxCZWhlZXJMYW5ndWFnZXNLZXlWaWV3TW9kZWw+KCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICB0aGlzLkFjdGl2ZVN1YnMucHVzaChzdWJjYXQpO1xyXG4gICAgICAgICAgICAgICAgICBpdGVtc2FkZGVkKys7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHN1YmNhdD8ua2V5cyAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgIHN1YmNhdC5rZXlzLnB1c2goa2V5c1tqXSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICB0aGlzLmFtb3VudExlbmd0aCsrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLy92YXIgZmlsdGVycyA9IHN1YmNhdHNbaV0uZmlsdGVycztcclxuXHJcbiAgICAgICAgICAvL2lmIChmaWx0ZXJzICE9IG51bGwpIHtcclxuXHJcbiAgICAgICAgICAvLyAgdmFyIHN1YmNhdDogQmVoZWVyTGFuZ3VhZ2VzU3ViQ2F0ZWdvcnlWaWV3TW9kZWwgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICAgICAgICAvLyAgZm9yICh2YXIgaiA9IDA7IGogPCBmaWx0ZXJzLmxlbmd0aDsgaisrKSB7XHJcbiAgICAgICAgICAvLyAgICB2YXIgb3B0aW9ucyA9IGZpbHRlcnNbal0ub3B0aW9ucztcclxuICAgICAgICAgIC8vICAgIHZhciBmaWx0ZXJtb2RlbDogQmVoZWVyTGFuZ3VhZ2VzRmlsdGVyVmlld01vZGVsIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgICAgICAgLy8gICAgaWYgKG9wdGlvbnMgIT0gbnVsbCkge1xyXG4gICAgICAgICAgLy8gICAgICBmb3IgKHZhciBvID0gMDsgbyA8IG9wdGlvbnMubGVuZ3RoOyBvKyspIHtcclxuICAgICAgICAgIC8vICAgICAgICBpZiAodGhpcy5hbW91bnRMZW5ndGggPj0gc3RhcnRJbmRleCAmJiB0aGlzLmFtb3VudExlbmd0aCA8IGVuZEluZGV4ICYmIGl0ZW1zYWRkZWQgPCB0aGlzLmFtb3VudFBlclBhZ2UpIHtcclxuICAgICAgICAgIC8vICAgICAgICAgIGlmIChzdWJjYXQgPT0gbnVsbCkge1xyXG4gICAgICAgICAgLy8gICAgICAgICAgICBzdWJjYXQgPSBuZXcgQmVoZWVyTGFuZ3VhZ2VzU3ViQ2F0ZWdvcnlWaWV3TW9kZWwoKTtcclxuICAgICAgICAgIC8vICAgICAgICAgICAgc3ViY2F0LnRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkgPSBzdWJjYXRzW2ldLnRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnk7XHJcbiAgICAgICAgICAvLyAgICAgICAgICAgIHN1YmNhdC5odG1sID0gc3ViY2F0c1tpXS5odG1sO1xyXG4gICAgICAgICAgLy8gICAgICAgICAgICBzdWJjYXQua2V5cyA9IG5ldyBBcnJheTxCZWhlZXJMYW5ndWFnZXNLZXlWaWV3TW9kZWw+KCk7XHJcbiAgICAgICAgICAvLyAgICAgICAgICAgIHN1YmNhdC5maWx0ZXJzID0gbmV3IEFycmF5PEJlaGVlckxhbmd1YWdlc0ZpbHRlclZpZXdNb2RlbD4oKTtcclxuXHJcbiAgICAgICAgICAvLyAgICAgICAgICAgIHRoaXMuQWN0aXZlU3Vicy5wdXNoKHN1YmNhdCk7XHJcbiAgICAgICAgICAvLyAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLy8gICAgICAgICAgaWYgKHN1YmNhdD8uZmlsdGVycyAhPSBudWxsICYmIGZpbHRlcm1vZGVsID09IG51bGwpIHtcclxuICAgICAgICAgIC8vICAgICAgICAgICAgZmlsdGVybW9kZWwgPSBuZXcgQmVoZWVyTGFuZ3VhZ2VzRmlsdGVyVmlld01vZGVsKGZpbHRlcnNbal0pO1xyXG4gICAgICAgICAgLy8gICAgICAgICAgICBmaWx0ZXJtb2RlbC5vcHRpb25zID0gbmV3IEFycmF5PEJlaGVlckxhbmd1YWdlc0tleVZpZXdNb2RlbD4oKTtcclxuICAgICAgICAgIC8vICAgICAgICAgICAgc3ViY2F0LmZpbHRlcnMucHVzaChmaWx0ZXJtb2RlbCk7XHJcbiAgICAgICAgICAvLyAgICAgICAgICAgIGl0ZW1zYWRkZWQrKztcclxuICAgICAgICAgIC8vICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAvLyAgICAgICAgICBpZiAoZmlsdGVybW9kZWw/Lm9wdGlvbnMgIT0gbnVsbCkge1xyXG4gICAgICAgICAgLy8gICAgICAgICAgICBmaWx0ZXJtb2RlbC5vcHRpb25zLnB1c2gob3B0aW9uc1tvXSk7XHJcbiAgICAgICAgICAvLyAgICAgICAgICAgIGl0ZW1zYWRkZWQrKztcclxuICAgICAgICAgIC8vICAgICAgICAgIH1cclxuICAgICAgICAgIC8vICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLy8gICAgICAgIHRoaXMuYW1vdW50TGVuZ3RoKys7XHJcbiAgICAgICAgICAvLyAgICAgIH1cclxuICAgICAgICAgIC8vICAgIH1cclxuICAgICAgICAgIC8vICB9XHJcbiAgICAgICAgICAvL31cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLkNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBSZXNpemUoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy50YWJsZWRpdj8ubmF0aXZlRWxlbWVudD8ub2Zmc2V0SGVpZ2h0ICE9IG51bGwpIHtcclxuICAgICAgaWYgKHRoaXMuSXNIVE1MKCkpIHtcclxuICAgICAgICBpZiAodGhpcy5hbW91bnRQZXJQYWdlICE9IDEpIHtcclxuICAgICAgICAgIHRoaXMuYW1vdW50UGVyUGFnZSA9IDE7XHJcblxyXG4gICAgICAgICAgdGhpcy5lZGl0b3JDb25maWcuaGVpZ2h0ID0gTWF0aC5mbG9vcih0aGlzLnRhYmxlZGl2Py5uYXRpdmVFbGVtZW50Py5vZmZzZXRIZWlnaHQgLSA0MDApICsgXCJweFwiO1xyXG5cclxuICAgICAgICAgIHRoaXMuUmVmcmVzaFBhZ2luYXRvcigpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB2YXIgaXRlbWNvdW50ID0gTWF0aC5mbG9vcigocGFyc2VJbnQodGhpcy50YWJsZWRpdi5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCkgLSAyNTApIC8gNTcpO1xyXG5cclxuICAgICAgICBpZiAoaXRlbWNvdW50ID4gMCkge1xyXG4gICAgICAgICAgaWYgKHRoaXMuYW1vdW50UGVyUGFnZSAhPSBpdGVtY291bnQpIHtcclxuICAgICAgICAgICAgdGhpcy5hbW91bnRQZXJQYWdlID0gaXRlbWNvdW50O1xyXG5cclxuICAgICAgICAgICAgdGhpcy5SZWZyZXNoUGFnaW5hdG9yKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgR2V0RW50cnkoZW50cmllczogQmVoZWVyTGFuZ3VhZ2VzRW50cnlWaWV3TW9kZWxbXSwgbGFuZ3VhZ2U6IEJlaGVlckxhbmd1YWdlVmlld01vZGVsKTogQmVoZWVyTGFuZ3VhZ2VzRW50cnlWaWV3TW9kZWwgfCBudWxsIHtcclxuICAgIGlmIChlbnRyaWVzLmVudHJpZXMgIT0gbnVsbCkge1xyXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGVudHJpZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBpZiAoZW50cmllc1tpXS5sYW5ndWFnZUlkID09IGxhbmd1YWdlLmlkKSB7XHJcbiAgICAgICAgICByZXR1cm4gZW50cmllc1tpXTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBMb2FkVHJhbnNsYXRpb25zKENoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZik6IHZvaWQge1xyXG5cclxuICAgIHRoaXMuTG9hZGluZyA9IHRydWU7XHJcbiAgICBDaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgdGhpcy5UcmFuc2xhdGVBcGlDbGllbnQuZ2V0QmVoZWVyTGFuZ3VhZ2VzVmlld01vZGVsKHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmN1cnJlbnRVc2VyVmFsdWUpLnN1YnNjcmliZSgobW9kZWw6IEJlaGVlckxhbmd1YWdlc1ZpZXdNb2RlbCkgPT4ge1xyXG4gICAgICB0aGlzLkJlaGVlckxhbmd1YWdlc1ZpZXdNb2RlbCA9IG1vZGVsO1xyXG5cclxuICAgICAgaWYgKHRoaXMuQmVoZWVyTGFuZ3VhZ2VzVmlld01vZGVsLmNhdGVnb3JpZXMgIT0gbnVsbCkge1xyXG4gICAgICAgIHRoaXMuU2VsZWN0ZWRCZWhlZXJMYW5ndWFnZXNDYXRlZ29yeVZpZXdNb2RlbCA9IHRoaXMuQmVoZWVyTGFuZ3VhZ2VzVmlld01vZGVsLmNhdGVnb3JpZXNbMF07XHJcbiAgICAgICAgdGhpcy5SZWZyZXNoUGFnaW5hdG9yKCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICh0aGlzLkJlaGVlckxhbmd1YWdlc1ZpZXdNb2RlbC5sYW5ndWFnZXMgIT0gbnVsbCkge1xyXG4gICAgICAgIHRoaXMuU2VsZWN0ZWRCZWhlZXJMYW5ndWFnZVZpZXdNb2RlbCA9IHRoaXMuQmVoZWVyTGFuZ3VhZ2VzVmlld01vZGVsLmxhbmd1YWdlc1swXTtcclxuICAgICAgICB0aGlzLlJlZnJlc2hQYWdpbmF0b3IoKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gICAgICBDaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAgIGFsZXJ0KGVycm9yLmpzb24oKSk7XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGFsZXJ0KCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgICBhbGVydChlcnJvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICBDaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTYXZlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5Mb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICAgIHRoaXMuQmVoZWVyTGFuZ3VhZ2VzVmlld01vZGVsLmxvZ2luUmVzcG9uc2VNb2RlbCA9IG5ldyBMb2dpblJlc3BvbnNlTW9kZWwodGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UuY3VycmVudFVzZXJWYWx1ZSk7XHJcblxyXG4gICAgdGhpcy5UcmFuc2xhdGVBcGlDbGllbnQuc2F2ZUJlaGVlckxhbmd1YWdlc1ZpZXdNb2RlbCh0aGlzLkJlaGVlckxhbmd1YWdlc1ZpZXdNb2RlbCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuT3BlbkNoYW5nZXMgPSBmYWxzZTtcclxuICAgICAgdGhpcy5DaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIGFsZXJ0KCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuXHJcbiAgICAgIHRoaXMuTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLkNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFVwZGF0ZUNoYW5nZWQoZW50cnk6IEJlaGVlckxhbmd1YWdlc0VudHJ5Vmlld01vZGVsKTogdm9pZCB7XHJcbiAgICBlbnRyeS5jaGFuZ2VkID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLlNob3dTbmFja0JhcigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNob3dTbmFja0JhcigpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5PcGVuQ2hhbmdlcykge1xyXG4gICAgICB0aGlzLk9wZW5DaGFuZ2VzID0gdHJ1ZTtcclxuXHJcbiAgICAgIHZhciBzbmFjayA9IHRoaXMuc25hY2tCYXIub3BlbihcIlVuc2F2ZWQgY2hhbmdlcy4uLlwiLCBcIlNhdmVcIik7XHJcblxyXG4gICAgICBzbmFjay5vbkFjdGlvbigpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5TYXZlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIEV4cG9ydCgpOiB2b2lkIHtcclxuICAgIHZhciByZXF1ZXN0ID0gbmV3IENyZWF0ZUV4cG9ydFJlcXVlc3QoKTtcclxuXHJcblxyXG4gICAgdGhpcy5UcmFuc2xhdGVBcGlDbGllbnQuY3JlYXRlRXhwb3J0KHJlcXVlc3QpLnN1YnNjcmliZSgobW9kZWw6IENyZWF0ZUV4cG9ydFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIGFsZXJ0KG1vZGVsLnVybCk7XHJcblxyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwMClcclxuICAgICAgICBhbGVydChlcnJvci5qc29uKCkpO1xyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBhbGVydCgnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcbiAgICAgICAgYWxlcnQoZXJyb3IpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBJbXBvcnQoKTogdm9pZCB7XHJcbiAgICB2YXIgcmVxdWVzdCA9IG5ldyBSZWFkRXhwb3J0UmVxdWVzdCgpO1xyXG5cclxuXHJcbiAgICB0aGlzLlRyYW5zbGF0ZUFwaUNsaWVudC5yZWFkRXhwb3J0KHJlcXVlc3QpLnN1YnNjcmliZSgoKSA9PiB7XHJcblxyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwMClcclxuICAgICAgICBhbGVydChlcnJvci5qc29uKCkpO1xyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBhbGVydCgnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcbiAgICAgICAgYWxlcnQoZXJyb3IpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBJc0hUTUwoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5TZWxlY3RlZEJlaGVlckxhbmd1YWdlc0NhdGVnb3J5Vmlld01vZGVsICE9IG51bGwpIHtcclxuICAgICAgdmFyIHN1YmNhdHMgPSB0aGlzLlNlbGVjdGVkQmVoZWVyTGFuZ3VhZ2VzQ2F0ZWdvcnlWaWV3TW9kZWwuc3ViQ2F0ZWdvcmllcztcclxuXHJcbiAgICAgIGlmIChzdWJjYXRzICE9IG51bGwpIHtcclxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN1YmNhdHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIGlmIChzdWJjYXRzW2ldLmh0bWwpXHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBHZXRMYW5ndWFnZUNvdW50KCk6IG51bWJlciB7XHJcbiAgICB2YXIgY291bnQgPSAwO1xyXG4gICAgaWYgKHRoaXMuQmVoZWVyTGFuZ3VhZ2VzVmlld01vZGVsICE9IG51bGwpIHtcclxuICAgICAgdmFyIGxhbmd1YWdlcyA9IHRoaXMuQmVoZWVyTGFuZ3VhZ2VzVmlld01vZGVsLmxhbmd1YWdlcztcclxuXHJcbiAgICAgIGlmIChsYW5ndWFnZXMgIT0gbnVsbCkge1xyXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGFuZ3VhZ2VzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICBpZiAobGFuZ3VhZ2VzW2ldLnNlbGVjdGVkKVxyXG4gICAgICAgICAgICBjb3VudCsrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBjb3VudDtcclxuICB9XHJcbn1cclxuIiwiPGFwcC1iZWhlZXItbmF2PjwvYXBwLWJlaGVlci1uYXY+XHJcblxyXG48YXBwLWZhYi1sb2FkZXIgKm5nSWY9XCJMb2FkaW5nXCI+PC9hcHAtZmFiLWxvYWRlcj5cclxuXHJcbjxkaXYgKm5nSWY9XCIhTG9hZGluZ1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJkaXNwbGF5ZmxleFwiICN0YWJsZWRpdiAod2luZG93OnJlc2l6ZSk9XCJvblJlc2l6ZSgkZXZlbnQpXCI+XHJcbiAgICA8ZGl2PlxyXG4gICAgICA8bWF0LWNhcmQgY2xhc3M9XCJtYWluLWJhclwiPlxyXG4gICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCI+XHJcbiAgICAgICAgICAgIDxtYXQtbGFiZWw+R3JvdXA8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgWyhuZ01vZGVsKV09XCJTZWxlY3RlZEJlaGVlckxhbmd1YWdlc0NhdGVnb3J5Vmlld01vZGVsXCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJ0aGlzLnBhZ2VJbmRleCA9IDA7IFJlZnJlc2hQYWdpbmF0b3IoKTsgUmVzaXplKCk7XCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGNhdCBvZiBCZWhlZXJMYW5ndWFnZXNWaWV3TW9kZWwuY2F0ZWdvcmllc1wiIFt2YWx1ZV09XCJjYXRcIj5cclxuICAgICAgICAgICAgICAgIHt7IFRyYW5zbGF0aW9uQ2F0ZWdvcnlbY2F0LnRyYW5zbGF0aW9uQ2F0ZWdvcnldIH19XHJcbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgPGRpdiAqbmdJZj1cIiFJc0hUTUwoKVwiPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBsYW5ndWFnZSBvZiBCZWhlZXJMYW5ndWFnZXNWaWV3TW9kZWwubGFuZ3VhZ2VzXCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1jaGVja2JveCBbKG5nTW9kZWwpXT1cImxhbmd1YWdlLnNlbGVjdGVkXCI+XHJcbiAgICAgICAgICAgICAgICA8ZmFiLWZsYWcgW2NvdW50cnldPVwibGFuZ3VhZ2UuZmxhZ1wiPjwvZmFiLWZsYWc+IHt7IGxhbmd1YWdlLm5hbWUgfX1cclxuICAgICAgICAgICAgICA8L21hdC1jaGVja2JveD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiSXNIVE1MKClcIj5cclxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1sYWJlbD5MYW5ndWFnZTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgIDxtYXQtc2VsZWN0IFsobmdNb2RlbCldPVwiU2VsZWN0ZWRCZWhlZXJMYW5ndWFnZVZpZXdNb2RlbFwiID5cclxuICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBsYW5ndWFnZSBvZiBCZWhlZXJMYW5ndWFnZXNWaWV3TW9kZWwubGFuZ3VhZ2VzXCIgW3ZhbHVlXT1cImxhbmd1YWdlXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxmYWItZmxhZyBbY291bnRyeV09XCJsYW5ndWFnZS5mbGFnXCI+PC9mYWItZmxhZz4ge3sgbGFuZ3VhZ2UubmFtZSB9fVxyXG4gICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxiciAvPjxiciAvPlxyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiU2F2ZSgpXCIgY2xhc3M9XCJzYXZlLWJ1dHRvblwiIFtkaXNhYmxlZF09XCIhT3BlbkNoYW5nZXNcIj5cclxuICAgICAgICAgICAgU2F2ZVxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICA8L21hdC1jYXJkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8bWF0LWNhcmQgY2xhc3M9XCJtYWluLWJhciBmbGV4YXV0b1wiPlxyXG4gICAgICA8bWF0LWNhcmQtY29udGVudD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWF4LWhlaWdodFwiPlxyXG5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJTZWxlY3RlZEJlaGVlckxhbmd1YWdlc0NhdGVnb3J5Vmlld01vZGVsICE9IG51bGxcIj5cclxuICAgICAgICAgICAgPGgxPnt7IFRyYW5zbGF0aW9uQ2F0ZWdvcnlbU2VsZWN0ZWRCZWhlZXJMYW5ndWFnZXNDYXRlZ29yeVZpZXdNb2RlbC50cmFuc2xhdGlvbkNhdGVnb3J5XSB9fTwvaDE+XHJcblxyXG4gICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJmdWxsLXdpZHRoXCI+XHJcbiAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIklzSFRNTCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImNhdC1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZmFiLWZsYWcgW2NvdW50cnldPVwiU2VsZWN0ZWRCZWhlZXJMYW5ndWFnZVZpZXdNb2RlbC5mbGFnXCI+PC9mYWItZmxhZz4ge3sgU2VsZWN0ZWRCZWhlZXJMYW5ndWFnZVZpZXdNb2RlbC5uYW1lIH19XHJcbiAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIUlzSFRNTCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPVwiMlwiIGNsYXNzPVwiY2F0LXJvd1wiPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGxhbmd1YWdlIG9mIEJlaGVlckxhbmd1YWdlc1ZpZXdNb2RlbC5sYW5ndWFnZXNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJjYXQtcm93XCIgKm5nSWY9XCJsYW5ndWFnZS5zZWxlY3RlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGZhYi1mbGFnIFtjb3VudHJ5XT1cImxhbmd1YWdlLmZsYWdcIj48L2ZhYi1mbGFnPiB7eyBsYW5ndWFnZS5uYW1lIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8L3RyPlxyXG5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiSXNIVE1MKClcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHN1YmNhdCBvZiBBY3RpdmVTdWJzXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGtleSBvZiBzdWJjYXQua2V5c1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGxhbmd1YWdlIG9mIEJlaGVlckxhbmd1YWdlc1ZpZXdNb2RlbC5sYW5ndWFnZXM7IGluZGV4IGFzIGlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwibGFuZ3VhZ2UgPT0gU2VsZWN0ZWRCZWhlZXJMYW5ndWFnZVZpZXdNb2RlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YW5ndWxhci1lZGl0b3IgW2NvbmZpZ109XCJlZGl0b3JDb25maWdcIiBbKG5nTW9kZWwpXT1cIkdldEVudHJ5KGtleS5lbnRyaWVzLCBsYW5ndWFnZSkudmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJVcGRhdGVDaGFuZ2VkKEdldEVudHJ5KGtleS5lbnRyaWVzLCBsYW5ndWFnZSkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FuZ3VsYXItZWRpdG9yPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIUlzSFRNTCgpXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzdWJjYXQgb2YgQWN0aXZlU3Vic1wiPlxyXG4gICAgICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IGtleSBvZiBzdWJjYXQua2V5c1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7IFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnlbc3ViY2F0LnRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnldIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwia2V5LnRleHQgIT0gJydcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgKHt7IGtleS50ZXh0IH19KVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8dGQ+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBsYW5ndWFnZSBvZiBCZWhlZXJMYW5ndWFnZXNWaWV3TW9kZWwubGFuZ3VhZ2VzOyBpbmRleCBhcyBpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJsYW5ndWFnZS5zZWxlY3RlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGx3aWR0aFwiICpuZ0lmPVwiR2V0RW50cnkoa2V5LmVudHJpZXMsIGxhbmd1YWdlKSAhPSBudWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnlbc3ViY2F0LnRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnldIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJHZXRFbnRyeShrZXkuZW50cmllcywgbGFuZ3VhZ2UpLnZhbHVlXCIgKGtleXVwKT1cIlVwZGF0ZUNoYW5nZWQoR2V0RW50cnkoa2V5LmVudHJpZXMsIGxhbmd1YWdlKSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgIDwvdHI+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8IS0tPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZmlsdGVyIG9mIHN1YmNhdC5maWx0ZXJzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBmaWx0ZXIuZmlsdGVyLnRleHQgfX1cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dGQ+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGxhbmd1YWdlIG9mIEJlaGVlckxhbmd1YWdlc1ZpZXdNb2RlbC5sYW5ndWFnZXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwibGFuZ3VhZ2Uuc2VsZWN0ZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGx3aWR0aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgVHJhbnNsYXRpb25TdWJDYXRlZ29yeVtzdWJjYXQudHJhbnNsYXRpb25TdWJDYXRlZ29yeV0gfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJHZXRFbnRyeShmaWx0ZXIuZmlsdGVyLmVudHJpZXMsIGxhbmd1YWdlKS52YWx1ZVwiIChrZXl1cCk9XCJVcGRhdGVDaGFuZ2VkKEdldEVudHJ5KGZpbHRlci5maWx0ZXIuZW50cmllcywgbGFuZ3VhZ2UpKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBmaWx0ZXIub3B0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPnt7IG9wdGlvbi50ZXh0IH19PC9saT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbGFuZ3VhZ2Ugb2YgQmVoZWVyTGFuZ3VhZ2VzVmlld01vZGVsLmxhbmd1YWdlc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cImxhbmd1YWdlLnNlbGVjdGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGx3aWR0aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnlbc3ViY2F0LnRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnldIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cIkdldEVudHJ5KG9wdGlvbi5lbnRyaWVzLCBsYW5ndWFnZSkudmFsdWVcIiAoa2V5dXApPVwiVXBkYXRlQ2hhbmdlZChHZXRFbnRyeShvcHRpb24uZW50cmllcywgbGFuZ3VhZ2UpKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPi0tPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvdGFibGU+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgPG1hdC1wYWdpbmF0b3IgI3BhZ2luYXRvclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgKHBhZ2UpPVwiaGFuZGxlUGFnZUV2ZW50KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2xlbmd0aF09XCJhbW91bnRMZW5ndGhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3BhZ2VTaXplXT1cImFtb3VudFBlclBhZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dGaXJzdExhc3RCdXR0b25zXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGVQYWdlU2l6ZV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtwYWdlSW5kZXhdPVwicGFnZUluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJTZWxlY3QgcGFnZVwiPlxyXG4gICAgICAgICAgPC9tYXQtcGFnaW5hdG9yPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICA8L21hdC1jYXJkPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|