@propmix/profet-common-header 3.0.15-utility-unstable.8 → 3.0.17-cross-tab-session-expiry

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/esm2020/lib/api-endpoints.def.mjs +2 -3
  2. package/esm2020/lib/api-gateway.service.mjs +13 -5
  3. package/esm2020/lib/common-header.interface.mjs +1 -1
  4. package/esm2020/lib/common-header.service.mjs +2 -34
  5. package/esm2020/lib/header/header.component.mjs +120 -59
  6. package/esm2020/lib/session-expiry-info/session-expiry-info.component.mjs +3 -3
  7. package/esm2020/public-api.mjs +1 -3
  8. package/fesm2015/propmix-profet-common-header.mjs +160 -139
  9. package/fesm2015/propmix-profet-common-header.mjs.map +1 -1
  10. package/fesm2020/propmix-profet-common-header.mjs +158 -131
  11. package/fesm2020/propmix-profet-common-header.mjs.map +1 -1
  12. package/lib/api-endpoints.def.d.ts +0 -1
  13. package/lib/api-gateway.service.d.ts +1 -2
  14. package/lib/common-header.interface.d.ts +0 -22
  15. package/lib/common-header.service.d.ts +0 -7
  16. package/lib/header/header.component.d.ts +19 -16
  17. package/package.json +1 -1
  18. package/public-api.d.ts +0 -2
  19. package/esm2020/lib/appraisal-assistant/appraisal-assistant-chat-widget.component.mjs +0 -179
  20. package/esm2020/lib/appraisal-assistant/appraisal-assistant.interface.mjs +0 -2
  21. package/esm2020/lib/base-controller.abstract.mjs +0 -11
  22. package/esm2020/lib/closable.mixin.mjs +0 -14
  23. package/esm2020/lib/utility-widget-config.token.mjs +0 -3
  24. package/esm2020/lib/utils/chat-time.pipe.mjs +0 -35
  25. package/esm2020/lib/utils/text-to-html.pipe.mjs +0 -42
  26. package/fesm2015/propmix-profet-common-header-appraisal-assistant-chat-widget.component-56a1672f.mjs +0 -281
  27. package/fesm2015/propmix-profet-common-header-appraisal-assistant-chat-widget.component-56a1672f.mjs.map +0 -1
  28. package/fesm2020/propmix-profet-common-header-appraisal-assistant-chat-widget.component-8816b836.mjs +0 -276
  29. package/fesm2020/propmix-profet-common-header-appraisal-assistant-chat-widget.component-8816b836.mjs.map +0 -1
  30. package/lib/appraisal-assistant/appraisal-assistant-chat-widget.component.d.ts +0 -37
  31. package/lib/appraisal-assistant/appraisal-assistant.interface.d.ts +0 -4
  32. package/lib/base-controller.abstract.d.ts +0 -6
  33. package/lib/closable.mixin.d.ts +0 -7
  34. package/lib/utility-widget-config.token.d.ts +0 -2
  35. package/lib/utils/chat-time.pipe.d.ts +0 -7
  36. package/lib/utils/text-to-html.pipe.d.ts +0 -21
@@ -9,7 +9,6 @@ EndPoints.API_URLS = {
9
9
  getUserDetails: '/api/user/getUserInformation',
10
10
  getCompanyList: '/api/user/getUserCompanies',
11
11
  getAppMenu: '/api/user/getAppMenu',
12
- updateLastAccessedApplication: '/api/user/updateLastAccessedApplication',
13
- appraisalChat: '/api/user/chat'
12
+ updateLastAccessedApplication: '/api/user/updateLastAccessedApplication'
14
13
  };
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWVuZHBvaW50cy5kZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24taGVhZGVyL3NyYy9saWIvYXBpLWVuZHBvaW50cy5kZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFNBQVM7O0FBQ0osa0JBQVEsR0FBRztJQUNyQixVQUFVLEVBQUUsMkNBQTJDO0lBQ3ZELHNCQUFzQixFQUFFLHFDQUFxQztJQUM3RCxnQkFBZ0IsRUFBRSwrQkFBK0I7SUFDakQsaUJBQWlCLEVBQUUsZ0NBQWdDO0lBQ25ELG1CQUFtQixFQUFFLHNCQUFzQjtJQUMzQyxjQUFjLEVBQUUsOEJBQThCO0lBRTlDLGNBQWMsRUFBRSw0QkFBNEI7SUFDNUMsVUFBVSxFQUFFLHNCQUFzQjtJQUNsQyw2QkFBNkIsRUFBRSx5Q0FBeUM7SUFDeEUsYUFBYSxFQUFFLGdCQUFnQjtDQUNsQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEVuZFBvaW50cyB7XG4gICAgcHVibGljIHN0YXRpYyBBUElfVVJMUyA9IHtcbiAgICAgICAgZ2V0QXBwc0FwaTogJy9hcGkvY29tcGFueS9nZXRBbGxVc2VyQWNjZXNzQXBwbGljYXRpb25zJyxcbiAgICAgICAgZ2V0Q29tcGFueUFwcGxpY2F0aW9uczogJy9hcGkvY29tcGFueS9nZXRDb21wYW55QXBwbGljYXRpb25zJyxcbiAgICAgICAgZ2V0VXNlckNvbXBhbmllczogJy9hcGkvcHJvZmlsZS9nZXRVc2VyQ29tcGFuaWVzJywgIC8vIFRPRE8gLS0gTmVlZHMgdG8gcmVtb3ZlXG4gICAgICAgIHVwZGF0ZVVzZXJDb21wYW55OiAnL2FwaS9jb21wYW55L3VwZGF0ZVVzZXJDb21wYW55JyxcbiAgICAgICAgZmV0Y2hDb21wYW55UHJvZmlsZTogJy9mZXRjaENvbXBhbnlQcm9maWxlJyxcbiAgICAgICAgZ2V0VXNlckRldGFpbHM6ICcvYXBpL3VzZXIvZ2V0VXNlckluZm9ybWF0aW9uJyxcblxuICAgICAgICBnZXRDb21wYW55TGlzdDogJy9hcGkvdXNlci9nZXRVc2VyQ29tcGFuaWVzJyxcbiAgICAgICAgZ2V0QXBwTWVudTogJy9hcGkvdXNlci9nZXRBcHBNZW51JyxcbiAgICAgICAgdXBkYXRlTGFzdEFjY2Vzc2VkQXBwbGljYXRpb246ICcvYXBpL3VzZXIvdXBkYXRlTGFzdEFjY2Vzc2VkQXBwbGljYXRpb24nLFxuICAgICAgICBhcHByYWlzYWxDaGF0OiAnL2FwaS91c2VyL2NoYXQnXG4gICAgfVxufSJdfQ==
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWVuZHBvaW50cy5kZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24taGVhZGVyL3NyYy9saWIvYXBpLWVuZHBvaW50cy5kZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFNBQVM7O0FBQ0osa0JBQVEsR0FBRztJQUNyQixVQUFVLEVBQUUsMkNBQTJDO0lBQ3ZELHNCQUFzQixFQUFFLHFDQUFxQztJQUM3RCxnQkFBZ0IsRUFBRSwrQkFBK0I7SUFDakQsaUJBQWlCLEVBQUUsZ0NBQWdDO0lBQ25ELG1CQUFtQixFQUFFLHNCQUFzQjtJQUMzQyxjQUFjLEVBQUUsOEJBQThCO0lBRTlDLGNBQWMsRUFBRSw0QkFBNEI7SUFDNUMsVUFBVSxFQUFFLHNCQUFzQjtJQUNsQyw2QkFBNkIsRUFBRSx5Q0FBeUM7Q0FDM0UsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBFbmRQb2ludHMge1xuICAgIHB1YmxpYyBzdGF0aWMgQVBJX1VSTFMgPSB7XG4gICAgICAgIGdldEFwcHNBcGk6ICcvYXBpL2NvbXBhbnkvZ2V0QWxsVXNlckFjY2Vzc0FwcGxpY2F0aW9ucycsXG4gICAgICAgIGdldENvbXBhbnlBcHBsaWNhdGlvbnM6ICcvYXBpL2NvbXBhbnkvZ2V0Q29tcGFueUFwcGxpY2F0aW9ucycsXG4gICAgICAgIGdldFVzZXJDb21wYW5pZXM6ICcvYXBpL3Byb2ZpbGUvZ2V0VXNlckNvbXBhbmllcycsICAvLyBUT0RPIC0tIE5lZWRzIHRvIHJlbW92ZVxuICAgICAgICB1cGRhdGVVc2VyQ29tcGFueTogJy9hcGkvY29tcGFueS91cGRhdGVVc2VyQ29tcGFueScsXG4gICAgICAgIGZldGNoQ29tcGFueVByb2ZpbGU6ICcvZmV0Y2hDb21wYW55UHJvZmlsZScsXG4gICAgICAgIGdldFVzZXJEZXRhaWxzOiAnL2FwaS91c2VyL2dldFVzZXJJbmZvcm1hdGlvbicsXG5cbiAgICAgICAgZ2V0Q29tcGFueUxpc3Q6ICcvYXBpL3VzZXIvZ2V0VXNlckNvbXBhbmllcycsXG4gICAgICAgIGdldEFwcE1lbnU6ICcvYXBpL3VzZXIvZ2V0QXBwTWVudScsXG4gICAgICAgIHVwZGF0ZUxhc3RBY2Nlc3NlZEFwcGxpY2F0aW9uOiAnL2FwaS91c2VyL3VwZGF0ZUxhc3RBY2Nlc3NlZEFwcGxpY2F0aW9uJ1xuICAgIH1cbn0iXX0=
@@ -1,4 +1,4 @@
1
- import { HttpClient, HttpHeaders } from '@angular/common/http';
1
+ import { HttpClient } from '@angular/common/http';
2
2
  import { Injectable, inject } from '@angular/core';
