@danske/sapphire-angular 1.17.1 → 1.18.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.
@@ -68,10 +68,13 @@ export class SearchableSelectDirective {
68
68
  }
69
69
  }
70
70
  SearchableSelectDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SearchableSelectDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
71
- SearchableSelectDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: SearchableSelectDirective, selector: "sp-select[searchable]", inputs: { searchValue: "searchValue", filter: "filter", selectTextOnOpen: "selectTextOnOpen" }, outputs: { searchValueChange: "searchValueChange" }, ngImport: i0 });
71
+ SearchableSelectDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: SearchableSelectDirective, selector: "sp-select[searchable]", inputs: { searchValue: "searchValue", filter: "filter", selectTextOnOpen: "selectTextOnOpen", clearSearchOnOpen: "clearSearchOnOpen" }, outputs: { searchValueChange: "searchValueChange" }, ngImport: i0 });
72
72
  __decorate([
73
73
  CoerceBoolean
74
74
  ], SearchableSelectDirective.prototype, "selectTextOnOpen", void 0);
75
+ __decorate([
76
+ CoerceBoolean
77
+ ], SearchableSelectDirective.prototype, "clearSearchOnOpen", void 0);
75
78
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SearchableSelectDirective, decorators: [{
76
79
  type: Directive,
77
80
  args: [{
@@ -83,8 +86,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
83
86
  type: Input
84
87
  }], selectTextOnOpen: [{
85
88
  type: Input
89
+ }], clearSearchOnOpen: [{
90
+ type: Input
86
91
  }], searchValueChange: [{
87
92
  type: Output
88
93
  }] } });
