@ieeesa-npm/presentation 0.27.2 → 0.27.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/esm2022/lib/assets/constants.json +20 -0
  2. package/esm2022/lib/components/dynamic-form/dynamic-form.component.mjs +11 -3
  3. package/esm2022/lib/components/file-download/file-download.component.mjs +163 -0
  4. package/esm2022/lib/components/file-upload/file-upload.component.mjs +45 -17
  5. package/esm2022/lib/components/list/list.component.mjs +23 -3
  6. package/esm2022/lib/directives/dynamic-form-field/dynamic-form-field.directive.mjs +14 -2
  7. package/esm2022/lib/models/align-type.model.mjs +2 -1
  8. package/esm2022/lib/models/download-file.model.mjs +1 -1
  9. package/esm2022/lib/models/field-config.model.mjs +1 -1
  10. package/esm2022/lib/models/file-attachment.model.mjs +1 -1
  11. package/esm2022/lib/models/file-download-config.model.mjs +2 -0
  12. package/esm2022/lib/models/file-upload-presigned-url-res.model.mjs +1 -1
  13. package/esm2022/lib/models/file-upload-status.model.mjs +1 -1
  14. package/esm2022/lib/models/list-item.model.mjs +1 -1
  15. package/esm2022/lib/services/file-upload.service.mjs +26 -12
  16. package/esm2022/public-api.mjs +3 -1
  17. package/fesm2022/ieeesa-npm-presentation.mjs +308 -55
  18. package/fesm2022/ieeesa-npm-presentation.mjs.map +1 -1
  19. package/lib/components/chips/chips.component.d.ts +18 -0
  20. package/lib/components/dynamic-form/dynamic-form.component.d.ts +5 -1
  21. package/lib/components/file-download/file-download.component.d.ts +377 -0
  22. package/lib/components/file-upload/file-upload.component.d.ts +43 -10
  23. package/lib/components/list/list.component.d.ts +12 -1
  24. package/lib/directives/dynamic-form-field/dynamic-form-field.directive.d.ts +5 -1
  25. package/lib/models/align-type.model.d.ts +2 -1
  26. package/lib/models/download-file.model.d.ts +1 -1
  27. package/lib/models/field-config.model.d.ts +1 -1
  28. package/lib/models/file-attachment.model.d.ts +5 -3
  29. package/lib/models/file-download-config.model.d.ts +9 -0
  30. package/lib/models/file-upload-presigned-url-res.model.d.ts +18 -0
  31. package/lib/models/file-upload-status.model.d.ts +1 -1
  32. package/lib/models/list-item.model.d.ts +2 -0
  33. package/lib/services/file-upload.service.d.ts +28 -9
  34. package/package.json +1 -1
  35. package/public-api.d.ts +2 -0
  36. package/src/lib/assets/constants.json +20 -0
