bpm-core 0.0.54 → 0.0.56

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 (57) hide show
  1. package/esm2022/lib/app/app.component.mjs +2 -2
  2. package/esm2022/lib/components/app-component-sections/activities/activities.component.mjs +13 -10
  3. package/esm2022/lib/components/app-component-sections/approvals-workflow/approvals-workflow.component.mjs +5 -3
  4. package/esm2022/lib/components/app-component-sections/feedback-section/feedback-section.component.mjs +7 -5
  5. package/esm2022/lib/components/app-component-sections/form-section/form-section.component.mjs +5 -3
  6. package/esm2022/lib/components/app-component-sections/layout/layout.component.mjs +6 -3
  7. package/esm2022/lib/components/app-component-sections/previous-requests/previous-requests.component.mjs +196 -36
  8. package/esm2022/lib/components/app-component-sections/service-header/service-header.component.mjs +5 -3
  9. package/esm2022/lib/components/app-component-sections/workflow-section/workflow-section.component.mjs +5 -3
  10. package/esm2022/lib/components/shared-components/action-buttons/action-buttons.component.mjs +6 -4
  11. package/esm2022/lib/components/shared-components/form-field/add-attachment-section/add-attachment-section.component.mjs +5 -3
  12. package/esm2022/lib/components/shared-components/form-field/attachment-section/attachment-section.component.mjs +5 -3
  13. package/esm2022/lib/components/shared-components/form-field/checkbox/checkbox.component.mjs +3 -3
  14. package/esm2022/lib/components/shared-components/form-field/date-range-picker/date-range-picker.component.mjs +3 -3
  15. package/esm2022/lib/components/shared-components/form-field/doc-uploader/docs-uploader.component.mjs +6 -4
  16. package/esm2022/lib/components/shared-components/form-field/search-employee/search-employee.component.mjs +5 -3
  17. package/esm2022/lib/components/shared-components/table/table.component.mjs +240 -0
  18. package/esm2022/lib/directives/skip-location.directive.mjs +28 -0
  19. package/esm2022/lib/enums/actions.enum.mjs +21 -0
  20. package/esm2022/lib/enums/colors.enum.mjs +6 -0
  21. package/esm2022/lib/enums/events.enum.mjs +6 -0
  22. package/esm2022/lib/helpers/shared.helper.mjs +26 -0
  23. package/esm2022/lib/interfaces/action.interface.mjs +2 -0
  24. package/esm2022/lib/regex/index.mjs +2 -0
  25. package/esm2022/lib/services/core.service.ts.mjs +7 -5
  26. package/esm2022/lib/testComponent/general-approver-section/general-approver-section.component.mjs +5 -3
  27. package/esm2022/lib/testComponent/request-details-section/request-details-section.component.mjs +11 -7
  28. package/esm2022/public-api.mjs +2 -1
  29. package/fesm2022/bpm-core.mjs +253 -75
  30. package/fesm2022/bpm-core.mjs.map +1 -1
  31. package/lib/components/app-component-sections/approvals-workflow/approvals-workflow.component.d.ts +2 -0
  32. package/lib/components/app-component-sections/feedback-section/feedback-section.component.d.ts +2 -1
  33. package/lib/components/app-component-sections/form-section/form-section.component.d.ts +2 -1
  34. package/lib/components/app-component-sections/layout/layout.component.d.ts +2 -1
  35. package/lib/components/app-component-sections/previous-requests/previous-requests.component.d.ts +123 -1
  36. package/lib/components/app-component-sections/service-header/service-header.component.d.ts +2 -1
  37. package/lib/components/app-component-sections/workflow-section/workflow-section.component.d.ts +2 -1
  38. package/lib/components/shared-components/action-buttons/action-buttons.component.d.ts +2 -1
  39. package/lib/components/shared-components/form-field/add-attachment-section/add-attachment-section.component.d.ts +2 -1
  40. package/lib/components/shared-components/form-field/attachment-section/attachment-section.component.d.ts +2 -1
  41. package/lib/components/shared-components/form-field/doc-uploader/docs-uploader.component.d.ts +2 -1
  42. package/lib/components/shared-components/form-field/search-employee/search-employee.component.d.ts +2 -1
  43. package/lib/components/shared-components/form-field/shared-imports.d.ts +3 -3
  44. package/lib/components/shared-components/table/table.component.d.ts +76 -0
  45. package/lib/directives/skip-location.directive.d.ts +10 -0
  46. package/lib/enums/actions.enum.d.ts +19 -0
  47. package/lib/enums/colors.enum.d.ts +4 -0
  48. package/lib/enums/events.enum.d.ts +4 -0
  49. package/lib/helpers/shared.helper.d.ts +1 -0
  50. package/lib/interfaces/action.interface.d.ts +7 -0
  51. package/lib/regex/index.d.ts +1 -0
  52. package/lib/services/core.service.ts.d.ts +2 -0
  53. package/lib/testComponent/general-approver-section/general-approver-section.component.d.ts +2 -1
  54. package/lib/testComponent/request-details-section/request-details-section.component.d.ts +2 -1
  55. package/package.json +1 -1
  56. package/public-api.d.ts +1 -0
  57. package/src/lib/assets/scss/input-telephone.scss +6 -4