89
94
  export const notNull = (item) => item != null;
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoYWJsZS1zZWxlY3QuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZWxlY3Qvc3JjL3NlbGVjdC9zZWFyY2hhYmxlLXNlbGVjdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBR3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBQ0wsT0FBTyxFQUNQLGdCQUFnQixHQUNqQixNQUFNLHdDQUF3QyxDQUFDOztBQUVoRDs7Ozs7O0dBTUc7QUFJSCxNQUFNLE9BQU8seUJBQXlCO0lBSHRDO1FBYUU7Ozs7OztXQU1HO1FBRUgsV0FBTSxHQUVxRSxDQUN6RSxlQUFnQyxFQUNoQyxXQUFtQixFQUNuQixFQUFFLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFPOUUsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztLQXdEaEQ7SUFyRkMsSUFDSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsSUFBSSxXQUFXLENBQUMsS0FBeUI7UUFDdkMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQXlCRCxrQkFBa0IsQ0FDaEIsS0FBNkIsRUFDN0IsTUFBNEM7UUFLNUMsTUFBTSxrQkFBa0IsR0FBc0IsRUFBRSxDQUFDO1FBQ2pELE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDeEMsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQXVCLEVBQUU7WUFDbEMsSUFBSSxJQUFJLFlBQVksZUFBZSxFQUFFO2dCQUNuQyxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxPQUFPLEVBQUU7b0JBQ1osa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUMvQjtnQkFDRCxPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7YUFDOUI7WUFDRCxJQUFJLElBQUksWUFBWSxnQkFBZ0IsRUFBRTtnQkFDcEMsTUFBTSxFQUNKLGdCQUFnQixFQUFFLHVCQUF1QixFQUN6QyxrQkFBa0IsRUFBRSx5QkFBeUIsR0FDOUMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDbkQsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEdBQUcseUJBQXlCLENBQUMsQ0FBQztnQkFDdEQsSUFBSSx1QkFBdUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO29CQUN0QyxPQUFPLE9BQU8sQ0FDWix1QkFBdUIsQ0FBQyxNQUFNLENBQzVCLENBQUMsSUFBSSxFQUEyQixFQUFFLENBQ2hDLElBQUksWUFBWSxlQUFlLENBQ2xDLEVBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FDZixDQUFDO2lCQUNIO2dCQUNELE9BQU8sSUFBSSxDQUFDO2FBQ2I7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQzthQUNELE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsY0FBYyxDQUFDLFdBQW1CO1FBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELGFBQWEsQ0FBQyxlQUFnQyxFQUFFLFdBQW1CO1FBQ2pFLE9BQU8sZUFBZSxDQUFDLEtBQUs7YUFDekIsV0FBVyxFQUFFO2FBQ2IsUUFBUSxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7O3NIQXJGVSx5QkFBeUI7MEdBQXpCLHlCQUF5QjtBQTJCcEM7SUFEQyxhQUFhO21FQUNrQjsyRkEzQnJCLHlCQUF5QjtrQkFIckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2lCQUNsQzs4QkFHSyxXQUFXO3NCQURkLEtBQUs7Z0JBaUJOLE1BQU07c0JBREwsS0FBSztnQkFVTixnQkFBZ0I7c0JBRmYsS0FBSztnQkFLTixpQkFBaUI7c0JBRGhCLE1BQU07O0FBMkRULE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxDQUNyQixJQUEwQixFQUNGLEVBQUUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvZXJjZUJvb2xlYW4gfSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29lcmNlLWJvb2xlYW4uZGVjb3JhdG9yJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBMaXN0Ym94Q2hpbGQgfSBmcm9tICcuLi8uLi8uLi9saXN0Ym94L3NyYy9saXN0Ym94LWNoaWxkJztcbmltcG9ydCB7IE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2xpc3Rib3gvc3JjL29wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgc2VjdGlvbixcbiAgU2VjdGlvbkRpcmVjdGl2ZSxcbn0gZnJvbSAnLi4vLi4vLi4vbGlzdGJveC9zcmMvc2VjdGlvbi5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIE1hcmtzIHNwLXNlbGVjdCBhcyBzZWFyY2hhYmxlLiBXaGVuIHVzZWQsIGEgc2VhcmNoIGlucHV0IGlzIHJlbmRlcmVkIGluc2lkZSBzZWxlY3QgdHJpZ2dlclxuICogd2hpY2ggYWxsb3dzIGZpbHRlcmluZyBvcHRpb25zLCBpbiBhIG1vcmUgY29udmVuaWVudCB3YXkgdGhhbiB0aGUgZGVmYXVsdCB0eXBlYWhlYWQgc2VhcmNoLlxuICogQnkgZGVmYXVsdCwgcmVuZGVyZWQgYHNwLW9wdGlvbmBzIGFyZSBmaWx0ZXJlZCBiYXNlZCBvbiB0aGUgc2VhcmNoIHZhbHVlLCBidXQgYHNlYXJjaFZhbHVlYFxuICogYW5kIGBzZWFyY2hWYWx1ZUNoYW5nZWAgY2FuIGJlIHVzZWQgdG8gY29udHJvbCB0aGUgc2VhcmNoIHZhbHVlIGFuZCBmaWx0ZXIgdGhlIGBzcC1vcHRpb25zYFxuICogdXBmcm9udC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnc3Atc2VsZWN0W3NlYXJjaGFibGVdJyxcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoYWJsZVNlbGVjdERpcmVjdGl2ZSB7XG4gIEBJbnB1dCgpXG4gIGdldCBzZWFyY2hWYWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VhcmNoVmFsdWUgPz8gJyc7XG4gIH1cbiAgc2V0IHNlYXJjaFZhbHVlKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9zZWFyY2hWYWx1ZSA9IHZhbHVlO1xuICB9XG4gIHByaXZhdGUgX3NlYXJjaFZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEZpbHRlcmluZyBmdW5jdGlvbiB0byBiZSBhcHBsaWVkIG9uIGVhY2ggaXRlbS4gVGhlIGRlZmF1bHQgZmlsdGVyIGZ1bmN0aW9uXG4gICAqIGRvZXMgYSBjYXNlLWluc2Vuc2l0aXZlIHNlYXJjaCBvbiBvcHRpb25Db21wb25lbnQubGFiZWwuXG4gICAqIFRoZSBidWlsdC1pbiBmaWx0ZXJpbmcgY2FuIGJlIGRpc2FibGVkIGJ5IHBhc3NpbmcgYG51bGxgLiBUaGF0J3MgdXNlZnVsXG4gICAqIHdoZW4gZmlsdGVyaW5nIGlzIGZ1bGx5IGNvbnRyb2xsZWQgYnkgZmlsdGVyaW5nIGlucHV0IHNwLW9wdGlvbnMgYmFzZWQgb25cbiAgICoge0Bwcm9wZXJ0eSBzZWFyY2hWYWx1ZX0uXG4gICAqL1xuICBASW5wdXQoKVxuICBmaWx0ZXI/OlxuICAgIHwgbnVsbFxuICAgIHwgKChvcHRpb25Db21wb25lbnQ6IE9wdGlvbkNvbXBvbmVudCwgc2VhcmNoUXVlcnk6IHN0cmluZykgPT4gYm9vbGVhbikgPSAoXG4gICAgb3B0aW9uQ29tcG9uZW50OiBPcHRpb25Db21wb25lbnQsXG4gICAgc2VhcmNoUXVlcnk6IHN0cmluZ1xuICApID0+IG9wdGlvbkNvbXBvbmVudC5sYWJlbC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFF1ZXJ5Py50b0xvd2VyQ2FzZSgpKTtcblxuICBASW5wdXQoKVxuICBAQ29lcmNlQm9vbGVhblxuICBzZWxlY3RUZXh0T25PcGVuPzogQm9vbGVhbklucHV0O1xuXG4gIEBPdXRwdXQoKVxuICBzZWFyY2hWYWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIGZpbHRlckxpc3Rib3hJdGVtcyhcbiAgICBpdGVtczogSXRlcmFibGU8TGlzdGJveENoaWxkPixcbiAgICBmaWx0ZXI6IChvcHRpb246IE9wdGlvbkNvbXBvbmVudCkgPT4gYm9vbGVhblxuICApOiB7XG4gICAgZmlsdGVyZWRDaGlsZHJlbjogTGlzdGJveENoaWxkW107XG4gICAgZmlsdGVyZWRPdXRPcHRpb25zOiBPcHRpb25Db21wb25lbnRbXTtcbiAgfSB7XG4gICAgY29uc3QgZmlsdGVyZWRPdXRPcHRpb25zOiBPcHRpb25Db21wb25lbnRbXSA9IFtdO1xuICAgIGNvbnN0IGZpbHRlcmVkQ2hpbGRyZW4gPSBBcnJheS5mcm9tKGl0ZW1zKVxuICAgICAgPy5tYXAoKGl0ZW0pOiBMaXN0Ym94Q2hpbGQgfCBudWxsID0+IHtcbiAgICAgICAgaWYgKGl0ZW0gaW5zdGFuY2VvZiBPcHRpb25Db21wb25lbnQpIHtcbiAgICAgICAgICBjb25zdCBpc01hdGNoID0gZmlsdGVyKGl0ZW0pO1xuICAgICAgICAgIGlmICghaXNNYXRjaCkge1xuICAgICAgICAgICAgZmlsdGVyZWRPdXRPcHRpb25zLnB1c2goaXRlbSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBpc01hdGNoID8gaXRlbSA6IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGl0ZW0gaW5zdGFuY2VvZiBTZWN0aW9uRGlyZWN0aXZlKSB7XG4gICAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgZmlsdGVyZWRDaGlsZHJlbjogc2VjdGlvbkZpbHRlcmVkQ2hpbGRyZW4sXG4gICAgICAgICAgICBmaWx0ZXJlZE91dE9wdGlvbnM6IHNlY3Rpb25GaWx0ZXJlZE91dE9wdGlvbnMsXG4gICAgICAgICAgfSA9IHRoaXMuZmlsdGVyTGlzdGJveEl0ZW1zKGl0ZW0uY2hpbGRyZW4sIGZpbHRlcik7XG4gICAgICAgICAgZmlsdGVyZWRPdXRPcHRpb25zLnB1c2goLi4uc2VjdGlvbkZpbHRlcmVkT3V0T3B0aW9ucyk7XG4gICAgICAgICAgaWYgKHNlY3Rpb25GaWx0ZXJlZENoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHJldHVybiBzZWN0aW9uKFxuICAgICAgICAgICAgICBzZWN0aW9uRmlsdGVyZWRDaGlsZHJlbi5maWx0ZXIoXG4gICAgICAgICAgICAgICAgKGl0ZW0pOiBpdGVtIGlzIE9wdGlvbkNvbXBvbmVudCA9PlxuICAgICAgICAgICAgICAgICAgaXRlbSBpbnN0YW5jZW9mIE9wdGlvbkNvbXBvbmVudFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICBpdGVtLmFyaWFMYWJlbFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9KVxuICAgICAgLmZpbHRlcihub3ROdWxsKTtcbiAgICByZXR1cm4geyBmaWx0ZXJlZENoaWxkcmVuLCBmaWx0ZXJlZE91dE9wdGlvbnMgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2VkIHdoZW4gc2VhcmNoIHZhbHVlIGlzIHVwZGF0ZWQgdmlhIFVJLCBhbmQgc2VhcmNoVmFsdWVDaGFuZ2Ugb3V0cHV0IHNob3VsZCBiZSBlbWl0dGVkLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHNldFNlYXJjaFZhbHVlKHNlYXJjaFZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9zZWFyY2hWYWx1ZSA9IHNlYXJjaFZhbHVlO1xuICAgIHRoaXMuc2VhcmNoVmFsdWVDaGFuZ2UuZW1pdChzZWFyY2hWYWx1ZSk7XG4gIH1cblxuICBkZWZhdWx0RmlsdGVyKG9wdGlvbkNvbXBvbmVudDogT3B0aW9uQ29tcG9uZW50LCBzZWFyY2hRdWVyeTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG9wdGlvbkNvbXBvbmVudC5sYWJlbFxuICAgICAgLnRvTG93ZXJDYXNlKClcbiAgICAgIC5pbmNsdWRlcyhzZWFyY2hRdWVyeT8udG9Mb3dlckNhc2UoKSk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IG5vdE51bGwgPSA8VD4oXG4gIGl0ZW06IFQgfCB1bmRlZmluZWQgfCBudWxsXG4pOiBpdGVtIGlzIE5vbk51bGxhYmxlPFQ+ID0+IGl0ZW0gIT0gbnVsbDtcbiJdfQ==
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoYWJsZS1zZWxlY3QuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZWxlY3Qvc3JjL3NlbGVjdC9zZWFyY2hhYmxlLXNlbGVjdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBR3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBQ0wsT0FBTyxFQUNQLGdCQUFnQixHQUNqQixNQUFNLHdDQUF3QyxDQUFDOztBQUVoRDs7Ozs7O0dBTUc7QUFJSCxNQUFNLE9BQU8seUJBQXlCO0lBSHRDO1FBYUU7Ozs7OztXQU1HO1FBRUgsV0FBTSxHQUVxRSxDQUN6RSxlQUFnQyxFQUNoQyxXQUFtQixFQUNuQixFQUFFLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFzQjlFLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7S0F3RGhEO0lBcEdDLElBQ0ksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUNELElBQUksV0FBVyxDQUFDLEtBQXlCO1FBQ3ZDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUF3Q0Qsa0JBQWtCLENBQ2hCLEtBQTZCLEVBQzdCLE1BQTRDO1FBSzVDLE1BQU0sa0JBQWtCLEdBQXNCLEVBQUUsQ0FBQztRQUNqRCxNQUFNLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3hDLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUF1QixFQUFFO1lBQ2xDLElBQUksSUFBSSxZQUFZLGVBQWUsRUFBRTtnQkFDbkMsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM3QixJQUFJLENBQUMsT0FBTyxFQUFFO29CQUNaLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDL0I7Z0JBQ0QsT0FBTyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2FBQzlCO1lBQ0QsSUFBSSxJQUFJLFlBQVksZ0JBQWdCLEVBQUU7Z0JBQ3BDLE1BQU0sRUFDSixnQkFBZ0IsRUFBRSx1QkFBdUIsRUFDekMsa0JBQWtCLEVBQUUseUJBQXlCLEdBQzlDLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ25ELGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLHlCQUF5QixDQUFDLENBQUM7Z0JBQ3RELElBQUksdUJBQXVCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDdEMsT0FBTyxPQUFPLENBQ1osdUJBQXVCLENBQUMsTUFBTSxDQUM1QixDQUFDLElBQUksRUFBMkIsRUFBRSxDQUNoQyxJQUFJLFlBQVksZUFBZSxDQUNsQyxFQUNELElBQUksQ0FBQyxTQUFTLENBQ2YsQ0FBQztpQkFDSDtnQkFDRCxPQUFPLElBQUksQ0FBQzthQUNiO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7YUFDRCxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7T0FHRztJQUNILGNBQWMsQ0FBQyxXQUFtQjtRQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztRQUNoQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxhQUFhLENBQUMsZUFBZ0MsRUFBRSxXQUFtQjtRQUNqRSxPQUFPLGVBQWUsQ0FBQyxLQUFLO2FBQ3pCLFdBQVcsRUFBRTthQUNiLFFBQVEsQ0FBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUMxQyxDQUFDOztzSEFwR1UseUJBQXlCOzBHQUF6Qix5QkFBeUI7QUFpQ3BDO0lBREMsYUFBYTttRUFDa0I7QUFTaEM7SUFEQyxhQUFhO29FQUNtQjsyRkExQ3RCLHlCQUF5QjtrQkFIckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2lCQUNsQzs4QkFHSyxXQUFXO3NCQURkLEtBQUs7Z0JBaUJOLE1BQU07c0JBREwsS0FBSztnQkFnQk4sZ0JBQWdCO3NCQUZmLEtBQUs7Z0JBV04saUJBQWlCO3NCQUZoQixLQUFLO2dCQUtOLGlCQUFpQjtzQkFEaEIsTUFBTTs7QUEyRFQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLENBQ3JCLElBQTBCLEVBQ0YsRUFBRSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29lcmNlQm9vbGVhbiB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb2VyY2UtYm9vbGVhbi5kZWNvcmF0b3InO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IExpc3Rib3hDaGlsZCB9IGZyb20gJy4uLy4uLy4uL2xpc3Rib3gvc3JjL2xpc3Rib3gtY2hpbGQnO1xuaW1wb3J0IHsgT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vbGlzdGJveC9zcmMvb3B0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBzZWN0aW9uLFxuICBTZWN0aW9uRGlyZWN0aXZlLFxufSBmcm9tICcuLi8uLi8uLi9saXN0Ym94L3NyYy9zZWN0aW9uLmRpcmVjdGl2ZSc7XG5cbi8qKlxuICogTWFya3Mgc3Atc2VsZWN0IGFzIHNlYXJjaGFibGUuIFdoZW4gdXNlZCwgYSBzZWFyY2ggaW5wdXQgaXMgcmVuZGVyZWQgaW5zaWRlIHNlbGVjdCB0cmlnZ2VyXG4gKiB3aGljaCBhbGxvd3MgZmlsdGVyaW5nIG9wdGlvbnMsIGluIGEgbW9yZSBjb252ZW5pZW50IHdheSB0aGFuIHRoZSBkZWZhdWx0IHR5cGVhaGVhZCBzZWFyY2guXG4gKiBCeSBkZWZhdWx0LCByZW5kZXJlZCBgc3Atb3B0aW9uYHMgYXJlIGZpbHRlcmVkIGJhc2VkIG9uIHRoZSBzZWFyY2ggdmFsdWUsIGJ1dCBgc2VhcmNoVmFsdWVgXG4gKiBhbmQgYHNlYXJjaFZhbHVlQ2hhbmdlYCBjYW4gYmUgdXNlZCB0byBjb250cm9sIHRoZSBzZWFyY2ggdmFsdWUgYW5kIGZpbHRlciB0aGUgYHNwLW9wdGlvbnNgXG4gKiB1cGZyb250LlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdzcC1zZWxlY3Rbc2VhcmNoYWJsZV0nLFxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlIHtcbiAgQElucHV0KClcbiAgZ2V0IHNlYXJjaFZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLl9zZWFyY2hWYWx1ZSA/PyAnJztcbiAgfVxuICBzZXQgc2VhcmNoVmFsdWUodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX3NlYXJjaFZhbHVlID0gdmFsdWU7XG4gIH1cbiAgcHJpdmF0ZSBfc2VhcmNoVmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogRmlsdGVyaW5nIGZ1bmN0aW9uIHRvIGJlIGFwcGxpZWQgb24gZWFjaCBpdGVtLiBUaGUgZGVmYXVsdCBmaWx0ZXIgZnVuY3Rpb25cbiAgICogZG9lcyBhIGNhc2UtaW5zZW5zaXRpdmUgc2VhcmNoIG9uIG9wdGlvbkNvbXBvbmVudC5sYWJlbC5cbiAgICogVGhlIGJ1aWx0LWluIGZpbHRlcmluZyBjYW4gYmUgZGlzYWJsZWQgYnkgcGFzc2luZyBgbnVsbGAuIFRoYXQncyB1c2VmdWxcbiAgICogd2hlbiBmaWx0ZXJpbmcgaXMgZnVsbHkgY29udHJvbGxlZCBieSBmaWx0ZXJpbmcgaW5wdXQgc3Atb3B0aW9ucyBiYXNlZCBvblxuICAgKiB7QHByb3BlcnR5IHNlYXJjaFZhbHVlfS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGZpbHRlcj86XG4gICAgfCBudWxsXG4gICAgfCAoKG9wdGlvbkNvbXBvbmVudDogT3B0aW9uQ29tcG9uZW50LCBzZWFyY2hRdWVyeTogc3RyaW5nKSA9PiBib29sZWFuKSA9IChcbiAgICBvcHRpb25Db21wb25lbnQ6IE9wdGlvbkNvbXBvbmVudCxcbiAgICBzZWFyY2hRdWVyeTogc3RyaW5nXG4gICkgPT4gb3B0aW9uQ29tcG9uZW50LmxhYmVsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoUXVlcnk/LnRvTG93ZXJDYXNlKCkpO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBzZWFyY2ggaW5wdXQgdmFsdWUgc2hvdWxkIGJlIHNlbGVjdGVkIHVwb24gb3Blbi5cbiAgICogVXNlZnVsIHdoZW4gb3B0aW9ucyBhcmUgbG9uZyBhbmQgdGhlIHVzZXIgd291bGQgbGlrZWx5IHdhbnQgdG8gc3RhcnRcbiAgICogdHlwaW5nIGEgbmV3IG9wdGlvbiBmcm9tIHNjcmF0Y2guXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBAQ29lcmNlQm9vbGVhblxuICBzZWxlY3RUZXh0T25PcGVuPzogQm9vbGVhbklucHV0O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBzZWFyY2ggZmllbGQgc2hvdWxkIGJlIGNsZWFyZWQgdXBvbiBvcGVuLCBpbnN0ZWFkIG9mIGJlaW5nXG4gICAqIHBvcHVsYXRlZCBieSB0aGUgc2VsZWN0ZWQgb3B0aW9uIHZhbHVlLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgQENvZXJjZUJvb2xlYW5cbiAgY2xlYXJTZWFyY2hPbk9wZW4/OiBCb29sZWFuSW5wdXQ7XG5cbiAgQE91dHB1dCgpXG4gIHNlYXJjaFZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgZmlsdGVyTGlzdGJveEl0ZW1zKFxuICAgIGl0ZW1zOiBJdGVyYWJsZTxMaXN0Ym94Q2hpbGQ+LFxuICAgIGZpbHRlcjogKG9wdGlvbjogT3B0aW9uQ29tcG9uZW50KSA9PiBib29sZWFuXG4gICk6IHtcbiAgICBmaWx0ZXJlZENoaWxkcmVuOiBMaXN0Ym94Q2hpbGRbXTtcbiAgICBmaWx0ZXJlZE91dE9wdGlvbnM6IE9wdGlvbkNvbXBvbmVudFtdO1xuICB9IHtcbiAgICBjb25zdCBmaWx0ZXJlZE91dE9wdGlvbnM6IE9wdGlvbkNvbXBvbmVudFtdID0gW107XG4gICAgY29uc3QgZmlsdGVyZWRDaGlsZHJlbiA9IEFycmF5LmZyb20oaXRlbXMpXG4gICAgICA/Lm1hcCgoaXRlbSk6IExpc3Rib3hDaGlsZCB8IG51bGwgPT4ge1xuICAgICAgICBpZiAoaXRlbSBpbnN0YW5jZW9mIE9wdGlvbkNvbXBvbmVudCkge1xuICAgICAgICAgIGNvbnN0IGlzTWF0Y2ggPSBmaWx0ZXIoaXRlbSk7XG4gICAgICAgICAgaWYgKCFpc01hdGNoKSB7XG4gICAgICAgICAgICBmaWx0ZXJlZE91dE9wdGlvbnMucHVzaChpdGVtKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGlzTWF0Y2ggPyBpdGVtIDogbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXRlbSBpbnN0YW5jZW9mIFNlY3Rpb25EaXJlY3RpdmUpIHtcbiAgICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICBmaWx0ZXJlZENoaWxkcmVuOiBzZWN0aW9uRmlsdGVyZWRDaGlsZHJlbixcbiAgICAgICAgICAgIGZpbHRlcmVkT3V0T3B0aW9uczogc2VjdGlvbkZpbHRlcmVkT3V0T3B0aW9ucyxcbiAgICAgICAgICB9ID0gdGhpcy5maWx0ZXJMaXN0Ym94SXRlbXMoaXRlbS5jaGlsZHJlbiwgZmlsdGVyKTtcbiAgICAgICAgICBmaWx0ZXJlZE91dE9wdGlvbnMucHVzaCguLi5zZWN0aW9uRmlsdGVyZWRPdXRPcHRpb25zKTtcbiAgICAgICAgICBpZiAoc2VjdGlvbkZpbHRlcmVkQ2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHNlY3Rpb24oXG4gICAgICAgICAgICAgIHNlY3Rpb25GaWx0ZXJlZENoaWxkcmVuLmZpbHRlcihcbiAgICAgICAgICAgICAgICAoaXRlbSk6IGl0ZW0gaXMgT3B0aW9uQ29tcG9uZW50ID0+XG4gICAgICAgICAgICAgICAgICBpdGVtIGluc3RhbmNlb2YgT3B0aW9uQ29tcG9uZW50XG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIGl0ZW0uYXJpYUxhYmVsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH0pXG4gICAgICAuZmlsdGVyKG5vdE51bGwpO1xuICAgIHJldHVybiB7IGZpbHRlcmVkQ2hpbGRyZW4sIGZpbHRlcmVkT3V0T3B0aW9ucyB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZWQgd2hlbiBzZWFyY2ggdmFsdWUgaXMgdXBkYXRlZCB2aWEgVUksIGFuZCBzZWFyY2hWYWx1ZUNoYW5nZSBvdXRwdXQgc2hvdWxkIGJlIGVtaXR0ZWQuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgc2V0U2VhcmNoVmFsdWUoc2VhcmNoVmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3NlYXJjaFZhbHVlID0gc2VhcmNoVmFsdWU7XG4gICAgdGhpcy5zZWFyY2hWYWx1ZUNoYW5nZS5lbWl0KHNlYXJjaFZhbHVlKTtcbiAgfVxuXG4gIGRlZmF1bHRGaWx0ZXIob3B0aW9uQ29tcG9uZW50OiBPcHRpb25Db21wb25lbnQsIHNlYXJjaFF1ZXJ5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gb3B0aW9uQ29tcG9uZW50LmxhYmVsXG4gICAgICAudG9Mb3dlckNhc2UoKVxuICAgICAgLmluY2x1ZGVzKHNlYXJjaFF1ZXJ5Py50b0xvd2VyQ2FzZSgpKTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3Qgbm90TnVsbCA9IDxUPihcbiAgaXRlbTogVCB8IHVuZGVmaW5lZCB8IG51bGxcbik6IGl0ZW0gaXMgTm9uTnVsbGFibGU8VD4gPT4gaXRlbSAhPSBudWxsO1xuIl19
@@ -191,7 +191,9 @@ export class SelectComponent extends SelectComponentBase {
191
191
  _onOpen() {
192
192
  super._onOpen();
193
193
  if (!this.multiple && this._searchableSelectDirective) {
194
- this._searchableSelectDirective.setSearchValue(this.selectedOptions[0]?.label || '');
194
+ this._searchableSelectDirective.setSearchValue((this._searchableSelectDirective.clearSearchOnOpen
195
+ ? ''
196
+ : this.selectedOptions[0]?.label) ?? '');
195
197
  }
196
198
  const searchInputElement = this.searchInput?.nativeElement;
197
199
  if (this._searchableSelectDirective?.selectTextOnOpen) {
@@ -211,6 +213,9 @@ export class SelectComponent extends SelectComponentBase {
211
213
  }
212
214
  _onClose() {
213
215
  super._onClose();
216
+ if (!this.multiple && this._searchableSelectDirective) {
217
+ this._searchableSelectDirective.setSearchValue(this.selectedOptions[0]?.label || '');
218
+ }
214
219
  const searchInputElement = this.searchInput?.nativeElement;
215
220
  searchInputElement?.setSelectionRange(searchInputElement.value.length, searchInputElement.value.length);
216
221
  }
@@ -348,4 +353,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
348
353
  type: ViewChild,
349
354
  args: ['searchInput', { read: ElementRef }]
350
355
  }], _valueContainerId: [] } });