3
3
  import { Observable } from 'rxjs';
4
4
  import * as i0 from "@angular/core";
@@ -8,9 +8,17 @@ export class ApiGatewayService {
8
8
  }
9
9
  doGet(url, config) {
10
10
  return new Observable(observer => {
11
- let headers = config?.httpHeader ?? new HttpHeaders();
12
- if (config?.isUnauthorized) {
13
- headers = headers.set('skip', 'true');
11
+ if (!config) {
12
+ config = {
13
+ isLoaderHidden: false
14
+ };
15
+ }
16
+ ;
17
+ let headers;
18
+ if (config.isUnauthorized) {
19
+ headers = {
20
+ skip: "true"
21
+ };
14
22
  }
15
23
  // this._loaderService.requestStarted(config);
16
24
  this._http
@@ -58,4 +66,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
58
66
  providedIn: 'root'
59
67
  }]
60
68
  }] });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWdhdGV3YXkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi1oZWFkZXIvc3JjL2xpYi9hcGktZ2F0ZXdheS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFNbEMsTUFBTSxPQUFPLGlCQUFpQjtJQUg5QjtRQUlVLFVBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7S0ErQ3BDO0lBN0NDLEtBQUssQ0FBQyxHQUFXLEVBQUUsTUFBa0I7UUFDbkMsT0FBTyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUUvQixJQUFJLE9BQU8sR0FBRyxNQUFNLEVBQUUsVUFBVSxJQUFJLElBQUksV0FBVyxFQUFFLENBQUM7WUFFdEQsSUFBSSxNQUFNLEVBQUUsY0FBYyxFQUFFO2dCQUMxQixPQUFPLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7YUFDdkM7WUFFRCw4Q0FBOEM7WUFDOUMsSUFBSSxDQUFDLEtBQUs7aUJBQ1AsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztpQkFDOUIsU0FBUyxDQUFDO2dCQUNULElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO29CQUNiLHNDQUFzQztvQkFDdEMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDcEIsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN0QixDQUFDO2dCQUNELEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO29CQUNmLDZDQUE2QztnQkFDL0MsQ0FBQzthQUNGLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUNELE1BQU0sQ0FBQyxHQUFXLEVBQUUsUUFBYztRQUNoQyxPQUFPLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQy9CLElBQUksT0FBWSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxLQUFLO2lCQUNQLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDO2lCQUN6QyxTQUFTLENBQUM7Z0JBQ1QsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7b0JBQ2IsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsRUFBRTt3QkFDekMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDcEIsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO3FCQUNyQjt5QkFBTTt3QkFDTCxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUNwQixRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7cUJBQ3JCO2dCQUNILENBQUM7Z0JBQ0QsS0FBSyxFQUFFLENBQUMsS0FBVSxFQUFFLEVBQUU7b0JBQ3BCLDZDQUE2QztnQkFDL0MsQ0FBQzthQUNGLENBQUMsQ0FBQTtRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7K0dBL0NVLGlCQUFpQjttSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07NEZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBcGlDb25maWcgfSBmcm9tICcuL2NvbW1vbi1oZWFkZXIuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQXBpR2F0ZXdheVNlcnZpY2Uge1xuICBwcml2YXRlIF9odHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuXG4gIGRvR2V0KHVybDogc3RyaW5nLCBjb25maWc/OiBBcGlDb25maWcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlciA9PiB7XG5cbiAgICAgIGxldCBoZWFkZXJzID0gY29uZmlnPy5odHRwSGVhZGVyID8/IG5ldyBIdHRwSGVhZGVycygpO1xuXG4gICAgICBpZiAoY29uZmlnPy5pc1VuYXV0aG9yaXplZCkge1xuICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ3NraXAnLCAndHJ1ZScpO1xuICAgICAgfVxuXG4gICAgICAvLyB0aGlzLl9sb2FkZXJTZXJ2aWNlLnJlcXVlc3RTdGFydGVkKGNvbmZpZyk7XG4gICAgICB0aGlzLl9odHRwXG4gICAgICAgIC5nZXQodXJsLCB7IGhlYWRlcnM6IGhlYWRlcnMgfSlcbiAgICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgICAgbmV4dDogKGRhdGEpID0+IHtcbiAgICAgICAgICAgIC8vIHRoaXMuX2xvYWRlclNlcnZpY2UucmVxdWVzdEVuZGVkKCk7XG4gICAgICAgICAgICBvYnNlcnZlci5uZXh0KGRhdGEpO1xuICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcbiAgICAgICAgICAgIC8vIHRoaXMuaGFuZGxlRXJyb3IoZXJyb3IsIGNvbmZpZywgb2JzZXJ2ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSlcbiAgfVxuICBkb1Bvc3QodXJsOiBzdHJpbmcsIHJlcV9ib2R5PzogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUob2JzZXJ2ZXIgPT4ge1xuICAgICAgbGV0IGhlYWRlcnM6IGFueTtcbiAgICAgIHRoaXMuX2h0dHBcbiAgICAgICAgLnBvc3QodXJsLCByZXFfYm9keSwgeyBoZWFkZXJzOiBoZWFkZXJzIH0pXG4gICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgIG5leHQ6IChkYXRhKSA9PiB7XG4gICAgICAgICAgICBpZiAoZGF0YSAmJiBkYXRhLmhhc093blByb3BlcnR5KCdzdGF0dXMnKSkge1xuICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KGRhdGEpO1xuICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChkYXRhKTtcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIGVycm9yOiAoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgICAgICAgLy8gdGhpcy5oYW5kbGVFcnJvcihlcnJvciwgY29uZmlnLCBvYnNlcnZlcik7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgIH0pO1xuICB9XG59XG4iXX0=
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWdhdGV3YXkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi1oZWFkZXIvc3JjL2xpYi9hcGktZ2F0ZXdheS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUtsQyxNQUFNLE9BQU8saUJBQWlCO0lBSDlCO1FBSVUsVUFBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQW9EcEM7SUFsREMsS0FBSyxDQUFDLEdBQVcsRUFBRSxNQUFZO1FBQzdCLE9BQU8sSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDL0IsSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDWCxNQUFNLEdBQUc7b0JBQ1AsY0FBYyxFQUFFLEtBQUs7aUJBQ3RCLENBQUM7YUFDSDtZQUFBLENBQUM7WUFDRixJQUFJLE9BQVcsQ0FBQztZQUNoQixJQUFHLE1BQU0sQ0FBQyxjQUFjLEVBQUM7Z0JBQ3ZCLE9BQU8sR0FBRztvQkFDUixJQUFJLEVBQUUsTUFBTTtpQkFDYixDQUFBO2FBQ0Y7WUFFRCw4Q0FBOEM7WUFDOUMsSUFBSSxDQUFDLEtBQUs7aUJBQ1AsR0FBRyxDQUFDLEdBQUcsRUFBQyxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUMsQ0FBQztpQkFDM0IsU0FBUyxDQUFDO2dCQUNULElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO29CQUNiLHNDQUFzQztvQkFDdEMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDcEIsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN0QixDQUFDO2dCQUNELEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO29CQUNmLDZDQUE2QztnQkFDL0MsQ0FBQzthQUNGLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUNELE1BQU0sQ0FBQyxHQUFXLEVBQUUsUUFBYztRQUNoQyxPQUFPLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQy9CLElBQUksT0FBVyxDQUFDO1lBQ2hCLElBQUksQ0FBQyxLQUFLO2lCQUNQLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFDLEVBQUMsT0FBTyxFQUFFLE9BQU8sRUFBQyxDQUFDO2lCQUN0QyxTQUFTLENBQUM7Z0JBQ1QsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7b0JBQ2IsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsRUFBRTt3QkFDekMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDcEIsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO3FCQUNyQjt5QkFBTTt3QkFDTCxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUNwQixRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7cUJBQ3JCO2dCQUNILENBQUM7Z0JBQ0QsS0FBSyxFQUFFLENBQUMsS0FBUyxFQUFFLEVBQUU7b0JBQ25CLDZDQUE2QztnQkFDL0MsQ0FBQzthQUNGLENBQUMsQ0FBQTtRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7K0dBcERVLGlCQUFpQjttSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07NEZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQXBpR2F0ZXdheVNlcnZpY2Uge1xuICBwcml2YXRlIF9odHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuICBcbiAgZG9HZXQodXJsOiBzdHJpbmcsIGNvbmZpZz86IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKG9ic2VydmVyID0+IHtcbiAgICAgIGlmICghY29uZmlnKSB7XG4gICAgICAgIGNvbmZpZyA9IHtcbiAgICAgICAgICBpc0xvYWRlckhpZGRlbjogZmFsc2VcbiAgICAgICAgfTtcbiAgICAgIH07XG4gICAgICBsZXQgaGVhZGVyczphbnk7XG4gICAgICBpZihjb25maWcuaXNVbmF1dGhvcml6ZWQpe1xuICAgICAgICBoZWFkZXJzID0ge1xuICAgICAgICAgIHNraXA6IFwidHJ1ZVwiXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICBcbiAgICAgIC8vIHRoaXMuX2xvYWRlclNlcnZpY2UucmVxdWVzdFN0YXJ0ZWQoY29uZmlnKTtcbiAgICAgIHRoaXMuX2h0dHBcbiAgICAgICAgLmdldCh1cmwse2hlYWRlcnM6IGhlYWRlcnN9KVxuICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgLy8gdGhpcy5fbG9hZGVyU2VydmljZS5yZXF1ZXN0RW5kZWQoKTtcbiAgICAgICAgICAgIG9ic2VydmVyLm5leHQoZGF0YSk7XG4gICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xuICAgICAgICAgICAgLy8gdGhpcy5oYW5kbGVFcnJvcihlcnJvciwgY29uZmlnLCBvYnNlcnZlcik7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KVxuICB9XG4gIGRvUG9zdCh1cmw6IHN0cmluZywgcmVxX2JvZHk/OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlciA9PiB7XG4gICAgICBsZXQgaGVhZGVyczphbnk7XG4gICAgICB0aGlzLl9odHRwXG4gICAgICAgIC5wb3N0KHVybCwgcmVxX2JvZHkse2hlYWRlcnM6IGhlYWRlcnN9KVxuICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgaWYgKGRhdGEgJiYgZGF0YS5oYXNPd25Qcm9wZXJ0eSgnc3RhdHVzJykpIHtcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChkYXRhKTtcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoZGF0YSk7XG4gICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICBlcnJvcjogKGVycm9yOmFueSkgPT4ge1xuICAgICAgICAgICAgLy8gdGhpcy5oYW5kbGVFcnJvcihlcnJvciwgY29uZmlnLCBvYnNlcnZlcik7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWhlYWRlci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24taGVhZGVyL3NyYy9saWIvY29tbW9uLWhlYWRlci5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBIZWFkZXJzIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIsIFR5cGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgUFJPRkVUX0FQUFMgfSBmcm9tIFwiLi91dGlscy9hcHBzLmVudW1cIjtcblxuZXhwb3J0IGludGVyZmFjZSBBcHBNZW51IHtcbiAgICBhcHBUeXBlOiBQUk9GRVRfQVBQUztcbiAgICBtZW51TmFtZTogc3RyaW5nO1xuICAgIGljb24/OiBzdHJpbmc7XG4gICAgcGF0aDogc3RyaW5nO1xuICAgIGdyb3VwQnk/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIEFwcGxpY2F0aW9uQ29uZmlnID0ge1xuICAgIFtrZXkgaW4gUFJPRkVUX0FQUFNdOiB7XG4gICAgICAgIGFwcE5hbWU6IHN0cmluZztcbiAgICAgICAgYXBwTG9nb1VyaTogc3RyaW5nO1xuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBIZWFkZXJDb25maWcge1xuICAgIGFwaVVybDogc3RyaW5nO1xuICAgIHBvcnRhbEZyb250ZW5kVXJsPzogc3RyaW5nO1xuICAgIHNpZ25PdXRVcmw6IHN0cmluZztcbiAgICBhcHBUeXBlOiBQUk9GRVRfQVBQUztcbiAgICBkaXNhYmxlVXRpbGl0eURyYXdlcj86IGJvb2xlYW47XG4gICAgZGlzYWJsZUFwcHJhaXNhbEFzc2lzdGFudEFwcD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGFueSB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBjb21wYW55S2V5OiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGxvZ28/OiBzdHJpbmc7XG4gICAgaXNBY3RpdmU6IGJvb2xlYW47XG4gICAgYmFzZVVybHM6IHtcbiAgICAgICAgcHJvZmV0X3BvcnRhbD86IHN0cmluZyxcbiAgICAgICAgYXBwcmFpc2FsX21hbmFnZW1lbnQ/OiBzdHJpbmcsXG4gICAgICAgIGFwcHJhaXNhbF9yZXZpZXc/OiBzdHJpbmcsXG4gICAgICAgIGFwcHJhaXNhbF92YWx1YXRpb24/OiBzdHJpbmdcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2Vzc2lvbk91dEluZm8ge1xuICAgIHNlc3Npb25PdXRUaW1lSW5NaW5zPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFV0aWxpdHlDb25maWcge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbGFiZWw6IHN0cmluZzsgICAgICAgICAgICAvLyB0ZXh0IGZvciBidXR0b25cbiAgICBsb2FkQ29tcG9uZW50PzogKCkgPT4gUHJvbWlzZTxUeXBlPGFueT4+OyAgIC8vIHRoZSBjb21wb25lbnQgdG8gcmVuZGVyIGluIGRyYXdlclxuICAgIGxheW91dD86ICdwdXNoJyB8ICdzaWRlJyB8ICdvdmVyJzsgLy8gZHJhd2VyIG1vZGVcbiAgICBpY29uOiBzdHJpbmc7XG4gICAgY29uZmlnPzogYW55OyAgLy8gY29uZmlndXJhdGlvbiBvYmplY3QgcGFzc2VkIHRvIHRoZSBkeW5hbWljIGNvbXBvbmVudFxuICAgIC8vIHZlcnRpY2FsQWxpZ246ICd0b3AnIHwgJ2JvdHRvbSc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXRpbGl0eUNvbXAge1xuICAgIG91dEV2ZW50OiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcGlDb25maWcge1xuICAgIGh0dHBIZWFkZXI/OiBIdHRwSGVhZGVycztcbiAgICBpc1VuYXV0aG9yaXplZD86IGJvb2xlYW47XG4gICAgYWRkaXRpb25hbFBhcmFtcz86IHsgW2tleTogc3RyaW5nXTogYW55IH07XG59Il19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWhlYWRlci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24taGVhZGVyL3NyYy9saWIvY29tbW9uLWhlYWRlci5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBST0ZFVF9BUFBTIH0gZnJvbSBcIi4vdXRpbHMvYXBwcy5lbnVtXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBwTWVudSB7XG4gICAgYXBwVHlwZTogUFJPRkVUX0FQUFM7XG4gICAgbWVudU5hbWU6IHN0cmluZztcbiAgICBpY29uPzogc3RyaW5nO1xuICAgIHBhdGg6IHN0cmluZztcbiAgICBncm91cEJ5Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBBcHBsaWNhdGlvbkNvbmZpZyA9IHtcbiAgICBba2V5IGluIFBST0ZFVF9BUFBTXToge1xuICAgICAgICBhcHBOYW1lOiBzdHJpbmc7XG4gICAgICAgIGFwcExvZ29Vcmk6IHN0cmluZztcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGVhZGVyQ29uZmlnIHtcbiAgICBhcGlVcmw6IHN0cmluZztcbiAgICBwb3J0YWxGcm9udGVuZFVybD86IHN0cmluZztcbiAgICBzaWduT3V0VXJsOiBzdHJpbmc7XG4gICAgYXBwVHlwZTogUFJPRkVUX0FQUFM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGFueSB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBjb21wYW55S2V5OiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGxvZ28/OiBzdHJpbmc7XG4gICAgaXNBY3RpdmU6IGJvb2xlYW47XG4gICAgYmFzZVVybHM6IHtcbiAgICAgICAgcHJvZmV0X3BvcnRhbD86IHN0cmluZyxcbiAgICAgICAgYXBwcmFpc2FsX21hbmFnZW1lbnQ/OiBzdHJpbmcsXG4gICAgICAgIGFwcHJhaXNhbF9yZXZpZXc/OiBzdHJpbmcsXG4gICAgICAgIGFwcHJhaXNhbF92YWx1YXRpb24/OiBzdHJpbmdcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2Vzc2lvbk91dEluZm8ge1xuICAgIHNlc3Npb25PdXRUaW1lSW5NaW5zPzogbnVtYmVyO1xufSJdfQ==
@@ -1,7 +1,6 @@
1
- import { HttpHeaders } from '@angular/common/http';
2
1
  import { Inject, inject, Injectable } from '@angular/core';
