atr-components 0.1.29 → 0.1.30
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.
|
@@ -58,11 +58,11 @@ export class HttpService {
|
|
|
58
58
|
withCredentials = options.isWithCredentials;
|
|
59
59
|
}
|
|
60
60
|
// console.log(_headers);
|
|
61
|
-
for
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
}
|
|
61
|
+
/*for(const key of Object.keys(params)) {
|
|
62
|
+
if(params.hasOwnProperty(key) && typeof params[key] === 'object') {
|
|
63
|
+
params[key] = JSON.stringify(params[key])
|
|
64
|
+
}
|
|
65
|
+
}*/
|
|
66
66
|
this.httpClient.post(url, params, { headers: _headers, params: {}, withCredentials: withCredentials })
|
|
67
67
|
.subscribe(result => {
|
|
68
68
|
observe.next(result);
|
|
@@ -284,4 +284,4 @@ HttpService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version:
|
|
|
284
284
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: HttpService, decorators: [{
|
|
285
285
|
type: Injectable
|
|
286
286
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
287
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvY29yZS9zZXJ2aWNlcy9odHRwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsV0FBVyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBYyxNQUFNLG9CQUFvQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRzlELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBRzdDLE1BQU0sT0FBTyxXQUFXO0lBRXRCLFlBQ1UsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQVFoQzs7OztXQUlHO1FBQ0gsU0FBSSxHQUFHLENBQUMsR0FBVyxFQUFFLE1BQVcsRUFBRSxPQUFxQixFQUFFLE9BQXFCLEVBQW1CLEVBQUU7WUFFakcsT0FBTyxJQUFJLFVBQVUsQ0FBTSxPQUFPLENBQUMsRUFBRTtnQkFDbkMsc0JBQXNCO2dCQUN0QixJQUFJLFFBQVEsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO2dCQUNqQyxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLEVBQUU7b0JBQzNELFFBQVEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7aUJBQzVDO2dCQUNELFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUMxQyxJQUFHLE9BQU8sRUFBQztvQkFDVCxRQUFRLEdBQUcsT0FBTyxDQUFD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QU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQzNDLFNBQVMsQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxHQUFHLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNuRSxDQUFDLEVBQ0QsS0FBSyxDQUFDLEVBQUU7UUFDUixDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7O3lHQW5TVSxXQUFXOzZHQUFYLFdBQVc7NEZBQVgsV0FBVztrQkFEdkIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFJlcXVlc3QsIEh0dHBFdmVudFR5cGUsIEh0dHBIZWFkZXJzIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHthdHJfc3RhdGljX2RhdGFzLCBIdHRwT3B0aW9uc30gZnJvbSAnLi4vYmFzZS9hdHItY29tbW9uJztcclxuaW1wb3J0IHsgTG9jYWxTdG9yYWdlVXRpbCB9IGZyb20gJy4uL3V0aWxzL2xvY2Fsc3RvcmFnZS51dGlsJztcclxuaW1wb3J0IHtNZDV9IGZyb20gXCJ0cy1tZDVcIjtcclxuaW1wb3J0IHtlbnZpcm9ubWVudH0gZnJvbSBcIm5nLXpvcnJvLWFudGQvY29yZS9lbnZpcm9ubWVudHNcIjtcclxuaW1wb3J0IHtUb29sc1V0aWx9IGZyb20gXCIuLi91dGlscy9Ub29sc1V0aWxcIjtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEh0dHBTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnRcclxuICApIHt9XHJcbiAgZ2V0Tm9ybWFsSGVhZGVyKF9oZWFkZXJzOiBIdHRwSGVhZGVycyk6IEh0dHBIZWFkZXJzIHtcclxuICAgIGlmKCFhdHJfc3RhdGljX2RhdGFzLm5lZWROb3JtYWxIZWFkZSl7XHJcbiAgICAgIHJldHVybiBfaGVhZGVycztcclxuICAgIH1cclxuICAgIHJldHVybiAgYXRyX3N0YXRpY19kYXRhcy5nZXROb3JtYWxIZWFkZXIoX2hlYWRlcnMpXHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHVybFxyXG4gICAqIEBwYXJhbSBwYXJhbXNcclxuICAgKi9cclxuICBwb3N0ID0gKHVybDogc3RyaW5nLCBwYXJhbXM/OmFueSwgb3B0aW9ucz86IEh0dHBPcHRpb25zLCBoZWFkZXJzPzogSHR0cEhlYWRlcnMpOiBPYnNlcnZhYmxlPGFueT4gPT4ge1xyXG5cclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxhbnk+KG9ic2VydmUgPT4ge1xyXG4gICAgICAvLyBjb25zb2xlLmxvZyhcImFhYVwiKTtcclxuICAgICAgbGV0IF9oZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XHJcbiAgICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuaGFzT3duUHJvcGVydHkoJ2lzQ29tbW9uSHR0cEhlYWRlcicpKSB7XHJcbiAgICAgICAgX2hlYWRlcnMgPSB0aGlzLmdldERlZmF1bHRIZWFkZXIoX2hlYWRlcnMpO1xyXG4gICAgICB9XHJcbiAgICAgIF9oZWFkZXJzID0gdGhpcy5nZXROb3JtYWxIZWFkZXIoX2hlYWRlcnMpO1xyXG4gICAgICBpZihoZWFkZXJzKXtcclxuICAgICAgICBfaGVhZGVycyA9IGhlYWRlcnM7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IHdpdGhDcmVkZW50aWFsczphbnkgPSB0cnVlXHJcbiAgICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuaGFzT3duUHJvcGVydHkoJ2lzV2l0aENyZWRlbnRpYWxzJykpIHtcclxuICAgICAgICB3aXRoQ3JlZGVudGlhbHMgPSBvcHRpb25zLmlzV2l0aENyZWRlbnRpYWxzXHJcbiAgICAgIH1cclxuICAgICAgLy8gY29uc29sZS5sb2coX2hlYWRlcnMpO1xyXG4gICAgICBmb3IoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHBhcmFtcykpIHtcclxuICAgICAgICBpZihwYXJhbXMuaGFzT3duUHJvcGVydHkoa2V5KSAmJiB0eXBlb2YgcGFyYW1zW2tleV0gID09PSAnb2JqZWN0Jykge1xyXG4gICAgICAgICAgcGFyYW1zW2tleV0gPSBKU09OLnN0cmluZ2lmeShwYXJhbXNba2V5XSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmh0dHBDbGllbnQucG9zdCh1cmwsIG51bGwsIHsgaGVhZGVyczogX2hlYWRlcnMsIHBhcmFtczogcGFyYW1zLCB3aXRoQ3JlZGVudGlhbHM6IHdpdGhDcmVkZW50aWFscyB9KVxyXG4gICAgICAgIC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgICAgIG9ic2VydmUubmV4dChyZXN1bHQpO1xyXG4gICAgICAgICAgb2JzZXJ2ZS51bnN1YnNjcmliZSgpXHJcbiAgICAgICAgfSwgZXJyb3IgPT4ge1xyXG4gICAgICAgICAgb2JzZXJ2ZS5lcnJvcihlcnJvcilcclxuICAgICAgICAgIG9ic2VydmUudW5zdWJzY3JpYmUoKVxyXG4gICAgICAgIH0pXHJcblxyXG4gICAgfSlcclxuICB9XHJcbiAgcG9zdFByb21BbGwodXJsczogeyB1cmw6IHN0cmluZywgcGFyYW1zPzoge30sIH1bXSwgb3B0aW9ucz86IEh0dHBPcHRpb25zLCBoZWFkZXJzPzogSHR0cEhlYWRlcnMpIHtcclxuICAgIGxldCBwYXJhbTogYW55W10gPSBbXTtcclxuICAgIHVybHMuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgcGFyYW0ucHVzaCh0aGlzLnBvc3RQcm9tKGl0ZW0udXJsLCBpdGVtLnBhcmFtcywgb3B0aW9ucywgaGVhZGVycykpO1xyXG4gICAgfSlcclxuXHJcblxyXG4gICAgcmV0dXJuIFByb21pc2UuYWxsKHBhcmFtKVxyXG4gIH1cclxuXHJcbiAgcG9zdFByb20odXJsOiBzdHJpbmcsIHBhcmFtcz86YW55LCBvcHRpb25zPzogSHR0cE9wdGlvbnMsIGhlYWRlcnM/OiBIdHRwSGVhZGVycykge1xyXG5cclxuICAgIC8vIC8vY29uc29sZS5sb2coXCJhYWFcIik7XHJcbiAgICBsZXQgX2hlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKTtcclxuICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuaGFzT3duUHJvcGVydHkoJ2lzQ29tbW9uSHR0cEhlYWRlcicpKSB7XHJcbiAgICAgIF9oZWFkZXJzID0gdGhpcy5nZXREZWZhdWx0SGVhZGVyKF9oZWFkZXJzKTtcclxuICAgIH1cclxuICAgIF9oZWFkZXJzID0gdGhpcy5nZXROb3JtYWxIZWFkZXIoX2hlYWRlcnMpO1xyXG4gICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgX2hlYWRlcnMgPSBoZWFkZXJzO1xyXG4gICAgfVxyXG4gICAgbGV0IHdpdGhDcmVkZW50aWFsczphbnkgPSB0cnVlXHJcbiAgICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLmhhc093blByb3BlcnR5KCdpc1dpdGhDcmVkZW50aWFscycpKSB7XHJcbiAgICAgIHdpdGhDcmVkZW50aWFscyA9IG9wdGlvbnMuaXNXaXRoQ3JlZGVudGlhbHNcclxuICAgIH1cclxuICAgIGxldCBwb3N0UGFyYW1zOiBhbnkgPSB7fTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhwYXJhbXMpKSB7XHJcbiAgICAgIGlmIChwYXJhbXNba2V5XSAhPT0gbnVsbCAmJiBwYXJhbXNba2V5XSAhPT0gJycgJiYgcGFyYW1zW2tleV0gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGlmIChwYXJhbXMuaGFzT3duUHJvcGVydHkoa2V5KSAmJiB0eXBlb2YgcGFyYW1zW2tleV0gPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICBwb3N0UGFyYW1zW2tleV0gPSBKU09OLnN0cmluZ2lmeShwYXJhbXNba2V5XSlcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcG9zdFBhcmFtc1trZXldID0gcGFyYW1zW2tleV07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdCh1cmwsIG51bGwsIHtcclxuICAgICAgaGVhZGVyczogX2hlYWRlcnMsXHJcbiAgICAgIHBhcmFtczogcG9zdFBhcmFtcyxcclxuICAgICAgd2l0aENyZWRlbnRpYWxzOiB3aXRoQ3JlZGVudGlhbHNcclxuICAgIH0pXHJcbiAgICAgIC50b1Byb21pc2UoKTtcclxuXHJcbiAgfVxyXG4gIHBvc3RCb2R5ID0gKHVybDogc3RyaW5nLCBwYXJhbXM/OmFueSwgb3B0aW9ucz86IEh0dHBPcHRpb25zLCBoZWFkZXJzPzoge30pOiBPYnNlcnZhYmxlPGFueT4gPT4ge1xyXG5cclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxhbnk+KG9ic2VydmUgPT4ge1xyXG4gICAgICAvLyBjb25zb2xlLmxvZyhcImFhYVwiKTtcclxuICAgICAgbGV0IF9oZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XHJcbiAgICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuaGFzT3duUHJvcGVydHkoJ2lzQ29tbW9uSHR0cEhlYWRlcicpKSB7XHJcbiAgICAgICAgX2hlYWRlcnMgPSB0aGlzLmdldERlZmF1bHRIZWFkZXIoX2hlYWRlcnMpO1xyXG4gICAgICB9XHJcbiAgICAgIF9oZWFkZXJzID0gdGhpcy5nZXROb3JtYWxIZWFkZXIoX2hlYWRlcnMpO1xyXG4gICAgICBsZXQgd2l0aENyZWRlbnRpYWxzOmFueSA9IHRydWVcclxuICAgICAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy5oYXNPd25Qcm9wZXJ0eSgnaXNXaXRoQ3JlZGVudGlhbHMnKSkge1xyXG4gICAgICAgIHdpdGhDcmVkZW50aWFscyA9IG9wdGlvbnMuaXNXaXRoQ3JlZGVudGlhbHNcclxuICAgICAgfVxyXG4gICAgICAvLyBjb25zb2xlLmxvZyhfaGVhZGVycyk7XHJcbiAgICAgIGZvcihjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMocGFyYW1zKSkge1xyXG4gICAgICAgIGlmKHBhcmFtcy5oYXNPd25Qcm9wZXJ0eShrZXkpICYmIHR5cGVvZiBwYXJhbXNba2V5XSAgPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICBwYXJhbXNba2V5XSA9IEpTT04uc3RyaW5naWZ5KHBhcmFtc1trZXldKVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5odHRwQ2xpZW50LnBvc3QodXJsLCBwYXJhbXMsIHsgaGVhZGVyczogX2hlYWRlcnMsIHBhcmFtczoge30sIHdpdGhDcmVkZW50aWFsczogd2l0aENyZWRlbnRpYWxzIH0pXHJcbiAgICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICAgICAgb2JzZXJ2ZS5uZXh0KHJlc3VsdCk7XHJcbiAgICAgICAgICBvYnNlcnZlLnVuc3Vic2NyaWJlKClcclxuICAgICAgICB9LCBlcnJvciA9PiB7XHJcbiAgICAgICAgICBvYnNlcnZlLmVycm9yKGVycm9yKVxyXG4gICAgICAgICAgb2JzZXJ2ZS51bnN1YnNjcmliZSgpXHJcbiAgICAgICAgfSlcclxuXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0RGVmYXVsdEhlYWRlcihfaGVhZGVyczpIdHRwSGVhZGVycyk6SHR0cEhlYWRlcnN7XHJcbiAgICBfaGVhZGVycyA9IF9oZWFkZXJzLnNldChcIngtaGVhZGVyLWF0clwiLFwibWFuYWdlXCIpO1xyXG4gICAgX2hlYWRlcnMgPSBfaGVhZGVycy5zZXQoXCJ0b2tlblwiLExvY2FsU3RvcmFnZVV0aWwuZ2V0VXNlclRva2VuKCkpO1xyXG4gICAgX2hlYWRlcnMgPSBfaGVhZGVycy5zZXQoXCJ1c2VySWRcIixMb2NhbFN0b3JhZ2VVdGlsLmdldFVzZXJJZCgpKTtcclxuICAgIC8vIF9oZWFkZXJzID0gX2hlYWRlcnMuc2V0KFwib3JnQ29kZVwiLFRvb2xzVXRpbC5nZXRPcmdDb2RlKCkpO1xyXG4gICAgcmV0dXJuIF9oZWFkZXJzO1xyXG4gIH1cclxuICBnZXQgPSAodXJsOiBzdHJpbmcsIHBhcmFtcz86IHt9LCBvcHRpb25zPzogSHR0cE9wdGlvbnMpOiBPYnNlcnZhYmxlPGFueT4gPT4ge1xyXG5cclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxhbnk+KG9ic2VydmUgPT4ge1xyXG5cclxuICAgICAgbGV0IF9oZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XHJcbiAgICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuaGFzT3duUHJvcGVydHkoJ2lzQ29tbW9uSHR0cEhlYWRlcicpKSB7XHJcbiAgICAgICAgX2hlYWRlcnMgPSB0aGlzLmdldERlZmF1bHRIZWFkZXIoX2hlYWRlcnMpO1xyXG4gICAgICB9XHJcbiAgICAgIF9oZWFkZXJzID0gdGhpcy5nZXROb3JtYWxIZWFkZXIoX2hlYWRlcnMpO1xyXG4gICAgICBsZXQgd2l0aENyZWRlbnRpYWxzOmFueSA9IGZhbHNlXHJcbiAgICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuaGFzT3duUHJvcGVydHkoJ2lzV2l0aENyZWRlbnRpYWxzJykpIHtcclxuICAgICAgICB3aXRoQ3JlZGVudGlhbHMgPSBvcHRpb25zLmlzV2l0aENyZWRlbnRpYWxzXHJcbiAgICAgIH1cclxuICAgICAgLy8gY29uc29sZS5sb2cob3B0aW9ucylcclxuICAgICAgLy8gY29uc29sZS5sb2coX2hlYWRlcnMpXHJcbiAgICAgIHRoaXMuaHR0cENsaWVudC5nZXQodXJsLHsgaGVhZGVyczogX2hlYWRlcnMsIHBhcmFtczogcGFyYW1zLCB3aXRoQ3JlZGVudGlhbHM6IHdpdGhDcmVkZW50aWFscyB9KS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgICBvYnNlcnZlLm5leHQocmVzdWx0KTtcclxuICAgICAgICBvYnNlcnZlLnVuc3Vic2NyaWJlKClcclxuICAgICAgfSwgZXJyb3IgPT4ge1xyXG4gICAgICAgIG9ic2VydmUuZXJyb3IoZXJyb3IpXHJcbiAgICAgICAgb2JzZXJ2ZS51bnN1YnNjcmliZSgpXHJcbiAgICAgIH0pXHJcblxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHVwbG9hZCA9IChtZXRob2Q6YW55LCB1cmw6YW55LCBmb3JtRGF0YTogRm9ybURhdGEsIHByb2dyZXNzOmFueSk6IE9ic2VydmFibGU8YW55PiA9PiB7XHJcbiAgICBsZXQgcmVxID0gbmV3IEh0dHBSZXF1ZXN0KG1ldGhvZCwgdXJsLCBmb3JtRGF0YSwgeyByZXBvcnRQcm9ncmVzczogdHJ1ZSB9KVxyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKG9ic2VydmUgPT4ge1xyXG4gICAgICB0aGlzLmh0dHBDbGllbnQucmVxdWVzdChyZXEpLnN1YnNjcmliZSgoZXZlbnQ6YW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09IEh0dHBFdmVudFR5cGUuVXBsb2FkUHJvZ3Jlc3MpIHtcclxuICAgICAgICAgIGlmICh0eXBlb2YgcHJvZ3Jlc3MgPT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICBldmVudFsncHJvZ3Jlc3MnXSA9IHBhcnNlSW50KGV2ZW50LmxvYWRlZCAvIGV2ZW50LnRvdGFsICogMTAwICsgJycpXHJcbiAgICAgICAgICAgIHByb2dyZXNzKGV2ZW50KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09IEh0dHBFdmVudFR5cGUuUmVzcG9uc2UpIHtcclxuICAgICAgICAgIG9ic2VydmUubmV4dChldmVudC5ib2R5KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sIGVycm9yID0+IHtcclxuICAgICAgICBvYnNlcnZlLmVycm9yKGVycm9yKVxyXG4gICAgICAgIG9ic2VydmUudW5zdWJzY3JpYmUoKVxyXG4gICAgICB9KVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdHJhbnNmb3JtU3RyaW5nID0gKG9iakl0ZW06YW55KSA9PiB7XHJcbiAgICB2YXIgbGlzdCA6YW55PSBbXTtcclxuICAgIGZvciAoY29uc3Qga2V5IGluIG9iakl0ZW0pIHtcclxuICAgICAgdmFyIHN0ciA9ICcnO1xyXG4gICAgICBsZXQgaXRlbSA9IG9iakl0ZW1ba2V5XVxyXG4gICAgICBpZiAoaXRlbSBpbnN0YW5jZW9mIEFycmF5KSB7XHJcbiAgICAgICAgLy/mlbDnu4RcclxuICAgICAgICB2YXIgYXJyOmFueSA9IFtdO1xyXG4gICAgICAgIGl0ZW0uZm9yRWFjaCgodiwgaykgPT4ge1xyXG4gICAgICAgICAgdmFyIHMgPSBlbmNvZGVVUklDb21wb25lbnQoa2V5KSArICdbJyArIGsgKyAnXSc7XHJcbiAgICAgICAgICBhcnIucHVzaCh0aGlzLnBhcnNlT2JqKHYsIHMpKTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIHN0ciA9IGFyci5qb2luKCcmJyk7XHJcbiAgICAgIH0gZWxzZSBpZiAoaXRlbSBpbnN0YW5jZW9mIE9iamVjdCkge1xyXG4gICAgICAgIC8vanNvblxyXG4gICAgICAgIHZhciBhcnI6YW55ID0gW107XHJcbiAgICAgICAgZm9yIChjb25zdCBrIGluIGl0ZW0pIHtcclxuICAgICAgICAgIGxldCB2ID0gaXRlbVtrXVxyXG4gICAgICAgICAgdmFyIHMgPSBlbmNvZGVVUklDb21wb25lbnQoa2V5KSArICcuJyArIGVuY29kZVVSSUNvbXBvbmVudChrKTtcclxuICAgICAgICAgIGFyci5wdXNoKHRoaXMucGFyc2VPYmoodiwgcykpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzdHIgPSBhcnIuam9pbignJicpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8v5pmu6YCa57G75Z6LXHJcbiAgICAgICAgc3RyID0gZW5jb2RlVVJJQ29tcG9uZW50KGtleSkgKyAnPScgKyBlbmNvZGVVUklDb21wb25lbnQoaXRlbSk7XHJcbiAgICAgIH1cclxuICAgICAgbGlzdC5wdXNoKHN0cik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbGlzdC5qb2luKCcmJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBhcnNlT2JqID0gKG9iajphbnksIHN0cjphbnkpID0+IHtcclxuICAgIGlmIChvYmogaW5zdGFuY2VvZiBBcnJheSkge1xyXG4gICAgICAvL+aVsOe7hFxyXG4gICAgICB2YXIgYXJyOmFueSA9IFtdO1xyXG4gICAgICBvYmouZm9yRWFjaCgodiwgaykgPT4ge1xyXG4gICAgICAgIHZhciBzID0gc3RyICsgJ1snICsgayArICddJyArICc9JyArIGVuY29kZVVSSUNvbXBvbmVudCh2KTtcclxuICAgICAgICBhcnIucHVzaCh0aGlzLnBhcnNlT2JqKHYsIHMpKTtcclxuICAgICAgfSlcclxuICAgICAgc3RyID0gYXJyLmpvaW4oJyYnKTtcclxuICAgIH0gZWxzZSBpZiAob2JqIGluc3RhbmNlb2YgT2JqZWN0KSB7XHJcbiAgICAgIC8vanNvblxyXG4gICAgICB2YXIgYXJyIDphbnk9IFtdO1xyXG4gICAgICBmb3IgKGNvbnN0IGsgaW4gb2JqKSB7XHJcbiAgICAgICAgbGV0IHYgPSBvYmpba11cclxuICAgICAgICB2YXIgcyA9IHN0ciArICcuJyArIGVuY29kZVVSSUNvbXBvbmVudChrKTtcclxuICAgICAgICBhcnIucHVzaCh0aGlzLnBhcnNlT2JqKHYsIHMpKTtcclxuICAgICAgfVxyXG4gICAgICBzdHIgPSBhcnIuam9pbignJicpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy/mma7pgJrnsbvlnotcclxuICAgICAgc3RyID0gc3RyICsgJz0nICsgZW5jb2RlVVJJQ29tcG9uZW50KG9iaik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gc3RyO1xyXG4gIH1cclxuXHJcbiAgZ2V0T3NzID0gKHVybDogc3RyaW5nLCBwYXJhbXM/OiB7fSwgcmVzcG9uc2VUeXBlPzphbnksIG5vRXJyb3IgPSBmYWxzZSk6IE9ic2VydmFibGU8YW55PiA9PiB7XHJcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8YW55PihvYnNlcnZlID0+IHtcclxuICAgICAgaWYgKHVybCA9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICBvYnNlcnZlLm5leHQoKTtcclxuICAgICAgICBvYnNlcnZlLnVuc3Vic2NyaWJlKClcclxuICAgICAgICByZXR1cm5cclxuICAgICAgfVxyXG4gICAgICBjb25zb2xlLmxvZyhcInVybFwiLHVybClcclxuICAgICAgaWYgKCF1cmwuc3RhcnRzV2l0aChcImh0dHBcIikpIHtcclxuICAgICAgICB1cmwgPSBhdHJfc3RhdGljX2RhdGFzLk9TU19VUkwgKyB1cmw7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IF9oZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XHJcbiAgICAgIGxldCB3aXRoQ3JlZGVudGlhbHMgPSBmYWxzZVxyXG4gICAgICAvLyAvL2NvbnNvbGUubG9nKF9oZWFkZXJzKVxyXG4gICAgICBpZiAodXJsLmVuZHNXaXRoKFwiLm9cIikgJiYgIXBhcmFtcykge1xyXG4gICAgICAgIHVybCArPSBcIj92PVwiICsgbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKG5vRXJyb3IpIHtcclxuICAgICAgICBpZiAodXJsLmluZGV4T2YoJz8nKSA+IDApIHtcclxuICAgICAgICAgIHVybCArPSBcIiZub0Vycm9yXCJcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdXJsICs9IFwiP25vRXJyb3JcIlxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLmh0dHBDbGllbnQuZ2V0KHVybCwge1xyXG4gICAgICAgIGhlYWRlcnM6IF9oZWFkZXJzLFxyXG4gICAgICAgIHBhcmFtczogcGFyYW1zLFxyXG4gICAgICAgIHdpdGhDcmVkZW50aWFsczogd2l0aENyZWRlbnRpYWxzLFxyXG4gICAgICAgIHJlc3BvbnNlVHlwZTogcmVzcG9uc2VUeXBlIHx8ICd0ZXh0J1xyXG4gICAgICB9KS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgICBvYnNlcnZlLm5leHQocmVzdWx0KTtcclxuICAgICAgICBvYnNlcnZlLnVuc3Vic2NyaWJlKClcclxuICAgICAgfSwgZXJyb3IgPT4ge1xyXG4gICAgICAgIG9ic2VydmUuZXJyb3IoZXJyb3IpXHJcbiAgICAgICAgb2JzZXJ2ZS51bnN1YnNjcmliZSgpXHJcbiAgICAgIH0pXHJcblxyXG4gICAgfSlcclxuICB9XHJcbiAgZG93bmxvYWRYbHModXJsOiBzdHJpbmcsIHBhcmFtcz86IHt9KSB7XHJcbiAgICB0aGlzLnBvc3QoXCJ0aGlyZC9hdXRoL2dldEF1dGhUb2tlblwiLCB7fSwgVG9vbHNVdGlsLmdldEh0dHBPcHRpb25zKCkpLnN1YnNjcmliZShcclxuICAgICAgcmVzdWx0ID0+IHtcclxuICAgICAgICBsZXQgdGhyaWRQYXJtYSA9IHtcclxuICAgICAgICAgIFwicmVxTWV0aG9kXCI6IFwiYXV0aFwiLFxyXG4gICAgICAgICAgXCJzaWduXCI6IHJlc3VsdC5kYXRhLFxyXG4gICAgICAgICAgXCJ4LWhlYWRlci1hdHJcIjogXCJ3ZWJcIixcclxuICAgICAgICAgIHRva2VuOiBMb2NhbFN0b3JhZ2VVdGlsLmdldFVzZXJUb2tlbigpLFxyXG4gICAgICAgICAgdXNlcklkOiBMb2NhbFN0b3JhZ2VVdGlsLmdldFVzZXJJZCgpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHBhcmFtcyA9IE9iamVjdC5hc3NpZ24ocGFyYW1zLCB0aHJpZFBhcm1hKTtcclxuICAgICAgICBUb29sc1V0aWwuZG93bmxvYWRYbHMoYXRyX3N0YXRpY19kYXRhcy5TRVJWRVJfVVJMICsgdXJsLCBwYXJhbXMpO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvciA9PiB7XHJcbiAgICAgIH0pXHJcbiAgfVxyXG59XHJcblxyXG5cclxuIl19
|
|
287
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvY29yZS9zZXJ2aWNlcy9odHRwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsV0FBVyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBYyxNQUFNLG9CQUFvQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRzlELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBRzdDLE1BQU0sT0FBTyxXQUFXO0lBRXRCLFlBQ1UsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQVFoQzs7OztXQUlHO1FBQ0gsU0FBSSxHQUFHLENBQUMsR0FBVyxFQUFFLE1BQVcsRUFBRSxPQUFxQixFQUFFLE9BQXFCLEVBQW1CLEVBQUU7WUFFakcsT0FBTyxJQUFJLFVBQVUsQ0FBTSxPQUFPLENBQUMsRUFBRTtnQkFDbkMsc0JBQXNCO2dCQUN0QixJQUFJLFFBQVEsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO2dCQUNqQyxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLEVBQUU7b0JBQzNELFFBQVEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7aUJBQzVDO2dCQUNELFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUMxQyxJQUFHLE9BQU8sRUFBQztvQkFDVCxRQUFRLEdBQUcsT0FBTyxDQUFD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dXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFJlcXVlc3QsIEh0dHBFdmVudFR5cGUsIEh0dHBIZWFkZXJzIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHthdHJfc3RhdGljX2RhdGFzLCBIdHRwT3B0aW9uc30gZnJvbSAnLi4vYmFzZS9hdHItY29tbW9uJztcclxuaW1wb3J0IHsgTG9jYWxTdG9yYWdlVXRpbCB9IGZyb20gJy4uL3V0aWxzL2xvY2Fsc3RvcmFnZS51dGlsJztcclxuaW1wb3J0IHtNZDV9IGZyb20gXCJ0cy1tZDVcIjtcclxuaW1wb3J0IHtlbnZpcm9ubWVudH0gZnJvbSBcIm5nLXpvcnJvLWFudGQvY29yZS9lbnZpcm9ubWVudHNcIjtcclxuaW1wb3J0IHtUb29sc1V0aWx9IGZyb20gXCIuLi91dGlscy9Ub29sc1V0aWxcIjtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEh0dHBTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnRcclxuICApIHt9XHJcbiAgZ2V0Tm9ybWFsSGVhZGVyKF9oZWFkZXJzOiBIdHRwSGVhZGVycyk6IEh0dHBIZWFkZXJzIHtcclxuICAgIGlmKCFhdHJfc3RhdGljX2RhdGFzLm5lZWROb3JtYWxIZWFkZSl7XHJcbiAgICAgIHJldHVybiBfaGVhZGVycztcclxuICAgIH1cclxuICAgIHJldHVybiAgYXRyX3N0YXRpY19kYXRhcy5nZXROb3JtYWxIZWFkZXIoX2hlYWRlcnMpXHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHVybFxyXG4gICAqIEBwYXJhbSBwYXJhbXNcclxuICAgKi9cclxuICBwb3N0ID0gKHVybDogc3RyaW5nLCBwYXJhbXM/OmFueSwgb3B0aW9ucz86IEh0dHBPcHRpb25zLCBoZWFkZXJzPzogSHR0cEhlYWRlcnMpOiBPYnNlcnZhYmxlPGFueT4gPT4ge1xyXG5cclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxhbnk+KG9ic2VydmUgPT4ge1xyXG4gICAgICAvLyBjb25zb2xlLmxvZyhcImFhYVwiKTtcclxuICAgICAgbGV0IF9oZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XHJcbiAgICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuaGFzT3duUHJvcGVydHkoJ2lzQ29tbW9uSHR0cEhlYWRlcicpKSB7XHJcbiAgICAgICAgX2hlYWRlcnMgPSB0aGlzLmdldERlZmF1bHRIZWFkZXIoX2hlYWRlcnMpO1xyXG4gICAgICB9XHJcbiAgICAgIF9oZWFkZXJzID0gdGhpcy5nZXROb3JtYWxIZWFkZXIoX2hlYWRlcnMpO1xyXG4gICAgICBpZihoZWFkZXJzKXtcclxuICAgICAgICBfaGVhZGVycyA9IGhlYWRlcnM7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IHdpdGhDcmVkZW50aWFsczphbnkgPSB0cnVlXHJcbiAgICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuaGFzT3duUHJvcGVydHkoJ2lzV2l0aENyZWRlbnRpYWxzJykpIHtcclxuICAgICAgICB3aXRoQ3JlZGVudGlhbHMgPSBvcHRpb25zLmlzV2l0aENyZWRlbnRpYWxzXHJcbiAgICAgIH1cclxuICAgICAgLy8gY29uc29sZS5sb2coX2hlYWRlcnMpO1xyXG4gICAgICBmb3IoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHBhcmFtcykpIHtcclxuICAgICAgICBpZihwYXJhbXMuaGFzT3duUHJvcGVydHkoa2V5KSAmJiB0eXBlb2YgcGFyYW1zW2tleV0gID09PSAnb2JqZWN0Jykge1xyXG4gICAgICAgICAgcGFyYW1zW2tleV0gPSBKU09OLnN0cmluZ2lmeShwYXJhbXNba2V5XSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmh0dHBDbGllbnQucG9zdCh1cmwsIG51bGwsIHsgaGVhZGVyczogX2hlYWRlcnMsIHBhcmFtczogcGFyYW1zLCB3aXRoQ3JlZGVudGlhbHM6IHdpdGhDcmVkZW50aWFscyB9KVxyXG4gICAgICAgIC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgICAgIG9ic2VydmUubmV4dChyZXN1bHQpO1xyXG4gICAgICAgICAgb2JzZXJ2ZS51bnN1YnNjcmliZSgpXHJcbiAgICAgICAgfSwgZXJyb3IgPT4ge1xyXG4gICAgICAgICAgb2JzZXJ2ZS5lcnJvcihlcnJvcilcclxuICAgICAgICAgIG9ic2VydmUudW5zdWJzY3JpYmUoKVxyXG4gICAgICAgIH0pXHJcblxyXG4gICAgfSlcclxuICB9XHJcbiAgcG9zdFByb21BbGwodXJsczogeyB1cmw6IHN0cmluZywgcGFyYW1zPzoge30sIH1bXSwgb3B0aW9ucz86IEh0dHBPcHRpb25zLCBoZWFkZXJzPzogSHR0cEhlYWRlcnMpIHtcclxuICAgIGxldCBwYXJhbTogYW55W10gPSBbXTtcclxuICAgIHVybHMuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgcGFyYW0ucHVzaCh0aGlzLnBvc3RQcm9tKGl0ZW0udXJsLCBpdGVtLnBhcmFtcywgb3B0aW9ucywgaGVhZGVycykpO1xyXG4gICAgfSlcclxuXHJcblxyXG4gICAgcmV0dXJuIFByb21pc2UuYWxsKHBhcmFtKVxyXG4gIH1cclxuXHJcbiAgcG9zdFByb20odXJsOiBzdHJpbmcsIHBhcmFtcz86YW55LCBvcHRpb25zPzogSHR0cE9wdGlvbnMsIGhlYWRlcnM/OiBIdHRwSGVhZGVycykge1xyXG5cclxuICAgIC8vIC8vY29uc29sZS5sb2coXCJhYWFcIik7XHJcbiAgICBsZXQgX2hlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKTtcclxuICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuaGFzT3duUHJvcGVydHkoJ2lzQ29tbW9uSHR0cEhlYWRlcicpKSB7XHJcbiAgICAgIF9oZWFkZXJzID0gdGhpcy5nZXREZWZhdWx0SGVhZGVyKF9oZWFkZXJzKTtcclxuICAgIH1cclxuICAgIF9oZWFkZXJzID0gdGhpcy5nZXROb3JtYWxIZWFkZXIoX2hlYWRlcnMpO1xyXG4gICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgX2hlYWRlcnMgPSBoZWFkZXJzO1xyXG4gICAgfVxyXG4gICAgbGV0IHdpdGhDcmVkZW50aWFsczphbnkgPSB0cnVlXHJcbiAgICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLmhhc093blByb3BlcnR5KCdpc1dpdGhDcmVkZW50aWFscycpKSB7XHJcbiAgICAgIHdpdGhDcmVkZW50aWFscyA9IG9wdGlvbnMuaXNXaXRoQ3JlZGVudGlhbHNcclxuICAgIH1cclxuICAgIGxldCBwb3N0UGFyYW1zOiBhbnkgPSB7fTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhwYXJhbXMpKSB7XHJcbiAgICAgIGlmIChwYXJhbXNba2V5XSAhPT0gbnVsbCAmJiBwYXJhbXNba2V5XSAhPT0gJycgJiYgcGFyYW1zW2tleV0gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGlmIChwYXJhbXMuaGFzT3duUHJvcGVydHkoa2V5KSAmJiB0eXBlb2YgcGFyYW1zW2tleV0gPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICBwb3N0UGFyYW1zW2tleV0gPSBKU09OLnN0cmluZ2lmeShwYXJhbXNba2V5XSlcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcG9zdFBhcmFtc1trZXldID0gcGFyYW1zW2tleV07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdCh1cmwsIG51bGwsIHtcclxuICAgICAgaGVhZGVyczogX2hlYWRlcnMsXHJcbiAgICAgIHBhcmFtczogcG9zdFBhcmFtcyxcclxuICAgICAgd2l0aENyZWRlbnRpYWxzOiB3aXRoQ3JlZGVudGlhbHNcclxuICAgIH0pXHJcbiAgICAgIC50b1Byb21pc2UoKTtcclxuXHJcbiAgfVxyXG4gIHBvc3RCb2R5ID0gKHVybDogc3RyaW5nLCBwYXJhbXM/OmFueSwgb3B0aW9ucz86IEh0dHBPcHRpb25zLCBoZWFkZXJzPzoge30pOiBPYnNlcnZhYmxlPGFueT4gPT4ge1xyXG5cclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxhbnk+KG9ic2VydmUgPT4ge1xyXG4gICAgICAvLyBjb25zb2xlLmxvZyhcImFhYVwiKTtcclxuICAgICAgbGV0IF9oZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XHJcbiAgICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuaGFzT3duUHJvcGVydHkoJ2lzQ29tbW9uSHR0cEhlYWRlcicpKSB7XHJcbiAgICAgICAgX2hlYWRlcnMgPSB0aGlzLmdldERlZmF1bHRIZWFkZXIoX2hlYWRlcnMpO1xyXG4gICAgICB9XHJcbiAgICAgIF9oZWFkZXJzID0gdGhpcy5nZXROb3JtYWxIZWFkZXIoX2hlYWRlcnMpO1xyXG4gICAgICBsZXQgd2l0aENyZWRlbnRpYWxzOmFueSA9IHRydWVcclxuICAgICAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy5oYXNPd25Qcm9wZXJ0eSgnaXNXaXRoQ3JlZGVudGlhbHMnKSkge1xyXG4gICAgICAgIHdpdGhDcmVkZW50aWFscyA9IG9wdGlvbnMuaXNXaXRoQ3JlZGVudGlhbHNcclxuICAgICAgfVxyXG4gICAgICAvLyBjb25zb2xlLmxvZyhfaGVhZGVycyk7XHJcbiAgICAgIC8qZm9yKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhwYXJhbXMpKSB7XHJcbiAgICAgICAgaWYocGFyYW1zLmhhc093blByb3BlcnR5KGtleSkgJiYgdHlwZW9mIHBhcmFtc1trZXldICA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgIHBhcmFtc1trZXldID0gSlNPTi5zdHJpbmdpZnkocGFyYW1zW2tleV0pXHJcbiAgICAgICAgfVxyXG4gICAgICB9Ki9cclxuXHJcbiAgICAgIHRoaXMuaHR0cENsaWVudC5wb3N0KHVybCwgcGFyYW1zLCB7IGhlYWRlcnM6IF9oZWFkZXJzLCBwYXJhbXM6IHt9LCB3aXRoQ3JlZGVudGlhbHM6IHdpdGhDcmVkZW50aWFscyB9KVxyXG4gICAgICAgIC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgICAgIG9ic2VydmUubmV4dChyZXN1bHQpO1xyXG4gICAgICAgICAgb2JzZXJ2ZS51bnN1YnNjcmliZSgpXHJcbiAgICAgICAgfSwgZXJyb3IgPT4ge1xyXG4gICAgICAgICAgb2JzZXJ2ZS5lcnJvcihlcnJvcilcclxuICAgICAgICAgIG9ic2VydmUudW5zdWJzY3JpYmUoKVxyXG4gICAgICAgIH0pXHJcblxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGdldERlZmF1bHRIZWFkZXIoX2hlYWRlcnM6SHR0cEhlYWRlcnMpOkh0dHBIZWFkZXJze1xyXG4gICAgX2hlYWRlcnMgPSBfaGVhZGVycy5zZXQoXCJ4LWhlYWRlci1hdHJcIixcIm1hbmFnZVwiKTtcclxuICAgIF9oZWFkZXJzID0gX2hlYWRlcnMuc2V0KFwidG9rZW5cIixMb2NhbFN0b3JhZ2VVdGlsLmdldFVzZXJUb2tlbigpKTtcclxuICAgIF9oZWFkZXJzID0gX2hlYWRlcnMuc2V0KFwidXNlcklkXCIsTG9jYWxTdG9yYWdlVXRpbC5nZXRVc2VySWQoKSk7XHJcbiAgICAvLyBfaGVhZGVycyA9IF9oZWFkZXJzLnNldChcIm9yZ0NvZGVcIixUb29sc1V0aWwuZ2V0T3JnQ29kZSgpKTtcclxuICAgIHJldHVybiBfaGVhZGVycztcclxuICB9XHJcbiAgZ2V0ID0gKHVybDogc3RyaW5nLCBwYXJhbXM/OiB7fSwgb3B0aW9ucz86IEh0dHBPcHRpb25zKTogT2JzZXJ2YWJsZTxhbnk+ID0+IHtcclxuXHJcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8YW55PihvYnNlcnZlID0+IHtcclxuXHJcbiAgICAgIGxldCBfaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xyXG4gICAgICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLmhhc093blByb3BlcnR5KCdpc0NvbW1vbkh0dHBIZWFkZXInKSkge1xyXG4gICAgICAgIF9oZWFkZXJzID0gdGhpcy5nZXREZWZhdWx0SGVhZGVyKF9oZWFkZXJzKTtcclxuICAgICAgfVxyXG4gICAgICBfaGVhZGVycyA9IHRoaXMuZ2V0Tm9ybWFsSGVhZGVyKF9oZWFkZXJzKTtcclxuICAgICAgbGV0IHdpdGhDcmVkZW50aWFsczphbnkgPSBmYWxzZVxyXG4gICAgICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLmhhc093blByb3BlcnR5KCdpc1dpdGhDcmVkZW50aWFscycpKSB7XHJcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzID0gb3B0aW9ucy5pc1dpdGhDcmVkZW50aWFsc1xyXG4gICAgICB9XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKG9wdGlvbnMpXHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKF9oZWFkZXJzKVxyXG4gICAgICB0aGlzLmh0dHBDbGllbnQuZ2V0KHVybCx7IGhlYWRlcnM6IF9oZWFkZXJzLCBwYXJhbXM6IHBhcmFtcywgd2l0aENyZWRlbnRpYWxzOiB3aXRoQ3JlZGVudGlhbHMgfSkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgb2JzZXJ2ZS5uZXh0KHJlc3VsdCk7XHJcbiAgICAgICAgb2JzZXJ2ZS51bnN1YnNjcmliZSgpXHJcbiAgICAgIH0sIGVycm9yID0+IHtcclxuICAgICAgICBvYnNlcnZlLmVycm9yKGVycm9yKVxyXG4gICAgICAgIG9ic2VydmUudW5zdWJzY3JpYmUoKVxyXG4gICAgICB9KVxyXG5cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICB1cGxvYWQgPSAobWV0aG9kOmFueSwgdXJsOmFueSwgZm9ybURhdGE6IEZvcm1EYXRhLCBwcm9ncmVzczphbnkpOiBPYnNlcnZhYmxlPGFueT4gPT4ge1xyXG4gICAgbGV0IHJlcSA9IG5ldyBIdHRwUmVxdWVzdChtZXRob2QsIHVybCwgZm9ybURhdGEsIHsgcmVwb3J0UHJvZ3Jlc3M6IHRydWUgfSlcclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlID0+IHtcclxuICAgICAgdGhpcy5odHRwQ2xpZW50LnJlcXVlc3QocmVxKS5zdWJzY3JpYmUoKGV2ZW50OmFueSkgPT4ge1xyXG4gICAgICAgIGlmIChldmVudC50eXBlID09PSBIdHRwRXZlbnRUeXBlLlVwbG9hZFByb2dyZXNzKSB7XHJcbiAgICAgICAgICBpZiAodHlwZW9mIHByb2dyZXNzID09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgZXZlbnRbJ3Byb2dyZXNzJ10gPSBwYXJzZUludChldmVudC5sb2FkZWQgLyBldmVudC50b3RhbCAqIDEwMCArICcnKVxyXG4gICAgICAgICAgICBwcm9ncmVzcyhldmVudCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChldmVudC50eXBlID09PSBIdHRwRXZlbnRUeXBlLlJlc3BvbnNlKSB7XHJcbiAgICAgICAgICBvYnNlcnZlLm5leHQoZXZlbnQuYm9keSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LCBlcnJvciA9PiB7XHJcbiAgICAgICAgb2JzZXJ2ZS5lcnJvcihlcnJvcilcclxuICAgICAgICBvYnNlcnZlLnVuc3Vic2NyaWJlKClcclxuICAgICAgfSlcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRyYW5zZm9ybVN0cmluZyA9IChvYmpJdGVtOmFueSkgPT4ge1xyXG4gICAgdmFyIGxpc3QgOmFueT0gW107XHJcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBvYmpJdGVtKSB7XHJcbiAgICAgIHZhciBzdHIgPSAnJztcclxuICAgICAgbGV0IGl0ZW0gPSBvYmpJdGVtW2tleV1cclxuICAgICAgaWYgKGl0ZW0gaW5zdGFuY2VvZiBBcnJheSkge1xyXG4gICAgICAgIC8v5pWw57uEXHJcbiAgICAgICAgdmFyIGFycjphbnkgPSBbXTtcclxuICAgICAgICBpdGVtLmZvckVhY2goKHYsIGspID0+IHtcclxuICAgICAgICAgIHZhciBzID0gZW5jb2RlVVJJQ29tcG9uZW50KGtleSkgKyAnWycgKyBrICsgJ10nO1xyXG4gICAgICAgICAgYXJyLnB1c2godGhpcy5wYXJzZU9iaih2LCBzKSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICBzdHIgPSBhcnIuam9pbignJicpO1xyXG4gICAgICB9IGVsc2UgaWYgKGl0ZW0gaW5zdGFuY2VvZiBPYmplY3QpIHtcclxuICAgICAgICAvL2pzb25cclxuICAgICAgICB2YXIgYXJyOmFueSA9IFtdO1xyXG4gICAgICAgIGZvciAoY29uc3QgayBpbiBpdGVtKSB7XHJcbiAgICAgICAgICBsZXQgdiA9IGl0ZW1ba11cclxuICAgICAgICAgIHZhciBzID0gZW5jb2RlVVJJQ29tcG9uZW50KGtleSkgKyAnLicgKyBlbmNvZGVVUklDb21wb25lbnQoayk7XHJcbiAgICAgICAgICBhcnIucHVzaCh0aGlzLnBhcnNlT2JqKHYsIHMpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3RyID0gYXJyLmpvaW4oJyYnKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvL+aZrumAmuexu+Wei1xyXG4gICAgICAgIHN0ciA9IGVuY29kZVVSSUNvbXBvbmVudChrZXkpICsgJz0nICsgZW5jb2RlVVJJQ29tcG9uZW50KGl0ZW0pO1xyXG4gICAgICB9XHJcbiAgICAgIGxpc3QucHVzaChzdHIpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGxpc3Quam9pbignJicpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwYXJzZU9iaiA9IChvYmo6YW55LCBzdHI6YW55KSA9PiB7XHJcbiAgICBpZiAob2JqIGluc3RhbmNlb2YgQXJyYXkpIHtcclxuICAgICAgLy/mlbDnu4RcclxuICAgICAgdmFyIGFycjphbnkgPSBbXTtcclxuICAgICAgb2JqLmZvckVhY2goKHYsIGspID0+IHtcclxuICAgICAgICB2YXIgcyA9IHN0ciArICdbJyArIGsgKyAnXScgKyAnPScgKyBlbmNvZGVVUklDb21wb25lbnQodik7XHJcbiAgICAgICAgYXJyLnB1c2godGhpcy5wYXJzZU9iaih2LCBzKSk7XHJcbiAgICAgIH0pXHJcbiAgICAgIHN0ciA9IGFyci5qb2luKCcmJyk7XHJcbiAgICB9IGVsc2UgaWYgKG9iaiBpbnN0YW5jZW9mIE9iamVjdCkge1xyXG4gICAgICAvL2pzb25cclxuICAgICAgdmFyIGFyciA6YW55PSBbXTtcclxuICAgICAgZm9yIChjb25zdCBrIGluIG9iaikge1xyXG4gICAgICAgIGxldCB2ID0gb2JqW2tdXHJcbiAgICAgICAgdmFyIHMgPSBzdHIgKyAnLicgKyBlbmNvZGVVUklDb21wb25lbnQoayk7XHJcbiAgICAgICAgYXJyLnB1c2godGhpcy5wYXJzZU9iaih2LCBzKSk7XHJcbiAgICAgIH1cclxuICAgICAgc3RyID0gYXJyLmpvaW4oJyYnKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8v5pmu6YCa57G75Z6LXHJcbiAgICAgIHN0ciA9IHN0ciArICc9JyArIGVuY29kZVVSSUNvbXBvbmVudChvYmopO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN0cjtcclxuICB9XHJcblxyXG4gIGdldE9zcyA9ICh1cmw6IHN0cmluZywgcGFyYW1zPzoge30sIHJlc3BvbnNlVHlwZT86YW55LCBub0Vycm9yID0gZmFsc2UpOiBPYnNlcnZhYmxlPGFueT4gPT4ge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPGFueT4ob2JzZXJ2ZSA9PiB7XHJcbiAgICAgIGlmICh1cmwgPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgb2JzZXJ2ZS5uZXh0KCk7XHJcbiAgICAgICAgb2JzZXJ2ZS51bnN1YnNjcmliZSgpXHJcbiAgICAgICAgcmV0dXJuXHJcbiAgICAgIH1cclxuICAgICAgY29uc29sZS5sb2coXCJ1cmxcIix1cmwpXHJcbiAgICAgIGlmICghdXJsLnN0YXJ0c1dpdGgoXCJodHRwXCIpKSB7XHJcbiAgICAgICAgdXJsID0gYXRyX3N0YXRpY19kYXRhcy5PU1NfVVJMICsgdXJsO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBfaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xyXG4gICAgICBsZXQgd2l0aENyZWRlbnRpYWxzID0gZmFsc2VcclxuICAgICAgLy8gLy9jb25zb2xlLmxvZyhfaGVhZGVycylcclxuICAgICAgaWYgKHVybC5lbmRzV2l0aChcIi5vXCIpICYmICFwYXJhbXMpIHtcclxuICAgICAgICB1cmwgKz0gXCI/dj1cIiArIG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChub0Vycm9yKSB7XHJcbiAgICAgICAgaWYgKHVybC5pbmRleE9mKCc/JykgPiAwKSB7XHJcbiAgICAgICAgICB1cmwgKz0gXCImbm9FcnJvclwiXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHVybCArPSBcIj9ub0Vycm9yXCJcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5odHRwQ2xpZW50LmdldCh1cmwsIHtcclxuICAgICAgICBoZWFkZXJzOiBfaGVhZGVycyxcclxuICAgICAgICBwYXJhbXM6IHBhcmFtcyxcclxuICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHdpdGhDcmVkZW50aWFscyxcclxuICAgICAgICByZXNwb25zZVR5cGU6IHJlc3BvbnNlVHlwZSB8fCAndGV4dCdcclxuICAgICAgfSkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgb2JzZXJ2ZS5uZXh0KHJlc3VsdCk7XHJcbiAgICAgICAgb2JzZXJ2ZS51bnN1YnNjcmliZSgpXHJcbiAgICAgIH0sIGVycm9yID0+IHtcclxuICAgICAgICBvYnNlcnZlLmVycm9yKGVycm9yKVxyXG4gICAgICAgIG9ic2VydmUudW5zdWJzY3JpYmUoKVxyXG4gICAgICB9KVxyXG5cclxuICAgIH0pXHJcbiAgfVxyXG4gIGRvd25sb2FkWGxzKHVybDogc3RyaW5nLCBwYXJhbXM/OiB7fSkge1xyXG4gICAgdGhpcy5wb3N0KFwidGhpcmQvYXV0aC9nZXRBdXRoVG9rZW5cIiwge30sIFRvb2xzVXRpbC5nZXRIdHRwT3B0aW9ucygpKS5zdWJzY3JpYmUoXHJcbiAgICAgIHJlc3VsdCA9PiB7XHJcbiAgICAgICAgbGV0IHRocmlkUGFybWEgPSB7XHJcbiAgICAgICAgICBcInJlcU1ldGhvZFwiOiBcImF1dGhcIixcclxuICAgICAgICAgIFwic2lnblwiOiByZXN1bHQuZGF0YSxcclxuICAgICAgICAgIFwieC1oZWFkZXItYXRyXCI6IFwid2ViXCIsXHJcbiAgICAgICAgICB0b2tlbjogTG9jYWxTdG9yYWdlVXRpbC5nZXRVc2VyVG9rZW4oKSxcclxuICAgICAgICAgIHVzZXJJZDogTG9jYWxTdG9yYWdlVXRpbC5nZXRVc2VySWQoKVxyXG4gICAgICAgIH1cclxuICAgICAgICBwYXJhbXMgPSBPYmplY3QuYXNzaWduKHBhcmFtcywgdGhyaWRQYXJtYSk7XHJcbiAgICAgICAgVG9vbHNVdGlsLmRvd25sb2FkWGxzKGF0cl9zdGF0aWNfZGF0YXMuU0VSVkVSX1VSTCArIHVybCwgcGFyYW1zKTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3IgPT4ge1xyXG4gICAgICB9KVxyXG4gIH1cclxufVxyXG5cclxuXHJcbiJdfQ==
|
|
@@ -651,11 +651,11 @@ class HttpService {
|
|
|
651
651
|
withCredentials = options.isWithCredentials;
|
|
652
652
|
}
|
|
653
653
|
// console.log(_headers);
|
|
654
|
-
for
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
}
|
|
654
|
+
/*for(const key of Object.keys(params)) {
|
|
655
|
+
if(params.hasOwnProperty(key) && typeof params[key] === 'object') {
|
|
656
|
+
params[key] = JSON.stringify(params[key])
|
|
657
|
+
}
|
|
658
|
+
}*/
|
|
659
659
|
this.httpClient.post(url, params, { headers: _headers, params: {}, withCredentials: withCredentials })
|
|
660
660
|
.subscribe(result => {
|
|
661
661
|
observe.next(result);
|