@pepperi-addons/ngx-lib 0.3.4 → 0.3.5-beta.1

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.
@@ -315,7 +315,7 @@ export class PepImagesFilmstripComponent {
315
315
  PepImagesFilmstripComponent.decorators = [
316
316
  { type: Component, args: [{
317
317
  selector: 'pep-images-filmstrip',
318
- template: "<ng-container *ngIf=\"inDialog; then galleryDialogTemplate; else regularTemplate\"></ng-container>\n<ng-template #regularTemplate>\n <ng-container [formGroup]=\"form\">\n <div class=\"images-filmstrip-container\">\n <pep-field-title *ngIf=\"renderTitle\" [label]=\"label\" [xAlignment]=\"xAlignment\" [showTitle]=\"showTitle\">\n </pep-field-title>\n <div #galleryCont class=\"img-wrapper\" [ngClass]=\"isVertical ? 'vertical-gallery' : 'horizontal-gallery'\"\n [style.height]=\"fieldHeight\">\n <pep-button iconName=\"arrow_left_alt\" styleType=\"weak-invert\" sizeType=\"sm\" (click)=\"formGallery.prev()\"\n class=\"gallery-arrow start-arrow\">\n </pep-button>\n <gallery #formGallery id=\"{{key}}-{{uid}}-gallery\" (itemClick)=\"enlargeImage($event);\"\n [imageSize]=\"'contain'\" (indexChange)=\"indexChange($event)\" (error)=\"onError($event)\">\n </gallery>\n <pep-button iconName=\"arrow_right_alt\" styleType=\"weak-invert\" sizeType=\"sm\"\n (click)=\"formGallery.next()\" class=\"gallery-arrow end-arrow\">\n </pep-button>\n </div>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #galleryDialogTemplate>\n <div class=\"gallery-dialog\">\n <pep-dialog [title]=\"label\" [showFooter]=\"false\">\n <div pep-dialog-content #galleryDialogCont class=\"gallery-dialog-content\"\n [ngClass]=\"isVertical ? 'vertical-gallery' : 'horizontal-gallery'\">\n <pep-button iconName=\"arrow_left_alt\" styleType=\"weak-invert\" (click)=\"dialogGallery.prev()\"\n class=\"gallery-arrow start-arrow\">\n </pep-button>\n <gallery #dialogGallery id=\"{{key}}-{{uid}}-dlgGallery\" [imageSize]=\"'contain'\"\n (indexChange)=\"indexChange($event)\" (error)=\"onError($event)\">\n </gallery>\n <pep-button iconName=\"arrow_right_alt\" styleType=\"weak-invert\" (click)=\"dialogGallery.next()\"\n class=\"gallery-arrow end-arrow\">\n </pep-button>\n </div>\n </pep-dialog>\n </div>\n</ng-template>\n\n<!-- Add custom template to image items -->\n<ng-template #itemTemplate let-index=\"index\" let-type=\"type\" let-data=\"data\" let-currIndex=\"currIndex\">\n <ng-container *ngIf=\"index === currIndex\">\n <ngx-imageviewer [src]=\"data.src\">\n </ngx-imageviewer>\n </ng-container>\n</ng-template>",
318
+ template: "<ng-container *ngIf=\"inDialog; then galleryDialogTemplate; else regularTemplate\"></ng-container>\n<ng-template #regularTemplate>\n <ng-container [formGroup]=\"form\">\n <div class=\"images-filmstrip-container\">\n <pep-field-title *ngIf=\"renderTitle\" [label]=\"label\" [xAlignment]=\"xAlignment\" [showTitle]=\"showTitle\">\n </pep-field-title>\n <div #galleryCont class=\"img-wrapper\" [ngClass]=\"isVertical ? 'vertical-gallery' : 'horizontal-gallery'\"\n [style.height]=\"fieldHeight\">\n <pep-button *ngIf=\"items?.length > 1\" iconName=\"arrow_left_alt\" styleType=\"weak-invert\" sizeType=\"sm\"\n (click)=\"formGallery.prev()\" class=\"gallery-arrow start-arrow\">\n </pep-button>\n <gallery #formGallery id=\"{{key}}-{{uid}}-gallery\" (itemClick)=\"enlargeImage($event);\"\n [imageSize]=\"'contain'\" (indexChange)=\"indexChange($event)\" (error)=\"onError($event)\">\n </gallery>\n <pep-button *ngIf=\"items?.length > 1\" iconName=\"arrow_right_alt\" styleType=\"weak-invert\" sizeType=\"sm\"\n (click)=\"formGallery.next()\" class=\"gallery-arrow end-arrow\">\n </pep-button>\n </div>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #galleryDialogTemplate>\n <div class=\"gallery-dialog\">\n <pep-dialog [title]=\"label\" [showFooter]=\"false\">\n <div pep-dialog-content #galleryDialogCont class=\"gallery-dialog-content\"\n [ngClass]=\"isVertical ? 'vertical-gallery' : 'horizontal-gallery'\">\n <pep-button *ngIf=\"items?.length > 1\" iconName=\"arrow_left_alt\" styleType=\"weak-invert\"\n (click)=\"dialogGallery.prev()\" class=\"gallery-arrow start-arrow\">\n </pep-button>\n <gallery #dialogGallery id=\"{{key}}-{{uid}}-dlgGallery\" [imageSize]=\"'contain'\"\n (indexChange)=\"indexChange($event)\" (error)=\"onError($event)\">\n </gallery>\n <pep-button *ngIf=\"items?.length > 1\" iconName=\"arrow_right_alt\" styleType=\"weak-invert\"\n (click)=\"dialogGallery.next()\" class=\"gallery-arrow end-arrow\">\n </pep-button>\n </div>\n </pep-dialog>\n </div>\n</ng-template>\n\n<!-- Add custom template to image items -->\n<ng-template #itemTemplate let-index=\"index\" let-type=\"type\" let-data=\"data\" let-currIndex=\"currIndex\">\n <ng-container *ngIf=\"index === currIndex\">\n <ngx-imageviewer [src]=\"data.src\">\n </ngx-imageviewer>\n </ng-container>\n</ng-template>",
319
319
  // animations: [slideInAnimation],
320
320
  providers: [
321
321
  {
@@ -360,4 +360,4 @@ PepImagesFilmstripComponent.propDecorators = {
360
360
  galleryDialogTemplate: [{ type: ViewChild, args: ['galleryDialogTemplate', { read: TemplateRef },] }],
361
361
  galleryDialogCont: [{ type: ViewChild, args: ['galleryDialogCont',] }]
362
362
  };
363
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2VzLWZpbG1zdHJpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2ltYWdlcy1maWxtc3RyaXAvaW1hZ2VzLWZpbG1zdHJpcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxTQUFTLEVBSVQsVUFBVSxFQUNWLEtBQUssRUFDTCxXQUFXLEVBQ1gsU0FBUyxFQUNULGlCQUFpQixFQUNqQixNQUFNLEVBQ04sUUFBUSxHQUdYLE1BQU0sZUFBZSxDQUFDO0FBU3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUNILE9BQU8sRUFFUCxlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUVsQixTQUFTLEdBRVosTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUNILHVCQUF1QixFQUV2QixnQkFBZ0IsRUFDaEIsY0FBYyxFQUVkLDRCQUE0QixFQUM1QixjQUFjLEVBQ2QsbUJBQW1CLEVBQ3RCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUE2QyxlQUFlLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFM0gsT0FBTyxVQUFVLENBQUM7QUFXbEIsOERBQThEO0FBQzlELHNFQUFzRTtBQUN0RSw2QkFBNkI7QUFDN0IsaUVBQWlFO0FBQ2pFLHVCQUF1QjtBQUN2QixVQUFVO0FBQ1YsNkJBQTZCO0FBQzdCLDhFQUE4RTtBQUM5RSxTQUFTO0FBQ1QsTUFBTTtBQUVOLE9BQU8sRUFDSCxrQkFBa0IsRUFFbEIsa0JBQWtCLEdBQ3JCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMs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Qjt3QkFDM0Isd0NBQXdDO3dCQUN4QyxVQUFVLEVBQUUsa0JBQWtCO3dCQUM5QixJQUFJLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztxQkFDM0I7aUJBQ0o7O2FBQ0o7OztZQWpIRyx1QkFBdUI7WUFTbEIsZ0JBQWdCO1lBUHJCLGdCQUFnQjtZQUNoQixjQUFjO1lBT2tDLGVBQWU7WUFIL0QsbUJBQW1CO1lBakJuQixPQUFPO1lBbEJQLFNBQVM7WUFIVCxVQUFVO1lBSVYsaUJBQWlCOzRDQW1OWixRQUFRLFlBQUksTUFBTSxTQUFDLFFBQVE7WUFyTVYsWUFBWSx1QkFzTTdCLFFBQVE7NENBRVIsUUFBUSxZQUNSLE1BQU0sU0FBQyxlQUFlOzs7a0JBdkUxQixLQUFLO29CQUNMLEtBQUs7b0JBQ0wsS0FBSzt5QkFDTCxLQUFLO3NCQUdMLEtBQUs7bUJBV0wsS0FBSztrQkFDTCxLQUFLO3dCQUNMLEtBQUs7MEJBQ0wsS0FBSzt5QkFHTCxLQUFLO3dCQVNMLEtBQUs7NkJBQ0wsS0FBSzswQkFFTCxTQUFTLFNBQUMsYUFBYTtvQ0FDdkIsU0FBUyxTQUFDLHVCQUF1QixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQ0FFeEQsU0FBUyxTQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIFZpZXdDaGlsZCxcbiAgICBPbkluaXQsXG4gICAgT25EZXN0cm95LFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbnB1dCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBSZW5kZXJlcjIsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgSW5qZWN0LFxuICAgIE9wdGlvbmFsLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgT25DaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgdHJpZ2dlcixcbiAgICBzdGF0ZSxcbiAgICBzdHlsZSxcbiAgICB0cmFuc2l0aW9uLFxuICAgIGFuaW1hdGUsXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBHYWxsZXJ5LFxuICAgIEdhbGxlcnlDb25maWcsXG4gICAgTG9hZGluZ1N0cmF0ZWd5LFxuICAgIFNsaWRpbmdEaXJlY3Rpb24sXG4gICAgVGh1bWJuYWlsc1Bvc2l0aW9uLFxuICAgIEdhbGxlcnlJdGVtLFxuICAgIEltYWdlSXRlbSxcbiAgICBHYWxsZXJ5UmVmLFxufSBmcm9tICduZy1nYWxsZXJ5JztcbmltcG9ydCB7XG4gICAgUGVwQ3VzdG9taXphdGlvblNlcnZpY2UsXG4gICAgUGVwTGF5b3V0VHlwZSxcbiAgICBQZXBMYXlvdXRTZXJ2aWNlLFxuICAgIFBlcEZpbGVTZXJ2aWNlLFxuICAgIFBlcEhvcml6b250YWxBbGlnbm1lbnQsXG4gICAgREVGQVVMVF9IT1JJWk9OVEFMX0FMSUdOTUVOVCxcbiAgICBQZXBJbWFnZXNGaWVsZCxcbiAgICBQZXBVdGlsaXRpZXNTZXJ2aWNlXG59IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcbmltcG9ydCB7IFBlcERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9kaWFsb2cnO1xuaW1wb3J0IHsgcGVwSWNvbkFycm93UmlnaHRBbHQsIHBlcEljb25BcnJvd0xlZnRBbHQsIFBlcEljb25SZWdpc3RyeSwgcGVwSWNvbk5vSW1hZ2UyIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvaWNvbic7XG5cbmltcG9ydCAnaGFtbWVyanMnO1xuXG5pbnRlcmZhY2UgSVBlcEltYWdlc0ZpbG1zdHJpcERpYWxvZ0RhdGEge1xuICAgIGN1cnJJbmRleDogbnVtYmVyO1xuICAgIGtleTogc3RyaW5nO1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICB1aWQ6IHN0cmluZztcbiAgICBzaG93VGh1bWJuYWlsczogYm9vbGVhbjtcbn1cblxuLy8gZXhwb3J0IGNvbnN0IHNsaWRlSW5BbmltYXRpb24gPSB0cmlnZ2VyKCdzbGlkZUFuaW1hdGlvbicsIFtcbi8vICAgICBzdGF0ZSgnaW4nLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknLCBvcGFjaXR5OiAxIH0pKSxcbi8vICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXG4vLyAgICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgtMTAwJSknLCBvcGFjaXR5OiAwIH0pLFxuLy8gICAgICAgICBhbmltYXRlKDQwMClcbi8vICAgICBdKSxcbi8vICAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbXG4vLyAgICAgICAgIGFuaW1hdGUoNDAwLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoLTEwMCUpJywgb3BhY2l0eTogMCB9KSlcbi8vICAgICBdKVxuLy8gXSk7XG5cbmltcG9ydCB7XG4gICAgSU1BR0VWSUVXRVJfQ09ORklHLFxuICAgIEltYWdlVmlld2VyQ29uZmlnLFxuICAgIGNyZWF0ZUJ1dHRvbkNvbmZpZyxcbn0gZnJvbSAnQGhhbGx5c29uaC9uZ3gtaW1hZ2V2aWV3ZXInO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVmlld2VyQ29uZmlnKFxuICAgIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZVxuKTogSW1hZ2VWaWV3ZXJDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICAgIC8vIHdpZHRoOiA4NTAsXG4gICAgICAgIC8vIGhlaWdodDogMTUwLFxuICAgICAgICBiZ1N0eWxlOiAnI0ZGRicsIC8vIGNvbXBvbmVudCBiYWNrZ3JvdW5kIHN0eWxlXG4gICAgICAgIC8vIHNjYWxlU3RlcDogMC4xLCAvLyB6b29tIHNjYWxlIHN0ZXAgKHVzaW5nIHRoZSB6b29tIGluL291dCBidXR0b25zKVxuICAgICAgICAvLyByb3RhdGVTdGVwcGVyOiBmYWxzZSwgLy8gdG91Y2ggcm90YXRlIHNob3VsZCByb3RhdGUgb25seSA5MCB0byA5MCBkZWdyZWVzXG4gICAgICAgIGxvYWRpbmdNZXNzYWdlOiB0cmFuc2xhdGUuaW5zdGFudCgnTUVTU0FHRVMuSU5GT19MT0FESU5HX0ZJTEUnKSwgLy8gJ0xvYWRpbmcuLi4nLFxuICAgICAgICAvLyBidXR0b25TdHlsZToge1xuICAgICAgICAvLyAgICAgaWNvbkZvbnRGYW1pbHk6ICdNYXRlcmlhbCBJY29ucycsIC8vIGZvbnQgdXNlZCB0byByZW5kZXIgdGhlIGJ1dHRvbiBpY29uc1xuICAgICAgICAvLyAgICAgYWxwaGE6IDAuNSwgLy8gYnV0dG9ucycgdHJhbnNwYXJlbmNlIHZhbHVlXG4gICAgICAgIC8vICAgICBob3ZlckFscGhhOiAwLjcsIC8vIGJ1dHRvbnMnIHRyYW5zcGFyZW5jZSB2YWx1ZSB3aGVuIG1vdXNlIGlzIG92ZXJcbiAgICAgICAgLy8gICAgIGJnU3R5bGU6ICcjMDAwMDAwJywgLy8gIGJ1dHRvbnMnIGJhY2tncm91bmQgc3R5bGVcbiAgICAgICAgLy8gICAgIGljb25TdHlsZTogJyNmZmZmZmYnLCAvLyBidXR0b25zJyBpY29uIGNvbG9yc1xuICAgICAgICAvLyAgICAgYm9yZGVyU3R5bGU6ICcjMDAwMDAwJywgLy8gYnV0dG9ucycgYm9yZGVyIHN0eWxlXG4gICAgICAgIC8vICAgICBib3JkZXJXaWR0aDogMCwgLy8gYnV0dG9ucycgYm9yZGVyIHdpZHRoICgwID09IGRpc2FibGVkKVxuICAgICAgICAvLyB9LFxuICAgICAgICAvLyB0b29sdGlwczoge1xuICAgICAgICAvLyAgICAgZW5hYmxlZDogdHJ1ZSwgLy8gZW5hYmxlIG9yIGRpc2FibGUgdG9vbHRpcHMgZm9yIGJ1dHRvbnNcbiAgICAgICAgLy8gICAgIGJnU3R5bGU6ICcjMDAwMDAwJywgLy8gdG9vbHRpcCBiYWNrZ3JvdW5kIHN0eWxlXG4gICAgICAgIC8vICAgICBiZ0FscGhhOiAwLjUsIC8vIHRvb2x0aXAgYmFja2dyb3VuZCB0cmFuc3BhcmVuY2VcbiAgICAgICAgLy8gICAgIHRleHRTdHlsZTogJyNmZmZmZmYnLCAvLyB0b29sdGlwJ3MgdGV4dCBzdHlsZVxuICAgICAgICAvLyAgICAgdGV4dEFscGhhOiAwLjksIC8vIHRvb2x0aXAncyB0ZXh0IHRyYW5zcGFyZW5jZVxuICAgICAgICAvLyAgICAgcGFkZGluZzogMTUsIC8vIHRvb2x0aXAgcGFkZGluZ1xuICAgICAgICAvLyAgICAgcmFkaXVzOiAyMCwgLy8gdG9vbHRpcCBib3JkZXIgcmFkaXVzXG4gICAgICAgIC8vIH0sXG4gICAgICAgIC8vIHNob3J0ZXIgYnV0dG9uIGNvbmZpZ3VyYXRpb24gc3R5bGVcbiAgICAgICAgbmV4dFBhZ2VCdXR0b246IGNyZWF0ZUJ1dHRvbkNvbmZpZyhcbiAgICAgICAgICAgICduYXZpZ2F0ZV9uZXh0JyxcbiAgICAgICAgICAgICdOZXh0IHBhZ2UnLFxuICAgICAgICAgICAgMCxcbiAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICksXG4gICAgICAgIGJlZm9yZVBhZ2VCdXR0b246IGNyZWF0ZUJ1dHRvbkNvbmZpZyhcbiAgICAgICAgICAgICduYXZpZ2F0ZV9iZWZvcmUnLFxuICAgICAgICAgICAgJ1ByZXZpb3VzIHBhZ2UnLFxuICAgICAgICAgICAgMSxcbiAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICksXG4gICAgICAgIHpvb21PdXRCdXR0b246IGNyZWF0ZUJ1dHRvbkNvbmZpZygnem9vbV9vdXQnLCAnWm9vbSBvdXQnLCAwLCBmYWxzZSksXG4gICAgICAgIHpvb21JbkJ1dHRvbjogY3JlYXRlQnV0dG9uQ29uZmlnKCd6b29tX2luJywgJ1pvb20gaW4nLCAxLCBmYWxzZSksXG4gICAgICAgIHJvdGF0ZUxlZnRCdXR0b246IGNyZWF0ZUJ1dHRvbkNvbmZpZyhcbiAgICAgICAgICAgICdyb3RhdGVfbGVmdCcsXG4gICAgICAgICAgICAnUm90YXRlIGxlZnQnLFxuICAgICAgICAgICAgMixcbiAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICksXG4gICAgICAgIHJvdGF0ZVJpZ2h0QnV0dG9uOiBjcmVhdGVCdXR0b25Db25maWcoXG4gICAgICAgICAgICAncm90YXRlX3JpZ2h0JyxcbiAgICAgICAgICAgICdSb3RhdGUgcmlnaHQnLFxuICAgICAgICAgICAgMyxcbiAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICksXG4gICAgICAgIHJlc2V0QnV0dG9uOiBjcmVhdGVCdXR0b25Db25maWcoJ2F1dG9yZW5ldycsICdSZXNldCcsIDQsIGZhbHNlKSxcbiAgICB9O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC1pbWFnZXMtZmlsbXN0cmlwJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2VzLWZpbG1zdHJpcC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW1hZ2VzLWZpbG1zdHJpcC5jb21wb25lbnQuc2NzcycsICcuL2ltYWdlcy1maWxtc3RyaXAuY29tcG9uZW50LnRoZW1lLnNjc3MnXSxcbiAgICAvLyBhbmltYXRpb25zOiBbc2xpZGVJbkFuaW1hdGlvbl0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IElNQUdFVklFV0VSX0NPTkZJRyxcbiAgICAgICAgICAgIC8vIHVzZVZhbHVlOiBJTUFHRVZJRVdFUl9DT05GSUdfREVGQVVMVCxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGNyZWF0ZVZpZXdlckNvbmZpZyxcbiAgICAgICAgICAgIGRlcHM6IFtUcmFuc2xhdGVTZXJ2aWNlXSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQZXBJbWFnZXNGaWxtc3RyaXBDb21wb25lbnRcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIC8vIEBWaWV3Q2hpbGQoJ25neFZpZXdlckltYWdlJykgbmd4Vmlld2VySW1hZ2U6IGFueTsgLy8gVE9ETzogQ2hlY2sgaWYgd2UgbmVlZCB0byB1c2UgdGhpcz8/XG4gICAgQElucHV0KCkga2V5ID0gJyc7XG4gICAgQElucHV0KCkgdmFsdWUgPSAnJztcbiAgICBASW5wdXQoKSBsYWJlbCA9ICcnO1xuICAgIEBJbnB1dCgpIHhBbGlnbm1lbnQ6IFBlcEhvcml6b250YWxBbGlnbm1lbnQgPSBERUZBVUxUX0hPUklaT05UQUxfQUxJR05NRU5UO1xuXG4gICAgcHJpdmF0ZSBfcm93U3BhbiA9IDE7XG4gICAgQElucHV0KClcbiAgICBzZXQgcm93U3Bhbih2YWx1ZSkge1xuICAgICAgICB0aGlzLl9yb3dTcGFuID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2V0RmllbGRIZWlnaHQoKTtcbiAgICB9XG4gICAgZ2V0IHJvd1NwYW4oKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jvd1NwYW47XG4gICAgfVxuXG4gICAgY29udHJvbFR5cGUgPSAnaW1hZ2VzJztcblxuICAgIEBJbnB1dCgpIGZvcm06IEZvcm1Hcm91cCA9IG51bGw7XG4gICAgQElucHV0KCkgdWlkID0gJzAnO1xuICAgIEBJbnB1dCgpIHNob3dUaXRsZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHJlbmRlclRpdGxlID0gdHJ1ZTtcblxuICAgIHByaXZhdGUgX2xheW91dFR5cGU6IFBlcExheW91dFR5cGUgPSAnZm9ybSc7XG4gICAgQElucHV0KClcbiAgICBzZXQgbGF5b3V0VHlwZSh2YWx1ZTogUGVwTGF5b3V0VHlwZSkge1xuICAgICAgICB0aGlzLl9sYXlvdXRUeXBlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2V0RmllbGRIZWlnaHQoKTtcbiAgICB9XG4gICAgZ2V0IGxheW91dFR5cGUoKTogUGVwTGF5b3V0VHlwZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sYXlvdXRUeXBlO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIGN1cnJJbmRleCA9IDA7XG4gICAgQElucHV0KCkgc2hvd1RodW1ibmFpbHMgPSBmYWxzZTtcblxuICAgIEBWaWV3Q2hpbGQoJ2dhbGxlcnlDb250JykgZ2FsbGVyeUNvbnQ6IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgnZ2FsbGVyeURpYWxvZ1RlbXBsYXRlJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICAgIGdhbGxlcnlEaWFsb2dUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBAVmlld0NoaWxkKCdnYWxsZXJ5RGlhbG9nQ29udCcpIGdhbGxlcnlEaWFsb2dDb250OiBFbGVtZW50UmVmO1xuXG4gICAgY29uZmlnOiBHYWxsZXJ5Q29uZmlnO1xuICAgIGl0ZW1zOiBHYWxsZXJ5SXRlbVtdID0gbnVsbDtcbiAgICBpbkRpYWxvZyA9IGZhbHNlO1xuXG4gICAgbWFuZGF0b3J5ID0gZmFsc2U7XG4gICAgcmVhZG9ubHkgPSBmYWxzZTtcbiAgICBkaXNhYmxlZCA9IGZhbHNlO1xuICAgIGZpZWxkSGVpZ2h0ID0gJyc7XG4gICAgc3RhbmRBbG9uZSA9IGZhbHNlO1xuXG4gICAgZ2FsbGVyeVdpZHRoID0gMDtcbiAgICBnYWxsZXJ5SGVpZ2h0O1xuICAgIGlzVmVydGljYWwgPSBmYWxzZTtcbiAgICBnYWxsZXJ5UmVmOiBHYWxsZXJ5UmVmO1xuICAgIGRpYWxvZ0dhbGxlcnlSZWY6IEdhbGxlcnlSZWY7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBjdXN0b21pemF0aW9uU2VydmljZTogUGVwQ3VzdG9taXphdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZGlhbG9nU2VydmljZTogUGVwRGlhbG9nU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBsYXlvdXRTZXJ2aWNlOiBQZXBMYXlvdXRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGZpbGVTZXJ2aWNlOiBQZXBGaWxlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBpY29uUmVnaXN0cnk6IFBlcEljb25SZWdpc3RyeSxcbiAgICAgICAgcHJpdmF0ZSB1dGlsaXRpZXNTZXJ2aWNlOiBQZXBVdGlsaXRpZXNTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGdhbGxlcnk6IEdhbGxlcnksXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogYW55LFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBwcml2YXRlIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFBlcEltYWdlc0ZpbG1zdHJpcENvbXBvbmVudD4sXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKVxuICAgICAgICBwcml2YXRlIGRhdGE6IElQZXBJbWFnZXNGaWxtc3RyaXBEaWFsb2dEYXRhXG4gICAgKSB7XG4gICAgICAgIC8vIElmIGRhdGEgZXhpc3QgY29weSBhbGwgZGF0YSBwcm9wZXJ0aWVzIGludG8gdGhpcy5cbiAgICAgICAgaWYgKGRpYWxvZ1JlZiAmJiBkYXRhKSB7XG4gICAgICAgICAgICB0aGlzLmluRGlhbG9nID0gdHJ1ZTtcblxuICAgICAgICAgICAgT2JqZWN0LmtleXMoZGF0YSkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGtleSBpbiB0aGlzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXNba2V5XSA9IGRhdGFba2V5XTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY29uZmlnID0ge1xuICAgICAgICAgICAgbmF2OiBmYWxzZSwgLy8gU2hvdyBuYXZpZ2F0aW9uIGJ1dHRvbnNcbiAgICAgICAgICAgIC8vIG5hdkljb246IHBlcEljb25BcnJvd1JpZ2h0QWx0LmRhdGEsXG4gICAgICAgICAgICAvLyBsb29wOiB0cnVlLFxuICAgICAgICAgICAgLy8gem9vbU91dDogMCxcbiAgICAgICAgICAgIC8vIGRvdHM6IGZhbHNlLFxuICAgICAgICAgICAgLy8gZG90c1Bvc2l0aW9uOiAnYm90dG9tJyxcbiAgICAgICAgICAgIC8vIGNvdW50ZXJQb3NpdGlvbjogJ3RvcCcsXG4gICAgICAgICAgICAvLyB0aHVtYjogdHJ1ZSxcbiAgICAgICAgICAgIGNvdW50ZXI6IGZhbHNlLCAvLyBTaG93IGNvdW50ZXJcbiAgICAgICAgICAgIGdlc3R1cmVzOiB0cnVlLCAvLyBVc2UgdG91Y2ggZXZlbnRzIChyZXF1aXJlcyBoYW1tZXIuanMpXG4gICAgICAgICAgICAvLyBhdXRvUGxheTogZmFsc2UsXG4gICAgICAgICAgICAvLyB0aHVtYldpZHRoOiAxMjAsXG4gICAgICAgICAgICAvLyB0aHVtYkhlaWdodDogOTAsXG4gICAgICAgICAgICBpbWFnZVNpemU6ICdjb250YWluJyxcbiAgICAgICAgICAgIC8vIHBhblNlbnNpdGl2aXR5OiAyNSxcbiAgICAgICAgICAgIC8vIGRpc2FibGVUaHVtYjogZmFsc2UsXG4gICAgICAgICAgICAvLyBwbGF5ZXJJbnRlcnZhbDogMzAwMCxcbiAgICAgICAgICAgIC8vIHRodW1iTW9kZTogVGh1bWJuYWlsc01vZGUuRnJlZSxcbiAgICAgICAgICAgIC8vIHRodW1iUG9zaXRpb246IFRodW1ibmFpbHNQb3NpdGlvbi5Cb3R0b20sXG4gICAgICAgICAgICBsb2FkaW5nU3RyYXRlZ3k6IExvYWRpbmdTdHJhdGVneS5QcmVsb2FkLFxuICAgICAgICAgICAgLy8gc2xpZGluZ0RpcmVjdGlvbjogU2xpZGluZ0RpcmVjdGlvbi5Ib3Jpem9udGFsLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RmllbGRIZWlnaHQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmllbGRIZWlnaHQgPSB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlLmNhbGN1bGF0ZUZpZWxkSGVpZ2h0KFxuICAgICAgICAgICAgdGhpcy5sYXlvdXRUeXBlLFxuICAgICAgICAgICAgdGhpcy5yb3dTcGFuLFxuICAgICAgICAgICAgdGhpcy5zdGFuZEFsb25lXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXREZWZhdWx0Rm9ybSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcGVwRmllbGQgPSBuZXcgUGVwSW1hZ2VzRmllbGQoe1xuICAgICAgICAgICAga2V5OiB0aGlzLmtleSxcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnZhbHVlLFxuICAgICAgICAgICAgbWFuZGF0b3J5OiB0aGlzLm1hbmRhdG9yeSxcbiAgICAgICAgICAgIHJlYWRvbmx5OiB0aGlzLnJlYWRvbmx5LFxuICAgICAgICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlLmdldERlZmF1bHRGcm9tR3JvdXAocGVwRmllbGQpO1xuICAgIH1cblxuICAgIC8vIHByaXZhdGUgcmVuZGVyTmF2SWNvbihnYWxsZXJ5Q29udGFpbmVyLCBpc0xlZnQ6IGJvb2xlYW4pIHtcbiAgICAvLyAgICAgbGV0IGljb25OYW1lID0gaXNMZWZ0ID8gcGVwSWNvbkFycm93TGVmdEFsdC5uYW1lIDogcGVwSWNvbkFycm93UmlnaHRBbHQubmFtZTtcbiAgICAvLyAgICAgY29uc3Qgc3ZnRGF0YSA9IHRoaXMuaWNvblJlZ2lzdHJ5LmdldEljb24oaWNvbk5hbWUpO1xuICAgIC8vICAgICBjb25zdCBzdmdJY29uID0gdGhpcy51dGlsaXRpZXNTZXJ2aWNlLmdldFN2Z0VsZW1lbnRGcm9tU3RyaW5nKFxuICAgIC8vICAgICAgICAgdGhpcy5kb2N1bWVudCxcbiAgICAvLyAgICAgICAgIHN2Z0RhdGFcbiAgICAvLyAgICAgKTtcblxuICAgIC8vICAgICBjb25zdCBlbGVtZW50TmFtZVRvRmluZCA9IGlzTGVmdCA/ICdnLW5hdi1wcmV2JyA6ICdnLW5hdi1uZXh0J1xuXG4gICAgLy8gICAgIGNvbnN0IGVsZW1lbnRBcnIgPSBnYWxsZXJ5Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChgLiR7ZWxlbWVudE5hbWVUb0ZpbmR9YCk7XG4gICAgLy8gICAgIGlmIChlbGVtZW50QXJyICYmIGVsZW1lbnRBcnIubGVuZ3RoID4gMCkge1xuICAgIC8vICAgICAgICAgZWxlbWVudEFyclswXS5hcHBlbmRDaGlsZChzdmdJY29uKTtcbiAgICAvLyAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3Moc3ZnSWNvbiwgJ3N2Zy1pY29uJyk7XG4gICAgLy8gICAgIH1cbiAgICAvLyB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmluRGlhbG9nKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5mb3JtID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGFuZEFsb25lID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLnNldEZpZWxkSGVpZ2h0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXREZWZhdWx0Rm9ybSgpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgIFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLlNUQU5EX0FMT05FX0ZJRUxEX0NMQVNTX05BTUVcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLnJlbmRlclRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgIFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLlNUQU5EX0FMT05FX0ZJRUxEX05PX1NQQUNJTkdfQ0xBU1NfTkFNRVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLml0ZW1zID09PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdCBpbWdBcnIgPSB0aGlzLnZhbHVlID8gdGhpcy52YWx1ZS5zcGxpdCgnOycpIDogW107XG4gICAgICAgICAgICAvLyBhZGQgTm8gaW1hZ2UgaW1hZ2Ugd2hlbiB0aGVyZSBpcyBubyBpbWFnZXNcbiAgICAgICAgICAgIGlmIChpbWdBcnIubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgbm9JbWFnZVNyYyA9IHRoaXMuZmlsZVNlcnZpY2UuZ2V0U3ZnQXNJbWFnZVNyYyhcbiAgICAgICAgICAgICAgICAgICAgcGVwSWNvbk5vSW1hZ2UyLmRhdGFcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGltZ0Fyci5wdXNoKG5vSW1hZ2VTcmMpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLml0ZW1zID0gaW1nQXJyLm1hcChcbiAgICAgICAgICAgICAgICAoaW1nKSA9PiBuZXcgSW1hZ2VJdGVtKHsgc3JjOiBpbWcsIHRodW1iOiBpbWcgfSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNvbmZpZy5kb3RzID0gdGhpcy5jb25maWcubmF2ID0gdGhpcy5pdGVtcy5sZW5ndGggPiAxO1xuICAgICAgICB0aGlzLmNvbmZpZy50aHVtYiA9XG4gICAgICAgICAgICAodGhpcy5rZXkgPT09ICdJdGVtRmlsbXN0cmlwSW1hZ2VzJyB8fCB0aGlzLnNob3dUaHVtYm5haWxzKSAmJlxuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXMubGVuZ3RoID4gMVxuICAgICAgICAgICAgICAgID8gdHJ1ZVxuICAgICAgICAgICAgICAgIDogZmFsc2U7XG4gICAgICAgIHRoaXMuY3VyckluZGV4ID1cbiAgICAgICAgICAgIHRoaXMua2V5ID09PSAnSXRlbUZpbG1zdHJpcEltYWdlcycgJiZcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJJbmRleCA9PT0gMCAmJlxuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXMubGVuZ3RoID4gMVxuICAgICAgICAgICAgICAgID8gTWF0aC5mbG9vcih0aGlzLml0ZW1zLmxlbmd0aCAvIDIpIC0gMVxuICAgICAgICAgICAgICAgIDogdGhpcy5jdXJySW5kZXg7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pbkRpYWxvZykge1xuICAgICAgICAgICAgdGhpcy5hZnRlckRpYWxvZ09wZW5lZCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5nYWxsZXJ5UmVmID0gdGhpcy5nYWxsZXJ5LnJlZihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmtleX0tJHt0aGlzLnVpZH0tZ2FsbGVyeWBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLmluaXRHYWxsZXJ5U3R5bGUodGhpcy5nYWxsZXJ5Q29udCwgdGhpcy5nYWxsZXJ5UmVmKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zdGFuZEFsb25lKSB7XG4gICAgICAgICAgICB0aGlzLnNldERlZmF1bHRGb3JtKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZ2FsbGVyeVJlZikge1xuICAgICAgICAgICAgdGhpcy5nYWxsZXJ5UmVmLmRlc3Ryb3koKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5kaWFsb2dHYWxsZXJ5UmVmKSB7XG4gICAgICAgICAgICB0aGlzLmRpYWxvZ0dhbGxlcnlSZWYuZGVzdHJveSgpO1xuICAgICAgICB9XG4gICAgICAgIC8vIGlmICh0aGlzLm15UGluY2gpIHsgdGhpcy5teVBpbmNoLmRlc3Ryb3koKTsgfVxuICAgIH1cblxuICAgIGluaXRHYWxsZXJ5U3R5bGUoZ2FsbGVyeUNvbnRhaW5lciwgZ2FsbGVyeVJlZik6IHZvaWQge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIC8vIFNldCB0aHVtYm5haWxzIHBvc2l0aW9uIGFuZCBzbGlkaW5nIGRpcmVjdGlvblxuICAgICAgICAgICAgdGhpcy5zZXRUaHVtYm5haWxEaW1lbnNpb24oZ2FsbGVyeUNvbnRhaW5lcik7XG4gICAgICAgICAgICBnYWxsZXJ5UmVmLnNldENvbmZpZyh0aGlzLmNvbmZpZyk7XG4gICAgICAgICAgICAvLyB0aGlzLnJlbmRlck5hdkljb24oZ2FsbGVyeUNvbnRhaW5lciwgdHJ1ZSk7XG4gICAgICAgICAgICAvLyB0aGlzLnJlbmRlck5hdkljb24oZ2FsbGVyeUNvbnRhaW5lciwgZmFsc2UpO1xuICAgICAgICB9LCAwKTtcblxuICAgICAgICBjb25zdCBjdXJyZW50SW5kZXggPSB0aGlzLmN1cnJJbmRleDtcbiAgICAgICAgaWYgKGN1cnJlbnRJbmRleCA+IDApIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGdhbGxlcnlSZWYubG9hZCh0aGlzLml0ZW1zKTtcbiAgICAgICAgICAgICAgICBnYWxsZXJ5UmVmLnNldChjdXJyZW50SW5kZXgpO1xuICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgICAvLyBnYWxsZXJ5UmVmLnNldChjdXJyZW50SW5kZXgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZ2FsbGVyeVJlZi5sb2FkKHRoaXMuaXRlbXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25FcnJvcihlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG5vSW1hZ2VTcmMgPSB0aGlzLmZpbGVTZXJ2aWNlLmdldFN2Z0FzSW1hZ2VTcmMoXG4gICAgICAgICAgICBwZXBJY29uTm9JbWFnZTIuZGF0YVxuICAgICAgICApO1xuICAgICAgICBjb25zdCBub2ltZyA9IG5ldyBJbWFnZUl0ZW0oeyBzcmM6IG5vSW1hZ2VTcmMsIHRodW1iOiBub0ltYWdlU3JjIH0pO1xuICAgICAgICB0aGlzLml0ZW1zLnNwbGljZShlLml0ZW1JbmRleCwgMSwgbm9pbWcpO1xuICAgIH1cblxuICAgIGVubGFyZ2VJbWFnZShldmVudDogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuZGlhbG9nU2VydmljZS5nZXREaWFsb2dDb25maWcoe30sICdpbmxpbmUnKTtcbiAgICAgICAgY29uZmlnLm1heFdpZHRoID0gJzc1dncnO1xuICAgICAgICBjb25maWcuaGVpZ2h0ID0gJzk1dmgnO1xuXG4gICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nU2VydmljZS5vcGVuRGlhbG9nKFxuICAgICAgICAgICAgdGhpcy5nYWxsZXJ5RGlhbG9nVGVtcGxhdGUsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY3VyckluZGV4OiB0aGlzLmN1cnJJbmRleCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjb25maWdcbiAgICAgICAgKTtcblxuICAgICAgICBkaWFsb2dSZWYuYWZ0ZXJPcGVuZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hZnRlckRpYWxvZ09wZW5lZCgpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBVcGRhdGUgY3VycmVudEluZGV4IGluIGdhbGxlcnlSZWZcbiAgICAgICAgLy8gZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgLy8gICAgIHRoaXMuZ2FsbGVyeVJlZi5zZXQodGhpcy5jdXJySW5kZXgpO1xuICAgICAgICAvLyB9KTtcbiAgICB9XG5cbiAgICBhZnRlckRpYWxvZ09wZW5lZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaWFsb2dHYWxsZXJ5UmVmID0gdGhpcy5nYWxsZXJ5LnJlZihcbiAgICAgICAgICAgIGAke3RoaXMua2V5fS0ke3RoaXMudWlkfS1kbGdHYWxsZXJ5YFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmluaXRHYWxsZXJ5U3R5bGUodGhpcy5nYWxsZXJ5RGlhbG9nQ29udCwgdGhpcy5kaWFsb2dHYWxsZXJ5UmVmKTtcbiAgICB9XG5cbiAgICBzZXRUaHVtYm5haWxEaW1lbnNpb24oZ2FsbGVyeUNvbnRhaW5lcik6IHZvaWQge1xuICAgICAgICB0aGlzLmdhbGxlcnlXaWR0aCA9IGdhbGxlcnlDb250YWluZXIubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aDtcbiAgICAgICAgLy8gdGhpcy5nYWxsZXJ5SGVpZ2h0ID0gZ2FsbGVyeUNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodCAtIDMyOyAvLyBUT0RPIC0gVEFMSyBXSVRIIFRPTUVSXG4gICAgICAgIHRoaXMuZ2FsbGVyeUhlaWdodCA9IHRoaXMuaW5EaWFsb2dcbiAgICAgICAgICAgID8gZ2FsbGVyeUNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodCAtIDMyXG4gICAgICAgICAgICA6IGdhbGxlcnlDb250YWluZXIubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQ7XG4gICAgICAgIC8vIHRoaXMuZ2FsbGVyeUhlaWdodCA9IGdhbGxlcnlDb250YWluZXIubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQgLSAzMjtcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgdGhpcy5pc1ZlcnRpY2FsID0gdGhpcy5nYWxsZXJ5V2lkdGggPCB0aGlzLmdhbGxlcnlIZWlnaHQ7XG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICBpZiAodGhpcy5pc1ZlcnRpY2FsKSB7XG4gICAgICAgICAgICBsZXQgd2lkdGggPVxuICAgICAgICAgICAgICAgICh0aGlzLmdhbGxlcnlXaWR0aCAtICh0aGlzLml0ZW1zLmxlbmd0aCAtIDEpICogMTYpIC9cbiAgICAgICAgICAgICAgICB0aGlzLml0ZW1zLmxlbmd0aDtcbiAgICAgICAgICAgIHdpZHRoID0gTWF0aC5taW4oTWF0aC5tYXgod2lkdGgsIDI0KSwgOTYpO1xuXG4gICAgICAgICAgICB0aGlzLmNvbmZpZy50aHVtYkhlaWdodCA9IHdpZHRoO1xuICAgICAgICAgICAgdGhpcy5jb25maWcudGh1bWJXaWR0aCA9IHdpZHRoICsgMTY7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsZXQgaGVpZ2h0ID1cbiAgICAgICAgICAgICAgICAodGhpcy5nYWxsZXJ5SGVpZ2h0IC0gKHRoaXMuaXRlbXMubGVuZ3RoIC0gMSkgKiAxNikgL1xuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXMubGVuZ3RoO1xuICAgICAgICAgICAgaGVpZ2h0ID0gTWF0aC5taW4oTWF0aC5tYXgoaGVpZ2h0LCAyNCksIDk2KTtcblxuICAgICAgICAgICAgdGhpcy5jb25maWcudGh1bWJIZWlnaHQgPSBoZWlnaHQgKyAxNjtcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLnRodW1iV2lkdGggPSBoZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNvbmZpZy50aHVtYlBvc2l0aW9uID0gdGhpcy5pc1ZlcnRpY2FsXG4gICAgICAgICAgICA/IFRodW1ibmFpbHNQb3NpdGlvbi5Cb3R0b21cbiAgICAgICAgICAgIDogdGhpcy5sYXlvdXRTZXJ2aWNlLmlzUnRsKClcbiAgICAgICAgICAgICAgICA/IFRodW1ibmFpbHNQb3NpdGlvbi5SaWdodFxuICAgICAgICAgICAgICAgIDogVGh1bWJuYWlsc1Bvc2l0aW9uLkxlZnQ7XG4gICAgICAgIHRoaXMuY29uZmlnLnNsaWRpbmdEaXJlY3Rpb24gPVxuICAgICAgICAgICAgdGhpcy5rZXkgIT09ICdJdGVtRmlsbXN0cmlwSW1hZ2VzJ1xuICAgICAgICAgICAgICAgID8gU2xpZGluZ0RpcmVjdGlvbi5Ib3Jpem9udGFsXG4gICAgICAgICAgICAgICAgOiB0aGlzLmlzVmVydGljYWxcbiAgICAgICAgICAgICAgICAgICAgPyBTbGlkaW5nRGlyZWN0aW9uLkhvcml6b250YWxcbiAgICAgICAgICAgICAgICAgICAgOiBTbGlkaW5nRGlyZWN0aW9uLlZlcnRpY2FsO1xuXG4gICAgICAgIHRoaXMuY29uZmlnLmltYWdlU2l6ZSA9ICdjb250YWluJztcbiAgICB9XG5cbiAgICBpbmRleENoYW5nZShpdGVtOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdXJySW5kZXggPSBpdGVtLmN1cnJJbmRleDtcbiAgICAgICAgLy8gaWYgKHRoaXMubmd4Vmlld2VySW1hZ2UgJiYgdGhpcy5uZ3hWaWV3ZXJJbWFnZS5zY2FsZSkge1xuICAgICAgICAvLyAgICAgdGhpcy5uZ3hWaWV3ZXJJbWFnZS5zY2FsZSA9IDE7XG4gICAgICAgIC8vICAgICB0aGlzLnVwZGF0ZVN0eWxlKCk7XG4gICAgICAgIC8vIH1cbiAgICB9XG5cbiAgICAvLyBzY3JvbGxGdW5jdGlvbihlOiBhbnkpOiBib29sZWFuIHtcbiAgICAvLyAgICAgZS5kZWx0YVkgPiAwID8gdGhpcy56b29tT3V0KCkgOiB0aGlzLnpvb21JbigpO1xuICAgIC8vICAgICByZXR1cm4gZmFsc2U7XG4gICAgLy8gfVxuXG4gICAgLy8gem9vbUluKCk6IHZvaWQge1xuICAgIC8vICAgICBpZiAodGhpcy5uZ3hWaWV3ZXJJbWFnZS5zY2FsZSA8IDIpIHtcbiAgICAvLyAgICAgICAgIHRoaXMubmd4Vmlld2VySW1hZ2Uuc2NhbGUgKj0gKDEgKyB0aGlzLm5neFZpZXdlckltYWdlLmNvbmZpZy56b29tRmFjdG9yKTtcbiAgICAvLyAgICAgfSBlbHNlIHtcbiAgICAvLyAgICAgICAgIHRoaXMubmd4Vmlld2VySW1hZ2Uuc2NhbGUgPSAyO1xuICAgIC8vICAgICB9XG4gICAgLy8gICAgIHRoaXMudXBkYXRlU3R5bGUoKTtcbiAgICAvLyB9XG5cbiAgICAvLyB6b29tT3V0KCk6IHZvaWQge1xuICAgIC8vICAgICBpZiAodGhpcy5uZ3hWaWV3ZXJJbWFnZS5zY2FsZSA+IHRoaXMubmd4Vmlld2VySW1hZ2UuY29uZmlnLnpvb21GYWN0b3IpIHtcbiAgICAvLyAgICAgICAgIHRoaXMubmd4Vmlld2VySW1hZ2Uuc2NhbGUgLz0gKDEgKyB0aGlzLm5neFZpZXdlckltYWdlLmNvbmZpZy56b29tRmFjdG9yKTtcbiAgICAvLyAgICAgfVxuICAgIC8vICAgICB0aGlzLnVwZGF0ZVN0eWxlKCk7XG4gICAgLy8gfVxuXG4gICAgLy8gcHJpdmF0ZSB1cGRhdGVTdHlsZSgpOiB2b2lkIHtcbiAgICAvLyAgICAgdGhpcy5uZ3hWaWV3ZXJJbWFnZS5zdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlKCR7dGhpcy5uZ3hWaWV3ZXJJbWFnZS50cmFuc2xhdGVYfXB4LFxuICAgIC8vICAgICAgICAgJHt0aGlzLm5neFZpZXdlckltYWdlLnRyYW5zbGF0ZVl9cHgpIHJvdGF0ZSgke3RoaXMubmd4Vmlld2VySW1hZ2Uucm90YXRpb259ZGVnKSBzY2FsZSgke3RoaXMubmd4Vmlld2VySW1hZ2Uuc2NhbGV9KWA7XG5cbiAgICAvLyAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgLy8gfVxufVxuIl19
363
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2VzLWZpbG1zdHJpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2ltYWdlcy1maWxtc3RyaXAvaW1hZ2VzLWZpbG1zdHJpcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxTQUFTLEVBSVQsVUFBVSxFQUNWLEtBQUssRUFDTCxXQUFXLEVBQ1gsU0FBUyxFQUNULGlCQUFpQixFQUNqQixNQUFNLEVBQ04sUUFBUSxHQUdYLE1BQU0sZUFBZSxDQUFDO0FBU3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUNILE9BQU8sRUFFUCxlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUVsQixTQUFTLEdBRVosTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUNILHVCQUF1QixFQUV2QixnQkFBZ0IsRUFDaEIsY0FBYyxFQUVkLDRCQUE0QixFQUM1QixjQUFjLEVBQ2QsbUJBQW1CLEVBQ3RCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUE2QyxlQUFlLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFM0gsT0FBTyxVQUFVLENBQUM7QUFXbEIsOERBQThEO0FBQzlELHNFQUFzRTtBQUN0RSw2QkFBNkI7QUFDN0IsaUVBQWlFO0FBQ2pFLHVCQUF1QjtBQUN2QixVQUFVO0FBQ1YsNkJBQTZCO0FBQzdCLDhFQUE4RTtBQUM5RSxTQUFTO0FBQ1QsTUFBTTtBQUVOLE9BQU8sRUFDSCxrQkFBa0IsRUFFbEIsa0JBQWtCLEdBQ3JCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMs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Qjt3QkFDM0Isd0NBQXdDO3dCQUN4QyxVQUFVLEVBQUUsa0JBQWtCO3dCQUM5QixJQUFJLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztxQkFDM0I7aUJBQ0o7O2FBQ0o7OztZQWpIRyx1QkFBdUI7WUFTbEIsZ0JBQWdCO1lBUHJCLGdCQUFnQjtZQUNoQixjQUFjO1lBT2tDLGVBQWU7WUFIL0QsbUJBQW1CO1lBakJuQixPQUFPO1lBbEJQLFNBQVM7WUFIVCxVQUFVO1lBSVYsaUJBQWlCOzRDQW1OWixRQUFRLFlBQUksTUFBTSxTQUFDLFFBQVE7WUFyTVYsWUFBWSx1QkFzTTdCLFFBQVE7NENBRVIsUUFBUSxZQUNSLE1BQU0sU0FBQyxlQUFlOzs7a0JBdkUxQixLQUFLO29CQUNMLEtBQUs7b0JBQ0wsS0FBSzt5QkFDTCxLQUFLO3NCQUdMLEtBQUs7bUJBV0wsS0FBSztrQkFDTCxLQUFLO3dCQUNMLEtBQUs7MEJBQ0wsS0FBSzt5QkFHTCxLQUFLO3dCQVNMLEtBQUs7NkJBQ0wsS0FBSzswQkFFTCxTQUFTLFNBQUMsYUFBYTtvQ0FDdkIsU0FBUyxTQUFDLHVCQUF1QixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQ0FFeEQsU0FBUyxTQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIFZpZXdDaGlsZCxcbiAgICBPbkluaXQsXG4gICAgT25EZXN0cm95LFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbnB1dCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBSZW5kZXJlcjIsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgSW5qZWN0LFxuICAgIE9wdGlvbmFsLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgT25DaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgdHJpZ2dlcixcbiAgICBzdGF0ZSxcbiAgICBzdHlsZSxcbiAgICB0cmFuc2l0aW9uLFxuICAgIGFuaW1hdGUsXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBHYWxsZXJ5LFxuICAgIEdhbGxlcnlDb25maWcsXG4gICAgTG9hZGluZ1N0cmF0ZWd5LFxuICAgIFNsaWRpbmdEaXJlY3Rpb24sXG4gICAgVGh1bWJuYWlsc1Bvc2l0aW9uLFxuICAgIEdhbGxlcnlJdGVtLFxuICAgIEltYWdlSXRlbSxcbiAgICBHYWxsZXJ5UmVmLFxufSBmcm9tICduZy1nYWxsZXJ5JztcbmltcG9ydCB7XG4gICAgUGVwQ3VzdG9taXphdGlvblNlcnZpY2UsXG4gICAgUGVwTGF5b3V0VHlwZSxcbiAgICBQZXBMYXlvdXRTZXJ2aWNlLFxuICAgIFBlcEZpbGVTZXJ2aWNlLFxuICAgIFBlcEhvcml6b250YWxBbGlnbm1lbnQsXG4gICAgREVGQVVMVF9IT1JJWk9OVEFMX0FMSUdOTUVOVCxcbiAgICBQZXBJbWFnZXNGaWVsZCxcbiAgICBQZXBVdGlsaXRpZXNTZXJ2aWNlXG59IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcbmltcG9ydCB7IFBlcERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9kaWFsb2cnO1xuaW1wb3J0IHsgcGVwSWNvbkFycm93UmlnaHRBbHQsIHBlcEljb25BcnJvd0xlZnRBbHQsIFBlcEljb25SZWdpc3RyeSwgcGVwSWNvbk5vSW1hZ2UyIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvaWNvbic7XG5cbmltcG9ydCAnaGFtbWVyanMnO1xuXG5pbnRlcmZhY2UgSVBlcEltYWdlc0ZpbG1zdHJpcERpYWxvZ0RhdGEge1xuICAgIGN1cnJJbmRleDogbnVtYmVyO1xuICAgIGtleTogc3RyaW5nO1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICB1aWQ6IHN0cmluZztcbiAgICBzaG93VGh1bWJuYWlsczogYm9vbGVhbjtcbn1cblxuLy8gZXhwb3J0IGNvbnN0IHNsaWRlSW5BbmltYXRpb24gPSB0cmlnZ2VyKCdzbGlkZUFuaW1hdGlvbicsIFtcbi8vICAgICBzdGF0ZSgnaW4nLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknLCBvcGFjaXR5OiAxIH0pKSxcbi8vICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXG4vLyAgICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgtMTAwJSknLCBvcGFjaXR5OiAwIH0pLFxuLy8gICAgICAgICBhbmltYXRlKDQwMClcbi8vICAgICBdKSxcbi8vICAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbXG4vLyAgICAgICAgIGFuaW1hdGUoNDAwLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoLTEwMCUpJywgb3BhY2l0eTogMCB9KSlcbi8vICAgICBdKVxuLy8gXSk7XG5cbmltcG9ydCB7XG4gICAgSU1BR0VWSUVXRVJfQ09ORklHLFxuICAgIEltYWdlVmlld2VyQ29uZmlnLFxuICAgIGNyZWF0ZUJ1dHRvbkNvbmZpZyxcbn0gZnJvbSAnQGhhbGx5c29uaC9uZ3gtaW1hZ2V2aWV3ZXInO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVmlld2VyQ29uZmlnKFxuICAgIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZVxuKTogSW1hZ2VWaWV3ZXJDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICAgIC8vIHdpZHRoOiA4NTAsXG4gICAgICAgIC8vIGhlaWdodDogMTUwLFxuICAgICAgICBiZ1N0eWxlOiAnI0ZGRicsIC8vIGNvbXBvbmVudCBiYWNrZ3JvdW5kIHN0eWxlXG4gICAgICAgIC8vIHNjYWxlU3RlcDogMC4xLCAvLyB6b29tIHNjYWxlIHN0ZXAgKHVzaW5nIHRoZSB6b29tIGluL291dCBidXR0b25zKVxuICAgICAgICAvLyByb3RhdGVTdGVwcGVyOiBmYWxzZSwgLy8gdG91Y2ggcm90YXRlIHNob3VsZCByb3RhdGUgb25seSA5MCB0byA5MCBkZWdyZWVzXG4gICAgICAgIGxvYWRpbmdNZXNzYWdlOiB0cmFuc2xhdGUuaW5zdGFudCgnTUVTU0FHRVMuSU5GT19MT0FESU5HX0ZJTEUnKSwgLy8gJ0xvYWRpbmcuLi4nLFxuICAgICAgICAvLyBidXR0b25TdHlsZToge1xuICAgICAgICAvLyAgICAgaWNvbkZvbnRGYW1pbHk6ICdNYXRlcmlhbCBJY29ucycsIC8vIGZvbnQgdXNlZCB0byByZW5kZXIgdGhlIGJ1dHRvbiBpY29uc1xuICAgICAgICAvLyAgICAgYWxwaGE6IDAuNSwgLy8gYnV0dG9ucycgdHJhbnNwYXJlbmNlIHZhbHVlXG4gICAgICAgIC8vICAgICBob3ZlckFscGhhOiAwLjcsIC8vIGJ1dHRvbnMnIHRyYW5zcGFyZW5jZSB2YWx1ZSB3aGVuIG1vdXNlIGlzIG92ZXJcbiAgICAgICAgLy8gICAgIGJnU3R5bGU6ICcjMDAwMDAwJywgLy8gIGJ1dHRvbnMnIGJhY2tncm91bmQgc3R5bGVcbiAgICAgICAgLy8gICAgIGljb25TdHlsZTogJyNmZmZmZmYnLCAvLyBidXR0b25zJyBpY29uIGNvbG9yc1xuICAgICAgICAvLyAgICAgYm9yZGVyU3R5bGU6ICcjMDAwMDAwJywgLy8gYnV0dG9ucycgYm9yZGVyIHN0eWxlXG4gICAgICAgIC8vICAgICBib3JkZXJXaWR0aDogMCwgLy8gYnV0dG9ucycgYm9yZGVyIHdpZHRoICgwID09IGRpc2FibGVkKVxuICAgICAgICAvLyB9LFxuICAgICAgICAvLyB0b29sdGlwczoge1xuICAgICAgICAvLyAgICAgZW5hYmxlZDogdHJ1ZSwgLy8gZW5hYmxlIG9yIGRpc2FibGUgdG9vbHRpcHMgZm9yIGJ1dHRvbnNcbiAgICAgICAgLy8gICAgIGJnU3R5bGU6ICcjMDAwMDAwJywgLy8gdG9vbHRpcCBiYWNrZ3JvdW5kIHN0eWxlXG4gICAgICAgIC8vICAgICBiZ0FscGhhOiAwLjUsIC8vIHRvb2x0aXAgYmFja2dyb3VuZCB0cmFuc3BhcmVuY2VcbiAgICAgICAgLy8gICAgIHRleHRTdHlsZTogJyNmZmZmZmYnLCAvLyB0b29sdGlwJ3MgdGV4dCBzdHlsZVxuICAgICAgICAvLyAgICAgdGV4dEFscGhhOiAwLjksIC8vIHRvb2x0aXAncyB0ZXh0IHRyYW5zcGFyZW5jZVxuICAgICAgICAvLyAgICAgcGFkZGluZzogMTUsIC8vIHRvb2x0aXAgcGFkZGluZ1xuICAgICAgICAvLyAgICAgcmFkaXVzOiAyMCwgLy8gdG9vbHRpcCBib3JkZXIgcmFkaXVzXG4gICAgICAgIC8vIH0sXG4gICAgICAgIC8vIHNob3J0ZXIgYnV0dG9uIGNvbmZpZ3VyYXRpb24gc3R5bGVcbiAgICAgICAgbmV4dFBhZ2VCdXR0b246IGNyZWF0ZUJ1dHRvbkNvbmZpZyhcbiAgICAgICAgICAgICduYXZpZ2F0ZV9uZXh0JyxcbiAgICAgICAgICAgICdOZXh0IHBhZ2UnLFxuICAgICAgICAgICAgMCxcbiAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICksXG4gICAgICAgIGJlZm9yZVBhZ2VCdXR0b246IGNyZWF0ZUJ1dHRvbkNvbmZpZyhcbiAgICAgICAgICAgICduYXZpZ2F0ZV9iZWZvcmUnLFxuICAgICAgICAgICAgJ1ByZXZpb3VzIHBhZ2UnLFxuICAgICAgICAgICAgMSxcbiAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICksXG4gICAgICAgIHpvb21PdXRCdXR0b246IGNyZWF0ZUJ1dHRvbkNvbmZpZygnem9vbV9vdXQnLCAnWm9vbSBvdXQnLCAwLCBmYWxzZSksXG4gICAgICAgIHpvb21JbkJ1dHRvbjogY3JlYXRlQnV0dG9uQ29uZmlnKCd6b29tX2luJywgJ1pvb20gaW4nLCAxLCBmYWxzZSksXG4gICAgICAgIHJvdGF0ZUxlZnRCdXR0b246IGNyZWF0ZUJ1dHRvbkNvbmZpZyhcbiAgICAgICAgICAgICdyb3RhdGVfbGVmdCcsXG4gICAgICAgICAgICAnUm90YXRlIGxlZnQnLFxuICAgICAgICAgICAgMixcbiAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICksXG4gICAgICAgIHJvdGF0ZVJpZ2h0QnV0dG9uOiBjcmVhdGVCdXR0b25Db25maWcoXG4gICAgICAgICAgICAncm90YXRlX3JpZ2h0JyxcbiAgICAgICAgICAgICdSb3RhdGUgcmlnaHQnLFxuICAgICAgICAgICAgMyxcbiAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICksXG4gICAgICAgIHJlc2V0QnV0dG9uOiBjcmVhdGVCdXR0b25Db25maWcoJ2F1dG9yZW5ldycsICdSZXNldCcsIDQsIGZhbHNlKSxcbiAgICB9O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC1pbWFnZXMtZmlsbXN0cmlwJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2VzLWZpbG1zdHJpcC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW1hZ2VzLWZpbG1zdHJpcC5jb21wb25lbnQuc2NzcycsICcuL2ltYWdlcy1maWxtc3RyaXAuY29tcG9uZW50LnRoZW1lLnNjc3MnXSxcbiAgICAvLyBhbmltYXRpb25zOiBbc2xpZGVJbkFuaW1hdGlvbl0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IElNQUdFVklFV0VSX0NPTkZJRyxcbiAgICAgICAgICAgIC8vIHVzZVZhbHVlOiBJTUFHRVZJRVdFUl9DT05GSUdfREVGQVVMVCxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGNyZWF0ZVZpZXdlckNvbmZpZyxcbiAgICAgICAgICAgIGRlcHM6IFtUcmFuc2xhdGVTZXJ2aWNlXSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQZXBJbWFnZXNGaWxtc3RyaXBDb21wb25lbnRcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIC8vIEBWaWV3Q2hpbGQoJ25neFZpZXdlckltYWdlJykgbmd4Vmlld2VySW1hZ2U6IGFueTsgLy8gVE9ETzogQ2hlY2sgaWYgd2UgbmVlZCB0byB1c2UgdGhpcz8/XG4gICAgQElucHV0KCkga2V5ID0gJyc7XG4gICAgQElucHV0KCkgdmFsdWUgPSAnJztcbiAgICBASW5wdXQoKSBsYWJlbCA9ICcnO1xuICAgIEBJbnB1dCgpIHhBbGlnbm1lbnQ6IFBlcEhvcml6b250YWxBbGlnbm1lbnQgPSBERUZBVUxUX0hPUklaT05UQUxfQUxJR05NRU5UO1xuXG4gICAgcHJpdmF0ZSBfcm93U3BhbiA9IDE7XG4gICAgQElucHV0KClcbiAgICBzZXQgcm93U3Bhbih2YWx1ZSkge1xuICAgICAgICB0aGlzLl9yb3dTcGFuID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2V0RmllbGRIZWlnaHQoKTtcbiAgICB9XG4gICAgZ2V0IHJvd1NwYW4oKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jvd1NwYW47XG4gICAgfVxuXG4gICAgY29udHJvbFR5cGUgPSAnaW1hZ2VzJztcblxuICAgIEBJbnB1dCgpIGZvcm06IEZvcm1Hcm91cCA9IG51bGw7XG4gICAgQElucHV0KCkgdWlkID0gJzAnO1xuICAgIEBJbnB1dCgpIHNob3dUaXRsZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHJlbmRlclRpdGxlID0gdHJ1ZTtcblxuICAgIHByaXZhdGUgX2xheW91dFR5cGU6IFBlcExheW91dFR5cGUgPSAnZm9ybSc7XG4gICAgQElucHV0KClcbiAgICBzZXQgbGF5b3V0VHlwZSh2YWx1ZTogUGVwTGF5b3V0VHlwZSkge1xuICAgICAgICB0aGlzLl9sYXlvdXRUeXBlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2V0RmllbGRIZWlnaHQoKTtcbiAgICB9XG4gICAgZ2V0IGxheW91dFR5cGUoKTogUGVwTGF5b3V0VHlwZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sYXlvdXRUeXBlO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIGN1cnJJbmRleCA9IDA7XG4gICAgQElucHV0KCkgc2hvd1RodW1ibmFpbHMgPSBmYWxzZTtcblxuICAgIEBWaWV3Q2hpbGQoJ2dhbGxlcnlDb250JykgZ2FsbGVyeUNvbnQ6IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgnZ2FsbGVyeURpYWxvZ1RlbXBsYXRlJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICAgIGdhbGxlcnlEaWFsb2dUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBAVmlld0NoaWxkKCdnYWxsZXJ5RGlhbG9nQ29udCcpIGdhbGxlcnlEaWFsb2dDb250OiBFbGVtZW50UmVmO1xuXG4gICAgY29uZmlnOiBHYWxsZXJ5Q29uZmlnO1xuICAgIGl0ZW1zOiBHYWxsZXJ5SXRlbVtdID0gbnVsbDtcbiAgICBpbkRpYWxvZyA9IGZhbHNlO1xuXG4gICAgbWFuZGF0b3J5ID0gZmFsc2U7XG4gICAgcmVhZG9ubHkgPSBmYWxzZTtcbiAgICBkaXNhYmxlZCA9IGZhbHNlO1xuICAgIGZpZWxkSGVpZ2h0ID0gJyc7XG4gICAgc3RhbmRBbG9uZSA9IGZhbHNlO1xuXG4gICAgZ2FsbGVyeVdpZHRoID0gMDtcbiAgICBnYWxsZXJ5SGVpZ2h0O1xuICAgIGlzVmVydGljYWwgPSBmYWxzZTtcbiAgICBnYWxsZXJ5UmVmOiBHYWxsZXJ5UmVmO1xuICAgIGRpYWxvZ0dhbGxlcnlSZWY6IEdhbGxlcnlSZWY7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBjdXN0b21pemF0aW9uU2VydmljZTogUGVwQ3VzdG9taXphdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZGlhbG9nU2VydmljZTogUGVwRGlhbG9nU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBsYXlvdXRTZXJ2aWNlOiBQZXBMYXlvdXRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGZpbGVTZXJ2aWNlOiBQZXBGaWxlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBpY29uUmVnaXN0cnk6IFBlcEljb25SZWdpc3RyeSxcbiAgICAgICAgcHJpdmF0ZSB1dGlsaXRpZXNTZXJ2aWNlOiBQZXBVdGlsaXRpZXNTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGdhbGxlcnk6IEdhbGxlcnksXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogYW55LFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBwcml2YXRlIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFBlcEltYWdlc0ZpbG1zdHJpcENvbXBvbmVudD4sXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKVxuICAgICAgICBwcml2YXRlIGRhdGE6IElQZXBJbWFnZXNGaWxtc3RyaXBEaWFsb2dEYXRhXG4gICAgKSB7XG4gICAgICAgIC8vIElmIGRhdGEgZXhpc3QgY29weSBhbGwgZGF0YSBwcm9wZXJ0aWVzIGludG8gdGhpcy5cbiAgICAgICAgaWYgKGRpYWxvZ1JlZiAmJiBkYXRhKSB7XG4gICAgICAgICAgICB0aGlzLmluRGlhbG9nID0gdHJ1ZTtcblxuICAgICAgICAgICAgT2JqZWN0LmtleXMoZGF0YSkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGtleSBpbiB0aGlzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXNba2V5XSA9IGRhdGFba2V5XTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY29uZmlnID0ge1xuICAgICAgICAgICAgbmF2OiBmYWxzZSwgLy8gU2hvdyBuYXZpZ2F0aW9uIGJ1dHRvbnNcbiAgICAgICAgICAgIC8vIG5hdkljb246IHBlcEljb25BcnJvd1JpZ2h0QWx0LmRhdGEsXG4gICAgICAgICAgICAvLyBsb29wOiB0cnVlLFxuICAgICAgICAgICAgLy8gem9vbU91dDogMCxcbiAgICAgICAgICAgIC8vIGRvdHM6IGZhbHNlLFxuICAgICAgICAgICAgLy8gZG90c1Bvc2l0aW9uOiAnYm90dG9tJyxcbiAgICAgICAgICAgIC8vIGNvdW50ZXJQb3NpdGlvbjogJ3RvcCcsXG4gICAgICAgICAgICAvLyB0aHVtYjogdHJ1ZSxcbiAgICAgICAgICAgIGNvdW50ZXI6IGZhbHNlLCAvLyBTaG93IGNvdW50ZXJcbiAgICAgICAgICAgIGdlc3R1cmVzOiB0cnVlLCAvLyBVc2UgdG91Y2ggZXZlbnRzIChyZXF1aXJlcyBoYW1tZXIuanMpXG4gICAgICAgICAgICAvLyBhdXRvUGxheTogZmFsc2UsXG4gICAgICAgICAgICAvLyB0aHVtYldpZHRoOiAxMjAsXG4gICAgICAgICAgICAvLyB0aHVtYkhlaWdodDogOTAsXG4gICAgICAgICAgICBpbWFnZVNpemU6ICdjb250YWluJyxcbiAgICAgICAgICAgIC8vIHBhblNlbnNpdGl2aXR5OiAyNSxcbiAgICAgICAgICAgIC8vIGRpc2FibGVUaHVtYjogZmFsc2UsXG4gICAgICAgICAgICAvLyBwbGF5ZXJJbnRlcnZhbDogMzAwMCxcbiAgICAgICAgICAgIC8vIHRodW1iTW9kZTogVGh1bWJuYWlsc01vZGUuRnJlZSxcbiAgICAgICAgICAgIC8vIHRodW1iUG9zaXRpb246IFRodW1ibmFpbHNQb3NpdGlvbi5Cb3R0b20sXG4gICAgICAgICAgICBsb2FkaW5nU3RyYXRlZ3k6IExvYWRpbmdTdHJhdGVneS5QcmVsb2FkLFxuICAgICAgICAgICAgLy8gc2xpZGluZ0RpcmVjdGlvbjogU2xpZGluZ0RpcmVjdGlvbi5Ib3Jpem9udGFsLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RmllbGRIZWlnaHQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmllbGRIZWlnaHQgPSB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlLmNhbGN1bGF0ZUZpZWxkSGVpZ2h0KFxuICAgICAgICAgICAgdGhpcy5sYXlvdXRUeXBlLFxuICAgICAgICAgICAgdGhpcy5yb3dTcGFuLFxuICAgICAgICAgICAgdGhpcy5zdGFuZEFsb25lXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXREZWZhdWx0Rm9ybSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcGVwRmllbGQgPSBuZXcgUGVwSW1hZ2VzRmllbGQoe1xuICAgICAgICAgICAga2V5OiB0aGlzLmtleSxcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnZhbHVlLFxuICAgICAgICAgICAgbWFuZGF0b3J5OiB0aGlzLm1hbmRhdG9yeSxcbiAgICAgICAgICAgIHJlYWRvbmx5OiB0aGlzLnJlYWRvbmx5LFxuICAgICAgICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlLmdldERlZmF1bHRGcm9tR3JvdXAocGVwRmllbGQpO1xuICAgIH1cblxuICAgIC8vIHByaXZhdGUgcmVuZGVyTmF2SWNvbihnYWxsZXJ5Q29udGFpbmVyLCBpc0xlZnQ6IGJvb2xlYW4pIHtcbiAgICAvLyAgICAgbGV0IGljb25OYW1lID0gaXNMZWZ0ID8gcGVwSWNvbkFycm93TGVmdEFsdC5uYW1lIDogcGVwSWNvbkFycm93UmlnaHRBbHQubmFtZTtcbiAgICAvLyAgICAgY29uc3Qgc3ZnRGF0YSA9IHRoaXMuaWNvblJlZ2lzdHJ5LmdldEljb24oaWNvbk5hbWUpO1xuICAgIC8vICAgICBjb25zdCBzdmdJY29uID0gdGhpcy51dGlsaXRpZXNTZXJ2aWNlLmdldFN2Z0VsZW1lbnRGcm9tU3RyaW5nKFxuICAgIC8vICAgICAgICAgdGhpcy5kb2N1bWVudCxcbiAgICAvLyAgICAgICAgIHN2Z0RhdGFcbiAgICAvLyAgICAgKTtcblxuICAgIC8vICAgICBjb25zdCBlbGVtZW50TmFtZVRvRmluZCA9IGlzTGVmdCA/ICdnLW5hdi1wcmV2JyA6ICdnLW5hdi1uZXh0J1xuXG4gICAgLy8gICAgIGNvbnN0IGVsZW1lbnRBcnIgPSBnYWxsZXJ5Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChgLiR7ZWxlbWVudE5hbWVUb0ZpbmR9YCk7XG4gICAgLy8gICAgIGlmIChlbGVtZW50QXJyICYmIGVsZW1lbnRBcnIubGVuZ3RoID4gMCkge1xuICAgIC8vICAgICAgICAgZWxlbWVudEFyclswXS5hcHBlbmRDaGlsZChzdmdJY29uKTtcbiAgICAvLyAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3Moc3ZnSWNvbiwgJ3N2Zy1pY29uJyk7XG4gICAgLy8gICAgIH1cbiAgICAvLyB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmluRGlhbG9nKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5mb3JtID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGFuZEFsb25lID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLnNldEZpZWxkSGVpZ2h0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXREZWZhdWx0Rm9ybSgpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgIFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLlNUQU5EX0FMT05FX0ZJRUxEX0NMQVNTX05BTUVcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLnJlbmRlclRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgIFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLlNUQU5EX0FMT05FX0ZJRUxEX05PX1NQQUNJTkdfQ0xBU1NfTkFNRVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLml0ZW1zID09PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdCBpbWdBcnIgPSB0aGlzLnZhbHVlID8gdGhpcy52YWx1ZS5zcGxpdCgnOycpIDogW107XG4gICAgICAgICAgICAvLyBhZGQgTm8gaW1hZ2UgaW1hZ2Ugd2hlbiB0aGVyZSBpcyBubyBpbWFnZXNcbiAgICAgICAgICAgIGlmIChpbWdBcnIubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgbm9JbWFnZVNyYyA9IHRoaXMuZmlsZVNlcnZpY2UuZ2V0U3ZnQXNJbWFnZVNyYyhcbiAgICAgICAgICAgICAgICAgICAgcGVwSWNvbk5vSW1hZ2UyLmRhdGFcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGltZ0Fyci5wdXNoKG5vSW1hZ2VTcmMpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLml0ZW1zID0gaW1nQXJyLm1hcChcbiAgICAgICAgICAgICAgICAoaW1nKSA9PiBuZXcgSW1hZ2VJdGVtKHsgc3JjOiBpbWcsIHRodW1iOiBpbWcgfSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNvbmZpZy5kb3RzID0gdGhpcy5jb25maWcubmF2ID0gdGhpcy5pdGVtcy5sZW5ndGggPiAxO1xuICAgICAgICB0aGlzLmNvbmZpZy50aHVtYiA9XG4gICAgICAgICAgICAodGhpcy5rZXkgPT09ICdJdGVtRmlsbXN0cmlwSW1hZ2VzJyB8fCB0aGlzLnNob3dUaHVtYm5haWxzKSAmJlxuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXMubGVuZ3RoID4gMVxuICAgICAgICAgICAgICAgID8gdHJ1ZVxuICAgICAgICAgICAgICAgIDogZmFsc2U7XG4gICAgICAgIHRoaXMuY3VyckluZGV4ID1cbiAgICAgICAgICAgIHRoaXMua2V5ID09PSAnSXRlbUZpbG1zdHJpcEltYWdlcycgJiZcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJJbmRleCA9PT0gMCAmJlxuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXMubGVuZ3RoID4gMVxuICAgICAgICAgICAgICAgID8gTWF0aC5mbG9vcih0aGlzLml0ZW1zLmxlbmd0aCAvIDIpIC0gMVxuICAgICAgICAgICAgICAgIDogdGhpcy5jdXJySW5kZXg7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pbkRpYWxvZykge1xuICAgICAgICAgICAgdGhpcy5hZnRlckRpYWxvZ09wZW5lZCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5nYWxsZXJ5UmVmID0gdGhpcy5nYWxsZXJ5LnJlZihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmtleX0tJHt0aGlzLnVpZH0tZ2FsbGVyeWBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLmluaXRHYWxsZXJ5U3R5bGUodGhpcy5nYWxsZXJ5Q29udCwgdGhpcy5nYWxsZXJ5UmVmKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zdGFuZEFsb25lKSB7XG4gICAgICAgICAgICB0aGlzLnNldERlZmF1bHRGb3JtKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZ2FsbGVyeVJlZikge1xuICAgICAgICAgICAgdGhpcy5nYWxsZXJ5UmVmLmRlc3Ryb3koKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5kaWFsb2dHYWxsZXJ5UmVmKSB7XG4gICAgICAgICAgICB0aGlzLmRpYWxvZ0dhbGxlcnlSZWYuZGVzdHJveSgpO1xuICAgICAgICB9XG4gICAgICAgIC8vIGlmICh0aGlzLm15UGluY2gpIHsgdGhpcy5teVBpbmNoLmRlc3Ryb3koKTsgfVxuICAgIH1cblxuICAgIGluaXRHYWxsZXJ5U3R5bGUoZ2FsbGVyeUNvbnRhaW5lciwgZ2FsbGVyeVJlZik6IHZvaWQge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIC8vIFNldCB0aHVtYm5haWxzIHBvc2l0aW9uIGFuZCBzbGlkaW5nIGRpcmVjdGlvblxuICAgICAgICAgICAgdGhpcy5zZXRUaHVtYm5haWxEaW1lbnNpb24oZ2FsbGVyeUNvbnRhaW5lcik7XG4gICAgICAgICAgICBnYWxsZXJ5UmVmLnNldENvbmZpZyh0aGlzLmNvbmZpZyk7XG4gICAgICAgICAgICAvLyB0aGlzLnJlbmRlck5hdkljb24oZ2FsbGVyeUNvbnRhaW5lciwgdHJ1ZSk7XG4gICAgICAgICAgICAvLyB0aGlzLnJlbmRlck5hdkljb24oZ2FsbGVyeUNvbnRhaW5lciwgZmFsc2UpO1xuICAgICAgICB9LCAwKTtcblxuICAgICAgICBjb25zdCBjdXJyZW50SW5kZXggPSB0aGlzLmN1cnJJbmRleDtcbiAgICAgICAgaWYgKGN1cnJlbnRJbmRleCA+IDApIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGdhbGxlcnlSZWYubG9hZCh0aGlzLml0ZW1zKTtcbiAgICAgICAgICAgICAgICBnYWxsZXJ5UmVmLnNldChjdXJyZW50SW5kZXgpO1xuICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgICAvLyBnYWxsZXJ5UmVmLnNldChjdXJyZW50SW5kZXgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZ2FsbGVyeVJlZi5sb2FkKHRoaXMuaXRlbXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25FcnJvcihlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG5vSW1hZ2VTcmMgPSB0aGlzLmZpbGVTZXJ2aWNlLmdldFN2Z0FzSW1hZ2VTcmMoXG4gICAgICAgICAgICBwZXBJY29uTm9JbWFnZTIuZGF0YVxuICAgICAgICApO1xuICAgICAgICBjb25zdCBub2ltZyA9IG5ldyBJbWFnZUl0ZW0oeyBzcmM6IG5vSW1hZ2VTcmMsIHRodW1iOiBub0ltYWdlU3JjIH0pO1xuICAgICAgICB0aGlzLml0ZW1zLnNwbGljZShlLml0ZW1JbmRleCwgMSwgbm9pbWcpO1xuICAgIH1cblxuICAgIGVubGFyZ2VJbWFnZShldmVudDogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuZGlhbG9nU2VydmljZS5nZXREaWFsb2dDb25maWcoe30sICdpbmxpbmUnKTtcbiAgICAgICAgY29uZmlnLm1heFdpZHRoID0gJzc1dncnO1xuICAgICAgICBjb25maWcuaGVpZ2h0ID0gJzk1dmgnO1xuXG4gICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nU2VydmljZS5vcGVuRGlhbG9nKFxuICAgICAgICAgICAgdGhpcy5nYWxsZXJ5RGlhbG9nVGVtcGxhdGUsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY3VyckluZGV4OiB0aGlzLmN1cnJJbmRleCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjb25maWdcbiAgICAgICAgKTtcblxuICAgICAgICBkaWFsb2dSZWYuYWZ0ZXJPcGVuZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hZnRlckRpYWxvZ09wZW5lZCgpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBVcGRhdGUgY3VycmVudEluZGV4IGluIGdhbGxlcnlSZWZcbiAgICAgICAgLy8gZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgLy8gICAgIHRoaXMuZ2FsbGVyeVJlZi5zZXQodGhpcy5jdXJySW5kZXgpO1xuICAgICAgICAvLyB9KTtcbiAgICB9XG5cbiAgICBhZnRlckRpYWxvZ09wZW5lZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaWFsb2dHYWxsZXJ5UmVmID0gdGhpcy5nYWxsZXJ5LnJlZihcbiAgICAgICAgICAgIGAke3RoaXMua2V5fS0ke3RoaXMudWlkfS1kbGdHYWxsZXJ5YFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmluaXRHYWxsZXJ5U3R5bGUodGhpcy5nYWxsZXJ5RGlhbG9nQ29udCwgdGhpcy5kaWFsb2dHYWxsZXJ5UmVmKTtcbiAgICB9XG5cbiAgICBzZXRUaHVtYm5haWxEaW1lbnNpb24oZ2FsbGVyeUNvbnRhaW5lcik6IHZvaWQge1xuICAgICAgICB0aGlzLmdhbGxlcnlXaWR0aCA9IGdhbGxlcnlDb250YWluZXIubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aDtcbiAgICAgICAgLy8gdGhpcy5nYWxsZXJ5SGVpZ2h0ID0gZ2FsbGVyeUNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodCAtIDMyOyAvLyBUT0RPIC0gVEFMSyBXSVRIIFRPTUVSXG4gICAgICAgIHRoaXMuZ2FsbGVyeUhlaWdodCA9IHRoaXMuaW5EaWFsb2dcbiAgICAgICAgICAgID8gZ2FsbGVyeUNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodCAtIDMyXG4gICAgICAgICAgICA6IGdhbGxlcnlDb250YWluZXIubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQ7XG4gICAgICAgIC8vIHRoaXMuZ2FsbGVyeUhlaWdodCA9IGdhbGxlcnlDb250YWluZXIubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQgLSAzMjtcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgdGhpcy5pc1ZlcnRpY2FsID0gdGhpcy5nYWxsZXJ5V2lkdGggPCB0aGlzLmdhbGxlcnlIZWlnaHQ7XG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICBpZiAodGhpcy5pc1ZlcnRpY2FsKSB7XG4gICAgICAgICAgICBsZXQgd2lkdGggPVxuICAgICAgICAgICAgICAgICh0aGlzLmdhbGxlcnlXaWR0aCAtICh0aGlzLml0ZW1zLmxlbmd0aCAtIDEpICogMTYpIC9cbiAgICAgICAgICAgICAgICB0aGlzLml0ZW1zLmxlbmd0aDtcbiAgICAgICAgICAgIHdpZHRoID0gTWF0aC5taW4oTWF0aC5tYXgod2lkdGgsIDI0KSwgOTYpO1xuXG4gICAgICAgICAgICB0aGlzLmNvbmZpZy50aHVtYkhlaWdodCA9IHdpZHRoO1xuICAgICAgICAgICAgdGhpcy5jb25maWcudGh1bWJXaWR0aCA9IHdpZHRoICsgMTY7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsZXQgaGVpZ2h0ID1cbiAgICAgICAgICAgICAgICAodGhpcy5nYWxsZXJ5SGVpZ2h0IC0gKHRoaXMuaXRlbXMubGVuZ3RoIC0gMSkgKiAxNikgL1xuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXMubGVuZ3RoO1xuICAgICAgICAgICAgaGVpZ2h0ID0gTWF0aC5taW4oTWF0aC5tYXgoaGVpZ2h0LCAyNCksIDk2KTtcblxuICAgICAgICAgICAgdGhpcy5jb25maWcudGh1bWJIZWlnaHQgPSBoZWlnaHQgKyAxNjtcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLnRodW1iV2lkdGggPSBoZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNvbmZpZy50aHVtYlBvc2l0aW9uID0gdGhpcy5pc1ZlcnRpY2FsXG4gICAgICAgICAgICA/IFRodW1ibmFpbHNQb3NpdGlvbi5Cb3R0b21cbiAgICAgICAgICAgIDogdGhpcy5sYXlvdXRTZXJ2aWNlLmlzUnRsKClcbiAgICAgICAgICAgICAgICA/IFRodW1ibmFpbHNQb3NpdGlvbi5SaWdodFxuICAgICAgICAgICAgICAgIDogVGh1bWJuYWlsc1Bvc2l0aW9uLkxlZnQ7XG4gICAgICAgIHRoaXMuY29uZmlnLnNsaWRpbmdEaXJlY3Rpb24gPVxuICAgICAgICAgICAgdGhpcy5rZXkgIT09ICdJdGVtRmlsbXN0cmlwSW1hZ2VzJ1xuICAgICAgICAgICAgICAgID8gU2xpZGluZ0RpcmVjdGlvbi5Ib3Jpem9udGFsXG4gICAgICAgICAgICAgICAgOiB0aGlzLmlzVmVydGljYWxcbiAgICAgICAgICAgICAgICAgICAgPyBTbGlkaW5nRGlyZWN0aW9uLkhvcml6b250YWxcbiAgICAgICAgICAgICAgICAgICAgOiBTbGlkaW5nRGlyZWN0aW9uLlZlcnRpY2FsO1xuXG4gICAgICAgIHRoaXMuY29uZmlnLmltYWdlU2l6ZSA9ICdjb250YWluJztcbiAgICB9XG5cbiAgICBpbmRleENoYW5nZShpdGVtOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdXJySW5kZXggPSBpdGVtLmN1cnJJbmRleDtcbiAgICAgICAgLy8gaWYgKHRoaXMubmd4Vmlld2VySW1hZ2UgJiYgdGhpcy5uZ3hWaWV3ZXJJbWFnZS5zY2FsZSkge1xuICAgICAgICAvLyAgICAgdGhpcy5uZ3hWaWV3ZXJJbWFnZS5zY2FsZSA9IDE7XG4gICAgICAgIC8vICAgICB0aGlzLnVwZGF0ZVN0eWxlKCk7XG4gICAgICAgIC8vIH1cbiAgICB9XG5cbiAgICAvLyBzY3JvbGxGdW5jdGlvbihlOiBhbnkpOiBib29sZWFuIHtcbiAgICAvLyAgICAgZS5kZWx0YVkgPiAwID8gdGhpcy56b29tT3V0KCkgOiB0aGlzLnpvb21JbigpO1xuICAgIC8vICAgICByZXR1cm4gZmFsc2U7XG4gICAgLy8gfVxuXG4gICAgLy8gem9vbUluKCk6IHZvaWQge1xuICAgIC8vICAgICBpZiAodGhpcy5uZ3hWaWV3ZXJJbWFnZS5zY2FsZSA8IDIpIHtcbiAgICAvLyAgICAgICAgIHRoaXMubmd4Vmlld2VySW1hZ2Uuc2NhbGUgKj0gKDEgKyB0aGlzLm5neFZpZXdlckltYWdlLmNvbmZpZy56b29tRmFjdG9yKTtcbiAgICAvLyAgICAgfSBlbHNlIHtcbiAgICAvLyAgICAgICAgIHRoaXMubmd4Vmlld2VySW1hZ2Uuc2NhbGUgPSAyO1xuICAgIC8vICAgICB9XG4gICAgLy8gICAgIHRoaXMudXBkYXRlU3R5bGUoKTtcbiAgICAvLyB9XG5cbiAgICAvLyB6b29tT3V0KCk6IHZvaWQge1xuICAgIC8vICAgICBpZiAodGhpcy5uZ3hWaWV3ZXJJbWFnZS5zY2FsZSA+IHRoaXMubmd4Vmlld2VySW1hZ2UuY29uZmlnLnpvb21GYWN0b3IpIHtcbiAgICAvLyAgICAgICAgIHRoaXMubmd4Vmlld2VySW1hZ2Uuc2NhbGUgLz0gKDEgKyB0aGlzLm5neFZpZXdlckltYWdlLmNvbmZpZy56b29tRmFjdG9yKTtcbiAgICAvLyAgICAgfVxuICAgIC8vICAgICB0aGlzLnVwZGF0ZVN0eWxlKCk7XG4gICAgLy8gfVxuXG4gICAgLy8gcHJpdmF0ZSB1cGRhdGVTdHlsZSgpOiB2b2lkIHtcbiAgICAvLyAgICAgdGhpcy5uZ3hWaWV3ZXJJbWFnZS5zdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlKCR7dGhpcy5uZ3hWaWV3ZXJJbWFnZS50cmFuc2xhdGVYfXB4LFxuICAgIC8vICAgICAgICAgJHt0aGlzLm5neFZpZXdlckltYWdlLnRyYW5zbGF0ZVl9cHgpIHJvdGF0ZSgke3RoaXMubmd4Vmlld2VySW1hZ2Uucm90YXRpb259ZGVnKSBzY2FsZSgke3RoaXMubmd4Vmlld2VySW1hZ2Uuc2NhbGV9KWA7XG5cbiAgICAvLyAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgLy8gfVxufVxuIl19
@@ -186,7 +186,7 @@ PepRichHtmlTextareaComponent.decorators = [
186
186
  selector: 'pep-rich-html-textarea',
187
187
  template: "<ng-container [formGroup]=\"form\">\n <ng-template #pepTemplate let-isFormView=\"isFormView\">\n <div class=\"pep-textarea-container pep-report-textarea\" [ngClass]=\"{ 'stand-alone': standAlone,\n 'right-alignment': xAlignment == 'right', 'one-row': !isFormView && rowSpan === 1,\n 'pep-textarea-card-container': layoutType === 'card'}\">\n <pep-field-title *ngIf=\"renderTitle && isFormView\" [label]=\"label\" [mandatory]=\"mandatory\"\n [disabled]=\"disabled\"\n [maxFieldCharacters]=\"inlineMode && !disabled && !readonly ? maxFieldCharacters : 0\"\n [xAlignment]=\"xAlignment\" [showTitle]=\"showTitle\" [inputLength]=\"quillContent?.length\">\n </pep-field-title>\n <mat-form-field appearance=\"outline\" dir=\"{{ xAlignment == 'right' ? 'rtl' : 'ltr' }}\"\n [ngClass]=\"{ 'pep-table-textarea': layoutType === 'table', 'active': active, 'ignore-disabled': disabled }\">\n <textarea [hidden]=\"true\" matInput [formControlName]=\"key\"></textarea>\n\n <ng-container *ngIf=\"inlineMode; then inlineBlock; else notInlineBlock\"></ng-container>\n\n <ng-template #inlineBlock>\n <ng-container *ngTemplateOutlet=\"quilTemplate; context: {inDialog: false}\"></ng-container>\n </ng-template>\n <ng-template #notInlineBlock>\n\n <!-- We can use the quill-view-html\n <quill-view-html class=\"body-sm rich-text-cont \"\n [ngStyle]=\"{ 'text-align': xAlignment == 'right' ? 'right' : 'left' }\" [content]=\"value | pepSafeHtml\"\n theme=\"snow\" [style.height]=\"fieldHeight\"></quill-view-html> \n -->\n\n <div class=\"body-sm rich-text-cont \"\n [ngStyle]=\"{ 'text-align': xAlignment == 'right' ? 'right' : 'left' }\"\n [innerHtml]=\"value | pepSafeHtml\" [style.height]=\"fieldHeight\">\n </div>\n </ng-template>\n <pep-textbox-icon matSuffix [value]=\"value\" [label]=\"label\" [type]=\"controlType\"\n [disabled]=\"disabled || readonly\"\n [ngClass]=\"{ 'card-one-row-icon': layoutType === 'card' && rowSpan === 1 }\"\n (iconClick)=\"openDialog()\">\n </pep-textbox-icon>\n <mat-error>\n <span class=\"body-xs\"\n [title]=\"mandatory && value.length == 0 ? ('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label }) : ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\"\n [innerText]=\"mandatory && value.length == 0 ? ('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label }) : ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\"></span>\n </mat-error>\n\n </mat-form-field>\n </div>\n </ng-template>\n\n <ng-container *ngIf=\"layoutType === 'form'\">\n <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: true }\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'card'\">\n <div class=\"pep-textarea-card-container card-flex-container\"\n [ngClass]=\"{'one-row': rowSpan === 1, 'pep-button weak': isActive && !disabled}\"\n [ngStyle]=\"{ '-webkit-line-clamp': rowSpan }\" [class]=\"'text-align-' + xAlignment\"\n (click)=\"!disabled ? cardTemplateClicked($event) : ''\" [style.height]=\"fieldHeight\">\n <span *ngIf=\"showTitle && label != ''\" class=\"body-xs title no-shrink\" title=\"{{ label }}\">{{ label\n }}:&nbsp;</span>\n <span [id]=\"key\" class=\"body-sm value wrap\" [innerHtml]=\"value | pepSafeHtml\"></span>\n <button *ngIf=\"isActive && !disabled\" class=\"pep-button weak card-edit-button self-start\"\n [ngClass]=\"{'self-end' : value && value !== ''}\" mat-button>\n <mat-icon>\n <pep-icon name=\"system_edit\">\n </pep-icon>\n </mat-icon>\n </button>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'table'\">\n <ng-container *ngIf=\"isActive && !disabled; then selectedBlock; else notSelectedBlock\"></ng-container>\n <ng-template #selectedBlock>\n <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: false }\"></ng-container>\n </ng-template>\n <ng-template #notSelectedBlock>\n <ng-container *ngIf=\"value?.length > 0; then notEmptyBlock; else emptyBlock\"></ng-container>\n <ng-template #notEmptyBlock>\n <div class=\"pep-textarea-card-container card-flex-container one-row\">\n <span [id]=\"key\" class=\"wrap\" [innerHtml]=\"value | pepSafeHtml\"></span>\n </div>\n </ng-template>\n <ng-template #emptyBlock>\n <span>&nbsp;</span>\n </ng-template>\n </ng-template>\n </ng-container>\n</ng-container>\n\n<ng-template #richTextEditorDialogTemplate>\n <div class=\"rich-text-editor-container\">\n <button mat-button [mat-dialog-close]=\"null\" class=\"pep-button icon-button md weak pull-right flip\">\n <mat-icon>\n <pep-icon name=\"system_close\">\n </pep-icon>\n </mat-icon>\n </button>\n <ng-container *ngTemplateOutlet=\"quilTemplate; context: {inDialog: true}\"></ng-container>\n <div mat-dialog-actions class=\" pep-border-top\">\n <div class=\"pep-spacing-element-negative\">\n <button mat-button [mat-dialog-close]=\"null\" class=\"pep-spacing-element pep-button md weak\">\n {{'ACTIONS.CANCEL' | translate}}\n </button>\n <button mat-button [mat-dialog-close]=\"quillContentDialog || ''\" [disabled]=\"disabled\"\n class=\"pep-spacing-element pep-button md strong \">\n {{'ACTIONS.SAVE' | translate}}\n </button>\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #quilTemplate let-inDialog=\"inDialog\">\n <quill-editor id=\"{{inDialog ? 'quill-editor-dialog' : 'quill-editor-inline'}}\"\n [class]=\"inDialog ? 'dialog-quill' : 'inline-quill'\" [ngClass]=\"{ 'rich-text-cont': !inDialog }\"\n placeholder=\"{{'RICH_TEXTAREA.HINT' | translate}}\" [ngModel]=\"inDialog ? quillContentDialog : quillContent\"\n [sanitize]=\"true\" [readOnly]=\"disabled\" [maxLength]=\"maxFieldCharacters\" [required]=\"mandatory\"\n (onEditorCreated)=\"onEditorCreated($event, inDialog)\" (onContentChanged)=\"onContentChanged($event, inDialog)\"\n (onBlur)=\"onBlur($event, inDialog)\" (onFocus)=\"onFocus($event, inDialog)\" theme=\"\">\n <div *ngIf=\"!disabled\" quill-editor-toolbar>\n <div class=\"pep-spacing-element-negative\">\n <span class=\"ql-formats\">\n <select *ngIf=\"toolbarOptions?.font\"\n class=\"pep-spacing-element pep-button icon-button md weak ql-font select-arrow\">\n <option selected></option>\n <option value=\"serif\"></option>\n <option value=\"monospace\"></option>\n </select>\n <select *ngIf=\"toolbarOptions?.size\"\n class=\"pep-spacing-element pep-button icon-button md weak ql-size select-arrow\">\n <option value=\"small\"></option>\n <option selected></option>\n <option value=\"large\"></option>\n <option value=\"huge\"></option>\n </select>\n </span>\n <span class=\"ql-formats\">\n <select *ngIf=\"toolbarOptions?.header\"\n class=\"pep-spacing-element pep-button icon-button md weak ql-header select-arrow\">\n <option value=\"1\"></option>\n <option value=\"2\"></option>\n <option value=\"3\"></option>\n <!-- \n <option value=\"4\"></option>\n <option value=\"5\"></option>\n <option value=\"6\"></option> \n -->\n <option value=\"false\" selected></option>\n </select>\n </span>\n <!-- <hr class=\"vertical-separator\" /> -->\n <span class=\"ql-formats\">\n <button mat-button *ngIf=\"toolbarOptions?.bold\"\n class=\"pep-spacing-element pep-button icon-button md weak ql-bold\"></button>\n <button mat-button *ngIf=\"toolbarOptions?.italic\"\n class=\"pep-spacing-element pep-button icon-button md weak ql-italic\"></button>\n <button mat-button *ngIf=\"toolbarOptions?.underline\"\n class=\"pep-spacing-element pep-button icon-button md weak ql-underline\"></button>\n <button mat-button *ngIf=\"toolbarOptions?.strike\"\n class=\"pep-spacing-element pep-button icon-button md weak ql-strike\"></button>\n </span>\n <span class=\"ql-formats\">\n <button mat-button *ngIf=\"toolbarOptions?.link\"\n class=\"pep-spacing-element pep-button icon-button md weak ql-link\"></button>\n <button mat-button *ngIf=\"toolbarOptions?.image\"\n class=\"pep-spacing-element pep-button icon-button md weak ql-image\"></button>\n </span>\n <!-- <hr class=\"vertical-separator\" /> -->\n <span class=\"ql-formats\">\n <button mat-button *ngIf=\"toolbarOptions?.ordered\"\n class=\"pep-spacing-element pep-button icon-button md weak ql-list\" value=\"ordered\"></button>\n <button mat-button *ngIf=\"toolbarOptions?.bullet\"\n class=\"pep-spacing-element pep-button icon-button md weak ql-list\" value=\"bullet\"></button>\n </span>\n <!-- <hr class=\"vertical-separator\" /> -->\n <span class=\"ql-formats\">\n <select *ngIf=\"toolbarOptions?.color\"\n class=\"pep-spacing-element pep-button icon-button md weak ql-color\"></select>\n <select *ngIf=\"toolbarOptions?.background\"\n class=\"pep-spacing-element pep-button icon-button md weak ql-background\"></select>\n </span>\n <span class=\"ql-formats\">\n <select *ngIf=\"toolbarOptions?.align\"\n class=\"pep-spacing-element pep-button icon-button md weak ql-align\">\n <option selected></option>\n <option value=\"center\"></option>\n <option value=\"right\"></option>\n <option value=\"justify\"></option>\n </select>\n </span>\n </div>\n </div>\n </quill-editor>\n</ng-template>",
188
188
  changeDetection: ChangeDetectionStrategy.OnPush,
189
- styles: [".pep-textarea-container,.pepperi-textarea-container{height:inherit;display:grid;align-items:center}.pep-textarea-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-flex,.pepperi-textarea-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-flex{display:flex}.pep-textarea-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-infix,.pepperi-textarea-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-infix{line-height:unset;width:100%;height:100%;overflow:hidden;display:grid!important}.pep-textarea-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-input-element,.pepperi-textarea-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-input-element{margin:0;padding:.5rem 1.5rem .5rem 0;vertical-align:unset;resize:none;width:calc(100% + 3rem);max-width:unset;overflow-y:scroll;box-sizing:border-box}.pep-textarea-container ::ng-deep .mat-form-field .mat-form-field-prefix,.pep-textarea-container ::ng-deep .mat-form-field .mat-form-field-suffix,.pepperi-textarea-container ::ng-deep .mat-form-field .mat-form-field-prefix,.pepperi-textarea-container ::ng-deep .mat-form-field .mat-form-field-suffix{align-self:flex-end!important;margin-bottom:.5rem}.pep-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-infix .mat-input-element,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-infix .mat-input-element{padding-top:.35rem}.pep-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-prefix,.pep-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-suffix,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-prefix,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-suffix{align-self:center!important;margin-bottom:unset}.pep-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-prefix .card-one-row-icon .pep-button,.pep-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-prefix .card-one-row-icon .pepperi-button,.pep-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-suffix .card-one-row-icon .pep-button,.pep-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-suffix .card-one-row-icon .pepperi-button,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-prefix .card-one-row-icon .pep-button,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-prefix .card-one-row-icon .pepperi-button,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-suffix .card-one-row-icon .pep-button,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-suffix .card-one-row-icon .pepperi-button{width:1rem!important;height:1rem!important}.pep-textarea-container.one-row ::ng-deep .mat-form-field.pep-table-textarea .mat-input-element,.pep-textarea-container.one-row ::ng-deep .mat-form-field.pepperi-table-textarea .mat-input-element,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field.pep-table-textarea .mat-input-element,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field.pepperi-table-textarea .mat-input-element{padding-top:.135rem!important}.pep-textarea-container .rich-text-cont,.pepperi-textarea-container .rich-text-cont{overflow-x:hidden;display:inline-block;vertical-align:unset;margin:0;padding:.5rem 1.5rem .5rem 0;resize:none;width:calc(100% + 3rem);max-width:unset;overflow-y:scroll;box-sizing:border-box}.pep-textarea-container.right-alignment ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-input-element,.pepperi-textarea-container.right-alignment ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-input-element{padding:.5rem 0 .5rem 1.5rem}.pep-textarea-container.right-alignment .rich-text-cont,.pepperi-textarea-container.right-alignment .rich-text-cont{padding:.5rem 0 .5rem 1.5rem}.pep-textarea-card-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-flex,.pepperi-textarea-card-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-flex{padding-left:.5rem;padding-right:.5rem}.pep-textarea-card-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-flex .mat-input-element,.pepperi-textarea-card-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-flex .mat-input-element{padding:.25rem 1.5rem .5rem 0}.pep-textarea-card-container.card-flex-container,.pepperi-textarea-card-container.card-flex-container{height:inherit;display:flex;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;white-space:unset;padding:.25rem;max-width:100%}.pep-textarea-card-container.card-flex-container.one-row .title,.pepperi-textarea-card-container.card-flex-container.one-row .title{padding-top:.25rem}.pep-textarea-card-container.card-flex-container span.value,.pepperi-textarea-card-container.card-flex-container span.value{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;white-space:unset}.pep-textarea-card-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-infix,.pepperi-textarea-card-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-infix{line-height:0!important}.pep-textarea-card-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-infix .mat-input-element,.pepperi-textarea-card-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-infix .mat-input-element{padding-top:0;padding-bottom:0}.pep-textarea-card-container.right-alignment ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-input-element,.pepperi-textarea-card-container.right-alignment ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-input-element{padding:.25rem 0 .5rem 1.5rem}.pep-report-textarea .mat-form-field-suffix,.pepperi-report-textarea .mat-form-field-suffix{right:0!important}.pep-report-textarea.readonly .mat-form-field-wrapper .mat-form-field-flex,.pepperi-report-textarea.readonly .mat-form-field-wrapper .mat-form-field-flex{padding:0}:host{height:inherit;display:block}.pep-textarea-container ::ng-deep.mat-form-field-infix,.pepperi-textarea-container ::ng-deep.mat-form-field-infix{margin-left:calc(.75rem * -1);margin-left:calc(var(--pep-spacing-md, .75rem) * -1)}.pep-textarea-container.right-alignment ::ng-deep.mat-form-field-infix,.pepperi-textarea-container.right-alignment ::ng-deep.mat-form-field-infix{margin-left:unset;margin-right:calc(.75rem * -1);margin-right:calc(var(--pep-spacing-md, .75rem) * -1)}.vertical-separator{display:none}", ".pep-textarea-container,.pepperi-textarea-container{height:inherit;display:grid;align-items:center}.pep-textarea-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-flex,.pepperi-textarea-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-flex{display:flex}.pep-textarea-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-infix,.pepperi-textarea-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-infix{line-height:unset;width:100%;height:100%;overflow:hidden;display:grid!important}.pep-textarea-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-input-element,.pepperi-textarea-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-input-element{margin:0;padding:.5rem 1.5rem .5rem 0;vertical-align:unset;resize:none;width:calc(100% + 3rem);max-width:unset;overflow-y:scroll;box-sizing:border-box}.pep-textarea-container ::ng-deep .mat-form-field .mat-form-field-prefix,.pep-textarea-container ::ng-deep .mat-form-field .mat-form-field-suffix,.pepperi-textarea-container ::ng-deep .mat-form-field .mat-form-field-prefix,.pepperi-textarea-container ::ng-deep .mat-form-field .mat-form-field-suffix{align-self:flex-end!important;margin-bottom:.5rem}.pep-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-infix .mat-input-element,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-infix .mat-input-element{padding-top:.35rem}.pep-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-prefix,.pep-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-suffix,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-prefix,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-suffix{align-self:center!important;margin-bottom:unset}.pep-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-prefix .card-one-row-icon .pep-button,.pep-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-prefix .card-one-row-icon .pepperi-button,.pep-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-suffix .card-one-row-icon .pep-button,.pep-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-suffix .card-one-row-icon .pepperi-button,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-prefix .card-one-row-icon .pep-button,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-prefix .card-one-row-icon .pepperi-button,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-suffix .card-one-row-icon .pep-button,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-suffix .card-one-row-icon .pepperi-button{width:1rem!important;height:1rem!important}.pep-textarea-container.one-row ::ng-deep .mat-form-field.pep-table-textarea .mat-input-element,.pep-textarea-container.one-row ::ng-deep .mat-form-field.pepperi-table-textarea .mat-input-element,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field.pep-table-textarea .mat-input-element,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field.pepperi-table-textarea .mat-input-element{padding-top:.135rem!important}.pep-textarea-container .rich-text-cont,.pepperi-textarea-container .rich-text-cont{overflow-x:hidden;display:inline-block;vertical-align:unset;margin:0;padding:.5rem 1.5rem .5rem 0;resize:none;width:calc(100% + 3rem);max-width:unset;overflow-y:scroll;box-sizing:border-box}.pep-textarea-container.right-alignment ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-input-element,.pepperi-textarea-container.right-alignment ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-input-element{padding:.5rem 0 .5rem 1.5rem}.pep-textarea-container.right-alignment .rich-text-cont,.pepperi-textarea-container.right-alignment .rich-text-cont{padding:.5rem 0 .5rem 1.5rem}.pep-textarea-card-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-flex,.pepperi-textarea-card-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-flex{padding-left:.5rem;padding-right:.5rem}.pep-textarea-card-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-flex .mat-input-element,.pepperi-textarea-card-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-flex .mat-input-element{padding:.25rem 1.5rem .5rem 0}.pep-textarea-card-container.card-flex-container,.pepperi-textarea-card-container.card-flex-container{height:inherit;display:flex;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;white-space:unset;padding:.25rem;max-width:100%}.pep-textarea-card-container.card-flex-container.one-row .title,.pepperi-textarea-card-container.card-flex-container.one-row .title{padding-top:.25rem}.pep-textarea-card-container.card-flex-container span.value,.pepperi-textarea-card-container.card-flex-container span.value{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;white-space:unset}.pep-textarea-card-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-infix,.pepperi-textarea-card-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-infix{line-height:0!important}.pep-textarea-card-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-infix .mat-input-element,.pepperi-textarea-card-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-infix .mat-input-element{padding-top:0;padding-bottom:0}.pep-textarea-card-container.right-alignment ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-input-element,.pepperi-textarea-card-container.right-alignment ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-input-element{padding:.25rem 0 .5rem 1.5rem}.pep-report-textarea .mat-form-field-suffix,.pepperi-report-textarea .mat-form-field-suffix{right:0!important}.pep-report-textarea.readonly .mat-form-field-wrapper .mat-form-field-flex,.pepperi-report-textarea.readonly .mat-form-field-wrapper .mat-form-field-flex{padding:0}.pep-report-textarea ::ng-deep.mat-form-field-flex,.pepperi-report-textarea ::ng-deep.mat-form-field-flex{background:transparent!important}.mat-form-field.mat-form-field-disabled .mat-form-field-flex{color:#1a1a1a;color:hsl(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%))}.right-alignment quill-editor.inline-quill::ng-deep .ql-container .ql-editor{padding-right:unset;padding-left:calc(.5rem + 1rem);padding-left:calc(var(--pep-spacing-sm, .5rem) + 1rem)}quill-editor.inline-quill::ng-deep .ql-container .ql-editor{width:calc(100% + 1rem);padding-right:calc(.5rem + 1rem);padding-right:calc(var(--pep-spacing-sm, .5rem) + 1rem)}quill-editor ::ng-deep .ql-toolbar{display:flex;padding:0!important;border:unset}quill-editor ::ng-deep .ql-toolbar .ql-transparent{opacity:.9}quill-editor ::ng-deep .ql-toolbar .ql-formats{margin-right:0!important;margin-bottom:.5rem}quill-editor ::ng-deep .ql-toolbar .ql-formats button{height:2.5rem}quill-editor ::ng-deep .ql-toolbar .ql-formats button svg{width:1.25rem!important;float:unset!important}quill-editor ::ng-deep .ql-toolbar .ql-formats button.ql-active{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);position:relative}quill-editor ::ng-deep .ql-toolbar .ql-formats button.ql-active:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}quill-editor ::ng-deep .ql-toolbar .ql-formats button.ql-active:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid #1a1a1a;border:1px solid hsl(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%))}quill-editor ::ng-deep .ql-toolbar .ql-formats button:focus{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);position:relative}quill-editor ::ng-deep .ql-toolbar .ql-formats button:focus:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}quill-editor ::ng-deep .ql-toolbar .ql-formats button:focus:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid #1a1a1a;border:1px solid hsl(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%))}quill-editor ::ng-deep .ql-toolbar .ql-formats button:active{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);position:relative}quill-editor ::ng-deep .ql-toolbar .ql-formats button:active:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}quill-editor ::ng-deep .ql-toolbar .ql-formats button:active:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid #1a1a1a;border:1px solid hsl(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%))}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-stroke{stroke:rgba(26,26,26,.8);stroke:hsla(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%),.8)}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-fill{fill:rgba(26,26,26,.8);fill:hsla(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%),.8)}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker:not(.ql-color-picker) .ql-picker-options .ql-picker-item{outline:unset!important;width:100%;height:auto;padding:.25rem .5rem;padding:var(--pep-spacing-xs,.25rem) var(--pep-spacing-sm,.5rem);display:grid}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker:not(.ql-color-picker) .ql-picker-options .ql-picker-item:hover{background:rgba(26,26,26,.16);background:hsla(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%),.16)}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker:not(.ql-color-picker) .ql-picker-options .ql-picker-item:active{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);background:rgba(26,26,26,.24)!important;background:hsla(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%),.24)!important}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker:not(.ql-color-picker) .ql-picker-options .ql-picker-item:active:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker:not(.ql-color-picker) .ql-picker-options .ql-picker-item:disabled{box-shadow:unset;border:unset;color:rgba(26,26,26,.35)!important;color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)!important;background:rgba(26,26,26,.04)!important;background:hsla(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%),.04)!important}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker:not(.ql-color-picker) .ql-picker-options .ql-picker-item:disabled:after{border:unset}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker:not(.ql-color-picker) .ql-picker-options .ql-picker-item:disabled .svg-icon{fill:rgba(26,26,26,.35);fill:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker:not(.ql-color-picker) .ql-picker-options .ql-picker-item:disabled .svg-icon.stroke{fill:unset;stroke:rgba(26,26,26,.35);stroke:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker.ql-color-picker,quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker.ql-icon-picker{width:unset}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker .ql-picker-label{outline:none;display:grid;grid-auto-flow:column;align-items:center;line-height:1rem;border:unset}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker .ql-picker-label svg{width:1.5rem}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker .ql-picker-label:after{content:url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgaWQ9InN2ZzQiCiAgIHZlcnNpb249IjEuMSIKICAgdmlld0JveD0iMCAwIDI0IDI0IgogICBoZWlnaHQ9IjE2IgogICB3aWR0aD0iMTYiPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTEwIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzOCIgLz4KICA8cGF0aAogICAgIGlkPSJwYXRoMiIKICAgICBkPSJNNS44MDAzMjE0OCw5LjI4Njc0MzU0IEwxMS4yNTQyODI0LDEzLjIwMjc1ODMgQzExLjY2NjEzMDksMTMuNTg1MDgzIDEyLjMzMzg2OTEsMTMuNTg1MDgzIDEyLjc0NTcxNzYsMTMuMjAyNzU4MyBMMTguMTk5Njc4NSw5LjI4Njc0MzU0IEMxOC42MTE1MjcsOC45MDQ0MTg4MiAxOS4yNzkyNjUyLDguOTA0NDE4ODIgMTkuNjkxMTEzNyw5LjI4Njc0MzU0IEMyMC4xMDI5NjIxLDkuNjY5MDY4MjYgMjAuMTAyOTYyMSwxMC4yODg5MzkxIDE5LjY5MTExMzcsMTAuNjcxMjYzOCBMMTMuNDkxNDM1MSwxNi40MjY1MTI5IEMxMi42Njc3MzgzLDE3LjE5MTE2MjQgMTEuMzMyMjYxNywxNy4xOTExNjI0IDEwLjUwODU2NDksMTYuNDI2NTEyOSBMNC4zMDg4ODYzMywxMC42NzEyNjM4IEMzLjg5NzAzNzg5LDEwLjI4ODkzOTEgMy44OTcwMzc4OSw5LjY2OTA2ODI2IDQuMzA4ODg2MzMsOS4yODY3NDM1NCBDNC43MjA3MzQ3OCw4LjkwNDQxODgyIDUuMzg4NDczMDMsOC45MDQ0MTg4MiA1LjgwMDMyMTQ4LDkuMjg2NzQzNTQgWiIKICAgICBmaWxsLXJ1bGU9ImV2ZW5vZGQiCiAgICAgZmlsbC1vcGFjaXR5PSIuNSIgLz4KPC9zdmc+Cg==\");cursor:pointer;display:grid;height:inherit;justify-content:center;align-content:center}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker.select-arrow .ql-picker-label:before{line-height:unset}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker.select-arrow .ql-picker-label svg{display:none}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker .ql-picker-options{border-radius:.25rem;border-radius:var(--pep-border-radius-md,.25rem);box-sizing:content-box;padding:unset;box-shadow:0 .25rem .5rem 0 rgba(26,26,26,.32);box-shadow:var(--pep-shadow-sm-offset,0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.32);border:1px solid #1a1a1a;border:1px solid hsl(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%))}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker.ql-color-picker .ql-picker-options{padding:.25rem .5rem;padding:var(--pep-spacing-xs,.25rem) var(--pep-spacing-sm,.5rem);width:140px}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker.ql-color-picker .ql-picker-options:focus{outline:unset!important}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker.ql-color-picker .ql-picker-options .ql-picker-item:focus{outline:unset!important}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker.ql-expanded{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);position:relative}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker.ql-expanded:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker.ql-expanded:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid #1a1a1a;border:1px solid hsl(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%))}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#1766a6;stroke:hsl(var(--pep-color-text-link-h,207),var(--pep-color-text-link-s,76%),var(--pep-color-text-link-l,37%))}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#1766a6;fill:hsl(var(--pep-color-text-link-h,207),var(--pep-color-text-link-s,76%),var(--pep-color-text-link-l,37%))}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker.ql-expanded .ql-picker-label{border:unset}quill-editor ::ng-deep .ql-toolbar .vertical-separator{border-color:rgba(26,26,26,.24);border-color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.24)}@media (max-width:568px){quill-editor ::ng-deep .ql-toolbar .ql-list{display:none}}@media (max-width:599px){quill-editor ::ng-deep .ql-toolbar .ql-italic,quill-editor ::ng-deep .ql-toolbar .ql-underline{display:none}}@media (max-width:460px){quill-editor ::ng-deep .ql-toolbar .ql-header,quill-editor ::ng-deep .ql-toolbar .ql-image,quill-editor ::ng-deep .ql-toolbar .ql-italic,quill-editor ::ng-deep .ql-toolbar .ql-list,quill-editor ::ng-deep .ql-toolbar .ql-underline{display:none}}quill-editor ::ng-deep .ql-container{height:16rem;border:unset;border-top:1px solid rgba(26,26,26,.24)!important;border-top:1px solid hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.24)!important}quill-editor ::ng-deep .ql-container .ql-editor{padding:.5rem 0;padding:var(--pep-spacing-sm,.5rem) 0}quill-editor ::ng-deep .ql-container .ql-editor.ql-blank:before{right:0;left:0}quill-editor ::ng-deep .ql-container .ql-tooltip.ql-flip{left:0!important}"]
189
+ styles: [".pep-textarea-container,.pepperi-textarea-container{height:inherit;display:grid;align-items:center}.pep-textarea-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-flex,.pepperi-textarea-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-flex{display:flex}.pep-textarea-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-infix,.pepperi-textarea-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-infix{line-height:unset;width:100%;height:100%;overflow:hidden;display:grid!important}.pep-textarea-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-input-element,.pepperi-textarea-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-input-element{margin:0;padding:.5rem 1.5rem .5rem 0;vertical-align:unset;resize:none;width:calc(100% + 3rem);max-width:unset;overflow-y:scroll;box-sizing:border-box}.pep-textarea-container .mat-form-field ::ng-deep .mat-form-field-prefix,.pep-textarea-container .mat-form-field ::ng-deep .mat-form-field-suffix,.pepperi-textarea-container .mat-form-field ::ng-deep .mat-form-field-prefix,.pepperi-textarea-container .mat-form-field ::ng-deep .mat-form-field-suffix{align-self:flex-end!important;margin-bottom:.5rem}.pep-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-infix .mat-input-element,.pepperi-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-infix .mat-input-element{padding-top:.35rem}.pep-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-prefix,.pep-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-suffix,.pepperi-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-prefix,.pepperi-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-suffix{align-self:center!important;margin-bottom:unset}.pep-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-prefix .card-one-row-icon .pep-button,.pep-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-prefix .card-one-row-icon .pepperi-button,.pep-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-suffix .card-one-row-icon .pep-button,.pep-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-suffix .card-one-row-icon .pepperi-button,.pepperi-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-prefix .card-one-row-icon .pep-button,.pepperi-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-prefix .card-one-row-icon .pepperi-button,.pepperi-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-suffix .card-one-row-icon .pep-button,.pepperi-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-suffix .card-one-row-icon .pepperi-button{width:1rem!important;height:1rem!important}.pep-textarea-container.one-row .mat-form-field.pep-table-textarea ::ng-deep.mat-input-element,.pep-textarea-container.one-row .mat-form-field.pepperi-table-textarea ::ng-deep.mat-input-element,.pepperi-textarea-container.one-row .mat-form-field.pep-table-textarea ::ng-deep.mat-input-element,.pepperi-textarea-container.one-row .mat-form-field.pepperi-table-textarea ::ng-deep.mat-input-element{padding-top:.135rem!important}.pep-textarea-container .rich-text-cont,.pepperi-textarea-container .rich-text-cont{overflow-x:hidden;display:inline-block;vertical-align:unset;margin:0;padding:.5rem 1.5rem .5rem 0;resize:none;width:calc(100% + 3rem);max-width:unset;overflow-y:scroll;box-sizing:border-box}.pep-textarea-container.right-alignment .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-input-element,.pepperi-textarea-container.right-alignment .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-input-element{padding:.5rem 0 .5rem 1.5rem}.pep-textarea-container.right-alignment .rich-text-cont,.pepperi-textarea-container.right-alignment .rich-text-cont{padding:.5rem 0 .5rem 1.5rem}.pep-textarea-card-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-flex,.pepperi-textarea-card-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-flex{padding-left:.5rem;padding-right:.5rem}.pep-textarea-card-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-flex .mat-input-element,.pepperi-textarea-card-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-flex .mat-input-element{padding:.25rem 1.5rem .5rem 0}.pep-textarea-card-container.card-flex-container,.pepperi-textarea-card-container.card-flex-container{height:inherit;display:flex;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;white-space:unset;padding:.25rem;max-width:100%}.pep-textarea-card-container.card-flex-container.one-row .title,.pepperi-textarea-card-container.card-flex-container.one-row .title{padding-top:.25rem}.pep-textarea-card-container.card-flex-container span.value,.pepperi-textarea-card-container.card-flex-container span.value{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;white-space:unset}.pep-textarea-card-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-infix,.pepperi-textarea-card-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-infix{line-height:0!important}.pep-textarea-card-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-infix .mat-input-element,.pepperi-textarea-card-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-infix .mat-input-element{padding-top:0;padding-bottom:0}.pep-textarea-card-container.right-alignment .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-input-element,.pepperi-textarea-card-container.right-alignment .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-input-element{padding:.25rem 0 .5rem 1.5rem}.pep-report-textarea ::ng-deep .mat-form-field-suffix,.pepperi-report-textarea ::ng-deep .mat-form-field-suffix{right:0!important}.pep-report-textarea.readonly ::ng-deep .mat-form-field-wrapper .mat-form-field-flex,.pepperi-report-textarea.readonly ::ng-deep .mat-form-field-wrapper .mat-form-field-flex{padding:0}:host{height:inherit;display:block}.pep-textarea-container ::ng-deep.mat-form-field-infix,.pepperi-textarea-container ::ng-deep.mat-form-field-infix{margin-left:calc(.75rem * -1);margin-left:calc(var(--pep-spacing-md, .75rem) * -1)}.pep-textarea-container.right-alignment ::ng-deep.mat-form-field-infix,.pepperi-textarea-container.right-alignment ::ng-deep.mat-form-field-infix{margin-left:unset;margin-right:calc(.75rem * -1);margin-right:calc(var(--pep-spacing-md, .75rem) * -1)}.vertical-separator{display:none}", ".pep-textarea-container,.pepperi-textarea-container{height:inherit;display:grid;align-items:center}.pep-textarea-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-flex,.pepperi-textarea-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-flex{display:flex}.pep-textarea-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-infix,.pepperi-textarea-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-infix{line-height:unset;width:100%;height:100%;overflow:hidden;display:grid!important}.pep-textarea-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-input-element,.pepperi-textarea-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-input-element{margin:0;padding:.5rem 1.5rem .5rem 0;vertical-align:unset;resize:none;width:calc(100% + 3rem);max-width:unset;overflow-y:scroll;box-sizing:border-box}.pep-textarea-container .mat-form-field ::ng-deep .mat-form-field-prefix,.pep-textarea-container .mat-form-field ::ng-deep .mat-form-field-suffix,.pepperi-textarea-container .mat-form-field ::ng-deep .mat-form-field-prefix,.pepperi-textarea-container .mat-form-field ::ng-deep .mat-form-field-suffix{align-self:flex-end!important;margin-bottom:.5rem}.pep-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-infix .mat-input-element,.pepperi-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-infix .mat-input-element{padding-top:.35rem}.pep-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-prefix,.pep-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-suffix,.pepperi-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-prefix,.pepperi-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-suffix{align-self:center!important;margin-bottom:unset}.pep-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-prefix .card-one-row-icon .pep-button,.pep-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-prefix .card-one-row-icon .pepperi-button,.pep-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-suffix .card-one-row-icon .pep-button,.pep-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-suffix .card-one-row-icon .pepperi-button,.pepperi-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-prefix .card-one-row-icon .pep-button,.pepperi-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-prefix .card-one-row-icon .pepperi-button,.pepperi-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-suffix .card-one-row-icon .pep-button,.pepperi-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-suffix .card-one-row-icon .pepperi-button{width:1rem!important;height:1rem!important}.pep-textarea-container.one-row .mat-form-field.pep-table-textarea ::ng-deep.mat-input-element,.pep-textarea-container.one-row .mat-form-field.pepperi-table-textarea ::ng-deep.mat-input-element,.pepperi-textarea-container.one-row .mat-form-field.pep-table-textarea ::ng-deep.mat-input-element,.pepperi-textarea-container.one-row .mat-form-field.pepperi-table-textarea ::ng-deep.mat-input-element{padding-top:.135rem!important}.pep-textarea-container .rich-text-cont,.pepperi-textarea-container .rich-text-cont{overflow-x:hidden;display:inline-block;vertical-align:unset;margin:0;padding:.5rem 1.5rem .5rem 0;resize:none;width:calc(100% + 3rem);max-width:unset;overflow-y:scroll;box-sizing:border-box}.pep-textarea-container.right-alignment .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-input-element,.pepperi-textarea-container.right-alignment .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-input-element{padding:.5rem 0 .5rem 1.5rem}.pep-textarea-container.right-alignment .rich-text-cont,.pepperi-textarea-container.right-alignment .rich-text-cont{padding:.5rem 0 .5rem 1.5rem}.pep-textarea-card-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-flex,.pepperi-textarea-card-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-flex{padding-left:.5rem;padding-right:.5rem}.pep-textarea-card-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-flex .mat-input-element,.pepperi-textarea-card-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-flex .mat-input-element{padding:.25rem 1.5rem .5rem 0}.pep-textarea-card-container.card-flex-container,.pepperi-textarea-card-container.card-flex-container{height:inherit;display:flex;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;white-space:unset;padding:.25rem;max-width:100%}.pep-textarea-card-container.card-flex-container.one-row .title,.pepperi-textarea-card-container.card-flex-container.one-row .title{padding-top:.25rem}.pep-textarea-card-container.card-flex-container span.value,.pepperi-textarea-card-container.card-flex-container span.value{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;white-space:unset}.pep-textarea-card-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-infix,.pepperi-textarea-card-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-infix{line-height:0!important}.pep-textarea-card-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-infix .mat-input-element,.pepperi-textarea-card-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-infix .mat-input-element{padding-top:0;padding-bottom:0}.pep-textarea-card-container.right-alignment .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-input-element,.pepperi-textarea-card-container.right-alignment .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-input-element{padding:.25rem 0 .5rem 1.5rem}.pep-report-textarea ::ng-deep .mat-form-field-suffix,.pepperi-report-textarea ::ng-deep .mat-form-field-suffix{right:0!important}.pep-report-textarea.readonly ::ng-deep .mat-form-field-wrapper .mat-form-field-flex,.pepperi-report-textarea.readonly ::ng-deep .mat-form-field-wrapper .mat-form-field-flex{padding:0}.pep-report-textarea ::ng-deep.mat-form-field-flex,.pepperi-report-textarea ::ng-deep.mat-form-field-flex{background:transparent!important}.mat-form-field.mat-form-field-disabled ::ng-deep.mat-form-field-flex{color:#1a1a1a;color:hsl(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%))}.right-alignment quill-editor.inline-quill::ng-deep .ql-container .ql-editor{padding-right:unset;padding-left:calc(.5rem + 1rem);padding-left:calc(var(--pep-spacing-sm, .5rem) + 1rem)}quill-editor.inline-quill::ng-deep .ql-container .ql-editor{width:calc(100% + 1rem);padding-right:calc(.5rem + 1rem);padding-right:calc(var(--pep-spacing-sm, .5rem) + 1rem)}quill-editor ::ng-deep .ql-toolbar{display:flex;padding:0!important;border:unset}quill-editor ::ng-deep .ql-toolbar .ql-transparent{opacity:.9}quill-editor ::ng-deep .ql-toolbar .ql-formats{margin-right:0!important;margin-bottom:.5rem}quill-editor ::ng-deep .ql-toolbar .ql-formats button{height:2.5rem}quill-editor ::ng-deep .ql-toolbar .ql-formats button svg{width:1.25rem!important;float:unset!important}quill-editor ::ng-deep .ql-toolbar .ql-formats button.ql-active{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);position:relative}quill-editor ::ng-deep .ql-toolbar .ql-formats button.ql-active:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}quill-editor ::ng-deep .ql-toolbar .ql-formats button.ql-active:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid #1a1a1a;border:1px solid hsl(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%))}quill-editor ::ng-deep .ql-toolbar .ql-formats button:focus{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);position:relative}quill-editor ::ng-deep .ql-toolbar .ql-formats button:focus:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}quill-editor ::ng-deep .ql-toolbar .ql-formats button:focus:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid #1a1a1a;border:1px solid hsl(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%))}quill-editor ::ng-deep .ql-toolbar .ql-formats button:active{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);position:relative}quill-editor ::ng-deep .ql-toolbar .ql-formats button:active:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}quill-editor ::ng-deep .ql-toolbar .ql-formats button:active:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid #1a1a1a;border:1px solid hsl(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%))}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-stroke{stroke:rgba(26,26,26,.8);stroke:hsla(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%),.8)}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-fill{fill:rgba(26,26,26,.8);fill:hsla(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%),.8)}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker:not(.ql-color-picker) .ql-picker-options .ql-picker-item{outline:unset!important;width:100%;height:auto;padding:.25rem .5rem;padding:var(--pep-spacing-xs,.25rem) var(--pep-spacing-sm,.5rem);display:grid}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker:not(.ql-color-picker) .ql-picker-options .ql-picker-item:hover{background:rgba(26,26,26,.16);background:hsla(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%),.16)}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker:not(.ql-color-picker) .ql-picker-options .ql-picker-item:active{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);background:rgba(26,26,26,.24)!important;background:hsla(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%),.24)!important}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker:not(.ql-color-picker) .ql-picker-options .ql-picker-item:active:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker:not(.ql-color-picker) .ql-picker-options .ql-picker-item:disabled{box-shadow:unset;border:unset;color:rgba(26,26,26,.35)!important;color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)!important;background:rgba(26,26,26,.04)!important;background:hsla(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%),.04)!important}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker:not(.ql-color-picker) .ql-picker-options .ql-picker-item:disabled:after{border:unset}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker:not(.ql-color-picker) .ql-picker-options .ql-picker-item:disabled .svg-icon{fill:rgba(26,26,26,.35);fill:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker:not(.ql-color-picker) .ql-picker-options .ql-picker-item:disabled .svg-icon.stroke{fill:unset;stroke:rgba(26,26,26,.35);stroke:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker.ql-color-picker,quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker.ql-icon-picker{width:unset}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker .ql-picker-label{outline:none;display:grid;grid-auto-flow:column;align-items:center;line-height:1rem;border:unset}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker .ql-picker-label svg{width:1.5rem}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker .ql-picker-label:after{content:url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgaWQ9InN2ZzQiCiAgIHZlcnNpb249IjEuMSIKICAgdmlld0JveD0iMCAwIDI0IDI0IgogICBoZWlnaHQ9IjE2IgogICB3aWR0aD0iMTYiPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTEwIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzOCIgLz4KICA8cGF0aAogICAgIGlkPSJwYXRoMiIKICAgICBkPSJNNS44MDAzMjE0OCw5LjI4Njc0MzU0IEwxMS4yNTQyODI0LDEzLjIwMjc1ODMgQzExLjY2NjEzMDksMTMuNTg1MDgzIDEyLjMzMzg2OTEsMTMuNTg1MDgzIDEyLjc0NTcxNzYsMTMuMjAyNzU4MyBMMTguMTk5Njc4NSw5LjI4Njc0MzU0IEMxOC42MTE1MjcsOC45MDQ0MTg4MiAxOS4yNzkyNjUyLDguOTA0NDE4ODIgMTkuNjkxMTEzNyw5LjI4Njc0MzU0IEMyMC4xMDI5NjIxLDkuNjY5MDY4MjYgMjAuMTAyOTYyMSwxMC4yODg5MzkxIDE5LjY5MTExMzcsMTAuNjcxMjYzOCBMMTMuNDkxNDM1MSwxNi40MjY1MTI5IEMxMi42Njc3MzgzLDE3LjE5MTE2MjQgMTEuMzMyMjYxNywxNy4xOTExNjI0IDEwLjUwODU2NDksMTYuNDI2NTEyOSBMNC4zMDg4ODYzMywxMC42NzEyNjM4IEMzLjg5NzAzNzg5LDEwLjI4ODkzOTEgMy44OTcwMzc4OSw5LjY2OTA2ODI2IDQuMzA4ODg2MzMsOS4yODY3NDM1NCBDNC43MjA3MzQ3OCw4LjkwNDQxODgyIDUuMzg4NDczMDMsOC45MDQ0MTg4MiA1LjgwMDMyMTQ4LDkuMjg2NzQzNTQgWiIKICAgICBmaWxsLXJ1bGU9ImV2ZW5vZGQiCiAgICAgZmlsbC1vcGFjaXR5PSIuNSIgLz4KPC9zdmc+Cg==\");cursor:pointer;display:grid;height:inherit;justify-content:center;align-content:center}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker.select-arrow .ql-picker-label:before{line-height:unset}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker.select-arrow .ql-picker-label svg{display:none}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker .ql-picker-options{border-radius:.25rem;border-radius:var(--pep-border-radius-md,.25rem);box-sizing:content-box;padding:unset;box-shadow:0 .25rem .5rem 0 rgba(26,26,26,.32);box-shadow:var(--pep-shadow-sm-offset,0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.32);border:1px solid #1a1a1a;border:1px solid hsl(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%))}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker.ql-color-picker .ql-picker-options{padding:.25rem .5rem;padding:var(--pep-spacing-xs,.25rem) var(--pep-spacing-sm,.5rem);width:140px}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker.ql-color-picker .ql-picker-options:focus{outline:unset!important}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker.ql-color-picker .ql-picker-options .ql-picker-item:focus{outline:unset!important}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker.ql-expanded{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);position:relative}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker.ql-expanded:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker.ql-expanded:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid #1a1a1a;border:1px solid hsl(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%))}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#1766a6;stroke:hsl(var(--pep-color-text-link-h,207),var(--pep-color-text-link-s,76%),var(--pep-color-text-link-l,37%))}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#1766a6;fill:hsl(var(--pep-color-text-link-h,207),var(--pep-color-text-link-s,76%),var(--pep-color-text-link-l,37%))}quill-editor ::ng-deep .ql-toolbar .ql-formats .ql-picker.ql-expanded .ql-picker-label{border:unset}quill-editor ::ng-deep .ql-toolbar .vertical-separator{border-color:rgba(26,26,26,.24);border-color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.24)}@media (max-width:568px){quill-editor ::ng-deep .ql-toolbar .ql-list{display:none}}@media (max-width:599px){quill-editor ::ng-deep .ql-toolbar .ql-italic,quill-editor ::ng-deep .ql-toolbar .ql-underline{display:none}}@media (max-width:460px){quill-editor ::ng-deep .ql-toolbar .ql-header,quill-editor ::ng-deep .ql-toolbar .ql-image,quill-editor ::ng-deep .ql-toolbar .ql-italic,quill-editor ::ng-deep .ql-toolbar .ql-list,quill-editor ::ng-deep .ql-toolbar .ql-underline{display:none}}quill-editor ::ng-deep .ql-container{height:16rem;border:unset;border-top:1px solid rgba(26,26,26,.24)!important;border-top:1px solid hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.24)!important}quill-editor ::ng-deep .ql-container .ql-editor{padding:.5rem 0;padding:var(--pep-spacing-sm,.5rem) 0}quill-editor ::ng-deep .ql-container .ql-editor.ql-blank:before{right:0;left:0}quill-editor ::ng-deep .ql-container .ql-tooltip.ql-flip{left:0!important}"]
190
190
  },] }
191
191
  ];
192
192
  PepRichHtmlTextareaComponent.ctorParameters = () => [
@@ -129,7 +129,7 @@ PepTextareaComponent.decorators = [
129
129
  selector: 'pep-textarea',
130
130
  template: "<ng-container [formGroup]=\"form\">\n <ng-template #pepTemplate let-isFormView=\"isFormView\">\n <div class=\"pep-textarea-container\" [ngClass]=\"{ 'stand-alone': standAlone,\n 'right-alignment': xAlignment == 'right', 'one-row': rowSpan === 1,\n 'pep-textarea-card-container': layoutType === 'card'}\">\n <pep-field-title *ngIf=\"renderTitle && isFormView\" [label]=\"label\" [mandatory]=\"mandatory\"\n [disabled]=\"disabled\" [maxFieldCharacters]=\"disabled || readonly ? 0 : maxFieldCharacters\"\n [xAlignment]=\"xAlignment\" [showTitle]=\"showTitle\" [inputLength]=\"input.value?.length\">\n </pep-field-title>\n <mat-form-field appearance=\"outline\" dir=\"{{ xAlignment == 'right' ? 'rtl' : 'ltr' }}\"\n [ngClass]=\"{ 'pep-table-textarea': layoutType === 'table' }\">\n <textarea #input [hidden]=\"readonly\" [id]=\"key\" class=\"body-sm\" matInput (blur)=\"onBlur($event)\"\n title=\"{{ value }}\" [value]=\"value\"\n maxlength=\"{{ maxFieldCharacters > 0 ? maxFieldCharacters : 99999 }}\"\n [ngStyle]=\"{ color: textColor, 'text-align': xAlignment == 'right' ? 'right' : 'left' }\"\n [formControlName]=\"key\" [style.height]=\"fieldHeight\">\n </textarea>\n <div *ngIf=\"readonly\" class=\"body-sm disable-text-div\" title=\"{{ value }}\"\n [ngStyle]=\"{ color: textColor, 'text-align': xAlignment == 'right' ? 'right' : 'left' }\"\n [innerHtml]=\"value | pepSafeHtml\" [style.height]=\"fieldHeight\">\n </div>\n <!-- <pep-textbox-icon *ngIf=\"xAlignment == 'right'\" matPrefix [value]=\"value\" [label]=\"label\" [type]=\"controlType\" [disabled]=\"disabled\"\n [ngClass]=\"{ 'card-one-row-icon': layoutType === 'card' && rowSpan === 1 }\" (iconClick)=\"openDialog()\">\n </pep-textbox-icon> -->\n <pep-textbox-icon matSuffix [value]=\"value\" [label]=\"label\" [type]=\"controlType\"\n [disabled]=\"disabled || readonly\"\n [ngClass]=\"{ 'card-one-row-icon': layoutType === 'card' && rowSpan === 1 }\"\n (iconClick)=\"openDialog()\">\n </pep-textbox-icon>\n <mat-error>\n <span class=\"body-xs\"\n [title]=\"mandatory && value.length == 0 ? ('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label }) : ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\"\n [innerText]=\"mandatory && value.length == 0 ? ('MESSAGES.ERROR_IS_REQUIRED' | translate: { field: label }) : ('MESSAGES.ERROR_IS_NOT_VALID' | translate: { field: label })\"></span>\n </mat-error>\n </mat-form-field>\n </div>\n </ng-template>\n\n <ng-container *ngIf=\"layoutType === 'form'\">\n <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: true }\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'card'\">\n <ng-container *ngIf=\"isInEditMode; then editBlock; else readOnlyBlock\"></ng-container>\n <ng-template #editBlock>\n <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: false }\"></ng-container>\n </ng-template>\n <ng-template #readOnlyBlock>\n <div class=\"pep-textarea-card-container card-flex-container\"\n [ngClass]=\"{'one-row': rowSpan === 1, 'pep-button weak': isActive && !disabled}\"\n [ngStyle]=\"{ color: textColor, '-webkit-line-clamp': rowSpan }\" [class]=\"'text-align-' + xAlignment\"\n (click)=\"!disabled ? cardTemplateClicked($event) : ''\" [style.height]=\"fieldHeight\">\n <span *ngIf=\" showTitle && label !=''\" class=\" body-xs title no-shrink\" title=\"{{ label }}\">{{ label\n }}&nbsp;</span>\n <span [id]=\"key\" title=\"{{ value }}\" class=\"body-sm value wrap\">{{ value }}</span>\n <button *ngIf=\"isActive && !disabled\" class=\"pep-button weak card-edit-button self-start\"\n [ngClass]=\"{'self-end' : value && value !== ''}\" mat-button>\n <mat-icon>\n <pep-icon name=\"system_edit\">\n </pep-icon>\n </mat-icon>\n </button>\n </div>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'table'\">\n <ng-container *ngIf=\"isActive && !disabled; then selectedBlock; else notSelectedBlock\"></ng-container>\n <ng-template #selectedBlock>\n <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: false }\"></ng-container>\n </ng-template>\n <ng-template #notSelectedBlock>\n <ng-container *ngIf=\"value?.length > 0; then notEmptyBlock; else emptyBlock\"></ng-container>\n <ng-template #notEmptyBlock>\n <mat-form-field appearance=\"outline\" dir=\"{{ xAlignment == 'right' ? 'rtl' : 'ltr' }}\"\n class=\"pep-report-textarea\" [ngClass]=\"{ readonly: disabled }\">\n <input matInput [id]=\"key\" class=\"body-sm pep-report-input\" [ngClass]=\"{ readonly: disabled}\"\n [ngStyle]=\"{ color: textColor, 'text-align': xAlignment == 'center' ? 'center' : xAlignment == 'right' ? 'right' : 'left' }\"\n title=\"{{ value }}\" [formControlName]=\"key\" type=\"text\" [value]=\"value\" [disabled]=\"true\" />\n <pep-textbox-icon *ngIf=\"disabled && xAlignment == 'right'\" matPrefix [value]=\"value\"\n [label]=\"label\" [type]=\"controlType\" [disabled]=\"disabled\" (iconClick)=\"openDialog()\">\n </pep-textbox-icon>\n <pep-textbox-icon *ngIf=\"disabled && (xAlignment == 'left')\" matSuffix [value]=\"value\"\n [label]=\"label\" [type]=\"controlType\" [disabled]=\"disabled\" (iconClick)=\"openDialog()\">\n </pep-textbox-icon>\n </mat-form-field>\n </ng-template>\n <ng-template #emptyBlock>\n <span>&nbsp;</span>\n </ng-template>\n </ng-template>\n </ng-container>\n</ng-container>\n\n<ng-template #textAreaDialogTemplate>\n <pep-dialog class=\"dialog-textarea-container\" [title]=\"label\">\n <ng-container pep-dialog-content>\n <textarea #dialogTextarea [readonly]=\"disabled || readonly\">{{ value }}</textarea>\n </ng-container>\n <div pep-dialog-actions class=\"pep-spacing-element-negative\">\n <ng-container *ngIf=\"disabled || readonly; then notEditableBlock; else editableBlock\">\n </ng-container>\n <ng-template #editableBlock>\n <button mat-button (click)=\"closeDialog()\" class=\"pep-spacing-element pep-button md weak\">\n {{ 'ACTIONS.CANCEL' | translate }}\n </button>\n <button mat-button class=\"pep-spacing-element pep-button md strong\"\n (click)=\"closeDialog(dialogTextarea.value)\">\n {{ 'ACTIONS.SAVE' | translate }}\n </button>\n </ng-template>\n <ng-template #notEditableBlock>\n <button mat-button (click)=\"closeDialog()\" class=\"pep-spacing-element pep-button md weak\">\n {{ 'ACTIONS.CLOSE' | translate }}\n </button>\n </ng-template>\n </div>\n </pep-dialog>\n</ng-template>",
131
131
  changeDetection: ChangeDetectionStrategy.OnPush,
132
- styles: [".pep-textarea-container,.pepperi-textarea-container{height:inherit;display:grid;align-items:center}.pep-textarea-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-flex,.pepperi-textarea-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-flex{display:flex}.pep-textarea-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-infix,.pepperi-textarea-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-infix{line-height:unset;width:100%;height:100%;overflow:hidden;display:grid!important}.pep-textarea-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-input-element,.pepperi-textarea-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-input-element{margin:0;padding:.5rem 1.5rem .5rem 0;vertical-align:unset;resize:none;width:calc(100% + 3rem);max-width:unset;overflow-y:scroll;box-sizing:border-box}.pep-textarea-container ::ng-deep .mat-form-field .mat-form-field-prefix,.pep-textarea-container ::ng-deep .mat-form-field .mat-form-field-suffix,.pepperi-textarea-container ::ng-deep .mat-form-field .mat-form-field-prefix,.pepperi-textarea-container ::ng-deep .mat-form-field .mat-form-field-suffix{align-self:flex-end!important;margin-bottom:.5rem}.pep-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-infix .mat-input-element,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-infix .mat-input-element{padding-top:.35rem}.pep-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-prefix,.pep-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-suffix,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-prefix,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-suffix{align-self:center!important;margin-bottom:unset}.pep-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-prefix .card-one-row-icon .pep-button,.pep-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-prefix .card-one-row-icon .pepperi-button,.pep-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-suffix .card-one-row-icon .pep-button,.pep-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-suffix .card-one-row-icon .pepperi-button,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-prefix .card-one-row-icon .pep-button,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-prefix .card-one-row-icon .pepperi-button,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-suffix .card-one-row-icon .pep-button,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-suffix .card-one-row-icon .pepperi-button{width:1rem!important;height:1rem!important}.pep-textarea-container.one-row ::ng-deep .mat-form-field.pep-table-textarea .mat-input-element,.pep-textarea-container.one-row ::ng-deep .mat-form-field.pepperi-table-textarea .mat-input-element,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field.pep-table-textarea .mat-input-element,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field.pepperi-table-textarea .mat-input-element{padding-top:.135rem!important}.pep-textarea-container .rich-text-cont,.pepperi-textarea-container .rich-text-cont{overflow-x:hidden;display:inline-block;vertical-align:unset;margin:0;padding:.5rem 1.5rem .5rem 0;resize:none;width:calc(100% + 3rem);max-width:unset;overflow-y:scroll;box-sizing:border-box}.pep-textarea-container.right-alignment ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-input-element,.pepperi-textarea-container.right-alignment ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-input-element{padding:.5rem 0 .5rem 1.5rem}.pep-textarea-container.right-alignment .rich-text-cont,.pepperi-textarea-container.right-alignment .rich-text-cont{padding:.5rem 0 .5rem 1.5rem}.pep-textarea-card-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-flex,.pepperi-textarea-card-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-flex{padding-left:.5rem;padding-right:.5rem}.pep-textarea-card-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-flex .mat-input-element,.pepperi-textarea-card-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-flex .mat-input-element{padding:.25rem 1.5rem .5rem 0}.pep-textarea-card-container.card-flex-container,.pepperi-textarea-card-container.card-flex-container{height:inherit;display:flex;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;white-space:unset;padding:.25rem;max-width:100%}.pep-textarea-card-container.card-flex-container.one-row .title,.pepperi-textarea-card-container.card-flex-container.one-row .title{padding-top:.25rem}.pep-textarea-card-container.card-flex-container span.value,.pepperi-textarea-card-container.card-flex-container span.value{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;white-space:unset}.pep-textarea-card-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-infix,.pepperi-textarea-card-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-infix{line-height:0!important}.pep-textarea-card-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-infix .mat-input-element,.pepperi-textarea-card-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-infix .mat-input-element{padding-top:0;padding-bottom:0}.pep-textarea-card-container.right-alignment ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-input-element,.pepperi-textarea-card-container.right-alignment ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-input-element{padding:.25rem 0 .5rem 1.5rem}.pep-report-textarea .mat-form-field-suffix,.pepperi-report-textarea .mat-form-field-suffix{right:0!important}.pep-report-textarea.readonly .mat-form-field-wrapper .mat-form-field-flex,.pepperi-report-textarea.readonly .mat-form-field-wrapper .mat-form-field-flex{padding:0}:host{height:inherit;display:grid}:host>*{align-self:center}.disable-text-div{display:inline-block;vertical-align:middle;margin:0;padding:.5rem 1.5rem .5rem 0;overflow-y:hidden}.right-alignment .disable-text-div{padding:.5rem 0 .5rem 1.5rem}.dialog-textarea-container textarea{border:none;resize:none;width:25rem;height:13rem}.dialog-textarea-container textarea:focus{outline:none}", ".pep-textarea-container,.pepperi-textarea-container{height:inherit;display:grid;align-items:center}.pep-textarea-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-flex,.pepperi-textarea-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-flex{display:flex}.pep-textarea-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-infix,.pepperi-textarea-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-infix{line-height:unset;width:100%;height:100%;overflow:hidden;display:grid!important}.pep-textarea-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-input-element,.pepperi-textarea-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-input-element{margin:0;padding:.5rem 1.5rem .5rem 0;vertical-align:unset;resize:none;width:calc(100% + 3rem);max-width:unset;overflow-y:scroll;box-sizing:border-box}.pep-textarea-container ::ng-deep .mat-form-field .mat-form-field-prefix,.pep-textarea-container ::ng-deep .mat-form-field .mat-form-field-suffix,.pepperi-textarea-container ::ng-deep .mat-form-field .mat-form-field-prefix,.pepperi-textarea-container ::ng-deep .mat-form-field .mat-form-field-suffix{align-self:flex-end!important;margin-bottom:.5rem}.pep-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-infix .mat-input-element,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-infix .mat-input-element{padding-top:.35rem}.pep-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-prefix,.pep-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-suffix,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-prefix,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-suffix{align-self:center!important;margin-bottom:unset}.pep-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-prefix .card-one-row-icon .pep-button,.pep-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-prefix .card-one-row-icon .pepperi-button,.pep-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-suffix .card-one-row-icon .pep-button,.pep-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-suffix .card-one-row-icon .pepperi-button,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-prefix .card-one-row-icon .pep-button,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-prefix .card-one-row-icon .pepperi-button,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-suffix .card-one-row-icon .pep-button,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-suffix .card-one-row-icon .pepperi-button{width:1rem!important;height:1rem!important}.pep-textarea-container.one-row ::ng-deep .mat-form-field.pep-table-textarea .mat-input-element,.pep-textarea-container.one-row ::ng-deep .mat-form-field.pepperi-table-textarea .mat-input-element,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field.pep-table-textarea .mat-input-element,.pepperi-textarea-container.one-row ::ng-deep .mat-form-field.pepperi-table-textarea .mat-input-element{padding-top:.135rem!important}.pep-textarea-container .rich-text-cont,.pepperi-textarea-container .rich-text-cont{overflow-x:hidden;display:inline-block;vertical-align:unset;margin:0;padding:.5rem 1.5rem .5rem 0;resize:none;width:calc(100% + 3rem);max-width:unset;overflow-y:scroll;box-sizing:border-box}.pep-textarea-container.right-alignment ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-input-element,.pepperi-textarea-container.right-alignment ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-input-element{padding:.5rem 0 .5rem 1.5rem}.pep-textarea-container.right-alignment .rich-text-cont,.pepperi-textarea-container.right-alignment .rich-text-cont{padding:.5rem 0 .5rem 1.5rem}.pep-textarea-card-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-flex,.pepperi-textarea-card-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-flex{padding-left:.5rem;padding-right:.5rem}.pep-textarea-card-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-flex .mat-input-element,.pepperi-textarea-card-container ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-flex .mat-input-element{padding:.25rem 1.5rem .5rem 0}.pep-textarea-card-container.card-flex-container,.pepperi-textarea-card-container.card-flex-container{height:inherit;display:flex;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;white-space:unset;padding:.25rem;max-width:100%}.pep-textarea-card-container.card-flex-container.one-row .title,.pepperi-textarea-card-container.card-flex-container.one-row .title{padding-top:.25rem}.pep-textarea-card-container.card-flex-container span.value,.pepperi-textarea-card-container.card-flex-container span.value{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;white-space:unset}.pep-textarea-card-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-infix,.pepperi-textarea-card-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-infix{line-height:0!important}.pep-textarea-card-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-infix .mat-input-element,.pepperi-textarea-card-container.one-row ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-form-field-infix .mat-input-element{padding-top:0;padding-bottom:0}.pep-textarea-card-container.right-alignment ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-input-element,.pepperi-textarea-card-container.right-alignment ::ng-deep .mat-form-field .mat-form-field-wrapper .mat-input-element{padding:.25rem 0 .5rem 1.5rem}.pep-report-textarea .mat-form-field-suffix,.pepperi-report-textarea .mat-form-field-suffix{right:0!important}.pep-report-textarea.readonly .mat-form-field-wrapper .mat-form-field-flex,.pepperi-report-textarea.readonly .mat-form-field-wrapper .mat-form-field-flex{padding:0}.pep-report-textarea ::ng-deep.mat-form-field-flex,.pepperi-report-textarea ::ng-deep.mat-form-field-flex{background:transparent!important}"]
132
+ styles: [".pep-textarea-container,.pepperi-textarea-container{height:inherit;display:grid;align-items:center}.pep-textarea-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-flex,.pepperi-textarea-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-flex{display:flex}.pep-textarea-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-infix,.pepperi-textarea-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-infix{line-height:unset;width:100%;height:100%;overflow:hidden;display:grid!important}.pep-textarea-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-input-element,.pepperi-textarea-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-input-element{margin:0;padding:.5rem 1.5rem .5rem 0;vertical-align:unset;resize:none;width:calc(100% + 3rem);max-width:unset;overflow-y:scroll;box-sizing:border-box}.pep-textarea-container .mat-form-field ::ng-deep .mat-form-field-prefix,.pep-textarea-container .mat-form-field ::ng-deep .mat-form-field-suffix,.pepperi-textarea-container .mat-form-field ::ng-deep .mat-form-field-prefix,.pepperi-textarea-container .mat-form-field ::ng-deep .mat-form-field-suffix{align-self:flex-end!important;margin-bottom:.5rem}.pep-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-infix .mat-input-element,.pepperi-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-infix .mat-input-element{padding-top:.35rem}.pep-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-prefix,.pep-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-suffix,.pepperi-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-prefix,.pepperi-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-suffix{align-self:center!important;margin-bottom:unset}.pep-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-prefix .card-one-row-icon .pep-button,.pep-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-prefix .card-one-row-icon .pepperi-button,.pep-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-suffix .card-one-row-icon .pep-button,.pep-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-suffix .card-one-row-icon .pepperi-button,.pepperi-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-prefix .card-one-row-icon .pep-button,.pepperi-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-prefix .card-one-row-icon .pepperi-button,.pepperi-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-suffix .card-one-row-icon .pep-button,.pepperi-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-suffix .card-one-row-icon .pepperi-button{width:1rem!important;height:1rem!important}.pep-textarea-container.one-row .mat-form-field.pep-table-textarea ::ng-deep.mat-input-element,.pep-textarea-container.one-row .mat-form-field.pepperi-table-textarea ::ng-deep.mat-input-element,.pepperi-textarea-container.one-row .mat-form-field.pep-table-textarea ::ng-deep.mat-input-element,.pepperi-textarea-container.one-row .mat-form-field.pepperi-table-textarea ::ng-deep.mat-input-element{padding-top:.135rem!important}.pep-textarea-container .rich-text-cont,.pepperi-textarea-container .rich-text-cont{overflow-x:hidden;display:inline-block;vertical-align:unset;margin:0;padding:.5rem 1.5rem .5rem 0;resize:none;width:calc(100% + 3rem);max-width:unset;overflow-y:scroll;box-sizing:border-box}.pep-textarea-container.right-alignment .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-input-element,.pepperi-textarea-container.right-alignment .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-input-element{padding:.5rem 0 .5rem 1.5rem}.pep-textarea-container.right-alignment .rich-text-cont,.pepperi-textarea-container.right-alignment .rich-text-cont{padding:.5rem 0 .5rem 1.5rem}.pep-textarea-card-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-flex,.pepperi-textarea-card-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-flex{padding-left:.5rem;padding-right:.5rem}.pep-textarea-card-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-flex .mat-input-element,.pepperi-textarea-card-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-flex .mat-input-element{padding:.25rem 1.5rem .5rem 0}.pep-textarea-card-container.card-flex-container,.pepperi-textarea-card-container.card-flex-container{height:inherit;display:flex;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;white-space:unset;padding:.25rem;max-width:100%}.pep-textarea-card-container.card-flex-container.one-row .title,.pepperi-textarea-card-container.card-flex-container.one-row .title{padding-top:.25rem}.pep-textarea-card-container.card-flex-container span.value,.pepperi-textarea-card-container.card-flex-container span.value{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;white-space:unset}.pep-textarea-card-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-infix,.pepperi-textarea-card-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-infix{line-height:0!important}.pep-textarea-card-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-infix .mat-input-element,.pepperi-textarea-card-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-infix .mat-input-element{padding-top:0;padding-bottom:0}.pep-textarea-card-container.right-alignment .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-input-element,.pepperi-textarea-card-container.right-alignment .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-input-element{padding:.25rem 0 .5rem 1.5rem}.pep-report-textarea ::ng-deep .mat-form-field-suffix,.pepperi-report-textarea ::ng-deep .mat-form-field-suffix{right:0!important}.pep-report-textarea.readonly ::ng-deep .mat-form-field-wrapper .mat-form-field-flex,.pepperi-report-textarea.readonly ::ng-deep .mat-form-field-wrapper .mat-form-field-flex{padding:0}:host{height:inherit;display:grid}:host>*{align-self:center}.disable-text-div{display:inline-block;vertical-align:middle;margin:0;padding:.5rem 1.5rem .5rem 0;overflow-y:hidden}.right-alignment .disable-text-div{padding:.5rem 0 .5rem 1.5rem}.dialog-textarea-container textarea{border:none;resize:none;width:25rem;height:13rem}.dialog-textarea-container textarea:focus{outline:none}", ".pep-textarea-container,.pepperi-textarea-container{height:inherit;display:grid;align-items:center}.pep-textarea-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-flex,.pepperi-textarea-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-flex{display:flex}.pep-textarea-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-infix,.pepperi-textarea-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-infix{line-height:unset;width:100%;height:100%;overflow:hidden;display:grid!important}.pep-textarea-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-input-element,.pepperi-textarea-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-input-element{margin:0;padding:.5rem 1.5rem .5rem 0;vertical-align:unset;resize:none;width:calc(100% + 3rem);max-width:unset;overflow-y:scroll;box-sizing:border-box}.pep-textarea-container .mat-form-field ::ng-deep .mat-form-field-prefix,.pep-textarea-container .mat-form-field ::ng-deep .mat-form-field-suffix,.pepperi-textarea-container .mat-form-field ::ng-deep .mat-form-field-prefix,.pepperi-textarea-container .mat-form-field ::ng-deep .mat-form-field-suffix{align-self:flex-end!important;margin-bottom:.5rem}.pep-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-infix .mat-input-element,.pepperi-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-infix .mat-input-element{padding-top:.35rem}.pep-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-prefix,.pep-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-suffix,.pepperi-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-prefix,.pepperi-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-suffix{align-self:center!important;margin-bottom:unset}.pep-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-prefix .card-one-row-icon .pep-button,.pep-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-prefix .card-one-row-icon .pepperi-button,.pep-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-suffix .card-one-row-icon .pep-button,.pep-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-suffix .card-one-row-icon .pepperi-button,.pepperi-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-prefix .card-one-row-icon .pep-button,.pepperi-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-prefix .card-one-row-icon .pepperi-button,.pepperi-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-suffix .card-one-row-icon .pep-button,.pepperi-textarea-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-suffix .card-one-row-icon .pepperi-button{width:1rem!important;height:1rem!important}.pep-textarea-container.one-row .mat-form-field.pep-table-textarea ::ng-deep.mat-input-element,.pep-textarea-container.one-row .mat-form-field.pepperi-table-textarea ::ng-deep.mat-input-element,.pepperi-textarea-container.one-row .mat-form-field.pep-table-textarea ::ng-deep.mat-input-element,.pepperi-textarea-container.one-row .mat-form-field.pepperi-table-textarea ::ng-deep.mat-input-element{padding-top:.135rem!important}.pep-textarea-container .rich-text-cont,.pepperi-textarea-container .rich-text-cont{overflow-x:hidden;display:inline-block;vertical-align:unset;margin:0;padding:.5rem 1.5rem .5rem 0;resize:none;width:calc(100% + 3rem);max-width:unset;overflow-y:scroll;box-sizing:border-box}.pep-textarea-container.right-alignment .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-input-element,.pepperi-textarea-container.right-alignment .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-input-element{padding:.5rem 0 .5rem 1.5rem}.pep-textarea-container.right-alignment .rich-text-cont,.pepperi-textarea-container.right-alignment .rich-text-cont{padding:.5rem 0 .5rem 1.5rem}.pep-textarea-card-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-flex,.pepperi-textarea-card-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-flex{padding-left:.5rem;padding-right:.5rem}.pep-textarea-card-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-flex .mat-input-element,.pepperi-textarea-card-container .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-flex .mat-input-element{padding:.25rem 1.5rem .5rem 0}.pep-textarea-card-container.card-flex-container,.pepperi-textarea-card-container.card-flex-container{height:inherit;display:flex;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;white-space:unset;padding:.25rem;max-width:100%}.pep-textarea-card-container.card-flex-container.one-row .title,.pepperi-textarea-card-container.card-flex-container.one-row .title{padding-top:.25rem}.pep-textarea-card-container.card-flex-container span.value,.pepperi-textarea-card-container.card-flex-container span.value{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;white-space:unset}.pep-textarea-card-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-infix,.pepperi-textarea-card-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-infix{line-height:0!important}.pep-textarea-card-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-infix .mat-input-element,.pepperi-textarea-card-container.one-row .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-form-field-infix .mat-input-element{padding-top:0;padding-bottom:0}.pep-textarea-card-container.right-alignment .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-input-element,.pepperi-textarea-card-container.right-alignment .mat-form-field ::ng-deep .mat-form-field-wrapper .mat-input-element{padding:.25rem 0 .5rem 1.5rem}.pep-report-textarea ::ng-deep .mat-form-field-suffix,.pepperi-report-textarea ::ng-deep .mat-form-field-suffix{right:0!important}.pep-report-textarea.readonly ::ng-deep .mat-form-field-wrapper .mat-form-field-flex,.pepperi-report-textarea.readonly ::ng-deep .mat-form-field-wrapper .mat-form-field-flex{padding:0}.pep-report-textarea ::ng-deep.mat-form-field-flex,.pepperi-report-textarea ::ng-deep.mat-form-field-flex{background:transparent!important}"]
133
133
  },] }
134
134
  ];
135
135
  PepTextareaComponent.ctorParameters = () => [
@@ -312,7 +312,7 @@ class PepImagesFilmstripComponent {
312
312
  PepImagesFilmstripComponent.decorators = [
313
313
  { type: Component, args: [{
314
314
  selector: 'pep-images-filmstrip',
315
- template: "<ng-container *ngIf=\"inDialog; then galleryDialogTemplate; else regularTemplate\"></ng-container>\n<ng-template #regularTemplate>\n <ng-container [formGroup]=\"form\">\n <div class=\"images-filmstrip-container\">\n <pep-field-title *ngIf=\"renderTitle\" [label]=\"label\" [xAlignment]=\"xAlignment\" [showTitle]=\"showTitle\">\n </pep-field-title>\n <div #galleryCont class=\"img-wrapper\" [ngClass]=\"isVertical ? 'vertical-gallery' : 'horizontal-gallery'\"\n [style.height]=\"fieldHeight\">\n <pep-button iconName=\"arrow_left_alt\" styleType=\"weak-invert\" sizeType=\"sm\" (click)=\"formGallery.prev()\"\n class=\"gallery-arrow start-arrow\">\n </pep-button>\n <gallery #formGallery id=\"{{key}}-{{uid}}-gallery\" (itemClick)=\"enlargeImage($event);\"\n [imageSize]=\"'contain'\" (indexChange)=\"indexChange($event)\" (error)=\"onError($event)\">\n </gallery>\n <pep-button iconName=\"arrow_right_alt\" styleType=\"weak-invert\" sizeType=\"sm\"\n (click)=\"formGallery.next()\" class=\"gallery-arrow end-arrow\">\n </pep-button>\n </div>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #galleryDialogTemplate>\n <div class=\"gallery-dialog\">\n <pep-dialog [title]=\"label\" [showFooter]=\"false\">\n <div pep-dialog-content #galleryDialogCont class=\"gallery-dialog-content\"\n [ngClass]=\"isVertical ? 'vertical-gallery' : 'horizontal-gallery'\">\n <pep-button iconName=\"arrow_left_alt\" styleType=\"weak-invert\" (click)=\"dialogGallery.prev()\"\n class=\"gallery-arrow start-arrow\">\n </pep-button>\n <gallery #dialogGallery id=\"{{key}}-{{uid}}-dlgGallery\" [imageSize]=\"'contain'\"\n (indexChange)=\"indexChange($event)\" (error)=\"onError($event)\">\n </gallery>\n <pep-button iconName=\"arrow_right_alt\" styleType=\"weak-invert\" (click)=\"dialogGallery.next()\"\n class=\"gallery-arrow end-arrow\">\n </pep-button>\n </div>\n </pep-dialog>\n </div>\n</ng-template>\n\n<!-- Add custom template to image items -->\n<ng-template #itemTemplate let-index=\"index\" let-type=\"type\" let-data=\"data\" let-currIndex=\"currIndex\">\n <ng-container *ngIf=\"index === currIndex\">\n <ngx-imageviewer [src]=\"data.src\">\n </ngx-imageviewer>\n </ng-container>\n</ng-template>",
315
+ template: "<ng-container *ngIf=\"inDialog; then galleryDialogTemplate; else regularTemplate\"></ng-container>\n<ng-template #regularTemplate>\n <ng-container [formGroup]=\"form\">\n <div class=\"images-filmstrip-container\">\n <pep-field-title *ngIf=\"renderTitle\" [label]=\"label\" [xAlignment]=\"xAlignment\" [showTitle]=\"showTitle\">\n </pep-field-title>\n <div #galleryCont class=\"img-wrapper\" [ngClass]=\"isVertical ? 'vertical-gallery' : 'horizontal-gallery'\"\n [style.height]=\"fieldHeight\">\n <pep-button *ngIf=\"items?.length > 1\" iconName=\"arrow_left_alt\" styleType=\"weak-invert\" sizeType=\"sm\"\n (click)=\"formGallery.prev()\" class=\"gallery-arrow start-arrow\">\n </pep-button>\n <gallery #formGallery id=\"{{key}}-{{uid}}-gallery\" (itemClick)=\"enlargeImage($event);\"\n [imageSize]=\"'contain'\" (indexChange)=\"indexChange($event)\" (error)=\"onError($event)\">\n </gallery>\n <pep-button *ngIf=\"items?.length > 1\" iconName=\"arrow_right_alt\" styleType=\"weak-invert\" sizeType=\"sm\"\n (click)=\"formGallery.next()\" class=\"gallery-arrow end-arrow\">\n </pep-button>\n </div>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #galleryDialogTemplate>\n <div class=\"gallery-dialog\">\n <pep-dialog [title]=\"label\" [showFooter]=\"false\">\n <div pep-dialog-content #galleryDialogCont class=\"gallery-dialog-content\"\n [ngClass]=\"isVertical ? 'vertical-gallery' : 'horizontal-gallery'\">\n <pep-button *ngIf=\"items?.length > 1\" iconName=\"arrow_left_alt\" styleType=\"weak-invert\"\n (click)=\"dialogGallery.prev()\" class=\"gallery-arrow start-arrow\">\n </pep-button>\n <gallery #dialogGallery id=\"{{key}}-{{uid}}-dlgGallery\" [imageSize]=\"'contain'\"\n (indexChange)=\"indexChange($event)\" (error)=\"onError($event)\">\n </gallery>\n <pep-button *ngIf=\"items?.length > 1\" iconName=\"arrow_right_alt\" styleType=\"weak-invert\"\n (click)=\"dialogGallery.next()\" class=\"gallery-arrow end-arrow\">\n </pep-button>\n </div>\n </pep-dialog>\n </div>\n</ng-template>\n\n<!-- Add custom template to image items -->\n<ng-template #itemTemplate let-index=\"index\" let-type=\"type\" let-data=\"data\" let-currIndex=\"currIndex\">\n <ng-container *ngIf=\"index === currIndex\">\n <ngx-imageviewer [src]=\"data.src\">\n </ngx-imageviewer>\n </ng-container>\n</ng-template>",
316
316
  // animations: [slideInAnimation],
317
317
  providers: [
318
318
  {