@@ -18,6 +18,7 @@ export class LayoutComponent {
18
18
  sideContent;
19
19
  sidenavSubscription;
20
20
  form;
21
+ hubContainerMini = true;
21
22
  formTitle;
22
23
  isLoading = false;
23
24
  serviceBrief = [];
@@ -63,11 +64,11 @@ export class LayoutComponent {
63
64
  this.sidenav.close().then(r => { });
64
65
  }
65
66
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LayoutComponent, deps: [{ token: DOCUMENT }, { token: i1.Router }, { token: i2.SidenavService }], target: i0.ɵɵFactoryTarget.Component });
66
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: LayoutComponent, isStandalone: true, selector: "core-layout", inputs: { form: "form", formTitle: "formTitle", isLoading: "isLoading", serviceBrief: "serviceBrief" }, viewQueries: [{ propertyName: "sidenav", first: true, predicate: ["sidenav"], descendants: true, static: true }], ngImport: i0, template: "<app-header></app-header>\r\n<section class=\"d-flex\">\r\n <app-side-nav></app-side-nav>\r\n <mat-sidenav-container\r\n class=\"flex-grow-1\"\r\n [hasBackdrop]=\"true\"\r\n (backdropClick)=\"backdropClick()\"\r\n >\r\n <mat-sidenav\r\n #sidenav\r\n autoFocus=\"false\"\r\n fixedInViewport\r\n [position]=\"'end'\"\r\n (closedStart)=\"onClose()\"\r\n >\r\n <ng-container *ngComponentOutlet=\"sideContent\">\r\n <app-side-nav></app-side-nav>\r\n </ng-container>\r\n </mat-sidenav>\r\n <mat-sidenav-content>\r\n <main\r\n class=\"hadPadding service-wrapper\"\r\n [ngClass]=\"form?.header?.status?.key == 'NEW' ? 'hub-container-mini' : 'hub-container'\">\r\n\r\n <ng-content ></ng-content>\r\n <ng-content select=\"[workflow]\"></ng-content>\r\n\r\n </main>\r\n </mat-sidenav-content>\r\n </mat-sidenav-container>\r\n</section>\r\n", styles: [":host ::ng-deep .mat-drawer-container{overflow:visible;margin-top:var(--main-toolbar-height);min-height:calc(100vh - var(--main-toolbar-height));background-color:var(--body-bg)!important;z-index:initial!important;min-width:calc(100% - var(--main-aside-width));width:calc(100% - var(--main-aside-width))}:host ::ng-deep .mat-drawer-container .mat-drawer-content{display:flex;flex-direction:column;overflow:visible}.hup-wrapper :host ::ng-deep .mat-drawer-container .mat-drawer-content{min-height:auto}:host ::ng-deep footer{bottom:-65px}.mat-drawer{border-radius:10px!important;margin:1rem;box-shadow:0 8px 16px 7px rgba(var(--rgb-black),.06);background-color:var(--white)}@media (max-width: 767px){.mat-drawer{padding:0;border-radius:0;margin:0;width:100%}}.customize-btn{min-width:166px}.zer-pt{padding-top:0!important}\n"], dependencies: [{ kind: "component", type: HeaderComponent, selector: "app-header" }, { kind: "component", type: SideNavComponent, selector: "app-side-nav", inputs: ["isOpened"] }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "component", type: i3.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i3.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "component", type: i3.MatSidenavContent, selector: "mat-sidenav-content" }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
67
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: LayoutComponent, isStandalone: true, selector: "core-layout", inputs: { form: "form", hubContainerMini: "hubContainerMini", formTitle: "formTitle", isLoading: "isLoading", serviceBrief: "serviceBrief" }, viewQueries: [{ propertyName: "sidenav", first: true, predicate: ["sidenav"], descendants: true, static: true }], ngImport: i0, template: "<app-header></app-header>\r\n<section class=\"d-flex\">\r\n <app-side-nav></app-side-nav>\r\n <mat-sidenav-container\r\n class=\"flex-grow-1\"\r\n [hasBackdrop]=\"true\"\r\n (backdropClick)=\"backdropClick()\"\r\n >\r\n <mat-sidenav\r\n #sidenav\r\n autoFocus=\"false\"\r\n fixedInViewport\r\n [position]=\"'end'\"\r\n (closedStart)=\"onClose()\"\r\n >\r\n <ng-container *ngComponentOutlet=\"sideContent\">\r\n <app-side-nav></app-side-nav>\r\n </ng-container>\r\n </mat-sidenav>\r\n <mat-sidenav-content>\r\n <main\r\n class=\"hadPadding service-wrapper\"\r\n [ngClass]=\"hubContainerMini ? 'hub-container-mini' : 'hub-container'\">\r\n\r\n <ng-content ></ng-content>\r\n <ng-content select=\"[workflow]\"></ng-content>\r\n\r\n </main>\r\n </mat-sidenav-content>\r\n </mat-sidenav-container>\r\n</section>\r\n", styles: [":host ::ng-deep .mat-drawer-container{overflow:visible;margin-top:var(--main-toolbar-height);min-height:calc(100vh - var(--main-toolbar-height));background-color:var(--body-bg)!important;z-index:initial!important;min-width:calc(100% - var(--main-aside-width));width:calc(100% - var(--main-aside-width))}:host ::ng-deep .mat-drawer-container .mat-drawer-content{display:flex;flex-direction:column;overflow:visible}.hup-wrapper :host ::ng-deep .mat-drawer-container .mat-drawer-content{min-height:auto}:host ::ng-deep footer{bottom:-65px}.mat-drawer{border-radius:10px!important;margin:1rem;box-shadow:0 8px 16px 7px rgba(var(--rgb-black),.06);background-color:var(--white)}@media (max-width: 767px){.mat-drawer{padding:0;border-radius:0;margin:0;width:100%}}.customize-btn{min-width:166px}.zer-pt{padding-top:0!important}\n"], dependencies: [{ kind: "component", type: HeaderComponent, selector: "app-header" }, { kind: "component", type: SideNavComponent, selector: "app-side-nav", inputs: ["isOpened"] }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "component", type: i3.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i3.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "component", type: i3.MatSidenavContent, selector: "mat-sidenav-content" }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
67
68
  }
