@unifylib/ui-lib 1.1.41 → 1.1.42
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.
|
@@ -149,7 +149,7 @@ export class BackendService {
|
|
|
149
149
|
return this.http.post(url, listItems, { headers: this.buildSecuredHeader() }).pipe(distinctUntilChanged(), catchError(err => of(err.message || err)));
|
|
150
150
|
}
|
|
151
151
|
downloadReport(reportRequest, pageApiPath, readyPath) {
|
|
152
|
-
const s = readyPath === true ? `/api/v1${pageApiPath}` : `/api/v1${pageApiPath}/
|
|
152
|
+
const s = readyPath === true ? `/api/v1${pageApiPath}` : `/api/v1${pageApiPath}/extractAndDownloadListReport`;
|
|
153
153
|
return this.http.post(this.getApiBasePath() + s, reportRequest, { headers: this.buildSecuredHeader() }).subscribe((resp) => {
|
|
154
154
|
if (resp.valid) {
|
|
155
155
|
if (resp.body) {
|
|
@@ -177,11 +177,11 @@ export class BackendService {
|
|
|
177
177
|
}
|
|
178
178
|
}
|
|
179
179
|
else {
|
|
180
|
-
this.
|
|
180
|
+
this.topPanelMessage$.next(new SnackMessage(resp.message.toString(), true, 'info'));
|
|
181
181
|
}
|
|
182
182
|
}
|
|
183
183
|
else {
|
|
184
|
-
this.
|
|
184
|
+
this.topPanelMessage$.next(new SnackMessage(resp.message.toString(), false, 'error'));
|
|
185
185
|
}
|
|
186
186
|
});
|
|
187
187
|
}
|
|
@@ -241,4 +241,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
241
241
|
type: Inject,
|
|
242
242
|
args: ['secretsManager']
|
|
243
243
|
}] }] });
|
|
244
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZC1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52b2ljZXEvdWktbGliL3NyYy9saWIvc2VydmljZXMvYmFja2VuZC1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBZ0MsV0FBVyxFQUFFLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzVGLE9BQU8sRUFBYSxFQUFFLEVBQUUsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBQyxVQUFVLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFHL0QsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBS3pELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQVFqRSxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQzs7Ozs7OztBQUU1RyxNQUFNLG1CQUFtQixHQUEyQjtJQUNoRCxDQUFDLEVBQUUsS0FBSztJQUNSLENBQUMsRUFBRSxTQUFTO0lBQ1osQ0FBQyxFQUFFLFlBQVk7SUFDZixDQUFDLEVBQUUsV0FBVztJQUNkLENBQUMsRUFBRSxTQUFTO0lBQ1osQ0FBQyxFQUFFLFNBQVM7Q0FDZixDQUFDO0FBRUYsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLFlBQVksRUFBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFJcEUsTUFBTSxPQUFPLGNBQWM7SUFRdkIsWUFBb0IsSUFBZ0IsRUFDaEIsUUFBa0IsRUFDbEIsZ0JBQWtDLEVBQ2xDLEtBQXFCLEVBQ3JCLE1BQWlCLEVBQ0MsTUFBVyxFQUNILGNBQW1CO1FBTjdDLFNBQUks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WCxNQUFNOzs0RkFFVCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBY2dCLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtIdHRwQ2xpZW50LCBIdHRwRXJyb3JSZXNwb25zZSwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXN9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQge09ic2VydmFibGUsIG9mLCBTdWJqZWN0fSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge2NhdGNoRXJyb3IsIGRpc3RpbmN0VW50aWxDaGFuZ2VkfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHtTbmFja01lc3NhZ2V9IGZyb20gXCIuLi9iYXNlLW1vZGVsL3NuYWNrLW1lc3NhZ2UubW9kZWxcIjtcclxuaW1wb3J0IHtQYWdlSW5mb30gZnJvbSBcIi4uL2Jhc2UtbW9kZWwvcGFnZS1pbmZvXCI7XHJcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcclxuaW1wb3J0IHtDb2x1bW5EZWZ9IGZyb20gXCIuLi9iYXNlLW1vZGVsL2NvbHVtbi1kZWYubW9kZWxcIjtcclxuaW1wb3J0IHtUYWJsZUNvbHVtbn0gZnJvbSBcIi4uL2Jhc2UtbW9kZWwvdGFibGUtY29sdW1uLmludGVyZmFjZVwiO1xyXG5pbXBvcnQge0dldEl0ZW1zTGlzdH0gZnJvbSBcIi4uL2Jhc2UtbW9kZWwvZ2V0LWl0ZW1zLWxpc3RcIjtcclxuaW1wb3J0IHtGaWVsZEFjdGlvbn0gZnJvbSBcIi4uL2Jhc2UtbW9kZWwvZmllbGQtYWN0aW9uXCI7XHJcbmltcG9ydCB7V29ya2Zsb3d9IGZyb20gXCIuLi9iYXNlLW1vZGVsL3dvcmtmbG93L3dvcmtmbG93Lm1vZGVsXCI7XHJcbmltcG9ydCB7UmVwb3J0UmVxdWVzdH0gZnJvbSBcIi4uL2Jhc2UtbW9kZWwvcmVwb3J0LXJlcXVlc3QubW9kZWxcIjtcclxuaW1wb3J0IHtGaWx0ZXJSZXF1ZXN0fSBmcm9tIFwiLi4vYmFzZS1tb2RlbC9maWx0ZXItcmVxdWVzdFwiO1xyXG5pbXBvcnQge1Jlc3BvbnNlRW52ZWxvcH0gZnJvbSBcIi4uL2Jhc2UtbW9kZWwvcmVzcG9uc2UtZW52ZWxvcC5tb2RlbFwiO1xyXG5pbXBvcnQge0Zvcm1Hcm91cH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQge1RvcFBhbmVsfSBmcm9tIFwiLi90b3AtcGFuZWxcIjtcclxuaW1wb3J0IHtEb0FjdGlvblJlcXVlc3R9IGZyb20gXCIuLi9iYXNlLW1vZGVsL2RvLWFjdGlvbi1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7TWF0RGlhbG9nfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XHJcbmltcG9ydCB7QWN0aW9uQ29uZmlybWF0aW9uQ29tcG9uZW50fSBmcm9tIFwiLi4vY29tcG9uZW50cy9hY3Rpb24tY29uZmlybWF0aW9uL2FjdGlvbi1jb25maXJtYXRpb24uY29tcG9uZW50XCI7XHJcblxyXG5jb25zdCBXT1JLRkxPV19TVEFURVNfTUFQOiBSZWNvcmQ8bnVtYmVyLCBzdHJpbmc+ID0ge1xyXG4gICAgMTogJ05ldycsXHJcbiAgICAyOiAnUGVuZGluZycsXHJcbiAgICAzOiAnVGVybWluYXRlZCcsXHJcbiAgICA0OiAnQ29tcGxldGVkJyxcclxuICAgIDU6ICdVcGRhdGVkJyxcclxuICAgIDY6ICdEZWZhdWx0J1xyXG59O1xyXG5cclxuY29uc3QgRVhDTFVERURfUkVQT1JUX0NPTFVNTlMgPSBbJ2xpc3RBY3Rpb24nLCdidXR0b24nLCAnY2hlY2tib3gnXTtcclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYWNrZW5kU2VydmljZSB7XHJcbiAgICBwdWJsaWMgdG9wUGFuZWxNZXNzYWdlJCA9IG5ldyBTdWJqZWN0PFNuYWNrTWVzc2FnZT4oKTtcclxuICAgIC8vIEB0cy1pZ25vcmVcclxuICAgIHB1YmxpYyBwYXJlbnRGb3JtOiBGb3JtR3JvdXA7XHJcbiAgICBwdWJsaWMgY2hpbGRGb3JtOiBGb3JtR3JvdXA7XHJcbiAgICBwdWJsaWMgZmllbGRBY3Rpb24kID0gbmV3IFN1YmplY3Q8RmllbGRBY3Rpb24+KCk7XHJcbiAgICBwdWJsaWMgaXNFbXB0eUl0ZW1zOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICAgICAgICAgICAgICBwcml2YXRlIHRvcFBhbmVsOiBUb3BQYW5lbCxcclxuICAgICAgICAgICAgICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgICAgICAgICAgICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgICAgICAgICAgICAgIEBJbmplY3QoJ2NvbmZpZycpIHByaXZhdGUgY29uZmlnOiBhbnksXHJcbiAgICAgICAgICAgICAgICBASW5qZWN0KCdzZWNyZXRzTWFuYWdlcicpIHByaXZhdGUgc2VjcmV0c01hbmFnZXI6IGFueSkge1xyXG5cclxuICAgICAgICB0aGlzLnRvcFBhbmVsTWVzc2FnZSQuc3Vic2NyaWJlKG1zZyA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudG9wUGFuZWwudG9wUGFuZWxNZXNzYWdlJC5uZXh0KG1zZyk7XHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICBzZXQgZGVmYXVsdHModmFsdWU6IGFueSB8IHVuZGVmaW5lZCkge1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBkZWZhdWx0cygpOiBhbnkgfCB1bmRlZmluZWQge1xyXG4gICAgICAgIHJldHVybiB7fTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRTdGF0dXNEZXNjcmlwdGlvbihlbGVtZW50OiBhbnksIHdvcmtmbG93OiBXb3JrZmxvdykge1xyXG4gICAgICAgIGlmIChlbGVtZW50Py5zdGVwSWQpIHtcclxuXHJcbiAgICAgICAgICAgIGxldCBpbmRleCA9IHdvcmtmbG93Py53b3JrZmxvd1N0ZXBzPy5maW5kSW5kZXgocyA9PiBzLnN0ZXBJZCA9PT0gZWxlbWVudC5zdGVwSWQpO1xyXG4gICAgICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXREZWZhdWx0TGFuZygpID09PSAnYXInID9cclxuICAgICAgICAgICAgICAgICAgICB3b3JrZmxvdz8ud29ya2Zsb3dTdGVwc1tpbmRleF0uc3RlcE5hbWVBciB8fCB3b3JrZmxvdz8ud29ya2Zsb3dTdGVwc1tpbmRleF0uc3RlcE5hbWU6XHJcbiAgICAgICAgICAgICAgICAgICAgd29ya2Zsb3c/LndvcmtmbG93U3RlcHNbaW5kZXhdLnN0ZXBOYW1lO1xyXG4gICAgICAgICAgICAgICAgLy8gcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KHdvcmtmbG93Py53b3JrZmxvd1N0ZXBzW2luZGV4XS5zdGVwTmFtZSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ0lOVkVOVE9SWS5pbnByb2Nlc3NTdGF0dXMnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChlbGVtZW50LnN0YXR1c0lkID09PSA0ICYmIGVsZW1lbnQuc3RhdHVzRGVzY3JpcHRpb24pIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBlbGVtZW50LnN0YXR1c0Rlc2NyaXB0aW9uO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGVsZW1lbnQuc3RhdHVzSWQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChXT1JLRkxPV19TVEFURVNfTUFQW2VsZW1lbnQuc3RhdHVzSWRdKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBcInVua25vd25cIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuLy9zc3NcclxuICAgIGdldEl0ZW1zQnlGaWx0ZXIocmVwb3J0UmVxdWVzdDogYW55LCBhcGlVcmw6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5nZXRBcGlCYXNlUGF0aCgpfS9hcGkvdjEke2FwaVVybH0vbGlzdGA7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHVybCwgcmVwb3J0UmVxdWVzdCwgeyBoZWFkZXJzOiB0aGlzLmJ1aWxkU2VjdXJlZEhlYWRlcigpfSkucGlwZShcclxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnIgPT4gb2YoZXJyLm1lc3NhZ2UgfHwgZXJyKSkpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEl0ZW1BdWRpdExvZyhyZXBvcnRSZXF1ZXN0OiBhbnksIGFwaVVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmdldEFwaUJhc2VQYXRoKCl9L2FwaS92MSR7YXBpVXJsfS9hdWRpdC1sb2dgO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh1cmwsIHJlcG9ydFJlcXVlc3QsIHsgaGVhZGVyczogdGhpcy5idWlsZFNlY3VyZWRIZWFkZXIoKX0pLnBpcGUoXHJcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IG9mKGVyci5tZXNzYWdlIHx8IGVycikpKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBidWlsZFNlY3VyZWRIZWFkZXIoKSB7XHJcbiAgICAgICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXHJcbiAgICAgICAgICAgIEF1dGhvcml6YXRpb246IHRoaXMuY29uZmlnLmdldEF1dGhUb2tlbigpXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIGhlYWRlcnM7XHJcbiAgICB9XHJcblxyXG4gIHB1YmxpYyBidWlsZEZvcm1TZWN1cmVkSGVhZGVyKCkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgIEF1dGhvcml6YXRpb246IHRoaXMuY29uZmlnLmdldEF1dGhUb2tlbigpXHJcbiAgICB9KTtcclxuICAgIHJldHVybiBoZWFkZXJzO1xyXG4gIH1cclxuXHJcbiAgbGFiZWxLZXkoY29sdW1uOiBhbnksIHBhZ2VJbmZvOiBQYWdlSW5mbykge1xyXG4gICAgY29uc3QgY29uZmlndXJlZEtleSA9IGNvbHVtbi5sYWJlbCA/IGNvbHVtbi5sYWJlbCA6IGNvbHVtbi5wcm9wZXJ0eTtcclxuXHJcbiAgICBpZiAoY29uZmlndXJlZEtleSAmJiBjb25maWd1cmVkS2V5LnRyaW0oKSAhPT0gJycgJiYgY29uZmlndXJlZEtleS5zdGFydHNXaXRoKHBhZ2VJbmZvLmxhYmVsc1NlY3Rpb24pKSB7XHJcbiAgICAgIHJldHVybiBjb25maWd1cmVkS2V5O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBgJHtwYWdlSW5mby5sYWJlbHNTZWN0aW9ufS4ke2NvbmZpZ3VyZWRLZXl9YDtcclxuICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgYnVpbGRSZXBvcnRDb2x1bW4oY29sdW1uczogVGFibGVDb2x1bW48YW55PltdLCBwYWdlSW5mbzogUGFnZUluZm8pOiBDb2x1bW5EZWZbXSB7XHJcbiAgICAgICAgbGV0IGNvbHVtbkRlZjogQ29sdW1uRGVmW10gPSBbXTtcclxuXHJcbiAgICAgICAgICBjb2x1bW5zLmZpbHRlcih4ID0+ICFFWENMVURFRF9SRVBPUlRfQ09MVU1OUy5pbmNsdWRlcyh4LnR5cGUpKS5mb3JFYWNoKChjLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgdHJhbnNMYWJlbCA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KHRoaXMubGFiZWxLZXkoYyxwYWdlSW5mbykpO1xyXG4gICAgICAgICAgICBsZXQgdHJhbnNHcm91cCA9IHBhZ2VJbmZvLnN1cHBvcnRHcm91cGluZ0luRXhwb3J0ID9cclxuICAgICAgICAgICAgICBjLmdyb3VwLnRyaW0oKSA/IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGMuZ3JvdXApIDogJyAnIDogbnVsbDtcclxuICAgICAgICAgICAgaWYgKGMudHlwZSA9PT0gJ3dvcmtmbG93U3RhdHVzJykge1xyXG4gICAgICAgICAgICAgIHRyYW5zTGFiZWwgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnd29ya2Zsb3dTdGF0dXMnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoKGMucmVwb3J0VmlzaWJsZSA9PT0gdHJ1ZSkgfHwgKGMudmlzaWJsZSA9PT0gdHJ1ZSAmJiBjLnJlcG9ydFZpc2libGUgIT09IGZhbHNlKSkge1xyXG4gICAgICAgICAgICAgIGNvbHVtbkRlZi5wdXNoKG5ldyBDb2x1bW5EZWYoYywgaW5kZXgsIHRyYW5zTGFiZWwsIHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXREZWZhdWx0TGFuZygpLHRyYW5zR3JvdXApKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBjb2x1bW5EZWY7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBiYXNlNjRUb0FycmF5QnVmZmVyKGJhc2U2NDogc3RyaW5nKSB7XHJcbiAgICAgICAgY29uc3QgYmluYXJ5U3RyaW5nID0gd2luZG93LmF0b2IoYmFzZTY0KTsgLy8gQ29tbWVudCB0aGlzIGlmIG5vdCB1c2luZyBiYXNlNjRcclxuICAgICAgICBjb25zdCBieXRlcyA9IG5ldyBVaW50OEFycmF5KGJpbmFyeVN0cmluZy5sZW5ndGgpO1xyXG4gICAgICAgIHJldHVybiBieXRlcy5tYXAoKGJ5dGUsIGkpID0+IGJpbmFyeVN0cmluZy5jaGFyQ29kZUF0KGkpKTtcclxuICAgIH1cclxuXHJcbiAgICBidWlsZFJlcG9ydFJlcXVlc3QoY29sdW1uczogVGFibGVDb2x1bW48YW55PltdLCB0aXRsZTogc3RyaW5nIHwgc3RyaW5nW10sIGZpbHRlclJlcXVlc3Q6IEZpbHRlclJlcXVlc3QsIHJlcG9ydFR5cGU6IGFueSwgcGFnZUluZm86IFBhZ2VJbmZvLCBzZWFyY2hTdHI6IHN0cmluZyAsb3JpZW50YXRpb249J1BPUlRSQUlUJyk6IFJlcG9ydFJlcXVlc3Qge1xyXG4gICAgICAgIGNvbnN0IGNvbHVtbkRlZiA9IHRoaXMuYnVpbGRSZXBvcnRDb2x1bW4oY29sdW1ucywgcGFnZUluZm8pO1xyXG4gICAgICAgIGNvbnN0IHJlcG9ydFJlcXVlc3QgPSBuZXcgUmVwb3J0UmVxdWVzdCh7XHJcbiAgICAgICAgICAgIGRhdGFzZXQ6IFtdLCBmaWx0ZXI6IFwiXCIsXHJcbiAgICAgICAgICAgIGNvbHVtbnM6IGNvbHVtbkRlZixcclxuICAgICAgICAgICAgLy8gc2Vzc2lvbklkOiB0aGlzLnRvcFBhbmVsLnVzZXJTZXNzaW9uKCkuc2Vzc2lvbklkLFxyXG4gICAgICAgICAgICBzZXNzaW9uSWQ6IHRoaXMuY29uZmlnLmdldEF1dGhUb2tlbigpLFxyXG4gICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQodGl0bGUpLFxyXG4gICAgICAgICAgICBwcmVmTGFuZzogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldERlZmF1bHRMYW5nKCksXHJcbiAgICAgICAgICAgIHJlcG9ydFR5cGU6IHJlcG9ydFR5cGUsXHJcbiAgICAgICAgICAgIHNlYXJjaFN0cjogc2VhcmNoU3RyLFxyXG4gICAgICAgICAgICBmaWx0ZXJSZXF1ZXN0OiBmaWx0ZXJSZXF1ZXN0LFxyXG4gICAgICAgICAgICBvcmllbnRhdGlvbjogb3JpZW50YXRpb259KTtcclxuICAgICAgICByZXR1cm4gcmVwb3J0UmVxdWVzdDtcclxuICAgIH1cclxuXHJcbiAgICBnZXRMb29rdXBJdGVtc0J5TXVsdGlGaWx0ZXIobGlzdEl0ZW1zOiBHZXRJdGVtc0xpc3QsIGZpbHRlclJlcXVlc3Q/OiBGaWx0ZXJSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgICAgbGlzdEl0ZW1zLnBhZ2VTaXplID0gMTAwO1xyXG4gICAgICBmaWx0ZXJSZXF1ZXN0LnBhZ2VTaXplID0gMTAwO1xyXG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdzZWFyY2hTdHInLCBsaXN0SXRlbXMuc2VhcmNoU3RyKTtcclxuICAgICAgICBsZXQgdXJsID0gYCR7dGhpcy5nZXRBcGlCYXNlUGF0aCgpfS9hcGkvdjEvJHtsaXN0SXRlbXMuYXBpVXJpfWA7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHVybCwgZmlsdGVyUmVxdWVzdCwgeyBoZWFkZXJzOiB0aGlzLmJ1aWxkU2VjdXJlZEhlYWRlcigpLCBwYXJhbXM6IHBhcmFtc30pLnBpcGUoXHJcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IG9mKGVyci5tZXNzYWdlIHx8IGVycikpKTtcclxuICAgIH1cclxuICAgIGdldExvb2t1cEl0ZW1zQnlGaWx0ZXIobGlzdEl0ZW1zOiBHZXRJdGVtc0xpc3QsIGNhc2NhZGVkSWQ/OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgICAgIGxpc3RJdGVtcy5wYWdlU2l6ZSA9IDUwMDtcclxuICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldCgnc2VhcmNoU3RyJywgbGlzdEl0ZW1zLnNlYXJjaFN0cik7XHJcbiAgICAgICAgbGV0IHVybCA9IGAke3RoaXMuZ2V0QXBpQmFzZVBhdGgoKX0vYXBpL3YxLyR7bGlzdEl0ZW1zLmFwaVVyaX1gO1xyXG4gICAgICAgIGlmIChjYXNjYWRlZElkKSB7XHJcbiAgICAgICAgICAgIHVybCA9IHVybCArIGAvJHtjYXNjYWRlZElkfWBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh1cmwsIGxpc3RJdGVtcyx7IGhlYWRlcnM6IHRoaXMuYnVpbGRTZWN1cmVkSGVhZGVyKCl9KS5waXBlKFxyXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG4gICAgICAgICAgICBjYXRjaEVycm9yKGVyciA9PiBvZihlcnIubWVzc2FnZSB8fCBlcnIpKSk7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICBkb3dubG9hZFJlcG9ydChyZXBvcnRSZXF1ZXN0OiBSZXBvcnRSZXF1ZXN0LCBwYWdlQXBpUGF0aCA6IHN0cmluZywgcmVhZHlQYXRoPyA6IGJvb2xlYW4gKSB7XHJcbiAgICAgIGNvbnN0IHMgPSByZWFkeVBhdGggPT09IHRydWUgPyBgL2FwaS92MSR7cGFnZUFwaVBhdGh9YCA6IGAvYXBpL3YxJHtwYWdlQXBpUGF0aH0vZXh0Y3RBbmREb3dubG9hZExpc3RSZXBvcnRgO1xyXG4gICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8UmVzcG9uc2VFbnZlbG9wPih0aGlzLmdldEFwaUJhc2VQYXRoKCkgKyBzLCByZXBvcnRSZXF1ZXN0LCB7aGVhZGVyczogdGhpcy5idWlsZFNlY3VyZWRIZWFkZXIoKX0pLnN1YnNjcmliZShcclxuICAgICAgICAgICAgKHJlc3A6UmVzcG9uc2VFbnZlbG9wKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzcC52YWxpZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNwLmJvZHkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9wUGFuZWxNZXNzYWdlJC5uZXh0KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgU25hY2tNZXNzYWdlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdyZXBvcnQuZG93bmxvYWQuc3RhcnQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N1Y2Nlc3MnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eTogcmVwb3J0UmVxdWVzdC50aXRsZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdDogcmVwb3J0UmVxdWVzdC5yZXBvcnRUeXBlPy50b1VwcGVyQ2FzZSgpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWxlbmFtZSA9IHJlcG9ydFJlcXVlc3QudGl0bGUgKyBcIi5cIiArIHJlcG9ydFJlcXVlc3QucmVwb3J0VHlwZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFt0aGlzLmJhc2U2NFRvQXJyYXlCdWZmZXIocmVzcC5ib2R5KV0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobmF2aWdhdG9yLm1zU2F2ZUJsb2IpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hdmlnYXRvci5tc1NhdmVCbG9iKGJsb2IsIGZpbGVuYW1lKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBCcm93c2VycyB0aGF0IHN1cHBvcnQgSFRNTDUgZG93bmxvYWQgYXR0cmlidXRlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobGluay5kb3dubG9hZCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5rLnNldEF0dHJpYnV0ZSgnaHJlZicsIHVybCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluay5zZXRBdHRyaWJ1dGUoJ2Rvd25sb2FkJywgZmlsZW5hbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmsuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluayk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluay5jbGljaygpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGluayk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRvcFBhbmVsLnRvcFBhbmVsTWVzc2FnZSQubmV4dChuZXcgU25hY2tNZXNzYWdlKHJlc3AubWVzc2FnZS50b1N0cmluZygpLCB0cnVlLCAnaW5mbycpKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG9wUGFuZWwudG9wUGFuZWxNZXNzYWdlJC5uZXh0KG5ldyBTbmFja01lc3NhZ2UocmVzcC5tZXNzYWdlLnRvU3RyaW5nKCksIGZhbHNlLCAnZXJyb3InKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldEFwaUJhc2VQYXRoKCl7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5nZXRCYXNlQXBpKCk7XHJcbiAgICB9XHJcblxyXG4gIGRvQWN0aW9uV2l0aEF0dGFjaG1lbnRzKHJlcXVlc3Q6IERvQWN0aW9uUmVxdWVzdCwgcGFyYW0yOiBhbnlbXSwgcGFnZUluZm86IFBhZ2VJbmZvKSB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmdldEFwaUJhc2VQYXRoKCl9L2FwaS92MSR7cGFnZUluZm8uYXBpVXJpfS9kb0FjdGlvbldpdGhBdHRhY2htZW50c2A7XHJcbiAgICBjb25zdCBmb3JtRGF0YTogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcclxuICAgIGZvcm1EYXRhLnNldCgnZG9BY3Rpb25SZXF1ZXN0JywgbmV3IEJsb2IoW0pTT04uc3RyaW5naWZ5KHJlcXVlc3QpXSwge1xyXG4gICAgICB0eXBlOiBcImFwcGxpY2F0aW9uL2pzb25cIlxyXG4gICAgfSkpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh1cmwsIGZvcm1EYXRhLCB7IGhlYWRlcnM6IHRoaXMuYnVpbGRGb3JtU2VjdXJlZEhlYWRlcigpIH0pLnBpcGUoXHJcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIHJldHVybiBvZihlcnJvci5lcnJvcik7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG5cclxuICB9XHJcbiAgZG9BY3Rpb25XaXRoQXR0YWNobWVudChyZXF1ZXN0OiBEb0FjdGlvblJlcXVlc3QsIGZpbGU6IEZpbGUsIHBhZ2VJbmZvOiBQYWdlSW5mbykge1xyXG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5nZXRBcGlCYXNlUGF0aCgpfS9hcGkvdjEke3BhZ2VJbmZvLmFwaVVyaX0vZG9BY3Rpb25XaXRoQXR0YWNobWVudHNgO1xyXG4gICAgY29uc3QgZm9ybURhdGE6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcblxyXG4gICAgZm9ybURhdGEuYXBwZW5kKCdmaWxlcycsIGZpbGUpO1xyXG4gICAgZm9ybURhdGEuc2V0KCdkb0FjdGlvblJlcXVlc3QnLCBuZXcgQmxvYihbSlNPTi5zdHJpbmdpZnkocmVxdWVzdCldLCB7XHJcbiAgICAgIHR5cGU6IFwiYXBwbGljYXRpb24vanNvblwiXHJcbiAgICB9KSk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4odXJsLCBmb3JtRGF0YSwge1xyXG4gICAgICBoZWFkZXJzOiB0aGlzLmJ1aWxkRm9ybVNlY3VyZWRIZWFkZXIoKVxyXG4gICAgfSkucGlwZShcclxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgLy8gVHJhbnNmb3JtIHRoZSBlcnJvciBpbnRvIGEgZmFrZSBzdWNjZXNzLWxpa2UgcmVzcG9uc2VcclxuICAgICAgICByZXR1cm4gb2YoZXJyb3IuZXJyb3IpOyAvLyBUaGlzIHdpbGwgbm93IGJlIHBhc3NlZCB0byBgbmV4dGAgaW4gc3Vic2NyaWJlKClcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBlbmNyeXB0KG1lc3NhZ2U6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VjcmV0c01hbmFnZXIuZW5jcnlwdFNlY3JldChtZXNzYWdlKTtcclxuICB9XHJcblxyXG4gIGRlY3J5cHQoc2VjcmV0OiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLnNlY3JldHNNYW5hZ2VyLmRlY3J5cHRTZWNyZXQoc2VjcmV0KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRDb25maXJtYXRpb24oKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQWN0aW9uQ29uZmlybWF0aW9uQ29tcG9uZW50LCB7XHJcbiAgICAgIGRhdGE6IHthY2NlcHRBY3Rpb25MYWJlbDogJ2FjY2VwdCcscmVqZWN0QWN0aW9uTGFiZWw6J3JldHVybicsIHdhcm5pbmdNc2c6ICdjb25maXJtYXRpb25fbWVzc2FnZSd9LFxyXG4gICAgICB3aWR0aDogJzYwMHB4JyxcclxuICAgICAgaGVpZ2h0OiAnYXV0bydcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbmRlY2xhcmUgZ2xvYmFsIHtcclxuICAgIGludGVyZmFjZSBOYXZpZ2F0b3Ige1xyXG4gICAgICAgIG1zU2F2ZUJsb2I6IChibG9iT3JCYXNlNjQ6IEJsb2IgfCBzdHJpbmcsIGZpbGVuYW1lOiBzdHJpbmcpID0+IHZvaWRcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
244
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZC1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW52b2ljZXEvdWktbGliL3NyYy9saWIvc2VydmljZXMvYmFja2VuZC1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBZ0MsV0FBVyxFQUFFLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzVGLE9BQU8sRUFBYSxFQUFFLEVBQUUsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBQyxVQUFVLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFHL0QsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBS3pELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQVFqRSxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQzs7Ozs7OztBQUU1RyxNQUFNLG1CQUFtQixHQUEyQjtJQUNoRCxDQUFDLEVBQUUsS0FBSztJQUNSLENBQUMsRUFBRSxTQUFTO0lBQ1osQ0FBQyxFQUFFLFlBQVk7SUFDZixDQUFDLEVBQUUsV0FBVztJQUNkLENBQUMsRUFBRSxTQUFTO0lBQ1osQ0FBQyxFQUFFLFNBQVM7Q0FDZixDQUFDO0FBRUYsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLFlBQVksRUFBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFJcEUsTUFBTSxPQUFPLGNBQWM7SUFRdkIsWUFBb0IsSUFBZ0IsRUFDaEIsUUFBa0IsRUFDbEIsZ0JBQWtDLEVBQ2xDLEtBQXFCLEVBQ3JCLE1BQWlCLEVBQ0MsTUFBVyxFQUNILGNBQW1CO1FBTjdDLFNBQUks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QkFIMUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQWNnQixNQUFNOzJCQUFDLFFBQVE7OzBCQUNmLE1BQU07MkJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7SHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHtPYnNlcnZhYmxlLCBvZiwgU3ViamVjdH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtjYXRjaEVycm9yLCBkaXN0aW5jdFVudGlsQ2hhbmdlZH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7U25hY2tNZXNzYWdlfSBmcm9tIFwiLi4vYmFzZS1tb2RlbC9zbmFjay1tZXNzYWdlLm1vZGVsXCI7XHJcbmltcG9ydCB7UGFnZUluZm99IGZyb20gXCIuLi9iYXNlLW1vZGVsL3BhZ2UtaW5mb1wiO1xyXG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XHJcbmltcG9ydCB7Q29sdW1uRGVmfSBmcm9tIFwiLi4vYmFzZS1tb2RlbC9jb2x1bW4tZGVmLm1vZGVsXCI7XHJcbmltcG9ydCB7VGFibGVDb2x1bW59IGZyb20gXCIuLi9iYXNlLW1vZGVsL3RhYmxlLWNvbHVtbi5pbnRlcmZhY2VcIjtcclxuaW1wb3J0IHtHZXRJdGVtc0xpc3R9IGZyb20gXCIuLi9iYXNlLW1vZGVsL2dldC1pdGVtcy1saXN0XCI7XHJcbmltcG9ydCB7RmllbGRBY3Rpb259IGZyb20gXCIuLi9iYXNlLW1vZGVsL2ZpZWxkLWFjdGlvblwiO1xyXG5pbXBvcnQge1dvcmtmbG93fSBmcm9tIFwiLi4vYmFzZS1tb2RlbC93b3JrZmxvdy93b3JrZmxvdy5tb2RlbFwiO1xyXG5pbXBvcnQge1JlcG9ydFJlcXVlc3R9IGZyb20gXCIuLi9iYXNlLW1vZGVsL3JlcG9ydC1yZXF1ZXN0Lm1vZGVsXCI7XHJcbmltcG9ydCB7RmlsdGVyUmVxdWVzdH0gZnJvbSBcIi4uL2Jhc2UtbW9kZWwvZmlsdGVyLXJlcXVlc3RcIjtcclxuaW1wb3J0IHtSZXNwb25zZUVudmVsb3B9IGZyb20gXCIuLi9iYXNlLW1vZGVsL3Jlc3BvbnNlLWVudmVsb3AubW9kZWxcIjtcclxuaW1wb3J0IHtGb3JtR3JvdXB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHtUb3BQYW5lbH0gZnJvbSBcIi4vdG9wLXBhbmVsXCI7XHJcbmltcG9ydCB7RG9BY3Rpb25SZXF1ZXN0fSBmcm9tIFwiLi4vYmFzZS1tb2RlbC9kby1hY3Rpb24tcmVxdWVzdFwiO1xyXG5pbXBvcnQge01hdERpYWxvZ30gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xyXG5pbXBvcnQge0FjdGlvbkNvbmZpcm1hdGlvbkNvbXBvbmVudH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvYWN0aW9uLWNvbmZpcm1hdGlvbi9hY3Rpb24tY29uZmlybWF0aW9uLmNvbXBvbmVudFwiO1xyXG5cclxuY29uc3QgV09SS0ZMT1dfU1RBVEVTX01BUDogUmVjb3JkPG51bWJlciwgc3RyaW5nPiA9IHtcclxuICAgIDE6ICdOZXcnLFxyXG4gICAgMjogJ1BlbmRpbmcnLFxyXG4gICAgMzogJ1Rlcm1pbmF0ZWQnLFxyXG4gICAgNDogJ0NvbXBsZXRlZCcsXHJcbiAgICA1OiAnVXBkYXRlZCcsXHJcbiAgICA2OiAnRGVmYXVsdCdcclxufTtcclxuXHJcbmNvbnN0IEVYQ0xVREVEX1JFUE9SVF9DT0xVTU5TID0gWydsaXN0QWN0aW9uJywnYnV0dG9uJywgJ2NoZWNrYm94J107XHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFja2VuZFNlcnZpY2Uge1xyXG4gICAgcHVibGljIHRvcFBhbmVsTWVzc2FnZSQgPSBuZXcgU3ViamVjdDxTbmFja01lc3NhZ2U+KCk7XHJcbiAgICAvLyBAdHMtaWdub3JlXHJcbiAgICBwdWJsaWMgcGFyZW50Rm9ybTogRm9ybUdyb3VwO1xyXG4gICAgcHVibGljIGNoaWxkRm9ybTogRm9ybUdyb3VwO1xyXG4gICAgcHVibGljIGZpZWxkQWN0aW9uJCA9IG5ldyBTdWJqZWN0PEZpZWxkQWN0aW9uPigpO1xyXG4gICAgcHVibGljIGlzRW1wdHlJdGVtczogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSB0b3BQYW5lbDogVG9wUGFuZWwsXHJcbiAgICAgICAgICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgICAgICAgICAgICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICAgICAgICAgICAgICBASW5qZWN0KCdjb25maWcnKSBwcml2YXRlIGNvbmZpZzogYW55LFxyXG4gICAgICAgICAgICAgICAgQEluamVjdCgnc2VjcmV0c01hbmFnZXInKSBwcml2YXRlIHNlY3JldHNNYW5hZ2VyOiBhbnkpIHtcclxuXHJcbiAgICAgICAgdGhpcy50b3BQYW5lbE1lc3NhZ2UkLnN1YnNjcmliZShtc2cgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnRvcFBhbmVsLnRvcFBhbmVsTWVzc2FnZSQubmV4dChtc2cpO1xyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgc2V0IGRlZmF1bHRzKHZhbHVlOiBhbnkgfCB1bmRlZmluZWQpIHtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgZGVmYXVsdHMoKTogYW55IHwgdW5kZWZpbmVkIHtcclxuICAgICAgICByZXR1cm4ge307XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0U3RhdHVzRGVzY3JpcHRpb24oZWxlbWVudDogYW55LCB3b3JrZmxvdzogV29ya2Zsb3cpIHtcclxuICAgICAgICBpZiAoZWxlbWVudD8uc3RlcElkKSB7XHJcblxyXG4gICAgICAgICAgICBsZXQgaW5kZXggPSB3b3JrZmxvdz8ud29ya2Zsb3dTdGVwcz8uZmluZEluZGV4KHMgPT4gcy5zdGVwSWQgPT09IGVsZW1lbnQuc3RlcElkKTtcclxuICAgICAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0RGVmYXVsdExhbmcoKSA9PT0gJ2FyJyA/XHJcbiAgICAgICAgICAgICAgICAgICAgd29ya2Zsb3c/LndvcmtmbG93U3RlcHNbaW5kZXhdLnN0ZXBOYW1lQXIgfHwgd29ya2Zsb3c/LndvcmtmbG93U3RlcHNbaW5kZXhdLnN0ZXBOYW1lOlxyXG4gICAgICAgICAgICAgICAgICAgIHdvcmtmbG93Py53b3JrZmxvd1N0ZXBzW2luZGV4XS5zdGVwTmFtZTtcclxuICAgICAgICAgICAgICAgIC8vIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCh3b3JrZmxvdz8ud29ya2Zsb3dTdGVwc1tpbmRleF0uc3RlcE5hbWUpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdJTlZFTlRPUlkuaW5wcm9jZXNzU3RhdHVzJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoZWxlbWVudC5zdGF0dXNJZCA9PT0gNCAmJiBlbGVtZW50LnN0YXR1c0Rlc2NyaXB0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZWxlbWVudC5zdGF0dXNEZXNjcmlwdGlvbjtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChlbGVtZW50LnN0YXR1c0lkKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoV09SS0ZMT1dfU1RBVEVTX01BUFtlbGVtZW50LnN0YXR1c0lkXSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJ1bmtub3duXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbi8vc3NzXHJcbiAgICBnZXRJdGVtc0J5RmlsdGVyKHJlcG9ydFJlcXVlc3Q6IGFueSwgYXBpVXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMuZ2V0QXBpQmFzZVBhdGgoKX0vYXBpL3YxJHthcGlVcmx9L2xpc3RgO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh1cmwsIHJlcG9ydFJlcXVlc3QsIHsgaGVhZGVyczogdGhpcy5idWlsZFNlY3VyZWRIZWFkZXIoKX0pLnBpcGUoXHJcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IG9mKGVyci5tZXNzYWdlIHx8IGVycikpKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRJdGVtQXVkaXRMb2cocmVwb3J0UmVxdWVzdDogYW55LCBhcGlVcmw6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5nZXRBcGlCYXNlUGF0aCgpfS9hcGkvdjEke2FwaVVybH0vYXVkaXQtbG9nYDtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodXJsLCByZXBvcnRSZXF1ZXN0LCB7IGhlYWRlcnM6IHRoaXMuYnVpbGRTZWN1cmVkSGVhZGVyKCl9KS5waXBlKFxyXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG4gICAgICAgICAgICBjYXRjaEVycm9yKGVyciA9PiBvZihlcnIubWVzc2FnZSB8fCBlcnIpKSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgYnVpbGRTZWN1cmVkSGVhZGVyKCkge1xyXG4gICAgICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxyXG4gICAgICAgICAgICBBdXRob3JpemF0aW9uOiB0aGlzLmNvbmZpZy5nZXRBdXRoVG9rZW4oKVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBoZWFkZXJzO1xyXG4gICAgfVxyXG5cclxuICBwdWJsaWMgYnVpbGRGb3JtU2VjdXJlZEhlYWRlcigpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICBBdXRob3JpemF0aW9uOiB0aGlzLmNvbmZpZy5nZXRBdXRoVG9rZW4oKVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gaGVhZGVycztcclxuICB9XHJcblxyXG4gIGxhYmVsS2V5KGNvbHVtbjogYW55LCBwYWdlSW5mbzogUGFnZUluZm8pIHtcclxuICAgIGNvbnN0IGNvbmZpZ3VyZWRLZXkgPSBjb2x1bW4ubGFiZWwgPyBjb2x1bW4ubGFiZWwgOiBjb2x1bW4ucHJvcGVydHk7XHJcblxyXG4gICAgaWYgKGNvbmZpZ3VyZWRLZXkgJiYgY29uZmlndXJlZEtleS50cmltKCkgIT09ICcnICYmIGNvbmZpZ3VyZWRLZXkuc3RhcnRzV2l0aChwYWdlSW5mby5sYWJlbHNTZWN0aW9uKSkge1xyXG4gICAgICByZXR1cm4gY29uZmlndXJlZEtleTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gYCR7cGFnZUluZm8ubGFiZWxzU2VjdGlvbn0uJHtjb25maWd1cmVkS2V5fWA7XHJcbiAgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIGJ1aWxkUmVwb3J0Q29sdW1uKGNvbHVtbnM6IFRhYmxlQ29sdW1uPGFueT5bXSwgcGFnZUluZm86IFBhZ2VJbmZvKTogQ29sdW1uRGVmW10ge1xyXG4gICAgICAgIGxldCBjb2x1bW5EZWY6IENvbHVtbkRlZltdID0gW107XHJcblxyXG4gICAgICAgICAgY29sdW1ucy5maWx0ZXIoeCA9PiAhRVhDTFVERURfUkVQT1JUX0NPTFVNTlMuaW5jbHVkZXMoeC50eXBlKSkuZm9yRWFjaCgoYywgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgbGV0IHRyYW5zTGFiZWwgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCh0aGlzLmxhYmVsS2V5KGMscGFnZUluZm8pKTtcclxuICAgICAgICAgICAgbGV0IHRyYW5zR3JvdXAgPSBwYWdlSW5mby5zdXBwb3J0R3JvdXBpbmdJbkV4cG9ydCA/XHJcbiAgICAgICAgICAgICAgYy5ncm91cC50cmltKCkgPyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChjLmdyb3VwKSA6ICcgJyA6IG51bGw7XHJcbiAgICAgICAgICAgIGlmIChjLnR5cGUgPT09ICd3b3JrZmxvd1N0YXR1cycpIHtcclxuICAgICAgICAgICAgICB0cmFuc0xhYmVsID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3dvcmtmbG93U3RhdHVzJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKChjLnJlcG9ydFZpc2libGUgPT09IHRydWUpIHx8IChjLnZpc2libGUgPT09IHRydWUgJiYgYy5yZXBvcnRWaXNpYmxlICE9PSBmYWxzZSkpIHtcclxuICAgICAgICAgICAgICBjb2x1bW5EZWYucHVzaChuZXcgQ29sdW1uRGVmKGMsIGluZGV4LCB0cmFuc0xhYmVsLCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0RGVmYXVsdExhbmcoKSx0cmFuc0dyb3VwKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gY29sdW1uRGVmO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYmFzZTY0VG9BcnJheUJ1ZmZlcihiYXNlNjQ6IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IGJpbmFyeVN0cmluZyA9IHdpbmRvdy5hdG9iKGJhc2U2NCk7IC8vIENvbW1lbnQgdGhpcyBpZiBub3QgdXNpbmcgYmFzZTY0XHJcbiAgICAgICAgY29uc3QgYnl0ZXMgPSBuZXcgVWludDhBcnJheShiaW5hcnlTdHJpbmcubGVuZ3RoKTtcclxuICAgICAgICByZXR1cm4gYnl0ZXMubWFwKChieXRlLCBpKSA9PiBiaW5hcnlTdHJpbmcuY2hhckNvZGVBdChpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgYnVpbGRSZXBvcnRSZXF1ZXN0KGNvbHVtbnM6IFRhYmxlQ29sdW1uPGFueT5bXSwgdGl0bGU6IHN0cmluZyB8IHN0cmluZ1tdLCBmaWx0ZXJSZXF1ZXN0OiBGaWx0ZXJSZXF1ZXN0LCByZXBvcnRUeXBlOiBhbnksIHBhZ2VJbmZvOiBQYWdlSW5mbywgc2VhcmNoU3RyOiBzdHJpbmcgLG9yaWVudGF0aW9uPSdQT1JUUkFJVCcpOiBSZXBvcnRSZXF1ZXN0IHtcclxuICAgICAgICBjb25zdCBjb2x1bW5EZWYgPSB0aGlzLmJ1aWxkUmVwb3J0Q29sdW1uKGNvbHVtbnMsIHBhZ2VJbmZvKTtcclxuICAgICAgICBjb25zdCByZXBvcnRSZXF1ZXN0ID0gbmV3IFJlcG9ydFJlcXVlc3Qoe1xyXG4gICAgICAgICAgICBkYXRhc2V0OiBbXSwgZmlsdGVyOiBcIlwiLFxyXG4gICAgICAgICAgICBjb2x1bW5zOiBjb2x1bW5EZWYsXHJcbiAgICAgICAgICAgIC8vIHNlc3Npb25JZDogdGhpcy50b3BQYW5lbC51c2VyU2Vzc2lvbigpLnNlc3Npb25JZCxcclxuICAgICAgICAgICAgc2Vzc2lvbklkOiB0aGlzLmNvbmZpZy5nZXRBdXRoVG9rZW4oKSxcclxuICAgICAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KHRpdGxlKSxcclxuICAgICAgICAgICAgcHJlZkxhbmc6IHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXREZWZhdWx0TGFuZygpLFxyXG4gICAgICAgICAgICByZXBvcnRUeXBlOiByZXBvcnRUeXBlLFxyXG4gICAgICAgICAgICBzZWFyY2hTdHI6IHNlYXJjaFN0cixcclxuICAgICAgICAgICAgZmlsdGVyUmVxdWVzdDogZmlsdGVyUmVxdWVzdCxcclxuICAgICAgICAgICAgb3JpZW50YXRpb246IG9yaWVudGF0aW9ufSk7XHJcbiAgICAgICAgcmV0dXJuIHJlcG9ydFJlcXVlc3Q7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0TG9va3VwSXRlbXNCeU11bHRpRmlsdGVyKGxpc3RJdGVtczogR2V0SXRlbXNMaXN0LCBmaWx0ZXJSZXF1ZXN0PzogRmlsdGVyUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAgIGxpc3RJdGVtcy5wYWdlU2l6ZSA9IDEwMDtcclxuICAgICAgZmlsdGVyUmVxdWVzdC5wYWdlU2l6ZSA9IDEwMDtcclxuICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldCgnc2VhcmNoU3RyJywgbGlzdEl0ZW1zLnNlYXJjaFN0cik7XHJcbiAgICAgICAgbGV0IHVybCA9IGAke3RoaXMuZ2V0QXBpQmFzZVBhdGgoKX0vYXBpL3YxLyR7bGlzdEl0ZW1zLmFwaVVyaX1gO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh1cmwsIGZpbHRlclJlcXVlc3QsIHsgaGVhZGVyczogdGhpcy5idWlsZFNlY3VyZWRIZWFkZXIoKSwgcGFyYW1zOiBwYXJhbXN9KS5waXBlKFxyXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG4gICAgICAgICAgICBjYXRjaEVycm9yKGVyciA9PiBvZihlcnIubWVzc2FnZSB8fCBlcnIpKSk7XHJcbiAgICB9XHJcbiAgICBnZXRMb29rdXBJdGVtc0J5RmlsdGVyKGxpc3RJdGVtczogR2V0SXRlbXNMaXN0LCBjYXNjYWRlZElkPzogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgICAgICBsaXN0SXRlbXMucGFnZVNpemUgPSA1MDA7XHJcbiAgICAgICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3NlYXJjaFN0cicsIGxpc3RJdGVtcy5zZWFyY2hTdHIpO1xyXG4gICAgICAgIGxldCB1cmwgPSBgJHt0aGlzLmdldEFwaUJhc2VQYXRoKCl9L2FwaS92MS8ke2xpc3RJdGVtcy5hcGlVcml9YDtcclxuICAgICAgICBpZiAoY2FzY2FkZWRJZCkge1xyXG4gICAgICAgICAgICB1cmwgPSB1cmwgKyBgLyR7Y2FzY2FkZWRJZH1gXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodXJsLCBsaXN0SXRlbXMseyBoZWFkZXJzOiB0aGlzLmJ1aWxkU2VjdXJlZEhlYWRlcigpfSkucGlwZShcclxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnIgPT4gb2YoZXJyLm1lc3NhZ2UgfHwgZXJyKSkpO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgZG93bmxvYWRSZXBvcnQocmVwb3J0UmVxdWVzdDogUmVwb3J0UmVxdWVzdCwgcGFnZUFwaVBhdGggOiBzdHJpbmcsIHJlYWR5UGF0aD8gOiBib29sZWFuICkge1xyXG4gICAgICBjb25zdCBzID0gcmVhZHlQYXRoID09PSB0cnVlID8gYC9hcGkvdjEke3BhZ2VBcGlQYXRofWAgOiBgL2FwaS92MSR7cGFnZUFwaVBhdGh9L2V4dHJhY3RBbmREb3dubG9hZExpc3RSZXBvcnRgO1xyXG4gICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8UmVzcG9uc2VFbnZlbG9wPih0aGlzLmdldEFwaUJhc2VQYXRoKCkgKyBzLCByZXBvcnRSZXF1ZXN0LCB7aGVhZGVyczogdGhpcy5idWlsZFNlY3VyZWRIZWFkZXIoKX0pLnN1YnNjcmliZShcclxuICAgICAgICAgICAgKHJlc3A6UmVzcG9uc2VFbnZlbG9wKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzcC52YWxpZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNwLmJvZHkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9wUGFuZWxNZXNzYWdlJC5uZXh0KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgU25hY2tNZXNzYWdlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdyZXBvcnQuZG93bmxvYWQuc3RhcnQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N1Y2Nlc3MnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eTogcmVwb3J0UmVxdWVzdC50aXRsZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdDogcmVwb3J0UmVxdWVzdC5yZXBvcnRUeXBlPy50b1VwcGVyQ2FzZSgpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWxlbmFtZSA9IHJlcG9ydFJlcXVlc3QudGl0bGUgKyBcIi5cIiArIHJlcG9ydFJlcXVlc3QucmVwb3J0VHlwZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFt0aGlzLmJhc2U2NFRvQXJyYXlCdWZmZXIocmVzcC5ib2R5KV0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobmF2aWdhdG9yLm1zU2F2ZUJsb2IpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hdmlnYXRvci5tc1NhdmVCbG9iKGJsb2IsIGZpbGVuYW1lKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBCcm93c2VycyB0aGF0IHN1cHBvcnQgSFRNTDUgZG93bmxvYWQgYXR0cmlidXRlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobGluay5kb3dubG9hZCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5rLnNldEF0dHJpYnV0ZSgnaHJlZicsIHVybCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluay5zZXRBdHRyaWJ1dGUoJ2Rvd25sb2FkJywgZmlsZW5hbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmsuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluayk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluay5jbGljaygpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGluayk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRvcFBhbmVsTWVzc2FnZSQubmV4dChuZXcgU25hY2tNZXNzYWdlKHJlc3AubWVzc2FnZS50b1N0cmluZygpLCB0cnVlLCAnaW5mbycpKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG9wUGFuZWxNZXNzYWdlJC5uZXh0KG5ldyBTbmFja01lc3NhZ2UocmVzcC5tZXNzYWdlLnRvU3RyaW5nKCksIGZhbHNlLCAnZXJyb3InKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldEFwaUJhc2VQYXRoKCl7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5nZXRCYXNlQXBpKCk7XHJcbiAgICB9XHJcblxyXG4gIGRvQWN0aW9uV2l0aEF0dGFjaG1lbnRzKHJlcXVlc3Q6IERvQWN0aW9uUmVxdWVzdCwgcGFyYW0yOiBhbnlbXSwgcGFnZUluZm86IFBhZ2VJbmZvKSB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmdldEFwaUJhc2VQYXRoKCl9L2FwaS92MSR7cGFnZUluZm8uYXBpVXJpfS9kb0FjdGlvbldpdGhBdHRhY2htZW50c2A7XHJcbiAgICBjb25zdCBmb3JtRGF0YTogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcclxuICAgIGZvcm1EYXRhLnNldCgnZG9BY3Rpb25SZXF1ZXN0JywgbmV3IEJsb2IoW0pTT04uc3RyaW5naWZ5KHJlcXVlc3QpXSwge1xyXG4gICAgICB0eXBlOiBcImFwcGxpY2F0aW9uL2pzb25cIlxyXG4gICAgfSkpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh1cmwsIGZvcm1EYXRhLCB7IGhlYWRlcnM6IHRoaXMuYnVpbGRGb3JtU2VjdXJlZEhlYWRlcigpIH0pLnBpcGUoXHJcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIHJldHVybiBvZihlcnJvci5lcnJvcik7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG5cclxuICB9XHJcbiAgZG9BY3Rpb25XaXRoQXR0YWNobWVudChyZXF1ZXN0OiBEb0FjdGlvblJlcXVlc3QsIGZpbGU6IEZpbGUsIHBhZ2VJbmZvOiBQYWdlSW5mbykge1xyXG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5nZXRBcGlCYXNlUGF0aCgpfS9hcGkvdjEke3BhZ2VJbmZvLmFwaVVyaX0vZG9BY3Rpb25XaXRoQXR0YWNobWVudHNgO1xyXG4gICAgY29uc3QgZm9ybURhdGE6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcblxyXG4gICAgZm9ybURhdGEuYXBwZW5kKCdmaWxlcycsIGZpbGUpO1xyXG4gICAgZm9ybURhdGEuc2V0KCdkb0FjdGlvblJlcXVlc3QnLCBuZXcgQmxvYihbSlNPTi5zdHJpbmdpZnkocmVxdWVzdCldLCB7XHJcbiAgICAgIHR5cGU6IFwiYXBwbGljYXRpb24vanNvblwiXHJcbiAgICB9KSk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4odXJsLCBmb3JtRGF0YSwge1xyXG4gICAgICBoZWFkZXJzOiB0aGlzLmJ1aWxkRm9ybVNlY3VyZWRIZWFkZXIoKVxyXG4gICAgfSkucGlwZShcclxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgLy8gVHJhbnNmb3JtIHRoZSBlcnJvciBpbnRvIGEgZmFrZSBzdWNjZXNzLWxpa2UgcmVzcG9uc2VcclxuICAgICAgICByZXR1cm4gb2YoZXJyb3IuZXJyb3IpOyAvLyBUaGlzIHdpbGwgbm93IGJlIHBhc3NlZCB0byBgbmV4dGAgaW4gc3Vic2NyaWJlKClcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBlbmNyeXB0KG1lc3NhZ2U6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VjcmV0c01hbmFnZXIuZW5jcnlwdFNlY3JldChtZXNzYWdlKTtcclxuICB9XHJcblxyXG4gIGRlY3J5cHQoc2VjcmV0OiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLnNlY3JldHNNYW5hZ2VyLmRlY3J5cHRTZWNyZXQoc2VjcmV0KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRDb25maXJtYXRpb24oKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQWN0aW9uQ29uZmlybWF0aW9uQ29tcG9uZW50LCB7XHJcbiAgICAgIGRhdGE6IHthY2NlcHRBY3Rpb25MYWJlbDogJ2FjY2VwdCcscmVqZWN0QWN0aW9uTGFiZWw6J3JldHVybicsIHdhcm5pbmdNc2c6ICdjb25maXJtYXRpb25fbWVzc2FnZSd9LFxyXG4gICAgICB3aWR0aDogJzYwMHB4JyxcclxuICAgICAgaGVpZ2h0OiAnYXV0bydcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbmRlY2xhcmUgZ2xvYmFsIHtcclxuICAgIGludGVyZmFjZSBOYXZpZ2F0b3Ige1xyXG4gICAgICAgIG1zU2F2ZUJsb2I6IChibG9iT3JCYXNlNjQ6IEJsb2IgfCBzdHJpbmcsIGZpbGVuYW1lOiBzdHJpbmcpID0+IHZvaWRcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1105,7 +1105,7 @@ class BackendService {
|
|
|
1105
1105
|
return this.http.post(url, listItems, { headers: this.buildSecuredHeader() }).pipe(distinctUntilChanged(), catchError(err => of(err.message || err)));
|
|
1106
1106
|
}
|
|
1107
1107
|
downloadReport(reportRequest, pageApiPath, readyPath) {
|
|
1108
|
-
const s = readyPath === true ? `/api/v1${pageApiPath}` : `/api/v1${pageApiPath}/
|
|
1108
|
+
const s = readyPath === true ? `/api/v1${pageApiPath}` : `/api/v1${pageApiPath}/extractAndDownloadListReport`;
|
|
1109
1109
|
return this.http.post(this.getApiBasePath() + s, reportRequest, { headers: this.buildSecuredHeader() }).subscribe((resp) => {
|
|
1110
1110
|
if (resp.valid) {
|
|
1111
1111
|
if (resp.body) {
|
|
@@ -1133,11 +1133,11 @@ class BackendService {
|
|
|
1133
1133
|
}
|
|
1134
1134
|
}
|
|
1135
1135
|
else {
|
|
1136
|
-
this.
|
|
1136
|
+
this.topPanelMessage$.next(new SnackMessage(resp.message.toString(), true, 'info'));
|
|
1137
1137
|
}
|
|
1138
1138
|
}
|
|
1139
1139
|
else {
|
|
1140
|
-
this.
|
|
1140
|
+
this.topPanelMessage$.next(new SnackMessage(resp.message.toString(), false, 'error'));
|
|
1141
1141
|
}
|
|
1142
1142
|
});
|
|
1143
1143
|
}
|