351
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VsZWN0L3NyYy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VsZWN0L3NyYy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUVWLFFBQVEsRUFDUixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUV2RixPQUFPLEVBQWdCLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pFLE9BQU8sRUFBa0IsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUNMLHdCQUF3QixFQUN4QixpQkFBaUIsRUFDakIseUJBQXlCLEdBQzFCLE1BQU0sK0JBQStCLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQUd2Qzs7O0dBR0c7QUFV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d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUM7NEJBQzlDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxtQkFBbUI7NEJBQzVCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDO3lCQUMvQzt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsWUFBWTs0QkFDckIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUM7eUJBQy9DO3FCQUNGLFFBQ0s7d0JBQ0osS0FBSyxFQUFFLGlCQUFpQjt3QkFDeEIsZ0NBQWdDLEVBQUUsb0JBQW9CO3dCQUN0RCxpQ0FBaUMsRUFBRSwyQkFBMkI7d0JBQzlELGtCQUFrQixFQUFFLGtCQUFrQjt3QkFDdEMscUJBQXFCLEVBQUUsY0FBYzt3QkFDckMsV0FBVyxFQUFFLE1BQU07d0JBQ25CLG1CQUFtQixFQUFFLE1BQU07d0JBQzNCLHdCQUF3QixFQUFFLE1BQU07d0JBQ2hDLG9CQUFvQixFQUFFLE1BQU07cUJBQzdCLGtCQUNlLENBQUMsd0JBQXdCLENBQUM7OzBCQXFDdkMsUUFBUTs7MEJBQ1IsUUFBUTs0Q0E1QkQsVUFBVTtzQkFEbkIsU0FBUzt1QkFBQyxZQUFZO2dCQUliLGlCQUFpQjtzQkFEMUIsU0FBUzt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBSTFDLE9BQU87c0JBRGhCLFNBQVM7dUJBQUMsZ0JBQWdCO2dCQUluQixXQUFXO3NCQURsQixTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBVzlDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBGb2N1c01vbml0b3IsXG4gIEZvY3VzT3JpZ2luLFxuICBJbnB1dE1vZGFsaXR5RGV0ZWN0b3IsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBlbXB0eSwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBzdGFydFdpdGgsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQXV0b0lkIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2F1dG8taWQuZGVjb3JhdG9yJztcbmltcG9ydCB7IFVzZUNvbXBvbmVudFN0eWxlc09uSG9zdCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9zYXBwaGlyZS12aWV3LWVuY2Fwc3VsYXRpb24nO1xuaW1wb3J0IHsgUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9wb3BvdmVyL3NyYy9wb3BvdmVyLXRyaWdnZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IExpc3Rib3hDaGlsZCwgTGlzdGJveENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2xpc3Rib3gvcHVibGljX2FwaSc7XG5pbXBvcnQgeyBzZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbGlzdGJveC9zcmMvc2VjdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRmllbGRDb21wb25lbnQsIEZpZWxkQ29udHJvbCB9IGZyb20gJy4uLy4uLy4uL2ZpZWxkL3B1YmxpY19hcGknO1xuaW1wb3J0IHsgU2VsZWN0Q29tcG9uZW50QmFzZSB9IGZyb20gJy4uL2NvbW1vbi9zZWxlY3QtY29tcG9uZW50LWJhc2UnO1xuaW1wb3J0IHtcbiAgTXVsdGlTZWxlY3REaXJlY3RpdmVCYXNlLFxuICBTZWxlY3RWYWx1ZUhvbGRlcixcbiAgU2luZ2xlU2VsZWN0RGlyZWN0aXZlQmFzZSxcbn0gZnJvbSAnLi4vY29tbW9uL3NlbGVjdC12YWx1ZS1ob2xkZXInO1xuaW1wb3J0IHsgU2VhcmNoYWJsZVNlbGVjdERpcmVjdGl2ZSB9IGZyb20gJy4vc2VhcmNoYWJsZS1zZWxlY3QuZGlyZWN0aXZlJztcblxuLyoqXG4gKiBFbmFibGVzIG11bHRpcGxlIHNlbGVjdGlvbi4gV2hlbiBwcmVzZW50LCBgdmFsdWVgIHdpbGwgYmUgb2YgdHlwZSBgc3RyaW5nW11gLCBhbmQgYHZhbHVlQ2hhbmdlYFxuICogd2lsbCBlbWl0IGBzdHJpbmdbXWAuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ3NwLXNlbGVjdFttdWx0aXBsZV0nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBTZWxlY3RWYWx1ZUhvbGRlcixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE11bHRpU2VsZWN0RGlyZWN0aXZlKSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNdWx0aVNlbGVjdERpcmVjdGl2ZSBleHRlbmRzIE11bHRpU2VsZWN0RGlyZWN0aXZlQmFzZSB7fVxuXG4vKipcbiAqIEVuYWJsZXMgc2luZ2xlIHNlbGVjdGlvbiwgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgU2VsZWN0LlxuICogV2hlbiBwcmVzZW50LCBgdmFsdWVgIHdpbGwgYmUgb2YgdHlwZSBgc3RyaW5nYCwgYW5kIGB2YWx1ZUNoYW5nZWAgd2lsbCBlbWl0IGBzdHJpbmdgLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdzcC1zZWxlY3Q6bm90KFttdWx0aXBsZV0pJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogU2VsZWN0VmFsdWVIb2xkZXIsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTaW5nbGVTZWxlY3REaXJlY3RpdmUpLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNpbmdsZVNlbGVjdERpcmVjdGl2ZSBleHRlbmRzIFNpbmdsZVNlbGVjdERpcmVjdGl2ZUJhc2Uge31cblxuLyoqXG4gKiBBbGxvd3MgdXNlciB0byBzZWxlY3QgYSBzaW5nbGUgb3B0aW9uIGZyb20gYSBsaXN0LCBzaW1pbGFyIHRvIG5hdGl2ZSBzZWxlY3RcbiAqIGNvbXBvbmVudC5cbiAqXG4gKiBFeGFtcGxlOlxuICogYGBgdHN4XG4gKiA8c3AtZmllbGQ+XG4gKiAgIDxzcC1maWVsZC1sYWJlbD5MYWJlbCB0ZXh0PC9zcC1maWVsZC1sYWJlbD5cbiAqICAgPHNwLXNlbGVjdCBwbGFjZWhvbGRlcj1cIlNlbGVjdCBhbiBvcHRpb25cIj5cbiAqICAgICA8c3Atb3B0aW9uIHZhbHVlPVwib3B0aW9uMVwiPkZpcnN0IE9wdGlvbjwvc3Atb3B0aW9uPlxuICogICAgIDxzcC1vcHRpb24gdmFsdWU9XCJvcHRpb24yXCI+U2Vjb25kIE9wdGlvbjwvc3Atb3B0aW9uPlxuICogICAgIDxzcC1vcHRpb24gdmFsdWU9XCJvcHRpb24zXCI+VGhpcmQgT3B0aW9uPC9zcC1vcHRpb24+XG4gKiAgIDwvc3Atc2VsZWN0PlxuICogPC9zcC1maWVsZD5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcC1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGV4cG9ydEFzOiAnc3BTZWxlY3QnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNlbGVjdENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNlbGVjdENvbXBvbmVudEJhc2UsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTZWxlY3RDb21wb25lbnQpLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogRmllbGRDb250cm9sLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2VsZWN0Q29tcG9uZW50KSxcbiAgICB9LFxuICBdLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdzYXBwaGlyZS1zZWxlY3QnLFxuICAgICdbY2xhc3Muc2FwcGhpcmUtc2VsZWN0LS1lcnJvcl0nOiAnX2ZpZWxkPy5oYXNFcnJvcigpJyxcbiAgICAnW2NsYXNzLnNhcHBoaXJlLXNlbGVjdC0tbWVkaXVtXSc6ICdfZmllbGQ/LnNpemUgPT09IFwibWVkaXVtXCInLFxuICAgICdbY2xhc3MuaXMtZm9jdXNdJzogJ2lzRm9jdXNWaXNpYmxlKCknLFxuICAgICdbY2xhc3MuaXMtZGlzYWJsZWRdJzogJ2lzRGlzYWJsZWQoKScsXG4gICAgJ1thdHRyLmlkXSc6ICdudWxsJyxcbiAgICAnW2F0dHIuYXJpYS1sYWJlbF0nOiAnbnVsbCcsXG4gICAgJ1thdHRyLmFyaWEtbGFiZWxsZWRieV0nOiAnbnVsbCcsXG4gICAgJ1thdHRyLnBsYWNlaG9sZGVyXSc6ICdudWxsJyxcbiAgfSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtVc2VDb21wb25lbnRTdHlsZXNPbkhvc3RdLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RDb21wb25lbnRcbiAgZXh0ZW5kcyBTZWxlY3RDb21wb25lbnRCYXNlXG4gIGltcGxlbWVudHMgRmllbGRDb250cm9sLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3lcbntcbiAgcHJpdmF0ZSBmb2N1c09yaWdpbjogRm9jdXNPcmlnaW4gPSBudWxsO1xuICBmaWx0ZXJlZENoaWxkcmVuJDogT2JzZXJ2YWJsZTxMaXN0Ym94Q2hpbGRbXT4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIEBWaWV3Q2hpbGQoJ3RyaWdnZXJSZWYnKVxuICBwcm90ZWN0ZWQgdHJpZ2dlclJlZjogUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZCgndHJpZ2dlckVsZW1lbnRSZWYnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcHJvdGVjdGVkIHRyaWdnZXJFbGVtZW50UmVmOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoTGlzdGJveENvbXBvbmVudClcbiAgcHJvdGVjdGVkIGxpc3Rib3g6IExpc3Rib3hDb21wb25lbnQgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZCgnc2VhcmNoSW5wdXQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcHJpdmF0ZSBzZWFyY2hJbnB1dD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgZ2V0IHNlYXJjaGFibGUoKSB7XG4gICAgcmV0dXJuIEJvb2xlYW4odGhpcy5fc2VhcmNoYWJsZVNlbGVjdERpcmVjdGl2ZSk7XG4gIH1cblxuICAvKipcbiAgICogaWQgb2YgdHJpZ2dlciB2YWx1ZSBhcmVhLCB3aGljaCB3aWxsIGNvbnRhaW4gZWl0aGVyIHRoZSBzZWxlY3RlZCB2YWx1ZSBvciB0aGUgcGxhY2Vob2xkZXIuXG4gICAqL1xuICBAQXV0b0lkKClcbiAgX3ZhbHVlQ29udGFpbmVySWQ6IHN0cmluZyA9ICcnO1xuXG4gIHByaXZhdGUgZGVzdHJveWVkID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICB2YWx1ZUhvbGRlcjogU2VsZWN0VmFsdWVIb2xkZXIsXG4gICAgcHJpdmF0ZSBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcbiAgICBwcml2YXRlIGlucHV0TW9kYWxpdHk6IElucHV0TW9kYWxpdHlEZXRlY3RvcixcbiAgICBAT3B0aW9uYWwoKSBwdWJsaWMgX2ZpZWxkPzogRmllbGRDb21wb25lbnQsXG4gICAgQE9wdGlvbmFsKCkgcHVibGljIF9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlPzogU2VhcmNoYWJsZVNlbGVjdERpcmVjdGl2ZVxuICApIHtcbiAgICBzdXBlcih2YWx1ZUhvbGRlcik7XG4gIH1cblxuICBvdmVycmlkZSBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgY29uc3QgbGlzdGJveEl0ZW0kID0gdGhpcy5saXN0Ym94Q2hpbGRyZW4uY2hhbmdlcy5waXBlKFxuICAgICAgc3RhcnRXaXRoKHRoaXMubGlzdGJveENoaWxkcmVuKVxuICAgICk7XG4gICAgY29uc3Qgc2VhcmNoYWJsZVNlbGVjdCA9IHRoaXMuX3NlYXJjaGFibGVTZWxlY3REaXJlY3RpdmU7XG4gICAgaWYgKHRoaXMuc2VhcmNoSW5wdXQgJiYgc2VhcmNoYWJsZVNlbGVjdCkge1xuICAgICAgY29uc3Qgc2VhcmNoSW5wdXRWYWx1ZSQgPSBzZWFyY2hhYmxlU2VsZWN0LnNlYXJjaFZhbHVlQ2hhbmdlLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCksXG4gICAgICAgIHN0YXJ0V2l0aChzZWFyY2hhYmxlU2VsZWN0LnNlYXJjaFZhbHVlKVxuICAgICAgKTtcbiAgICAgIGNvbnN0IGZpbHRlclJlc3VsdCQgPSBjb21iaW5lTGF0ZXN0KHNlYXJjaElucHV0VmFsdWUkLCBsaXN0Ym94SXRlbSQpLnBpcGUoXG4gICAgICAgIG1hcCgoW3NlYXJjaFF1ZXJ5XSkgPT4ge1xuICAgICAgICAgIGlmICghc2VhcmNoUXVlcnkpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGZpbHRlcmVkQ2hpbGRyZW46IHRoaXMubGlzdGJveENoaWxkcmVuLnRvQXJyYXkoKSxcbiAgICAgICAgICAgICAgZmlsdGVyZWRPdXRPcHRpb25zOiBbXSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBzZWFyY2hhYmxlU2VsZWN0LmZpbHRlckxpc3Rib3hJdGVtcyhcbiAgICAgICAgICAgIHRoaXMubGlzdGJveENoaWxkcmVuLFxuICAgICAgICAgICAgKG9wdGlvbikgPT5cbiAgICAgICAgICAgICAgIXNlYXJjaGFibGVTZWxlY3QuZmlsdGVyIHx8XG4gICAgICAgICAgICAgIHNlYXJjaGFibGVTZWxlY3QuZmlsdGVyKG9wdGlvbiwgc2VhcmNoUXVlcnkpXG4gICAgICAgICAgKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICB0aGlzLmZpbHRlcmVkQ2hpbGRyZW4kID0gdGhpcy5tdWx0aXBsZVxuICAgICAgICA/IC8vIEdyb3VwaW5nIHNlbGVjdGVkIG9wdGlvbnNcbiAgICAgICAgICBjb21iaW5lTGF0ZXN0KFxuICAgICAgICAgICAgZmlsdGVyUmVzdWx0JCxcbiAgICAgICAgICAgIHRoaXMudmFsdWVIb2xkZXIudmFsdWVDaGFuZ2UucGlwZShzdGFydFdpdGgoZW1wdHkoKSkpXG4gICAgICAgICAgKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbeyBmaWx0ZXJlZENoaWxkcmVuIH1dKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0aGlzLmxpc3Rib3hWYWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmlsdGVyZWRDaGlsZHJlbjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICAgICAgZmlsdGVyZWRPdXRPcHRpb25zOiBzZWxlY3RlZE9wdGlvbnMsXG4gICAgICAgICAgICAgICAgZmlsdGVyZWRDaGlsZHJlbjogc2VsZWN0aW9uRXhjbHVkZWRDaGlsZHJlbixcbiAgICAgICAgICAgICAgfSA9IHNlYXJjaGFibGVTZWxlY3QuZmlsdGVyTGlzdGJveEl0ZW1zKFxuICAgICAgICAgICAgICAgIGZpbHRlcmVkQ2hpbGRyZW4sXG4gICAgICAgICAgICAgICAgKG9wdGlvbikgPT4gIXRoaXMubGlzdGJveFZhbHVlLmluY2x1ZGVzKG9wdGlvbi52YWx1ZSlcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICBzZWxlY3RlZE9wdGlvbnMubGVuZ3RoID4gMFxuICAgICAgICAgICAgICAgICAgPyBbc2VjdGlvbihzZWxlY3RlZE9wdGlvbnMpXVxuICAgICAgICAgICAgICAgICAgOiAoW10gYXMgTGlzdGJveENoaWxkW10pXG4gICAgICAgICAgICAgICkuY29uY2F0KHNlbGVjdGlvbkV4Y2x1ZGVkQ2hpbGRyZW4pO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgIDogZmlsdGVyUmVzdWx0JC5waXBlKG1hcCgoeyBmaWx0ZXJlZENoaWxkcmVuIH0pID0+IGZpbHRlcmVkQ2hpbGRyZW4pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWx0ZXJlZENoaWxkcmVuJCA9IGxpc3Rib3hJdGVtJDtcbiAgICB9XG4gIH1cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLmRlc3Ryb3llZC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95ZWQuY29tcGxldGUoKTtcbiAgfVxuXG4gIF9nZXRBcmlhTGFiZWxsZWRCeSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIC8vIFRoZSBsb2dpYyBoZXJlIGlzIHNpbWlsYXIgdG8gdGhlIG9uZSBpbiByZWFjdC1hcmlhJ3MgdXNlU2VsZWN0LlxuICAgIGNvbnN0IGxhYmVsbGVkQnkgPSB0aGlzLmFyaWFMYWJlbGxlZGJ5IHx8IHRoaXMuX2ZpZWxkPy5sYWJlbD8uaWQ7XG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMuX3ZhbHVlQ29udGFpbmVySWQsXG4gICAgICBsYWJlbGxlZEJ5LFxuICAgICAgdGhpcy5hcmlhTGFiZWwgJiYgIWxhYmVsbGVkQnkgPyB0aGlzLmlkIDogbnVsbCxcbiAgICBdXG4gICAgICAuZmlsdGVyKChpKSA9PiBpKVxuICAgICAgLmpvaW4oJyAnKTtcbiAgfVxuXG4gIGlzRm9jdXNlZCgpIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLmZvY3VzT3JpZ2luKTtcbiAgfVxuXG4gIGlzRm9jdXNWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmlzRm9jdXNlZCgpICYmXG4gICAgICAvLyBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlIGZvY3VzIGRvZXNuJ3QgY2hhbmdlIHdoZW4gYSBrZXkgKGUuZy4gRXNjYXBlKSBpcyBwcmVzc2VkIGluIHRoZSBzZWFyY2ggaW5wdXQuXG4gICAgICAodGhpcy5pbnB1dE1vZGFsaXR5Lm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ2tleWJvYXJkJyB8fFxuICAgICAgICAvLyBUaGlzIGlzIG5lZWRlZCBmb3Igd2hlbiBsYWJlbCBpcyBjbGlja2VkIGFuZCBmb2N1c09yaWdpbiBpcyBmb3JjZWQgdG8ga2V5Ym9hcmQsIGJ1dCBjdXJyZW50IG1vZGFsaXR5IGlzIG1vdXNlLlxuICAgICAgICB0aGlzLmZvY3VzT3JpZ2luID09PSAna2V5Ym9hcmQnKSAmJlxuICAgICAgIXRoaXMuaXNPcGVuKCkgLy8gVGhpcyBpcyBiZWNhdXNlIGluIHNlYXJjaGFibGUgc2VsZWN0LCB0aGUgYWN0dWFsIGZvY3VzIGlzIG9uIHRoZSBpbnB1dCxcbiAgICAgIC8vIGJ1dCBpdCdzIG1lYW50IHRvIGJlIHNob3duIG9uIHRoZSBsaXN0Ym94LiBJdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gc2hvdyB0aGUgZm9jdXMgaW4gdHdvXG4gICAgICAvLyBwbGFjZXMuXG4gICAgKTtcbiAgfVxuXG4gIGZvY3VzKGZvY3VzT3JpZ2luOiBGb2N1c09yaWdpbiA9ICdwcm9ncmFtJykge1xuICAgIHRoaXMuZm9jdXNNb25pdG9yLmZvY3VzVmlhKFxuICAgICAgdGhpcy5zZWFyY2hJbnB1dD8ubmF0aXZlRWxlbWVudCA/PyB0aGlzLnRyaWdnZXJFbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50LFxuICAgICAgZm9jdXNPcmlnaW5cbiAgICApO1xuICB9XG5cbiAgX29uRm9jdXNDaGFuZ2UoZm9jdXNPcmlnaW46IEZvY3VzT3JpZ2luKSB7XG4gICAgdGhpcy5mb2N1c09yaWdpbiA9IGZvY3VzT3JpZ2luO1xuICB9XG5cbiAgX29uRm9jdXMoKSB7XG4gICAgLy8gV2hlbmV2ZXIgZm9jdXMgY29tZXMgdG8gdGhlIHRyaWdnZXIgLCBmb3J3YXJkIGl0IHRvIHRoZSBzZWFyY2ggaW5wdXQuIEl0J3MgbmVlZGVkIGZvciB3aGVuXG4gICAgLy8gdGhlIHRyaWdnZXIgaXMgcmUtZm9jdXNlZCBhZnRlciBwb3BvdmVyIGlzIGNsb3NlZC5cbiAgICB0aGlzLmZvY3VzKHRoaXMuZm9jdXNPcmlnaW4pO1xuICB9XG5cbiAgX2lzSW5wdXRWaXNpYmxlKCkge1xuICAgIHJldHVybiB0aGlzLmlzT3BlbigpIC8qfHxcbiAgICAgICh0aGlzLnNlYXJjaElucHV0Py5uYXRpdmVFbGVtZW50ID09PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50ICYmXG4gICAgICAgIHRoaXMubGlzdGJveFZhbHVlLmxlbmd0aCA9PT0gMCkqLztcbiAgfVxuXG4gIF9vbk9wZW4oKSB7XG4gICAgc3VwZXIuX29uT3BlbigpO1xuICAgIGlmICghdGhpcy5tdWx0aXBsZSAmJiB0aGlzLl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlKSB7XG4gICAgICB0aGlzLl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlLnNldFNlYXJjaFZhbHVlKFxuICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9uc1swXT8ubGFiZWwgfHwgJydcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IHNlYXJjaElucHV0RWxlbWVudCA9IHRoaXMuc2VhcmNoSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKHRoaXMuX3NlYXJjaGFibGVTZWxlY3REaXJlY3RpdmU/LnNlbGVjdFRleHRPbk9wZW4pIHtcbiAgICAgIHNlYXJjaElucHV0RWxlbWVudD8uc2VsZWN0KCk7XG4gICAgfVxuICAgIGNvbnN0IGZvY3VzVmlzaWJsZU9uT3BlbiA9IHRoaXMuaXNGb2N1c1Zpc2libGUoKTtcbiAgICAvLyBNb3ZlIGZvY3VzIHRvIHRoZSBzZWFyY2ggaW5wdXQuIFRoZSB0aW1lb3V0IGlzIG5lZWRlZCBiZWNhdXNlIHBvcG92ZXIgd2lsbCBhdXRvZm9jdXMgdGhlXG4gICAgLy8gY29udGVudCwgYW5kIHdlIG5lZWQgdG8gbGV0IHRoZSBmb2N1cyBmaXJzdCBsYW5kIGluIHRoZSBwb3BvdmVyLCBhbmQgdGhlbiBzdGVhbCBpdC5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHNlYXJjaElucHV0RWxlbWVudD8uZm9jdXMoKTtcblxuICAgICAgLy8gTmVlZCB0byBydW4gdGhpcyBhbHNvIGFzeW5jaHJvbm91c2x5LCB0byBsZXQgdGhlIHBvcG92ZXIgKGFuZCBsaXN0Ym94KSBtb3VudFxuICAgICAgaWYgKCFmb2N1c1Zpc2libGVPbk9wZW4gJiYgdGhpcy5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIC8vIHRvIHByZXZlbnQgdGhlIGZpcnN0IGl0ZW0gZnJvbSBiZWluZyBmb2N1c2VkIHdoZW4gdGhlIGRyb3Bkb3duIGlzIG9wZW5lZCB2aWEgbW91c2VcbiAgICAgICAgdGhpcy5saXN0Ym94Py5zZXRBY3RpdmVPcHRpb24obnVsbCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBfb25DbG9zZSgpIHtcbiAgICBzdXBlci5fb25DbG9zZSgpO1xuICAgIGNvbnN0IHNlYXJjaElucHV0RWxlbWVudCA9IHRoaXMuc2VhcmNoSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgc2VhcmNoSW5wdXRFbGVtZW50Py5zZXRTZWxlY3Rpb25SYW5nZShcbiAgICAgIHNlYXJjaElucHV0RWxlbWVudC52YWx1ZS5sZW5ndGgsXG4gICAgICBzZWFyY2hJbnB1dEVsZW1lbnQudmFsdWUubGVuZ3RoXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRGaWVsZExhYmVsPygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9maWVsZD8ubGFiZWw/LmdldFRleHQoKSA/PyAnJztcbiAgfVxuXG4gIF9vbklucHV0S2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGNvbnN0IHNlbGVjdFZhbHVlID0gKHRvQmVTZWxlY3RlZDogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBsaXN0Ym94VmFsdWUgPSB0aGlzLmxpc3Rib3hWYWx1ZTtcbiAgICAgIGNvbnN0IGFscmVhZHlTZWxlY3RlZCA9IGxpc3Rib3hWYWx1ZS5pbmNsdWRlcyh0b0JlU2VsZWN0ZWQpO1xuICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgdGhpcy5saXN0Ym94VmFsdWUgPSBhbHJlYWR5U2VsZWN0ZWRcbiAgICAgICAgICA/IGxpc3Rib3hWYWx1ZS5maWx0ZXIoKHZhbHVlKSA9PiB2YWx1ZSAhPT0gdG9CZVNlbGVjdGVkKVxuICAgICAgICAgIDogWy4uLmxpc3Rib3hWYWx1ZSwgdG9CZVNlbGVjdGVkXTtcbiAgICAgIH0gZWxzZSBpZiAoIWFscmVhZHlTZWxlY3RlZCkge1xuICAgICAgICB0aGlzLmxpc3Rib3hWYWx1ZSA9IFt0b0JlU2VsZWN0ZWRdO1xuICAgICAgfVxuICAgIH07XG4gICAgY29uc3QgZmlyc3RPcHRpb25WYWx1ZSA9IHRoaXMub3B0aW9ucz8uZ2V0KDApPy52YWx1ZTtcbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICBpZiAoIXRoaXMuaXNPcGVuKCkpIHtcbiAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRXNjYXBlJzpcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0VudGVyJzpcbiAgICAgICAgLy8gU2VsZWN0aW9uIGlzIGFscmVhZHkgaGFuZGxlZCBpZiB0aGVyZSBpcyBhbiBhY3RpdmUgb3B0aW9uXG4gICAgICAgIGlmICh0aGlzLmlzT3BlbigpKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy5saXN0Ym94Py5nZXRBY3RpdmVPcHRpb24oKSA9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgIGZpcnN0T3B0aW9uVmFsdWVcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHNlbGVjdFZhbHVlKGZpcnN0T3B0aW9uVmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdUYWInOlxuICAgICAgICBpZiAodGhpcy5pc09wZW4oKSAmJiAhdGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgIGNvbnN0IHRvQmVTZWxlY3RlZCA9XG4gICAgICAgICAgICB0aGlzLmxpc3Rib3g/LmdldEFjdGl2ZU9wdGlvbigpIHx8IGZpcnN0T3B0aW9uVmFsdWU7XG4gICAgICAgICAgaWYgKHRvQmVTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHNlbGVjdFZhbHVlKHRvQmVTZWxlY3RlZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIF9vblNlYXJjaElucHV0KGV2ZW50OiBFdmVudCkge1xuICAgIGlmIChldmVudC50YXJnZXQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50KSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IGV2ZW50LnRhcmdldD8udmFsdWU7XG4gICAgICB0aGlzLl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlPy5zZXRTZWFyY2hWYWx1ZSh2YWx1ZSk7XG4gICAgICAvLyBjbGVhcmluZyB0aGUgdmFsdWUgd2hlbiB0aGUgc2VhcmNoIGlucHV0IGlzIGNsZWFyZWQuXG4gICAgICBpZiAoIXRoaXMubXVsdGlwbGUgJiYgIXZhbHVlICYmIHRoaXMubGlzdGJveFZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5saXN0Ym94VmFsdWUgPSBbXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmxpc3Rib3g/LnNldEFjdGl2ZU9wdGlvbihudWxsKTtcbiAgfVxuXG4gIF9oYW5kbGVTZWxlY3RlZCgpIHtcbiAgICBzdXBlci5faGFuZGxlU2VsZWN0ZWQoKTtcbiAgfVxuXG4gIGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh0aGlzLmRpc2FibGVkKTtcbiAgfVxufVxuIiwiPHNwLWhpZGRlbi1zZWxlY3Q+PC9zcC1oaWRkZW4tc2VsZWN0PlxuPGRpdlxuICByb2xlPVwiYnV0dG9uXCJcbiAgYXJpYS1oYXNwb3B1cD1cImxpc3Rib3hcIlxuICBjbGFzcz1cInNhcHBoaXJlLXNlbGVjdF9fYnV0dG9uXCJcbiAgW3NwUG9wb3ZlclRyaWdnZXJGb3JdPVwicG9wb3ZlclwiXG4gIFtzcFBvcG92ZXJUcmlnZ2VyRGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBzcFBvcG92ZXJUcmlnZ2VyT3Blbk9uUHJlc3NTdGFydFxuICBzcFBvcG92ZXJUcmlnZ2VyQ2xvc2VPblNjcm9sbFxuICBzcFBvcG92ZXJQbGFjZW1lbnQ9XCJib3R0b20gc3RhcnRcIlxuICAjdHJpZ2dlckVsZW1lbnRSZWZcbiAgI3RyaWdnZXJSZWY9XCJzcFBvcG92ZXJUcmlnZ2VyXCJcbiAgKGtleWRvd24pPVwiaGFuZGxlS2V5RG93bigkZXZlbnQpXCJcbiAgKHNwUG9wb3ZlclRyaWdnZXJDbG9zZWQpPVwiX29uQ2xvc2UoKVwiXG4gIChzcFBvcG92ZXJUcmlnZ2VyT3BlbmVkKT1cIl9vbk9wZW4oKVwiXG4gIChmb2N1cyk9XCJfb25Gb2N1cygpXCJcbiAgY2RrTW9uaXRvclN1YnRyZWVGb2N1c1xuICAoY2RrRm9jdXNDaGFuZ2UpPVwiX29uRm9jdXNDaGFuZ2UoJGV2ZW50KVwiXG4gIFtzcFBvcG92ZXJOb25Nb2RhbF09XCJzZWFyY2hhYmxlXCJcbiAgW2lkXT1cImlkXCJcbiAgW3RhYmluZGV4XT1cIi0xXCJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiX2dldEFyaWFMYWJlbGxlZEJ5KClcIlxuPlxuICA8ZGl2IGNsYXNzPVwic2FwcGhpcmUtc2VsZWN0X192YWx1ZVwiIFtpZF09XCJfdmFsdWVDb250YWluZXJJZFwiPlxuICAgIDxpbnB1dFxuICAgICAgKm5nSWY9XCJzZWFyY2hhYmxlXCJcbiAgICAgICNzZWFyY2hJbnB1dFxuICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICByb2xlPVwiY29tYm9ib3hcIlxuICAgICAgY2xhc3M9XCJzYXBwaGlyZS1zZWxlY3RfX3NlYXJjaC1pbnB1dFwiXG4gICAgICBbc3BMaXN0Ym94SW5wdXRdPVwibGlzdGJveFwiXG4gICAgICBbc3BWaXN1YWxseUhpZGRlbl09XCIhX2lzSW5wdXRWaXNpYmxlKClcIlxuICAgICAgW2F0dHIuZGF0YS1oaWRkZW5dPVwiIV9pc0lucHV0VmlzaWJsZSgpXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciB8fCAnJ1wiXG4gICAgICAoa2V5ZG93bik9XCJfb25JbnB1dEtleWRvd24oJGV2ZW50KVwiXG4gICAgICAoYmVmb3JlaW5wdXQpPVwib3BlbigpXCJcbiAgICAgIFt2YWx1ZV09XCJfc2VhcmNoYWJsZVNlbGVjdERpcmVjdGl2ZT8uc2VhcmNoVmFsdWVcIlxuICAgICAgKGlucHV0KT1cIl9vblNlYXJjaElucHV0KCRldmVudClcIlxuICAgIC8+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzZWFyY2hhYmxlIHx8ICFfaXNJbnB1dFZpc2libGUoKVwiPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cInNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPT09IDBcIlxuICAgICAgICBjbGFzcz1cInNhcHBoaXJlLXNlbGVjdF9fcGxhY2Vob2xkZXJcIlxuICAgICAgPlxuICAgICAgICB7eyBwbGFjZWhvbGRlciB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0ZWRPcHRpb25zLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzZWxlY3Rpb25UZXh0XCI+e3tcbiAgICAgICAgICBnZXRTZWxlY3Rpb25UZXh0KClcbiAgICAgICAgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic3Atc2VsZWN0aW9uLXRleHRcIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJzYXBwaGlyZS1zZWxlY3RfX2ljb24tY29udGFpbmVyXCI+XG4gICAgPHNwLWljb24gbmFtZT1cImNoZXZyb25Eb3duXCI+PC9zcC1pY29uPlxuICA8L2Rpdj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNwb3BvdmVyPlxuICA8c3AtcG9wb3ZlclxuICAgIFtzdHlsZS5kaXNwbGF5XT1cIlxuICAgICAgKGZpbHRlcmVkQ2hpbGRyZW4kIHwgYXN5bmMpPy5sZW5ndGggPT09IDAgPyAnbm9uZScgOiB1bmRlZmluZWRcbiAgICBcIlxuICAgIG5vUGFkZGluZ1xuICAgIFtzdHlsZS5taW4td2lkdGhdPVwidHJpZ2dlckVsZW1lbnRSZWYub2Zmc2V0V2lkdGggKyAncHgnXCJcbiAgPlxuICAgIDxzcC1saXN0Ym94XG4gICAgICBbc3BMaXN0Ym94SXRlbXNdPVwiKGZpbHRlcmVkQ2hpbGRyZW4kIHwgYXN5bmMpIHx8IHVuZGVmaW5lZFwiXG4gICAgICBuYXZpZ2F0aW9uV3JhcERpc2FibGVkXG4gICAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxuICAgICAgWyhzZWxlY3RlZFZhbHVlcyldPVwibGlzdGJveFZhbHVlXCJcbiAgICAgIChzZWxlY3RlZFZhbHVlc0NoYW5nZSk9XCJfc2VhcmNoYWJsZVNlbGVjdERpcmVjdGl2ZT8uc2V0U2VhcmNoVmFsdWUoJycpXCJcbiAgICAgIChzZWxlY3RlZCk9XCJfaGFuZGxlU2VsZWN0ZWQoKVwiXG4gICAgICBbc2l6ZV09XCJfZmllbGQ/LnNpemVcIlxuICAgID5cbiAgICA8L3NwLWxpc3Rib3g+XG4gIDwvc3AtcG9wb3Zlcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
356
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VsZWN0L3NyYy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VsZWN0L3NyYy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUVWLFFBQVEsRUFDUixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUV2RixPQUFPLEVBQWdCLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pFLE9BQU8sRUFBa0IsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUNMLHdCQUF3QixFQUN4QixpQkFBaUIsRUFDakIseUJBQXlCLEdBQzFCLE1BQU0sK0JBQStCLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQUd2Qzs7O0dBR0c7QUFV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RTtnQkFJMUMsT0FBTztzQkFEaEIsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBSW5CLFdBQVc7c0JBRGxCLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFXOUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIEZvY3VzTW9uaXRvcixcbiAgRm9jdXNPcmlnaW4sXG4gIElucHV0TW9kYWxpdHlEZXRlY3Rvcixcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIGVtcHR5LCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHN0YXJ0V2l0aCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBBdXRvSWQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vYXV0by1pZC5kZWNvcmF0b3InO1xuaW1wb3J0IHsgVXNlQ29tcG9uZW50U3R5bGVzT25Ib3N0IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3NhcHBoaXJlLXZpZXctZW5jYXBzdWxhdGlvbic7XG5pbXBvcnQgeyBQb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL3BvcG92ZXIvc3JjL3BvcG92ZXItdHJpZ2dlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTGlzdGJveENoaWxkLCBMaXN0Ym94Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vbGlzdGJveC9wdWJsaWNfYXBpJztcbmltcG9ydCB7IHNlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9saXN0Ym94L3NyYy9zZWN0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGaWVsZENvbXBvbmVudCwgRmllbGRDb250cm9sIH0gZnJvbSAnLi4vLi4vLi4vZmllbGQvcHVibGljX2FwaSc7XG5pbXBvcnQgeyBTZWxlY3RDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vY29tbW9uL3NlbGVjdC1jb21wb25lbnQtYmFzZSc7XG5pbXBvcnQge1xuICBNdWx0aVNlbGVjdERpcmVjdGl2ZUJhc2UsXG4gIFNlbGVjdFZhbHVlSG9sZGVyLFxuICBTaW5nbGVTZWxlY3REaXJlY3RpdmVCYXNlLFxufSBmcm9tICcuLi9jb21tb24vc2VsZWN0LXZhbHVlLWhvbGRlcic7XG5pbXBvcnQgeyBTZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlIH0gZnJvbSAnLi9zZWFyY2hhYmxlLXNlbGVjdC5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIEVuYWJsZXMgbXVsdGlwbGUgc2VsZWN0aW9uLiBXaGVuIHByZXNlbnQsIGB2YWx1ZWAgd2lsbCBiZSBvZiB0eXBlIGBzdHJpbmdbXWAsIGFuZCBgdmFsdWVDaGFuZ2VgXG4gKiB3aWxsIGVtaXQgYHN0cmluZ1tdYC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnc3Atc2VsZWN0W211bHRpcGxlXScsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNlbGVjdFZhbHVlSG9sZGVyLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTXVsdGlTZWxlY3REaXJlY3RpdmUpLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE11bHRpU2VsZWN0RGlyZWN0aXZlIGV4dGVuZHMgTXVsdGlTZWxlY3REaXJlY3RpdmVCYXNlIHt9XG5cbi8qKlxuICogRW5hYmxlcyBzaW5nbGUgc2VsZWN0aW9uLCB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiBTZWxlY3QuXG4gKiBXaGVuIHByZXNlbnQsIGB2YWx1ZWAgd2lsbCBiZSBvZiB0eXBlIGBzdHJpbmdgLCBhbmQgYHZhbHVlQ2hhbmdlYCB3aWxsIGVtaXQgYHN0cmluZ2AuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ3NwLXNlbGVjdDpub3QoW211bHRpcGxlXSknLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBTZWxlY3RWYWx1ZUhvbGRlcixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNpbmdsZVNlbGVjdERpcmVjdGl2ZSksXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2luZ2xlU2VsZWN0RGlyZWN0aXZlIGV4dGVuZHMgU2luZ2xlU2VsZWN0RGlyZWN0aXZlQmFzZSB7fVxuXG4vKipcbiAqIEFsbG93cyB1c2VyIHRvIHNlbGVjdCBhIHNpbmdsZSBvcHRpb24gZnJvbSBhIGxpc3QsIHNpbWlsYXIgdG8gbmF0aXZlIHNlbGVjdFxuICogY29tcG9uZW50LlxuICpcbiAqIEV4YW1wbGU6XG4gKiBgYGB0c3hcbiAqIDxzcC1maWVsZD5cbiAqICAgPHNwLWZpZWxkLWxhYmVsPkxhYmVsIHRleHQ8L3NwLWZpZWxkLWxhYmVsPlxuICogICA8c3Atc2VsZWN0IHBsYWNlaG9sZGVyPVwiU2VsZWN0IGFuIG9wdGlvblwiPlxuICogICAgIDxzcC1vcHRpb24gdmFsdWU9XCJvcHRpb24xXCI+Rmlyc3QgT3B0aW9uPC9zcC1vcHRpb24+XG4gKiAgICAgPHNwLW9wdGlvbiB2YWx1ZT1cIm9wdGlvbjJcIj5TZWNvbmQgT3B0aW9uPC9zcC1vcHRpb24+XG4gKiAgICAgPHNwLW9wdGlvbiB2YWx1ZT1cIm9wdGlvbjNcIj5UaGlyZCBPcHRpb248L3NwLW9wdGlvbj5cbiAqICAgPC9zcC1zZWxlY3Q+XG4gKiA8L3NwLWZpZWxkPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NwLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcbiAgZXhwb3J0QXM6ICdzcFNlbGVjdCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2VsZWN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogU2VsZWN0Q29tcG9uZW50QmFzZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNlbGVjdENvbXBvbmVudCksXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBGaWVsZENvbnRyb2wsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTZWxlY3RDb21wb25lbnQpLFxuICAgIH0sXG4gIF0sXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ3NhcHBoaXJlLXNlbGVjdCcsXG4gICAgJ1tjbGFzcy5zYXBwaGlyZS1zZWxlY3QtLWVycm9yXSc6ICdfZmllbGQ/Lmhhc0Vycm9yKCknLFxuICAgICdbY2xhc3Muc2FwcGhpcmUtc2VsZWN0LS1tZWRpdW1dJzogJ19maWVsZD8uc2l6ZSA9PT0gXCJtZWRpdW1cIicsXG4gICAgJ1tjbGFzcy5pcy1mb2N1c10nOiAnaXNGb2N1c1Zpc2libGUoKScsXG4gICAgJ1tjbGFzcy5pcy1kaXNhYmxlZF0nOiAnaXNEaXNhYmxlZCgpJyxcbiAgICAnW2F0dHIuaWRdJzogJ251bGwnLFxuICAgICdbYXR0ci5hcmlhLWxhYmVsXSc6ICdudWxsJyxcbiAgICAnW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XSc6ICdudWxsJyxcbiAgICAnW2F0dHIucGxhY2Vob2xkZXJdJzogJ251bGwnLFxuICB9LFxuICBob3N0RGlyZWN0aXZlczogW1VzZUNvbXBvbmVudFN0eWxlc09uSG9zdF0sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdENvbXBvbmVudFxuICBleHRlbmRzIFNlbGVjdENvbXBvbmVudEJhc2VcbiAgaW1wbGVtZW50cyBGaWVsZENvbnRyb2wsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveVxue1xuICBwcml2YXRlIGZvY3VzT3JpZ2luOiBGb2N1c09yaWdpbiA9IG51bGw7XG4gIGZpbHRlcmVkQ2hpbGRyZW4kOiBPYnNlcnZhYmxlPExpc3Rib3hDaGlsZFtdPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgQFZpZXdDaGlsZCgndHJpZ2dlclJlZicpXG4gIHByb3RlY3RlZCB0cmlnZ2VyUmVmOiBQb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCd0cmlnZ2VyRWxlbWVudFJlZicsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwcm90ZWN0ZWQgdHJpZ2dlckVsZW1lbnRSZWY6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZChMaXN0Ym94Q29tcG9uZW50KVxuICBwcm90ZWN0ZWQgbGlzdGJveDogTGlzdGJveENvbXBvbmVudCB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCdzZWFyY2hJbnB1dCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwcml2YXRlIHNlYXJjaElucHV0PzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBnZXQgc2VhcmNoYWJsZSgpIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBpZCBvZiB0cmlnZ2VyIHZhbHVlIGFyZWEsIHdoaWNoIHdpbGwgY29udGFpbiBlaXRoZXIgdGhlIHNlbGVjdGVkIHZhbHVlIG9yIHRoZSBwbGFjZWhvbGRlci5cbiAgICovXG4gIEBBdXRvSWQoKVxuICBfdmFsdWVDb250YWluZXJJZDogc3RyaW5nID0gJyc7XG5cbiAgcHJpdmF0ZSBkZXN0cm95ZWQgPSBuZXcgU3ViamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHZhbHVlSG9sZGVyOiBTZWxlY3RWYWx1ZUhvbGRlcixcbiAgICBwcml2YXRlIGZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yLFxuICAgIHByaXZhdGUgaW5wdXRNb2RhbGl0eTogSW5wdXRNb2RhbGl0eURldGVjdG9yLFxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyBfZmllbGQ/OiBGaWVsZENvbXBvbmVudCxcbiAgICBAT3B0aW9uYWwoKSBwdWJsaWMgX3NlYXJjaGFibGVTZWxlY3REaXJlY3RpdmU/OiBTZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlXG4gICkge1xuICAgIHN1cGVyKHZhbHVlSG9sZGVyKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICBjb25zdCBsaXN0Ym94SXRlbSQgPSB0aGlzLmxpc3Rib3hDaGlsZHJlbi5jaGFuZ2VzLnBpcGUoXG4gICAgICBzdGFydFdpdGgodGhpcy5saXN0Ym94Q2hpbGRyZW4pXG4gICAgKTtcbiAgICBjb25zdCBzZWFyY2hhYmxlU2VsZWN0ID0gdGhpcy5fc2VhcmNoYWJsZVNlbGVjdERpcmVjdGl2ZTtcbiAgICBpZiAodGhpcy5zZWFyY2hJbnB1dCAmJiBzZWFyY2hhYmxlU2VsZWN0KSB7XG4gICAgICBjb25zdCBzZWFyY2hJbnB1dFZhbHVlJCA9IHNlYXJjaGFibGVTZWxlY3Quc2VhcmNoVmFsdWVDaGFuZ2UucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSxcbiAgICAgICAgc3RhcnRXaXRoKHNlYXJjaGFibGVTZWxlY3Quc2VhcmNoVmFsdWUpXG4gICAgICApO1xuICAgICAgY29uc3QgZmlsdGVyUmVzdWx0JCA9IGNvbWJpbmVMYXRlc3Qoc2VhcmNoSW5wdXRWYWx1ZSQsIGxpc3Rib3hJdGVtJCkucGlwZShcbiAgICAgICAgbWFwKChbc2VhcmNoUXVlcnldKSA9PiB7XG4gICAgICAgICAgaWYgKCFzZWFyY2hRdWVyeSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgZmlsdGVyZWRDaGlsZHJlbjogdGhpcy5saXN0Ym94Q2hpbGRyZW4udG9BcnJheSgpLFxuICAgICAgICAgICAgICBmaWx0ZXJlZE91dE9wdGlvbnM6IFtdLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHNlYXJjaGFibGVTZWxlY3QuZmlsdGVyTGlzdGJveEl0ZW1zKFxuICAgICAgICAgICAgdGhpcy5saXN0Ym94Q2hpbGRyZW4sXG4gICAgICAgICAgICAob3B0aW9uKSA9PlxuICAgICAgICAgICAgICAhc2VhcmNoYWJsZVNlbGVjdC5maWx0ZXIgfHxcbiAgICAgICAgICAgICAgc2VhcmNoYWJsZVNlbGVjdC5maWx0ZXIob3B0aW9uLCBzZWFyY2hRdWVyeSlcbiAgICAgICAgICApO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRDaGlsZHJlbiQgPSB0aGlzLm11bHRpcGxlXG4gICAgICAgID8gLy8gR3JvdXBpbmcgc2VsZWN0ZWQgb3B0aW9uc1xuICAgICAgICAgIGNvbWJpbmVMYXRlc3QoXG4gICAgICAgICAgICBmaWx0ZXJSZXN1bHQkLFxuICAgICAgICAgICAgdGhpcy52YWx1ZUhvbGRlci52YWx1ZUNoYW5nZS5waXBlKHN0YXJ0V2l0aChlbXB0eSgpKSlcbiAgICAgICAgICApLnBpcGUoXG4gICAgICAgICAgICBtYXAoKFt7IGZpbHRlcmVkQ2hpbGRyZW4gfV0pID0+IHtcbiAgICAgICAgICAgICAgaWYgKHRoaXMubGlzdGJveFZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmaWx0ZXJlZENoaWxkcmVuO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJlZE91dE9wdGlvbnM6IHNlbGVjdGVkT3B0aW9ucyxcbiAgICAgICAgICAgICAgICBmaWx0ZXJlZENoaWxkcmVuOiBzZWxlY3Rpb25FeGNsdWRlZENoaWxkcmVuLFxuICAgICAgICAgICAgICB9ID0gc2VhcmNoYWJsZVNlbGVjdC5maWx0ZXJMaXN0Ym94SXRlbXMoXG4gICAgICAgICAgICAgICAgZmlsdGVyZWRDaGlsZHJlbixcbiAgICAgICAgICAgICAgICAob3B0aW9uKSA9PiAhdGhpcy5saXN0Ym94VmFsdWUuaW5jbHVkZXMob3B0aW9uLnZhbHVlKVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIHNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPiAwXG4gICAgICAgICAgICAgICAgICA/IFtzZWN0aW9uKHNlbGVjdGVkT3B0aW9ucyldXG4gICAgICAgICAgICAgICAgICA6IChbXSBhcyBMaXN0Ym94Q2hpbGRbXSlcbiAgICAgICAgICAgICAgKS5jb25jYXQoc2VsZWN0aW9uRXhjbHVkZWRDaGlsZHJlbik7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcbiAgICAgICAgOiBmaWx0ZXJSZXN1bHQkLnBpcGUobWFwKCh7IGZpbHRlcmVkQ2hpbGRyZW4gfSkgPT4gZmlsdGVyZWRDaGlsZHJlbikpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpbHRlcmVkQ2hpbGRyZW4kID0gbGlzdGJveEl0ZW0kO1xuICAgIH1cbiAgfVxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMuZGVzdHJveWVkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3llZC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgX2dldEFyaWFMYWJlbGxlZEJ5KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgLy8gVGhlIGxvZ2ljIGhlcmUgaXMgc2ltaWxhciB0byB0aGUgb25lIGluIHJlYWN0LWFyaWEncyB1c2VTZWxlY3QuXG4gICAgY29uc3QgbGFiZWxsZWRCeSA9IHRoaXMuYXJpYUxhYmVsbGVkYnkgfHwgdGhpcy5fZmllbGQ/LmxhYmVsPy5pZDtcbiAgICByZXR1cm4gW1xuICAgICAgdGhpcy5fdmFsdWVDb250YWluZXJJZCxcbiAgICAgIGxhYmVsbGVkQnksXG4gICAgICB0aGlzLmFyaWFMYWJlbCAmJiAhbGFiZWxsZWRCeSA/IHRoaXMuaWQgOiBudWxsLFxuICAgIF1cbiAgICAgIC5maWx0ZXIoKGkpID0+IGkpXG4gICAgICAuam9pbignICcpO1xuICB9XG5cbiAgaXNGb2N1c2VkKCkge1xuICAgIHJldHVybiBCb29sZWFuKHRoaXMuZm9jdXNPcmlnaW4pO1xuICB9XG5cbiAgaXNGb2N1c1Zpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuaXNGb2N1c2VkKCkgJiZcbiAgICAgIC8vIFRoaXMgaXMgbmVlZGVkIGJlY2F1c2UgZm9jdXMgZG9lc24ndCBjaGFuZ2Ugd2hlbiBhIGtleSAoZS5nLiBFc2NhcGUpIGlzIHByZXNzZWQgaW4gdGhlIHNlYXJjaCBpbnB1dC5cbiAgICAgICh0aGlzLmlucHV0TW9kYWxpdHkubW9zdFJlY2VudE1vZGFsaXR5ID09PSAna2V5Ym9hcmQnIHx8XG4gICAgICAgIC8vIFRoaXMgaXMgbmVlZGVkIGZvciB3aGVuIGxhYmVsIGlzIGNsaWNrZWQgYW5kIGZvY3VzT3JpZ2luIGlzIGZvcmNlZCB0byBrZXlib2FyZCwgYnV0IGN1cnJlbnQgbW9kYWxpdHkgaXMgbW91c2UuXG4gICAgICAgIHRoaXMuZm9jdXNPcmlnaW4gPT09ICdrZXlib2FyZCcpICYmXG4gICAgICAhdGhpcy5pc09wZW4oKSAvLyBUaGlzIGlzIGJlY2F1c2UgaW4gc2VhcmNoYWJsZSBzZWxlY3QsIHRoZSBhY3R1YWwgZm9jdXMgaXMgb24gdGhlIGlucHV0LFxuICAgICAgLy8gYnV0IGl0J3MgbWVhbnQgdG8gYmUgc2hvd24gb24gdGhlIGxpc3Rib3guIEl0IGRvZXNuJ3QgbWFrZSBzZW5zZSB0byBzaG93IHRoZSBmb2N1cyBpbiB0d29cbiAgICAgIC8vIHBsYWNlcy5cbiAgICApO1xuICB9XG5cbiAgZm9jdXMoZm9jdXNPcmlnaW46IEZvY3VzT3JpZ2luID0gJ3Byb2dyYW0nKSB7XG4gICAgdGhpcy5mb2N1c01vbml0b3IuZm9jdXNWaWEoXG4gICAgICB0aGlzLnNlYXJjaElucHV0Py5uYXRpdmVFbGVtZW50ID8/IHRoaXMudHJpZ2dlckVsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICBmb2N1c09yaWdpblxuICAgICk7XG4gIH1cblxuICBfb25Gb2N1c0NoYW5nZShmb2N1c09yaWdpbjogRm9jdXNPcmlnaW4pIHtcbiAgICB0aGlzLmZvY3VzT3JpZ2luID0gZm9jdXNPcmlnaW47XG4gIH1cblxuICBfb25Gb2N1cygpIHtcbiAgICAvLyBXaGVuZXZlciBmb2N1cyBjb21lcyB0byB0aGUgdHJpZ2dlciAsIGZvcndhcmQgaXQgdG8gdGhlIHNlYXJjaCBpbnB1dC4gSXQncyBuZWVkZWQgZm9yIHdoZW5cbiAgICAvLyB0aGUgdHJpZ2dlciBpcyByZS1mb2N1c2VkIGFmdGVyIHBvcG92ZXIgaXMgY2xvc2VkLlxuICAgIHRoaXMuZm9jdXModGhpcy5mb2N1c09yaWdpbik7XG4gIH1cblxuICBfaXNJbnB1dFZpc2libGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNPcGVuKCkgLyp8fFxuICAgICAgKHRoaXMuc2VhcmNoSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQgPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgJiZcbiAgICAgICAgdGhpcy5saXN0Ym94VmFsdWUubGVuZ3RoID09PSAwKSovO1xuICB9XG5cbiAgX29uT3BlbigpIHtcbiAgICBzdXBlci5fb25PcGVuKCk7XG4gICAgaWYgKCF0aGlzLm11bHRpcGxlICYmIHRoaXMuX3NlYXJjaGFibGVTZWxlY3REaXJlY3RpdmUpIHtcbiAgICAgIHRoaXMuX3NlYXJjaGFibGVTZWxlY3REaXJlY3RpdmUuc2V0U2VhcmNoVmFsdWUoXG4gICAgICAgICh0aGlzLl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlLmNsZWFyU2VhcmNoT25PcGVuXG4gICAgICAgICAgPyAnJ1xuICAgICAgICAgIDogdGhpcy5zZWxlY3RlZE9wdGlvbnNbMF0/LmxhYmVsKSA/PyAnJ1xuICAgICAgKTtcbiAgICB9XG4gICAgY29uc3Qgc2VhcmNoSW5wdXRFbGVtZW50ID0gdGhpcy5zZWFyY2hJbnB1dD8ubmF0aXZlRWxlbWVudDtcbiAgICBpZiAodGhpcy5fc2VhcmNoYWJsZVNlbGVjdERpcmVjdGl2ZT8uc2VsZWN0VGV4dE9uT3Blbikge1xuICAgICAgc2VhcmNoSW5wdXRFbGVtZW50Py5zZWxlY3QoKTtcbiAgICB9XG4gICAgY29uc3QgZm9jdXNWaXNpYmxlT25PcGVuID0gdGhpcy5pc0ZvY3VzVmlzaWJsZSgpO1xuICAgIC8vIE1vdmUgZm9jdXMgdG8gdGhlIHNlYXJjaCBpbnB1dC4gVGhlIHRpbWVvdXQgaXMgbmVlZGVkIGJlY2F1c2UgcG9wb3ZlciB3aWxsIGF1dG9mb2N1cyB0aGVcbiAgICAvLyBjb250ZW50LCBhbmQgd2UgbmVlZCB0byBsZXQgdGhlIGZvY3VzIGZpcnN0IGxhbmQgaW4gdGhlIHBvcG92ZXIsIGFuZCB0aGVuIHN0ZWFsIGl0LlxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgc2VhcmNoSW5wdXRFbGVtZW50Py5mb2N1cygpO1xuXG4gICAgICAvLyBOZWVkIHRvIHJ1biB0aGlzIGFsc28gYXN5bmNocm9ub3VzbHksIHRvIGxldCB0aGUgcG9wb3ZlciAoYW5kIGxpc3Rib3gpIG1vdW50XG4gICAgICBpZiAoIWZvY3VzVmlzaWJsZU9uT3BlbiAmJiB0aGlzLnNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgLy8gdG8gcHJldmVudCB0aGUgZmlyc3QgaXRlbSBmcm9tIGJlaW5nIGZvY3VzZWQgd2hlbiB0aGUgZHJvcGRvd24gaXMgb3BlbmVkIHZpYSBtb3VzZVxuICAgICAgICB0aGlzLmxpc3Rib3g/LnNldEFjdGl2ZU9wdGlvbihudWxsKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIF9vbkNsb3NlKCkge1xuICAgIHN1cGVyLl9vbkNsb3NlKCk7XG4gICAgaWYgKCF0aGlzLm11bHRpcGxlICYmIHRoaXMuX3NlYXJjaGFibGVTZWxlY3REaXJlY3RpdmUpIHtcbiAgICAgIHRoaXMuX3NlYXJjaGFibGVTZWxlY3REaXJlY3RpdmUuc2V0U2VhcmNoVmFsdWUoXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25zWzBdPy5sYWJlbCB8fCAnJ1xuICAgICAgKTtcbiAgICB9XG4gICAgY29uc3Qgc2VhcmNoSW5wdXRFbGVtZW50ID0gdGhpcy5zZWFyY2hJbnB1dD8ubmF0aXZlRWxlbWVudDtcbiAgICBzZWFyY2hJbnB1dEVsZW1lbnQ/LnNldFNlbGVjdGlvblJhbmdlKFxuICAgICAgc2VhcmNoSW5wdXRFbGVtZW50LnZhbHVlLmxlbmd0aCxcbiAgICAgIHNlYXJjaElucHV0RWxlbWVudC52YWx1ZS5sZW5ndGhcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEZpZWxkTGFiZWw/KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpZWxkPy5sYWJlbD8uZ2V0VGV4dCgpID8/ICcnO1xuICB9XG5cbiAgX29uSW5wdXRLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgY29uc3Qgc2VsZWN0VmFsdWUgPSAodG9CZVNlbGVjdGVkOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IGxpc3Rib3hWYWx1ZSA9IHRoaXMubGlzdGJveFZhbHVlO1xuICAgICAgY29uc3QgYWxyZWFkeVNlbGVjdGVkID0gbGlzdGJveFZhbHVlLmluY2x1ZGVzKHRvQmVTZWxlY3RlZCk7XG4gICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICB0aGlzLmxpc3Rib3hWYWx1ZSA9IGFscmVhZHlTZWxlY3RlZFxuICAgICAgICAgID8gbGlzdGJveFZhbHVlLmZpbHRlcigodmFsdWUpID0+IHZhbHVlICE9PSB0b0JlU2VsZWN0ZWQpXG4gICAgICAgICAgOiBbLi4ubGlzdGJveFZhbHVlLCB0b0JlU2VsZWN0ZWRdO1xuICAgICAgfSBlbHNlIGlmICghYWxyZWFkeVNlbGVjdGVkKSB7XG4gICAgICAgIHRoaXMubGlzdGJveFZhbHVlID0gW3RvQmVTZWxlY3RlZF07XG4gICAgICB9XG4gICAgfTtcbiAgICBjb25zdCBmaXJzdE9wdGlvblZhbHVlID0gdGhpcy5vcHRpb25zPy5nZXQoMCk/LnZhbHVlO1xuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdBcnJvd1VwJzpcbiAgICAgIGNhc2UgJ0Fycm93RG93bic6XG4gICAgICAgIGlmICghdGhpcy5pc09wZW4oKSkge1xuICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdFc2NhcGUnOlxuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgICAvLyBTZWxlY3Rpb24gaXMgYWxyZWFkeSBoYW5kbGVkIGlmIHRoZXJlIGlzIGFuIGFjdGl2ZSBvcHRpb25cbiAgICAgICAgaWYgKHRoaXMuaXNPcGVuKCkpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLmxpc3Rib3g/LmdldEFjdGl2ZU9wdGlvbigpID09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgZmlyc3RPcHRpb25WYWx1ZVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgc2VsZWN0VmFsdWUoZmlyc3RPcHRpb25WYWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghdGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ1RhYic6XG4gICAgICAgIGlmICh0aGlzLmlzT3BlbigpICYmICF0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgY29uc3QgdG9CZVNlbGVjdGVkID1cbiAgICAgICAgICAgIHRoaXMubGlzdGJveD8uZ2V0QWN0aXZlT3B0aW9uKCkgfHwgZmlyc3RPcHRpb25WYWx1ZTtcbiAgICAgICAgICBpZiAodG9CZVNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgc2VsZWN0VmFsdWUodG9CZVNlbGVjdGVkKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgX29uU2VhcmNoSW5wdXQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LnRhcmdldCBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gZXZlbnQudGFyZ2V0Py52YWx1ZTtcbiAgICAgIHRoaXMuX3NlYXJjaGFibGVTZWxlY3REaXJlY3RpdmU/LnNldFNlYXJjaFZhbHVlKHZhbHVlKTtcbiAgICAgIC8vIGNsZWFyaW5nIHRoZSB2YWx1ZSB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaXMgY2xlYXJlZC5cbiAgICAgIGlmICghdGhpcy5tdWx0aXBsZSAmJiAhdmFsdWUgJiYgdGhpcy5saXN0Ym94VmFsdWUubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLmxpc3Rib3hWYWx1ZSA9IFtdO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMubGlzdGJveD8uc2V0QWN0aXZlT3B0aW9uKG51bGwpO1xuICB9XG5cbiAgX2hhbmRsZVNlbGVjdGVkKCkge1xuICAgIHN1cGVyLl9oYW5kbGVTZWxlY3RlZCgpO1xuICB9XG5cbiAgaXNEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gY29lcmNlQm9vbGVhblByb3BlcnR5KHRoaXMuZGlzYWJsZWQpO1xuICB9XG59XG4iLCI8c3AtaGlkZGVuLXNlbGVjdD48L3NwLWhpZGRlbi1zZWxlY3Q+XG48ZGl2XG4gIHJvbGU9XCJidXR0b25cIlxuICBhcmlhLWhhc3BvcHVwPVwibGlzdGJveFwiXG4gIGNsYXNzPVwic2FwcGhpcmUtc2VsZWN0X19idXR0b25cIlxuICBbc3BQb3BvdmVyVHJpZ2dlckZvcl09XCJwb3BvdmVyXCJcbiAgW3NwUG9wb3ZlclRyaWdnZXJEaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIHNwUG9wb3ZlclRyaWdnZXJPcGVuT25QcmVzc1N0YXJ0XG4gIHNwUG9wb3ZlclRyaWdnZXJDbG9zZU9uU2Nyb2xsXG4gIHNwUG9wb3ZlclBsYWNlbWVudD1cImJvdHRvbSBzdGFydFwiXG4gICN0cmlnZ2VyRWxlbWVudFJlZlxuICAjdHJpZ2dlclJlZj1cInNwUG9wb3ZlclRyaWdnZXJcIlxuICAoa2V5ZG93bik9XCJoYW5kbGVLZXlEb3duKCRldmVudClcIlxuICAoc3BQb3BvdmVyVHJpZ2dlckNsb3NlZCk9XCJfb25DbG9zZSgpXCJcbiAgKHNwUG9wb3ZlclRyaWdnZXJPcGVuZWQpPVwiX29uT3BlbigpXCJcbiAgKGZvY3VzKT1cIl9vbkZvY3VzKClcIlxuICBjZGtNb25pdG9yU3VidHJlZUZvY3VzXG4gIChjZGtGb2N1c0NoYW5nZSk9XCJfb25Gb2N1c0NoYW5nZSgkZXZlbnQpXCJcbiAgW3NwUG9wb3Zlck5vbk1vZGFsXT1cInNlYXJjaGFibGVcIlxuICBbaWRdPVwiaWRcIlxuICBbdGFiaW5kZXhdPVwiLTFcIlxuICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJfZ2V0QXJpYUxhYmVsbGVkQnkoKVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJzYXBwaGlyZS1zZWxlY3RfX3ZhbHVlXCIgW2lkXT1cIl92YWx1ZUNvbnRhaW5lcklkXCI+XG4gICAgPGlucHV0XG4gICAgICAqbmdJZj1cInNlYXJjaGFibGVcIlxuICAgICAgI3NlYXJjaElucHV0XG4gICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgIHJvbGU9XCJjb21ib2JveFwiXG4gICAgICBjbGFzcz1cInNhcHBoaXJlLXNlbGVjdF9fc2VhcmNoLWlucHV0XCJcbiAgICAgIFtzcExpc3Rib3hJbnB1dF09XCJsaXN0Ym94XCJcbiAgICAgIFtzcFZpc3VhbGx5SGlkZGVuXT1cIiFfaXNJbnB1dFZpc2libGUoKVwiXG4gICAgICBbYXR0ci5kYXRhLWhpZGRlbl09XCIhX2lzSW5wdXRWaXNpYmxlKClcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHx8ICcnXCJcbiAgICAgIChrZXlkb3duKT1cIl9vbklucHV0S2V5ZG93bigkZXZlbnQpXCJcbiAgICAgIChiZWZvcmVpbnB1dCk9XCJvcGVuKClcIlxuICAgICAgW3ZhbHVlXT1cIl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlPy5zZWFyY2hWYWx1ZVwiXG4gICAgICAoaW5wdXQpPVwiX29uU2VhcmNoSW5wdXQoJGV2ZW50KVwiXG4gICAgLz5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNlYXJjaGFibGUgfHwgIV9pc0lucHV0VmlzaWJsZSgpXCI+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwic2VsZWN0ZWRPcHRpb25zLmxlbmd0aCA9PT0gMFwiXG4gICAgICAgIGNsYXNzPVwic2FwcGhpcmUtc2VsZWN0X19wbGFjZWhvbGRlclwiXG4gICAgICA+XG4gICAgICAgIHt7IHBsYWNlaG9sZGVyIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZE9wdGlvbnMubGVuZ3RoID4gMFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNlbGVjdGlvblRleHRcIj57e1xuICAgICAgICAgIGdldFNlbGVjdGlvblRleHQoKVxuICAgICAgICB9fTwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJzcC1zZWxlY3Rpb24tdGV4dFwiPjwvbmctY29udGVudD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInNhcHBoaXJlLXNlbGVjdF9faWNvbi1jb250YWluZXJcIj5cbiAgICA8c3AtaWNvbiBuYW1lPVwiY2hldnJvbkRvd25cIj48L3NwLWljb24+XG4gIDwvZGl2PlxuPC9kaXY+XG48bmctdGVtcGxhdGUgI3BvcG92ZXI+XG4gIDxzcC1wb3BvdmVyXG4gICAgW3N0eWxlLmRpc3BsYXldPVwiXG4gICAgICAoZmlsdGVyZWRDaGlsZHJlbiQgfCBhc3luYyk/Lmxlbmd0aCA9PT0gMCA/ICdub25lJyA6IHVuZGVmaW5lZFxuICAgIFwiXG4gICAgbm9QYWRkaW5nXG4gICAgW3N0eWxlLm1pbi13aWR0aF09XCJ0cmlnZ2VyRWxlbWVudFJlZi5vZmZzZXRXaWR0aCArICdweCdcIlxuICA+XG4gICAgPHNwLWxpc3Rib3hcbiAgICAgIFtzcExpc3Rib3hJdGVtc109XCIoZmlsdGVyZWRDaGlsZHJlbiQgfCBhc3luYykgfHwgdW5kZWZpbmVkXCJcbiAgICAgIG5hdmlnYXRpb25XcmFwRGlzYWJsZWRcbiAgICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgICBbKHNlbGVjdGVkVmFsdWVzKV09XCJsaXN0Ym94VmFsdWVcIlxuICAgICAgKHNlbGVjdGVkVmFsdWVzQ2hhbmdlKT1cIl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlPy5zZXRTZWFyY2hWYWx1ZSgnJylcIlxuICAgICAgKHNlbGVjdGVkKT1cIl9oYW5kbGVTZWxlY3RlZCgpXCJcbiAgICAgIFtzaXplXT1cIl9maWVsZD8uc2l6ZVwiXG4gICAgPlxuICAgIDwvc3AtbGlzdGJveD5cbiAgPC9zcC1wb3BvdmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -4287,10 +4287,13 @@ class SearchableSelectDirective {
4287
4287
  }
