@danske/sapphire-angular 3.5.0 → 3.6.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/esm2020/lib/label/src/label.component.mjs +3 -3
- package/esm2020/lib/listbox/i18n/da-DK.json +3 -0
- package/esm2020/lib/listbox/i18n/de-DE.json +3 -0
- package/esm2020/lib/listbox/i18n/en-US.json +3 -0
- package/esm2020/lib/listbox/i18n/fi-FI.json +3 -0
- package/esm2020/lib/listbox/i18n/index.mjs +19 -0
- package/esm2020/lib/listbox/i18n/nb-NO.json +3 -0
- package/esm2020/lib/listbox/i18n/pl-PL.json +3 -0
- package/esm2020/lib/listbox/i18n/sv-SE.json +3 -0
- package/esm2020/lib/listbox/src/listbox.component.mjs +34 -11
- package/esm2020/lib/menu/src/menu.component.mjs +2 -2
- package/esm2020/lib/select/src/common/select-component-base.mjs +4 -2
- package/esm2020/lib/select/src/select/select.component.mjs +3 -3
- package/esm2020/lib/select/src/select-button/select-button.component.mjs +1 -1
- package/esm2020/lib/text-field/src/text-field.component.mjs +2 -2
- package/fesm2015/danske-sapphire-angular.mjs +105 -35
- package/fesm2015/danske-sapphire-angular.mjs.map +1 -1
- package/fesm2020/danske-sapphire-angular.mjs +103 -35
- package/fesm2020/danske-sapphire-angular.mjs.map +1 -1
- package/lib/listbox/i18n/index.d.ts +3 -0
- package/lib/listbox/src/listbox.component.d.ts +15 -3
- package/lib/select/src/common/select-component-base.d.ts +7 -1
- package/package.json +3 -3
|
@@ -225,7 +225,7 @@ export class SelectComponentBase {
|
|
|
225
225
|
}
|
|
226
226
|
}
|
|
227
227
|
SelectComponentBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SelectComponentBase, deps: [{ token: i1.SelectValueHolder }], target: i0.ɵɵFactoryTarget.Directive });
|
|
228
|
-
SelectComponentBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: SelectComponentBase, inputs: { disabled: "disabled", id: "id", name: "name", autocomplete: "autocomplete", placeholder: "placeholder", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"] }, outputs: { opened: "opened", closed: "closed", selected: "selected" }, queries: [{ propertyName: "selectionText", first: true, predicate: SelectionTextDirective, descendants: true }, { propertyName: "options", predicate: OptionComponent, descendants: true }, { propertyName: "listboxChildren", predicate: ListboxChild }], ngImport: i0 });
|
|
228
|
+
SelectComponentBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: SelectComponentBase, inputs: { disabled: "disabled", id: "id", name: "name", autocomplete: "autocomplete", placeholder: "placeholder", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], emptyState: "emptyState" }, outputs: { opened: "opened", closed: "closed", selected: "selected" }, queries: [{ propertyName: "selectionText", first: true, predicate: SelectionTextDirective, descendants: true }, { propertyName: "options", predicate: OptionComponent, descendants: true }, { propertyName: "listboxChildren", predicate: ListboxChild }], ngImport: i0 });
|
|
229
229
|
__decorate([
|
|
230
230
|
CoerceBoolean
|
|
231
231
|
], SelectComponentBase.prototype, "disabled", void 0);
|
|
@@ -265,5 +265,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
265
265
|
}], selectionText: [{
|
|
266
266
|
type: ContentChild,
|
|
267
267
|
args: [SelectionTextDirective]
|
|
268
|
+
}], emptyState: [{
|
|
269
|
+
type: Input
|
|
268
270
|
}] } });
|
|
269
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWNvbXBvbmVudC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZWxlY3Qvc3JjL2NvbW1vbi9zZWxlY3QtY29tcG9uZW50LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUV6RSxPQUFPLEVBQ0wsWUFBWSxFQUVaLGVBQWUsR0FDaEIsTUFBTSw2QkFBNkIsQ0FBQztBQUVyQyxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWixlQUFlLEVBQ2YsU0FBUyxFQUVULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzNELE9BQU8sRUFFTCxjQUFjLEdBRWYsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQixPQUFPLEVBQ0wsd0JBQXdCLEdBRXpCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7OztBQUc1RSxNQUFNLE9BQWdCLG1CQUFtQjtJQThFdkMsSUFBSSxZQUFZLENBQUMsS0FBd0I7UUFDdkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBQ0QsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFDRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ3JD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QVk7Z0JBR25CLGNBQWM7c0JBRGIsS0FBSzt1QkFBQyxpQkFBaUI7Z0JBSXhCLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2VyY2VCb29sZWFuIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvZXJjZS1ib29sZWFuLmRlY29yYXRvcic7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgTGlzdGJveENoaWxkLFxuICBMaXN0Ym94Q29tcG9uZW50LFxuICBPcHRpb25Db21wb25lbnQsXG59IGZyb20gJy4uLy4uLy4uL2xpc3Rib3gvcHVibGljX2FwaSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb250ZW50Q2hpbGQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0b0lkIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2F1dG8taWQuZGVjb3JhdG9yJztcbmltcG9ydCB7XG4gIEZvY3VzT3JpZ2luLFxuICBMaXN0S2V5TWFuYWdlcixcbiAgTGlzdEtleU1hbmFnZXJPcHRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vcG9wb3Zlci9zcmMvcG9wb3Zlci10cmlnZ2VyLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1xuICBNdWx0aVNlbGVjdERpcmVjdGl2ZUJhc2UsXG4gIFNlbGVjdFZhbHVlSG9sZGVyLFxufSBmcm9tICcuL3NlbGVjdC12YWx1ZS1ob2xkZXInO1xuaW1wb3J0IHsgU2VsZWN0aW9uVGV4dERpcmVjdGl2ZSB9IGZyb20gJy4uL3NlbGVjdC9zZWxlY3Rpb24tdGV4dC5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKCkgLy8gVGhpcyBpcyBuZWVkZWQgZm9yIGRlY29yYXRvcnMgbGlrZSBJbnB1dCB0byB3b3JrXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2VsZWN0Q29tcG9uZW50QmFzZVxuICBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3lcbntcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNvbXBvbmVudCBpcyBkaXNhYmxlZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIEBDb2VyY2VCb29sZWFuXG4gIGRpc2FibGVkOiBCb29sZWFuSW5wdXQ7XG5cbiAgLyoqIEEgdW5pcXVlIGlkIGZvciB0aGUgc2VsZWN0LiBJZiBub25lIGlzIHN1cHBsaWVkLCBpdCB3aWxsIGJlIGF1dG8tZ2VuZXJhdGVkLiAqL1xuICBASW5wdXQoKVxuICBAQXV0b0lkKClcbiAgaWQgPSAnJztcblxuICAvKiogVGhlIG5hbWUgb2YgdGhlIGlucHV0LCB1c2VkIHdoZW4gc3VibWl0dGluZyBhbiBIVE1MIGZvcm0uICovXG4gIEBJbnB1dCgpXG4gIG5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqIFRoZSBhdXRvY29tcGxldGUgYmVoYXZpb3IgKi9cbiAgQElucHV0KClcbiAgYXV0b2NvbXBsZXRlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQbGFjZWhvbGRlciB0byBiZSBzaG93biBpZiBubyB2YWx1ZSBoYXMgYmVlbiBzZWxlY3RlZC5cbiAgICovXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHBvcG92ZXIgaXMgb3BlbmVkXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgb3BlbmVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgcG9wb3ZlciBpcyBjbG9zZWRcbiAgICovXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBjbG9zZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAQ29udGVudENoaWxkcmVuKE9wdGlvbkNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwdWJsaWMgb3B0aW9uczogUXVlcnlMaXN0PE9wdGlvbkNvbXBvbmVudD4gPSBuZXcgUXVlcnlMaXN0PE9wdGlvbkNvbXBvbmVudD4oKTtcblxuICBAQ29udGVudENoaWxkcmVuKExpc3Rib3hDaGlsZClcbiAgcHVibGljIGxpc3Rib3hDaGlsZHJlbjogUXVlcnlMaXN0PExpc3Rib3hDaGlsZD4gPVxuICAgIG5ldyBRdWVyeUxpc3Q8TGlzdGJveENoaWxkPigpO1xuXG4gIC8qKlxuICAgKiBNYW5hZ2VzIGtleWJvYXJkIGV2ZW50cyBmb3Igb3B0aW9ucyBpbiB0aGUgcGFuZWwuXG4gICAqL1xuICBwcm90ZWN0ZWQga2V5TWFuYWdlcjpcbiAgICB8IExpc3RLZXlNYW5hZ2VyPHsgdmFsdWU6IHN0cmluZyB9ICYgTGlzdEtleU1hbmFnZXJPcHRpb24+XG4gICAgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEVtaXRzIHdoZW5ldmVyIHRoZSBkcm9wZG93biBpcyBjbG9zZWQgYXMgYSByZXN1bHQgb2YgYW4gb3B0aW9uIChhbHJlYWR5XG4gICAqIHNlbGVjdGVkIG9yIG5vdCkgYmVpbmcgc2VsZWN0ZWQuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgc2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQElucHV0KCdhcmlhLWxhYmVsJylcbiAgYXJpYUxhYmVsOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCdhcmlhLWxhYmVsbGVkYnknKVxuICBhcmlhTGFiZWxsZWRieT86IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIEBDb250ZW50Q2hpbGQoU2VsZWN0aW9uVGV4dERpcmVjdGl2ZSlcbiAgc2VsZWN0aW9uVGV4dD86IFNlbGVjdGlvblRleHREaXJlY3RpdmU7XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gd29yayBhcm91bmQgRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvciBlcnJvciB0aHJvd24gZnJvbSBIaWRkZW5TZWxlY3QsXG4gICAqIHdoZW4gdGhlIHNlbGVjdCBjb21wb25lbnQgaXMgcmVuZGVyZWQgZnJvbSBhIHRlbXBsYXRlIChlLmcuIHdpdGggKm5nSWYpLiBJdCdzIHNldCB0byB0cnVlXG4gICAqIGFzeW5jaHJvbm91c2x5IGFmdGVyIGNvbnRlbnQgaXMgaW5pdGlhbGl6ZWQsIHRvIGRlbGF5IHJlbmRlcmluZyBvZiB0aGluZ3MgdGhhdCBkZXBlbmQgb25cbiAgICogb3B0aW9ucy4gSXQncyBub3QgY2xlYXIgd2h5IHRoZSBpc3N1ZSBoYXBwZW5zLCBhbmQgaXQgb25seSBoYXBwZW5zIHdoZW4gc2VsZWN0IGlzIHVzZWQgd2l0aFxuICAgKiAqbmdJZiwgb3IgZ2VuZXJhbGx5IGluIGEgdGVtcGxhdGUuXG4gICAqL1xuICBfaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICBzZXQgbGlzdGJveFZhbHVlKHZhbHVlOiByZWFkb25seSBzdHJpbmdbXSkge1xuICAgIHRoaXMudmFsdWVIb2xkZXIuc2V0RnJvbUxpc3Rib3hWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy5jb250cm9sVmFsdWVBY2Nlc3NvckNoYW5nZUZuKHRoaXMudmFsdWVIb2xkZXIudmFsdWUpO1xuICB9XG4gIGdldCBsaXN0Ym94VmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVIb2xkZXIuZ2V0TGlzdGJveFZhbHVlKCk7XG4gIH1cbiAgZ2V0IHNlbGVjdGVkT3B0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zPy5maWx0ZXIoKG9wdGlvbikgPT5cbiAgICAgIHRoaXMubGlzdGJveFZhbHVlLmluY2x1ZGVzKG9wdGlvbi52YWx1ZSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHZhbHVlSG9sZGVyOiBTZWxlY3RWYWx1ZUhvbGRlcikge31cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgdHJpZ2dlclJlZjogUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUgfCB1bmRlZmluZWQ7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCB0cmlnZ2VyRWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfCB1bmRlZmluZWQ7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBsaXN0Ym94OiBMaXN0Ym94Q29tcG9uZW50IHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgYWJzdHJhY3QgZm9jdXMoZm9jdXNPcmlnaW46IEZvY3VzT3JpZ2luKTogdm9pZDtcbiAgcHVibGljIGFic3RyYWN0IGlzRm9jdXNlZCgpOiBib29sZWFuO1xuXG4gIGhhbmRsZUtleURvd24oJGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKCRldmVudC50YXJnZXQgIT09IHRoaXMudHJpZ2dlckVsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgc3dpdGNoICgkZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICB0aGlzLnRyaWdnZXJSZWY/Lm9wZW4oKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdBcnJvd1VwJzpcbiAgICAgICAgdGhpcy50cmlnZ2VyUmVmPy5vcGVuKCk7XG4gICAgICAgIC8vIHdlIG5lZWQgdG8gZGVsYXkgaXQgYSBsaXR0bGUsIHNpbmNlIHRoZSBsaXN0Ym94IHdpbGwgYXV0b2ZvY3VzXG4gICAgICAgIC8vIHRoZSBmaXJzdCBpdGVtLlxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5vcHRpb25zPy5sYXN0ICYmIHRoaXMubGlzdGJveFZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5saXN0Ym94Py5zZXRBY3RpdmVPcHRpb24odGhpcy5vcHRpb25zPy5sYXN0LnZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0Fycm93UmlnaHQnOlxuICAgICAgY2FzZSAnQXJyb3dMZWZ0JzpcbiAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICB0aGlzLnRyaWdnZXJSZWY/Lm9wZW4oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBvcHRpb24gPSB0aGlzLmdldE5leHRFbmFibGVkT3B0aW9uVmFsdWUoXG4gICAgICAgICAgICAkZXZlbnQua2V5ID09PSAnQXJyb3dMZWZ0JyA/ICdsZWZ0JyA6ICdyaWdodCdcbiAgICAgICAgICApO1xuICAgICAgICAgIGlmIChvcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMubGlzdGJveFZhbHVlID0gW29wdGlvbl07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy5rZXlNYW5hZ2VyPy5vbktleWRvd24oJGV2ZW50KTtcbiAgICB9XG4gIH1cblxuICBnZXRTZWxlY3Rpb25UZXh0KCk6IHN0cmluZyB7XG4gICAgY29uc3Qgc2VsZWN0ZWRPcHRpb25zID0gdGhpcy5zZWxlY3RlZE9wdGlvbnM7XG4gICAgaWYgKHNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgaWYgKHNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPT09IDEpIHtcbiAgICAgIHJldHVybiBzZWxlY3RlZE9wdGlvbnNbMF0/LmxhYmVsO1xuICAgIH1cbiAgICByZXR1cm4gYCR7XG4gICAgICBzZWxlY3RlZE9wdGlvbnMubGVuZ3RoID09PSB0aGlzLm9wdGlvbnMubGVuZ3RoXG4gICAgICAgID8gJ0FsbCdcbiAgICAgICAgOiBzZWxlY3RlZE9wdGlvbnMubGVuZ3RoXG4gICAgfSBzZWxlY3RlZGA7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciBtdWx0aXBsZSBzZWxlY3Rpb24gaXMgYWxsb3dlZC5cbiAgICovXG4gIGdldCBtdWx0aXBsZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZUhvbGRlciBpbnN0YW5jZW9mIE11bHRpU2VsZWN0RGlyZWN0aXZlQmFzZTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRLZXlNYW5hZ2VyKCk7XG5cbiAgICB0aGlzLm9wdGlvbnMuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5pbml0S2V5TWFuYWdlcigpO1xuICAgIH0pO1xuICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgdGhpcy5faW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIC8qKlxuICAgICAqIFRoaXMgaXMgdG8gYXZvaWQgYW4gTkcwMTAwIEV4cHJlc3Npb25DaGFuZ2VkQWZ0ZXIuLi4gZXJyb3Igd2hlbiB0aGVyZSBpcyBhbiBpbml0aWFsIHZhbHVlXG4gICAgICogVGhlIGlzc3VlIGlzIHByb2JhYmx5IGR1ZSB0byB0aGUgZmFjdCB0aGF0IG9wdGlvbnMgYXJlIGRlZmluZWQgd2l0aGluZyB0aGUgKipjb250ZW50KipcbiAgICAgKiAoc3Atb3B0aW9uIGVsZW1lbnRzKSwgc28gdGhlIGxpc3Rib3ggdmFsdWUgY2FuIGNoYW5nZSBhZnRlciB0aGUgdmlldyBvZiBzZWxlY3QgaXMgY2hlY2tlZCxcbiAgICAgKiBpZiB0aGVyZSBpcyBhIGRlZmF1bHQgdmFsdWUuIEFuZCB0aGF0IGxlYWRzIHRvIHRoZSBlcnJvciwgc2luY2Ugd2UgaGF2ZSBiaW5kaW5ncyBpbiB0aGVcbiAgICAgKiB0ZW1wbGF0ZSwgc3VjaCBhcyBgZ2V0U2VsZWN0aW9uVGV4dCgpYCwgdGhhdCBkZXBlbmQgb24gdGhlIGxpc3Rib3ggdmFsdWUuXG4gICAgICovXG4gICAgaWYgKHRoaXMubGlzdGJveFZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMua2V5TWFuYWdlcj8uZGVzdHJveSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGFuIGl0ZW0gaW4gdGhlIGxpc3Rib3ggaXMgc2VsZWN0ZWQuXG4gICAqL1xuICBfaGFuZGxlU2VsZWN0ZWQoKSB7XG4gICAgaWYgKCF0aGlzLm11bHRpcGxlKSB7XG4gICAgICB0aGlzLnRyaWdnZXJSZWY/LmNsb3NlKCk7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWQuZW1pdCgpO1xuICB9XG5cbiAgaXNPcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRyaWdnZXJSZWY/LmlzT3BlbigpID8/IGZhbHNlO1xuICB9XG5cbiAgb3BlbigpIHtcbiAgICB0aGlzLnRyaWdnZXJSZWY/Lm9wZW4oKTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMudHJpZ2dlclJlZj8uY2xvc2UoKTtcbiAgfVxuXG4gIHRvZ2dsZSgpIHtcbiAgICB0aGlzLnRyaWdnZXJSZWY/Lm9wZW4oKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRGaWVsZExhYmVsPygpOiBzdHJpbmc7XG5cbiAgZ2V0TGFiZWxUZXh0KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuICh0aGlzLmdldEZpZWxkTGFiZWw/LigpID8/IHRoaXMuYXJpYUxhYmVsKT8udHJpbSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm46ICh2YWx1ZTogYW55KSA9PiB2b2lkID0gKCkgPT4ge307XG4gIHB1YmxpYyBvblRvdWNoZWQ6ICgpID0+IGFueSA9ICgpID0+IHt9O1xuXG4gIHB1YmxpYyBfb25PcGVuKCk6IHZvaWQge1xuICAgIHRoaXMub3BlbmVkLmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBfb25DbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlZC5lbWl0KCk7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAgKi9cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5jb250cm9sVmFsdWVBY2Nlc3NvckNoYW5nZUZuID0gZm47XG4gIH1cblxuICAvKipcbiAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBDb250cm9sVmFsdWVBY2Nlc3Nvci5cbiAgICovXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgQ29udHJvbFZhbHVlQWNjZXNzb3IuXG4gICAqL1xuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAgKi9cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogdW5rbm93bik6IHZvaWQge1xuICAgIHRoaXMudmFsdWVIb2xkZXIudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXROZXh0RW5hYmxlZE9wdGlvblZhbHVlKGRpcmVjdGlvbjogJ2xlZnQnIHwgJ3JpZ2h0JyA9ICdyaWdodCcpIHtcbiAgICBjb25zdCBvcHRpb25zQXJyYXkgPSB0aGlzLm9wdGlvbnM/LnRvQXJyYXkoKSB8fCBbXTtcbiAgICBsZXQgbmV4dE5vbkRpc2FibGVkT3B0aW9uO1xuICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9uID0gdGhpcy5zZWxlY3RlZE9wdGlvbnNbMF07XG5cbiAgICBjb25zdCBjdXJyZW50T3B0aW9uSW5kZXggPVxuICAgICAgKHNlbGVjdGVkT3B0aW9uICYmIG9wdGlvbnNBcnJheS5pbmRleE9mKHNlbGVjdGVkT3B0aW9uKSkgPz8gLTE7XG4gICAgY29uc3Qgbm90RGlzYWJsZWQgPSAobzogT3B0aW9uQ29tcG9uZW50KSA9PiAhby5kaXNhYmxlZDtcblxuICAgIGlmIChjdXJyZW50T3B0aW9uSW5kZXggPT09IC0xKSB7XG4gICAgICBuZXh0Tm9uRGlzYWJsZWRPcHRpb24gPSBvcHRpb25zQXJyYXkuZmluZChub3REaXNhYmxlZCk7XG4gICAgfSBlbHNlIGlmIChkaXJlY3Rpb24gPT09ICdsZWZ0Jykge1xuICAgICAgbmV4dE5vbkRpc2FibGVkT3B0aW9uID0gb3B0aW9uc0FycmF5XG4gICAgICAgIC5zbGljZSgwLCBjdXJyZW50T3B0aW9uSW5kZXgpXG4gICAgICAgIC5yZXZlcnNlKClcbiAgICAgICAgLmZpbmQobm90RGlzYWJsZWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXh0Tm9uRGlzYWJsZWRPcHRpb24gPSBvcHRpb25zQXJyYXlcbiAgICAgICAgLnNsaWNlKGN1cnJlbnRPcHRpb25JbmRleCArIDEsIG9wdGlvbnNBcnJheS5sZW5ndGgpXG4gICAgICAgIC5maW5kKG5vdERpc2FibGVkKTtcbiAgICB9XG5cbiAgICBjb25zdCBuZXh0Tm9uRGlzYWJsZWRPcHRpb25JbmRleCA9IG5leHROb25EaXNhYmxlZE9wdGlvblxuICAgICAgPyBvcHRpb25zQXJyYXkuaW5kZXhPZihuZXh0Tm9uRGlzYWJsZWRPcHRpb24pXG4gICAgICA6IGN1cnJlbnRPcHRpb25JbmRleDtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zPy5nZXQobmV4dE5vbkRpc2FibGVkT3B0aW9uSW5kZXgpPy52YWx1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpbml0S2V5TWFuYWdlcigpOiB2b2lkIHtcbiAgICAvLyBkZXN0cm95IGFueSBleGlzdGluZyBrZXkgbWFuYWdlclxuICAgIHRoaXMua2V5TWFuYWdlcj8uZGVzdHJveSgpO1xuXG4gICAgdGhpcy5rZXlNYW5hZ2VyID0gbmV3IExpc3RLZXlNYW5hZ2VyPFxuICAgICAgeyB2YWx1ZTogc3RyaW5nIH0gJiBMaXN0S2V5TWFuYWdlck9wdGlvblxuICAgID4oXG4gICAgICB0aGlzLm9wdGlvbnMubWFwKChvcHRpb24pID0+ICh7XG4gICAgICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgICAgIGdldExhYmVsOiAoKSA9PiBvcHRpb24ubGFiZWwsXG4gICAgICAgIGRpc2FibGVkOiAhIW9wdGlvbi5kaXNhYmxlZCxcbiAgICAgIH0pKVxuICAgICkud2l0aFR5cGVBaGVhZCgpO1xuXG4gICAgdGhpcy5rZXlNYW5hZ2VyLmNoYW5nZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPSB0aGlzLm9wdGlvbnM/LmZpbmQoXG4gICAgICAgIChvcHRpb24pID0+IHRoaXMua2V5TWFuYWdlcj8uYWN0aXZlSXRlbT8udmFsdWUgPT09IG9wdGlvbi52YWx1ZVxuICAgICAgKTtcblxuICAgICAgaWYgKHNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICAgIHRoaXMubGlzdGJveFZhbHVlID0gW3NlbGVjdGVkT3B0aW9uLnZhbHVlXTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
271
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWNvbXBvbmVudC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZWxlY3Qvc3JjL2NvbW1vbi9zZWxlY3QtY29tcG9uZW50LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUV6RSxPQUFPLEVBQ0wsWUFBWSxFQUVaLGVBQWUsR0FDaEIsTUFBTSw2QkFBNkIsQ0FBQztBQUVyQyxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWixlQUFlLEVBQ2YsU0FBUyxFQUVULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzNELE9BQU8sRUFFTCxjQUFjLEdBRWYsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQixPQUFPLEVBQ0wsd0JBQXdCLEdBRXpCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7OztBQUc1RSxNQUFNLE9BQWdCLG1CQUFtQjtJQXNGdkMsSUFBSSxZQUFZLENBQUMsS0FBd0I7UUFDdkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBQ0QsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFDRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ3JD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QVk7Z0JBR25CLGNBQWM7c0JBRGIsS0FBSzt1QkFBQyxpQkFBaUI7Z0JBSXhCLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxzQkFBc0I7Z0JBU3BDLFVBQVU7c0JBRFQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvZXJjZUJvb2xlYW4gfSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29lcmNlLWJvb2xlYW4uZGVjb3JhdG9yJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICBMaXN0Ym94Q2hpbGQsXG4gIExpc3Rib3hDb21wb25lbnQsXG4gIE9wdGlvbkNvbXBvbmVudCxcbn0gZnJvbSAnLi4vLi4vLi4vbGlzdGJveC9wdWJsaWNfYXBpJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbnRlbnRDaGlsZCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRvSWQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vYXV0by1pZC5kZWNvcmF0b3InO1xuaW1wb3J0IHtcbiAgRm9jdXNPcmlnaW4sXG4gIExpc3RLZXlNYW5hZ2VyLFxuICBMaXN0S2V5TWFuYWdlck9wdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9wb3BvdmVyL3NyYy9wb3BvdmVyLXRyaWdnZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7XG4gIE11bHRpU2VsZWN0RGlyZWN0aXZlQmFzZSxcbiAgU2VsZWN0VmFsdWVIb2xkZXIsXG59IGZyb20gJy4vc2VsZWN0LXZhbHVlLWhvbGRlcic7XG5pbXBvcnQgeyBTZWxlY3Rpb25UZXh0RGlyZWN0aXZlIH0gZnJvbSAnLi4vc2VsZWN0L3NlbGVjdGlvbi10ZXh0LmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoKSAvLyBUaGlzIGlzIG5lZWRlZCBmb3IgZGVjb3JhdG9ycyBsaWtlIElucHV0IHRvIHdvcmtcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTZWxlY3RDb21wb25lbnRCYXNlXG4gIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveVxue1xuICAvKipcbiAgICogV2hldGhlciB0aGUgY29tcG9uZW50IGlzIGRpc2FibGVkLlxuICAgKi9cbiAgQElucHV0KClcbiAgQENvZXJjZUJvb2xlYW5cbiAgZGlzYWJsZWQ6IEJvb2xlYW5JbnB1dDtcblxuICAvKiogQSB1bmlxdWUgaWQgZm9yIHRoZSBzZWxlY3QuIElmIG5vbmUgaXMgc3VwcGxpZWQsIGl0IHdpbGwgYmUgYXV0by1nZW5lcmF0ZWQuICovXG4gIEBJbnB1dCgpXG4gIEBBdXRvSWQoKVxuICBpZCA9ICcnO1xuXG4gIC8qKiBUaGUgbmFtZSBvZiB0aGUgaW5wdXQsIHVzZWQgd2hlbiBzdWJtaXR0aW5nIGFuIEhUTUwgZm9ybS4gKi9cbiAgQElucHV0KClcbiAgbmFtZT86IHN0cmluZztcblxuICAvKiogVGhlIGF1dG9jb21wbGV0ZSBiZWhhdmlvciAqL1xuICBASW5wdXQoKVxuICBhdXRvY29tcGxldGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBsYWNlaG9sZGVyIHRvIGJlIHNob3duIGlmIG5vIHZhbHVlIGhhcyBiZWVuIHNlbGVjdGVkLlxuICAgKi9cbiAgQElucHV0KCkgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgcG9wb3ZlciBpcyBvcGVuZWRcbiAgICovXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBvcGVuZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBwb3BvdmVyIGlzIGNsb3NlZFxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGNsb3NlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oT3B0aW9uQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIHB1YmxpYyBvcHRpb25zOiBRdWVyeUxpc3Q8T3B0aW9uQ29tcG9uZW50PiA9IG5ldyBRdWVyeUxpc3Q8T3B0aW9uQ29tcG9uZW50PigpO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oTGlzdGJveENoaWxkKVxuICBwdWJsaWMgbGlzdGJveENoaWxkcmVuOiBRdWVyeUxpc3Q8TGlzdGJveENoaWxkPiA9XG4gICAgbmV3IFF1ZXJ5TGlzdDxMaXN0Ym94Q2hpbGQ+KCk7XG5cbiAgLyoqXG4gICAqIE1hbmFnZXMga2V5Ym9hcmQgZXZlbnRzIGZvciBvcHRpb25zIGluIHRoZSBwYW5lbC5cbiAgICovXG4gIHByb3RlY3RlZCBrZXlNYW5hZ2VyOlxuICAgIHwgTGlzdEtleU1hbmFnZXI8eyB2YWx1ZTogc3RyaW5nIH0gJiBMaXN0S2V5TWFuYWdlck9wdGlvbj5cbiAgICB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogRW1pdHMgd2hlbmV2ZXIgdGhlIGRyb3Bkb3duIGlzIGNsb3NlZCBhcyBhIHJlc3VsdCBvZiBhbiBvcHRpb24gKGFscmVhZHlcbiAgICogc2VsZWN0ZWQgb3Igbm90KSBiZWluZyBzZWxlY3RlZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBzZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBASW5wdXQoJ2FyaWEtbGFiZWwnKVxuICBhcmlhTGFiZWw6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoJ2FyaWEtbGFiZWxsZWRieScpXG4gIGFyaWFMYWJlbGxlZGJ5Pzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgQENvbnRlbnRDaGlsZChTZWxlY3Rpb25UZXh0RGlyZWN0aXZlKVxuICBzZWxlY3Rpb25UZXh0PzogU2VsZWN0aW9uVGV4dERpcmVjdGl2ZTtcblxuICAvKipcbiAgICogVXNlZCB0byBwcm92aWRlIGN1c3RvbSBlbXB0eSBzdGF0ZSBjb250ZW50LlxuICAgKiBXaGVuIG5vdCBwcm92aWRlZCwgdGhlIGRlZmF1bHQgXCJObyByZXN1bHRzXCIgKGluIGdpdmVuIGxhbmd1YWdlKSBtZXNzYWdlIGlzIHNob3duLlxuICAgKiBQYXNzaW5nIGBudWxsYCB3aWxsIGhpZGUgdGhlIHBvcG92ZXIgd2l0aCB0aGUgZW1wdHkgc3RhdGUgbWVzc2FnZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGVtcHR5U3RhdGU/OiBMaXN0Ym94Q29tcG9uZW50WydlbXB0eVN0YXRlJ107XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gd29yayBhcm91bmQgRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvciBlcnJvciB0aHJvd24gZnJvbSBIaWRkZW5TZWxlY3QsXG4gICAqIHdoZW4gdGhlIHNlbGVjdCBjb21wb25lbnQgaXMgcmVuZGVyZWQgZnJvbSBhIHRlbXBsYXRlIChlLmcuIHdpdGggKm5nSWYpLiBJdCdzIHNldCB0byB0cnVlXG4gICAqIGFzeW5jaHJvbm91c2x5IGFmdGVyIGNvbnRlbnQgaXMgaW5pdGlhbGl6ZWQsIHRvIGRlbGF5IHJlbmRlcmluZyBvZiB0aGluZ3MgdGhhdCBkZXBlbmQgb25cbiAgICogb3B0aW9ucy4gSXQncyBub3QgY2xlYXIgd2h5IHRoZSBpc3N1ZSBoYXBwZW5zLCBhbmQgaXQgb25seSBoYXBwZW5zIHdoZW4gc2VsZWN0IGlzIHVzZWQgd2l0aFxuICAgKiAqbmdJZiwgb3IgZ2VuZXJhbGx5IGluIGEgdGVtcGxhdGUuXG4gICAqL1xuICBfaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICBzZXQgbGlzdGJveFZhbHVlKHZhbHVlOiByZWFkb25seSBzdHJpbmdbXSkge1xuICAgIHRoaXMudmFsdWVIb2xkZXIuc2V0RnJvbUxpc3Rib3hWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy5jb250cm9sVmFsdWVBY2Nlc3NvckNoYW5nZUZuKHRoaXMudmFsdWVIb2xkZXIudmFsdWUpO1xuICB9XG4gIGdldCBsaXN0Ym94VmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVIb2xkZXIuZ2V0TGlzdGJveFZhbHVlKCk7XG4gIH1cbiAgZ2V0IHNlbGVjdGVkT3B0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zPy5maWx0ZXIoKG9wdGlvbikgPT5cbiAgICAgIHRoaXMubGlzdGJveFZhbHVlLmluY2x1ZGVzKG9wdGlvbi52YWx1ZSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHZhbHVlSG9sZGVyOiBTZWxlY3RWYWx1ZUhvbGRlcikge31cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgdHJpZ2dlclJlZjogUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUgfCB1bmRlZmluZWQ7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCB0cmlnZ2VyRWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfCB1bmRlZmluZWQ7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBsaXN0Ym94OiBMaXN0Ym94Q29tcG9uZW50IHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgYWJzdHJhY3QgZm9jdXMoZm9jdXNPcmlnaW46IEZvY3VzT3JpZ2luKTogdm9pZDtcbiAgcHVibGljIGFic3RyYWN0IGlzRm9jdXNlZCgpOiBib29sZWFuO1xuXG4gIGhhbmRsZUtleURvd24oJGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKCRldmVudC50YXJnZXQgIT09IHRoaXMudHJpZ2dlckVsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgc3dpdGNoICgkZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICB0aGlzLnRyaWdnZXJSZWY/Lm9wZW4oKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdBcnJvd1VwJzpcbiAgICAgICAgdGhpcy50cmlnZ2VyUmVmPy5vcGVuKCk7XG4gICAgICAgIC8vIHdlIG5lZWQgdG8gZGVsYXkgaXQgYSBsaXR0bGUsIHNpbmNlIHRoZSBsaXN0Ym94IHdpbGwgYXV0b2ZvY3VzXG4gICAgICAgIC8vIHRoZSBmaXJzdCBpdGVtLlxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5vcHRpb25zPy5sYXN0ICYmIHRoaXMubGlzdGJveFZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5saXN0Ym94Py5zZXRBY3RpdmVPcHRpb24odGhpcy5vcHRpb25zPy5sYXN0LnZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0Fycm93UmlnaHQnOlxuICAgICAgY2FzZSAnQXJyb3dMZWZ0JzpcbiAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICB0aGlzLnRyaWdnZXJSZWY/Lm9wZW4oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBvcHRpb24gPSB0aGlzLmdldE5leHRFbmFibGVkT3B0aW9uVmFsdWUoXG4gICAgICAgICAgICAkZXZlbnQua2V5ID09PSAnQXJyb3dMZWZ0JyA/ICdsZWZ0JyA6ICdyaWdodCdcbiAgICAgICAgICApO1xuICAgICAgICAgIGlmIChvcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMubGlzdGJveFZhbHVlID0gW29wdGlvbl07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy5rZXlNYW5hZ2VyPy5vbktleWRvd24oJGV2ZW50KTtcbiAgICB9XG4gIH1cblxuICBnZXRTZWxlY3Rpb25UZXh0KCk6IHN0cmluZyB7XG4gICAgY29uc3Qgc2VsZWN0ZWRPcHRpb25zID0gdGhpcy5zZWxlY3RlZE9wdGlvbnM7XG4gICAgaWYgKHNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgaWYgKHNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPT09IDEpIHtcbiAgICAgIHJldHVybiBzZWxlY3RlZE9wdGlvbnNbMF0/LmxhYmVsO1xuICAgIH1cbiAgICByZXR1cm4gYCR7XG4gICAgICBzZWxlY3RlZE9wdGlvbnMubGVuZ3RoID09PSB0aGlzLm9wdGlvbnMubGVuZ3RoXG4gICAgICAgID8gJ0FsbCdcbiAgICAgICAgOiBzZWxlY3RlZE9wdGlvbnMubGVuZ3RoXG4gICAgfSBzZWxlY3RlZGA7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciBtdWx0aXBsZSBzZWxlY3Rpb24gaXMgYWxsb3dlZC5cbiAgICovXG4gIGdldCBtdWx0aXBsZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZUhvbGRlciBpbnN0YW5jZW9mIE11bHRpU2VsZWN0RGlyZWN0aXZlQmFzZTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRLZXlNYW5hZ2VyKCk7XG5cbiAgICB0aGlzLm9wdGlvbnMuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5pbml0S2V5TWFuYWdlcigpO1xuICAgIH0pO1xuICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgdGhpcy5faW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIC8qKlxuICAgICAqIFRoaXMgaXMgdG8gYXZvaWQgYW4gTkcwMTAwIEV4cHJlc3Npb25DaGFuZ2VkQWZ0ZXIuLi4gZXJyb3Igd2hlbiB0aGVyZSBpcyBhbiBpbml0aWFsIHZhbHVlXG4gICAgICogVGhlIGlzc3VlIGlzIHByb2JhYmx5IGR1ZSB0byB0aGUgZmFjdCB0aGF0IG9wdGlvbnMgYXJlIGRlZmluZWQgd2l0aGluZyB0aGUgKipjb250ZW50KipcbiAgICAgKiAoc3Atb3B0aW9uIGVsZW1lbnRzKSwgc28gdGhlIGxpc3Rib3ggdmFsdWUgY2FuIGNoYW5nZSBhZnRlciB0aGUgdmlldyBvZiBzZWxlY3QgaXMgY2hlY2tlZCxcbiAgICAgKiBpZiB0aGVyZSBpcyBhIGRlZmF1bHQgdmFsdWUuIEFuZCB0aGF0IGxlYWRzIHRvIHRoZSBlcnJvciwgc2luY2Ugd2UgaGF2ZSBiaW5kaW5ncyBpbiB0aGVcbiAgICAgKiB0ZW1wbGF0ZSwgc3VjaCBhcyBgZ2V0U2VsZWN0aW9uVGV4dCgpYCwgdGhhdCBkZXBlbmQgb24gdGhlIGxpc3Rib3ggdmFsdWUuXG4gICAgICovXG4gICAgaWYgKHRoaXMubGlzdGJveFZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMua2V5TWFuYWdlcj8uZGVzdHJveSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGFuIGl0ZW0gaW4gdGhlIGxpc3Rib3ggaXMgc2VsZWN0ZWQuXG4gICAqL1xuICBfaGFuZGxlU2VsZWN0ZWQoKSB7XG4gICAgaWYgKCF0aGlzLm11bHRpcGxlKSB7XG4gICAgICB0aGlzLnRyaWdnZXJSZWY/LmNsb3NlKCk7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWQuZW1pdCgpO1xuICB9XG5cbiAgaXNPcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRyaWdnZXJSZWY/LmlzT3BlbigpID8/IGZhbHNlO1xuICB9XG5cbiAgb3BlbigpIHtcbiAgICB0aGlzLnRyaWdnZXJSZWY/Lm9wZW4oKTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMudHJpZ2dlclJlZj8uY2xvc2UoKTtcbiAgfVxuXG4gIHRvZ2dsZSgpIHtcbiAgICB0aGlzLnRyaWdnZXJSZWY/Lm9wZW4oKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRGaWVsZExhYmVsPygpOiBzdHJpbmc7XG5cbiAgZ2V0TGFiZWxUZXh0KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuICh0aGlzLmdldEZpZWxkTGFiZWw/LigpID8/IHRoaXMuYXJpYUxhYmVsKT8udHJpbSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm46ICh2YWx1ZTogYW55KSA9PiB2b2lkID0gKCkgPT4ge307XG4gIHB1YmxpYyBvblRvdWNoZWQ6ICgpID0+IGFueSA9ICgpID0+IHt9O1xuXG4gIHB1YmxpYyBfb25PcGVuKCk6IHZvaWQge1xuICAgIHRoaXMub3BlbmVkLmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBfb25DbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlZC5lbWl0KCk7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAgKi9cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5jb250cm9sVmFsdWVBY2Nlc3NvckNoYW5nZUZuID0gZm47XG4gIH1cblxuICAvKipcbiAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBDb250cm9sVmFsdWVBY2Nlc3Nvci5cbiAgICovXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgQ29udHJvbFZhbHVlQWNjZXNzb3IuXG4gICAqL1xuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAgKi9cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogdW5rbm93bik6IHZvaWQge1xuICAgIHRoaXMudmFsdWVIb2xkZXIudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXROZXh0RW5hYmxlZE9wdGlvblZhbHVlKGRpcmVjdGlvbjogJ2xlZnQnIHwgJ3JpZ2h0JyA9ICdyaWdodCcpIHtcbiAgICBjb25zdCBvcHRpb25zQXJyYXkgPSB0aGlzLm9wdGlvbnM/LnRvQXJyYXkoKSB8fCBbXTtcbiAgICBsZXQgbmV4dE5vbkRpc2FibGVkT3B0aW9uO1xuICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9uID0gdGhpcy5zZWxlY3RlZE9wdGlvbnNbMF07XG5cbiAgICBjb25zdCBjdXJyZW50T3B0aW9uSW5kZXggPVxuICAgICAgKHNlbGVjdGVkT3B0aW9uICYmIG9wdGlvbnNBcnJheS5pbmRleE9mKHNlbGVjdGVkT3B0aW9uKSkgPz8gLTE7XG4gICAgY29uc3Qgbm90RGlzYWJsZWQgPSAobzogT3B0aW9uQ29tcG9uZW50KSA9PiAhby5kaXNhYmxlZDtcblxuICAgIGlmIChjdXJyZW50T3B0aW9uSW5kZXggPT09IC0xKSB7XG4gICAgICBuZXh0Tm9uRGlzYWJsZWRPcHRpb24gPSBvcHRpb25zQXJyYXkuZmluZChub3REaXNhYmxlZCk7XG4gICAgfSBlbHNlIGlmIChkaXJlY3Rpb24gPT09ICdsZWZ0Jykge1xuICAgICAgbmV4dE5vbkRpc2FibGVkT3B0aW9uID0gb3B0aW9uc0FycmF5XG4gICAgICAgIC5zbGljZSgwLCBjdXJyZW50T3B0aW9uSW5kZXgpXG4gICAgICAgIC5yZXZlcnNlKClcbiAgICAgICAgLmZpbmQobm90RGlzYWJsZWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXh0Tm9uRGlzYWJsZWRPcHRpb24gPSBvcHRpb25zQXJyYXlcbiAgICAgICAgLnNsaWNlKGN1cnJlbnRPcHRpb25JbmRleCArIDEsIG9wdGlvbnNBcnJheS5sZW5ndGgpXG4gICAgICAgIC5maW5kKG5vdERpc2FibGVkKTtcbiAgICB9XG5cbiAgICBjb25zdCBuZXh0Tm9uRGlzYWJsZWRPcHRpb25JbmRleCA9IG5leHROb25EaXNhYmxlZE9wdGlvblxuICAgICAgPyBvcHRpb25zQXJyYXkuaW5kZXhPZihuZXh0Tm9uRGlzYWJsZWRPcHRpb24pXG4gICAgICA6IGN1cnJlbnRPcHRpb25JbmRleDtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zPy5nZXQobmV4dE5vbkRpc2FibGVkT3B0aW9uSW5kZXgpPy52YWx1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpbml0S2V5TWFuYWdlcigpOiB2b2lkIHtcbiAgICAvLyBkZXN0cm95IGFueSBleGlzdGluZyBrZXkgbWFuYWdlclxuICAgIHRoaXMua2V5TWFuYWdlcj8uZGVzdHJveSgpO1xuXG4gICAgdGhpcy5rZXlNYW5hZ2VyID0gbmV3IExpc3RLZXlNYW5hZ2VyPFxuICAgICAgeyB2YWx1ZTogc3RyaW5nIH0gJiBMaXN0S2V5TWFuYWdlck9wdGlvblxuICAgID4oXG4gICAgICB0aGlzLm9wdGlvbnMubWFwKChvcHRpb24pID0+ICh7XG4gICAgICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgICAgIGdldExhYmVsOiAoKSA9PiBvcHRpb24ubGFiZWwsXG4gICAgICAgIGRpc2FibGVkOiAhIW9wdGlvbi5kaXNhYmxlZCxcbiAgICAgIH0pKVxuICAgICkud2l0aFR5cGVBaGVhZCgpO1xuXG4gICAgdGhpcy5rZXlNYW5hZ2VyLmNoYW5nZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPSB0aGlzLm9wdGlvbnM/LmZpbmQoXG4gICAgICAgIChvcHRpb24pID0+IHRoaXMua2V5TWFuYWdlcj8uYWN0aXZlSXRlbT8udmFsdWUgPT09IG9wdGlvbi52YWx1ZVxuICAgICAgKTtcblxuICAgICAgaWYgKHNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICAgIHRoaXMubGlzdGJveFZhbHVlID0gW3NlbGVjdGVkT3B0aW9uLnZhbHVlXTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -311,7 +311,7 @@ SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versio
|
|
|
311
311
|
provide: FieldControl,
|
|
312
312
|
useExisting: forwardRef(() => SelectComponent),
|
|
313
313
|
},
|
|
314
|
-
], viewQueries: [{ propertyName: "triggerRef", first: true, predicate: ["triggerRef"], descendants: true }, { propertyName: "triggerElementRef", first: true, predicate: ["triggerElementRef"], descendants: true, read: ElementRef }, { propertyName: "listbox", first: true, predicate: ListboxComponent, descendants: true }, { propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true, read: ElementRef }], exportAs: ["spSelect"], usesInheritance: true, hostDirectives: [{ directive: i6.UseComponentStylesOnHost }], ngImport: i0, template: "<sp-hidden-select></sp-hidden-select>\n<div\n role=\"button\"\n aria-haspopup=\"listbox\"\n class=\"sapphire-select__button\"\n [spPopoverTriggerFor]=\"popover\"\n [spPopoverTriggerDisabled]=\"disabled\"\n spPopoverTriggerOpenOnPressStart\n spPopoverTriggerCloseOnScroll\n spPopoverPlacement=\"bottom start\"\n #triggerElementRef\n #triggerRef=\"spPopoverTrigger\"\n (keydown)=\"handleKeyDown($event)\"\n (spPopoverTriggerClosed)=\"_onClose()\"\n (spPopoverTriggerOpened)=\"_onOpen()\"\n (focus)=\"_onFocus()\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n [spPopoverNonModal]=\"searchable\"\n spPopoverDisablePushInsideViewport=\"true\"\n [id]=\"id\"\n [tabindex]=\"-1\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"_getAriaLabelledBy()\"\n [attr.aria-describedby]=\"_field?.error?.id || _field?.note?.id\"\n [attr.aria-invalid]=\"_field?.hasError(this) ? true : null\"\n>\n <div class=\"sapphire-select__value\" [id]=\"_valueContainerId\">\n <input\n *ngIf=\"searchable\"\n #searchInput\n tabindex=\"-1\"\n role=\"combobox\"\n class=\"sapphire-select__search-input\"\n [spListboxInput]=\"listbox\"\n [spVisuallyHidden]=\"!_isInputVisible()\"\n [attr.data-hidden]=\"!_isInputVisible()\"\n [placeholder]=\"placeholder || ''\"\n (keydown)=\"_onInputKeydown($event)\"\n (beforeinput)=\"open()\"\n [value]=\"_searchableSelectDirective?.searchValue\"\n (input)=\"_onSearchInput($event)\"\n />\n <ng-container *ngIf=\"!searchable || !_isInputVisible()\">\n <div\n *ngIf=\"selectedOptions.length === 0\"\n class=\"sapphire-select__placeholder\"\n >\n {{ placeholder }}\n </div>\n <ng-container *ngIf=\"selectedOptions.length > 0\">\n <ng-container *ngIf=\"!selectionText\">{{\n getSelectionText()\n }}</ng-container>\n <ng-content select=\"sp-selection-text\"></ng-content>\n </ng-container>\n </ng-container>\n </div>\n <div class=\"sapphire-select__icon-container\">\n <sp-icon name=\"chevronDown\"></sp-icon>\n </div>\n</div>\n<ng-template #popover>\n <sp-popover\n [style.display]=\"\n (filteredChildren$ | async)?.length === 0 ? 'none'
|
|
314
|
+
], viewQueries: [{ propertyName: "triggerRef", first: true, predicate: ["triggerRef"], descendants: true }, { propertyName: "triggerElementRef", first: true, predicate: ["triggerElementRef"], descendants: true, read: ElementRef }, { propertyName: "listbox", first: true, predicate: ListboxComponent, descendants: true }, { propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true, read: ElementRef }], exportAs: ["spSelect"], usesInheritance: true, hostDirectives: [{ directive: i6.UseComponentStylesOnHost }], ngImport: i0, template: "<sp-hidden-select></sp-hidden-select>\n<div\n role=\"button\"\n aria-haspopup=\"listbox\"\n class=\"sapphire-select__button\"\n [spPopoverTriggerFor]=\"popover\"\n [spPopoverTriggerDisabled]=\"disabled\"\n spPopoverTriggerOpenOnPressStart\n spPopoverTriggerCloseOnScroll\n spPopoverPlacement=\"bottom start\"\n #triggerElementRef\n #triggerRef=\"spPopoverTrigger\"\n (keydown)=\"handleKeyDown($event)\"\n (spPopoverTriggerClosed)=\"_onClose()\"\n (spPopoverTriggerOpened)=\"_onOpen()\"\n (focus)=\"_onFocus()\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n [spPopoverNonModal]=\"searchable\"\n spPopoverDisablePushInsideViewport=\"true\"\n [id]=\"id\"\n [tabindex]=\"-1\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"_getAriaLabelledBy()\"\n [attr.aria-describedby]=\"_field?.error?.id || _field?.note?.id\"\n [attr.aria-invalid]=\"_field?.hasError(this) ? true : null\"\n>\n <div class=\"sapphire-select__value\" [id]=\"_valueContainerId\">\n <input\n *ngIf=\"searchable\"\n #searchInput\n tabindex=\"-1\"\n role=\"combobox\"\n class=\"sapphire-select__search-input\"\n [spListboxInput]=\"listbox\"\n [spVisuallyHidden]=\"!_isInputVisible()\"\n [attr.data-hidden]=\"!_isInputVisible()\"\n [placeholder]=\"placeholder || ''\"\n (keydown)=\"_onInputKeydown($event)\"\n (beforeinput)=\"open()\"\n [value]=\"_searchableSelectDirective?.searchValue\"\n (input)=\"_onSearchInput($event)\"\n />\n <ng-container *ngIf=\"!searchable || !_isInputVisible()\">\n <div\n *ngIf=\"selectedOptions.length === 0\"\n class=\"sapphire-select__placeholder\"\n >\n {{ placeholder }}\n </div>\n <ng-container *ngIf=\"selectedOptions.length > 0\">\n <ng-container *ngIf=\"!selectionText\">{{\n getSelectionText()\n }}</ng-container>\n <ng-content select=\"sp-selection-text\"></ng-content>\n </ng-container>\n </ng-container>\n </div>\n <div class=\"sapphire-select__icon-container\">\n <sp-icon name=\"chevronDown\"></sp-icon>\n </div>\n</div>\n<ng-template #popover>\n <sp-popover\n [style.display]=\"\n (filteredChildren$ | async)?.length === 0 && !listbox?._getEmptyState()\n ? 'none'\n : undefined\n \"\n noPadding\n [trapFocus]=\"!searchable\"\n noMaxWidth\n [style.min-width]=\"triggerElementRef.offsetWidth + 'px'\"\n >\n <sp-listbox\n [spListboxItems]=\"(filteredChildren$ | async) || undefined\"\n navigationWrapDisabled\n [multiple]=\"multiple\"\n [(selectedValues)]=\"listboxValue\"\n (selectedValuesChange)=\"_searchableSelectDirective?.setSearchValue('')\"\n (selected)=\"_handleSelected()\"\n [emptyState]=\"emptyState\"\n ></sp-listbox>\n </sp-popover>\n</ng-template>\n", styles: [".sapphire-select{position:relative;display:block;color:var(--sapphire-semantic-color-foreground-primary);font-family:var(--sapphire-semantic-font-name-default);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-select__button{display:flex;align-items:center;height:var(--sapphire-semantic-size-height-control-lg);box-sizing:border-box;cursor:pointer;padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md) 0 var(--sapphire-semantic-size-spacing-control-horizontal-lg);border:none;background:var(--sapphire-semantic-color-background-field);width:100%;outline:0;text-align:left;color:inherit;font-family:inherit;box-shadow:inset 0 0 0 var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-default);border-radius:var(--sapphire-semantic-size-radius-md);gap:var(--sapphire-semantic-size-spacing-sm)}.sapphire-select--md .sapphire-select__button{border-radius:var(--sapphire-semantic-size-radius-sm);height:var(--sapphire-semantic-size-height-control-md);padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md);gap:var(--sapphire-semantic-size-spacing-xs)}.sapphire-select__value{flex:1 0 0;min-width:0;font-size:var(--sapphire-semantic-size-font-control-lg);width:100%;font-weight:var(--sapphire-semantic-font-weight-default-regular);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sapphire-select--md .sapphire-select__value{font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-select__placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sapphire-semantic-color-foreground-secondary);pointer-events:none}.sapphire-select__icon-container{line-height:0;width:var(--sapphire-semantic-size-icon-md);height:var(--sapphire-semantic-size-icon-md)}.sapphire-select--md .sapphire-select__icon-container{width:var(--sapphire-semantic-size-icon-sm);height:var(--sapphire-semantic-size-icon-sm)}.sapphire-select__prefix{display:inherit;font-size:var(--sapphire-semantic-size-font-control-lg);color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-select:not(.sapphire-select--md) .sapphire-select__button:has(.sapphire-select__prefix){padding-left:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-select--md .sapphire-select__prefix{font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-select__search-input:not([data-hidden=true]){all:inherit}.sapphire-select__search-input::placeholder{color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-select__native-select{position:absolute;inset:0;opacity:.01;width:100%;z-index:1}.sapphire-select--error:not(.is-disabled) .sapphire-select__button{box-shadow:inset 0 0 0 1px var(--sapphire-semantic-color-border-negative-default)}.sapphire-select:not(.sapphire-select--error):not(.is-focus):not(.is-disabled).is-hover .sapphire-select__button,.sapphire-select:not(.sapphire-select--error):not(.is-focus):not(.is-disabled):not(.js-hover):hover .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-hover)}.sapphire-select:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-focus-ring)}.sapphire-select--error:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-border-negative-default)}.sapphire-select.is-disabled .sapphire-select__button{cursor:not-allowed;opacity:var(--sapphire-semantic-opacity-disabled)}\n"], dependencies: [{ kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.IconComponent, selector: "sp-icon", inputs: ["name", "size", "color"] }, { kind: "component", type: i9.ListboxComponent, selector: "sp-listbox", inputs: ["selectedValues", "spListboxItems", "disabled", "multiple", "navigationWrapDisabled", "aria-label", "aria-labelledby", "id", "emptyState"], outputs: ["selectedValuesChange", "selected"], exportAs: ["spListbox"] }, { kind: "directive", type: i10.ListboxInputDirective, selector: "input[spListboxInput]", inputs: ["spListboxInput"] }, { kind: "component", type: i11.PopoverComponent, selector: "sp-popover", inputs: ["noPadding", "noMaxWidth", "noAutoFocus", "trapFocus"] }, { kind: "directive", type: i12.PopoverTriggerDirective, selector: "[spPopoverTriggerFor]", inputs: ["spPopoverPlacement", "spPopoverTriggerFor", "spPopoverNonModal", "spPopoverTriggerOpenOnPressStart", "spPopoverTriggerCloseOnScroll", "spPopoverTriggerDisabled", "spPopoverDisablePushInsideViewport"], outputs: ["spPopoverTriggerOpened", "spPopoverTriggerClosed"], exportAs: ["spPopoverTrigger"] }, { kind: "directive", type: i3.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "directive", type: i13.VisuallyHiddenDirective, selector: "[spVisuallyHidden]", inputs: ["spVisuallyHidden"] }, { kind: "component", type: i14.HiddenSelectComponent, selector: "sp-hidden-select" }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }] });
|
|
315
315
|
__decorate([
|
|
316
316
|
AutoId()
|
|
317
317
|
], SelectComponent.prototype, "_valueContainerId", void 0);
|
|
@@ -341,7 +341,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
341
341
|
'[attr.aria-label]': 'null',
|
|
342
342
|
'[attr.aria-labelledby]': 'null',
|
|
343
343
|
'[attr.placeholder]': 'null',
|
|
344
|
-
}, hostDirectives: [UseComponentStylesOnHost], standalone: false, template: "<sp-hidden-select></sp-hidden-select>\n<div\n role=\"button\"\n aria-haspopup=\"listbox\"\n class=\"sapphire-select__button\"\n [spPopoverTriggerFor]=\"popover\"\n [spPopoverTriggerDisabled]=\"disabled\"\n spPopoverTriggerOpenOnPressStart\n spPopoverTriggerCloseOnScroll\n spPopoverPlacement=\"bottom start\"\n #triggerElementRef\n #triggerRef=\"spPopoverTrigger\"\n (keydown)=\"handleKeyDown($event)\"\n (spPopoverTriggerClosed)=\"_onClose()\"\n (spPopoverTriggerOpened)=\"_onOpen()\"\n (focus)=\"_onFocus()\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n [spPopoverNonModal]=\"searchable\"\n spPopoverDisablePushInsideViewport=\"true\"\n [id]=\"id\"\n [tabindex]=\"-1\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"_getAriaLabelledBy()\"\n [attr.aria-describedby]=\"_field?.error?.id || _field?.note?.id\"\n [attr.aria-invalid]=\"_field?.hasError(this) ? true : null\"\n>\n <div class=\"sapphire-select__value\" [id]=\"_valueContainerId\">\n <input\n *ngIf=\"searchable\"\n #searchInput\n tabindex=\"-1\"\n role=\"combobox\"\n class=\"sapphire-select__search-input\"\n [spListboxInput]=\"listbox\"\n [spVisuallyHidden]=\"!_isInputVisible()\"\n [attr.data-hidden]=\"!_isInputVisible()\"\n [placeholder]=\"placeholder || ''\"\n (keydown)=\"_onInputKeydown($event)\"\n (beforeinput)=\"open()\"\n [value]=\"_searchableSelectDirective?.searchValue\"\n (input)=\"_onSearchInput($event)\"\n />\n <ng-container *ngIf=\"!searchable || !_isInputVisible()\">\n <div\n *ngIf=\"selectedOptions.length === 0\"\n class=\"sapphire-select__placeholder\"\n >\n {{ placeholder }}\n </div>\n <ng-container *ngIf=\"selectedOptions.length > 0\">\n <ng-container *ngIf=\"!selectionText\">{{\n getSelectionText()\n }}</ng-container>\n <ng-content select=\"sp-selection-text\"></ng-content>\n </ng-container>\n </ng-container>\n </div>\n <div class=\"sapphire-select__icon-container\">\n <sp-icon name=\"chevronDown\"></sp-icon>\n </div>\n</div>\n<ng-template #popover>\n <sp-popover\n [style.display]=\"\n (filteredChildren$ | async)?.length === 0 ? 'none'
|
|
344
|
+
}, hostDirectives: [UseComponentStylesOnHost], standalone: false, template: "<sp-hidden-select></sp-hidden-select>\n<div\n role=\"button\"\n aria-haspopup=\"listbox\"\n class=\"sapphire-select__button\"\n [spPopoverTriggerFor]=\"popover\"\n [spPopoverTriggerDisabled]=\"disabled\"\n spPopoverTriggerOpenOnPressStart\n spPopoverTriggerCloseOnScroll\n spPopoverPlacement=\"bottom start\"\n #triggerElementRef\n #triggerRef=\"spPopoverTrigger\"\n (keydown)=\"handleKeyDown($event)\"\n (spPopoverTriggerClosed)=\"_onClose()\"\n (spPopoverTriggerOpened)=\"_onOpen()\"\n (focus)=\"_onFocus()\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n [spPopoverNonModal]=\"searchable\"\n spPopoverDisablePushInsideViewport=\"true\"\n [id]=\"id\"\n [tabindex]=\"-1\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"_getAriaLabelledBy()\"\n [attr.aria-describedby]=\"_field?.error?.id || _field?.note?.id\"\n [attr.aria-invalid]=\"_field?.hasError(this) ? true : null\"\n>\n <div class=\"sapphire-select__value\" [id]=\"_valueContainerId\">\n <input\n *ngIf=\"searchable\"\n #searchInput\n tabindex=\"-1\"\n role=\"combobox\"\n class=\"sapphire-select__search-input\"\n [spListboxInput]=\"listbox\"\n [spVisuallyHidden]=\"!_isInputVisible()\"\n [attr.data-hidden]=\"!_isInputVisible()\"\n [placeholder]=\"placeholder || ''\"\n (keydown)=\"_onInputKeydown($event)\"\n (beforeinput)=\"open()\"\n [value]=\"_searchableSelectDirective?.searchValue\"\n (input)=\"_onSearchInput($event)\"\n />\n <ng-container *ngIf=\"!searchable || !_isInputVisible()\">\n <div\n *ngIf=\"selectedOptions.length === 0\"\n class=\"sapphire-select__placeholder\"\n >\n {{ placeholder }}\n </div>\n <ng-container *ngIf=\"selectedOptions.length > 0\">\n <ng-container *ngIf=\"!selectionText\">{{\n getSelectionText()\n }}</ng-container>\n <ng-content select=\"sp-selection-text\"></ng-content>\n </ng-container>\n </ng-container>\n </div>\n <div class=\"sapphire-select__icon-container\">\n <sp-icon name=\"chevronDown\"></sp-icon>\n </div>\n</div>\n<ng-template #popover>\n <sp-popover\n [style.display]=\"\n (filteredChildren$ | async)?.length === 0 && !listbox?._getEmptyState()\n ? 'none'\n : undefined\n \"\n noPadding\n [trapFocus]=\"!searchable\"\n noMaxWidth\n [style.min-width]=\"triggerElementRef.offsetWidth + 'px'\"\n >\n <sp-listbox\n [spListboxItems]=\"(filteredChildren$ | async) || undefined\"\n navigationWrapDisabled\n [multiple]=\"multiple\"\n [(selectedValues)]=\"listboxValue\"\n (selectedValuesChange)=\"_searchableSelectDirective?.setSearchValue('')\"\n (selected)=\"_handleSelected()\"\n [emptyState]=\"emptyState\"\n ></sp-listbox>\n </sp-popover>\n</ng-template>\n", styles: [".sapphire-select{position:relative;display:block;color:var(--sapphire-semantic-color-foreground-primary);font-family:var(--sapphire-semantic-font-name-default);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-select__button{display:flex;align-items:center;height:var(--sapphire-semantic-size-height-control-lg);box-sizing:border-box;cursor:pointer;padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md) 0 var(--sapphire-semantic-size-spacing-control-horizontal-lg);border:none;background:var(--sapphire-semantic-color-background-field);width:100%;outline:0;text-align:left;color:inherit;font-family:inherit;box-shadow:inset 0 0 0 var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-default);border-radius:var(--sapphire-semantic-size-radius-md);gap:var(--sapphire-semantic-size-spacing-sm)}.sapphire-select--md .sapphire-select__button{border-radius:var(--sapphire-semantic-size-radius-sm);height:var(--sapphire-semantic-size-height-control-md);padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md);gap:var(--sapphire-semantic-size-spacing-xs)}.sapphire-select__value{flex:1 0 0;min-width:0;font-size:var(--sapphire-semantic-size-font-control-lg);width:100%;font-weight:var(--sapphire-semantic-font-weight-default-regular);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sapphire-select--md .sapphire-select__value{font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-select__placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sapphire-semantic-color-foreground-secondary);pointer-events:none}.sapphire-select__icon-container{line-height:0;width:var(--sapphire-semantic-size-icon-md);height:var(--sapphire-semantic-size-icon-md)}.sapphire-select--md .sapphire-select__icon-container{width:var(--sapphire-semantic-size-icon-sm);height:var(--sapphire-semantic-size-icon-sm)}.sapphire-select__prefix{display:inherit;font-size:var(--sapphire-semantic-size-font-control-lg);color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-select:not(.sapphire-select--md) .sapphire-select__button:has(.sapphire-select__prefix){padding-left:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-select--md .sapphire-select__prefix{font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-select__search-input:not([data-hidden=true]){all:inherit}.sapphire-select__search-input::placeholder{color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-select__native-select{position:absolute;inset:0;opacity:.01;width:100%;z-index:1}.sapphire-select--error:not(.is-disabled) .sapphire-select__button{box-shadow:inset 0 0 0 1px var(--sapphire-semantic-color-border-negative-default)}.sapphire-select:not(.sapphire-select--error):not(.is-focus):not(.is-disabled).is-hover .sapphire-select__button,.sapphire-select:not(.sapphire-select--error):not(.is-focus):not(.is-disabled):not(.js-hover):hover .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-hover)}.sapphire-select:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-focus-ring)}.sapphire-select--error:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-border-negative-default)}.sapphire-select.is-disabled .sapphire-select__button{cursor:not-allowed;opacity:var(--sapphire-semantic-opacity-disabled)}\n"] }]
|
|
345
345
|
}], ctorParameters: function () { return [{ type: i1.SelectValueHolder }, { type: i2.IconRegistry }, { type: i3.FocusMonitor }, { type: i3.InputModalityDetector }, { type: i4.FieldComponent, decorators: [{
|
|
346
346
|
type: Optional
|
|
347
347
|
}] }, { type: i5.SearchableSelectDirective, decorators: [{
|
|
@@ -359,4 +359,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
359
359
|
type: ViewChild,
|
|
360
360
|
args: ['searchInput', { read: ElementRef }]
|
|
361
361
|
}], _valueContainerId: [] } });
|
|
362
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VsZWN0L3NyYy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VsZWN0L3NyYy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUVWLFFBQVEsRUFDUixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUV2RixPQUFPLEVBQWdCLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pFLE9BQU8sRUFBa0IsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUNMLHdCQUF3QixFQUN4QixpQkFBaUIsRUFDakIseUJBQXlCLEdBQzFCLE1BQU0sK0JBQStCLENBQUM7QUFHdkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFN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QkFDaEMsb0JBQW9CLEVBQUUsTUFBTTtxQkFDN0Isa0JBQ2UsQ0FBQyx3QkFBd0IsQ0FBQyxjQUM5QixLQUFLOzswQkFzQ2QsUUFBUTs7MEJBQ1IsUUFBUTs0Q0E3QkQsVUFBVTtzQkFEbkIsU0FBUzt1QkFBQyxZQUFZO2dCQUliLGlCQUFpQjtzQkFEMUIsU0FBUzt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBSTFDLE9BQU87c0JBRGhCLFNBQVM7dUJBQUMsZ0JBQWdCO2dCQUluQixXQUFXO3NCQURsQixTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBVzlDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBGb2N1c01vbml0b3IsXG4gIEZvY3VzT3JpZ2luLFxuICBJbnB1dE1vZGFsaXR5RGV0ZWN0b3IsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBlbXB0eSwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBzdGFydFdpdGgsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQXV0b0lkIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2F1dG8taWQuZGVjb3JhdG9yJztcbmltcG9ydCB7IFVzZUNvbXBvbmVudFN0eWxlc09uSG9zdCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9zYXBwaGlyZS12aWV3LWVuY2Fwc3VsYXRpb24nO1xuaW1wb3J0IHsgUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9wb3BvdmVyL3NyYy9wb3BvdmVyLXRyaWdnZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IExpc3Rib3hDaGlsZCwgTGlzdGJveENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2xpc3Rib3gvcHVibGljX2FwaSc7XG5pbXBvcnQgeyBzZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbGlzdGJveC9zcmMvc2VjdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRmllbGRDb21wb25lbnQsIEZpZWxkQ29udHJvbCB9IGZyb20gJy4uLy4uLy4uL2ZpZWxkL3B1YmxpY19hcGknO1xuaW1wb3J0IHsgU2VsZWN0Q29tcG9uZW50QmFzZSB9IGZyb20gJy4uL2NvbW1vbi9zZWxlY3QtY29tcG9uZW50LWJhc2UnO1xuaW1wb3J0IHtcbiAgTXVsdGlTZWxlY3REaXJlY3RpdmVCYXNlLFxuICBTZWxlY3RWYWx1ZUhvbGRlcixcbiAgU2luZ2xlU2VsZWN0RGlyZWN0aXZlQmFzZSxcbn0gZnJvbSAnLi4vY29tbW9uL3NlbGVjdC12YWx1ZS1ob2xkZXInO1xuaW1wb3J0IHsgU2VhcmNoYWJsZVNlbGVjdERpcmVjdGl2ZSB9IGZyb20gJy4vc2VhcmNoYWJsZS1zZWxlY3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IEljb25SZWdpc3RyeSB9IGZyb20gJy4uLy4uLy4uL2ljb24vcHVibGljX2FwaSc7XG5pbXBvcnQgeyBpY29uQ2hldnJvbkRvd24gfSBmcm9tICdAZGFuc2tlL3NhcHBoaXJlLWljb25zL2pzJztcblxuLyoqXG4gKiBFbmFibGVzIG11bHRpcGxlIHNlbGVjdGlvbi4gV2hlbiBwcmVzZW50LCBgdmFsdWVgIHdpbGwgYmUgb2YgdHlwZSBgc3RyaW5nW11gLCBhbmQgYHZhbHVlQ2hhbmdlYFxuICogd2lsbCBlbWl0IGBzdHJpbmdbXWAuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ3NwLXNlbGVjdFttdWx0aXBsZV0nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBTZWxlY3RWYWx1ZUhvbGRlcixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE11bHRpU2VsZWN0RGlyZWN0aXZlKSxcbiAgICB9LFxuICBdLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgTXVsdGlTZWxlY3REaXJlY3RpdmUgZXh0ZW5kcyBNdWx0aVNlbGVjdERpcmVjdGl2ZUJhc2Uge31cblxuLyoqXG4gKiBFbmFibGVzIHNpbmdsZSBzZWxlY3Rpb24sIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIFNlbGVjdC5cbiAqIFdoZW4gcHJlc2VudCwgYHZhbHVlYCB3aWxsIGJlIG9mIHR5cGUgYHN0cmluZ2AsIGFuZCBgdmFsdWVDaGFuZ2VgIHdpbGwgZW1pdCBgc3RyaW5nYC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnc3Atc2VsZWN0Om5vdChbbXVsdGlwbGVdKScsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNlbGVjdFZhbHVlSG9sZGVyLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2luZ2xlU2VsZWN0RGlyZWN0aXZlKSxcbiAgICB9LFxuICBdLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgU2luZ2xlU2VsZWN0RGlyZWN0aXZlIGV4dGVuZHMgU2luZ2xlU2VsZWN0RGlyZWN0aXZlQmFzZSB7fVxuXG4vKipcbiAqIEFsbG93cyB1c2VyIHRvIHNlbGVjdCBhIHNpbmdsZSBvcHRpb24gZnJvbSBhIGxpc3QsIHNpbWlsYXIgdG8gbmF0aXZlIHNlbGVjdFxuICogY29tcG9uZW50LlxuICpcbiAqIEV4YW1wbGU6XG4gKiBgYGB0c3hcbiAqIDxzcC1maWVsZD5cbiAqICAgPHNwLWZpZWxkLWxhYmVsPkxhYmVsIHRleHQ8L3NwLWZpZWxkLWxhYmVsPlxuICogICA8c3Atc2VsZWN0IHBsYWNlaG9sZGVyPVwiU2VsZWN0IGFuIG9wdGlvblwiPlxuICogICAgIDxzcC1vcHRpb24gdmFsdWU9XCJvcHRpb24xXCI+Rmlyc3QgT3B0aW9uPC9zcC1vcHRpb24+XG4gKiAgICAgPHNwLW9wdGlvbiB2YWx1ZT1cIm9wdGlvbjJcIj5TZWNvbmQgT3B0aW9uPC9zcC1vcHRpb24+XG4gKiAgICAgPHNwLW9wdGlvbiB2YWx1ZT1cIm9wdGlvbjNcIj5UaGlyZCBPcHRpb248L3NwLW9wdGlvbj5cbiAqICAgPC9zcC1zZWxlY3Q+XG4gKiA8L3NwLWZpZWxkPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NwLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcbiAgZXhwb3J0QXM6ICdzcFNlbGVjdCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2VsZWN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogU2VsZWN0Q29tcG9uZW50QmFzZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNlbGVjdENvbXBvbmVudCksXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBGaWVsZENvbnRyb2wsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTZWxlY3RDb21wb25lbnQpLFxuICAgIH0sXG4gIF0sXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ3NhcHBoaXJlLXNlbGVjdCcsXG4gICAgJ1tjbGFzcy5zYXBwaGlyZS1zZWxlY3QtLWVycm9yXSc6ICdfZmllbGQ/Lmhhc0Vycm9yKHRoaXMpJyxcbiAgICAnW2NsYXNzLnNhcHBoaXJlLXNlbGVjdC0tbWRdJzogJ19maWVsZD8uc2l6ZSA9PT0gXCJtZFwiJyxcbiAgICAnW2NsYXNzLmlzLWZvY3VzXSc6ICdpc0ZvY3VzVmlzaWJsZSgpJyxcbiAgICAnW2NsYXNzLmlzLWRpc2FibGVkXSc6ICdpc0Rpc2FibGVkKCknLFxuICAgICdbYXR0ci5pZF0nOiAnbnVsbCcsXG4gICAgJ1thdHRyLmFyaWEtbGFiZWxdJzogJ251bGwnLFxuICAgICdbYXR0ci5hcmlhLWxhYmVsbGVkYnldJzogJ251bGwnLFxuICAgICdbYXR0ci5wbGFjZWhvbGRlcl0nOiAnbnVsbCcsXG4gIH0sXG4gIGhvc3REaXJlY3RpdmVzOiBbVXNlQ29tcG9uZW50U3R5bGVzT25Ib3N0XSxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdENvbXBvbmVudFxuICBleHRlbmRzIFNlbGVjdENvbXBvbmVudEJhc2VcbiAgaW1wbGVtZW50cyBGaWVsZENvbnRyb2wsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveVxue1xuICBwcml2YXRlIGZvY3VzT3JpZ2luOiBGb2N1c09yaWdpbiA9IG51bGw7XG4gIGZpbHRlcmVkQ2hpbGRyZW4kOiBPYnNlcnZhYmxlPExpc3Rib3hDaGlsZFtdPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgQFZpZXdDaGlsZCgndHJpZ2dlclJlZicpXG4gIHByb3RlY3RlZCB0cmlnZ2VyUmVmOiBQb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCd0cmlnZ2VyRWxlbWVudFJlZicsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwcm90ZWN0ZWQgdHJpZ2dlckVsZW1lbnRSZWY6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZChMaXN0Ym94Q29tcG9uZW50KVxuICBwcm90ZWN0ZWQgbGlzdGJveDogTGlzdGJveENvbXBvbmVudCB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCdzZWFyY2hJbnB1dCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwcml2YXRlIHNlYXJjaElucHV0PzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBnZXQgc2VhcmNoYWJsZSgpIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBpZCBvZiB0cmlnZ2VyIHZhbHVlIGFyZWEsIHdoaWNoIHdpbGwgY29udGFpbiBlaXRoZXIgdGhlIHNlbGVjdGVkIHZhbHVlIG9yIHRoZSBwbGFjZWhvbGRlci5cbiAgICovXG4gIEBBdXRvSWQoKVxuICBfdmFsdWVDb250YWluZXJJZDogc3RyaW5nID0gJyc7XG5cbiAgcHJpdmF0ZSBkZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHZhbHVlSG9sZGVyOiBTZWxlY3RWYWx1ZUhvbGRlcixcbiAgICBpY29uUmVnaXN0cnk6IEljb25SZWdpc3RyeSxcbiAgICBwcml2YXRlIGZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yLFxuICAgIHByaXZhdGUgaW5wdXRNb2RhbGl0eTogSW5wdXRNb2RhbGl0eURldGVjdG9yLFxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyBfZmllbGQ/OiBGaWVsZENvbXBvbmVudCxcbiAgICBAT3B0aW9uYWwoKSBwdWJsaWMgX3NlYXJjaGFibGVTZWxlY3REaXJlY3RpdmU/OiBTZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlXG4gICkge1xuICAgIHN1cGVyKHZhbHVlSG9sZGVyKTtcbiAgICBpY29uUmVnaXN0cnkucmVnaXN0ZXJJY29uKGljb25DaGV2cm9uRG93bik7XG4gIH1cblxuICBvdmVycmlkZSBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgY29uc3QgbGlzdGJveEl0ZW0kID0gdGhpcy5saXN0Ym94Q2hpbGRyZW4uY2hhbmdlcy5waXBlKFxuICAgICAgc3RhcnRXaXRoKHRoaXMubGlzdGJveENoaWxkcmVuKVxuICAgICk7XG4gICAgY29uc3Qgc2VhcmNoYWJsZVNlbGVjdCA9IHRoaXMuX3NlYXJjaGFibGVTZWxlY3REaXJlY3RpdmU7XG4gICAgaWYgKHRoaXMuc2VhcmNoSW5wdXQgJiYgc2VhcmNoYWJsZVNlbGVjdCkge1xuICAgICAgY29uc3Qgc2VhcmNoSW5wdXRWYWx1ZSQgPSBzZWFyY2hhYmxlU2VsZWN0LnNlYXJjaFZhbHVlQ2hhbmdlLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCksXG4gICAgICAgIHN0YXJ0V2l0aChzZWFyY2hhYmxlU2VsZWN0LnNlYXJjaFZhbHVlKVxuICAgICAgKTtcbiAgICAgIGNvbnN0IGZpbHRlclJlc3VsdCQgPSBjb21iaW5lTGF0ZXN0KHNlYXJjaElucHV0VmFsdWUkLCBsaXN0Ym94SXRlbSQpLnBpcGUoXG4gICAgICAgIG1hcCgoW3NlYXJjaFF1ZXJ5XSkgPT4ge1xuICAgICAgICAgIGlmICghc2VhcmNoUXVlcnkpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGZpbHRlcmVkQ2hpbGRyZW46IHRoaXMubGlzdGJveENoaWxkcmVuLnRvQXJyYXkoKSxcbiAgICAgICAgICAgICAgZmlsdGVyZWRPdXRPcHRpb25zOiBbXSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBzZWFyY2hhYmxlU2VsZWN0LmZpbHRlckxpc3Rib3hJdGVtcyhcbiAgICAgICAgICAgIHRoaXMubGlzdGJveENoaWxkcmVuLFxuICAgICAgICAgICAgKG9wdGlvbikgPT5cbiAgICAgICAgICAgICAgIXNlYXJjaGFibGVTZWxlY3QuZmlsdGVyIHx8XG4gICAgICAgICAgICAgIHNlYXJjaGFibGVTZWxlY3QuZmlsdGVyKG9wdGlvbiwgc2VhcmNoUXVlcnkpXG4gICAgICAgICAgKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICB0aGlzLmZpbHRlcmVkQ2hpbGRyZW4kID0gdGhpcy5tdWx0aXBsZVxuICAgICAgICA/IC8vIEdyb3VwaW5nIHNlbGVjdGVkIG9wdGlvbnNcbiAgICAgICAgICBjb21iaW5lTGF0ZXN0KFxuICAgICAgICAgICAgZmlsdGVyUmVzdWx0JCxcbiAgICAgICAgICAgIHRoaXMudmFsdWVIb2xkZXIudmFsdWVDaGFuZ2UucGlwZShzdGFydFdpdGgoZW1wdHkoKSkpXG4gICAgICAgICAgKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbeyBmaWx0ZXJlZENoaWxkcmVuIH1dKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0aGlzLmxpc3Rib3hWYWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmlsdGVyZWRDaGlsZHJlbjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICAgICAgZmlsdGVyZWRPdXRPcHRpb25zOiBzZWxlY3RlZE9wdGlvbnMsXG4gICAgICAgICAgICAgICAgZmlsdGVyZWRDaGlsZHJlbjogc2VsZWN0aW9uRXhjbHVkZWRDaGlsZHJlbixcbiAgICAgICAgICAgICAgfSA9IHNlYXJjaGFibGVTZWxlY3QuZmlsdGVyTGlzdGJveEl0ZW1zKFxuICAgICAgICAgICAgICAgIGZpbHRlcmVkQ2hpbGRyZW4sXG4gICAgICAgICAgICAgICAgKG9wdGlvbikgPT4gIXRoaXMubGlzdGJveFZhbHVlLmluY2x1ZGVzKG9wdGlvbi52YWx1ZSlcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICBzZWxlY3RlZE9wdGlvbnMubGVuZ3RoID4gMFxuICAgICAgICAgICAgICAgICAgPyBbc2VjdGlvbihzZWxlY3RlZE9wdGlvbnMpXVxuICAgICAgICAgICAgICAgICAgOiAoW10gYXMgTGlzdGJveENoaWxkW10pXG4gICAgICAgICAgICAgICkuY29uY2F0KHNlbGVjdGlvbkV4Y2x1ZGVkQ2hpbGRyZW4pO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgIDogZmlsdGVyUmVzdWx0JC5waXBlKG1hcCgoeyBmaWx0ZXJlZENoaWxkcmVuIH0pID0+IGZpbHRlcmVkQ2hpbGRyZW4pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWx0ZXJlZENoaWxkcmVuJCA9IGxpc3Rib3hJdGVtJDtcbiAgICB9XG4gIH1cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLmRlc3Ryb3llZC5uZXh0KHVuZGVmaW5lZCk7XG4gICAgdGhpcy5kZXN0cm95ZWQuY29tcGxldGUoKTtcbiAgfVxuXG4gIF9nZXRBcmlhTGFiZWxsZWRCeSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIC8vIFRoZSBsb2dpYyBoZXJlIGlzIHNpbWlsYXIgdG8gdGhlIG9uZSBpbiByZWFjdC1hcmlhJ3MgdXNlU2VsZWN0LlxuICAgIGNvbnN0IGxhYmVsbGVkQnkgPSB0aGlzLmFyaWFMYWJlbGxlZGJ5IHx8IHRoaXMuX2ZpZWxkPy5sYWJlbD8uaWQ7XG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMuX3ZhbHVlQ29udGFpbmVySWQsXG4gICAgICBsYWJlbGxlZEJ5LFxuICAgICAgdGhpcy5hcmlhTGFiZWwgJiYgIWxhYmVsbGVkQnkgPyB0aGlzLmlkIDogbnVsbCxcbiAgICBdXG4gICAgICAuZmlsdGVyKChpKSA9PiBpKVxuICAgICAgLmpvaW4oJyAnKTtcbiAgfVxuXG4gIGlzRm9jdXNlZCgpIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLmZvY3VzT3JpZ2luKTtcbiAgfVxuXG4gIGlzRm9jdXNWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmlzRm9jdXNlZCgpICYmXG4gICAgICAvLyBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlIGZvY3VzIGRvZXNuJ3QgY2hhbmdlIHdoZW4gYSBrZXkgKGUuZy4gRXNjYXBlKSBpcyBwcmVzc2VkIGluIHRoZSBzZWFyY2ggaW5wdXQuXG4gICAgICAodGhpcy5pbnB1dE1vZGFsaXR5Lm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ2tleWJvYXJkJyB8fFxuICAgICAgICAvLyBUaGlzIGlzIG5lZWRlZCBmb3Igd2hlbiBsYWJlbCBpcyBjbGlja2VkIGFuZCBmb2N1c09yaWdpbiBpcyBmb3JjZWQgdG8ga2V5Ym9hcmQsIGJ1dCBjdXJyZW50IG1vZGFsaXR5IGlzIG1vdXNlLlxuICAgICAgICB0aGlzLmZvY3VzT3JpZ2luID09PSAna2V5Ym9hcmQnKSAmJlxuICAgICAgIXRoaXMuaXNPcGVuKCkgLy8gVGhpcyBpcyBiZWNhdXNlIGluIHNlYXJjaGFibGUgc2VsZWN0LCB0aGUgYWN0dWFsIGZvY3VzIGlzIG9uIHRoZSBpbnB1dCxcbiAgICAgIC8vIGJ1dCBpdCdzIG1lYW50IHRvIGJlIHNob3duIG9uIHRoZSBsaXN0Ym94LiBJdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gc2hvdyB0aGUgZm9jdXMgaW4gdHdvXG4gICAgICAvLyBwbGFjZXMuXG4gICAgKTtcbiAgfVxuXG4gIGZvY3VzKGZvY3VzT3JpZ2luOiBGb2N1c09yaWdpbiA9ICdwcm9ncmFtJykge1xuICAgIHRoaXMuZm9jdXNNb25pdG9yLmZvY3VzVmlhKFxuICAgICAgdGhpcy5zZWFyY2hJbnB1dD8ubmF0aXZlRWxlbWVudCA/PyB0aGlzLnRyaWdnZXJFbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50LFxuICAgICAgZm9jdXNPcmlnaW5cbiAgICApO1xuICB9XG5cbiAgX29uRm9jdXNDaGFuZ2UoZm9jdXNPcmlnaW46IEZvY3VzT3JpZ2luKSB7XG4gICAgdGhpcy5mb2N1c09yaWdpbiA9IGZvY3VzT3JpZ2luO1xuICB9XG5cbiAgX29uRm9jdXMoKSB7XG4gICAgLy8gV2hlbmV2ZXIgZm9jdXMgY29tZXMgdG8gdGhlIHRyaWdnZXIgLCBmb3J3YXJkIGl0IHRvIHRoZSBzZWFyY2ggaW5wdXQuIEl0J3MgbmVlZGVkIGZvciB3aGVuXG4gICAgLy8gdGhlIHRyaWdnZXIgaXMgcmUtZm9jdXNlZCBhZnRlciBwb3BvdmVyIGlzIGNsb3NlZC5cbiAgICB0aGlzLmZvY3VzKHRoaXMuZm9jdXNPcmlnaW4pO1xuICB9XG5cbiAgX2lzSW5wdXRWaXNpYmxlKCkge1xuICAgIHJldHVybiB0aGlzLmlzT3BlbigpIC8qfHxcbiAgICAgICh0aGlzLnNlYXJjaElucHV0Py5uYXRpdmVFbGVtZW50ID09PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50ICYmXG4gICAgICAgIHRoaXMubGlzdGJveFZhbHVlLmxlbmd0aCA9PT0gMCkqLztcbiAgfVxuXG4gIF9vbk9wZW4oKSB7XG4gICAgc3VwZXIuX29uT3BlbigpO1xuICAgIGlmICghdGhpcy5tdWx0aXBsZSAmJiB0aGlzLl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlKSB7XG4gICAgICB0aGlzLl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlLnNldFNlYXJjaFZhbHVlKFxuICAgICAgICAodGhpcy5fc2VhcmNoYWJsZVNlbGVjdERpcmVjdGl2ZS5jbGVhclNlYXJjaE9uT3BlblxuICAgICAgICAgID8gJydcbiAgICAgICAgICA6IHRoaXMuc2VsZWN0ZWRPcHRpb25zWzBdPy5sYWJlbCkgPz8gJydcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IHNlYXJjaElucHV0RWxlbWVudCA9IHRoaXMuc2VhcmNoSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKHRoaXMuX3NlYXJjaGFibGVTZWxlY3REaXJlY3RpdmU/LnNlbGVjdFRleHRPbk9wZW4pIHtcbiAgICAgIHNlYXJjaElucHV0RWxlbWVudD8uc2VsZWN0KCk7XG4gICAgfVxuICAgIGNvbnN0IGZvY3VzVmlzaWJsZU9uT3BlbiA9IHRoaXMuaXNGb2N1c1Zpc2libGUoKTtcbiAgICAvLyBNb3ZlIGZvY3VzIHRvIHRoZSBzZWFyY2ggaW5wdXQuIFRoZSB0aW1lb3V0IGlzIG5lZWRlZCBiZWNhdXNlIHBvcG92ZXIgd2lsbCBhdXRvZm9jdXMgdGhlXG4gICAgLy8gY29udGVudCwgYW5kIHdlIG5lZWQgdG8gbGV0IHRoZSBmb2N1cyBmaXJzdCBsYW5kIGluIHRoZSBwb3BvdmVyLCBhbmQgdGhlbiBzdGVhbCBpdC5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHNlYXJjaElucHV0RWxlbWVudD8uZm9jdXMoKTtcblxuICAgICAgLy8gTmVlZCB0byBydW4gdGhpcyBhbHNvIGFzeW5jaHJvbm91c2x5LCB0byBsZXQgdGhlIHBvcG92ZXIgKGFuZCBsaXN0Ym94KSBtb3VudFxuICAgICAgaWYgKCFmb2N1c1Zpc2libGVPbk9wZW4gJiYgdGhpcy5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIC8vIHRvIHByZXZlbnQgdGhlIGZpcnN0IGl0ZW0gZnJvbSBiZWluZyBmb2N1c2VkIHdoZW4gdGhlIGRyb3Bkb3duIGlzIG9wZW5lZCB2aWEgbW91c2VcbiAgICAgICAgdGhpcy5saXN0Ym94Py5zZXRBY3RpdmVPcHRpb24obnVsbCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBfb25DbG9zZSgpIHtcbiAgICBzdXBlci5fb25DbG9zZSgpO1xuICAgIGlmICghdGhpcy5tdWx0aXBsZSAmJiB0aGlzLl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlKSB7XG4gICAgICB0aGlzLl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlLnNldFNlYXJjaFZhbHVlKFxuICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9uc1swXT8ubGFiZWwgfHwgJydcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IHNlYXJjaElucHV0RWxlbWVudCA9IHRoaXMuc2VhcmNoSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgc2VhcmNoSW5wdXRFbGVtZW50Py5zZXRTZWxlY3Rpb25SYW5nZShcbiAgICAgIHNlYXJjaElucHV0RWxlbWVudC52YWx1ZS5sZW5ndGgsXG4gICAgICBzZWFyY2hJbnB1dEVsZW1lbnQudmFsdWUubGVuZ3RoXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRGaWVsZExhYmVsPygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9maWVsZD8ubGFiZWw/LmdldFRleHQoKSA/PyAnJztcbiAgfVxuXG4gIF9vbklucHV0S2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGNvbnN0IHNlbGVjdFZhbHVlID0gKHRvQmVTZWxlY3RlZDogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBsaXN0Ym94VmFsdWUgPSB0aGlzLmxpc3Rib3hWYWx1ZTtcbiAgICAgIGNvbnN0IGFscmVhZHlTZWxlY3RlZCA9IGxpc3Rib3hWYWx1ZS5pbmNsdWRlcyh0b0JlU2VsZWN0ZWQpO1xuICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgdGhpcy5saXN0Ym94VmFsdWUgPSBhbHJlYWR5U2VsZWN0ZWRcbiAgICAgICAgICA/IGxpc3Rib3hWYWx1ZS5maWx0ZXIoKHZhbHVlKSA9PiB2YWx1ZSAhPT0gdG9CZVNlbGVjdGVkKVxuICAgICAgICAgIDogWy4uLmxpc3Rib3hWYWx1ZSwgdG9CZVNlbGVjdGVkXTtcbiAgICAgIH0gZWxzZSBpZiAoIWFscmVhZHlTZWxlY3RlZCkge1xuICAgICAgICB0aGlzLmxpc3Rib3hWYWx1ZSA9IFt0b0JlU2VsZWN0ZWRdO1xuICAgICAgfVxuICAgIH07XG4gICAgY29uc3QgZmlyc3RPcHRpb25WYWx1ZSA9IHRoaXMub3B0aW9ucz8uZ2V0KDApPy52YWx1ZTtcbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICBpZiAoIXRoaXMuaXNPcGVuKCkpIHtcbiAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRXNjYXBlJzpcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0VudGVyJzpcbiAgICAgICAgLy8gU2VsZWN0aW9uIGlzIGFscmVhZHkgaGFuZGxlZCBpZiB0aGVyZSBpcyBhbiBhY3RpdmUgb3B0aW9uXG4gICAgICAgIGlmICh0aGlzLmlzT3BlbigpKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy5saXN0Ym94Py5nZXRBY3RpdmVPcHRpb24oKSA9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgIGZpcnN0T3B0aW9uVmFsdWVcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHNlbGVjdFZhbHVlKGZpcnN0T3B0aW9uVmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdUYWInOlxuICAgICAgICBpZiAodGhpcy5pc09wZW4oKSAmJiAhdGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgIGNvbnN0IHRvQmVTZWxlY3RlZCA9XG4gICAgICAgICAgICB0aGlzLmxpc3Rib3g/LmdldEFjdGl2ZU9wdGlvbigpIHx8IGZpcnN0T3B0aW9uVmFsdWU7XG4gICAgICAgICAgaWYgKHRvQmVTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHNlbGVjdFZhbHVlKHRvQmVTZWxlY3RlZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIF9vblNlYXJjaElucHV0KGV2ZW50OiBFdmVudCkge1xuICAgIGlmIChldmVudC50YXJnZXQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50KSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IGV2ZW50LnRhcmdldD8udmFsdWU7XG4gICAgICB0aGlzLl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlPy5zZXRTZWFyY2hWYWx1ZSh2YWx1ZSk7XG4gICAgICAvLyBjbGVhcmluZyB0aGUgdmFsdWUgd2hlbiB0aGUgc2VhcmNoIGlucHV0IGlzIGNsZWFyZWQuXG4gICAgICBpZiAoIXRoaXMubXVsdGlwbGUgJiYgIXZhbHVlICYmIHRoaXMubGlzdGJveFZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5saXN0Ym94VmFsdWUgPSBbXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmxpc3Rib3g/LnNldEFjdGl2ZU9wdGlvbihudWxsKTtcbiAgfVxuXG4gIF9oYW5kbGVTZWxlY3RlZCgpIHtcbiAgICBzdXBlci5faGFuZGxlU2VsZWN0ZWQoKTtcbiAgfVxuXG4gIGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh0aGlzLmRpc2FibGVkKTtcbiAgfVxuXG4gIGhhc0RlZmF1bHRXaWR0aCA9IHRydWU7XG59XG4iLCI8c3AtaGlkZGVuLXNlbGVjdD48L3NwLWhpZGRlbi1zZWxlY3Q+XG48ZGl2XG4gIHJvbGU9XCJidXR0b25cIlxuICBhcmlhLWhhc3BvcHVwPVwibGlzdGJveFwiXG4gIGNsYXNzPVwic2FwcGhpcmUtc2VsZWN0X19idXR0b25cIlxuICBbc3BQb3BvdmVyVHJpZ2dlckZvcl09XCJwb3BvdmVyXCJcbiAgW3NwUG9wb3ZlclRyaWdnZXJEaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIHNwUG9wb3ZlclRyaWdnZXJPcGVuT25QcmVzc1N0YXJ0XG4gIHNwUG9wb3ZlclRyaWdnZXJDbG9zZU9uU2Nyb2xsXG4gIHNwUG9wb3ZlclBsYWNlbWVudD1cImJvdHRvbSBzdGFydFwiXG4gICN0cmlnZ2VyRWxlbWVudFJlZlxuICAjdHJpZ2dlclJlZj1cInNwUG9wb3ZlclRyaWdnZXJcIlxuICAoa2V5ZG93bik9XCJoYW5kbGVLZXlEb3duKCRldmVudClcIlxuICAoc3BQb3BvdmVyVHJpZ2dlckNsb3NlZCk9XCJfb25DbG9zZSgpXCJcbiAgKHNwUG9wb3ZlclRyaWdnZXJPcGVuZWQpPVwiX29uT3BlbigpXCJcbiAgKGZvY3VzKT1cIl9vbkZvY3VzKClcIlxuICBjZGtNb25pdG9yU3VidHJlZUZvY3VzXG4gIChjZGtGb2N1c0NoYW5nZSk9XCJfb25Gb2N1c0NoYW5nZSgkZXZlbnQpXCJcbiAgW3NwUG9wb3Zlck5vbk1vZGFsXT1cInNlYXJjaGFibGVcIlxuICBzcFBvcG92ZXJEaXNhYmxlUHVzaEluc2lkZVZpZXdwb3J0PVwidHJ1ZVwiXG4gIFtpZF09XCJpZFwiXG4gIFt0YWJpbmRleF09XCItMVwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIl9nZXRBcmlhTGFiZWxsZWRCeSgpXCJcbiAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJfZmllbGQ/LmVycm9yPy5pZCB8fCBfZmllbGQ/Lm5vdGU/LmlkXCJcbiAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cIl9maWVsZD8uaGFzRXJyb3IodGhpcykgPyB0cnVlIDogbnVsbFwiXG4+XG4gIDxkaXYgY2xhc3M9XCJzYXBwaGlyZS1zZWxlY3RfX3ZhbHVlXCIgW2lkXT1cIl92YWx1ZUNvbnRhaW5lcklkXCI+XG4gICAgPGlucHV0XG4gICAgICAqbmdJZj1cInNlYXJjaGFibGVcIlxuICAgICAgI3NlYXJjaElucHV0XG4gICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgIHJvbGU9XCJjb21ib2JveFwiXG4gICAgICBjbGFzcz1cInNhcHBoaXJlLXNlbGVjdF9fc2VhcmNoLWlucHV0XCJcbiAgICAgIFtzcExpc3Rib3hJbnB1dF09XCJsaXN0Ym94XCJcbiAgICAgIFtzcFZpc3VhbGx5SGlkZGVuXT1cIiFfaXNJbnB1dFZpc2libGUoKVwiXG4gICAgICBbYXR0ci5kYXRhLWhpZGRlbl09XCIhX2lzSW5wdXRWaXNpYmxlKClcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHx8ICcnXCJcbiAgICAgIChrZXlkb3duKT1cIl9vbklucHV0S2V5ZG93bigkZXZlbnQpXCJcbiAgICAgIChiZWZvcmVpbnB1dCk9XCJvcGVuKClcIlxuICAgICAgW3ZhbHVlXT1cIl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlPy5zZWFyY2hWYWx1ZVwiXG4gICAgICAoaW5wdXQpPVwiX29uU2VhcmNoSW5wdXQoJGV2ZW50KVwiXG4gICAgLz5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNlYXJjaGFibGUgfHwgIV9pc0lucHV0VmlzaWJsZSgpXCI+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwic2VsZWN0ZWRPcHRpb25zLmxlbmd0aCA9PT0gMFwiXG4gICAgICAgIGNsYXNzPVwic2FwcGhpcmUtc2VsZWN0X19wbGFjZWhvbGRlclwiXG4gICAgICA+XG4gICAgICAgIHt7IHBsYWNlaG9sZGVyIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZE9wdGlvbnMubGVuZ3RoID4gMFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNlbGVjdGlvblRleHRcIj57e1xuICAgICAgICAgIGdldFNlbGVjdGlvblRleHQoKVxuICAgICAgICB9fTwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJzcC1zZWxlY3Rpb24tdGV4dFwiPjwvbmctY29udGVudD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInNhcHBoaXJlLXNlbGVjdF9faWNvbi1jb250YWluZXJcIj5cbiAgICA8c3AtaWNvbiBuYW1lPVwiY2hldnJvbkRvd25cIj48L3NwLWljb24+XG4gIDwvZGl2PlxuPC9kaXY+XG48bmctdGVtcGxhdGUgI3BvcG92ZXI+XG4gIDxzcC1wb3BvdmVyXG4gICAgW3N0eWxlLmRpc3BsYXldPVwiXG4gICAgICAoZmlsdGVyZWRDaGlsZHJlbiQgfCBhc3luYyk/Lmxlbmd0aCA9PT0gMCA/ICdub25lJyA6IHVuZGVmaW5lZFxuICAgIFwiXG4gICAgbm9QYWRkaW5nXG4gICAgW3RyYXBGb2N1c109XCIhc2VhcmNoYWJsZVwiXG4gICAgbm9NYXhXaWR0aFxuICAgIFtzdHlsZS5taW4td2lkdGhdPVwidHJpZ2dlckVsZW1lbnRSZWYub2Zmc2V0V2lkdGggKyAncHgnXCJcbiAgPlxuICAgIDxzcC1saXN0Ym94XG4gICAgICBbc3BMaXN0Ym94SXRlbXNdPVwiKGZpbHRlcmVkQ2hpbGRyZW4kIHwgYXN5bmMpIHx8IHVuZGVmaW5lZFwiXG4gICAgICBuYXZpZ2F0aW9uV3JhcERpc2FibGVkXG4gICAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxuICAgICAgWyhzZWxlY3RlZFZhbHVlcyldPVwibGlzdGJveFZhbHVlXCJcbiAgICAgIChzZWxlY3RlZFZhbHVlc0NoYW5nZSk9XCJfc2VhcmNoYWJsZVNlbGVjdERpcmVjdGl2ZT8uc2V0U2VhcmNoVmFsdWUoJycpXCJcbiAgICAgIChzZWxlY3RlZCk9XCJfaGFuZGxlU2VsZWN0ZWQoKVwiXG4gICAgPlxuICAgIDwvc3AtbGlzdGJveD5cbiAgPC9zcC1wb3BvdmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
362
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VsZWN0L3NyYy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VsZWN0L3NyYy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUVWLFFBQVEsRUFDUixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUV2RixPQUFPLEVBQWdCLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pFLE9BQU8sRUFBa0IsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUNMLHdCQUF3QixFQUN4QixpQkFBaUIsRUFDakIseUJBQXlCLEdBQzFCLE1BQU0sK0JBQStCLENBQUM7QUFHdkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFN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QkFDaEMsb0JBQW9CLEVBQUUsTUFBTTtxQkFDN0Isa0JBQ2UsQ0FBQyx3QkFBd0IsQ0FBQyxjQUM5QixLQUFLOzswQkFzQ2QsUUFBUTs7MEJBQ1IsUUFBUTs0Q0E3QkQsVUFBVTtzQkFEbkIsU0FBUzt1QkFBQyxZQUFZO2dCQUliLGlCQUFpQjtzQkFEMUIsU0FBUzt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBSTFDLE9BQU87c0JBRGhCLFNBQVM7dUJBQUMsZ0JBQWdCO2dCQUluQixXQUFXO3NCQURsQixTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBVzlDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBGb2N1c01vbml0b3IsXG4gIEZvY3VzT3JpZ2luLFxuICBJbnB1dE1vZGFsaXR5RGV0ZWN0b3IsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBlbXB0eSwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBzdGFydFdpdGgsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQXV0b0lkIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2F1dG8taWQuZGVjb3JhdG9yJztcbmltcG9ydCB7IFVzZUNvbXBvbmVudFN0eWxlc09uSG9zdCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9zYXBwaGlyZS12aWV3LWVuY2Fwc3VsYXRpb24nO1xuaW1wb3J0IHsgUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9wb3BvdmVyL3NyYy9wb3BvdmVyLXRyaWdnZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IExpc3Rib3hDaGlsZCwgTGlzdGJveENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2xpc3Rib3gvcHVibGljX2FwaSc7XG5pbXBvcnQgeyBzZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbGlzdGJveC9zcmMvc2VjdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRmllbGRDb21wb25lbnQsIEZpZWxkQ29udHJvbCB9IGZyb20gJy4uLy4uLy4uL2ZpZWxkL3B1YmxpY19hcGknO1xuaW1wb3J0IHsgU2VsZWN0Q29tcG9uZW50QmFzZSB9IGZyb20gJy4uL2NvbW1vbi9zZWxlY3QtY29tcG9uZW50LWJhc2UnO1xuaW1wb3J0IHtcbiAgTXVsdGlTZWxlY3REaXJlY3RpdmVCYXNlLFxuICBTZWxlY3RWYWx1ZUhvbGRlcixcbiAgU2luZ2xlU2VsZWN0RGlyZWN0aXZlQmFzZSxcbn0gZnJvbSAnLi4vY29tbW9uL3NlbGVjdC12YWx1ZS1ob2xkZXInO1xuaW1wb3J0IHsgU2VhcmNoYWJsZVNlbGVjdERpcmVjdGl2ZSB9IGZyb20gJy4vc2VhcmNoYWJsZS1zZWxlY3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IEljb25SZWdpc3RyeSB9IGZyb20gJy4uLy4uLy4uL2ljb24vcHVibGljX2FwaSc7XG5pbXBvcnQgeyBpY29uQ2hldnJvbkRvd24gfSBmcm9tICdAZGFuc2tlL3NhcHBoaXJlLWljb25zL2pzJztcblxuLyoqXG4gKiBFbmFibGVzIG11bHRpcGxlIHNlbGVjdGlvbi4gV2hlbiBwcmVzZW50LCBgdmFsdWVgIHdpbGwgYmUgb2YgdHlwZSBgc3RyaW5nW11gLCBhbmQgYHZhbHVlQ2hhbmdlYFxuICogd2lsbCBlbWl0IGBzdHJpbmdbXWAuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ3NwLXNlbGVjdFttdWx0aXBsZV0nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBTZWxlY3RWYWx1ZUhvbGRlcixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE11bHRpU2VsZWN0RGlyZWN0aXZlKSxcbiAgICB9LFxuICBdLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgTXVsdGlTZWxlY3REaXJlY3RpdmUgZXh0ZW5kcyBNdWx0aVNlbGVjdERpcmVjdGl2ZUJhc2Uge31cblxuLyoqXG4gKiBFbmFibGVzIHNpbmdsZSBzZWxlY3Rpb24sIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIFNlbGVjdC5cbiAqIFdoZW4gcHJlc2VudCwgYHZhbHVlYCB3aWxsIGJlIG9mIHR5cGUgYHN0cmluZ2AsIGFuZCBgdmFsdWVDaGFuZ2VgIHdpbGwgZW1pdCBgc3RyaW5nYC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnc3Atc2VsZWN0Om5vdChbbXVsdGlwbGVdKScsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNlbGVjdFZhbHVlSG9sZGVyLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2luZ2xlU2VsZWN0RGlyZWN0aXZlKSxcbiAgICB9LFxuICBdLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgU2luZ2xlU2VsZWN0RGlyZWN0aXZlIGV4dGVuZHMgU2luZ2xlU2VsZWN0RGlyZWN0aXZlQmFzZSB7fVxuXG4vKipcbiAqIEFsbG93cyB1c2VyIHRvIHNlbGVjdCBhIHNpbmdsZSBvcHRpb24gZnJvbSBhIGxpc3QsIHNpbWlsYXIgdG8gbmF0aXZlIHNlbGVjdFxuICogY29tcG9uZW50LlxuICpcbiAqIEV4YW1wbGU6XG4gKiBgYGB0c3hcbiAqIDxzcC1maWVsZD5cbiAqICAgPHNwLWZpZWxkLWxhYmVsPkxhYmVsIHRleHQ8L3NwLWZpZWxkLWxhYmVsPlxuICogICA8c3Atc2VsZWN0IHBsYWNlaG9sZGVyPVwiU2VsZWN0IGFuIG9wdGlvblwiPlxuICogICAgIDxzcC1vcHRpb24gdmFsdWU9XCJvcHRpb24xXCI+Rmlyc3QgT3B0aW9uPC9zcC1vcHRpb24+XG4gKiAgICAgPHNwLW9wdGlvbiB2YWx1ZT1cIm9wdGlvbjJcIj5TZWNvbmQgT3B0aW9uPC9zcC1vcHRpb24+XG4gKiAgICAgPHNwLW9wdGlvbiB2YWx1ZT1cIm9wdGlvbjNcIj5UaGlyZCBPcHRpb248L3NwLW9wdGlvbj5cbiAqICAgPC9zcC1zZWxlY3Q+XG4gKiA8L3NwLWZpZWxkPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NwLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcbiAgZXhwb3J0QXM6ICdzcFNlbGVjdCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2VsZWN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogU2VsZWN0Q29tcG9uZW50QmFzZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNlbGVjdENvbXBvbmVudCksXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBGaWVsZENvbnRyb2wsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTZWxlY3RDb21wb25lbnQpLFxuICAgIH0sXG4gIF0sXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ3NhcHBoaXJlLXNlbGVjdCcsXG4gICAgJ1tjbGFzcy5zYXBwaGlyZS1zZWxlY3QtLWVycm9yXSc6ICdfZmllbGQ/Lmhhc0Vycm9yKHRoaXMpJyxcbiAgICAnW2NsYXNzLnNhcHBoaXJlLXNlbGVjdC0tbWRdJzogJ19maWVsZD8uc2l6ZSA9PT0gXCJtZFwiJyxcbiAgICAnW2NsYXNzLmlzLWZvY3VzXSc6ICdpc0ZvY3VzVmlzaWJsZSgpJyxcbiAgICAnW2NsYXNzLmlzLWRpc2FibGVkXSc6ICdpc0Rpc2FibGVkKCknLFxuICAgICdbYXR0ci5pZF0nOiAnbnVsbCcsXG4gICAgJ1thdHRyLmFyaWEtbGFiZWxdJzogJ251bGwnLFxuICAgICdbYXR0ci5hcmlhLWxhYmVsbGVkYnldJzogJ251bGwnLFxuICAgICdbYXR0ci5wbGFjZWhvbGRlcl0nOiAnbnVsbCcsXG4gIH0sXG4gIGhvc3REaXJlY3RpdmVzOiBbVXNlQ29tcG9uZW50U3R5bGVzT25Ib3N0XSxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdENvbXBvbmVudFxuICBleHRlbmRzIFNlbGVjdENvbXBvbmVudEJhc2VcbiAgaW1wbGVtZW50cyBGaWVsZENvbnRyb2wsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveVxue1xuICBwcml2YXRlIGZvY3VzT3JpZ2luOiBGb2N1c09yaWdpbiA9IG51bGw7XG4gIGZpbHRlcmVkQ2hpbGRyZW4kOiBPYnNlcnZhYmxlPExpc3Rib3hDaGlsZFtdPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgQFZpZXdDaGlsZCgndHJpZ2dlclJlZicpXG4gIHByb3RlY3RlZCB0cmlnZ2VyUmVmOiBQb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCd0cmlnZ2VyRWxlbWVudFJlZicsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwcm90ZWN0ZWQgdHJpZ2dlckVsZW1lbnRSZWY6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZChMaXN0Ym94Q29tcG9uZW50KVxuICBwcm90ZWN0ZWQgbGlzdGJveDogTGlzdGJveENvbXBvbmVudCB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCdzZWFyY2hJbnB1dCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwcml2YXRlIHNlYXJjaElucHV0PzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBnZXQgc2VhcmNoYWJsZSgpIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBpZCBvZiB0cmlnZ2VyIHZhbHVlIGFyZWEsIHdoaWNoIHdpbGwgY29udGFpbiBlaXRoZXIgdGhlIHNlbGVjdGVkIHZhbHVlIG9yIHRoZSBwbGFjZWhvbGRlci5cbiAgICovXG4gIEBBdXRvSWQoKVxuICBfdmFsdWVDb250YWluZXJJZDogc3RyaW5nID0gJyc7XG5cbiAgcHJpdmF0ZSBkZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHZhbHVlSG9sZGVyOiBTZWxlY3RWYWx1ZUhvbGRlcixcbiAgICBpY29uUmVnaXN0cnk6IEljb25SZWdpc3RyeSxcbiAgICBwcml2YXRlIGZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yLFxuICAgIHByaXZhdGUgaW5wdXRNb2RhbGl0eTogSW5wdXRNb2RhbGl0eURldGVjdG9yLFxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyBfZmllbGQ/OiBGaWVsZENvbXBvbmVudCxcbiAgICBAT3B0aW9uYWwoKSBwdWJsaWMgX3NlYXJjaGFibGVTZWxlY3REaXJlY3RpdmU/OiBTZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlXG4gICkge1xuICAgIHN1cGVyKHZhbHVlSG9sZGVyKTtcbiAgICBpY29uUmVnaXN0cnkucmVnaXN0ZXJJY29uKGljb25DaGV2cm9uRG93bik7XG4gIH1cblxuICBvdmVycmlkZSBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgY29uc3QgbGlzdGJveEl0ZW0kID0gdGhpcy5saXN0Ym94Q2hpbGRyZW4uY2hhbmdlcy5waXBlKFxuICAgICAgc3RhcnRXaXRoKHRoaXMubGlzdGJveENoaWxkcmVuKVxuICAgICk7XG4gICAgY29uc3Qgc2VhcmNoYWJsZVNlbGVjdCA9IHRoaXMuX3NlYXJjaGFibGVTZWxlY3REaXJlY3RpdmU7XG4gICAgaWYgKHRoaXMuc2VhcmNoSW5wdXQgJiYgc2VhcmNoYWJsZVNlbGVjdCkge1xuICAgICAgY29uc3Qgc2VhcmNoSW5wdXRWYWx1ZSQgPSBzZWFyY2hhYmxlU2VsZWN0LnNlYXJjaFZhbHVlQ2hhbmdlLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCksXG4gICAgICAgIHN0YXJ0V2l0aChzZWFyY2hhYmxlU2VsZWN0LnNlYXJjaFZhbHVlKVxuICAgICAgKTtcbiAgICAgIGNvbnN0IGZpbHRlclJlc3VsdCQgPSBjb21iaW5lTGF0ZXN0KHNlYXJjaElucHV0VmFsdWUkLCBsaXN0Ym94SXRlbSQpLnBpcGUoXG4gICAgICAgIG1hcCgoW3NlYXJjaFF1ZXJ5XSkgPT4ge1xuICAgICAgICAgIGlmICghc2VhcmNoUXVlcnkpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGZpbHRlcmVkQ2hpbGRyZW46IHRoaXMubGlzdGJveENoaWxkcmVuLnRvQXJyYXkoKSxcbiAgICAgICAgICAgICAgZmlsdGVyZWRPdXRPcHRpb25zOiBbXSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBzZWFyY2hhYmxlU2VsZWN0LmZpbHRlckxpc3Rib3hJdGVtcyhcbiAgICAgICAgICAgIHRoaXMubGlzdGJveENoaWxkcmVuLFxuICAgICAgICAgICAgKG9wdGlvbikgPT5cbiAgICAgICAgICAgICAgIXNlYXJjaGFibGVTZWxlY3QuZmlsdGVyIHx8XG4gICAgICAgICAgICAgIHNlYXJjaGFibGVTZWxlY3QuZmlsdGVyKG9wdGlvbiwgc2VhcmNoUXVlcnkpXG4gICAgICAgICAgKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICB0aGlzLmZpbHRlcmVkQ2hpbGRyZW4kID0gdGhpcy5tdWx0aXBsZVxuICAgICAgICA/IC8vIEdyb3VwaW5nIHNlbGVjdGVkIG9wdGlvbnNcbiAgICAgICAgICBjb21iaW5lTGF0ZXN0KFxuICAgICAgICAgICAgZmlsdGVyUmVzdWx0JCxcbiAgICAgICAgICAgIHRoaXMudmFsdWVIb2xkZXIudmFsdWVDaGFuZ2UucGlwZShzdGFydFdpdGgoZW1wdHkoKSkpXG4gICAgICAgICAgKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbeyBmaWx0ZXJlZENoaWxkcmVuIH1dKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0aGlzLmxpc3Rib3hWYWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmlsdGVyZWRDaGlsZHJlbjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICAgICAgZmlsdGVyZWRPdXRPcHRpb25zOiBzZWxlY3RlZE9wdGlvbnMsXG4gICAgICAgICAgICAgICAgZmlsdGVyZWRDaGlsZHJlbjogc2VsZWN0aW9uRXhjbHVkZWRDaGlsZHJlbixcbiAgICAgICAgICAgICAgfSA9IHNlYXJjaGFibGVTZWxlY3QuZmlsdGVyTGlzdGJveEl0ZW1zKFxuICAgICAgICAgICAgICAgIGZpbHRlcmVkQ2hpbGRyZW4sXG4gICAgICAgICAgICAgICAgKG9wdGlvbikgPT4gIXRoaXMubGlzdGJveFZhbHVlLmluY2x1ZGVzKG9wdGlvbi52YWx1ZSlcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICBzZWxlY3RlZE9wdGlvbnMubGVuZ3RoID4gMFxuICAgICAgICAgICAgICAgICAgPyBbc2VjdGlvbihzZWxlY3RlZE9wdGlvbnMpXVxuICAgICAgICAgICAgICAgICAgOiAoW10gYXMgTGlzdGJveENoaWxkW10pXG4gICAgICAgICAgICAgICkuY29uY2F0KHNlbGVjdGlvbkV4Y2x1ZGVkQ2hpbGRyZW4pO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgIDogZmlsdGVyUmVzdWx0JC5waXBlKG1hcCgoeyBmaWx0ZXJlZENoaWxkcmVuIH0pID0+IGZpbHRlcmVkQ2hpbGRyZW4pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWx0ZXJlZENoaWxkcmVuJCA9IGxpc3Rib3hJdGVtJDtcbiAgICB9XG4gIH1cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLmRlc3Ryb3llZC5uZXh0KHVuZGVmaW5lZCk7XG4gICAgdGhpcy5kZXN0cm95ZWQuY29tcGxldGUoKTtcbiAgfVxuXG4gIF9nZXRBcmlhTGFiZWxsZWRCeSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIC8vIFRoZSBsb2dpYyBoZXJlIGlzIHNpbWlsYXIgdG8gdGhlIG9uZSBpbiByZWFjdC1hcmlhJ3MgdXNlU2VsZWN0LlxuICAgIGNvbnN0IGxhYmVsbGVkQnkgPSB0aGlzLmFyaWFMYWJlbGxlZGJ5IHx8IHRoaXMuX2ZpZWxkPy5sYWJlbD8uaWQ7XG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMuX3ZhbHVlQ29udGFpbmVySWQsXG4gICAgICBsYWJlbGxlZEJ5LFxuICAgICAgdGhpcy5hcmlhTGFiZWwgJiYgIWxhYmVsbGVkQnkgPyB0aGlzLmlkIDogbnVsbCxcbiAgICBdXG4gICAgICAuZmlsdGVyKChpKSA9PiBpKVxuICAgICAgLmpvaW4oJyAnKTtcbiAgfVxuXG4gIGlzRm9jdXNlZCgpIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLmZvY3VzT3JpZ2luKTtcbiAgfVxuXG4gIGlzRm9jdXNWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmlzRm9jdXNlZCgpICYmXG4gICAgICAvLyBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlIGZvY3VzIGRvZXNuJ3QgY2hhbmdlIHdoZW4gYSBrZXkgKGUuZy4gRXNjYXBlKSBpcyBwcmVzc2VkIGluIHRoZSBzZWFyY2ggaW5wdXQuXG4gICAgICAodGhpcy5pbnB1dE1vZGFsaXR5Lm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ2tleWJvYXJkJyB8fFxuICAgICAgICAvLyBUaGlzIGlzIG5lZWRlZCBmb3Igd2hlbiBsYWJlbCBpcyBjbGlja2VkIGFuZCBmb2N1c09yaWdpbiBpcyBmb3JjZWQgdG8ga2V5Ym9hcmQsIGJ1dCBjdXJyZW50IG1vZGFsaXR5IGlzIG1vdXNlLlxuICAgICAgICB0aGlzLmZvY3VzT3JpZ2luID09PSAna2V5Ym9hcmQnKSAmJlxuICAgICAgIXRoaXMuaXNPcGVuKCkgLy8gVGhpcyBpcyBiZWNhdXNlIGluIHNlYXJjaGFibGUgc2VsZWN0LCB0aGUgYWN0dWFsIGZvY3VzIGlzIG9uIHRoZSBpbnB1dCxcbiAgICAgIC8vIGJ1dCBpdCdzIG1lYW50IHRvIGJlIHNob3duIG9uIHRoZSBsaXN0Ym94LiBJdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gc2hvdyB0aGUgZm9jdXMgaW4gdHdvXG4gICAgICAvLyBwbGFjZXMuXG4gICAgKTtcbiAgfVxuXG4gIGZvY3VzKGZvY3VzT3JpZ2luOiBGb2N1c09yaWdpbiA9ICdwcm9ncmFtJykge1xuICAgIHRoaXMuZm9jdXNNb25pdG9yLmZvY3VzVmlhKFxuICAgICAgdGhpcy5zZWFyY2hJbnB1dD8ubmF0aXZlRWxlbWVudCA/PyB0aGlzLnRyaWdnZXJFbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50LFxuICAgICAgZm9jdXNPcmlnaW5cbiAgICApO1xuICB9XG5cbiAgX29uRm9jdXNDaGFuZ2UoZm9jdXNPcmlnaW46IEZvY3VzT3JpZ2luKSB7XG4gICAgdGhpcy5mb2N1c09yaWdpbiA9IGZvY3VzT3JpZ2luO1xuICB9XG5cbiAgX29uRm9jdXMoKSB7XG4gICAgLy8gV2hlbmV2ZXIgZm9jdXMgY29tZXMgdG8gdGhlIHRyaWdnZXIgLCBmb3J3YXJkIGl0IHRvIHRoZSBzZWFyY2ggaW5wdXQuIEl0J3MgbmVlZGVkIGZvciB3aGVuXG4gICAgLy8gdGhlIHRyaWdnZXIgaXMgcmUtZm9jdXNlZCBhZnRlciBwb3BvdmVyIGlzIGNsb3NlZC5cbiAgICB0aGlzLmZvY3VzKHRoaXMuZm9jdXNPcmlnaW4pO1xuICB9XG5cbiAgX2lzSW5wdXRWaXNpYmxlKCkge1xuICAgIHJldHVybiB0aGlzLmlzT3BlbigpIC8qfHxcbiAgICAgICh0aGlzLnNlYXJjaElucHV0Py5uYXRpdmVFbGVtZW50ID09PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50ICYmXG4gICAgICAgIHRoaXMubGlzdGJveFZhbHVlLmxlbmd0aCA9PT0gMCkqLztcbiAgfVxuXG4gIF9vbk9wZW4oKSB7XG4gICAgc3VwZXIuX29uT3BlbigpO1xuICAgIGlmICghdGhpcy5tdWx0aXBsZSAmJiB0aGlzLl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlKSB7XG4gICAgICB0aGlzLl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlLnNldFNlYXJjaFZhbHVlKFxuICAgICAgICAodGhpcy5fc2VhcmNoYWJsZVNlbGVjdERpcmVjdGl2ZS5jbGVhclNlYXJjaE9uT3BlblxuICAgICAgICAgID8gJydcbiAgICAgICAgICA6IHRoaXMuc2VsZWN0ZWRPcHRpb25zWzBdPy5sYWJlbCkgPz8gJydcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IHNlYXJjaElucHV0RWxlbWVudCA9IHRoaXMuc2VhcmNoSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKHRoaXMuX3NlYXJjaGFibGVTZWxlY3REaXJlY3RpdmU/LnNlbGVjdFRleHRPbk9wZW4pIHtcbiAgICAgIHNlYXJjaElucHV0RWxlbWVudD8uc2VsZWN0KCk7XG4gICAgfVxuICAgIGNvbnN0IGZvY3VzVmlzaWJsZU9uT3BlbiA9IHRoaXMuaXNGb2N1c1Zpc2libGUoKTtcbiAgICAvLyBNb3ZlIGZvY3VzIHRvIHRoZSBzZWFyY2ggaW5wdXQuIFRoZSB0aW1lb3V0IGlzIG5lZWRlZCBiZWNhdXNlIHBvcG92ZXIgd2lsbCBhdXRvZm9jdXMgdGhlXG4gICAgLy8gY29udGVudCwgYW5kIHdlIG5lZWQgdG8gbGV0IHRoZSBmb2N1cyBmaXJzdCBsYW5kIGluIHRoZSBwb3BvdmVyLCBhbmQgdGhlbiBzdGVhbCBpdC5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHNlYXJjaElucHV0RWxlbWVudD8uZm9jdXMoKTtcblxuICAgICAgLy8gTmVlZCB0byBydW4gdGhpcyBhbHNvIGFzeW5jaHJvbm91c2x5LCB0byBsZXQgdGhlIHBvcG92ZXIgKGFuZCBsaXN0Ym94KSBtb3VudFxuICAgICAgaWYgKCFmb2N1c1Zpc2libGVPbk9wZW4gJiYgdGhpcy5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIC8vIHRvIHByZXZlbnQgdGhlIGZpcnN0IGl0ZW0gZnJvbSBiZWluZyBmb2N1c2VkIHdoZW4gdGhlIGRyb3Bkb3duIGlzIG9wZW5lZCB2aWEgbW91c2VcbiAgICAgICAgdGhpcy5saXN0Ym94Py5zZXRBY3RpdmVPcHRpb24obnVsbCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBfb25DbG9zZSgpIHtcbiAgICBzdXBlci5fb25DbG9zZSgpO1xuICAgIGlmICghdGhpcy5tdWx0aXBsZSAmJiB0aGlzLl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlKSB7XG4gICAgICB0aGlzLl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlLnNldFNlYXJjaFZhbHVlKFxuICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9uc1swXT8ubGFiZWwgfHwgJydcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IHNlYXJjaElucHV0RWxlbWVudCA9IHRoaXMuc2VhcmNoSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgc2VhcmNoSW5wdXRFbGVtZW50Py5zZXRTZWxlY3Rpb25SYW5nZShcbiAgICAgIHNlYXJjaElucHV0RWxlbWVudC52YWx1ZS5sZW5ndGgsXG4gICAgICBzZWFyY2hJbnB1dEVsZW1lbnQudmFsdWUubGVuZ3RoXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRGaWVsZExhYmVsPygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9maWVsZD8ubGFiZWw/LmdldFRleHQoKSA/PyAnJztcbiAgfVxuXG4gIF9vbklucHV0S2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGNvbnN0IHNlbGVjdFZhbHVlID0gKHRvQmVTZWxlY3RlZDogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBsaXN0Ym94VmFsdWUgPSB0aGlzLmxpc3Rib3hWYWx1ZTtcbiAgICAgIGNvbnN0IGFscmVhZHlTZWxlY3RlZCA9IGxpc3Rib3hWYWx1ZS5pbmNsdWRlcyh0b0JlU2VsZWN0ZWQpO1xuICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgdGhpcy5saXN0Ym94VmFsdWUgPSBhbHJlYWR5U2VsZWN0ZWRcbiAgICAgICAgICA/IGxpc3Rib3hWYWx1ZS5maWx0ZXIoKHZhbHVlKSA9PiB2YWx1ZSAhPT0gdG9CZVNlbGVjdGVkKVxuICAgICAgICAgIDogWy4uLmxpc3Rib3hWYWx1ZSwgdG9CZVNlbGVjdGVkXTtcbiAgICAgIH0gZWxzZSBpZiAoIWFscmVhZHlTZWxlY3RlZCkge1xuICAgICAgICB0aGlzLmxpc3Rib3hWYWx1ZSA9IFt0b0JlU2VsZWN0ZWRdO1xuICAgICAgfVxuICAgIH07XG4gICAgY29uc3QgZmlyc3RPcHRpb25WYWx1ZSA9IHRoaXMub3B0aW9ucz8uZ2V0KDApPy52YWx1ZTtcbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICBpZiAoIXRoaXMuaXNPcGVuKCkpIHtcbiAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRXNjYXBlJzpcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0VudGVyJzpcbiAgICAgICAgLy8gU2VsZWN0aW9uIGlzIGFscmVhZHkgaGFuZGxlZCBpZiB0aGVyZSBpcyBhbiBhY3RpdmUgb3B0aW9uXG4gICAgICAgIGlmICh0aGlzLmlzT3BlbigpKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy5saXN0Ym94Py5nZXRBY3RpdmVPcHRpb24oKSA9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgIGZpcnN0T3B0aW9uVmFsdWVcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHNlbGVjdFZhbHVlKGZpcnN0T3B0aW9uVmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdUYWInOlxuICAgICAgICBpZiAodGhpcy5pc09wZW4oKSAmJiAhdGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgIGNvbnN0IHRvQmVTZWxlY3RlZCA9XG4gICAgICAgICAgICB0aGlzLmxpc3Rib3g/LmdldEFjdGl2ZU9wdGlvbigpIHx8IGZpcnN0T3B0aW9uVmFsdWU7XG4gICAgICAgICAgaWYgKHRvQmVTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHNlbGVjdFZhbHVlKHRvQmVTZWxlY3RlZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIF9vblNlYXJjaElucHV0KGV2ZW50OiBFdmVudCkge1xuICAgIGlmIChldmVudC50YXJnZXQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50KSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IGV2ZW50LnRhcmdldD8udmFsdWU7XG4gICAgICB0aGlzLl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlPy5zZXRTZWFyY2hWYWx1ZSh2YWx1ZSk7XG4gICAgICAvLyBjbGVhcmluZyB0aGUgdmFsdWUgd2hlbiB0aGUgc2VhcmNoIGlucHV0IGlzIGNsZWFyZWQuXG4gICAgICBpZiAoIXRoaXMubXVsdGlwbGUgJiYgIXZhbHVlICYmIHRoaXMubGlzdGJveFZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5saXN0Ym94VmFsdWUgPSBbXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmxpc3Rib3g/LnNldEFjdGl2ZU9wdGlvbihudWxsKTtcbiAgfVxuXG4gIF9oYW5kbGVTZWxlY3RlZCgpIHtcbiAgICBzdXBlci5faGFuZGxlU2VsZWN0ZWQoKTtcbiAgfVxuXG4gIGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh0aGlzLmRpc2FibGVkKTtcbiAgfVxuXG4gIGhhc0RlZmF1bHRXaWR0aCA9IHRydWU7XG59XG4iLCI8c3AtaGlkZGVuLXNlbGVjdD48L3NwLWhpZGRlbi1zZWxlY3Q+XG48ZGl2XG4gIHJvbGU9XCJidXR0b25cIlxuICBhcmlhLWhhc3BvcHVwPVwibGlzdGJveFwiXG4gIGNsYXNzPVwic2FwcGhpcmUtc2VsZWN0X19idXR0b25cIlxuICBbc3BQb3BvdmVyVHJpZ2dlckZvcl09XCJwb3BvdmVyXCJcbiAgW3NwUG9wb3ZlclRyaWdnZXJEaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIHNwUG9wb3ZlclRyaWdnZXJPcGVuT25QcmVzc1N0YXJ0XG4gIHNwUG9wb3ZlclRyaWdnZXJDbG9zZU9uU2Nyb2xsXG4gIHNwUG9wb3ZlclBsYWNlbWVudD1cImJvdHRvbSBzdGFydFwiXG4gICN0cmlnZ2VyRWxlbWVudFJlZlxuICAjdHJpZ2dlclJlZj1cInNwUG9wb3ZlclRyaWdnZXJcIlxuICAoa2V5ZG93bik9XCJoYW5kbGVLZXlEb3duKCRldmVudClcIlxuICAoc3BQb3BvdmVyVHJpZ2dlckNsb3NlZCk9XCJfb25DbG9zZSgpXCJcbiAgKHNwUG9wb3ZlclRyaWdnZXJPcGVuZWQpPVwiX29uT3BlbigpXCJcbiAgKGZvY3VzKT1cIl9vbkZvY3VzKClcIlxuICBjZGtNb25pdG9yU3VidHJlZUZvY3VzXG4gIChjZGtGb2N1c0NoYW5nZSk9XCJfb25Gb2N1c0NoYW5nZSgkZXZlbnQpXCJcbiAgW3NwUG9wb3Zlck5vbk1vZGFsXT1cInNlYXJjaGFibGVcIlxuICBzcFBvcG92ZXJEaXNhYmxlUHVzaEluc2lkZVZpZXdwb3J0PVwidHJ1ZVwiXG4gIFtpZF09XCJpZFwiXG4gIFt0YWJpbmRleF09XCItMVwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIl9nZXRBcmlhTGFiZWxsZWRCeSgpXCJcbiAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJfZmllbGQ/LmVycm9yPy5pZCB8fCBfZmllbGQ/Lm5vdGU/LmlkXCJcbiAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cIl9maWVsZD8uaGFzRXJyb3IodGhpcykgPyB0cnVlIDogbnVsbFwiXG4+XG4gIDxkaXYgY2xhc3M9XCJzYXBwaGlyZS1zZWxlY3RfX3ZhbHVlXCIgW2lkXT1cIl92YWx1ZUNvbnRhaW5lcklkXCI+XG4gICAgPGlucHV0XG4gICAgICAqbmdJZj1cInNlYXJjaGFibGVcIlxuICAgICAgI3NlYXJjaElucHV0XG4gICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgIHJvbGU9XCJjb21ib2JveFwiXG4gICAgICBjbGFzcz1cInNhcHBoaXJlLXNlbGVjdF9fc2VhcmNoLWlucHV0XCJcbiAgICAgIFtzcExpc3Rib3hJbnB1dF09XCJsaXN0Ym94XCJcbiAgICAgIFtzcFZpc3VhbGx5SGlkZGVuXT1cIiFfaXNJbnB1dFZpc2libGUoKVwiXG4gICAgICBbYXR0ci5kYXRhLWhpZGRlbl09XCIhX2lzSW5wdXRWaXNpYmxlKClcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHx8ICcnXCJcbiAgICAgIChrZXlkb3duKT1cIl9vbklucHV0S2V5ZG93bigkZXZlbnQpXCJcbiAgICAgIChiZWZvcmVpbnB1dCk9XCJvcGVuKClcIlxuICAgICAgW3ZhbHVlXT1cIl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlPy5zZWFyY2hWYWx1ZVwiXG4gICAgICAoaW5wdXQpPVwiX29uU2VhcmNoSW5wdXQoJGV2ZW50KVwiXG4gICAgLz5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNlYXJjaGFibGUgfHwgIV9pc0lucHV0VmlzaWJsZSgpXCI+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwic2VsZWN0ZWRPcHRpb25zLmxlbmd0aCA9PT0gMFwiXG4gICAgICAgIGNsYXNzPVwic2FwcGhpcmUtc2VsZWN0X19wbGFjZWhvbGRlclwiXG4gICAgICA+XG4gICAgICAgIHt7IHBsYWNlaG9sZGVyIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZE9wdGlvbnMubGVuZ3RoID4gMFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNlbGVjdGlvblRleHRcIj57e1xuICAgICAgICAgIGdldFNlbGVjdGlvblRleHQoKVxuICAgICAgICB9fTwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJzcC1zZWxlY3Rpb24tdGV4dFwiPjwvbmctY29udGVudD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInNhcHBoaXJlLXNlbGVjdF9faWNvbi1jb250YWluZXJcIj5cbiAgICA8c3AtaWNvbiBuYW1lPVwiY2hldnJvbkRvd25cIj48L3NwLWljb24+XG4gIDwvZGl2PlxuPC9kaXY+XG48bmctdGVtcGxhdGUgI3BvcG92ZXI+XG4gIDxzcC1wb3BvdmVyXG4gICAgW3N0eWxlLmRpc3BsYXldPVwiXG4gICAgICAoZmlsdGVyZWRDaGlsZHJlbiQgfCBhc3luYyk/Lmxlbmd0aCA9PT0gMCAmJiAhbGlzdGJveD8uX2dldEVtcHR5U3RhdGUoKVxuICAgICAgICA/ICdub25lJ1xuICAgICAgICA6IHVuZGVmaW5lZFxuICAgIFwiXG4gICAgbm9QYWRkaW5nXG4gICAgW3RyYXBGb2N1c109XCIhc2VhcmNoYWJsZVwiXG4gICAgbm9NYXhXaWR0aFxuICAgIFtzdHlsZS5taW4td2lkdGhdPVwidHJpZ2dlckVsZW1lbnRSZWYub2Zmc2V0V2lkdGggKyAncHgnXCJcbiAgPlxuICAgIDxzcC1saXN0Ym94XG4gICAgICBbc3BMaXN0Ym94SXRlbXNdPVwiKGZpbHRlcmVkQ2hpbGRyZW4kIHwgYXN5bmMpIHx8IHVuZGVmaW5lZFwiXG4gICAgICBuYXZpZ2F0aW9uV3JhcERpc2FibGVkXG4gICAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxuICAgICAgWyhzZWxlY3RlZFZhbHVlcyldPVwibGlzdGJveFZhbHVlXCJcbiAgICAgIChzZWxlY3RlZFZhbHVlc0NoYW5nZSk9XCJfc2VhcmNoYWJsZVNlbGVjdERpcmVjdGl2ZT8uc2V0U2VhcmNoVmFsdWUoJycpXCJcbiAgICAgIChzZWxlY3RlZCk9XCJfaGFuZGxlU2VsZWN0ZWQoKVwiXG4gICAgICBbZW1wdHlTdGF0ZV09XCJlbXB0eVN0YXRlXCJcbiAgICA+PC9zcC1saXN0Ym94PlxuICA8L3NwLXBvcG92ZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -101,7 +101,7 @@ SelectButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
|
|
|
101
101
|
useExisting: forwardRef(() => SelectButtonComponent),
|
|
102
102
|
},
|
|
103
103
|
ViewEncapsulationProvider,
|
|
104
|
-
], viewQueries: [{ propertyName: "triggerRef", first: true, predicate: ["triggerRef"], descendants: true }, { propertyName: "triggerElementRef", first: true, predicate: ["triggerElementRef"], descendants: true, read: ElementRef }, { propertyName: "listbox", first: true, predicate: ListboxComponent, descendants: true }], exportAs: ["spSelectButton"], usesInheritance: true, ngImport: i0, template: "<div style=\"position: relative\">\n <sp-hidden-select></sp-hidden-select>\n <button\n sp-button\n [variant]=\"variant\"\n [size]=\"size\"\n iconAlign=\"right\"\n [spPopoverTriggerFor]=\"popover\"\n spPopoverPlacement=\"bottom start\"\n #triggerElementRef\n #triggerRef=\"spPopoverTrigger\"\n (keydown)=\"handleKeyDown($event)\"\n (spPopoverTriggerOpened)=\"_onOpen()\"\n (spPopoverTriggerClosed)=\"_onClose()\"\n cdkMonitorElementFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n aria-haspopup=\"listbox\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [disabled]=\"disabled\"\n >\n <span *ngIf=\"selectedOptions.length === 0\">\n {{ placeholder }}\n </span>\n <ng-container *ngIf=\"selectedOptions.length > 0\">\n <ng-container *ngIf=\"!selectionText\">{{\n getSelectionText()\n }}</ng-container>\n <ng-content select=\"sp-selection-text\"></ng-content>\n </ng-container>\n <sp-icon spButtonIcon name=\"chevronDown\"></sp-icon>\n </button>\n <ng-template #popover>\n <sp-popover noPadding>\n <sp-listbox\n [spListboxItems]=\"listboxChildren\"\n navigationWrapDisabled\n [multiple]=\"multiple\"\n [(selectedValues)]=\"listboxValue\"\n (selected)=\"_handleSelected()\"\n >\n </sp-listbox>\n </sp-popover>\n </ng-template>\n</div>\n", styles: [".sapphire-select{position:relative;display:block;color:var(--sapphire-semantic-color-foreground-primary);font-family:var(--sapphire-semantic-font-name-default);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-select__button{display:flex;align-items:center;height:var(--sapphire-semantic-size-height-control-lg);box-sizing:border-box;cursor:pointer;padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md) 0 var(--sapphire-semantic-size-spacing-control-horizontal-lg);border:none;background:var(--sapphire-semantic-color-background-field);width:100%;outline:0;text-align:left;color:inherit;font-family:inherit;box-shadow:inset 0 0 0 var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-default);border-radius:var(--sapphire-semantic-size-radius-md);gap:var(--sapphire-semantic-size-spacing-sm)}.sapphire-select--md .sapphire-select__button{border-radius:var(--sapphire-semantic-size-radius-sm);height:var(--sapphire-semantic-size-height-control-md);padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md);gap:var(--sapphire-semantic-size-spacing-xs)}.sapphire-select__value{flex:1 0 0;min-width:0;font-size:var(--sapphire-semantic-size-font-control-lg);width:100%;font-weight:var(--sapphire-semantic-font-weight-default-regular);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sapphire-select--md .sapphire-select__value{font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-select__placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sapphire-semantic-color-foreground-secondary);pointer-events:none}.sapphire-select__icon-container{line-height:0;width:var(--sapphire-semantic-size-icon-md);height:var(--sapphire-semantic-size-icon-md)}.sapphire-select--md .sapphire-select__icon-container{width:var(--sapphire-semantic-size-icon-sm);height:var(--sapphire-semantic-size-icon-sm)}.sapphire-select__prefix{display:inherit;font-size:var(--sapphire-semantic-size-font-control-lg);color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-select:not(.sapphire-select--md) .sapphire-select__button:has(.sapphire-select__prefix){padding-left:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-select--md .sapphire-select__prefix{font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-select__search-input:not([data-hidden=true]){all:inherit}.sapphire-select__search-input::placeholder{color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-select__native-select{position:absolute;inset:0;opacity:.01;width:100%;z-index:1}.sapphire-select--error:not(.is-disabled) .sapphire-select__button{box-shadow:inset 0 0 0 1px var(--sapphire-semantic-color-border-negative-default)}.sapphire-select:not(.sapphire-select--error):not(.is-focus):not(.is-disabled).is-hover .sapphire-select__button,.sapphire-select:not(.sapphire-select--error):not(.is-focus):not(.is-disabled):not(.js-hover):hover .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-hover)}.sapphire-select:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-focus-ring)}.sapphire-select--error:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-border-negative-default)}.sapphire-select.is-disabled .sapphire-select__button{cursor:not-allowed;opacity:var(--sapphire-semantic-opacity-disabled)}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.IconComponent, selector: "sp-icon", inputs: ["name", "size", "color"] }, { kind: "component", type: i6.ListboxComponent, selector: "sp-listbox", inputs: ["selectedValues", "spListboxItems", "disabled", "multiple", "navigationWrapDisabled", "aria-label", "aria-labelledby", "id"], outputs: ["selectedValuesChange", "selected"], exportAs: ["spListbox"] }, { kind: "component", type: i7.PopoverComponent, selector: "sp-popover", inputs: ["noPadding", "noMaxWidth", "noAutoFocus", "trapFocus"] }, { kind: "directive", type: i8.PopoverTriggerDirective, selector: "[spPopoverTriggerFor]", inputs: ["spPopoverPlacement", "spPopoverTriggerFor", "spPopoverNonModal", "spPopoverTriggerOpenOnPressStart", "spPopoverTriggerCloseOnScroll", "spPopoverTriggerDisabled", "spPopoverDisablePushInsideViewport"], outputs: ["spPopoverTriggerOpened", "spPopoverTriggerClosed"], exportAs: ["spPopoverTrigger"] }, { kind: "directive", type: i2.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "component", type: i9.ButtonComponent, selector: "button[sp-button], a[sp-button]", inputs: ["variant", "size", "disabled", "iconAlign", "type", "tabindex"] }, { kind: "directive", type: i10.ButtonIconDirective, selector: "[spButtonIcon]" }, { kind: "component", type: i11.HiddenSelectComponent, selector: "sp-hidden-select" }] });
|
|
104
|
+
], viewQueries: [{ propertyName: "triggerRef", first: true, predicate: ["triggerRef"], descendants: true }, { propertyName: "triggerElementRef", first: true, predicate: ["triggerElementRef"], descendants: true, read: ElementRef }, { propertyName: "listbox", first: true, predicate: ListboxComponent, descendants: true }], exportAs: ["spSelectButton"], usesInheritance: true, ngImport: i0, template: "<div style=\"position: relative\">\n <sp-hidden-select></sp-hidden-select>\n <button\n sp-button\n [variant]=\"variant\"\n [size]=\"size\"\n iconAlign=\"right\"\n [spPopoverTriggerFor]=\"popover\"\n spPopoverPlacement=\"bottom start\"\n #triggerElementRef\n #triggerRef=\"spPopoverTrigger\"\n (keydown)=\"handleKeyDown($event)\"\n (spPopoverTriggerOpened)=\"_onOpen()\"\n (spPopoverTriggerClosed)=\"_onClose()\"\n cdkMonitorElementFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n aria-haspopup=\"listbox\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [disabled]=\"disabled\"\n >\n <span *ngIf=\"selectedOptions.length === 0\">\n {{ placeholder }}\n </span>\n <ng-container *ngIf=\"selectedOptions.length > 0\">\n <ng-container *ngIf=\"!selectionText\">{{\n getSelectionText()\n }}</ng-container>\n <ng-content select=\"sp-selection-text\"></ng-content>\n </ng-container>\n <sp-icon spButtonIcon name=\"chevronDown\"></sp-icon>\n </button>\n <ng-template #popover>\n <sp-popover noPadding>\n <sp-listbox\n [spListboxItems]=\"listboxChildren\"\n navigationWrapDisabled\n [multiple]=\"multiple\"\n [(selectedValues)]=\"listboxValue\"\n (selected)=\"_handleSelected()\"\n >\n </sp-listbox>\n </sp-popover>\n </ng-template>\n</div>\n", styles: [".sapphire-select{position:relative;display:block;color:var(--sapphire-semantic-color-foreground-primary);font-family:var(--sapphire-semantic-font-name-default);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-select__button{display:flex;align-items:center;height:var(--sapphire-semantic-size-height-control-lg);box-sizing:border-box;cursor:pointer;padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md) 0 var(--sapphire-semantic-size-spacing-control-horizontal-lg);border:none;background:var(--sapphire-semantic-color-background-field);width:100%;outline:0;text-align:left;color:inherit;font-family:inherit;box-shadow:inset 0 0 0 var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-default);border-radius:var(--sapphire-semantic-size-radius-md);gap:var(--sapphire-semantic-size-spacing-sm)}.sapphire-select--md .sapphire-select__button{border-radius:var(--sapphire-semantic-size-radius-sm);height:var(--sapphire-semantic-size-height-control-md);padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md);gap:var(--sapphire-semantic-size-spacing-xs)}.sapphire-select__value{flex:1 0 0;min-width:0;font-size:var(--sapphire-semantic-size-font-control-lg);width:100%;font-weight:var(--sapphire-semantic-font-weight-default-regular);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sapphire-select--md .sapphire-select__value{font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-select__placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sapphire-semantic-color-foreground-secondary);pointer-events:none}.sapphire-select__icon-container{line-height:0;width:var(--sapphire-semantic-size-icon-md);height:var(--sapphire-semantic-size-icon-md)}.sapphire-select--md .sapphire-select__icon-container{width:var(--sapphire-semantic-size-icon-sm);height:var(--sapphire-semantic-size-icon-sm)}.sapphire-select__prefix{display:inherit;font-size:var(--sapphire-semantic-size-font-control-lg);color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-select:not(.sapphire-select--md) .sapphire-select__button:has(.sapphire-select__prefix){padding-left:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-select--md .sapphire-select__prefix{font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-select__search-input:not([data-hidden=true]){all:inherit}.sapphire-select__search-input::placeholder{color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-select__native-select{position:absolute;inset:0;opacity:.01;width:100%;z-index:1}.sapphire-select--error:not(.is-disabled) .sapphire-select__button{box-shadow:inset 0 0 0 1px var(--sapphire-semantic-color-border-negative-default)}.sapphire-select:not(.sapphire-select--error):not(.is-focus):not(.is-disabled).is-hover .sapphire-select__button,.sapphire-select:not(.sapphire-select--error):not(.is-focus):not(.is-disabled):not(.js-hover):hover .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-hover)}.sapphire-select:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-focus-ring)}.sapphire-select--error:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-border-negative-default)}.sapphire-select.is-disabled .sapphire-select__button{cursor:not-allowed;opacity:var(--sapphire-semantic-opacity-disabled)}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.IconComponent, selector: "sp-icon", inputs: ["name", "size", "color"] }, { kind: "component", type: i6.ListboxComponent, selector: "sp-listbox", inputs: ["selectedValues", "spListboxItems", "disabled", "multiple", "navigationWrapDisabled", "aria-label", "aria-labelledby", "id", "emptyState"], outputs: ["selectedValuesChange", "selected"], exportAs: ["spListbox"] }, { kind: "component", type: i7.PopoverComponent, selector: "sp-popover", inputs: ["noPadding", "noMaxWidth", "noAutoFocus", "trapFocus"] }, { kind: "directive", type: i8.PopoverTriggerDirective, selector: "[spPopoverTriggerFor]", inputs: ["spPopoverPlacement", "spPopoverTriggerFor", "spPopoverNonModal", "spPopoverTriggerOpenOnPressStart", "spPopoverTriggerCloseOnScroll", "spPopoverTriggerDisabled", "spPopoverDisablePushInsideViewport"], outputs: ["spPopoverTriggerOpened", "spPopoverTriggerClosed"], exportAs: ["spPopoverTrigger"] }, { kind: "directive", type: i2.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "component", type: i9.ButtonComponent, selector: "button[sp-button], a[sp-button]", inputs: ["variant", "size", "disabled", "iconAlign", "type", "tabindex"] }, { kind: "directive", type: i10.ButtonIconDirective, selector: "[spButtonIcon]" }, { kind: "component", type: i11.HiddenSelectComponent, selector: "sp-hidden-select" }] });
|
|
105
105
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SelectButtonComponent, decorators: [{
|
|
106
106
|
type: Component,
|
|
107
107
|
args: [{ selector: 'sp-select-button', exportAs: 'spSelectButton', providers: [
|
|
@@ -32,7 +32,7 @@ TextFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
|
|
|
32
32
|
provide: FieldControl,
|
|
33
33
|
useExisting: forwardRef(() => TextFieldComponent),
|
|
34
34
|
},
|
|
35
|
-
], queries: [{ propertyName: "inputElement", first: true, predicate: TextFieldInputDirective, descendants: true, read: ElementRef }, { propertyName: "_inputDirective", first: true, predicate: TextFieldInputDirective, descendants: true }], hostDirectives: [{ directive: i2.ThemeCheckDirective }, { directive: i3.UseComponentStylesOnHost }], ngImport: i0, template: "<ng-content\n select=\"sp-text-field-prefix\"\n *ngIf=\"!_inputDirective?.textarea\"\n></ng-content>\n<ng-content select=\"input\"></ng-content>\n<ng-content\n select=\"sp-text-field-postfix\"\n *ngIf=\"!_inputDirective?.textarea\"\n></ng-content>\n<ng-content select=\"textarea\"></ng-content>\n\n<span\n *ngIf=\"characterCounterMax !== undefined\"\n spFieldNoteSuffix\n class=\"sapphire-text-field__counter\"\n [class.sapphire-text-field__counter--error]=\"isCharacterCounterExceeded()\"\n >{{ _inputDirective?.valueLength }}/{{ characterCounterMax }}</span\n>\n", styles: [".sapphire-text-field{outline:solid var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-default);outline-offset:calc(0px - var(--sapphire-semantic-size-border-sm));box-sizing:border-box;overflow-x:hidden;display:flex;align-items:center;border-radius:var(--sapphire-semantic-size-radius-md);cursor:text;color:var(--sapphire-semantic-color-foreground-primary);background:var(--sapphire-semantic-color-background-field);height:var(--sapphire-semantic-size-height-control-lg);font-family:var(--sapphire-semantic-font-name-default);font-size:var(--sapphire-semantic-size-font-control-lg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-text-field--md{border-radius:var(--sapphire-semantic-size-radius-sm);height:var(--sapphire-semantic-size-height-control-md);font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-text-field__input{box-sizing:border-box;width:100%;height:100%;margin:0;padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-lg);line-height:var(--sapphire-semantic-size-line-height-md);font-family:inherit;font-size:inherit;font-weight:var(--sapphire-semantic-font-weight-default-regular);color:inherit;background:transparent;border:none;outline:none}.sapphire-text-field--md .sapphire-text-field__input{padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field__input::placeholder{opacity:1;color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-text-field__input--align-right{text-align:right}.sapphire-text-field:not(.sapphire-text-field--multiline){gap:var(--sapphire-semantic-size-spacing-sm)}.sapphire-text-field--md:not(.sapphire-text-field--multiline){gap:var(--sapphire-semantic-size-spacing-xs)}.sapphire-text-field:has(.sapphire-text-field__prefix) .sapphire-text-field__input{padding-left:0}.sapphire-text-field .sapphire-text-field__prefix{color:var(--sapphire-semantic-color-foreground-secondary);flex-shrink:0;z-index:1;margin-left:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field--md .sapphire-text-field__prefix{margin-left:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field:has(.sapphire-text-field__postfix) .sapphire-text-field__input{padding-right:0}.sapphire-text-field .sapphire-text-field__postfix{color:var(--sapphire-semantic-color-foreground-secondary);flex-shrink:0;z-index:1;margin-right:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field--md .sapphire-text-field__postfix{margin-right:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field .sapphire-text-field__prefix--icon,.sapphire-text-field .sapphire-text-field__postfix--icon{width:var(--sapphire-semantic-size-icon-md);height:var(--sapphire-semantic-size-icon-md)}.sapphire-text-field--md .sapphire-text-field__prefix--icon,.sapphire-text-field--md .sapphire-text-field__postfix--icon{width:var(--sapphire-semantic-size-icon-sm);height:var(--sapphire-semantic-size-icon-sm)}.sapphire-text-field--multiline{display:block;line-height:0;height:unset;padding:0}.sapphire-text-field--multiline .sapphire-text-field__input{resize:none;width:100%;padding:var(--sapphire-semantic-size-spacing-control-vertical-lg) var(--sapphire-semantic-size-spacing-control-horizontal-lg);scroll-padding-bottom:var(--sapphire-semantic-size-spacing-control-vertical-lg)}.sapphire-text-field--md .sapphire-text-field--multiline .sapphire-text-field__input{padding:var(--sapphire-semantic-size-spacing-control-vertical-md) var(--sapphire-semantic-size-spacing-control-horizontal-md);scroll-padding-bottom:var(--sapphire-semantic-size-spacing-control-vertical-md)}.sapphire-text-field--multiline.sapphire-text-field--resizable .sapphire-text-field__input{resize:vertical}.sapphire-text-field__counter{color:var(--sapphire-semantic-color-foreground-secondary);margin-left:auto}.sapphire-text-field__counter--error{color:var(--sapphire-semantic-color-foreground-negative)}.sapphire-text-field--error{outline:solid var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-negative-default)}.sapphire-text-field:has([disabled]){cursor:not-allowed;opacity:var(--sapphire-semantic-opacity-disabled)}.sapphire-text-field:not(:has([disabled])):not(.sapphire-text-field--error):not(.is-focus):not(:focus-within).is-hover,.sapphire-text-field:not(:has([disabled])):not(.sapphire-text-field--error):not(.is-focus):not(:focus-within):not(.js-hover):hover{outline:solid var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-hover)}.sapphire-text-field.is-focus,.sapphire-text-field:focus-within{outline:solid var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-focus-ring);outline-offset:calc(0px - var(--sapphire-semantic-size-focus-ring))}.sapphire-text-field.is-focus .sapphire-text-field__input
|
|
35
|
+
], queries: [{ propertyName: "inputElement", first: true, predicate: TextFieldInputDirective, descendants: true, read: ElementRef }, { propertyName: "_inputDirective", first: true, predicate: TextFieldInputDirective, descendants: true }], hostDirectives: [{ directive: i2.ThemeCheckDirective }, { directive: i3.UseComponentStylesOnHost }], ngImport: i0, template: "<ng-content\n select=\"sp-text-field-prefix\"\n *ngIf=\"!_inputDirective?.textarea\"\n></ng-content>\n<ng-content select=\"input\"></ng-content>\n<ng-content\n select=\"sp-text-field-postfix\"\n *ngIf=\"!_inputDirective?.textarea\"\n></ng-content>\n<ng-content select=\"textarea\"></ng-content>\n\n<span\n *ngIf=\"characterCounterMax !== undefined\"\n spFieldNoteSuffix\n class=\"sapphire-text-field__counter\"\n [class.sapphire-text-field__counter--error]=\"isCharacterCounterExceeded()\"\n >{{ _inputDirective?.valueLength }}/{{ characterCounterMax }}</span\n>\n", styles: [".sapphire-text-field{outline:solid var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-default);outline-offset:calc(0px - var(--sapphire-semantic-size-border-sm));box-sizing:border-box;overflow-x:hidden;display:flex;align-items:center;border-radius:var(--sapphire-semantic-size-radius-md);cursor:text;color:var(--sapphire-semantic-color-foreground-primary);background:var(--sapphire-semantic-color-background-field);height:var(--sapphire-semantic-size-height-control-lg);font-family:var(--sapphire-semantic-font-name-default);font-size:var(--sapphire-semantic-size-font-control-lg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-text-field--md{border-radius:var(--sapphire-semantic-size-radius-sm);height:var(--sapphire-semantic-size-height-control-md);font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-text-field__input{box-sizing:border-box;width:100%;height:100%;margin:0;padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-lg);line-height:var(--sapphire-semantic-size-line-height-md);font-family:inherit;font-size:inherit;font-weight:var(--sapphire-semantic-font-weight-default-regular);color:inherit;background:transparent;border:none;outline:none}.sapphire-text-field--md .sapphire-text-field__input{padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field__input::placeholder{opacity:1;color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-text-field__input--align-right{text-align:right}.sapphire-text-field:not(.sapphire-text-field--multiline){gap:var(--sapphire-semantic-size-spacing-sm)}.sapphire-text-field--md:not(.sapphire-text-field--multiline){gap:var(--sapphire-semantic-size-spacing-xs)}.sapphire-text-field:has(.sapphire-text-field__prefix) .sapphire-text-field__input{padding-left:0}.sapphire-text-field .sapphire-text-field__prefix{color:var(--sapphire-semantic-color-foreground-secondary);flex-shrink:0;z-index:1;margin-left:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field--md .sapphire-text-field__prefix{margin-left:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field:has(.sapphire-text-field__postfix) .sapphire-text-field__input{padding-right:0}.sapphire-text-field .sapphire-text-field__postfix{color:var(--sapphire-semantic-color-foreground-secondary);flex-shrink:0;z-index:1;margin-right:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field--md .sapphire-text-field__postfix{margin-right:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field .sapphire-text-field__prefix--icon,.sapphire-text-field .sapphire-text-field__postfix--icon{width:var(--sapphire-semantic-size-icon-md);height:var(--sapphire-semantic-size-icon-md)}.sapphire-text-field--md .sapphire-text-field__prefix--icon,.sapphire-text-field--md .sapphire-text-field__postfix--icon{width:var(--sapphire-semantic-size-icon-sm);height:var(--sapphire-semantic-size-icon-sm)}.sapphire-text-field--multiline{display:block;line-height:0;height:unset;padding:0}.sapphire-text-field--multiline .sapphire-text-field__input{resize:none;width:100%;padding:var(--sapphire-semantic-size-spacing-control-vertical-lg) var(--sapphire-semantic-size-spacing-control-horizontal-lg);scroll-padding-bottom:var(--sapphire-semantic-size-spacing-control-vertical-lg)}.sapphire-text-field--md .sapphire-text-field--multiline .sapphire-text-field__input{padding:var(--sapphire-semantic-size-spacing-control-vertical-md) var(--sapphire-semantic-size-spacing-control-horizontal-md);scroll-padding-bottom:var(--sapphire-semantic-size-spacing-control-vertical-md)}.sapphire-text-field--multiline.sapphire-text-field--resizable .sapphire-text-field__input{resize:vertical}.sapphire-text-field__counter{color:var(--sapphire-semantic-color-foreground-secondary);margin-left:auto}.sapphire-text-field__counter--error{color:var(--sapphire-semantic-color-foreground-negative)}.sapphire-text-field--error{outline:solid var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-negative-default)}.sapphire-text-field:has([disabled]){cursor:not-allowed;opacity:var(--sapphire-semantic-opacity-disabled)}.sapphire-text-field:not(:has([disabled])):not(.sapphire-text-field--error):not(.is-focus):not(:focus-within).is-hover,.sapphire-text-field:not(:has([disabled])):not(.sapphire-text-field--error):not(.is-focus):not(:focus-within):not(.js-hover):hover{outline:solid var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-hover)}.sapphire-text-field.is-focus,.sapphire-text-field:focus-within{outline:solid var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-focus-ring);outline-offset:calc(0px - var(--sapphire-semantic-size-focus-ring))}.sapphire-text-field.is-focus .sapphire-text-field__input:autofill,.sapphire-text-field:focus-within .sapphire-text-field__input:autofill{box-shadow:0 0 0 var(--sapphire-semantic-size-height-control-lg) inset var(--sapphire-semantic-color-background-field)!important}.sapphire-text-field__stepper{display:flex;flex-direction:column;justify-items:stretch;padding:var(--sapphire-semantic-size-spacing-4xs) calc(var(--sapphire-semantic-size-spacing-4xs) + var(--sapphire-semantic-size-border-sm));gap:var(--sapphire-semantic-size-spacing-4xs)}.sapphire-text-field:has(.sapphire-text-field__stepper) .sapphire-text-field__postfix{margin-right:0}.sapphire-text-field__stepper-button{display:flex;align-items:center;justify-content:center;width:var(--sapphire-semantic-size-icon-md);margin:0;padding:0;max-width:-moz-fit-content;max-width:fit-content;flex-shrink:0;border-radius:var(--sapphire-semantic-size-radius-sm);border-style:solid;border-width:0;border-color:transparent;transition-property:opacity,background-color,color;transition-duration:var(--sapphire-semantic-time-fade-quick);transition-timing-function:var(--sapphire-semantic-transitions-fade);cursor:pointer;background:var(--sapphire-semantic-color-background-action-secondary-default);color:var(--sapphire-semantic-color-foreground-action-on-secondary-default)}.sapphire-text-field__stepper-button:not(:active):not(.is-active):not(.js-hover):hover,.sapphire-text-field__stepper-button:not(:active):not(.is-active).is-hover{background:var(--sapphire-semantic-color-background-action-secondary-hover);color:var(--sapphire-semantic-color-foreground-action-on-secondary-hover)}.sapphire-text-field__stepper-button.is-active,.sapphire-text-field__stepper-button:active{background:var(--sapphire-semantic-color-background-action-secondary-active);color:var(--sapphire-semantic-color-foreground-action-on-secondary-active)}.sapphire-text-field--md.sapphire-text-field__stepper-button{width:var(--sapphire-semantic-size-icon-sm)}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.FieldNoteSuffixDirective, selector: "[spFieldNoteSuffix]" }] });
|
|
36
36
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: TextFieldComponent, decorators: [{
|
|
37
37
|
type: Component,
|
|
38
38
|
args: [{ selector: 'sp-text-field', host: {
|
|
@@ -45,7 +45,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
45
45
|
provide: FieldControl,
|
|
46
46
|
useExisting: forwardRef(() => TextFieldComponent),
|
|
47
47
|
},
|
|
48
|
-
], hostDirectives: [ThemeCheckDirective, UseComponentStylesOnHost], standalone: false, template: "<ng-content\n select=\"sp-text-field-prefix\"\n *ngIf=\"!_inputDirective?.textarea\"\n></ng-content>\n<ng-content select=\"input\"></ng-content>\n<ng-content\n select=\"sp-text-field-postfix\"\n *ngIf=\"!_inputDirective?.textarea\"\n></ng-content>\n<ng-content select=\"textarea\"></ng-content>\n\n<span\n *ngIf=\"characterCounterMax !== undefined\"\n spFieldNoteSuffix\n class=\"sapphire-text-field__counter\"\n [class.sapphire-text-field__counter--error]=\"isCharacterCounterExceeded()\"\n >{{ _inputDirective?.valueLength }}/{{ characterCounterMax }}</span\n>\n", styles: [".sapphire-text-field{outline:solid var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-default);outline-offset:calc(0px - var(--sapphire-semantic-size-border-sm));box-sizing:border-box;overflow-x:hidden;display:flex;align-items:center;border-radius:var(--sapphire-semantic-size-radius-md);cursor:text;color:var(--sapphire-semantic-color-foreground-primary);background:var(--sapphire-semantic-color-background-field);height:var(--sapphire-semantic-size-height-control-lg);font-family:var(--sapphire-semantic-font-name-default);font-size:var(--sapphire-semantic-size-font-control-lg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-text-field--md{border-radius:var(--sapphire-semantic-size-radius-sm);height:var(--sapphire-semantic-size-height-control-md);font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-text-field__input{box-sizing:border-box;width:100%;height:100%;margin:0;padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-lg);line-height:var(--sapphire-semantic-size-line-height-md);font-family:inherit;font-size:inherit;font-weight:var(--sapphire-semantic-font-weight-default-regular);color:inherit;background:transparent;border:none;outline:none}.sapphire-text-field--md .sapphire-text-field__input{padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field__input::placeholder{opacity:1;color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-text-field__input--align-right{text-align:right}.sapphire-text-field:not(.sapphire-text-field--multiline){gap:var(--sapphire-semantic-size-spacing-sm)}.sapphire-text-field--md:not(.sapphire-text-field--multiline){gap:var(--sapphire-semantic-size-spacing-xs)}.sapphire-text-field:has(.sapphire-text-field__prefix) .sapphire-text-field__input{padding-left:0}.sapphire-text-field .sapphire-text-field__prefix{color:var(--sapphire-semantic-color-foreground-secondary);flex-shrink:0;z-index:1;margin-left:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field--md .sapphire-text-field__prefix{margin-left:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field:has(.sapphire-text-field__postfix) .sapphire-text-field__input{padding-right:0}.sapphire-text-field .sapphire-text-field__postfix{color:var(--sapphire-semantic-color-foreground-secondary);flex-shrink:0;z-index:1;margin-right:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field--md .sapphire-text-field__postfix{margin-right:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field .sapphire-text-field__prefix--icon,.sapphire-text-field .sapphire-text-field__postfix--icon{width:var(--sapphire-semantic-size-icon-md);height:var(--sapphire-semantic-size-icon-md)}.sapphire-text-field--md .sapphire-text-field__prefix--icon,.sapphire-text-field--md .sapphire-text-field__postfix--icon{width:var(--sapphire-semantic-size-icon-sm);height:var(--sapphire-semantic-size-icon-sm)}.sapphire-text-field--multiline{display:block;line-height:0;height:unset;padding:0}.sapphire-text-field--multiline .sapphire-text-field__input{resize:none;width:100%;padding:var(--sapphire-semantic-size-spacing-control-vertical-lg) var(--sapphire-semantic-size-spacing-control-horizontal-lg);scroll-padding-bottom:var(--sapphire-semantic-size-spacing-control-vertical-lg)}.sapphire-text-field--md .sapphire-text-field--multiline .sapphire-text-field__input{padding:var(--sapphire-semantic-size-spacing-control-vertical-md) var(--sapphire-semantic-size-spacing-control-horizontal-md);scroll-padding-bottom:var(--sapphire-semantic-size-spacing-control-vertical-md)}.sapphire-text-field--multiline.sapphire-text-field--resizable .sapphire-text-field__input{resize:vertical}.sapphire-text-field__counter{color:var(--sapphire-semantic-color-foreground-secondary);margin-left:auto}.sapphire-text-field__counter--error{color:var(--sapphire-semantic-color-foreground-negative)}.sapphire-text-field--error{outline:solid var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-negative-default)}.sapphire-text-field:has([disabled]){cursor:not-allowed;opacity:var(--sapphire-semantic-opacity-disabled)}.sapphire-text-field:not(:has([disabled])):not(.sapphire-text-field--error):not(.is-focus):not(:focus-within).is-hover,.sapphire-text-field:not(:has([disabled])):not(.sapphire-text-field--error):not(.is-focus):not(:focus-within):not(.js-hover):hover{outline:solid var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-hover)}.sapphire-text-field.is-focus,.sapphire-text-field:focus-within{outline:solid var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-focus-ring);outline-offset:calc(0px - var(--sapphire-semantic-size-focus-ring))}.sapphire-text-field.is-focus .sapphire-text-field__input
|
|
48
|
+
], hostDirectives: [ThemeCheckDirective, UseComponentStylesOnHost], standalone: false, template: "<ng-content\n select=\"sp-text-field-prefix\"\n *ngIf=\"!_inputDirective?.textarea\"\n></ng-content>\n<ng-content select=\"input\"></ng-content>\n<ng-content\n select=\"sp-text-field-postfix\"\n *ngIf=\"!_inputDirective?.textarea\"\n></ng-content>\n<ng-content select=\"textarea\"></ng-content>\n\n<span\n *ngIf=\"characterCounterMax !== undefined\"\n spFieldNoteSuffix\n class=\"sapphire-text-field__counter\"\n [class.sapphire-text-field__counter--error]=\"isCharacterCounterExceeded()\"\n >{{ _inputDirective?.valueLength }}/{{ characterCounterMax }}</span\n>\n", styles: [".sapphire-text-field{outline:solid var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-default);outline-offset:calc(0px - var(--sapphire-semantic-size-border-sm));box-sizing:border-box;overflow-x:hidden;display:flex;align-items:center;border-radius:var(--sapphire-semantic-size-radius-md);cursor:text;color:var(--sapphire-semantic-color-foreground-primary);background:var(--sapphire-semantic-color-background-field);height:var(--sapphire-semantic-size-height-control-lg);font-family:var(--sapphire-semantic-font-name-default);font-size:var(--sapphire-semantic-size-font-control-lg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-text-field--md{border-radius:var(--sapphire-semantic-size-radius-sm);height:var(--sapphire-semantic-size-height-control-md);font-size:var(--sapphire-semantic-size-font-control-md)}.sapphire-text-field__input{box-sizing:border-box;width:100%;height:100%;margin:0;padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-lg);line-height:var(--sapphire-semantic-size-line-height-md);font-family:inherit;font-size:inherit;font-weight:var(--sapphire-semantic-font-weight-default-regular);color:inherit;background:transparent;border:none;outline:none}.sapphire-text-field--md .sapphire-text-field__input{padding:0 var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field__input::placeholder{opacity:1;color:var(--sapphire-semantic-color-foreground-secondary)}.sapphire-text-field__input--align-right{text-align:right}.sapphire-text-field:not(.sapphire-text-field--multiline){gap:var(--sapphire-semantic-size-spacing-sm)}.sapphire-text-field--md:not(.sapphire-text-field--multiline){gap:var(--sapphire-semantic-size-spacing-xs)}.sapphire-text-field:has(.sapphire-text-field__prefix) .sapphire-text-field__input{padding-left:0}.sapphire-text-field .sapphire-text-field__prefix{color:var(--sapphire-semantic-color-foreground-secondary);flex-shrink:0;z-index:1;margin-left:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field--md .sapphire-text-field__prefix{margin-left:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field:has(.sapphire-text-field__postfix) .sapphire-text-field__input{padding-right:0}.sapphire-text-field .sapphire-text-field__postfix{color:var(--sapphire-semantic-color-foreground-secondary);flex-shrink:0;z-index:1;margin-right:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field--md .sapphire-text-field__postfix{margin-right:var(--sapphire-semantic-size-spacing-control-horizontal-md)}.sapphire-text-field .sapphire-text-field__prefix--icon,.sapphire-text-field .sapphire-text-field__postfix--icon{width:var(--sapphire-semantic-size-icon-md);height:var(--sapphire-semantic-size-icon-md)}.sapphire-text-field--md .sapphire-text-field__prefix--icon,.sapphire-text-field--md .sapphire-text-field__postfix--icon{width:var(--sapphire-semantic-size-icon-sm);height:var(--sapphire-semantic-size-icon-sm)}.sapphire-text-field--multiline{display:block;line-height:0;height:unset;padding:0}.sapphire-text-field--multiline .sapphire-text-field__input{resize:none;width:100%;padding:var(--sapphire-semantic-size-spacing-control-vertical-lg) var(--sapphire-semantic-size-spacing-control-horizontal-lg);scroll-padding-bottom:var(--sapphire-semantic-size-spacing-control-vertical-lg)}.sapphire-text-field--md .sapphire-text-field--multiline .sapphire-text-field__input{padding:var(--sapphire-semantic-size-spacing-control-vertical-md) var(--sapphire-semantic-size-spacing-control-horizontal-md);scroll-padding-bottom:var(--sapphire-semantic-size-spacing-control-vertical-md)}.sapphire-text-field--multiline.sapphire-text-field--resizable .sapphire-text-field__input{resize:vertical}.sapphire-text-field__counter{color:var(--sapphire-semantic-color-foreground-secondary);margin-left:auto}.sapphire-text-field__counter--error{color:var(--sapphire-semantic-color-foreground-negative)}.sapphire-text-field--error{outline:solid var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-negative-default)}.sapphire-text-field:has([disabled]){cursor:not-allowed;opacity:var(--sapphire-semantic-opacity-disabled)}.sapphire-text-field:not(:has([disabled])):not(.sapphire-text-field--error):not(.is-focus):not(:focus-within).is-hover,.sapphire-text-field:not(:has([disabled])):not(.sapphire-text-field--error):not(.is-focus):not(:focus-within):not(.js-hover):hover{outline:solid var(--sapphire-semantic-size-border-sm) var(--sapphire-semantic-color-border-field-hover)}.sapphire-text-field.is-focus,.sapphire-text-field:focus-within{outline:solid var(--sapphire-semantic-size-focus-ring) var(--sapphire-semantic-color-focus-ring);outline-offset:calc(0px - var(--sapphire-semantic-size-focus-ring))}.sapphire-text-field.is-focus .sapphire-text-field__input:autofill,.sapphire-text-field:focus-within .sapphire-text-field__input:autofill{box-shadow:0 0 0 var(--sapphire-semantic-size-height-control-lg) inset var(--sapphire-semantic-color-background-field)!important}.sapphire-text-field__stepper{display:flex;flex-direction:column;justify-items:stretch;padding:var(--sapphire-semantic-size-spacing-4xs) calc(var(--sapphire-semantic-size-spacing-4xs) + var(--sapphire-semantic-size-border-sm));gap:var(--sapphire-semantic-size-spacing-4xs)}.sapphire-text-field:has(.sapphire-text-field__stepper) .sapphire-text-field__postfix{margin-right:0}.sapphire-text-field__stepper-button{display:flex;align-items:center;justify-content:center;width:var(--sapphire-semantic-size-icon-md);margin:0;padding:0;max-width:-moz-fit-content;max-width:fit-content;flex-shrink:0;border-radius:var(--sapphire-semantic-size-radius-sm);border-style:solid;border-width:0;border-color:transparent;transition-property:opacity,background-color,color;transition-duration:var(--sapphire-semantic-time-fade-quick);transition-timing-function:var(--sapphire-semantic-transitions-fade);cursor:pointer;background:var(--sapphire-semantic-color-background-action-secondary-default);color:var(--sapphire-semantic-color-foreground-action-on-secondary-default)}.sapphire-text-field__stepper-button:not(:active):not(.is-active):not(.js-hover):hover,.sapphire-text-field__stepper-button:not(:active):not(.is-active).is-hover{background:var(--sapphire-semantic-color-background-action-secondary-hover);color:var(--sapphire-semantic-color-foreground-action-on-secondary-hover)}.sapphire-text-field__stepper-button.is-active,.sapphire-text-field__stepper-button:active{background:var(--sapphire-semantic-color-background-action-secondary-active);color:var(--sapphire-semantic-color-foreground-action-on-secondary-active)}.sapphire-text-field--md.sapphire-text-field__stepper-button{width:var(--sapphire-semantic-size-icon-sm)}\n"] }]
|
|
49
49
|
}], ctorParameters: function () { return [{ type: i1.FieldComponent, decorators: [{
|
|
50
50
|
type: Optional
|
|
51
51
|
}] }]; }, propDecorators: { characterCounterMax: [{
|