3
2
  import { MatDialog } from '@angular/material/dialog';
4
- import { reduce, ReplaySubject, Subject } from 'rxjs';
3
+ import { reduce, ReplaySubject } from 'rxjs';
5
4
  import { APP_DOMAIN } from '../public-api';
6
5
  import { EndPoints } from './api-endpoints.def';
7
6
  import { ApiGatewayService } from './api-gateway.service';
@@ -9,9 +8,6 @@ import { SessionExpiryInfoComponent } from './session-expiry-info/session-expiry
9
8
  import { Utilities } from './utils/Utilities';
10
9
  import * as i0 from "@angular/core";
11
10
  export class CommonHeaderService {
12
- toggleUtilityContentDrawer() {
13
- this.utilityContentDrawerSub.next();
14
- }
15
11
  constructor(config) {
16
12
  this.config = config;
17
13
  this.baseUrl = '';
@@ -22,8 +18,6 @@ export class CommonHeaderService {
22
18
  this.activeMenuList$ = this.menuStateSubject.asObservable();
23
19
  this.companyListSubject = new ReplaySubject(1);
24
20
  this.companyList$ = this.companyListSubject.asObservable();
25
- this.utilityContentDrawerSub = new Subject();
26
- this.utilityContentToggle$ = this.utilityContentDrawerSub.asObservable();
27
21
  this.headerConfig = config;
28
22
  this.baseUrl = config.apiUrl;
29
23
  }
@@ -109,32 +103,6 @@ export class CommonHeaderService {
109
103
  let url = `${this.baseUrl + EndPoints.API_URLS.updateLastAccessedApplication}`;
110
104
  return this._apiGatewayService.doPost(url, reqBody);
111
105
  }
112
- objectToQueryParams(obj) {
113
- const params = new URLSearchParams();
114
- for (const key in obj) {
115
- if (obj[key] !== undefined && obj[key] !== null) {
116
- params.append(key, obj[key]);
117
- }
118
- }
119
- return params.toString();
120
- }
121
- getCookie(name) {
122
- const match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));
123
- return match ? decodeURIComponent(match[2]) : null;
124
- }
125
- getQueryResponse(request) {
126
- let url = `${this.baseUrl + EndPoints.API_URLS.appraisalChat}`;
127
- if (request?.query) {
128
- url = `${url}?${this.objectToQueryParams(request)}`;
129
- }
130
- const chatCtx = this.getCookie('profet-ctx');
131
- const headers = chatCtx ? new HttpHeaders().set('profet-ctx', chatCtx) : undefined;
132
- let config = {};
133
- if (chatCtx) {
134
- config.httpHeader = headers;
135
- }
136
- return this._apiGatewayService.doGet(url, config);
137
- }
138
106
  }