68
69
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LayoutComponent, decorators: [{
69
70
  type: Component,
70
- args: [{ selector: "core-layout", standalone: true, imports: [HeaderComponent, SideNavComponent, MatSidenavModule, RouterOutlet, NgComponentOutlet, WorkflowSectionComponent, ServiceHeaderComponent, NgClass, NgIf], template: "<app-header></app-header>\r\n<section class=\"d-flex\">\r\n <app-side-nav></app-side-nav>\r\n <mat-sidenav-container\r\n class=\"flex-grow-1\"\r\n [hasBackdrop]=\"true\"\r\n (backdropClick)=\"backdropClick()\"\r\n >\r\n <mat-sidenav\r\n #sidenav\r\n autoFocus=\"false\"\r\n fixedInViewport\r\n [position]=\"'end'\"\r\n (closedStart)=\"onClose()\"\r\n >\r\n <ng-container *ngComponentOutlet=\"sideContent\">\r\n <app-side-nav></app-side-nav>\r\n </ng-container>\r\n </mat-sidenav>\r\n <mat-sidenav-content>\r\n <main\r\n class=\"hadPadding service-wrapper\"\r\n [ngClass]=\"form?.header?.status?.key == 'NEW' ? 'hub-container-mini' : 'hub-container'\">\r\n\r\n <ng-content ></ng-content>\r\n <ng-content select=\"[workflow]\"></ng-content>\r\n\r\n </main>\r\n </mat-sidenav-content>\r\n </mat-sidenav-container>\r\n</section>\r\n", styles: [":host ::ng-deep .mat-drawer-container{overflow:visible;margin-top:var(--main-toolbar-height);min-height:calc(100vh - var(--main-toolbar-height));background-color:var(--body-bg)!important;z-index:initial!important;min-width:calc(100% - var(--main-aside-width));width:calc(100% - var(--main-aside-width))}:host ::ng-deep .mat-drawer-container .mat-drawer-content{display:flex;flex-direction:column;overflow:visible}.hup-wrapper :host ::ng-deep .mat-drawer-container .mat-drawer-content{min-height:auto}:host ::ng-deep footer{bottom:-65px}.mat-drawer{border-radius:10px!important;margin:1rem;box-shadow:0 8px 16px 7px rgba(var(--rgb-black),.06);background-color:var(--white)}@media (max-width: 767px){.mat-drawer{padding:0;border-radius:0;margin:0;width:100%}}.customize-btn{min-width:166px}.zer-pt{padding-top:0!important}\n"] }]
71
+ args: [{ selector: "core-layout", standalone: true, imports: [HeaderComponent, SideNavComponent, MatSidenavModule, RouterOutlet, NgComponentOutlet, WorkflowSectionComponent, ServiceHeaderComponent, NgClass, NgIf], template: "<app-header></app-header>\r\n<section class=\"d-flex\">\r\n <app-side-nav></app-side-nav>\r\n <mat-sidenav-container\r\n class=\"flex-grow-1\"\r\n [hasBackdrop]=\"true\"\r\n (backdropClick)=\"backdropClick()\"\r\n >\r\n <mat-sidenav\r\n #sidenav\r\n autoFocus=\"false\"\r\n fixedInViewport\r\n [position]=\"'end'\"\r\n (closedStart)=\"onClose()\"\r\n >\r\n <ng-container *ngComponentOutlet=\"sideContent\">\r\n <app-side-nav></app-side-nav>\r\n </ng-container>\r\n </mat-sidenav>\r\n <mat-sidenav-content>\r\n <main\r\n class=\"hadPadding service-wrapper\"\r\n [ngClass]=\"hubContainerMini ? 'hub-container-mini' : 'hub-container'\">\r\n\r\n <ng-content ></ng-content>\r\n <ng-content select=\"[workflow]\"></ng-content>\r\n\r\n </main>\r\n </mat-sidenav-content>\r\n </mat-sidenav-container>\r\n</section>\r\n", styles: [":host ::ng-deep .mat-drawer-container{overflow:visible;margin-top:var(--main-toolbar-height);min-height:calc(100vh - var(--main-toolbar-height));background-color:var(--body-bg)!important;z-index:initial!important;min-width:calc(100% - var(--main-aside-width));width:calc(100% - var(--main-aside-width))}:host ::ng-deep .mat-drawer-container .mat-drawer-content{display:flex;flex-direction:column;overflow:visible}.hup-wrapper :host ::ng-deep .mat-drawer-container .mat-drawer-content{min-height:auto}:host ::ng-deep footer{bottom:-65px}.mat-drawer{border-radius:10px!important;margin:1rem;box-shadow:0 8px 16px 7px rgba(var(--rgb-black),.06);background-color:var(--white)}@media (max-width: 767px){.mat-drawer{padding:0;border-radius:0;margin:0;width:100%}}.customize-btn{min-width:166px}.zer-pt{padding-top:0!important}\n"] }]
71
72
  }], ctorParameters: () => [{ type: Document, decorators: [{
72
73
  type: Inject,
73
74
  args: [DOCUMENT]
@@ -76,6 +77,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
76
77
  args: ["sidenav", { static: true }]
77
78
  }], form: [{
78
79
  type: Input
80
+ }], hubContainerMini: [{
81
+ type: Input
79
82
  }], formTitle: [{
80
83
  type: Input
81
84
  }], isLoading: [{
@@ -83,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
83
86
  }], serviceBrief: [{
84
87
  type: Input
85
88
  }] } });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9hcHAtY29tcG9uZW50LXNlY3Rpb25zL2xheW91dC9sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvbGF5b3V0L2xheW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQTtBQUMxRSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQWEsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQTtBQUN0RSxPQUFPLEVBQVMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFHckQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBRXhGLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDRDQUE0QyxDQUFDOzs7OztBQVNsRixNQUFNLE9BQU8sZUFBZTtJQVdXO0lBQ2xCO0lBQ0E7SUFaMEIsT0FBTyxDQUFjO0lBQ2xFLFdBQVcsQ0FBTTtJQUNULG1CQUFtQixDQUFnQjtJQUNsQyxJQUFJLENBQU07SUFDVixTQUFTLENBQVE7SUFDakIsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUNsQixZQUFZLEdBQVUsRUFBRSxDQUFD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LFNBQVMsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBRzNCLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlQsIE5nQ2xhc3MsIE5nQ29tcG9uZW50T3V0bGV0LCBOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nXHJcbmltcG9ydCB7Q29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge01hdFNpZGVuYXYsIE1hdFNpZGVuYXZNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnXHJcbmltcG9ydCB7Um91dGVyLCBSb3V0ZXJPdXRsZXR9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7U2lkZW5hdlNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlc1wiO1xyXG5pbXBvcnQge0hlYWRlckNvbXBvbmVudH0gZnJvbSBcIi4vaGVhZGVyL2hlYWRlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtTaWRlTmF2Q29tcG9uZW50fSBmcm9tIFwiLi9zaWRlLW5hdi9zaWRlLW5hdi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtXb3JrZmxvd1NlY3Rpb25Db21wb25lbnR9IGZyb20gXCIuLi93b3JrZmxvdy1zZWN0aW9uL3dvcmtmbG93LXNlY3Rpb24uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7Rm9ybX0gZnJvbSBcIi4uLy4uLy4uL2ludGVyZmFjZXNcIjtcclxuaW1wb3J0IHtTZXJ2aWNlSGVhZGVyQ29tcG9uZW50fSBmcm9tIFwiLi4vc2VydmljZS1oZWFkZXIvc2VydmljZS1oZWFkZXIuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjb3JlLWxheW91dFwiLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0hlYWRlckNvbXBvbmVudCwgU2lkZU5hdkNvbXBvbmVudCwgTWF0U2lkZW5hdk1vZHVsZSwgUm91dGVyT3V0bGV0LCBOZ0NvbXBvbmVudE91dGxldCwgV29ya2Zsb3dTZWN0aW9uQ29tcG9uZW50LCBTZXJ2aWNlSGVhZGVyQ29tcG9uZW50LCBOZ0NsYXNzLCBOZ0lmXSxcclxuICB0ZW1wbGF0ZVVybDogXCIuL2xheW91dC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsOiBcIi4vbGF5b3V0LmNvbXBvbmVudC5zY3NzXCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMYXlvdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQFZpZXdDaGlsZChcInNpZGVuYXZcIiwge3N0YXRpYzogdHJ1ZX0pIHB1YmxpYyBzaWRlbmF2ITogTWF0U2lkZW5hdjtcclxuICBzaWRlQ29udGVudDogYW55O1xyXG4gIHByaXZhdGUgc2lkZW5hdlN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcclxuICBASW5wdXQoKSBmb3JtOiBGb3JtXHJcbiAgQElucHV0KCkgZm9ybVRpdGxlOiBzdHJpbmdcclxuICBASW5wdXQoKSBpc0xvYWRpbmcgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZXJ2aWNlQnJpZWY6IGFueVtdID0gW107XHJcblxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQ6IERvY3VtZW50LFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2lkZW5hdlNlcnZpY2U6IFNpZGVuYXZTZXJ2aWNlLFxyXG4gICkge31cclxuXHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaWRlbmF2U3Vic2NyaXB0aW9uID0gdGhpcy5zaWRlbmF2U2VydmljZS5zdWJqZWN0LnN1YnNjcmliZShcclxuICAgICAgKHZhbHVlOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnNpZGVDb250ZW50ID0gdmFsdWUuY29tcG9uZW50TmFtZTtcclxuICAgICAgICB0aGlzLnNpZGVuYXYubW9kZSA9IHZhbHVlLm1vZGU7XHJcbiAgICAgICAgdGhpcy5zaWRlbmF2LnBvc2l0aW9uID0gdmFsdWUucG9zaXRpb247XHJcbiAgICAgICAgaWYgKHZhbHVlLmV2ZW50TmFtZSA9PT0gXCJvcGVuXCIpIHtcclxuICAgICAgICAgIHRoaXMub3BlblNpZGVOYXYoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5jbG9zZVNpZGVOYXYoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNpZGVuYXZTdWJzY3JpcHRpb24pIHtcclxuICAgICAgdGhpcy5zaWRlbmF2U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNsb3NlKCkge1xyXG4gICAgdGhpcy5kb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoXCJOb1Njcm9sbFwiKTtcclxuICAgIHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoXCJOb1Njcm9sbFwiKTtcclxuICB9XHJcblxyXG4gIGJhY2tkcm9wQ2xpY2soKSB7XHJcbiAgICB0aGlzLnNpZGVuYXYuY2xvc2UoKS50aGVuKHIgPT4ge30pO1xyXG4gICAgdGhpcy5zaWRlbmF2U2VydmljZS5jbG9zZVNpZGVuYXYoKTtcclxuICAgIHRoaXMuZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKFwiTm9TY3JvbGxcIik7XHJcbiAgICB0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKFwiTm9TY3JvbGxcIik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9wZW5TaWRlTmF2KCkge1xyXG4gICAgdGhpcy5zaWRlbmF2Lm9wZW4oKS50aGVuKHIgPT4ge30pO1xyXG4gICAgdGhpcy5kb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoXCJOb1Njcm9sbFwiKTtcclxuICAgIHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoXCJOb1Njcm9sbFwiKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2xvc2VTaWRlTmF2KCkge1xyXG4gICAgdGhpcy5zaWRlbmF2LmNsb3NlKCkudGhlbihyID0+IHt9KTtcclxuICB9XHJcbn1cclxuIiwiPGFwcC1oZWFkZXI+PC9hcHAtaGVhZGVyPlxyXG48c2VjdGlvbiBjbGFzcz1cImQtZmxleFwiPlxyXG4gIDxhcHAtc2lkZS1uYXY+PC9hcHAtc2lkZS1uYXY+XHJcbiAgPG1hdC1zaWRlbmF2LWNvbnRhaW5lclxyXG4gICAgY2xhc3M9XCJmbGV4LWdyb3ctMVwiXHJcbiAgICBbaGFzQmFja2Ryb3BdPVwidHJ1ZVwiXHJcbiAgICAoYmFja2Ryb3BDbGljayk9XCJiYWNrZHJvcENsaWNrKClcIlxyXG4gID5cclxuICAgIDxtYXQtc2lkZW5hdlxyXG4gICAgICAjc2lkZW5hdlxyXG4gICAgICBhdXRvRm9jdXM9XCJmYWxzZVwiXHJcbiAgICAgIGZpeGVkSW5WaWV3cG9ydFxyXG4gICAgICBbcG9zaXRpb25dPVwiJ2VuZCdcIlxyXG4gICAgICAoY2xvc2VkU3RhcnQpPVwib25DbG9zZSgpXCJcclxuICAgID5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdDb21wb25lbnRPdXRsZXQ9XCJzaWRlQ29udGVudFwiPlxyXG4gICAgICAgIDxhcHAtc2lkZS1uYXY+PC9hcHAtc2lkZS1uYXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9tYXQtc2lkZW5hdj5cclxuICAgIDxtYXQtc2lkZW5hdi1jb250ZW50PlxyXG4gICAgICA8bWFpblxyXG4gICAgICAgIGNsYXNzPVwiaGFkUGFkZGluZyBzZXJ2aWNlLXdyYXBwZXJcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cImZvcm0/LmhlYWRlcj8uc3RhdHVzPy5rZXkgPT0gJ05FVycgPyAnaHViLWNvbnRhaW5lci1taW5pJyA6ICdodWItY29udGFpbmVyJ1wiPlxyXG5cclxuICAgICAgICA8bmctY29udGVudCA+PC9uZy1jb250ZW50PlxyXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlt3b3JrZmxvd11cIj48L25nLWNvbnRlbnQ+XHJcblxyXG4gICAgICA8L21haW4+XHJcbiAgICA8L21hdC1zaWRlbmF2LWNvbnRlbnQ+XHJcbiAgPC9tYXQtc2lkZW5hdi1jb250YWluZXI+XHJcbjwvc2VjdGlvbj5cclxuIl19
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9hcHAtY29tcG9uZW50LXNlY3Rpb25zL2xheW91dC9sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvbGF5b3V0L2xheW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQTtBQUMxRSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQWEsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQTtBQUN0RSxPQUFPLEVBQVMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFHckQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBRXhGLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDRDQUE0QyxDQUFDOzs7OztBQVNsRixNQUFNLE9BQU8sZUFBZTtJQVlXO0lBQ2xCO0lBQ0E7SUFiMEIsT0FBTyxDQUFjO0lBQ2xFLFdBQVcsQ0FBTTtJQUNULG1CQUFtQixDQUFnQjtJQUNsQyxJQUFJLENBQU87SUFDWCxnQkFBZ0IsR0FBWSxJQUFJLENBQUM7SUFDakMsU0FBUyxDQUFRO0lBQ2pCLFNBQVMsR0FBRyxLQUFLLENB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MkZBWDJCLE9BQU87c0JBQW5ELFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkFHM0IsSUFBSTtzQkFBWixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlQsIE5nQ2xhc3MsIE5nQ29tcG9uZW50T3V0bGV0LCBOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nXHJcbmltcG9ydCB7Q29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge01hdFNpZGVuYXYsIE1hdFNpZGVuYXZNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnXHJcbmltcG9ydCB7Um91dGVyLCBSb3V0ZXJPdXRsZXR9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7U2lkZW5hdlNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlc1wiO1xyXG5pbXBvcnQge0hlYWRlckNvbXBvbmVudH0gZnJvbSBcIi4vaGVhZGVyL2hlYWRlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtTaWRlTmF2Q29tcG9uZW50fSBmcm9tIFwiLi9zaWRlLW5hdi9zaWRlLW5hdi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtXb3JrZmxvd1NlY3Rpb25Db21wb25lbnR9IGZyb20gXCIuLi93b3JrZmxvdy1zZWN0aW9uL3dvcmtmbG93LXNlY3Rpb24uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7Rm9ybX0gZnJvbSBcIi4uLy4uLy4uL2ludGVyZmFjZXNcIjtcclxuaW1wb3J0IHtTZXJ2aWNlSGVhZGVyQ29tcG9uZW50fSBmcm9tIFwiLi4vc2VydmljZS1oZWFkZXIvc2VydmljZS1oZWFkZXIuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjb3JlLWxheW91dFwiLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0hlYWRlckNvbXBvbmVudCwgU2lkZU5hdkNvbXBvbmVudCwgTWF0U2lkZW5hdk1vZHVsZSwgUm91dGVyT3V0bGV0LCBOZ0NvbXBvbmVudE91dGxldCwgV29ya2Zsb3dTZWN0aW9uQ29tcG9uZW50LCBTZXJ2aWNlSGVhZGVyQ29tcG9uZW50LCBOZ0NsYXNzLCBOZ0lmXSxcclxuICB0ZW1wbGF0ZVVybDogXCIuL2xheW91dC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsOiBcIi4vbGF5b3V0LmNvbXBvbmVudC5zY3NzXCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMYXlvdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQFZpZXdDaGlsZChcInNpZGVuYXZcIiwge3N0YXRpYzogdHJ1ZX0pIHB1YmxpYyBzaWRlbmF2ITogTWF0U2lkZW5hdjtcclxuICBzaWRlQ29udGVudDogYW55O1xyXG4gIHByaXZhdGUgc2lkZW5hdlN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcclxuICBASW5wdXQoKSBmb3JtOiBGb3JtO1xyXG4gIEBJbnB1dCgpIGh1YkNvbnRhaW5lck1pbmk6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGZvcm1UaXRsZTogc3RyaW5nXHJcbiAgQElucHV0KCkgaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2VydmljZUJyaWVmOiBhbnlbXSA9IFtdO1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50OiBEb2N1bWVudCxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNpZGVuYXZTZXJ2aWNlOiBTaWRlbmF2U2VydmljZSxcclxuICApIHt9XHJcblxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2lkZW5hdlN1YnNjcmlwdGlvbiA9IHRoaXMuc2lkZW5hdlNlcnZpY2Uuc3ViamVjdC5zdWJzY3JpYmUoXHJcbiAgICAgICh2YWx1ZTogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5zaWRlQ29udGVudCA9IHZhbHVlLmNvbXBvbmVudE5hbWU7XHJcbiAgICAgICAgdGhpcy5zaWRlbmF2Lm1vZGUgPSB2YWx1ZS5tb2RlO1xyXG4gICAgICAgIHRoaXMuc2lkZW5hdi5wb3NpdGlvbiA9IHZhbHVlLnBvc2l0aW9uO1xyXG4gICAgICAgIGlmICh2YWx1ZS5ldmVudE5hbWUgPT09IFwib3BlblwiKSB7XHJcbiAgICAgICAgICB0aGlzLm9wZW5TaWRlTmF2KCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuY2xvc2VTaWRlTmF2KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zaWRlbmF2U3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgIHRoaXMuc2lkZW5hdlN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25DbG9zZSgpIHtcclxuICAgIHRoaXMuZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKFwiTm9TY3JvbGxcIik7XHJcbiAgICB0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKFwiTm9TY3JvbGxcIik7XHJcbiAgfVxyXG5cclxuICBiYWNrZHJvcENsaWNrKCkge1xyXG4gICAgdGhpcy5zaWRlbmF2LmNsb3NlKCkudGhlbihyID0+IHt9KTtcclxuICAgIHRoaXMuc2lkZW5hdlNlcnZpY2UuY2xvc2VTaWRlbmF2KCk7XHJcbiAgICB0aGlzLmRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZShcIk5vU2Nyb2xsXCIpO1xyXG4gICAgdGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShcIk5vU2Nyb2xsXCIpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvcGVuU2lkZU5hdigpIHtcclxuICAgIHRoaXMuc2lkZW5hdi5vcGVuKCkudGhlbihyID0+IHt9KTtcclxuICAgIHRoaXMuZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKFwiTm9TY3JvbGxcIik7XHJcbiAgICB0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKFwiTm9TY3JvbGxcIik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNsb3NlU2lkZU5hdigpIHtcclxuICAgIHRoaXMuc2lkZW5hdi5jbG9zZSgpLnRoZW4ociA9PiB7fSk7XHJcbiAgfVxyXG59XHJcbiIsIjxhcHAtaGVhZGVyPjwvYXBwLWhlYWRlcj5cclxuPHNlY3Rpb24gY2xhc3M9XCJkLWZsZXhcIj5cclxuICA8YXBwLXNpZGUtbmF2PjwvYXBwLXNpZGUtbmF2PlxyXG4gIDxtYXQtc2lkZW5hdi1jb250YWluZXJcclxuICAgIGNsYXNzPVwiZmxleC1ncm93LTFcIlxyXG4gICAgW2hhc0JhY2tkcm9wXT1cInRydWVcIlxyXG4gICAgKGJhY2tkcm9wQ2xpY2spPVwiYmFja2Ryb3BDbGljaygpXCJcclxuICA+XHJcbiAgICA8bWF0LXNpZGVuYXZcclxuICAgICAgI3NpZGVuYXZcclxuICAgICAgYXV0b0ZvY3VzPVwiZmFsc2VcIlxyXG4gICAgICBmaXhlZEluVmlld3BvcnRcclxuICAgICAgW3Bvc2l0aW9uXT1cIidlbmQnXCJcclxuICAgICAgKGNsb3NlZFN0YXJ0KT1cIm9uQ2xvc2UoKVwiXHJcbiAgICA+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwic2lkZUNvbnRlbnRcIj5cclxuICAgICAgICA8YXBwLXNpZGUtbmF2PjwvYXBwLXNpZGUtbmF2PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbWF0LXNpZGVuYXY+XHJcbiAgICA8bWF0LXNpZGVuYXYtY29udGVudD5cclxuICAgICAgPG1haW5cclxuICAgICAgICBjbGFzcz1cImhhZFBhZGRpbmcgc2VydmljZS13cmFwcGVyXCJcclxuICAgICAgICBbbmdDbGFzc109XCJodWJDb250YWluZXJNaW5pID8gJ2h1Yi1jb250YWluZXItbWluaScgOiAnaHViLWNvbnRhaW5lcidcIj5cclxuXHJcbiAgICAgICAgPG5nLWNvbnRlbnQgPjwvbmctY29udGVudD5cclxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbd29ya2Zsb3ddXCI+PC9uZy1jb250ZW50PlxyXG5cclxuICAgICAgPC9tYWluPlxyXG4gICAgPC9tYXQtc2lkZW5hdi1jb250ZW50PlxyXG4gIDwvbWF0LXNpZGVuYXYtY29udGFpbmVyPlxyXG48L3NlY3Rpb24+XHJcbiJdfQ==