4288
4288
  }
4289
4289
  SearchableSelectDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SearchableSelectDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4290
- SearchableSelectDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: SearchableSelectDirective, selector: "sp-select[searchable]", inputs: { searchValue: "searchValue", filter: "filter", selectTextOnOpen: "selectTextOnOpen" }, outputs: { searchValueChange: "searchValueChange" }, ngImport: i0 });
4290
+ SearchableSelectDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: SearchableSelectDirective, selector: "sp-select[searchable]", inputs: { searchValue: "searchValue", filter: "filter", selectTextOnOpen: "selectTextOnOpen", clearSearchOnOpen: "clearSearchOnOpen" }, outputs: { searchValueChange: "searchValueChange" }, ngImport: i0 });
4291
4291
  __decorate([
4292
4292
  CoerceBoolean
4293
4293
  ], SearchableSelectDirective.prototype, "selectTextOnOpen", void 0);
4294
+ __decorate([
4295
+ CoerceBoolean
4296
+ ], SearchableSelectDirective.prototype, "clearSearchOnOpen", void 0);
4294
4297
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SearchableSelectDirective, decorators: [{
4295
4298
  type: Directive,
4296
4299
  args: [{
@@ -4302,6 +4305,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
4302
4305
  type: Input
4303
4306
  }], selectTextOnOpen: [{
4304
4307
  type: Input
4308
+ }], clearSearchOnOpen: [{
4309
+ type: Input
4305
4310
  }], searchValueChange: [{
4306
4311
  type: Output
4307
4312
  }] } });
