@alfresco/aca-content 5.2.0 → 5.3.0-11955434723
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/folder-rules/manage-rules/manage-rules.smart-component.mjs +13 -17
- package/esm2022/folder-rules/rule-details/actions/rule-action.ui-component.mjs +9 -12
- package/esm2022/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.mjs +8 -12
- package/esm2022/folder-rules/rule-details/rule-details.ui-component.mjs +8 -12
- package/esm2022/folder-rules/rule-list/rule-list/rule-list.ui-component.mjs +5 -7
- package/esm2022/folder-rules/rule-set-picker/rule-set-picker.smart-component.mjs +7 -10
- package/esm2022/lib/components/bulk-actions-dropdown/bulk-actions-dropdown.component.mjs +8 -11
- package/esm2022/lib/components/common/toggle-shared/toggle-shared.component.mjs +6 -11
- package/esm2022/lib/components/context-menu/context-menu-outside-event.directive.mjs +7 -12
- package/esm2022/lib/components/context-menu/context-menu.component.mjs +2 -2
- package/esm2022/lib/components/details/details.component.mjs +4 -3
- package/esm2022/lib/components/dl-custom-components/datatable-cell-badges/datatable-cell-badges.component.mjs +5 -10
- package/esm2022/lib/components/dl-custom-components/name-column/name-column.component.mjs +8 -12
- package/esm2022/lib/components/files/files.component.mjs +9 -8
- package/esm2022/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.mjs +12 -15
- package/esm2022/lib/components/info-drawer/metadata-tab/metadata-tab.component.mjs +12 -16
- package/esm2022/lib/components/knowledge-retrieval/search-ai/agents-button/agents-button.component.mjs +7 -10
- package/esm2022/lib/components/knowledge-retrieval/search-ai/search-ai-input/search-ai-input.component.mjs +6 -11
- package/esm2022/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.mjs +5 -8
- package/esm2022/lib/components/search/search-input/search-input.component.mjs +6 -9
- package/esm2022/lib/components/search/search-input-control/search-input-control.component.mjs +2 -8
- package/esm2022/lib/components/search/search-libraries-results/search-libraries-results.component.mjs +3 -3
- package/esm2022/lib/components/search/search-results/search-results.component.mjs +2 -3
- package/esm2022/lib/components/search/search-results-row/search-results-row.component.mjs +7 -11
- package/esm2022/lib/components/search/search-save/sidenav/save-search-sidenav.component.mjs +5 -10
- package/esm2022/lib/components/shared-link-view/shared-link-view.component.mjs +8 -11
- package/esm2022/lib/components/sidenav/components/sidenav-header.component.mjs +5 -10
- package/esm2022/lib/components/sidenav/directives/active-link.directive.mjs +6 -6
- package/esm2022/lib/components/sidenav/directives/expansion-panel.directive.mjs +7 -11
- package/esm2022/lib/components/sidenav/directives/menu-panel.directive.mjs +7 -11
- package/esm2022/lib/components/sidenav/sidenav.component.mjs +9 -13
- package/esm2022/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.mjs +6 -10
- package/esm2022/lib/components/upload-files-dialog/upload-files-dialog.component.mjs +4 -9
- package/esm2022/lib/components/view-profile/view-profile.component.mjs +4 -9
- package/esm2022/lib/directives/document-list.directive.mjs +8 -12
- package/esm2022/viewer/lib/components/preview/preview.component.mjs +9 -11
- package/esm2022/viewer/lib/components/viewer/viewer.component.mjs +15 -16
- package/fesm2022/alfresco-aca-content-folder-rules.mjs +27 -49
- package/fesm2022/alfresco-aca-content-folder-rules.mjs.map +1 -1
- package/fesm2022/alfresco-aca-content-viewer.mjs +16 -20
- package/fesm2022/alfresco-aca-content-viewer.mjs.map +1 -1
- package/fesm2022/alfresco-aca-content.mjs +73 -168
- package/fesm2022/alfresco-aca-content.mjs.map +1 -1
- package/folder-rules/manage-rules/manage-rules.smart-component.d.ts +3 -5
- package/folder-rules/rule-details/actions/rule-action.ui-component.d.ts +4 -5
- package/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.d.ts +3 -4
- package/folder-rules/rule-details/rule-details.ui-component.d.ts +4 -5
- package/folder-rules/rule-list/rule-list/rule-list.ui-component.d.ts +3 -4
- package/folder-rules/rule-set-picker/rule-set-picker.smart-component.d.ts +3 -5
- package/lib/components/bulk-actions-dropdown/bulk-actions-dropdown.component.d.ts +3 -4
- package/lib/components/common/toggle-shared/toggle-shared.component.d.ts +4 -5
- package/lib/components/context-menu/context-menu-outside-event.directive.d.ts +3 -4
- package/lib/components/context-menu/context-menu.component.d.ts +1 -1
- package/lib/components/details/details.component.d.ts +1 -2
- package/lib/components/dl-custom-components/datatable-cell-badges/datatable-cell-badges.component.d.ts +3 -4
- package/lib/components/dl-custom-components/name-column/name-column.component.d.ts +3 -4
- package/lib/components/files/files.component.d.ts +1 -1
- package/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.d.ts +4 -6
- package/lib/components/info-drawer/metadata-tab/metadata-tab.component.d.ts +6 -7
- package/lib/components/knowledge-retrieval/search-ai/agents-button/agents-button.component.d.ts +3 -4
- package/lib/components/knowledge-retrieval/search-ai/search-ai-input/search-ai-input.component.d.ts +3 -4
- package/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.d.ts +2 -3
- package/lib/components/search/search-input/search-input.component.d.ts +1 -2
- package/lib/components/search/search-input-control/search-input-control.component.d.ts +2 -5
- package/lib/components/search/search-results/search-results.component.d.ts +0 -1
- package/lib/components/search/search-results-row/search-results-row.component.d.ts +3 -4
- package/lib/components/search/search-save/sidenav/save-search-sidenav.component.d.ts +3 -5
- package/lib/components/shared-link-view/shared-link-view.component.d.ts +4 -5
- package/lib/components/sidenav/components/sidenav-header.component.d.ts +3 -4
- package/lib/components/sidenav/directives/active-link.directive.d.ts +1 -1
- package/lib/components/sidenav/directives/expansion-panel.directive.d.ts +3 -4
- package/lib/components/sidenav/directives/menu-panel.directive.d.ts +3 -4
- package/lib/components/sidenav/sidenav.component.d.ts +3 -4
- package/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.d.ts +3 -4
- package/lib/components/upload-files-dialog/upload-files-dialog.component.d.ts +1 -27
- package/lib/components/view-profile/view-profile.component.d.ts +2 -4
- package/lib/directives/document-list.directive.d.ts +3 -5
- package/package.json +5 -5
- package/viewer/lib/components/preview/preview.component.d.ts +3 -4
- package/viewer/lib/components/viewer/viewer.component.d.ts +2 -2
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
* You should have received a copy of the GNU Lesser General Public License
|
|
22
22
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
23
23
|
*/
|
|
24
|
-
import { Component, forwardRef, inject, Input, ViewEncapsulation } from '@angular/core';
|
|
24
|
+
import { Component, DestroyRef, forwardRef, inject, Input, ViewEncapsulation } from '@angular/core';
|
|
25
25
|
import { FormControl, FormGroup, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
|
|
26
26
|
import { comparatorHiddenForConditionFieldType, ruleConditionFields } from './rule-condition-fields';
|
|
27
27
|
import { ruleConditionComparators } from './rule-condition-comparators';
|
|
@@ -32,11 +32,11 @@ import { MatSelectModule } from '@angular/material/select';
|
|
|
32
32
|
import { MatInputModule } from '@angular/material/input';
|
|
33
33
|
import { CategoryService, TagService } from '@alfresco/adf-content-services';
|
|
34
34
|
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
35
|
-
import { debounceTime, distinctUntilChanged, first
|
|
36
|
-
import { Subject } from 'rxjs';
|
|
35
|
+
import { debounceTime, distinctUntilChanged, first } from 'rxjs/operators';
|
|
37
36
|
import { MatOptionModule } from '@angular/material/core';
|
|
38
37
|
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
39
38
|
import { AppSettingsService } from '@alfresco/aca-shared';
|
|
39
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
40
40
|
import * as i0 from "@angular/core";
|
|
41
41
|
import * as i1 from "@angular/common";
|
|
42
42
|
import * as i2 from "@ngx-translate/core";
|
|
@@ -61,8 +61,8 @@ class RuleSimpleConditionUiComponent {
|
|
|
61
61
|
autoCompleteOptions = [];
|
|
62
62
|
showLoadingSpinner;
|
|
63
63
|
readOnly = false;
|
|
64
|
-
onDestroy$ = new Subject();
|
|
65
64
|
autoCompleteOptionsSubscription;
|
|
65
|
+
destroyRef = inject(DestroyRef);
|
|
66
66
|
disabledTags = !this.tagService.areTagsEnabled();
|
|
67
67
|
disabledCategories = !this.categoryService.areCategoriesEnabled();
|
|
68
68
|
fields = ruleConditionFields.filter((condition) => !((this.disabledTags && condition.name === 'tag') || (this.disabledCategories && condition.name === 'category')));
|
|
@@ -130,23 +130,19 @@ class RuleSimpleConditionUiComponent {
|
|
|
130
130
|
this.parameterControl.setValue('');
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
|
-
ngOnDestroy() {
|
|
134
|
-
this.onDestroy$.next();
|
|
135
|
-
this.onDestroy$.complete();
|
|
136
|
-
}
|
|
137
133
|
ngOnInit() {
|
|
138
|
-
this.form.valueChanges.pipe(
|
|
134
|
+
this.form.valueChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((value) => {
|
|
139
135
|
this.onChange(value);
|
|
140
136
|
this.onTouch();
|
|
141
137
|
});
|
|
142
138
|
this.form
|
|
143
139
|
.get('field')
|
|
144
|
-
.valueChanges.pipe(distinctUntilChanged(),
|
|
140
|
+
.valueChanges.pipe(distinctUntilChanged(), takeUntilDestroyed(this.destroyRef))
|
|
145
141
|
.subscribe((field) => {
|
|
146
142
|
if (field === 'category') {
|
|
147
143
|
this.autoCompleteOptionsSubscription = this.form
|
|
148
144
|
.get('parameter')
|
|
149
|
-
.valueChanges.pipe(distinctUntilChanged(), debounceTime(AUTOCOMPLETE_OPTIONS_DEBOUNCE_TIME),
|
|
145
|
+
.valueChanges.pipe(distinctUntilChanged(), debounceTime(AUTOCOMPLETE_OPTIONS_DEBOUNCE_TIME), takeUntilDestroyed(this.destroyRef))
|
|
150
146
|
.subscribe((categoryName) => {
|
|
151
147
|
this.getCategories(categoryName);
|
|
152
148
|
});
|
|
@@ -234,4 +230,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
234
230
|
}], ctorParameters: function () { return []; }, propDecorators: { readOnly: [{
|
|
235
231
|
type: Input
|
|
236
232
|
}] } });
|
|
237
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS1zaW1wbGUtY29uZGl0aW9uLnVpLWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L2ZvbGRlci1ydWxlcy9zcmMvcnVsZS1kZXRhaWxzL2NvbmRpdGlvbnMvcnVsZS1zaW1wbGUtY29uZGl0aW9uLnVpLWNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L2ZvbGRlci1ydWxlcy9zcmMvcnVsZS1kZXRhaWxzL2NvbmRpdGlvbnMvcnVsZS1zaW1wbGUtY29uZGl0aW9uLnVpLWNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBcUIsaUJBQWlCLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ3JJLE9BQU8sRUFBeUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZJLE9BQU8sRUFBRSxxQ0FBcUMsRUFBc0IsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6SCxPQUFPLEVBQTJCLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakcsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUs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QUFDLENBQUM7UUFDekQsT0FBTztZQUNMLEtBQUssRUFBRSxVQUFVO1lBQ2pCLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxJQUFJLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZO1NBQzlELENBQUM7SUFDSixDQUFDO3VHQXBMVSw4QkFBOEI7MkZBQTlCLDhCQUE4QixpS0FSOUI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixLQUFLLEVBQUUsSUFBSTtnQkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDhCQUE4QixDQUFDO2FBQzlEO1NBQ0YsK0NDM0VILCtvSEE0RUEsMmJEdkJJLFlBQVksMmdCQUNaLGVBQWUsMkZBQ2YsbUJBQW1CLDQ4QkFDbkIsa0JBQWtCLHlPQUNsQixlQUFlLHVUQUNmLGNBQWMsMFdBQ2QscUJBQXFCLG9XQUVyQixlQUFlLDhCQUNmLHdCQUF3Qjs7U0FlZiw4QkFBOEI7MkZBQTlCLDhCQUE4QjtrQkEzQjFDLFNBQVM7aUNBQ0ksSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixjQUFjO3dCQUNkLHFCQUFxQjt3QkFDckIsU0FBUzt3QkFDVCxlQUFlO3dCQUNmLHdCQUF3QjtxQkFDekIsWUFDUywyQkFBMkIsaUJBR3RCLGlCQUFpQixDQUFDLElBQUksUUFDL0IsRUFBRSxLQUFLLEVBQUUsMkJBQTJCLEVBQUUsYUFDakM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsK0JBQStCLENBQUM7eUJBQzlEO3FCQUNGOzBFQWlCUSxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI0IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbi5cbiAqIElmIHRoZSBzb2Z0d2FyZSB3YXMgcHVyY2hhc2VkIHVuZGVyIGEgcGFpZCBBbGZyZXNjbyBsaWNlbnNlLCB0aGUgdGVybXMgb2ZcbiAqIHRoZSBwYWlkIGxpY2Vuc2UgYWdyZWVtZW50IHdpbGwgcHJldmFpbC4gT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBmcm9tIEh5bGFuZCBTb2Z0d2FyZS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgaW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIE5HX1ZBTFVFX0FDQ0VTU09SLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUnVsZVNpbXBsZUNvbmRpdGlvbiB9IGZyb20gJy4uLy4uL21vZGVsL3J1bGUtc2ltcGxlLWNvbmRpdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBjb21wYXJhdG9ySGlkZGVuRm9yQ29uZGl0aW9uRmllbGRUeXBlLCBSdWxlQ29uZGl0aW9uRmllbGQsIHJ1bGVDb25kaXRpb25GaWVsZHMgfSBmcm9tICcuL3J1bGUtY29uZGl0aW9uLWZpZWxkcyc7XG5pbXBvcnQgeyBSdWxlQ29uZGl0aW9uQ29tcGFyYXRvciwgcnVsZUNvbmRpdGlvbkNvbXBhcmF0b3JzIH0gZnJvbSAnLi9ydWxlLWNvbmRpdGlvbi1jb21wYXJhdG9ycyc7XG5pbXBvcnQgeyBBc3luY1BpcGUsIENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgQ2F0ZWdvcnlTZXJ2aWNlLCBUYWdTZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb250ZW50LXNlcnZpY2VzJztcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaXJzdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNYXRPcHRpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xuaW1wb3J0IHsgQ2F0ZWdvcnlFbnRyeSB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgQWxmcmVzY29NaW1lVHlwZSwgQXBwU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQnO1xuXG5pbnRlcmZhY2UgQXV0b0NvbXBsZXRlT3B0aW9uIHtcbiAgZGlzcGxheUxhYmVsOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG59XG5cbmNvbnN0IEFVVE9DT01QTEVURV9PUFRJT05TX0RFQk9VTkNFX1RJTUUgPSA1MDA7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgIEFzeW5jUGlwZSxcbiAgICBNYXRPcHRpb25Nb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlXG4gIF0sXG4gIHNlbGVjdG9yOiAnYWNhLXJ1bGUtc2ltcGxlLWNvbmRpdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9ydWxlLXNpbXBsZS1jb25kaXRpb24udWktY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ydWxlLXNpbXBsZS1jb25kaXRpb24udWktY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDogeyBjbGFzczogJ2FjYS1ydWxlLXNpbXBsZS1jb25kaXRpb24nIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSdWxlU2ltcGxlQ29uZGl0aW9uVWlDb21wb25lbnQpXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFJ1bGVTaW1wbGVDb25kaXRpb25VaUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBhcHBTZXR0aW5ncyA9IGluamVjdChBcHBTZXR0aW5nc1NlcnZpY2UpO1xuICBwcml2YXRlIGNhdGVnb3J5U2VydmljZSA9IGluamVjdChDYXRlZ29yeVNlcnZpY2UpO1xuICBwcml2YXRlIHRhZ1NlcnZpY2UgPSBpbmplY3QoVGFnU2VydmljZSk7XG5cbiAgZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgIGZpZWxkOiBuZXcgRm9ybUNvbnRyb2woJ2NtOm5hbWUnKSxcbiAgICBjb21wYXJhdG9yOiBuZXcgRm9ybUNvbnRyb2woJ2VxdWFscycpLFxuICAgIHBhcmFtZXRlcjogbmV3IEZvcm1Db250cm9sKClcbiAgfSk7XG5cbiAgbWltZVR5cGVzOiBBbGZyZXNjb01pbWVUeXBlW10gPSBbXTtcbiAgYXV0b0NvbXBsZXRlT3B0aW9uczogQXV0b0NvbXBsZXRlT3B0aW9uW10gPSBbXTtcbiAgc2hvd0xvYWRpbmdTcGlubmVyOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIHJlYWRPbmx5ID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBvbkRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBhdXRvQ29tcGxldGVPcHRpb25zU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkaXNhYmxlZFRhZ3MgPSAhdGhpcy50YWdTZXJ2aWNlLmFyZVRhZ3NFbmFibGVkKCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGlzYWJsZWRDYXRlZ29yaWVzID0gIXRoaXMuY2F0ZWdvcnlTZXJ2aWNlLmFyZUNhdGVnb3JpZXNFbmFibGVkKCk7XG5cbiAgcmVhZG9ubHkgZmllbGRzID0gcnVsZUNvbmRpdGlvbkZpZWxkcy5maWx0ZXIoXG4gICAgKGNvbmRpdGlvbikgPT4gISgodGhpcy5kaXNhYmxlZFRhZ3MgJiYgY29uZGl0aW9uLm5hbWUgPT09ICd0YWcnKSB8fCAodGhpcy5kaXNhYmxlZENhdGVnb3JpZXMgJiYgY29uZGl0aW9uLm5hbWUgPT09ICdjYXRlZ29yeScpKVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMubWltZVR5cGVzID0gdGhpcy5hcHBTZXR0aW5ncy5taW1lVHlwZXM7XG4gIH1cblxuICBnZXQgaXNTZWxlY3RlZEZpZWxkS25vd24oKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc2VsZWN0ZWRGaWVsZE5hbWUgPSB0aGlzLmZvcm0uZ2V0KCdmaWVsZCcpLnZhbHVlO1xuICAgIHJldHVybiB0aGlzLmZpZWxkcy5maW5kSW5kZXgoKGZpZWxkOiBSdWxlQ29uZGl0aW9uRmllbGQpID0+IHNlbGVjdGVkRmllbGROYW1lID09PSBmaWVsZC5uYW1lKSA+IC0xO1xuICB9XG4gIGdldCBzZWxlY3RlZEZpZWxkKCk6IFJ1bGVDb25kaXRpb25GaWVsZCB7XG4gICAgY29uc3Qgc2VsZWN0ZWRGaWVsZE5hbWUgPSB0aGlzLmZvcm0uZ2V0KCdmaWVsZCcpLnZhbHVlO1xuICAgIGlmICghdGhpcy5pc1NlbGVjdGVkRmllbGRLbm93bikge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZTogc2VsZWN0ZWRGaWVsZE5hbWUsXG4gICAgICAgIGxhYmVsOiBzZWxlY3RlZEZpZWxkTmFtZSxcbiAgICAgICAgdHlwZTogJ3NwZWNpYWwnXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5maWVsZHMuZmluZCgoZmllbGQpID0+IGZpZWxkLm5hbWUgPT09IHNlbGVjdGVkRmllbGROYW1lKTtcbiAgfVxuXG4gIGdldCBzZWxlY3RlZEZpZWxkQ29tcGFyYXRvcnMoKTogUnVsZUNvbmRpdGlvbkNvbXBhcmF0b3JbXSB7XG4gICAgcmV0dXJuIHJ1bGVDb25kaXRpb25Db21wYXJhdG9ycy5maWx0ZXIoKGNvbXBhcmF0b3IpID0+IE9iamVjdC5rZXlzKGNvbXBhcmF0b3IubGFiZWxzKS5pbmNsdWRlcyh0aGlzLnNlbGVjdGVkRmllbGQudHlwZSkpO1xuICB9XG4gIGdldCBpc0NvbXBhcmF0b3JIaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGNvbXBhcmF0b3JIaWRkZW5Gb3JDb25kaXRpb25GaWVsZFR5cGUuaW5jbHVkZXModGhpcy5zZWxlY3RlZEZpZWxkPy50eXBlKTtcbiAgfVxuXG4gIGdldCBjb21wYXJhdG9yQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLmZvcm0uZ2V0KCdjb21wYXJhdG9yJyk7XG4gIH1cblxuICBwcml2YXRlIGdldCBwYXJhbWV0ZXJDb250cm9sKCk6IEFic3RyYWN0Q29udHJvbDxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLmdldCgncGFyYW1ldGVyJyk7XG4gIH1cblxuICBvbkNoYW5nZTogKGNvbmRpdGlvbjogUnVsZVNpbXBsZUNvbmRpdGlvbikgPT4gdm9pZCA9ICgpID0+IHVuZGVmaW5lZDtcbiAgb25Ub3VjaDogKCkgPT4gdm9pZCA9ICgpID0+IHVuZGVmaW5lZDtcblxuICB3cml0ZVZhbHVlKHZhbHVlOiBSdWxlU2ltcGxlQ29uZGl0aW9uKSB7XG4gICAgdGhpcy5mb3JtLnNldFZhbHVlKHZhbHVlKTtcbiAgICBpZiAodmFsdWU/LmZpZWxkID09PSAnY2F0ZWdvcnknKSB7XG4gICAgICB0aGlzLnNob3dMb2FkaW5nU3Bpbm5lciA9IHRydWU7XG4gICAgICB0aGlzLmNhdGVnb3J5U2VydmljZVxuICAgICAgICAuZ2V0Q2F0ZWdvcnkodmFsdWUucGFyYW1ldGVyLCB7IGluY2x1ZGU6IFsncGF0aCddIH0pXG4gICAgICAgIC5waXBlKGZpcnN0KCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGNhdGVnb3J5OiBDYXRlZ29yeUVudHJ5KSA9PiB7XG4gICAgICAgICAgdGhpcy5zaG93TG9hZGluZ1NwaW5uZXIgPSBmYWxzZTtcbiAgICAgICAgICBjb25zdCBvcHRpb24gPSB0aGlzLmJ1aWxkQXV0b2NvbXBsZXRlT3B0aW9uRnJvbUNhdGVnb3J5KGNhdGVnb3J5LmVudHJ5LmlkLCBjYXRlZ29yeS5lbnRyeS5wYXRoLCBjYXRlZ29yeS5lbnRyeS5uYW1lKTtcbiAgICAgICAgICB0aGlzLmF1dG9Db21wbGV0ZU9wdGlvbnMucHVzaChvcHRpb24pO1xuICAgICAgICAgIHRoaXMucGFyYW1ldGVyQ29udHJvbC5zZXRWYWx1ZShvcHRpb24udmFsdWUpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKSB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpIHtcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgfVxuXG4gIG9uQ2hhbmdlRmllbGQoKSB7XG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkRmllbGRDb21wYXJhdG9ycy5maW5kKChjb21wYXJhdG9yKSA9PiBjb21wYXJhdG9yLm5hbWUgPT09IHRoaXMuY29tcGFyYXRvckNvbnRyb2wudmFsdWUpKSB7XG4gICAgICB0aGlzLmNvbXBhcmF0b3JDb250cm9sLnNldFZhbHVlKCdlcXVhbHMnKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnBhcmFtZXRlckNvbnRyb2wudmFsdWUgJiYgdGhpcy5zZWxlY3RlZEZpZWxkPy50eXBlID09PSAnbWltZVR5cGUnKSB7XG4gICAgICB0aGlzLnBhcmFtZXRlckNvbnRyb2wuc2V0VmFsdWUodGhpcy5taW1lVHlwZXNbMF0/LnZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucGFyYW1ldGVyQ29udHJvbC52YWx1ZSkge1xuICAgICAgdGhpcy5wYXJhbWV0ZXJDb250cm9sLnNldFZhbHVlKCcnKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLm9uRGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMub25EZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5mb3JtLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKS5zdWJzY3JpYmUoKHZhbHVlOiBSdWxlU2ltcGxlQ29uZGl0aW9uKSA9PiB7XG4gICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICAgIHRoaXMub25Ub3VjaCgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5mb3JtXG4gICAgICAuZ2V0KCdmaWVsZCcpXG4gICAgICAudmFsdWVDaGFuZ2VzLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgdGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChmaWVsZDogc3RyaW5nKSA9PiB7XG4gICAgICAgIGlmIChmaWVsZCA9PT0gJ2NhdGVnb3J5Jykge1xuICAgICAgICAgIHRoaXMuYXV0b0NvbXBsZXRlT3B0aW9uc1N1YnNjcmlwdGlvbiA9IHRoaXMuZm9ybVxuICAgICAgICAgICAgLmdldCgncGFyYW1ldGVyJylcbiAgICAgICAgICAgIC52YWx1ZUNoYW5nZXMucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBkZWJvdW5jZVRpbWUoQVVUT0NPTVBMRVRFX09QVElPTlNfREVCT1VOQ0VfVElNRSksIHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoY2F0ZWdvcnlOYW1lKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuZ2V0Q2F0ZWdvcmllcyhjYXRlZ29yeU5hbWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5wYXJhbWV0ZXJDb250cm9sLnNldFZhbHVlKCcnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmF1dG9Db21wbGV0ZU9wdGlvbnNTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGNvbnN0IHJlYWRPbmx5ID0gY2hhbmdlc1sncmVhZE9ubHknXT8uY3VycmVudFZhbHVlO1xuXG4gICAgaWYgKHJlYWRPbmx5ICE9PSB1bmRlZmluZWQgJiYgcmVhZE9ubHkgIT09IG51bGwpIHtcbiAgICAgIGlmICh0aGlzLnJlYWRPbmx5KSB7XG4gICAgICAgIHRoaXMucmVhZE9ubHkgPSB0cnVlO1xuICAgICAgICB0aGlzLmZvcm0uZGlzYWJsZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZWFkT25seSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmZvcm0uZW5hYmxlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRDYXRlZ29yaWVzKGNhdGVnb3J5TmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5zaG93TG9hZGluZ1NwaW5uZXIgPSB0cnVlO1xuICAgIHRoaXMuY2F0ZWdvcnlTZXJ2aWNlXG4gICAgICAuc2VhcmNoQ2F0ZWdvcmllcyhjYXRlZ29yeU5hbWUpXG4gICAgICAucGlwZShmaXJzdCgpKVxuICAgICAgLnN1YnNjcmliZSgoZXhpc3RpbmdDYXRlZ29yaWVzUmVzdWx0KSA9PiB7XG4gICAgICAgIHRoaXMuc2hvd0xvYWRpbmdTcGlubmVyID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IG9wdGlvbnM6IEF1dG9Db21wbGV0ZU9wdGlvbltdID0gZXhpc3RpbmdDYXRlZ29yaWVzUmVzdWx0Py5saXN0Py5lbnRyaWVzPy5tYXAoKHJvd0VudHJ5KSA9PlxuICAgICAgICAgIHRoaXMuYnVpbGRBdXRvY29tcGxldGVPcHRpb25Gcm9tQ2F0ZWdvcnkocm93RW50cnkuZW50cnkuaWQsIHJvd0VudHJ5LmVudHJ5LnBhdGgubmFtZSwgcm93RW50cnkuZW50cnkubmFtZSlcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKG9wdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHRoaXMuYXV0b0NvbXBsZXRlT3B0aW9ucyA9IHRoaXMuc29ydEF1dG9Db21wbGV0ZU9wdGlvbnMob3B0aW9ucyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzb3J0QXV0b0NvbXBsZXRlT3B0aW9ucyhhdXRvQ29tcGxldGVPcHRpb25zOiBBdXRvQ29tcGxldGVPcHRpb25bXSk6IEF1dG9Db21wbGV0ZU9wdGlvbltdIHtcbiAgICByZXR1cm4gYXV0b0NvbXBsZXRlT3B0aW9ucy5zb3J0KChvcHRpb24xLCBvcHRpb24yKSA9PiBvcHRpb24xLmRpc3BsYXlMYWJlbC5sb2NhbGVDb21wYXJlKG9wdGlvbjIuZGlzcGxheUxhYmVsKSk7XG4gIH1cblxuICBhdXRvQ29tcGxldGVEaXNwbGF5RnVuY3Rpb24gPSAob3B0aW9uVmFsdWU6IHN0cmluZyk6IHN0cmluZyA9PlxuICAgIG9wdGlvblZhbHVlICYmIHRoaXMuYXV0b0NvbXBsZXRlT3B0aW9ucyA/IHRoaXMuYXV0b0NvbXBsZXRlT3B0aW9ucy5maW5kKChvcHRpb24pID0+IG9wdGlvbi52YWx1ZSA9PT0gb3B0aW9uVmFsdWUpPy5kaXNwbGF5TGFiZWwgOiBvcHRpb25WYWx1ZTtcblxuICBhdXRvU2VsZWN0VmFsaWRPcHRpb24oKSB7XG4gICAgY29uc3QgY3VycmVudFZhbHVlID0gdGhpcy5wYXJhbWV0ZXJDb250cm9sLnZhbHVlO1xuICAgIGNvbnN0IGlzVmFsaWRWYWx1ZVNlbGVjdGVkID0gISF0aGlzLmF1dG9Db21wbGV0ZU9wdGlvbnM/LmZpbmQoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSBjdXJyZW50VmFsdWUpO1xuICAgIGlmICghaXNWYWxpZFZhbHVlU2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMucGFyYW1ldGVyQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmF1dG9Db21wbGV0ZU9wdGlvbnM/LlswXS52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgYnVpbGRBdXRvY29tcGxldGVPcHRpb25Gcm9tQ2F0ZWdvcnkoY2F0ZWdvcnlJZDogc3RyaW5nLCBjYXRlZ29yeVBhdGg6IHN0cmluZywgY2F0ZWdvcnlOYW1lOiBzdHJpbmcpOiBBdXRvQ29tcGxldGVPcHRpb24ge1xuICAgIGNvbnN0IHBhdGggPSBjYXRlZ29yeVBhdGguc3BsaXQoJy8nKS5zcGxpY2UoMykuam9pbignLycpO1xuICAgIHJldHVybiB7XG4gICAgICB2YWx1ZTogY2F0ZWdvcnlJZCxcbiAgICAgIGRpc3BsYXlMYWJlbDogcGF0aCA/IGAke3BhdGh9LyR7Y2F0ZWdvcnlOYW1lfWAgOiBjYXRlZ29yeU5hbWVcbiAgICB9O1xuICB9XG59XG4iLCI8Zm9ybSBjbGFzcz1cImFjYS1ydWxlLXNpbXBsZS1jb25kaXRpb25fX2Zvcm1cIiBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiYWNhLXJ1bGUtc2ltcGxlLWNvbmRpdGlvbl9fZm9ybV9fZmllbGQtaW5wdXRcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiZmllbGRcIiBkYXRhLWF1dG9tYXRpb24taWQ9XCJmaWVsZC1zZWxlY3RcIlxuICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKClcIj5cbiAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwiIWlzU2VsZWN0ZWRGaWVsZEtub3duXCIgW3ZhbHVlXT1cInNlbGVjdGVkRmllbGQubmFtZVwiIGRhdGEtYXV0b21hdGlvbi1pZD1cInVua25vd24tZmllbGQtb3B0aW9uXCI+XG4gICAgICAgIHt7IHNlbGVjdGVkRmllbGQubGFiZWwgfX1cbiAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBmaWVsZHNcIiBbdmFsdWVdPVwiZmllbGQubmFtZVwiPlxuICAgICAgICB7eyBmaWVsZC5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9tYXQtb3B0aW9uPlxuICAgIDwvbWF0LXNlbGVjdD5cbiAgPC9tYXQtZm9ybS1maWVsZD5cblxuICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJhY2EtcnVsZS1zaW1wbGUtY29uZGl0aW9uX19mb3JtX19maWVsZC1pbnB1dCBhY2EtcnVsZS1zaW1wbGUtY29uZGl0aW9uX19mb3JtX19jb21wYXJhdG9yLWlucHV0XCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiXG4gICAgICAgICAgICAgICAgICBbY2xhc3NdPVwieyAnYWNhLWhpZGRlbic6IGlzQ29tcGFyYXRvckhpZGRlbiB9XCIgZGF0YS1hdXRvbWF0aW9uLWlkPVwiY29tcGFyYXRvci1mb3JtLWZpZWxkXCI+XG4gICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiY29tcGFyYXRvclwiIGRhdGEtYXV0b21hdGlvbi1pZD1cImNvbXBhcmF0b3Itc2VsZWN0XCI+XG4gICAgICA8bWF0LW9wdGlvblxuICAgICAgICAqbmdGb3I9XCJsZXQgY29tcGFyYXRvciBvZiBzZWxlY3RlZEZpZWxkQ29tcGFyYXRvcnNcIlxuICAgICAgICBbdmFsdWVdPVwiY29tcGFyYXRvci5uYW1lXCI+XG4gICAgICAgIHt7IGNvbXBhcmF0b3IubGFiZWxzW3RoaXMuc2VsZWN0ZWRGaWVsZD8udHlwZSB8fCAnZXF1YWxzJ10gfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICA8L21hdC1zZWxlY3Q+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiYWNhLXJ1bGUtc2ltcGxlLWNvbmRpdGlvbl9fZm9ybV9fZmllbGQtaW5wdXQgYWNhLXJ1bGUtc2ltcGxlLWNvbmRpdGlvbl9fZm9ybV9fcGFyYW1ldGVyLWlucHV0XCJcbiAgICAgICAgICAgICAgICAgIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIiBbbmdTd2l0Y2hdPVwic2VsZWN0ZWRGaWVsZC50eXBlXCI+XG4gICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwicGFyYW1ldGVyXCIgZGF0YS1hdXRvbWF0aW9uLWlkPVwic2ltcGxlLWNvbmRpdGlvbi12YWx1ZS1zZWxlY3RcIiAqbmdTd2l0Y2hDYXNlPVwiJ21pbWVUeXBlJ1wiPlxuICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG1pbWVUeXBlIG9mIG1pbWVUeXBlc1wiXG4gICAgICAgIFt2YWx1ZV09XCJtaW1lVHlwZS52YWx1ZVwiPlxuICAgICAgICB7eyBtaW1lVHlwZS5sYWJlbCB9fVxuICAgICAgPC9tYXQtb3B0aW9uPlxuICAgIDwvbWF0LXNlbGVjdD5cbiAgICA8bmctdGVtcGxhdGUgW25nU3dpdGNoQ2FzZV09XCInYXV0by1jb21wbGV0ZSdcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9cIlxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBhcmFtZXRlclwiXG4gICAgICAgICAgKGZvY3Vzb3V0KT1cImF1dG9TZWxlY3RWYWxpZE9wdGlvbigpXCJcbiAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhdXRvLWNvbXBsZXRlLWlucHV0LWZpZWxkXCJcbiAgICAgICAgLz5cbiAgICAgICAgPG1hdC1hdXRvY29tcGxldGVcbiAgICAgICAgICAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiXG4gICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiZm9sZGVyLXJ1bGUtYXV0by1jb21wbGV0ZVwiXG4gICAgICAgICAgW2F1dG9BY3RpdmVGaXJzdE9wdGlvbl09XCJ0cnVlXCJcbiAgICAgICAgICBbYXV0b1NlbGVjdEFjdGl2ZU9wdGlvbl09XCJ0cnVlXCJcbiAgICAgICAgICBbZGlzcGxheVdpdGhdPVwiYXV0b0NvbXBsZXRlRGlzcGxheUZ1bmN0aW9uXCI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiBkaXNhYmxlZCAqbmdJZj1cInNob3dMb2FkaW5nU3Bpbm5lcjsgZWxzZSBvcHRpb25MaXN0XCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWNhLXJ1bGUtc2ltcGxlLWNvbmRpdGlvbl9fYXV0by1jb21wbGV0ZS1sb2FkaW5nLXNwaW5uZXJcIj5cbiAgICAgICAgICAgICAgICA8bWF0LXByb2dyZXNzLXNwaW5uZXJcbiAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiXG4gICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhdXRvLWNvbXBsZXRlLWxvYWRpbmctc3Bpbm5lclwiXG4gICAgICAgICAgICAgICAgICBbZGlhbWV0ZXJdPVwiMjVcIiAvPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNvcHRpb25MaXN0PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImF1dG9Db21wbGV0ZU9wdGlvbnM/Lmxlbmd0aCA+IDA7IGVsc2Ugbm9PcHRpb25zVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGF1dG9Db21wbGV0ZU9wdGlvbnNcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIj5cbiAgICAgICAgICAgICAgICB7eyBvcHRpb24uZGlzcGxheUxhYmVsIH19XG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub09wdGlvbnNUZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gZGlzYWJsZWQ+XG4gICAgICAgICAgICAgICAge3sgJ0FDQV9GT0xERVJfUlVMRVMuQVVUT0NPTVBMRVRFLk5PX09QVElPTlNfRk9VTkQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlIG5nU3dpdGNoRGVmYXVsdD5cbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cInt7ICdBQ0FfRk9MREVSX1JVTEVTLlJVTEVfREVUQUlMUy5QTEFDRUhPTERFUi5WQUxVRScgfCB0cmFuc2xhdGUgfX1cIiB0eXBlPVwidGV4dFwiIGZvcm1Db250cm9sTmFtZT1cInBhcmFtZXRlclwiIGRhdGEtYXV0b21hdGlvbi1pZD1cInZhbHVlLWlucHV0XCI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZm9ybT5cbiJdfQ==
|
|
233
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS1zaW1wbGUtY29uZGl0aW9uLnVpLWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L2ZvbGRlci1ydWxlcy9zcmMvcnVsZS1kZXRhaWxzL2NvbmRpdGlvbnMvcnVsZS1zaW1wbGUtY29uZGl0aW9uLnVpLWNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L2ZvbGRlci1ydWxlcy9zcmMvcnVsZS1kZXRhaWxzL2NvbmRpdGlvbnMvcnVsZS1zaW1wbGUtY29uZGl0aW9uLnVpLWNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQW9DLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RJLE9BQU8sRUFBeUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZJLE9BQU8sRUFBRSxxQ0FBcUMsRUFBc0IsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6SCxPQUFPLEVBQTJCLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakcsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxP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SSxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWTtTQUM5RCxDQUFDO0lBQ0osQ0FBQzt1R0EvS1UsOEJBQThCOzJGQUE5Qiw4QkFBOEIsaUtBUjlCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQzthQUM5RDtTQUNGLCtDQzVFSCwrb0hBNEVBLDJiRHRCSSxZQUFZLDJnQkFDWixlQUFlLDJGQUNmLG1CQUFtQiw0OEJBQ25CLGtCQUFrQix5T0FDbEIsZUFBZSx1VEFDZixjQUFjLDBXQUNkLHFCQUFxQixvV0FFckIsZUFBZSw4QkFDZix3QkFBd0I7O1NBZWYsOEJBQThCOzJGQUE5Qiw4QkFBOEI7a0JBM0IxQyxTQUFTO2lDQUNJLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxxQkFBcUI7d0JBQ3JCLFNBQVM7d0JBQ1QsZUFBZTt3QkFDZix3QkFBd0I7cUJBQ3pCLFlBQ1MsMkJBQTJCLGlCQUd0QixpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CLEVBQUUsS0FBSyxFQUFFLDJCQUEyQixFQUFFLGFBQ2pDO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLCtCQUErQixDQUFDO3lCQUM5RDtxQkFDRjswRUFpQlEsUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIERlc3Ryb3lSZWYsIGZvcndhcmRSZWYsIGluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgTkdfVkFMVUVfQUNDRVNTT1IsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSdWxlU2ltcGxlQ29uZGl0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWwvcnVsZS1zaW1wbGUtY29uZGl0aW9uLm1vZGVsJztcbmltcG9ydCB7IGNvbXBhcmF0b3JIaWRkZW5Gb3JDb25kaXRpb25GaWVsZFR5cGUsIFJ1bGVDb25kaXRpb25GaWVsZCwgcnVsZUNvbmRpdGlvbkZpZWxkcyB9IGZyb20gJy4vcnVsZS1jb25kaXRpb24tZmllbGRzJztcbmltcG9ydCB7IFJ1bGVDb25kaXRpb25Db21wYXJhdG9yLCBydWxlQ29uZGl0aW9uQ29tcGFyYXRvcnMgfSBmcm9tICcuL3J1bGUtY29uZGl0aW9uLWNvbXBhcmF0b3JzJztcbmltcG9ydCB7IEFzeW5jUGlwZSwgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBDYXRlZ29yeVNlcnZpY2UsIFRhZ1NlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvbnRlbnQtc2VydmljZXMnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNYXRPcHRpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xuaW1wb3J0IHsgQ2F0ZWdvcnlFbnRyeSB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgQWxmcmVzY29NaW1lVHlwZSwgQXBwU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5pbnRlcmZhY2UgQXV0b0NvbXBsZXRlT3B0aW9uIHtcbiAgZGlzcGxheUxhYmVsOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG59XG5cbmNvbnN0IEFVVE9DT01QTEVURV9PUFRJT05TX0RFQk9VTkNFX1RJTUUgPSA1MDA7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgIEFzeW5jUGlwZSxcbiAgICBNYXRPcHRpb25Nb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlXG4gIF0sXG4gIHNlbGVjdG9yOiAnYWNhLXJ1bGUtc2ltcGxlLWNvbmRpdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9ydWxlLXNpbXBsZS1jb25kaXRpb24udWktY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ydWxlLXNpbXBsZS1jb25kaXRpb24udWktY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDogeyBjbGFzczogJ2FjYS1ydWxlLXNpbXBsZS1jb25kaXRpb24nIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSdWxlU2ltcGxlQ29uZGl0aW9uVWlDb21wb25lbnQpXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFJ1bGVTaW1wbGVDb25kaXRpb25VaUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uQ2hhbmdlcyB7XG4gIHByaXZhdGUgYXBwU2V0dGluZ3MgPSBpbmplY3QoQXBwU2V0dGluZ3NTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBjYXRlZ29yeVNlcnZpY2UgPSBpbmplY3QoQ2F0ZWdvcnlTZXJ2aWNlKTtcbiAgcHJpdmF0ZSB0YWdTZXJ2aWNlID0gaW5qZWN0KFRhZ1NlcnZpY2UpO1xuXG4gIGZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcbiAgICBmaWVsZDogbmV3IEZvcm1Db250cm9sKCdjbTpuYW1lJyksXG4gICAgY29tcGFyYXRvcjogbmV3IEZvcm1Db250cm9sKCdlcXVhbHMnKSxcbiAgICBwYXJhbWV0ZXI6IG5ldyBGb3JtQ29udHJvbCgpXG4gIH0pO1xuXG4gIG1pbWVUeXBlczogQWxmcmVzY29NaW1lVHlwZVtdID0gW107XG4gIGF1dG9Db21wbGV0ZU9wdGlvbnM6IEF1dG9Db21wbGV0ZU9wdGlvbltdID0gW107XG4gIHNob3dMb2FkaW5nU3Bpbm5lcjogYm9vbGVhbjtcblxuICBASW5wdXQoKSByZWFkT25seSA9IGZhbHNlO1xuXG4gIHByaXZhdGUgYXV0b0NvbXBsZXRlT3B0aW9uc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkaXNhYmxlZFRhZ3MgPSAhdGhpcy50YWdTZXJ2aWNlLmFyZVRhZ3NFbmFibGVkKCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGlzYWJsZWRDYXRlZ29yaWVzID0gIXRoaXMuY2F0ZWdvcnlTZXJ2aWNlLmFyZUNhdGVnb3JpZXNFbmFibGVkKCk7XG5cbiAgcmVhZG9ubHkgZmllbGRzID0gcnVsZUNvbmRpdGlvbkZpZWxkcy5maWx0ZXIoXG4gICAgKGNvbmRpdGlvbikgPT4gISgodGhpcy5kaXNhYmxlZFRhZ3MgJiYgY29uZGl0aW9uLm5hbWUgPT09ICd0YWcnKSB8fCAodGhpcy5kaXNhYmxlZENhdGVnb3JpZXMgJiYgY29uZGl0aW9uLm5hbWUgPT09ICdjYXRlZ29yeScpKVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMubWltZVR5cGVzID0gdGhpcy5hcHBTZXR0aW5ncy5taW1lVHlwZXM7XG4gIH1cblxuICBnZXQgaXNTZWxlY3RlZEZpZWxkS25vd24oKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc2VsZWN0ZWRGaWVsZE5hbWUgPSB0aGlzLmZvcm0uZ2V0KCdmaWVsZCcpLnZhbHVlO1xuICAgIHJldHVybiB0aGlzLmZpZWxkcy5maW5kSW5kZXgoKGZpZWxkOiBSdWxlQ29uZGl0aW9uRmllbGQpID0+IHNlbGVjdGVkRmllbGROYW1lID09PSBmaWVsZC5uYW1lKSA+IC0xO1xuICB9XG4gIGdldCBzZWxlY3RlZEZpZWxkKCk6IFJ1bGVDb25kaXRpb25GaWVsZCB7XG4gICAgY29uc3Qgc2VsZWN0ZWRGaWVsZE5hbWUgPSB0aGlzLmZvcm0uZ2V0KCdmaWVsZCcpLnZhbHVlO1xuICAgIGlmICghdGhpcy5pc1NlbGVjdGVkRmllbGRLbm93bikge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZTogc2VsZWN0ZWRGaWVsZE5hbWUsXG4gICAgICAgIGxhYmVsOiBzZWxlY3RlZEZpZWxkTmFtZSxcbiAgICAgICAgdHlwZTogJ3NwZWNpYWwnXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5maWVsZHMuZmluZCgoZmllbGQpID0+IGZpZWxkLm5hbWUgPT09IHNlbGVjdGVkRmllbGROYW1lKTtcbiAgfVxuXG4gIGdldCBzZWxlY3RlZEZpZWxkQ29tcGFyYXRvcnMoKTogUnVsZUNvbmRpdGlvbkNvbXBhcmF0b3JbXSB7XG4gICAgcmV0dXJuIHJ1bGVDb25kaXRpb25Db21wYXJhdG9ycy5maWx0ZXIoKGNvbXBhcmF0b3IpID0+IE9iamVjdC5rZXlzKGNvbXBhcmF0b3IubGFiZWxzKS5pbmNsdWRlcyh0aGlzLnNlbGVjdGVkRmllbGQudHlwZSkpO1xuICB9XG4gIGdldCBpc0NvbXBhcmF0b3JIaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGNvbXBhcmF0b3JIaWRkZW5Gb3JDb25kaXRpb25GaWVsZFR5cGUuaW5jbHVkZXModGhpcy5zZWxlY3RlZEZpZWxkPy50eXBlKTtcbiAgfVxuXG4gIGdldCBjb21wYXJhdG9yQ29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLmZvcm0uZ2V0KCdjb21wYXJhdG9yJyk7XG4gIH1cblxuICBwcml2YXRlIGdldCBwYXJhbWV0ZXJDb250cm9sKCk6IEFic3RyYWN0Q29udHJvbDxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLmdldCgncGFyYW1ldGVyJyk7XG4gIH1cblxuICBvbkNoYW5nZTogKGNvbmRpdGlvbjogUnVsZVNpbXBsZUNvbmRpdGlvbikgPT4gdm9pZCA9ICgpID0+IHVuZGVmaW5lZDtcbiAgb25Ub3VjaDogKCkgPT4gdm9pZCA9ICgpID0+IHVuZGVmaW5lZDtcblxuICB3cml0ZVZhbHVlKHZhbHVlOiBSdWxlU2ltcGxlQ29uZGl0aW9uKSB7XG4gICAgdGhpcy5mb3JtLnNldFZhbHVlKHZhbHVlKTtcbiAgICBpZiAodmFsdWU/LmZpZWxkID09PSAnY2F0ZWdvcnknKSB7XG4gICAgICB0aGlzLnNob3dMb2FkaW5nU3Bpbm5lciA9IHRydWU7XG4gICAgICB0aGlzLmNhdGVnb3J5U2VydmljZVxuICAgICAgICAuZ2V0Q2F0ZWdvcnkodmFsdWUucGFyYW1ldGVyLCB7IGluY2x1ZGU6IFsncGF0aCddIH0pXG4gICAgICAgIC5waXBlKGZpcnN0KCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGNhdGVnb3J5OiBDYXRlZ29yeUVudHJ5KSA9PiB7XG4gICAgICAgICAgdGhpcy5zaG93TG9hZGluZ1NwaW5uZXIgPSBmYWxzZTtcbiAgICAgICAgICBjb25zdCBvcHRpb24gPSB0aGlzLmJ1aWxkQXV0b2NvbXBsZXRlT3B0aW9uRnJvbUNhdGVnb3J5KGNhdGVnb3J5LmVudHJ5LmlkLCBjYXRlZ29yeS5lbnRyeS5wYXRoLCBjYXRlZ29yeS5lbnRyeS5uYW1lKTtcbiAgICAgICAgICB0aGlzLmF1dG9Db21wbGV0ZU9wdGlvbnMucHVzaChvcHRpb24pO1xuICAgICAgICAgIHRoaXMucGFyYW1ldGVyQ29udHJvbC5zZXRWYWx1ZShvcHRpb24udmFsdWUpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKSB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpIHtcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgfVxuXG4gIG9uQ2hhbmdlRmllbGQoKSB7XG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkRmllbGRDb21wYXJhdG9ycy5maW5kKChjb21wYXJhdG9yKSA9PiBjb21wYXJhdG9yLm5hbWUgPT09IHRoaXMuY29tcGFyYXRvckNvbnRyb2wudmFsdWUpKSB7XG4gICAgICB0aGlzLmNvbXBhcmF0b3JDb250cm9sLnNldFZhbHVlKCdlcXVhbHMnKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnBhcmFtZXRlckNvbnRyb2wudmFsdWUgJiYgdGhpcy5zZWxlY3RlZEZpZWxkPy50eXBlID09PSAnbWltZVR5cGUnKSB7XG4gICAgICB0aGlzLnBhcmFtZXRlckNvbnRyb2wuc2V0VmFsdWUodGhpcy5taW1lVHlwZXNbMF0/LnZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucGFyYW1ldGVyQ29udHJvbC52YWx1ZSkge1xuICAgICAgdGhpcy5wYXJhbWV0ZXJDb250cm9sLnNldFZhbHVlKCcnKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSgodmFsdWU6IFJ1bGVTaW1wbGVDb25kaXRpb24pID0+IHtcbiAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgICAgdGhpcy5vblRvdWNoKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmZvcm1cbiAgICAgIC5nZXQoJ2ZpZWxkJylcbiAgICAgIC52YWx1ZUNoYW5nZXMucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgIC5zdWJzY3JpYmUoKGZpZWxkOiBzdHJpbmcpID0+IHtcbiAgICAgICAgaWYgKGZpZWxkID09PSAnY2F0ZWdvcnknKSB7XG4gICAgICAgICAgdGhpcy5hdXRvQ29tcGxldGVPcHRpb25zU3Vic2NyaXB0aW9uID0gdGhpcy5mb3JtXG4gICAgICAgICAgICAuZ2V0KCdwYXJhbWV0ZXInKVxuICAgICAgICAgICAgLnZhbHVlQ2hhbmdlcy5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIGRlYm91bmNlVGltZShBVVRPQ09NUExFVEVfT1BUSU9OU19ERUJPVU5DRV9USU1FKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChjYXRlZ29yeU5hbWUpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5nZXRDYXRlZ29yaWVzKGNhdGVnb3J5TmFtZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLnBhcmFtZXRlckNvbnRyb2wuc2V0VmFsdWUoJycpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuYXV0b0NvbXBsZXRlT3B0aW9uc1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgY29uc3QgcmVhZE9ubHkgPSBjaGFuZ2VzWydyZWFkT25seSddPy5jdXJyZW50VmFsdWU7XG5cbiAgICBpZiAocmVhZE9ubHkgIT09IHVuZGVmaW5lZCAmJiByZWFkT25seSAhPT0gbnVsbCkge1xuICAgICAgaWYgKHRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgdGhpcy5yZWFkT25seSA9IHRydWU7XG4gICAgICAgIHRoaXMuZm9ybS5kaXNhYmxlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlYWRPbmx5ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZm9ybS5lbmFibGUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldENhdGVnb3JpZXMoY2F0ZWdvcnlOYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNob3dMb2FkaW5nU3Bpbm5lciA9IHRydWU7XG4gICAgdGhpcy5jYXRlZ29yeVNlcnZpY2VcbiAgICAgIC5zZWFyY2hDYXRlZ29yaWVzKGNhdGVnb3J5TmFtZSlcbiAgICAgIC5waXBlKGZpcnN0KCkpXG4gICAgICAuc3Vic2NyaWJlKChleGlzdGluZ0NhdGVnb3JpZXNSZXN1bHQpID0+IHtcbiAgICAgICAgdGhpcy5zaG93TG9hZGluZ1NwaW5uZXIgPSBmYWxzZTtcbiAgICAgICAgY29uc3Qgb3B0aW9uczogQXV0b0NvbXBsZXRlT3B0aW9uW10gPSBleGlzdGluZ0NhdGVnb3JpZXNSZXN1bHQ/Lmxpc3Q/LmVudHJpZXM/Lm1hcCgocm93RW50cnkpID0+XG4gICAgICAgICAgdGhpcy5idWlsZEF1dG9jb21wbGV0ZU9wdGlvbkZyb21DYXRlZ29yeShyb3dFbnRyeS5lbnRyeS5pZCwgcm93RW50cnkuZW50cnkucGF0aC5uYW1lLCByb3dFbnRyeS5lbnRyeS5uYW1lKVxuICAgICAgICApO1xuICAgICAgICBpZiAob3B0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy5hdXRvQ29tcGxldGVPcHRpb25zID0gdGhpcy5zb3J0QXV0b0NvbXBsZXRlT3B0aW9ucyhvcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNvcnRBdXRvQ29tcGxldGVPcHRpb25zKGF1dG9Db21wbGV0ZU9wdGlvbnM6IEF1dG9Db21wbGV0ZU9wdGlvbltdKTogQXV0b0NvbXBsZXRlT3B0aW9uW10ge1xuICAgIHJldHVybiBhdXRvQ29tcGxldGVPcHRpb25zLnNvcnQoKG9wdGlvbjEsIG9wdGlvbjIpID0+IG9wdGlvbjEuZGlzcGxheUxhYmVsLmxvY2FsZUNvbXBhcmUob3B0aW9uMi5kaXNwbGF5TGFiZWwpKTtcbiAgfVxuXG4gIGF1dG9Db21wbGV0ZURpc3BsYXlGdW5jdGlvbiA9IChvcHRpb25WYWx1ZTogc3RyaW5nKTogc3RyaW5nID0+XG4gICAgb3B0aW9uVmFsdWUgJiYgdGhpcy5hdXRvQ29tcGxldGVPcHRpb25zID8gdGhpcy5hdXRvQ29tcGxldGVPcHRpb25zLmZpbmQoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSBvcHRpb25WYWx1ZSk/LmRpc3BsYXlMYWJlbCA6IG9wdGlvblZhbHVlO1xuXG4gIGF1dG9TZWxlY3RWYWxpZE9wdGlvbigpIHtcbiAgICBjb25zdCBjdXJyZW50VmFsdWUgPSB0aGlzLnBhcmFtZXRlckNvbnRyb2wudmFsdWU7XG4gICAgY29uc3QgaXNWYWxpZFZhbHVlU2VsZWN0ZWQgPSAhIXRoaXMuYXV0b0NvbXBsZXRlT3B0aW9ucz8uZmluZCgob3B0aW9uKSA9PiBvcHRpb24udmFsdWUgPT09IGN1cnJlbnRWYWx1ZSk7XG4gICAgaWYgKCFpc1ZhbGlkVmFsdWVTZWxlY3RlZCkge1xuICAgICAgdGhpcy5wYXJhbWV0ZXJDb250cm9sLnNldFZhbHVlKHRoaXMuYXV0b0NvbXBsZXRlT3B0aW9ucz8uWzBdLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBidWlsZEF1dG9jb21wbGV0ZU9wdGlvbkZyb21DYXRlZ29yeShjYXRlZ29yeUlkOiBzdHJpbmcsIGNhdGVnb3J5UGF0aDogc3RyaW5nLCBjYXRlZ29yeU5hbWU6IHN0cmluZyk6IEF1dG9Db21wbGV0ZU9wdGlvbiB7XG4gICAgY29uc3QgcGF0aCA9IGNhdGVnb3J5UGF0aC5zcGxpdCgnLycpLnNwbGljZSgzKS5qb2luKCcvJyk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHZhbHVlOiBjYXRlZ29yeUlkLFxuICAgICAgZGlzcGxheUxhYmVsOiBwYXRoID8gYCR7cGF0aH0vJHtjYXRlZ29yeU5hbWV9YCA6IGNhdGVnb3J5TmFtZVxuICAgIH07XG4gIH1cbn1cbiIsIjxmb3JtIGNsYXNzPVwiYWNhLXJ1bGUtc2ltcGxlLWNvbmRpdGlvbl9fZm9ybVwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJhY2EtcnVsZS1zaW1wbGUtY29uZGl0aW9uX19mb3JtX19maWVsZC1pbnB1dFwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJmaWVsZFwiIGRhdGEtYXV0b21hdGlvbi1pZD1cImZpZWxkLXNlbGVjdFwiXG4gICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoKVwiPlxuICAgICAgPG1hdC1vcHRpb24gKm5nSWY9XCIhaXNTZWxlY3RlZEZpZWxkS25vd25cIiBbdmFsdWVdPVwic2VsZWN0ZWRGaWVsZC5uYW1lXCIgZGF0YS1hdXRvbWF0aW9uLWlkPVwidW5rbm93bi1maWVsZC1vcHRpb25cIj5cbiAgICAgICAge3sgc2VsZWN0ZWRGaWVsZC5sYWJlbCB9fVxuICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGZpZWxkIG9mIGZpZWxkc1wiIFt2YWx1ZV09XCJmaWVsZC5uYW1lXCI+XG4gICAgICAgIHt7IGZpZWxkLmxhYmVsIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L21hdC1vcHRpb24+XG4gICAgPC9tYXQtc2VsZWN0PlxuICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFjYS1ydWxlLXNpbXBsZS1jb25kaXRpb25fX2Zvcm1fX2ZpZWxkLWlucHV0IGFjYS1ydWxlLXNpbXBsZS1jb25kaXRpb25fX2Zvcm1fX2NvbXBhcmF0b3ItaW5wdXRcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCJcbiAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJ7ICdhY2EtaGlkZGVuJzogaXNDb21wYXJhdG9ySGlkZGVuIH1cIiBkYXRhLWF1dG9tYXRpb24taWQ9XCJjb21wYXJhdG9yLWZvcm0tZmllbGRcIj5cbiAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJjb21wYXJhdG9yXCIgZGF0YS1hdXRvbWF0aW9uLWlkPVwiY29tcGFyYXRvci1zZWxlY3RcIj5cbiAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICpuZ0Zvcj1cImxldCBjb21wYXJhdG9yIG9mIHNlbGVjdGVkRmllbGRDb21wYXJhdG9yc1wiXG4gICAgICAgIFt2YWx1ZV09XCJjb21wYXJhdG9yLm5hbWVcIj5cbiAgICAgICAge3sgY29tcGFyYXRvci5sYWJlbHNbdGhpcy5zZWxlY3RlZEZpZWxkPy50eXBlIHx8ICdlcXVhbHMnXSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9tYXQtb3B0aW9uPlxuICAgIDwvbWF0LXNlbGVjdD5cbiAgPC9tYXQtZm9ybS1maWVsZD5cblxuICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJhY2EtcnVsZS1zaW1wbGUtY29uZGl0aW9uX19mb3JtX19maWVsZC1pbnB1dCBhY2EtcnVsZS1zaW1wbGUtY29uZGl0aW9uX19mb3JtX19wYXJhbWV0ZXItaW5wdXRcIlxuICAgICAgICAgICAgICAgICAgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiIFtuZ1N3aXRjaF09XCJzZWxlY3RlZEZpZWxkLnR5cGVcIj5cbiAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJwYXJhbWV0ZXJcIiBkYXRhLWF1dG9tYXRpb24taWQ9XCJzaW1wbGUtY29uZGl0aW9uLXZhbHVlLXNlbGVjdFwiICpuZ1N3aXRjaENhc2U9XCInbWltZVR5cGUnXCI+XG4gICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgbWltZVR5cGUgb2YgbWltZVR5cGVzXCJcbiAgICAgICAgW3ZhbHVlXT1cIm1pbWVUeXBlLnZhbHVlXCI+XG4gICAgICAgIHt7IG1pbWVUeXBlLmxhYmVsIH19XG4gICAgICA8L21hdC1vcHRpb24+XG4gICAgPC9tYXQtc2VsZWN0PlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdTd2l0Y2hDYXNlXT1cIidhdXRvLWNvbXBsZXRlJ1wiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicGFyYW1ldGVyXCJcbiAgICAgICAgICAoZm9jdXNvdXQpPVwiYXV0b1NlbGVjdFZhbGlkT3B0aW9uKClcIlxuICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImF1dG8tY29tcGxldGUtaW5wdXQtZmllbGRcIlxuICAgICAgICAvPlxuICAgICAgICA8bWF0LWF1dG9jb21wbGV0ZVxuICAgICAgICAgICNhdXRvPVwibWF0QXV0b2NvbXBsZXRlXCJcbiAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJmb2xkZXItcnVsZS1hdXRvLWNvbXBsZXRlXCJcbiAgICAgICAgICBbYXV0b0FjdGl2ZUZpcnN0T3B0aW9uXT1cInRydWVcIlxuICAgICAgICAgIFthdXRvU2VsZWN0QWN0aXZlT3B0aW9uXT1cInRydWVcIlxuICAgICAgICAgIFtkaXNwbGF5V2l0aF09XCJhdXRvQ29tcGxldGVEaXNwbGF5RnVuY3Rpb25cIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uIGRpc2FibGVkICpuZ0lmPVwic2hvd0xvYWRpbmdTcGlubmVyOyBlbHNlIG9wdGlvbkxpc3RcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY2EtcnVsZS1zaW1wbGUtY29uZGl0aW9uX19hdXRvLWNvbXBsZXRlLWxvYWRpbmctc3Bpbm5lclwiPlxuICAgICAgICAgICAgICAgIDxtYXQtcHJvZ3Jlc3Mtc3Bpbm5lclxuICAgICAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgIG1vZGU9XCJpbmRldGVybWluYXRlXCJcbiAgICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImF1dG8tY29tcGxldGUtbG9hZGluZy1zcGlubmVyXCJcbiAgICAgICAgICAgICAgICAgIFtkaWFtZXRlcl09XCIyNVwiIC8+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI29wdGlvbkxpc3Q+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXV0b0NvbXBsZXRlT3B0aW9ucz8ubGVuZ3RoID4gMDsgZWxzZSBub09wdGlvbnNUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgYXV0b0NvbXBsZXRlT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiPlxuICAgICAgICAgICAgICAgIHt7IG9wdGlvbi5kaXNwbGF5TGFiZWwgfX1cbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vT3B0aW9uc1RlbXBsYXRlPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBkaXNhYmxlZD5cbiAgICAgICAgICAgICAgICB7eyAnQUNBX0ZPTERFUl9SVUxFUy5BVVRPQ09NUExFVEUuTk9fT1BUSU9OU19GT1VORCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L21hdC1hdXRvY29tcGxldGU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgbmdTd2l0Y2hEZWZhdWx0PlxuICAgICAgPGlucHV0IG1hdElucHV0IHBsYWNlaG9sZGVyPVwie3sgJ0FDQV9GT0xERVJfUlVMRVMuUlVMRV9ERVRBSUxTLlBMQUNFSE9MREVSLlZBTFVFJyB8IHRyYW5zbGF0ZSB9fVwiIHR5cGU9XCJ0ZXh0XCIgZm9ybUNvbnRyb2xOYW1lPVwicGFyYW1ldGVyXCIgZGF0YS1hdXRvbWF0aW9uLWlkPVwidmFsdWUtaW5wdXRcIj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuPC9mb3JtPlxuIl19
|
|
@@ -21,10 +21,9 @@
|
|
|
21
21
|
* You should have received a copy of the GNU Lesser General Public License
|
|
22
22
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
23
23
|
*/
|
|
24
|
-
import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
27
|
-
import { distinctUntilChanged, map, takeUntil } from 'rxjs/operators';
|
|
24
|
+
import { Component, DestroyRef, EventEmitter, inject, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
25
|
+
import { ReactiveFormsModule, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
|
|
26
|
+
import { distinctUntilChanged, map } from 'rxjs/operators';
|
|
28
27
|
import { ruleCompositeConditionValidator } from './validators/rule-composite-condition.validator';
|
|
29
28
|
import { FolderRulesService } from '../services/folder-rules.service';
|
|
30
29
|
import { ruleActionsValidator } from './validators/rule-actions.validator';
|
|
@@ -37,6 +36,7 @@ import { RuleCompositeConditionUiComponent } from './conditions/rule-composite-c
|
|
|
37
36
|
import { RuleActionListUiComponent } from './actions/rule-action-list.ui-component';
|
|
38
37
|
import { RuleOptionsUiComponent } from './options/rule-options.ui-component';
|
|
39
38
|
import { CategoryService } from '@alfresco/adf-content-services';
|
|
39
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
40
40
|
import * as i0 from "@angular/core";
|
|
41
41
|
import * as i1 from "@alfresco/adf-content-services";
|
|
42
42
|
import * as i2 from "@angular/common";
|
|
@@ -88,7 +88,6 @@ class RuleDetailsUiComponent {
|
|
|
88
88
|
nodeId = '';
|
|
89
89
|
formValidationChanged = new EventEmitter();
|
|
90
90
|
formValueChanged = new EventEmitter();
|
|
91
|
-
onDestroy$ = new Subject();
|
|
92
91
|
form;
|
|
93
92
|
errorScriptConstraint;
|
|
94
93
|
get name() {
|
|
@@ -106,6 +105,7 @@ class RuleDetailsUiComponent {
|
|
|
106
105
|
get showOptionsSection() {
|
|
107
106
|
return !this.readOnly || this.value.isAsynchronous || this.value.isInheritable;
|
|
108
107
|
}
|
|
108
|
+
destroyRef = inject(DestroyRef);
|
|
109
109
|
constructor(categoryService) {
|
|
110
110
|
this.categoryService = categoryService;
|
|
111
111
|
}
|
|
@@ -132,12 +132,12 @@ class RuleDetailsUiComponent {
|
|
|
132
132
|
})
|
|
133
133
|
});
|
|
134
134
|
this.form.statusChanges
|
|
135
|
-
.pipe(map(() => this.form.valid), distinctUntilChanged(),
|
|
135
|
+
.pipe(map(() => this.form.valid), distinctUntilChanged(), takeUntilDestroyed(this.destroyRef))
|
|
136
136
|
.subscribe((value) => {
|
|
137
137
|
this.formValidationChanged.emit(value);
|
|
138
138
|
});
|
|
139
139
|
this.formValidationChanged.emit(this.form.valid);
|
|
140
|
-
this.form.valueChanges.pipe(
|
|
140
|
+
this.form.valueChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
|
|
141
141
|
this.formValueChanged.emit(this.value);
|
|
142
142
|
});
|
|
143
143
|
if (this.readOnly) {
|
|
@@ -151,10 +151,6 @@ class RuleDetailsUiComponent {
|
|
|
151
151
|
: 'ACA_FOLDER_RULES.RULE_DETAILS.PLACEHOLDER.DESCRIPTION';
|
|
152
152
|
this.errorScriptConstraint = this.parameterConstraints.find((parameterConstraint) => parameterConstraint.name === 'script-ref');
|
|
153
153
|
}
|
|
154
|
-
ngOnDestroy() {
|
|
155
|
-
this.onDestroy$.next();
|
|
156
|
-
this.onDestroy$.complete();
|
|
157
|
-
}
|
|
158
154
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: RuleDetailsUiComponent, deps: [{ token: i1.CategoryService }], target: i0.ɵɵFactoryTarget.Component });
|
|
159
155
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: RuleDetailsUiComponent, isStandalone: true, selector: "aca-rule-details", inputs: { readOnly: "readOnly", value: "value", preview: "preview", actionDefinitions: "actionDefinitions", parameterConstraints: "parameterConstraints", nodeId: "nodeId" }, outputs: { formValidationChanged: "formValidationChanged", formValueChanged: "formValueChanged" }, host: { classAttribute: "aca-rule-details" }, ngImport: i0, template: "<form class=\"aca-rule-details__form\" [ngClass]=\"{ 'aca-read-only': readOnly }\" [formGroup]=\"form\">\n\n <ng-container *ngIf=\"!preview\">\n <div class=\"aca-rule-details__form__row\">\n <label class=\"aca-rule-details__name__label\" for=\"rule-details-name-input\">{{ 'ACA_FOLDER_RULES.RULE_DETAILS.LABEL.NAME' | translate }}</label>\n <div>\n <mat-form-field appearance=\"fill\" floatLabel='always' class=\"aca-rule-details__form__row__field\">\n <mat-label *ngIf=\"!name.value\">{{ 'ACA_FOLDER_RULES.RULE_DETAILS.PLACEHOLDER.NAME' | translate }}</mat-label>\n <input\n id=\"rule-details-name-input\"\n matInput type=\"text\" formControlName=\"name\" data-automation-id=\"rule-details-name-input\">\n <mat-error>{{ 'ACA_FOLDER_RULES.RULE_DETAILS.ERROR.REQUIRED' | translate }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n\n <div class=\"aca-rule-details__form__row aca-rule-details__form__description\">\n <label for=\"rule-details-description-textarea\">{{ 'ACA_FOLDER_RULES.RULE_DETAILS.LABEL.DESCRIPTION' | translate }}</label>\n <div>\n <mat-form-field floatLabel='auto' appearance=\"fill\" class=\"aca-rule-details__form__row__field\">\n <textarea\n class=\"aca-rule-details__form__row__field__textarea\"\n id=\"rule-details-description-textarea\"\n matInput formControlName=\"description\" data-automation-id=\"rule-details-description-textarea\"\n [placeholder]=\"descriptionPlaceHolder | translate\">\n </textarea>\n </mat-form-field>\n </div>\n </div>\n </ng-container>\n\n <div class=\"aca-rule-details__form__row aca-rule-details__form__triggers\">\n <div class=\"aca-label\">{{ 'ACA_FOLDER_RULES.RULE_DETAILS.LABEL.WHEN' | translate }}</div>\n <div>\n <aca-rule-triggers formControlName=\"triggers\" data-automation-id=\"rule-details-triggers-component\" />\n <mat-error class=\"aca-rule-details-error\" *ngIf=\"triggers.hasError('required')\">{{ 'ACA_FOLDER_RULES.RULE_DETAILS.ERROR.INSUFFICIENT_TRIGGERS_SELECTED' | translate }}</mat-error>\n </div>\n </div>\n\n <div class=\"aca-rule-details__form__conditions\">\n <aca-rule-composite-condition [readOnly]=\"readOnly\" formControlName=\"conditions\" />\n <mat-error class=\"aca-rule-details-error\" *ngIf=\"conditions.hasError('ruleCompositeConditionInvalid')\">{{ 'ACA_FOLDER_RULES.RULE_DETAILS.ERROR.RULE_COMPOSITE_CONDITION_INVALID' | translate }}</mat-error>\n </div>\n\n <div class=\"aca-rule-details__form__row aca-rule-details__form__actions\">\n <div class=\"aca-label\">{{ 'ACA_FOLDER_RULES.RULE_DETAILS.LABEL.PERFORM_ACTIONS' | translate }}</div>\n <aca-rule-action-list\n formControlName=\"actions\"\n [actionDefinitions]=\"actionDefinitions\"\n [parameterConstraints]=\"parameterConstraints\"\n [readOnly]=\"readOnly\"\n [nodeId]=\"nodeId\" />\n </div>\n\n <div class=\"aca-rule-details__form__row aca-rule-details__form__others\" *ngIf=\"showOptionsSection\">\n <div class=\"aca-label\">{{ 'ACA_FOLDER_RULES.RULE_DETAILS.LABEL.OPTIONS' | translate }}</div>\n <aca-rule-options\n formControlName=\"options\"\n data-automation-id=\"rule-details-options-component\"\n [errorScriptConstraint]=\"errorScriptConstraint\" />\n </div>\n\n</form>\n", styles: [".aca-rule-details .aca-rule-details__form__triggers{margin-top:10px}.aca-rule-details .aca-rule-details__name__label{padding-top:1.5em}.aca-rule-details .aca-rule-details__form__others{margin-bottom:12px}.aca-rule-details__form{position:relative}.aca-rule-details__form>div{padding:0 20px;width:100%;box-sizing:border-box}.aca-rule-details__form>div.aca-rule-details__form__description{padding-top:0;border:none;align-items:flex-start}.aca-rule-details__form__row{display:flex;align-items:baseline;gap:8px}.aca-rule-details__form__row>label,.aca-rule-details__form__row>.aca-label{font-weight:700;color:var(--adf-theme-foreground-text-color);width:20%;min-width:100px;max-width:150px;padding:.5em 0}.aca-rule-details__form__row>div{flex-grow:1}.aca-rule-details__form__row__field{width:100%;max-width:400px;font-size:inherit}.aca-rule-details__form__row__field label[for=rule-details-name-input]{transform:translateY(-20%) scale(1)}.aca-rule-details__form__row__field__textarea{min-height:4em}.aca-rule-details__form:not(:nth-child(1)){border-top:1px solid var(--theme-border-color)}.aca-rule-details__form__conditions{width:100%;margin:14px 0 36px}.aca-rule-details__form__conditions>.aca-rule-details-error{margin-left:16px;color:inherit}.aca-rule-details__form .aca-rule-details-error{font-size:75%;height:1em}.aca-rule-details__form__actions .aca-rule-action-list{flex:1}.aca-rule-details__form.aca-read-only .mdc-notched-outline__leading,.aca-rule-details__form.aca-read-only .mdc-notched-outline__trailing,.aca-rule-details__form.aca-read-only .mdc-notched-outline__notch,.aca-rule-details__form .mat-form-field-disabled .mdc-notched-outline__leading,.aca-rule-details__form .mat-form-field-disabled .mdc-notched-outline__trailing,.aca-rule-details__form .mat-form-field-disabled .mdc-notched-outline__notch{border:none}.aca-rule-details__form.aca-read-only .mdc-line-ripple:before,.aca-rule-details__form.aca-read-only .mdc-line-ripple:after,.aca-rule-details__form .mat-form-field-disabled .mdc-line-ripple:before,.aca-rule-details__form .mat-form-field-disabled .mdc-line-ripple:after{display:none}.aca-rule-details__form.aca-read-only *:disabled,.aca-rule-details__form.aca-read-only .mat-mdc-select-disabled .mat-mdc-select-value,.aca-rule-details__form .mat-form-field-disabled *:disabled,.aca-rule-details__form .mat-form-field-disabled .mat-mdc-select-disabled .mat-mdc-select-value{color:inherit}.aca-rule-details__form.aca-read-only .mat-mdc-select-arrow-wrapper,.aca-rule-details__form .mat-form-field-disabled .mat-mdc-select-arrow-wrapper{display:none}.aca-rule-details__form .aca-rule-details__form__row .mat-mdc-form-field-flex .mat-mdc-form-field-infix{padding-bottom:.375em}.aca-rule-details__form .aca-rule-details__form__row aca-rule-action .mat-mdc-form-field-flex .mat-mdc-form-field-infix{padding-top:.1em;padding-bottom:.1em}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: RuleTriggersUiComponent, selector: "aca-rule-triggers" }, { kind: "component", type: RuleCompositeConditionUiComponent, selector: "aca-rule-composite-condition", inputs: ["secondaryBackground", "childCondition", "readOnly"] }, { kind: "component", type: RuleActionListUiComponent, selector: "aca-rule-action-list", inputs: ["actionDefinitions", "readOnly", "parameterConstraints", "nodeId"] }, { kind: "component", type: RuleOptionsUiComponent, selector: "aca-rule-options", inputs: ["errorScriptConstraint"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
160
156
|
}
|
|
@@ -189,4 +185,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
189
185
|
}], formValueChanged: [{
|
|
190
186
|
type: Output
|
|
191
187
|
}] } });
|
|
192
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS1kZXRhaWxzLnVpLWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L2ZvbGRlci1ydWxlcy9zcmMvcnVsZS1kZXRhaWxzL3J1bGUtZGV0YWlscy51aS1jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9mb2xkZXItcnVsZXMvc3JjL3J1bGUtZGV0YWlscy9ydWxlLWRldGFpbHMudWktY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXRFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRTNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFN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LDR6R0ErREEsaTJGRGhCSSxZQUFZLGdPQUNaLGVBQWUsMkZBQ2YsbUJBQW1CLDQ4QkFDbkIsa0JBQWtCLHVZQUNsQixjQUFjLDJXQUNkLHVCQUF1Qiw4REFDdkIsaUNBQWlDLHdJQUNqQyx5QkFBeUIsOElBQ3pCLHNCQUFzQjs7U0FRYixzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkFuQmxDLFNBQVM7aUNBQ0ksSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCx1QkFBdUI7d0JBQ3ZCLGlDQUFpQzt3QkFDakMseUJBQXlCO3dCQUN6QixzQkFBc0I7cUJBQ3ZCLFlBQ1Msa0JBQWtCLGlCQUdiLGlCQUFpQixDQUFDLElBQUksUUFDL0IsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUU7c0dBSW5DLFFBQVE7c0JBRFAsS0FBSztnQkFPRixLQUFLO3NCQURSLEtBQUs7Z0JBa0NOLE9BQU87c0JBRE4sS0FBSztnQkFHTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBR04sb0JBQW9CO3NCQURuQixLQUFLO2dCQUdOLE1BQU07c0JBREwsS0FBSztnQkFJTixxQkFBcUI7c0JBRHBCLE1BQU07Z0JBR1AsZ0JBQWdCO3NCQURmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCwgVW50eXBlZEZvcm1Db250cm9sLCBWYWxpZGF0b3JzLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUnVsZSwgUnVsZUZvckZvcm0gfSBmcm9tICcuLi9tb2RlbC9ydWxlLm1vZGVsJztcbmltcG9ydCB7IHJ1bGVDb21wb3NpdGVDb25kaXRpb25WYWxpZGF0b3IgfSBmcm9tICcuL3ZhbGlkYXRvcnMvcnVsZS1jb21wb3NpdGUtY29uZGl0aW9uLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBGb2xkZXJSdWxlc1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9mb2xkZXItcnVsZXMuc2VydmljZSc7XG5pbXBvcnQgeyBBY3Rpb25EZWZpbml0aW9uVHJhbnNmb3JtZWQgfSBmcm9tICcuLi9tb2RlbC9ydWxlLWFjdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBydWxlQWN0aW9uc1ZhbGlkYXRvciB9IGZyb20gJy4vdmFsaWRhdG9ycy9ydWxlLWFjdGlvbnMudmFsaWRhdG9yJztcbmltcG9ydCB7IEFjdGlvblBhcmFtZXRlckNvbnN0cmFpbnQgfSBmcm9tICcuLi9tb2RlbC9hY3Rpb24tcGFyYW1ldGVyLWNvbnN0cmFpbnQubW9kZWwnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IFJ1bGVUcmlnZ2Vyc1VpQ29tcG9uZW50IH0gZnJvbSAnLi90cmlnZ2Vycy9ydWxlLXRyaWdnZXJzLnVpLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBSdWxlQ29tcG9zaXRlQ29uZGl0aW9uVWlDb21wb25lbnQgfSBmcm9tICcuL2NvbmRpdGlvbnMvcnVsZS1jb21wb3NpdGUtY29uZGl0aW9uLnVpLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBSdWxlQWN0aW9uTGlzdFVpQ29tcG9uZW50IH0gZnJvbSAnLi9hY3Rpb25zL3J1bGUtYWN0aW9uLWxpc3QudWktY29tcG9uZW50JztcbmltcG9ydCB7IFJ1bGVPcHRpb25zVWlDb21wb25lbnQgfSBmcm9tICcuL29wdGlvbnMvcnVsZS1vcHRpb25zLnVpLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYXRlZ29yeVNlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvbnRlbnQtc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgUnVsZVRyaWdnZXJzVWlDb21wb25lbnQsXG4gICAgUnVsZUNvbXBvc2l0ZUNvbmRpdGlvblVpQ29tcG9uZW50LFxuICAgIFJ1bGVBY3Rpb25MaXN0VWlDb21wb25lbnQsXG4gICAgUnVsZU9wdGlvbnNVaUNvbXBvbmVudFxuICBdLFxuICBzZWxlY3RvcjogJ2FjYS1ydWxlLWRldGFpbHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vcnVsZS1kZXRhaWxzLnVpLWNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcnVsZS1kZXRhaWxzLnVpLWNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHsgY2xhc3M6ICdhY2EtcnVsZS1kZXRhaWxzJyB9XG59KVxuZXhwb3J0IGNsYXNzIFJ1bGVEZXRhaWxzVWlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIHJlYWRPbmx5OiBib29sZWFuO1xuXG4gIGRlc2NyaXB0aW9uUGxhY2VIb2xkZXI6IHN0cmluZztcblxuICBwcml2YXRlIF9pbml0aWFsVmFsdWU6IFJ1bGVGb3JGb3JtID0gRm9sZGVyUnVsZXNTZXJ2aWNlLmVtcHR5UnVsZUZvckZvcm07XG4gIEBJbnB1dCgpXG4gIGdldCB2YWx1ZSgpOiBQYXJ0aWFsPFJ1bGU+IHtcbiAgICBsZXQgdmFsdWUgPSB0aGlzLmZvcm0gPyB0aGlzLmZvcm0udmFsdWUgOiB0aGlzLl9pbml0aWFsVmFsdWU7XG4gICAgaWYgKHZhbHVlLm9wdGlvbnMpIHtcbiAgICAgIHZhbHVlID0ge1xuICAgICAgICAuLi52YWx1ZSxcbiAgICAgICAgLi4uKHZhbHVlLm9wdGlvbnMgPz8gRm9sZGVyUnVsZXNTZXJ2aWNlLmVtcHR5UnVsZU9wdGlvbnMpXG4gICAgICB9O1xuICAgICAgZGVsZXRlIHZhbHVlLm9wdGlvbnM7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICBzZXQgdmFsdWUobmV3VmFsdWU6IFBhcnRpYWw8UnVsZT4pIHtcbiAgICBjb25zdCBuZXdWYWx1ZUZvckZvcm06IFJ1bGVGb3JGb3JtID0ge1xuICAgICAgaWQ6IG5ld1ZhbHVlLmlkIHx8IEZvbGRlclJ1bGVzU2VydmljZS5lbXB0eVJ1bGUuaWQsXG4gICAgICBuYW1lOiBuZXdWYWx1ZS5uYW1lIHx8IEZvbGRlclJ1bGVzU2VydmljZS5lbXB0eVJ1bGUubmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBuZXdWYWx1ZS5kZXNjcmlwdGlvbiB8fCBGb2xkZXJSdWxlc1NlcnZpY2UuZW1wdHlSdWxlLmRlc2NyaXB0aW9uLFxuICAgICAgdHJpZ2dlcnM6IG5ld1ZhbHVlLnRyaWdnZXJzIHx8IEZvbGRlclJ1bGVzU2VydmljZS5lbXB0eVJ1bGUudHJpZ2dlcnMsXG4gICAgICBjb25kaXRpb25zOiBuZXdWYWx1ZS5jb25kaXRpb25zIHx8IEZvbGRlclJ1bGVzU2VydmljZS5lbXB0eVJ1bGUuY29uZGl0aW9ucyxcbiAgICAgIGFjdGlvbnM6IG5ld1ZhbHVlLmFjdGlvbnMgfHwgRm9sZGVyUnVsZXNTZXJ2aWNlLmVtcHR5UnVsZS5hY3Rpb25zLFxuICAgICAgb3B0aW9uczoge1xuICAgICAgICBpc0VuYWJsZWQ6IHR5cGVvZiBuZXdWYWx1ZS5pc0luaGVyaXRhYmxlID09ICdib29sZWFuJyA/IG5ld1ZhbHVlLmlzRW5hYmxlZCA6IEZvbGRlclJ1bGVzU2VydmljZS5lbXB0eVJ1bGUuaXNFbmFibGVkLFxuICAgICAgICBpc0luaGVyaXRhYmxlOiBuZXdWYWx1ZS5pc0luaGVyaXRhYmxlIHx8IEZvbGRlclJ1bGVzU2VydmljZS5lbXB0eVJ1bGUuaXNJbmhlcml0YWJsZSxcbiAgICAgICAgaXNBc3luY2hyb25vdXM6IG5ld1ZhbHVlLmlzQXN5bmNocm9ub3VzIHx8IEZvbGRlclJ1bGVzU2VydmljZS5lbXB0eVJ1bGUuaXNBc3luY2hyb25vdXMsXG4gICAgICAgIGVycm9yU2NyaXB0OiBuZXdWYWx1ZS5lcnJvclNjcmlwdCB8fCBGb2xkZXJSdWxlc1NlcnZpY2UuZW1wdHlSdWxlLmVycm9yU2NyaXB0XG4gICAgICB9XG4gICAgfTtcbiAgICBpZiAodGhpcy5mb3JtKSB7XG4gICAgICB0aGlzLmZvcm0uc2V0VmFsdWUobmV3VmFsdWVGb3JGb3JtKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5faW5pdGlhbFZhbHVlID0gbmV3VmFsdWVGb3JGb3JtO1xuICAgIH1cbiAgfVxuICBASW5wdXQoKVxuICBwcmV2aWV3OiBib29sZWFuO1xuICBASW5wdXQoKVxuICBhY3Rpb25EZWZpbml0aW9uczogQWN0aW9uRGVmaW5pdGlvblRyYW5zZm9ybWVkW10gPSBbXTtcbiAgQElucHV0KClcbiAgcGFyYW1ldGVyQ29uc3RyYWludHM6IEFjdGlvblBhcmFtZXRlckNvbnN0cmFpbnRbXSA9IFtdO1xuICBASW5wdXQoKVxuICBub2RlSWQgPSAnJztcblxuICBAT3V0cHV0KClcbiAgZm9ybVZhbGlkYXRpb25DaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KClcbiAgZm9ybVZhbHVlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8UGFydGlhbDxSdWxlPj4oKTtcblxuICBwcml2YXRlIG9uRGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gIGVycm9yU2NyaXB0Q29uc3RyYWludDogQWN0aW9uUGFyYW1ldGVyQ29uc3RyYWludDtcbiAgZ2V0IG5hbWUoKTogVW50eXBlZEZvcm1Db250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLmdldCgnbmFtZScpIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcbiAgfVxuICBnZXQgZGVzY3JpcHRpb24oKTogVW50eXBlZEZvcm1Db250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLmdldCgnZGVzY3JpcHRpb24nKSBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XG4gIH1cbiAgZ2V0IHRyaWdnZXJzKCk6IFVudHlwZWRGb3JtQ29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQoJ3RyaWdnZXJzJykgYXMgVW50eXBlZEZvcm1Db250cm9sO1xuICB9XG5cbiAgZ2V0IGNvbmRpdGlvbnMoKTogVW50eXBlZEZvcm1Db250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLmdldCgnY29uZGl0aW9ucycpIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcbiAgfVxuXG4gIGdldCBzaG93T3B0aW9uc1NlY3Rpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLnJlYWRPbmx5IHx8IHRoaXMudmFsdWUuaXNBc3luY2hyb25vdXMgfHwgdGhpcy52YWx1ZS5pc0luaGVyaXRhYmxlO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjYXRlZ29yeVNlcnZpY2U6IENhdGVnb3J5U2VydmljZSkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBkaXNhYmxlZENhdGVnb3J5ID0gIXRoaXMuY2F0ZWdvcnlTZXJ2aWNlLmFyZUNhdGVnb3JpZXNFbmFibGVkKCk7XG4gICAgdGhpcy5hY3Rpb25EZWZpbml0aW9ucyA9IHRoaXMuYWN0aW9uRGVmaW5pdGlvbnMuZmlsdGVyKChhY3Rpb24pID0+ICEoZGlzYWJsZWRDYXRlZ29yeSAmJiBhY3Rpb24uaWQgPT09ICdsaW5rLWNhdGVnb3J5JykpO1xuICAgIHRoaXMuZm9ybSA9IG5ldyBVbnR5cGVkRm9ybUdyb3VwKHtcbiAgICAgIGlkOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRoaXMudmFsdWUuaWQpLFxuICAgICAgbmFtZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0aGlzLnZhbHVlLm5hbWUgfHwgJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgZGVzY3JpcHRpb246IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodGhpcy52YWx1ZS5kZXNjcmlwdGlvbiB8fCAnJyksXG4gICAgICB0cmlnZ2VyczogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0aGlzLnZhbHVlLnRyaWdnZXJzIHx8IFsnaW5ib3VuZCddLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgIGNvbmRpdGlvbnM6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woXG4gICAgICAgIHRoaXMudmFsdWUuY29uZGl0aW9ucyB8fCB7XG4gICAgICAgICAgaW52ZXJ0ZWQ6IGZhbHNlLFxuICAgICAgICAgIGJvb2xlYW5Nb2RlOiAnYW5kJyxcbiAgICAgICAgICBjb21wb3NpdGVDb25kaXRpb25zOiBbXSxcbiAgICAgICAgICBzaW1wbGVDb25kaXRpb25zOiBbXVxuICAgICAgICB9LFxuICAgICAgICBydWxlQ29tcG9zaXRlQ29uZGl0aW9uVmFsaWRhdG9yKClcbiAgICAgICksXG4gICAgICBhY3Rpb25zOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRoaXMudmFsdWUuYWN0aW9ucywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIHJ1bGVBY3Rpb25zVmFsaWRhdG9yKHRoaXMuYWN0aW9uRGVmaW5pdGlvbnMpXSksXG4gICAgICBvcHRpb25zOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHtcbiAgICAgICAgaXNFbmFibGVkOiB0aGlzLnZhbHVlLmlzRW5hYmxlZCxcbiAgICAgICAgaXNJbmhlcml0YWJsZTogdGhpcy52YWx1ZS5pc0luaGVyaXRhYmxlLFxuICAgICAgICBpc0FzeW5jaHJvbm91czogdGhpcy52YWx1ZS5pc0FzeW5jaHJvbm91cyxcbiAgICAgICAgZXJyb3JTY3JpcHQ6IHRoaXMudmFsdWUuZXJyb3JTY3JpcHRcbiAgICAgIH0pXG4gICAgfSk7XG5cbiAgICB0aGlzLmZvcm0uc3RhdHVzQ2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiB0aGlzLmZvcm0udmFsaWQpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWU6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgdGhpcy5mb3JtVmFsaWRhdGlvbkNoYW5nZWQuZW1pdCh2YWx1ZSk7XG4gICAgICB9KTtcbiAgICB0aGlzLmZvcm1WYWxpZGF0aW9uQ2hhbmdlZC5lbWl0KHRoaXMuZm9ybS52YWxpZCk7XG5cbiAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmZvcm1WYWx1ZUNoYW5nZWQuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLnJlYWRPbmx5KSB7XG4gICAgICB0aGlzLmZvcm0uZGlzYWJsZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm0uZW5hYmxlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5kZXNjcmlwdGlvblBsYWNlSG9sZGVyID0gdGhpcy5yZWFkT25seVxuICAgICAgPyAnQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0RFVEFJTFMuUExBQ0VIT0xERVIuTk9fREVTQ1JJUFRJT04nXG4gICAgICA6ICdBQ0FfRk9MREVSX1JVTEVTLlJVTEVfREVUQUlMUy5QTEFDRUhPTERFUi5ERVNDUklQVElPTic7XG5cbiAgICB0aGlzLmVycm9yU2NyaXB0Q29uc3RyYWludCA9IHRoaXMucGFyYW1ldGVyQ29uc3RyYWludHMuZmluZChcbiAgICAgIChwYXJhbWV0ZXJDb25zdHJhaW50OiBBY3Rpb25QYXJhbWV0ZXJDb25zdHJhaW50KSA9PiBwYXJhbWV0ZXJDb25zdHJhaW50Lm5hbWUgPT09ICdzY3JpcHQtcmVmJ1xuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLm9uRGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMub25EZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iLCI8Zm9ybSBjbGFzcz1cImFjYS1ydWxlLWRldGFpbHNfX2Zvcm1cIiBbbmdDbGFzc109XCJ7ICdhY2EtcmVhZC1vbmx5JzogcmVhZE9ubHkgfVwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhcHJldmlld1wiPlxuICAgIDxkaXYgY2xhc3M9XCJhY2EtcnVsZS1kZXRhaWxzX19mb3JtX19yb3dcIj5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImFjYS1ydWxlLWRldGFpbHNfX25hbWVfX2xhYmVsXCIgZm9yPVwicnVsZS1kZXRhaWxzLW5hbWUtaW5wdXRcIj57eyAnQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0RFVEFJTFMuTEFCRUwuTkFNRScgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxuICAgICAgPGRpdj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgZmxvYXRMYWJlbD0nYWx3YXlzJyBjbGFzcz1cImFjYS1ydWxlLWRldGFpbHNfX2Zvcm1fX3Jvd19fZmllbGRcIj5cbiAgICAgICAgICA8bWF0LWxhYmVsICpuZ0lmPVwiIW5hbWUudmFsdWVcIj57eyAnQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0RFVEFJTFMuUExBQ0VIT0xERVIuTkFNRScgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIGlkPVwicnVsZS1kZXRhaWxzLW5hbWUtaW5wdXRcIlxuICAgICAgICAgICAgbWF0SW5wdXQgdHlwZT1cInRleHRcIiBmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCIgZGF0YS1hdXRvbWF0aW9uLWlkPVwicnVsZS1kZXRhaWxzLW5hbWUtaW5wdXRcIj5cbiAgICAgICAgICA8bWF0LWVycm9yPnt7ICdBQ0FfRk9MREVSX1JVTEVTLlJVTEVfREVUQUlMUy5FUlJPUi5SRVFVSVJFRCcgfCB0cmFuc2xhdGUgfX08L21hdC1lcnJvcj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImFjYS1ydWxlLWRldGFpbHNfX2Zvcm1fX3JvdyBhY2EtcnVsZS1kZXRhaWxzX19mb3JtX19kZXNjcmlwdGlvblwiPlxuICAgICAgPGxhYmVsIGZvcj1cInJ1bGUtZGV0YWlscy1kZXNjcmlwdGlvbi10ZXh0YXJlYVwiPnt7ICdBQ0FfRk9MREVSX1JVTEVTLlJVTEVfREVUQUlMUy5MQUJFTC5ERVNDUklQVElPTicgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxuICAgICAgPGRpdj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZsb2F0TGFiZWw9J2F1dG8nIGFwcGVhcmFuY2U9XCJmaWxsXCIgY2xhc3M9XCJhY2EtcnVsZS1kZXRhaWxzX19mb3JtX19yb3dfX2ZpZWxkXCI+XG4gICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgIGNsYXNzPVwiYWNhLXJ1bGUtZGV0YWlsc19fZm9ybV9fcm93X19maWVsZF9fdGV4dGFyZWFcIlxuICAgICAgICAgIGlkPVwicnVsZS1kZXRhaWxzLWRlc2NyaXB0aW9uLXRleHRhcmVhXCJcbiAgICAgICAgICBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJkZXNjcmlwdGlvblwiIGRhdGEtYXV0b21hdGlvbi1pZD1cInJ1bGUtZGV0YWlscy1kZXNjcmlwdGlvbi10ZXh0YXJlYVwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImRlc2NyaXB0aW9uUGxhY2VIb2xkZXIgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgPC90ZXh0YXJlYT5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8ZGl2IGNsYXNzPVwiYWNhLXJ1bGUtZGV0YWlsc19fZm9ybV9fcm93IGFjYS1ydWxlLWRldGFpbHNfX2Zvcm1fX3RyaWdnZXJzXCI+XG4gICAgPGRpdiBjbGFzcz1cImFjYS1sYWJlbFwiPnt7ICdBQ0FfRk9MREVSX1JVTEVTLlJVTEVfREVUQUlMUy5MQUJFTC5XSEVOJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDxkaXY+XG4gICAgICA8YWNhLXJ1bGUtdHJpZ2dlcnMgZm9ybUNvbnRyb2xOYW1lPVwidHJpZ2dlcnNcIiBkYXRhLWF1dG9tYXRpb24taWQ9XCJydWxlLWRldGFpbHMtdHJpZ2dlcnMtY29tcG9uZW50XCIgLz5cbiAgICAgIDxtYXQtZXJyb3IgY2xhc3M9XCJhY2EtcnVsZS1kZXRhaWxzLWVycm9yXCIgKm5nSWY9XCJ0cmlnZ2Vycy5oYXNFcnJvcigncmVxdWlyZWQnKVwiPnt7ICdBQ0FfRk9MREVSX1JVTEVTLlJVTEVfREVUQUlMUy5FUlJPUi5JTlNVRkZJQ0lFTlRfVFJJR0dFUlNfU0VMRUNURUQnIHwgdHJhbnNsYXRlIH19PC9tYXQtZXJyb3I+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJhY2EtcnVsZS1kZXRhaWxzX19mb3JtX19jb25kaXRpb25zXCI+XG4gICAgPGFjYS1ydWxlLWNvbXBvc2l0ZS1jb25kaXRpb24gW3JlYWRPbmx5XT1cInJlYWRPbmx5XCIgZm9ybUNvbnRyb2xOYW1lPVwiY29uZGl0aW9uc1wiIC8+XG4gICAgPG1hdC1lcnJvciBjbGFzcz1cImFjYS1ydWxlLWRldGFpbHMtZXJyb3JcIiAqbmdJZj1cImNvbmRpdGlvbnMuaGFzRXJyb3IoJ3J1bGVDb21wb3NpdGVDb25kaXRpb25JbnZhbGlkJylcIj57eyAnQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0RFVEFJTFMuRVJST1IuUlVMRV9DT01QT1NJVEVfQ09ORElUSU9OX0lOVkFMSUQnIHwgdHJhbnNsYXRlIH19PC9tYXQtZXJyb3I+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJhY2EtcnVsZS1kZXRhaWxzX19mb3JtX19yb3cgYWNhLXJ1bGUtZGV0YWlsc19fZm9ybV9fYWN0aW9uc1wiPlxuICAgIDxkaXYgY2xhc3M9XCJhY2EtbGFiZWxcIj57eyAnQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0RFVEFJTFMuTEFCRUwuUEVSRk9STV9BQ1RJT05TJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDxhY2EtcnVsZS1hY3Rpb24tbGlzdFxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiYWN0aW9uc1wiXG4gICAgICBbYWN0aW9uRGVmaW5pdGlvbnNdPVwiYWN0aW9uRGVmaW5pdGlvbnNcIlxuICAgICAgW3BhcmFtZXRlckNvbnN0cmFpbnRzXT1cInBhcmFtZXRlckNvbnN0cmFpbnRzXCJcbiAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgICBbbm9kZUlkXT1cIm5vZGVJZFwiIC8+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJhY2EtcnVsZS1kZXRhaWxzX19mb3JtX19yb3cgYWNhLXJ1bGUtZGV0YWlsc19fZm9ybV9fb3RoZXJzXCIgKm5nSWY9XCJzaG93T3B0aW9uc1NlY3Rpb25cIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWNhLWxhYmVsXCI+e3sgJ0FDQV9GT0xERVJfUlVMRVMuUlVMRV9ERVRBSUxTLkxBQkVMLk9QVElPTlMnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgPGFjYS1ydWxlLW9wdGlvbnNcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cIm9wdGlvbnNcIlxuICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwicnVsZS1kZXRhaWxzLW9wdGlvbnMtY29tcG9uZW50XCJcbiAgICAgIFtlcnJvclNjcmlwdENvbnN0cmFpbnRdPVwiZXJyb3JTY3JpcHRDb25zdHJhaW50XCIgLz5cbiAgPC9kaXY+XG5cbjwvZm9ybT5cbiJdfQ==
|
|
188
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS1kZXRhaWxzLnVpLWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L2ZvbGRlci1ydWxlcy9zcmMvcnVsZS1kZXRhaWxzL3J1bGUtZGV0YWlscy51aS1jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9mb2xkZXItcnVsZXMvc3JjL3J1bGUtZGV0YWlscy9ydWxlLWRldGFpbHMudWktY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzRCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUV0RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUN2RyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNwRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7O0FBRWhFLE1BbUJhLHNCQUFzQjtJQTZFYjtJQTNFcEIsUUFBUSxDQUFVO0lBRWxCLHNCQUFzQixDQUFTO0lBRXZCLGFBQWEsR0FBZ0Isa0JBQWtCLENBQUMsZ0JBQWdCLENBQUM7SUFDekUsSUFDSSxLQUFLO1FBQ1AsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDN0QsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ2pCLEtBQUssR0FBRztnQkFDTixHQUFHLEtBQUs7Z0JBQ1IsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksa0JBQWtCLENBQUMsZ0JBQWdCLENBQUM7YUFDMUQsQ0FBQztZQUNGLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQztTQUN0QjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLFFBQXVCO1FBQy9CLE1BQU0sZUFBZSxHQUFnQjtZQUNuQyxFQUFFLEVBQUUsUUFBUSxDQUFDLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNsRCxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksSUFBSSxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsSUFBSTtZQUN4RCxXQUFXLEVBQUUsUUFBUSxDQUFDLFdBQVcsSUFBSSxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsV0FBVztZQUM3RSxRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVEsSUFBSSxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsUUFBUTtZQUNwRSxVQUFVLEVBQUUsUUFBUSxDQUFDLFVBQVUsSUFBSSxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsVUFBVTtZQUMxRSxPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsT0FBTztZQUNqRSxPQUFPLEVBQUU7Z0JBQ1AsU0FBUyxFQUFFLE9BQU8sUUFBUSxDQUFDLGFBQWEsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxTQUFTO2dCQUNuSCxhQUFhLEVBQUUsUUFBUSxDQUFDLGFBQWEsSUFBSSxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsYUFBYTtnQkFDbkYsY0FBYyxFQUFFLFFBQVEsQ0FBQyxjQUFjLElBQUksa0JBQWtCLENBQUMsU0FBUyxDQUFDLGNBQWM7Z0JBQ3RGLFdBQVcsRUFBRSxRQUFRLENBQUMsV0FBVyxJQUFJLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxXQUFXO2FBQzlFO1NBQ0YsQ0FBQztRQUNGLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQ3JDO2FBQU07WUFDTCxJQUFJLENBQUMsYUFBYSxHQUFHLGVBQWUsQ0FBQztTQUN0QztJQUNILENBQUM7SUFFRCxPQUFPLENBQVU7SUFFakIsaUJBQWlCLEdBQWtDLEVBQUUsQ0FBQztJQUV0RCxvQkFBb0IsR0FBZ0MsRUFBRSxDQUFDO0lBRXZELE1BQU0sR0FBRyxFQUFFLENBQUM7SUFHWixxQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBRXBELGdCQUFnQixHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO0lBRXJELElBQUksQ0FBbUI7SUFFdkIscUJBQXFCLENBQTRCO0lBQ2pELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUF1QixDQUFDO0lBQ3JELENBQUM7SUFDRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBdUIsQ0FBQztJQUM1RCxDQUFDO0lBQ0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQXVCLENBQUM7SUFDekQsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUF1QixDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQztJQUNqRixDQUFDO0lBRWdCLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFakQsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO0lBQUcsQ0FBQztJQUV4RCxRQUFRO1FBQ04sTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUN0RSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxFQUFFLEtBQUssZUFBZSxDQUFDLENBQUMsQ0FBQztRQUN6SCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksZ0JBQWdCLENBQUM7WUFDL0IsRUFBRSxFQUFFLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDekMsSUFBSSxFQUFFLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDeEUsV0FBVyxFQUFFLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1lBQ2pFLFFBQVEsRUFBRSxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUN6RixVQUFVLEVBQUUsSUFBSSxrQkFBa0IsQ0FDaEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUk7Z0JBQ3ZCLFFBQVEsRUFBRSxLQUFLO2dCQUNmLFdBQVcsRUFBRSxLQUFLO2dCQUNsQixtQkFBbUIsRUFBRSxFQUFFO2dCQUN2QixnQkFBZ0IsRUFBRSxFQUFFO2FBQ3JCLEVBQ0QsK0JBQStCLEVBQUUsQ0FDbEM7WUFDRCxPQUFPLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztZQUN4SCxPQUFPLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQztnQkFDOUIsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUztnQkFDL0IsYUFBYSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYTtnQkFDdkMsY0FBYyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYztnQkFDekMsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVzthQUNwQyxDQUFDO1NBQ0gsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhO2FBQ3BCLElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFDMUIsb0JBQW9CLEVBQUUsRUFDdEIsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUNwQzthQUNBLFNBQVMsQ0FBQyxDQUFDLEtBQWMsRUFBRSxFQUFFO1lBQzVCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7UUFDTCxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFakQsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDOUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNyQjthQUFNO1lBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUNwQjtRQUVELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsUUFBUTtZQUN6QyxDQUFDLENBQUMsMERBQTBEO1lBQzVELENBQUMsQ0FBQyx1REFBdUQsQ0FBQztRQUU1RCxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FDekQsQ0FBQyxtQkFBOEMsRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FDOUYsQ0FBQztJQUNKLENBQUM7dUdBcklVLHNCQUFzQjsyRkFBdEIsc0JBQXNCLDJZQy9EbkMsNHpHQStEQSxpMkZEaEJJLFlBQVksZ09BQ1osZUFBZSwyRkFDZixtQkFBbUIsNDhCQUNuQixrQkFBa0IsdVlBQ2xCLGNBQWMsMldBQ2QsdUJBQXVCLDhEQUN2QixpQ0FBaUMsd0lBQ2pDLHlCQUF5Qiw4SUFDekIsc0JBQXNCOztTQVFiLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQW5CbEMsU0FBUztpQ0FDSSxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLHVCQUF1Qjt3QkFDdkIsaUNBQWlDO3dCQUNqQyx5QkFBeUI7d0JBQ3pCLHNCQUFzQjtxQkFDdkIsWUFDUyxrQkFBa0IsaUJBR2IsaUJBQWlCLENBQUMsSUFBSSxRQUMvQixFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRTtzR0FJbkMsUUFBUTtzQkFEUCxLQUFLO2dCQU9GLEtBQUs7c0JBRFIsS0FBSztnQkFrQ04sT0FBTztzQkFETixLQUFLO2dCQUdOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFHTixvQkFBb0I7c0JBRG5CLEtBQUs7Z0JBR04sTUFBTTtzQkFETCxLQUFLO2dCQUlOLHFCQUFxQjtzQkFEcEIsTUFBTTtnQkFHUCxnQkFBZ0I7c0JBRGYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIERlc3Ryb3lSZWYsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUnVsZSwgUnVsZUZvckZvcm0gfSBmcm9tICcuLi9tb2RlbC9ydWxlLm1vZGVsJztcbmltcG9ydCB7IHJ1bGVDb21wb3NpdGVDb25kaXRpb25WYWxpZGF0b3IgfSBmcm9tICcuL3ZhbGlkYXRvcnMvcnVsZS1jb21wb3NpdGUtY29uZGl0aW9uLnZhbGlkYXRvcic7XG5pbXBvcnQgeyBGb2xkZXJSdWxlc1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9mb2xkZXItcnVsZXMuc2VydmljZSc7XG5pbXBvcnQgeyBBY3Rpb25EZWZpbml0aW9uVHJhbnNmb3JtZWQgfSBmcm9tICcuLi9tb2RlbC9ydWxlLWFjdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBydWxlQWN0aW9uc1ZhbGlkYXRvciB9IGZyb20gJy4vdmFsaWRhdG9ycy9ydWxlLWFjdGlvbnMudmFsaWRhdG9yJztcbmltcG9ydCB7IEFjdGlvblBhcmFtZXRlckNvbnN0cmFpbnQgfSBmcm9tICcuLi9tb2RlbC9hY3Rpb24tcGFyYW1ldGVyLWNvbnN0cmFpbnQubW9kZWwnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IFJ1bGVUcmlnZ2Vyc1VpQ29tcG9uZW50IH0gZnJvbSAnLi90cmlnZ2Vycy9ydWxlLXRyaWdnZXJzLnVpLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBSdWxlQ29tcG9zaXRlQ29uZGl0aW9uVWlDb21wb25lbnQgfSBmcm9tICcuL2NvbmRpdGlvbnMvcnVsZS1jb21wb3NpdGUtY29uZGl0aW9uLnVpLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBSdWxlQWN0aW9uTGlzdFVpQ29tcG9uZW50IH0gZnJvbSAnLi9hY3Rpb25zL3J1bGUtYWN0aW9uLWxpc3QudWktY29tcG9uZW50JztcbmltcG9ydCB7IFJ1bGVPcHRpb25zVWlDb21wb25lbnQgfSBmcm9tICcuL29wdGlvbnMvcnVsZS1vcHRpb25zLnVpLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYXRlZ29yeVNlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvbnRlbnQtc2VydmljZXMnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgUnVsZVRyaWdnZXJzVWlDb21wb25lbnQsXG4gICAgUnVsZUNvbXBvc2l0ZUNvbmRpdGlvblVpQ29tcG9uZW50LFxuICAgIFJ1bGVBY3Rpb25MaXN0VWlDb21wb25lbnQsXG4gICAgUnVsZU9wdGlvbnNVaUNvbXBvbmVudFxuICBdLFxuICBzZWxlY3RvcjogJ2FjYS1ydWxlLWRldGFpbHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vcnVsZS1kZXRhaWxzLnVpLWNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcnVsZS1kZXRhaWxzLnVpLWNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHsgY2xhc3M6ICdhY2EtcnVsZS1kZXRhaWxzJyB9XG59KVxuZXhwb3J0IGNsYXNzIFJ1bGVEZXRhaWxzVWlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKVxuICByZWFkT25seTogYm9vbGVhbjtcblxuICBkZXNjcmlwdGlvblBsYWNlSG9sZGVyOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBfaW5pdGlhbFZhbHVlOiBSdWxlRm9yRm9ybSA9IEZvbGRlclJ1bGVzU2VydmljZS5lbXB0eVJ1bGVGb3JGb3JtO1xuICBASW5wdXQoKVxuICBnZXQgdmFsdWUoKTogUGFydGlhbDxSdWxlPiB7XG4gICAgbGV0IHZhbHVlID0gdGhpcy5mb3JtID8gdGhpcy5mb3JtLnZhbHVlIDogdGhpcy5faW5pdGlhbFZhbHVlO1xuICAgIGlmICh2YWx1ZS5vcHRpb25zKSB7XG4gICAgICB2YWx1ZSA9IHtcbiAgICAgICAgLi4udmFsdWUsXG4gICAgICAgIC4uLih2YWx1ZS5vcHRpb25zID8/IEZvbGRlclJ1bGVzU2VydmljZS5lbXB0eVJ1bGVPcHRpb25zKVxuICAgICAgfTtcbiAgICAgIGRlbGV0ZSB2YWx1ZS5vcHRpb25zO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbiAgc2V0IHZhbHVlKG5ld1ZhbHVlOiBQYXJ0aWFsPFJ1bGU+KSB7XG4gICAgY29uc3QgbmV3VmFsdWVGb3JGb3JtOiBSdWxlRm9yRm9ybSA9IHtcbiAgICAgIGlkOiBuZXdWYWx1ZS5pZCB8fCBGb2xkZXJSdWxlc1NlcnZpY2UuZW1wdHlSdWxlLmlkLFxuICAgICAgbmFtZTogbmV3VmFsdWUubmFtZSB8fCBGb2xkZXJSdWxlc1NlcnZpY2UuZW1wdHlSdWxlLm5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogbmV3VmFsdWUuZGVzY3JpcHRpb24gfHwgRm9sZGVyUnVsZXNTZXJ2aWNlLmVtcHR5UnVsZS5kZXNjcmlwdGlvbixcbiAgICAgIHRyaWdnZXJzOiBuZXdWYWx1ZS50cmlnZ2VycyB8fCBGb2xkZXJSdWxlc1NlcnZpY2UuZW1wdHlSdWxlLnRyaWdnZXJzLFxuICAgICAgY29uZGl0aW9uczogbmV3VmFsdWUuY29uZGl0aW9ucyB8fCBGb2xkZXJSdWxlc1NlcnZpY2UuZW1wdHlSdWxlLmNvbmRpdGlvbnMsXG4gICAgICBhY3Rpb25zOiBuZXdWYWx1ZS5hY3Rpb25zIHx8IEZvbGRlclJ1bGVzU2VydmljZS5lbXB0eVJ1bGUuYWN0aW9ucyxcbiAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgaXNFbmFibGVkOiB0eXBlb2YgbmV3VmFsdWUuaXNJbmhlcml0YWJsZSA9PSAnYm9vbGVhbicgPyBuZXdWYWx1ZS5pc0VuYWJsZWQgOiBGb2xkZXJSdWxlc1NlcnZpY2UuZW1wdHlSdWxlLmlzRW5hYmxlZCxcbiAgICAgICAgaXNJbmhlcml0YWJsZTogbmV3VmFsdWUuaXNJbmhlcml0YWJsZSB8fCBGb2xkZXJSdWxlc1NlcnZpY2UuZW1wdHlSdWxlLmlzSW5oZXJpdGFibGUsXG4gICAgICAgIGlzQXN5bmNocm9ub3VzOiBuZXdWYWx1ZS5pc0FzeW5jaHJvbm91cyB8fCBGb2xkZXJSdWxlc1NlcnZpY2UuZW1wdHlSdWxlLmlzQXN5bmNocm9ub3VzLFxuICAgICAgICBlcnJvclNjcmlwdDogbmV3VmFsdWUuZXJyb3JTY3JpcHQgfHwgRm9sZGVyUnVsZXNTZXJ2aWNlLmVtcHR5UnVsZS5lcnJvclNjcmlwdFxuICAgICAgfVxuICAgIH07XG4gICAgaWYgKHRoaXMuZm9ybSkge1xuICAgICAgdGhpcy5mb3JtLnNldFZhbHVlKG5ld1ZhbHVlRm9yRm9ybSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2luaXRpYWxWYWx1ZSA9IG5ld1ZhbHVlRm9yRm9ybTtcbiAgICB9XG4gIH1cbiAgQElucHV0KClcbiAgcHJldmlldzogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgYWN0aW9uRGVmaW5pdGlvbnM6IEFjdGlvbkRlZmluaXRpb25UcmFuc2Zvcm1lZFtdID0gW107XG4gIEBJbnB1dCgpXG4gIHBhcmFtZXRlckNvbnN0cmFpbnRzOiBBY3Rpb25QYXJhbWV0ZXJDb25zdHJhaW50W10gPSBbXTtcbiAgQElucHV0KClcbiAgbm9kZUlkID0gJyc7XG5cbiAgQE91dHB1dCgpXG4gIGZvcm1WYWxpZGF0aW9uQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpXG4gIGZvcm1WYWx1ZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFBhcnRpYWw8UnVsZT4+KCk7XG5cbiAgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcblxuICBlcnJvclNjcmlwdENvbnN0cmFpbnQ6IEFjdGlvblBhcmFtZXRlckNvbnN0cmFpbnQ7XG4gIGdldCBuYW1lKCk6IFVudHlwZWRGb3JtQ29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQoJ25hbWUnKSBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XG4gIH1cbiAgZ2V0IGRlc2NyaXB0aW9uKCk6IFVudHlwZWRGb3JtQ29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQoJ2Rlc2NyaXB0aW9uJykgYXMgVW50eXBlZEZvcm1Db250cm9sO1xuICB9XG4gIGdldCB0cmlnZ2VycygpOiBVbnR5cGVkRm9ybUNvbnRyb2wge1xuICAgIHJldHVybiB0aGlzLmZvcm0uZ2V0KCd0cmlnZ2VycycpIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcbiAgfVxuXG4gIGdldCBjb25kaXRpb25zKCk6IFVudHlwZWRGb3JtQ29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQoJ2NvbmRpdGlvbnMnKSBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XG4gIH1cblxuICBnZXQgc2hvd09wdGlvbnNTZWN0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5yZWFkT25seSB8fCB0aGlzLnZhbHVlLmlzQXN5bmNocm9ub3VzIHx8IHRoaXMudmFsdWUuaXNJbmhlcml0YWJsZTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNhdGVnb3J5U2VydmljZTogQ2F0ZWdvcnlTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IGRpc2FibGVkQ2F0ZWdvcnkgPSAhdGhpcy5jYXRlZ29yeVNlcnZpY2UuYXJlQ2F0ZWdvcmllc0VuYWJsZWQoKTtcbiAgICB0aGlzLmFjdGlvbkRlZmluaXRpb25zID0gdGhpcy5hY3Rpb25EZWZpbml0aW9ucy5maWx0ZXIoKGFjdGlvbikgPT4gIShkaXNhYmxlZENhdGVnb3J5ICYmIGFjdGlvbi5pZCA9PT0gJ2xpbmstY2F0ZWdvcnknKSk7XG4gICAgdGhpcy5mb3JtID0gbmV3IFVudHlwZWRGb3JtR3JvdXAoe1xuICAgICAgaWQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodGhpcy52YWx1ZS5pZCksXG4gICAgICBuYW1lOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRoaXMudmFsdWUubmFtZSB8fCAnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBkZXNjcmlwdGlvbjogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0aGlzLnZhbHVlLmRlc2NyaXB0aW9uIHx8ICcnKSxcbiAgICAgIHRyaWdnZXJzOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRoaXMudmFsdWUudHJpZ2dlcnMgfHwgWydpbmJvdW5kJ10sIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgY29uZGl0aW9uczogbmV3IFVudHlwZWRGb3JtQ29udHJvbChcbiAgICAgICAgdGhpcy52YWx1ZS5jb25kaXRpb25zIHx8IHtcbiAgICAgICAgICBpbnZlcnRlZDogZmFsc2UsXG4gICAgICAgICAgYm9vbGVhbk1vZGU6ICdhbmQnLFxuICAgICAgICAgIGNvbXBvc2l0ZUNvbmRpdGlvbnM6IFtdLFxuICAgICAgICAgIHNpbXBsZUNvbmRpdGlvbnM6IFtdXG4gICAgICAgIH0sXG4gICAgICAgIHJ1bGVDb21wb3NpdGVDb25kaXRpb25WYWxpZGF0b3IoKVxuICAgICAgKSxcbiAgICAgIGFjdGlvbnM6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodGhpcy52YWx1ZS5hY3Rpb25zLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgcnVsZUFjdGlvbnNWYWxpZGF0b3IodGhpcy5hY3Rpb25EZWZpbml0aW9ucyldKSxcbiAgICAgIG9wdGlvbnM6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woe1xuICAgICAgICBpc0VuYWJsZWQ6IHRoaXMudmFsdWUuaXNFbmFibGVkLFxuICAgICAgICBpc0luaGVyaXRhYmxlOiB0aGlzLnZhbHVlLmlzSW5oZXJpdGFibGUsXG4gICAgICAgIGlzQXN5bmNocm9ub3VzOiB0aGlzLnZhbHVlLmlzQXN5bmNocm9ub3VzLFxuICAgICAgICBlcnJvclNjcmlwdDogdGhpcy52YWx1ZS5lcnJvclNjcmlwdFxuICAgICAgfSlcbiAgICB9KTtcblxuICAgIHRoaXMuZm9ybS5zdGF0dXNDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCgpID0+IHRoaXMuZm9ybS52YWxpZCksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCh2YWx1ZTogYm9vbGVhbikgPT4ge1xuICAgICAgICB0aGlzLmZvcm1WYWxpZGF0aW9uQ2hhbmdlZC5lbWl0KHZhbHVlKTtcbiAgICAgIH0pO1xuICAgIHRoaXMuZm9ybVZhbGlkYXRpb25DaGFuZ2VkLmVtaXQodGhpcy5mb3JtLnZhbGlkKTtcblxuICAgIHRoaXMuZm9ybS52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuZm9ybVZhbHVlQ2hhbmdlZC5lbWl0KHRoaXMudmFsdWUpO1xuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMucmVhZE9ubHkpIHtcbiAgICAgIHRoaXMuZm9ybS5kaXNhYmxlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZm9ybS5lbmFibGUoKTtcbiAgICB9XG5cbiAgICB0aGlzLmRlc2NyaXB0aW9uUGxhY2VIb2xkZXIgPSB0aGlzLnJlYWRPbmx5XG4gICAgICA/ICdBQ0FfRk9MREVSX1JVTEVTLlJVTEVfREVUQUlMUy5QTEFDRUhPTERFUi5OT19ERVNDUklQVElPTidcbiAgICAgIDogJ0FDQV9GT0xERVJfUlVMRVMuUlVMRV9ERVRBSUxTLlBMQUNFSE9MREVSLkRFU0NSSVBUSU9OJztcblxuICAgIHRoaXMuZXJyb3JTY3JpcHRDb25zdHJhaW50ID0gdGhpcy5wYXJhbWV0ZXJDb25zdHJhaW50cy5maW5kKFxuICAgICAgKHBhcmFtZXRlckNvbnN0cmFpbnQ6IEFjdGlvblBhcmFtZXRlckNvbnN0cmFpbnQpID0+IHBhcmFtZXRlckNvbnN0cmFpbnQubmFtZSA9PT0gJ3NjcmlwdC1yZWYnXG4gICAgKTtcbiAgfVxufVxuIiwiPGZvcm0gY2xhc3M9XCJhY2EtcnVsZS1kZXRhaWxzX19mb3JtXCIgW25nQ2xhc3NdPVwieyAnYWNhLXJlYWQtb25seSc6IHJlYWRPbmx5IH1cIiBbZm9ybUdyb3VwXT1cImZvcm1cIj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXByZXZpZXdcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWNhLXJ1bGUtZGV0YWlsc19fZm9ybV9fcm93XCI+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJhY2EtcnVsZS1kZXRhaWxzX19uYW1lX19sYWJlbFwiIGZvcj1cInJ1bGUtZGV0YWlscy1uYW1lLWlucHV0XCI+e3sgJ0FDQV9GT0xERVJfUlVMRVMuUlVMRV9ERVRBSUxTLkxBQkVMLk5BTUUnIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGZsb2F0TGFiZWw9J2Fsd2F5cycgY2xhc3M9XCJhY2EtcnVsZS1kZXRhaWxzX19mb3JtX19yb3dfX2ZpZWxkXCI+XG4gICAgICAgICAgPG1hdC1sYWJlbCAqbmdJZj1cIiFuYW1lLnZhbHVlXCI+e3sgJ0FDQV9GT0xERVJfUlVMRVMuUlVMRV9ERVRBSUxTLlBMQUNFSE9MREVSLk5BTUUnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBpZD1cInJ1bGUtZGV0YWlscy1uYW1lLWlucHV0XCJcbiAgICAgICAgICAgIG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiIGRhdGEtYXV0b21hdGlvbi1pZD1cInJ1bGUtZGV0YWlscy1uYW1lLWlucHV0XCI+XG4gICAgICAgICAgPG1hdC1lcnJvcj57eyAnQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0RFVEFJTFMuRVJST1IuUkVRVUlSRUQnIHwgdHJhbnNsYXRlIH19PC9tYXQtZXJyb3I+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJhY2EtcnVsZS1kZXRhaWxzX19mb3JtX19yb3cgYWNhLXJ1bGUtZGV0YWlsc19fZm9ybV9fZGVzY3JpcHRpb25cIj5cbiAgICAgIDxsYWJlbCBmb3I9XCJydWxlLWRldGFpbHMtZGVzY3JpcHRpb24tdGV4dGFyZWFcIj57eyAnQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0RFVEFJTFMuTEFCRUwuREVTQ1JJUFRJT04nIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBmbG9hdExhYmVsPSdhdXRvJyBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiYWNhLXJ1bGUtZGV0YWlsc19fZm9ybV9fcm93X19maWVsZFwiPlxuICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICBjbGFzcz1cImFjYS1ydWxlLWRldGFpbHNfX2Zvcm1fX3Jvd19fZmllbGRfX3RleHRhcmVhXCJcbiAgICAgICAgICBpZD1cInJ1bGUtZGV0YWlscy1kZXNjcmlwdGlvbi10ZXh0YXJlYVwiXG4gICAgICAgICAgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiZGVzY3JpcHRpb25cIiBkYXRhLWF1dG9tYXRpb24taWQ9XCJydWxlLWRldGFpbHMtZGVzY3JpcHRpb24tdGV4dGFyZWFcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJkZXNjcmlwdGlvblBsYWNlSG9sZGVyIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgIDwvdGV4dGFyZWE+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPGRpdiBjbGFzcz1cImFjYS1ydWxlLWRldGFpbHNfX2Zvcm1fX3JvdyBhY2EtcnVsZS1kZXRhaWxzX19mb3JtX190cmlnZ2Vyc1wiPlxuICAgIDxkaXYgY2xhc3M9XCJhY2EtbGFiZWxcIj57eyAnQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0RFVEFJTFMuTEFCRUwuV0hFTicgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8ZGl2PlxuICAgICAgPGFjYS1ydWxlLXRyaWdnZXJzIGZvcm1Db250cm9sTmFtZT1cInRyaWdnZXJzXCIgZGF0YS1hdXRvbWF0aW9uLWlkPVwicnVsZS1kZXRhaWxzLXRyaWdnZXJzLWNvbXBvbmVudFwiIC8+XG4gICAgICA8bWF0LWVycm9yIGNsYXNzPVwiYWNhLXJ1bGUtZGV0YWlscy1lcnJvclwiICpuZ0lmPVwidHJpZ2dlcnMuaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj57eyAnQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0RFVEFJTFMuRVJST1IuSU5TVUZGSUNJRU5UX1RSSUdHRVJTX1NFTEVDVEVEJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWVycm9yPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiYWNhLXJ1bGUtZGV0YWlsc19fZm9ybV9fY29uZGl0aW9uc1wiPlxuICAgIDxhY2EtcnVsZS1jb21wb3NpdGUtY29uZGl0aW9uIFtyZWFkT25seV09XCJyZWFkT25seVwiIGZvcm1Db250cm9sTmFtZT1cImNvbmRpdGlvbnNcIiAvPlxuICAgIDxtYXQtZXJyb3IgY2xhc3M9XCJhY2EtcnVsZS1kZXRhaWxzLWVycm9yXCIgKm5nSWY9XCJjb25kaXRpb25zLmhhc0Vycm9yKCdydWxlQ29tcG9zaXRlQ29uZGl0aW9uSW52YWxpZCcpXCI+e3sgJ0FDQV9GT0xERVJfUlVMRVMuUlVMRV9ERVRBSUxTLkVSUk9SLlJVTEVfQ09NUE9TSVRFX0NPTkRJVElPTl9JTlZBTElEJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWVycm9yPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiYWNhLXJ1bGUtZGV0YWlsc19fZm9ybV9fcm93IGFjYS1ydWxlLWRldGFpbHNfX2Zvcm1fX2FjdGlvbnNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWNhLWxhYmVsXCI+e3sgJ0FDQV9GT0xERVJfUlVMRVMuUlVMRV9ERVRBSUxTLkxBQkVMLlBFUkZPUk1fQUNUSU9OUycgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICA8YWNhLXJ1bGUtYWN0aW9uLWxpc3RcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cImFjdGlvbnNcIlxuICAgICAgW2FjdGlvbkRlZmluaXRpb25zXT1cImFjdGlvbkRlZmluaXRpb25zXCJcbiAgICAgIFtwYXJhbWV0ZXJDb25zdHJhaW50c109XCJwYXJhbWV0ZXJDb25zdHJhaW50c1wiXG4gICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgICAgW25vZGVJZF09XCJub2RlSWRcIiAvPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiYWNhLXJ1bGUtZGV0YWlsc19fZm9ybV9fcm93IGFjYS1ydWxlLWRldGFpbHNfX2Zvcm1fX290aGVyc1wiICpuZ0lmPVwic2hvd09wdGlvbnNTZWN0aW9uXCI+XG4gICAgPGRpdiBjbGFzcz1cImFjYS1sYWJlbFwiPnt7ICdBQ0FfRk9MREVSX1JVTEVTLlJVTEVfREVUQUlMUy5MQUJFTC5PUFRJT05TJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgIDxhY2EtcnVsZS1vcHRpb25zXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJvcHRpb25zXCJcbiAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cInJ1bGUtZGV0YWlscy1vcHRpb25zLWNvbXBvbmVudFwiXG4gICAgICBbZXJyb3JTY3JpcHRDb25zdHJhaW50XT1cImVycm9yU2NyaXB0Q29uc3RyYWludFwiIC8+XG4gIDwvZGl2PlxuXG48L2Zvcm0+XG4iXX0=
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
* You should have received a copy of the GNU Lesser General Public License
|
|
22
22
|
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
23
23
|
*/
|
|
24
|
-
import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
24
|
+
import { Component, DestroyRef, EventEmitter, inject, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
25
25
|
import { FolderRuleSetsService } from '../../services/folder-rule-sets.service';
|
|
26
26
|
import { CommonModule } from '@angular/common';
|
|
27
27
|
import { TranslateModule } from '@ngx-translate/core';
|
|
@@ -32,6 +32,7 @@ import { RuleListGroupingUiComponent } from '../rule-list-grouping/rule-list-gro
|
|
|
32
32
|
import { RouterModule } from '@angular/router';
|
|
33
33
|
import { MatButtonModule } from '@angular/material/button';
|
|
34
34
|
import { Observable } from 'rxjs';
|
|
35
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
35
36
|
import * as i0 from "@angular/core";
|
|
36
37
|
import * as i1 from "@angular/common";
|
|
37
38
|
import * as i2 from "@ngx-translate/core";
|
|
@@ -60,9 +61,9 @@ class RuleListUiComponent {
|
|
|
60
61
|
inheritedRuleSetGroupingItems = [];
|
|
61
62
|
isMainRuleSetOwned = false;
|
|
62
63
|
isMainRuleSetLinked = false;
|
|
63
|
-
|
|
64
|
+
destroyRef = inject(DestroyRef);
|
|
64
65
|
ngOnInit() {
|
|
65
|
-
this.
|
|
66
|
+
this.mainRuleSet$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((ruleSet) => {
|
|
66
67
|
if (ruleSet) {
|
|
67
68
|
this.mainRuleSet = ruleSet;
|
|
68
69
|
this.isMainRuleSetOwned = FolderRuleSetsService.isOwnedRuleSet(ruleSet, this.folderId);
|
|
@@ -80,9 +81,6 @@ class RuleListUiComponent {
|
|
|
80
81
|
});
|
|
81
82
|
}
|
|
82
83
|
}
|
|
83
|
-
ngOnDestroy() {
|
|
84
|
-
this._mainRuleSetSub.unsubscribe();
|
|
85
|
-
}
|
|
86
84
|
getRuleSetGroupingItems(ruleSet, filterOutDisabledRules) {
|
|
87
85
|
const items = ruleSet.rules
|
|
88
86
|
.filter((rule) => rule.isEnabled || !filterOutDisabledRules)
|
|
@@ -163,4 +161,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
163
161
|
}], ruleSetUnlinkClicked: [{
|
|
164
162
|
type: Output
|
|
165
163
|
}] } });
|
|
166
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS1saXN0LnVpLWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L2ZvbGRlci1ydWxlcy9zcmMvcnVsZS1saXN0L3J1bGUtbGlzdC9ydWxlLWxpc3QudWktY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvZm9sZGVyLXJ1bGVzL3NyYy9ydWxlLWxpc3QvcnVsZS1saXN0L3J1bGUtbGlzdC51aS1jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTdHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQWdCLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUFFaEQsTUFrQmEsbUJBQW1CO0lBRTlCLFlB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QzNCLFlBQVksdVFBQ1osZUFBZTs7U0FRTixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFsQi9CLFNBQVM7aUNBQ0ksSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQiwyQkFBMkI7d0JBQzNCLFlBQVk7d0JBQ1osZUFBZTtxQkFDaEIsWUFDUyxlQUFlLGlCQUdWLGlCQUFpQixDQUFDLElBQUksUUFDL0IsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFOzhCQUloQyxZQUFZO3NCQURYLEtBQUs7Z0JBR04sUUFBUTtzQkFEUCxLQUFLO2dCQUdOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFHTixlQUFlO3NCQURkLEtBQUs7Z0JBR04sZUFBZTtzQkFEZCxLQUFLO2dCQUdOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixnQkFBZ0I7c0JBRGYsTUFBTTtnQkFHUCxhQUFhO3NCQURaLE1BQU07Z0JBR1AsVUFBVTtzQkFEVCxNQUFNO2dCQUdQLGtCQUFrQjtzQkFEakIsTUFBTTtnQkFHUCxzQkFBc0I7c0JBRHJCLE1BQU07Z0JBR1Asb0JBQW9CO3NCQURuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI0IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbi5cbiAqIElmIHRoZSBzb2Z0d2FyZSB3YXMgcHVyY2hhc2VkIHVuZGVyIGEgcGFpZCBBbGZyZXNjbyBsaWNlbnNlLCB0aGUgdGVybXMgb2ZcbiAqIHRoZSBwYWlkIGxpY2Vuc2UgYWdyZWVtZW50IHdpbGwgcHJldmFpbC4gT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBmcm9tIEh5bGFuZCBTb2Z0d2FyZS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJ1bGVTZXQgfSBmcm9tICcuLi8uLi9tb2RlbC9ydWxlLXNldC5tb2RlbCc7XG5pbXBvcnQgeyBSdWxlIH0gZnJvbSAnLi4vLi4vbW9kZWwvcnVsZS5tb2RlbCc7XG5pbXBvcnQgeyBSdWxlR3JvdXBpbmdJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWwvcnVsZS1ncm91cGluZy1pdGVtLm1vZGVsJztcbmltcG9ydCB7IEZvbGRlclJ1bGVTZXRzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZvbGRlci1ydWxlLXNldHMuc2VydmljZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRSaXBwbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IFJ1bGVMaXN0R3JvdXBpbmdVaUNvbXBvbmVudCB9IGZyb20gJy4uL3J1bGUtbGlzdC1ncm91cGluZy9ydWxlLWxpc3QtZ3JvdXBpbmcudWktY29tcG9uZW50JztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBNYXRSaXBwbGVNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIFJ1bGVMaXN0R3JvdXBpbmdVaUNvbXBvbmVudCxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlXG4gIF0sXG4gIHNlbGVjdG9yOiAnYWNhLXJ1bGUtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9ydWxlLWxpc3QudWktY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ydWxlLWxpc3QudWktY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDogeyBjbGFzczogJ2FjYS1ydWxlLWxpc3QnIH1cbn0pXG5leHBvcnQgY2xhc3MgUnVsZUxpc3RVaUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgbWFpblJ1bGVTZXQkOiBPYnNlcnZhYmxlPFJ1bGVTZXQ+O1xuICBASW5wdXQoKVxuICBmb2xkZXJJZDogc3RyaW5nO1xuICBASW5wdXQoKVxuICBpbmhlcml0ZWRSdWxlU2V0czogUnVsZVNldFtdID0gW107XG4gIEBJbnB1dCgpXG4gIGhhc01vcmVSdWxlU2V0cyA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBydWxlU2V0c0xvYWRpbmcgPSBmYWxzZTtcbiAgQElucHV0KClcbiAgc2VsZWN0ZWRSdWxlID0gbnVsbDtcblxuICBAT3V0cHV0KClcbiAgbG9hZE1vcmVSdWxlU2V0cyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpXG4gIGxvYWRNb3JlUnVsZXMgPSBuZXcgRXZlbnRFbWl0dGVyPFJ1bGVTZXQ+KCk7XG4gIEBPdXRwdXQoKVxuICBzZWxlY3RSdWxlID0gbmV3IEV2ZW50RW1pdHRlcjxSdWxlPigpO1xuICBAT3V0cHV0KClcbiAgcnVsZUVuYWJsZWRDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxbUnVsZSwgYm9vbGVhbl0+KCk7XG4gIEBPdXRwdXQoKVxuICBydWxlU2V0RWRpdExpbmtDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxSdWxlU2V0PigpO1xuICBAT3V0cHV0KClcbiAgcnVsZVNldFVubGlua0NsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFJ1bGVTZXQ+KCk7XG5cbiAgbWFpblJ1bGVTZXQ6IFJ1bGVTZXQgPSBudWxsO1xuICBpbmhlcml0ZWRSdWxlU2V0c0V4cGFuZGVkID0gdHJ1ZTtcbiAgbWFpblJ1bGVTZXRFeHBhbmRlZCA9IHRydWU7XG4gIG1haW5SdWxlU2V0R3JvdXBpbmdJdGVtczogUnVsZUdyb3VwaW5nSXRlbVtdID0gW107XG4gIGluaGVyaXRlZFJ1bGVTZXRHcm91cGluZ0l0ZW1zOiBSdWxlR3JvdXBpbmdJdGVtW10gPSBbXTtcbiAgaXNNYWluUnVsZVNldE93bmVkID0gZmFsc2U7XG4gIGlzTWFpblJ1bGVTZXRMaW5rZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIF9tYWluUnVsZVNldFN1YjogU3Vic2NyaXB0aW9uO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuX21haW5SdWxlU2V0U3ViID0gdGhpcy5tYWluUnVsZVNldCQuc3Vic2NyaWJlKChydWxlU2V0OiBSdWxlU2V0KSA9PiB7XG4gICAgICBpZiAocnVsZVNldCkge1xuICAgICAgICB0aGlzLm1haW5SdWxlU2V0ID0gcnVsZVNldDtcbiAgICAgICAgdGhpcy5pc01haW5SdWxlU2V0T3duZWQgPSBGb2xkZXJSdWxlU2V0c1NlcnZpY2UuaXNPd25lZFJ1bGVTZXQocnVsZVNldCwgdGhpcy5mb2xkZXJJZCk7XG4gICAgICAgIHRoaXMuaXNNYWluUnVsZVNldExpbmtlZCA9IEZvbGRlclJ1bGVTZXRzU2VydmljZS5pc0xpbmtlZFJ1bGVTZXQocnVsZVNldCwgdGhpcy5mb2xkZXJJZCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMubWFpblJ1bGVTZXRHcm91cGluZ0l0ZW1zID0gcnVsZVNldCA/IHRoaXMuZ2V0UnVsZVNldEdyb3VwaW5nSXRlbXMocnVsZVNldCwgIXRoaXMuaXNNYWluUnVsZVNldE93bmVkKSA6IFtdO1xuICAgIH0pO1xuXG4gICAgdGhpcy5pbmhlcml0ZWRSdWxlU2V0R3JvdXBpbmdJdGVtcyA9IHRoaXMuaW5oZXJpdGVkUnVsZVNldHMucmVkdWNlKChhY2N1bXVsYXRvcjogUnVsZUdyb3VwaW5nSXRlbVtdLCBjdXJyZW50UnVsZVNldDogUnVsZVNldCkgPT4ge1xuICAgICAgYWNjdW11bGF0b3IucHVzaCguLi50aGlzLmdldFJ1bGVTZXRHcm91cGluZ0l0ZW1zKGN1cnJlbnRSdWxlU2V0LCB0cnVlKSk7XG4gICAgICByZXR1cm4gYWNjdW11bGF0b3I7XG4gICAgfSwgW10pO1xuICAgIGlmICh0aGlzLnJ1bGVTZXRzTG9hZGluZyB8fCB0aGlzLmhhc01vcmVSdWxlU2V0cykge1xuICAgICAgdGhpcy5pbmhlcml0ZWRSdWxlU2V0R3JvdXBpbmdJdGVtcy5wdXNoKHtcbiAgICAgICAgdHlwZTogdGhpcy5ydWxlU2V0c0xvYWRpbmcgPyAnbG9hZGluZycgOiAnbG9hZC1tb3JlLXJ1bGUtc2V0cydcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX21haW5SdWxlU2V0U3ViLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBnZXRSdWxlU2V0R3JvdXBpbmdJdGVtcyhydWxlU2V0OiBSdWxlU2V0LCBmaWx0ZXJPdXREaXNhYmxlZFJ1bGVzOiBib29sZWFuKTogUnVsZUdyb3VwaW5nSXRlbVtdIHtcbiAgICBjb25zdCBpdGVtczogUnVsZUdyb3VwaW5nSXRlbVtdID0gcnVsZVNldC5ydWxlc1xuICAgICAgLmZpbHRlcigocnVsZTogUnVsZSkgPT4gcnVsZS5pc0VuYWJsZWQgfHwgIWZpbHRlck91dERpc2FibGVkUnVsZXMpXG4gICAgICAubWFwKChydWxlOiBSdWxlKSA9PiAoe1xuICAgICAgICB0eXBlOiAncnVsZScsXG4gICAgICAgIHJ1bGVcbiAgICAgIH0pKTtcbiAgICBpZiAocnVsZVNldC5sb2FkaW5nUnVsZXMgfHwgcnVsZVNldC5oYXNNb3JlUnVsZXMpIHtcbiAgICAgIGl0ZW1zLnB1c2goXG4gICAgICAgIHJ1bGVTZXQubG9hZGluZ1J1bGVzXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIHR5cGU6ICdsb2FkaW5nJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIDoge1xuICAgICAgICAgICAgICB0eXBlOiAnbG9hZC1tb3JlLXJ1bGVzJyxcbiAgICAgICAgICAgICAgcnVsZVNldFxuICAgICAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIGl0ZW1zO1xuICB9XG5cbiAgb25Mb2FkTW9yZVJ1bGVTZXRzKCkge1xuICAgIHRoaXMubG9hZE1vcmVSdWxlU2V0cy5lbWl0KCk7XG4gIH1cblxuICBvbkxvYWRNb3JlUnVsZXMocnVsZVNldDogUnVsZVNldCkge1xuICAgIHRoaXMubG9hZE1vcmVSdWxlcy5lbWl0KHJ1bGVTZXQpO1xuICB9XG5cbiAgb25TZWxlY3RSdWxlKHJ1bGU6IFJ1bGUpIHtcbiAgICB0aGlzLnNlbGVjdFJ1bGUuZW1pdChydWxlKTtcbiAgfVxuXG4gIG9uUnVsZUVuYWJsZWRDaGFuZ2VkKGV2ZW50OiBbUnVsZSwgYm9vbGVhbl0pIHtcbiAgICB0aGlzLnJ1bGVFbmFibGVkQ2hhbmdlZC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uUnVsZVNldEVkaXRMaW5rQ2xpY2tlZChldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnJ1bGVTZXRFZGl0TGlua0NsaWNrZWQuZW1pdCh0aGlzLm1haW5SdWxlU2V0KTtcbiAgfVxuXG4gIG9uUnVsZVNldFVubGlua0NsaWNrZWQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5ydWxlU2V0VW5saW5rQ2xpY2tlZC5lbWl0KHRoaXMubWFpblJ1bGVTZXQpO1xuICB9XG59XG4iLCI8ZGl2XG4gICpuZ0lmPVwiaW5oZXJpdGVkUnVsZVNldEdyb3VwaW5nSXRlbXMubGVuZ3RoID4gMFwiXG4gIGNsYXNzPVwiYWNhLXJ1bGUtbGlzdF9faXRlbVwiXG4gIGRhdGEtYXV0b21hdGlvbi1pZD1cInJ1bGUtbGlzdC1pdGVtXCJcbiAgW25nQ2xhc3NdPVwieyAnYWNhLWV4cGFuZGVkJzogaW5oZXJpdGVkUnVsZVNldHNFeHBhbmRlZCB9XCI+XG5cbiAgPGRpdlxuICAgIHRhYmluZGV4PVwiMFwiXG4gICAgY2xhc3M9XCJhY2EtcnVsZS1saXN0X19pdGVtX19oZWFkZXJcIlxuICAgIG1hdFJpcHBsZSBtYXRSaXBwbGVDb2xvcj1cImhzbGEoMCwwJSwwJSwwLjA1KVwiXG4gICAgKGNsaWNrKT1cImluaGVyaXRlZFJ1bGVTZXRzRXhwYW5kZWQgPSAhaW5oZXJpdGVkUnVsZVNldHNFeHBhbmRlZFwiXG4gICAgKGtleXVwLmVudGVyKT1cImluaGVyaXRlZFJ1bGVTZXRzRXhwYW5kZWQgPSAhaW5oZXJpdGVkUnVsZVNldHNFeHBhbmRlZFwiPlxuXG4gICAgPHNwYW4gY2xhc3M9XCJhY2EtcnVsZS1saXN0X19pdGVtX19oZWFkZXJfX3RpdGxlXCI+XG4gICAgICB7eyAnQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0xJU1QuSU5IRVJJVEVEX1JVTEVTJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwiYWNhLXJ1bGUtbGlzdF9faXRlbV9faGVhZGVyX190aXRsZV9faWNvblwiIFttYXRUb29sdGlwXT1cIidBQ0FfRk9MREVSX1JVTEVTLlJVTEVfTElTVC5JTkhFUklURURfUlVMRVNfV0lMTF9CRV9SVU5fRklSU1QnIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgIGluZm9cbiAgICAgIDwvbWF0LWljb24+XG4gICAgPC9zcGFuPlxuICAgIDxtYXQtaWNvbiBjbGFzcz1cImFjYS1ydWxlLWxpc3RfX2l0ZW1fX2hlYWRlcl9faWNvblwiPlxuICAgICAge3sgaW5oZXJpdGVkUnVsZVNldHNFeHBhbmRlZCA/ICdleHBhbmRfbW9yZScgOiAnY2hldnJvbl9yaWdodCcgfX1cbiAgICA8L21hdC1pY29uPlxuICA8L2Rpdj5cblxuICA8YWNhLXJ1bGUtbGlzdC1ncm91cGluZ1xuICAgICpuZ0lmPVwiaW5oZXJpdGVkUnVsZVNldHNFeHBhbmRlZFwiXG4gICAgW2l0ZW1zXT1cImluaGVyaXRlZFJ1bGVTZXRHcm91cGluZ0l0ZW1zXCJcbiAgICBbc2VsZWN0ZWRSdWxlXT1cInNlbGVjdGVkUnVsZVwiXG4gICAgKHNlbGVjdFJ1bGUpPVwib25TZWxlY3RSdWxlKCRldmVudClcIlxuICAgIChydWxlRW5hYmxlZENoYW5nZWQpPVwib25SdWxlRW5hYmxlZENoYW5nZWQoJGV2ZW50KVwiXG4gICAgKGxvYWRNb3JlUnVsZXMpPVwib25Mb2FkTW9yZVJ1bGVzKCRldmVudClcIlxuICAgIChsb2FkTW9yZVJ1bGVTZXRzKT1cIm9uTG9hZE1vcmVSdWxlU2V0cygpXCIgLz5cbjwvZGl2PlxuXG48ZGl2XG4gICpuZ0lmPVwibWFpblJ1bGVTZXRHcm91cGluZ0l0ZW1zLmxlbmd0aCA+IDAgfHwgaXNNYWluUnVsZVNldExpbmtlZFwiXG4gIGNsYXNzPVwiYWNhLXJ1bGUtbGlzdF9faXRlbVwiXG4gIGRhdGEtYXV0b21hdGlvbi1pZD1cInJ1bGUtbGlzdC1pdGVtXCJcbiAgW25nQ2xhc3NdPVwieyAnYWNhLWV4cGFuZGVkJzogbWFpblJ1bGVTZXRFeHBhbmRlZCB9XCI+XG5cbiAgPGRpdlxuICAgIHRhYmluZGV4PVwiMFwiXG4gICAgY2xhc3M9XCJhY2EtcnVsZS1saXN0X19pdGVtX19oZWFkZXJcIlxuICAgIG1hdFJpcHBsZSBtYXRSaXBwbGVDb2xvcj1cImhzbGEoMCwwJSwwJSwwLjA1KVwiXG4gICAgKGNsaWNrKT1cIm1haW5SdWxlU2V0RXhwYW5kZWQgPSAhbWFpblJ1bGVTZXRFeHBhbmRlZFwiXG4gICAgKGtleXVwLmVudGVyKT1cIm1haW5SdWxlU2V0RXhwYW5kZWQgPSAhbWFpblJ1bGVTZXRFeHBhbmRlZFwiPlxuXG4gICAgPHNwYW4gY2xhc3M9XCJhY2EtcnVsZS1saXN0X19pdGVtX19oZWFkZXJfX3RpdGxlXCIgZGF0YS1hdXRvbWF0aW9uLWlkPVwibWFpbi1ydWxlLXNldC10aXRsZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTWFpblJ1bGVTZXRPd25lZDsgZWxzZSBsaW5rZWRSdWxlU2V0XCI+XG4gICAgICAgIHt7ICdBQ0FfRk9MREVSX1JVTEVTLlJVTEVfTElTVC5PV05FRF9SVUxFUycgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNsaW5rZWRSdWxlU2V0PlxuICAgICAgICAgIHt7ICdBQ0FfRk9MREVSX1JVTEVTLlJVTEVfTElTVC5MSU5LRURfUlVMRVMnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvc3Bhbj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNNYWluUnVsZVNldE93bmVkXCI+XG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJhY2EtcnVsZS1saXN0X19pdGVtX19oZWFkZXJfX2ljb25cIiAoY2xpY2spPVwib25SdWxlU2V0RWRpdExpbmtDbGlja2VkKCRldmVudClcIj5lZGl0PC9tYXQtaWNvbj5cbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImFjYS1ydWxlLWxpc3RfX2l0ZW1fX2hlYWRlcl9faWNvblwiIChjbGljayk9XCJvblJ1bGVTZXRVbmxpbmtDbGlja2VkKCRldmVudClcIj5saW5rX29mZjwvbWF0LWljb24+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bWF0LWljb24gY2xhc3M9XCJhY2EtcnVsZS1saXN0X19pdGVtX19oZWFkZXJfX2ljb25cIj5cbiAgICAgIHt7IG1haW5SdWxlU2V0RXhwYW5kZWQgPyAnZXhwYW5kX21vcmUnIDogJ2NoZXZyb25fcmlnaHQnIH19XG4gICAgPC9tYXQtaWNvbj5cbiAgPC9kaXY+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1haW5SdWxlU2V0RXhwYW5kZWRcIj5cbiAgICA8YWNhLXJ1bGUtbGlzdC1ncm91cGluZ1xuICAgICAgKm5nSWY9XCJtYWluUnVsZVNldEdyb3VwaW5nSXRlbXMubGVuZ3RoID4gMDsgZWxzZSBlbXB0eUxpbmtlZFJ1bGVTZXRcIlxuICAgICAgW2l0ZW1zXT1cIm1haW5SdWxlU2V0R3JvdXBpbmdJdGVtc1wiXG4gICAgICBbc2VsZWN0ZWRSdWxlXT1cInNlbGVjdGVkUnVsZVwiXG4gICAgICBbc2hvd0VuYWJsZWRUb2dnbGVzXT1cImlzTWFpblJ1bGVTZXRPd25lZFwiXG4gICAgICAoc2VsZWN0UnVsZSk9XCJvblNlbGVjdFJ1bGUoJGV2ZW50KVwiXG4gICAgICAocnVsZUVuYWJsZWRDaGFuZ2VkKT1cIm9uUnVsZUVuYWJsZWRDaGFuZ2VkKCRldmVudClcIlxuICAgICAgKGxvYWRNb3JlUnVsZXMpPVwib25Mb2FkTW9yZVJ1bGVzKCRldmVudClcIiAvPlxuXG4gICAgPG5nLXRlbXBsYXRlICNlbXB0eUxpbmtlZFJ1bGVTZXQ+XG4gICAgICA8ZGl2IGNsYXNzPVwiYWNhLXJ1bGUtbGlzdF9faXRlbV9fYWxsLWxpbmtlZC1ydWxlcy1hcmUtZGlzYWJsZWRcIj5cbiAgICAgICAge3sgJ0FDQV9GT0xERVJfUlVMRVMuUlVMRV9MSVNULkFMTF9MSU5LRURfUlVMRVNfQVJFX0RJU0FCTEVEJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwibWFpblJ1bGVTZXQ/Lm93bmluZ0ZvbGRlcj8uaWRcIiBtYXQtc3Ryb2tlZC1idXR0b24gW3JvdXRlckxpbmtdPVwiWycvbm9kZXMnLCBtYWluUnVsZVNldC5vd25pbmdGb2xkZXIuaWQsICdydWxlcyddXCI+XG4gICAgICAgICAge3sgJ0FDQV9GT0xERVJfUlVMRVMuTUFOQUdFX1JVTEVTLlRPT0xCQVIuQUNUSU9OUy5TRUVfSU5fRk9MREVSJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuXG48L2Rpdj5cbiJdfQ==
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS1saXN0LnVpLWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L2ZvbGRlci1ydWxlcy9zcmMvcnVsZS1saXN0L3J1bGUtbGlzdC9ydWxlLWxpc3QudWktY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvZm9sZGVyLXJ1bGVzL3NyYy9ydWxlLWxpc3QvcnVsZS1saXN0L3J1bGUtbGlzdC51aS1jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUl0SCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDcEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxr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LGVBQWUsMkZBQ2YsZUFBZSxrU0FDZixhQUFhLG1MQUNiLGdCQUFnQiwrSEFDaEIsMkJBQTJCLCtNQUMzQixZQUFZLHVRQUNaLGVBQWU7O1NBUU4sbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBbEIvQixTQUFTO2lDQUNJLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsMkJBQTJCO3dCQUMzQixZQUFZO3dCQUNaLGVBQWU7cUJBQ2hCLFlBQ1MsZUFBZSxpQkFHVixpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRTs4QkFJaEMsWUFBWTtzQkFEWCxLQUFLO2dCQUdOLFFBQVE7c0JBRFAsS0FBSztnQkFHTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBR04sZUFBZTtzQkFEZCxLQUFLO2dCQUdOLGVBQWU7c0JBRGQsS0FBSztnQkFHTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sZ0JBQWdCO3NCQURmLE1BQU07Z0JBR1AsYUFBYTtzQkFEWixNQUFNO2dCQUdQLFVBQVU7c0JBRFQsTUFBTTtnQkFHUCxrQkFBa0I7c0JBRGpCLE1BQU07Z0JBR1Asc0JBQXNCO3NCQURyQixNQUFNO2dCQUdQLG9CQUFvQjtzQkFEbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIERlc3Ryb3lSZWYsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSdWxlU2V0IH0gZnJvbSAnLi4vLi4vbW9kZWwvcnVsZS1zZXQubW9kZWwnO1xuaW1wb3J0IHsgUnVsZSB9IGZyb20gJy4uLy4uL21vZGVsL3J1bGUubW9kZWwnO1xuaW1wb3J0IHsgUnVsZUdyb3VwaW5nSXRlbSB9IGZyb20gJy4uLy4uL21vZGVsL3J1bGUtZ3JvdXBpbmctaXRlbS5tb2RlbCc7XG5pbXBvcnQgeyBGb2xkZXJSdWxlU2V0c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mb2xkZXItcnVsZS1zZXRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTWF0UmlwcGxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBSdWxlTGlzdEdyb3VwaW5nVWlDb21wb25lbnQgfSBmcm9tICcuLi9ydWxlLWxpc3QtZ3JvdXBpbmcvcnVsZS1saXN0LWdyb3VwaW5nLnVpLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIE1hdFJpcHBsZU1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgUnVsZUxpc3RHcm91cGluZ1VpQ29tcG9uZW50LFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGVcbiAgXSxcbiAgc2VsZWN0b3I6ICdhY2EtcnVsZS1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3J1bGUtbGlzdC51aS1jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3J1bGUtbGlzdC51aS1jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7IGNsYXNzOiAnYWNhLXJ1bGUtbGlzdCcgfVxufSlcbmV4cG9ydCBjbGFzcyBSdWxlTGlzdFVpQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgbWFpblJ1bGVTZXQkOiBPYnNlcnZhYmxlPFJ1bGVTZXQ+O1xuICBASW5wdXQoKVxuICBmb2xkZXJJZDogc3RyaW5nO1xuICBASW5wdXQoKVxuICBpbmhlcml0ZWRSdWxlU2V0czogUnVsZVNldFtdID0gW107XG4gIEBJbnB1dCgpXG4gIGhhc01vcmVSdWxlU2V0cyA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBydWxlU2V0c0xvYWRpbmcgPSBmYWxzZTtcbiAgQElucHV0KClcbiAgc2VsZWN0ZWRSdWxlID0gbnVsbDtcblxuICBAT3V0cHV0KClcbiAgbG9hZE1vcmVSdWxlU2V0cyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpXG4gIGxvYWRNb3JlUnVsZXMgPSBuZXcgRXZlbnRFbWl0dGVyPFJ1bGVTZXQ+KCk7XG4gIEBPdXRwdXQoKVxuICBzZWxlY3RSdWxlID0gbmV3IEV2ZW50RW1pdHRlcjxSdWxlPigpO1xuICBAT3V0cHV0KClcbiAgcnVsZUVuYWJsZWRDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxbUnVsZSwgYm9vbGVhbl0+KCk7XG4gIEBPdXRwdXQoKVxuICBydWxlU2V0RWRpdExpbmtDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxSdWxlU2V0PigpO1xuICBAT3V0cHV0KClcbiAgcnVsZVNldFVubGlua0NsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFJ1bGVTZXQ+KCk7XG5cbiAgbWFpblJ1bGVTZXQ6IFJ1bGVTZXQgPSBudWxsO1xuICBpbmhlcml0ZWRSdWxlU2V0c0V4cGFuZGVkID0gdHJ1ZTtcbiAgbWFpblJ1bGVTZXRFeHBhbmRlZCA9IHRydWU7XG4gIG1haW5SdWxlU2V0R3JvdXBpbmdJdGVtczogUnVsZUdyb3VwaW5nSXRlbVtdID0gW107XG4gIGluaGVyaXRlZFJ1bGVTZXRHcm91cGluZ0l0ZW1zOiBSdWxlR3JvdXBpbmdJdGVtW10gPSBbXTtcbiAgaXNNYWluUnVsZVNldE93bmVkID0gZmFsc2U7XG4gIGlzTWFpblJ1bGVTZXRMaW5rZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5tYWluUnVsZVNldCQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKChydWxlU2V0OiBSdWxlU2V0KSA9PiB7XG4gICAgICBpZiAocnVsZVNldCkge1xuICAgICAgICB0aGlzLm1haW5SdWxlU2V0ID0gcnVsZVNldDtcbiAgICAgICAgdGhpcy5pc01haW5SdWxlU2V0T3duZWQgPSBGb2xkZXJSdWxlU2V0c1NlcnZpY2UuaXNPd25lZFJ1bGVTZXQocnVsZVNldCwgdGhpcy5mb2xkZXJJZCk7XG4gICAgICAgIHRoaXMuaXNNYWluUnVsZVNldExpbmtlZCA9IEZvbGRlclJ1bGVTZXRzU2VydmljZS5pc0xpbmtlZFJ1bGVTZXQocnVsZVNldCwgdGhpcy5mb2xkZXJJZCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMubWFpblJ1bGVTZXRHcm91cGluZ0l0ZW1zID0gcnVsZVNldCA/IHRoaXMuZ2V0UnVsZVNldEdyb3VwaW5nSXRlbXMocnVsZVNldCwgIXRoaXMuaXNNYWluUnVsZVNldE93bmVkKSA6IFtdO1xuICAgIH0pO1xuXG4gICAgdGhpcy5pbmhlcml0ZWRSdWxlU2V0R3JvdXBpbmdJdGVtcyA9IHRoaXMuaW5oZXJpdGVkUnVsZVNldHMucmVkdWNlKChhY2N1bXVsYXRvcjogUnVsZUdyb3VwaW5nSXRlbVtdLCBjdXJyZW50UnVsZVNldDogUnVsZVNldCkgPT4ge1xuICAgICAgYWNjdW11bGF0b3IucHVzaCguLi50aGlzLmdldFJ1bGVTZXRHcm91cGluZ0l0ZW1zKGN1cnJlbnRSdWxlU2V0LCB0cnVlKSk7XG4gICAgICByZXR1cm4gYWNjdW11bGF0b3I7XG4gICAgfSwgW10pO1xuICAgIGlmICh0aGlzLnJ1bGVTZXRzTG9hZGluZyB8fCB0aGlzLmhhc01vcmVSdWxlU2V0cykge1xuICAgICAgdGhpcy5pbmhlcml0ZWRSdWxlU2V0R3JvdXBpbmdJdGVtcy5wdXNoKHtcbiAgICAgICAgdHlwZTogdGhpcy5ydWxlU2V0c0xvYWRpbmcgPyAnbG9hZGluZycgOiAnbG9hZC1tb3JlLXJ1bGUtc2V0cydcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGdldFJ1bGVTZXRHcm91cGluZ0l0ZW1zKHJ1bGVTZXQ6IFJ1bGVTZXQsIGZpbHRlck91dERpc2FibGVkUnVsZXM6IGJvb2xlYW4pOiBSdWxlR3JvdXBpbmdJdGVtW10ge1xuICAgIGNvbnN0IGl0ZW1zOiBSdWxlR3JvdXBpbmdJdGVtW10gPSBydWxlU2V0LnJ1bGVzXG4gICAgICAuZmlsdGVyKChydWxlOiBSdWxlKSA9PiBydWxlLmlzRW5hYmxlZCB8fCAhZmlsdGVyT3V0RGlzYWJsZWRSdWxlcylcbiAgICAgIC5tYXAoKHJ1bGU6IFJ1bGUpID0+ICh7XG4gICAgICAgIHR5cGU6ICdydWxlJyxcbiAgICAgICAgcnVsZVxuICAgICAgfSkpO1xuICAgIGlmIChydWxlU2V0LmxvYWRpbmdSdWxlcyB8fCBydWxlU2V0Lmhhc01vcmVSdWxlcykge1xuICAgICAgaXRlbXMucHVzaChcbiAgICAgICAgcnVsZVNldC5sb2FkaW5nUnVsZXNcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgdHlwZTogJ2xvYWRpbmcnXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB7XG4gICAgICAgICAgICAgIHR5cGU6ICdsb2FkLW1vcmUtcnVsZXMnLFxuICAgICAgICAgICAgICBydWxlU2V0XG4gICAgICAgICAgICB9XG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gaXRlbXM7XG4gIH1cblxuICBvbkxvYWRNb3JlUnVsZVNldHMoKSB7XG4gICAgdGhpcy5sb2FkTW9yZVJ1bGVTZXRzLmVtaXQoKTtcbiAgfVxuXG4gIG9uTG9hZE1vcmVSdWxlcyhydWxlU2V0OiBSdWxlU2V0KSB7XG4gICAgdGhpcy5sb2FkTW9yZVJ1bGVzLmVtaXQocnVsZVNldCk7XG4gIH1cblxuICBvblNlbGVjdFJ1bGUocnVsZTogUnVsZSkge1xuICAgIHRoaXMuc2VsZWN0UnVsZS5lbWl0KHJ1bGUpO1xuICB9XG5cbiAgb25SdWxlRW5hYmxlZENoYW5nZWQoZXZlbnQ6IFtSdWxlLCBib29sZWFuXSkge1xuICAgIHRoaXMucnVsZUVuYWJsZWRDaGFuZ2VkLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgb25SdWxlU2V0RWRpdExpbmtDbGlja2VkKGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMucnVsZVNldEVkaXRMaW5rQ2xpY2tlZC5lbWl0KHRoaXMubWFpblJ1bGVTZXQpO1xuICB9XG5cbiAgb25SdWxlU2V0VW5saW5rQ2xpY2tlZChldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnJ1bGVTZXRVbmxpbmtDbGlja2VkLmVtaXQodGhpcy5tYWluUnVsZVNldCk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgKm5nSWY9XCJpbmhlcml0ZWRSdWxlU2V0R3JvdXBpbmdJdGVtcy5sZW5ndGggPiAwXCJcbiAgY2xhc3M9XCJhY2EtcnVsZS1saXN0X19pdGVtXCJcbiAgZGF0YS1hdXRvbWF0aW9uLWlkPVwicnVsZS1saXN0LWl0ZW1cIlxuICBbbmdDbGFzc109XCJ7ICdhY2EtZXhwYW5kZWQnOiBpbmhlcml0ZWRSdWxlU2V0c0V4cGFuZGVkIH1cIj5cblxuICA8ZGl2XG4gICAgdGFiaW5kZXg9XCIwXCJcbiAgICBjbGFzcz1cImFjYS1ydWxlLWxpc3RfX2l0ZW1fX2hlYWRlclwiXG4gICAgbWF0UmlwcGxlIG1hdFJpcHBsZUNvbG9yPVwiaHNsYSgwLDAlLDAlLDAuMDUpXCJcbiAgICAoY2xpY2spPVwiaW5oZXJpdGVkUnVsZVNldHNFeHBhbmRlZCA9ICFpbmhlcml0ZWRSdWxlU2V0c0V4cGFuZGVkXCJcbiAgICAoa2V5dXAuZW50ZXIpPVwiaW5oZXJpdGVkUnVsZVNldHNFeHBhbmRlZCA9ICFpbmhlcml0ZWRSdWxlU2V0c0V4cGFuZGVkXCI+XG5cbiAgICA8c3BhbiBjbGFzcz1cImFjYS1ydWxlLWxpc3RfX2l0ZW1fX2hlYWRlcl9fdGl0bGVcIj5cbiAgICAgIHt7ICdBQ0FfRk9MREVSX1JVTEVTLlJVTEVfTElTVC5JTkhFUklURURfUlVMRVMnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJhY2EtcnVsZS1saXN0X19pdGVtX19oZWFkZXJfX3RpdGxlX19pY29uXCIgW21hdFRvb2x0aXBdPVwiJ0FDQV9GT0xERVJfUlVMRVMuUlVMRV9MSVNULklOSEVSSVRFRF9SVUxFU19XSUxMX0JFX1JVTl9GSVJTVCcgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgaW5mb1xuICAgICAgPC9tYXQtaWNvbj5cbiAgICA8L3NwYW4+XG4gICAgPG1hdC1pY29uIGNsYXNzPVwiYWNhLXJ1bGUtbGlzdF9faXRlbV9faGVhZGVyX19pY29uXCI+XG4gICAgICB7eyBpbmhlcml0ZWRSdWxlU2V0c0V4cGFuZGVkID8gJ2V4cGFuZF9tb3JlJyA6ICdjaGV2cm9uX3JpZ2h0JyB9fVxuICAgIDwvbWF0LWljb24+XG4gIDwvZGl2PlxuXG4gIDxhY2EtcnVsZS1saXN0LWdyb3VwaW5nXG4gICAgKm5nSWY9XCJpbmhlcml0ZWRSdWxlU2V0c0V4cGFuZGVkXCJcbiAgICBbaXRlbXNdPVwiaW5oZXJpdGVkUnVsZVNldEdyb3VwaW5nSXRlbXNcIlxuICAgIFtzZWxlY3RlZFJ1bGVdPVwic2VsZWN0ZWRSdWxlXCJcbiAgICAoc2VsZWN0UnVsZSk9XCJvblNlbGVjdFJ1bGUoJGV2ZW50KVwiXG4gICAgKHJ1bGVFbmFibGVkQ2hhbmdlZCk9XCJvblJ1bGVFbmFibGVkQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAobG9hZE1vcmVSdWxlcyk9XCJvbkxvYWRNb3JlUnVsZXMoJGV2ZW50KVwiXG4gICAgKGxvYWRNb3JlUnVsZVNldHMpPVwib25Mb2FkTW9yZVJ1bGVTZXRzKClcIiAvPlxuPC9kaXY+XG5cbjxkaXZcbiAgKm5nSWY9XCJtYWluUnVsZVNldEdyb3VwaW5nSXRlbXMubGVuZ3RoID4gMCB8fCBpc01haW5SdWxlU2V0TGlua2VkXCJcbiAgY2xhc3M9XCJhY2EtcnVsZS1saXN0X19pdGVtXCJcbiAgZGF0YS1hdXRvbWF0aW9uLWlkPVwicnVsZS1saXN0LWl0ZW1cIlxuICBbbmdDbGFzc109XCJ7ICdhY2EtZXhwYW5kZWQnOiBtYWluUnVsZVNldEV4cGFuZGVkIH1cIj5cblxuICA8ZGl2XG4gICAgdGFiaW5kZXg9XCIwXCJcbiAgICBjbGFzcz1cImFjYS1ydWxlLWxpc3RfX2l0ZW1fX2hlYWRlclwiXG4gICAgbWF0UmlwcGxlIG1hdFJpcHBsZUNvbG9yPVwiaHNsYSgwLDAlLDAlLDAuMDUpXCJcbiAgICAoY2xpY2spPVwibWFpblJ1bGVTZXRFeHBhbmRlZCA9ICFtYWluUnVsZVNldEV4cGFuZGVkXCJcbiAgICAoa2V5dXAuZW50ZXIpPVwibWFpblJ1bGVTZXRFeHBhbmRlZCA9ICFtYWluUnVsZVNldEV4cGFuZGVkXCI+XG5cbiAgICA8c3BhbiBjbGFzcz1cImFjYS1ydWxlLWxpc3RfX2l0ZW1fX2hlYWRlcl9fdGl0bGVcIiBkYXRhLWF1dG9tYXRpb24taWQ9XCJtYWluLXJ1bGUtc2V0LXRpdGxlXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNNYWluUnVsZVNldE93bmVkOyBlbHNlIGxpbmtlZFJ1bGVTZXRcIj5cbiAgICAgICAge3sgJ0FDQV9GT0xERVJfUlVMRVMuUlVMRV9MSVNULk9XTkVEX1JVTEVTJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI2xpbmtlZFJ1bGVTZXQ+XG4gICAgICAgICAge3sgJ0FDQV9GT0xERVJfUlVMRVMuUlVMRV9MSVNULkxJTktFRF9SVUxFUycgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9zcGFuPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc01haW5SdWxlU2V0T3duZWRcIj5cbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImFjYS1ydWxlLWxpc3RfX2l0ZW1fX2hlYWRlcl9faWNvblwiIChjbGljayk9XCJvblJ1bGVTZXRFZGl0TGlua0NsaWNrZWQoJGV2ZW50KVwiPmVkaXQ8L21hdC1pY29uPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwiYWNhLXJ1bGUtbGlzdF9faXRlbV9faGVhZGVyX19pY29uXCIgKGNsaWNrKT1cIm9uUnVsZVNldFVubGlua0NsaWNrZWQoJGV2ZW50KVwiPmxpbmtfb2ZmPC9tYXQtaWNvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxtYXQtaWNvbiBjbGFzcz1cImFjYS1ydWxlLWxpc3RfX2l0ZW1fX2hlYWRlcl9faWNvblwiPlxuICAgICAge3sgbWFpblJ1bGVTZXRFeHBhbmRlZCA/ICdleHBhbmRfbW9yZScgOiAnY2hldnJvbl9yaWdodCcgfX1cbiAgICA8L21hdC1pY29uPlxuICA8L2Rpdj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwibWFpblJ1bGVTZXRFeHBhbmRlZFwiPlxuICAgIDxhY2EtcnVsZS1saXN0LWdyb3VwaW5nXG4gICAgICAqbmdJZj1cIm1haW5SdWxlU2V0R3JvdXBpbmdJdGVtcy5sZW5ndGggPiAwOyBlbHNlIGVtcHR5TGlua2VkUnVsZVNldFwiXG4gICAgICBbaXRlbXNdPVwibWFpblJ1bGVTZXRHcm91cGluZ0l0ZW1zXCJcbiAgICAgIFtzZWxlY3RlZFJ1bGVdPVwic2VsZWN0ZWRSdWxlXCJcbiAgICAgIFtzaG93RW5hYmxlZFRvZ2dsZXNdPVwiaXNNYWluUnVsZVNldE93bmVkXCJcbiAgICAgIChzZWxlY3RSdWxlKT1cIm9uU2VsZWN0UnVsZSgkZXZlbnQpXCJcbiAgICAgIChydWxlRW5hYmxlZENoYW5nZWQpPVwib25SdWxlRW5hYmxlZENoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAobG9hZE1vcmVSdWxlcyk9XCJvbkxvYWRNb3JlUnVsZXMoJGV2ZW50KVwiIC8+XG5cbiAgICA8bmctdGVtcGxhdGUgI2VtcHR5TGlua2VkUnVsZVNldD5cbiAgICAgIDxkaXYgY2xhc3M9XCJhY2EtcnVsZS1saXN0X19pdGVtX19hbGwtbGlua2VkLXJ1bGVzLWFyZS1kaXNhYmxlZFwiPlxuICAgICAgICB7eyAnQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0xJU1QuQUxMX0xJTktFRF9SVUxFU19BUkVfRElTQUJMRUQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDxidXR0b24gKm5nSWY9XCJtYWluUnVsZVNldD8ub3duaW5nRm9sZGVyPy5pZFwiIG1hdC1zdHJva2VkLWJ1dHRvbiBbcm91dGVyTGlua109XCJbJy9ub2RlcycsIG1haW5SdWxlU2V0Lm93bmluZ0ZvbGRlci5pZCwgJ3J1bGVzJ11cIj5cbiAgICAgICAgICB7eyAnQUNBX0ZPTERFUl9SVUxFUy5NQU5BR0VfUlVMRVMuVE9PTEJBUi5BQ1RJT05TLlNFRV9JTl9GT0xERVInIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG5cbjwvZGl2PlxuIl19
|