@eui/components 18.2.9-snapshot-1740138913059 → 18.2.10-snapshot-1740664174340

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.
Files changed (33) hide show
  1. package/docs/components/EuiEditorComponent.html +1 -1
  2. package/docs/components/EuiProgressCircleComponent.html +63 -1
  3. package/docs/components/EuiWizardComponent.html +1 -1
  4. package/docs/dependencies.html +5 -3
  5. package/docs/js/menu-wc.js +3 -3
  6. package/docs/js/menu-wc_es5.js +1 -1
  7. package/docs/js/search/search_index.js +2 -2
  8. package/docs/modules/EuiProgressCircleModule.html +10 -0
  9. package/esm2022/eui-popover/eui-popover.component.mjs +4 -4
  10. package/esm2022/eui-progress-circle/eui-progress-circle.component.mjs +15 -8
  11. package/esm2022/eui-timeline/eui-timeline-item.component.mjs +2 -2
  12. package/esm2022/eui-timeline/eui-timeline.component.mjs +2 -2
  13. package/esm2022/eui-wizard/eui-wizard-step.component.mjs +2 -2
  14. package/esm2022/eui-wizard/eui-wizard.component.mjs +3 -3
  15. package/esm2022/externals/eui-editor/eui-editor.component.mjs +3 -3
  16. package/esm2022/externals/quill/quill-editor.component.mjs +3 -3
  17. package/eui-popover/eui-popover.component.d.ts.map +1 -1
  18. package/eui-progress-circle/eui-progress-circle.component.d.ts +6 -3
  19. package/eui-progress-circle/eui-progress-circle.component.d.ts.map +1 -1
  20. package/externals/quill/quill-editor.component.d.ts.map +1 -1
  21. package/fesm2022/eui-components-eui-popover.mjs +3 -3
  22. package/fesm2022/eui-components-eui-popover.mjs.map +1 -1
  23. package/fesm2022/eui-components-eui-progress-circle.mjs +14 -7
  24. package/fesm2022/eui-components-eui-progress-circle.mjs.map +1 -1
  25. package/fesm2022/eui-components-eui-timeline.mjs +4 -4
  26. package/fesm2022/eui-components-eui-timeline.mjs.map +1 -1
  27. package/fesm2022/eui-components-eui-wizard.mjs +4 -4
  28. package/fesm2022/eui-components-eui-wizard.mjs.map +1 -1
  29. package/fesm2022/eui-components-externals-eui-editor.mjs +2 -2
  30. package/fesm2022/eui-components-externals-eui-editor.mjs.map +1 -1
  31. package/fesm2022/eui-components-externals-quill.mjs +2 -2
  32. package/fesm2022/eui-components-externals-quill.mjs.map +1 -1
  33. package/package.json +3 -3
@@ -418,7 +418,7 @@ export class QuillEditorComponent {
418
418
  provide: NG_VALIDATORS,
419
419
  useExisting: forwardRef(() => QuillEditorComponent),
420
420
  },
421
- ], usesOnChanges: true, ngImport: i0, template: ` <ng-content select="[quill-editor-toolbar]"></ng-content> `, isInline: true, encapsulation: i0.ViewEncapsulation.None }); }
421
+ ], usesOnChanges: true, ngImport: i0, template: `<ng-content select="[quill-editor-toolbar]"></ng-content>`, isInline: true, encapsulation: i0.ViewEncapsulation.None }); }
422
422
  }
423
423
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: QuillEditorComponent, decorators: [{
424
424
  type: Component,
@@ -438,7 +438,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
438
438
  ],
439
439
  // eslint-disable-next-line @angular-eslint/component-selector
440
440
  selector: 'quill-editor',
441
- template: ` <ng-content select="[quill-editor-toolbar]"></ng-content> `,
441
+ template: `<ng-content select="[quill-editor-toolbar]"></ng-content>`,
442
442
  }]
443
443
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.DomSanitizer }, { type: undefined, decorators: [{
444
444
  type: Inject,
@@ -511,4 +511,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
511
511
  }], valueSetter: [{
512
512
  type: Input
513
513
  }] } });
