@ieeesa-npm/presentation 0.15.3 → 0.15.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.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HttpClient, HttpEventType, } from '@angular/common/http';
|
|
1
|
+
import { HttpClient, HttpEventType, HttpHeaders, } from '@angular/common/http';
|
|
2
2
|
import { Injectable } from '@angular/core';
|
|
3
3
|
import { AlertType, } from '@ieeesa-npm/utility';
|
|
4
4
|
import { catchError, last, map, Subject, takeUntil, tap, } from 'rxjs';
|
|
@@ -64,11 +64,17 @@ export class FileUploadService {
|
|
|
64
64
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
65
65
|
uploadFileToS3(presignedUrl, file) {
|
|
66
66
|
this.loaderNotificationService.show();
|
|
67
|
+
let fileType = '';
|
|
68
|
+
if (Object?.values(file)?.length)
|
|
69
|
+
fileType = Object?.values(file)[0]?.type;
|
|
70
|
+
else
|
|
71
|
+
fileType = file.type;
|
|
72
|
+
const headers = new HttpHeaders().set('Content-Type', fileType);
|
|
67
73
|
return this.httpClient
|
|
68
74
|
.put(presignedUrl, this.fileByteArray, {
|
|
69
75
|
reportProgress: true,
|
|
70
76
|
observe: 'events',
|
|
71
|
-
headers:
|
|
77
|
+
headers: headers,
|
|
72
78
|
})
|
|
73
79
|
.pipe(takeUntil(this.destroy$), map((event) => this.getEventMessage(event, file)), tap((message) => this.showProgress(message)), last(), catchError((errorRes) => {
|
|
74
80
|
this.loaderNotificationService.hide();
|
|
@@ -263,4 +269,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
263
269
|
providedIn: 'root',
|
|
264
270
|
}]
|
|
265
271
|
}], ctorParameters: function () { return [{ type: i1.HttpService }, { type: i2.HttpBackend }, { type: i1.AlertsService }, { type: i1.LoaderNotificationService }]; } });
|
|
266
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXNlbnRhdGlvbi9zcmMvbGliL3NlcnZpY2VzL2ZpbGUtdXBsb2FkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFVBQVUsRUFFVixhQUFhLEdBQ2QsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFFTCxTQUFTLEdBR1YsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQ0wsVUFBVSxFQUNWLElBQUksRUFDSixHQUFHLEVBRUgsT0FBTyxFQUNQLFNBQVMsRUFDVCxHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEtBQUssU0FBUyxNQUFNLDBCQUEwQixDQUFDOzs7O0FBRXREOzs7R0FHRztBQUlILE1BQU0sT0FBTyxpQkFBaUI7SUFPNUI7SUFDRSwwQ0FBMEM7SUFDbkMsV0FBd0IsRUFDL0IsT0FBb0I7SUFDcEIsMENBQTBDO0lBQ25DLFlBQTJCO0lBQ2xDLDBDQUEwQztJQUNuQyx5QkFBb0Q7UUFMcEQsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFHeEIsaUJBQVksR0FBWixZQUFZLENBQWU7UUFFM0IsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEyQjtRQWI3RCxhQUFRLEdBQXFCLElBQUksT0FBTyxFQUFXLENBQUM7UUFDcEQsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQUl0QixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQVV0QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsYUFBYSxDQUFDLFVBQWtCO1FBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFRDs7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RSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVEOzs7T0FHRztJQUNILFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzlCLENBQUM7K0dBclJVLGlCQUFpQjttSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07OzRGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEh0dHBCYWNrZW5kLFxyXG4gIEh0dHBDbGllbnQsXHJcbiAgSHR0cEV2ZW50LFxyXG4gIEh0dHBFdmVudFR5cGUsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBBbGVydHNTZXJ2aWNlLFxyXG4gIEFsZXJ0VHlwZSxcclxuICBIdHRwU2VydmljZSxcclxuICBMb2FkZXJOb3RpZmljYXRpb25TZXJ2aWNlLFxyXG59IGZyb20gJ0BpZWVlc2EtbnBtL3V0aWxpdHknO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkUHJlc2lnbmVkVXJsIH0gZnJvbSAnLi4vbW9kZWxzL2ZpbGUtdXBsb2FkLXByZXNpZ25lZC11cmwtcmVzLm1vZGVsJztcclxuaW1wb3J0IHtcclxuICBjYXRjaEVycm9yLFxyXG4gIGxhc3QsXHJcbiAgbWFwLFxyXG4gIE9ic2VydmFibGUsXHJcbiAgU3ViamVjdCxcclxuICB0YWtlVW50aWwsXHJcbiAgdGFwLFxyXG59IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgKiBhcyBjb25zdGFudHMgZnJvbSAnLi4vYXNzZXRzL2NvbnN0YW50cy5qc29uJztcclxuXHJcbi8qKlxyXG4gKiBUaGlzIHNlcnZpY2UgaW50ZXJhY3RzIHdpdGggdGhlIHNlcnZlciB0byBvYnRhaW4gcHJlLXNpZ25lZCBVUkxzIGZvciBmaWxlIHVwbG9hZCBhbmQgdXBsb2FkcyBmaWxlcyB0byBBbWF6b24gUzMuXHJcbiAqIEBjbGFzcyBGaWxlVXBsb2FkU2VydmljZVxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcbiAgY29uc3RhbnRzID0gY29uc3RhbnRzO1xyXG4gIGFwaUJhc2VVcmwhOiBzdHJpbmc7XHJcbiAgZmlsZUJ5dGVBcnJheTogVWludDhBcnJheSB8IHVuZGVmaW5lZDtcclxuICBodHRwQ2xpZW50OiBIdHRwQ2xpZW50O1xyXG4gIGlzRmlsZVVwbG9hZGluZyA9IGZhbHNlO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwdWJsaWMgaHR0cFNlcnZpY2U6IEh0dHBTZXJ2aWNlLFxyXG4gICAgaGFuZGxlcjogSHR0cEJhY2tlbmQsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHB1YmxpYyBhbGVydFNlcnZpY2U6IEFsZXJ0c1NlcnZpY2UsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHB1YmxpYyBsb2FkZXJOb3RpZmljYXRpb25TZXJ2aWNlOiBMb2FkZXJOb3RpZmljYXRpb25TZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLmh0dHBDbGllbnQgPSBuZXcgSHR0cENsaWVudChoYW5kbGVyKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHMgdGhlIGJhc2UgVVJMIGZvciBBUEkgcmVxdWVzdHMuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFwaUJhc2VVcmwgLUFQSSBiYXNlIFVSTC5cclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZFNlcnZpY2VcclxuICAgKi9cclxuICBzZXRBcGlCYXNlVXJsKGFwaUJhc2VVcmw6IHN0cmluZykge1xyXG4gICAgdGhpcy5hcGlCYXNlVXJsID0gYXBpQmFzZVVybDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBwcmVzaWduZWQgVVJMIGZvciB1cGxvYWRpbmcgZmlsZXMgdG8gQW1hem9uIFMzIGJ1Y2tldC5cclxuICAgKiBAcGFyYW0geyhGaWxlIHwgRmlsZUxpc3QpfSBmaWxlXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxGaWxlVXBsb2FkUHJlc2lnbmVkVXJsPn1cclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZFNlcnZpY2VcclxuICAgKi9cclxuICBnZXRGaWxlVXBsb2FkUHJlc2lnbmVkVXJsKFxyXG4gICAgZmlsZTogRmlsZSB8IEZpbGVMaXN0XHJcbiAgKTogT2JzZXJ2YWJsZTxGaWxlVXBsb2FkUHJlc2lnbmVkVXJsPiB7XHJcbiAgICBsZXQgZmlsZU5hbWUgPSAnJztcclxuICAgIGlmIChPYmplY3QudmFsdWVzKGZpbGUpLmxlbmd0aCkgZmlsZU5hbWUgPSBPYmplY3QudmFsdWVzKGZpbGUpWzBdLm5hbWU7XHJcbiAgICBlbHNlIGZpbGVOYW1lID0gKGZpbGUgYXMgRmlsZSkubmFtZTtcclxuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlXHJcbiAgICAgIC5nZXREYXRhKGAke3RoaXMuYXBpQmFzZVVybH0vY29uZmlndXJhdGlvbnMvczMvdXBsb2FkRmlsZVVybC8ke2ZpbGVOYW1lfWApXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlcykgPT4ge1xyXG4gICAgICAgICAgdGhyb3cgZXJyb3JSZXM7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogVXBsb2FkcyBmaWxlIHRvIEFXUyBTMyB1c2luZyBhIHByZXNpZ25lZCBVUkwuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHByZXNpZ25lZFVybFxyXG4gICAqIEBwYXJhbSB7KEZpbGUgfCBGaWxlTGlzdCl9IGZpbGVcclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPGFueT59IC1SZXR1cm5zIGFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgcmVzcG9uc2UgYWZ0ZXIgdXBsb2FkaW5nIHRoZSBmaWxlIHRvIFMzLlxyXG4gICAqIEBtZW1iZXJvZiBGaWxlVXBsb2FkU2VydmljZVxyXG4gICAqL1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgdXBsb2FkRmlsZVRvUzMocHJlc2lnbmVkVXJsOiBzdHJpbmcsIGZpbGU6IEZpbGUgfCBGaWxlTGlzdCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICB0aGlzLmxvYWRlck5vdGlmaWNhdGlvblNlcnZpY2Uuc2hvdygpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxyXG4gICAgICAucHV0KHByZXNpZ25lZFVybCwgdGhpcy5maWxlQnl0ZUFycmF5LCB7XHJcbiAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHRydWUsXHJcbiAgICAgICAgb2JzZXJ2ZTogJ2V2ZW50cycsXHJcbiAgICAgICAgaGVhZGVyczogeyB9XHJcbiAgICAgIH0pXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcclxuICAgICAgICBtYXAoKGV2ZW50KSA9PiB0aGlzLmdldEV2ZW50TWVzc2FnZShldmVudCwgZmlsZSkpLFxyXG4gICAgICAgIHRhcCgobWVzc2FnZSkgPT4gdGhpcy5zaG93UHJvZ3Jlc3MobWVzc2FnZSkpLFxyXG4gICAgICAgIGxhc3QoKSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlcykgPT4ge1xyXG4gICAgICAgICAgdGhpcy5sb2FkZXJOb3RpZmljYXRpb25TZXJ2aWNlLmhpZGUoKTtcclxuICAgICAgICAgIHRocm93IGVycm9yUmVzO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXRzIGZpbGUgdXBsb2FkIHByb2dyZXNzLlxyXG4gICAqIEBwYXJhbSB7Kn0gbWVzc2FnZVxyXG4gICAqIEBtZW1iZXJvZiBGaWxlVXBsb2FkU2VydmljZVxyXG4gICAqL1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55LCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMsIG5vLXVudXNlZC12YXJzLCBuby1lbXB0eS1mdW5jdGlvbiwgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXHJcbiAgc2hvd1Byb2dyZXNzKG1lc3NhZ2U6IGFueSkge31cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJuIGRpc3RpbmN0IG1lc3NhZ2UgZm9yIHNlbnQsIHVwbG9hZCBwcm9ncmVzcywgJiByZXNwb25zZSBldmVudHMuXHJcbiAgICogQHBhcmFtIHtIdHRwRXZlbnQ8YW55Pn0gZXZlbnRcclxuICAgKiBAcGFyYW0geyhGaWxlIHwgRmlsZUxpc3QpfSBmaWxlXHJcbiAgICogQHJldHVybiB7Kn1cclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZFNlcnZpY2VcclxuICAgKi9cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGdldEV2ZW50TWVzc2FnZShldmVudDogSHR0cEV2ZW50PGFueT4sIGZpbGU6IEZpbGUgfCBGaWxlTGlzdCkge1xyXG4gICAgbGV0IGZpbGVOYW1lID0gJyc7XHJcbiAgICBsZXQgZmlsZVNpemU6IG51bWJlciB8IHN0cmluZyA9IDA7XHJcbiAgICBpZiAoT2JqZWN0LnZhbHVlcyhmaWxlKS5sZW5ndGgpIHtcclxuICAgICAgZmlsZU5hbWUgPSBPYmplY3QudmFsdWVzKGZpbGUpWzBdLm5hbWU7XHJcbiAgICAgIGZpbGVTaXplID0gT2JqZWN0LnZhbHVlcyhmaWxlKVswXS5zaXplO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZmlsZU5hbWUgPSAoZmlsZSBhcyBGaWxlKS5uYW1lO1xyXG4gICAgICBmaWxlU2l6ZSA9IChmaWxlIGFzIEZpbGUpLnNpemU7XHJcbiAgICB9XHJcbiAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcclxuICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlNlbnQ6XHJcbiAgICAgICAgcmV0dXJuIGBVcGxvYWRpbmcgZmlsZSBcIiR7ZmlsZU5hbWV9XCIgb2Ygc2l6ZSAke2ZpbGVTaXplfS5gO1xyXG4gICAgICBjYXNlIEh0dHBFdmVudFR5cGUuVXBsb2FkUHJvZ3Jlc3M6XHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNhc2UtZGVjbGFyYXRpb25zXHJcbiAgICAgICAgY29uc3QgcGVyY2VudERvbmUgPSBldmVudD8udG90YWxcclxuICAgICAgICAgID8gTWF0aC5yb3VuZCgoMTAwICogZXZlbnQubG9hZGVkKSAvIGV2ZW50LnRvdGFsKVxyXG4gICAgICAgICAgOiAwO1xyXG4gICAgICAgIHJldHVybiBgRmlsZSBcIiR7ZmlsZU5hbWV9XCIgaXMgJHtwZXJjZW50RG9uZX0lIHVwbG9hZGVkLmA7XHJcbiAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5SZXNwb25zZTpcclxuICAgICAgICB0aGlzLmxvYWRlck5vdGlmaWNhdGlvblNlcnZpY2UuaGlkZSgpO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBgRmlsZSBcIiR7ZmlsZU5hbWV9XCIgc3VycHJpc2luZyB1cGxvYWQgZXZlbnQ6ICR7ZXZlbnQudHlwZX0uYDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnZlcnRzIGZpbGUgdG8gYnl0ZSBhcnJheS5cclxuICAgKiBAcGFyYW0ge0ZpbGV9IGZpbGVcclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZFNlcnZpY2VcclxuICAgKi9cclxuICBjb252ZXJ0RmlsZVRvQnl0ZUFycmF5KGZpbGU6IEZpbGUpOiB2b2lkIHtcclxuICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcbiAgICByZWFkZXIub25sb2FkZW5kID0gKCkgPT4ge1xyXG4gICAgICBjb25zdCBhcnJheUJ1ZmZlciA9IHJlYWRlcj8ucmVzdWx0IGFzIEFycmF5QnVmZmVyO1xyXG4gICAgICB0aGlzLmZpbGVCeXRlQXJyYXkgPSBuZXcgVWludDhBcnJheShhcnJheUJ1ZmZlcik7XHJcbiAgICB9O1xyXG4gICAgcmVhZGVyLm9uZXJyb3IgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlPy5zaG93TWVzc2FnZSh7XHJcbiAgICAgICAgc3RhdHVzOiAnY3VzdG9tJyxcclxuICAgICAgICBtZXNzYWdlOiB0aGlzLmNvbnN0YW50cz8uZmlsZVVwbG9hZD8ubWVzc2FnZT8uZXJyb3I/LmVycm9yUmVhZGluZ0ZpbGUsXHJcbiAgICAgICAgYWxlcnRUeXBlOiBBbGVydFR5cGU/LkVSUk9SLFxyXG4gICAgICAgIGlzQ2xvc2VOZWVkZWQ6IHRydWUsXHJcbiAgICAgIH0pO1xyXG4gICAgfTtcclxuICAgIHJlYWRlci5yZWFkQXNBcnJheUJ1ZmZlcihmaWxlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlc2V0cyBmaWxlIGJ5dGUgYXJyYXkgZm9ybWF0IHRvIHVuZGVmaW5lZC5cclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZFNlcnZpY2VcclxuICAgKi9cclxuICBjbGVhckZpbGVCeXRlQXJyYXkoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZpbGVCeXRlQXJyYXkgPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIGZpbGUgdXBsb2FkIHN0YXR1cy5cclxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IHN0YXR1c1xyXG4gICAqIEBtZW1iZXJvZiBGaWxlVXBsb2FkU2VydmljZVxyXG4gICAqL1xyXG4gIHNldEZpbGVVcGxvYWRTdGF0dXMoc3RhdHVzOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzRmlsZVVwbG9hZGluZyA9IHN0YXR1cztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgZmlsZSB1cGxvYWQgc3RhdHVzLlxyXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XHJcbiAgICogQG1lbWJlcm9mIEZpbGVVcGxvYWRTZXJ2aWNlXHJcbiAgICovXHJcbiAgZ2V0RmlsZVVwbG9hZFN0YXR1cygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlzRmlsZVVwbG9hZGluZztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBwcmVzaWduZWQgVVJMIGZvciBkb3dubG9hZGluZyBmaWxlcyB0byBBbWF6b24gUzMgYnVja2V0LlxyXG4gICAqIEBwYXJhbSB7KEZpbGUgfCBGaWxlTGlzdCl9IGZpbGVcclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPHN0cmluZz59XHJcbiAgICogQG1lbWJlcm9mIEZpbGVVcGxvYWRTZXJ2aWNlXHJcbiAgICovXHJcbiAgZ2V0RmlsZURvd25sb2FkUHJlc2lnbmVkVXJscyhmaWxlOiBGaWxlIHwgRmlsZUxpc3QgfCBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgbGV0IGZpbGVOYW1lID0gJyc7XHJcbiAgICBpZiAodHlwZW9mIGZpbGUgPT09ICdzdHJpbmcnKSBmaWxlTmFtZSA9IGZpbGU7XHJcbiAgICBlbHNlIGlmIChPYmplY3QudmFsdWVzKGZpbGUpLmxlbmd0aCkgZmlsZU5hbWUgPSBPYmplY3QudmFsdWVzKGZpbGUpWzBdLm5hbWU7XHJcbiAgICBlbHNlIGZpbGVOYW1lID0gKGZpbGUgYXMgRmlsZSkubmFtZTtcclxuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlXHJcbiAgICAgIC5nZXREYXRhKFxyXG4gICAgICAgIGAke3RoaXMuYXBpQmFzZVVybH0vY29uZmlndXJhdGlvbnMvczMvZG93bmxvYWRGaWxlVXJsLyR7ZmlsZU5hbWV9YFxyXG4gICAgICApXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlcykgPT4ge1xyXG4gICAgICAgICAgdGhyb3cgZXJyb3JSZXM7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERvd25sb2FkcyBmaWxlIHRvIEFXUyBTMyB1c2luZyBhIHByZXNpZ25lZCBVUkwuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxhbnk+fVxyXG4gICAqIEBtZW1iZXJvZiBGaWxlVXBsb2FkU2VydmljZVxyXG4gICAqL1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgZG93bmxvYWRGaWxlKGZpbGVEb3dubG9hZFByZXNpZ25lZFVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGZpbGVEb3dubG9hZFByZXNpZ25lZFVybCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGF0ZXMgdGhlIHRvdGFsIHNpemUgb2YgdGhlIGZpbGVzIHVwbG9hZGVkLlxyXG4gICAqIEBwYXJhbSB7KEZpbGUgfCBGaWxlTGlzdCl9IGZpbGVzIC1UaGUgZmlsZXMgdG8gYmUgdmFsaWRhdGVkLlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBtYXhGaWxlU2l6ZVxyXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gaXNNdWx0aUZpbGVVcGxvYWRcclxuICAgKiBAcmV0dXJuIHtib29sZWFufSAtUmV0dXJucyB0cnVlIGlmIHRoZSB0b3RhbCBzaXplIG9mIGZpbGVzIGlzIHdpdGhpbiB0aGUgc3BlY2lmaWVkIGxpbWl0LCBvdGhlcndpc2UgZmFsc2UuXHJcbiAgICogQG1lbWJlcm9mIEZpbGVVcGxvYWRTZXJ2aWNlXHJcbiAgICovXHJcbiAgdmFsaWRhdGVGaWxlU2l6ZShcclxuICAgIGZpbGVzOiBGaWxlIHwgRmlsZUxpc3QsXHJcbiAgICBtYXhGaWxlU2l6ZTogbnVtYmVyLFxyXG4gICAgaXNNdWx0aUZpbGVVcGxvYWQ6IGJvb2xlYW5cclxuICApOiBib29sZWFuIHtcclxuICAgIGlmIChpc011bHRpRmlsZVVwbG9hZCkge1xyXG4gICAgICBsZXQgdG90YWxTaXplID0gMDtcclxuICAgICAgT2JqZWN0LnZhbHVlcyhmaWxlcykuZm9yRWFjaCgoZmlsZTogRmlsZSkgPT4ge1xyXG4gICAgICAgIHRvdGFsU2l6ZSArPSBmaWxlLnNpemU7XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gdG90YWxTaXplIC8gKDEwMjQgKiAxMDI0KSA8PSBtYXhGaWxlU2l6ZTtcclxuICAgIH1cclxuICAgIHJldHVybiAoZmlsZXMgYXMgRmlsZSkuc2l6ZSAvICgxMDI0ICogMTAyNCkgPD0gbWF4RmlsZVNpemU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGF0ZXMgdGhlIGZpbGUgdHlwZXMgb2YgdGhlIHVwbG9hZGVkIGZpbGVzLlxyXG4gICAqIEBwYXJhbSB7KEZpbGUgfCBGaWxlTGlzdCl9IGZpbGVzXHJcbiAgICogQHBhcmFtIHtzdHJpbmdbXX0gYWxsb3dlZEZpbGVUeXBlc1xyXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gaXNNdWx0aUZpbGVVcGxvYWRcclxuICAgKiBAcmV0dXJuIHtib29sZWFufSAtUmV0dXJucyB0cnVlIGlmIGFsbCBmaWxlcyBoYXZlIHZhbGlkIGV4dGVuc2lvbnMsIG90aGVyd2lzZSBmYWxzZS5cclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZFNlcnZpY2VcclxuICAgKi9cclxuICB2YWxpZGF0ZUZpbGVUeXBlcyhcclxuICAgIGZpbGVzOiBGaWxlIHwgRmlsZUxpc3QsXHJcbiAgICBhbGxvd2VkRmlsZVR5cGVzOiBzdHJpbmdbXSxcclxuICAgIGlzTXVsdGlGaWxlVXBsb2FkOiBib29sZWFuXHJcbiAgKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCB2YWxpZGF0ZVNpbmdsZUZpbGUgPSAoZmlsZTogRmlsZSk6IGJvb2xlYW4gPT4ge1xyXG4gICAgICBjb25zdCBmaWxlRXh0ZW5zaW9uID0gdGhpcy5nZXRGaWxlRXh0ZW5zaW9uKGZpbGUubmFtZSk7XHJcbiAgICAgIHJldHVybiBhbGxvd2VkRmlsZVR5cGVzPy5pbmNsdWRlcyhmaWxlRXh0ZW5zaW9uKTtcclxuICAgIH07XHJcbiAgICBpZiAoaXNNdWx0aUZpbGVVcGxvYWQpIHtcclxuICAgICAgbGV0IGFsbEZpbGVzVmFsaWQgPSB0cnVlO1xyXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICAgICBPYmplY3QudmFsdWVzKGZpbGVzKT8uZm9yRWFjaCgoZmlsZUl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgIGlmICghdmFsaWRhdGVTaW5nbGVGaWxlKGZpbGVJdGVtKSkge1xyXG4gICAgICAgICAgYWxsRmlsZXNWYWxpZCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBhbGxGaWxlc1ZhbGlkO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZhbGlkYXRlU2luZ2xlRmlsZShmaWxlcyBhcyBGaWxlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEV4dHJhY3RzIGFuZCByZXR1cm5zIHRoZSBleHRlbnNpb24gb2YgYSBmaWxlIGZyb20gaXRzIG5hbWUuXHJcbiAgICogQHByaXZhdGVcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gZmlsZU5hbWVcclxuICAgKiBAcmV0dXJuIHtzdHJpbmd9IC1UaGUgZmlsZSBleHRlbnNpb24gaW4gbG93ZXJjYXNlLlxyXG4gICAqIEBtZW1iZXJvZiBGaWxlVXBsb2FkU2VydmljZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2V0RmlsZUV4dGVuc2lvbihmaWxlTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uXHJcbiAgICByZXR1cm4gZmlsZU5hbWU/LnNwbGl0KCcuJykucG9wKCkhLnRvTG93ZXJDYXNlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbXBsZW1lbnRhdGlvbiBvZiBuZ09uRGVzdHJveSBsaWZlY3ljbGUgaG9vayBtZXRob2QgdG8gdW5zdWJzY3JpYmUgdGhlIG9wZW4gb2JzZXJ2YWJsZSBzdWJzY3JpcHRpb25zLlxyXG4gICAqIEBtZW1iZXJvZiBGaWxlVXBsb2FkU2VydmljZVxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
272
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXNlbnRhdGlvbi9zcmMvbGliL3NlcnZpY2VzL2ZpbGUtdXBsb2FkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFVBQVUsRUFFVixhQUFhLEVBQ2IsV0FBVyxHQUNaLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBRUwsU0FBUyxHQUdWLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUNMLFVBQVUsRUFDVixJQUFJLEVBQ0osR0FBRyxFQUVILE9BQU8sRUFDUCxTQUFTLEVBQ1QsR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxLQUFLLFNBQVMsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQUV0RDs7O0dBR0c7QUFJSCxNQUFNLE9BQU8saUJBQWlCO0lBTzVCO0lBQ0UsMENBQTBDO0lBQ25DLFdBQXdCLEVBQy9CLE9BQW9CO0lBQ3BCLDBDQUEwQztJQUNuQyxZQUEyQjtJQUNsQywwQ0FBMEM7SUFDbkMseUJBQW9EO1FBTHBELGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBR3hCLGlCQUFZLEdBQVosWUFBWSxDQUFlO1FBRTNCLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMkI7UUFiN0QsYUFBUSxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO1FBQ3BELGNBQVMsR0FBRyxTQUFTLENBQUM7UUFJdEIsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFVdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGFBQWEsQ0FBQyxVQUFrQjtRQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixD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Q0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO2dCQUM5QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLEVBQUU7b0JBQ2pDLGFBQWEsR0FBRyxLQUFLLENBQUM7aUJBQ3ZCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLGFBQWEsQ0FBQztTQUN0QjtRQUNELE9BQU8sa0JBQWtCLENBQUMsS0FBYSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLGdCQUFnQixDQUFDLFFBQWdCO1FBQ3ZDLG9FQUFvRTtRQUNwRSxPQUFPLFFBQVEsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVEOzs7T0FHRztJQUNILFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzlCLENBQUM7K0dBM1JVLGlCQUFpQjttSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07OzRGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEh0dHBCYWNrZW5kLFxyXG4gIEh0dHBDbGllbnQsXHJcbiAgSHR0cEV2ZW50LFxyXG4gIEh0dHBFdmVudFR5cGUsXHJcbiAgSHR0cEhlYWRlcnMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBBbGVydHNTZXJ2aWNlLFxyXG4gIEFsZXJ0VHlwZSxcclxuICBIdHRwU2VydmljZSxcclxuICBMb2FkZXJOb3RpZmljYXRpb25TZXJ2aWNlLFxyXG59IGZyb20gJ0BpZWVlc2EtbnBtL3V0aWxpdHknO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkUHJlc2lnbmVkVXJsIH0gZnJvbSAnLi4vbW9kZWxzL2ZpbGUtdXBsb2FkLXByZXNpZ25lZC11cmwtcmVzLm1vZGVsJztcclxuaW1wb3J0IHtcclxuICBjYXRjaEVycm9yLFxyXG4gIGxhc3QsXHJcbiAgbWFwLFxyXG4gIE9ic2VydmFibGUsXHJcbiAgU3ViamVjdCxcclxuICB0YWtlVW50aWwsXHJcbiAgdGFwLFxyXG59IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgKiBhcyBjb25zdGFudHMgZnJvbSAnLi4vYXNzZXRzL2NvbnN0YW50cy5qc29uJztcclxuXHJcbi8qKlxyXG4gKiBUaGlzIHNlcnZpY2UgaW50ZXJhY3RzIHdpdGggdGhlIHNlcnZlciB0byBvYnRhaW4gcHJlLXNpZ25lZCBVUkxzIGZvciBmaWxlIHVwbG9hZCBhbmQgdXBsb2FkcyBmaWxlcyB0byBBbWF6b24gUzMuXHJcbiAqIEBjbGFzcyBGaWxlVXBsb2FkU2VydmljZVxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcbiAgY29uc3RhbnRzID0gY29uc3RhbnRzO1xyXG4gIGFwaUJhc2VVcmwhOiBzdHJpbmc7XHJcbiAgZmlsZUJ5dGVBcnJheTogVWludDhBcnJheSB8IHVuZGVmaW5lZDtcclxuICBodHRwQ2xpZW50OiBIdHRwQ2xpZW50O1xyXG4gIGlzRmlsZVVwbG9hZGluZyA9IGZhbHNlO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwdWJsaWMgaHR0cFNlcnZpY2U6IEh0dHBTZXJ2aWNlLFxyXG4gICAgaGFuZGxlcjogSHR0cEJhY2tlbmQsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHB1YmxpYyBhbGVydFNlcnZpY2U6IEFsZXJ0c1NlcnZpY2UsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHB1YmxpYyBsb2FkZXJOb3RpZmljYXRpb25TZXJ2aWNlOiBMb2FkZXJOb3RpZmljYXRpb25TZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLmh0dHBDbGllbnQgPSBuZXcgSHR0cENsaWVudChoYW5kbGVyKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHMgdGhlIGJhc2UgVVJMIGZvciBBUEkgcmVxdWVzdHMuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFwaUJhc2VVcmwgLUFQSSBiYXNlIFVSTC5cclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZFNlcnZpY2VcclxuICAgKi9cclxuICBzZXRBcGlCYXNlVXJsKGFwaUJhc2VVcmw6IHN0cmluZykge1xyXG4gICAgdGhpcy5hcGlCYXNlVXJsID0gYXBpQmFzZVVybDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBwcmVzaWduZWQgVVJMIGZvciB1cGxvYWRpbmcgZmlsZXMgdG8gQW1hem9uIFMzIGJ1Y2tldC5cclxuICAgKiBAcGFyYW0geyhGaWxlIHwgRmlsZUxpc3QpfSBmaWxlXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxGaWxlVXBsb2FkUHJlc2lnbmVkVXJsPn1cclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZFNlcnZpY2VcclxuICAgKi9cclxuICBnZXRGaWxlVXBsb2FkUHJlc2lnbmVkVXJsKFxyXG4gICAgZmlsZTogRmlsZSB8IEZpbGVMaXN0XHJcbiAgKTogT2JzZXJ2YWJsZTxGaWxlVXBsb2FkUHJlc2lnbmVkVXJsPiB7XHJcbiAgICBsZXQgZmlsZU5hbWUgPSAnJztcclxuICAgIGlmIChPYmplY3QudmFsdWVzKGZpbGUpLmxlbmd0aCkgZmlsZU5hbWUgPSBPYmplY3QudmFsdWVzKGZpbGUpWzBdLm5hbWU7XHJcbiAgICBlbHNlIGZpbGVOYW1lID0gKGZpbGUgYXMgRmlsZSkubmFtZTtcclxuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlXHJcbiAgICAgIC5nZXREYXRhKGAke3RoaXMuYXBpQmFzZVVybH0vY29uZmlndXJhdGlvbnMvczMvdXBsb2FkRmlsZVVybC8ke2ZpbGVOYW1lfWApXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlcykgPT4ge1xyXG4gICAgICAgICAgdGhyb3cgZXJyb3JSZXM7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogVXBsb2FkcyBmaWxlIHRvIEFXUyBTMyB1c2luZyBhIHByZXNpZ25lZCBVUkwuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHByZXNpZ25lZFVybFxyXG4gICAqIEBwYXJhbSB7KEZpbGUgfCBGaWxlTGlzdCl9IGZpbGVcclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPGFueT59IC1SZXR1cm5zIGFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgcmVzcG9uc2UgYWZ0ZXIgdXBsb2FkaW5nIHRoZSBmaWxlIHRvIFMzLlxyXG4gICAqIEBtZW1iZXJvZiBGaWxlVXBsb2FkU2VydmljZVxyXG4gICAqL1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgdXBsb2FkRmlsZVRvUzMocHJlc2lnbmVkVXJsOiBzdHJpbmcsIGZpbGU6IEZpbGUgfCBGaWxlTGlzdCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICB0aGlzLmxvYWRlck5vdGlmaWNhdGlvblNlcnZpY2Uuc2hvdygpO1xyXG4gICAgbGV0IGZpbGVUeXBlID0gJyc7XHJcbiAgICBpZiAoT2JqZWN0Py52YWx1ZXMoZmlsZSk/Lmxlbmd0aCkgZmlsZVR5cGUgPSBPYmplY3Q/LnZhbHVlcyhmaWxlKVswXT8udHlwZTtcclxuICAgIGVsc2UgZmlsZVR5cGUgPSAoZmlsZSBhcyBGaWxlKS50eXBlO1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgnQ29udGVudC1UeXBlJywgZmlsZVR5cGUpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxyXG4gICAgICAucHV0KHByZXNpZ25lZFVybCwgdGhpcy5maWxlQnl0ZUFycmF5LCB7XHJcbiAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHRydWUsXHJcbiAgICAgICAgb2JzZXJ2ZTogJ2V2ZW50cycsXHJcbiAgICAgICAgaGVhZGVyczogaGVhZGVycyxcclxuICAgICAgfSlcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxyXG4gICAgICAgIG1hcCgoZXZlbnQpID0+IHRoaXMuZ2V0RXZlbnRNZXNzYWdlKGV2ZW50LCBmaWxlKSksXHJcbiAgICAgICAgdGFwKChtZXNzYWdlKSA9PiB0aGlzLnNob3dQcm9ncmVzcyhtZXNzYWdlKSksXHJcbiAgICAgICAgbGFzdCgpLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yUmVzKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmxvYWRlck5vdGlmaWNhdGlvblNlcnZpY2UuaGlkZSgpO1xyXG4gICAgICAgICAgdGhyb3cgZXJyb3JSZXM7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHMgZmlsZSB1cGxvYWQgcHJvZ3Jlc3MuXHJcbiAgICogQHBhcmFtIHsqfSBtZXNzYWdlXHJcbiAgICogQG1lbWJlcm9mIEZpbGVVcGxvYWRTZXJ2aWNlXHJcbiAgICovXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnksIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycywgbm8tdW51c2VkLXZhcnMsIG5vLWVtcHR5LWZ1bmN0aW9uLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cclxuICBzaG93UHJvZ3Jlc3MobWVzc2FnZTogYW55KSB7fVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm4gZGlzdGluY3QgbWVzc2FnZSBmb3Igc2VudCwgdXBsb2FkIHByb2dyZXNzLCAmIHJlc3BvbnNlIGV2ZW50cy5cclxuICAgKiBAcGFyYW0ge0h0dHBFdmVudDxhbnk+fSBldmVudFxyXG4gICAqIEBwYXJhbSB7KEZpbGUgfCBGaWxlTGlzdCl9IGZpbGVcclxuICAgKiBAcmV0dXJuIHsqfVxyXG4gICAqIEBtZW1iZXJvZiBGaWxlVXBsb2FkU2VydmljZVxyXG4gICAqL1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgZ2V0RXZlbnRNZXNzYWdlKGV2ZW50OiBIdHRwRXZlbnQ8YW55PiwgZmlsZTogRmlsZSB8IEZpbGVMaXN0KSB7XHJcbiAgICBsZXQgZmlsZU5hbWUgPSAnJztcclxuICAgIGxldCBmaWxlU2l6ZTogbnVtYmVyIHwgc3RyaW5nID0gMDtcclxuICAgIGlmIChPYmplY3QudmFsdWVzKGZpbGUpLmxlbmd0aCkge1xyXG4gICAgICBmaWxlTmFtZSA9IE9iamVjdC52YWx1ZXMoZmlsZSlbMF0ubmFtZTtcclxuICAgICAgZmlsZVNpemUgPSBPYmplY3QudmFsdWVzKGZpbGUpWzBdLnNpemU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBmaWxlTmFtZSA9IChmaWxlIGFzIEZpbGUpLm5hbWU7XHJcbiAgICAgIGZpbGVTaXplID0gKGZpbGUgYXMgRmlsZSkuc2l6ZTtcclxuICAgIH1cclxuICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xyXG4gICAgICBjYXNlIEh0dHBFdmVudFR5cGUuU2VudDpcclxuICAgICAgICByZXR1cm4gYFVwbG9hZGluZyBmaWxlIFwiJHtmaWxlTmFtZX1cIiBvZiBzaXplICR7ZmlsZVNpemV9LmA7XHJcbiAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5VcGxvYWRQcm9ncmVzczpcclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY2FzZS1kZWNsYXJhdGlvbnNcclxuICAgICAgICBjb25zdCBwZXJjZW50RG9uZSA9IGV2ZW50Py50b3RhbFxyXG4gICAgICAgICAgPyBNYXRoLnJvdW5kKCgxMDAgKiBldmVudC5sb2FkZWQpIC8gZXZlbnQudG90YWwpXHJcbiAgICAgICAgICA6IDA7XHJcbiAgICAgICAgcmV0dXJuIGBGaWxlIFwiJHtmaWxlTmFtZX1cIiBpcyAke3BlcmNlbnREb25lfSUgdXBsb2FkZWQuYDtcclxuICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlJlc3BvbnNlOlxyXG4gICAgICAgIHRoaXMubG9hZGVyTm90aWZpY2F0aW9uU2VydmljZS5oaWRlKCk7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIGBGaWxlIFwiJHtmaWxlTmFtZX1cIiBzdXJwcmlzaW5nIHVwbG9hZCBldmVudDogJHtldmVudC50eXBlfS5gO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29udmVydHMgZmlsZSB0byBieXRlIGFycmF5LlxyXG4gICAqIEBwYXJhbSB7RmlsZX0gZmlsZVxyXG4gICAqIEBtZW1iZXJvZiBGaWxlVXBsb2FkU2VydmljZVxyXG4gICAqL1xyXG4gIGNvbnZlcnRGaWxlVG9CeXRlQXJyYXkoZmlsZTogRmlsZSk6IHZvaWQge1xyXG4gICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICAgIHJlYWRlci5vbmxvYWRlbmQgPSAoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGFycmF5QnVmZmVyID0gcmVhZGVyPy5yZXN1bHQgYXMgQXJyYXlCdWZmZXI7XHJcbiAgICAgIHRoaXMuZmlsZUJ5dGVBcnJheSA9IG5ldyBVaW50OEFycmF5KGFycmF5QnVmZmVyKTtcclxuICAgIH07XHJcbiAgICByZWFkZXIub25lcnJvciA9ICgpID0+IHtcclxuICAgICAgdGhpcy5hbGVydFNlcnZpY2U/LnNob3dNZXNzYWdlKHtcclxuICAgICAgICBzdGF0dXM6ICdjdXN0b20nLFxyXG4gICAgICAgIG1lc3NhZ2U6IHRoaXMuY29uc3RhbnRzPy5maWxlVXBsb2FkPy5tZXNzYWdlPy5lcnJvcj8uZXJyb3JSZWFkaW5nRmlsZSxcclxuICAgICAgICBhbGVydFR5cGU6IEFsZXJ0VHlwZT8uRVJST1IsXHJcbiAgICAgICAgaXNDbG9zZU5lZWRlZDogdHJ1ZSxcclxuICAgICAgfSk7XHJcbiAgICB9O1xyXG4gICAgcmVhZGVyLnJlYWRBc0FycmF5QnVmZmVyKGZpbGUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVzZXRzIGZpbGUgYnl0ZSBhcnJheSBmb3JtYXQgdG8gdW5kZWZpbmVkLlxyXG4gICAqIEBtZW1iZXJvZiBGaWxlVXBsb2FkU2VydmljZVxyXG4gICAqL1xyXG4gIGNsZWFyRmlsZUJ5dGVBcnJheSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZmlsZUJ5dGVBcnJheSA9IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHMgZmlsZSB1cGxvYWQgc3RhdHVzLlxyXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gc3RhdHVzXHJcbiAgICogQG1lbWJlcm9mIEZpbGVVcGxvYWRTZXJ2aWNlXHJcbiAgICovXHJcbiAgc2V0RmlsZVVwbG9hZFN0YXR1cyhzdGF0dXM6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuaXNGaWxlVXBsb2FkaW5nID0gc3RhdHVzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyBmaWxlIHVwbG9hZCBzdGF0dXMuXHJcbiAgICogQHJldHVybiB7Ym9vbGVhbn1cclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZFNlcnZpY2VcclxuICAgKi9cclxuICBnZXRGaWxlVXBsb2FkU3RhdHVzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNGaWxlVXBsb2FkaW5nO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHByZXNpZ25lZCBVUkwgZm9yIGRvd25sb2FkaW5nIGZpbGVzIHRvIEFtYXpvbiBTMyBidWNrZXQuXHJcbiAgICogQHBhcmFtIHsoRmlsZSB8IEZpbGVMaXN0KX0gZmlsZVxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8c3RyaW5nPn1cclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZFNlcnZpY2VcclxuICAgKi9cclxuICBnZXRGaWxlRG93bmxvYWRQcmVzaWduZWRVcmxzKFxyXG4gICAgZmlsZTogRmlsZSB8IEZpbGVMaXN0IHwgc3RyaW5nXHJcbiAgKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcclxuICAgIGxldCBmaWxlTmFtZSA9ICcnO1xyXG4gICAgaWYgKHR5cGVvZiBmaWxlID09PSAnc3RyaW5nJykgZmlsZU5hbWUgPSBmaWxlO1xyXG4gICAgZWxzZSBpZiAoT2JqZWN0LnZhbHVlcyhmaWxlKS5sZW5ndGgpIGZpbGVOYW1lID0gT2JqZWN0LnZhbHVlcyhmaWxlKVswXS5uYW1lO1xyXG4gICAgZWxzZSBmaWxlTmFtZSA9IChmaWxlIGFzIEZpbGUpLm5hbWU7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZVxyXG4gICAgICAuZ2V0RGF0YShcclxuICAgICAgICBgJHt0aGlzLmFwaUJhc2VVcmx9L2NvbmZpZ3VyYXRpb25zL3MzL2Rvd25sb2FkRmlsZVVybC8ke2ZpbGVOYW1lfWBcclxuICAgICAgKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXMpID0+IHtcclxuICAgICAgICAgIHRocm93IGVycm9yUmVzO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEb3dubG9hZHMgZmlsZSB0byBBV1MgUzMgdXNpbmcgYSBwcmVzaWduZWQgVVJMLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8YW55Pn1cclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZFNlcnZpY2VcclxuICAgKi9cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGRvd25sb2FkRmlsZShmaWxlRG93bmxvYWRQcmVzaWduZWRVcmw6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChmaWxlRG93bmxvYWRQcmVzaWduZWRVcmwpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRhdGVzIHRoZSB0b3RhbCBzaXplIG9mIHRoZSBmaWxlcyB1cGxvYWRlZC5cclxuICAgKiBAcGFyYW0geyhGaWxlIHwgRmlsZUxpc3QpfSBmaWxlcyAtVGhlIGZpbGVzIHRvIGJlIHZhbGlkYXRlZC5cclxuICAgKiBAcGFyYW0ge251bWJlcn0gbWF4RmlsZVNpemVcclxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGlzTXVsdGlGaWxlVXBsb2FkXHJcbiAgICogQHJldHVybiB7Ym9vbGVhbn0gLVJldHVybnMgdHJ1ZSBpZiB0aGUgdG90YWwgc2l6ZSBvZiBmaWxlcyBpcyB3aXRoaW4gdGhlIHNwZWNpZmllZCBsaW1pdCwgb3RoZXJ3aXNlIGZhbHNlLlxyXG4gICAqIEBtZW1iZXJvZiBGaWxlVXBsb2FkU2VydmljZVxyXG4gICAqL1xyXG4gIHZhbGlkYXRlRmlsZVNpemUoXHJcbiAgICBmaWxlczogRmlsZSB8IEZpbGVMaXN0LFxyXG4gICAgbWF4RmlsZVNpemU6IG51bWJlcixcclxuICAgIGlzTXVsdGlGaWxlVXBsb2FkOiBib29sZWFuXHJcbiAgKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoaXNNdWx0aUZpbGVVcGxvYWQpIHtcclxuICAgICAgbGV0IHRvdGFsU2l6ZSA9IDA7XHJcbiAgICAgIE9iamVjdC52YWx1ZXMoZmlsZXMpLmZvckVhY2goKGZpbGU6IEZpbGUpID0+IHtcclxuICAgICAgICB0b3RhbFNpemUgKz0gZmlsZS5zaXplO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIHRvdGFsU2l6ZSAvICgxMDI0ICogMTAyNCkgPD0gbWF4RmlsZVNpemU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKGZpbGVzIGFzIEZpbGUpLnNpemUgLyAoMTAyNCAqIDEwMjQpIDw9IG1heEZpbGVTaXplO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRhdGVzIHRoZSBmaWxlIHR5cGVzIG9mIHRoZSB1cGxvYWRlZCBmaWxlcy5cclxuICAgKiBAcGFyYW0geyhGaWxlIHwgRmlsZUxpc3QpfSBmaWxlc1xyXG4gICAqIEBwYXJhbSB7c3RyaW5nW119IGFsbG93ZWRGaWxlVHlwZXNcclxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGlzTXVsdGlGaWxlVXBsb2FkXHJcbiAgICogQHJldHVybiB7Ym9vbGVhbn0gLVJldHVybnMgdHJ1ZSBpZiBhbGwgZmlsZXMgaGF2ZSB2YWxpZCBleHRlbnNpb25zLCBvdGhlcndpc2UgZmFsc2UuXHJcbiAgICogQG1lbWJlcm9mIEZpbGVVcGxvYWRTZXJ2aWNlXHJcbiAgICovXHJcbiAgdmFsaWRhdGVGaWxlVHlwZXMoXHJcbiAgICBmaWxlczogRmlsZSB8IEZpbGVMaXN0LFxyXG4gICAgYWxsb3dlZEZpbGVUeXBlczogc3RyaW5nW10sXHJcbiAgICBpc011bHRpRmlsZVVwbG9hZDogYm9vbGVhblxyXG4gICk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgdmFsaWRhdGVTaW5nbGVGaWxlID0gKGZpbGU6IEZpbGUpOiBib29sZWFuID0+IHtcclxuICAgICAgY29uc3QgZmlsZUV4dGVuc2lvbiA9IHRoaXMuZ2V0RmlsZUV4dGVuc2lvbihmaWxlLm5hbWUpO1xyXG4gICAgICByZXR1cm4gYWxsb3dlZEZpbGVUeXBlcz8uaW5jbHVkZXMoZmlsZUV4dGVuc2lvbik7XHJcbiAgICB9O1xyXG4gICAgaWYgKGlzTXVsdGlGaWxlVXBsb2FkKSB7XHJcbiAgICAgIGxldCBhbGxGaWxlc1ZhbGlkID0gdHJ1ZTtcclxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgT2JqZWN0LnZhbHVlcyhmaWxlcyk/LmZvckVhY2goKGZpbGVJdGVtOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoIXZhbGlkYXRlU2luZ2xlRmlsZShmaWxlSXRlbSkpIHtcclxuICAgICAgICAgIGFsbEZpbGVzVmFsaWQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gYWxsRmlsZXNWYWxpZDtcclxuICAgIH1cclxuICAgIHJldHVybiB2YWxpZGF0ZVNpbmdsZUZpbGUoZmlsZXMgYXMgRmlsZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFeHRyYWN0cyBhbmQgcmV0dXJucyB0aGUgZXh0ZW5zaW9uIG9mIGEgZmlsZSBmcm9tIGl0cyBuYW1lLlxyXG4gICAqIEBwcml2YXRlXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGZpbGVOYW1lXHJcbiAgICogQHJldHVybiB7c3RyaW5nfSAtVGhlIGZpbGUgZXh0ZW5zaW9uIGluIGxvd2VyY2FzZS5cclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZFNlcnZpY2VcclxuICAgKi9cclxuICBwcml2YXRlIGdldEZpbGVFeHRlbnNpb24oZmlsZU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxyXG4gICAgcmV0dXJuIGZpbGVOYW1lPy5zcGxpdCgnLicpLnBvcCgpIS50b0xvd2VyQ2FzZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW1wbGVtZW50YXRpb24gb2YgbmdPbkRlc3Ryb3kgbGlmZWN5Y2xlIGhvb2sgbWV0aG9kIHRvIHVuc3Vic2NyaWJlIHRoZSBvcGVuIG9ic2VydmFibGUgc3Vic2NyaXB0aW9ucy5cclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZFNlcnZpY2VcclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -46,7 +46,7 @@ import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
|
46
46
|
import * as i1 from '@angular/material/tooltip';
|
|
47
47
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
48
48
|
import * as i2$3 from '@angular/common/http';
|
|
49
|
-
import { HttpClient, HttpEventType } from '@angular/common/http';
|
|
49
|
+
import { HttpClient, HttpHeaders, HttpEventType } from '@angular/common/http';
|
|
50
50
|
import * as i5$4 from 'ngx-colors';
|
|
51
51
|
import { NgxColorsTriggerDirective, NgxColorsModule } from 'ngx-colors';
|
|
52
52
|
import * as i1$2 from '@angular/router';
|
|
@@ -2358,11 +2358,17 @@ class FileUploadService {
|
|
|
2358
2358
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
2359
2359
|
uploadFileToS3(presignedUrl, file) {
|
|
2360
2360
|
this.loaderNotificationService.show();
|
|
2361
|
+
let fileType = '';
|
|
2362
|
+
if (Object?.values(file)?.length)
|
|
2363
|
+
fileType = Object?.values(file)[0]?.type;
|
|
2364
|
+
else
|
|
2365
|
+
fileType = file.type;
|
|
2366
|
+
const headers = new HttpHeaders().set('Content-Type', fileType);
|
|
2361
2367
|
return this.httpClient
|
|
2362
2368
|
.put(presignedUrl, this.fileByteArray, {
|
|
2363
2369
|
reportProgress: true,
|
|
2364
2370
|
observe: 'events',
|
|
2365
|
-
headers:
|
|
2371
|
+
headers: headers,
|
|
2366
2372
|
})
|
|
2367
2373
|
.pipe(takeUntil(this.destroy$), map((event) => this.getEventMessage(event, file)), tap((message) => this.showProgress(message)), last(), catchError((errorRes) => {
|
|
2368
2374
|
this.loaderNotificationService.hide();
|