@po-ui/ng-components 18.3.0 → 18.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/po-dynamic/po-dynamic-view/po-dynamic-view-base.component.mjs +27 -2
- package/esm2022/lib/components/po-dynamic/po-dynamic-view/po-dynamic-view.component.mjs +7 -3
- package/esm2022/lib/components/po-field/po-combo/po-combo-base.component.mjs +2 -1
- package/esm2022/lib/components/po-field/po-combo/po-combo.component.mjs +66 -47
- package/esm2022/lib/components/po-field/po-multiselect/po-multiselect-dropdown/po-multiselect-dropdown.component.mjs +8 -4
- package/esm2022/lib/components/po-field/po-multiselect/po-multiselect.component.mjs +52 -34
- package/esm2022/lib/components/po-listbox/po-listbox-base.component.mjs +6 -2
- package/esm2022/lib/components/po-listbox/po-listbox.component.mjs +23 -5
- package/esm2022/lib/components/po-loading/po-loading-overlay/po-loading-overlay-base.component.mjs +10 -4
- package/esm2022/lib/components/po-tabs/po-tabs.component.mjs +2 -3
- package/fesm2022/po-ui-ng-components.mjs +217 -119
- package/fesm2022/po-ui-ng-components.mjs.map +1 -1
- package/lib/components/po-dynamic/po-dynamic-view/po-dynamic-view-base.component.d.ts +23 -1
- package/lib/components/po-dynamic/po-dynamic-view/po-dynamic-view.component.d.ts +1 -0
- package/lib/components/po-field/po-combo/po-combo-base.component.d.ts +1 -0
- package/lib/components/po-field/po-combo/po-combo.component.d.ts +3 -0
- package/lib/components/po-field/po-multiselect/po-multiselect-dropdown/po-multiselect-dropdown.component.d.ts +2 -1
- package/lib/components/po-field/po-multiselect/po-multiselect.component.d.ts +3 -0
- package/lib/components/po-listbox/po-listbox-base.component.d.ts +2 -1
- package/lib/components/po-listbox/po-listbox.component.d.ts +2 -0
- package/lib/components/po-loading/po-loading-overlay/po-loading-overlay-base.component.d.ts +9 -3
- package/package.json +4 -4
- package/po-ui-ng-components-18.5.0.tgz +0 -0
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-update/v14/index.js +1 -1
- package/schematics/ng-update/v15/index.js +1 -1
- package/schematics/ng-update/v16/index.js +1 -1
- package/schematics/ng-update/v17/index.js +1 -1
- package/schematics/ng-update/v18/index.js +2 -2
- package/schematics/ng-update/v2/index.js +1 -1
- package/schematics/ng-update/v3/index.js +1 -1
- package/schematics/ng-update/v4/index.js +1 -1
- package/schematics/ng-update/v5/index.js +1 -1
- package/schematics/ng-update/v6/index.js +1 -1
- package/po-ui-ng-components-18.3.0.tgz +0 -0
|
@@ -32,6 +32,7 @@ export class PoMultiselectDropdownComponent {
|
|
|
32
32
|
fieldValue;
|
|
33
33
|
fieldLabel;
|
|
34
34
|
multiselectTemplate;
|
|
35
|
+
containerWidth;
|
|
35
36
|
/** Evento disparado a cada tecla digitada na pesquisa. */
|
|
36
37
|
changeSearch = new EventEmitter();
|
|
37
38
|
/** Evento disparado a cada alteração na lista das opções selecionadas. */
|
|
@@ -138,7 +139,7 @@ export class PoMultiselectDropdownComponent {
|
|
|
138
139
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.container = _t.first);
|
|
139
140
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.divElement = _t.first);
|
|
140
141
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.listbox = _t.first);
|
|
141
|
-
} }, inputs: { isServerSearching: [0, "p-searching", "isServerSearching"], hideSearch: [0, "p-hide-search", "hideSearch"], literals: [0, "p-literals", "literals"], placeholderSearch: [0, "p-placeholder-search", "placeholderSearch"], selectedOptions: [0, "p-selected-options", "selectedOptions"], options: [0, "p-options", "options"], visibleOptions: [0, "p-visible-options", "visibleOptions"], hideSelectAll: [0, "p-hide-select-all", "hideSelectAll"], fieldValue: [0, "p-field-value", "fieldValue"], fieldLabel: [0, "p-field-label", "fieldLabel"], multiselectTemplate: [0, "p-multiselect-template", "multiselectTemplate"] }, outputs: { changeSearch: "p-change-search", change: "p-change", closeDropdown: "p-close-dropdown" }, decls: 7, vars:
|
|
142
|
+
} }, inputs: { isServerSearching: [0, "p-searching", "isServerSearching"], hideSearch: [0, "p-hide-search", "hideSearch"], literals: [0, "p-literals", "literals"], placeholderSearch: [0, "p-placeholder-search", "placeholderSearch"], selectedOptions: [0, "p-selected-options", "selectedOptions"], options: [0, "p-options", "options"], visibleOptions: [0, "p-visible-options", "visibleOptions"], hideSelectAll: [0, "p-hide-select-all", "hideSelectAll"], fieldValue: [0, "p-field-value", "fieldValue"], fieldLabel: [0, "p-field-label", "fieldLabel"], multiselectTemplate: [0, "p-multiselect-template", "multiselectTemplate"], containerWidth: [0, "p-container-width", "containerWidth"] }, outputs: { changeSearch: "p-change-search", change: "p-change", closeDropdown: "p-close-dropdown" }, decls: 7, vars: 16, consts: [["container", ""], ["divElement", ""], ["listbox", ""], [1, "po-multiselect-container", 3, "hidden"], [3, "scrollTop"], ["p-type", "check", 3, "p-change", "p-change-all", "p-change-search", "p-close", "p-items", "p-selected-options", "p-checkboxAllValue", "p-field-value", "p-field-value-search", "p-field-label", "p-literal-search", "p-literals", "p-is-searching", "p-hide-search", "p-hide-select-all", "p-template", "p-placeholder-search", "p-container-width"]], template: function PoMultiselectDropdownComponent_Template(rf, ctx) { if (rf & 1) {
|
|
142
143
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
143
144
|
i0.ɵɵelementStart(0, "div", 3, 0)(2, "div", 4, 1);
|
|
144
145
|
i0.ɵɵelementContainerStart(4);
|
|
@@ -152,12 +153,12 @@ export class PoMultiselectDropdownComponent {
|
|
|
152
153
|
i0.ɵɵadvance(2);
|
|
153
154
|
i0.ɵɵproperty("scrollTop", ctx.scrollTop);
|
|
154
155
|
i0.ɵɵadvance(3);
|
|
155
|
-
i0.ɵɵproperty("p-items", ctx.visibleOptions)("p-selected-options", ctx.selectedOptions)("p-checkboxAllValue", ctx.getStateSelectAll())("p-field-value", ctx.fieldValue)("p-field-value-search", ctx.fieldValue)("p-field-label", ctx.fieldLabel)("p-literal-search", ctx.literals)("p-literals", ctx.literals)("p-is-searching", ctx.isServerSearching)("p-hide-search", ctx.hideSearch)("p-hide-select-all", ctx.hideSelectAll)("p-template", ctx.multiselectTemplate)("p-placeholder-search", ctx.placeholderSearch);
|
|
156
|
+
i0.ɵɵproperty("p-items", ctx.visibleOptions)("p-selected-options", ctx.selectedOptions)("p-checkboxAllValue", ctx.getStateSelectAll())("p-field-value", ctx.fieldValue)("p-field-value-search", ctx.fieldValue)("p-field-label", ctx.fieldLabel)("p-literal-search", ctx.literals)("p-literals", ctx.literals)("p-is-searching", ctx.isServerSearching)("p-hide-search", ctx.hideSearch)("p-hide-select-all", ctx.hideSelectAll)("p-template", ctx.multiselectTemplate)("p-placeholder-search", ctx.placeholderSearch)("p-container-width", ctx.containerWidth);
|
|
156
157
|
} }, dependencies: [i1.PoListBoxComponent], encapsulation: 2, changeDetection: 0 });
|
|
157
158
|
}
|
|
158
159
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoMultiselectDropdownComponent, [{
|
|
159
160
|
type: Component,
|
|
160
|
-
args: [{ selector: 'po-multiselect-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #container class=\"po-multiselect-container\" [hidden]=\"!show\">\n <div [scrollTop]=\"scrollTop\" #divElement>\n <ng-container>\n <po-listbox\n #listbox\n p-type=\"check\"\n [p-items]=\"visibleOptions\"\n [p-selected-options]=\"selectedOptions\"\n [p-checkboxAllValue]=\"getStateSelectAll()\"\n [p-field-value]=\"fieldValue\"\n [p-field-value-search]=\"fieldValue\"\n [p-field-label]=\"fieldLabel\"\n [p-literal-search]=\"literals\"\n [p-literals]=\"literals\"\n [p-is-searching]=\"isServerSearching\"\n [p-hide-search]=\"hideSearch\"\n [p-hide-select-all]=\"hideSelectAll\"\n [p-template]=\"multiselectTemplate\"\n [p-placeholder-search]=\"placeholderSearch\"\n (p-change)=\"clickItem($event)\"\n (p-change-all)=\"onClickSelectAll()\"\n (p-change-search)=\"callChangeSearch($event)\"\n (p-close)=\"closeDropdown.emit()\"\n >\n </po-listbox>\n </ng-container>\n </div>\n</div>\n" }]
|
|
161
|
+
args: [{ selector: 'po-multiselect-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #container class=\"po-multiselect-container\" [hidden]=\"!show\">\n <div [scrollTop]=\"scrollTop\" #divElement>\n <ng-container>\n <po-listbox\n #listbox\n p-type=\"check\"\n [p-items]=\"visibleOptions\"\n [p-selected-options]=\"selectedOptions\"\n [p-checkboxAllValue]=\"getStateSelectAll()\"\n [p-field-value]=\"fieldValue\"\n [p-field-value-search]=\"fieldValue\"\n [p-field-label]=\"fieldLabel\"\n [p-literal-search]=\"literals\"\n [p-literals]=\"literals\"\n [p-is-searching]=\"isServerSearching\"\n [p-hide-search]=\"hideSearch\"\n [p-hide-select-all]=\"hideSelectAll\"\n [p-template]=\"multiselectTemplate\"\n [p-placeholder-search]=\"placeholderSearch\"\n (p-change)=\"clickItem($event)\"\n (p-change-all)=\"onClickSelectAll()\"\n (p-change-search)=\"callChangeSearch($event)\"\n (p-close)=\"closeDropdown.emit()\"\n [p-container-width]=\"containerWidth\"\n >\n </po-listbox>\n </ng-container>\n </div>\n</div>\n" }]
|
|
161
162
|
}], () => [{ type: i0.ChangeDetectorRef }], { isServerSearching: [{
|
|
162
163
|
type: Input,
|
|
163
164
|
args: ['p-searching']
|
|
@@ -191,6 +192,9 @@ export class PoMultiselectDropdownComponent {
|
|
|
191
192
|
}], multiselectTemplate: [{
|
|
192
193
|
type: Input,
|
|
193
194
|
args: ['p-multiselect-template']
|
|
195
|
+
}], containerWidth: [{
|
|
196
|
+
type: Input,
|
|
197
|
+
args: ['p-container-width']
|
|
194
198
|
}], changeSearch: [{
|
|
195
199
|
type: Output,
|
|
196
200
|
args: ['p-change-search']
|
|
@@ -211,4 +215,4 @@ export class PoMultiselectDropdownComponent {
|
|
|
211
215
|
args: ['listbox']
|
|
212
216
|
}] }); })();
|
|
213
217
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PoMultiselectDropdownComponent, { className: "PoMultiselectDropdownComponent", filePath: "lib/components/po-field/po-multiselect/po-multiselect-dropdown/po-multiselect-dropdown.component.ts", lineNumber: 29 }); })();
|
|
214
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbXVsdGlzZWxlY3QtZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLWZpZWxkL3BvLW11bHRpc2VsZWN0L3BvLW11bHRpc2VsZWN0LWRyb3Bkb3duL3BvLW11bHRpc2VsZWN0LWRyb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby1tdWx0aXNlbGVjdC9wby1tdWx0aXNlbGVjdC1kcm9wZG93bi9wby1tdWx0aXNlbGVjdC1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUVWLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFNdkI7Ozs7OztHQU1HO0FBTUgsTUFBTSxPQUFPLDhCQUE4QjtJQW1EckI7SUFsRHBCLHVEQUF1RDtJQUNqQyxpQkFBaUIsR0FBYSxLQUFLLENBQUM7SUFFMUQsMEVBQTBFO0lBQ2xELFVBQVUsR0FBYSxLQUFLLENBQUM7SUFFckQsdUZBQXVGO0lBQ2xFLFFBQVEsQ0FBeUI7SUFFdEQsd0NBQXdDO0lBQ1QsaUJBQWlCLENBQVM7SUFFekQsNkRBQTZEO0lBQ2hDLGVBQWUsR0FBZSxFQUFFLENBQUM7SUFFOUQsMERBQTBEO0lBQ3RDLE9BQU8sR0FBcUMsRUFBRSxDQUFDO0lBRW5FLG9GQUFvRjtJQUN4RCxjQUFjLEdBQXFDLEVBQUUsQ0FBQztJQUVsRixpRkFBaUY7SUFDckQsYUFBYSxHQUFhLEtBQUssQ0FBQztJQUVwQyxVQUFVLENBQVM7SUFFbkIsVUFBVSxDQUFTO0lBRVYsbUJBQW1CLENBQXlCO0lB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QUE4QjtjQUwxQyxTQUFTOzJCQUNFLHlCQUF5QixtQkFFbEIsdUJBQXVCLENBQUMsTUFBTTtrREFJekIsaUJBQWlCO2tCQUF0QyxLQUFLO21CQUFDLGFBQWE7WUFHSSxVQUFVO2tCQUFqQyxLQUFLO21CQUFDLGVBQWU7WUFHRCxRQUFRO2tCQUE1QixLQUFLO21CQUFDLFlBQVk7WUFHWSxpQkFBaUI7a0JBQS9DLEtBQUs7bUJBQUMsc0JBQXNCO1lBR0EsZUFBZTtrQkFBM0MsS0FBSzttQkFBQyxvQkFBb0I7WUFHUCxPQUFPO2tCQUExQixLQUFLO21CQUFDLFdBQVc7WUFHVSxjQUFjO2tCQUF6QyxLQUFLO21CQUFDLG1CQUFtQjtZQUdFLGFBQWE7a0JBQXhDLEtBQUs7bUJBQUMsbUJBQW1CO1lBRUYsVUFBVTtrQkFBakMsS0FBSzttQkFBQyxlQUFlO1lBRUUsVUFBVTtrQkFBakMsS0FBSzttQkFBQyxlQUFlO1lBRVcsbUJBQW1CO2tCQUFuRCxLQUFLO21CQUFDLHdCQUF3QjtZQUdKLFlBQVk7a0JBQXRDLE1BQU07bUJBQUMsaUJBQWlCO1lBR0wsTUFBTTtrQkFBekIsTUFBTTttQkFBQyxVQUFVO1lBT1UsYUFBYTtrQkFBeEMsTUFBTTttQkFBQyxrQkFBa0I7WUFFa0MsU0FBUztrQkFBcEUsU0FBUzttQkFBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7WUFDRyxVQUFVO2tCQUF0RSxTQUFTO21CQUFDLFlBQVksRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUNyQyxPQUFPO2tCQUE1QixTQUFTO21CQUFDLFNBQVM7O2tGQTlDVCw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIFRlbXBsYXRlUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQb011bHRpc2VsZWN0TGl0ZXJhbHMgfSBmcm9tICcuLi8uLi9pbmRleCc7XG5pbXBvcnQgeyBQb011bHRpc2VsZWN0T3B0aW9uIH0gZnJvbSAnLi4vcG8tbXVsdGlzZWxlY3Qtb3B0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb0xpc3RCb3hDb21wb25lbnQgfSBmcm9tICcuLy4uLy4uLy4uL3BvLWxpc3Rib3gvcG8tbGlzdGJveC5jb21wb25lbnQnO1xuXG4vKipcbiAqIEBkb2NzUHJpdmF0ZVxuICpcbiAqIEBkZXNjcmlwdGlvblxuICpcbiAqIENvbXBvbmVudGUgcXVlIGNvbnN0cnXDrXJhIG8gZHJvcGRvd24sIGNvbnRlbmRvIG8gY2FtcG8gZGUgcGVzcXVpc2EgZSBvcyBpdGVucyBwYXJhIHNlbGXDp8Ojby5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG8tbXVsdGlzZWxlY3QtZHJvcGRvd24nLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tbXVsdGlzZWxlY3QtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQb011bHRpc2VsZWN0RHJvcGRvd25Db21wb25lbnQge1xuICAvKiogUHJvcHJpZWRhZGUgcXVlIGluZGljYSBzZSBkZXZlIGV4aWJpciBvIGxvYWRpbmcuICovXG4gIEBJbnB1dCgncC1zZWFyY2hpbmcnKSBpc1NlcnZlclNlYXJjaGluZz86IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogUHJvcHJpZWRhZGUgcXVlIGluZGljYSBzZSBvIGNhbXBvIGRlIHBlc3F1aXNhIGRldmVyw6Egc2VyIGVzY29uZGlkby4gKi9cbiAgQElucHV0KCdwLWhpZGUtc2VhcmNoJykgaGlkZVNlYXJjaD86IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogUHJvcHJpZWRhZGUgcXVlIHF1ZSByZWNlYmUgYXMgbGl0ZXJhaXMgZGVmaW5pZGFzIG5vIGNvbXBvbmVudGUgYHBvLW11bHRpc2VsZWN0YC4gKi9cbiAgQElucHV0KCdwLWxpdGVyYWxzJykgbGl0ZXJhbHM/OiBQb011bHRpc2VsZWN0TGl0ZXJhbHM7XG5cbiAgLyoqIFBsYWNlaG9sZGVyIGRvIGNhbXBvIGRlIHBlc3F1aXNhLiAqL1xuICBASW5wdXQoJ3AtcGxhY2Vob2xkZXItc2VhcmNoJykgcGxhY2Vob2xkZXJTZWFyY2g6IHN0cmluZztcblxuICAvKiogUHJvcHJpZWRhZGUgcXVlIHJlY2ViZSBhIGxpc3RhIGRlIG9ww6fDtWVzIHNlbGVjaW9uYWRhcy4gKi9cbiAgQElucHV0KCdwLXNlbGVjdGVkLW9wdGlvbnMnKSBzZWxlY3RlZE9wdGlvbnM6IEFycmF5PGFueT4gPSBbXTtcblxuICAvKiogUHJvcHJpZWRhZGUgcXVlIHJlY2ViZSBhIGxpc3RhIGNvbSB0b2RhcyBhcyBvcMOnw7Vlcy4gKi9cbiAgQElucHV0KCdwLW9wdGlvbnMnKSBvcHRpb25zOiBBcnJheTxQb011bHRpc2VsZWN0T3B0aW9uIHwgYW55PiA9IFtdO1xuXG4gIC8qKiBQcm9wcmllZGFkZSBxdWUgcmVjZWJlIGEgbGlzdGEgZGUgb3DDp8O1ZXMgcXVlIGRldmVyw6NvIHNlciBjcmlhZGFzIG5vIGRyb3Bkb3duLiAqL1xuICBASW5wdXQoJ3AtdmlzaWJsZS1vcHRpb25zJykgdmlzaWJsZU9wdGlvbnM6IEFycmF5PFBvTXVsdGlzZWxlY3RPcHRpb24gfCBhbnk+ID0gW107XG5cbiAgLyoqIFByb3ByaWVkYWRlIHF1ZSBpbmRpY2Egc2UgbyBjYW1wbyBcIlNlbGVjaW9uYXIgdG9kb3NcIiBkZXZlcsOhIHNlciBlc2NvbmRpZG8uICovXG4gIEBJbnB1dCgncC1oaWRlLXNlbGVjdC1hbGwnKSBoaWRlU2VsZWN0QWxsPzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgncC1maWVsZC12YWx1ZScpIGZpZWxkVmFsdWU6IHN0cmluZztcblxuICBASW5wdXQoJ3AtZmllbGQtbGFiZWwnKSBmaWVsZExhYmVsOiBzdHJpbmc7XG5cbiAgQElucHV0KCdwLW11bHRpc2VsZWN0LXRlbXBsYXRlJykgbXVsdGlzZWxlY3RUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IGFueTtcblxuICAvKiogRXZlbnRvIGRpc3BhcmFkbyBhIGNhZGEgdGVjbGEgZGlnaXRhZGEgbmEgcGVzcXVpc2EuICovXG4gIEBPdXRwdXQoJ3AtY2hhbmdlLXNlYXJjaCcpIGNoYW5nZVNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKiogRXZlbnRvIGRpc3BhcmFkbyBhIGNhZGEgYWx0ZXJhw6fDo28gbmEgbGlzdGEgZGFzIG9ww6fDtWVzIHNlbGVjaW9uYWRhcy4gKi9cbiAgQE91dHB1dCgncC1jaGFuZ2UnKSBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIEV2ZW50byBkaXNwYXJhZG8gcXVhbmRvIGZvciBkZXRlY3RhZGEgdW1hIGHDp8OjbyBxdWUgbmVjZXNzaXRlIGZlY2hhciBvIGRyb3Bkb3duLlxuICAgKiBQb3IgZXhlbXBsbywgbm8gY2FzbyBkZSBzZXIgdGVjbGFkbyBUQUIgZGVudHJvIGRvIGRyb3Bkb3duLCBlbnTDo28gw6kgZGlzcGFyYWRvIGVzdGUgZXZlbnRvXG4gICAqIHBhcmEgbm90aWZpY2FyIG8gY29tcG9uZW50ZSBwcmluY2lwYWwgcXVlIGRldmUgZmVjaGFyIG8gZHJvcGRvd24uXG4gICAqL1xuICBAT3V0cHV0KCdwLWNsb3NlLWRyb3Bkb3duJykgY2xvc2VEcm9wZG93biA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KSBjb250YWluZXI6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2RpdkVsZW1lbnQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KSBkaXZFbGVtZW50OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdsaXN0Ym94JykgbGlzdGJveDogUG9MaXN0Qm94Q29tcG9uZW50O1xuXG4gIHNjcm9sbFRvcCA9IDA7XG4gIHNob3c6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBnZXQgaGFzT3B0aW9ucygpIHtcbiAgICByZXR1cm4gISF0aGlzLm9wdGlvbnM/Lmxlbmd0aDtcbiAgfVxuXG4gIHNjcm9sbFRvKGluZGV4KSB7XG4gICAgdGhpcy5zY3JvbGxUb3AgPSBpbmRleCA8PSAyID8gMCA6IGluZGV4ICogNDQgLSA4ODtcbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgaXNTZWxlY3RlZEl0ZW0ob3B0aW9uOiBQb011bHRpc2VsZWN0T3B0aW9uKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRPcHRpb25zLnNvbWUoc2VsZWN0ZWRJdGVtID0+IHNlbGVjdGVkSXRlbVt0aGlzLmZpZWxkVmFsdWVdID09PSBvcHRpb25bdGhpcy5maWVsZFZhbHVlXSk7XG4gIH1cblxuICBjbGlja0l0ZW0oY2hlY2ssIG9wdGlvbnM/KSB7XG4gICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgIHRoaXMudXBkYXRlU2VsZWN0ZWRWYWx1ZXMoY2hlY2ssIG9wdGlvbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB7IHNlbGVjdGVkLCBvcHRpb24gfSA9IGNoZWNrO1xuICAgICAgdGhpcy51cGRhdGVTZWxlY3RlZFZhbHVlcyhzZWxlY3RlZCwgb3B0aW9uKTtcbiAgICB9XG4gIH1cblxuICBvbkNsaWNrU2VsZWN0QWxsKCkge1xuICAgIGNvbnN0IHNlbGVjdGVkVmFsdWVzID0gdGhpcy5zZWxlY3RlZE9wdGlvbnMubWFwKCh7IFt0aGlzLmZpZWxkVmFsdWVdOiB2YWx1ZSB9KSA9PiB2YWx1ZSk7XG5cbiAgICBpZiAodGhpcy5ldmVyeVZpc2libGVPcHRpb25zU2VsZWN0ZWQoc2VsZWN0ZWRWYWx1ZXMpKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucyA9IFtdO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucyA9IHRoaXMudW5pcXVlU2VsZWN0ZWRPcHRpb25zKHNlbGVjdGVkVmFsdWVzKTtcbiAgICB9XG4gICAgdGhpcy5jaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkT3B0aW9ucyk7XG4gIH1cblxuICB1cGRhdGVTZWxlY3RlZFZhbHVlcyhjaGVja2VkLCBvcHRpb24pIHtcbiAgICBpZiAoY2hlY2tlZCkge1xuICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbnMucHVzaChvcHRpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucyA9IHRoaXMuc2VsZWN0ZWRPcHRpb25zLmZpbHRlcihcbiAgICAgICAgc2VsZWN0ZWRPcHRpb24gPT4gc2VsZWN0ZWRPcHRpb25bdGhpcy5maWVsZFZhbHVlXSAhPT0gb3B0aW9uW3RoaXMuZmllbGRWYWx1ZV1cbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuY2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZE9wdGlvbnMpO1xuICB9XG5cbiAgZXZlcnlWaXNpYmxlT3B0aW9uc1NlbGVjdGVkKHNlbGVjdGVkVmFsdWVzKSB7XG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZU9wdGlvbnMuZXZlcnkodmlzaWJsZU9wdGlvbiA9PiBzZWxlY3RlZFZhbHVlcy5pbmNsdWRlcyh2aXNpYmxlT3B0aW9uW3RoaXMuZmllbGRWYWx1ZV0pKTtcbiAgfVxuXG4gIHNvbWVWaXNpYmxlT3B0aW9uc1NlbGVjdGVkKHNlbGVjdGVkVmFsdWVzKSB7XG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZU9wdGlvbnMuc29tZSh2aXNpYmxlT3B0aW9uID0+IHNlbGVjdGVkVmFsdWVzLmluY2x1ZGVzKHZpc2libGVPcHRpb25bdGhpcy5maWVsZFZhbHVlXSkpO1xuICB9XG5cbiAgZ2V0U3RhdGVTZWxlY3RBbGwoKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRWYWx1ZXMgPSB0aGlzLnNlbGVjdGVkT3B0aW9ucy5tYXAoKHsgW3RoaXMuZmllbGRWYWx1ZV06IHZhbHVlIH0pID0+IHZhbHVlKTtcblxuICAgIGlmICh0aGlzLmV2ZXJ5VmlzaWJsZU9wdGlvbnNTZWxlY3RlZChzZWxlY3RlZFZhbHVlcykpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zb21lVmlzaWJsZU9wdGlvbnNTZWxlY3RlZChzZWxlY3RlZFZhbHVlcykpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgY2FsbENoYW5nZVNlYXJjaChldmVudCkge1xuICAgIHRoaXMuY2hhbmdlU2VhcmNoLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgY29udHJvbFZpc2liaWxpdHkodG9PcGVuKSB7XG4gICAgdGhpcy5zaG93ID0gdG9PcGVuO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodG9PcGVuICYmIHRoaXMubGlzdGJveD8uc2VhcmNoRWxlbWVudCAmJiAhdGhpcy5oaWRlU2VhcmNoKSB7XG4gICAgICAgIHRoaXMubGlzdGJveC5zZWFyY2hFbGVtZW50LnNldEZvY3VzKCk7XG4gICAgICAgIHRoaXMubGlzdGJveC5zZWFyY2hFbGVtZW50LmNsZWFuKCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgdW5pcXVlU2VsZWN0ZWRPcHRpb25zKHNlbGVjdGVkVmFsdWVzKSB7XG4gICAgY29uc3QgbmV3U2VsZWN0ZWRPcHRpb25zID0gWy4uLnRoaXMuc2VsZWN0ZWRPcHRpb25zXTtcblxuICAgIGZvciAoY29uc3QgdmlzaWJsZU9wdGlvbiBvZiB0aGlzLnZpc2libGVPcHRpb25zKSB7XG4gICAgICBpZiAoIXNlbGVjdGVkVmFsdWVzLmluY2x1ZGVzKHZpc2libGVPcHRpb25bdGhpcy5maWVsZFZhbHVlXSkpIHtcbiAgICAgICAgbmV3U2VsZWN0ZWRPcHRpb25zLnB1c2godmlzaWJsZU9wdGlvbik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ld1NlbGVjdGVkT3B0aW9ucztcbiAgfVxufVxuIiwiPGRpdiAjY29udGFpbmVyIGNsYXNzPVwicG8tbXVsdGlzZWxlY3QtY29udGFpbmVyXCIgW2hpZGRlbl09XCIhc2hvd1wiPlxuICA8ZGl2IFtzY3JvbGxUb3BdPVwic2Nyb2xsVG9wXCIgI2RpdkVsZW1lbnQ+XG4gICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgIDxwby1saXN0Ym94XG4gICAgICAgICNsaXN0Ym94XG4gICAgICAgIHAtdHlwZT1cImNoZWNrXCJcbiAgICAgICAgW3AtaXRlbXNdPVwidmlzaWJsZU9wdGlvbnNcIlxuICAgICAgICBbcC1zZWxlY3RlZC1vcHRpb25zXT1cInNlbGVjdGVkT3B0aW9uc1wiXG4gICAgICAgIFtwLWNoZWNrYm94QWxsVmFsdWVdPVwiZ2V0U3RhdGVTZWxlY3RBbGwoKVwiXG4gICAgICAgIFtwLWZpZWxkLXZhbHVlXT1cImZpZWxkVmFsdWVcIlxuICAgICAgICBbcC1maWVsZC12YWx1ZS1zZWFyY2hdPVwiZmllbGRWYWx1ZVwiXG4gICAgICAgIFtwLWZpZWxkLWxhYmVsXT1cImZpZWxkTGFiZWxcIlxuICAgICAgICBbcC1saXRlcmFsLXNlYXJjaF09XCJsaXRlcmFsc1wiXG4gICAgICAgIFtwLWxpdGVyYWxzXT1cImxpdGVyYWxzXCJcbiAgICAgICAgW3AtaXMtc2VhcmNoaW5nXT1cImlzU2VydmVyU2VhcmNoaW5nXCJcbiAgICAgICAgW3AtaGlkZS1zZWFyY2hdPVwiaGlkZVNlYXJjaFwiXG4gICAgICAgIFtwLWhpZGUtc2VsZWN0LWFsbF09XCJoaWRlU2VsZWN0QWxsXCJcbiAgICAgICAgW3AtdGVtcGxhdGVdPVwibXVsdGlzZWxlY3RUZW1wbGF0ZVwiXG4gICAgICAgIFtwLXBsYWNlaG9sZGVyLXNlYXJjaF09XCJwbGFjZWhvbGRlclNlYXJjaFwiXG4gICAgICAgIChwLWNoYW5nZSk9XCJjbGlja0l0ZW0oJGV2ZW50KVwiXG4gICAgICAgIChwLWNoYW5nZS1hbGwpPVwib25DbGlja1NlbGVjdEFsbCgpXCJcbiAgICAgICAgKHAtY2hhbmdlLXNlYXJjaCk9XCJjYWxsQ2hhbmdlU2VhcmNoKCRldmVudClcIlxuICAgICAgICAocC1jbG9zZSk9XCJjbG9zZURyb3Bkb3duLmVtaXQoKVwiXG4gICAgICA+XG4gICAgICA8L3BvLWxpc3Rib3g+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
218
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbXVsdGlzZWxlY3QtZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLWZpZWxkL3BvLW11bHRpc2VsZWN0L3BvLW11bHRpc2VsZWN0LWRyb3Bkb3duL3BvLW11bHRpc2VsZWN0LWRyb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby1tdWx0aXNlbGVjdC9wby1tdWx0aXNlbGVjdC1kcm9wZG93bi9wby1tdWx0aXNlbGVjdC1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUVWLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFNdkI7Ozs7OztHQU1HO0FBTUgsTUFBTSxPQUFPLDhCQUE4QjtJQXFEckI7SUFwRHBCLHVEQUF1RDtJQUNqQyxpQkFBaUIsR0FBYSxLQUFLLENBQUM7SUFFMUQsMEVBQTBFO0lBQ2xELFVBQVUsR0FBYSxLQUFLLENBQUM7SUFFckQsdUZBQXVGO0lBQ2xFLFFBQVEsQ0FBeUI7SUFFdEQsd0NBQXdDO0lBQ1QsaUJBQWlCLENBQVM7SUFFekQsNkRBQTZEO0lBQ2hDLGVBQWUsR0FBZSxFQUFFLENBQUM7SUFFOUQsMERBQTBEO0lBQ3RDLE9BQU8sR0FBcUMsRUFBRSxDQUFDO0lBRW5FLG9GQUFvRjtJQUN4RCxjQUFjLEdBQXFDLEVBQUUsQ0FBQztJQUVsRixpRkFBaUY7SUFDckQsYUFBYSxHQUFhLEtBQUssQ0FBQztJQUVwQyxVQUFVLENBQVM7SUFFbkIsVUFBVSxDQUFTO0lBRVYsbUJBQW1CLENBQXlCO0lBRWpELGNBQWMsQ0FBUztJQUVuRCwwREFBMEQ7SUFDL0IsWUFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFN0QsMEVBQTBFO0lBQ3RELE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRWhEOzs7O09BSUc7SUFDeUIsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFSCxTQUFTLENBQWE7SUFDckIsVUFBVSxDQUFhO0lBQzlELE9BQU8sQ0FBcUI7SUFFbEQsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUNkLElBQUksR0FBWSxLQUFLLENBQUM7SUFFdEIsWUFBb0IsRUFBcUI7UUFBckIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7SUFBRyxDQUFDO0lBRTdDLElBQUksVUFBVTtRQUNaLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBSztRQUNaLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNsRCxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxjQUFjLENBQUMsTUFBMkI7UUFDeEMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQzlHLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBSyxFQUFFLE9BQVE7UUFDdkIsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDNUMsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQztZQUNuQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzlDLENBQUM7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV6RixJQUFJLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQ3JELElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBQzVCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDcEUsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsb0JBQW9CLENBQUMsT0FBTyxFQUFFLE1BQU07UUFDbEMsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FDaEQsY0FBYyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQzlFLENBQUM7UUFDSixDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCwyQkFBMkIsQ0FBQyxjQUFjO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdHLENBQUM7SUFFRCwwQkFBMEIsQ0FBQyxjQUFjO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVHLENBQUM7SUFFRCxpQkFBaUI7UUFDZixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXpGLElBQUksSUFBSSxDQUFDLDJCQUEyQixDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDckQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsMEJBQTBCLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztZQUMzRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQUs7UUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELGlCQUFpQixDQUFDLE1BQU07UUFDdEIsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUM7UUFFbkIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsYUFBYSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUM5RCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDckMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU8scUJBQXFCLENBQUMsY0FBYztRQUMxQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFckQsS0FBSyxNQUFNLGFBQWEsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDaEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQzdELGtCQUFrQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN6QyxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sa0JBQWtCLENBQUM7SUFDNUIsQ0FBQzt3RkFqSlUsOEJBQThCOzZEQUE5Qiw4QkFBOEI7bUNBOENULFVBQVU7bUNBQ1QsVUFBVTs7Ozs7Ozs7O1lDMUUzQyxBQURGLGlDQUFrRSxnQkFDdkI7WUFDdkMsNkJBQWM7WUFDWix3Q0FxQkM7WUFGQyxBQURBLEFBREEsQUFEQSxpS0FBWSxxQkFBaUIsS0FBQyxzSkFDZCxzQkFBa0IsS0FBQyxrS0FDaEIsNEJBQXdCLEtBQUMsNElBQ2pDLHdCQUFvQixLQUFDO1lBR2xDLGlCQUFhOztZQUduQixBQURFLGlCQUFNLEVBQ0Y7O1lBNUIyQyxrQ0FBZ0I7WUFDMUQsZUFBdUI7WUFBdkIseUNBQXVCO1lBS3RCLGVBQTBCO1lBaUIxQixBQUxBLEFBREEsQUFEQSxBQURBLEFBREEsQUFEQSxBQURBLEFBREEsQUFEQSxBQURBLEFBREEsQUFEQSxBQURBLDRDQUEwQiwyQ0FDWSwrQ0FDSSxpQ0FDZCx3Q0FDTyxpQ0FDUCxrQ0FDQyw0QkFDTix5Q0FDYSxpQ0FDUix3Q0FDTyx1Q0FDRCwrQ0FDUSx5Q0FLTjs7O2lGREsvQiw4QkFBOEI7Y0FMMUMsU0FBUzsyQkFDRSx5QkFBeUIsbUJBRWxCLHVCQUF1QixDQUFDLE1BQU07a0RBSXpCLGlCQUFpQjtrQkFBdEMsS0FBSzttQkFBQyxhQUFhO1lBR0ksVUFBVTtrQkFBakMsS0FBSzttQkFBQyxlQUFlO1lBR0QsUUFBUTtrQkFBNUIsS0FBSzttQkFBQyxZQUFZO1lBR1ksaUJBQWlCO2tCQUEvQyxLQUFLO21CQUFDLHNCQUFzQjtZQUdBLGVBQWU7a0JBQTNDLEtBQUs7bUJBQUMsb0JBQW9CO1lBR1AsT0FBTztrQkFBMUIsS0FBSzttQkFBQyxXQUFXO1lBR1UsY0FBYztrQkFBekMsS0FBSzttQkFBQyxtQkFBbUI7WUFHRSxhQUFhO2tCQUF4QyxLQUFLO21CQUFDLG1CQUFtQjtZQUVGLFVBQVU7a0JBQWpDLEtBQUs7bUJBQUMsZUFBZTtZQUVFLFVBQVU7a0JBQWpDLEtBQUs7bUJBQUMsZUFBZTtZQUVXLG1CQUFtQjtrQkFBbkQsS0FBSzttQkFBQyx3QkFBd0I7WUFFSCxjQUFjO2tCQUF6QyxLQUFLO21CQUFDLG1CQUFtQjtZQUdDLFlBQVk7a0JBQXRDLE1BQU07bUJBQUMsaUJBQWlCO1lBR0wsTUFBTTtrQkFBekIsTUFBTTttQkFBQyxVQUFVO1lBT1UsYUFBYTtrQkFBeEMsTUFBTTttQkFBQyxrQkFBa0I7WUFFa0MsU0FBUztrQkFBcEUsU0FBUzttQkFBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7WUFDRyxVQUFVO2tCQUF0RSxTQUFTO21CQUFDLFlBQVksRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUNyQyxPQUFPO2tCQUE1QixTQUFTO21CQUFDLFNBQVM7O2tGQWhEVCw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIFRlbXBsYXRlUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQb011bHRpc2VsZWN0TGl0ZXJhbHMgfSBmcm9tICcuLi8uLi9pbmRleCc7XG5pbXBvcnQgeyBQb011bHRpc2VsZWN0T3B0aW9uIH0gZnJvbSAnLi4vcG8tbXVsdGlzZWxlY3Qtb3B0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb0xpc3RCb3hDb21wb25lbnQgfSBmcm9tICcuLy4uLy4uLy4uL3BvLWxpc3Rib3gvcG8tbGlzdGJveC5jb21wb25lbnQnO1xuXG4vKipcbiAqIEBkb2NzUHJpdmF0ZVxuICpcbiAqIEBkZXNjcmlwdGlvblxuICpcbiAqIENvbXBvbmVudGUgcXVlIGNvbnN0cnXDrXJhIG8gZHJvcGRvd24sIGNvbnRlbmRvIG8gY2FtcG8gZGUgcGVzcXVpc2EgZSBvcyBpdGVucyBwYXJhIHNlbGXDp8Ojby5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG8tbXVsdGlzZWxlY3QtZHJvcGRvd24nLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tbXVsdGlzZWxlY3QtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQb011bHRpc2VsZWN0RHJvcGRvd25Db21wb25lbnQge1xuICAvKiogUHJvcHJpZWRhZGUgcXVlIGluZGljYSBzZSBkZXZlIGV4aWJpciBvIGxvYWRpbmcuICovXG4gIEBJbnB1dCgncC1zZWFyY2hpbmcnKSBpc1NlcnZlclNlYXJjaGluZz86IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogUHJvcHJpZWRhZGUgcXVlIGluZGljYSBzZSBvIGNhbXBvIGRlIHBlc3F1aXNhIGRldmVyw6Egc2VyIGVzY29uZGlkby4gKi9cbiAgQElucHV0KCdwLWhpZGUtc2VhcmNoJykgaGlkZVNlYXJjaD86IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogUHJvcHJpZWRhZGUgcXVlIHF1ZSByZWNlYmUgYXMgbGl0ZXJhaXMgZGVmaW5pZGFzIG5vIGNvbXBvbmVudGUgYHBvLW11bHRpc2VsZWN0YC4gKi9cbiAgQElucHV0KCdwLWxpdGVyYWxzJykgbGl0ZXJhbHM/OiBQb011bHRpc2VsZWN0TGl0ZXJhbHM7XG5cbiAgLyoqIFBsYWNlaG9sZGVyIGRvIGNhbXBvIGRlIHBlc3F1aXNhLiAqL1xuICBASW5wdXQoJ3AtcGxhY2Vob2xkZXItc2VhcmNoJykgcGxhY2Vob2xkZXJTZWFyY2g6IHN0cmluZztcblxuICAvKiogUHJvcHJpZWRhZGUgcXVlIHJlY2ViZSBhIGxpc3RhIGRlIG9ww6fDtWVzIHNlbGVjaW9uYWRhcy4gKi9cbiAgQElucHV0KCdwLXNlbGVjdGVkLW9wdGlvbnMnKSBzZWxlY3RlZE9wdGlvbnM6IEFycmF5PGFueT4gPSBbXTtcblxuICAvKiogUHJvcHJpZWRhZGUgcXVlIHJlY2ViZSBhIGxpc3RhIGNvbSB0b2RhcyBhcyBvcMOnw7Vlcy4gKi9cbiAgQElucHV0KCdwLW9wdGlvbnMnKSBvcHRpb25zOiBBcnJheTxQb011bHRpc2VsZWN0T3B0aW9uIHwgYW55PiA9IFtdO1xuXG4gIC8qKiBQcm9wcmllZGFkZSBxdWUgcmVjZWJlIGEgbGlzdGEgZGUgb3DDp8O1ZXMgcXVlIGRldmVyw6NvIHNlciBjcmlhZGFzIG5vIGRyb3Bkb3duLiAqL1xuICBASW5wdXQoJ3AtdmlzaWJsZS1vcHRpb25zJykgdmlzaWJsZU9wdGlvbnM6IEFycmF5PFBvTXVsdGlzZWxlY3RPcHRpb24gfCBhbnk+ID0gW107XG5cbiAgLyoqIFByb3ByaWVkYWRlIHF1ZSBpbmRpY2Egc2UgbyBjYW1wbyBcIlNlbGVjaW9uYXIgdG9kb3NcIiBkZXZlcsOhIHNlciBlc2NvbmRpZG8uICovXG4gIEBJbnB1dCgncC1oaWRlLXNlbGVjdC1hbGwnKSBoaWRlU2VsZWN0QWxsPzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgncC1maWVsZC12YWx1ZScpIGZpZWxkVmFsdWU6IHN0cmluZztcblxuICBASW5wdXQoJ3AtZmllbGQtbGFiZWwnKSBmaWVsZExhYmVsOiBzdHJpbmc7XG5cbiAgQElucHV0KCdwLW11bHRpc2VsZWN0LXRlbXBsYXRlJykgbXVsdGlzZWxlY3RUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IGFueTtcblxuICBASW5wdXQoJ3AtY29udGFpbmVyLXdpZHRoJykgY29udGFpbmVyV2lkdGg6IG51bWJlcjtcblxuICAvKiogRXZlbnRvIGRpc3BhcmFkbyBhIGNhZGEgdGVjbGEgZGlnaXRhZGEgbmEgcGVzcXVpc2EuICovXG4gIEBPdXRwdXQoJ3AtY2hhbmdlLXNlYXJjaCcpIGNoYW5nZVNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKiogRXZlbnRvIGRpc3BhcmFkbyBhIGNhZGEgYWx0ZXJhw6fDo28gbmEgbGlzdGEgZGFzIG9ww6fDtWVzIHNlbGVjaW9uYWRhcy4gKi9cbiAgQE91dHB1dCgncC1jaGFuZ2UnKSBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIEV2ZW50byBkaXNwYXJhZG8gcXVhbmRvIGZvciBkZXRlY3RhZGEgdW1hIGHDp8OjbyBxdWUgbmVjZXNzaXRlIGZlY2hhciBvIGRyb3Bkb3duLlxuICAgKiBQb3IgZXhlbXBsbywgbm8gY2FzbyBkZSBzZXIgdGVjbGFkbyBUQUIgZGVudHJvIGRvIGRyb3Bkb3duLCBlbnTDo28gw6kgZGlzcGFyYWRvIGVzdGUgZXZlbnRvXG4gICAqIHBhcmEgbm90aWZpY2FyIG8gY29tcG9uZW50ZSBwcmluY2lwYWwgcXVlIGRldmUgZmVjaGFyIG8gZHJvcGRvd24uXG4gICAqL1xuICBAT3V0cHV0KCdwLWNsb3NlLWRyb3Bkb3duJykgY2xvc2VEcm9wZG93biA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KSBjb250YWluZXI6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2RpdkVsZW1lbnQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KSBkaXZFbGVtZW50OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdsaXN0Ym94JykgbGlzdGJveDogUG9MaXN0Qm94Q29tcG9uZW50O1xuXG4gIHNjcm9sbFRvcCA9IDA7XG4gIHNob3c6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBnZXQgaGFzT3B0aW9ucygpIHtcbiAgICByZXR1cm4gISF0aGlzLm9wdGlvbnM/Lmxlbmd0aDtcbiAgfVxuXG4gIHNjcm9sbFRvKGluZGV4KSB7XG4gICAgdGhpcy5zY3JvbGxUb3AgPSBpbmRleCA8PSAyID8gMCA6IGluZGV4ICogNDQgLSA4ODtcbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgaXNTZWxlY3RlZEl0ZW0ob3B0aW9uOiBQb011bHRpc2VsZWN0T3B0aW9uKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRPcHRpb25zLnNvbWUoc2VsZWN0ZWRJdGVtID0+IHNlbGVjdGVkSXRlbVt0aGlzLmZpZWxkVmFsdWVdID09PSBvcHRpb25bdGhpcy5maWVsZFZhbHVlXSk7XG4gIH1cblxuICBjbGlja0l0ZW0oY2hlY2ssIG9wdGlvbnM/KSB7XG4gICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgIHRoaXMudXBkYXRlU2VsZWN0ZWRWYWx1ZXMoY2hlY2ssIG9wdGlvbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB7IHNlbGVjdGVkLCBvcHRpb24gfSA9IGNoZWNrO1xuICAgICAgdGhpcy51cGRhdGVTZWxlY3RlZFZhbHVlcyhzZWxlY3RlZCwgb3B0aW9uKTtcbiAgICB9XG4gIH1cblxuICBvbkNsaWNrU2VsZWN0QWxsKCkge1xuICAgIGNvbnN0IHNlbGVjdGVkVmFsdWVzID0gdGhpcy5zZWxlY3RlZE9wdGlvbnMubWFwKCh7IFt0aGlzLmZpZWxkVmFsdWVdOiB2YWx1ZSB9KSA9PiB2YWx1ZSk7XG5cbiAgICBpZiAodGhpcy5ldmVyeVZpc2libGVPcHRpb25zU2VsZWN0ZWQoc2VsZWN0ZWRWYWx1ZXMpKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucyA9IFtdO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucyA9IHRoaXMudW5pcXVlU2VsZWN0ZWRPcHRpb25zKHNlbGVjdGVkVmFsdWVzKTtcbiAgICB9XG4gICAgdGhpcy5jaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkT3B0aW9ucyk7XG4gIH1cblxuICB1cGRhdGVTZWxlY3RlZFZhbHVlcyhjaGVja2VkLCBvcHRpb24pIHtcbiAgICBpZiAoY2hlY2tlZCkge1xuICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbnMucHVzaChvcHRpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucyA9IHRoaXMuc2VsZWN0ZWRPcHRpb25zLmZpbHRlcihcbiAgICAgICAgc2VsZWN0ZWRPcHRpb24gPT4gc2VsZWN0ZWRPcHRpb25bdGhpcy5maWVsZFZhbHVlXSAhPT0gb3B0aW9uW3RoaXMuZmllbGRWYWx1ZV1cbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuY2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZE9wdGlvbnMpO1xuICB9XG5cbiAgZXZlcnlWaXNpYmxlT3B0aW9uc1NlbGVjdGVkKHNlbGVjdGVkVmFsdWVzKSB7XG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZU9wdGlvbnMuZXZlcnkodmlzaWJsZU9wdGlvbiA9PiBzZWxlY3RlZFZhbHVlcy5pbmNsdWRlcyh2aXNpYmxlT3B0aW9uW3RoaXMuZmllbGRWYWx1ZV0pKTtcbiAgfVxuXG4gIHNvbWVWaXNpYmxlT3B0aW9uc1NlbGVjdGVkKHNlbGVjdGVkVmFsdWVzKSB7XG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZU9wdGlvbnMuc29tZSh2aXNpYmxlT3B0aW9uID0+IHNlbGVjdGVkVmFsdWVzLmluY2x1ZGVzKHZpc2libGVPcHRpb25bdGhpcy5maWVsZFZhbHVlXSkpO1xuICB9XG5cbiAgZ2V0U3RhdGVTZWxlY3RBbGwoKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRWYWx1ZXMgPSB0aGlzLnNlbGVjdGVkT3B0aW9ucy5tYXAoKHsgW3RoaXMuZmllbGRWYWx1ZV06IHZhbHVlIH0pID0+IHZhbHVlKTtcblxuICAgIGlmICh0aGlzLmV2ZXJ5VmlzaWJsZU9wdGlvbnNTZWxlY3RlZChzZWxlY3RlZFZhbHVlcykpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zb21lVmlzaWJsZU9wdGlvbnNTZWxlY3RlZChzZWxlY3RlZFZhbHVlcykpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgY2FsbENoYW5nZVNlYXJjaChldmVudCkge1xuICAgIHRoaXMuY2hhbmdlU2VhcmNoLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgY29udHJvbFZpc2liaWxpdHkodG9PcGVuKSB7XG4gICAgdGhpcy5zaG93ID0gdG9PcGVuO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodG9PcGVuICYmIHRoaXMubGlzdGJveD8uc2VhcmNoRWxlbWVudCAmJiAhdGhpcy5oaWRlU2VhcmNoKSB7XG4gICAgICAgIHRoaXMubGlzdGJveC5zZWFyY2hFbGVtZW50LnNldEZvY3VzKCk7XG4gICAgICAgIHRoaXMubGlzdGJveC5zZWFyY2hFbGVtZW50LmNsZWFuKCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgdW5pcXVlU2VsZWN0ZWRPcHRpb25zKHNlbGVjdGVkVmFsdWVzKSB7XG4gICAgY29uc3QgbmV3U2VsZWN0ZWRPcHRpb25zID0gWy4uLnRoaXMuc2VsZWN0ZWRPcHRpb25zXTtcblxuICAgIGZvciAoY29uc3QgdmlzaWJsZU9wdGlvbiBvZiB0aGlzLnZpc2libGVPcHRpb25zKSB7XG4gICAgICBpZiAoIXNlbGVjdGVkVmFsdWVzLmluY2x1ZGVzKHZpc2libGVPcHRpb25bdGhpcy5maWVsZFZhbHVlXSkpIHtcbiAgICAgICAgbmV3U2VsZWN0ZWRPcHRpb25zLnB1c2godmlzaWJsZU9wdGlvbik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ld1NlbGVjdGVkT3B0aW9ucztcbiAgfVxufVxuIiwiPGRpdiAjY29udGFpbmVyIGNsYXNzPVwicG8tbXVsdGlzZWxlY3QtY29udGFpbmVyXCIgW2hpZGRlbl09XCIhc2hvd1wiPlxuICA8ZGl2IFtzY3JvbGxUb3BdPVwic2Nyb2xsVG9wXCIgI2RpdkVsZW1lbnQ+XG4gICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgIDxwby1saXN0Ym94XG4gICAgICAgICNsaXN0Ym94XG4gICAgICAgIHAtdHlwZT1cImNoZWNrXCJcbiAgICAgICAgW3AtaXRlbXNdPVwidmlzaWJsZU9wdGlvbnNcIlxuICAgICAgICBbcC1zZWxlY3RlZC1vcHRpb25zXT1cInNlbGVjdGVkT3B0aW9uc1wiXG4gICAgICAgIFtwLWNoZWNrYm94QWxsVmFsdWVdPVwiZ2V0U3RhdGVTZWxlY3RBbGwoKVwiXG4gICAgICAgIFtwLWZpZWxkLXZhbHVlXT1cImZpZWxkVmFsdWVcIlxuICAgICAgICBbcC1maWVsZC12YWx1ZS1zZWFyY2hdPVwiZmllbGRWYWx1ZVwiXG4gICAgICAgIFtwLWZpZWxkLWxhYmVsXT1cImZpZWxkTGFiZWxcIlxuICAgICAgICBbcC1saXRlcmFsLXNlYXJjaF09XCJsaXRlcmFsc1wiXG4gICAgICAgIFtwLWxpdGVyYWxzXT1cImxpdGVyYWxzXCJcbiAgICAgICAgW3AtaXMtc2VhcmNoaW5nXT1cImlzU2VydmVyU2VhcmNoaW5nXCJcbiAgICAgICAgW3AtaGlkZS1zZWFyY2hdPVwiaGlkZVNlYXJjaFwiXG4gICAgICAgIFtwLWhpZGUtc2VsZWN0LWFsbF09XCJoaWRlU2VsZWN0QWxsXCJcbiAgICAgICAgW3AtdGVtcGxhdGVdPVwibXVsdGlzZWxlY3RUZW1wbGF0ZVwiXG4gICAgICAgIFtwLXBsYWNlaG9sZGVyLXNlYXJjaF09XCJwbGFjZWhvbGRlclNlYXJjaFwiXG4gICAgICAgIChwLWNoYW5nZSk9XCJjbGlja0l0ZW0oJGV2ZW50KVwiXG4gICAgICAgIChwLWNoYW5nZS1hbGwpPVwib25DbGlja1NlbGVjdEFsbCgpXCJcbiAgICAgICAgKHAtY2hhbmdlLXNlYXJjaCk9XCJjYWxsQ2hhbmdlU2VhcmNoKCRldmVudClcIlxuICAgICAgICAocC1jbG9zZSk9XCJjbG9zZURyb3Bkb3duLmVtaXQoKVwiXG4gICAgICAgIFtwLWNvbnRhaW5lci13aWR0aF09XCJjb250YWluZXJXaWR0aFwiXG4gICAgICA+XG4gICAgICA8L3BvLWxpc3Rib3g+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|