@@ -4572,13 +4577,15 @@ class SelectComponent extends SelectComponentBase {
4572
4577
  this.listboxValue.length === 0)*/;
4573
4578
  }
4574
4579
  _onOpen() {
4575
- var _a, _b, _c;
4580
+ var _a, _b, _c, _d;
4576
4581
  super._onOpen();
4577
4582
  if (!this.multiple && this._searchableSelectDirective) {
4578
- this._searchableSelectDirective.setSearchValue(((_a = this.selectedOptions[0]) === null || _a === void 0 ? void 0 : _a.label) || '');
4583
+ this._searchableSelectDirective.setSearchValue((_b = (this._searchableSelectDirective.clearSearchOnOpen
4584
+ ? ''
4585
+ : (_a = this.selectedOptions[0]) === null || _a === void 0 ? void 0 : _a.label)) !== null && _b !== void 0 ? _b : '');
4579
4586
  }
4580
- const searchInputElement = (_b = this.searchInput) === null || _b === void 0 ? void 0 : _b.nativeElement;
4581
- if ((_c = this._searchableSelectDirective) === null || _c === void 0 ? void 0 : _c.selectTextOnOpen) {
4587
+ const searchInputElement = (_c = this.searchInput) === null || _c === void 0 ? void 0 : _c.nativeElement;
4588
+ if ((_d = this._searchableSelectDirective) === null || _d === void 0 ? void 0 : _d.selectTextOnOpen) {
4582
4589
  searchInputElement === null || searchInputElement === void 0 ? void 0 : searchInputElement.select();
4583
4590
  }
4584
4591
  const focusVisibleOnOpen = this.isFocusVisible();
@@ -4595,9 +4602,12 @@ class SelectComponent extends SelectComponentBase {
4595
4602
  });
4596
4603
  }
4597
4604
  _onClose() {
4598
- var _a;
4605
+ var _a, _b;
4599
4606
  super._onClose();
4600
- const searchInputElement = (_a = this.searchInput) === null || _a === void 0 ? void 0 : _a.nativeElement;
4607
+ if (!this.multiple && this._searchableSelectDirective) {
4608
+ this._searchableSelectDirective.setSearchValue(((_a = this.selectedOptions[0]) === null || _a === void 0 ? void 0 : _a.label) || '');
4609
+ }
4610
+ const searchInputElement = (_b = this.searchInput) === null || _b === void 0 ? void 0 : _b.nativeElement;
4601
4611
  searchInputElement === null || searchInputElement === void 0 ? void 0 : searchInputElement.setSelectionRange(searchInputElement.value.length, searchInputElement.value.length);
4602
4612
  }
4603
4613
  getFieldLabel() {