@@ -0,0 +1,163 @@
1
+ import { Component, EventEmitter, Input, Output, ViewEncapsulation, } from '@angular/core';
2
+ import { MatListModule } from '@angular/material/list';
3
+ import { CommonModule } from '@angular/common';
4
+ import { MatIconModule } from '@angular/material/icon';
5
+ import * as constants from '../../assets/constants.json';
6
+ import { IconButtonComponent } from '../icon-button/icon-button.component';
7
+ import { Subject, takeUntil } from 'rxjs';
8
+ import { saveAs } from 'file-saver';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "../../services/form-utility.service";
11
+ import * as i2 from "@ieeesa-npm/shared";
12
+ import * as i3 from "../../services/file-upload.service";
13
+ import * as i4 from "@angular/common";
14
+ import * as i5 from "@angular/material/list";
15
+ export class FileDownloadComponent {
16
+ constructor(
17
+ // eslint-disable-next-line no-unused-vars
18
+ formUtilityService,
19
+ // eslint-disable-next-line no-unused-vars
20
+ sharedService,
21
+ // eslint-disable-next-line no-unused-vars
22
+ fileUploadService // eslint-disable-next-line no-empty-function
23
+ ) {
24
+ this.formUtilityService = formUtilityService;
25
+ this.sharedService = sharedService;
26
+ this.fileUploadService = fileUploadService;
27
+ this.constants = constants;
28
+ this.destroy$ = new Subject();
29
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
30
+ this.downloadFiles = [];
31
+ this.downloadSelectedFile = new EventEmitter();
32
+ this.deleteSelectedFile = new EventEmitter();
33
+ this.fileDeleteBtn = this.constants?.fileDownload?.buttons[0];
34
+ }
35
+ /**
36
+ * Sets API base URL to file upload service
37
+ * @memberof FileDownloadComponent
38
+ */
39
+ ngOnInit() {
40
+ this.fileUploadService.setApiBaseUrl(this.apiBaseUrl);
41
+ }
42
+ /**
43
+ * Gets the download AWS pre-signed URL from API on button click or emit the downloadSelectedFile if isNotDownloadFileInternally flg is true.
44
+ * @param {File } file
45
+ * @memberof FileDownloadedComponent
46
+ */
47
+ onDownloadFile(file) {
48
+ if (this.fileDownloadConfig?.isNotDownloadFileInternally) {
49
+ this.downloadSelectedFile.emit(file);
50
+ }
51
+ else {
52
+ this.getFileDownloadPresignedUrls(file);
53
+ }
54
+ }
55
+ /**
56
+ * Retrieves pre-signed URL for downloading the selected file from Amazon S3 bucket.
57
+ * @memberof FileDownloadedComponent
58
+ */
59
+ getFileDownloadPresignedUrls(file) {
60
+ this.fileUploadService
61
+ .getFileDownloadPresignedUrls(file, this.isPublicAPI, this.domainUrl, this.fileDownloadConfig?.downloadUri)
62
+ .pipe(takeUntil(this.destroy$))
63
+ .subscribe({
64
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
65
+ next: (response) => {
66
+ if (response.body === 'string') {
67
+ this.preSignedUrl = response.body;
68
+ this.fileName = file.fileName;
69
+ }
70
+ else {
71
+ this.preSignedUrl = response.body.preSignedUrl;
72
+ this.fileName = response.body.fileName;
73
+ }
74
+ if (this.preSignedUrl)
75
+ this.downloadFileFromPresignedUrl(this.preSignedUrl, this.fileName);
76
+ },
77
+ error: (error) => {
78
+ this.sharedService.handleErrors(error, this.constants?.fileDownload?.message.errors);
79
+ },
80
+ });
81
+ }
82
+ /**
83
+ * Removes the selected file from the downloaded files list.
84
+ * @param {number} index
85
+ * @param {File } file
86
+ * @memberof FileDownloadedComponent
87
+ */
88
+ onDeleteFile(file, index) {
89
+ if (this.fileDownloadConfig?.isNotDeleteFileInternally) {
90
+ this.deleteSelectedFile.emit(file);
91
+ }
92
+ else {
93
+ this.deleteFile(this.downloadFiles[index]?.attachmentId, index);
94
+ }
95
+ }
96
+ /**
97
+ * Deletes file by given agendaAttachmentId
98
+ * @param {string} agendaAttachmentId
99
+ * @memberof UploadAttachmentsComponent
100
+ */
101
+ deleteFile(agendaAttachmentId, index) {
102
+ this.fileUploadService
103
+ .deleteFile(`${this.fileDownloadConfig.deleteUri}${agendaAttachmentId}`)
104
+ .pipe(takeUntil(this.destroy$))
105
+ .subscribe({
106
+ // eslint-disable-next-line no-empty-function, @typescript-eslint/no-empty-function
107
+ next: () => {
108
+ this.downloadFiles.splice(index, 1);
109
+ },
110
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
111
+ error: (error) => {
112
+ this.sharedService.handleErrors(error, this.constants?.fileDownload?.message.errors);
113
+ },
114
+ });
115
+ }
116
+ /**
117
+ * Returns unique identifier for the file list.
118
+ * @param {number} index
119
+ * @return {(number | string)}
120
+ * @memberof FileDownloadComponent
121
+ */
122
+ trackByFn(index) {
123
+ return index;
124
+ }
125
+ /**
126
+ * Cleans up resources when the component is destroyed.
127
+ * @memberof FileDownloadComponent
128
+ */
129
+ ngOnDestroy() {
130
+ this.destroy$.next(true);
131
+ this.destroy$.unsubscribe();
132
+ }
133
+ /**
134
+ * Download the file using generated presigned Url.
135
+ * @param {string} fileDownloadPresignedUrl
136
+ * @param {string} fileName
137
+ * @memberof FileDownloadComponent
138
+ */
139
+ downloadFileFromPresignedUrl(fileDownloadPresignedUrl, fileName) {
140
+ saveAs(fileDownloadPresignedUrl, fileName);
141
+ }
142
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileDownloadComponent, deps: [{ token: i1.FormUtilityService }, { token: i2.SharedService }, { token: i3.FileUploadService }], target: i0.ɵɵFactoryTarget.Component }); }
143
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FileDownloadComponent, isStandalone: true, selector: "ieeesa-file-download", inputs: { downloadFiles: "downloadFiles", fileDownloadConfig: "fileDownloadConfig", isPublicAPI: "isPublicAPI", domainUrl: "domainUrl", apiBaseUrl: "apiBaseUrl" }, outputs: { downloadSelectedFile: "downloadSelectedFile", deleteSelectedFile: "deleteSelectedFile" }, ngImport: i0, template: "<div class=\"ieeesa-file-download\">\r\n <mat-list\r\n [ngClass]=\"\r\n fileDownloadConfig?.isAlignedVertical\r\n ? ''\r\n : 'ieeesa-file-download__horizantal-list-item'\r\n \"\r\n >\r\n <ng-container\r\n *ngFor=\"let item of downloadFiles; let index = index; trackBy: trackByFn\"\r\n >\r\n <mat-list-item\r\n [ngClass]=\"\r\n fileDownloadConfig?.isAlignedVertical ? '' : 'download-list-item'\r\n \"\r\n >\r\n <button\r\n mat-button\r\n [disabled]=\"fileDownloadConfig?.isFileDownloadNotNeeded\"\r\n (click)=\"onDownloadFile(item)\"\r\n class=\"ieeesa-btn-label-lg-bold-16 ieeesa-file-download__download-file-name\"\r\n >\r\n {{ item.fileName }}\r\n </button>\r\n <ieeesa-icon-button\r\n *ngIf=\"fileDownloadConfig?.isDeleteNeeded\"\r\n class=\"ieeesa-file-download--download-btn\"\r\n [iconButton]=\"fileDeleteBtn\"\r\n [isLabelNeeded]=\"false\"\r\n (iconButtonClick)=\"onDeleteFile(item, index)\"\r\n >\r\n </ieeesa-icon-button>\r\n </mat-list-item>\r\n </ng-container>\r\n </mat-list>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-file-download__horizantal-list-item{display:flex!important;flex-flow:row wrap}.ieeesa-file-download .mat-mdc-list-base .mat-mdc-list-item.download-list-item{display:initial;width:auto;height:auto;padding:0 .375em!important}.ieeesa-file-download__download-file-name{padding:0!important;white-space:normal;border:none;background:none;min-width:auto!important;text-decoration:underline;font-size:.875rem!important}.ieeesa-file-download--download-btn .ieeesa-icon-button__1{padding:0!important;margin-left:.25em}.ieeesa-file-download--download-btn .ieeesa-icon-button__svg{height:1.5em;width:1.5em;margin-top:.25em}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i5.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: IconButtonComponent, selector: "ieeesa-icon-button", inputs: ["iconButton", "isLabelNeeded"], outputs: ["iconButtonClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
144
+ }
145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileDownloadComponent, decorators: [{
146
+ type: Component,
147
+ args: [{ selector: 'ieeesa-file-download', standalone: true, imports: [CommonModule, MatListModule, MatIconModule, IconButtonComponent], encapsulation: ViewEncapsulation.None, template: "<div class=\"ieeesa-file-download\">\r\n <mat-list\r\n [ngClass]=\"\r\n fileDownloadConfig?.isAlignedVertical\r\n ? ''\r\n : 'ieeesa-file-download__horizantal-list-item'\r\n \"\r\n >\r\n <ng-container\r\n *ngFor=\"let item of downloadFiles; let index = index; trackBy: trackByFn\"\r\n >\r\n <mat-list-item\r\n [ngClass]=\"\r\n fileDownloadConfig?.isAlignedVertical ? '' : 'download-list-item'\r\n \"\r\n >\r\n <button\r\n mat-button\r\n [disabled]=\"fileDownloadConfig?.isFileDownloadNotNeeded\"\r\n (click)=\"onDownloadFile(item)\"\r\n class=\"ieeesa-btn-label-lg-bold-16 ieeesa-file-download__download-file-name\"\r\n >\r\n {{ item.fileName }}\r\n </button>\r\n <ieeesa-icon-button\r\n *ngIf=\"fileDownloadConfig?.isDeleteNeeded\"\r\n class=\"ieeesa-file-download--download-btn\"\r\n [iconButton]=\"fileDeleteBtn\"\r\n [isLabelNeeded]=\"false\"\r\n (iconButtonClick)=\"onDeleteFile(item, index)\"\r\n >\r\n </ieeesa-icon-button>\r\n </mat-list-item>\r\n </ng-container>\r\n </mat-list>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-file-download__horizantal-list-item{display:flex!important;flex-flow:row wrap}.ieeesa-file-download .mat-mdc-list-base .mat-mdc-list-item.download-list-item{display:initial;width:auto;height:auto;padding:0 .375em!important}.ieeesa-file-download__download-file-name{padding:0!important;white-space:normal;border:none;background:none;min-width:auto!important;text-decoration:underline;font-size:.875rem!important}.ieeesa-file-download--download-btn .ieeesa-icon-button__1{padding:0!important;margin-left:.25em}.ieeesa-file-download--download-btn .ieeesa-icon-button__svg{height:1.5em;width:1.5em;margin-top:.25em}\n"] }]
148
+ }], ctorParameters: function () { return [{ type: i1.FormUtilityService }, { type: i2.SharedService }, { type: i3.FileUploadService }]; }, propDecorators: { downloadFiles: [{
149
+ type: Input
150
+ }], fileDownloadConfig: [{
151
+ type: Input
152
+ }], isPublicAPI: [{
153
+ type: Input
154
+ }], domainUrl: [{
155
+ type: Input
156
+ }], downloadSelectedFile: [{
157
+ type: Output
158
+ }], deleteSelectedFile: [{
159
+ type: Output
160
+ }], apiBaseUrl: [{
161
+ type: Input
162
+ }] } });
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kb3dubG9hZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2ZpbGUtZG93bmxvYWQvZmlsZS1kb3dubG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2ZpbGUtZG93bmxvYWQvZmlsZS1kb3dubG9hZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEtBQUssU0FBUyxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRzNFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUM7Ozs7Ozs7QUFVcEMsTUFBTSxPQUFPLHFCQUFxQjtJQWNoQztJQUNFLDBDQUEwQztJQUNuQyxrQkFBc0M7SUFDN0MsMENBQTBDO0lBQ25DLGFBQTRCO0lBQ25DLDBDQUEwQztJQUNsQyxpQkFBb0MsQ0FBQyw2Q0FBNkM7O1FBSm5GLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFFdEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFFM0Isc0JBQWlCLEdBQWpCLGlCQUFp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QkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNJLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBRUUsVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybVV0aWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZm9ybS11dGlsaXR5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZpbGUtdXBsb2FkLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0ICogYXMgY29uc3RhbnRzIGZyb20gJy4uLy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcbmltcG9ydCB7IEljb25CdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9pY29uLWJ1dHRvbi9pY29uLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGaWxlRG93bmxvYWRDb25maWcgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmlsZS1kb3dubG9hZC1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBEb3dubG9hZEZpbGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvZG93bmxvYWQtZmlsZS5tb2RlbCc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTaGFyZWRTZXJ2aWNlIH0gZnJvbSAnQGllZWVzYS1ucG0vc2hhcmVkJztcclxuaW1wb3J0IHsgc2F2ZUFzIH0gZnJvbSAnZmlsZS1zYXZlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2llZWVzYS1maWxlLWRvd25sb2FkJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdExpc3RNb2R1bGUsIE1hdEljb25Nb2R1bGUsIEljb25CdXR0b25Db21wb25lbnRdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLWRvd25sb2FkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9maWxlLWRvd25sb2FkLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbGVEb3dubG9hZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBjb25zdGFudHMgPSBjb25zdGFudHM7XHJcbiAgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIHByZVNpZ25lZFVybCE6IHN0cmluZztcclxuICBmaWxlTmFtZSE6IHN0cmluZztcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIEBJbnB1dCgpIGRvd25sb2FkRmlsZXM6IEZpbGUgfCBGaWxlTGlzdCB8IGFueSB8IERvd25sb2FkRmlsZVtdID0gW107XHJcbiAgQElucHV0KCkgZmlsZURvd25sb2FkQ29uZmlnITogRmlsZURvd25sb2FkQ29uZmlnO1xyXG4gIEBJbnB1dCgpIGlzUHVibGljQVBJPzogYm9vbGVhbjtcclxuICBASW5wdXQoKSBkb21haW5Vcmw/OiBzdHJpbmc7XHJcbiAgQE91dHB1dCgpIGRvd25sb2FkU2VsZWN0ZWRGaWxlID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlIHwgRG93bmxvYWRGaWxlPigpO1xyXG4gIEBPdXRwdXQoKSBkZWxldGVTZWxlY3RlZEZpbGUgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGUgfCBEb3dubG9hZEZpbGU+KCk7XHJcbiAgZmlsZURlbGV0ZUJ0biA9IHRoaXMuY29uc3RhbnRzPy5maWxlRG93bmxvYWQ/LmJ1dHRvbnNbMF07XHJcbiAgQElucHV0KCkgYXBpQmFzZVVybCE6IHN0cmluZztcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHVibGljIGZvcm1VdGlsaXR5U2VydmljZTogRm9ybVV0aWxpdHlTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwdWJsaWMgc2hhcmVkU2VydmljZTogU2hhcmVkU2VydmljZSxcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBmaWxlVXBsb2FkU2VydmljZTogRmlsZVVwbG9hZFNlcnZpY2UgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWVtcHR5LWZ1bmN0aW9uXHJcbiAgKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIEFQSSBiYXNlIFVSTCB0byBmaWxlIHVwbG9hZCBzZXJ2aWNlXHJcbiAgICogQG1lbWJlcm9mIEZpbGVEb3dubG9hZENvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5maWxlVXBsb2FkU2VydmljZS5zZXRBcGlCYXNlVXJsKHRoaXMuYXBpQmFzZVVybCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXRzIHRoZSBkb3dubG9hZCBBV1MgcHJlLXNpZ25lZCBVUkwgZnJvbSBBUEkgb24gYnV0dG9uIGNsaWNrIG9yIGVtaXQgdGhlIGRvd25sb2FkU2VsZWN0ZWRGaWxlIGlmIGlzTm90RG93bmxvYWRGaWxlSW50ZXJuYWxseSBmbGcgaXMgdHJ1ZS5cclxuICAgKiBAcGFyYW0ge0ZpbGUgfSBmaWxlXHJcbiAgICogQG1lbWJlcm9mIEZpbGVEb3dubG9hZGVkQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25Eb3dubG9hZEZpbGUoZmlsZTogRmlsZSB8IERvd25sb2FkRmlsZSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZmlsZURvd25sb2FkQ29uZmlnPy5pc05vdERvd25sb2FkRmlsZUludGVybmFsbHkpIHtcclxuICAgICAgdGhpcy5kb3dubG9hZFNlbGVjdGVkRmlsZS5lbWl0KGZpbGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5nZXRGaWxlRG93bmxvYWRQcmVzaWduZWRVcmxzKGZpbGUpO1xyXG4gICAgfVxyXG4gIH1cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgcHJlLXNpZ25lZCBVUkwgZm9yIGRvd25sb2FkaW5nIHRoZSBzZWxlY3RlZCBmaWxlIGZyb20gQW1hem9uIFMzIGJ1Y2tldC5cclxuICAgKiBAbWVtYmVyb2YgRmlsZURvd25sb2FkZWRDb21wb25lbnRcclxuICAgKi9cclxuICBnZXRGaWxlRG93bmxvYWRQcmVzaWduZWRVcmxzKGZpbGU6IEZpbGUgfCBEb3dubG9hZEZpbGUpOiB2b2lkIHtcclxuICAgIHRoaXMuZmlsZVVwbG9hZFNlcnZpY2VcclxuICAgICAgLmdldEZpbGVEb3dubG9hZFByZXNpZ25lZFVybHMoXHJcbiAgICAgICAgZmlsZSxcclxuICAgICAgICB0aGlzLmlzUHVibGljQVBJLFxyXG4gICAgICAgIHRoaXMuZG9tYWluVXJsLFxyXG4gICAgICAgIHRoaXMuZmlsZURvd25sb2FkQ29uZmlnPy5kb3dubG9hZFVyaVxyXG4gICAgICApXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgICBuZXh0OiAocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlLmJvZHkgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgIHRoaXMucHJlU2lnbmVkVXJsID0gcmVzcG9uc2UuYm9keTtcclxuICAgICAgICAgICAgdGhpcy5maWxlTmFtZSA9IChmaWxlIGFzIERvd25sb2FkRmlsZSkuZmlsZU5hbWU7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnByZVNpZ25lZFVybCA9IHJlc3BvbnNlLmJvZHkucHJlU2lnbmVkVXJsO1xyXG4gICAgICAgICAgICB0aGlzLmZpbGVOYW1lID0gcmVzcG9uc2UuYm9keS5maWxlTmFtZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICh0aGlzLnByZVNpZ25lZFVybClcclxuICAgICAgICAgICAgdGhpcy5kb3dubG9hZEZpbGVGcm9tUHJlc2lnbmVkVXJsKHRoaXMucHJlU2lnbmVkVXJsLCB0aGlzLmZpbGVOYW1lKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyb3I6IEVycm9yKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNoYXJlZFNlcnZpY2UuaGFuZGxlRXJyb3JzKFxyXG4gICAgICAgICAgICBlcnJvcixcclxuICAgICAgICAgICAgdGhpcy5jb25zdGFudHM/LmZpbGVEb3dubG9hZD8ubWVzc2FnZS5lcnJvcnNcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmVzIHRoZSBzZWxlY3RlZCBmaWxlIGZyb20gdGhlIGRvd25sb2FkZWQgZmlsZXMgbGlzdC5cclxuICAgKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcclxuICAgKiBAcGFyYW0ge0ZpbGUgfSBmaWxlXHJcbiAgICogQG1lbWJlcm9mIEZpbGVEb3dubG9hZGVkQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25EZWxldGVGaWxlKGZpbGU6IEZpbGUgfCBEb3dubG9hZEZpbGUsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmZpbGVEb3dubG9hZENvbmZpZz8uaXNOb3REZWxldGVGaWxlSW50ZXJuYWxseSkge1xyXG4gICAgICB0aGlzLmRlbGV0ZVNlbGVjdGVkRmlsZS5lbWl0KGZpbGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kZWxldGVGaWxlKHRoaXMuZG93bmxvYWRGaWxlc1tpbmRleF0/LmF0dGFjaG1lbnRJZCwgaW5kZXgpO1xyXG4gICAgfVxyXG4gIH1cclxuICAvKipcclxuICAgKiBEZWxldGVzIGZpbGUgYnkgZ2l2ZW4gYWdlbmRhQXR0YWNobWVudElkXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFnZW5kYUF0dGFjaG1lbnRJZFxyXG4gICAqIEBtZW1iZXJvZiBVcGxvYWRBdHRhY2htZW50c0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIGRlbGV0ZUZpbGUoYWdlbmRhQXR0YWNobWVudElkOiBzdHJpbmcsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuZmlsZVVwbG9hZFNlcnZpY2VcclxuICAgICAgLmRlbGV0ZUZpbGUoYCR7dGhpcy5maWxlRG93bmxvYWRDb25maWcuZGVsZXRlVXJpfSR7YWdlbmRhQXR0YWNobWVudElkfWApXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWVtcHR5LWZ1bmN0aW9uLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cclxuICAgICAgICBuZXh0OiAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmRvd25sb2FkRmlsZXMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgICAgZXJyb3I6IChlcnJvcjogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNoYXJlZFNlcnZpY2UuaGFuZGxlRXJyb3JzKFxyXG4gICAgICAgICAgICBlcnJvcixcclxuICAgICAgICAgICAgdGhpcy5jb25zdGFudHM/LmZpbGVEb3dubG9hZD8ubWVzc2FnZS5lcnJvcnNcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBmaWxlIGxpc3QuXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGluZGV4XHJcbiAgICogQHJldHVybiB7KG51bWJlciB8IHN0cmluZyl9XHJcbiAgICogQG1lbWJlcm9mIEZpbGVEb3dubG9hZENvbXBvbmVudFxyXG4gICAqL1xyXG4gIHRyYWNrQnlGbihpbmRleDogbnVtYmVyKTogbnVtYmVyIHwgc3RyaW5nIHtcclxuICAgIHJldHVybiBpbmRleDtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQ2xlYW5zIHVwIHJlc291cmNlcyB3aGVuIHRoZSBjb21wb25lbnQgaXMgZGVzdHJveWVkLlxyXG4gICAqIEBtZW1iZXJvZiBGaWxlRG93bmxvYWRDb21wb25lbnRcclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERvd25sb2FkIHRoZSBmaWxlIHVzaW5nIGdlbmVyYXRlZCBwcmVzaWduZWQgVXJsLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmaWxlRG93bmxvYWRQcmVzaWduZWRVcmxcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gZmlsZU5hbWVcclxuICAgKiBAbWVtYmVyb2YgRmlsZURvd25sb2FkQ29tcG9uZW50XHJcbiAgICovXHJcbiAgZG93bmxvYWRGaWxlRnJvbVByZXNpZ25lZFVybChcclxuICAgIGZpbGVEb3dubG9hZFByZXNpZ25lZFVybDogc3RyaW5nLFxyXG4gICAgZmlsZU5hbWU6IHN0cmluZ1xyXG4gICk6IHZvaWQge1xyXG4gICAgc2F2ZUFzKGZpbGVEb3dubG9hZFByZXNpZ25lZFVybCwgZmlsZU5hbWUpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiaWVlZXNhLWZpbGUtZG93bmxvYWRcIj5cclxuICA8bWF0LWxpc3RcclxuICAgIFtuZ0NsYXNzXT1cIlxyXG4gICAgICBmaWxlRG93bmxvYWRDb25maWc/LmlzQWxpZ25lZFZlcnRpY2FsXHJcbiAgICAgICAgPyAnJ1xyXG4gICAgICAgIDogJ2llZWVzYS1maWxlLWRvd25sb2FkX19ob3JpemFudGFsLWxpc3QtaXRlbSdcclxuICAgIFwiXHJcbiAgPlxyXG4gICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkb3dubG9hZEZpbGVzOyBsZXQgaW5kZXggPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUZuXCJcclxuICAgID5cclxuICAgICAgPG1hdC1saXN0LWl0ZW1cclxuICAgICAgICBbbmdDbGFzc109XCJcclxuICAgICAgICAgIGZpbGVEb3dubG9hZENvbmZpZz8uaXNBbGlnbmVkVmVydGljYWwgPyAnJyA6ICdkb3dubG9hZC1saXN0LWl0ZW0nXHJcbiAgICAgICAgXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgIG1hdC1idXR0b25cclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJmaWxlRG93bmxvYWRDb25maWc/LmlzRmlsZURvd25sb2FkTm90TmVlZGVkXCJcclxuICAgICAgICAgIChjbGljayk9XCJvbkRvd25sb2FkRmlsZShpdGVtKVwiXHJcbiAgICAgICAgICBjbGFzcz1cImllZWVzYS1idG4tbGFiZWwtbGctYm9sZC0xNiBpZWVlc2EtZmlsZS1kb3dubG9hZF9fZG93bmxvYWQtZmlsZS1uYW1lXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICB7eyBpdGVtLmZpbGVOYW1lIH19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGllZWVzYS1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgKm5nSWY9XCJmaWxlRG93bmxvYWRDb25maWc/LmlzRGVsZXRlTmVlZGVkXCJcclxuICAgICAgICAgIGNsYXNzPVwiaWVlZXNhLWZpbGUtZG93bmxvYWQtLWRvd25sb2FkLWJ0blwiXHJcbiAgICAgICAgICBbaWNvbkJ1dHRvbl09XCJmaWxlRGVsZXRlQnRuXCJcclxuICAgICAgICAgIFtpc0xhYmVsTmVlZGVkXT1cImZhbHNlXCJcclxuICAgICAgICAgIChpY29uQnV0dG9uQ2xpY2spPVwib25EZWxldGVGaWxlKGl0ZW0sIGluZGV4KVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvaWVlZXNhLWljb24tYnV0dG9uPlxyXG4gICAgICA8L21hdC1saXN0LWl0ZW0+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L21hdC1saXN0PlxyXG48L2Rpdj5cclxuIl19