simpo-component-library 3.6.251 → 3.6.252

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.
@@ -2,8 +2,8 @@ import { Component, EventEmitter, HostListener, Input, Output, ViewChild } from
2
2
  import { MatIcon } from '@angular/material/icon';
3
3
  import { CommonModule } from '@angular/common';
4
4
  import * as i0 from "@angular/core";
5
- import * as i1 from "@simpo-ui/services/storage.service";
6
- import * as i2 from "@simpo-ui/services/rest.service";
5
+ import * as i1 from ".././../../services/storage.service";
6
+ import * as i2 from ".././../../services/rest.service";
7
7
  import * as i3 from "@angular/material/dialog";
8
8
  import * as i4 from ".././../../services/events.service";
9
9
  import * as i5 from "@angular/common";
@@ -132,4 +132,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
132
132
  type: HostListener,
133
133
  args: ['window:resize', ['$event']]
134
134
  }] } });
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1lLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvc2NoZW1lLWRldGFpbHMvc2NoZW1lLWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvc2NoZW1lLWRldGFpbHMvc2NoZW1lLWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7QUFZL0MsTUFBTSxPQUFPLHNCQUFzQjtJQUlqQyxZQUNVLGNBQXFDLEVBQ3JDLFdBQXdCLEVBQ3hCLFNBQW9CLEVBQ1gsYUFBNEI7UUFIckMsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBQ3JDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDWCxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQU5yQyx1QkFBa0IsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQWtCNUUsZ0JBQVcsR0FBVSxFQUFFLENBQUM7SUFYcEIsQ0FBQztJQUNMLFFBQVE7UUFDTixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FB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Q0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlU2VydmljZSB9IGZyb20gJ0BzaW1wby11aS9zZXJ2aWNlcy9zdG9yYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJ0BzaW1wby11aS9zZXJ2aWNlcy9yZXN0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBFdmVudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi8uLi8uLi9zZXJ2aWNlcy9ldmVudHMuc2VydmljZSc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ltcG8tc2NoZW1lLWRldGFpbHMnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW01hdEljb24sIENvbW1vbk1vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NjaGVtZS1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vc2NoZW1lLWRldGFpbHMuY29tcG9uZW50LmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFNjaGVtZURldGFpbHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dChcInNjaGVtZURldGFpbHNcIikgc2NoZW1lRGV0YWlsczogYW55O1xyXG4gIEBPdXRwdXQoKSBnb3RvU2NoZW1lT3ZlcnZpZXc6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICBAVmlld0NoaWxkKCdzaG93Q2hhcmdlcycsIHsgc3RhdGljOiB0cnVlIH0pIHNob3dDaGFyZ2VzVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlc3RTZXJ2aWNlOiBSZXN0U2VydmljZSxcclxuICAgIHByaXZhdGUgbWF0RGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9ldmVudFNlcnZpY2U6IEV2ZW50c1NlcnZpY2UsXHJcbiAgKSB7IH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMuc2NoZW1lRGV0YWlscyk7XHJcbiAgICB0aGlzLmdldFBheW1lbnRTY2hlbWUoKTtcclxuICAgIHRoaXMuZ2V0U2NyZWVuU2l6ZSgpO1xyXG4gIH1cclxuICBzY3JlZW5XaWR0aDogYW55O1xyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxyXG4gIGdldFNjcmVlblNpemUoZXZlbnQ/OiBhbnkpIHtcclxuICAgIHRoaXMuc2NyZWVuV2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcclxuICB9XHJcbiAgcGF5bWVudERhdGE6IGFueVtdID0gW107XHJcbiAgZ2V0UGF5bWVudFNjaGVtZSgpIHtcclxuICAgIHRoaXMuc2NoZW1lRGV0YWlscy5zY2hlbWVQYXltZW50cy5mb3JFYWNoKChwYXltZW50OiBhbnkpID0+IHtcclxuICAgICAgaWYgKHBheW1lbnQucGF5bWVudFN0YXR1cyAhPSAnUEFJRCcpIHtcclxuICAgICAgICB0aGlzLnBheW1lbnREYXRhLnB1c2gocGF5bWVudCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBnZXREdWVEYXRlKHBheW1lbnREYXRlOiBzdHJpbmcgfCBEYXRlKTogbnVtYmVyIHwgbnVsbCB7XHJcbiAgICBpZiAoIXBheW1lbnREYXRlKSByZXR1cm4gbnVsbDtcclxuICAgIGNvbnNvbGUubG9nKFwiUGF5bWVudCBEYXRlXCIsIHBheW1lbnREYXRlKTtcclxuICAgIGNvbnN0IGR1ZURhdGUgPSBuZXcgRGF0ZShwYXltZW50RGF0ZSk7IC8vIEFkZCAyIGRheXMgdG8gZ2V0IGR1ZSBkYXRlXHJcblxyXG4gICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xyXG5cclxuICAgIC8vIFN0cmlwIHRpbWUgZm9yIGFjY3VyYXRlIGRheSBjb21wYXJpc29uXHJcbiAgICBkdWVEYXRlLnNldEhvdXJzKDAsIDAsIDAsIDApO1xyXG4gICAgdG9kYXkuc2V0SG91cnMoMCwgMCwgMCwgMCk7XHJcblxyXG4gICAgLy8gQ2FsY3VsYXRlIGRpZmZlcmVuY2UgaW4gbWlsbGlzZWNvbmRzLCB0aGVuIGNvbnZlcnQgdG8gZGF5c1xyXG4gICAgY29uc3QgZGlmZlRpbWUgPSBkdWVEYXRlLmdldFRpbWUoKSAtIHRvZGF5LmdldFRpbWUoKTtcclxuICAgIGNvbnN0IGRpZmZEYXlzID0gTWF0aC5yb3VuZChkaWZmVGltZSAvICgxMDAwICogNjAgKiA2MCAqIDI0KSk7XHJcblxyXG4gICAgcmV0dXJuIGRpZmZEYXlzO1xyXG4gIH1cclxuICBzdG9yZUNoYXJnZXM6IGFueTtcclxuICBjbG9zZURpYWxvZygpIHtcclxuICAgIHRoaXMubWF0RGlhbG9nLmNsb3NlQWxsKCk7XHJcbiAgfVxyXG4gIHBheUR1ZVBheW1lbnQocGFzc0Jvb2s6IGFueSkge1xyXG4gICAgY29uc3QgdXNlckRldGFpbHMgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFVzZXIoKTtcclxuICAgIGNvbnNvbGUubG9nKHBhc3NCb29rKVxyXG4gICAgbGV0IHBheWxvYWQgPVxyXG4gICAge1xyXG4gICAgICB1c2VyQmFzaWNEZXRhaWxzOiB7XHJcbiAgICAgICAgY3VzdG9tZXJfaWQ6IHVzZXJEZXRhaWxzPy51c2VySWQsXHJcbiAgICAgICAgY3VzdG9tZXJfbmFtZTogdXNlckRldGFpbHM/LmNvbnRhY3Q/Lm5hbWUsXHJcbiAgICAgICAgY3VzdG9tZXJfcGhvbmU6IHVzZXJEZXRhaWxzPy5jb250YWN0Py5tb2JpbGUsXHJcbiAgICAgICAgY3VzdG9tZXJfZW1haWw6IHVzZXJEZXRhaWxzPy5jb250YWN0Py5lbWFpbCxcclxuICAgICAgfSxcclxuICAgICAgc2NoZW1lSWQ6IHRoaXMuc2NoZW1lRGV0YWlscz8uc2NoZW1lSWQsXHJcbiAgICAgIHNjaGVtZU5hbWU6IHRoaXMuc2NoZW1lRGV0YWlscz8uc2NoZW1lTmFtZSxcclxuICAgICAgZWFybHlSZWRlbXB0aW9uQ2hhcmdlOiB0aGlzLnNjaGVtZURldGFpbHM/LmVucm9sbG1lbnRGZWVzLFxyXG4gICAgICBpbnN0YWxsbWVudEFtb3VudDogdGhpcy5zY2hlbWVEZXRhaWxzPy5pbnN0YWxsbWVudEFtb3VudCxcclxuICAgICAgc3RvcmVSZWZJZDogdGhpcy5zY2hlbWVEZXRhaWxzPy5zY2hlbWVSZXByZXNlbnRhdGl2ZUlkLFxyXG4gICAgICBzdG9yZUlkOiB0aGlzLnNjaGVtZURldGFpbHM/LnN0b3JlSWQsXHJcbiAgICAgIHN0b3JlTmFtZTogdGhpcy5zY2hlbWVEZXRhaWxzPy5zdG9yZU5hbWUsXHJcbiAgICAgIG1hdHVyaXR5Q291bnQ6IHRoaXMuc2NoZW1lRGV0YWlscz8ubWF0dXJpdHlDb3VudCxcclxuICAgICAgamV3ZWxsZXJCZW5lZml0OiB0aGlzLnNjaGVtZURldGFpbHM/Lmpld2VsbGVyQmVuZWZpdCxcclxuICAgICAgZHVlTW9udGhzOiB0aGlzLnNjaGVtZURldGFpbHM/Lm1hdHVyaXR5Q291bnQsXHJcbiAgICAgIGJ1c2luZXNzSWQ6IHRoaXMuc2NoZW1lRGV0YWlscz8uYnVzaW5lc3NJZCxcclxuICAgICAgYnVzaW5lc3NOYW1lOiB0aGlzLnNjaGVtZURldGFpbHM/LmJ1c2luZXNzTmFtZSxcclxuICAgICAgZW5hYmxlRWFybHlSZWRlbXB0aW9uOiB0aGlzLnNjaGVtZURldGFpbHM/LmVuYWJsZUVhcmx5UmVkZW1wdGlvbixcclxuICAgICAgcmVkZW1wdGlvblNsYWJMaXN0OiB0aGlzLnNjaGVtZURldGFpbHM/LnJlZGVtcHRpb25TbGFiTGlzdCxcclxuICAgICAgc2NoZW1lVHlwZTogdGhpcy5zY2hlbWVEZXRhaWxzPy5zY2hlbWVUeXBlLFxyXG4gICAgICBtZXRhbFR5cGU6IHRoaXMuc2NoZW1lRGV0YWlscz8ubWV0YWxUeXBlLFxyXG4gICAgICBrYXJhdFR5cGU6IHRoaXMuc2NoZW1lRGV0YWlscz8ua2FyYXRUeXBlLFxyXG4gICAgICBwYXNzQm9va0lkOiB0aGlzLnNjaGVtZURldGFpbHM/LmlkLFxyXG4gICAgICBwYXNzQm9va1RyYW5zYWN0aW9uSWQ6IHBhc3NCb29rPy50cmFuc2FjdGlvbklkLFxyXG4gICAgICBjdXN0b21lckFjY291bnQ6IFwiXCJcclxuICAgIH1cclxuICAgIHRoaXMucmVzdFNlcnZpY2UuZW5yb2xsU2NoZW1lKHBheWxvYWQsIHRydWUpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlLmRhdGEuY2FzaGZyZWVSZXNwb25zZSAhPSBudWxsKSB7XHJcbiAgICAgICAgICB0aGlzLmNvbnRpbnVlUGF5bWVudChwYXlsb2FkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnN0b3JlQ2hhcmdlcyA9IHJlc3BvbnNlLmRhdGEuY2FydDtcclxuICAgICAgICAgIGxldCBkaWFsb2cgPSB0aGlzLm1hdERpYWxvZy5vcGVuKHRoaXMuc2hvd0NoYXJnZXNUZW1wbGF0ZSwge1xyXG4gICAgICAgICAgICBwYW5lbENsYXNzOiAnc2hvdy1jaGFyZ2VzLWNsYXNzJ1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIGRpYWxvZy5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGludWVQYXltZW50KHBheWxvYWQpO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyKVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgY29udGludWVQYXltZW50KHBheWxvYWQ6IGFueSkge1xyXG4gICAgdGhpcy5yZXN0U2VydmljZS5lbnJvbGxTY2hlbWUocGF5bG9hZCwgZmFsc2UpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3Bhc3Nib29rT3JkZXJJZCcsIHJlc3BvbnNlLmRhdGEub3JkZXJJZCk7XHJcbiAgICAgICAgdGhpcy5vcGVuQ2FzaGZyZWVTZGsocmVzcG9uc2UuZGF0YS5zZXNzaW9uSWQpXHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyb3I6IGFueSkgPT4geyB9XHJcbiAgICB9KVxyXG4gIH1cclxuICBvcGVuQ2FzaGZyZWVTZGsoc2Vzc2lvbklkOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2V2ZW50U2VydmljZS5jYXNoRnJlZUV2ZW50LmVtaXQoeyBkYXRhOiB7IG9yZGVyU2lnbmF0dXJlOiBzZXNzaW9uSWQgfSB9KVxyXG4gIH1cclxuICBnb0JhY2soKSB7XHJcbiAgICB0aGlzLmdvdG9TY2hlbWVPdmVydmlldy5lbWl0KCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ3LTEwMCBoLTEwMFwiPlxyXG4gICAgPCEtLSBIZWFkZXIgLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyXCIgKm5nSWY9XCJzY3JlZW5XaWR0aD40NzVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyX2xlZnQgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmFjay1idG4gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiIChjbGljayk9XCJnb0JhY2soKVwiPjxtYXQtaWNvbj5rZXlib2FyZF9iYWNrc3BhY2U8L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGgxPlNjaGVtZSBEZXRhaWxzPC9oMT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDwhLS0gQW1vdW50IENhcmQgLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFtb3VudC1jYXJkLXNlY3Rpb25cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDBcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFtb3VudC1jYXJkXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYW1vdW50LWluZm9cIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29pbi1pY29uXCI+PGltZ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9kMno5NDk3eHA4eGIxMi5jbG91ZGZyb250Lm5ldC9wcm9kLWltYWdlcy8xMzM5ODRjMTc1MzQ0NDU4OTU3MEdyb3VwIDE3MDc0ODM2MDYuc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFtb3VudC1kZXRhaWxzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMj7igrl7e3NjaGVtZURldGFpbHM/Lmluc3RhbGxtZW50QW1vdW50ID8gc2NoZW1lRGV0YWlscz8uaW5zdGFsbG1lbnRBbW91bnQgOiAnTi9BJ319PC9oMj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+VG90YWwgQXZhaWxhYmxlIFNjaGVtZSBBbW91bnQ8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtc3RhcnQganVzdGlmeS1jb250ZW50LWFyb3VuZCBzY2hlbWUtc2VjdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbHNfdGFiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb24taGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMz5TY2hlbWUgRGV0YWlsczwvaDM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVkZWVtLXJlcXVlc3RlZFwiPnt7c2NoZW1lRGV0YWlscz8ucGFzc0Jvb2tTdGF0dXMgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NoZW1lRGV0YWlscz8ucGFzc0Jvb2tTdGF0dXMgOiAnTi9BJ319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2NoZW1lLWluZm9cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNjaGVtZS1uYW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCI+e3tzY2hlbWVEZXRhaWxzPy5zY2hlbWVOYW1lID8gc2NoZW1lRGV0YWlscz8uc2NoZW1lTmFtZSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ04vQSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY2hlbWUtaWRcIj7igrl7e3NjaGVtZURldGFpbHM/Lmluc3RhbGxtZW50QW1vdW50ID8gc2NoZW1lRGV0YWlscz8uaW5zdGFsbG1lbnRBbW91bnQgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ04vQSd9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9udGhseTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZXMtZ3JpZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZS1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZS1pY29uXCI+8J+ThTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGUtaW5mb1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGF0ZS1sYWJlbFwiPlNjaGVtZSBzdGFydGVkIG9uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGF0ZS12YWx1ZVwiPnt7c2NoZW1lRGV0YWlscy5jcmVhdGVkVGltZXN0YW1wID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNjaGVtZURldGFpbHMuY3JlYXRlZFRpbWVzdGFtcCB8IGRhdGU6J21lZGl1bURhdGUnKSA6ICdOL0EnIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJkYXRlLWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlLWljb25cIj7wn5OFPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZS1pbmZvXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkYXRlLWxhYmVsXCI+U2NoZW1lIGVuZHMgb248L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkYXRlLXZhbHVlXCI+NSBKYW4gMjAyNTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb21wbGV0aW9uLWluZm9cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY29tcGxldGlvbi1sYWJlbFwiPkNvbXBsZXRlZCBFTUlzPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb21wbGV0aW9uLXZhbHVlXCI+e3tzY2hlbWVEZXRhaWxzLmR1ZU1vbnRocyA/ICgxMC1zY2hlbWVEZXRhaWxzLmR1ZU1vbnRocykgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB9fSBvdXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiAxMDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbnJvbGxtZW50LWNhcmRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW5yb2xsbWVudC1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlbnJvbGxtZW50LWxhYmVsXCI+R3JvdXAgTmFtZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlbnJvbGxtZW50LXZhbHVlXCI+e3tzY2hlbWVEZXRhaWxzPy5zY2hlbWVOYW1lID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjaGVtZURldGFpbHM/LnNjaGVtZU5hbWUgOidOL0EnIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW5yb2xsbWVudC1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlbnJvbGxtZW50LWxhYmVsXCI+R3JvdXAgQ29kZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlbnJvbGxtZW50LXZhbHVlXCI+e3tzY2hlbWVEZXRhaWxzLmVucm9sbG1lbnRHcm91cD8ucHdjR3JvdXBJZCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2hlbWVEZXRhaWxzLmVucm9sbG1lbnRHcm91cC5wd2NHcm91cElkIDogJ04vQScgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbnJvbGxtZW50LXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVucm9sbG1lbnQtbGFiZWxcIj5NYXR1cml0eSBEYXRlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVucm9sbG1lbnQtdmFsdWVcIj57e3NjaGVtZURldGFpbHMubWF0dXJpdHlEYXRlID8gKHNjaGVtZURldGFpbHMubWF0dXJpdHlEYXRlIHwgZGF0ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnZGQtTU0teXl5eScpIDogJ04vQSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJlbnJvbGxtZW50LXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVucm9sbG1lbnQtbGFiZWxcIj5FbnJvbGxtZW50IElkPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVucm9sbG1lbnQtdmFsdWVcIj57e3NjaGVtZURldGFpbHMuZW5yb2xsbWVudElkID8gc2NoZW1lRGV0YWlscy5lbnJvbGxtZW50SWQgOiAnTi9BJ319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicXVpY2stYWN0aW9uc1wiPlxyXG4gICAgICAgICAgICA8aDM+UXVpY2sgQWN0aW9uczwvaDM+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25zIGQtZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtZXZlbmx5XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uLWl0ZW0gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtYi0yXCI+TWFrZSBEdWUgUGF5bWVudHNcclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbi1pdGVtIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5BZGQgTm9taW5lZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbi1pdGVtIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5Eb3dubG9hZCBTT0E8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZW5yb2xsLWJ0blwiPjxpbWdcclxuICAgICAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL2Qyejk0OTd4cDh4YjEyLmNsb3VkZnJvbnQubmV0L3Byb2QtaW1hZ2VzLzc4MjY3M2MxNzUzNDM0MzExOTAzU1ZHICgxKS5wbmdcIj4gRW5yb2xsXHJcbiAgICAgICAgICAgICAgICBOZXcgU2NoZW1lPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8IS0tIFNjaGVtZSBEZXRhaWxzIFNlY3Rpb24gLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwic2NoZW1lLWRldGFpbHNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvbiBkLWZsZXgtZmxleC1jb2x1bW4gZ2FwLTJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb24taGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJzZWN0aW9uLXRpdGxlXCI+UGF5bWVudCBEdWVzPC9oMj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LWxpc3QgZC1mbGV4IGZsZXgtY29sdW1uIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicGF5bWVudERhdGEubGVuZ3RoO2Vsc2Ugbm9QYXltZW50c1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHBheW1lbnQgb2YgcGF5bWVudERhdGE7bGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC1pbmZvXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtaWNvbiB1cGNvbWluZ1wiPjxpbWdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vZDJ6OTQ5N3hwOHhiMTIuY2xvdWRmcm9udC5uZXQvcHJvZC1pbWFnZXMvNjU1OTY5YzE3NTM0MzgyODQ1NjVCYWNrZ3JvdW5kLnN2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LWRldGFpbHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0Pnt7c2NoZW1lRGV0YWlscz8uc2NoZW1lTmFtZSA/IHNjaGVtZURldGFpbHM/LnNjaGVtZU5hbWUgOiAnTi9BJ319PC9oND5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+RHVlIERhdGUgOiB7e3BheW1lbnQ/LmR1ZURhdGUgPyAocGF5bWVudD8uZHVlRGF0ZSB8IGRhdGUgOiAnc2hvcnREYXRlJykgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ04vQSd9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSB8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEdWUgYnk6IHt7Z2V0RHVlRGF0ZShwYXltZW50Py5kdWVEYXRlKX19IGRheXM8L3A+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC1hbW91bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYW1vdW50LXZhbHVlXCIgKm5nSWY9XCJwYXltZW50Py5kdWVBbW91bnRcIj7igrl7e3BheW1lbnQ/LmR1ZUFtb3VudCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBheW1lbnQuZHVlQW1vdW50IDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ04vQSd9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LXN0YXR1cyB1cGNvbWluZy1zdGF0dXNcIiAqbmdJZj1cImkgPT09IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicGF5RHVlUGF5bWVudChwYXltZW50KVwiPlBheSBOb3c8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNzaG93Q2hhcmdlcz5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC1kaWFsb2dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy1oZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMj5QYXltZW50IERldGFpbHM8L2gyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNsb3NlLWJ0blwiIG1hdC1pY29uLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiPkluc3RhbGxtZW50IEFtb3VudDo8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhbW91bnRcIj7igrl7e3N0b3JlQ2hhcmdlcz8uYnJlYWtkb3duPy5pbnN0YWxsbWVudEFtb3VudCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdG9yZUNoYXJnZXM/LmJyZWFrZG93bj8uaW5zdGFsbG1lbnRBbW91bnQgfCBudW1iZXIpIDogMCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIj5Db252ZW5pZW5jZSBGZWU6PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYW1vdW50XCI+4oK5e3tzdG9yZUNoYXJnZXM/LmJyZWFrZG93bj8uY29udmVuaWVuY2VGZWU/LnZhbHVlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0b3JlQ2hhcmdlcz8uYnJlYWtkb3duPy5jb252ZW5pZW5jZUZlZT8udmFsdWUgfCBudW1iZXIpIDogMCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIj5QYXltZW50IFNlcnZpY2UgQ2hhcmdlczo8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhbW91bnRcIj7igrl7e3N0b3JlQ2hhcmdlcz8uYnJlYWtkb3duPy5wYXltZW50U2VydmljZUNoYXJnZXM/LnZhbHVlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0b3JlQ2hhcmdlcz8uYnJlYWtkb3duPy5wYXltZW50U2VydmljZUNoYXJnZXM/LnZhbHVlIHwgbnVtYmVyKSA6IDAgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC1yb3cgdG90YWwtcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbCB0b3RhbC1sYWJlbFwiPlRvdGFsIEFtb3VudDo8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhbW91bnQgdG90YWwtYW1vdW50XCI+4oK5e3tzdG9yZUNoYXJnZXM/LmJyZWFrZG93bj8udG90YWxBbW91bnQgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RvcmVDaGFyZ2VzPy5icmVha2Rvd24/LnRvdGFsQW1vdW50IHwgbnVtYmVyKSA6IDAgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGlhbG9nLWFjdGlvbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJjb250aW51ZS1idG5cIiAoY2xpY2spPVwiY2xvc2VEaWFsb2coKVwiPkNvbnRpbnVlPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9QYXltZW50cz5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIHctMTAwIGgtMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPk5vIFVwY29taW5nIFBheW1lbnRzPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRhYnNcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInRhYiBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgYWN0aXZlXCI+VHJhbnNhY3Rpb25zPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uc1wiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0cmFuc2FjdGlvbiBvZiBzY2hlbWVEZXRhaWxzLnNjaGVtZVBheW1lbnRzXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24taXRlbVwiICpuZ0lmPVwidHJhbnNhY3Rpb24ucGF5bWVudFN0YXR1cyA9PT0gJ1BBSUQnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLXN0YXR1cyBwYWlkXCI+PGltZ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9kMno5NDk3eHA4eGIxMi5jbG91ZGZyb250Lm5ldC9wcm9kLWltYWdlcy80ODQxMDJjMTc1MzQ0NjU3MzQ3M0dyb3VwIDE3MDc0ODQ5MDYucG5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWRldGFpbHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGg0Pnt7dHJhbnNhY3Rpb24uZW1pTW9udGhDb3VudCA/IHRyYW5zYWN0aW9uLmVtaU1vbnRoQ291bnQgOiAnTi9BJyB9fXN0IEluc3RhbG1lbnQgUGFpZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2g0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5QYXltZW50IERhdGUgOiB7e3RyYW5zYWN0aW9uLnBhaWREYXRlID8gKHRyYW5zYWN0aW9uLnBhaWREYXRlIHwgZGF0ZSA6ICdzaG9ydERhdGUnKSA6ICdOL0EnfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1hbW91bnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3t0cmFuc2FjdGlvbi5wYWlkQW1vdW50ID8gKCfigrknK3RyYW5zYWN0aW9uLnBhaWRBbW91bnQpIDogJ04vQScgfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1lLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvc2NoZW1lLWRldGFpbHMvc2NoZW1lLWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvc2NoZW1lLWRldGFpbHMvc2NoZW1lLWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7QUFZL0MsTUFBTSxPQUFPLHNCQUFzQjtJQUlqQyxZQUNVLGNBQXFDLEVBQ3JDLFdBQXdCLEVBQ3hCLFNBQW9CLEVBQ1gsYUFBNEI7UUFIckMsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBQ3JDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDWCxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQU5yQyx1QkFBa0IsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQWtCNUUsZ0JBQVcsR0FBVSxFQUFFLENBQUM7SUFYcEIsQ0FBQztJQUNMLFFBQVE7UUFDTixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FB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Q0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlU2VydmljZSB9IGZyb20gJy4uLy4vLi4vLi4vc2VydmljZXMvc3RvcmFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLy4uLy4uL3NlcnZpY2VzL3Jlc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IEV2ZW50c1NlcnZpY2UgfSBmcm9tICcuLi8uLy4uLy4uL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzaW1wby1zY2hlbWUtZGV0YWlscycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbTWF0SWNvbiwgQ29tbW9uTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2NoZW1lLWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9zY2hlbWUtZGV0YWlscy5jb21wb25lbnQuY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2NoZW1lRGV0YWlsc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KFwic2NoZW1lRGV0YWlsc1wiKSBzY2hlbWVEZXRhaWxzOiBhbnk7XHJcbiAgQE91dHB1dCgpIGdvdG9TY2hlbWVPdmVydmlldzogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gIEBWaWV3Q2hpbGQoJ3Nob3dDaGFyZ2VzJywgeyBzdGF0aWM6IHRydWUgfSkgc2hvd0NoYXJnZXNUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPEhUTUxEaXZFbGVtZW50PjtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVzdFNlcnZpY2U6IFJlc3RTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtYXREaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2V2ZW50U2VydmljZTogRXZlbnRzU2VydmljZSxcclxuICApIHsgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgY29uc29sZS5sb2codGhpcy5zY2hlbWVEZXRhaWxzKTtcclxuICAgIHRoaXMuZ2V0UGF5bWVudFNjaGVtZSgpO1xyXG4gICAgdGhpcy5nZXRTY3JlZW5TaXplKCk7XHJcbiAgfVxyXG4gIHNjcmVlbldpZHRoOiBhbnk7XHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXHJcbiAgZ2V0U2NyZWVuU2l6ZShldmVudD86IGFueSkge1xyXG4gICAgdGhpcy5zY3JlZW5XaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gIH1cclxuICBwYXltZW50RGF0YTogYW55W10gPSBbXTtcclxuICBnZXRQYXltZW50U2NoZW1lKCkge1xyXG4gICAgdGhpcy5zY2hlbWVEZXRhaWxzLnNjaGVtZVBheW1lbnRzLmZvckVhY2goKHBheW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocGF5bWVudC5wYXltZW50U3RhdHVzICE9ICdQQUlEJykge1xyXG4gICAgICAgIHRoaXMucGF5bWVudERhdGEucHVzaChwYXltZW50KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGdldER1ZURhdGUocGF5bWVudERhdGU6IHN0cmluZyB8IERhdGUpOiBudW1iZXIgfCBudWxsIHtcclxuICAgIGlmICghcGF5bWVudERhdGUpIHJldHVybiBudWxsO1xyXG4gICAgY29uc29sZS5sb2coXCJQYXltZW50IERhdGVcIiwgcGF5bWVudERhdGUpO1xyXG4gICAgY29uc3QgZHVlRGF0ZSA9IG5ldyBEYXRlKHBheW1lbnREYXRlKTsgLy8gQWRkIDIgZGF5cyB0byBnZXQgZHVlIGRhdGVcclxuXHJcbiAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCk7XHJcblxyXG4gICAgLy8gU3RyaXAgdGltZSBmb3IgYWNjdXJhdGUgZGF5IGNvbXBhcmlzb25cclxuICAgIGR1ZURhdGUuc2V0SG91cnMoMCwgMCwgMCwgMCk7XHJcbiAgICB0b2RheS5zZXRIb3VycygwLCAwLCAwLCAwKTtcclxuXHJcbiAgICAvLyBDYWxjdWxhdGUgZGlmZmVyZW5jZSBpbiBtaWxsaXNlY29uZHMsIHRoZW4gY29udmVydCB0byBkYXlzXHJcbiAgICBjb25zdCBkaWZmVGltZSA9IGR1ZURhdGUuZ2V0VGltZSgpIC0gdG9kYXkuZ2V0VGltZSgpO1xyXG4gICAgY29uc3QgZGlmZkRheXMgPSBNYXRoLnJvdW5kKGRpZmZUaW1lIC8gKDEwMDAgKiA2MCAqIDYwICogMjQpKTtcclxuXHJcbiAgICByZXR1cm4gZGlmZkRheXM7XHJcbiAgfVxyXG4gIHN0b3JlQ2hhcmdlczogYW55O1xyXG4gIGNsb3NlRGlhbG9nKCkge1xyXG4gICAgdGhpcy5tYXREaWFsb2cuY2xvc2VBbGwoKTtcclxuICB9XHJcbiAgcGF5RHVlUGF5bWVudChwYXNzQm9vazogYW55KSB7XHJcbiAgICBjb25zdCB1c2VyRGV0YWlscyA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VXNlcigpO1xyXG4gICAgY29uc29sZS5sb2cocGFzc0Jvb2spXHJcbiAgICBsZXQgcGF5bG9hZCA9XHJcbiAgICB7XHJcbiAgICAgIHVzZXJCYXNpY0RldGFpbHM6IHtcclxuICAgICAgICBjdXN0b21lcl9pZDogdXNlckRldGFpbHM/LnVzZXJJZCxcclxuICAgICAgICBjdXN0b21lcl9uYW1lOiB1c2VyRGV0YWlscz8uY29udGFjdD8ubmFtZSxcclxuICAgICAgICBjdXN0b21lcl9waG9uZTogdXNlckRldGFpbHM/LmNvbnRhY3Q/Lm1vYmlsZSxcclxuICAgICAgICBjdXN0b21lcl9lbWFpbDogdXNlckRldGFpbHM/LmNvbnRhY3Q/LmVtYWlsLFxyXG4gICAgICB9LFxyXG4gICAgICBzY2hlbWVJZDogdGhpcy5zY2hlbWVEZXRhaWxzPy5zY2hlbWVJZCxcclxuICAgICAgc2NoZW1lTmFtZTogdGhpcy5zY2hlbWVEZXRhaWxzPy5zY2hlbWVOYW1lLFxyXG4gICAgICBlYXJseVJlZGVtcHRpb25DaGFyZ2U6IHRoaXMuc2NoZW1lRGV0YWlscz8uZW5yb2xsbWVudEZlZXMsXHJcbiAgICAgIGluc3RhbGxtZW50QW1vdW50OiB0aGlzLnNjaGVtZURldGFpbHM/Lmluc3RhbGxtZW50QW1vdW50LFxyXG4gICAgICBzdG9yZVJlZklkOiB0aGlzLnNjaGVtZURldGFpbHM/LnNjaGVtZVJlcHJlc2VudGF0aXZlSWQsXHJcbiAgICAgIHN0b3JlSWQ6IHRoaXMuc2NoZW1lRGV0YWlscz8uc3RvcmVJZCxcclxuICAgICAgc3RvcmVOYW1lOiB0aGlzLnNjaGVtZURldGFpbHM/LnN0b3JlTmFtZSxcclxuICAgICAgbWF0dXJpdHlDb3VudDogdGhpcy5zY2hlbWVEZXRhaWxzPy5tYXR1cml0eUNvdW50LFxyXG4gICAgICBqZXdlbGxlckJlbmVmaXQ6IHRoaXMuc2NoZW1lRGV0YWlscz8uamV3ZWxsZXJCZW5lZml0LFxyXG4gICAgICBkdWVNb250aHM6IHRoaXMuc2NoZW1lRGV0YWlscz8ubWF0dXJpdHlDb3VudCxcclxuICAgICAgYnVzaW5lc3NJZDogdGhpcy5zY2hlbWVEZXRhaWxzPy5idXNpbmVzc0lkLFxyXG4gICAgICBidXNpbmVzc05hbWU6IHRoaXMuc2NoZW1lRGV0YWlscz8uYnVzaW5lc3NOYW1lLFxyXG4gICAgICBlbmFibGVFYXJseVJlZGVtcHRpb246IHRoaXMuc2NoZW1lRGV0YWlscz8uZW5hYmxlRWFybHlSZWRlbXB0aW9uLFxyXG4gICAgICByZWRlbXB0aW9uU2xhYkxpc3Q6IHRoaXMuc2NoZW1lRGV0YWlscz8ucmVkZW1wdGlvblNsYWJMaXN0LFxyXG4gICAgICBzY2hlbWVUeXBlOiB0aGlzLnNjaGVtZURldGFpbHM/LnNjaGVtZVR5cGUsXHJcbiAgICAgIG1ldGFsVHlwZTogdGhpcy5zY2hlbWVEZXRhaWxzPy5tZXRhbFR5cGUsXHJcbiAgICAgIGthcmF0VHlwZTogdGhpcy5zY2hlbWVEZXRhaWxzPy5rYXJhdFR5cGUsXHJcbiAgICAgIHBhc3NCb29rSWQ6IHRoaXMuc2NoZW1lRGV0YWlscz8uaWQsXHJcbiAgICAgIHBhc3NCb29rVHJhbnNhY3Rpb25JZDogcGFzc0Jvb2s/LnRyYW5zYWN0aW9uSWQsXHJcbiAgICAgIGN1c3RvbWVyQWNjb3VudDogXCJcIlxyXG4gICAgfVxyXG4gICAgdGhpcy5yZXN0U2VydmljZS5lbnJvbGxTY2hlbWUocGF5bG9hZCwgdHJ1ZSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzcG9uc2UuZGF0YS5jYXNoZnJlZVJlc3BvbnNlICE9IG51bGwpIHtcclxuICAgICAgICAgIHRoaXMuY29udGludWVQYXltZW50KHBheWxvYWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc3RvcmVDaGFyZ2VzID0gcmVzcG9uc2UuZGF0YS5jYXJ0O1xyXG4gICAgICAgICAgbGV0IGRpYWxvZyA9IHRoaXMubWF0RGlhbG9nLm9wZW4odGhpcy5zaG93Q2hhcmdlc1RlbXBsYXRlLCB7XHJcbiAgICAgICAgICAgIHBhbmVsQ2xhc3M6ICdzaG93LWNoYXJnZXMtY2xhc3MnXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICAgZGlhbG9nLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jb250aW51ZVBheW1lbnQocGF5bG9hZCk7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBjb250aW51ZVBheW1lbnQocGF5bG9hZDogYW55KSB7XHJcbiAgICB0aGlzLnJlc3RTZXJ2aWNlLmVucm9sbFNjaGVtZShwYXlsb2FkLCBmYWxzZSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgncGFzc2Jvb2tPcmRlcklkJywgcmVzcG9uc2UuZGF0YS5vcmRlcklkKTtcclxuICAgICAgICB0aGlzLm9wZW5DYXNoZnJlZVNkayhyZXNwb25zZS5kYXRhLnNlc3Npb25JZClcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnJvcjogYW55KSA9PiB7IH1cclxuICAgIH0pXHJcbiAgfVxyXG4gIG9wZW5DYXNoZnJlZVNkayhzZXNzaW9uSWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5fZXZlbnRTZXJ2aWNlLmNhc2hGcmVlRXZlbnQuZW1pdCh7IGRhdGE6IHsgb3JkZXJTaWduYXR1cmU6IHNlc3Npb25JZCB9IH0pXHJcbiAgfVxyXG4gIGdvQmFjaygpIHtcclxuICAgIHRoaXMuZ290b1NjaGVtZU92ZXJ2aWV3LmVtaXQoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInctMTAwIGgtMTAwXCI+XHJcbiAgICA8IS0tIEhlYWRlciAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJcIiAqbmdJZj1cInNjcmVlbldpZHRoPjQ3NVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJfbGVmdCBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiYWNrLWJ0biBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCIgKGNsaWNrKT1cImdvQmFjaygpXCI+PG1hdC1pY29uPmtleWJvYXJkX2JhY2tzcGFjZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8aDE+U2NoZW1lIERldGFpbHM8L2gxPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPCEtLSBBbW91bnQgQ2FyZCAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYW1vdW50LWNhcmQtc2VjdGlvblwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYW1vdW50LWNhcmRcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbW91bnQtaW5mb1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2luLWljb25cIj48aW1nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL2Qyejk0OTd4cDh4YjEyLmNsb3VkZnJvbnQubmV0L3Byb2QtaW1hZ2VzLzEzMzk4NGMxNzUzNDQ0NTg5NTcwR3JvdXAgMTcwNzQ4MzYwNi5zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYW1vdW50LWRldGFpbHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGgyPuKCuXt7c2NoZW1lRGV0YWlscz8uaW5zdGFsbG1lbnRBbW91bnQgPyBzY2hlbWVEZXRhaWxzPy5pbnN0YWxsbWVudEFtb3VudCA6ICdOL0EnfX08L2gyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5Ub3RhbCBBdmFpbGFibGUgU2NoZW1lIEFtb3VudDwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1zdGFydCBqdXN0aWZ5LWNvbnRlbnQtYXJvdW5kIHNjaGVtZS1zZWN0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsc190YWJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvbi1oZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGgzPlNjaGVtZSBEZXRhaWxzPC9oMz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZWRlZW0tcmVxdWVzdGVkXCI+e3tzY2hlbWVEZXRhaWxzPy5wYXNzQm9va1N0YXR1cyA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2hlbWVEZXRhaWxzPy5wYXNzQm9va1N0YXR1cyA6ICdOL0EnfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY2hlbWUtaW5mb1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2NoZW1lLW5hbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIj57e3NjaGVtZURldGFpbHM/LnNjaGVtZU5hbWUgPyBzY2hlbWVEZXRhaWxzPy5zY2hlbWVOYW1lIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTi9BJ319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNjaGVtZS1pZFwiPuKCuXt7c2NoZW1lRGV0YWlscz8uaW5zdGFsbG1lbnRBbW91bnQgPyBzY2hlbWVEZXRhaWxzPy5pbnN0YWxsbWVudEFtb3VudCA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTi9BJ319XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNb250aGx5PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlcy1ncmlkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlLWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlLWljb25cIj7wn5OFPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZS1pbmZvXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkYXRlLWxhYmVsXCI+U2NoZW1lIHN0YXJ0ZWQgb248L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkYXRlLXZhbHVlXCI+e3tzY2hlbWVEZXRhaWxzLmNyZWF0ZWRUaW1lc3RhbXAgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2NoZW1lRGV0YWlscy5jcmVhdGVkVGltZXN0YW1wIHwgZGF0ZTonbWVkaXVtRGF0ZScpIDogJ04vQScgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImRhdGUtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGUtaWNvblwiPvCfk4U8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlLWluZm9cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRhdGUtbGFiZWxcIj5TY2hlbWUgZW5kcyBvbjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRhdGUtdmFsdWVcIj41IEphbiAyMDI1PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbXBsZXRpb24taW5mb1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb21wbGV0aW9uLWxhYmVsXCI+Q29tcGxldGVkIEVNSXM8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvbXBsZXRpb24tdmFsdWVcIj57e3NjaGVtZURldGFpbHMuZHVlTW9udGhzID8gKDEwLXNjaGVtZURldGFpbHMuZHVlTW9udGhzKSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMH19IG91dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIDEwPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVucm9sbG1lbnQtY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbnJvbGxtZW50LXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVucm9sbG1lbnQtbGFiZWxcIj5Hcm91cCBOYW1lPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVucm9sbG1lbnQtdmFsdWVcIj57e3NjaGVtZURldGFpbHM/LnNjaGVtZU5hbWUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NoZW1lRGV0YWlscz8uc2NoZW1lTmFtZSA6J04vQScgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbnJvbGxtZW50LXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVucm9sbG1lbnQtbGFiZWxcIj5Hcm91cCBDb2RlPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVucm9sbG1lbnQtdmFsdWVcIj57e3NjaGVtZURldGFpbHMuZW5yb2xsbWVudEdyb3VwPy5wd2NHcm91cElkID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjaGVtZURldGFpbHMuZW5yb2xsbWVudEdyb3VwLnB3Y0dyb3VwSWQgOiAnTi9BJyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVucm9sbG1lbnQtcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZW5yb2xsbWVudC1sYWJlbFwiPk1hdHVyaXR5IERhdGU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZW5yb2xsbWVudC12YWx1ZVwiPnt7c2NoZW1lRGV0YWlscy5tYXR1cml0eURhdGUgPyAoc2NoZW1lRGV0YWlscy5tYXR1cml0eURhdGUgfCBkYXRlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICdkZC1NTS15eXl5JykgOiAnTi9BJ319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImVucm9sbG1lbnQtcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZW5yb2xsbWVudC1sYWJlbFwiPkVucm9sbG1lbnQgSWQ8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZW5yb2xsbWVudC12YWx1ZVwiPnt7c2NoZW1lRGV0YWlscy5lbnJvbGxtZW50SWQgPyBzY2hlbWVEZXRhaWxzLmVucm9sbG1lbnRJZCA6ICdOL0EnfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJxdWljay1hY3Rpb25zXCI+XHJcbiAgICAgICAgICAgIDxoMz5RdWljayBBY3Rpb25zPC9oMz5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbnMgZC1mbGV4IGZsZXgtY29sdW1uIGp1c3RpZnktY29udGVudC1ldmVubHlcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb24taXRlbSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1iLTJcIj5NYWtlIER1ZSBQYXltZW50c1xyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uLWl0ZW0gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPkFkZCBOb21pbmVlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uLWl0ZW0gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPkRvd25sb2FkIFNPQTwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJlbnJvbGwtYnRuXCI+PGltZ1xyXG4gICAgICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vZDJ6OTQ5N3hwOHhiMTIuY2xvdWRmcm9udC5uZXQvcHJvZC1pbWFnZXMvNzgyNjczYzE3NTM0MzQzMTE5MDNTVkcgKDEpLnBuZ1wiPiBFbnJvbGxcclxuICAgICAgICAgICAgICAgIE5ldyBTY2hlbWU8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDwhLS0gU2NoZW1lIERldGFpbHMgU2VjdGlvbiAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJzY2hlbWUtZGV0YWlsc1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZWN0aW9uIGQtZmxleC1mbGV4LWNvbHVtbiBnYXAtMlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvbi1oZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxoMiBjbGFzcz1cInNlY3Rpb24tdGl0bGVcIj5QYXltZW50IER1ZXM8L2gyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtbGlzdCBkLWZsZXggZmxleC1jb2x1bW4gZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwYXltZW50RGF0YS5sZW5ndGg7ZWxzZSBub1BheW1lbnRzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcGF5bWVudCBvZiBwYXltZW50RGF0YTtsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LWluZm9cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC1pY29uIHVwY29taW5nXCI+PGltZ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9kMno5NDk3eHA4eGIxMi5jbG91ZGZyb250Lm5ldC9wcm9kLWltYWdlcy82NTU5NjljMTc1MzQzODI4NDU2NUJhY2tncm91bmQuc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtZGV0YWlsc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQ+e3tzY2hlbWVEZXRhaWxzPy5zY2hlbWVOYW1lID8gc2NoZW1lRGV0YWlscz8uc2NoZW1lTmFtZSA6ICdOL0EnfX08L2g0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5EdWUgRGF0ZSA6IHt7cGF5bWVudD8uZHVlRGF0ZSA/IChwYXltZW50Py5kdWVEYXRlIHwgZGF0ZSA6ICdzaG9ydERhdGUnKSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTi9BJ319XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIHxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIER1ZSBieToge3tnZXREdWVEYXRlKHBheW1lbnQ/LmR1ZURhdGUpfX0gZGF5czwvcD4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LWFtb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbW91bnQtdmFsdWVcIiAqbmdJZj1cInBheW1lbnQ/LmR1ZUFtb3VudFwiPuKCuXt7cGF5bWVudD8uZHVlQW1vdW50ID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF5bWVudC5kdWVBbW91bnQgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTi9BJ319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtc3RhdHVzIHVwY29taW5nLXN0YXR1c1wiICpuZ0lmPVwiaSA9PT0gMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwYXlEdWVQYXltZW50KHBheW1lbnQpXCI+UGF5IE5vdzwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3Nob3dDaGFyZ2VzPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LWRpYWxvZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGlhbG9nLWhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyPlBheW1lbnQgRGV0YWlsczwvaDI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiY2xvc2UtYnRuXCIgbWF0LWljb24tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC1jb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCI+SW5zdGFsbG1lbnQgQW1vdW50Ojwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFtb3VudFwiPuKCuXt7c3RvcmVDaGFyZ2VzPy5icmVha2Rvd24/Lmluc3RhbGxtZW50QW1vdW50ID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0b3JlQ2hhcmdlcz8uYnJlYWtkb3duPy5pbnN0YWxsbWVudEFtb3VudCB8IG51bWJlcikgOiAwIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiPkNvbnZlbmllbmNlIEZlZTo8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhbW91bnRcIj7igrl7e3N0b3JlQ2hhcmdlcz8uYnJlYWtkb3duPy5jb252ZW5pZW5jZUZlZT8udmFsdWUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RvcmVDaGFyZ2VzPy5icmVha2Rvd24/LmNvbnZlbmllbmNlRmVlPy52YWx1ZSB8IG51bWJlcikgOiAwIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBheW1lbnQtcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiPlBheW1lbnQgU2VydmljZSBDaGFyZ2VzOjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFtb3VudFwiPuKCuXt7c3RvcmVDaGFyZ2VzPy5icmVha2Rvd24/LnBheW1lbnRTZXJ2aWNlQ2hhcmdlcz8udmFsdWUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RvcmVDaGFyZ2VzPy5icmVha2Rvd24/LnBheW1lbnRTZXJ2aWNlQ2hhcmdlcz8udmFsdWUgfCBudW1iZXIpIDogMCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LXJvdyB0b3RhbC1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsIHRvdGFsLWxhYmVsXCI+VG90YWwgQW1vdW50Ojwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFtb3VudCB0b3RhbC1hbW91bnRcIj7igrl7e3N0b3JlQ2hhcmdlcz8uYnJlYWtkb3duPy50b3RhbEFtb3VudCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdG9yZUNoYXJnZXM/LmJyZWFrZG93bj8udG90YWxBbW91bnQgfCBudW1iZXIpIDogMCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkaWFsb2ctYWN0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNvbnRpbnVlLWJ0blwiIChjbGljayk9XCJjbG9zZURpYWxvZygpXCI+Q29udGludWU8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub1BheW1lbnRzPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgdy0xMDAgaC0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+Tm8gVXBjb21pbmcgUGF5bWVudHM8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFic1wiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwidGFiIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBhY3RpdmVcIj5UcmFuc2FjdGlvbnM8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb25zXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRyYW5zYWN0aW9uIG9mIHNjaGVtZURldGFpbHMuc2NoZW1lUGF5bWVudHNcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1pdGVtXCIgKm5nSWY9XCJ0cmFuc2FjdGlvbi5wYXltZW50U3RhdHVzID09PSAnUEFJRCdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tc3RhdHVzIHBhaWRcIj48aW1nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL2Qyejk0OTd4cDh4YjEyLmNsb3VkZnJvbnQubmV0L3Byb2QtaW1hZ2VzLzQ4NDEwMmMxNzUzNDQ2NTczNDczR3JvdXAgMTcwNzQ4NDkwNi5wbmdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tZGV0YWlsc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aDQ+e3t0cmFuc2FjdGlvbi5lbWlNb250aENvdW50ID8gdHJhbnNhY3Rpb24uZW1pTW9udGhDb3VudCA6ICdOL0EnIH19c3QgSW5zdGFsbWVudCBQYWlkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaDQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlBheW1lbnQgRGF0ZSA6IHt7dHJhbnNhY3Rpb24ucGFpZERhdGUgPyAodHJhbnNhY3Rpb24ucGFpZERhdGUgfCBkYXRlIDogJ3Nob3J0RGF0ZScpIDogJ04vQSd9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWFtb3VudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7e3RyYW5zYWN0aW9uLnBhaWRBbW91bnQgPyAoJ+KCuScrdHJhbnNhY3Rpb24ucGFpZEFtb3VudCkgOiAnTi9BJyB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
@@ -68,8 +68,6 @@ import { PanelModule } from 'primeng/panel';
68
68
  import { MatChipsModule } from '@angular/material/chips';