139
107
  CommonHeaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CommonHeaderService, deps: [{ token: 'headerConfig' }], target: i0.ɵɵFactoryTarget.Injectable });
140
108
  CommonHeaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CommonHeaderService, providedIn: 'root' });
@@ -147,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
147
115
  type: Inject,
148
116
  args: ['headerConfig']
149
117
  }] }]; } });
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWhlYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uLWhlYWRlci9zcmMvbGliL2NvbW1vbi1oZWFkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHMUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUs5QyxNQUFNLE9BQU8sbUJBQW1CO0lBZ0I5QiwwQkFBMEI7UUFDeEIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxZQUE0QyxNQUFvQjtRQUFwQixXQUFNLEdBQU4sTUFBTSxDQUFjO1FBbkJ4RCxZQUFPLEdBQVcsRUFBRSxDQUFDO1FBRTdCLDhCQUF5QixHQUFHLEtBQUssQ0FBQztRQUMxQix1QkFBa0IsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNoRCxZQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTNCLHFCQUFnQixHQUFHLElBQUksYUFBYSxDQUFt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QUMsVUFBVSxHQUFHLE9BQU8sQ0FBQztTQUM3QjtRQUNELE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDcEQsQ0FBQzs7aUhBdEpVLG1CQUFtQixrQkFvQlYsY0FBYztxSEFwQnZCLG1CQUFtQixjQUZsQixNQUFNOzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQXFCYyxNQUFNOzJCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdCwgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgcmVkdWNlLCBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBUFBfRE9NQUlOIH0gZnJvbSAnLi4vcHVibGljLWFwaSc7XG5pbXBvcnQgeyBFbmRQb2ludHMgfSBmcm9tICcuL2FwaS1lbmRwb2ludHMuZGVmJztcbmltcG9ydCB7IEFwaUdhdGV3YXlTZXJ2aWNlIH0gZnJvbSAnLi9hcGktZ2F0ZXdheS5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcHJhaXNhbENoYXRSZXF1ZXN0IH0gZnJvbSAnLi9hcHByYWlzYWwtYXNzaXN0YW50L2FwcHJhaXNhbC1hc3Npc3RhbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwaUNvbmZpZywgQXBwTWVudSwgQ29tcGFueSwgSGVhZGVyQ29uZmlnLCBTZXNzaW9uT3V0SW5mbyB9IGZyb20gJy4vY29tbW9uLWhlYWRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2Vzc2lvbkV4cGlyeUluZm9Db21wb25lbnQgfSBmcm9tICcuL3Nlc3Npb24tZXhwaXJ5LWluZm8vc2Vzc2lvbi1leHBpcnktaW5mby5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXRpbGl0aWVzIH0gZnJvbSAnLi91dGlscy9VdGlsaXRpZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDb21tb25IZWFkZXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBiYXNlVXJsOiBzdHJpbmcgPSAnJztcbiAgaGVhZGVyQ29uZmlnOiBIZWFkZXJDb25maWc7XG4gIGlzU2Vzc2lvbkV4cGlyeURpYWxvZ09wZW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfYXBpR2F0ZXdheVNlcnZpY2UgPSBpbmplY3QoQXBpR2F0ZXdheVNlcnZpY2UpO1xuICBwdWJsaWMgX2RpYWxvZyA9IGluamVjdChNYXREaWFsb2cpO1xuXG4gIHByaXZhdGUgbWVudVN0YXRlU3ViamVjdCA9IG5ldyBSZXBsYXlTdWJqZWN0PEFwcE1lbnVbXSB8IG51bGw+KDEpO1xuICBwdWJsaWMgYWN0aXZlTWVudUxpc3QkID0gdGhpcy5tZW51U3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHByaXZhdGUgY29tcGFueUxpc3RTdWJqZWN0ID0gbmV3IFJlcGxheVN1YmplY3Q8Q29tcGFueVtdIHwgbnVsbD4oMSk7XG4gIHB1YmxpYyBjb21wYW55TGlzdCQgPSB0aGlzLmNvbXBhbnlMaXN0U3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICBwcml2YXRlIHV0aWxpdHlDb250ZW50RHJhd2VyU3ViID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHVibGljIHV0aWxpdHlDb250ZW50VG9nZ2xlJCA9IHRoaXMudXRpbGl0eUNvbnRlbnREcmF3ZXJTdWIuYXNPYnNlcnZhYmxlKCk7XG5cbiAgdG9nZ2xlVXRpbGl0eUNvbnRlbnREcmF3ZXIoKSB7XG4gICAgdGhpcy51dGlsaXR5Q29udGVudERyYXdlclN1Yi5uZXh0KCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KCdoZWFkZXJDb25maWcnKSBwcml2YXRlIGNvbmZpZzogSGVhZGVyQ29uZmlnKSB7XG4gICAgdGhpcy5oZWFkZXJDb25maWcgPSBjb25maWc7XG4gICAgdGhpcy5iYXNlVXJsID0gY29uZmlnLmFwaVVybDtcbiAgfVxuXG4gIHNldE1lbnVTdGF0ZShkYXRhOiBBcHBNZW51W10pOiB2b2lkIHtcbiAgICB0aGlzLm1lbnVTdGF0ZVN1YmplY3QubmV4dChkYXRhKTtcbiAgfVxuICBzZXRDb21wYW55TGlzdChkYXRhOiBDb21wYW55W10pOiB2b2lkIHtcbiAgICB0aGlzLmNvbXBhbnlMaXN0U3ViamVjdC5uZXh0KGRhdGEpO1xuICB9XG5cbiAgb2J0YWluRGF0YUJ5VXJsKHVybDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FwaUdhdGV3YXlTZXJ2aWNlLmRvR2V0KHVybCk7XG4gIH1cblxuICBvcGVuU2Vzc2lvbkV4cGlyZUluZm8oc2Vzc2lvbmluZm8/OiBTZXNzaW9uT3V0SW5mbykge1xuICAgIGxldCBpbmZvOiBTZXNzaW9uT3V0SW5mbyA9IHt9O1xuICAgIGlmIChzZXNzaW9uaW5mbykge1xuICAgICAgaW5mbyA9IHNlc3Npb25pbmZvO1xuICAgIH1cbiAgICB0aGlzLmlzU2Vzc2lvbkV4cGlyeURpYWxvZ09wZW4gPSB0cnVlO1xuICAgIHRoaXMuX2RpYWxvZy5vcGVuKFNlc3Npb25FeHBpcnlJbmZvQ29tcG9uZW50LCB7IGRhdGE6IHNlc3Npb25pbmZvIH0pO1xuICB9XG5cbiAgZ2V0RG9tYWluSW5mbygpIHtcbiAgICBsZXQgZG9tID0gZG9jdW1lbnQubG9jYXRpb24uaG9zdC5zcGxpdCgnLicpO1xuICAgIGxldCBkb21haW5JbmZvID0gQVBQX0RPTUFJTi5maW5kKHggPT4geC5kb21haW4gPT09IGRvbVswXSk7XG4gICAgaWYgKGRvbWFpbkluZm8pIHtcbiAgICAgIHJldHVybiBkb21haW5JbmZvO1xuICAgIH1cblxuICAgIC8vIENoZWNrIGlmIHRoZSBzZWNvbmQgcGFydCBvZiB0aGUgZG9tYWluIGV4aXN0cyBiZWZvcmUgdXNpbmcgaXRcbiAgICBkb21haW5JbmZvID0gZG9tWzFdID8gQVBQX0RPTUFJTi5maW5kKHggPT4geC5kb21haW4gPT09IGRvbVsxXSkgOiB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIGRvbWFpbkluZm8gfHwgdW5kZWZpbmVkO1xuICB9XG5cbiAgZ2V0QXBwcygpIHtcbiAgICBsZXQgdXJsID0gYCR7dGhpcy5iYXNlVXJsICsgRW5kUG9pbnRzLkFQSV9VUkxTLmdldEFwcHNBcGl9YDtcbiAgICByZXR1cm4gdGhpcy5fYXBpR2F0ZXdheVNlcnZpY2UuZG9HZXQodXJsKTtcbiAgfVxuICBnZXRDb21wYW55QXBwbGljYXRpb25zKCkge1xuICAgIGxldCB1cmwgPSBgJHt0aGlzLmJhc2VVcmwgKyBFbmRQb2ludHMuQVBJX1VSTFMuZ2V0Q29tcGFueUFwcGxpY2F0aW9uc31gO1xuICAgIHJldHVybiB0aGlzLl9hcGlHYXRld2F5U2VydmljZS5kb0dldCh1cmwpO1xuICB9XG5cbiAgLy8gVE9ETyAtLSBuZWVkIHRvIHJlbW92ZVxuICBnZXRVc2VyQ29tcGFuaWVzKCkge1xuICAgIGxldCB1cmwgPSBgJHt0aGlzLmJhc2VVcmwgKyBFbmRQb2ludHMuQVBJX1VSTFMuZ2V0VXNlckNvbXBhbmllc31gO1xuICAgIHJldHVybiB0aGlzLl9hcGlHYXRld2F5U2VydmljZS5kb0dldCh1cmwpO1xuICB9XG4gIHVwZGF0ZVVzZXJDb21wYW55KHJlcUJvZHk6IGFueSkge1xuICAgIGxldCB1cmwgPSBgJHt0aGlzLmJhc2VVcmwgKyBFbmRQb2ludHMuQVBJX1VSTFMudXBkYXRlVXNlckNvbXBhbnl9YDtcbiAgICByZXR1cm4gdGhpcy5fYXBpR2F0ZXdheVNlcnZpY2UuZG9Qb3N0KHVybCwgcmVxQm9keSk7XG4gIH1cblxuICBmZXRjaENvbXBhbnlQcm9maWxlKHJlcUJvZHk6IGFueSkge1xuICAgIGxldCBjb25maWc6IGFueSA9IHtcbiAgICAgIGlzVW5hdXRob3JpemVkOiB0cnVlXG4gICAgfVxuICAgIGxldCB1cmwgPSBgJHt0aGlzLmJhc2VVcmwgKyBFbmRQb2ludHMuQVBJX1VSTFMuZmV0Y2hDb21wYW55UHJvZmlsZSArICc/JyArIFV0aWxpdGllcy5jb252ZXJ0T2JqZWN0VG9RdWVyeVN0cmluZyhyZXFCb2R5KX1gO1xuICAgIHJldHVybiB0aGlzLl9hcGlHYXRld2F5U2VydmljZS5kb0dldCh1cmwsIGNvbmZpZykucGlwZShcbiAgICAgIHJlZHVjZSgoYWNjLCByZXMpID0+IHtcbiAgICAgICAgaWYgKHJlcz8uZGF0YSkge1xuICAgICAgICAgIGFjYyA9IHJlcy5kYXRhO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LCB7fSlcbiAgICApO1xuICB9XG4gIGdldFVzZXJEZXRhaWxzKCkge1xuICAgIGxldCB1cmwgPSBgJHt0aGlzLmJhc2VVcmwgKyBFbmRQb2ludHMuQVBJX1VSTFMuZ2V0VXNlckRldGFpbHN9YDtcbiAgICByZXR1cm4gdGhpcy5fYXBpR2F0ZXdheVNlcnZpY2UuZG9HZXQodXJsKTtcbiAgfVxuXG4gIGdldENvbXBhbnlMaXN0KCkge1xuICAgIGxldCB1cmwgPSBgJHt0aGlzLmJhc2VVcmwgKyBFbmRQb2ludHMuQVBJX1VSTFMuZ2V0Q29tcGFueUxpc3R9YDtcbiAgICByZXR1cm4gdGhpcy5fYXBpR2F0ZXdheVNlcnZpY2UuZG9HZXQodXJsKS5waXBlKFxuICAgICAgcmVkdWNlKChhY2MsIHJlcykgPT4ge1xuICAgICAgICBpZiAocmVzPy5kYXRhPy5jb21wYW5pZXMpIHtcbiAgICAgICAgICBhY2MgPSByZXM/LmRhdGE/LmNvbXBhbmllcztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwge30pXG4gICAgKTtcbiAgfVxuICBnZXRNZW51TGlzdCgpIHtcbiAgICBsZXQgdXJsID0gYCR7dGhpcy5iYXNlVXJsICsgRW5kUG9pbnRzLkFQSV9VUkxTLmdldEFwcE1lbnV9YDtcbiAgICByZXR1cm4gdGhpcy5fYXBpR2F0ZXdheVNlcnZpY2UuZG9HZXQodXJsKS5waXBlKFxuICAgICAgcmVkdWNlKChhY2MsIHJlcykgPT4ge1xuICAgICAgICBpZiAocmVzPy5kYXRhPy5BcHBNZW51KSB7XG4gICAgICAgICAgYWNjID0gcmVzPy5kYXRhPy5BcHBNZW51O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LCB7fSlcbiAgICApO1xuICB9XG5cbiAgdXBkYXRlTGFzdEFjY2Vzc2VkQXBwbGljYXRpb24ocmVxQm9keTogYW55KSB7XG4gICAgbGV0IHVybCA9IGAke3RoaXMuYmFzZVVybCArIEVuZFBvaW50cy5BUElfVVJMUy51cGRhdGVMYXN0QWNjZXNzZWRBcHBsaWNhdGlvbn1gO1xuICAgIHJldHVybiB0aGlzLl9hcGlHYXRld2F5U2VydmljZS5kb1Bvc3QodXJsLCByZXFCb2R5KTtcbiAgfVxuXG4gIG9iamVjdFRvUXVlcnlQYXJhbXMob2JqOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogc3RyaW5nIHtcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKCk7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gb2JqKSB7XG4gICAgICBpZiAob2JqW2tleV0gIT09IHVuZGVmaW5lZCAmJiBvYmpba2V5XSAhPT0gbnVsbCkge1xuICAgICAgICBwYXJhbXMuYXBwZW5kKGtleSwgb2JqW2tleV0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcGFyYW1zLnRvU3RyaW5nKCk7XG4gIH1cblxuICBnZXRDb29raWUobmFtZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgbWF0Y2ggPSBkb2N1bWVudC5jb29raWUubWF0Y2gobmV3IFJlZ0V4cCgnKF58ICknICsgbmFtZSArICc9KFteO10rKScpKTtcbiAgICByZXR1cm4gbWF0Y2ggPyBkZWNvZGVVUklDb21wb25lbnQobWF0Y2hbMl0pIDogbnVsbDtcbiAgfVxuXG4gIGdldFF1ZXJ5UmVzcG9uc2UocmVxdWVzdD86IEFwcHJhaXNhbENoYXRSZXF1ZXN0KSB7XG4gICAgbGV0IHVybCA9IGAke3RoaXMuYmFzZVVybCArIEVuZFBvaW50cy5BUElfVVJMUy5hcHByYWlzYWxDaGF0fWA7XG4gICAgaWYgKHJlcXVlc3Q/LnF1ZXJ5KSB7XG4gICAgICB1cmwgPSBgJHt1cmx9PyR7dGhpcy5vYmplY3RUb1F1ZXJ5UGFyYW1zKHJlcXVlc3QpfWA7XG4gICAgfVxuICAgIGNvbnN0IGNoYXRDdHggPSB0aGlzLmdldENvb2tpZSgncHJvZmV0LWN0eCcpO1xuICAgIGNvbnN0IGhlYWRlcnMgPSBjaGF0Q3R4ID8gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCdwcm9mZXQtY3R4JywgY2hhdEN0eCkgOiB1bmRlZmluZWQ7XG4gICAgbGV0IGNvbmZpZzogQXBpQ29uZmlnID0ge307XG4gICAgaWYgKGNoYXRDdHgpIHtcbiAgICAgIGNvbmZpZy5odHRwSGVhZGVyID0gaGVhZGVycztcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2FwaUdhdGV3YXlTZXJ2aWNlLmRvR2V0KHVybCwgY29uZmlnKTtcbiAgfVxufVxuIl19
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWhlYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uLWhlYWRlci9zcmMvbGliL2NvbW1vbi1oZWFkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFLOUMsTUFBTSxPQUFPLG1CQUFtQjtJQWE5QixZQUE0QyxNQUFvQjtRQUFwQixXQUFNLEdBQU4sTUFBTSxDQUFjO1FBWnhELFlBQU8sR0FBVyxFQUFFLENBQUM7UUFFN0IsOEJBQXlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLHVCQUFrQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2hELFlBQU8sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFM0IscUJBQWdCLEdBQUcsSUFBSSxhQUFhLENBQW1CLENBQUMsQ0FBQyxDQUFDO1FBQzNELG9CQUFlLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXRELHVCQUFrQixHQUFHLElBQUksYUFBYSxDQUFtQixDQUFDLENBQUMsQ0FBQztR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T0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQ1AsQ0FBQztJQUNKLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDNUQsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDNUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ2xCLElBQUksR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUU7Z0JBQ3RCLEdBQUcsR0FBRyxHQUFHLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQzthQUMxQjtZQUNELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUNQLENBQUM7SUFDSixDQUFDO0lBRUQsNkJBQTZCLENBQUMsT0FBWTtRQUN4QyxJQUFJLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO1FBQy9FLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7aUhBbEhVLG1CQUFtQixrQkFhVixjQUFjO3FIQWJ2QixtQkFBbUIsY0FGbEIsTUFBTTs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFjYyxNQUFNOzJCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IHJlZHVjZSwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVBQX0RPTUFJTiB9IGZyb20gJy4uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgRW5kUG9pbnRzIH0gZnJvbSAnLi9hcGktZW5kcG9pbnRzLmRlZic7XG5pbXBvcnQgeyBBcGlHYXRld2F5U2VydmljZSB9IGZyb20gJy4vYXBpLWdhdGV3YXkuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBNZW51LCBDb21wYW55LCBIZWFkZXJDb25maWcsIFNlc3Npb25PdXRJbmZvIH0gZnJvbSAnLi9jb21tb24taGVhZGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTZXNzaW9uRXhwaXJ5SW5mb0NvbXBvbmVudCB9IGZyb20gJy4vc2Vzc2lvbi1leHBpcnktaW5mby9zZXNzaW9uLWV4cGlyeS1pbmZvLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVdGlsaXRpZXMgfSBmcm9tICcuL3V0aWxzL1V0aWxpdGllcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENvbW1vbkhlYWRlclNlcnZpY2Uge1xuICBwcml2YXRlIGJhc2VVcmw6IHN0cmluZyA9ICcnO1xuICBoZWFkZXJDb25maWc6IEhlYWRlckNvbmZpZztcbiAgaXNTZXNzaW9uRXhwaXJ5RGlhbG9nT3BlbiA9IGZhbHNlO1xuICBwcml2YXRlIF9hcGlHYXRld2F5U2VydmljZSA9IGluamVjdChBcGlHYXRld2F5U2VydmljZSk7XG4gIHB1YmxpYyBfZGlhbG9nID0gaW5qZWN0KE1hdERpYWxvZyk7XG5cbiAgcHJpdmF0ZSBtZW51U3RhdGVTdWJqZWN0ID0gbmV3IFJlcGxheVN1YmplY3Q8QXBwTWVudVtdIHwgbnVsbD4oMSk7XG4gIHB1YmxpYyBhY3RpdmVNZW51TGlzdCQgPSB0aGlzLm1lbnVTdGF0ZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHJpdmF0ZSBjb21wYW55TGlzdFN1YmplY3QgPSBuZXcgUmVwbGF5U3ViamVjdDxDb21wYW55W10gfCBudWxsPigxKTtcbiAgcHVibGljIGNvbXBhbnlMaXN0JCA9IHRoaXMuY29tcGFueUxpc3RTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoJ2hlYWRlckNvbmZpZycpIHByaXZhdGUgY29uZmlnOiBIZWFkZXJDb25maWcpIHtcbiAgICB0aGlzLmhlYWRlckNvbmZpZyA9IGNvbmZpZztcbiAgICB0aGlzLmJhc2VVcmwgPSBjb25maWcuYXBpVXJsO1xuICB9XG5cbiAgc2V0TWVudVN0YXRlKGRhdGE6IEFwcE1lbnVbXSk6IHZvaWQge1xuICAgIHRoaXMubWVudVN0YXRlU3ViamVjdC5uZXh0KGRhdGEpO1xuICB9XG4gIHNldENvbXBhbnlMaXN0KGRhdGE6IENvbXBhbnlbXSk6IHZvaWQge1xuICAgIHRoaXMuY29tcGFueUxpc3RTdWJqZWN0Lm5leHQoZGF0YSk7XG4gIH1cblxuICBvYnRhaW5EYXRhQnlVcmwodXJsOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5fYXBpR2F0ZXdheVNlcnZpY2UuZG9HZXQodXJsKTtcbiAgfVxuXG4gIG9wZW5TZXNzaW9uRXhwaXJlSW5mbyhzZXNzaW9uaW5mbz86IFNlc3Npb25PdXRJbmZvKSB7XG4gICAgbGV0IGluZm86IFNlc3Npb25PdXRJbmZvID0ge307XG4gICAgaWYgKHNlc3Npb25pbmZvKSB7XG4gICAgICBpbmZvID0gc2Vzc2lvbmluZm87XG4gICAgfVxuICAgIHRoaXMuaXNTZXNzaW9uRXhwaXJ5RGlhbG9nT3BlbiA9IHRydWU7XG4gICAgdGhpcy5fZGlhbG9nLm9wZW4oU2Vzc2lvbkV4cGlyeUluZm9Db21wb25lbnQsIHsgZGF0YTogc2Vzc2lvbmluZm8gfSk7XG4gIH1cblxuICBnZXREb21haW5JbmZvKCkge1xuICAgIGxldCBkb20gPSBkb2N1bWVudC5sb2NhdGlvbi5ob3N0LnNwbGl0KCcuJyk7XG4gICAgbGV0IGRvbWFpbkluZm8gPSBBUFBfRE9NQUlOLmZpbmQoeCA9PiB4LmRvbWFpbiA9PT0gZG9tWzBdKTtcbiAgICBpZiAoZG9tYWluSW5mbykge1xuICAgICAgcmV0dXJuIGRvbWFpbkluZm87XG4gICAgfVxuXG4gICAgLy8gQ2hlY2sgaWYgdGhlIHNlY29uZCBwYXJ0IG9mIHRoZSBkb21haW4gZXhpc3RzIGJlZm9yZSB1c2luZyBpdFxuICAgIGRvbWFpbkluZm8gPSBkb21bMV0gPyBBUFBfRE9NQUlOLmZpbmQoeCA9PiB4LmRvbWFpbiA9PT0gZG9tWzFdKSA6IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gZG9tYWluSW5mbyB8fCB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXRBcHBzKCkge1xuICAgIGxldCB1cmwgPSBgJHt0aGlzLmJhc2VVcmwgKyBFbmRQb2ludHMuQVBJX1VSTFMuZ2V0QXBwc0FwaX1gO1xuICAgIHJldHVybiB0aGlzLl9hcGlHYXRld2F5U2VydmljZS5kb0dldCh1cmwpO1xuICB9XG4gIGdldENvbXBhbnlBcHBsaWNhdGlvbnMoKSB7XG4gICAgbGV0IHVybCA9IGAke3RoaXMuYmFzZVVybCArIEVuZFBvaW50cy5BUElfVVJMUy5nZXRDb21wYW55QXBwbGljYXRpb25zfWA7XG4gICAgcmV0dXJuIHRoaXMuX2FwaUdhdGV3YXlTZXJ2aWNlLmRvR2V0KHVybCk7XG4gIH1cblxuICAvLyBUT0RPIC0tIG5lZWQgdG8gcmVtb3ZlXG4gIGdldFVzZXJDb21wYW5pZXMoKSB7XG4gICAgbGV0IHVybCA9IGAke3RoaXMuYmFzZVVybCArIEVuZFBvaW50cy5BUElfVVJMUy5nZXRVc2VyQ29tcGFuaWVzfWA7XG4gICAgcmV0dXJuIHRoaXMuX2FwaUdhdGV3YXlTZXJ2aWNlLmRvR2V0KHVybCk7XG4gIH1cbiAgdXBkYXRlVXNlckNvbXBhbnkocmVxQm9keTogYW55KSB7XG4gICAgbGV0IHVybCA9IGAke3RoaXMuYmFzZVVybCArIEVuZFBvaW50cy5BUElfVVJMUy51cGRhdGVVc2VyQ29tcGFueX1gO1xuICAgIHJldHVybiB0aGlzLl9hcGlHYXRld2F5U2VydmljZS5kb1Bvc3QodXJsLCByZXFCb2R5KTtcbiAgfVxuXG4gIGZldGNoQ29tcGFueVByb2ZpbGUocmVxQm9keTogYW55KSB7XG4gICAgbGV0IGNvbmZpZzogYW55ID0ge1xuICAgICAgaXNVbmF1dGhvcml6ZWQ6IHRydWVcbiAgICB9XG4gICAgbGV0IHVybCA9IGAke3RoaXMuYmFzZVVybCArIEVuZFBvaW50cy5BUElfVVJMUy5mZXRjaENvbXBhbnlQcm9maWxlICsgJz8nICsgVXRpbGl0aWVzLmNvbnZlcnRPYmplY3RUb1F1ZXJ5U3RyaW5nKHJlcUJvZHkpfWA7XG4gICAgcmV0dXJuIHRoaXMuX2FwaUdhdGV3YXlTZXJ2aWNlLmRvR2V0KHVybCwgY29uZmlnKS5waXBlKFxuICAgICAgcmVkdWNlKChhY2MsIHJlcykgPT4ge1xuICAgICAgICBpZiAocmVzPy5kYXRhKSB7XG4gICAgICAgICAgYWNjID0gcmVzLmRhdGE7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIHt9KVxuICAgICk7XG4gIH1cbiAgZ2V0VXNlckRldGFpbHMoKSB7XG4gICAgbGV0IHVybCA9IGAke3RoaXMuYmFzZVVybCArIEVuZFBvaW50cy5BUElfVVJMUy5nZXRVc2VyRGV0YWlsc31gO1xuICAgIHJldHVybiB0aGlzLl9hcGlHYXRld2F5U2VydmljZS5kb0dldCh1cmwpO1xuICB9XG5cbiAgZ2V0Q29tcGFueUxpc3QoKSB7XG4gICAgbGV0IHVybCA9IGAke3RoaXMuYmFzZVVybCArIEVuZFBvaW50cy5BUElfVVJMUy5nZXRDb21wYW55TGlzdH1gO1xuICAgIHJldHVybiB0aGlzLl9hcGlHYXRld2F5U2VydmljZS5kb0dldCh1cmwpLnBpcGUoXG4gICAgICByZWR1Y2UoKGFjYywgcmVzKSA9PiB7XG4gICAgICAgIGlmIChyZXM/LmRhdGE/LmNvbXBhbmllcykge1xuICAgICAgICAgIGFjYyA9IHJlcz8uZGF0YT8uY29tcGFuaWVzO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LCB7fSlcbiAgICApO1xuICB9XG4gIGdldE1lbnVMaXN0KCkge1xuICAgIGxldCB1cmwgPSBgJHt0aGlzLmJhc2VVcmwgKyBFbmRQb2ludHMuQVBJX1VSTFMuZ2V0QXBwTWVudX1gO1xuICAgIHJldHVybiB0aGlzLl9hcGlHYXRld2F5U2VydmljZS5kb0dldCh1cmwpLnBpcGUoXG4gICAgICByZWR1Y2UoKGFjYywgcmVzKSA9PiB7XG4gICAgICAgIGlmIChyZXM/LmRhdGE/LkFwcE1lbnUpIHtcbiAgICAgICAgICBhY2MgPSByZXM/LmRhdGE/LkFwcE1lbnU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIHt9KVxuICAgICk7XG4gIH1cblxuICB1cGRhdGVMYXN0QWNjZXNzZWRBcHBsaWNhdGlvbihyZXFCb2R5OiBhbnkpIHtcbiAgICBsZXQgdXJsID0gYCR7dGhpcy5iYXNlVXJsICsgRW5kUG9pbnRzLkFQSV9VUkxTLnVwZGF0ZUxhc3RBY2Nlc3NlZEFwcGxpY2F0aW9ufWA7XG4gICAgcmV0dXJuIHRoaXMuX2FwaUdhdGV3YXlTZXJ2aWNlLmRvUG9zdCh1cmwsIHJlcUJvZHkpO1xuICB9XG59XG4iXX0=