514
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpbGwtZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2V4dGVybmFscy9xdWlsbC9xdWlsbC1lZGl0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR25ELE9BQU8sRUFDSCxrQkFBa0IsR0FJckIsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxPQUFPLEVBRUgsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFFVCxZQUFZLEVBQ1osVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBSUwsTUFBTSxFQUNOLFdBQVcsRUFFWCxlQUFlLEVBRWYsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBd0IsYUFBYSxFQUFFLGlCQUFpQixFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQWlCbEQsTUFBTSxTQUFTLEdBQUcsQ0FBQyxNQUFvQixFQUFFLFlBQTBCLEVBQWUsRUFBRTtJQUNoRixNQUFNLFlBQVksR0FBRyxNQUFNLElBQUksWUFBWSxDQUFDO0lBQzVDLE9BQU8sWUFBWSxJQUFJLE1BQU0sQ0FBQztBQUNsQyxDQUFDLENBQUM7QUFvQkYsTUFBTSxPQUFPLG9CQUFvQjtJQWdEN0IsWUFDWSxVQUFzQixFQUN0QixZQUEwQixFQUNSLEdBQVE7SUFDbEMsd0RBQXdEO0lBQzNCLFVBQWtCLEVBQ3ZDLFFBQW1CLEVBQ25CLElBQVksRUFDZ0IsTUFBbUIsRUFDL0MsTUFBcUI7UUFSckIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUNSLFFBQUcsR0FBSCxHQUFHLENBQUs7UUFFTCxlQUFVLEdBQVYsVUFB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O3NCQUFWLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBR0ksZUFBZTtzQkFBeEIsTUFBTTtnQkFFRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBRUcsa0JBQWtCO3NCQUEzQixNQUFNO2dCQUVHLE9BQU87c0JBQWhCLE1BQU07Z0JBS0csTUFBTTtzQkFBZixNQUFNO2dCQUtpQyxRQUFRO3NCQUEvQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLFFBQVE7c0JBQS9DLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsUUFBUTtzQkFBL0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxNQUFNO3NCQUE3QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLGtCQUFrQjtzQkFBekQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFzQnRDLFdBQVc7c0JBRFYsS0FBSztnQkF5Qk4sV0FBVztzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybVNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuaW1wb3J0IHtcbiAgICBRVUlMTF9DT05GSUdfVE9LRU4sXG4gICAgUXVpbGxDb25maWcsXG4gICAgUXVpbGxGb3JtYXQsXG4gICAgUXVpbGxNb2R1bGVzLFxufSBmcm9tICcuL3F1aWxsLWVkaXRvci5pbnRlcmZhY2VzJztcblxuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE91dHB1dCxcbiAgICBQTEFURk9STV9JRCxcbiAgICBSZW5kZXJlcjIsXG4gICAgU2VjdXJpdHlDb250ZXh0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IsIFZhbGlkYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgZGVmYXVsdE1vZHVsZXMgfSBmcm9tICcuL3F1aWxsLWRlZmF1bHRzJztcbmltcG9ydCB7IENvbnRlbnRDaGFuZ2UsIFNlbGVjdGlvbkNoYW5nZSwgUmFuZ2UgfSBmcm9tICcuL21vZGVscy9lZGl0b3IubW9kZWwnO1xuaW1wb3J0IHsgTG9hZGVyU2VydmljZSB9IGZyb20gJy4vbG9hZGVyLnNlcnZpY2UnO1xuXG4vLyBCZWNhdXNlIHF1aWxsIHVzZXMgYGRvY3VtZW50YCBkaXJlY3RseSwgd2UgY2Fubm90IGBpbXBvcnRgIGR1cmluZyBTU1Jcbi8vIGluc3RlYWQsIHdlIGxvYWQgZHluYW1pY2FsbHkgdmlhIGByZXF1aXJlKCdxdWlsbCcpYCBpbiBgbmdBZnRlclZpZXdJbml0KClgXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdmFyXG5kZWNsYXJlIHZhciByZXF1aXJlOiBhbnk7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdmFyXG5kZWNsYXJlIHZhciBRdWlsbDogYW55O1xuLy8gbGV0IFF1aWxsOiBhbnkgPSB3aW5kb3dbJ1F1aWxsJ107XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tT3B0aW9uIHtcbiAgICBpbXBvcnQ6IHN0cmluZztcbiAgICB3aGl0ZWxpc3Q6IGFueVtdO1xufVxuXG5jb25zdCBnZXRGb3JtYXQgPSAoZm9ybWF0PzogUXVpbGxGb3JtYXQsIGNvbmZpZ0Zvcm1hdD86IFF1aWxsRm9ybWF0KTogUXVpbGxGb3JtYXQgPT4ge1xuICAgIGNvbnN0IHBhc3NlZEZvcm1hdCA9IGZvcm1hdCB8fCBjb25maWdGb3JtYXQ7XG4gICAgcmV0dXJuIHBhc3NlZEZvcm1hdCB8fCAnaHRtbCc7XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUXVpbGxFZGl0b3JDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBRdWlsbEVkaXRvckNvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAncXVpbGwtZWRpdG9yJyxcbiAgICB0ZW1wbGF0ZTogYCA8bmctY29udGVudCBzZWxlY3Q9XCJbcXVpbGwtZWRpdG9yLXRvb2xiYXJdXCI+PC9uZy1jb250ZW50PiBgLFxufSlcbmV4cG9ydCBjbGFzcyBRdWlsbEVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgVmFsaWRhdG9yIHtcbiAgICBxdWlsbEVkaXRvcjogYW55O1xuICAgIGVkaXRvckVsZW06IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkO1xuICAgIGNvbnRlbnQ6IGFueTtcbiAgICBwcm90ZWN0ZWQgbG9hZGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSBpZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGZvcm1hdD86ICdvYmplY3QnIHwgJ2h0bWwnIHwgJ3RleHQnIHwgJ2pzb24nO1xuICAgIEBJbnB1dCgpIHRoZW1lPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIG1vZHVsZXM/OiBRdWlsbE1vZHVsZXM7XG4gICAgQElucHV0KCkgZGVidWc/OiAnd2FybicgfCAnbG9nJyB8ICdlcnJvcicgfCBmYWxzZTtcbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgICBASW5wdXQoKSBtYXhMZW5ndGg/OiBudW1iZXI7XG4gICAgQElucHV0KCkgbWluTGVuZ3RoPzogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGZvcm1hdHM/OiBzdHJpbmdbXSB8IG51bGw7XG4gICAgQElucHV0KCkgY3VzdG9tVG9vbGJhclBvc2l0aW9uOiAndG9wJyB8ICdib3R0b20nID0gJ3RvcCc7XG4gICAgQElucHV0KCkgc3R5bGVzOiBhbnkgPSBudWxsO1xuICAgIEBJbnB1dCgpIHNjcm9sbGluZ0NvbnRhaW5lcj86IEhUTUxFbGVtZW50IHwgc3RyaW5nIHwgbnVsbDtcbiAgICBASW5wdXQoKSBib3VuZHM/OiBIVE1MRWxlbWVudCB8IHN0cmluZztcbiAgICBASW5wdXQoKSBjdXN0b21PcHRpb25zOiBDdXN0b21PcHRpb25bXSA9IFtdO1xuICAgIEBJbnB1dCgpIHRyYWNrQ2hhbmdlcz86ICd1c2VyJyB8ICdhbGwnO1xuICAgIEBJbnB1dCgpIGhhc0ltYWdlRmVhdHVyZTogYm9vbGVhbjtcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW9uLXByZWZpeFxuICAgIEBPdXRwdXQoKSBvbkVkaXRvckNyZWF0ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW9uLXByZWZpeFxuICAgIEBPdXRwdXQoKSBvbkNvbnRlbnRDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q29udGVudENoYW5nZT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgQE91dHB1dCgpIG9uU2VsZWN0aW9uQ2hhbmdlZDogRXZlbnRFbWl0dGVyPFNlbGVjdGlvbkNoYW5nZT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgQE91dHB1dCgpIG9uRm9jdXM6IEV2ZW50RW1pdHRlcjx7XG4gICAgICAgIGVkaXRvcjogYW55O1xuICAgICAgICBzb3VyY2U6IHN0cmluZztcbiAgICB9PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1vbi1wcmVmaXhcbiAgICBAT3V0cHV0KCkgb25CbHVyOiBFdmVudEVtaXR0ZXI8e1xuICAgICAgICBlZGl0b3I6IGFueTtcbiAgICAgICAgc291cmNlOiBzdHJpbmc7XG4gICAgfT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcmVhZE9ubHk/OiBib29sZWFuO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSByZXF1aXJlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzYW5pdGl6ZSA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzdHJpY3QgPSB0cnVlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBwcmVzZXJ2ZVdoaXRlc3BhY2UgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgZGlzYWJsZWQgPSBmYWxzZTsgLy8gdXNlZCB0byBzdG9yZSBpbml0aWFsIHZhbHVlIGJlZm9yZSBWaWV3SW5pdFxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBkb21TYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2M6IGFueSxcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbiAgICAgICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBvYmplY3QsXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsXG4gICAgICAgIEBJbmplY3QoUVVJTExfQ09ORklHX1RPS0VOKSBwcml2YXRlIGNvbmZpZzogUXVpbGxDb25maWcsXG4gICAgICAgIHByaXZhdGUgbG9hZGVyOiBMb2FkZXJTZXJ2aWNlLFxuICAgICkge31cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1lbXB0eSxuby1lbXB0eS1mdW5jdGlvbixAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb24sIEB0eXBlc2NyaXB0LWVzbGludC9leHBsaWNpdC1mdW5jdGlvbi1yZXR1cm4tdHlwZVxuICAgIG9uTW9kZWxDaGFuZ2UoX21vZGVsVmFsdWU/OiBhbnkpIHt9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWVtcHR5LCBuby1lbXB0eS1mdW5jdGlvbiwgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uLCBAdHlwZXNjcmlwdC1lc2xpbnQvZXhwbGljaXQtZnVuY3Rpb24tcmV0dXJuLXR5cGVcbiAgICBvbk1vZGVsVG91Y2hlZCgpIHt9XG5cbiAgICBASW5wdXQoKVxuICAgIHZhbHVlR2V0dGVyID0gKHF1aWxsRWRpdG9yOiBhbnksIGVkaXRvckVsZW1lbnQ6IEhUTUxFbGVtZW50KTogc3RyaW5nIHwgYW55ID0+IHtcbiAgICAgICAgbGV0IGh0bWw6IHN0cmluZyB8IG51bGwgPSBlZGl0b3JFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5xbC1lZGl0b3InKT8uaW5uZXJIVE1MO1xuICAgICAgICBpZiAoaHRtbCA9PT0gJzxwPjxicj48L3A+JyB8fCBodG1sID09PSAnPGRpdj48YnI+PGRpdj4nKSB7XG4gICAgICAgICAgICBodG1sID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBsZXQgbW9kZWxWYWx1ZSA9IGh0bWw7XG4gICAgICAgIGNvbnN0IGZvcm1hdCA9IGdldEZvcm1hdCh0aGlzLmZvcm1hdCwgdGhpcy5jb25maWcuZm9ybWF0KTtcblxuICAgICAgICBpZiAoZm9ybWF0ID09PSAndGV4dCcpIHtcbiAgICAgICAgICAgIG1vZGVsVmFsdWUgPSBxdWlsbEVkaXRvci5nZXRUZXh0KCk7XG4gICAgICAgIH0gZWxzZSBpZiAoZm9ybWF0ID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgbW9kZWxWYWx1ZSA9IHF1aWxsRWRpdG9yLmdldENvbnRlbnRzKCk7XG4gICAgICAgIH0gZWxzZSBpZiAoZm9ybWF0ID09PSAnanNvbicpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbW9kZWxWYWx1ZSA9IEpTT04uc3RyaW5naWZ5KHF1aWxsRWRpdG9yLmdldENvbnRlbnRzKCkpO1xuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIG1vZGVsVmFsdWUgPSBxdWlsbEVkaXRvci5nZXRUZXh0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbW9kZWxWYWx1ZTtcbiAgICB9O1xuXG4gICAgQElucHV0KClcbiAgICB2YWx1ZVNldHRlciA9IChxdWlsbEVkaXRvcjogYW55LCB2YWx1ZTogYW55KTogYW55ID0+IHtcbiAgICAgICAgY29uc3QgZm9ybWF0ID0gZ2V0Rm9ybWF0KHRoaXMuZm9ybWF0LCB0aGlzLmNvbmZpZy5mb3JtYXQpO1xuICAgICAgICBpZiAoZm9ybWF0ID09PSAnaHRtbCcpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNhbml0aXplKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgPSB0aGlzLmRvbVNhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuSFRNTCwgdmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHF1aWxsRWRpdG9yLmNsaXBib2FyZC5jb252ZXJ0KHsgaHRtbDogdmFsdWUgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAoZm9ybWF0ID09PSAnanNvbicpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UodmFsdWUpO1xuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBbeyBpbnNlcnQ6IHZhbHVlIH1dO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH07XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIGNvbnN0IGxvYWRlciA9IG5ldyBMb2FkZXJTZXJ2aWNlKCk7XG4gICAgICAgIHRoaXMubG9hZGVyLmxvYWQoKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgY29tcGxldGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBzZXR1cCBrZXlib2FyZCBiaW5kaW5ncyBmcm9tIEJldHRlclRhYmxlIGlmIHByZXNlbnRcbiAgICAgICAgICAgICAgICBjb25zdCBRdWlsbEJldHRlclRhYmxlID0gd2luZG93WydxdWlsbEJldHRlclRhYmxlJ107XG4gICAgICAgICAgICAgICAgaWYoUXVpbGxCZXR0ZXJUYWJsZSkge1xuICAgICAgICAgICAgICAgICAgICAvLyBjaGVjayBpZiBhbHJlYWR5IHJlZ2lzdGVyZWRcbiAgICAgICAgICAgICAgICAgICAgaWYoIXdpbmRvd1snUXVpbGwnXS5pbXBvcnRzLmhhc093blByb3BlcnR5KCdtb2R1bGVzL2JldHRlci10YWJsZScpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3dbJ1F1aWxsJ10ucmVnaXN0ZXIoeyAnbW9kdWxlcy9iZXR0ZXItdGFibGUnOiBRdWlsbEJldHRlclRhYmxlIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmKCF0aGlzLmNvbmZpZy5tb2R1bGVzLmtleWJvYXJkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5tb2R1bGVzLmtleWJvYXJkID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbmRpbmdzOiBRdWlsbEJldHRlclRhYmxlPy5rZXlib2FyZEJpbmRpbmdzLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChpc1BsYXRmb3JtU2VydmVyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoIVF1aWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFF1aWxsID0gcmVxdWlyZSgncXVpbGwnKVxuICAgICAgICAgICAgICAgICAgICBRdWlsbCA9IHdpbmRvd1snUXVpbGwnXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5vdmVycmlkZVNjcm9sbEJlaGF2aW9yKFF1aWxsKTtcblxuICAgICAgICAgICAgICAgIHRoaXMubG9hZGVkID0gdHJ1ZTtcblxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lmluc2VydEFkamFjZW50SFRNTChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXN0b21Ub29sYmFyUG9zaXRpb24gPT09ICd0b3AnID8gJ2JlZm9yZWVuZCcgOiAnYWZ0ZXJiZWdpbicsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJlc2VydmVXaGl0ZXNwYWNlID8gJzxwcmUgcXVpbGwtZWRpdG9yLWVsZW1lbnQ+PC9wcmU+JyA6ICc8ZGl2IHF1aWxsLWVkaXRvci1lbGVtZW50PjwvZGl2PidcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5lZGl0b3JFbGVtID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignW3F1aWxsLWVkaXRvci1lbGVtZW50XScpO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgdG9vbGJhckVsZW0gPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdbcXVpbGwtZWRpdG9yLXRvb2xiYXJdJyk7XG4gICAgICAgICAgICAgICAgbGV0IG1vZHVsZXMgPSB0aGlzLm1vZHVsZXMgfHwgdGhpcy5jb25maWcubW9kdWxlcyB8fCBkZWZhdWx0TW9kdWxlcztcbiAgICAgICAgICAgICAgICBpZiAobW9kdWxlcy50b29sYmFyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgbW9kdWxlcy50b29sYmFyID0gZGVmYXVsdE1vZHVsZXMudG9vbGJhcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBsZXQgcGxhY2Vob2xkZXIgPSB0aGlzLnBsYWNlaG9sZGVyICE9PSB1bmRlZmluZWQgPyB0aGlzLnBsYWNlaG9sZGVyIDogdGhpcy5jb25maWcucGxhY2Vob2xkZXI7XG4gICAgICAgICAgICAgICAgaWYgKHBsYWNlaG9sZGVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXIgPSAnSW5zZXJ0IHRleHQgaGVyZSAuLi4nO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh0b29sYmFyRWxlbSkge1xuICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZG90LW5vdGF0aW9uLEB0eXBlc2NyaXB0LWVzbGludC9kb3Qtbm90YXRpb25cbiAgICAgICAgICAgICAgICAgICAgbW9kdWxlc1sndG9vbGJhciddID0gdG9vbGJhckVsZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmhhc0ltYWdlRmVhdHVyZSkge1xuICAgICAgICAgICAgICAgICAgICBtb2R1bGVzWyd1cGxvYWRlciddID0geyBoYW5kbGVyOiAoKSA9PiBmYWxzZSB9O1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIG1vZHVsZXNbJ3VwbG9hZGVyJ10gPSB7IG1pbWV0eXBlczogWydpbWFnZS9wbmcnLCAnaW1hZ2UvanBlZyddIH07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc3R5bGVzKSB7XG4gICAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHRoaXMuc3R5bGVzKS5mb3JFYWNoKChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVkaXRvckVsZW0sIGtleSwgdGhpcy5zdHlsZXNba2V5XSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuY3VzdG9tT3B0aW9ucy5mb3JFYWNoKChjdXN0b21PcHRpb24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3Q3VzdG9tT3B0aW9uID0gUXVpbGwuaW1wb3J0KGN1c3RvbU9wdGlvbi5pbXBvcnQpO1xuICAgICAgICAgICAgICAgICAgICBuZXdDdXN0b21PcHRpb24ud2hpdGVsaXN0ID0gY3VzdG9tT3B0aW9uLndoaXRlbGlzdDtcbiAgICAgICAgICAgICAgICAgICAgUXVpbGwucmVnaXN0ZXIobmV3Q3VzdG9tT3B0aW9uLCB0cnVlKTtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIGxldCBib3VuZHMgPSB0aGlzLmJvdW5kcyAmJiB0aGlzLmJvdW5kcyA9PT0gJ3NlbGYnID8gdGhpcy5lZGl0b3JFbGVtIDogdGhpcy5ib3VuZHM7XG4gICAgICAgICAgICAgICAgaWYgKCFib3VuZHMpIHtcbiAgICAgICAgICAgICAgICAgICAgYm91bmRzID0gdGhpcy5jb25maWcuYm91bmRzID8gdGhpcy5jb25maWcuYm91bmRzIDogdGhpcy5kb2MuYm9keTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBsZXQgZGVidWcgPSB0aGlzLmRlYnVnO1xuICAgICAgICAgICAgICAgIGlmICghZGVidWcgJiYgZGVidWcgIT09IGZhbHNlICYmIHRoaXMuY29uZmlnLmRlYnVnKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlYnVnID0gdGhpcy5jb25maWcuZGVidWc7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbGV0IHJlYWRPbmx5ID0gdGhpcy5yZWFkT25seTtcbiAgICAgICAgICAgICAgICBpZiAoIXJlYWRPbmx5ICYmIHRoaXMucmVhZE9ubHkgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5ID0gdGhpcy5jb25maWcucmVhZE9ubHkgIT09IHVuZGVmaW5lZCA/IHRoaXMuY29uZmlnLnJlYWRPbmx5IDogZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbGV0IHNjcm9sbGluZ0NvbnRhaW5lciA9IHRoaXMuc2Nyb2xsaW5nQ29udGFpbmVyO1xuICAgICAgICAgICAgICAgIGlmICghc2Nyb2xsaW5nQ29udGFpbmVyICYmIHRoaXMuc2Nyb2xsaW5nQ29udGFpbmVyICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHNjcm9sbGluZ0NvbnRhaW5lciA9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5zY3JvbGxpbmdDb250YWluZXIgPT09IG51bGwgfHwgdGhpcy5jb25maWcuc2Nyb2xsaW5nQ29udGFpbmVyID8gdGhpcy5jb25maWcuc2Nyb2xsaW5nQ29udGFpbmVyIDogbnVsbDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBsZXQgZm9ybWF0cyA9IHRoaXMuZm9ybWF0cztcbiAgICAgICAgICAgICAgICBpZiAoIWZvcm1hdHMgJiYgZm9ybWF0cyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvcm1hdHMgPSB0aGlzLmNvbmZpZy5mb3JtYXRzIHx8IHRoaXMuY29uZmlnLmZvcm1hdHMgPT09IG51bGwgPyB0aGlzLmNvbmZpZy5mb3JtYXRzIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBRdWlsbC5mb3JtYXRzID0geyAuLi5RdWlsbC5mb3JtYXRzLCBbdGhpcy5pZF06IGZvcm1hdHMgfTtcblxuICAgICAgICAgICAgICAgIGlmIChmb3JtYXRzICYmIGZvcm1hdHMuaW5kZXhPZigndGFibGUnKSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgbW9kdWxlcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLm1vZHVsZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAnYmV0dGVyLXRhYmxlJzogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLnF1aWxsRWRpdG9yID0gbmV3IFF1aWxsKHRoaXMuZWRpdG9yRWxlbSwge1xuICAgICAgICAgICAgICAgICAgICBib3VuZHMsXG4gICAgICAgICAgICAgICAgICAgIGRlYnVnLFxuICAgICAgICAgICAgICAgICAgICBmb3JtYXRzLFxuICAgICAgICAgICAgICAgICAgICBtb2R1bGVzLFxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcixcbiAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHksXG4gICAgICAgICAgICAgICAgICAgIHNjcm9sbGluZ0NvbnRhaW5lcixcbiAgICAgICAgICAgICAgICAgICAgc3RyaWN0OiB0aGlzLnN0cmljdCxcbiAgICAgICAgICAgICAgICAgICAgdGhlbWU6IHRoaXMudGhlbWUgfHwgKHRoaXMuY29uZmlnLnRoZW1lID8gdGhpcy5jb25maWcudGhlbWUgOiAnc25vdycpLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMucXVpbGxFZGl0b3IuY29udGFpbmVyLmZpcnN0Q2hpbGQuaWQgPSB0aGlzLmlkO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY29udGVudCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmb3JtYXQgPSBnZXRGb3JtYXQodGhpcy5mb3JtYXQsIHRoaXMuY29uZmlnLmZvcm1hdCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmb3JtYXQgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnF1aWxsRWRpdG9yLnNldENvbnRlbnRzKHRoaXMuY29udGVudCwgJ3NpbGVudCcpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGZvcm1hdCA9PT0gJ3RleHQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnF1aWxsRWRpdG9yLnNldFRleHQodGhpcy5jb250ZW50LCAnc2lsZW50Jyk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZm9ybWF0ID09PSAnanNvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5xdWlsbEVkaXRvci5zZXRDb250ZW50cyhKU09OLnBhcnNlKHRoaXMuY29udGVudCksICdzaWxlbnQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnF1aWxsRWRpdG9yLnNldFRleHQodGhpcy5jb250ZW50LCAnc2lsZW50Jyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5zYW5pdGl6ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGVudCA9IHRoaXMuZG9tU2FuaXRpemVyLnNhbml0aXplKFNlY3VyaXR5Q29udGV4dC5IVE1MLCB0aGlzLmNvbnRlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udGVudHMgPSB0aGlzLnF1aWxsRWRpdG9yLmNsaXBib2FyZC5jb252ZXJ0KHRoaXMuY29udGVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnF1aWxsRWRpdG9yLnNldENvbnRlbnRzKGNvbnRlbnRzLCAnc2lsZW50Jyk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB0aGlzLnF1aWxsRWRpdG9yLmhpc3RvcnkuY2xlYXIoKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBpbml0aWFsaXplIGRpc2FibGVkIHN0YXR1cyBiYXNlZCBvbiB0aGlzLmRpc2FibGVkIGFzIGRlZmF1bHQgdmFsdWVcbiAgICAgICAgICAgICAgICB0aGlzLnNldERpc2FibGVkU3RhdGUoKTtcblxuICAgICAgICAgICAgICAgIHRoaXMub25FZGl0b3JDcmVhdGVkLmVtaXQodGhpcy5xdWlsbEVkaXRvcik7XG5cbiAgICAgICAgICAgICAgICAvLyBtYXJrIG1vZGVsIGFzIHRvdWNoZWQgaWYgZWRpdG9yIGxvc3QgZm9jdXNcbiAgICAgICAgICAgICAgICB0aGlzLnF1aWxsRWRpdG9yLm9uKCdzZWxlY3Rpb24tY2hhbmdlJywgdGhpcy5zZWxlY3Rpb25DaGFuZ2VIYW5kbGVyKTtcblxuICAgICAgICAgICAgICAgIC8vIHVwZGF0ZSBtb2RlbCBpZiB0ZXh0IGNoYW5nZXNcbiAgICAgICAgICAgICAgICB0aGlzLnF1aWxsRWRpdG9yLm9uKCd0ZXh0LWNoYW5nZScsIHRoaXMudGV4dENoYW5nZUhhbmRsZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzZWxlY3Rpb25DaGFuZ2VIYW5kbGVyID0gKHJhbmdlOiBSYW5nZSB8IG51bGwsIG9sZFJhbmdlOiBSYW5nZSB8IG51bGwsIHNvdXJjZTogc3RyaW5nKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHJhbmdlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkJsdXIuZW1pdCh7XG4gICAgICAgICAgICAgICAgICAgIGVkaXRvcjogdGhpcy5xdWlsbEVkaXRvcixcbiAgICAgICAgICAgICAgICAgICAgc291cmNlLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChvbGRSYW5nZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRoaXMub25Gb2N1cy5lbWl0KHtcbiAgICAgICAgICAgICAgICAgICAgZWRpdG9yOiB0aGlzLnF1aWxsRWRpdG9yLFxuICAgICAgICAgICAgICAgICAgICBzb3VyY2UsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMub25TZWxlY3Rpb25DaGFuZ2VkLmVtaXQoe1xuICAgICAgICAgICAgICAgIGVkaXRvcjogdGhpcy5xdWlsbEVkaXRvcixcbiAgICAgICAgICAgICAgICBvbGRSYW5nZSxcbiAgICAgICAgICAgICAgICByYW5nZSxcbiAgICAgICAgICAgICAgICBzb3VyY2UsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKCFyYW5nZSAmJiB0aGlzLm9uTW9kZWxUb3VjaGVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbk1vZGVsVG91Y2hlZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgdGV4dENoYW5nZUhhbmRsZXIgPSAoZGVsdGE6IGFueSwgb2xkRGVsdGE6IGFueSwgc291cmNlOiBzdHJpbmcpOiB2b2lkID0+IHtcbiAgICAgICAgLy8gb25seSBlbWl0IGNoYW5nZXMgZW1pdHRlZCBieSB1c2VyIGludGVyYWN0aW9uc1xuXG4gICAgICAgIGNvbnN0IHRleHQgPSB0aGlzLnF1aWxsRWRpdG9yLmdldFRleHQoKTtcbiAgICAgICAgY29uc3QgY29udGVudCA9IHRoaXMucXVpbGxFZGl0b3IuZ2V0Q29udGVudHMoKTtcblxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxuICAgICAgICBsZXQgaHRtbDogc3RyaW5nIHwgbnVsbCA9IHRoaXMuZWRpdG9yRWxlbSEucXVlcnlTZWxlY3RvcignLnFsLWVkaXRvcicpIS5pbm5lckhUTUw7XG4gICAgICAgIGlmIChodG1sID09PSAnPHA+PGJyPjwvcD4nIHx8IGh0bWwgPT09ICc8ZGl2Pjxicj48ZGl2PicpIHtcbiAgICAgICAgICAgIGh0bWwgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0cmFja0NoYW5nZXMgPSB0aGlzLnRyYWNrQ2hhbmdlcyB8fCB0aGlzLmNvbmZpZy50cmFja0NoYW5nZXM7XG4gICAgICAgICAgICBpZiAoKHNvdXJjZSA9PT0gUXVpbGwuc291cmNlcy5VU0VSIHx8ICh0cmFja0NoYW5nZXMgJiYgdHJhY2tDaGFuZ2VzID09PSAnYWxsJykpICYmIHRoaXMub25Nb2RlbENoYW5nZSkge1xuICAgICAgICAgICAgICAgIHRoaXMub25Nb2RlbENoYW5nZShcbiAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZUdldHRlcih0aGlzLnF1aWxsRWRpdG9yLCB0aGlzLmVkaXRvckVsZW0hKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMub25Db250ZW50Q2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICAgICAgICBjb250ZW50LFxuICAgICAgICAgICAgICAgIGRlbHRhLFxuICAgICAgICAgICAgICAgIGVkaXRvcjogdGhpcy5xdWlsbEVkaXRvcixcbiAgICAgICAgICAgICAgICBodG1sLFxuICAgICAgICAgICAgICAgIG9sZERlbHRhLFxuICAgICAgICAgICAgICAgIHNvdXJjZSxcbiAgICAgICAgICAgICAgICB0ZXh0LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucXVpbGxFZGl0b3IpIHtcbiAgICAgICAgICAgIHRoaXMucXVpbGxFZGl0b3Iub2ZmKCdzZWxlY3Rpb24tY2hhbmdlJywgdGhpcy5zZWxlY3Rpb25DaGFuZ2VIYW5kbGVyKTtcbiAgICAgICAgICAgIHRoaXMucXVpbGxFZGl0b3Iub2ZmKCd0ZXh0LWNoYW5nZScsIHRoaXMudGV4dENoYW5nZUhhbmRsZXIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMucXVpbGxFZGl0b3IpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hhbmdlcy5pZCkge1xuICAgICAgICAgICAgdGhpcy5xdWlsbEVkaXRvci5jb250YWluZXIuZmlyc3RDaGlsZC5pZCA9IGNoYW5nZXMuaWQuY3VycmVudFZhbHVlO1xuICAgICAgICAgICAgUXVpbGwuZm9ybWF0cyA9IHsgLi4uUXVpbGwuZm9ybWF0cywgW3RoaXMuaWRdOiB0aGlzLmZvcm1hdHMgfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hhbmdlc1sncmVhZE9ubHknXSkge1xuICAgICAgICAgICAgdGhpcy5xdWlsbEVkaXRvci5lbmFibGUoIWNoYW5nZXNbJ3JlYWRPbmx5J10uY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hhbmdlc1sncGxhY2Vob2xkZXInXSkge1xuICAgICAgICAgICAgdGhpcy5xdWlsbEVkaXRvci5yb290LmRhdGFzZXQucGxhY2Vob2xkZXIgPSBjaGFuZ2VzWydwbGFjZWhvbGRlciddLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hhbmdlc1snc3R5bGVzJ10pIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRTdHlsaW5nID0gY2hhbmdlc1snc3R5bGVzJ10uY3VycmVudFZhbHVlO1xuICAgICAgICAgICAgY29uc3QgcHJldmlvdXNTdHlsaW5nID0gY2hhbmdlc1snc3R5bGVzJ10ucHJldmlvdXNWYWx1ZTtcblxuICAgICAgICAgICAgaWYgKHByZXZpb3VzU3R5bGluZykge1xuICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHByZXZpb3VzU3R5bGluZykuZm9yRWFjaCgoa2V5OiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZSh0aGlzLmVkaXRvckVsZW0sIGtleSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoY3VycmVudFN0eWxpbmcpIHtcbiAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyhjdXJyZW50U3R5bGluZykuZm9yRWFjaCgoa2V5OiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVkaXRvckVsZW0sIGtleSwgdGhpcy5zdHlsZXNba2V5XSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYW5nZXNbJ2Zvcm1hdHMnXSkge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudEZvcm1hdHMgPSBjaGFuZ2VzWydmb3JtYXRzJ10uY3VycmVudFZhbHVlO1xuICAgICAgICAgICAgUXVpbGwuZm9ybWF0cyA9IHsgLi4uUXVpbGwuZm9ybWF0cywgW3RoaXMuaWRdOiBjdXJyZW50Rm9ybWF0cyB9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZShjdXJyZW50VmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRlbnQgPSBjdXJyZW50VmFsdWU7XG4gICAgICAgIGNvbnN0IGZvcm1hdCA9IGdldEZvcm1hdCh0aGlzLmZvcm1hdCwgdGhpcy5jb25maWcuZm9ybWF0KTtcblxuICAgICAgICBpZiAodGhpcy5xdWlsbEVkaXRvcikge1xuICAgICAgICAgICAgaWYgKGN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgICAgIGlmIChmb3JtYXQgPT09ICd0ZXh0Jykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnF1aWxsRWRpdG9yLnNldFRleHQoY3VycmVudFZhbHVlKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnF1aWxsRWRpdG9yLnNldENvbnRlbnRzKHRoaXMudmFsdWVTZXR0ZXIodGhpcy5xdWlsbEVkaXRvciwgdGhpcy5jb250ZW50KSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMucXVpbGxFZGl0b3Iuc2V0VGV4dCgnJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4gPSB0aGlzLmRpc2FibGVkKTogdm9pZCB7XG4gICAgICAgIC8vIHN0b3JlIGluaXRpYWwgdmFsdWUgdG8gc2V0IGFwcHJvcHJpYXRlIGRpc2FibGVkIHN0YXR1cyBhZnRlciBWaWV3SW5pdFxuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICAgICAgaWYgKHRoaXMucXVpbGxFZGl0b3IpIHtcbiAgICAgICAgICAgIGlmIChpc0Rpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5xdWlsbEVkaXRvci5kaXNhYmxlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdkaXNhYmxlZCcsICdkaXNhYmxlZCcpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5xdWlsbEVkaXRvci5lbmFibGUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdkaXNhYmxlZCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKG1vZGVsVmFsdWU6IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uTW9kZWxDaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uTW9kZWxUb3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgdmFsaWRhdGUoKTogYW55IHtcbiAgICAgICAgaWYgKCF0aGlzLnF1aWxsRWRpdG9yKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGVycjoge1xuICAgICAgICAgICAgbWluTGVuZ3RoRXJyb3I/OiB7XG4gICAgICAgICAgICAgICAgZ2l2ZW46IG51bWJlcjtcbiAgICAgICAgICAgICAgICBtaW5MZW5ndGg6IG51bWJlcjtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBtYXhMZW5ndGhFcnJvcj86IHtcbiAgICAgICAgICAgICAgICBnaXZlbjogbnVtYmVyO1xuICAgICAgICAgICAgICAgIG1heExlbmd0aDogbnVtYmVyO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJlcXVpcmVkRXJyb3I/OiB7IGVtcHR5OiBib29sZWFuIH07XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgbGV0IHZhbGlkID0gdHJ1ZTtcblxuICAgICAgICBjb25zdCB0ZXh0TGVuZ3RoID0gdGhpcy5xdWlsbEVkaXRvci5nZXRUZXh0KCkudHJpbSgpLmxlbmd0aDtcblxuICAgICAgICBpZiAodGhpcy5taW5MZW5ndGggJiYgdGV4dExlbmd0aCAmJiB0ZXh0TGVuZ3RoIDwgdGhpcy5taW5MZW5ndGgpIHtcbiAgICAgICAgICAgIGVyci5taW5MZW5ndGhFcnJvciA9IHtcbiAgICAgICAgICAgICAgICBnaXZlbjogdGV4dExlbmd0aCxcbiAgICAgICAgICAgICAgICBtaW5MZW5ndGg6IHRoaXMubWluTGVuZ3RoLFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgdmFsaWQgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm1heExlbmd0aCAmJiB0ZXh0TGVuZ3RoID4gdGhpcy5tYXhMZW5ndGgpIHtcbiAgICAgICAgICAgIGVyci5tYXhMZW5ndGhFcnJvciA9IHtcbiAgICAgICAgICAgICAgICBnaXZlbjogdGV4dExlbmd0aCxcbiAgICAgICAgICAgICAgICBtYXhMZW5ndGg6IHRoaXMubWF4TGVuZ3RoLFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgdmFsaWQgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnJlcXVpcmVkICYmICF0ZXh0TGVuZ3RoKSB7XG4gICAgICAgICAgICBlcnIucmVxdWlyZWRFcnJvciA9IHtcbiAgICAgICAgICAgICAgICBlbXB0eTogdHJ1ZSxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHZhbGlkID0gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsaWQgPyBudWxsIDogZXJyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE92ZXJyaWRlIHRoZSBkZWZhdWx0IFF1aWxsIHNjcm9sbCBiZWhhdmlvciB0byB0YWtlIGludG8gYWNjb3VudCB0aGUgZm9ybWF0cyBhcnJheSBhbmQgc2tpcCBub24tZm91bmQgb25lcy4gVGhlblxuICAgICAqIHJlZ2lzdGVycyB0aGUgcGx1Z2luIHRvIHRoZSBRdWlsbCBlZGl0b3IuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gUXVpbGxJbnN0YW5jZSBUaGUgUXVpbGwgY2xhc3MgKG5vdCB0aGUgaW5zdGFuY2UpXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIG92ZXJyaWRlU2Nyb2xsQmVoYXZpb3IoUXVpbGxJbnN0YW5jZTogYW55KTogdm9pZCB7XG4gICAgICAgIC8vIHRoZSBCdWlsdC1pbiBTY3JvbGwgQ2xhc3MgaXMgbm90IGV4cG9ydGVkLCBzbyB3ZSBuZWVkIHRvIGltcG9ydCBpdFxuICAgICAgICBjb25zdCBCdWlsdGluU2Nyb2xsID0gUXVpbGxJbnN0YW5jZS5pbXBvcnQoJ2Jsb3RzL3Njcm9sbCcpO1xuICAgICAgICAvKipcbiAgICAgICAgICogT3ZlcnJpZGUgdGhlIGRlZmF1bHQgUXVpbGwgc2Nyb2xsIGJlaGF2aW9yIHRvIHRha2UgaW50byBhY2NvdW50IHRoZSBmb3JtYXRzIGFycmF5IGFuZCBza2lwIG5vbi1mb3VuZCBvbmVzLlxuICAgICAgICAgKi9cbiAgICAgICAgY2xhc3MgU2Nyb2xsIGV4dGVuZHMgQnVpbHRpblNjcm9sbCB7XG4gICAgICAgICAgICBmb3JtYXRBdChpbmRleDogbnVtYmVyLCBsZW5ndGg6IG51bWJlciwgZm9ybWF0OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50SWQgPSB0aGlzLmRvbU5vZGUuaWQ7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5zdGFuY2VGb3JtYXRzID0gUXVpbGxJbnN0YW5jZS5mb3JtYXRzW2VsZW1lbnRJZF07XG4gICAgICAgICAgICAgICAgLy8gY2hlY2tzIHRoZSBmb3JtYXRzIGFycmF5IHRvIHNlZSBpZiB0aGUgZm9ybWF0IGlzIGJsYWNrbGlzdGVkXG4gICAgICAgICAgICAgICAgaWYgKGluc3RhbmNlRm9ybWF0cyAmJiBpbnN0YW5jZUZvcm1hdHMuZmluZCgoZikgPT4gZiA9PT0gZm9ybWF0KSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIGNvbnRpbnVlIHdpdGggZGVmYXVsdCBiZWhhdmlvclxuICAgICAgICAgICAgICAgIHN1cGVyLmZvcm1hdEF0KGluZGV4LCBsZW5ndGgsIGZvcm1hdCwgdmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8qKiByZWdpc3RlciB0aGUgU2Nyb2xsIG92ZXJyaWRlICovXG4gICAgICAgIFF1aWxsSW5zdGFuY2UucmVnaXN0ZXIoJ2Jsb3RzL3Njcm9sbCcsIFNjcm9sbCwgdHJ1ZSk7XG4gICAgfVxufVxuIl19
514
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpbGwtZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2V4dGVybmFscy9xdWlsbC9xdWlsbC1lZGl0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR25ELE9BQU8sRUFDSCxrQkFBa0IsR0FJckIsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxPQUFPLEVBRUgsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFFVCxZQUFZLEVBQ1osVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBSUwsTUFBTSxFQUNOLFdBQVcsRUFFWCxlQUFlLEVBRWYsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBd0IsYUFBYSxFQUFFLGlCQUFpQixFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQWlCbEQsTUFBTSxTQUFTLEdBQUcsQ0FBQyxNQUFvQixFQUFFLFlBQTBCLEVBQWUsRUFBRTtJQUNoRixNQUFNLFlBQVksR0FBRyxNQUFNLElBQUksWUFBWSxDQUFDO0lBQzVDLE9BQU8sWUFBWSxJQUFJLE1BQU0sQ0FBQztBQUNsQyxDQUFDLENBQUM7QUFvQkYsTUFBTSxPQUFPLG9CQUFvQjtJQWdEN0IsWUFDWSxVQUFzQixFQUN0QixZQUEwQixFQUNSLEdBQVE7SUFDbEMsd0RBQXdEO0lBQzNCLFVBQWtCLEVBQ3ZDLFFBQW1CLEVBQ25CLElBQVksRUFDZ0IsTUFBbUIsRUFDL0MsTUFBcUI7UUFSckIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUNSLFFBQUcsR0FBSCxHQUFHLENBQUs7UUFFTCxlQUFVLEdBQVYsVUFB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O3NCQUFWLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBR0ksZUFBZTtzQkFBeEIsTUFBTTtnQkFFRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBRUcsa0JBQWtCO3NCQUEzQixNQUFNO2dCQUVHLE9BQU87c0JBQWhCLE1BQU07Z0JBS0csTUFBTTtzQkFBZixNQUFNO2dCQUtpQyxRQUFRO3NCQUEvQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLFFBQVE7c0JBQS9DLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsUUFBUTtzQkFBL0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxNQUFNO3NCQUE3QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLGtCQUFrQjtzQkFBekQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFzQnRDLFdBQVc7c0JBRFYsS0FBSztnQkF5Qk4sV0FBVztzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybVNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuaW1wb3J0IHtcbiAgICBRVUlMTF9DT05GSUdfVE9LRU4sXG4gICAgUXVpbGxDb25maWcsXG4gICAgUXVpbGxGb3JtYXQsXG4gICAgUXVpbGxNb2R1bGVzLFxufSBmcm9tICcuL3F1aWxsLWVkaXRvci5pbnRlcmZhY2VzJztcblxuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE91dHB1dCxcbiAgICBQTEFURk9STV9JRCxcbiAgICBSZW5kZXJlcjIsXG4gICAgU2VjdXJpdHlDb250ZXh0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IsIFZhbGlkYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgZGVmYXVsdE1vZHVsZXMgfSBmcm9tICcuL3F1aWxsLWRlZmF1bHRzJztcbmltcG9ydCB7IENvbnRlbnRDaGFuZ2UsIFNlbGVjdGlvbkNoYW5nZSwgUmFuZ2UgfSBmcm9tICcuL21vZGVscy9lZGl0b3IubW9kZWwnO1xuaW1wb3J0IHsgTG9hZGVyU2VydmljZSB9IGZyb20gJy4vbG9hZGVyLnNlcnZpY2UnO1xuXG4vLyBCZWNhdXNlIHF1aWxsIHVzZXMgYGRvY3VtZW50YCBkaXJlY3RseSwgd2UgY2Fubm90IGBpbXBvcnRgIGR1cmluZyBTU1Jcbi8vIGluc3RlYWQsIHdlIGxvYWQgZHluYW1pY2FsbHkgdmlhIGByZXF1aXJlKCdxdWlsbCcpYCBpbiBgbmdBZnRlclZpZXdJbml0KClgXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdmFyXG5kZWNsYXJlIHZhciByZXF1aXJlOiBhbnk7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdmFyXG5kZWNsYXJlIHZhciBRdWlsbDogYW55O1xuLy8gbGV0IFF1aWxsOiBhbnkgPSB3aW5kb3dbJ1F1aWxsJ107XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tT3B0aW9uIHtcbiAgICBpbXBvcnQ6IHN0cmluZztcbiAgICB3aGl0ZWxpc3Q6IGFueVtdO1xufVxuXG5jb25zdCBnZXRGb3JtYXQgPSAoZm9ybWF0PzogUXVpbGxGb3JtYXQsIGNvbmZpZ0Zvcm1hdD86IFF1aWxsRm9ybWF0KTogUXVpbGxGb3JtYXQgPT4ge1xuICAgIGNvbnN0IHBhc3NlZEZvcm1hdCA9IGZvcm1hdCB8fCBjb25maWdGb3JtYXQ7XG4gICAgcmV0dXJuIHBhc3NlZEZvcm1hdCB8fCAnaHRtbCc7XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUXVpbGxFZGl0b3JDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBRdWlsbEVkaXRvckNvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAncXVpbGwtZWRpdG9yJyxcbiAgICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50IHNlbGVjdD1cIltxdWlsbC1lZGl0b3ItdG9vbGJhcl1cIj48L25nLWNvbnRlbnQ+YCxcbn0pXG5leHBvcnQgY2xhc3MgUXVpbGxFZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIFZhbGlkYXRvciB7XG4gICAgcXVpbGxFZGl0b3I6IGFueTtcbiAgICBlZGl0b3JFbGVtOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgICBjb250ZW50OiBhbnk7XG4gICAgcHJvdGVjdGVkIGxvYWRlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgICBASW5wdXQoKSBmb3JtYXQ/OiAnb2JqZWN0JyB8ICdodG1sJyB8ICd0ZXh0JyB8ICdqc29uJztcbiAgICBASW5wdXQoKSB0aGVtZT86IHN0cmluZztcbiAgICBASW5wdXQoKSBtb2R1bGVzPzogUXVpbGxNb2R1bGVzO1xuICAgIEBJbnB1dCgpIGRlYnVnPzogJ3dhcm4nIHwgJ2xvZycgfCAnZXJyb3InIHwgZmFsc2U7XG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgbWF4TGVuZ3RoPzogbnVtYmVyO1xuICAgIEBJbnB1dCgpIG1pbkxlbmd0aD86IG51bWJlcjtcbiAgICBASW5wdXQoKSBmb3JtYXRzPzogc3RyaW5nW10gfCBudWxsO1xuICAgIEBJbnB1dCgpIGN1c3RvbVRvb2xiYXJQb3NpdGlvbjogJ3RvcCcgfCAnYm90dG9tJyA9ICd0b3AnO1xuICAgIEBJbnB1dCgpIHN0eWxlczogYW55ID0gbnVsbDtcbiAgICBASW5wdXQoKSBzY3JvbGxpbmdDb250YWluZXI/OiBIVE1MRWxlbWVudCB8IHN0cmluZyB8IG51bGw7XG4gICAgQElucHV0KCkgYm91bmRzPzogSFRNTEVsZW1lbnQgfCBzdHJpbmc7XG4gICAgQElucHV0KCkgY3VzdG9tT3B0aW9uczogQ3VzdG9tT3B0aW9uW10gPSBbXTtcbiAgICBASW5wdXQoKSB0cmFja0NoYW5nZXM/OiAndXNlcicgfCAnYWxsJztcbiAgICBASW5wdXQoKSBoYXNJbWFnZUZlYXR1cmU6IGJvb2xlYW47XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1vbi1wcmVmaXhcbiAgICBAT3V0cHV0KCkgb25FZGl0b3JDcmVhdGVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1vbi1wcmVmaXhcbiAgICBAT3V0cHV0KCkgb25Db250ZW50Q2hhbmdlZDogRXZlbnRFbWl0dGVyPENvbnRlbnRDaGFuZ2U+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW9uLXByZWZpeFxuICAgIEBPdXRwdXQoKSBvblNlbGVjdGlvbkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxTZWxlY3Rpb25DaGFuZ2U+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW9uLXByZWZpeFxuICAgIEBPdXRwdXQoKSBvbkZvY3VzOiBFdmVudEVtaXR0ZXI8e1xuICAgICAgICBlZGl0b3I6IGFueTtcbiAgICAgICAgc291cmNlOiBzdHJpbmc7XG4gICAgfT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgQE91dHB1dCgpIG9uQmx1cjogRXZlbnRFbWl0dGVyPHtcbiAgICAgICAgZWRpdG9yOiBhbnk7XG4gICAgICAgIHNvdXJjZTogc3RyaW5nO1xuICAgIH0+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHJlYWRPbmx5PzogYm9vbGVhbjtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcmVxdWlyZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2FuaXRpemUgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc3RyaWN0ID0gdHJ1ZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcHJlc2VydmVXaGl0ZXNwYWNlID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGRpc2FibGVkID0gZmFsc2U7IC8vIHVzZWQgdG8gc3RvcmUgaW5pdGlhbCB2YWx1ZSBiZWZvcmUgVmlld0luaXRcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jOiBhbnksXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG4gICAgICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogb2JqZWN0LFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgem9uZTogTmdab25lLFxuICAgICAgICBASW5qZWN0KFFVSUxMX0NPTkZJR19UT0tFTikgcHJpdmF0ZSBjb25maWc6IFF1aWxsQ29uZmlnLFxuICAgICAgICBwcml2YXRlIGxvYWRlcjogTG9hZGVyU2VydmljZSxcbiAgICApIHt9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZW1wdHksbm8tZW1wdHktZnVuY3Rpb24sQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uLCBAdHlwZXNjcmlwdC1lc2xpbnQvZXhwbGljaXQtZnVuY3Rpb24tcmV0dXJuLXR5cGVcbiAgICBvbk1vZGVsQ2hhbmdlKF9tb2RlbFZhbHVlPzogYW55KSB7fVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1lbXB0eSwgbm8tZW1wdHktZnVuY3Rpb24sIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvbiwgQHR5cGVzY3JpcHQtZXNsaW50L2V4cGxpY2l0LWZ1bmN0aW9uLXJldHVybi10eXBlXG4gICAgb25Nb2RlbFRvdWNoZWQoKSB7fVxuXG4gICAgQElucHV0KClcbiAgICB2YWx1ZUdldHRlciA9IChxdWlsbEVkaXRvcjogYW55LCBlZGl0b3JFbGVtZW50OiBIVE1MRWxlbWVudCk6IHN0cmluZyB8IGFueSA9PiB7XG4gICAgICAgIGxldCBodG1sOiBzdHJpbmcgfCBudWxsID0gZWRpdG9yRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcucWwtZWRpdG9yJyk/LmlubmVySFRNTDtcbiAgICAgICAgaWYgKGh0bWwgPT09ICc8cD48YnI+PC9wPicgfHwgaHRtbCA9PT0gJzxkaXY+PGJyPjxkaXY+Jykge1xuICAgICAgICAgICAgaHRtbCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IG1vZGVsVmFsdWUgPSBodG1sO1xuICAgICAgICBjb25zdCBmb3JtYXQgPSBnZXRGb3JtYXQodGhpcy5mb3JtYXQsIHRoaXMuY29uZmlnLmZvcm1hdCk7XG5cbiAgICAgICAgaWYgKGZvcm1hdCA9PT0gJ3RleHQnKSB7XG4gICAgICAgICAgICBtb2RlbFZhbHVlID0gcXVpbGxFZGl0b3IuZ2V0VGV4dCgpO1xuICAgICAgICB9IGVsc2UgaWYgKGZvcm1hdCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIG1vZGVsVmFsdWUgPSBxdWlsbEVkaXRvci5nZXRDb250ZW50cygpO1xuICAgICAgICB9IGVsc2UgaWYgKGZvcm1hdCA9PT0gJ2pzb24nKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIG1vZGVsVmFsdWUgPSBKU09OLnN0cmluZ2lmeShxdWlsbEVkaXRvci5nZXRDb250ZW50cygpKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICBtb2RlbFZhbHVlID0gcXVpbGxFZGl0b3IuZ2V0VGV4dCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG1vZGVsVmFsdWU7XG4gICAgfTtcblxuICAgIEBJbnB1dCgpXG4gICAgdmFsdWVTZXR0ZXIgPSAocXVpbGxFZGl0b3I6IGFueSwgdmFsdWU6IGFueSk6IGFueSA9PiB7XG4gICAgICAgIGNvbnN0IGZvcm1hdCA9IGdldEZvcm1hdCh0aGlzLmZvcm1hdCwgdGhpcy5jb25maWcuZm9ybWF0KTtcbiAgICAgICAgaWYgKGZvcm1hdCA9PT0gJ2h0bWwnKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zYW5pdGl6ZSkge1xuICAgICAgICAgICAgICAgIHZhbHVlID0gdGhpcy5kb21TYW5pdGl6ZXIuc2FuaXRpemUoU2VjdXJpdHlDb250ZXh0LkhUTUwsIHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBxdWlsbEVkaXRvci5jbGlwYm9hcmQuY29udmVydCh7IGh0bWw6IHZhbHVlIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKGZvcm1hdCA9PT0gJ2pzb24nKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKHZhbHVlKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gW3sgaW5zZXJ0OiB2YWx1ZSB9XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9O1xuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICAvLyBjb25zdCBsb2FkZXIgPSBuZXcgTG9hZGVyU2VydmljZSgpO1xuICAgICAgICB0aGlzLmxvYWRlci5sb2FkKCkuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gc2V0dXAga2V5Ym9hcmQgYmluZGluZ3MgZnJvbSBCZXR0ZXJUYWJsZSBpZiBwcmVzZW50XG4gICAgICAgICAgICAgICAgY29uc3QgUXVpbGxCZXR0ZXJUYWJsZSA9IHdpbmRvd1sncXVpbGxCZXR0ZXJUYWJsZSddO1xuICAgICAgICAgICAgICAgIGlmKFF1aWxsQmV0dGVyVGFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gY2hlY2sgaWYgYWxyZWFkeSByZWdpc3RlcmVkXG4gICAgICAgICAgICAgICAgICAgIGlmKCF3aW5kb3dbJ1F1aWxsJ10uaW1wb3J0cy5oYXNPd25Qcm9wZXJ0eSgnbW9kdWxlcy9iZXR0ZXItdGFibGUnKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93WydRdWlsbCddLnJlZ2lzdGVyKHsgJ21vZHVsZXMvYmV0dGVyLXRhYmxlJzogUXVpbGxCZXR0ZXJUYWJsZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZighdGhpcy5jb25maWcubW9kdWxlcy5rZXlib2FyZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25maWcubW9kdWxlcy5rZXlib2FyZCA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaW5kaW5nczogUXVpbGxCZXR0ZXJUYWJsZT8ua2V5Ym9hcmRCaW5kaW5ncyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoaXNQbGF0Zm9ybVNlcnZlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKCFRdWlsbCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBRdWlsbCA9IHJlcXVpcmUoJ3F1aWxsJylcbiAgICAgICAgICAgICAgICAgICAgUXVpbGwgPSB3aW5kb3dbJ1F1aWxsJ107XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMub3ZlcnJpZGVTY3JvbGxCZWhhdmlvcihRdWlsbCk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRlZCA9IHRydWU7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5pbnNlcnRBZGphY2VudEhUTUwoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3VzdG9tVG9vbGJhclBvc2l0aW9uID09PSAndG9wJyA/ICdiZWZvcmVlbmQnIDogJ2FmdGVyYmVnaW4nLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnByZXNlcnZlV2hpdGVzcGFjZSA/ICc8cHJlIHF1aWxsLWVkaXRvci1lbGVtZW50PjwvcHJlPicgOiAnPGRpdiBxdWlsbC1lZGl0b3ItZWxlbWVudD48L2Rpdj4nXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIHRoaXMuZWRpdG9yRWxlbSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ1txdWlsbC1lZGl0b3ItZWxlbWVudF0nKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IHRvb2xiYXJFbGVtID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignW3F1aWxsLWVkaXRvci10b29sYmFyXScpO1xuICAgICAgICAgICAgICAgIGxldCBtb2R1bGVzID0gdGhpcy5tb2R1bGVzIHx8IHRoaXMuY29uZmlnLm1vZHVsZXMgfHwgZGVmYXVsdE1vZHVsZXM7XG4gICAgICAgICAgICAgICAgaWYgKG1vZHVsZXMudG9vbGJhciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIG1vZHVsZXMudG9vbGJhciA9IGRlZmF1bHRNb2R1bGVzLnRvb2xiYXI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbGV0IHBsYWNlaG9sZGVyID0gdGhpcy5wbGFjZWhvbGRlciAhPT0gdW5kZWZpbmVkID8gdGhpcy5wbGFjZWhvbGRlciA6IHRoaXMuY29uZmlnLnBsYWNlaG9sZGVyO1xuICAgICAgICAgICAgICAgIGlmIChwbGFjZWhvbGRlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyID0gJ0luc2VydCB0ZXh0IGhlcmUgLi4uJztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAodG9vbGJhckVsZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRvdC1ub3RhdGlvbixAdHlwZXNjcmlwdC1lc2xpbnQvZG90LW5vdGF0aW9uXG4gICAgICAgICAgICAgICAgICAgIG1vZHVsZXNbJ3Rvb2xiYXInXSA9IHRvb2xiYXJFbGVtO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5oYXNJbWFnZUZlYXR1cmUpIHtcbiAgICAgICAgICAgICAgICAgICAgbW9kdWxlc1sndXBsb2FkZXInXSA9IHsgaGFuZGxlcjogKCkgPT4gZmFsc2UgfTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBtb2R1bGVzWyd1cGxvYWRlciddID0geyBtaW1ldHlwZXM6IFsnaW1hZ2UvcG5nJywgJ2ltYWdlL2pwZWcnXSB9O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnN0eWxlcykge1xuICAgICAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyh0aGlzLnN0eWxlcykuZm9yRWFjaCgoa2V5OiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lZGl0b3JFbGVtLCBrZXksIHRoaXMuc3R5bGVzW2tleV0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLmN1c3RvbU9wdGlvbnMuZm9yRWFjaCgoY3VzdG9tT3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld0N1c3RvbU9wdGlvbiA9IFF1aWxsLmltcG9ydChjdXN0b21PcHRpb24uaW1wb3J0KTtcbiAgICAgICAgICAgICAgICAgICAgbmV3Q3VzdG9tT3B0aW9uLndoaXRlbGlzdCA9IGN1c3RvbU9wdGlvbi53aGl0ZWxpc3Q7XG4gICAgICAgICAgICAgICAgICAgIFF1aWxsLnJlZ2lzdGVyKG5ld0N1c3RvbU9wdGlvbiwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBsZXQgYm91bmRzID0gdGhpcy5ib3VuZHMgJiYgdGhpcy5ib3VuZHMgPT09ICdzZWxmJyA/IHRoaXMuZWRpdG9yRWxlbSA6IHRoaXMuYm91bmRzO1xuICAgICAgICAgICAgICAgIGlmICghYm91bmRzKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvdW5kcyA9IHRoaXMuY29uZmlnLmJvdW5kcyA/IHRoaXMuY29uZmlnLmJvdW5kcyA6IHRoaXMuZG9jLmJvZHk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbGV0IGRlYnVnID0gdGhpcy5kZWJ1ZztcbiAgICAgICAgICAgICAgICBpZiAoIWRlYnVnICYmIGRlYnVnICE9PSBmYWxzZSAmJiB0aGlzLmNvbmZpZy5kZWJ1Zykge1xuICAgICAgICAgICAgICAgICAgICBkZWJ1ZyA9IHRoaXMuY29uZmlnLmRlYnVnO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGxldCByZWFkT25seSA9IHRoaXMucmVhZE9ubHk7XG4gICAgICAgICAgICAgICAgaWYgKCFyZWFkT25seSAmJiB0aGlzLnJlYWRPbmx5ICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICByZWFkT25seSA9IHRoaXMuY29uZmlnLnJlYWRPbmx5ICE9PSB1bmRlZmluZWQgPyB0aGlzLmNvbmZpZy5yZWFkT25seSA6IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGxldCBzY3JvbGxpbmdDb250YWluZXIgPSB0aGlzLnNjcm9sbGluZ0NvbnRhaW5lcjtcbiAgICAgICAgICAgICAgICBpZiAoIXNjcm9sbGluZ0NvbnRhaW5lciAmJiB0aGlzLnNjcm9sbGluZ0NvbnRhaW5lciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBzY3JvbGxpbmdDb250YWluZXIgPVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25maWcuc2Nyb2xsaW5nQ29udGFpbmVyID09PSBudWxsIHx8IHRoaXMuY29uZmlnLnNjcm9sbGluZ0NvbnRhaW5lciA/IHRoaXMuY29uZmlnLnNjcm9sbGluZ0NvbnRhaW5lciA6IG51bGw7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbGV0IGZvcm1hdHMgPSB0aGlzLmZvcm1hdHM7XG4gICAgICAgICAgICAgICAgaWYgKCFmb3JtYXRzICYmIGZvcm1hdHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICBmb3JtYXRzID0gdGhpcy5jb25maWcuZm9ybWF0cyB8fCB0aGlzLmNvbmZpZy5mb3JtYXRzID09PSBudWxsID8gdGhpcy5jb25maWcuZm9ybWF0cyA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgUXVpbGwuZm9ybWF0cyA9IHsgLi4uUXVpbGwuZm9ybWF0cywgW3RoaXMuaWRdOiBmb3JtYXRzIH07XG5cbiAgICAgICAgICAgICAgICBpZiAoZm9ybWF0cyAmJiBmb3JtYXRzLmluZGV4T2YoJ3RhYmxlJykgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIG1vZHVsZXMgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5tb2R1bGVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2JldHRlci10YWJsZSc6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5xdWlsbEVkaXRvciA9IG5ldyBRdWlsbCh0aGlzLmVkaXRvckVsZW0sIHtcbiAgICAgICAgICAgICAgICAgICAgYm91bmRzLFxuICAgICAgICAgICAgICAgICAgICBkZWJ1ZyxcbiAgICAgICAgICAgICAgICAgICAgZm9ybWF0cyxcbiAgICAgICAgICAgICAgICAgICAgbW9kdWxlcyxcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5LFxuICAgICAgICAgICAgICAgICAgICBzY3JvbGxpbmdDb250YWluZXIsXG4gICAgICAgICAgICAgICAgICAgIHN0cmljdDogdGhpcy5zdHJpY3QsXG4gICAgICAgICAgICAgICAgICAgIHRoZW1lOiB0aGlzLnRoZW1lIHx8ICh0aGlzLmNvbmZpZy50aGVtZSA/IHRoaXMuY29uZmlnLnRoZW1lIDogJ3Nub3cnKSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLnF1aWxsRWRpdG9yLmNvbnRhaW5lci5maXJzdENoaWxkLmlkID0gdGhpcy5pZDtcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbnRlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZm9ybWF0ID0gZ2V0Rm9ybWF0KHRoaXMuZm9ybWF0LCB0aGlzLmNvbmZpZy5mb3JtYXQpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZm9ybWF0ID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5xdWlsbEVkaXRvci5zZXRDb250ZW50cyh0aGlzLmNvbnRlbnQsICdzaWxlbnQnKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChmb3JtYXQgPT09ICd0ZXh0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5xdWlsbEVkaXRvci5zZXRUZXh0KHRoaXMuY29udGVudCwgJ3NpbGVudCcpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGZvcm1hdCA9PT0gJ2pzb24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucXVpbGxFZGl0b3Iuc2V0Q29udGVudHMoSlNPTi5wYXJzZSh0aGlzLmNvbnRlbnQpLCAnc2lsZW50Jyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5xdWlsbEVkaXRvci5zZXRUZXh0KHRoaXMuY29udGVudCwgJ3NpbGVudCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuc2FuaXRpemUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnQgPSB0aGlzLmRvbVNhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuSFRNTCwgdGhpcy5jb250ZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRzID0gdGhpcy5xdWlsbEVkaXRvci5jbGlwYm9hcmQuY29udmVydCh0aGlzLmNvbnRlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5xdWlsbEVkaXRvci5zZXRDb250ZW50cyhjb250ZW50cywgJ3NpbGVudCcpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5xdWlsbEVkaXRvci5oaXN0b3J5LmNsZWFyKCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gaW5pdGlhbGl6ZSBkaXNhYmxlZCBzdGF0dXMgYmFzZWQgb24gdGhpcy5kaXNhYmxlZCBhcyBkZWZhdWx0IHZhbHVlXG4gICAgICAgICAgICAgICAgdGhpcy5zZXREaXNhYmxlZFN0YXRlKCk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLm9uRWRpdG9yQ3JlYXRlZC5lbWl0KHRoaXMucXVpbGxFZGl0b3IpO1xuXG4gICAgICAgICAgICAgICAgLy8gbWFyayBtb2RlbCBhcyB0b3VjaGVkIGlmIGVkaXRvciBsb3N0IGZvY3VzXG4gICAgICAgICAgICAgICAgdGhpcy5xdWlsbEVkaXRvci5vbignc2VsZWN0aW9uLWNoYW5nZScsIHRoaXMuc2VsZWN0aW9uQ2hhbmdlSGFuZGxlcik7XG5cbiAgICAgICAgICAgICAgICAvLyB1cGRhdGUgbW9kZWwgaWYgdGV4dCBjaGFuZ2VzXG4gICAgICAgICAgICAgICAgdGhpcy5xdWlsbEVkaXRvci5vbigndGV4dC1jaGFuZ2UnLCB0aGlzLnRleHRDaGFuZ2VIYW5kbGVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2VsZWN0aW9uQ2hhbmdlSGFuZGxlciA9IChyYW5nZTogUmFuZ2UgfCBudWxsLCBvbGRSYW5nZTogUmFuZ2UgfCBudWxsLCBzb3VyY2U6IHN0cmluZyk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIGlmIChyYW5nZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRoaXMub25CbHVyLmVtaXQoe1xuICAgICAgICAgICAgICAgICAgICBlZGl0b3I6IHRoaXMucXVpbGxFZGl0b3IsXG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAob2xkUmFuZ2UgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uRm9jdXMuZW1pdCh7XG4gICAgICAgICAgICAgICAgICAgIGVkaXRvcjogdGhpcy5xdWlsbEVkaXRvcixcbiAgICAgICAgICAgICAgICAgICAgc291cmNlLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLm9uU2VsZWN0aW9uQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICAgICAgICBlZGl0b3I6IHRoaXMucXVpbGxFZGl0b3IsXG4gICAgICAgICAgICAgICAgb2xkUmFuZ2UsXG4gICAgICAgICAgICAgICAgcmFuZ2UsXG4gICAgICAgICAgICAgICAgc291cmNlLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGlmICghcmFuZ2UgJiYgdGhpcy5vbk1vZGVsVG91Y2hlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMub25Nb2RlbFRvdWNoZWQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIHRleHRDaGFuZ2VIYW5kbGVyID0gKGRlbHRhOiBhbnksIG9sZERlbHRhOiBhbnksIHNvdXJjZTogc3RyaW5nKTogdm9pZCA9PiB7XG4gICAgICAgIC8vIG9ubHkgZW1pdCBjaGFuZ2VzIGVtaXR0ZWQgYnkgdXNlciBpbnRlcmFjdGlvbnNcblxuICAgICAgICBjb25zdCB0ZXh0ID0gdGhpcy5xdWlsbEVkaXRvci5nZXRUZXh0KCk7XG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLnF1aWxsRWRpdG9yLmdldENvbnRlbnRzKCk7XG5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cbiAgICAgICAgbGV0IGh0bWw6IHN0cmluZyB8IG51bGwgPSB0aGlzLmVkaXRvckVsZW0hLnF1ZXJ5U2VsZWN0b3IoJy5xbC1lZGl0b3InKSEuaW5uZXJIVE1MO1xuICAgICAgICBpZiAoaHRtbCA9PT0gJzxwPjxicj48L3A+JyB8fCBodG1sID09PSAnPGRpdj48YnI+PGRpdj4nKSB7XG4gICAgICAgICAgICBodG1sID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdHJhY2tDaGFuZ2VzID0gdGhpcy50cmFja0NoYW5nZXMgfHwgdGhpcy5jb25maWcudHJhY2tDaGFuZ2VzO1xuICAgICAgICAgICAgaWYgKChzb3VyY2UgPT09IFF1aWxsLnNvdXJjZXMuVVNFUiB8fCAodHJhY2tDaGFuZ2VzICYmIHRyYWNrQ2hhbmdlcyA9PT0gJ2FsbCcpKSAmJiB0aGlzLm9uTW9kZWxDaGFuZ2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uTW9kZWxDaGFuZ2UoXG4gICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWVHZXR0ZXIodGhpcy5xdWlsbEVkaXRvciwgdGhpcy5lZGl0b3JFbGVtISlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLm9uQ29udGVudENoYW5nZWQuZW1pdCh7XG4gICAgICAgICAgICAgICAgY29udGVudCxcbiAgICAgICAgICAgICAgICBkZWx0YSxcbiAgICAgICAgICAgICAgICBlZGl0b3I6IHRoaXMucXVpbGxFZGl0b3IsXG4gICAgICAgICAgICAgICAgaHRtbCxcbiAgICAgICAgICAgICAgICBvbGREZWx0YSxcbiAgICAgICAgICAgICAgICBzb3VyY2UsXG4gICAgICAgICAgICAgICAgdGV4dCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnF1aWxsRWRpdG9yKSB7XG4gICAgICAgICAgICB0aGlzLnF1aWxsRWRpdG9yLm9mZignc2VsZWN0aW9uLWNoYW5nZScsIHRoaXMuc2VsZWN0aW9uQ2hhbmdlSGFuZGxlcik7XG4gICAgICAgICAgICB0aGlzLnF1aWxsRWRpdG9yLm9mZigndGV4dC1jaGFuZ2UnLCB0aGlzLnRleHRDaGFuZ2VIYW5kbGVyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnF1aWxsRWRpdG9yKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYW5nZXMuaWQpIHtcbiAgICAgICAgICAgIHRoaXMucXVpbGxFZGl0b3IuY29udGFpbmVyLmZpcnN0Q2hpbGQuaWQgPSBjaGFuZ2VzLmlkLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgIFF1aWxsLmZvcm1hdHMgPSB7IC4uLlF1aWxsLmZvcm1hdHMsIFt0aGlzLmlkXTogdGhpcy5mb3JtYXRzIH07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYW5nZXNbJ3JlYWRPbmx5J10pIHtcbiAgICAgICAgICAgIHRoaXMucXVpbGxFZGl0b3IuZW5hYmxlKCFjaGFuZ2VzWydyZWFkT25seSddLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYW5nZXNbJ3BsYWNlaG9sZGVyJ10pIHtcbiAgICAgICAgICAgIHRoaXMucXVpbGxFZGl0b3Iucm9vdC5kYXRhc2V0LnBsYWNlaG9sZGVyID0gY2hhbmdlc1sncGxhY2Vob2xkZXInXS5jdXJyZW50VmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYW5nZXNbJ3N0eWxlcyddKSB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50U3R5bGluZyA9IGNoYW5nZXNbJ3N0eWxlcyddLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IHByZXZpb3VzU3R5bGluZyA9IGNoYW5nZXNbJ3N0eWxlcyddLnByZXZpb3VzVmFsdWU7XG5cbiAgICAgICAgICAgIGlmIChwcmV2aW91c1N0eWxpbmcpIHtcbiAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyhwcmV2aW91c1N0eWxpbmcpLmZvckVhY2goKGtleTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5lZGl0b3JFbGVtLCBrZXkpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGN1cnJlbnRTdHlsaW5nKSB7XG4gICAgICAgICAgICAgICAgT2JqZWN0LmtleXMoY3VycmVudFN0eWxpbmcpLmZvckVhY2goKGtleTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lZGl0b3JFbGVtLCBrZXksIHRoaXMuc3R5bGVzW2tleV0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChjaGFuZ2VzWydmb3JtYXRzJ10pIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRGb3JtYXRzID0gY2hhbmdlc1snZm9ybWF0cyddLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgIFF1aWxsLmZvcm1hdHMgPSB7IC4uLlF1aWxsLmZvcm1hdHMsIFt0aGlzLmlkXTogY3VycmVudEZvcm1hdHMgfTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHdyaXRlVmFsdWUoY3VycmVudFZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250ZW50ID0gY3VycmVudFZhbHVlO1xuICAgICAgICBjb25zdCBmb3JtYXQgPSBnZXRGb3JtYXQodGhpcy5mb3JtYXQsIHRoaXMuY29uZmlnLmZvcm1hdCk7XG5cbiAgICAgICAgaWYgKHRoaXMucXVpbGxFZGl0b3IpIHtcbiAgICAgICAgICAgIGlmIChjdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICAgICAgICBpZiAoZm9ybWF0ID09PSAndGV4dCcpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5xdWlsbEVkaXRvci5zZXRUZXh0KGN1cnJlbnRWYWx1ZSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5xdWlsbEVkaXRvci5zZXRDb250ZW50cyh0aGlzLnZhbHVlU2V0dGVyKHRoaXMucXVpbGxFZGl0b3IsIHRoaXMuY29udGVudCkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnF1aWxsRWRpdG9yLnNldFRleHQoJycpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuID0gdGhpcy5kaXNhYmxlZCk6IHZvaWQge1xuICAgICAgICAvLyBzdG9yZSBpbml0aWFsIHZhbHVlIHRvIHNldCBhcHByb3ByaWF0ZSBkaXNhYmxlZCBzdGF0dXMgYWZ0ZXIgVmlld0luaXRcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgICAgIGlmICh0aGlzLnF1aWxsRWRpdG9yKSB7XG4gICAgICAgICAgICBpZiAoaXNEaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMucXVpbGxFZGl0b3IuZGlzYWJsZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZGlzYWJsZWQnLCAnZGlzYWJsZWQnKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLnJlYWRPbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucXVpbGxFZGl0b3IuZW5hYmxlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZGlzYWJsZWQnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IChtb2RlbFZhbHVlOiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbk1vZGVsQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbk1vZGVsVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHZhbGlkYXRlKCk6IGFueSB7XG4gICAgICAgIGlmICghdGhpcy5xdWlsbEVkaXRvcikge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBlcnI6IHtcbiAgICAgICAgICAgIG1pbkxlbmd0aEVycm9yPzoge1xuICAgICAgICAgICAgICAgIGdpdmVuOiBudW1iZXI7XG4gICAgICAgICAgICAgICAgbWluTGVuZ3RoOiBudW1iZXI7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgbWF4TGVuZ3RoRXJyb3I/OiB7XG4gICAgICAgICAgICAgICAgZ2l2ZW46IG51bWJlcjtcbiAgICAgICAgICAgICAgICBtYXhMZW5ndGg6IG51bWJlcjtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZXF1aXJlZEVycm9yPzogeyBlbXB0eTogYm9vbGVhbiB9O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIGxldCB2YWxpZCA9IHRydWU7XG5cbiAgICAgICAgY29uc3QgdGV4dExlbmd0aCA9IHRoaXMucXVpbGxFZGl0b3IuZ2V0VGV4dCgpLnRyaW0oKS5sZW5ndGg7XG5cbiAgICAgICAgaWYgKHRoaXMubWluTGVuZ3RoICYmIHRleHRMZW5ndGggJiYgdGV4dExlbmd0aCA8IHRoaXMubWluTGVuZ3RoKSB7XG4gICAgICAgICAgICBlcnIubWluTGVuZ3RoRXJyb3IgPSB7XG4gICAgICAgICAgICAgICAgZ2l2ZW46IHRleHRMZW5ndGgsXG4gICAgICAgICAgICAgICAgbWluTGVuZ3RoOiB0aGlzLm1pbkxlbmd0aCxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHZhbGlkID0gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5tYXhMZW5ndGggJiYgdGV4dExlbmd0aCA+IHRoaXMubWF4TGVuZ3RoKSB7XG4gICAgICAgICAgICBlcnIubWF4TGVuZ3RoRXJyb3IgPSB7XG4gICAgICAgICAgICAgICAgZ2l2ZW46IHRleHRMZW5ndGgsXG4gICAgICAgICAgICAgICAgbWF4TGVuZ3RoOiB0aGlzLm1heExlbmd0aCxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHZhbGlkID0gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5yZXF1aXJlZCAmJiAhdGV4dExlbmd0aCkge1xuICAgICAgICAgICAgZXJyLnJlcXVpcmVkRXJyb3IgPSB7XG4gICAgICAgICAgICAgICAgZW1wdHk6IHRydWUsXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICB2YWxpZCA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbGlkID8gbnVsbCA6IGVycjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPdmVycmlkZSB0aGUgZGVmYXVsdCBRdWlsbCBzY3JvbGwgYmVoYXZpb3IgdG8gdGFrZSBpbnRvIGFjY291bnQgdGhlIGZvcm1hdHMgYXJyYXkgYW5kIHNraXAgbm9uLWZvdW5kIG9uZXMuIFRoZW5cbiAgICAgKiByZWdpc3RlcnMgdGhlIHBsdWdpbiB0byB0aGUgUXVpbGwgZWRpdG9yLlxuICAgICAqXG4gICAgICogQHBhcmFtIFF1aWxsSW5zdGFuY2UgVGhlIFF1aWxsIGNsYXNzIChub3QgdGhlIGluc3RhbmNlKVxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBvdmVycmlkZVNjcm9sbEJlaGF2aW9yKFF1aWxsSW5zdGFuY2U6IGFueSk6IHZvaWQge1xuICAgICAgICAvLyB0aGUgQnVpbHQtaW4gU2Nyb2xsIENsYXNzIGlzIG5vdCBleHBvcnRlZCwgc28gd2UgbmVlZCB0byBpbXBvcnQgaXRcbiAgICAgICAgY29uc3QgQnVpbHRpblNjcm9sbCA9IFF1aWxsSW5zdGFuY2UuaW1wb3J0KCdibG90cy9zY3JvbGwnKTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIE92ZXJyaWRlIHRoZSBkZWZhdWx0IFF1aWxsIHNjcm9sbCBiZWhhdmlvciB0byB0YWtlIGludG8gYWNjb3VudCB0aGUgZm9ybWF0cyBhcnJheSBhbmQgc2tpcCBub24tZm91bmQgb25lcy5cbiAgICAgICAgICovXG4gICAgICAgIGNsYXNzIFNjcm9sbCBleHRlbmRzIEJ1aWx0aW5TY3JvbGwge1xuICAgICAgICAgICAgZm9ybWF0QXQoaW5kZXg6IG51bWJlciwgbGVuZ3RoOiBudW1iZXIsIGZvcm1hdDogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudElkID0gdGhpcy5kb21Ob2RlLmlkO1xuICAgICAgICAgICAgICAgIGNvbnN0IGluc3RhbmNlRm9ybWF0cyA9IFF1aWxsSW5zdGFuY2UuZm9ybWF0c1tlbGVtZW50SWRdO1xuICAgICAgICAgICAgICAgIC8vIGNoZWNrcyB0aGUgZm9ybWF0cyBhcnJheSB0byBzZWUgaWYgdGhlIGZvcm1hdCBpcyBibGFja2xpc3RlZFxuICAgICAgICAgICAgICAgIGlmIChpbnN0YW5jZUZvcm1hdHMgJiYgaW5zdGFuY2VGb3JtYXRzLmZpbmQoKGYpID0+IGYgPT09IGZvcm1hdCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBjb250aW51ZSB3aXRoIGRlZmF1bHQgYmVoYXZpb3JcbiAgICAgICAgICAgICAgICBzdXBlci5mb3JtYXRBdChpbmRleCwgbGVuZ3RoLCBmb3JtYXQsIHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvKiogcmVnaXN0ZXIgdGhlIFNjcm9sbCBvdmVycmlkZSAqL1xuICAgICAgICBRdWlsbEluc3RhbmNlLnJlZ2lzdGVyKCdibG90cy9zY3JvbGwnLCBTY3JvbGwsIHRydWUpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"eui-popover.component.d.ts","sourceRoot":"","sources":["../../eui-popover/eui-popover.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAMH,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,MAAM,EAEN,YAAY,EACZ,UAAU,EACV,SAAS,EACT,aAAa,EAEhB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACH,OAAO,EAIP,gBAAgB,EAGnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAmB,UAAU,EAAyB,MAAM,MAAM,CAAC;AAG1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAAE,kBAAkB,EAAyC,MAAM,qCAAqC,CAAC;;;AAEhH,qBAqBa,mBAAoB,YAAW,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;IA6BvE,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,mBAAmB;IA/B9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,kBAAkB,CAAY;IACjD,yFAAyF;IAChF,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,MAAM,CAAa;IAC3F,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,gBAAgB,GAAG,eAAe,CAAa;IAC1E,KAAK,EAAE,MAAM,CAAQ;IACU,WAAW,UAAS;IACpB,cAAc,UAAQ;IACtB,aAAa,UAAQ;IAEnD,YAAY,oBAAsB;IAClC,WAAW,oBAAsB;IACjC,YAAY,oBAAsB;IAErC,SAAS,EAAE,UAAU,CAAC,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC;IAExB,qBAAqB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAEhF,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,QAAQ,CAA4C;IAC5D,OAAO,CAAC,OAAO,CAAiE;IAChF,OAAO,CAAC,4BAA4B,CAAsB;IAC1D,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,iBAAiB,CAAwD;IACjF,OAAO,CAAC,gBAAgB,CAAoC;IAC5D,OAAO,CAAC,uBAAuB,CAAgC;gBAE3C,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,EAClC,mBAAmB,EAAE,mBAAmB;IAG5D,WAAW,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI;IAYnC,QAAQ,IAAI,IAAI;IAIhB,eAAe,IAAI,IAAI;IAIvB,WAAW,IAAI,IAAI;IAQnB,iFAAiF;IACjF,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED;;;;;;;;;;;;OAYG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IAEM,eAAe,IAAI,IAAI;IAM9B;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAyC5C;;OAEG;IACI,YAAY,IAAI,IAAI;IAQ3B;;;;;OAKG;IACI,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAM5C,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,iBAAiB;yCApLhB,mBAAmB;2CAAnB,mBAAmB;0CAkMq17B,OAAQ;6CAAR,OAAQ;4CAAR,OAAQ;CAD537B"}
1
+ {"version":3,"file":"eui-popover.component.d.ts","sourceRoot":"","sources":["../../eui-popover/eui-popover.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAMH,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,MAAM,EAEN,YAAY,EACZ,UAAU,EACV,SAAS,EACT,aAAa,EAEhB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACH,OAAO,EAIP,gBAAgB,EAGnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAmB,UAAU,EAAyB,MAAM,MAAM,CAAC;AAG1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAAE,kBAAkB,EAAyC,MAAM,qCAAqC,CAAC;;;AAEhH,qBAqBa,mBAAoB,YAAW,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;IA6BvE,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,mBAAmB;IA/B9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,kBAAkB,CAAY;IACjD,yFAAyF;IAChF,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,MAAM,CAAa;IAC3F,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,gBAAgB,GAAG,eAAe,CAAa;IAC1E,KAAK,EAAE,MAAM,CAAQ;IACU,WAAW,UAAS;IACpB,cAAc,UAAQ;IACtB,aAAa,UAAQ;IAEnD,YAAY,oBAAsB;IAClC,WAAW,oBAAsB;IACjC,YAAY,oBAAsB;IAErC,SAAS,EAAE,UAAU,CAAC,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC;IAExB,qBAAqB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAEhF,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,QAAQ,CAA4C;IAC5D,OAAO,CAAC,OAAO,CAAiE;IAChF,OAAO,CAAC,4BAA4B,CAAsB;IAC1D,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,iBAAiB,CAAwD;IACjF,OAAO,CAAC,gBAAgB,CAAoC;IAC5D,OAAO,CAAC,uBAAuB,CAAgC;gBAE3C,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,EAClC,mBAAmB,EAAE,mBAAmB;IAG5D,WAAW,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI;IAYnC,QAAQ,IAAI,IAAI;IAIhB,eAAe,IAAI,IAAI;IAIvB,WAAW,IAAI,IAAI;IAQnB,iFAAiF;IACjF,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED;;;;;;;;;;;;OAYG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IAEM,eAAe,IAAI,IAAI;IAM9B;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAyC5C;;OAEG;IACI,YAAY,IAAI,IAAI;IAQ3B;;;;;OAKG;IACI,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAM5C,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,iBAAiB;yCApLhB,mBAAmB;2CAAnB,mBAAmB;0CAkM807B,OAAQ;6CAAR,OAAQ;4CAAR,OAAQ;CADr37B"}
@@ -2,7 +2,7 @@ import { AfterContentChecked, AfterContentInit, ChangeDetectorRef, ElementRef, O
2
2
  import { BaseStatesDirective } from '@eui/components/shared';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@eui/components/shared";
5
- import * as i2 from "@angular/common";
5
+ import * as i2 from "@eui/components/eui-icon";
6
6
  export declare class EuiProgressCircleComponent implements AfterContentInit, OnChanges, AfterContentChecked {
7
7
  private cd;
8
8
  protected baseStatesDirective: BaseStatesDirective;
@@ -18,6 +18,9 @@ export declare class EuiProgressCircleComponent implements AfterContentInit, OnC
18
18
  iconLabelClass: string;
19
19
  iconLabelStyleClass: string;
20
20
  tabindex: string;
21
+ icon: string;
22
+ fillColor: string;
23
+ size: '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | '3xl' | '4xl';
21
24
  stateColorNumberClass: string;
22
25
  labelValue: string;
23
26
  percentValue: string;
@@ -32,13 +35,13 @@ export declare class EuiProgressCircleComponent implements AfterContentInit, OnC
32
35
  setColorSteps(): void;
33
36
  setLabels(): void;
34
37
  static ɵfac: i0.ɵɵFactoryDeclaration<EuiProgressCircleComponent, never>;
35
- static ɵcmp: i0.ɵɵComponentDeclaration<EuiProgressCircleComponent, "eui-progress-circle", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "isDefaultColorSteps": { "alias": "isDefaultColorSteps"; "required": false; }; "hasBottomLabel": { "alias": "hasBottomLabel"; "required": false; }; "value": { "alias": "value"; "required": false; }; "emptyLabel": { "alias": "emptyLabel"; "required": false; }; "valueLabel": { "alias": "valueLabel"; "required": false; }; "colorSteps": { "alias": "colorSteps"; "required": false; }; "colorType": { "alias": "colorType"; "required": false; }; "iconLabelClass": { "alias": "iconLabelClass"; "required": false; }; "iconLabelStyleClass": { "alias": "iconLabelStyleClass"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; }, {}, never, never, false, [{ directive: typeof i1.BaseStatesDirective; inputs: { "euiSizeS": "euiSizeS"; "euiSizeM": "euiSizeM"; "euiSizeL": "euiSizeL"; "euiSizeVariant": "euiSizeVariant"; }; outputs: {}; }]>;
38
+ static ɵcmp: i0.ɵɵComponentDeclaration<EuiProgressCircleComponent, "eui-progress-circle", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "isDefaultColorSteps": { "alias": "isDefaultColorSteps"; "required": false; }; "hasBottomLabel": { "alias": "hasBottomLabel"; "required": false; }; "value": { "alias": "value"; "required": false; }; "emptyLabel": { "alias": "emptyLabel"; "required": false; }; "valueLabel": { "alias": "valueLabel"; "required": false; }; "colorSteps": { "alias": "colorSteps"; "required": false; }; "colorType": { "alias": "colorType"; "required": false; }; "iconLabelClass": { "alias": "iconLabelClass"; "required": false; }; "iconLabelStyleClass": { "alias": "iconLabelStyleClass"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "fillColor": { "alias": "fillColor"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, false, [{ directive: typeof i1.BaseStatesDirective; inputs: { "euiSizeS": "euiSizeS"; "euiSizeM": "euiSizeM"; "euiSizeL": "euiSizeL"; "euiSizeVariant": "euiSizeVariant"; }; outputs: {}; }]>;
36
39
  static ngAcceptInputType_isDefaultColorSteps: unknown;
37
40
  static ngAcceptInputType_hasBottomLabel: unknown;
38
41
  }
39
42
  export declare class EuiProgressCircleModule {
40
43
  static ɵfac: i0.ɵɵFactoryDeclaration<EuiProgressCircleModule, never>;
41
- static ɵmod: i0.ɵɵNgModuleDeclaration<EuiProgressCircleModule, [typeof EuiProgressCircleComponent], [typeof i2.CommonModule], [typeof EuiProgressCircleComponent]>;
44
+ static ɵmod: i0.ɵɵNgModuleDeclaration<EuiProgressCircleModule, [typeof EuiProgressCircleComponent], [typeof i2.EuiIconModule], [typeof EuiProgressCircleComponent]>;
42
45
  static ɵinj: i0.ɵɵInjectorDeclaration<EuiProgressCircleModule>;
43
46
  }
44
47
  //# sourceMappingURL=eui-progress-circle.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"eui-progress-circle.component.d.ts","sourceRoot":"","sources":["../../eui-progress-circle/eui-progress-circle.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EAEjB,UAAU,EAGV,SAAS,EACT,aAAa,EAMhB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;;;;AAE7D,qBAkBa,0BAA2B,YAAW,gBAAgB,EAAE,SAAS,EAAE,mBAAmB;IAkC3F,OAAO,CAAC,EAAE;IACV,SAAS,CAAC,mBAAmB,EAAE,mBAAmB;IAlCtD,IACI,UAAU,IAAI,MAAM,CAOvB;IAEQ,SAAS,SAAqB;IAEC,mBAAmB,UAAQ;IAC3B,cAAc,UAAS;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,SAAS;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,SAAO;IAEjB,qBAAqB,SAAM;IAC3B,UAAU,SAAM;IAChB,YAAY,SAAM;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,UAAS;IACpB,WAAW,SAAK;IAEI,YAAY,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;gBAGzD,EAAE,EAAE,iBAAiB,EACnB,mBAAmB,EAAE,mBAAmB;IAItD,kBAAkB,IAAI,IAAI;IAK1B,qBAAqB,IAAI,IAAI;IAS7B,WAAW,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI;IAQnC,aAAa,IAAI,IAAI;IA4BrB,SAAS,IAAI,IAAI;yCAzFR,0BAA0B;2CAA1B,0BAA0B;kDA8GwhkC,OAAQ;6CAAR,OAAQ;CARtkkC;AAED,qBAKa,uBAAuB;yCAAvB,uBAAuB;0CAAvB,uBAAuB,UA7GvB,0BAA0B,qCAA1B,0BAA0B;0CA6G1B,uBAAuB;CAAG"}
1
+ {"version":3,"file":"eui-progress-circle.component.d.ts","sourceRoot":"","sources":["../../eui-progress-circle/eui-progress-circle.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EAEjB,UAAU,EAGV,SAAS,EACT,aAAa,EAMhB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;;;;AAG7D,qBAkBa,0BAA2B,YAAW,gBAAgB,EAAE,SAAS,EAAE,mBAAmB;IAqC3F,OAAO,CAAC,EAAE;IACV,SAAS,CAAC,mBAAmB,EAAE,mBAAmB;IArCtD,IACI,UAAU,IAAI,MAAM,CAOvB;IAEQ,SAAS,SAAqB;IAEC,mBAAmB,UAAQ;IAC3B,cAAc,UAAS;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,SAAS;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,SAAO;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,KAAK,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAO;IAE5E,qBAAqB,SAAM;IAC3B,UAAU,SAAM;IAChB,YAAY,SAAM;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,UAAS;IACpB,WAAW,SAAK;IAEI,YAAY,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;gBAGzD,EAAE,EAAE,iBAAiB,EACnB,mBAAmB,EAAE,mBAAmB;IAItD,kBAAkB,IAAI,IAAI;IAK1B,qBAAqB,IAAI,IAAI;IAS7B,WAAW,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI;IAQnC,aAAa,IAAI,IAAI;IA4BrB,SAAS,IAAI,IAAI;yCA5FR,0BAA0B;2CAA1B,0BAA0B;kDAiH03jC,OAAQ;6CAAR,OAAQ;CARx6jC;AAED,qBAKa,uBAAuB;yCAAvB,uBAAuB;0CAAvB,uBAAuB,UAhHvB,0BAA0B,sCAA1B,0BAA0B;0CAgH1B,uBAAuB;CAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"quill-editor.component.d.ts","sourceRoot":"","sources":["../../../externals/quill/quill-editor.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quill-editor.component.d.ts","sourceRoot":"","sources":["../../../externals/quill/quill-editor.component.ts"],"names":[],"mappings":"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"}
@@ -186,7 +186,7 @@ class EuiPopoverComponent {
186
186
  scrollStrategy,
187
187
  disposeOnNavigation: true,
188
188
  width: this.width,
189
- panelClass: this.baseStatesDirective.getCssClasses('eui-popover').split(' '),
189
+ panelClass: this.baseStatesDirective.getCssClasses('eui-18 eui-popover').split(' '),
190
190
  });
191
191
  this.overlayRef.attach(this.templatePortal);
192
192
  this.positionStrategy = positionStrategy;
@@ -249,7 +249,7 @@ class EuiPopoverComponent {
249
249
  }));
250
250
  }
251
251
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EuiPopoverComponent, deps: [{ token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: i1.ScrollDispatcher }, { token: i2.BaseStatesDirective }], target: i0.ɵɵFactoryTarget.Component }); }
252
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: EuiPopoverComponent, selector: "eui-popover", inputs: { title: "title", position: "position", size: "size", type: "type", width: "width", hasBackDrop: ["hasBackDrop", "hasBackDrop", booleanAttribute], hasCloseButton: ["hasCloseButton", "hasCloseButton", booleanAttribute], isDismissable: ["isDismissable", "isDismissable", booleanAttribute] }, outputs: { outsideClick: "outsideClick", popoverOpen: "popoverOpen", popoverClose: "popoverClose" }, viewQueries: [{ propertyName: "templatePortalContent", first: true, predicate: ["templatePortalContent"], descendants: true }], usesOnChanges: true, hostDirectives: [{ directive: i2.BaseStatesDirective, inputs: ["euiSizeS", "euiSizeS", "euiSizeM", "euiSizeM", "euiSizeL", "euiSizeL", "euiSizeXL", "euiSizeXL", "euiSize2XL", "euiSize2XL", "euiSizeAuto", "euiSizeAuto", "euiSizeVariant", "euiSizeVariant"] }], ngImport: i0, template: "<ng-template #templatePortalContent>\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n</ng-template>\n\n<ng-template #template>\n <div class=\"eui-popover__container eui-popover__container--{{ type }} eui-18\" cdkTrapFocus cdkTrapFocusAutoCapture (keydown)=\"onKeyDown($event)\">\n <div class=\"eui-popover__arrow\" [euiPopoverArrowPosition]=\"position$\">\n <div class=\"eui-popover__arrow-inner\"></div>\n </div>\n @if (title) {\n <div class=\"eui-popover__header\">\n <div class=\"eui-popover__header-title\">{{ title }}</div>\n @if (hasCloseButton) {\n <button\n class=\"eui-popover__header-close\"\n (click)=\"closePopover()\"\n euiButton\n euiSizeS\n euiIconButton\n euiRounded\n euiBasicButton\n aria-label=\"Dialog close icon\">\n <eui-icon-svg icon=\"close:outline\"></eui-icon-svg>\n </button>\n }\n </div>\n }\n <div (cdkObserveContent)=\"onContentChange()\" class=\"eui-popover__content\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: [".eui-18 .eui-popover-position .eui-popover__arrow{border-color:inherit;border-style:solid;border-width:8px;display:none;height:0;position:absolute;width:0}.eui-18 .eui-popover-position .eui-popover__arrow-inner{border-color:var(--eui-c-white);border-style:solid;border-width:7px;content:\" \";display:block;height:0;position:absolute;width:0}.eui-18 .eui-popover-position--top .eui-popover__arrow,.eui-18 .eui-popover-position--bottom .eui-popover__arrow,.eui-18 .eui-popover-position--left .eui-popover__arrow,.eui-18 .eui-popover-position--right .eui-popover__arrow{display:block}.eui-18 .eui-popover-position--top .eui-popover__arrow,.eui-18 .eui-popover-position--bottom .eui-popover__arrow{border-left-color:transparent;border-right-color:transparent;left:50%;transform:translate(-8px)}.eui-18 .eui-popover-position--top .eui-popover__arrow-inner,.eui-18 .eui-popover-position--bottom .eui-popover__arrow-inner{border-left-color:transparent;border-right-color:transparent;margin-left:-7px}.eui-18 .eui-popover-position--top .eui-popover__arrow{border-bottom-width:0;bottom:-7px}.eui-18 .eui-popover-position--top .eui-popover__arrow-inner{border-bottom-width:0;bottom:2px}.eui-18 .eui-popover-position--bottom .eui-popover__arrow{border-top-width:0;top:-7px}.eui-18 .eui-popover-position--bottom .eui-popover__arrow-inner{border-top-width:0;top:1px}.eui-18 .eui-popover-position--left .eui-popover__arrow,.eui-18 .eui-popover-position--right .eui-popover__arrow{border-bottom-color:transparent;border-top-color:transparent;top:50%;transform:translateY(-8px)}.eui-18 .eui-popover-position--left .eui-popover__arrow-inner,.eui-18 .eui-popover-position--right .eui-popover__arrow-inner{border-bottom-color:transparent;border-top-color:transparent;top:-7px}.eui-18 .eui-popover-position--left .eui-popover__arrow{border-right-width:0;right:-7px}.eui-18 .eui-popover-position--left .eui-popover__arrow-inner{border-right-width:0;right:2px}.eui-18 .eui-popover-position--right .eui-popover__arrow{border-left-width:0;left:-7px}.eui-18 .eui-popover-position--right .eui-popover__arrow-inner{border-left-width:0;border-right-color:var(--eui-c-white);left:2px}.eui-18 .eui-popover{background-color:var(--eui-c-white);border:var(--eui-bw-xs) solid var(--eui-c-neutral-lightest);border-radius:var(--eui-br-m);box-shadow:var(--eui-sh-2);width:25rem}.eui-18 .eui-popover__container{width:100%}.eui-18 .eui-popover__header{align-items:center;border-bottom:1px solid var(--eui-c-neutral-lightest);display:flex;justify-content:space-between;padding:var(--eui-s-xs)}.eui-18 .eui-popover__header-title{font:var(--eui-f-m-bold)}.eui-18 .eui-popover__content{padding:var(--eui-s-xs)}.eui-18 .eui-popover--has-custom-width{width:100%!important}.eui-18 .eui-popover--size-s{max-width:12rem;width:12rem}.eui-18 .eui-popover--size-m{max-width:25rem;width:25rem}.eui-18 .eui-popover--size-l{max-width:35rem;width:35rem}.eui-18 .eui-popover--size-xl{max-width:50rem;width:50rem}.eui-18 .eui-popover--size-2xl{max-width:75rem;width:75rem}.eui-18 .eui-popover--size-auto{max-width:none;width:auto}.eui-18 .eui-popover__container--flat .eui-popover__header{border-bottom:none;padding-bottom:0}.eui-18 .eui-popover__container--colored-header{background:none;border:var(--eui-bw-none);border-color:var(--eui-c-neutral)}.eui-18 .eui-popover__container--colored-header .eui-popover__header{background-color:var(--eui-c-neutral);border:var(--eui-bw-none);color:var(--eui-c-white);border-top-left-radius:var(--eui-br-m);border-top-right-radius:var(--eui-br-m)}.eui-18 .eui-popover__container--colored-header .eui-popover__header+.eui-popover__content{border-top:0;border-top-left-radius:0;border-top-right-radius:0}.eui-18 .eui-popover__container--colored-header .eui-popover__header-title{color:var(--eui-c-white)}.eui-18 .eui-popover__container--colored-header .eui-popover__header-close .eui-icon-svg>svg{color:var(--eui-c-white)}.eui-18 .eui-popover__container--colored-header .eui-popover__header-close:hover .eui-icon-svg>svg,.eui-18 .eui-popover__container--colored-header .eui-popover__header-close:active .eui-icon-svg>svg{color:var(--eui-c-neutral)}.eui-18 .eui-popover__container--colored-header .eui-popover__content{background-color:var(--eui-c-white);border-color:inherit;border-radius:var(--eui-br-m);border-style:solid;border-width:2px}.eui-18 .eui-popover__container--colored-header.eui-popover--left .eui-popover__arrow-inner{right:3px}.eui-18 .eui-popover__container--colored-header.eui-popover--right .eui-popover__arrow-inner{left:3px}.eui-18 .eui-popover__container--colored-header.eui-popover--top .eui-popover__arrow-inner{bottom:3px}.eui-18 .eui-popover__container--colored-header.eui-popover--bottom .eui-popover__arrow-inner,.eui-18 .eui-popover__container--colored-header .eui-popover__arrow-inner{border:var(--eui-bw-none)}.eui-18 .eui-popover__container--colored-solid{background-color:var(--eui-c-neutral);border-color:var(--eui-c-neutral);border-style:none}.eui-18 .eui-popover__container--colored-solid .eui-popover__header{border-bottom-color:var(--eui-c-neutral-bg-light)}.eui-18 .eui-popover__container--colored-solid .eui-popover__header-title,.eui-18 .eui-popover__container--colored-solid .eui-popover__content{color:var(--eui-c-white)}.eui-18 .eui-popover__container--colored-solid .eui-popover__header-close .eui-icon-svg>svg{color:var(--eui-c-white)}.eui-18 .eui-popover__container--colored-solid .eui-popover__header-close:hover .eui-icon-svg>svg,.eui-18 .eui-popover__container--colored-solid .eui-popover__header-close:active .eui-icon-svg>svg{color:var(--eui-c-neutral)}.eui-18 .eui-popover__container--colored-solid .eui-popover__arrow-inner{border:var(--eui-bw-none)}\n"], dependencies: [{ kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i5.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "directive", type: i6.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: i7.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }, { kind: "directive", type: EuiPopoverArrowPositionDirective, selector: "[euiPopoverArrowPosition]", inputs: ["euiPopoverArrowPosition"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
252
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: EuiPopoverComponent, selector: "eui-popover", inputs: { title: "title", position: "position", size: "size", type: "type", width: "width", hasBackDrop: ["hasBackDrop", "hasBackDrop", booleanAttribute], hasCloseButton: ["hasCloseButton", "hasCloseButton", booleanAttribute], isDismissable: ["isDismissable", "isDismissable", booleanAttribute] }, outputs: { outsideClick: "outsideClick", popoverOpen: "popoverOpen", popoverClose: "popoverClose" }, viewQueries: [{ propertyName: "templatePortalContent", first: true, predicate: ["templatePortalContent"], descendants: true }], usesOnChanges: true, hostDirectives: [{ directive: i2.BaseStatesDirective, inputs: ["euiSizeS", "euiSizeS", "euiSizeM", "euiSizeM", "euiSizeL", "euiSizeL", "euiSizeXL", "euiSizeXL", "euiSize2XL", "euiSize2XL", "euiSizeAuto", "euiSizeAuto", "euiSizeVariant", "euiSizeVariant"] }], ngImport: i0, template: "<ng-template #templatePortalContent>\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n</ng-template>\n\n<ng-template #template>\n <div class=\"eui-popover__container eui-popover__container--{{ type }} eui-18\" cdkTrapFocus cdkTrapFocusAutoCapture (keydown)=\"onKeyDown($event)\">\n <div class=\"eui-popover__arrow\" [euiPopoverArrowPosition]=\"position$\">\n <div class=\"eui-popover__arrow-inner\"></div>\n </div>\n @if (title) {\n <div class=\"eui-popover__header\">\n <div class=\"eui-popover__header-title\">{{ title }}</div>\n @if (hasCloseButton) {\n <button\n class=\"eui-popover__header-close\"\n (click)=\"closePopover()\"\n euiButton\n euiSizeS\n euiIconButton\n euiRounded\n euiBasicButton\n aria-label=\"Dialog close icon\">\n <eui-icon-svg icon=\"close:outline\"></eui-icon-svg>\n </button>\n }\n </div>\n }\n <div (cdkObserveContent)=\"onContentChange()\" class=\"eui-popover__content\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: [".eui-18 .eui-popover-position .eui-popover__arrow{border-color:inherit;border-style:solid;border-width:8px;color:var(--eui-c-neutral-light);display:none;height:0;position:absolute;width:0}.eui-18 .eui-popover-position .eui-popover__arrow-inner{border-color:var(--eui-c-white);border-style:solid;border-width:7px;content:\" \";display:block;height:0;position:absolute;width:0}.eui-18 .eui-popover-position--top .eui-popover__arrow,.eui-18 .eui-popover-position--bottom .eui-popover__arrow,.eui-18 .eui-popover-position--left .eui-popover__arrow,.eui-18 .eui-popover-position--right .eui-popover__arrow{display:block}.eui-18 .eui-popover-position--top .eui-popover__arrow,.eui-18 .eui-popover-position--bottom .eui-popover__arrow{border-left-color:transparent;border-right-color:transparent;left:50%;transform:translate(-8px)}.eui-18 .eui-popover-position--top .eui-popover__arrow-inner,.eui-18 .eui-popover-position--bottom .eui-popover__arrow-inner{border-left-color:transparent;border-right-color:transparent;margin-left:-7px}.eui-18 .eui-popover-position--top .eui-popover__arrow{border-bottom-width:0;bottom:-7px}.eui-18 .eui-popover-position--top .eui-popover__arrow-inner{border-bottom-width:0;bottom:2px}.eui-18 .eui-popover-position--bottom .eui-popover__arrow{border-top-width:0;top:-7px}.eui-18 .eui-popover-position--bottom .eui-popover__arrow-inner{border-top-width:0;top:1px}.eui-18 .eui-popover-position--left .eui-popover__arrow,.eui-18 .eui-popover-position--right .eui-popover__arrow{border-bottom-color:transparent;border-top-color:transparent;top:50%;transform:translateY(-8px)}.eui-18 .eui-popover-position--left .eui-popover__arrow-inner,.eui-18 .eui-popover-position--right .eui-popover__arrow-inner{border-bottom-color:transparent;border-top-color:transparent;top:-7px}.eui-18 .eui-popover-position--left .eui-popover__arrow{border-right-width:0;right:-7px}.eui-18 .eui-popover-position--left .eui-popover__arrow-inner{border-right-width:0;right:2px}.eui-18 .eui-popover-position--right .eui-popover__arrow{border-left-width:0;left:-7px}.eui-18 .eui-popover-position--right .eui-popover__arrow-inner{border-left-width:0;border-right-color:var(--eui-c-white);left:2px}.eui-18 .eui-popover{display:flex;width:25rem}.eui-18 .eui-popover__container{background-color:var(--eui-c-white);border:var(--eui-bw-xs) solid var(--eui-c-neutral-lightest);border-radius:var(--eui-br-m);box-shadow:var(--eui-sh-2);width:100%}.eui-18 .eui-popover__header{align-items:center;border-bottom:1px solid var(--eui-c-neutral-lightest);display:flex;justify-content:space-between;padding:var(--eui-s-xs)}.eui-18 .eui-popover__header-title{font:var(--eui-f-m-bold)}.eui-18 .eui-popover__content{padding:var(--eui-s-xs)}.eui-18 .eui-popover--has-custom-width{width:100%!important}.eui-18 .eui-popover--size-s{max-width:12rem;width:12rem}.eui-18 .eui-popover--size-m{max-width:25rem;width:25rem}.eui-18 .eui-popover--size-l{max-width:35rem;width:35rem}.eui-18 .eui-popover--size-xl{max-width:50rem;width:50rem}.eui-18 .eui-popover--size-2xl{max-width:75rem;width:75rem}.eui-18 .eui-popover--size-auto{max-width:none;width:auto}.eui-18 .eui-popover__container--flat .eui-popover__header{border-bottom:none;padding-bottom:0}.eui-18 .eui-popover__container--colored-header{background:none;border:var(--eui-bw-none);border-color:var(--eui-c-neutral)}.eui-18 .eui-popover__container--colored-header .eui-popover__header{background-color:var(--eui-c-neutral);border:var(--eui-bw-none);color:var(--eui-c-white);border-top-left-radius:var(--eui-br-m);border-top-right-radius:var(--eui-br-m)}.eui-18 .eui-popover__container--colored-header .eui-popover__header+.eui-popover__content{border-top:0;border-top-left-radius:0;border-top-right-radius:0}.eui-18 .eui-popover__container--colored-header .eui-popover__header-title{color:var(--eui-c-white)}.eui-18 .eui-popover__container--colored-header .eui-popover__header-close .eui-icon-svg>svg{color:var(--eui-c-white)}.eui-18 .eui-popover__container--colored-header .eui-popover__header-close:hover .eui-icon-svg>svg,.eui-18 .eui-popover__container--colored-header .eui-popover__header-close:active .eui-icon-svg>svg{color:var(--eui-c-neutral)}.eui-18 .eui-popover__container--colored-header .eui-popover__content{background-color:var(--eui-c-white);border-color:inherit;border-radius:var(--eui-br-m);border-style:solid;border-width:2px}.eui-18 .eui-popover__container--colored-header.eui-popover--left .eui-popover__arrow-inner{right:3px}.eui-18 .eui-popover__container--colored-header.eui-popover--right .eui-popover__arrow-inner{left:3px}.eui-18 .eui-popover__container--colored-header.eui-popover--top .eui-popover__arrow-inner{bottom:3px}.eui-18 .eui-popover__container--colored-header.eui-popover--bottom .eui-popover__arrow-inner,.eui-18 .eui-popover__container--colored-header .eui-popover__arrow-inner{border:var(--eui-bw-none)}.eui-18 .eui-popover__container--colored-solid{background-color:var(--eui-c-neutral);border-color:var(--eui-c-neutral);border-style:none}.eui-18 .eui-popover__container--colored-solid .eui-popover__header{border-bottom-color:var(--eui-c-neutral-bg-light)}.eui-18 .eui-popover__container--colored-solid .eui-popover__header-title,.eui-18 .eui-popover__container--colored-solid .eui-popover__content{color:var(--eui-c-white)}.eui-18 .eui-popover__container--colored-solid .eui-popover__header-close .eui-icon-svg>svg{color:var(--eui-c-white)}.eui-18 .eui-popover__container--colored-solid .eui-popover__header-close:hover .eui-icon-svg>svg,.eui-18 .eui-popover__container--colored-solid .eui-popover__header-close:active .eui-icon-svg>svg{color:var(--eui-c-neutral)}.eui-18 .eui-popover__container--colored-solid .eui-popover__arrow-inner{border:var(--eui-bw-none)}\n"], dependencies: [{ kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i5.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "directive", type: i6.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: i7.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }, { kind: "directive", type: EuiPopoverArrowPositionDirective, selector: "[euiPopoverArrowPosition]", inputs: ["euiPopoverArrowPosition"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
253
253
  }
254
254
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EuiPopoverComponent, decorators: [{
255
255
  type: Component,
@@ -266,7 +266,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
266
266
  'euiSizeVariant',
267
267
  ],
268
268
  },
269
- ], template: "<ng-template #templatePortalContent>\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n</ng-template>\n\n<ng-template #template>\n <div class=\"eui-popover__container eui-popover__container--{{ type }} eui-18\" cdkTrapFocus cdkTrapFocusAutoCapture (keydown)=\"onKeyDown($event)\">\n <div class=\"eui-popover__arrow\" [euiPopoverArrowPosition]=\"position$\">\n <div class=\"eui-popover__arrow-inner\"></div>\n </div>\n @if (title) {\n <div class=\"eui-popover__header\">\n <div class=\"eui-popover__header-title\">{{ title }}</div>\n @if (hasCloseButton) {\n <button\n class=\"eui-popover__header-close\"\n (click)=\"closePopover()\"\n euiButton\n euiSizeS\n euiIconButton\n euiRounded\n euiBasicButton\n aria-label=\"Dialog close icon\">\n <eui-icon-svg icon=\"close:outline\"></eui-icon-svg>\n </button>\n }\n </div>\n }\n <div (cdkObserveContent)=\"onContentChange()\" class=\"eui-popover__content\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: [".eui-18 .eui-popover-position .eui-popover__arrow{border-color:inherit;border-style:solid;border-width:8px;display:none;height:0;position:absolute;width:0}.eui-18 .eui-popover-position .eui-popover__arrow-inner{border-color:var(--eui-c-white);border-style:solid;border-width:7px;content:\" \";display:block;height:0;position:absolute;width:0}.eui-18 .eui-popover-position--top .eui-popover__arrow,.eui-18 .eui-popover-position--bottom .eui-popover__arrow,.eui-18 .eui-popover-position--left .eui-popover__arrow,.eui-18 .eui-popover-position--right .eui-popover__arrow{display:block}.eui-18 .eui-popover-position--top .eui-popover__arrow,.eui-18 .eui-popover-position--bottom .eui-popover__arrow{border-left-color:transparent;border-right-color:transparent;left:50%;transform:translate(-8px)}.eui-18 .eui-popover-position--top .eui-popover__arrow-inner,.eui-18 .eui-popover-position--bottom .eui-popover__arrow-inner{border-left-color:transparent;border-right-color:transparent;margin-left:-7px}.eui-18 .eui-popover-position--top .eui-popover__arrow{border-bottom-width:0;bottom:-7px}.eui-18 .eui-popover-position--top .eui-popover__arrow-inner{border-bottom-width:0;bottom:2px}.eui-18 .eui-popover-position--bottom .eui-popover__arrow{border-top-width:0;top:-7px}.eui-18 .eui-popover-position--bottom .eui-popover__arrow-inner{border-top-width:0;top:1px}.eui-18 .eui-popover-position--left .eui-popover__arrow,.eui-18 .eui-popover-position--right .eui-popover__arrow{border-bottom-color:transparent;border-top-color:transparent;top:50%;transform:translateY(-8px)}.eui-18 .eui-popover-position--left .eui-popover__arrow-inner,.eui-18 .eui-popover-position--right .eui-popover__arrow-inner{border-bottom-color:transparent;border-top-color:transparent;top:-7px}.eui-18 .eui-popover-position--left .eui-popover__arrow{border-right-width:0;right:-7px}.eui-18 .eui-popover-position--left .eui-popover__arrow-inner{border-right-width:0;right:2px}.eui-18 .eui-popover-position--right .eui-popover__arrow{border-left-width:0;left:-7px}.eui-18 .eui-popover-position--right .eui-popover__arrow-inner{border-left-width:0;border-right-color:var(--eui-c-white);left:2px}.eui-18 .eui-popover{background-color:var(--eui-c-white);border:var(--eui-bw-xs) solid var(--eui-c-neutral-lightest);border-radius:var(--eui-br-m);box-shadow:var(--eui-sh-2);width:25rem}.eui-18 .eui-popover__container{width:100%}.eui-18 .eui-popover__header{align-items:center;border-bottom:1px solid var(--eui-c-neutral-lightest);display:flex;justify-content:space-between;padding:var(--eui-s-xs)}.eui-18 .eui-popover__header-title{font:var(--eui-f-m-bold)}.eui-18 .eui-popover__content{padding:var(--eui-s-xs)}.eui-18 .eui-popover--has-custom-width{width:100%!important}.eui-18 .eui-popover--size-s{max-width:12rem;width:12rem}.eui-18 .eui-popover--size-m{max-width:25rem;width:25rem}.eui-18 .eui-popover--size-l{max-width:35rem;width:35rem}.eui-18 .eui-popover--size-xl{max-width:50rem;width:50rem}.eui-18 .eui-popover--size-2xl{max-width:75rem;width:75rem}.eui-18 .eui-popover--size-auto{max-width:none;width:auto}.eui-18 .eui-popover__container--flat .eui-popover__header{border-bottom:none;padding-bottom:0}.eui-18 .eui-popover__container--colored-header{background:none;border:var(--eui-bw-none);border-color:var(--eui-c-neutral)}.eui-18 .eui-popover__container--colored-header .eui-popover__header{background-color:var(--eui-c-neutral);border:var(--eui-bw-none);color:var(--eui-c-white);border-top-left-radius:var(--eui-br-m);border-top-right-radius:var(--eui-br-m)}.eui-18 .eui-popover__container--colored-header .eui-popover__header+.eui-popover__content{border-top:0;border-top-left-radius:0;border-top-right-radius:0}.eui-18 .eui-popover__container--colored-header .eui-popover__header-title{color:var(--eui-c-white)}.eui-18 .eui-popover__container--colored-header .eui-popover__header-close .eui-icon-svg>svg{color:var(--eui-c-white)}.eui-18 .eui-popover__container--colored-header .eui-popover__header-close:hover .eui-icon-svg>svg,.eui-18 .eui-popover__container--colored-header .eui-popover__header-close:active .eui-icon-svg>svg{color:var(--eui-c-neutral)}.eui-18 .eui-popover__container--colored-header .eui-popover__content{background-color:var(--eui-c-white);border-color:inherit;border-radius:var(--eui-br-m);border-style:solid;border-width:2px}.eui-18 .eui-popover__container--colored-header.eui-popover--left .eui-popover__arrow-inner{right:3px}.eui-18 .eui-popover__container--colored-header.eui-popover--right .eui-popover__arrow-inner{left:3px}.eui-18 .eui-popover__container--colored-header.eui-popover--top .eui-popover__arrow-inner{bottom:3px}.eui-18 .eui-popover__container--colored-header.eui-popover--bottom .eui-popover__arrow-inner,.eui-18 .eui-popover__container--colored-header .eui-popover__arrow-inner{border:var(--eui-bw-none)}.eui-18 .eui-popover__container--colored-solid{background-color:var(--eui-c-neutral);border-color:var(--eui-c-neutral);border-style:none}.eui-18 .eui-popover__container--colored-solid .eui-popover__header{border-bottom-color:var(--eui-c-neutral-bg-light)}.eui-18 .eui-popover__container--colored-solid .eui-popover__header-title,.eui-18 .eui-popover__container--colored-solid .eui-popover__content{color:var(--eui-c-white)}.eui-18 .eui-popover__container--colored-solid .eui-popover__header-close .eui-icon-svg>svg{color:var(--eui-c-white)}.eui-18 .eui-popover__container--colored-solid .eui-popover__header-close:hover .eui-icon-svg>svg,.eui-18 .eui-popover__container--colored-solid .eui-popover__header-close:active .eui-icon-svg>svg{color:var(--eui-c-neutral)}.eui-18 .eui-popover__container--colored-solid .eui-popover__arrow-inner{border:var(--eui-bw-none)}\n"] }]
269
+ ], template: "<ng-template #templatePortalContent>\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n</ng-template>\n\n<ng-template #template>\n <div class=\"eui-popover__container eui-popover__container--{{ type }} eui-18\" cdkTrapFocus cdkTrapFocusAutoCapture (keydown)=\"onKeyDown($event)\">\n <div class=\"eui-popover__arrow\" [euiPopoverArrowPosition]=\"position$\">\n <div class=\"eui-popover__arrow-inner\"></div>\n </div>\n @if (title) {\n <div class=\"eui-popover__header\">\n <div class=\"eui-popover__header-title\">{{ title }}</div>\n @if (hasCloseButton) {\n <button\n class=\"eui-popover__header-close\"\n (click)=\"closePopover()\"\n euiButton\n euiSizeS\n euiIconButton\n euiRounded\n euiBasicButton\n aria-label=\"Dialog close icon\">\n <eui-icon-svg icon=\"close:outline\"></eui-icon-svg>\n </button>\n }\n </div>\n }\n <div (cdkObserveContent)=\"onContentChange()\" class=\"eui-popover__content\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: [".eui-18 .eui-popover-position .eui-popover__arrow{border-color:inherit;border-style:solid;border-width:8px;color:var(--eui-c-neutral-light);display:none;height:0;position:absolute;width:0}.eui-18 .eui-popover-position .eui-popover__arrow-inner{border-color:var(--eui-c-white);border-style:solid;border-width:7px;content:\" \";display:block;height:0;position:absolute;width:0}.eui-18 .eui-popover-position--top .eui-popover__arrow,.eui-18 .eui-popover-position--bottom .eui-popover__arrow,.eui-18 .eui-popover-position--left .eui-popover__arrow,.eui-18 .eui-popover-position--right .eui-popover__arrow{display:block}.eui-18 .eui-popover-position--top .eui-popover__arrow,.eui-18 .eui-popover-position--bottom .eui-popover__arrow{border-left-color:transparent;border-right-color:transparent;left:50%;transform:translate(-8px)}.eui-18 .eui-popover-position--top .eui-popover__arrow-inner,.eui-18 .eui-popover-position--bottom .eui-popover__arrow-inner{border-left-color:transparent;border-right-color:transparent;margin-left:-7px}.eui-18 .eui-popover-position--top .eui-popover__arrow{border-bottom-width:0;bottom:-7px}.eui-18 .eui-popover-position--top .eui-popover__arrow-inner{border-bottom-width:0;bottom:2px}.eui-18 .eui-popover-position--bottom .eui-popover__arrow{border-top-width:0;top:-7px}.eui-18 .eui-popover-position--bottom .eui-popover__arrow-inner{border-top-width:0;top:1px}.eui-18 .eui-popover-position--left .eui-popover__arrow,.eui-18 .eui-popover-position--right .eui-popover__arrow{border-bottom-color:transparent;border-top-color:transparent;top:50%;transform:translateY(-8px)}.eui-18 .eui-popover-position--left .eui-popover__arrow-inner,.eui-18 .eui-popover-position--right .eui-popover__arrow-inner{border-bottom-color:transparent;border-top-color:transparent;top:-7px}.eui-18 .eui-popover-position--left .eui-popover__arrow{border-right-width:0;right:-7px}.eui-18 .eui-popover-position--left .eui-popover__arrow-inner{border-right-width:0;right:2px}.eui-18 .eui-popover-position--right .eui-popover__arrow{border-left-width:0;left:-7px}.eui-18 .eui-popover-position--right .eui-popover__arrow-inner{border-left-width:0;border-right-color:var(--eui-c-white);left:2px}.eui-18 .eui-popover{display:flex;width:25rem}.eui-18 .eui-popover__container{background-color:var(--eui-c-white);border:var(--eui-bw-xs) solid var(--eui-c-neutral-lightest);border-radius:var(--eui-br-m);box-shadow:var(--eui-sh-2);width:100%}.eui-18 .eui-popover__header{align-items:center;border-bottom:1px solid var(--eui-c-neutral-lightest);display:flex;justify-content:space-between;padding:var(--eui-s-xs)}.eui-18 .eui-popover__header-title{font:var(--eui-f-m-bold)}.eui-18 .eui-popover__content{padding:var(--eui-s-xs)}.eui-18 .eui-popover--has-custom-width{width:100%!important}.eui-18 .eui-popover--size-s{max-width:12rem;width:12rem}.eui-18 .eui-popover--size-m{max-width:25rem;width:25rem}.eui-18 .eui-popover--size-l{max-width:35rem;width:35rem}.eui-18 .eui-popover--size-xl{max-width:50rem;width:50rem}.eui-18 .eui-popover--size-2xl{max-width:75rem;width:75rem}.eui-18 .eui-popover--size-auto{max-width:none;width:auto}.eui-18 .eui-popover__container--flat .eui-popover__header{border-bottom:none;padding-bottom:0}.eui-18 .eui-popover__container--colored-header{background:none;border:var(--eui-bw-none);border-color:var(--eui-c-neutral)}.eui-18 .eui-popover__container--colored-header .eui-popover__header{background-color:var(--eui-c-neutral);border:var(--eui-bw-none);color:var(--eui-c-white);border-top-left-radius:var(--eui-br-m);border-top-right-radius:var(--eui-br-m)}.eui-18 .eui-popover__container--colored-header .eui-popover__header+.eui-popover__content{border-top:0;border-top-left-radius:0;border-top-right-radius:0}.eui-18 .eui-popover__container--colored-header .eui-popover__header-title{color:var(--eui-c-white)}.eui-18 .eui-popover__container--colored-header .eui-popover__header-close .eui-icon-svg>svg{color:var(--eui-c-white)}.eui-18 .eui-popover__container--colored-header .eui-popover__header-close:hover .eui-icon-svg>svg,.eui-18 .eui-popover__container--colored-header .eui-popover__header-close:active .eui-icon-svg>svg{color:var(--eui-c-neutral)}.eui-18 .eui-popover__container--colored-header .eui-popover__content{background-color:var(--eui-c-white);border-color:inherit;border-radius:var(--eui-br-m);border-style:solid;border-width:2px}.eui-18 .eui-popover__container--colored-header.eui-popover--left .eui-popover__arrow-inner{right:3px}.eui-18 .eui-popover__container--colored-header.eui-popover--right .eui-popover__arrow-inner{left:3px}.eui-18 .eui-popover__container--colored-header.eui-popover--top .eui-popover__arrow-inner{bottom:3px}.eui-18 .eui-popover__container--colored-header.eui-popover--bottom .eui-popover__arrow-inner,.eui-18 .eui-popover__container--colored-header .eui-popover__arrow-inner{border:var(--eui-bw-none)}.eui-18 .eui-popover__container--colored-solid{background-color:var(--eui-c-neutral);border-color:var(--eui-c-neutral);border-style:none}.eui-18 .eui-popover__container--colored-solid .eui-popover__header{border-bottom-color:var(--eui-c-neutral-bg-light)}.eui-18 .eui-popover__container--colored-solid .eui-popover__header-title,.eui-18 .eui-popover__container--colored-solid .eui-popover__content{color:var(--eui-c-white)}.eui-18 .eui-popover__container--colored-solid .eui-popover__header-close .eui-icon-svg>svg{color:var(--eui-c-white)}.eui-18 .eui-popover__container--colored-solid .eui-popover__header-close:hover .eui-icon-svg>svg,.eui-18 .eui-popover__container--colored-solid .eui-popover__header-close:active .eui-icon-svg>svg{color:var(--eui-c-neutral)}.eui-18 .eui-popover__container--colored-solid .eui-popover__arrow-inner{border:var(--eui-bw-none)}\n"] }]
270
270
  }], ctorParameters: () => [{ type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i1.ScrollDispatcher }, { type: i2.BaseStatesDirective }], propDecorators: { title: [{
271
271
  type: Input
272
272
  }], position: [{
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-eui-popover.mjs","sources":["../../eui-popover/models/eui-popover-position.model.ts","../../eui-popover/directives/eui-popover-arrow-position.directive.ts","../../eui-popover/eui-popover.component.ts","../../eui-popover/eui-popover.component.html","../../eui-popover/eui-popover.module.ts","../../eui-popover/eui-components-eui-popover.ts"],"sourcesContent":["import { ConnectedOverlayPositionChange, ConnectionPositionPair } from '@angular/cdk/overlay';\n\nexport type EuiPopoverPosition = 'top' | 'right' | 'bottom' | 'left';\n\nexport const TOP = new ConnectionPositionPair({ originX: 'center', originY: 'top' }, { overlayX: 'center', overlayY: 'bottom' }, 0, 0, ['eui-popover-position', 'eui-popover-position--top']);\nexport const BOTTOM = new ConnectionPositionPair({ originX: 'center', originY: 'bottom' }, { overlayX: 'center', overlayY: 'top' }, 0, 0, ['eui-popover-position', 'eui-popover-position--bottom']);\nexport const LEFT = new ConnectionPositionPair({ originX: 'start', originY: 'center' }, { overlayX: 'end', overlayY: 'center' }, 0, 0, ['eui-popover-position', 'eui-popover-position--left']);\nexport const RIGHT = new ConnectionPositionPair({ originX: 'end', originY: 'center' }, { overlayX: 'start', overlayY: 'center' }, 0, 0, ['eui-popover-position', 'eui-popover-position--right']);\n\nexport const getPosition = ({ connectionPair }: ConnectedOverlayPositionChange): EuiPopoverPosition => {\n switch (connectionPair) {\n case TOP:\n return 'top';\n case BOTTOM:\n return 'bottom';\n case LEFT:\n return 'left';\n case RIGHT:\n return 'right';\n }\n};\n","import { DOCUMENT } from '@angular/common';\nimport { Directive, ElementRef, Inject, Input, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { Observable, Subject, takeUntil } from 'rxjs';\n\nimport { EuiPopoverPosition } from '../models/eui-popover-position.model';\n\n@Directive({\n selector: '[euiPopoverArrowPosition]',\n})\nexport class EuiPopoverArrowPositionDirective implements OnInit, OnDestroy {\n @Input('euiPopoverArrowPosition')\n public position$: Observable<[EuiPopoverPosition, DOMRect]>;\n\n private destroy$: Subject<void> = new Subject();\n\n constructor(\n private renderer: Renderer2,\n private elementRef: ElementRef,\n @Inject(DOCUMENT) private document: Document,\n ) {}\n\n ngOnInit(): void {\n this.position$.pipe(takeUntil(this.destroy$)).subscribe(([position, originRect]) => {\n this.renderer.setProperty(this.elementRef.nativeElement, 'style', this.getStyle(position, originRect));\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private getStyle(position: EuiPopoverPosition, originRect: DOMRect): string {\n const arrowRect: DOMRect = this.elementRef.nativeElement.getBoundingClientRect();\n\n if (position === 'left' || position === 'right') {\n const verticalDiff: number =\n Math.floor(arrowRect.top + arrowRect.height / 2) - Math.floor(originRect.top + originRect.height / 2);\n\n if (verticalDiff > 0) {\n return `top: ${originRect.top + originRect.height / 2}px`;\n } else if (verticalDiff < 0) {\n return `top: unset; bottom: ${\n this.document.body.clientHeight - originRect.bottom + originRect.height / 2 - arrowRect.height\n }px`;\n }\n }\n if (position === 'top' || position === 'bottom') {\n const horizontalDiff: number =\n Math.floor(arrowRect.left + arrowRect.width / 2) - Math.floor(originRect.left + originRect.width / 2);\n\n if (horizontalDiff > 0) {\n return `left: ${originRect.left + originRect.width / 2}px`;\n } else if (horizontalDiff < 0) {\n return `left: unset; right: ${\n this.document.body.clientWidth - originRect.right + originRect.width / 2 - arrowRect.width\n }px`;\n }\n }\n return '';\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n Input,\n ViewChild,\n TemplateRef,\n ViewContainerRef,\n AfterViewInit,\n OnDestroy,\n OnInit,\n Output,\n EventEmitter,\n ElementRef,\n OnChanges,\n SimpleChanges,\n booleanAttribute,\n} from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n Overlay,\n OverlayRef,\n ConnectionPositionPair,\n FlexibleConnectedPositionStrategyOrigin,\n ScrollDispatcher,\n CdkScrollable,\n FlexibleConnectedPositionStrategy,\n} from '@angular/cdk/overlay';\nimport { BehaviorSubject, Observable, Subject, Subscription } from 'rxjs';\nimport { distinctUntilChanged, map, switchMap, takeUntil } from 'rxjs/operators';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\n\nimport { EuiPopoverPosition, BOTTOM, LEFT, RIGHT, TOP, getPosition } from './models/eui-popover-position.model';\n\n@Component({\n selector: 'eui-popover',\n templateUrl: './eui-popover.component.html',\n styleUrls: ['./styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [\n 'euiSizeS',\n 'euiSizeM',\n 'euiSizeL',\n 'euiSizeXL',\n 'euiSize2XL',\n 'euiSizeAuto',\n 'euiSizeVariant',\n ],\n },\n ],\n})\nexport class EuiPopoverComponent implements AfterViewInit, OnDestroy, OnInit, OnChanges {\n @Input() title: string;\n @Input() position: EuiPopoverPosition = 'bottom';\n /** @deprecated This will be removed in next version of eui in favor of euiSizeVariant */\n @Input() size: 'default' | 'small' | 'large' | 'auto' | 's' | 'm' | 'l' | 'xl' | string = 'default';\n @Input() type: 'default' | 'flat' | 'colored-header' | 'colored-solid' = 'default';\n @Input() width: string = null;\n @Input({ transform: booleanAttribute }) hasBackDrop = false;\n @Input({ transform: booleanAttribute }) hasCloseButton = true;\n @Input({ transform: booleanAttribute }) isDismissable = true;\n\n @Output() outsideClick = new EventEmitter();\n @Output() popoverOpen = new EventEmitter();\n @Output() popoverClose = new EventEmitter();\n\n public position$: Observable<[EuiPopoverPosition, DOMRect]>;\n\n @ViewChild('templatePortalContent') templatePortalContent: TemplateRef<unknown>;\n\n private templatePortal: TemplatePortal;\n private overlayRef: OverlayRef;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private isOpen$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n private scrollDispatcherSubscription = new Subscription();\n private origin: ElementRef;\n private preferredPositons: ConnectionPositionPair[] = [BOTTOM, TOP, LEFT, RIGHT];\n private positionStrategy: FlexibleConnectedPositionStrategy;\n private positionStrategyUpdate$: Subject<void> = new Subject();\n\n constructor(private overlay: Overlay,\n private viewContainerRef: ViewContainerRef,\n private scrollDispatcher: ScrollDispatcher,\n private baseStatesDirective: BaseStatesDirective){\n }\n\n ngOnChanges(c: SimpleChanges): void {\n if (this.position === 'top') {\n this.preferredPositons = [TOP, BOTTOM, LEFT, RIGHT];\n } else if (this.position === 'right') {\n this.preferredPositons = [RIGHT, LEFT, TOP, BOTTOM];\n } else if (this.position === 'left') {\n this.preferredPositons = [LEFT, RIGHT, TOP, BOTTOM];\n } else {\n this.preferredPositons = [BOTTOM, TOP, LEFT, RIGHT];\n }\n }\n\n ngOnInit(): void {\n this.setPositionStream();\n }\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templatePortalContent, this.viewContainerRef);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.scrollDispatcherSubscription.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = null;\n }\n\n /** @deprecated This will be removed in next version of eui in favor of isOpen */\n get isPopoverOpen(): boolean {\n return this.isOpen$.value;\n }\n\n /**\n * Whether the eui-popover is open.\n *\n * @usageNotes\n * ```html\n * <eui-popover #popover>\n * \\@if (popover.isOpen) {\n * <my-component></my-component>\n * }\n * </eui-popover>\n * ```\n * @returns A boolean with value `true` when open, otherwise `false`.\n */\n get isOpen(): boolean {\n return this.isOpen$.value;\n }\n\n public onContentChange(): void {\n this.positionStrategy = this.getPositionStrategy();\n this.positionStrategyUpdate$.next();\n this.overlayRef.updatePositionStrategy(this.positionStrategy);\n }\n\n /**\n * Open a popover\n *\n * @param origin Origin of the popover position\n */\n public openPopover(origin: ElementRef): void {\n if (!this.isPopoverOpen) {\n this.scrollDispatcherSubscription = this.scrollDispatcher.ancestorScrolled(origin).subscribe((event: CdkScrollable) => {\n const scrollableParent = event ? event.getElementRef().nativeElement : document.querySelector('body');\n if (!this.isVisible(origin as unknown as HTMLElement, scrollableParent)) {\n this.closePopover();\n }\n });\n\n this.origin = origin;\n const positionStrategy = this.getPositionStrategy();\n\n const scrollStrategy = this.overlay.scrollStrategies.reposition({ scrollThrottle: 10 });\n\n this.overlayRef = this.overlay.create({\n positionStrategy,\n scrollStrategy,\n disposeOnNavigation: true,\n width: this.width,\n panelClass: this.baseStatesDirective.getCssClasses('eui-popover').split(' '),\n });\n this.overlayRef.attach(this.templatePortal);\n\n this.positionStrategy = positionStrategy;\n this.positionStrategyUpdate$.next();\n\n this.overlayRef\n .outsidePointerEvents()\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n if (this.isDismissable) {\n this.outsideClick.emit();\n this.closePopover();\n }\n });\n\n this.isOpen$.next(true);\n this.popoverOpen.emit();\n }\n }\n\n /**\n * Close a popover\n */\n public closePopover(): void {\n this.scrollDispatcherSubscription.unsubscribe();\n this.overlayRef.dispose();\n this.overlayRef = null;\n this.isOpen$.next(false);\n this.popoverClose.emit();\n }\n\n /**\n * Reacts on the Esc keydown event to close the popup. Can be used as alternative to the close icon button,\n * or as the main way to close the popup when hasCloseButton is false\n *\n * @param event The key event pressed\n */\n public onKeyDown(event: KeyboardEvent): void {\n if (event.key === 'Escape') {\n this.closePopover();\n }\n }\n\n private isVisible(origin: HTMLElement, scrollableParent: HTMLElement): boolean {\n const originY = origin.getBoundingClientRect().y;\n const scrollableParentY = Math.abs(scrollableParent.getBoundingClientRect().y);\n const scrollableParentHeight = scrollableParent.getBoundingClientRect().height - 50;\n\n return (\n (originY > 0 && originY < scrollableParentHeight) ||\n (originY - scrollableParentY > 0 && originY < scrollableParentY + scrollableParentHeight)\n );\n }\n\n private getPositionStrategy(): FlexibleConnectedPositionStrategy {\n return this.overlay\n .position()\n .flexibleConnectedTo(this.origin as FlexibleConnectedPositionStrategyOrigin)\n .withPositions(this.preferredPositons)\n .withFlexibleDimensions(false)\n .withLockedPosition(true);\n }\n\n private setPositionStream(): void {\n this.position$ = this.positionStrategyUpdate$.pipe(\n switchMap(() => this.positionStrategy.positionChanges),\n map(getPosition),\n distinctUntilChanged(),\n map((position) => {\n const rect = this.origin.nativeElement ?\n this.origin.nativeElement.getBoundingClientRect() :\n (this.origin as unknown as HTMLElement).getBoundingClientRect();\n return [position, rect];\n }),\n );\n }\n}\n","<ng-template #templatePortalContent>\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n</ng-template>\n\n<ng-template #template>\n <div class=\"eui-popover__container eui-popover__container--{{ type }} eui-18\" cdkTrapFocus cdkTrapFocusAutoCapture (keydown)=\"onKeyDown($event)\">\n <div class=\"eui-popover__arrow\" [euiPopoverArrowPosition]=\"position$\">\n <div class=\"eui-popover__arrow-inner\"></div>\n </div>\n @if (title) {\n <div class=\"eui-popover__header\">\n <div class=\"eui-popover__header-title\">{{ title }}</div>\n @if (hasCloseButton) {\n <button\n class=\"eui-popover__header-close\"\n (click)=\"closePopover()\"\n euiButton\n euiSizeS\n euiIconButton\n euiRounded\n euiBasicButton\n aria-label=\"Dialog close icon\">\n <eui-icon-svg icon=\"close:outline\"></eui-icon-svg>\n </button>\n }\n </div>\n }\n <div (cdkObserveContent)=\"onContentChange()\" class=\"eui-popover__content\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { ObserversModule } from '@angular/cdk/observers';\n\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiIconModule } from '@eui/components/eui-icon';\n\nimport { EuiPopoverComponent } from './eui-popover.component';\nimport { EuiPopoverArrowPositionDirective } from './directives/eui-popover-arrow-position.directive';\nimport { EuiIconButtonModule } from '@eui/components/eui-icon-button';\n\n@NgModule({\n imports: [CommonModule, OverlayModule, EuiButtonModule, EuiIconModule, EuiIconButtonModule, A11yModule, ObserversModule],\n declarations: [EuiPopoverComponent, EuiPopoverArrowPositionDirective],\n exports: [EuiPopoverComponent],\n})\nexport class EuiPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["takeUntil","i8.EuiPopoverArrowPositionDirective"],"mappings":"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"}
1
+ {"version":3,"file":"eui-components-eui-popover.mjs","sources":["../../eui-popover/models/eui-popover-position.model.ts","../../eui-popover/directives/eui-popover-arrow-position.directive.ts","../../eui-popover/eui-popover.component.ts","../../eui-popover/eui-popover.component.html","../../eui-popover/eui-popover.module.ts","../../eui-popover/eui-components-eui-popover.ts"],"sourcesContent":["import { ConnectedOverlayPositionChange, ConnectionPositionPair } from '@angular/cdk/overlay';\n\nexport type EuiPopoverPosition = 'top' | 'right' | 'bottom' | 'left';\n\nexport const TOP = new ConnectionPositionPair({ originX: 'center', originY: 'top' }, { overlayX: 'center', overlayY: 'bottom' }, 0, 0, ['eui-popover-position', 'eui-popover-position--top']);\nexport const BOTTOM = new ConnectionPositionPair({ originX: 'center', originY: 'bottom' }, { overlayX: 'center', overlayY: 'top' }, 0, 0, ['eui-popover-position', 'eui-popover-position--bottom']);\nexport const LEFT = new ConnectionPositionPair({ originX: 'start', originY: 'center' }, { overlayX: 'end', overlayY: 'center' }, 0, 0, ['eui-popover-position', 'eui-popover-position--left']);\nexport const RIGHT = new ConnectionPositionPair({ originX: 'end', originY: 'center' }, { overlayX: 'start', overlayY: 'center' }, 0, 0, ['eui-popover-position', 'eui-popover-position--right']);\n\nexport const getPosition = ({ connectionPair }: ConnectedOverlayPositionChange): EuiPopoverPosition => {\n switch (connectionPair) {\n case TOP:\n return 'top';\n case BOTTOM:\n return 'bottom';\n case LEFT:\n return 'left';\n case RIGHT:\n return 'right';\n }\n};\n","import { DOCUMENT } from '@angular/common';\nimport { Directive, ElementRef, Inject, Input, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { Observable, Subject, takeUntil } from 'rxjs';\n\nimport { EuiPopoverPosition } from '../models/eui-popover-position.model';\n\n@Directive({\n selector: '[euiPopoverArrowPosition]',\n})\nexport class EuiPopoverArrowPositionDirective implements OnInit, OnDestroy {\n @Input('euiPopoverArrowPosition')\n public position$: Observable<[EuiPopoverPosition, DOMRect]>;\n\n private destroy$: Subject<void> = new Subject();\n\n constructor(\n private renderer: Renderer2,\n private elementRef: ElementRef,\n @Inject(DOCUMENT) private document: Document,\n ) {}\n\n ngOnInit(): void {\n this.position$.pipe(takeUntil(this.destroy$)).subscribe(([position, originRect]) => {\n this.renderer.setProperty(this.elementRef.nativeElement, 'style', this.getStyle(position, originRect));\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private getStyle(position: EuiPopoverPosition, originRect: DOMRect): string {\n const arrowRect: DOMRect = this.elementRef.nativeElement.getBoundingClientRect();\n\n if (position === 'left' || position === 'right') {\n const verticalDiff: number =\n Math.floor(arrowRect.top + arrowRect.height / 2) - Math.floor(originRect.top + originRect.height / 2);\n\n if (verticalDiff > 0) {\n return `top: ${originRect.top + originRect.height / 2}px`;\n } else if (verticalDiff < 0) {\n return `top: unset; bottom: ${\n this.document.body.clientHeight - originRect.bottom + originRect.height / 2 - arrowRect.height\n }px`;\n }\n }\n if (position === 'top' || position === 'bottom') {\n const horizontalDiff: number =\n Math.floor(arrowRect.left + arrowRect.width / 2) - Math.floor(originRect.left + originRect.width / 2);\n\n if (horizontalDiff > 0) {\n return `left: ${originRect.left + originRect.width / 2}px`;\n } else if (horizontalDiff < 0) {\n return `left: unset; right: ${\n this.document.body.clientWidth - originRect.right + originRect.width / 2 - arrowRect.width\n }px`;\n }\n }\n return '';\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n Input,\n ViewChild,\n TemplateRef,\n ViewContainerRef,\n AfterViewInit,\n OnDestroy,\n OnInit,\n Output,\n EventEmitter,\n ElementRef,\n OnChanges,\n SimpleChanges,\n booleanAttribute,\n} from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n Overlay,\n OverlayRef,\n ConnectionPositionPair,\n FlexibleConnectedPositionStrategyOrigin,\n ScrollDispatcher,\n CdkScrollable,\n FlexibleConnectedPositionStrategy,\n} from '@angular/cdk/overlay';\nimport { BehaviorSubject, Observable, Subject, Subscription } from 'rxjs';\nimport { distinctUntilChanged, map, switchMap, takeUntil } from 'rxjs/operators';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\n\nimport { EuiPopoverPosition, BOTTOM, LEFT, RIGHT, TOP, getPosition } from './models/eui-popover-position.model';\n\n@Component({\n selector: 'eui-popover',\n templateUrl: './eui-popover.component.html',\n styleUrls: ['./styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [\n 'euiSizeS',\n 'euiSizeM',\n 'euiSizeL',\n 'euiSizeXL',\n 'euiSize2XL',\n 'euiSizeAuto',\n 'euiSizeVariant',\n ],\n },\n ],\n})\nexport class EuiPopoverComponent implements AfterViewInit, OnDestroy, OnInit, OnChanges {\n @Input() title: string;\n @Input() position: EuiPopoverPosition = 'bottom';\n /** @deprecated This will be removed in next version of eui in favor of euiSizeVariant */\n @Input() size: 'default' | 'small' | 'large' | 'auto' | 's' | 'm' | 'l' | 'xl' | string = 'default';\n @Input() type: 'default' | 'flat' | 'colored-header' | 'colored-solid' = 'default';\n @Input() width: string = null;\n @Input({ transform: booleanAttribute }) hasBackDrop = false;\n @Input({ transform: booleanAttribute }) hasCloseButton = true;\n @Input({ transform: booleanAttribute }) isDismissable = true;\n\n @Output() outsideClick = new EventEmitter();\n @Output() popoverOpen = new EventEmitter();\n @Output() popoverClose = new EventEmitter();\n\n public position$: Observable<[EuiPopoverPosition, DOMRect]>;\n\n @ViewChild('templatePortalContent') templatePortalContent: TemplateRef<unknown>;\n\n private templatePortal: TemplatePortal;\n private overlayRef: OverlayRef;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private isOpen$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n private scrollDispatcherSubscription = new Subscription();\n private origin: ElementRef;\n private preferredPositons: ConnectionPositionPair[] = [BOTTOM, TOP, LEFT, RIGHT];\n private positionStrategy: FlexibleConnectedPositionStrategy;\n private positionStrategyUpdate$: Subject<void> = new Subject();\n\n constructor(private overlay: Overlay,\n private viewContainerRef: ViewContainerRef,\n private scrollDispatcher: ScrollDispatcher,\n private baseStatesDirective: BaseStatesDirective){\n }\n\n ngOnChanges(c: SimpleChanges): void {\n if (this.position === 'top') {\n this.preferredPositons = [TOP, BOTTOM, LEFT, RIGHT];\n } else if (this.position === 'right') {\n this.preferredPositons = [RIGHT, LEFT, TOP, BOTTOM];\n } else if (this.position === 'left') {\n this.preferredPositons = [LEFT, RIGHT, TOP, BOTTOM];\n } else {\n this.preferredPositons = [BOTTOM, TOP, LEFT, RIGHT];\n }\n }\n\n ngOnInit(): void {\n this.setPositionStream();\n }\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templatePortalContent, this.viewContainerRef);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.scrollDispatcherSubscription.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = null;\n }\n\n /** @deprecated This will be removed in next version of eui in favor of isOpen */\n get isPopoverOpen(): boolean {\n return this.isOpen$.value;\n }\n\n /**\n * Whether the eui-popover is open.\n *\n * @usageNotes\n * ```html\n * <eui-popover #popover>\n * \\@if (popover.isOpen) {\n * <my-component></my-component>\n * }\n * </eui-popover>\n * ```\n * @returns A boolean with value `true` when open, otherwise `false`.\n */\n get isOpen(): boolean {\n return this.isOpen$.value;\n }\n\n public onContentChange(): void {\n this.positionStrategy = this.getPositionStrategy();\n this.positionStrategyUpdate$.next();\n this.overlayRef.updatePositionStrategy(this.positionStrategy);\n }\n\n /**\n * Open a popover\n *\n * @param origin Origin of the popover position\n */\n public openPopover(origin: ElementRef): void {\n if (!this.isPopoverOpen) {\n this.scrollDispatcherSubscription = this.scrollDispatcher.ancestorScrolled(origin).subscribe((event: CdkScrollable) => {\n const scrollableParent = event ? event.getElementRef().nativeElement : document.querySelector('body');\n if (!this.isVisible(origin as unknown as HTMLElement, scrollableParent)) {\n this.closePopover();\n }\n });\n\n this.origin = origin;\n const positionStrategy = this.getPositionStrategy();\n\n const scrollStrategy = this.overlay.scrollStrategies.reposition({ scrollThrottle: 10 });\n\n this.overlayRef = this.overlay.create({\n positionStrategy,\n scrollStrategy,\n disposeOnNavigation: true,\n width: this.width,\n panelClass: this.baseStatesDirective.getCssClasses('eui-18 eui-popover').split(' '),\n });\n this.overlayRef.attach(this.templatePortal);\n\n this.positionStrategy = positionStrategy;\n this.positionStrategyUpdate$.next();\n\n this.overlayRef\n .outsidePointerEvents()\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n if (this.isDismissable) {\n this.outsideClick.emit();\n this.closePopover();\n }\n });\n\n this.isOpen$.next(true);\n this.popoverOpen.emit();\n }\n }\n\n /**\n * Close a popover\n */\n public closePopover(): void {\n this.scrollDispatcherSubscription.unsubscribe();\n this.overlayRef.dispose();\n this.overlayRef = null;\n this.isOpen$.next(false);\n this.popoverClose.emit();\n }\n\n /**\n * Reacts on the Esc keydown event to close the popup. Can be used as alternative to the close icon button,\n * or as the main way to close the popup when hasCloseButton is false\n *\n * @param event The key event pressed\n */\n public onKeyDown(event: KeyboardEvent): void {\n if (event.key === 'Escape') {\n this.closePopover();\n }\n }\n\n private isVisible(origin: HTMLElement, scrollableParent: HTMLElement): boolean {\n const originY = origin.getBoundingClientRect().y;\n const scrollableParentY = Math.abs(scrollableParent.getBoundingClientRect().y);\n const scrollableParentHeight = scrollableParent.getBoundingClientRect().height - 50;\n\n return (\n (originY > 0 && originY < scrollableParentHeight) ||\n (originY - scrollableParentY > 0 && originY < scrollableParentY + scrollableParentHeight)\n );\n }\n\n private getPositionStrategy(): FlexibleConnectedPositionStrategy {\n return this.overlay\n .position()\n .flexibleConnectedTo(this.origin as FlexibleConnectedPositionStrategyOrigin)\n .withPositions(this.preferredPositons)\n .withFlexibleDimensions(false)\n .withLockedPosition(true);\n }\n\n private setPositionStream(): void {\n this.position$ = this.positionStrategyUpdate$.pipe(\n switchMap(() => this.positionStrategy.positionChanges),\n map(getPosition),\n distinctUntilChanged(),\n map((position) => {\n const rect = this.origin.nativeElement ?\n this.origin.nativeElement.getBoundingClientRect() :\n (this.origin as unknown as HTMLElement).getBoundingClientRect();\n return [position, rect];\n }),\n );\n }\n}\n","<ng-template #templatePortalContent>\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n</ng-template>\n\n<ng-template #template>\n <div class=\"eui-popover__container eui-popover__container--{{ type }} eui-18\" cdkTrapFocus cdkTrapFocusAutoCapture (keydown)=\"onKeyDown($event)\">\n <div class=\"eui-popover__arrow\" [euiPopoverArrowPosition]=\"position$\">\n <div class=\"eui-popover__arrow-inner\"></div>\n </div>\n @if (title) {\n <div class=\"eui-popover__header\">\n <div class=\"eui-popover__header-title\">{{ title }}</div>\n @if (hasCloseButton) {\n <button\n class=\"eui-popover__header-close\"\n (click)=\"closePopover()\"\n euiButton\n euiSizeS\n euiIconButton\n euiRounded\n euiBasicButton\n aria-label=\"Dialog close icon\">\n <eui-icon-svg icon=\"close:outline\"></eui-icon-svg>\n </button>\n }\n </div>\n }\n <div (cdkObserveContent)=\"onContentChange()\" class=\"eui-popover__content\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { ObserversModule } from '@angular/cdk/observers';\n\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiIconModule } from '@eui/components/eui-icon';\n\nimport { EuiPopoverComponent } from './eui-popover.component';\nimport { EuiPopoverArrowPositionDirective } from './directives/eui-popover-arrow-position.directive';\nimport { EuiIconButtonModule } from '@eui/components/eui-icon-button';\n\n@NgModule({\n imports: [CommonModule, OverlayModule, EuiButtonModule, EuiIconModule, EuiIconButtonModule, A11yModule, ObserversModule],\n declarations: [EuiPopoverComponent, EuiPopoverArrowPositionDirective],\n exports: [EuiPopoverComponent],\n})\nexport class EuiPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["takeUntil","i8.EuiPopoverArrowPositionDirective"],"mappings":"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"}