69
69
  import * as i8$3 from 'primeng/timeline';
70
70
  import { TimelineModule } from 'primeng/timeline';
71
- import * as i1$3 from '@simpo-ui/services/storage.service';
72
- import * as i2$4 from '@simpo-ui/services/rest.service';
73
71
  import { moveItemInArray } from '@angular/cdk/drag-drop';
74
72
 
75
73
  class ButtonElementComponent {
@@ -17900,13 +17898,13 @@ class SchemeDetailsComponent {
17900
17898
  goBack() {
17901
17899
  this.gotoSchemeOverview.emit();
17902
17900
  }
17903
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SchemeDetailsComponent, deps: [{ token: i1$3.StorageServiceService }, { token: i2$4.RestService }, { token: i1$1.MatDialog }, { token: EventsService }], target: i0.ɵɵFactoryTarget.Component }); }
17901
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SchemeDetailsComponent, deps: [{ token: StorageServiceService }, { token: RestService }, { token: i1$1.MatDialog }, { token: EventsService }], target: i0.ɵɵFactoryTarget.Component }); }
17904
17902
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SchemeDetailsComponent, isStandalone: true, selector: "simpo-scheme-details", inputs: { schemeDetails: "schemeDetails" }, outputs: { gotoSchemeOverview: "gotoSchemeOverview" }, host: { listeners: { "window:resize": "getScreenSize($event)" } }, viewQueries: [{ propertyName: "showChargesTemplate", first: true, predicate: ["showCharges"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"w-100 h-100\">\r\n <!-- Header -->\r\n <div class=\"header\" *ngIf=\"screenWidth>475\">\r\n <div class=\"header_left d-flex justify-content-between align-items-center\">\r\n <div class=\"back-btn d-flex align-items-center\" (click)=\"goBack()\"><mat-icon>keyboard_backspace</mat-icon>\r\n </div>\r\n <h1>Scheme Details</h1>\r\n </div>\r\n </div>\r\n\r\n <!-- Amount Card -->\r\n <div class=\"d-flex justify-content-between amount-card-section\">\r\n <div class=\"w-100\">\r\n <div class=\"amount-card\">\r\n <div class=\"amount-info\">\r\n <div class=\"coin-icon\"><img\r\n src=\"https://d2z9497xp8xb12.cloudfront.net/prod-images/133984c1753444589570Group 1707483606.svg\">\r\n </div>\r\n <div class=\"amount-details\">\r\n <h2>\u20B9{{schemeDetails?.installmentAmount ? schemeDetails?.installmentAmount : 'N/A'}}</h2>\r\n <p>Total Available Scheme Amount</p>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-start justify-content-around scheme-section\">\r\n <div class=\"details_tab\">\r\n <div class=\"section-header\">\r\n <h3>Scheme Details</h3>\r\n <span class=\"redeem-requested\">{{schemeDetails?.passBookStatus ?\r\n schemeDetails?.passBookStatus : 'N/A'}}</span>\r\n </div>\r\n\r\n <div class=\"scheme-info\">\r\n <div class=\"scheme-name\">\r\n <span class=\"label\">{{schemeDetails?.schemeName ? schemeDetails?.schemeName :\r\n 'N/A'}}</span>\r\n </div>\r\n <div class=\"scheme-id\">\u20B9{{schemeDetails?.installmentAmount ? schemeDetails?.installmentAmount :\r\n 'N/A'}}\r\n Monthly</div>\r\n </div>\r\n\r\n <div class=\"dates-grid\">\r\n <div class=\"date-item\">\r\n <div class=\"date-icon\">\uD83D\uDCC5</div>\r\n <div class=\"date-info\">\r\n <span class=\"date-label\">Scheme started on</span>\r\n <span class=\"date-value\">{{schemeDetails.createdTimestamp ?\r\n (schemeDetails.createdTimestamp | date:'mediumDate') : 'N/A' }}</span>\r\n </div>\r\n </div>\r\n <!-- <div class=\"date-item\">\r\n <div class=\"date-icon\">\uD83D\uDCC5</div>\r\n <div class=\"date-info\">\r\n <span class=\"date-label\">Scheme ends on</span>\r\n <span class=\"date-value\">5 Jan 2025</span>\r\n </div>\r\n </div> -->\r\n <div class=\"completion-info\">\r\n <span class=\"completion-label\">Completed EMIs</span>\r\n <span class=\"completion-value\">{{schemeDetails.dueMonths ? (10-schemeDetails.dueMonths) :\r\n 0}} out\r\n of 10</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"enrollment-card\">\r\n <div class=\"enrollment-row\">\r\n <span class=\"enrollment-label\">Group Name</span>\r\n <span class=\"enrollment-value\">{{schemeDetails?.schemeName ?\r\n schemeDetails?.schemeName :'N/A' }}</span>\r\n </div>\r\n\r\n <div class=\"enrollment-row\">\r\n <span class=\"enrollment-label\">Group Code</span>\r\n <span class=\"enrollment-value\">{{schemeDetails.enrollmentGroup?.pwcGroupId ?\r\n schemeDetails.enrollmentGroup.pwcGroupId : 'N/A' }}</span>\r\n </div>\r\n\r\n <div class=\"enrollment-row\">\r\n <span class=\"enrollment-label\">Maturity Date</span>\r\n <span class=\"enrollment-value\">{{schemeDetails.maturityDate ? (schemeDetails.maturityDate | date\r\n : 'dd-MM-yyyy') : 'N/A'}}</span>\r\n </div>\r\n <!-- <div class=\"enrollment-row\">\r\n <span class=\"enrollment-label\">Enrollment Id</span>\r\n <span class=\"enrollment-value\">{{schemeDetails.enrollmentId ? schemeDetails.enrollmentId : 'N/A'}}</span>\r\n </div> -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"quick-actions\">\r\n <h3>Quick Actions</h3>\r\n <div class=\"actions d-flex flex-column justify-content-evenly\">\r\n <div class=\"action-item d-flex align-items-center mb-2\">Make Due Payments\r\n </div>\r\n <div class=\"action-item d-flex align-items-center\">Add Nominee</div>\r\n <div class=\"action-item d-flex align-items-center\">Download SOA</div>\r\n </div>\r\n\r\n <button class=\"enroll-btn\"><img\r\n src=\"https://d2z9497xp8xb12.cloudfront.net/prod-images/782673c1753434311903SVG (1).png\"> Enroll\r\n New Scheme</button>\r\n </div>\r\n </div>\r\n\r\n <!-- Scheme Details Section -->\r\n <div class=\"scheme-details\">\r\n <div class=\"section d-flex-flex-column gap-2\">\r\n <div class=\"section-header\">\r\n <h2 class=\"section-title\">Payment Dues</h2>\r\n </div>\r\n <div class=\"payment-list d-flex flex-column gap-2\">\r\n <ng-container *ngIf=\"paymentData.length;else noPayments\">\r\n <ng-container *ngFor=\"let payment of paymentData;let i = index\">\r\n <div class=\"payment-item\">\r\n <div class=\"payment-info\">\r\n <div class=\"payment-icon upcoming\"><img\r\n src=\"https://d2z9497xp8xb12.cloudfront.net/prod-images/655969c1753438284565Background.svg\">\r\n </div>\r\n <div class=\"payment-details\">\r\n <h4>{{schemeDetails?.schemeName ? schemeDetails?.schemeName : 'N/A'}}</h4>\r\n <p>Due Date : {{payment?.dueDate ? (payment?.dueDate | date : 'shortDate') :\r\n 'N/A'}}\r\n <!-- |\r\n Due by: {{getDueDate(payment?.dueDate)}} days</p> -->\r\n </div>\r\n </div>\r\n <div class=\"payment-amount\">\r\n <div class=\"amount-value\" *ngIf=\"payment?.dueAmount\">\u20B9{{payment?.dueAmount ?\r\n payment.dueAmount :\r\n 'N/A'}}</div>\r\n <div class=\"payment-status upcoming-status\" *ngIf=\"i === 0\"\r\n (click)=\"payDuePayment(payment)\">Pay Now</div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #showCharges>\r\n <div class=\"payment-dialog\">\r\n <div class=\"dialog-header\">\r\n <h2>Payment Details</h2>\r\n <button class=\"close-btn\" mat-icon-button>\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n\r\n <div class=\"payment-content\">\r\n <div class=\"payment-row\">\r\n <span class=\"label\">Installment Amount:</span>\r\n <span class=\"amount\">\u20B9{{storeCharges?.breakdown?.installmentAmount ?\r\n (storeCharges?.breakdown?.installmentAmount | number) : 0 }}</span>\r\n </div>\r\n\r\n <div class=\"payment-row\">\r\n <span class=\"label\">Convenience Fee:</span>\r\n <span class=\"amount\">\u20B9{{storeCharges?.breakdown?.convenienceFee?.value ?\r\n (storeCharges?.breakdown?.convenienceFee?.value | number) : 0 }}</span>\r\n </div>\r\n\r\n <div class=\"payment-row\">\r\n <span class=\"label\">Payment Service Charges:</span>\r\n <span class=\"amount\">\u20B9{{storeCharges?.breakdown?.paymentServiceCharges?.value ?\r\n (storeCharges?.breakdown?.paymentServiceCharges?.value | number) : 0 }}</span>\r\n </div>\r\n\r\n <div class=\"payment-row total-row\">\r\n <span class=\"label total-label\">Total Amount:</span>\r\n <span class=\"amount total-amount\">\u20B9{{storeCharges?.breakdown?.totalAmount ?\r\n (storeCharges?.breakdown?.totalAmount | number) : 0 }}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"dialog-actions\">\r\n <button class=\"continue-btn\" (click)=\"closeDialog()\">Continue</button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template #noPayments>\r\n <div class=\"d-flex justify-content-center align-items-center w-100 h-100\">\r\n <span>No Upcoming Payments</span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </div>\r\n <div class=\"tabs\">\r\n <button class=\"tab d-flex justify-content-center align-items-center active\">Transactions</button>\r\n </div>\r\n <div class=\"transactions\">\r\n <ng-container *ngFor=\"let transaction of schemeDetails.schemePayments\">\r\n <div class=\"transaction-item\" *ngIf=\"transaction.paymentStatus === 'PAID'\">\r\n <div class=\"transaction-status paid\"><img\r\n src=\"https://d2z9497xp8xb12.cloudfront.net/prod-images/484102c1753446573473Group 1707484906.png\">\r\n </div>\r\n <div class=\"transaction-details\">\r\n <h4>{{transaction.emiMonthCount ? transaction.emiMonthCount : 'N/A' }}st Instalment Paid\r\n </h4>\r\n <p>Payment Date : {{transaction.paidDate ? (transaction.paidDate | date : 'shortDate') : 'N/A'}}\r\n </p>\r\n </div>\r\n <div class=\"transaction-amount\">\r\n {{transaction.paidAmount ? ('\u20B9'+transaction.paidAmount) : 'N/A' }}</div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>", styles: ["*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:#f5f5f5;color:#333}.header{display:flex;align-items:center;justify-content:space-between;padding:20px 16px;background-color:#fff;border-bottom:1px solid #e0e0e0}.back-btn{background:none;border:none;font-size:20px;cursor:pointer;padding:7px}.header_left h1{font-size:18px;font-weight:600;flex-grow:1;text-align:center;margin:0 16px}.header-actions{display:flex;gap:8px}.share-btn,.download-btn{font-size:16px;cursor:pointer;padding:9px;border:1px solid lightgrey;border-radius:5px}.details_tab{border:1px solid lightgrey;padding:3%;border-radius:7px;width:62%}.amount-card{background:linear-gradient(90deg,#fffbeb,#fff7ed);margin:16px;padding:20px;border-radius:12px}.amount-info{display:flex;align-items:center;gap:16px}.coin-icon{font-size:32px}.amount-details h2{font-size:24px;font-weight:700;color:#333;margin-bottom:4px}.amount-details p{font-size:14px;color:#666}.scheme-details{padding:0 16px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-title{font-size:18px;font-weight:600}.payment-item{display:flex;align-items:center;justify-content:space-between;padding:16px;border:1px solid #f1f3f4;border-radius:10px;background:#f9fafb}.payment-info{display:flex;align-items:center;gap:12px}.payment-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px}.payment-details h4{font-size:14px;font-weight:600;margin:0}.payment-details span{font-size:12px;color:#666}.payment-amount{text-align:right}.quick-actions{background:#fff;padding:20px;border-radius:12px;border:1px solid #e9ecef;margin:12px 0}.quick-actions h3{font-size:16px;font-weight:600;margin-bottom:16px}.action-item{padding:8px;font-size:14px;color:#666;border:1px solid #f1f3f4;border-radius:9px;white-space:nowrap}.upcoming-status{background:#d3d3d3;font-size:12px;padding:6px;border-radius:4px}.amount-value{font-size:16px;font-weight:600;margin-bottom:4px}.section-header h3{font-size:18px;font-weight:600}.redeem-requested{background-color:#fff3e0;color:#e65100;padding:4px 12px;border-radius:16px;font-size:12px;font-weight:500}.scheme-info{margin-bottom:24px}.scheme-name{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.scheme-name .label{font-size:16px;font-weight:600}.scheme-name .redeem-status{background-color:#e8f5e8;color:#2e7d32;padding:4px 12px;border-radius:16px;font-size:12px}.scheme-id{color:#666;font-size:14px}.dates-grid{display:flex;gap:16px;border-top:1px solid lightgrey;justify-content:space-between;padding-top:11px}.date-item{display:flex;align-items:center;gap:8px}.date-icon{font-size:16px}.date-info{display:flex;flex-direction:column}.date-label{font-size:10px;color:#666;margin-bottom:2px;white-space:nowrap}.date-value{font-size:11px;font-weight:500}.completion-info{display:flex;flex-direction:column;align-items:flex-start;grid-column:span 2}.completion-label{font-size:10px;color:#666;margin-bottom:2px;white-space:nowrap}.completion-value{font-size:11px;font-weight:500}.tabs{display:flex;border-bottom:1px solid #e0e0e0;margin:20px 0;height:5vh;background:#d3d3d3;align-items:center;padding:0 1%;width:fit-content;border-radius:30px}.tab{background:none;border:none;font-size:10px!important;cursor:pointer;border-bottom:2px solid transparent;color:#666;width:6vw!important;height:80%!important}.tab.active{color:#333;border-radius:30px;font-weight:500;background-color:#fff}.transactions{display:flex;flex-direction:column;gap:16px;padding-bottom:20px}.transaction-item{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid lightgrey;border-radius:8px}.transaction-status{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px}.underline{text-decoration:underline}.transaction-status img{width:100%}.transaction-status.paid{background-color:#4caf50;color:#fff}.transaction-status.due{background-color:#e0e0e0;border:2px solid #bdbdbd}.transaction-details{flex-grow:1}.transaction-details h4{font-size:14px;font-weight:500;margin-bottom:2px}.transaction-details p{font-size:12px;color:#666}.transaction-amount{font-size:16px;font-weight:600}.pay-now-btn{background-color:#9c27b0;color:#fff;border:none;padding:8px 16px;border-radius:20px;font-size:12px;font-weight:500;cursor:pointer}.pay-now-btn:hover{background-color:#7b1fa2}@media (max-width: 480px){.dates-grid{grid-template-columns:1fr}.completion-info{grid-column:span 1;align-items:flex-start}}.scheme-section{flex-direction:column;gap:1rem}.details_tab{width:100%;border-radius:12px}.section{padding:12px!important;max-height:75vh;overflow-y:scroll}.upcoming-status{display:flex;justify-content:center;align-items:center;height:35px;white-space:nowrap}.payment-details p{font-size:12px}.tab{width:22vw!important}.scheme-details{padding:0}.enrollment-card{width:100%!important}.amount-card{margin:0 0 12px}.amount-card-section{flex-direction:column}.actions{height:70%}.enroll-btn{background:#3a0044;color:#fff;padding:12px 24px;border:none;border-radius:8px;cursor:pointer;margin-top:12px;font-size:12px!important;white-space:nowrap;align-items:center}.enrollment-card{background:#fff;border-radius:12px;padding:0 24px;border:1px solid lightgrey;width:30%}.section{background:#fff;border-radius:12px;padding:24px;margin:24px 0;border:1px solid #e9ecef}.enrollment-row{display:flex;justify-content:space-between;align-items:center;padding:10.5px 0;border-bottom:1px solid #f0f0f0}.enrollment-row:last-child{border-bottom:none}.enrollment-label{color:#666;font-size:14px;font-weight:500}.enrollment-value{color:#333;font-size:14px;font-weight:600}.enrollment-value.highlight{color:#2563eb}.enrollment-value.zero{color:#ef4444}\n"], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.DecimalPipe, name: "number" }, { kind: "pipe", type: i4.DatePipe, name: "date" }] }); }
17905
17903
  }
17906
17904
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SchemeDetailsComponent, decorators: [{
17907
17905
  type: Component,
17908
17906
  args: [{ selector: 'simpo-scheme-details', standalone: true, imports: [MatIcon, CommonModule], template: "<div class=\"w-100 h-100\">\r\n <!-- Header -->\r\n <div class=\"header\" *ngIf=\"screenWidth>475\">\r\n <div class=\"header_left d-flex justify-content-between align-items-center\">\r\n <div class=\"back-btn d-flex align-items-center\" (click)=\"goBack()\"><mat-icon>keyboard_backspace</mat-icon>\r\n </div>\r\n <h1>Scheme Details</h1>\r\n </div>\r\n </div>\r\n\r\n <!-- Amount Card -->\r\n <div class=\"d-flex justify-content-between amount-card-section\">\r\n <div class=\"w-100\">\r\n <div class=\"amount-card\">\r\n <div class=\"amount-info\">\r\n <div class=\"coin-icon\"><img\r\n src=\"https://d2z9497xp8xb12.cloudfront.net/prod-images/133984c1753444589570Group 1707483606.svg\">\r\n </div>\r\n <div class=\"amount-details\">\r\n <h2>\u20B9{{schemeDetails?.installmentAmount ? schemeDetails?.installmentAmount : 'N/A'}}</h2>\r\n <p>Total Available Scheme Amount</p>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-start justify-content-around scheme-section\">\r\n <div class=\"details_tab\">\r\n <div class=\"section-header\">\r\n <h3>Scheme Details</h3>\r\n <span class=\"redeem-requested\">{{schemeDetails?.passBookStatus ?\r\n schemeDetails?.passBookStatus : 'N/A'}}</span>\r\n </div>\r\n\r\n <div class=\"scheme-info\">\r\n <div class=\"scheme-name\">\r\n <span class=\"label\">{{schemeDetails?.schemeName ? schemeDetails?.schemeName :\r\n 'N/A'}}</span>\r\n </div>\r\n <div class=\"scheme-id\">\u20B9{{schemeDetails?.installmentAmount ? schemeDetails?.installmentAmount :\r\n 'N/A'}}\r\n Monthly</div>\r\n </div>\r\n\r\n <div class=\"dates-grid\">\r\n <div class=\"date-item\">\r\n <div class=\"date-icon\">\uD83D\uDCC5</div>\r\n <div class=\"date-info\">\r\n <span class=\"date-label\">Scheme started on</span>\r\n <span class=\"date-value\">{{schemeDetails.createdTimestamp ?\r\n (schemeDetails.createdTimestamp | date:'mediumDate') : 'N/A' }}</span>\r\n </div>\r\n </div>\r\n <!-- <div class=\"date-item\">\r\n <div class=\"date-icon\">\uD83D\uDCC5</div>\r\n <div class=\"date-info\">\r\n <span class=\"date-label\">Scheme ends on</span>\r\n <span class=\"date-value\">5 Jan 2025</span>\r\n </div>\r\n </div> -->\r\n <div class=\"completion-info\">\r\n <span class=\"completion-label\">Completed EMIs</span>\r\n <span class=\"completion-value\">{{schemeDetails.dueMonths ? (10-schemeDetails.dueMonths) :\r\n 0}} out\r\n of 10</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"enrollment-card\">\r\n <div class=\"enrollment-row\">\r\n <span class=\"enrollment-label\">Group Name</span>\r\n <span class=\"enrollment-value\">{{schemeDetails?.schemeName ?\r\n schemeDetails?.schemeName :'N/A' }}</span>\r\n </div>\r\n\r\n <div class=\"enrollment-row\">\r\n <span class=\"enrollment-label\">Group Code</span>\r\n <span class=\"enrollment-value\">{{schemeDetails.enrollmentGroup?.pwcGroupId ?\r\n schemeDetails.enrollmentGroup.pwcGroupId : 'N/A' }}</span>\r\n </div>\r\n\r\n <div class=\"enrollment-row\">\r\n <span class=\"enrollment-label\">Maturity Date</span>\r\n <span class=\"enrollment-value\">{{schemeDetails.maturityDate ? (schemeDetails.maturityDate | date\r\n : 'dd-MM-yyyy') : 'N/A'}}</span>\r\n </div>\r\n <!-- <div class=\"enrollment-row\">\r\n <span class=\"enrollment-label\">Enrollment Id</span>\r\n <span class=\"enrollment-value\">{{schemeDetails.enrollmentId ? schemeDetails.enrollmentId : 'N/A'}}</span>\r\n </div> -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"quick-actions\">\r\n <h3>Quick Actions</h3>\r\n <div class=\"actions d-flex flex-column justify-content-evenly\">\r\n <div class=\"action-item d-flex align-items-center mb-2\">Make Due Payments\r\n </div>\r\n <div class=\"action-item d-flex align-items-center\">Add Nominee</div>\r\n <div class=\"action-item d-flex align-items-center\">Download SOA</div>\r\n </div>\r\n\r\n <button class=\"enroll-btn\"><img\r\n src=\"https://d2z9497xp8xb12.cloudfront.net/prod-images/782673c1753434311903SVG (1).png\"> Enroll\r\n New Scheme</button>\r\n </div>\r\n </div>\r\n\r\n <!-- Scheme Details Section -->\r\n <div class=\"scheme-details\">\r\n <div class=\"section d-flex-flex-column gap-2\">\r\n <div class=\"section-header\">\r\n <h2 class=\"section-title\">Payment Dues</h2>\r\n </div>\r\n <div class=\"payment-list d-flex flex-column gap-2\">\r\n <ng-container *ngIf=\"paymentData.length;else noPayments\">\r\n <ng-container *ngFor=\"let payment of paymentData;let i = index\">\r\n <div class=\"payment-item\">\r\n <div class=\"payment-info\">\r\n <div class=\"payment-icon upcoming\"><img\r\n src=\"https://d2z9497xp8xb12.cloudfront.net/prod-images/655969c1753438284565Background.svg\">\r\n </div>\r\n <div class=\"payment-details\">\r\n <h4>{{schemeDetails?.schemeName ? schemeDetails?.schemeName : 'N/A'}}</h4>\r\n <p>Due Date : {{payment?.dueDate ? (payment?.dueDate | date : 'shortDate') :\r\n 'N/A'}}\r\n <!-- |\r\n Due by: {{getDueDate(payment?.dueDate)}} days</p> -->\r\n </div>\r\n </div>\r\n <div class=\"payment-amount\">\r\n <div class=\"amount-value\" *ngIf=\"payment?.dueAmount\">\u20B9{{payment?.dueAmount ?\r\n payment.dueAmount :\r\n 'N/A'}}</div>\r\n <div class=\"payment-status upcoming-status\" *ngIf=\"i === 0\"\r\n (click)=\"payDuePayment(payment)\">Pay Now</div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #showCharges>\r\n <div class=\"payment-dialog\">\r\n <div class=\"dialog-header\">\r\n <h2>Payment Details</h2>\r\n <button class=\"close-btn\" mat-icon-button>\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n\r\n <div class=\"payment-content\">\r\n <div class=\"payment-row\">\r\n <span class=\"label\">Installment Amount:</span>\r\n <span class=\"amount\">\u20B9{{storeCharges?.breakdown?.installmentAmount ?\r\n (storeCharges?.breakdown?.installmentAmount | number) : 0 }}</span>\r\n </div>\r\n\r\n <div class=\"payment-row\">\r\n <span class=\"label\">Convenience Fee:</span>\r\n <span class=\"amount\">\u20B9{{storeCharges?.breakdown?.convenienceFee?.value ?\r\n (storeCharges?.breakdown?.convenienceFee?.value | number) : 0 }}</span>\r\n </div>\r\n\r\n <div class=\"payment-row\">\r\n <span class=\"label\">Payment Service Charges:</span>\r\n <span class=\"amount\">\u20B9{{storeCharges?.breakdown?.paymentServiceCharges?.value ?\r\n (storeCharges?.breakdown?.paymentServiceCharges?.value | number) : 0 }}</span>\r\n </div>\r\n\r\n <div class=\"payment-row total-row\">\r\n <span class=\"label total-label\">Total Amount:</span>\r\n <span class=\"amount total-amount\">\u20B9{{storeCharges?.breakdown?.totalAmount ?\r\n (storeCharges?.breakdown?.totalAmount | number) : 0 }}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"dialog-actions\">\r\n <button class=\"continue-btn\" (click)=\"closeDialog()\">Continue</button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template #noPayments>\r\n <div class=\"d-flex justify-content-center align-items-center w-100 h-100\">\r\n <span>No Upcoming Payments</span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </div>\r\n <div class=\"tabs\">\r\n <button class=\"tab d-flex justify-content-center align-items-center active\">Transactions</button>\r\n </div>\r\n <div class=\"transactions\">\r\n <ng-container *ngFor=\"let transaction of schemeDetails.schemePayments\">\r\n <div class=\"transaction-item\" *ngIf=\"transaction.paymentStatus === 'PAID'\">\r\n <div class=\"transaction-status paid\"><img\r\n src=\"https://d2z9497xp8xb12.cloudfront.net/prod-images/484102c1753446573473Group 1707484906.png\">\r\n </div>\r\n <div class=\"transaction-details\">\r\n <h4>{{transaction.emiMonthCount ? transaction.emiMonthCount : 'N/A' }}st Instalment Paid\r\n </h4>\r\n <p>Payment Date : {{transaction.paidDate ? (transaction.paidDate | date : 'shortDate') : 'N/A'}}\r\n </p>\r\n </div>\r\n <div class=\"transaction-amount\">\r\n {{transaction.paidAmount ? ('\u20B9'+transaction.paidAmount) : 'N/A' }}</div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>", styles: ["*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:#f5f5f5;color:#333}.header{display:flex;align-items:center;justify-content:space-between;padding:20px 16px;background-color:#fff;border-bottom:1px solid #e0e0e0}.back-btn{background:none;border:none;font-size:20px;cursor:pointer;padding:7px}.header_left h1{font-size:18px;font-weight:600;flex-grow:1;text-align:center;margin:0 16px}.header-actions{display:flex;gap:8px}.share-btn,.download-btn{font-size:16px;cursor:pointer;padding:9px;border:1px solid lightgrey;border-radius:5px}.details_tab{border:1px solid lightgrey;padding:3%;border-radius:7px;width:62%}.amount-card{background:linear-gradient(90deg,#fffbeb,#fff7ed);margin:16px;padding:20px;border-radius:12px}.amount-info{display:flex;align-items:center;gap:16px}.coin-icon{font-size:32px}.amount-details h2{font-size:24px;font-weight:700;color:#333;margin-bottom:4px}.amount-details p{font-size:14px;color:#666}.scheme-details{padding:0 16px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-title{font-size:18px;font-weight:600}.payment-item{display:flex;align-items:center;justify-content:space-between;padding:16px;border:1px solid #f1f3f4;border-radius:10px;background:#f9fafb}.payment-info{display:flex;align-items:center;gap:12px}.payment-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px}.payment-details h4{font-size:14px;font-weight:600;margin:0}.payment-details span{font-size:12px;color:#666}.payment-amount{text-align:right}.quick-actions{background:#fff;padding:20px;border-radius:12px;border:1px solid #e9ecef;margin:12px 0}.quick-actions h3{font-size:16px;font-weight:600;margin-bottom:16px}.action-item{padding:8px;font-size:14px;color:#666;border:1px solid #f1f3f4;border-radius:9px;white-space:nowrap}.upcoming-status{background:#d3d3d3;font-size:12px;padding:6px;border-radius:4px}.amount-value{font-size:16px;font-weight:600;margin-bottom:4px}.section-header h3{font-size:18px;font-weight:600}.redeem-requested{background-color:#fff3e0;color:#e65100;padding:4px 12px;border-radius:16px;font-size:12px;font-weight:500}.scheme-info{margin-bottom:24px}.scheme-name{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.scheme-name .label{font-size:16px;font-weight:600}.scheme-name .redeem-status{background-color:#e8f5e8;color:#2e7d32;padding:4px 12px;border-radius:16px;font-size:12px}.scheme-id{color:#666;font-size:14px}.dates-grid{display:flex;gap:16px;border-top:1px solid lightgrey;justify-content:space-between;padding-top:11px}.date-item{display:flex;align-items:center;gap:8px}.date-icon{font-size:16px}.date-info{display:flex;flex-direction:column}.date-label{font-size:10px;color:#666;margin-bottom:2px;white-space:nowrap}.date-value{font-size:11px;font-weight:500}.completion-info{display:flex;flex-direction:column;align-items:flex-start;grid-column:span 2}.completion-label{font-size:10px;color:#666;margin-bottom:2px;white-space:nowrap}.completion-value{font-size:11px;font-weight:500}.tabs{display:flex;border-bottom:1px solid #e0e0e0;margin:20px 0;height:5vh;background:#d3d3d3;align-items:center;padding:0 1%;width:fit-content;border-radius:30px}.tab{background:none;border:none;font-size:10px!important;cursor:pointer;border-bottom:2px solid transparent;color:#666;width:6vw!important;height:80%!important}.tab.active{color:#333;border-radius:30px;font-weight:500;background-color:#fff}.transactions{display:flex;flex-direction:column;gap:16px;padding-bottom:20px}.transaction-item{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid lightgrey;border-radius:8px}.transaction-status{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px}.underline{text-decoration:underline}.transaction-status img{width:100%}.transaction-status.paid{background-color:#4caf50;color:#fff}.transaction-status.due{background-color:#e0e0e0;border:2px solid #bdbdbd}.transaction-details{flex-grow:1}.transaction-details h4{font-size:14px;font-weight:500;margin-bottom:2px}.transaction-details p{font-size:12px;color:#666}.transaction-amount{font-size:16px;font-weight:600}.pay-now-btn{background-color:#9c27b0;color:#fff;border:none;padding:8px 16px;border-radius:20px;font-size:12px;font-weight:500;cursor:pointer}.pay-now-btn:hover{background-color:#7b1fa2}@media (max-width: 480px){.dates-grid{grid-template-columns:1fr}.completion-info{grid-column:span 1;align-items:flex-start}}.scheme-section{flex-direction:column;gap:1rem}.details_tab{width:100%;border-radius:12px}.section{padding:12px!important;max-height:75vh;overflow-y:scroll}.upcoming-status{display:flex;justify-content:center;align-items:center;height:35px;white-space:nowrap}.payment-details p{font-size:12px}.tab{width:22vw!important}.scheme-details{padding:0}.enrollment-card{width:100%!important}.amount-card{margin:0 0 12px}.amount-card-section{flex-direction:column}.actions{height:70%}.enroll-btn{background:#3a0044;color:#fff;padding:12px 24px;border:none;border-radius:8px;cursor:pointer;margin-top:12px;font-size:12px!important;white-space:nowrap;align-items:center}.enrollment-card{background:#fff;border-radius:12px;padding:0 24px;border:1px solid lightgrey;width:30%}.section{background:#fff;border-radius:12px;padding:24px;margin:24px 0;border:1px solid #e9ecef}.enrollment-row{display:flex;justify-content:space-between;align-items:center;padding:10.5px 0;border-bottom:1px solid #f0f0f0}.enrollment-row:last-child{border-bottom:none}.enrollment-label{color:#666;font-size:14px;font-weight:500}.enrollment-value{color:#333;font-size:14px;font-weight:600}.enrollment-value.highlight{color:#2563eb}.enrollment-value.zero{color:#ef4444}\n"] }]
17909
- }], ctorParameters: () => [{ type: i1$3.StorageServiceService }, { type: i2$4.RestService }, { type: i1$1.MatDialog }, { type: EventsService }], propDecorators: { schemeDetails: [{
17907
+ }], ctorParameters: () => [{ type: StorageServiceService }, { type: RestService }, { type: i1$1.MatDialog }, { type: EventsService }], propDecorators: { schemeDetails: [{
17910
17908
  type: Input,
17911
17909
  args: ["schemeDetails"]
17912
17910
  }], gotoSchemeOverview: [{