bpm-core 0.0.14 → 0.0.16

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 (29) hide show
  1. package/esm2022/lib/components/app-component-sections/form-section/form-section.component.mjs +5 -6
  2. package/esm2022/lib/components/app-component-sections/layout/layout.component.mjs +1 -4
  3. package/esm2022/lib/components/app-component-sections/main-request-details/main-request-details.component.mjs +3 -3
  4. package/esm2022/lib/components/app-component-sections/service-header/service-header.component.mjs +1 -1
  5. package/esm2022/lib/components/app-component-sections/workflow-section/workflow-section.component.mjs +3 -3
  6. package/fesm2022/bpm-core.mjs +9 -13
  7. package/fesm2022/bpm-core.mjs.map +1 -1
  8. package/lib/components/app-component-sections/form-section/form-section.component.d.ts +2 -2
  9. package/lib/components/app-component-sections/service-header/service-header.component.d.ts +1 -1
  10. package/lib/components/app-component-sections/workflow-section/workflow-section.component.d.ts +1 -1
  11. package/lib/components/shared-components/dialogs/submit-dialog/submit-dialog.component.d.ts +1 -1
  12. package/lib/services/core.service.ts.d.ts +1 -1
  13. package/package.json +1 -1
  14. package/src/lib/assets/scss/_bootstrap.scss +39 -0
  15. package/src/lib/assets/scss/_bottom-sheet.scss +33 -0
  16. package/src/lib/assets/scss/_categories.scss +159 -0
  17. package/src/lib/assets/scss/_charts.scss +190 -0
  18. package/src/lib/assets/scss/_custom-popover.scss +302 -0
  19. package/src/lib/assets/scss/_font-custom.scss +0 -0
  20. package/src/lib/assets/scss/_general.scss +2011 -0
  21. package/src/lib/assets/scss/_main-sidenav.scss +350 -0
  22. package/src/lib/assets/scss/_settings.scss +93 -0
  23. package/src/lib/assets/scss/_stepper.scss +39 -0
  24. package/src/lib/assets/scss/_swiper.scss +115 -0
  25. package/src/lib/assets/scss/_toaster.scss +9 -0
  26. package/src/lib/assets/scss/_upgrade.scss +279 -0
  27. package/src/lib/assets/scss/_user-list.scss +40 -0
  28. package/src/lib/assets/scss/input-telephone.scss +160 -0
  29. package/src/lib/assets/scss/base.css +0 -451
@@ -41,14 +41,13 @@ export class FormSectionComponent {
41
41
  highlightFlag;
42
42
  processingDate;
43
43
  randomID = Math.floor(Math.random() * (999999 - 100000)) + 100000;
44
- constructor(
45
- // private segmentDynamicLoaderService: SegmentDynamicLoaderService,
46
- i18n) {
44
+ constructor(i18n) {
47
45
  this.i18n = i18n;
48
46
  this.highlightFlag = false;
49
47
  }
50
48
  ngOnInit() {
51
49
  this.sectionFormComponent = this.segmentDynamicLoaderService.getComponent(this.section.id);
50
+ console.log('xxxx', this.sectionFormComponent);
52
51
  if (this.section.body.details.stageName) {
53
52
  this.sectionName = this.section.body.details.stageName;
54
53
  }
@@ -229,7 +228,7 @@ export class FormSectionComponent {
229
228
  }
230
229
  }
231
230
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FormSectionComponent, deps: [{ token: i1.CoreI18nService }], target: i0.ɵɵFactoryTarget.Component });
232
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: FormSectionComponent, isStandalone: true, selector: "app-form-section", inputs: { requestDetails: "requestDetails", section: "section", form: "form", lov: "lov", isReadOnly: "isReadOnly", isOpen: "isOpen", isFinalApproval: "isFinalApproval", controllers: "controllers", segmentDynamicLoaderService: "segmentDynamicLoaderService", sectionFormComponent: "sectionFormComponent", sectionName: "sectionName" }, viewQueries: [{ propertyName: "popover", first: true, predicate: ["popover"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<!-- <div class=\"panel-heading\" role=\"button\" [id]=\"sectionId()\" *ngIf=\"showHeader()\"> -->\r\n<mat-expansion-panel\r\n class=\"mb-4\" [expanded]=\"isExpanded\" *ngIf=\"form?.header?.status?.['key'] !== 'NEW' \" hideToggle\r\n #approvalPanel=\"matExpansionPanel\">\r\n <mat-expansion-panel-header>\r\n\r\n <div class=\"approval-panel-container\">\r\n <div class=\"d-flex gap-2 flex-grow-1 approval-panel-title\">\r\n <ds-status\r\n status=\"{{statusIconClass(sectionStatusKey,'status')}}\" no-opacity icon\r\n class=\"circle-status d-none d-sm-inline-block\">\r\n <ds-icon icon=\"{{statusIconClass(sectionStatusKey,'icon')}}\"></ds-icon>\r\n </ds-status>\r\n <div class=\"d-flex flex-column flex-grow-1\">\r\n <span class=\"fs-16 fw-medium m-0\"> {{ sectionName }}</span>\r\n <bdi class=\"fs-12 fc-dark-gray fw-normal line-height-1 d-block\" *ngIf=\"section.header?.processedBy\">\r\n {{ processingDate }}\r\n </bdi>\r\n </div>\r\n </div>\r\n <div class=\"approval-panel-details gap-1\">\r\n <ng-container *ngIf=\"(!section?.body?.details?.stage0?.isStage0 || section?.body?.details?.stage0?.isStage0 === 'false')\">\r\n <div\r\n class=\"d-flex align-items-center gap-3\" *ngIf=\"section?.header?.personTo\"\r\n (click)=\"$event.stopImmediatePropagation();\">\r\n <div\r\n (click)=\"toggleSmallProfileInfo($event, 'receipient')\"\r\n class=\"d-flex align-items-center gap-2 radius-3 h-40\"\r\n [ngClass]=\"{'user-avatar-name px-0 px-md-2': !section?.header?.delegatedTo, 'p-0': section?.header?.delegatedTo}\">\r\n <ds-avatar image=\"{{section?.header?.personToThumbnail}}\" size=\"small\" class=\"user-avatar\"></ds-avatar>\r\n <span\r\n class=\"fs-14 fw-medium d-inline-block panel-user-name text-truncate\"\r\n [ngClass]=\"{'panel-ueser-only': !section?.header?.delegatedTo}\"\r\n *ngIf=\"!section?.header?.delegatedTo\">{{ section?.header?.personTo }}</span>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"section?.header?.delegatedTo\" class=\"d-flex align-items-center gap-3\"\r\n (click)=\"toggleSmallProfileInfo($event, 'delegate')\">\r\n <img\r\n class=\"rotate-arrow\"\r\n src=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMSIgaGVpZ2h0PSIxMyIgdmlld0JveD0iMCAwIDIxIDEzIj48cGF0aCBkPSJNMjEsNy43NjNhMS42MjEsMS42MjEsMCwwLDEtLjQ0Ny41OTMsMS4zMDYsMS4zMDYsMCwwLDEtLjc1LjE5NGMtNy4yODQsMC04LjU2OCwwLTE1Ljg1MywwSDMuNjY5TDMuNjMsOC42Yy4wNzcuMDY0LjE1OC4xMjQuMjI5LjE5NHExLjcxLDEuNjksMy40MiwzLjM4MWExLjAyMywxLjAyMywwLDAsMSwuMjkxLDEuMDc5Ljk5Mi45OTIsMCwwLDEtLjguNzE5LDEuMDUzLDEuMDUzLDAsMCwxLTEtLjMzMVEzLjgzMSwxMS43MTksMS44ODYsOS44Yy0uNDQyLS40MzctLjg3OS0uODgxLTEuMzMtMS4zMDlBNC41NzIsNC41NzIsMCwwLDEsMCw3LjgxNFY3LjE4NUEzMC43ODMsMzAuNzgzLDAsMCwxLDIuNzMsNC4zNzFjMS0xLjAyNywyLjAzOC0yLjAyNSwzLjA2My0zLjAzMkExLjA0OSwxLjA0OSwwLDEsMSw3LjI3NywyLjgyQzYuNCwzLjcsNS41MDksNC41Nyw0LjYyNSw1LjQ0NmMtLjMyMy4zMjEtLjY0NC42NDUtLjk3My45NzYuMDg0LjA1OS4xODEuMDI3LjI3LjAyNyw3LjI1OCwwLDguNTE2LDAsMTUuNzc1LDBBMS4xMjksMS4xMjksMCwwLDEsMjEsNy4yOXYuNDcyWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAtMC45OTkpIiBmaWxsPSIjYTU0ZWUxIi8+PC9zdmc+\"\r\n alt=\"\" />\r\n <div class=\"d-flex align-items-center gap-2 px-0 px-md-2 radius-3 user-avatar-name h-40\">\r\n <ds-avatar image=\"{{section?.header?.delegatedToThumbnail}}\" size=\"small\" class=\"user-avatar\"></ds-avatar>\r\n <span\r\n class=\"fs-14 fw-medium d-inline-block panel-user-name text-truncate\">{{ section?.header?.delegatedTo }}</span>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <ds-status\r\n class=\"main-status\" *ngIf=\"section?.body?.details?.decision?.key\"\r\n status=\"{{statusIconClass(sectionStatusKey,'status')}}\">{{ sectionStatusValue }}\r\n </ds-status>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"approval-panel-toggle\">\r\n <ds-icon icon=\"plus-1\" class=\"fs-20 fc-coral\" *ngIf=\"!approvalPanel.expanded\"></ds-icon>\r\n\r\n <ds-icon icon=\"minus\" class=\"fs-20 fc-dark-gray\" *ngIf=\"approvalPanel.expanded\"></ds-icon>\r\n </div>\r\n\r\n </div>\r\n </mat-expansion-panel-header>\r\n\r\n <section class=\"border-top pt-4\">\r\n <ng-container *ngComponentOutlet=\"sectionFormComponent; ndcDynamicInputs: input\"></ng-container>\r\n </section>\r\n\r\n</mat-expansion-panel>\r\n<ng-container *ngIf=\"form?.header?.status?.['key'] === 'NEW' \">\r\n <ng-container *ngComponentOutlet=\"sectionFormComponent; ndcDynamicInputs: input\"></ng-container>\r\n</ng-container>\r\n\r\n<sat-popover #popover [hasBackdrop]=\"true\" horizontalAlign=\"center\" verticalAlign=\"above\">\r\n <div class=\"delegate-info-popup\">\r\n <ds-avatar *ngIf=\"userType === 'receipient'\" image=\"{{section?.header?.personToThumbnail}}\" size=\"small\"></ds-avatar>\r\n <ds-avatar *ngIf=\"userType === 'delegate'\" image=\"{{section?.header?.delegatedToThumbnail}}\" size=\"small\"></ds-avatar>\r\n <div class=\"delegate-info mx-0\">\r\n <div class=\"fs-16 fw-medium fc-black mb-0\">{{ userPopoverInfo?.name }}</div>\r\n <div class=\"fs-12 fw-normal fc-black mb-2\">{{ userPopoverInfo?.job?.name }}</div>\r\n <div class=\"user-info fc-black fs-10 mb-1\">\r\n <ds-icon icon=\"phone\" class=\"fs-18 fc-dark-gray\"></ds-icon>\r\n <bdi (click)=\"locationHref('tel:'+ userPopoverInfo?.contact?.work)\">{{ userPopoverInfo?.contact?.work }}</bdi>\r\n </div>\r\n <div class=\"user-info fc-black fs-10 mb-1\">\r\n <ds-icon icon=\"phone\" class=\"fs-18 fc-dark-gray\"></ds-icon>\r\n <bdi (click)=\"locationHref('tel:'+ userPopoverInfo?.contact?.mobile)\">{{ userPopoverInfo?.contact?.mobile }}</bdi>\r\n </div>\r\n <div class=\"user-info fc-black fs-10 mb-1\">\r\n <ds-icon icon=\"mail-o\" class=\"fs-18 fc-dark-gray\"></ds-icon>\r\n <span (click)=\"locationHref('mailto:'+ userPopoverInfo?.email)\">{{ userPopoverInfo?.email }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n</sat-popover>\r\n\r\n\r\n\r\n<!--\r\n<mat-expansion-panel\r\n class=\"mb-4\" [expanded]=\"true\" hideToggle\r\n #approvalPanel=\"matExpansionPanel\">\r\n <mat-expansion-panel-header>\r\n\r\n <div class=\"approval-panel-container\">\r\n <div class=\"d-flex gap-2 flex-grow-1 approval-panel-title\">\r\n <ds-status\r\n status=\"{{statusClass(sectionStatusKey)}}\" no-opacity icon\r\n class=\"circle-status d-none d-sm-inline-block\">\r\n <ds-icon icon=\"{{statusIcon(sectionStatusKey)}}\"></ds-icon>\r\n </ds-status>\r\n <div class=\"d-flex flex-column flex-grow-1\">\r\n <span class=\"fs-16 fw-medium m-0\"> {{ sectionName }}</span>\r\n <bdi class=\"fs-12 fc-dark-gray fw-normal line-height-1 d-block mt-1\" *ngIf=\"section.header?.processedBy\">\r\n {{ processingDate }}\r\n </bdi>\r\n </div>\r\n </div>\r\n <div class=\"approval-panel-details gap-1\">\r\n <div\r\n class=\"d-flex align-items-center gap-3\" *ngIf=\"section?.header?.personTo;\"\r\n (click)=\"$event.stopImmediatePropagation();\">\r\n <div\r\n (click)=\"toggleSmallProfileInfo($event, 'recipient')\"\r\n class=\"d-flex align-items-center gap-2 radius-3 h-40\"\r\n [ngClass]=\"{'user-avatar-name px-0 px-md-2': !section?.header?.delegatedTo, 'p-0': section?.header?.delegatedTo}\">\r\n <ds-avatar image=\"{{section?.header?.personToThumbnail}}\" size=\"small\" class=\"user-avatar\"></ds-avatar>\r\n <span\r\n class=\"fs-14 fw-medium d-inline-block panel-user-name text-truncate\" [ngClass]=\"{'panel-ueser-only': !section?.header?.delegatedTo}\"\r\n *ngIf=\"!section?.header?.delegatedTo\">{{ section?.header?.personTo }}</span>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"section?.header?.delegatedTo\" class=\"d-flex align-items-center gap-3\"\r\n (click)=\"toggleSmallProfileInfo($event, 'delegate')\">\r\n <img\r\n class=\"rotate-arrow\"\r\n src=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMSIgaGVpZ2h0PSIxMyIgdmlld0JveD0iMCAwIDIxIDEzIj48cGF0aCBkPSJNMjEsNy43NjNhMS42MjEsMS42MjEsMCwwLDEtLjQ0Ny41OTMsMS4zMDYsMS4zMDYsMCwwLDEtLjc1LjE5NGMtNy4yODQsMC04LjU2OCwwLTE1Ljg1MywwSDMuNjY5TDMuNjMsOC42Yy4wNzcuMDY0LjE1OC4xMjQuMjI5LjE5NHExLjcxLDEuNjksMy40MiwzLjM4MWExLjAyMywxLjAyMywwLDAsMSwuMjkxLDEuMDc5Ljk5Mi45OTIsMCwwLDEtLjguNzE5LDEuMDUzLDEuMDUzLDAsMCwxLTEtLjMzMVEzLjgzMSwxMS43MTksMS44ODYsOS44Yy0uNDQyLS40MzctLjg3OS0uODgxLTEuMzMtMS4zMDlBNC41NzIsNC41NzIsMCwwLDEsMCw3LjgxNFY3LjE4NUEzMC43ODMsMzAuNzgzLDAsMCwxLDIuNzMsNC4zNzFjMS0xLjAyNywyLjAzOC0yLjAyNSwzLjA2My0zLjAzMkExLjA0OSwxLjA0OSwwLDEsMSw3LjI3NywyLjgyQzYuNCwzLjcsNS41MDksNC41Nyw0LjYyNSw1LjQ0NmMtLjMyMy4zMjEtLjY0NC42NDUtLjk3My45NzYuMDg0LjA1OS4xODEuMDI3LjI3LjAyNyw3LjI1OCwwLDguNTE2LDAsMTUuNzc1LDBBMS4xMjksMS4xMjksMCwwLDEsMjEsNy4yOXYuNDcyWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAtMC45OTkpIiBmaWxsPSIjYTU0ZWUxIi8+PC9zdmc+\"/>\r\n <div class=\"d-flex align-items-center gap-2 px-0 px-md-2 radius-3 user-avatar-name h-40\">\r\n <ds-avatar image=\"{{section?.header?.delegatedToThumbnail}}\" size=\"small\" class=\"user-avatar\"></ds-avatar>\r\n <span\r\n class=\"fs-14 fw-medium d-inline-block panel-user-name text-truncate\">{{ section?.header?.delegatedTo }}</span>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n <ds-status\r\n class=\"main-status\" *ngIf=\"section?.body?.details?.['decision']?.key;\"\r\n status=\"{{statusClass(section?.body?.details?.['decision']?.key)}}\">{{ section?.body?.details?.['decision']?.value }}\r\n </ds-status>\r\n </div>\r\n\r\n <div class=\"approval-panel-toggle\">\r\n <ds-icon icon=\"plus-1\" class=\"fs-20 fc-coral\" *ngIf=\"!approvalPanel.expanded\"></ds-icon>\r\n <ds-icon icon=\"minus\" class=\"fs-20 fc-dark-gray\" *ngIf=\"approvalPanel.expanded\"></ds-icon>\r\n </div>\r\n\r\n </div>\r\n </mat-expansion-panel-header>\r\n <section class=\"border-top pt-4\">\r\n\r\n <app-workflow-approval\r\n [isReadOnly]=\"input.isReadOnly\"\r\n [lov]=\"input.lov\"\r\n [section]=\"input.section\"\r\n [requestDetails]=\"requestDetails\"\r\n ></app-workflow-approval>\r\n &lt;!&ndash; <ng-container *ngComponentOutlet=\"sectionFormComponent; ndcDynamicInputs: input\"></ng-container>&ndash;&gt;\r\n </section>\r\n\r\n</mat-expansion-panel>\r\n<ng-container *ngIf=\"form?.header?.status?.['key'] == 'NEW' \">\r\n <ng-container *ngComponentOutlet=\"sectionFormComponent; ndcDynamicInputs: input\"></ng-container>\r\n</ng-container>\r\n-->\r\n", styles: [":host ::ng-deep .mat-expansion-panel-content{background:#fff!important}:host .mat-expansion-panel-content{background:#fff!important}:host .approval-panel-container{display:grid;grid-template-columns:40% calc(60% - 45px) 20px;grid-template-areas:\"title details toggle\";gap:.75rem;place-content:space-between;align-items:center;flex-grow:1;width:100%}@media (max-width: 991px){:host .approval-panel-container{grid-template-columns:calc(100% - 45px) 20px;grid-template-areas:\"title toggle\" \"details details\"}}:host .approval-panel-container .approval-panel-title{grid-area:title}:host .approval-panel-container .panel-user-name{max-width:120px}@media (max-width: 768px){:host .approval-panel-container .panel-user-name.panel-ueser-only{max-width:140px}:host .approval-panel-container .panel-user-name:not(.panel-ueser-only){max-width:90px}}:host .approval-panel-container .approval-panel-details{display:flex;align-items:center;justify-content:space-between;grid-area:details}:host .approval-panel-container .approval-panel-toggle{grid-area:toggle;display:flex;align-items:center;justify-content:center;width:20px}:host ::ng-deep ds-avatar.user-avatar .avatar{--default-size: 25px}@media (min-width: 768px){:host ::ng-deep ds-avatar.user-avatar .avatar{--default-size: 31px;--avatar-border: 3px solid var(--light-gray)}}@media (min-width: 768px){:host ::ng-deep .user-avatar-name{padding-inline-end:1rem!important}}:host .circle-status::part(base){--status-radius: 50%;--status-size: 18px;--status-fs: 80% }:host .panel-title{min-width:40%;width:40%}@media (max-width: 576px){:host .panel-title{min-width:100%!important;width:100%!important}}:host .panel-user-status{min-width:60%;width:60%;display:flex;align-items:center;justify-content:space-between}@media (max-width: 576px){:host .panel-user-status{min-width:100%!important;width:100%!important}:host .panel-user-status .user-delegate{min-width:auto}:host .panel-user-status .main-status::part(base){--status-width: 50px}}\n"], dependencies: [{ kind: "component", type: MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: ComponentOutletIoDirective, selector: "[ngComponentOutletNdcDynamicInputs],[ngComponentOutletNdcDynamicOutputs]", inputs: ["ngComponentOutletNdcDynamicInputs", "ngComponentOutletNdcDynamicOutputs"], exportAs: ["ndcDynamicIo"] }, { kind: "ngmodule", type: SatPopoverModule }, { kind: "component", type: i2.SatPopoverComponent, selector: "sat-popover", inputs: ["anchor", "horizontalAlign", "xAlign", "verticalAlign", "yAlign", "forceAlignment", "lockAlignment", "autoFocus", "restoreFocus", "scrollStrategy", "hasBackdrop", "interactiveClose", "openTransition", "closeTransition", "openAnimationStartAtScale", "closeAnimationEndAtScale", "backdropClass", "panelClass"], outputs: ["opened", "closed", "afterOpen", "afterClose", "backdropClicked", "overlayKeydown"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
231
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: FormSectionComponent, isStandalone: true, selector: "app-form-section", inputs: { requestDetails: "requestDetails", section: "section", form: "form", lov: "lov", isReadOnly: "isReadOnly", isOpen: "isOpen", isFinalApproval: "isFinalApproval", controllers: "controllers", segmentDynamicLoaderService: "segmentDynamicLoaderService", sectionFormComponent: "sectionFormComponent", sectionName: "sectionName" }, viewQueries: [{ propertyName: "popover", first: true, predicate: ["popover"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<!-- <div class=\"panel-heading\" role=\"button\" [id]=\"sectionId()\" *ngIf=\"showHeader()\"> -->\r\n<mat-expansion-panel\r\n class=\"mb-4\" [expanded]=\"isExpanded\" *ngIf=\"form?.header?.status?.['key'] !== 'NEW' \" hideToggle\r\n #approvalPanel=\"matExpansionPanel\">\r\n <mat-expansion-panel-header>\r\n\r\n <div class=\"approval-panel-container\">\r\n <div class=\"d-flex gap-2 flex-grow-1 approval-panel-title\">\r\n <ds-status\r\n status=\"{{statusIconClass(sectionStatusKey,'status')}}\" no-opacity icon\r\n class=\"circle-status d-none d-sm-inline-block\">\r\n <ds-icon icon=\"{{statusIconClass(sectionStatusKey,'icon')}}\"></ds-icon>\r\n </ds-status>\r\n <div class=\"d-flex flex-column flex-grow-1\">\r\n <span class=\"fs-16 fw-medium m-0\"> {{ sectionName }}</span>\r\n <bdi class=\"fs-12 fc-dark-gray fw-normal line-height-1 d-block\" *ngIf=\"section.header?.processedBy\">\r\n {{ processingDate }}\r\n </bdi>\r\n </div>\r\n </div>\r\n <div class=\"approval-panel-details gap-1\">\r\n <ng-container *ngIf=\"(!section?.body?.details?.stage0?.isStage0 || section?.body?.details?.stage0?.isStage0 === 'false')\">\r\n <div\r\n class=\"d-flex align-items-center gap-3\" *ngIf=\"section?.header?.personTo\"\r\n (click)=\"$event.stopImmediatePropagation();\">\r\n <div\r\n (click)=\"toggleSmallProfileInfo($event, 'receipient')\"\r\n class=\"d-flex align-items-center gap-2 radius-3 h-40\"\r\n [ngClass]=\"{'user-avatar-name px-0 px-md-2': !section?.header?.delegatedTo, 'p-0': section?.header?.delegatedTo}\">\r\n <ds-avatar image=\"{{section?.header?.personToThumbnail}}\" size=\"small\" class=\"user-avatar\"></ds-avatar>\r\n <span\r\n class=\"fs-14 fw-medium d-inline-block panel-user-name text-truncate\"\r\n [ngClass]=\"{'panel-ueser-only': !section?.header?.delegatedTo}\"\r\n *ngIf=\"!section?.header?.delegatedTo\">{{ section?.header?.personTo }}</span>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"section?.header?.delegatedTo\" class=\"d-flex align-items-center gap-3\"\r\n (click)=\"toggleSmallProfileInfo($event, 'delegate')\">\r\n <img\r\n class=\"rotate-arrow\"\r\n src=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMSIgaGVpZ2h0PSIxMyIgdmlld0JveD0iMCAwIDIxIDEzIj48cGF0aCBkPSJNMjEsNy43NjNhMS42MjEsMS42MjEsMCwwLDEtLjQ0Ny41OTMsMS4zMDYsMS4zMDYsMCwwLDEtLjc1LjE5NGMtNy4yODQsMC04LjU2OCwwLTE1Ljg1MywwSDMuNjY5TDMuNjMsOC42Yy4wNzcuMDY0LjE1OC4xMjQuMjI5LjE5NHExLjcxLDEuNjksMy40MiwzLjM4MWExLjAyMywxLjAyMywwLDAsMSwuMjkxLDEuMDc5Ljk5Mi45OTIsMCwwLDEtLjguNzE5LDEuMDUzLDEuMDUzLDAsMCwxLTEtLjMzMVEzLjgzMSwxMS43MTksMS44ODYsOS44Yy0uNDQyLS40MzctLjg3OS0uODgxLTEuMzMtMS4zMDlBNC41NzIsNC41NzIsMCwwLDEsMCw3LjgxNFY3LjE4NUEzMC43ODMsMzAuNzgzLDAsMCwxLDIuNzMsNC4zNzFjMS0xLjAyNywyLjAzOC0yLjAyNSwzLjA2My0zLjAzMkExLjA0OSwxLjA0OSwwLDEsMSw3LjI3NywyLjgyQzYuNCwzLjcsNS41MDksNC41Nyw0LjYyNSw1LjQ0NmMtLjMyMy4zMjEtLjY0NC42NDUtLjk3My45NzYuMDg0LjA1OS4xODEuMDI3LjI3LjAyNyw3LjI1OCwwLDguNTE2LDAsMTUuNzc1LDBBMS4xMjksMS4xMjksMCwwLDEsMjEsNy4yOXYuNDcyWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAtMC45OTkpIiBmaWxsPSIjYTU0ZWUxIi8+PC9zdmc+\"\r\n alt=\"\" />\r\n <div class=\"d-flex align-items-center gap-2 px-0 px-md-2 radius-3 user-avatar-name h-40\">\r\n <ds-avatar image=\"{{section?.header?.delegatedToThumbnail}}\" size=\"small\" class=\"user-avatar\"></ds-avatar>\r\n <span\r\n class=\"fs-14 fw-medium d-inline-block panel-user-name text-truncate\">{{ section?.header?.delegatedTo }}</span>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <ds-status\r\n class=\"main-status\" *ngIf=\"section?.body?.details?.decision?.key\"\r\n status=\"{{statusIconClass(sectionStatusKey,'status')}}\">{{ sectionStatusValue }}\r\n </ds-status>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"approval-panel-toggle\">\r\n <ds-icon icon=\"plus-1\" class=\"fs-20 fc-coral\" *ngIf=\"!approvalPanel.expanded\"></ds-icon>\r\n\r\n <ds-icon icon=\"minus\" class=\"fs-20 fc-dark-gray\" *ngIf=\"approvalPanel.expanded\"></ds-icon>\r\n </div>\r\n\r\n </div>\r\n </mat-expansion-panel-header>\r\n\r\n <section class=\"border-top pt-4\">\r\n <ng-container *ngComponentOutlet=\"sectionFormComponent; ndcDynamicInputs: input\"></ng-container>\r\n </section>\r\n\r\n</mat-expansion-panel>\r\n<ng-container *ngIf=\"form?.header?.status?.['key'] === 'NEW' \">\r\n <ng-container *ngComponentOutlet=\"sectionFormComponent; ndcDynamicInputs: input\"></ng-container>\r\n</ng-container>\r\n\r\n<sat-popover #popover [hasBackdrop]=\"true\" horizontalAlign=\"center\" verticalAlign=\"above\">\r\n <div class=\"delegate-info-popup\">\r\n <ds-avatar *ngIf=\"userType === 'receipient'\" image=\"{{section?.header?.personToThumbnail}}\" size=\"small\"></ds-avatar>\r\n <ds-avatar *ngIf=\"userType === 'delegate'\" image=\"{{section?.header?.delegatedToThumbnail}}\" size=\"small\"></ds-avatar>\r\n <div class=\"delegate-info mx-0\">\r\n <div class=\"fs-16 fw-medium fc-black mb-0\">{{ userPopoverInfo?.name }}</div>\r\n <div class=\"fs-12 fw-normal fc-black mb-2\">{{ userPopoverInfo?.job?.name }}</div>\r\n <div class=\"user-info fc-black fs-10 mb-1\">\r\n <ds-icon icon=\"phone\" class=\"fs-18 fc-dark-gray\"></ds-icon>\r\n <bdi (click)=\"locationHref('tel:'+ userPopoverInfo?.contact?.work)\">{{ userPopoverInfo?.contact?.work }}</bdi>\r\n </div>\r\n <div class=\"user-info fc-black fs-10 mb-1\">\r\n <ds-icon icon=\"phone\" class=\"fs-18 fc-dark-gray\"></ds-icon>\r\n <bdi (click)=\"locationHref('tel:'+ userPopoverInfo?.contact?.mobile)\">{{ userPopoverInfo?.contact?.mobile }}</bdi>\r\n </div>\r\n <div class=\"user-info fc-black fs-10 mb-1\">\r\n <ds-icon icon=\"mail-o\" class=\"fs-18 fc-dark-gray\"></ds-icon>\r\n <span (click)=\"locationHref('mailto:'+ userPopoverInfo?.email)\">{{ userPopoverInfo?.email }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n</sat-popover>\r\n", styles: [":host ::ng-deep .mat-expansion-panel-content{background:#fff!important}:host .mat-expansion-panel-content{background:#fff!important}:host .approval-panel-container{display:grid;grid-template-columns:40% calc(60% - 45px) 20px;grid-template-areas:\"title details toggle\";gap:.75rem;place-content:space-between;align-items:center;flex-grow:1;width:100%}@media (max-width: 991px){:host .approval-panel-container{grid-template-columns:calc(100% - 45px) 20px;grid-template-areas:\"title toggle\" \"details details\"}}:host .approval-panel-container .approval-panel-title{grid-area:title}:host .approval-panel-container .panel-user-name{max-width:120px}@media (max-width: 768px){:host .approval-panel-container .panel-user-name.panel-ueser-only{max-width:140px}:host .approval-panel-container .panel-user-name:not(.panel-ueser-only){max-width:90px}}:host .approval-panel-container .approval-panel-details{display:flex;align-items:center;justify-content:space-between;grid-area:details}:host .approval-panel-container .approval-panel-toggle{grid-area:toggle;display:flex;align-items:center;justify-content:center;width:20px}:host ::ng-deep ds-avatar.user-avatar .avatar{--default-size: 25px}@media (min-width: 768px){:host ::ng-deep ds-avatar.user-avatar .avatar{--default-size: 31px;--avatar-border: 3px solid var(--light-gray)}}@media (min-width: 768px){:host ::ng-deep .user-avatar-name{padding-inline-end:1rem!important}}:host .circle-status::part(base){--status-radius: 50%;--status-size: 18px;--status-fs: 80% }:host .panel-title{min-width:40%;width:40%}@media (max-width: 576px){:host .panel-title{min-width:100%!important;width:100%!important}}:host .panel-user-status{min-width:60%;width:60%;display:flex;align-items:center;justify-content:space-between}@media (max-width: 576px){:host .panel-user-status{min-width:100%!important;width:100%!important}:host .panel-user-status .user-delegate{min-width:auto}:host .panel-user-status .main-status::part(base){--status-width: 50px}}\n"], dependencies: [{ kind: "component", type: MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: ComponentOutletIoDirective, selector: "[ngComponentOutletNdcDynamicInputs],[ngComponentOutletNdcDynamicOutputs]", inputs: ["ngComponentOutletNdcDynamicInputs", "ngComponentOutletNdcDynamicOutputs"], exportAs: ["ndcDynamicIo"] }, { kind: "ngmodule", type: SatPopoverModule }, { kind: "component", type: i2.SatPopoverComponent, selector: "sat-popover", inputs: ["anchor", "horizontalAlign", "xAlign", "verticalAlign", "yAlign", "forceAlignment", "lockAlignment", "autoFocus", "restoreFocus", "scrollStrategy", "hasBackdrop", "interactiveClose", "openTransition", "closeTransition", "openAnimationStartAtScale", "closeAnimationEndAtScale", "backdropClass", "panelClass"], outputs: ["opened", "closed", "afterOpen", "afterClose", "backdropClicked", "overlayKeydown"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
233
232
  }
234
233
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FormSectionComponent, decorators: [{
235
234
  type: Component,
@@ -240,7 +239,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
240
239
  ComponentOutletIoDirective,
241
240
  SatPopoverModule,
242
241
  NgClass
243
- ], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<!-- <div class=\"panel-heading\" role=\"button\" [id]=\"sectionId()\" *ngIf=\"showHeader()\"> -->\r\n<mat-expansion-panel\r\n class=\"mb-4\" [expanded]=\"isExpanded\" *ngIf=\"form?.header?.status?.['key'] !== 'NEW' \" hideToggle\r\n #approvalPanel=\"matExpansionPanel\">\r\n <mat-expansion-panel-header>\r\n\r\n <div class=\"approval-panel-container\">\r\n <div class=\"d-flex gap-2 flex-grow-1 approval-panel-title\">\r\n <ds-status\r\n status=\"{{statusIconClass(sectionStatusKey,'status')}}\" no-opacity icon\r\n class=\"circle-status d-none d-sm-inline-block\">\r\n <ds-icon icon=\"{{statusIconClass(sectionStatusKey,'icon')}}\"></ds-icon>\r\n </ds-status>\r\n <div class=\"d-flex flex-column flex-grow-1\">\r\n <span class=\"fs-16 fw-medium m-0\"> {{ sectionName }}</span>\r\n <bdi class=\"fs-12 fc-dark-gray fw-normal line-height-1 d-block\" *ngIf=\"section.header?.processedBy\">\r\n {{ processingDate }}\r\n </bdi>\r\n </div>\r\n </div>\r\n <div class=\"approval-panel-details gap-1\">\r\n <ng-container *ngIf=\"(!section?.body?.details?.stage0?.isStage0 || section?.body?.details?.stage0?.isStage0 === 'false')\">\r\n <div\r\n class=\"d-flex align-items-center gap-3\" *ngIf=\"section?.header?.personTo\"\r\n (click)=\"$event.stopImmediatePropagation();\">\r\n <div\r\n (click)=\"toggleSmallProfileInfo($event, 'receipient')\"\r\n class=\"d-flex align-items-center gap-2 radius-3 h-40\"\r\n [ngClass]=\"{'user-avatar-name px-0 px-md-2': !section?.header?.delegatedTo, 'p-0': section?.header?.delegatedTo}\">\r\n <ds-avatar image=\"{{section?.header?.personToThumbnail}}\" size=\"small\" class=\"user-avatar\"></ds-avatar>\r\n <span\r\n class=\"fs-14 fw-medium d-inline-block panel-user-name text-truncate\"\r\n [ngClass]=\"{'panel-ueser-only': !section?.header?.delegatedTo}\"\r\n *ngIf=\"!section?.header?.delegatedTo\">{{ section?.header?.personTo }}</span>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"section?.header?.delegatedTo\" class=\"d-flex align-items-center gap-3\"\r\n (click)=\"toggleSmallProfileInfo($event, 'delegate')\">\r\n <img\r\n class=\"rotate-arrow\"\r\n src=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMSIgaGVpZ2h0PSIxMyIgdmlld0JveD0iMCAwIDIxIDEzIj48cGF0aCBkPSJNMjEsNy43NjNhMS42MjEsMS42MjEsMCwwLDEtLjQ0Ny41OTMsMS4zMDYsMS4zMDYsMCwwLDEtLjc1LjE5NGMtNy4yODQsMC04LjU2OCwwLTE1Ljg1MywwSDMuNjY5TDMuNjMsOC42Yy4wNzcuMDY0LjE1OC4xMjQuMjI5LjE5NHExLjcxLDEuNjksMy40MiwzLjM4MWExLjAyMywxLjAyMywwLDAsMSwuMjkxLDEuMDc5Ljk5Mi45OTIsMCwwLDEtLjguNzE5LDEuMDUzLDEuMDUzLDAsMCwxLTEtLjMzMVEzLjgzMSwxMS43MTksMS44ODYsOS44Yy0uNDQyLS40MzctLjg3OS0uODgxLTEuMzMtMS4zMDlBNC41NzIsNC41NzIsMCwwLDEsMCw3LjgxNFY3LjE4NUEzMC43ODMsMzAuNzgzLDAsMCwxLDIuNzMsNC4zNzFjMS0xLjAyNywyLjAzOC0yLjAyNSwzLjA2My0zLjAzMkExLjA0OSwxLjA0OSwwLDEsMSw3LjI3NywyLjgyQzYuNCwzLjcsNS41MDksNC41Nyw0LjYyNSw1LjQ0NmMtLjMyMy4zMjEtLjY0NC42NDUtLjk3My45NzYuMDg0LjA1OS4xODEuMDI3LjI3LjAyNyw3LjI1OCwwLDguNTE2LDAsMTUuNzc1LDBBMS4xMjksMS4xMjksMCwwLDEsMjEsNy4yOXYuNDcyWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAtMC45OTkpIiBmaWxsPSIjYTU0ZWUxIi8+PC9zdmc+\"\r\n alt=\"\" />\r\n <div class=\"d-flex align-items-center gap-2 px-0 px-md-2 radius-3 user-avatar-name h-40\">\r\n <ds-avatar image=\"{{section?.header?.delegatedToThumbnail}}\" size=\"small\" class=\"user-avatar\"></ds-avatar>\r\n <span\r\n class=\"fs-14 fw-medium d-inline-block panel-user-name text-truncate\">{{ section?.header?.delegatedTo }}</span>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <ds-status\r\n class=\"main-status\" *ngIf=\"section?.body?.details?.decision?.key\"\r\n status=\"{{statusIconClass(sectionStatusKey,'status')}}\">{{ sectionStatusValue }}\r\n </ds-status>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"approval-panel-toggle\">\r\n <ds-icon icon=\"plus-1\" class=\"fs-20 fc-coral\" *ngIf=\"!approvalPanel.expanded\"></ds-icon>\r\n\r\n <ds-icon icon=\"minus\" class=\"fs-20 fc-dark-gray\" *ngIf=\"approvalPanel.expanded\"></ds-icon>\r\n </div>\r\n\r\n </div>\r\n </mat-expansion-panel-header>\r\n\r\n <section class=\"border-top pt-4\">\r\n <ng-container *ngComponentOutlet=\"sectionFormComponent; ndcDynamicInputs: input\"></ng-container>\r\n </section>\r\n\r\n</mat-expansion-panel>\r\n<ng-container *ngIf=\"form?.header?.status?.['key'] === 'NEW' \">\r\n <ng-container *ngComponentOutlet=\"sectionFormComponent; ndcDynamicInputs: input\"></ng-container>\r\n</ng-container>\r\n\r\n<sat-popover #popover [hasBackdrop]=\"true\" horizontalAlign=\"center\" verticalAlign=\"above\">\r\n <div class=\"delegate-info-popup\">\r\n <ds-avatar *ngIf=\"userType === 'receipient'\" image=\"{{section?.header?.personToThumbnail}}\" size=\"small\"></ds-avatar>\r\n <ds-avatar *ngIf=\"userType === 'delegate'\" image=\"{{section?.header?.delegatedToThumbnail}}\" size=\"small\"></ds-avatar>\r\n <div class=\"delegate-info mx-0\">\r\n <div class=\"fs-16 fw-medium fc-black mb-0\">{{ userPopoverInfo?.name }}</div>\r\n <div class=\"fs-12 fw-normal fc-black mb-2\">{{ userPopoverInfo?.job?.name }}</div>\r\n <div class=\"user-info fc-black fs-10 mb-1\">\r\n <ds-icon icon=\"phone\" class=\"fs-18 fc-dark-gray\"></ds-icon>\r\n <bdi (click)=\"locationHref('tel:'+ userPopoverInfo?.contact?.work)\">{{ userPopoverInfo?.contact?.work }}</bdi>\r\n </div>\r\n <div class=\"user-info fc-black fs-10 mb-1\">\r\n <ds-icon icon=\"phone\" class=\"fs-18 fc-dark-gray\"></ds-icon>\r\n <bdi (click)=\"locationHref('tel:'+ userPopoverInfo?.contact?.mobile)\">{{ userPopoverInfo?.contact?.mobile }}</bdi>\r\n </div>\r\n <div class=\"user-info fc-black fs-10 mb-1\">\r\n <ds-icon icon=\"mail-o\" class=\"fs-18 fc-dark-gray\"></ds-icon>\r\n <span (click)=\"locationHref('mailto:'+ userPopoverInfo?.email)\">{{ userPopoverInfo?.email }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n</sat-popover>\r\n\r\n\r\n\r\n<!--\r\n<mat-expansion-panel\r\n class=\"mb-4\" [expanded]=\"true\" hideToggle\r\n #approvalPanel=\"matExpansionPanel\">\r\n <mat-expansion-panel-header>\r\n\r\n <div class=\"approval-panel-container\">\r\n <div class=\"d-flex gap-2 flex-grow-1 approval-panel-title\">\r\n <ds-status\r\n status=\"{{statusClass(sectionStatusKey)}}\" no-opacity icon\r\n class=\"circle-status d-none d-sm-inline-block\">\r\n <ds-icon icon=\"{{statusIcon(sectionStatusKey)}}\"></ds-icon>\r\n </ds-status>\r\n <div class=\"d-flex flex-column flex-grow-1\">\r\n <span class=\"fs-16 fw-medium m-0\"> {{ sectionName }}</span>\r\n <bdi class=\"fs-12 fc-dark-gray fw-normal line-height-1 d-block mt-1\" *ngIf=\"section.header?.processedBy\">\r\n {{ processingDate }}\r\n </bdi>\r\n </div>\r\n </div>\r\n <div class=\"approval-panel-details gap-1\">\r\n <div\r\n class=\"d-flex align-items-center gap-3\" *ngIf=\"section?.header?.personTo;\"\r\n (click)=\"$event.stopImmediatePropagation();\">\r\n <div\r\n (click)=\"toggleSmallProfileInfo($event, 'recipient')\"\r\n class=\"d-flex align-items-center gap-2 radius-3 h-40\"\r\n [ngClass]=\"{'user-avatar-name px-0 px-md-2': !section?.header?.delegatedTo, 'p-0': section?.header?.delegatedTo}\">\r\n <ds-avatar image=\"{{section?.header?.personToThumbnail}}\" size=\"small\" class=\"user-avatar\"></ds-avatar>\r\n <span\r\n class=\"fs-14 fw-medium d-inline-block panel-user-name text-truncate\" [ngClass]=\"{'panel-ueser-only': !section?.header?.delegatedTo}\"\r\n *ngIf=\"!section?.header?.delegatedTo\">{{ section?.header?.personTo }}</span>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"section?.header?.delegatedTo\" class=\"d-flex align-items-center gap-3\"\r\n (click)=\"toggleSmallProfileInfo($event, 'delegate')\">\r\n <img\r\n class=\"rotate-arrow\"\r\n src=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMSIgaGVpZ2h0PSIxMyIgdmlld0JveD0iMCAwIDIxIDEzIj48cGF0aCBkPSJNMjEsNy43NjNhMS42MjEsMS42MjEsMCwwLDEtLjQ0Ny41OTMsMS4zMDYsMS4zMDYsMCwwLDEtLjc1LjE5NGMtNy4yODQsMC04LjU2OCwwLTE1Ljg1MywwSDMuNjY5TDMuNjMsOC42Yy4wNzcuMDY0LjE1OC4xMjQuMjI5LjE5NHExLjcxLDEuNjksMy40MiwzLjM4MWExLjAyMywxLjAyMywwLDAsMSwuMjkxLDEuMDc5Ljk5Mi45OTIsMCwwLDEtLjguNzE5LDEuMDUzLDEuMDUzLDAsMCwxLTEtLjMzMVEzLjgzMSwxMS43MTksMS44ODYsOS44Yy0uNDQyLS40MzctLjg3OS0uODgxLTEuMzMtMS4zMDlBNC41NzIsNC41NzIsMCwwLDEsMCw3LjgxNFY3LjE4NUEzMC43ODMsMzAuNzgzLDAsMCwxLDIuNzMsNC4zNzFjMS0xLjAyNywyLjAzOC0yLjAyNSwzLjA2My0zLjAzMkExLjA0OSwxLjA0OSwwLDEsMSw3LjI3NywyLjgyQzYuNCwzLjcsNS41MDksNC41Nyw0LjYyNSw1LjQ0NmMtLjMyMy4zMjEtLjY0NC42NDUtLjk3My45NzYuMDg0LjA1OS4xODEuMDI3LjI3LjAyNyw3LjI1OCwwLDguNTE2LDAsMTUuNzc1LDBBMS4xMjksMS4xMjksMCwwLDEsMjEsNy4yOXYuNDcyWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAtMC45OTkpIiBmaWxsPSIjYTU0ZWUxIi8+PC9zdmc+\"/>\r\n <div class=\"d-flex align-items-center gap-2 px-0 px-md-2 radius-3 user-avatar-name h-40\">\r\n <ds-avatar image=\"{{section?.header?.delegatedToThumbnail}}\" size=\"small\" class=\"user-avatar\"></ds-avatar>\r\n <span\r\n class=\"fs-14 fw-medium d-inline-block panel-user-name text-truncate\">{{ section?.header?.delegatedTo }}</span>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n <ds-status\r\n class=\"main-status\" *ngIf=\"section?.body?.details?.['decision']?.key;\"\r\n status=\"{{statusClass(section?.body?.details?.['decision']?.key)}}\">{{ section?.body?.details?.['decision']?.value }}\r\n </ds-status>\r\n </div>\r\n\r\n <div class=\"approval-panel-toggle\">\r\n <ds-icon icon=\"plus-1\" class=\"fs-20 fc-coral\" *ngIf=\"!approvalPanel.expanded\"></ds-icon>\r\n <ds-icon icon=\"minus\" class=\"fs-20 fc-dark-gray\" *ngIf=\"approvalPanel.expanded\"></ds-icon>\r\n </div>\r\n\r\n </div>\r\n </mat-expansion-panel-header>\r\n <section class=\"border-top pt-4\">\r\n\r\n <app-workflow-approval\r\n [isReadOnly]=\"input.isReadOnly\"\r\n [lov]=\"input.lov\"\r\n [section]=\"input.section\"\r\n [requestDetails]=\"requestDetails\"\r\n ></app-workflow-approval>\r\n &lt;!&ndash; <ng-container *ngComponentOutlet=\"sectionFormComponent; ndcDynamicInputs: input\"></ng-container>&ndash;&gt;\r\n </section>\r\n\r\n</mat-expansion-panel>\r\n<ng-container *ngIf=\"form?.header?.status?.['key'] == 'NEW' \">\r\n <ng-container *ngComponentOutlet=\"sectionFormComponent; ndcDynamicInputs: input\"></ng-container>\r\n</ng-container>\r\n-->\r\n", styles: [":host ::ng-deep .mat-expansion-panel-content{background:#fff!important}:host .mat-expansion-panel-content{background:#fff!important}:host .approval-panel-container{display:grid;grid-template-columns:40% calc(60% - 45px) 20px;grid-template-areas:\"title details toggle\";gap:.75rem;place-content:space-between;align-items:center;flex-grow:1;width:100%}@media (max-width: 991px){:host .approval-panel-container{grid-template-columns:calc(100% - 45px) 20px;grid-template-areas:\"title toggle\" \"details details\"}}:host .approval-panel-container .approval-panel-title{grid-area:title}:host .approval-panel-container .panel-user-name{max-width:120px}@media (max-width: 768px){:host .approval-panel-container .panel-user-name.panel-ueser-only{max-width:140px}:host .approval-panel-container .panel-user-name:not(.panel-ueser-only){max-width:90px}}:host .approval-panel-container .approval-panel-details{display:flex;align-items:center;justify-content:space-between;grid-area:details}:host .approval-panel-container .approval-panel-toggle{grid-area:toggle;display:flex;align-items:center;justify-content:center;width:20px}:host ::ng-deep ds-avatar.user-avatar .avatar{--default-size: 25px}@media (min-width: 768px){:host ::ng-deep ds-avatar.user-avatar .avatar{--default-size: 31px;--avatar-border: 3px solid var(--light-gray)}}@media (min-width: 768px){:host ::ng-deep .user-avatar-name{padding-inline-end:1rem!important}}:host .circle-status::part(base){--status-radius: 50%;--status-size: 18px;--status-fs: 80% }:host .panel-title{min-width:40%;width:40%}@media (max-width: 576px){:host .panel-title{min-width:100%!important;width:100%!important}}:host .panel-user-status{min-width:60%;width:60%;display:flex;align-items:center;justify-content:space-between}@media (max-width: 576px){:host .panel-user-status{min-width:100%!important;width:100%!important}:host .panel-user-status .user-delegate{min-width:auto}:host .panel-user-status .main-status::part(base){--status-width: 50px}}\n"] }]
242
+ ], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<!-- <div class=\"panel-heading\" role=\"button\" [id]=\"sectionId()\" *ngIf=\"showHeader()\"> -->\r\n<mat-expansion-panel\r\n class=\"mb-4\" [expanded]=\"isExpanded\" *ngIf=\"form?.header?.status?.['key'] !== 'NEW' \" hideToggle\r\n #approvalPanel=\"matExpansionPanel\">\r\n <mat-expansion-panel-header>\r\n\r\n <div class=\"approval-panel-container\">\r\n <div class=\"d-flex gap-2 flex-grow-1 approval-panel-title\">\r\n <ds-status\r\n status=\"{{statusIconClass(sectionStatusKey,'status')}}\" no-opacity icon\r\n class=\"circle-status d-none d-sm-inline-block\">\r\n <ds-icon icon=\"{{statusIconClass(sectionStatusKey,'icon')}}\"></ds-icon>\r\n </ds-status>\r\n <div class=\"d-flex flex-column flex-grow-1\">\r\n <span class=\"fs-16 fw-medium m-0\"> {{ sectionName }}</span>\r\n <bdi class=\"fs-12 fc-dark-gray fw-normal line-height-1 d-block\" *ngIf=\"section.header?.processedBy\">\r\n {{ processingDate }}\r\n </bdi>\r\n </div>\r\n </div>\r\n <div class=\"approval-panel-details gap-1\">\r\n <ng-container *ngIf=\"(!section?.body?.details?.stage0?.isStage0 || section?.body?.details?.stage0?.isStage0 === 'false')\">\r\n <div\r\n class=\"d-flex align-items-center gap-3\" *ngIf=\"section?.header?.personTo\"\r\n (click)=\"$event.stopImmediatePropagation();\">\r\n <div\r\n (click)=\"toggleSmallProfileInfo($event, 'receipient')\"\r\n class=\"d-flex align-items-center gap-2 radius-3 h-40\"\r\n [ngClass]=\"{'user-avatar-name px-0 px-md-2': !section?.header?.delegatedTo, 'p-0': section?.header?.delegatedTo}\">\r\n <ds-avatar image=\"{{section?.header?.personToThumbnail}}\" size=\"small\" class=\"user-avatar\"></ds-avatar>\r\n <span\r\n class=\"fs-14 fw-medium d-inline-block panel-user-name text-truncate\"\r\n [ngClass]=\"{'panel-ueser-only': !section?.header?.delegatedTo}\"\r\n *ngIf=\"!section?.header?.delegatedTo\">{{ section?.header?.personTo }}</span>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"section?.header?.delegatedTo\" class=\"d-flex align-items-center gap-3\"\r\n (click)=\"toggleSmallProfileInfo($event, 'delegate')\">\r\n <img\r\n class=\"rotate-arrow\"\r\n src=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMSIgaGVpZ2h0PSIxMyIgdmlld0JveD0iMCAwIDIxIDEzIj48cGF0aCBkPSJNMjEsNy43NjNhMS42MjEsMS42MjEsMCwwLDEtLjQ0Ny41OTMsMS4zMDYsMS4zMDYsMCwwLDEtLjc1LjE5NGMtNy4yODQsMC04LjU2OCwwLTE1Ljg1MywwSDMuNjY5TDMuNjMsOC42Yy4wNzcuMDY0LjE1OC4xMjQuMjI5LjE5NHExLjcxLDEuNjksMy40MiwzLjM4MWExLjAyMywxLjAyMywwLDAsMSwuMjkxLDEuMDc5Ljk5Mi45OTIsMCwwLDEtLjguNzE5LDEuMDUzLDEuMDUzLDAsMCwxLTEtLjMzMVEzLjgzMSwxMS43MTksMS44ODYsOS44Yy0uNDQyLS40MzctLjg3OS0uODgxLTEuMzMtMS4zMDlBNC41NzIsNC41NzIsMCwwLDEsMCw3LjgxNFY3LjE4NUEzMC43ODMsMzAuNzgzLDAsMCwxLDIuNzMsNC4zNzFjMS0xLjAyNywyLjAzOC0yLjAyNSwzLjA2My0zLjAzMkExLjA0OSwxLjA0OSwwLDEsMSw3LjI3NywyLjgyQzYuNCwzLjcsNS41MDksNC41Nyw0LjYyNSw1LjQ0NmMtLjMyMy4zMjEtLjY0NC42NDUtLjk3My45NzYuMDg0LjA1OS4xODEuMDI3LjI3LjAyNyw3LjI1OCwwLDguNTE2LDAsMTUuNzc1LDBBMS4xMjksMS4xMjksMCwwLDEsMjEsNy4yOXYuNDcyWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAtMC45OTkpIiBmaWxsPSIjYTU0ZWUxIi8+PC9zdmc+\"\r\n alt=\"\" />\r\n <div class=\"d-flex align-items-center gap-2 px-0 px-md-2 radius-3 user-avatar-name h-40\">\r\n <ds-avatar image=\"{{section?.header?.delegatedToThumbnail}}\" size=\"small\" class=\"user-avatar\"></ds-avatar>\r\n <span\r\n class=\"fs-14 fw-medium d-inline-block panel-user-name text-truncate\">{{ section?.header?.delegatedTo }}</span>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <ds-status\r\n class=\"main-status\" *ngIf=\"section?.body?.details?.decision?.key\"\r\n status=\"{{statusIconClass(sectionStatusKey,'status')}}\">{{ sectionStatusValue }}\r\n </ds-status>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"approval-panel-toggle\">\r\n <ds-icon icon=\"plus-1\" class=\"fs-20 fc-coral\" *ngIf=\"!approvalPanel.expanded\"></ds-icon>\r\n\r\n <ds-icon icon=\"minus\" class=\"fs-20 fc-dark-gray\" *ngIf=\"approvalPanel.expanded\"></ds-icon>\r\n </div>\r\n\r\n </div>\r\n </mat-expansion-panel-header>\r\n\r\n <section class=\"border-top pt-4\">\r\n <ng-container *ngComponentOutlet=\"sectionFormComponent; ndcDynamicInputs: input\"></ng-container>\r\n </section>\r\n\r\n</mat-expansion-panel>\r\n<ng-container *ngIf=\"form?.header?.status?.['key'] === 'NEW' \">\r\n <ng-container *ngComponentOutlet=\"sectionFormComponent; ndcDynamicInputs: input\"></ng-container>\r\n</ng-container>\r\n\r\n<sat-popover #popover [hasBackdrop]=\"true\" horizontalAlign=\"center\" verticalAlign=\"above\">\r\n <div class=\"delegate-info-popup\">\r\n <ds-avatar *ngIf=\"userType === 'receipient'\" image=\"{{section?.header?.personToThumbnail}}\" size=\"small\"></ds-avatar>\r\n <ds-avatar *ngIf=\"userType === 'delegate'\" image=\"{{section?.header?.delegatedToThumbnail}}\" size=\"small\"></ds-avatar>\r\n <div class=\"delegate-info mx-0\">\r\n <div class=\"fs-16 fw-medium fc-black mb-0\">{{ userPopoverInfo?.name }}</div>\r\n <div class=\"fs-12 fw-normal fc-black mb-2\">{{ userPopoverInfo?.job?.name }}</div>\r\n <div class=\"user-info fc-black fs-10 mb-1\">\r\n <ds-icon icon=\"phone\" class=\"fs-18 fc-dark-gray\"></ds-icon>\r\n <bdi (click)=\"locationHref('tel:'+ userPopoverInfo?.contact?.work)\">{{ userPopoverInfo?.contact?.work }}</bdi>\r\n </div>\r\n <div class=\"user-info fc-black fs-10 mb-1\">\r\n <ds-icon icon=\"phone\" class=\"fs-18 fc-dark-gray\"></ds-icon>\r\n <bdi (click)=\"locationHref('tel:'+ userPopoverInfo?.contact?.mobile)\">{{ userPopoverInfo?.contact?.mobile }}</bdi>\r\n </div>\r\n <div class=\"user-info fc-black fs-10 mb-1\">\r\n <ds-icon icon=\"mail-o\" class=\"fs-18 fc-dark-gray\"></ds-icon>\r\n <span (click)=\"locationHref('mailto:'+ userPopoverInfo?.email)\">{{ userPopoverInfo?.email }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n</sat-popover>\r\n", styles: [":host ::ng-deep .mat-expansion-panel-content{background:#fff!important}:host .mat-expansion-panel-content{background:#fff!important}:host .approval-panel-container{display:grid;grid-template-columns:40% calc(60% - 45px) 20px;grid-template-areas:\"title details toggle\";gap:.75rem;place-content:space-between;align-items:center;flex-grow:1;width:100%}@media (max-width: 991px){:host .approval-panel-container{grid-template-columns:calc(100% - 45px) 20px;grid-template-areas:\"title toggle\" \"details details\"}}:host .approval-panel-container .approval-panel-title{grid-area:title}:host .approval-panel-container .panel-user-name{max-width:120px}@media (max-width: 768px){:host .approval-panel-container .panel-user-name.panel-ueser-only{max-width:140px}:host .approval-panel-container .panel-user-name:not(.panel-ueser-only){max-width:90px}}:host .approval-panel-container .approval-panel-details{display:flex;align-items:center;justify-content:space-between;grid-area:details}:host .approval-panel-container .approval-panel-toggle{grid-area:toggle;display:flex;align-items:center;justify-content:center;width:20px}:host ::ng-deep ds-avatar.user-avatar .avatar{--default-size: 25px}@media (min-width: 768px){:host ::ng-deep ds-avatar.user-avatar .avatar{--default-size: 31px;--avatar-border: 3px solid var(--light-gray)}}@media (min-width: 768px){:host ::ng-deep .user-avatar-name{padding-inline-end:1rem!important}}:host .circle-status::part(base){--status-radius: 50%;--status-size: 18px;--status-fs: 80% }:host .panel-title{min-width:40%;width:40%}@media (max-width: 576px){:host .panel-title{min-width:100%!important;width:100%!important}}:host .panel-user-status{min-width:60%;width:60%;display:flex;align-items:center;justify-content:space-between}@media (max-width: 576px){:host .panel-user-status{min-width:100%!important;width:100%!important}:host .panel-user-status .user-delegate{min-width:auto}:host .panel-user-status .main-status::part(base){--status-width: 50px}}\n"] }]
244
243
  }], ctorParameters: () => [{ type: i1.CoreI18nService }], propDecorators: { popover: [{
245
244
  type: ViewChild,
246
245
  args: ['popover']
@@ -267,4 +266,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
267
266
  }], sectionName: [{
268
267
  type: Input
269
268
  }] } });
270
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9hcHAtY29tcG9uZW50LXNlY3Rpb25zL2Zvcm0tc2VjdGlvbi9mb3JtLXNlY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvZm9ybS1zZWN0aW9uL2Zvcm0tc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtDLFNBQVMsRUFBRSxzQkFBc0IsRUFBYyxLQUFLLEVBQVUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZJLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDakUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFdEQsT0FBTyxLQUFLLFNBQVMsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFTLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQTs7OztBQWlCbEMsTUFBTSxPQUFPLG9CQUFvQjtJQXNDdEI7SUFwQ1QsUUFBUSxHQUFHLFlBQVksQ0FBQztJQUNGLE9BQU8sQ0FBTztJQUNwQyxXQUFXLEdBQUcsWUFBWSxDQUFDO0lBQzNCLGVBQWUsR0FBRyxFQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBQyxDQUFDO0lBQzNCLGNBQWMsQ0FBVTtJQUNqQyxlQUFlLEdBQVEsRUFBRSxDQUFD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LHNMQUNqQixJQUFJLDZGQUNKLGlCQUFpQixvUEFDakIsMEJBQTBCLHFPQUMxQixnQkFBZ0IsMGdCQUNoQixPQUFPOzsyRkFJRSxvQkFBb0I7a0JBZmhDLFNBQVM7K0JBQ0Usa0JBQWtCLGNBR2hCLElBQUksV0FDUDt3QkFDUCxpQkFBaUI7d0JBQ2pCLElBQUk7d0JBQ0osaUJBQWlCO3dCQUNqQiwwQkFBMEI7d0JBQzFCLGdCQUFnQjt3QkFDaEIsT0FBTztxQkFDUixXQUNRLENBQUMsc0JBQXNCLENBQUM7b0ZBS1gsT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTO2dCQUdYLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLDJCQUEyQjtzQkFBbkMsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3Q2hlY2tlZCwgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0NvcmVJMThuU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQge0NvbXBvbmVudE91dGxldElvRGlyZWN0aXZlfSBmcm9tICduZy1keW5hbWljLWNvbXBvbmVudCc7XHJcbmltcG9ydCB7TmdDbGFzcywgTmdDb21wb25lbnRPdXRsZXQsIE5nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7TWF0RXhwYW5zaW9uUGFuZWx9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2V4cGFuc2lvbic7XHJcbmltcG9ydCB7U2F0UG9wb3Zlck1vZHVsZX0gZnJvbSAnQG5jc3RhdGUvc2F0LXBvcG92ZXInO1xyXG5pbXBvcnQge0Zvcm0sIFNlY3Rpb259IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgKiBhcyBDb25zdGFudHMgZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzJztcclxuaW1wb3J0ICAgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50J1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZm9ybS1zZWN0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1zZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mb3JtLXNlY3Rpb24uY29tcG9uZW50LnNjc3MnXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE1hdEV4cGFuc2lvblBhbmVsLFxyXG4gICAgTmdJZixcclxuICAgIE5nQ29tcG9uZW50T3V0bGV0LFxyXG4gICAgQ29tcG9uZW50T3V0bGV0SW9EaXJlY3RpdmUsXHJcbiAgICBTYXRQb3BvdmVyTW9kdWxlLFxyXG4gICAgTmdDbGFzc1xyXG4gIF0sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtU2VjdGlvbkNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdDaGVja2VkLCBBZnRlclZpZXdJbml0IHtcclxuICB1c2VyVHlwZSA9ICdyZWNlaXBpZW50JztcclxuICBAVmlld0NoaWxkKCdwb3BvdmVyJykgcG9wb3Zlcj86IGFueTtcclxuICBwb3BvdmVyVHlwZSA9ICdyZWNlaXBpZW50JztcclxuICBwb3BvdmVyUG9zaXRpb24gPSB7dG9wOiAwLCBsZWZ0OiAwfTtcclxuICBASW5wdXQoKSByZXF1ZXN0RGV0YWlsczogU2VjdGlvbjtcclxuICB1c2VyUG9wb3ZlckluZm86IGFueSA9IHt9O1xyXG4gIEBJbnB1dCgpIHNlY3Rpb246IFNlY3Rpb247XHJcbiAgQElucHV0KCkgZm9ybTogRm9ybTtcclxuICBASW5wdXQoKSBsb3Y6IGFueTtcclxuICBASW5wdXQoKSBpc1JlYWRPbmx5OiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGlzT3BlbjogYm9vbGVhbjtcclxuICBASW5wdXQoKSBpc0ZpbmFsQXBwcm92YWw6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgY29udHJvbGxlcnM6IGFueTtcclxuICBASW5wdXQoKSBzZWdtZW50RHluYW1pY0xvYWRlclNlcnZpY2U6IGFueTtcclxuICBASW5wdXQoKSBzZWN0aW9uRm9ybUNvbXBvbmVudDogYW55ID0gbnVsbDtcclxuICBASW5wdXQoKSBzZWN0aW9uTmFtZSA9ICdTRUNUSU9OX05BTUUucmVxdWVzdERldGFpbHMnO1xyXG4gIHNlY3Rpb25OdW1iZXI6IG51bWJlcjtcclxuICBzZWN0aW9uU3RhdHVzVmFsdWU6IHN0cmluZztcclxuICBzZWN0aW9uU3RhdHVzS2V5OiBzdHJpbmc7XHJcbiAgcmVjZWlwaWVudCA9IHtcclxuICAgIGlzU2hvd2luZzogZmFsc2UsXHJcbiAgICBwcm9maWxlOiBudWxsXHJcbiAgfTtcclxuICBkZWxlZ2F0ZSA9IHtcclxuICAgIGlzU2hvd2luZzogZmFsc2UsXHJcbiAgICBwcm9maWxlOiBudWxsXHJcbiAgfTtcclxuICBwdWJsaWMgaW5wdXQ7XHJcbiAgaGlnaGxpZ2h0RmxhZzogYm9vbGVhbjtcclxuXHJcbiAgcHJvY2Vzc2luZ0RhdGU6IHN0cmluZztcclxuICBwdWJsaWMgcmFuZG9tSUQ6IG51bWJlciA9XHJcbiAgICBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAoOTk5OTk5IC0gMTAwMDAwKSkgKyAxMDAwMDA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgLy8gcHJpdmF0ZSBzZWdtZW50RHluYW1pY0xvYWRlclNlcnZpY2U6IFNlZ21lbnREeW5hbWljTG9hZGVyU2VydmljZSxcclxuICAgIHB1YmxpYyBpMThuOiBDb3JlSTE4blNlcnZpY2UsXHJcbiAgKSB7XHJcbiAgICB0aGlzLmhpZ2hsaWdodEZsYWcgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZWN0aW9uRm9ybUNvbXBvbmVudCA9IHRoaXMuc2VnbWVudER5bmFtaWNMb2FkZXJTZXJ2aWNlLmdldENvbXBvbmVudChcclxuICAgICAgdGhpcy5zZWN0aW9uLmlkXHJcbiAgICApO1xyXG5cclxuICAgIGlmICh0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzLnN0YWdlTmFtZSkge1xyXG4gICAgICB0aGlzLnNlY3Rpb25OYW1lID0gdGhpcy5zZWN0aW9uLmJvZHkuZGV0YWlscy5zdGFnZU5hbWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlY3Rpb25OYW1lID0gdGhpcy5zZWdtZW50RHluYW1pY0xvYWRlclNlcnZpY2UuZ2V0U2VjdGlvbk5hbWUodGhpcy5zZWN0aW9uLmlkKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmlucHV0ID0ge1xyXG4gICAgICBpc1JlYWRPbmx5OiB0aGlzLmlzUmVhZE9ubHksXHJcbiAgICAgIGxvdjogdGhpcy5sb3YsXHJcbiAgICAgIHNlY3Rpb246IHRoaXMuc2VjdGlvbixcclxuICAgICAgY29udHJvbGxlcnM6IHRoaXMuY29udHJvbGxlcnMsXHJcbiAgICAgIHJlcXVlc3REZXRhaWxzOiB0aGlzLnJlcXVlc3REZXRhaWxzXHJcbiAgICB9O1xyXG4gICAgaWYgKHRoaXMuc2VjdGlvbi5oZWFkZXIgJiYgdGhpcy5zZWN0aW9uLmhlYWRlci5wcm9jZXNzaW5nRGF0ZSkge1xyXG4gICAgICB0aGlzLnByb2Nlc3NpbmdEYXRlID0gbW9tZW50KHRoaXMuc2VjdGlvbi5oZWFkZXIucHJvY2Vzc2luZ0RhdGUpXHJcbiAgICAgICAgLmxvY2FsZSgnZW4tVVMnKVxyXG4gICAgICAgIC5mb3JtYXQoJ0REL01NL1lZWVkgSEg6bW06c3MnKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmhpZ2hsaWdodEZsYWcgPSB0aGlzLmlzT3BlbjtcclxuICAgIGNvbnN0IHggPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjY29sbGFwc2UnICsgdGhpcy5zZWN0aW9uSWQoKSk7XHJcbiAgICBpZiAoeC5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuc2VjdGlvbk51bWJlciA9IHgubGVuZ3RoO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuc2VjdGlvbi5pZCAhPT0gJ3JlcXVlc3REZXRhaWxzJyAmJlxyXG4gICAgICB0aGlzLnNlY3Rpb24uaWQgIT09ICdoclJlcXVlc3REZXRhaWxzJyAmJlxyXG4gICAgICAhdGhpcy5zZWN0aW9uU3RhdHVzS2V5ICYmXHJcbiAgICAgIHRoaXMuc2VjdGlvbi5ib2R5LmRldGFpbHMuZGVjaXNpb24gJiZcclxuICAgICAgdGhpcy5zZWN0aW9uLmJvZHkuZGV0YWlscy5kZWNpc2lvbi5rZXlcclxuICAgICkge1xyXG4gICAgICB0aGlzLnNlY3Rpb25TdGF0dXNLZXkgPSB0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzLmRlY2lzaW9uLmtleTtcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgdGhpcy5zZWN0aW9uLmlkICE9PSAncmVxdWVzdERldGFpbHMnICYmXHJcbiAgICAgIHRoaXMuc2VjdGlvbi5pZCAhPT0gJ2hyUmVxdWVzdERldGFpbHMnICYmXHJcbiAgICAgICF0aGlzLnNlY3Rpb25TdGF0dXNWYWx1ZSAmJlxyXG4gICAgICB0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzLmRlY2lzaW9uICYmXHJcbiAgICAgIHRoaXMuc2VjdGlvbi5ib2R5LmRldGFpbHMuZGVjaXNpb24udmFsdWVcclxuICAgICkge1xyXG4gICAgICB0aGlzLnNlY3Rpb25TdGF0dXNWYWx1ZSA9IHRoaXMuc2VjdGlvbi5ib2R5LmRldGFpbHMuZGVjaXNpb24udmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLlNlcnZpY2VzU3ViU2NyaXB0aW9ucygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzRXhwYW5kZWQoKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBpc0V4cGFuZGFibGVGcm9tQmFja2VuZCA9IHRoaXMuZm9ybT8uc2VjdGlvbnM/Lmxlbmd0aCAmJiB0aGlzLmZvcm0uc2VjdGlvbnMuc29tZShzZWN0aW9uID0+ICdleHBhbmRTdGFnZScgaW4gc2VjdGlvbj8uYm9keT8uZGV0YWlscyk7XHJcbiAgICBpZiAoIWlzRXhwYW5kYWJsZUZyb21CYWNrZW5kKSByZXR1cm4gdHJ1ZTtcclxuICAgIHJldHVybiB0aGlzLnNlY3Rpb24/LmJvZHk/LmRldGFpbHM/LmV4cGFuZFN0YWdlID09PSAndHJ1ZSc7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2VydmljZXNTdWJTY3JpcHRpb25zKCkge1xyXG4gICAgLyogIHRoaXMucHJvZmlsZVJlcXVlc3RvclNlcnZpY2UuZ2V0Rm9ybSgpLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZm9ybSA9IGRhdGE7XHJcbiAgICAgIH0pOyovXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XHJcbiAgICB0aGlzLmlucHV0ID0ge1xyXG4gICAgICBpc1JlYWRPbmx5OiB0aGlzLmlzUmVhZE9ubHksXHJcbiAgICAgIGxvdjogdGhpcy5sb3YsXHJcbiAgICAgIHNlY3Rpb246IHRoaXMuc2VjdGlvbixcclxuICAgICAgY29udHJvbGxlcnM6IHRoaXMuY29udHJvbGxlcnMsXHJcbiAgICAgIHNlY3Rpb25JZDogdGhpcy5zZWN0aW9uXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgc2VjdGlvbklkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VjdGlvbi5pZC5zcGxpdCgnICcpLmpvaW4oJycpICsgdGhpcy5yYW5kb21JRDtcclxuICB9XHJcblxyXG4gIGdldFNlY3Rpb25OYW1lKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VjdGlvbi5pZDtcclxuICB9XHJcblxyXG4gIGdldEZvcm1TdGVwU3RhdHVzKGtleTogc3RyaW5nKSB7XHJcbiAgICBsZXQgc3RhdHVzID0gJ05PVF9GT1VORF9JTl9MT1YnO1xyXG4gICAgaWYgKHRoaXMubG92LmZvcm1TdGVwU3RhdHVzICYmIHRoaXMubG92LmZvcm1TdGVwU3RhdHVzLm9wdGlvbnMpIHtcclxuICAgICAgdGhpcy5sb3YuZm9ybVN0ZXBTdGF0dXMub3B0aW9ucy5mb3JFYWNoKChvcHRpb24pID0+IHtcclxuICAgICAgICBpZiAob3B0aW9uLnZhbHVlID09PSBrZXkpIHtcclxuICAgICAgICAgIHN0YXR1cyA9IG9wdGlvbi5kZXNjcmlwdGlvbjtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN0YXR1cztcclxuICB9XHJcblxyXG4gIHRvZ2dsZVNtYWxsUHJvZmlsZUluZm8oZXZlbnQsIHBlcnNvblR5cGUpIHtcclxuICAgIHRoaXMudXNlclR5cGUgPSBwZXJzb25UeXBlO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBjb25zdCB1c2VySW5mbyA9IHRoaXNbcGVyc29uVHlwZV07XHJcbiAgICBpZiAodXNlckluZm8ucHJvZmlsZSA9PT0gbnVsbCkge1xyXG4gICAgICB0aGlzLnBvcG92ZXJUeXBlID0gcGVyc29uVHlwZTtcclxuICAgICAgY29uc3QgdXNlckVtYWlsID1cclxuICAgICAgICBwZXJzb25UeXBlID09PSAncmVjZWlwaWVudCdcclxuICAgICAgICAgID8gdGhpcy5zZWN0aW9uLmhlYWRlci5wZXJzb25Ub1RodW1ibmFpbC5zcGxpdCgnPScpWzFdXHJcbiAgICAgICAgICA6IHRoaXM/LnNlY3Rpb24/LmhlYWRlcj8uZGVsZWdhdGVkVG9UaHVtYm5haWwuc3BsaXQoJz0nKVsxXTtcclxuICAgICAgLyp0aGlzLnN0YXRlTWFjaGluZVxyXG4gICAgICAgIC5kaXNwYXRjaChDb25zdGFudHMuU1RBVEVfTUFDSElORV9BQ1RJT05fRU1QTE9ZRUVfUFJPRklMRSwgdXNlckVtYWlsKVxyXG4gICAgICAgIC50aGVuKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5sb2codGhpcywgcmVzcG9uc2UpO1xyXG5cclxuICAgICAgICAgIGlmIChyZXNwb25zZSkge1xyXG4gICAgICAgICAgICB0aGlzW3BlcnNvblR5cGVdLnByb2ZpbGUgPSByZXNwb25zZTtcclxuICAgICAgICAgICAgdGhpcy5wb3BvdmVyUG9zaXRpb24gPSB7XHJcbiAgICAgICAgICAgICAgdG9wOiAxMCxcclxuICAgICAgICAgICAgICBsZWZ0OlxyXG4gICAgICAgICAgICAgICAgZXZlbnQudGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQgK1xyXG4gICAgICAgICAgICAgICAgZXZlbnQudGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIC8gNFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB0aGlzLnBvcG92ZXIuYW5jaG9yID0gZXZlbnQudGFyZ2V0O1xyXG4gICAgICAgICAgICB0aGlzLnBvcG92ZXIub3BlbigpO1xyXG4gICAgICAgICAgICB0aGlzLnVzZXJQb3BvdmVySW5mbyA9IHJlc3BvbnNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pOyovXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnVzZXJQb3BvdmVySW5mbyA9IHRoaXNbcGVyc29uVHlwZV0ucHJvZmlsZTtcclxuICAgICAgdGhpcy5wb3BvdmVyUG9zaXRpb24gPSB7XHJcbiAgICAgICAgdG9wOiAxMCxcclxuICAgICAgICBsZWZ0OlxyXG4gICAgICAgICAgZXZlbnQudGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQgK1xyXG4gICAgICAgICAgZXZlbnQudGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIC8gNFxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLnBvcG92ZXIuYW5jaG9yID0gZXZlbnQudGFyZ2V0O1xyXG4gICAgICB0aGlzLnBvcG92ZXIub3BlbigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdHVzSWNvbkNsYXNzKHN0YXR1czogc3RyaW5nLCB0eXBlOiBzdHJpbmcpIHtcclxuICAgIGlmIChzdGF0dXMpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHN0YXR1cyA9PT0gQ29uc3RhbnRzLkZPUk1fU1RBVFVTX1JFSkVDVEVEIHx8XHJcbiAgICAgICAgc3RhdHVzID09PSBDb25zdGFudHMuRk9STV9TVEFUVVNfQ0FOQ0VMTEVEIHx8XHJcbiAgICAgICAgc3RhdHVzLnRvTG93ZXJDYXNlKCkgPT09ICdyZWplY3QnIHx8XHJcbiAgICAgICAgc3RhdHVzLnRvTG93ZXJDYXNlKCkgPT09ICd1bnNhdGlzZmllZCcgfHxcclxuICAgICAgICBzdGF0dXMudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygnZGVueScpIHx8XHJcbiAgICAgICAgc3RhdHVzLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ3JlamVjdCcpIHx8XHJcbiAgICAgICAgc3RhdHVzLnRvTG93ZXJDYXNlKCkgPT09ICdjYW5jZWwnXHJcbiAgICAgICkge1xyXG4gICAgICAgIHJldHVybiB0eXBlID09PSAnc3RhdHVzJyA/ICdkYW5nZXInIDogJ2Nsb3NlJztcclxuICAgICAgfSBlbHNlIGlmIChcclxuICAgICAgICBzdGF0dXMgPT09IENvbnN0YW50cy5GT1JNX1NUQVRVU19QRU5ESU5HIHx8XHJcbiAgICAgICAgc3RhdHVzLnRvTG93ZXJDYXNlKCkgPT09ICdwZW5kaW5nJ1xyXG4gICAgICApIHtcclxuICAgICAgICByZXR1cm4gdHlwZSA9PT0gJ3N0YXR1cycgPyAnd2FybmluZycgOiAnY2xvY2snO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiB0eXBlID09PSAnc3RhdHVzJyA/ICdzdWNjZXNzJyA6ICdjaGVjayc7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0eXBlID09PSAnc3RhdHVzJyA/ICdzdWNjZXNzJyA6ICdjaGVjayc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBsb2NhdGlvbkhyZWYoaHJlZkxpbmspIHtcclxuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gaHJlZkxpbms7XHJcbiAgfVxyXG5cclxuICBzdGF0dXNDbGFzcyhzdGF0dXM6IHN0cmluZykge1xyXG4gICAgaWYgKHN0YXR1cykge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgc3RhdHVzID09PSBDb25zdGFudHMuRk9STV9TVEFUVVNfUkVKRUNURUQgfHwgc3RhdHVzID09PSBDb25zdGFudHMuRk9STV9TVEFUVVNfQ0FOQ0VMTEVEXHJcbiAgICAgICAgfHwgc3RhdHVzLnRvTG93ZXJDYXNlKCkgPT09ICdyZWplY3QnIHx8IHN0YXR1cy50b0xvd2VyQ2FzZSgpID09PSAndW5zYXRpc2ZpZWQnIHx8IHN0YXR1cy50b0xvd2VyQ2FzZSgpID09PSAnY2FuY2VsJ1xyXG4gICAgICApIHtcclxuICAgICAgICByZXR1cm4gJ2Rhbmdlcic7XHJcbiAgICAgIH0gZWxzZSBpZiAoc3RhdHVzID09PSBDb25zdGFudHMuRk9STV9TVEFUVVNfUEVORElORyB8fCBzdGF0dXMudG9Mb3dlckNhc2UoKSA9PT0gJ3BlbmRpbmcnKSB7XHJcbiAgICAgICAgcmV0dXJuICd3YXJuaW5nJztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gJ3N1Y2Nlc3MnO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gJ3N1Y2Nlc3MnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdHVzSWNvbihzdGF0dXM6IHN0cmluZykge1xyXG4gICAgaWYgKHN0YXR1cykge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgc3RhdHVzID09PSBDb25zdGFudHMuRk9STV9TVEFUVVNfUkVKRUNURUQgfHwgc3RhdHVzID09PSBDb25zdGFudHMuRk9STV9TVEFUVVNfQ0FOQ0VMTEVEXHJcbiAgICAgICAgfHwgc3RhdHVzLnRvTG93ZXJDYXNlKCkgPT09ICdyZWplY3QnIHx8IHN0YXR1cy50b0xvd2VyQ2FzZSgpID09PSAndW5zYXRpc2ZpZWQnIHx8IHN0YXR1cy50b0xvd2VyQ2FzZSgpID09PSAnY2FuY2VsJ1xyXG4gICAgICApIHtcclxuICAgICAgICByZXR1cm4gJ2Nsb3NlJztcclxuICAgICAgfSBlbHNlIGlmIChzdGF0dXMgPT09IENvbnN0YW50cy5GT1JNX1NUQVRVU19QRU5ESU5HIHx8IHN0YXR1cy50b0xvd2VyQ2FzZSgpID09PSAncGVuZGluZycpIHtcclxuICAgICAgICByZXR1cm4gJ2Nsb2NrJztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gJ2NoZWNrJztcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICdjaGVjayc7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjwhLS0gPGRpdiBjbGFzcz1cInBhbmVsLWhlYWRpbmdcIiByb2xlPVwiYnV0dG9uXCIgW2lkXT1cInNlY3Rpb25JZCgpXCIgKm5nSWY9XCJzaG93SGVhZGVyKClcIj4gLS0+XHJcbjxtYXQtZXhwYW5zaW9uLXBhbmVsXHJcbiAgY2xhc3M9XCJtYi00XCIgW2V4cGFuZGVkXT1cImlzRXhwYW5kZWRcIiAqbmdJZj1cImZvcm0/LmhlYWRlcj8uc3RhdHVzPy5bJ2tleSddICE9PSAnTkVXJyBcIiBoaWRlVG9nZ2xlXHJcbiAgI2FwcHJvdmFsUGFuZWw9XCJtYXRFeHBhbnNpb25QYW5lbFwiPlxyXG4gIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiYXBwcm92YWwtcGFuZWwtY29udGFpbmVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZ2FwLTIgZmxleC1ncm93LTEgYXBwcm92YWwtcGFuZWwtdGl0bGVcIj5cclxuICAgICAgICA8ZHMtc3RhdHVzXHJcbiAgICAgICAgICBzdGF0dXM9XCJ7e3N0YXR1c0ljb25DbGFzcyhzZWN0aW9uU3RhdHVzS2V5LCdzdGF0dXMnKX19XCIgbm8tb3BhY2l0eSBpY29uXHJcbiAgICAgICAgICBjbGFzcz1cImNpcmNsZS1zdGF0dXMgZC1ub25lIGQtc20taW5saW5lLWJsb2NrXCI+XHJcbiAgICAgICAgICA8ZHMtaWNvbiBpY29uPVwie3tzdGF0dXNJY29uQ2xhc3Moc2VjdGlvblN0YXR1c0tleSwnaWNvbicpfX1cIj48L2RzLWljb24+XHJcbiAgICAgICAgPC9kcy1zdGF0dXM+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBmbGV4LWdyb3ctMVwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJmcy0xNiBmdy1tZWRpdW0gbS0wXCI+IHt7IHNlY3Rpb25OYW1lIH19PC9zcGFuPlxyXG4gICAgICAgICAgPGJkaSBjbGFzcz1cImZzLTEyIGZjLWRhcmstZ3JheSBmdy1ub3JtYWwgbGluZS1oZWlnaHQtMSBkLWJsb2NrXCIgKm5nSWY9XCJzZWN0aW9uLmhlYWRlcj8ucHJvY2Vzc2VkQnlcIj5cclxuICAgICAgICAgICAge3sgcHJvY2Vzc2luZ0RhdGUgfX1cclxuICAgICAgICAgIDwvYmRpPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImFwcHJvdmFsLXBhbmVsLWRldGFpbHMgZ2FwLTFcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKCFzZWN0aW9uPy5ib2R5Py5kZXRhaWxzPy5zdGFnZTA/LmlzU3RhZ2UwIHx8IHNlY3Rpb24/LmJvZHk/LmRldGFpbHM/LnN0YWdlMD8uaXNTdGFnZTAgPT09ICdmYWxzZScpXCI+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtM1wiICpuZ0lmPVwic2VjdGlvbj8uaGVhZGVyPy5wZXJzb25Ub1wiXHJcbiAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlU21hbGxQcm9maWxlSW5mbygkZXZlbnQsICdyZWNlaXBpZW50JylcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiByYWRpdXMtMyBoLTQwXCJcclxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J3VzZXItYXZhdGFyLW5hbWUgcHgtMCBweC1tZC0yJzogIXNlY3Rpb24/LmhlYWRlcj8uZGVsZWdhdGVkVG8sICdwLTAnOiBzZWN0aW9uPy5oZWFkZXI/LmRlbGVnYXRlZFRvfVwiPlxyXG4gICAgICAgICAgICAgIDxkcy1hdmF0YXIgaW1hZ2U9XCJ7e3NlY3Rpb24/LmhlYWRlcj8ucGVyc29uVG9UaHVtYm5haWx9fVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzPVwidXNlci1hdmF0YXJcIj48L2RzLWF2YXRhcj5cclxuICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmcy0xNCBmdy1tZWRpdW0gZC1pbmxpbmUtYmxvY2sgcGFuZWwtdXNlci1uYW1lIHRleHQtdHJ1bmNhdGVcIlxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydwYW5lbC11ZXNlci1vbmx5JzogIXNlY3Rpb24/LmhlYWRlcj8uZGVsZWdhdGVkVG99XCJcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIXNlY3Rpb24/LmhlYWRlcj8uZGVsZWdhdGVkVG9cIj57eyBzZWN0aW9uPy5oZWFkZXI/LnBlcnNvblRvIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAqbmdJZj1cInNlY3Rpb24/LmhlYWRlcj8uZGVsZWdhdGVkVG9cIiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTNcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVTbWFsbFByb2ZpbGVJbmZvKCRldmVudCwgJ2RlbGVnYXRlJylcIj5cclxuICAgICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInJvdGF0ZS1hcnJvd1wiXHJcbiAgICAgICAgICAgICAgICBzcmM9XCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXlNU0lnYUdWcFoyaDBQU0l4TXlJZ2RtbGxkMEp2ZUQwaU1DQXdJREl4SURFeklqNDhjR0YwYUNCa1BTSk5NakVzTnk0M05qTmhNUzQyTWpFc01TNDJNakVzTUN3d0xERXRMalEwTnk0MU9UTXNNUzR6TURZc01TNHpNRFlzTUN3d0xERXRMamMxTGpFNU5HTXROeTR5T0RRc01DMDRMalUyT0N3d0xURTFMamcxTXl3d1NETXVOalk1VERNdU5qTXNPQzQyWXk0d056Y3VNRFkwTGpFMU9DNHhNalF1TWpJNUxqRTVOSEV4TGpjeExERXVOamtzTXk0ME1pd3pMak00TVdFeExqQXlNeXd4TGpBeU15d3dMREFzTVN3dU1qa3hMREV1TURjNUxqazVNaTQ1T1RJc01Dd3dMREV0TGpndU56RTVMREV1TURVekxERXVNRFV6TERBc01Dd3hMVEV0TGpNek1WRXpMamd6TVN3eE1TNDNNVGtzTVM0NE9EWXNPUzQ0WXkwdU5EUXlMUzQwTXpjdExqZzNPUzB1T0RneExURXVNek10TVM0ek1EbEJOQzQxTnpJc05DNDFOeklzTUN3d0xERXNNQ3czTGpneE5GWTNMakU0TlVFek1DNDNPRE1zTXpBdU56Z3pMREFzTUN3eExESXVOek1zTkM0ek56RmpNUzB4TGpBeU55d3lMakF6T0MweUxqQXlOU3d6TGpBMk15MHpMakF6TWtFeExqQTBPU3d4TGpBME9Td3dMREVzTVN3M0xqSTNOeXd5TGpneVF6WXVOQ3d6TGpjc05TNDFNRGtzTkM0MU55dzBMall5TlN3MUxqUTBObU10TGpNeU15NHpNakV0TGpZME5DNDJORFV0TGprM015NDVOell1TURnMExqQTFPUzR4T0RFdU1ESTNMakkzTGpBeU55dzNMakkxT0N3d0xEZ3VOVEUyTERBc01UVXVOemMxTERCQk1TNHhNamtzTVM0eE1qa3NNQ3d3TERFc01qRXNOeTR5T1hZdU5EY3lXaUlnZEhKaGJuTm1iM0p0UFNKMGNtRnVjMnhoZEdVb01DQXRNQzQ1T1RrcElpQm1hV3hzUFNJallUVTBaV1V4SWk4K1BDOXpkbWMrXCJcclxuICAgICAgICAgICAgICAgIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgcHgtMCBweC1tZC0yIHJhZGl1cy0zIHVzZXItYXZhdGFyLW5hbWUgaC00MFwiPlxyXG4gICAgICAgICAgICAgICAgPGRzLWF2YXRhciBpbWFnZT1cInt7c2VjdGlvbj8uaGVhZGVyPy5kZWxlZ2F0ZWRUb1RodW1ibmFpbH19XCIgc2l6ZT1cInNtYWxsXCIgY2xhc3M9XCJ1c2VyLWF2YXRhclwiPjwvZHMtYXZhdGFyPlxyXG4gICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmcy0xNCBmdy1tZWRpdW0gZC1pbmxpbmUtYmxvY2sgcGFuZWwtdXNlci1uYW1lIHRleHQtdHJ1bmNhdGVcIj57eyBzZWN0aW9uPy5oZWFkZXI/LmRlbGVnYXRlZFRvIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZHMtc3RhdHVzXHJcbiAgICAgICAgICAgIGNsYXNzPVwibWFpbi1zdGF0dXNcIiAqbmdJZj1cInNlY3Rpb24/LmJvZHk/LmRldGFpbHM/LmRlY2lzaW9uPy5rZXlcIlxyXG4gICAgICAgICAgICBzdGF0dXM9XCJ7e3N0YXR1c0ljb25DbGFzcyhzZWN0aW9uU3RhdHVzS2V5LCdzdGF0dXMnKX19XCI+e3sgc2VjdGlvblN0YXR1c1ZhbHVlIH19XHJcbiAgICAgICAgICA8L2RzLXN0YXR1cz5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYXBwcm92YWwtcGFuZWwtdG9nZ2xlXCI+XHJcbiAgICAgICAgPGRzLWljb24gaWNvbj1cInBsdXMtMVwiIGNsYXNzPVwiZnMtMjAgZmMtY29yYWxcIiAqbmdJZj1cIiFhcHByb3ZhbFBhbmVsLmV4cGFuZGVkXCI+PC9kcy1pY29uPlxyXG5cclxuICAgICAgICA8ZHMtaWNvbiBpY29uPVwibWludXNcIiBjbGFzcz1cImZzLTIwIGZjLWRhcmstZ3JheVwiICpuZ0lmPVwiYXBwcm92YWxQYW5lbC5leHBhbmRlZFwiPjwvZHMtaWNvbj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9kaXY+XHJcbiAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuXHJcbiAgPHNlY3Rpb24gY2xhc3M9XCJib3JkZXItdG9wIHB0LTRcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwic2VjdGlvbkZvcm1Db21wb25lbnQ7IG5kY0R5bmFtaWNJbnB1dHM6IGlucHV0XCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9zZWN0aW9uPlxyXG5cclxuPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxyXG48bmctY29udGFpbmVyICpuZ0lmPVwiZm9ybT8uaGVhZGVyPy5zdGF0dXM/Llsna2V5J10gPT09ICdORVcnIFwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwic2VjdGlvbkZvcm1Db21wb25lbnQ7IG5kY0R5bmFtaWNJbnB1dHM6IGlucHV0XCI+PC9uZy1jb250YWluZXI+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPHNhdC1wb3BvdmVyICNwb3BvdmVyIFtoYXNCYWNrZHJvcF09XCJ0cnVlXCIgaG9yaXpvbnRhbEFsaWduPVwiY2VudGVyXCIgdmVydGljYWxBbGlnbj1cImFib3ZlXCI+XHJcbiAgPGRpdiBjbGFzcz1cImRlbGVnYXRlLWluZm8tcG9wdXBcIj5cclxuICAgIDxkcy1hdmF0YXIgKm5nSWY9XCJ1c2VyVHlwZSA9PT0gJ3JlY2VpcGllbnQnXCIgaW1hZ2U9XCJ7e3NlY3Rpb24/LmhlYWRlcj8ucGVyc29uVG9UaHVtYm5haWx9fVwiIHNpemU9XCJzbWFsbFwiPjwvZHMtYXZhdGFyPlxyXG4gICAgPGRzLWF2YXRhciAqbmdJZj1cInVzZXJUeXBlID09PSAnZGVsZWdhdGUnXCIgaW1hZ2U9XCJ7e3NlY3Rpb24/LmhlYWRlcj8uZGVsZWdhdGVkVG9UaHVtYm5haWx9fVwiIHNpemU9XCJzbWFsbFwiPjwvZHMtYXZhdGFyPlxyXG4gICAgPGRpdiBjbGFzcz1cImRlbGVnYXRlLWluZm8gbXgtMFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZnMtMTYgZnctbWVkaXVtIGZjLWJsYWNrIG1iLTBcIj57eyB1c2VyUG9wb3ZlckluZm8/Lm5hbWUgfX08L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZzLTEyIGZ3LW5vcm1hbCBmYy1ibGFjayBtYi0yXCI+e3sgdXNlclBvcG92ZXJJbmZvPy5qb2I/Lm5hbWUgfX08L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInVzZXItaW5mbyBmYy1ibGFjayBmcy0xMCBtYi0xXCI+XHJcbiAgICAgICAgPGRzLWljb24gaWNvbj1cInBob25lXCIgY2xhc3M9XCJmcy0xOCBmYy1kYXJrLWdyYXlcIj48L2RzLWljb24+XHJcbiAgICAgICAgPGJkaSAoY2xpY2spPVwibG9jYXRpb25IcmVmKCd0ZWw6JysgdXNlclBvcG92ZXJJbmZvPy5jb250YWN0Py53b3JrKVwiPnt7IHVzZXJQb3BvdmVySW5mbz8uY29udGFjdD8ud29yayB9fTwvYmRpPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInVzZXItaW5mbyBmYy1ibGFjayBmcy0xMCBtYi0xXCI+XHJcbiAgICAgICAgPGRzLWljb24gaWNvbj1cInBob25lXCIgY2xhc3M9XCJmcy0xOCBmYy1kYXJrLWdyYXlcIj48L2RzLWljb24+XHJcbiAgICAgICAgPGJkaSAoY2xpY2spPVwibG9jYXRpb25IcmVmKCd0ZWw6JysgdXNlclBvcG92ZXJJbmZvPy5jb250YWN0Py5tb2JpbGUpXCI+e3sgdXNlclBvcG92ZXJJbmZvPy5jb250YWN0Py5tb2JpbGUgfX08L2JkaT5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLWluZm8gZmMtYmxhY2sgZnMtMTAgbWItMVwiPlxyXG4gICAgICAgIDxkcy1pY29uIGljb249XCJtYWlsLW9cIiBjbGFzcz1cImZzLTE4IGZjLWRhcmstZ3JheVwiPjwvZHMtaWNvbj5cclxuICAgICAgICA8c3BhbiAoY2xpY2spPVwibG9jYXRpb25IcmVmKCdtYWlsdG86JysgdXNlclBvcG92ZXJJbmZvPy5lbWFpbClcIj57eyB1c2VyUG9wb3ZlckluZm8/LmVtYWlsIH19PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L3NhdC1wb3BvdmVyPlxyXG5cclxuXHJcblxyXG48IS0tXHJcbjxtYXQtZXhwYW5zaW9uLXBhbmVsXHJcbiAgY2xhc3M9XCJtYi00XCIgW2V4cGFuZGVkXT1cInRydWVcIiBoaWRlVG9nZ2xlXHJcbiAgI2FwcHJvdmFsUGFuZWw9XCJtYXRFeHBhbnNpb25QYW5lbFwiPlxyXG4gIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiYXBwcm92YWwtcGFuZWwtY29udGFpbmVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZ2FwLTIgZmxleC1ncm93LTEgYXBwcm92YWwtcGFuZWwtdGl0bGVcIj5cclxuICAgICAgICA8ZHMtc3RhdHVzXHJcbiAgICAgICAgICBzdGF0dXM9XCJ7e3N0YXR1c0NsYXNzKHNlY3Rpb25TdGF0dXNLZXkpfX1cIiBuby1vcGFjaXR5IGljb25cclxuICAgICAgICAgIGNsYXNzPVwiY2lyY2xlLXN0YXR1cyBkLW5vbmUgZC1zbS1pbmxpbmUtYmxvY2tcIj5cclxuICAgICAgICAgIDxkcy1pY29uIGljb249XCJ7e3N0YXR1c0ljb24oc2VjdGlvblN0YXR1c0tleSl9fVwiPjwvZHMtaWNvbj5cclxuICAgICAgICA8L2RzLXN0YXR1cz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtZ3Jvdy0xXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImZzLTE2IGZ3LW1lZGl1bSBtLTBcIj4ge3sgc2VjdGlvbk5hbWUgfX08L3NwYW4+XHJcbiAgICAgICAgICA8YmRpIGNsYXNzPVwiZnMtMTIgZmMtZGFyay1ncmF5IGZ3LW5vcm1hbCBsaW5lLWhlaWdodC0xIGQtYmxvY2sgbXQtMVwiICpuZ0lmPVwic2VjdGlvbi5oZWFkZXI/LnByb2Nlc3NlZEJ5XCI+XHJcbiAgICAgICAgICAgIHt7IHByb2Nlc3NpbmdEYXRlIH19XHJcbiAgICAgICAgICA8L2JkaT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhcHByb3ZhbC1wYW5lbC1kZXRhaWxzIGdhcC0xXCI+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0zXCIgKm5nSWY9XCJzZWN0aW9uPy5oZWFkZXI/LnBlcnNvblRvO1wiXHJcbiAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1wiPlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlU21hbGxQcm9maWxlSW5mbygkZXZlbnQsICdyZWNpcGllbnQnKVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiByYWRpdXMtMyBoLTQwXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyd1c2VyLWF2YXRhci1uYW1lIHB4LTAgcHgtbWQtMic6ICFzZWN0aW9uPy5oZWFkZXI/LmRlbGVnYXRlZFRvLCAncC0wJzogc2VjdGlvbj8uaGVhZGVyPy5kZWxlZ2F0ZWRUb31cIj5cclxuICAgICAgICAgICAgPGRzLWF2YXRhciBpbWFnZT1cInt7c2VjdGlvbj8uaGVhZGVyPy5wZXJzb25Ub1RodW1ibmFpbH19XCIgc2l6ZT1cInNtYWxsXCIgY2xhc3M9XCJ1c2VyLWF2YXRhclwiPjwvZHMtYXZhdGFyPlxyXG4gICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiZnMtMTQgZnctbWVkaXVtIGQtaW5saW5lLWJsb2NrIHBhbmVsLXVzZXItbmFtZSB0ZXh0LXRydW5jYXRlXCIgW25nQ2xhc3NdPVwieydwYW5lbC11ZXNlci1vbmx5JzogIXNlY3Rpb24/LmhlYWRlcj8uZGVsZWdhdGVkVG99XCJcclxuICAgICAgICAgICAgICAqbmdJZj1cIiFzZWN0aW9uPy5oZWFkZXI/LmRlbGVnYXRlZFRvXCI+e3sgc2VjdGlvbj8uaGVhZGVyPy5wZXJzb25UbyB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgKm5nSWY9XCJzZWN0aW9uPy5oZWFkZXI/LmRlbGVnYXRlZFRvXCIgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0zXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVNtYWxsUHJvZmlsZUluZm8oJGV2ZW50LCAnZGVsZWdhdGUnKVwiPlxyXG4gICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJyb3RhdGUtYXJyb3dcIlxyXG4gICAgICAgICAgICAgIHNyYz1cImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeU1TSWdhR1ZwWjJoMFBTSXhNeUlnZG1sbGQwSnZlRDBpTUNBd0lESXhJREV6SWo0OGNHRjBhQ0JrUFNKTk1qRXNOeTQzTmpOaE1TNDJNakVzTVM0Mk1qRXNNQ3d3TERFdExqUTBOeTQxT1RNc01TNHpNRFlzTVM0ek1EWXNNQ3d3TERFdExqYzFMakU1TkdNdE55NHlPRFFzTUMwNExqVTJPQ3d3TFRFMUxqZzFNeXd3U0RNdU5qWTVURE11TmpNc09DNDJZeTR3TnpjdU1EWTBMakUxT0M0eE1qUXVNakk1TGpFNU5IRXhMamN4TERFdU5qa3NNeTQwTWl3ekxqTTRNV0V4TGpBeU15d3hMakF5TXl3d0xEQXNNU3d1TWpreExERXVNRGM1TGprNU1pNDVPVElzTUN3d0xERXRMamd1TnpFNUxERXVNRFV6TERFdU1EVXpMREFzTUN3eExURXRMak16TVZFekxqZ3pNU3d4TVM0M01Ua3NNUzQ0T0RZc09TNDRZeTB1TkRReUxTNDBNemN0TGpnM09TMHVPRGd4TFRFdU16TXRNUzR6TURsQk5DNDFOeklzTkM0MU56SXNNQ3d3TERFc01DdzNMamd4TkZZM0xqRTROVUV6TUM0M09ETXNNekF1TnpnekxEQXNNQ3d4TERJdU56TXNOQzR6TnpGak1TMHhMakF5Tnl3eUxqQXpPQzB5TGpBeU5Td3pMakEyTXkwekxqQXpNa0V4TGpBME9Td3hMakEwT1N3d0xERXNNU3czTGpJM055d3lMamd5UXpZdU5Dd3pMamNzTlM0MU1Ea3NOQzQxTnl3MExqWXlOU3cxTGpRME5tTXRMak15TXk0ek1qRXRMalkwTkM0Mk5EVXRMamszTXk0NU56WXVNRGcwTGpBMU9TNHhPREV1TURJM0xqSTNMakF5Tnl3M0xqSTFPQ3d3TERndU5URTJMREFzTVRVdU56YzFMREJCTVM0eE1qa3NNUzR4TWprc01Dd3dMREVzTWpFc055NHlPWFl1TkRjeVdpSWdkSEpoYm5ObWIzSnRQU0owY21GdWMyeGhkR1VvTUNBdE1DNDVPVGtwSWlCbWFXeHNQU0lqWVRVMFpXVXhJaTgrUEM5emRtYytcIi8+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yIHB4LTAgcHgtbWQtMiByYWRpdXMtMyB1c2VyLWF2YXRhci1uYW1lIGgtNDBcIj5cclxuICAgICAgICAgICAgICA8ZHMtYXZhdGFyIGltYWdlPVwie3tzZWN0aW9uPy5oZWFkZXI/LmRlbGVnYXRlZFRvVGh1bWJuYWlsfX1cIiBzaXplPVwic21hbGxcIiBjbGFzcz1cInVzZXItYXZhdGFyXCI+PC9kcy1hdmF0YXI+XHJcbiAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZnMtMTQgZnctbWVkaXVtIGQtaW5saW5lLWJsb2NrIHBhbmVsLXVzZXItbmFtZSB0ZXh0LXRydW5jYXRlXCI+e3sgc2VjdGlvbj8uaGVhZGVyPy5kZWxlZ2F0ZWRUbyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRzLXN0YXR1c1xyXG4gICAgICAgICAgY2xhc3M9XCJtYWluLXN0YXR1c1wiICpuZ0lmPVwic2VjdGlvbj8uYm9keT8uZGV0YWlscz8uWydkZWNpc2lvbiddPy5rZXk7XCJcclxuICAgICAgICAgIHN0YXR1cz1cInt7c3RhdHVzQ2xhc3Moc2VjdGlvbj8uYm9keT8uZGV0YWlscz8uWydkZWNpc2lvbiddPy5rZXkpfX1cIj57eyBzZWN0aW9uPy5ib2R5Py5kZXRhaWxzPy5bJ2RlY2lzaW9uJ10/LnZhbHVlIH19XHJcbiAgICAgICAgPC9kcy1zdGF0dXM+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImFwcHJvdmFsLXBhbmVsLXRvZ2dsZVwiPlxyXG4gICAgICAgIDxkcy1pY29uIGljb249XCJwbHVzLTFcIiBjbGFzcz1cImZzLTIwIGZjLWNvcmFsXCIgKm5nSWY9XCIhYXBwcm92YWxQYW5lbC5leHBhbmRlZFwiPjwvZHMtaWNvbj5cclxuICAgICAgICA8ZHMtaWNvbiBpY29uPVwibWludXNcIiBjbGFzcz1cImZzLTIwIGZjLWRhcmstZ3JheVwiICpuZ0lmPVwiYXBwcm92YWxQYW5lbC5leHBhbmRlZFwiPjwvZHMtaWNvbj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9kaXY+XHJcbiAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuICA8c2VjdGlvbiBjbGFzcz1cImJvcmRlci10b3AgcHQtNFwiPlxyXG5cclxuICAgIDxhcHAtd29ya2Zsb3ctYXBwcm92YWxcclxuICAgICAgW2lzUmVhZE9ubHldPVwiaW5wdXQuaXNSZWFkT25seVwiXHJcbiAgICAgIFtsb3ZdPVwiaW5wdXQubG92XCJcclxuICAgICAgW3NlY3Rpb25dPVwiaW5wdXQuc2VjdGlvblwiXHJcbiAgICAgIFtyZXF1ZXN0RGV0YWlsc109XCJyZXF1ZXN0RGV0YWlsc1wiXHJcbiAgICA+PC9hcHAtd29ya2Zsb3ctYXBwcm92YWw+XHJcbiAgICAmbHQ7ISZuZGFzaDsgICAgPG5nLWNvbnRhaW5lciAqbmdDb21wb25lbnRPdXRsZXQ9XCJzZWN0aW9uRm9ybUNvbXBvbmVudDsgbmRjRHluYW1pY0lucHV0czogaW5wdXRcIj48L25nLWNvbnRhaW5lcj4mbmRhc2g7Jmd0O1xyXG4gIDwvc2VjdGlvbj5cclxuXHJcbjwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImZvcm0/LmhlYWRlcj8uc3RhdHVzPy5bJ2tleSddID09ICdORVcnIFwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwic2VjdGlvbkZvcm1Db21wb25lbnQ7IG5kY0R5bmFtaWNJbnB1dHM6IGlucHV0XCI+PC9uZy1jb250YWluZXI+XHJcbjwvbmctY29udGFpbmVyPlxyXG4tLT5cclxuIl19
269
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9hcHAtY29tcG9uZW50LXNlY3Rpb25zL2Zvcm0tc2VjdGlvbi9mb3JtLXNlY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvZm9ybS1zZWN0aW9uL2Zvcm0tc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtDLFNBQVMsRUFBRSxzQkFBc0IsRUFBYyxLQUFLLEVBQVUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZJLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDakUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFdEQsT0FBTyxLQUFLLFNBQVMsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFRLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQTs7OztBQWlCakMsTUFBTSxPQUFPLG9CQUFvQjtJQXFDdEI7SUFuQ1QsUUFBUSxHQUFHLFlBQVksQ0FBQztJQUNGLE9BQU8sQ0FBTztJQUNwQyxXQUFXLEdBQUcsWUFBWSxDQUFDO0lBQzNCLGVBQWUsR0FBRyxFQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBQyxDQUFDO0lBQzNCLGNBQWMsQ0FBVTtJQUNqQyxlQUFlLEdBQVEsRUFBRSxDQUFD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QUFvQjsyRkFBcEIsb0JBQW9CLG1oQkN6QmpDLHN2TUFtR0Esdy9ERG5GSSxpQkFBaUIsc0xBQ2pCLElBQUksNkZBQ0osaUJBQWlCLG9QQUNqQiwwQkFBMEIscU9BQzFCLGdCQUFnQiwwZ0JBQ2hCLE9BQU87OzJGQUlFLG9CQUFvQjtrQkFmaEMsU0FBUzsrQkFDRSxrQkFBa0IsY0FHaEIsSUFBSSxXQUNQO3dCQUNQLGlCQUFpQjt3QkFDakIsSUFBSTt3QkFDSixpQkFBaUI7d0JBQ2pCLDBCQUEwQjt3QkFDMUIsZ0JBQWdCO3dCQUNoQixPQUFPO3FCQUNSLFdBQ1EsQ0FBQyxzQkFBc0IsQ0FBQztvRkFLWCxPQUFPO3NCQUE1QixTQUFTO3VCQUFDLFNBQVM7Z0JBR1gsY0FBYztzQkFBdEIsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csMkJBQTJCO3NCQUFuQyxLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdDaGVja2VkLCBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29yZUkxOG5TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7Q29tcG9uZW50T3V0bGV0SW9EaXJlY3RpdmV9IGZyb20gJ25nLWR5bmFtaWMtY29tcG9uZW50JztcclxuaW1wb3J0IHtOZ0NsYXNzLCBOZ0NvbXBvbmVudE91dGxldCwgTmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtNYXRFeHBhbnNpb25QYW5lbH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcclxuaW1wb3J0IHtTYXRQb3BvdmVyTW9kdWxlfSBmcm9tICdAbmNzdGF0ZS9zYXQtcG9wb3Zlcic7XHJcbmltcG9ydCB7Rm9ybSwgU2VjdGlvbn0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCAqIGFzIENvbnN0YW50cyBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMnO1xyXG5pbXBvcnQgICogYXMgbW9tZW50IGZyb20gJ21vbWVudCdcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWZvcm0tc2VjdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tc2VjdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS1zZWN0aW9uLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBNYXRFeHBhbnNpb25QYW5lbCxcclxuICAgIE5nSWYsXHJcbiAgICBOZ0NvbXBvbmVudE91dGxldCxcclxuICAgIENvbXBvbmVudE91dGxldElvRGlyZWN0aXZlLFxyXG4gICAgU2F0UG9wb3Zlck1vZHVsZSxcclxuICAgIE5nQ2xhc3NcclxuICBdLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybVNlY3Rpb25Db21wb25lbnRcclxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3Q2hlY2tlZCwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgdXNlclR5cGUgPSAncmVjZWlwaWVudCc7XHJcbiAgQFZpZXdDaGlsZCgncG9wb3ZlcicpIHBvcG92ZXI/OiBhbnk7XHJcbiAgcG9wb3ZlclR5cGUgPSAncmVjZWlwaWVudCc7XHJcbiAgcG9wb3ZlclBvc2l0aW9uID0ge3RvcDogMCwgbGVmdDogMH07XHJcbiAgQElucHV0KCkgcmVxdWVzdERldGFpbHM6IFNlY3Rpb247XHJcbiAgdXNlclBvcG92ZXJJbmZvOiBhbnkgPSB7fTtcclxuICBASW5wdXQoKSBzZWN0aW9uOiBTZWN0aW9uO1xyXG4gIEBJbnB1dCgpIGZvcm06IEZvcm07XHJcbiAgQElucHV0KCkgbG92OiBhbnk7XHJcbiAgQElucHV0KCkgaXNSZWFkT25seTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBpc09wZW46IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaXNGaW5hbEFwcHJvdmFsOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGNvbnRyb2xsZXJzOiBhbnk7XHJcbiAgQElucHV0KCkgc2VnbWVudER5bmFtaWNMb2FkZXJTZXJ2aWNlOiBhbnk7XHJcbiAgQElucHV0KCkgc2VjdGlvbkZvcm1Db21wb25lbnQ6IGFueSA9IG51bGw7XHJcbiAgQElucHV0KCkgc2VjdGlvbk5hbWUgPSAnU0VDVElPTl9OQU1FLnJlcXVlc3REZXRhaWxzJztcclxuICBzZWN0aW9uTnVtYmVyOiBudW1iZXI7XHJcbiAgc2VjdGlvblN0YXR1c1ZhbHVlOiBzdHJpbmc7XHJcbiAgc2VjdGlvblN0YXR1c0tleTogc3RyaW5nO1xyXG4gIHJlY2VpcGllbnQgPSB7XHJcbiAgICBpc1Nob3dpbmc6IGZhbHNlLFxyXG4gICAgcHJvZmlsZTogbnVsbFxyXG4gIH07XHJcbiAgZGVsZWdhdGUgPSB7XHJcbiAgICBpc1Nob3dpbmc6IGZhbHNlLFxyXG4gICAgcHJvZmlsZTogbnVsbFxyXG4gIH07XHJcbiAgcHVibGljIGlucHV0O1xyXG4gIGhpZ2hsaWdodEZsYWc6IGJvb2xlYW47XHJcblxyXG4gIHByb2Nlc3NpbmdEYXRlOiBzdHJpbmc7XHJcbiAgcHVibGljIHJhbmRvbUlEOiBudW1iZXIgPVxyXG4gICAgTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKDk5OTk5OSAtIDEwMDAwMCkpICsgMTAwMDAwO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBpMThuOiBDb3JlSTE4blNlcnZpY2UsXHJcbiAgKSB7XHJcbiAgICB0aGlzLmhpZ2hsaWdodEZsYWcgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZWN0aW9uRm9ybUNvbXBvbmVudCA9IHRoaXMuc2VnbWVudER5bmFtaWNMb2FkZXJTZXJ2aWNlLmdldENvbXBvbmVudChcclxuICAgICAgdGhpcy5zZWN0aW9uLmlkXHJcbiAgICApO1xyXG4gICAgY29uc29sZS5sb2coJ3h4eHgnLHRoaXMuc2VjdGlvbkZvcm1Db21wb25lbnQpXHJcbiAgICBpZiAodGhpcy5zZWN0aW9uLmJvZHkuZGV0YWlscy5zdGFnZU5hbWUpIHtcclxuICAgICAgdGhpcy5zZWN0aW9uTmFtZSA9IHRoaXMuc2VjdGlvbi5ib2R5LmRldGFpbHMuc3RhZ2VOYW1lO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWN0aW9uTmFtZSA9IHRoaXMuc2VnbWVudER5bmFtaWNMb2FkZXJTZXJ2aWNlLmdldFNlY3Rpb25OYW1lKHRoaXMuc2VjdGlvbi5pZCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pbnB1dCA9IHtcclxuICAgICAgaXNSZWFkT25seTogdGhpcy5pc1JlYWRPbmx5LFxyXG4gICAgICBsb3Y6IHRoaXMubG92LFxyXG4gICAgICBzZWN0aW9uOiB0aGlzLnNlY3Rpb24sXHJcbiAgICAgIGNvbnRyb2xsZXJzOiB0aGlzLmNvbnRyb2xsZXJzLFxyXG4gICAgICByZXF1ZXN0RGV0YWlsczogdGhpcy5yZXF1ZXN0RGV0YWlsc1xyXG4gICAgfTtcclxuICAgIGlmICh0aGlzLnNlY3Rpb24uaGVhZGVyICYmIHRoaXMuc2VjdGlvbi5oZWFkZXIucHJvY2Vzc2luZ0RhdGUpIHtcclxuICAgICAgdGhpcy5wcm9jZXNzaW5nRGF0ZSA9IG1vbWVudCh0aGlzLnNlY3Rpb24uaGVhZGVyLnByb2Nlc3NpbmdEYXRlKVxyXG4gICAgICAgIC5sb2NhbGUoJ2VuLVVTJylcclxuICAgICAgICAuZm9ybWF0KCdERC9NTS9ZWVlZIEhIOm1tOnNzJyk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5oaWdobGlnaHRGbGFnID0gdGhpcy5pc09wZW47XHJcbiAgICBjb25zdCB4ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnI2NvbGxhcHNlJyArIHRoaXMuc2VjdGlvbklkKCkpO1xyXG4gICAgaWYgKHgubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLnNlY3Rpb25OdW1iZXIgPSB4Lmxlbmd0aDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLnNlY3Rpb24uaWQgIT09ICdyZXF1ZXN0RGV0YWlscycgJiZcclxuICAgICAgdGhpcy5zZWN0aW9uLmlkICE9PSAnaHJSZXF1ZXN0RGV0YWlscycgJiZcclxuICAgICAgIXRoaXMuc2VjdGlvblN0YXR1c0tleSAmJlxyXG4gICAgICB0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzLmRlY2lzaW9uICYmXHJcbiAgICAgIHRoaXMuc2VjdGlvbi5ib2R5LmRldGFpbHMuZGVjaXNpb24ua2V5XHJcbiAgICApIHtcclxuICAgICAgdGhpcy5zZWN0aW9uU3RhdHVzS2V5ID0gdGhpcy5zZWN0aW9uLmJvZHkuZGV0YWlscy5kZWNpc2lvbi5rZXk7XHJcbiAgICB9XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuc2VjdGlvbi5pZCAhPT0gJ3JlcXVlc3REZXRhaWxzJyAmJlxyXG4gICAgICB0aGlzLnNlY3Rpb24uaWQgIT09ICdoclJlcXVlc3REZXRhaWxzJyAmJlxyXG4gICAgICAhdGhpcy5zZWN0aW9uU3RhdHVzVmFsdWUgJiZcclxuICAgICAgdGhpcy5zZWN0aW9uLmJvZHkuZGV0YWlscy5kZWNpc2lvbiAmJlxyXG4gICAgICB0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzLmRlY2lzaW9uLnZhbHVlXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5zZWN0aW9uU3RhdHVzVmFsdWUgPSB0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzLmRlY2lzaW9uLnZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5TZXJ2aWNlc1N1YlNjcmlwdGlvbnMoKTtcclxuICB9XHJcblxyXG4gIGdldCBpc0V4cGFuZGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgaXNFeHBhbmRhYmxlRnJvbUJhY2tlbmQgPSB0aGlzLmZvcm0/LnNlY3Rpb25zPy5sZW5ndGggJiYgdGhpcy5mb3JtLnNlY3Rpb25zLnNvbWUoc2VjdGlvbiA9PiAnZXhwYW5kU3RhZ2UnIGluIHNlY3Rpb24/LmJvZHk/LmRldGFpbHMpO1xyXG4gICAgaWYgKCFpc0V4cGFuZGFibGVGcm9tQmFja2VuZCkgcmV0dXJuIHRydWU7XHJcbiAgICByZXR1cm4gdGhpcy5zZWN0aW9uPy5ib2R5Py5kZXRhaWxzPy5leHBhbmRTdGFnZSA9PT0gJ3RydWUnO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNlcnZpY2VzU3ViU2NyaXB0aW9ucygpIHtcclxuICAgIC8qICB0aGlzLnByb2ZpbGVSZXF1ZXN0b3JTZXJ2aWNlLmdldEZvcm0oKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgICB0aGlzLmZvcm0gPSBkYXRhO1xyXG4gICAgICB9KTsqL1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xyXG4gICAgdGhpcy5pbnB1dCA9IHtcclxuICAgICAgaXNSZWFkT25seTogdGhpcy5pc1JlYWRPbmx5LFxyXG4gICAgICBsb3Y6IHRoaXMubG92LFxyXG4gICAgICBzZWN0aW9uOiB0aGlzLnNlY3Rpb24sXHJcbiAgICAgIGNvbnRyb2xsZXJzOiB0aGlzLmNvbnRyb2xsZXJzLFxyXG4gICAgICBzZWN0aW9uSWQ6IHRoaXMuc2VjdGlvblxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHNlY3Rpb25JZCgpIHtcclxuICAgIHJldHVybiB0aGlzLnNlY3Rpb24uaWQuc3BsaXQoJyAnKS5qb2luKCcnKSArIHRoaXMucmFuZG9tSUQ7XHJcbiAgfVxyXG5cclxuICBnZXRTZWN0aW9uTmFtZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnNlY3Rpb24uaWQ7XHJcbiAgfVxyXG5cclxuICBnZXRGb3JtU3RlcFN0YXR1cyhrZXk6IHN0cmluZykge1xyXG4gICAgbGV0IHN0YXR1cyA9ICdOT1RfRk9VTkRfSU5fTE9WJztcclxuICAgIGlmICh0aGlzLmxvdi5mb3JtU3RlcFN0YXR1cyAmJiB0aGlzLmxvdi5mb3JtU3RlcFN0YXR1cy5vcHRpb25zKSB7XHJcbiAgICAgIHRoaXMubG92LmZvcm1TdGVwU3RhdHVzLm9wdGlvbnMuZm9yRWFjaCgob3B0aW9uKSA9PiB7XHJcbiAgICAgICAgaWYgKG9wdGlvbi52YWx1ZSA9PT0ga2V5KSB7XHJcbiAgICAgICAgICBzdGF0dXMgPSBvcHRpb24uZGVzY3JpcHRpb247XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiBzdGF0dXM7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVTbWFsbFByb2ZpbGVJbmZvKGV2ZW50LCBwZXJzb25UeXBlKSB7XHJcbiAgICB0aGlzLnVzZXJUeXBlID0gcGVyc29uVHlwZTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgY29uc3QgdXNlckluZm8gPSB0aGlzW3BlcnNvblR5cGVdO1xyXG4gICAgaWYgKHVzZXJJbmZvLnByb2ZpbGUgPT09IG51bGwpIHtcclxuICAgICAgdGhpcy5wb3BvdmVyVHlwZSA9IHBlcnNvblR5cGU7XHJcbiAgICAgIGNvbnN0IHVzZXJFbWFpbCA9XHJcbiAgICAgICAgcGVyc29uVHlwZSA9PT0gJ3JlY2VpcGllbnQnXHJcbiAgICAgICAgICA/IHRoaXMuc2VjdGlvbi5oZWFkZXIucGVyc29uVG9UaHVtYm5haWwuc3BsaXQoJz0nKVsxXVxyXG4gICAgICAgICAgOiB0aGlzPy5zZWN0aW9uPy5oZWFkZXI/LmRlbGVnYXRlZFRvVGh1bWJuYWlsLnNwbGl0KCc9JylbMV07XHJcbiAgICAgIC8qdGhpcy5zdGF0ZU1hY2hpbmVcclxuICAgICAgICAuZGlzcGF0Y2goQ29uc3RhbnRzLlNUQVRFX01BQ0hJTkVfQUNUSU9OX0VNUExPWUVFX1BST0ZJTEUsIHVzZXJFbWFpbClcclxuICAgICAgICAudGhlbigocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKHRoaXMsIHJlc3BvbnNlKTtcclxuXHJcbiAgICAgICAgICBpZiAocmVzcG9uc2UpIHtcclxuICAgICAgICAgICAgdGhpc1twZXJzb25UeXBlXS5wcm9maWxlID0gcmVzcG9uc2U7XHJcbiAgICAgICAgICAgIHRoaXMucG9wb3ZlclBvc2l0aW9uID0ge1xyXG4gICAgICAgICAgICAgIHRvcDogMTAsXHJcbiAgICAgICAgICAgICAgbGVmdDpcclxuICAgICAgICAgICAgICAgIGV2ZW50LnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0ICtcclxuICAgICAgICAgICAgICAgIGV2ZW50LnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCAvIDRcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgdGhpcy5wb3BvdmVyLmFuY2hvciA9IGV2ZW50LnRhcmdldDtcclxuICAgICAgICAgICAgdGhpcy5wb3BvdmVyLm9wZW4oKTtcclxuICAgICAgICAgICAgdGhpcy51c2VyUG9wb3ZlckluZm8gPSByZXNwb25zZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTsqL1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy51c2VyUG9wb3ZlckluZm8gPSB0aGlzW3BlcnNvblR5cGVdLnByb2ZpbGU7XHJcbiAgICAgIHRoaXMucG9wb3ZlclBvc2l0aW9uID0ge1xyXG4gICAgICAgIHRvcDogMTAsXHJcbiAgICAgICAgbGVmdDpcclxuICAgICAgICAgIGV2ZW50LnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0ICtcclxuICAgICAgICAgIGV2ZW50LnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCAvIDRcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5wb3BvdmVyLmFuY2hvciA9IGV2ZW50LnRhcmdldDtcclxuICAgICAgdGhpcy5wb3BvdmVyLm9wZW4oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXR1c0ljb25DbGFzcyhzdGF0dXM6IHN0cmluZywgdHlwZTogc3RyaW5nKSB7XHJcbiAgICBpZiAoc3RhdHVzKSB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBzdGF0dXMgPT09IENvbnN0YW50cy5GT1JNX1NUQVRVU19SRUpFQ1RFRCB8fFxyXG4gICAgICAgIHN0YXR1cyA9PT0gQ29uc3RhbnRzLkZPUk1fU1RBVFVTX0NBTkNFTExFRCB8fFxyXG4gICAgICAgIHN0YXR1cy50b0xvd2VyQ2FzZSgpID09PSAncmVqZWN0JyB8fFxyXG4gICAgICAgIHN0YXR1cy50b0xvd2VyQ2FzZSgpID09PSAndW5zYXRpc2ZpZWQnIHx8XHJcbiAgICAgICAgc3RhdHVzLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ2RlbnknKSB8fFxyXG4gICAgICAgIHN0YXR1cy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdyZWplY3QnKSB8fFxyXG4gICAgICAgIHN0YXR1cy50b0xvd2VyQ2FzZSgpID09PSAnY2FuY2VsJ1xyXG4gICAgICApIHtcclxuICAgICAgICByZXR1cm4gdHlwZSA9PT0gJ3N0YXR1cycgPyAnZGFuZ2VyJyA6ICdjbG9zZSc7XHJcbiAgICAgIH0gZWxzZSBpZiAoXHJcbiAgICAgICAgc3RhdHVzID09PSBDb25zdGFudHMuRk9STV9TVEFUVVNfUEVORElORyB8fFxyXG4gICAgICAgIHN0YXR1cy50b0xvd2VyQ2FzZSgpID09PSAncGVuZGluZydcclxuICAgICAgKSB7XHJcbiAgICAgICAgcmV0dXJuIHR5cGUgPT09ICdzdGF0dXMnID8gJ3dhcm5pbmcnIDogJ2Nsb2NrJztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gdHlwZSA9PT0gJ3N0YXR1cycgPyAnc3VjY2VzcycgOiAnY2hlY2snO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdHlwZSA9PT0gJ3N0YXR1cycgPyAnc3VjY2VzcycgOiAnY2hlY2snO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbG9jYXRpb25IcmVmKGhyZWZMaW5rKSB7XHJcbiAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGhyZWZMaW5rO1xyXG4gIH1cclxuXHJcbiAgc3RhdHVzQ2xhc3Moc3RhdHVzOiBzdHJpbmcpIHtcclxuICAgIGlmIChzdGF0dXMpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHN0YXR1cyA9PT0gQ29uc3RhbnRzLkZPUk1fU1RBVFVTX1JFSkVDVEVEIHx8IHN0YXR1cyA9PT0gQ29uc3RhbnRzLkZPUk1fU1RBVFVTX0NBTkNFTExFRFxyXG4gICAgICAgIHx8IHN0YXR1cy50b0xvd2VyQ2FzZSgpID09PSAncmVqZWN0JyB8fCBzdGF0dXMudG9Mb3dlckNhc2UoKSA9PT0gJ3Vuc2F0aXNmaWVkJyB8fCBzdGF0dXMudG9Mb3dlckNhc2UoKSA9PT0gJ2NhbmNlbCdcclxuICAgICAgKSB7XHJcbiAgICAgICAgcmV0dXJuICdkYW5nZXInO1xyXG4gICAgICB9IGVsc2UgaWYgKHN0YXR1cyA9PT0gQ29uc3RhbnRzLkZPUk1fU1RBVFVTX1BFTkRJTkcgfHwgc3RhdHVzLnRvTG93ZXJDYXNlKCkgPT09ICdwZW5kaW5nJykge1xyXG4gICAgICAgIHJldHVybiAnd2FybmluZyc7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuICdzdWNjZXNzJztcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICdzdWNjZXNzJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXR1c0ljb24oc3RhdHVzOiBzdHJpbmcpIHtcclxuICAgIGlmIChzdGF0dXMpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHN0YXR1cyA9PT0gQ29uc3RhbnRzLkZPUk1fU1RBVFVTX1JFSkVDVEVEIHx8IHN0YXR1cyA9PT0gQ29uc3RhbnRzLkZPUk1fU1RBVFVTX0NBTkNFTExFRFxyXG4gICAgICAgIHx8IHN0YXR1cy50b0xvd2VyQ2FzZSgpID09PSAncmVqZWN0JyB8fCBzdGF0dXMudG9Mb3dlckNhc2UoKSA9PT0gJ3Vuc2F0aXNmaWVkJyB8fCBzdGF0dXMudG9Mb3dlckNhc2UoKSA9PT0gJ2NhbmNlbCdcclxuICAgICAgKSB7XHJcbiAgICAgICAgcmV0dXJuICdjbG9zZSc7XHJcbiAgICAgIH0gZWxzZSBpZiAoc3RhdHVzID09PSBDb25zdGFudHMuRk9STV9TVEFUVVNfUEVORElORyB8fCBzdGF0dXMudG9Mb3dlckNhc2UoKSA9PT0gJ3BlbmRpbmcnKSB7XHJcbiAgICAgICAgcmV0dXJuICdjbG9jayc7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuICdjaGVjayc7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAnY2hlY2snO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8IS0tIDxkaXYgY2xhc3M9XCJwYW5lbC1oZWFkaW5nXCIgcm9sZT1cImJ1dHRvblwiIFtpZF09XCJzZWN0aW9uSWQoKVwiICpuZ0lmPVwic2hvd0hlYWRlcigpXCI+IC0tPlxyXG48bWF0LWV4cGFuc2lvbi1wYW5lbFxyXG4gIGNsYXNzPVwibWItNFwiIFtleHBhbmRlZF09XCJpc0V4cGFuZGVkXCIgKm5nSWY9XCJmb3JtPy5oZWFkZXI/LnN0YXR1cz8uWydrZXknXSAhPT0gJ05FVycgXCIgaGlkZVRvZ2dsZVxyXG4gICNhcHByb3ZhbFBhbmVsPVwibWF0RXhwYW5zaW9uUGFuZWxcIj5cclxuICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImFwcHJvdmFsLXBhbmVsLWNvbnRhaW5lclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGdhcC0yIGZsZXgtZ3Jvdy0xIGFwcHJvdmFsLXBhbmVsLXRpdGxlXCI+XHJcbiAgICAgICAgPGRzLXN0YXR1c1xyXG4gICAgICAgICAgc3RhdHVzPVwie3tzdGF0dXNJY29uQ2xhc3Moc2VjdGlvblN0YXR1c0tleSwnc3RhdHVzJyl9fVwiIG5vLW9wYWNpdHkgaWNvblxyXG4gICAgICAgICAgY2xhc3M9XCJjaXJjbGUtc3RhdHVzIGQtbm9uZSBkLXNtLWlubGluZS1ibG9ja1wiPlxyXG4gICAgICAgICAgPGRzLWljb24gaWNvbj1cInt7c3RhdHVzSWNvbkNsYXNzKHNlY3Rpb25TdGF0dXNLZXksJ2ljb24nKX19XCI+PC9kcy1pY29uPlxyXG4gICAgICAgIDwvZHMtc3RhdHVzPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZmxleC1ncm93LTFcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnMtMTYgZnctbWVkaXVtIG0tMFwiPiB7eyBzZWN0aW9uTmFtZSB9fTwvc3Bhbj5cclxuICAgICAgICAgIDxiZGkgY2xhc3M9XCJmcy0xMiBmYy1kYXJrLWdyYXkgZnctbm9ybWFsIGxpbmUtaGVpZ2h0LTEgZC1ibG9ja1wiICpuZ0lmPVwic2VjdGlvbi5oZWFkZXI/LnByb2Nlc3NlZEJ5XCI+XHJcbiAgICAgICAgICAgIHt7IHByb2Nlc3NpbmdEYXRlIH19XHJcbiAgICAgICAgICA8L2JkaT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhcHByb3ZhbC1wYW5lbC1kZXRhaWxzIGdhcC0xXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIighc2VjdGlvbj8uYm9keT8uZGV0YWlscz8uc3RhZ2UwPy5pc1N0YWdlMCB8fCBzZWN0aW9uPy5ib2R5Py5kZXRhaWxzPy5zdGFnZTA/LmlzU3RhZ2UwID09PSAnZmFsc2UnKVwiPlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTNcIiAqbmdJZj1cInNlY3Rpb24/LmhlYWRlcj8ucGVyc29uVG9cIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1wiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVNtYWxsUHJvZmlsZUluZm8oJGV2ZW50LCAncmVjZWlwaWVudCcpXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgcmFkaXVzLTMgaC00MFwiXHJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyd1c2VyLWF2YXRhci1uYW1lIHB4LTAgcHgtbWQtMic6ICFzZWN0aW9uPy5oZWFkZXI/LmRlbGVnYXRlZFRvLCAncC0wJzogc2VjdGlvbj8uaGVhZGVyPy5kZWxlZ2F0ZWRUb31cIj5cclxuICAgICAgICAgICAgICA8ZHMtYXZhdGFyIGltYWdlPVwie3tzZWN0aW9uPy5oZWFkZXI/LnBlcnNvblRvVGh1bWJuYWlsfX1cIiBzaXplPVwic21hbGxcIiBjbGFzcz1cInVzZXItYXZhdGFyXCI+PC9kcy1hdmF0YXI+XHJcbiAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZnMtMTQgZnctbWVkaXVtIGQtaW5saW5lLWJsb2NrIHBhbmVsLXVzZXItbmFtZSB0ZXh0LXRydW5jYXRlXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsncGFuZWwtdWVzZXItb25seSc6ICFzZWN0aW9uPy5oZWFkZXI/LmRlbGVnYXRlZFRvfVwiXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiFzZWN0aW9uPy5oZWFkZXI/LmRlbGVnYXRlZFRvXCI+e3sgc2VjdGlvbj8uaGVhZGVyPy5wZXJzb25UbyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJzZWN0aW9uPy5oZWFkZXI/LmRlbGVnYXRlZFRvXCIgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0zXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlU21hbGxQcm9maWxlSW5mbygkZXZlbnQsICdkZWxlZ2F0ZScpXCI+XHJcbiAgICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJyb3RhdGUtYXJyb3dcIlxyXG4gICAgICAgICAgICAgICAgc3JjPVwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l5TVNJZ2FHVnBaMmgwUFNJeE15SWdkbWxsZDBKdmVEMGlNQ0F3SURJeElERXpJajQ4Y0dGMGFDQmtQU0pOTWpFc055NDNOak5oTVM0Mk1qRXNNUzQyTWpFc01Dd3dMREV0TGpRME55NDFPVE1zTVM0ek1EWXNNUzR6TURZc01Dd3dMREV0TGpjMUxqRTVOR010Tnk0eU9EUXNNQzA0TGpVMk9Dd3dMVEUxTGpnMU15d3dTRE11TmpZNVRETXVOak1zT0M0Mll5NHdOemN1TURZMExqRTFPQzR4TWpRdU1qSTVMakU1TkhFeExqY3hMREV1Tmprc015NDBNaXd6TGpNNE1XRXhMakF5TXl3eExqQXlNeXd3TERBc01Td3VNamt4TERFdU1EYzVMams1TWk0NU9USXNNQ3d3TERFdExqZ3VOekU1TERFdU1EVXpMREV1TURVekxEQXNNQ3d4TFRFdExqTXpNVkV6TGpnek1Td3hNUzQzTVRrc01TNDRPRFlzT1M0NFl5MHVORFF5TFM0ME16Y3RMamczT1MwdU9EZ3hMVEV1TXpNdE1TNHpNRGxCTkM0MU56SXNOQzQxTnpJc01Dd3dMREVzTUN3M0xqZ3hORlkzTGpFNE5VRXpNQzQzT0RNc016QXVOemd6TERBc01Dd3hMREl1TnpNc05DNHpOekZqTVMweExqQXlOeXd5TGpBek9DMHlMakF5TlN3ekxqQTJNeTB6TGpBek1rRXhMakEwT1N3eExqQTBPU3d3TERFc01TdzNMakkzTnl3eUxqZ3lRell1TkN3ekxqY3NOUzQxTURrc05DNDFOeXcwTGpZeU5TdzFMalEwTm1NdExqTXlNeTR6TWpFdExqWTBOQzQyTkRVdExqazNNeTQ1TnpZdU1EZzBMakExT1M0eE9ERXVNREkzTGpJM0xqQXlOeXczTGpJMU9Dd3dMRGd1TlRFMkxEQXNNVFV1TnpjMUxEQkJNUzR4TWprc01TNHhNamtzTUN3d0xERXNNakVzTnk0eU9YWXVORGN5V2lJZ2RISmhibk5tYjNKdFBTSjBjbUZ1YzJ4aGRHVW9NQ0F0TUM0NU9Ua3BJaUJtYVd4c1BTSWpZVFUwWldVeElpOCtQQzl6ZG1jK1wiXHJcbiAgICAgICAgICAgICAgICBhbHQ9XCJcIiAvPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yIHB4LTAgcHgtbWQtMiByYWRpdXMtMyB1c2VyLWF2YXRhci1uYW1lIGgtNDBcIj5cclxuICAgICAgICAgICAgICAgIDxkcy1hdmF0YXIgaW1hZ2U9XCJ7e3NlY3Rpb24/LmhlYWRlcj8uZGVsZWdhdGVkVG9UaHVtYm5haWx9fVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzPVwidXNlci1hdmF0YXJcIj48L2RzLWF2YXRhcj5cclxuICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZnMtMTQgZnctbWVkaXVtIGQtaW5saW5lLWJsb2NrIHBhbmVsLXVzZXItbmFtZSB0ZXh0LXRydW5jYXRlXCI+e3sgc2VjdGlvbj8uaGVhZGVyPy5kZWxlZ2F0ZWRUbyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRzLXN0YXR1c1xyXG4gICAgICAgICAgICBjbGFzcz1cIm1haW4tc3RhdHVzXCIgKm5nSWY9XCJzZWN0aW9uPy5ib2R5Py5kZXRhaWxzPy5kZWNpc2lvbj8ua2V5XCJcclxuICAgICAgICAgICAgc3RhdHVzPVwie3tzdGF0dXNJY29uQ2xhc3Moc2VjdGlvblN0YXR1c0tleSwnc3RhdHVzJyl9fVwiPnt7IHNlY3Rpb25TdGF0dXNWYWx1ZSB9fVxyXG4gICAgICAgICAgPC9kcy1zdGF0dXM+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImFwcHJvdmFsLXBhbmVsLXRvZ2dsZVwiPlxyXG4gICAgICAgIDxkcy1pY29uIGljb249XCJwbHVzLTFcIiBjbGFzcz1cImZzLTIwIGZjLWNvcmFsXCIgKm5nSWY9XCIhYXBwcm92YWxQYW5lbC5leHBhbmRlZFwiPjwvZHMtaWNvbj5cclxuXHJcbiAgICAgICAgPGRzLWljb24gaWNvbj1cIm1pbnVzXCIgY2xhc3M9XCJmcy0yMCBmYy1kYXJrLWdyYXlcIiAqbmdJZj1cImFwcHJvdmFsUGFuZWwuZXhwYW5kZWRcIj48L2RzLWljb24+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvZGl2PlxyXG4gIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcblxyXG4gIDxzZWN0aW9uIGNsYXNzPVwiYm9yZGVyLXRvcCBwdC00XCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0NvbXBvbmVudE91dGxldD1cInNlY3Rpb25Gb3JtQ29tcG9uZW50OyBuZGNEeW5hbWljSW5wdXRzOiBpbnB1dFwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvc2VjdGlvbj5cclxuXHJcbjwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImZvcm0/LmhlYWRlcj8uc3RhdHVzPy5bJ2tleSddID09PSAnTkVXJyBcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0NvbXBvbmVudE91dGxldD1cInNlY3Rpb25Gb3JtQ29tcG9uZW50OyBuZGNEeW5hbWljSW5wdXRzOiBpbnB1dFwiPjwvbmctY29udGFpbmVyPlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxzYXQtcG9wb3ZlciAjcG9wb3ZlciBbaGFzQmFja2Ryb3BdPVwidHJ1ZVwiIGhvcml6b250YWxBbGlnbj1cImNlbnRlclwiIHZlcnRpY2FsQWxpZ249XCJhYm92ZVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJkZWxlZ2F0ZS1pbmZvLXBvcHVwXCI+XHJcbiAgICA8ZHMtYXZhdGFyICpuZ0lmPVwidXNlclR5cGUgPT09ICdyZWNlaXBpZW50J1wiIGltYWdlPVwie3tzZWN0aW9uPy5oZWFkZXI/LnBlcnNvblRvVGh1bWJuYWlsfX1cIiBzaXplPVwic21hbGxcIj48L2RzLWF2YXRhcj5cclxuICAgIDxkcy1hdmF0YXIgKm5nSWY9XCJ1c2VyVHlwZSA9PT0gJ2RlbGVnYXRlJ1wiIGltYWdlPVwie3tzZWN0aW9uPy5oZWFkZXI/LmRlbGVnYXRlZFRvVGh1bWJuYWlsfX1cIiBzaXplPVwic21hbGxcIj48L2RzLWF2YXRhcj5cclxuICAgIDxkaXYgY2xhc3M9XCJkZWxlZ2F0ZS1pbmZvIG14LTBcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZzLTE2IGZ3LW1lZGl1bSBmYy1ibGFjayBtYi0wXCI+e3sgdXNlclBvcG92ZXJJbmZvPy5uYW1lIH19PC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmcy0xMiBmdy1ub3JtYWwgZmMtYmxhY2sgbWItMlwiPnt7IHVzZXJQb3BvdmVySW5mbz8uam9iPy5uYW1lIH19PC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLWluZm8gZmMtYmxhY2sgZnMtMTAgbWItMVwiPlxyXG4gICAgICAgIDxkcy1pY29uIGljb249XCJwaG9uZVwiIGNsYXNzPVwiZnMtMTggZmMtZGFyay1ncmF5XCI+PC9kcy1pY29uPlxyXG4gICAgICAgIDxiZGkgKGNsaWNrKT1cImxvY2F0aW9uSHJlZigndGVsOicrIHVzZXJQb3BvdmVySW5mbz8uY29udGFjdD8ud29yaylcIj57eyB1c2VyUG9wb3ZlckluZm8/LmNvbnRhY3Q/LndvcmsgfX08L2JkaT5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLWluZm8gZmMtYmxhY2sgZnMtMTAgbWItMVwiPlxyXG4gICAgICAgIDxkcy1pY29uIGljb249XCJwaG9uZVwiIGNsYXNzPVwiZnMtMTggZmMtZGFyay1ncmF5XCI+PC9kcy1pY29uPlxyXG4gICAgICAgIDxiZGkgKGNsaWNrKT1cImxvY2F0aW9uSHJlZigndGVsOicrIHVzZXJQb3BvdmVySW5mbz8uY29udGFjdD8ubW9iaWxlKVwiPnt7IHVzZXJQb3BvdmVySW5mbz8uY29udGFjdD8ubW9iaWxlIH19PC9iZGk+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidXNlci1pbmZvIGZjLWJsYWNrIGZzLTEwIG1iLTFcIj5cclxuICAgICAgICA8ZHMtaWNvbiBpY29uPVwibWFpbC1vXCIgY2xhc3M9XCJmcy0xOCBmYy1kYXJrLWdyYXlcIj48L2RzLWljb24+XHJcbiAgICAgICAgPHNwYW4gKGNsaWNrKT1cImxvY2F0aW9uSHJlZignbWFpbHRvOicrIHVzZXJQb3BvdmVySW5mbz8uZW1haWwpXCI+e3sgdXNlclBvcG92ZXJJbmZvPy5lbWFpbCB9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9zYXQtcG9wb3Zlcj5cclxuIl19
@@ -10,9 +10,6 @@ import * as i0 from "@angular/core";
10
10
  import * as i1 from "@angular/router";
11
11
  import * as i2 from "../../../services";
12
12
  import * as i3 from "@angular/material/sidenav";
13
- /*import {CoreService} from "../../../services/core.service.ts";
14
- import {MY_LIB_CONFIG_TOKEN} from "../../../../public-api";
15
- import {environment} from "../../../environments/environment.local";*/
16
13
  export class LayoutComponent {
17
14
  document;
18
15
  router;
@@ -86,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
86
83
  }], serviceBrief: [{
87
84
  type: Input
88
85
  }] } });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9hcHAtY29tcG9uZW50LXNlY3Rpb25zL2xheW91dC9sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvbGF5b3V0L2xheW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQTtBQUMxRSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQWEsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQTtBQUN0RSxPQUFPLEVBQVMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFHckQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBRXhGLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDRDQUE0QyxDQUFDOzs7OztBQUNsRjs7c0VBRXNFO0FBZ0J0RSxNQUFNLE9BQU8sZUFBZTtJQVdXO0lBQ2xCO0lBQ0E7SUFaMEIsT0FBTyxDQUFjO0lBQ2xFLFdBQVcsQ0FBTTtJQUNULG1CQUFtQixDQUFnQjtJQUNsQyxJQUFJLENBQU07SUFDVixTQUFTLENBQVE7SUFDakIsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUNsQixZQUFZ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QUFuRCxTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBRzNCLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlQsIE5nQ2xhc3MsIE5nQ29tcG9uZW50T3V0bGV0LCBOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nXHJcbmltcG9ydCB7Q29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge01hdFNpZGVuYXYsIE1hdFNpZGVuYXZNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnXHJcbmltcG9ydCB7Um91dGVyLCBSb3V0ZXJPdXRsZXR9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7U2lkZW5hdlNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlc1wiO1xyXG5pbXBvcnQge0hlYWRlckNvbXBvbmVudH0gZnJvbSBcIi4vaGVhZGVyL2hlYWRlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtTaWRlTmF2Q29tcG9uZW50fSBmcm9tIFwiLi9zaWRlLW5hdi9zaWRlLW5hdi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtXb3JrZmxvd1NlY3Rpb25Db21wb25lbnR9IGZyb20gXCIuLi93b3JrZmxvdy1zZWN0aW9uL3dvcmtmbG93LXNlY3Rpb24uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7Rm9ybX0gZnJvbSBcIi4uLy4uLy4uL2ludGVyZmFjZXNcIjtcclxuaW1wb3J0IHtTZXJ2aWNlSGVhZGVyQ29tcG9uZW50fSBmcm9tIFwiLi4vc2VydmljZS1oZWFkZXIvc2VydmljZS1oZWFkZXIuY29tcG9uZW50XCI7XHJcbi8qaW1wb3J0IHtDb3JlU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL2NvcmUuc2VydmljZS50c1wiO1xyXG5pbXBvcnQge01ZX0xJQl9DT05GSUdfVE9LRU59IGZyb20gXCIuLi8uLi8uLi8uLi9wdWJsaWMtYXBpXCI7XHJcbmltcG9ydCB7ZW52aXJvbm1lbnR9IGZyb20gXCIuLi8uLi8uLi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQubG9jYWxcIjsqL1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY29yZS1sYXlvdXRcIixcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtIZWFkZXJDb21wb25lbnQsIFNpZGVOYXZDb21wb25lbnQsIE1hdFNpZGVuYXZNb2R1bGUsIFJvdXRlck91dGxldCwgTmdDb21wb25lbnRPdXRsZXQsIFdvcmtmbG93U2VjdGlvbkNvbXBvbmVudCwgU2VydmljZUhlYWRlckNvbXBvbmVudCwgTmdDbGFzcywgTmdJZl0sXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9sYXlvdXQuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybDogXCIuL2xheW91dC5jb21wb25lbnQuc2Nzc1wiLFxyXG4gIC8qcHJvdmlkZXJzOiBbXHJcbiAgICBDb3JlU2VydmljZSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTVlfTElCX0NPTkZJR19UT0tFTixcclxuICAgICAgdXNlVmFsdWU6IGVudmlyb25tZW50XHJcbiAgICB9XHJcbiAgXSovXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMYXlvdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQFZpZXdDaGlsZChcInNpZGVuYXZcIiwge3N0YXRpYzogdHJ1ZX0pIHB1YmxpYyBzaWRlbmF2ITogTWF0U2lkZW5hdjtcclxuICBzaWRlQ29udGVudDogYW55O1xyXG4gIHByaXZhdGUgc2lkZW5hdlN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcclxuICBASW5wdXQoKSBmb3JtOiBGb3JtXHJcbiAgQElucHV0KCkgZm9ybVRpdGxlOiBzdHJpbmdcclxuICBASW5wdXQoKSBpc0xvYWRpbmcgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZXJ2aWNlQnJpZWY6IGFueVtdID0gW107XHJcblxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQ6IERvY3VtZW50LFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2lkZW5hdlNlcnZpY2U6IFNpZGVuYXZTZXJ2aWNlLFxyXG4gICkge31cclxuXHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaWRlbmF2U3Vic2NyaXB0aW9uID0gdGhpcy5zaWRlbmF2U2VydmljZS5zdWJqZWN0LnN1YnNjcmliZShcclxuICAgICAgKHZhbHVlOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnNpZGVDb250ZW50ID0gdmFsdWUuY29tcG9uZW50TmFtZTtcclxuICAgICAgICB0aGlzLnNpZGVuYXYubW9kZSA9IHZhbHVlLm1vZGU7XHJcbiAgICAgICAgdGhpcy5zaWRlbmF2LnBvc2l0aW9uID0gdmFsdWUucG9zaXRpb247XHJcbiAgICAgICAgaWYgKHZhbHVlLmV2ZW50TmFtZSA9PT0gXCJvcGVuXCIpIHtcclxuICAgICAgICAgIHRoaXMub3BlblNpZGVOYXYoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5jbG9zZVNpZGVOYXYoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNpZGVuYXZTdWJzY3JpcHRpb24pIHtcclxuICAgICAgdGhpcy5zaWRlbmF2U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNsb3NlKCkge1xyXG4gICAgdGhpcy5kb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoXCJOb1Njcm9sbFwiKTtcclxuICAgIHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoXCJOb1Njcm9sbFwiKTtcclxuICB9XHJcblxyXG4gIGJhY2tkcm9wQ2xpY2soKSB7XHJcbiAgICB0aGlzLnNpZGVuYXYuY2xvc2UoKS50aGVuKHIgPT4ge30pO1xyXG4gICAgdGhpcy5zaWRlbmF2U2VydmljZS5jbG9zZVNpZGVuYXYoKTtcclxuICAgIHRoaXMuZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKFwiTm9TY3JvbGxcIik7XHJcbiAgICB0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKFwiTm9TY3JvbGxcIik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9wZW5TaWRlTmF2KCkge1xyXG4gICAgdGhpcy5zaWRlbmF2Lm9wZW4oKS50aGVuKHIgPT4ge30pO1xyXG4gICAgdGhpcy5kb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoXCJOb1Njcm9sbFwiKTtcclxuICAgIHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoXCJOb1Njcm9sbFwiKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2xvc2VTaWRlTmF2KCkge1xyXG4gICAgdGhpcy5zaWRlbmF2LmNsb3NlKCkudGhlbihyID0+IHt9KTtcclxuICB9XHJcbn1cclxuIiwiPGFwcC1oZWFkZXI+PC9hcHAtaGVhZGVyPlxyXG48c2VjdGlvbiBjbGFzcz1cImQtZmxleFwiPlxyXG4gIDxhcHAtc2lkZS1uYXY+PC9hcHAtc2lkZS1uYXY+XHJcbiAgPG1hdC1zaWRlbmF2LWNvbnRhaW5lclxyXG4gICAgY2xhc3M9XCJmbGV4LWdyb3ctMVwiXHJcbiAgICBbaGFzQmFja2Ryb3BdPVwidHJ1ZVwiXHJcbiAgICAoYmFja2Ryb3BDbGljayk9XCJiYWNrZHJvcENsaWNrKClcIlxyXG4gID5cclxuICAgIDxtYXQtc2lkZW5hdlxyXG4gICAgICAjc2lkZW5hdlxyXG4gICAgICBhdXRvRm9jdXM9XCJmYWxzZVwiXHJcbiAgICAgIGZpeGVkSW5WaWV3cG9ydFxyXG4gICAgICBbcG9zaXRpb25dPVwiJ2VuZCdcIlxyXG4gICAgICAoY2xvc2VkU3RhcnQpPVwib25DbG9zZSgpXCJcclxuICAgID5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdDb21wb25lbnRPdXRsZXQ9XCJzaWRlQ29udGVudFwiPlxyXG4gICAgICAgIDxhcHAtc2lkZS1uYXY+PC9hcHAtc2lkZS1uYXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9tYXQtc2lkZW5hdj5cclxuICAgIDxtYXQtc2lkZW5hdi1jb250ZW50PlxyXG4gICAgICA8bWFpblxyXG4gICAgICAgIGNsYXNzPVwiaGFkUGFkZGluZyBzZXJ2aWNlLXdyYXBwZXJcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cImZvcm0/LmhlYWRlcj8uc3RhdHVzPy5rZXkgPT0gJ05FVycgPyAnaHViLWNvbnRhaW5lci1taW5pJyA6ICdodWItY29udGFpbmVyJ1wiPlxyXG5cclxuICAgICAgICA8bmctY29udGVudCA+PC9uZy1jb250ZW50PlxyXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlt3b3JrZmxvd11cIj48L25nLWNvbnRlbnQ+XHJcblxyXG4gICAgICA8L21haW4+XHJcbiAgICA8L21hdC1zaWRlbmF2LWNvbnRlbnQ+XHJcbiAgPC9tYXQtc2lkZW5hdi1jb250YWluZXI+XHJcbjwvc2VjdGlvbj5cclxuIl19
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
@@ -15,7 +15,7 @@ export class MainRequestDetailsComponent {
15
15
  return this.section?.body?.details?.expandStage === 'true';
16
16
  }
17
17
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: MainRequestDetailsComponent, deps: [{ token: i1.CoreI18nService }], target: i0.ɵɵFactoryTarget.Component });
18
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: MainRequestDetailsComponent, isStandalone: true, selector: "app-main-request-details", inputs: { section: "section", lov: "lov", form: "form" }, ngImport: i0, template: "<mat-accordion class=\"primary-accordion main-request-accordion border-top\">\r\n <mat-expansion-panel [expanded]=\"isExpanded || (form?.sections?.length === 1 )\" class=\"mb-3\" hideToggle #requestPanel=\"matExpansionPanel\">\r\n <mat-expansion-panel-header>\r\n <h2 class=\"fs-16 fw-medium fc-coral m-0 flex-grow-1\">{{ i18n.translate('requestDetailsTitle') }}</h2>\r\n <div class=\"d-inline-flex align-items-center gap-2\" *ngIf=\"!requestPanel.expanded\">\r\n <ds-icon icon=\"plus-1\" class=\"fs-20 fc-coral\"></ds-icon>\r\n </div>\r\n <div class=\"d-inline-flex align-items-center gap-2\" *ngIf=\"requestPanel.expanded\">\r\n <ds-icon icon=\"minus\" class=\"fs-20 fc-dark-gray\"></ds-icon>\r\n </div>\r\n </mat-expansion-panel-header>\r\n <section class=\"default-box box-shadow p-4\">\r\n <ng-content></ng-content>\r\n </section>\r\n </mat-expansion-panel>\r\n</mat-accordion>\r\n", styles: [".main-request-accordion{--accordion-height: 65px;--accordion-radius: 0 0 4px 4px;--accordion-shadow: 0 7px 10px rgba(var(--rgb-black), 3%);--accordion-border: 1px solid var(--light-gray);--accordion-border-active: 1px solid var(--gray);--panel-padding: 0 1.5rem;--panel-body-padding: 0 0 1.5rem;position:relative;z-index:1}@media (max-width: 576px){.main-request-accordion{--accordion-height: 55px;--panel-padding: 0 1rem;--panel-body-padding: 0 1rem 1rem}}.main-request-accordion .inner-accordion{--accordion-height: 44px;--accordion-bc: var(--light-gray);--accordion-bc-active: var(--white);--accordion-border: 1px solid var(--light-gray);--accordion-border-active: 1px solid var(--light-gray);--panel-body-padding: 0;--accordion-shadow: none;--panel-padding: 0 1.5rem}\n"], dependencies: [{ kind: "directive", type: MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
18
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: MainRequestDetailsComponent, isStandalone: true, selector: "app-main-request-details", inputs: { section: "section", lov: "lov", form: "form" }, ngImport: i0, template: "<mat-accordion class=\"primary-accordion main-request-accordion border-top\">\r\n <mat-expansion-panel [expanded]=\"isExpanded || (form?.sections?.length === 1 )\" class=\"mb-3\" hideToggle #requestPanel=\"matExpansionPanel\">\r\n <mat-expansion-panel-header>\r\n <h2 class=\"fs-16 fw-medium fc-coral m-0 flex-grow-1\">{{i18n.translate('requestDetailsTitle')}}</h2>\r\n <div class=\"d-inline-flex align-items-center gap-2\" *ngIf=\"!requestPanel.expanded\">\r\n <ds-icon icon=\"plus-1\" class=\"fs-20 fc-coral\"></ds-icon>\r\n </div>\r\n <div class=\"d-inline-flex align-items-center gap-2\" *ngIf=\"requestPanel.expanded\">\r\n <ds-icon icon=\"minus\" class=\"fs-20 fc-dark-gray\"></ds-icon>\r\n </div>\r\n </mat-expansion-panel-header>\r\n <section class=\"default-box box-shadow p-4\">\r\n <ng-content ></ng-content>\r\n </section>\r\n </mat-expansion-panel>\r\n</mat-accordion>\r\n", styles: [".main-request-accordion{--accordion-height: 65px;--accordion-radius: 0 0 4px 4px;--accordion-shadow: 0 7px 10px rgba(var(--rgb-black), 3%);--accordion-border: 1px solid var(--light-gray);--accordion-border-active: 1px solid var(--gray);--panel-padding: 0 1.5rem;--panel-body-padding: 0 0 1.5rem;position:relative;z-index:1}@media (max-width: 576px){.main-request-accordion{--accordion-height: 55px;--panel-padding: 0 1rem;--panel-body-padding: 0 1rem 1rem}}.main-request-accordion .inner-accordion{--accordion-height: 44px;--accordion-bc: var(--light-gray);--accordion-bc-active: var(--white);--accordion-border: 1px solid var(--light-gray);--accordion-border-active: 1px solid var(--light-gray);--panel-body-padding: 0;--accordion-shadow: none;--panel-padding: 0 1.5rem}\n"], dependencies: [{ kind: "directive", type: MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
19
19
  }
20
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: MainRequestDetailsComponent, decorators: [{
21
21
  type: Component,
@@ -23,7 +23,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
23
23
  MatAccordion,
24
24
  MatExpansionPanel,
25
25
  NgIf
26
- ], template: "<mat-accordion class=\"primary-accordion main-request-accordion border-top\">\r\n <mat-expansion-panel [expanded]=\"isExpanded || (form?.sections?.length === 1 )\" class=\"mb-3\" hideToggle #requestPanel=\"matExpansionPanel\">\r\n <mat-expansion-panel-header>\r\n <h2 class=\"fs-16 fw-medium fc-coral m-0 flex-grow-1\">{{ i18n.translate('requestDetailsTitle') }}</h2>\r\n <div class=\"d-inline-flex align-items-center gap-2\" *ngIf=\"!requestPanel.expanded\">\r\n <ds-icon icon=\"plus-1\" class=\"fs-20 fc-coral\"></ds-icon>\r\n </div>\r\n <div class=\"d-inline-flex align-items-center gap-2\" *ngIf=\"requestPanel.expanded\">\r\n <ds-icon icon=\"minus\" class=\"fs-20 fc-dark-gray\"></ds-icon>\r\n </div>\r\n </mat-expansion-panel-header>\r\n <section class=\"default-box box-shadow p-4\">\r\n <ng-content></ng-content>\r\n </section>\r\n </mat-expansion-panel>\r\n</mat-accordion>\r\n", styles: [".main-request-accordion{--accordion-height: 65px;--accordion-radius: 0 0 4px 4px;--accordion-shadow: 0 7px 10px rgba(var(--rgb-black), 3%);--accordion-border: 1px solid var(--light-gray);--accordion-border-active: 1px solid var(--gray);--panel-padding: 0 1.5rem;--panel-body-padding: 0 0 1.5rem;position:relative;z-index:1}@media (max-width: 576px){.main-request-accordion{--accordion-height: 55px;--panel-padding: 0 1rem;--panel-body-padding: 0 1rem 1rem}}.main-request-accordion .inner-accordion{--accordion-height: 44px;--accordion-bc: var(--light-gray);--accordion-bc-active: var(--white);--accordion-border: 1px solid var(--light-gray);--accordion-border-active: 1px solid var(--light-gray);--panel-body-padding: 0;--accordion-shadow: none;--panel-padding: 0 1.5rem}\n"] }]
26
+ ], template: "<mat-accordion class=\"primary-accordion main-request-accordion border-top\">\r\n <mat-expansion-panel [expanded]=\"isExpanded || (form?.sections?.length === 1 )\" class=\"mb-3\" hideToggle #requestPanel=\"matExpansionPanel\">\r\n <mat-expansion-panel-header>\r\n <h2 class=\"fs-16 fw-medium fc-coral m-0 flex-grow-1\">{{i18n.translate('requestDetailsTitle')}}</h2>\r\n <div class=\"d-inline-flex align-items-center gap-2\" *ngIf=\"!requestPanel.expanded\">\r\n <ds-icon icon=\"plus-1\" class=\"fs-20 fc-coral\"></ds-icon>\r\n </div>\r\n <div class=\"d-inline-flex align-items-center gap-2\" *ngIf=\"requestPanel.expanded\">\r\n <ds-icon icon=\"minus\" class=\"fs-20 fc-dark-gray\"></ds-icon>\r\n </div>\r\n </mat-expansion-panel-header>\r\n <section class=\"default-box box-shadow p-4\">\r\n <ng-content ></ng-content>\r\n </section>\r\n </mat-expansion-panel>\r\n</mat-accordion>\r\n", styles: [".main-request-accordion{--accordion-height: 65px;--accordion-radius: 0 0 4px 4px;--accordion-shadow: 0 7px 10px rgba(var(--rgb-black), 3%);--accordion-border: 1px solid var(--light-gray);--accordion-border-active: 1px solid var(--gray);--panel-padding: 0 1.5rem;--panel-body-padding: 0 0 1.5rem;position:relative;z-index:1}@media (max-width: 576px){.main-request-accordion{--accordion-height: 55px;--panel-padding: 0 1rem;--panel-body-padding: 0 1rem 1rem}}.main-request-accordion .inner-accordion{--accordion-height: 44px;--accordion-bc: var(--light-gray);--accordion-bc-active: var(--white);--accordion-border: 1px solid var(--light-gray);--accordion-border-active: 1px solid var(--light-gray);--panel-body-padding: 0;--accordion-shadow: none;--panel-padding: 0 1.5rem}\n"] }]
27
27
  }], ctorParameters: () => [{ type: i1.CoreI18nService }], propDecorators: { section: [{
28
28
  type: Input
29
29
  }], lov: [{
@@ -31,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
31
31
  }], form: [{
32
32
  type: Input
33
33
  }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1yZXF1ZXN0LWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvbWFpbi1yZXF1ZXN0LWRldGFpbHMvbWFpbi1yZXF1ZXN0LWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvbWFpbi1yZXF1ZXN0LWRldGFpbHMvbWFpbi1yZXF1ZXN0LWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHekUsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBY3ZDLE1BQU0sT0FBTywyQkFBMkI7SUFJbkI7SUFIVixPQUFPLENBQVU7SUFDakIsR0FBRyxDQUFNO0lBQ1QsSUFBSSxDQUFPO0lBQ3BCLFlBQW1CLElBQXFCO1FBQXJCLFNBQUksR0FBSixJQUFJLENBQWlCO0lBQUcsQ0FBQztJQUU1QyxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxXQUFXLEtBQUssTUFBTSxDQUFDO0lBQzdELENBQUM7dUdBUlUsMkJBQTJCOzJGQUEzQiwyQkFBMkIsOElDbEJ4QyxrN0JBZ0JBLCt6QkRISSxZQUFZLCtJQUNaLGlCQUFpQixzTEFDakIsSUFBSTs7MkZBR0ssMkJBQTJCO2tCQVp2QyxTQUFTOytCQUNFLDBCQUEwQixjQUd4QixJQUFJLFdBQ1AsQ0FBQyxzQkFBc0IsQ0FBQyxXQUN4Qjt3QkFDUCxZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsSUFBSTtxQkFDTDtvRkFHUSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29yZUkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBGb3JtLCBTZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IE1hdEFjY29yZGlvbiwgTWF0RXhwYW5zaW9uUGFuZWwgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9leHBhbnNpb24nO1xyXG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLW1haW4tcmVxdWVzdC1kZXRhaWxzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbWFpbi1yZXF1ZXN0LWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL21haW4tcmVxdWVzdC1kZXRhaWxzLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTWF0QWNjb3JkaW9uLFxyXG4gICAgTWF0RXhwYW5zaW9uUGFuZWwsXHJcbiAgICBOZ0lmXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWFpblJlcXVlc3REZXRhaWxzQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBzZWN0aW9uOiBTZWN0aW9uO1xyXG4gIEBJbnB1dCgpIGxvdjogYW55O1xyXG4gIEBJbnB1dCgpIGZvcm06IEZvcm07XHJcbiAgY29uc3RydWN0b3IocHVibGljIGkxOG46IENvcmVJMThuU2VydmljZSkge31cclxuXHJcbiAgZ2V0IGlzRXhwYW5kZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWN0aW9uPy5ib2R5Py5kZXRhaWxzPy5leHBhbmRTdGFnZSA9PT0gJ3RydWUnO1xyXG4gIH1cclxufVxyXG4iLCI8bWF0LWFjY29yZGlvbiBjbGFzcz1cInByaW1hcnktYWNjb3JkaW9uIG1haW4tcmVxdWVzdC1hY2NvcmRpb24gYm9yZGVyLXRvcFwiPlxyXG4gIDxtYXQtZXhwYW5zaW9uLXBhbmVsIFtleHBhbmRlZF09XCJpc0V4cGFuZGVkIHx8IChmb3JtPy5zZWN0aW9ucz8ubGVuZ3RoID09PSAxIClcIiBjbGFzcz1cIm1iLTNcIiBoaWRlVG9nZ2xlICNyZXF1ZXN0UGFuZWw9XCJtYXRFeHBhbnNpb25QYW5lbFwiPlxyXG4gICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gICAgICA8aDIgY2xhc3M9XCJmcy0xNiBmdy1tZWRpdW0gZmMtY29yYWwgbS0wIGZsZXgtZ3Jvdy0xXCI+e3sgaTE4bi50cmFuc2xhdGUoJ3JlcXVlc3REZXRhaWxzVGl0bGUnKSB9fTwvaDI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkLWlubGluZS1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiICpuZ0lmPVwiIXJlcXVlc3RQYW5lbC5leHBhbmRlZFwiPlxyXG4gICAgICAgIDxkcy1pY29uIGljb249XCJwbHVzLTFcIiBjbGFzcz1cImZzLTIwIGZjLWNvcmFsXCI+PC9kcy1pY29uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImQtaW5saW5lLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCIgKm5nSWY9XCJyZXF1ZXN0UGFuZWwuZXhwYW5kZWRcIj5cclxuICAgICAgICA8ZHMtaWNvbiBpY29uPVwibWludXNcIiBjbGFzcz1cImZzLTIwIGZjLWRhcmstZ3JheVwiPjwvZHMtaWNvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJkZWZhdWx0LWJveCBib3gtc2hhZG93IHAtNFwiPlxyXG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICA8L3NlY3Rpb24+XHJcbiAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxyXG48L21hdC1hY2NvcmRpb24+XHJcbiJdfQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1yZXF1ZXN0LWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvbWFpbi1yZXF1ZXN0LWRldGFpbHMvbWFpbi1yZXF1ZXN0LWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvbWFpbi1yZXF1ZXN0LWRldGFpbHMvbWFpbi1yZXF1ZXN0LWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHekUsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBY3ZDLE1BQU0sT0FBTywyQkFBMkI7SUFJbkI7SUFIVixPQUFPLENBQVU7SUFDakIsR0FBRyxDQUFNO0lBQ1QsSUFBSSxDQUFPO0lBQ3BCLFlBQW1CLElBQXFCO1FBQXJCLFNBQUksR0FBSixJQUFJLENBQWlCO0lBQUcsQ0FBQztJQUU1QyxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxXQUFXLEtBQUssTUFBTSxDQUFDO0lBQzdELENBQUM7dUdBUlUsMkJBQTJCOzJGQUEzQiwyQkFBMkIsOElDbEJ4QyxpN0JBZ0JBLCt6QkRISSxZQUFZLCtJQUNaLGlCQUFpQixzTEFDakIsSUFBSTs7MkZBR0ssMkJBQTJCO2tCQVp2QyxTQUFTOytCQUNFLDBCQUEwQixjQUd4QixJQUFJLFdBQ1AsQ0FBQyxzQkFBc0IsQ0FBQyxXQUN4Qjt3QkFDUCxZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsSUFBSTtxQkFDTDtvRkFHUSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29yZUkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBGb3JtLCBTZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IE1hdEFjY29yZGlvbiwgTWF0RXhwYW5zaW9uUGFuZWwgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9leHBhbnNpb24nO1xyXG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLW1haW4tcmVxdWVzdC1kZXRhaWxzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbWFpbi1yZXF1ZXN0LWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL21haW4tcmVxdWVzdC1kZXRhaWxzLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTWF0QWNjb3JkaW9uLFxyXG4gICAgTWF0RXhwYW5zaW9uUGFuZWwsXHJcbiAgICBOZ0lmXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWFpblJlcXVlc3REZXRhaWxzQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBzZWN0aW9uOiBTZWN0aW9uO1xyXG4gIEBJbnB1dCgpIGxvdjogYW55O1xyXG4gIEBJbnB1dCgpIGZvcm06IEZvcm07XHJcbiAgY29uc3RydWN0b3IocHVibGljIGkxOG46IENvcmVJMThuU2VydmljZSkge31cclxuXHJcbiAgZ2V0IGlzRXhwYW5kZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWN0aW9uPy5ib2R5Py5kZXRhaWxzPy5leHBhbmRTdGFnZSA9PT0gJ3RydWUnO1xyXG4gIH1cclxufVxyXG4iLCI8bWF0LWFjY29yZGlvbiBjbGFzcz1cInByaW1hcnktYWNjb3JkaW9uIG1haW4tcmVxdWVzdC1hY2NvcmRpb24gYm9yZGVyLXRvcFwiPlxyXG4gIDxtYXQtZXhwYW5zaW9uLXBhbmVsIFtleHBhbmRlZF09XCJpc0V4cGFuZGVkIHx8IChmb3JtPy5zZWN0aW9ucz8ubGVuZ3RoID09PSAxIClcIiBjbGFzcz1cIm1iLTNcIiBoaWRlVG9nZ2xlICNyZXF1ZXN0UGFuZWw9XCJtYXRFeHBhbnNpb25QYW5lbFwiPlxyXG4gICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gICAgICA8aDIgY2xhc3M9XCJmcy0xNiBmdy1tZWRpdW0gZmMtY29yYWwgbS0wIGZsZXgtZ3Jvdy0xXCI+e3tpMThuLnRyYW5zbGF0ZSgncmVxdWVzdERldGFpbHNUaXRsZScpfX08L2gyPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1pbmxpbmUtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIiAqbmdJZj1cIiFyZXF1ZXN0UGFuZWwuZXhwYW5kZWRcIj5cclxuICAgICAgICA8ZHMtaWNvbiBpY29uPVwicGx1cy0xXCIgY2xhc3M9XCJmcy0yMCBmYy1jb3JhbFwiPjwvZHMtaWNvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkLWlubGluZS1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiICpuZ0lmPVwicmVxdWVzdFBhbmVsLmV4cGFuZGVkXCI+XHJcbiAgICAgICAgPGRzLWljb24gaWNvbj1cIm1pbnVzXCIgY2xhc3M9XCJmcy0yMCBmYy1kYXJrLWdyYXlcIj48L2RzLWljb24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuICAgIDxzZWN0aW9uIGNsYXNzPVwiZGVmYXVsdC1ib3ggYm94LXNoYWRvdyBwLTRcIj5cclxuICAgICAgPG5nLWNvbnRlbnQgPjwvbmctY29udGVudD5cclxuICAgIDwvc2VjdGlvbj5cclxuICA8L21hdC1leHBhbnNpb24tcGFuZWw+XHJcbjwvbWF0LWFjY29yZGlvbj5cclxuIl19
@@ -158,4 +158,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
158
158
  }], serviceBrief: [{
159
159
  type: Input
160
160
  }] } });
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvc2VydmljZS1oZWFkZXIvc2VydmljZS1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvc2VydmljZS1oZWFkZXIvc2VydmljZS1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixTQUFTLEVBQUUsc0JBQXNCLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXRGLE9BQU8sS0FBSyxTQUFTLE1BQU0sOEJBQThCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGVBQWUsRUFBWSxNQUFNLDBCQUEwQixDQUFDO0FBRXBFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ3JGLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ3hGLE9BQU8sRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzVFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQVEsS0FBSyxN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TCxDQUFDO3VHQTdHVSxzQkFBc0I7MkZBQXRCLHNCQUFzQix3VUFKdEIsQ0FBQyxlQUFlO1lBQ3pCLEVBQUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFDO1NBQ3pDLDBCQ2xDSCw0MlFBa0lBLCtrR0QzR0ksSUFBSSw0RkFDSixnQkFBZ0IsbXFCQUNoQixVQUFVLHVGQUVWLE9BQU87OzJGQVNFLHNCQUFzQjtrQkFuQmxDLFNBQVM7K0JBQ0UscUJBQXFCLGNBR25CLElBQUksV0FDUDt3QkFDUCxJQUFJO3dCQUNKLGdCQUFnQjt3QkFDaEIsVUFBVTt3QkFDVixjQUFjO3dCQUNkLE9BQU87d0JBQ1AsT0FBTzt3QkFDUCxXQUFXO3FCQUNaLFdBQ1EsQ0FBQyxzQkFBc0IsQ0FBQyxhQUN0QixDQUFDLGVBQWU7d0JBQ3pCLEVBQUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFDO3FCQUN6Qzt1S0FHUSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Rm9ybSwgU2VjdGlvbn0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCAqIGFzIENvbnN0YW50cyBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvY29uc3RhbnRzJztcclxuaW1wb3J0IHtNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ30gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHtDb3JlSTE4blNlcnZpY2UsIFNpZGVuYXZTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7UHJvZmlsZVNlY3Rpb25Db21wb25lbnR9IGZyb20gJy4uL3Byb2ZpbGUtc2VjdGlvbi9wcm9maWxlLXNlY3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHtGZWVkYmFja1NlY3Rpb25Db21wb25lbnR9IGZyb20gJy4uL2ZlZWRiYWNrLXNlY3Rpb24vZmVlZGJhY2stc2VjdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge05nQ2xhc3MsIE5nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7U2F0UG9wb3Zlck1vZHVsZX0gZnJvbSAnQG5jc3RhdGUvc2F0LXBvcG92ZXInO1xyXG5pbXBvcnQge01hdERpdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xyXG5pbXBvcnQge01hdE1lbnUsIE1hdE1lbnVJdGVtLCBNYXRNZW51VHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XHJcbmltcG9ydCB7RmFxU2lkZW5hdkNvbXBvbmVudH0gZnJvbSAnLi4vZmFxLXNpZGVuYXYvZmFxLXNpZGVuYXYuY29tcG9uZW50JztcclxuaW1wb3J0IHtBY3Rpdml0aWVzQ29tcG9uZW50fSBmcm9tICcuLi9hY3Rpdml0aWVzL2FjdGl2aXRpZXMuY29tcG9uZW50JztcclxuaW1wb3J0ICAqIGFzIG1vbWVudCBmcm9tICdtb21lbnQnXHJcbmltcG9ydCB7RmVlZEJhY2tTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXNcIjtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvcmUtc2VydmljZS1oZWFkZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZXJ2aWNlLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2VydmljZS1oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE5nSWYsXHJcbiAgICBTYXRQb3BvdmVyTW9kdWxlLFxyXG4gICAgTWF0RGl2aWRlcixcclxuICAgIE1hdE1lbnVUcmlnZ2VyLFxyXG4gICAgTmdDbGFzcyxcclxuICAgIE1hdE1lbnUsXHJcbiAgICBNYXRNZW51SXRlbVxyXG4gIF0sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxyXG4gIHByb3ZpZGVyczogW0ZlZWRCYWNrU2VydmljZSxcclxuICAgIHtwcm92aWRlOiBNQVRfRElBTE9HX0RBVEEsIHVzZVZhbHVlOiB7fX0sXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VydmljZUhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgpIGZvcm06IEZvcm07XHJcbiAgQElucHV0KCkgc2hvd0hpc3RvcnkgPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc0xvYWRpbmcgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzaG93QXBwcm92YWxIaXN0b3J5ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgYXBwcm92YWxIaXN0b3J5OiBhbnk7XHJcbiAgQElucHV0KCkgY3JlYXRpb25EYXRlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZm9ybVRpdGxlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc2VjdGlvbjogU2VjdGlvbjtcclxuICBASW5wdXQoKSBzZXJ2aWNlQnJpZWY6IGFueVtdID0gW107XHJcbiAgYXBwcm92YWxzOiBhbnlbXSA9IFtdO1xyXG4gIHB1YmxpYyBmZWVkQmFja0ljb246IHN0cmluZyA9IG51bGw7XHJcbiAgZmxhZ1ByaW9yaXR5OiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGkxOG46IENvcmVJMThuU2VydmljZSwgcHJpdmF0ZSBmZWVkQmFja1NlcnZpY2U6IEZlZWRCYWNrU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nOiBNYXREaWFsb2csIHByaXZhdGUgcmVhZG9ubHkgc2lkZW5hdlNlcnZpY2U6IFNpZGVuYXZTZXJ2aWNlLFxyXG4gICkge1xyXG5cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuZ2V0QXBwcm92YWxIaXN0b3J5KCk7XHJcbiAgICAgIHRoaXMuY3JlYXRpb25EYXRlID0gbW9tZW50KHRoaXMuZm9ybS5oZWFkZXIuY3JlYXRpb25EYXRlKS5sb2NhbGUoJ2VuLVVTJykuZm9ybWF0KFwiREQvTU0vWVlZWSBISDptbTpzc1wiKTtcclxuICB9XHJcblxyXG4gIG9uQ29tbWVudHNGb3JtQ2xpY2soKSB7XHJcbiAgICBjb25zdCBjb21tZW50czogYW55ID0gdGhpcy5mb3JtLmNvbW1lbnRzRHJvcDtcclxuICAgIGNvbnN0IHJlc3VsdERhdGEgPSBbXTtcclxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBjb21tZW50cy5sZW5ndGg7IGluZGV4KyspIHtcclxuICAgICAgY29uc3QgaXRlbSA9IGNvbW1lbnRzW2luZGV4XTtcclxuICAgICAgY29uc3Qgb2JqID1cclxuICAgICAgICB7XHJcbiAgICAgICAgICBuYW1lOiBpdGVtLmVtcGxveWVlTmFtZSxcclxuICAgICAgICAgIHRpdGxlOiBpdGVtLmpvYlBvc2l0aW9uLFxyXG4gICAgICAgICAgaW1hZ2U6IGl0ZW0ucHJvZmlsZVBpY3R1cmUsXHJcbiAgICAgICAgICBkYXRlOiBtb21lbnQoaXRlbS5jb21tZW50RGF0ZSkubG9jYWxlKCdlbi1VUycpLmZvcm1hdCgnWVlZWS1NTS1ERCcpLFxyXG4gICAgICAgICAgdGltZTogbW9tZW50KGl0ZW0uY29tbWVudERhdGUpLmxvY2FsZSgnZW4tVVMnKS5mb3JtYXQoJ2g6bW0gYScpLFxyXG4gICAgICAgICAgY29tbWVudDogaXRlbS5jb21tZW50Qm9keSxcclxuICAgICAgICAgIGF0dGFjaG1lbnRzOiBpdGVtLmF0dGFjaG1lbnRcclxuICAgICAgICB9O1xyXG4gICAgICByZXN1bHREYXRhLnB1c2gob2JqKTtcclxuICAgIH1cclxuICAgIC8vIHRoaXMucHJvZmlsZVJlcXVlc3RlclNlcnZpY2UuYWN0aXZpdGllcyA9IHJlc3VsdERhdGE7XHJcbiAgICB0aGlzLnNpZGVuYXZTZXJ2aWNlLnB1Ymxpc2goJ29wZW4nLCBBY3Rpdml0aWVzQ29tcG9uZW50KTtcclxuICB9XHJcblxyXG4gIGZlZWRiYWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kaWFsb2cub3BlbihGZWVkYmFja1NlY3Rpb25Db21wb25lbnQsIHtcclxuICAgICAgcGFuZWxDbGFzczogWydtYWluLXBvcHVwJ10sXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBwcm9maWxlOiB0aGlzLmZvcm0ucHJvZmlsZUluZm9Ecm9wLFxyXG4gICAgICAgIGluYm94SXRlbTogdGhpcy5mb3JtLmluYm94SXRlbSxcclxuICAgICAgICBmb3JtOiB0aGlzLmZvcm1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzaG93VXNlckluZm8oKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaXNMb2FkaW5nKSB7XHJcbiAgICAgIHRoaXMuc2lkZW5hdlNlcnZpY2UuZGF0YSA9IHRoaXMuZm9ybT8ucHJvZmlsZUluZm9Ecm9wO1xyXG4gICAgICB0aGlzLnNpZGVuYXZTZXJ2aWNlLnB1Ymxpc2goJ29wZW4nLCBQcm9maWxlU2VjdGlvbkNvbXBvbmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRGbGFnUHJpb3JpdHkoaWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5mbGFnUHJpb3JpdHkgPSBpZDtcclxuICAgIHRoaXMuZm9ybS5pbmJveEl0ZW0uZmxhZ1ByaW9yaXR5ID0gaWQ7XHJcbiAgICAvLyB0aGlzLnN0YXRlTWFjaGluZVNlcnZpY2UuZGlzcGF0Y2goQ29uc3RhbnRzLlNUQVRFX01BQ0hJTkVfQUNUSU9OX1NFVF9GTEFHLCBpZCkudGhlbigoKSA9PiB7XHJcbiAgICAvLyB9KTtcclxuICB9XHJcblxyXG4gIHN0YXR1c0NsYXNzKHN0YXR1czogc3RyaW5nKSB7XHJcbiAgICBpZiAoc3RhdHVzKSB7XHJcbiAgICAgIGlmICh0aGlzLmlzTG9hZGluZykge1xyXG4gICAgICAgIHJldHVybiAnbG9hZGluZyc7XHJcbiAgICAgIH0gZWxzZSBpZiAoXHJcbiAgICAgICAgc3RhdHVzID09PSBDb25zdGFudHMuRk9STV9TVEFUVVNfUkVKRUNURUQgfHwgc3RhdHVzID09PSBDb25zdGFudHMuRk9STV9TVEFUVVNfQ0FOQ0VMTEVEXHJcbiAgICAgICAgfHwgc3RhdHVzLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ2RlbnknKVxyXG4gICAgICAgIHx8IHN0YXR1cy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdyZWplY3QnKVxyXG4gICAgICAgIHx8IHN0YXR1cz8udG9Mb3dlckNhc2UoKSA9PT0gJ3JlamVjdCcgfHwgc3RhdHVzPy50b0xvd2VyQ2FzZSgpID09PSAndW5zYXRpc2ZpZWQnIHx8IHN0YXR1cz8udG9Mb3dlckNhc2UoKSA9PT0gJ2NhbmNlbCdcclxuICAgICAgKSB7XHJcbiAgICAgICAgcmV0dXJuICdkYW5nZXInO1xyXG4gICAgICB9IGVsc2UgaWYgKHN0YXR1cyA9PT0gQ29uc3RhbnRzLkZPUk1fU1RBVFVTX1BFTkRJTkcgfHwgc3RhdHVzPy50b0xvd2VyQ2FzZSgpID09PSAncGVuZGluZycpIHtcclxuICAgICAgICByZXR1cm4gJ3dhcm5pbmcnO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiAnc3VjY2Vzcyc7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAnc3VjY2Vzcyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVuRmFxKCkge1xyXG4gICAgdGhpcy5zaWRlbmF2U2VydmljZS5wdWJsaXNoKCdvcGVuJywgRmFxU2lkZW5hdkNvbXBvbmVudCwgJ2VuZCcsICdvdmVyJywgdGhpcy5zZXJ2aWNlQnJpZWYpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QXBwcm92YWxIaXN0b3J5KCkge1xyXG4gICAgdGhpcy5hcHByb3ZhbEhpc3Rvcnk/LmZvckVhY2goKGVsZW1lbnQ6IHsgYXBwcm92ZXI6IHsgcGVyc29uTmFtZTogYW55OyBwZXJzb25FbWFpbDogc3RyaW5nOyB9OyBwb3NpdGlvblR5cGU6IGFueTsgfSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICBjb25zdCBvYmogPSB7XHJcbiAgICAgICAgaWQ6IGluZGV4ICsgMSxcclxuICAgICAgICBuYW1lOiBlbGVtZW50LmFwcHJvdmVyLnBlcnNvbk5hbWUsXHJcbiAgICAgICAgdGl0bGU6IGVsZW1lbnQucG9zaXRpb25UeXBlLFxyXG4gICAgICAgIGltYWdlOiAnL2dyb3VwL2ktZ2F0ZS93bS1icG0vZm9ybXMvLS9wcm94eS9wb3J0cmFpdD9lbWFpbD0nICsgZWxlbWVudC5hcHByb3Zlci5wZXJzb25FbWFpbCxcclxuICAgICAgICBzdGF0dXM6IHRoaXMuZm9ybS5zZWN0aW9uc1tpbmRleCArIDFdID8gdGhpcy5zdGF0dXNDbGFzcyh0aGlzLmZvcm0uc2VjdGlvbnNbaW5kZXggKyAxXS5ib2R5LmRldGFpbHMuZGVjaXNpb24ua2V5KSA6ICcnLFxyXG4gICAgICAgIHN0YXR1c0xhYmVsOiB0aGlzLmZvcm0uc2VjdGlvbnNbaW5kZXggKyAxXSA/IHRoaXMuZm9ybS5zZWN0aW9uc1tpbmRleCArIDFdLmJvZHkuZGV0YWlscy5kZWNpc2lvbi52YWx1ZSA6ICcnXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMuYXBwcm92YWxzLnB1c2gob2JqKTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIShmb3JtPy5oZWFkZXI/LnN0YXR1cz8uWydrZXknXSA9PT0gJ05FVycpXCI+XHJcbiAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWVuZCBnYXAtMiBteS0yXCIgKm5nSWY9XCIhKGZvcm0/LmhlYWRlcj8uc3RhdHVzPy5bJ2tleSddID09PSAnTkVXJylcIj5cclxuXHJcbiAgICA8IS0tIGZsYWctLT5cclxuICAgIDwhLS08ZHMtYnV0dG9uXHJcbiAgICAgICpuZ0lmPVwiZm9ybT8uaW5ib3hJdGVtICYmICFmb3JtLnNlY3Rpb25zW2Zvcm0uc2VjdGlvbnMubGVuZ3RoIC0xXS5oZWFkZXIucmVhZE9ubHkgJiYgIWlzTG9hZGluZ1wiXHJcbiAgICAgIHNxdWFyZVxyXG4gICAgICBpY29uXHJcbiAgICAgIHNpemU9XCJzbWFsbFwiXHJcbiAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCJcclxuICAgICAgY2xhc3M9XCJpY29uLWJ0bi1zaGFkb3dcIj5cclxuICAgICAgPGRzLWljb25cclxuICAgICAgICBbbmdDbGFzc109XCJ7J2ZjLXB1cnBsZScgOiAoZmxhZ1ByaW9yaXR5ID09PSAnMCcgfHwgIGZsYWdQcmlvcml0eSA9PT0gbnVsbCksJ2ZjLXllbGxvdycgOiBmbGFnUHJpb3JpdHkgPT09ICcxJywnZmMtZ3JlZW4nIDogZmxhZ1ByaW9yaXR5ID09PSAnMicsJ2ZjLWNvcmFsJyA6IGZsYWdQcmlvcml0eSA9PT0gJzMnfVwiXHJcbiAgICAgICAgaWNvbj1cImZsYWctb1wiIGNsYXNzPVwiZnMtMjAgZnMtbWQtMTcgZmMtcHVycGxlXCI+XHJcbiAgICAgIDwvZHMtaWNvbj5cclxuICAgIDwvZHMtYnV0dG9uPlxyXG4gICAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiIHBhbmVsQ2xhc3M9XCJhY3Rpb24tbWVudVwiPlxyXG4gICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInNldEZsYWdQcmlvcml0eSgnMCcpXCI+XHJcbiAgICAgICAgPGRzLWljb24gaWNvbj1cImZsYWctb1wiIGNsYXNzPVwiZmMtcHVycGxlIGZzLTIwIGZzLW1kLTE3XCI+PC9kcy1pY29uPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJzZXRGbGFnUHJpb3JpdHkoJzEnKVwiPlxyXG4gICAgICAgIDxkcy1pY29uIGljb249XCJmbGFnLW9cIiBjbGFzcz1cImZjLXllbGxvdyBmcy0yMCBmcy1tZC0xN1wiPjwvZHMtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwic2V0RmxhZ1ByaW9yaXR5KCcyJylcIj5cclxuICAgICAgICA8ZHMtaWNvbiBpY29uPVwiZmxhZy1vXCIgY2xhc3M9XCJmYy1ncmVlbiBmcy0yMCBmcy1tZC0xN1wiPjwvZHMtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwic2V0RmxhZ1ByaW9yaXR5KCczJylcIj5cclxuICAgICAgICA8ZHMtaWNvbiBpY29uPVwiZmxhZy1vXCIgY2xhc3M9XCJmYy1jb3JhbCBmcy0yMCBmcy1tZC0xN1wiPjwvZHMtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L21hdC1tZW51Pi0tPlxyXG5cclxuICAgIDwhLS0gcHJpbnQtLT5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGhlYWRlciBjbGFzcz1cInNlcnZpY2UtaGVhZGVyIGJjLXdoaXRlIHAtMyBwLXNtLTQgcHktNCBnYXAtMyB7e3N0YXR1c0NsYXNzKGZvcm0/LmhlYWRlcj8uc3RhdHVzPy5bJ2tleSddKX19XCI+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInNlcnZpY2UtaGVhZGVyLWljb25cIj5cclxuICAgICAgPGltZ1xyXG4gICAgICAgIGFsdD1cIlwiXHJcbiAgICAgICAgc3JjPVwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpTXpBaUlHaGxhV2RvZEQwaU1qa2lJSFpwWlhkQ2IzZzlJakFnTUNBek1DQXlPU0lnWm1sc2JEMGlibTl1WlNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWo0S1BIQmhkR2dnWkQwaVRUSTFMakVnTUVnMExqbERNaTR5SURBZ01DQXlMaklnTUNBMExqbFdNamd1TmtneU5TNHhRekkzTGpnZ01qZ3VOaUF6TUNBeU5pNDBJRE13SURJekxqZFdOQzQ1UXpNd0lESXVNaUF5Tnk0NElEQWdNalV1TVNBd1drMHlJRFF1T1VNeUlETXVNeUF6TGpNZ01pQTBMamtnTWtneU5TNHhRekkyTGpjZ01pQXlPQ0F6TGpNZ01qZ2dOQzQ1VmpJekxqZERNamdnTWpVdU15QXlOaTQzSURJMkxqWWdNalV1TVNBeU5pNDJTREpXTkM0NVdrMHhNUzQxSURZdU0wTTNMakVnTmk0eklETXVOU0E1TGprZ015NDFJREUwTGpORE15NDFJREU0TGpjZ055NHhJREl5TGpNZ01URXVOU0F5TWk0elF6RTFMamtnTWpJdU15QXhPUzQxSURFNExqY2dNVGt1TlNBeE5DNHpRekU1TGpVZ09TNDVJREUxTGprZ05pNHpJREV4TGpVZ05pNHpXazB4TlM0eElERTVRekUwTGpFZ01Ua3VPQ0F4TWk0NElESXdMaklnTVRFdU5TQXlNQzR5UXpFd0xqSWdNakF1TWlBNExqa2dNVGt1T0NBM0xqa2dNVGxET0M0M0lERTNMamNnTVRBZ01UY2dNVEV1TlNBeE4wTXhNeUF4TnlBeE5DNDBJREUzTGpnZ01UVXVNU0F4T1ZwTk1UTXVNU0F4TXk0MFF6RXpMakVnTVRRdU15QXhNaTQwSURFMUlERXhMalVnTVRWRE1UQXVOaUF4TlNBNUxqa2dNVFF1TXlBNUxqa2dNVE11TkVNNUxqa2dNVEl1TlNBeE1DNDJJREV4TGpnZ01URXVOU0F4TVM0NFF6RXlMalFnTVRFdU9DQXhNeTR4SURFeUxqVWdNVE11TVNBeE15NDBXazB4TlM0eElERXpMalJETVRVdU1TQXhNUzQwSURFekxqVWdPUzQ0SURFeExqVWdPUzQ0UXprdU5TQTVMamdnTnk0NUlERXhMalFnTnk0NUlERXpMalJETnk0NUlERTBMaklnT0M0eUlERTFJRGd1TnlBeE5TNDNRemN1T0NBeE5pNHhJRGN1TVNBeE5pNDRJRFl1TlNBeE55NDJRelV1T0NBeE5pNDJJRFV1TlNBeE5TNDFJRFV1TlNBeE5DNHpRelV1TlNBeE1TQTRMaklnT0M0eklERXhMalVnT0M0elF6RTBMamdnT0M0eklERTNMalVnTVRFZ01UY3VOU0F4TkM0elF6RTNMalVnTVRVdU5TQXhOeTR5SURFMkxqWWdNVFl1TlNBeE55NDJRekUxTGprZ01UWXVPQ0F4TlM0eUlERTJMaklnTVRRdU15QXhOUzQzUXpFMExqZ2dNVFV1TVNBeE5TNHhJREUwTGpJZ01UVXVNU0F4TXk0MFdrMHlNU0E1TGpGRE1qRWdPQzQySURJeExqUWdPQzR4SURJeUlEZ3VNVWd5TlM0MVF6STJJRGd1TVNBeU5pNDFJRGd1TlNBeU5pNDFJRGt1TVVNeU5pNDFJRGt1TmlBeU5pNHhJREV3TGpFZ01qVXVOU0F4TUM0eFNESXlRekl4TGpRZ01UQXVNU0F5TVNBNUxqWWdNakVnT1M0eFdrMHlNU0F4TWk0MVF6SXhJREV5SURJeExqUWdNVEV1TlNBeU1pQXhNUzQxU0RJMUxqVkRNallnTVRFdU5TQXlOaTQxSURFeExqa2dNall1TlNBeE1pNDFRekkyTGpVZ01UTWdNall1TVNBeE15NDFJREkxTGpVZ01UTXVOVWd5TWtNeU1TNDBJREV6TGpVZ01qRWdNVE11TVNBeU1TQXhNaTQxV2sweU1TQXhOa015TVNBeE5TNDFJREl4TGpRZ01UVWdNaklnTVRWSU1qVXVOVU15TmlBeE5TQXlOaTQxSURFMUxqUWdNall1TlNBeE5rTXlOaTQxSURFMkxqVWdNall1TVNBeE55QXlOUzQxSURFM1NESXlRekl4TGpRZ01UY2dNakVnTVRZdU5pQXlNU0F4TmxwTk1qVXVOU0F5TUM0MVNESXlRekl4TGpVZ01qQXVOU0F5TVNBeU1DNHhJREl4SURFNUxqVkRNakVnTVRndU9TQXlNUzQwSURFNExqVWdNaklnTVRndU5VZ3lOUzQxUXpJMklERTRMalVnTWpZdU5TQXhPQzQ1SURJMkxqVWdNVGt1TlVNeU5pNDFJREl3TGpFZ01qWXVNU0F5TUM0MUlESTFMalVnTWpBdU5Wb2lJR1pwYkd3OUlpTkdSak0zTlVVaUx6NEtQQzl6ZG1jK0NnPT1cIi8+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTEgZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtc20tcm93IGFsaWduLWl0ZW1zLXNtLWNlbnRlciBnYXAtMlwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTFcIj5cclxuICAgICAgICA8IS0tIHRpdGxlLS0+XHJcbiAgICAgICAgPGgxIGNsYXNzPVwiZnMtMjAgZnMtbWQtMTYgZnctYm9sZCBmYy1ibGFjayBoZWFkZXItdGl0bGUgbS0wXCI+e3sgZm9ybVRpdGxlIH19XHJcbiAgICAgICAgICA8ZHMtaWNvblxyXG4gICAgICAgICAgICBpY29uPVwiaW5mb1wiIGNsYXNzPVwiZnMtMjIgZmMtZGFyay1ncmF5IGN1cnNvci1wb2ludGVyXCIgKm5nSWY9XCJzZXJ2aWNlQnJpZWYubGVuZ3RoXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5GYXEoKVwiPjwvZHMtaWNvbj5cclxuICAgICAgICA8L2gxPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwiaGVhZGVyLXVzZXIgZC1mbGV4IGFsaWduLWl0ZW1zLXNtLWNlbnRlciBnYXAtMiBtdC1zbS0xXCJcclxuICAgICAgICAgICpuZ0lmPVwiZm9ybT8uaGVhZGVyPy5zdGF0dXM/Llsna2V5J10gIT09ICdORVcnIHx8IGlzTG9hZGluZ1wiPlxyXG4gICAgICAgICAgPGRzLWF2YXRhclxyXG4gICAgICAgICAgICAqbmdJZj1cIiFpc0xvYWRpbmdcIiBpbWFnZT1cInt7Zm9ybT8uaGVhZGVyPy5yZXF1ZXN0ZXJQaG90b319XCIgc2l6ZT1cInh4LXNtYWxsXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJkLWlubGluZS1mbGV4IGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInNob3dVc2VySW5mbygpXCI+PC9kcy1hdmF0YXI+XHJcbiAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICBjbGFzcz1cImZzLTEyIHRleHQtdHJ1bmNhdGUgZC1zbS1ibG9jayBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJzaG93VXNlckluZm8oKVwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnbG9hZGluZy1iZyBsb2FkaW5nLXdpZHRoJzogaXNMb2FkaW5nfVwiPnt7IChmb3JtPy5oZWFkZXI/LnJlcXVlc3Rlck5hbWUpIH19PC9zcGFuPlxyXG4gICAgICAgICAgPG1hdC1kaXZpZGVyIGNsYXNzPVwiZGl2aWRlciBjaXJjbGUgbXgtMiBkLW5vbmUgZC1zbS1ibG9ja1wiPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImZzLTEyXCIgW25nQ2xhc3NdPVwieydsb2FkaW5nLWJnIGxvYWRpbmctd2lkdGgnOiBpc0xvYWRpbmd9XCI+e3sgZm9ybT8uaGVhZGVyPy5mb3JtSWQgfX08L3NwYW4+XHJcbiAgICAgICAgICA8bWF0LWRpdmlkZXIgKm5nSWY9XCJjcmVhdGlvbkRhdGVcIiBjbGFzcz1cImRpdmlkZXIgY2lyY2xlIG14LTIgZC1ub25lIGQtc20tYmxvY2tcIj48L21hdC1kaXZpZGVyPlxyXG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJjcmVhdGlvbkRhdGVcIiBjbGFzcz1cImZzLTE0XCIgW25nQ2xhc3NdPVwieydsb2FkaW5nLWJnIGxvYWRpbmctd2lkdGgnOiBpc0xvYWRpbmd9XCI+e3sgY3JlYXRpb25EYXRlIH19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPCEtLSBoZWFkZXItYWN0aW9ucy0tPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJoZWFkZXItYWN0aW9ucyBkLWZsZXggZmxleC1yb3cgZmxleC1zbS1jb2x1bW4ganVzdGlmeS1jb250ZW50LWJldHdlZW4ganVzdGlmeS1jb250ZW50LXNtLWNlbnRlciBnYXAtMiBtdC0yIG10LXNtLTBcIlxyXG4gICAgICAgICpuZ0lmPVwiIShmb3JtPy5oZWFkZXI/LnN0YXR1cz8uWydrZXknXSA9PT0gJ05FVycpXCI+XHJcbiAgICAgICAgPGRzLXN0YXR1c1xyXG4gICAgICAgICAgKm5nSWY9XCJmb3JtPy5oZWFkZXI/LnN0YXR1cz8uWydrZXknXSAhPT0gJ05FVycgJiYgIWlzTG9hZGluZ1wiXHJcbiAgICAgICAgICBzdGF0dXM9XCJ7e3N0YXR1c0NsYXNzKGZvcm0/LmhlYWRlcj8uc3RhdHVzPy5bJ2tleSddKX19XCIgY2xhc3M9XCJoZWFkZXItc3RhdHVzXCI+e3sgZm9ybT8uaGVhZGVyPy5zdGF0dXM/LlsndmFsdWUnXSB9fVxyXG4gICAgICAgIDwvZHMtc3RhdHVzPlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtZW5kIGdhcC0yXCI+XHJcbiAgICAgICAgICA8IS0tIGZlZWRiYWNrLS0+XHJcbjwhLS0gICAgICAgICAgICAqbmdJZj1cImZvcm0/LmluYm94SXRlbSAmJiAoZm9ybT8uaW5ib3hJdGVtPy5jYW5SZXF1ZXN0RmVlZGJhY2sgPT09J3RydWUnfHwgZm9ybT8uaW5ib3hJdGVtPy5oYXNGZWVkYmFjaz09PSd0cnVlJykgJiYgIWlzTG9hZGluZ1wiLS0+XHJcbiAgICAgICAgPCEtLSAgPGRzLWJ1dHRvblxyXG4gICAgICAgICAgICBzcXVhcmUgaWNvbiBzaXplPVwic21hbGxcIiAoY2xpY2spPVwiZmVlZGJhY2soKVwiPlxyXG4gICAgICAgICAgICA8ZHMtaWNvblxyXG4gICAgICAgICAgICAgIGljb249XCJjaGF0LW9cIiBjbGFzcz1cImZzLTIwIGZzLW1kLTE3IGZjLWNvcmFsXCJcclxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2ZjLWdyZWVuJzpmZWVkQmFja0ljb24gPT09ICdmZWVkYmFja1Jlc3BvbmRlZCcgLCAnZmMtcmVkJzogZmVlZEJhY2tJY29uID09PSAncmVzcG9uZFRvRmVlZGJhY2snICwgJ2ZjLXllbGxvdyc6IGZlZWRCYWNrSWNvbiA9PT0gJ3dhaXRpbmdGZWVkYmFjayd9XCI+XHJcbiAgICAgICAgICAgIDwvZHMtaWNvbj5cclxuICAgICAgICAgIDwvZHMtYnV0dG9uPi0tPlxyXG4gICAgICAgICAgPGRzLWJ1dHRvblxyXG4gICAgICAgICAgICAqbmdJZj1cImZvcm0/LmNvbW1lbnRzRHJvcD8ubGVuZ3RoID4gMCAmJiAhaXNMb2FkaW5nXCIgc3F1YXJlIGljb24gc2l6ZT1cInNtYWxsXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ29tbWVudHNGb3JtQ2xpY2soKVwiIGNsYXNzPVwiaGFzLWNvbW1lbnRzXCI+XHJcbiAgICAgICAgICAgIDxkcy1pY29uIGljb249XCJjbG9ja1wiIGNsYXNzPVwiZmMtY29yYWwgZnMtMjAgZnMtbWQtMTdcIj48L2RzLWljb24+XHJcbiAgICAgICAgICA8L2RzLWJ1dHRvbj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93QXBwcm92YWxIaXN0b3J5XCI+XHJcbiAgICAgICAgICAgIDxkcy1idXR0b25cclxuICAgICAgICAgICAgICBjb2xvcj1cIndoaXRlXCIgc2hhcGU9XCJ0ZXh0XCIgc3F1YXJlIHNpemU9XCJzbWFsbFwiIFtzYXRQb3BvdmVyQW5jaG9yXT1cIndvcmtmbG93XCJcclxuICAgICAgICAgICAgICAjd29ya2Zsb3dBbmNob3I9XCJzYXRQb3BvdmVyQW5jaG9yXCIgKGNsaWNrKT1cIndvcmtmbG93QW5jaG9yLnBvcG92ZXIub3BlbigpXCI+XHJcbiAgICAgICAgICAgICAgPHNsb3QgbmFtZT1cInByZWZpeFwiPlxyXG4gICAgICAgICAgICAgICAgPGRzLWljb24gaWNvbj1cIndvcmtmbG93XCIgY2xhc3M9XCJmcy0yNFwiPjwvZHMtaWNvbj5cclxuICAgICAgICAgICAgICA8L3Nsb3Q+XHJcbiAgICAgICAgICAgIDwvZHMtYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgPHNhdC1wb3BvdmVyXHJcbiAgICAgICAgICAgICAgI3dvcmtmbG93IFthbmNob3JdPVwid29ya2Zsb3dBbmNob3JcIiBbaGFzQmFja2Ryb3BdPVwidHJ1ZVwiIHZlcnRpY2FsQWxpZ249XCJiZWxvd1wiXHJcbiAgICAgICAgICAgICAgaG9yaXpvbnRhbEFsaWduPVwiZW5kXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlZmF1bHQtcG9wb3ZlciBwLTNcIiBzdHlsZT1cIm1pbi13aWR0aDogMzMwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZHMtYXBwcm92YWxzICpuZ0lmPVwiYXBwcm92YWxIaXN0b3J5XCIgY2xhc3M9XCJwb3BvdmVyLWFwcHJvdmFsc1wiIGFwcHJvdmFsc0RhdGE9XCJ7e2FwcHJvdmFsc319XCI+XHJcbiAgICAgICAgICAgICAgICA8L2RzLWFwcHJvdmFscz5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9zYXQtcG9wb3Zlcj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICA8L2hlYWRlcj5cclxuPC9uZy1jb250YWluZXI+XHJcbjxoZWFkZXJcclxuICBjbGFzcz1cIm1iLTQgbXQtNCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWVuZCBnYXAtMlwiXHJcbiAgKm5nSWY9XCIoZm9ybT8uaGVhZGVyPy5zdGF0dXM/Llsna2V5J10gPT09ICdORVcnKVwiPlxyXG4gIDxzZWN0aW9uPlxyXG4gICAgPGg2IGNsYXNzPVwiZnMtMTQgZnMtbWQtMTIgZnctbm9ybWFsIGZjLWRhcmstZ3JheSBtYi0wXCI+XHJcbiAgICAgIHt7IGkxOG4udHJhbnNsYXRlKCdIZWxsbycpIH19XHJcbiAgICAgIHt7IChmb3JtPy5oZWFkZXI/LnJlcXVlc3Rlck5hbWUpIH19LCB7eyBpMThuLnRyYW5zbGF0ZSgnd2VsY29tZUJhY2snKSB9fSFcclxuICAgIDwvaDY+XHJcbiAgICA8aDEgY2xhc3M9XCJmcy0yNiBmcy1tZC0yMCBmdy1ib2xkIGZjLWJsYWNrIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgbWItMVwiPlxyXG4gICAgICB7eyBmb3JtVGl0bGUgfX1cclxuICAgICAgPGRzLWljb24gaWNvbj1cImluZm9cIiBjbGFzcz1cImZzLTIyIGZjLWRhcmstZ3JheSBjdXJzb3ItcG9pbnRlclwiICpuZ0lmPVwic2VydmljZUJyaWVmLmxlbmd0aFwiIChjbGljayk9XCJvcGVuRmFxKClcIj5cclxuICAgICAgPC9kcy1pY29uPlxyXG4gICAgPC9oMT5cclxuICA8L3NlY3Rpb24+XHJcblxyXG48L2hlYWRlcj5cclxuIl19
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvc2VydmljZS1oZWFkZXIvc2VydmljZS1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvc2VydmljZS1oZWFkZXIvc2VydmljZS1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixTQUFTLEVBQUUsc0JBQXNCLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXRGLE9BQU8sS0FBSyxTQUFTLE1BQU0sOEJBQThCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGVBQWUsRUFBWSxNQUFNLDBCQUEwQixDQUFDO0FBRXBFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ3JGLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ3hGLE9BQU8sRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzVFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sS0FBSyxN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TCxDQUFDO3VHQTdHVSxzQkFBc0I7MkZBQXRCLHNCQUFzQix3VUFKdEIsQ0FBQyxlQUFlO1lBQ3pCLEVBQUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFDO1NBQ3pDLDBCQ2xDSCw0MlFBa0lBLCtrR0QzR0ksSUFBSSw0RkFDSixnQkFBZ0IsbXFCQUNoQixVQUFVLHVGQUVWLE9BQU87OzJGQVNFLHNCQUFzQjtrQkFuQmxDLFNBQVM7K0JBQ0UscUJBQXFCLGNBR25CLElBQUksV0FDUDt3QkFDUCxJQUFJO3dCQUNKLGdCQUFnQjt3QkFDaEIsVUFBVTt3QkFDVixjQUFjO3dCQUNkLE9BQU87d0JBQ1AsT0FBTzt3QkFDUCxXQUFXO3FCQUNaLFdBQ1EsQ0FBQyxzQkFBc0IsQ0FBQyxhQUN0QixDQUFDLGVBQWU7d0JBQ3pCLEVBQUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFDO3FCQUN6Qzt1S0FHUSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Rm9ybSwgU2VjdGlvbn0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCAqIGFzIENvbnN0YW50cyBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvY29uc3RhbnRzJztcclxuaW1wb3J0IHtNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ30gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHtDb3JlSTE4blNlcnZpY2UsIFNpZGVuYXZTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7UHJvZmlsZVNlY3Rpb25Db21wb25lbnR9IGZyb20gJy4uL3Byb2ZpbGUtc2VjdGlvbi9wcm9maWxlLXNlY3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHtGZWVkYmFja1NlY3Rpb25Db21wb25lbnR9IGZyb20gJy4uL2ZlZWRiYWNrLXNlY3Rpb24vZmVlZGJhY2stc2VjdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge05nQ2xhc3MsIE5nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7U2F0UG9wb3Zlck1vZHVsZX0gZnJvbSAnQG5jc3RhdGUvc2F0LXBvcG92ZXInO1xyXG5pbXBvcnQge01hdERpdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xyXG5pbXBvcnQge01hdE1lbnUsIE1hdE1lbnVJdGVtLCBNYXRNZW51VHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XHJcbmltcG9ydCB7RmFxU2lkZW5hdkNvbXBvbmVudH0gZnJvbSAnLi4vZmFxLXNpZGVuYXYvZmFxLXNpZGVuYXYuY29tcG9uZW50JztcclxuaW1wb3J0IHtBY3Rpdml0aWVzQ29tcG9uZW50fSBmcm9tICcuLi9hY3Rpdml0aWVzL2FjdGl2aXRpZXMuY29tcG9uZW50JztcclxuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gJ21vbWVudCdcclxuaW1wb3J0IHtGZWVkQmFja1NlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlc1wiO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY29yZS1zZXJ2aWNlLWhlYWRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlcnZpY2UtaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zZXJ2aWNlLWhlYWRlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTmdJZixcclxuICAgIFNhdFBvcG92ZXJNb2R1bGUsXHJcbiAgICBNYXREaXZpZGVyLFxyXG4gICAgTWF0TWVudVRyaWdnZXIsXHJcbiAgICBOZ0NsYXNzLFxyXG4gICAgTWF0TWVudSxcclxuICAgIE1hdE1lbnVJdGVtXHJcbiAgXSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXHJcbiAgcHJvdmlkZXJzOiBbRmVlZEJhY2tTZXJ2aWNlLFxyXG4gICAge3Byb3ZpZGU6IE1BVF9ESUFMT0dfREFUQSwgdXNlVmFsdWU6IHt9fSxcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZXJ2aWNlSGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQElucHV0KCkgZm9ybTogRm9ybTtcclxuICBASW5wdXQoKSBzaG93SGlzdG9yeSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzTG9hZGluZyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNob3dBcHByb3ZhbEhpc3RvcnkgPSBmYWxzZTtcclxuICBASW5wdXQoKSBhcHByb3ZhbEhpc3Rvcnk6IGFueTtcclxuICBASW5wdXQoKSBjcmVhdGlvbkRhdGU6IHN0cmluZztcclxuICBASW5wdXQoKSBmb3JtVGl0bGU6IHN0cmluZztcclxuICBASW5wdXQoKSBzZWN0aW9uOiBTZWN0aW9uO1xyXG4gIEBJbnB1dCgpIHNlcnZpY2VCcmllZjogYW55W10gPSBbXTtcclxuICBhcHByb3ZhbHM6IGFueVtdID0gW107XHJcbiAgcHVibGljIGZlZWRCYWNrSWNvbjogc3RyaW5nID0gbnVsbDtcclxuICBmbGFnUHJpb3JpdHk6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgaTE4bjogQ29yZUkxOG5TZXJ2aWNlLCBwcml2YXRlIGZlZWRCYWNrU2VydmljZTogRmVlZEJhY2tTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBkaWFsb2c6IE1hdERpYWxvZywgcHJpdmF0ZSByZWFkb25seSBzaWRlbmF2U2VydmljZTogU2lkZW5hdlNlcnZpY2UsXHJcbiAgKSB7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5nZXRBcHByb3ZhbEhpc3RvcnkoKTtcclxuICAgICAgdGhpcy5jcmVhdGlvbkRhdGUgPSBtb21lbnQodGhpcy5mb3JtLmhlYWRlci5jcmVhdGlvbkRhdGUpLmxvY2FsZSgnZW4tVVMnKS5mb3JtYXQoXCJERC9NTS9ZWVlZIEhIOm1tOnNzXCIpO1xyXG4gIH1cclxuXHJcbiAgb25Db21tZW50c0Zvcm1DbGljaygpIHtcclxuICAgIGNvbnN0IGNvbW1lbnRzOiBhbnkgPSB0aGlzLmZvcm0uY29tbWVudHNEcm9wO1xyXG4gICAgY29uc3QgcmVzdWx0RGF0YSA9IFtdO1xyXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGNvbW1lbnRzLmxlbmd0aDsgaW5kZXgrKykge1xyXG4gICAgICBjb25zdCBpdGVtID0gY29tbWVudHNbaW5kZXhdO1xyXG4gICAgICBjb25zdCBvYmogPVxyXG4gICAgICAgIHtcclxuICAgICAgICAgIG5hbWU6IGl0ZW0uZW1wbG95ZWVOYW1lLFxyXG4gICAgICAgICAgdGl0bGU6IGl0ZW0uam9iUG9zaXRpb24sXHJcbiAgICAgICAgICBpbWFnZTogaXRlbS5wcm9maWxlUGljdHVyZSxcclxuICAgICAgICAgIGRhdGU6IG1vbWVudChpdGVtLmNvbW1lbnREYXRlKS5sb2NhbGUoJ2VuLVVTJykuZm9ybWF0KCdZWVlZLU1NLUREJyksXHJcbiAgICAgICAgICB0aW1lOiBtb21lbnQoaXRlbS5jb21tZW50RGF0ZSkubG9jYWxlKCdlbi1VUycpLmZvcm1hdCgnaDptbSBhJyksXHJcbiAgICAgICAgICBjb21tZW50OiBpdGVtLmNvbW1lbnRCb2R5LFxyXG4gICAgICAgICAgYXR0YWNobWVudHM6IGl0ZW0uYXR0YWNobWVudFxyXG4gICAgICAgIH07XHJcbiAgICAgIHJlc3VsdERhdGEucHVzaChvYmopO1xyXG4gICAgfVxyXG4gICAgLy8gdGhpcy5wcm9maWxlUmVxdWVzdGVyU2VydmljZS5hY3Rpdml0aWVzID0gcmVzdWx0RGF0YTtcclxuICAgIHRoaXMuc2lkZW5hdlNlcnZpY2UucHVibGlzaCgnb3BlbicsIEFjdGl2aXRpZXNDb21wb25lbnQpO1xyXG4gIH1cclxuXHJcbiAgZmVlZGJhY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpYWxvZy5vcGVuKEZlZWRiYWNrU2VjdGlvbkNvbXBvbmVudCwge1xyXG4gICAgICBwYW5lbENsYXNzOiBbJ21haW4tcG9wdXAnXSxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIHByb2ZpbGU6IHRoaXMuZm9ybS5wcm9maWxlSW5mb0Ryb3AsXHJcbiAgICAgICAgaW5ib3hJdGVtOiB0aGlzLmZvcm0uaW5ib3hJdGVtLFxyXG4gICAgICAgIGZvcm06IHRoaXMuZm9ybVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNob3dVc2VySW5mbygpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5pc0xvYWRpbmcpIHtcclxuICAgICAgdGhpcy5zaWRlbmF2U2VydmljZS5kYXRhID0gdGhpcy5mb3JtPy5wcm9maWxlSW5mb0Ryb3A7XHJcbiAgICAgIHRoaXMuc2lkZW5hdlNlcnZpY2UucHVibGlzaCgnb3BlbicsIFByb2ZpbGVTZWN0aW9uQ29tcG9uZW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldEZsYWdQcmlvcml0eShpZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmZsYWdQcmlvcml0eSA9IGlkO1xyXG4gICAgdGhpcy5mb3JtLmluYm94SXRlbS5mbGFnUHJpb3JpdHkgPSBpZDtcclxuICAgIC8vIHRoaXMuc3RhdGVNYWNoaW5lU2VydmljZS5kaXNwYXRjaChDb25zdGFudHMuU1RBVEVfTUFDSElORV9BQ1RJT05fU0VUX0ZMQUcsIGlkKS50aGVuKCgpID0+IHtcclxuICAgIC8vIH0pO1xyXG4gIH1cclxuXHJcbiAgc3RhdHVzQ2xhc3Moc3RhdHVzOiBzdHJpbmcpIHtcclxuICAgIGlmIChzdGF0dXMpIHtcclxuICAgICAgaWYgKHRoaXMuaXNMb2FkaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuICdsb2FkaW5nJztcclxuICAgICAgfSBlbHNlIGlmIChcclxuICAgICAgICBzdGF0dXMgPT09IENvbnN0YW50cy5GT1JNX1NUQVRVU19SRUpFQ1RFRCB8fCBzdGF0dXMgPT09IENvbnN0YW50cy5GT1JNX1NUQVRVU19DQU5DRUxMRURcclxuICAgICAgICB8fCBzdGF0dXMudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygnZGVueScpXHJcbiAgICAgICAgfHwgc3RhdHVzLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ3JlamVjdCcpXHJcbiAgICAgICAgfHwgc3RhdHVzPy50b0xvd2VyQ2FzZSgpID09PSAncmVqZWN0JyB8fCBzdGF0dXM/LnRvTG93ZXJDYXNlKCkgPT09ICd1bnNhdGlzZmllZCcgfHwgc3RhdHVzPy50b0xvd2VyQ2FzZSgpID09PSAnY2FuY2VsJ1xyXG4gICAgICApIHtcclxuICAgICAgICByZXR1cm4gJ2Rhbmdlcic7XHJcbiAgICAgIH0gZWxzZSBpZiAoc3RhdHVzID09PSBDb25zdGFudHMuRk9STV9TVEFUVVNfUEVORElORyB8fCBzdGF0dXM/LnRvTG93ZXJDYXNlKCkgPT09ICdwZW5kaW5nJykge1xyXG4gICAgICAgIHJldHVybiAnd2FybmluZyc7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuICdzdWNjZXNzJztcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICdzdWNjZXNzJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9wZW5GYXEoKSB7XHJcbiAgICB0aGlzLnNpZGVuYXZTZXJ2aWNlLnB1Ymxpc2goJ29wZW4nLCBGYXFTaWRlbmF2Q29tcG9uZW50LCAnZW5kJywgJ292ZXInLCB0aGlzLnNlcnZpY2VCcmllZik7XHJcbiAgfVxyXG5cclxuICBnZXRBcHByb3ZhbEhpc3RvcnkoKSB7XHJcbiAgICB0aGlzLmFwcHJvdmFsSGlzdG9yeT8uZm9yRWFjaCgoZWxlbWVudDogeyBhcHByb3ZlcjogeyBwZXJzb25OYW1lOiBhbnk7IHBlcnNvbkVtYWlsOiBzdHJpbmc7IH07IHBvc2l0aW9uVHlwZTogYW55OyB9LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgIGNvbnN0IG9iaiA9IHtcclxuICAgICAgICBpZDogaW5kZXggKyAxLFxyXG4gICAgICAgIG5hbWU6IGVsZW1lbnQuYXBwcm92ZXIucGVyc29uTmFtZSxcclxuICAgICAgICB0aXRsZTogZWxlbWVudC5wb3NpdGlvblR5cGUsXHJcbiAgICAgICAgaW1hZ2U6ICcvZ3JvdXAvaS1nYXRlL3dtLWJwbS9mb3Jtcy8tL3Byb3h5L3BvcnRyYWl0P2VtYWlsPScgKyBlbGVtZW50LmFwcHJvdmVyLnBlcnNvbkVtYWlsLFxyXG4gICAgICAgIHN0YXR1czogdGhpcy5mb3JtLnNlY3Rpb25zW2luZGV4ICsgMV0gPyB0aGlzLnN0YXR1c0NsYXNzKHRoaXMuZm9ybS5zZWN0aW9uc1tpbmRleCArIDFdLmJvZHkuZGV0YWlscy5kZWNpc2lvbi5rZXkpIDogJycsXHJcbiAgICAgICAgc3RhdHVzTGFiZWw6IHRoaXMuZm9ybS5zZWN0aW9uc1tpbmRleCArIDFdID8gdGhpcy5mb3JtLnNlY3Rpb25zW2luZGV4ICsgMV0uYm9keS5kZXRhaWxzLmRlY2lzaW9uLnZhbHVlIDogJydcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5hcHByb3ZhbHMucHVzaChvYmopO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhKGZvcm0/LmhlYWRlcj8uc3RhdHVzPy5bJ2tleSddID09PSAnTkVXJylcIj5cclxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtZW5kIGdhcC0yIG15LTJcIiAqbmdJZj1cIiEoZm9ybT8uaGVhZGVyPy5zdGF0dXM/Llsna2V5J10gPT09ICdORVcnKVwiPlxyXG5cclxuICAgIDwhLS0gZmxhZy0tPlxyXG4gICAgPCEtLTxkcy1idXR0b25cclxuICAgICAgKm5nSWY9XCJmb3JtPy5pbmJveEl0ZW0gJiYgIWZvcm0uc2VjdGlvbnNbZm9ybS5zZWN0aW9ucy5sZW5ndGggLTFdLmhlYWRlci5yZWFkT25seSAmJiAhaXNMb2FkaW5nXCJcclxuICAgICAgc3F1YXJlXHJcbiAgICAgIGljb25cclxuICAgICAgc2l6ZT1cInNtYWxsXCJcclxuICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIlxyXG4gICAgICBjbGFzcz1cImljb24tYnRuLXNoYWRvd1wiPlxyXG4gICAgICA8ZHMtaWNvblxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInsnZmMtcHVycGxlJyA6IChmbGFnUHJpb3JpdHkgPT09ICcwJyB8fCAgZmxhZ1ByaW9yaXR5ID09PSBudWxsKSwnZmMteWVsbG93JyA6IGZsYWdQcmlvcml0eSA9PT0gJzEnLCdmYy1ncmVlbicgOiBmbGFnUHJpb3JpdHkgPT09ICcyJywnZmMtY29yYWwnIDogZmxhZ1ByaW9yaXR5ID09PSAnMyd9XCJcclxuICAgICAgICBpY29uPVwiZmxhZy1vXCIgY2xhc3M9XCJmcy0yMCBmcy1tZC0xNyBmYy1wdXJwbGVcIj5cclxuICAgICAgPC9kcy1pY29uPlxyXG4gICAgPC9kcy1idXR0b24+XHJcbiAgICA8bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCIgcGFuZWxDbGFzcz1cImFjdGlvbi1tZW51XCI+XHJcbiAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwic2V0RmxhZ1ByaW9yaXR5KCcwJylcIj5cclxuICAgICAgICA8ZHMtaWNvbiBpY29uPVwiZmxhZy1vXCIgY2xhc3M9XCJmYy1wdXJwbGUgZnMtMjAgZnMtbWQtMTdcIj48L2RzLWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInNldEZsYWdQcmlvcml0eSgnMScpXCI+XHJcbiAgICAgICAgPGRzLWljb24gaWNvbj1cImZsYWctb1wiIGNsYXNzPVwiZmMteWVsbG93IGZzLTIwIGZzLW1kLTE3XCI+PC9kcy1pY29uPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJzZXRGbGFnUHJpb3JpdHkoJzInKVwiPlxyXG4gICAgICAgIDxkcy1pY29uIGljb249XCJmbGFnLW9cIiBjbGFzcz1cImZjLWdyZWVuIGZzLTIwIGZzLW1kLTE3XCI+PC9kcy1pY29uPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJzZXRGbGFnUHJpb3JpdHkoJzMnKVwiPlxyXG4gICAgICAgIDxkcy1pY29uIGljb249XCJmbGFnLW9cIiBjbGFzcz1cImZjLWNvcmFsIGZzLTIwIGZzLW1kLTE3XCI+PC9kcy1pY29uPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvbWF0LW1lbnU+LS0+XHJcblxyXG4gICAgPCEtLSBwcmludC0tPlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8aGVhZGVyIGNsYXNzPVwic2VydmljZS1oZWFkZXIgYmMtd2hpdGUgcC0zIHAtc20tNCBweS00IGdhcC0zIHt7c3RhdHVzQ2xhc3MoZm9ybT8uaGVhZGVyPy5zdGF0dXM/Llsna2V5J10pfX1cIj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwic2VydmljZS1oZWFkZXItaWNvblwiPlxyXG4gICAgICA8aW1nXHJcbiAgICAgICAgYWx0PVwiXCJcclxuICAgICAgICBzcmM9XCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMGlNekFpSUdobGFXZG9kRDBpTWpraUlIWnBaWGRDYjNnOUlqQWdNQ0F6TUNBeU9TSWdabWxzYkQwaWJtOXVaU0lnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JajRLUEhCaGRHZ2daRDBpVFRJMUxqRWdNRWcwTGpsRE1pNHlJREFnTUNBeUxqSWdNQ0EwTGpsV01qZ3VOa2d5TlM0eFF6STNMamdnTWpndU5pQXpNQ0F5Tmk0MElETXdJREl6TGpkV05DNDVRek13SURJdU1pQXlOeTQ0SURBZ01qVXVNU0F3V2sweUlEUXVPVU15SURNdU15QXpMak1nTWlBMExqa2dNa2d5TlM0eFF6STJMamNnTWlBeU9DQXpMak1nTWpnZ05DNDVWakl6TGpkRE1qZ2dNalV1TXlBeU5pNDNJREkyTGpZZ01qVXVNU0F5Tmk0MlNESldOQzQ1V2sweE1TNDFJRFl1TTBNM0xqRWdOaTR6SURNdU5TQTVMamtnTXk0MUlERTBMak5ETXk0MUlERTRMamNnTnk0eElESXlMak1nTVRFdU5TQXlNaTR6UXpFMUxqa2dNakl1TXlBeE9TNDFJREU0TGpjZ01Ua3VOU0F4TkM0elF6RTVMalVnT1M0NUlERTFMamtnTmk0eklERXhMalVnTmk0eldrMHhOUzR4SURFNVF6RTBMakVnTVRrdU9DQXhNaTQ0SURJd0xqSWdNVEV1TlNBeU1DNHlRekV3TGpJZ01qQXVNaUE0TGprZ01Ua3VPQ0EzTGprZ01UbERPQzQzSURFM0xqY2dNVEFnTVRjZ01URXVOU0F4TjBNeE15QXhOeUF4TkM0MElERTNMamdnTVRVdU1TQXhPVnBOTVRNdU1TQXhNeTQwUXpFekxqRWdNVFF1TXlBeE1pNDBJREUxSURFeExqVWdNVFZETVRBdU5pQXhOU0E1TGprZ01UUXVNeUE1TGprZ01UTXVORU01TGprZ01USXVOU0F4TUM0MklERXhMamdnTVRFdU5TQXhNUzQ0UXpFeUxqUWdNVEV1T0NBeE15NHhJREV5TGpVZ01UTXVNU0F4TXk0MFdrMHhOUzR4SURFekxqUkRNVFV1TVNBeE1TNDBJREV6TGpVZ09TNDRJREV4TGpVZ09TNDRRemt1TlNBNUxqZ2dOeTQ1SURFeExqUWdOeTQ1SURFekxqUkROeTQ1SURFMExqSWdPQzR5SURFMUlEZ3VOeUF4TlM0M1F6Y3VPQ0F4Tmk0eElEY3VNU0F4Tmk0NElEWXVOU0F4Tnk0MlF6VXVPQ0F4Tmk0MklEVXVOU0F4TlM0MUlEVXVOU0F4TkM0elF6VXVOU0F4TVNBNExqSWdPQzR6SURFeExqVWdPQzR6UXpFMExqZ2dPQzR6SURFM0xqVWdNVEVnTVRjdU5TQXhOQzR6UXpFM0xqVWdNVFV1TlNBeE55NHlJREUyTGpZZ01UWXVOU0F4Tnk0MlF6RTFMamtnTVRZdU9DQXhOUzR5SURFMkxqSWdNVFF1TXlBeE5TNDNRekUwTGpnZ01UVXVNU0F4TlM0eElERTBMaklnTVRVdU1TQXhNeTQwV2sweU1TQTVMakZETWpFZ09DNDJJREl4TGpRZ09DNHhJREl5SURndU1VZ3lOUzQxUXpJMklEZ3VNU0F5Tmk0MUlEZ3VOU0F5Tmk0MUlEa3VNVU15Tmk0MUlEa3VOaUF5Tmk0eElERXdMakVnTWpVdU5TQXhNQzR4U0RJeVF6SXhMalFnTVRBdU1TQXlNU0E1TGpZZ01qRWdPUzR4V2sweU1TQXhNaTQxUXpJeElERXlJREl4TGpRZ01URXVOU0F5TWlBeE1TNDFTREkxTGpWRE1qWWdNVEV1TlNBeU5pNDFJREV4TGprZ01qWXVOU0F4TWk0MVF6STJMalVnTVRNZ01qWXVNU0F4TXk0MUlESTFMalVnTVRNdU5VZ3lNa015TVM0MElERXpMalVnTWpFZ01UTXVNU0F5TVNBeE1pNDFXazB5TVNBeE5rTXlNU0F4TlM0MUlESXhMalFnTVRVZ01qSWdNVFZJTWpVdU5VTXlOaUF4TlNBeU5pNDFJREUxTGpRZ01qWXVOU0F4TmtNeU5pNDFJREUyTGpVZ01qWXVNU0F4TnlBeU5TNDFJREUzU0RJeVF6SXhMalFnTVRjZ01qRWdNVFl1TmlBeU1TQXhObHBOTWpVdU5TQXlNQzQxU0RJeVF6SXhMalVnTWpBdU5TQXlNU0F5TUM0eElESXhJREU1TGpWRE1qRWdNVGd1T1NBeU1TNDBJREU0TGpVZ01qSWdNVGd1TlVneU5TNDFRekkySURFNExqVWdNall1TlNBeE9DNDVJREkyTGpVZ01Ua3VOVU15Tmk0MUlESXdMakVnTWpZdU1TQXlNQzQxSURJMUxqVWdNakF1TlZvaUlHWnBiR3c5SWlOR1JqTTNOVVVpTHo0S1BDOXpkbWMrQ2c9PVwiLz5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMSBkLWZsZXggZmxleC1jb2x1bW4gZmxleC1zbS1yb3cgYWxpZ24taXRlbXMtc20tY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMVwiPlxyXG4gICAgICAgIDwhLS0gdGl0bGUtLT5cclxuICAgICAgICA8aDEgY2xhc3M9XCJmcy0yMCBmcy1tZC0xNiBmdy1ib2xkIGZjLWJsYWNrIGhlYWRlci10aXRsZSBtLTBcIj57eyBmb3JtVGl0bGUgfX1cclxuICAgICAgICAgIDxkcy1pY29uXHJcbiAgICAgICAgICAgIGljb249XCJpbmZvXCIgY2xhc3M9XCJmcy0yMiBmYy1kYXJrLWdyYXkgY3Vyc29yLXBvaW50ZXJcIiAqbmdJZj1cInNlcnZpY2VCcmllZi5sZW5ndGhcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib3BlbkZhcSgpXCI+PC9kcy1pY29uPlxyXG4gICAgICAgIDwvaDE+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJoZWFkZXItdXNlciBkLWZsZXggYWxpZ24taXRlbXMtc20tY2VudGVyIGdhcC0yIG10LXNtLTFcIlxyXG4gICAgICAgICAgKm5nSWY9XCJmb3JtPy5oZWFkZXI/LnN0YXR1cz8uWydrZXknXSAhPT0gJ05FVycgfHwgaXNMb2FkaW5nXCI+XHJcbiAgICAgICAgICA8ZHMtYXZhdGFyXHJcbiAgICAgICAgICAgICpuZ0lmPVwiIWlzTG9hZGluZ1wiIGltYWdlPVwie3tmb3JtPy5oZWFkZXI/LnJlcXVlc3RlclBob3RvfX1cIiBzaXplPVwieHgtc21hbGxcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImQtaW5saW5lLWZsZXggY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwic2hvd1VzZXJJbmZvKClcIj48L2RzLWF2YXRhcj5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZnMtMTIgdGV4dC10cnVuY2F0ZSBkLXNtLWJsb2NrIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInNob3dVc2VySW5mbygpXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieydsb2FkaW5nLWJnIGxvYWRpbmctd2lkdGgnOiBpc0xvYWRpbmd9XCI+e3sgKGZvcm0/LmhlYWRlcj8ucmVxdWVzdGVyTmFtZSkgfX08L3NwYW4+XHJcbiAgICAgICAgICA8bWF0LWRpdmlkZXIgY2xhc3M9XCJkaXZpZGVyIGNpcmNsZSBteC0yIGQtbm9uZSBkLXNtLWJsb2NrXCI+PC9tYXQtZGl2aWRlcj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnMtMTJcIiBbbmdDbGFzc109XCJ7J2xvYWRpbmctYmcgbG9hZGluZy13aWR0aCc6IGlzTG9hZGluZ31cIj57eyBmb3JtPy5oZWFkZXI/LmZvcm1JZCB9fTwvc3Bhbj5cclxuICAgICAgICAgIDxtYXQtZGl2aWRlciAqbmdJZj1cImNyZWF0aW9uRGF0ZVwiIGNsYXNzPVwiZGl2aWRlciBjaXJjbGUgbXgtMiBkLW5vbmUgZC1zbS1ibG9ja1wiPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cImNyZWF0aW9uRGF0ZVwiIGNsYXNzPVwiZnMtMTRcIiBbbmdDbGFzc109XCJ7J2xvYWRpbmctYmcgbG9hZGluZy13aWR0aCc6IGlzTG9hZGluZ31cIj57eyBjcmVhdGlvbkRhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8IS0tIGhlYWRlci1hY3Rpb25zLS0+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImhlYWRlci1hY3Rpb25zIGQtZmxleCBmbGV4LXJvdyBmbGV4LXNtLWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBqdXN0aWZ5LWNvbnRlbnQtc20tY2VudGVyIGdhcC0yIG10LTIgbXQtc20tMFwiXHJcbiAgICAgICAgKm5nSWY9XCIhKGZvcm0/LmhlYWRlcj8uc3RhdHVzPy5bJ2tleSddID09PSAnTkVXJylcIj5cclxuICAgICAgICA8ZHMtc3RhdHVzXHJcbiAgICAgICAgICAqbmdJZj1cImZvcm0/LmhlYWRlcj8uc3RhdHVzPy5bJ2tleSddICE9PSAnTkVXJyAmJiAhaXNMb2FkaW5nXCJcclxuICAgICAgICAgIHN0YXR1cz1cInt7c3RhdHVzQ2xhc3MoZm9ybT8uaGVhZGVyPy5zdGF0dXM/Llsna2V5J10pfX1cIiBjbGFzcz1cImhlYWRlci1zdGF0dXNcIj57eyBmb3JtPy5oZWFkZXI/LnN0YXR1cz8uWyd2YWx1ZSddIH19XHJcbiAgICAgICAgPC9kcy1zdGF0dXM+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1lbmQgZ2FwLTJcIj5cclxuICAgICAgICAgIDwhLS0gZmVlZGJhY2stLT5cclxuPCEtLSAgICAgICAgICAgICpuZ0lmPVwiZm9ybT8uaW5ib3hJdGVtICYmIChmb3JtPy5pbmJveEl0ZW0/LmNhblJlcXVlc3RGZWVkYmFjayA9PT0ndHJ1ZSd8fCBmb3JtPy5pbmJveEl0ZW0/Lmhhc0ZlZWRiYWNrPT09J3RydWUnKSAmJiAhaXNMb2FkaW5nXCItLT5cclxuICAgICAgICA8IS0tICA8ZHMtYnV0dG9uXHJcbiAgICAgICAgICAgIHNxdWFyZSBpY29uIHNpemU9XCJzbWFsbFwiIChjbGljayk9XCJmZWVkYmFjaygpXCI+XHJcbiAgICAgICAgICAgIDxkcy1pY29uXHJcbiAgICAgICAgICAgICAgaWNvbj1cImNoYXQtb1wiIGNsYXNzPVwiZnMtMjAgZnMtbWQtMTcgZmMtY29yYWxcIlxyXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnZmMtZ3JlZW4nOmZlZWRCYWNrSWNvbiA9PT0gJ2ZlZWRiYWNrUmVzcG9uZGVkJyAsICdmYy1yZWQnOiBmZWVkQmFja0ljb24gPT09ICdyZXNwb25kVG9GZWVkYmFjaycgLCAnZmMteWVsbG93JzogZmVlZEJhY2tJY29uID09PSAnd2FpdGluZ0ZlZWRiYWNrJ31cIj5cclxuICAgICAgICAgICAgPC9kcy1pY29uPlxyXG4gICAgICAgICAgPC9kcy1idXR0b24+LS0+XHJcbiAgICAgICAgICA8ZHMtYnV0dG9uXHJcbiAgICAgICAgICAgICpuZ0lmPVwiZm9ybT8uY29tbWVudHNEcm9wPy5sZW5ndGggPiAwICYmICFpc0xvYWRpbmdcIiBzcXVhcmUgaWNvbiBzaXplPVwic21hbGxcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25Db21tZW50c0Zvcm1DbGljaygpXCIgY2xhc3M9XCJoYXMtY29tbWVudHNcIj5cclxuICAgICAgICAgICAgPGRzLWljb24gaWNvbj1cImNsb2NrXCIgY2xhc3M9XCJmYy1jb3JhbCBmcy0yMCBmcy1tZC0xN1wiPjwvZHMtaWNvbj5cclxuICAgICAgICAgIDwvZHMtYnV0dG9uPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dBcHByb3ZhbEhpc3RvcnlcIj5cclxuICAgICAgICAgICAgPGRzLWJ1dHRvblxyXG4gICAgICAgICAgICAgIGNvbG9yPVwid2hpdGVcIiBzaGFwZT1cInRleHRcIiBzcXVhcmUgc2l6ZT1cInNtYWxsXCIgW3NhdFBvcG92ZXJBbmNob3JdPVwid29ya2Zsb3dcIlxyXG4gICAgICAgICAgICAgICN3b3JrZmxvd0FuY2hvcj1cInNhdFBvcG92ZXJBbmNob3JcIiAoY2xpY2spPVwid29ya2Zsb3dBbmNob3IucG9wb3Zlci5vcGVuKClcIj5cclxuICAgICAgICAgICAgICA8c2xvdCBuYW1lPVwicHJlZml4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZHMtaWNvbiBpY29uPVwid29ya2Zsb3dcIiBjbGFzcz1cImZzLTI0XCI+PC9kcy1pY29uPlxyXG4gICAgICAgICAgICAgIDwvc2xvdD5cclxuICAgICAgICAgICAgPC9kcy1idXR0b24+XHJcblxyXG4gICAgICAgICAgICA8c2F0LXBvcG92ZXJcclxuICAgICAgICAgICAgICAjd29ya2Zsb3cgW2FuY2hvcl09XCJ3b3JrZmxvd0FuY2hvclwiIFtoYXNCYWNrZHJvcF09XCJ0cnVlXCIgdmVydGljYWxBbGlnbj1cImJlbG93XCJcclxuICAgICAgICAgICAgICBob3Jpem9udGFsQWxpZ249XCJlbmRcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVmYXVsdC1wb3BvdmVyIHAtM1wiIHN0eWxlPVwibWluLXdpZHRoOiAzMzBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkcy1hcHByb3ZhbHMgKm5nSWY9XCJhcHByb3ZhbEhpc3RvcnlcIiBjbGFzcz1cInBvcG92ZXItYXBwcm92YWxzXCIgYXBwcm92YWxzRGF0YT1cInt7YXBwcm92YWxzfX1cIj5cclxuICAgICAgICAgICAgICAgIDwvZHMtYXBwcm92YWxzPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L3NhdC1wb3BvdmVyPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gIDwvaGVhZGVyPlxyXG48L25nLWNvbnRhaW5lcj5cclxuPGhlYWRlclxyXG4gIGNsYXNzPVwibWItNCBtdC00IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtZW5kIGdhcC0yXCJcclxuICAqbmdJZj1cIihmb3JtPy5oZWFkZXI/LnN0YXR1cz8uWydrZXknXSA9PT0gJ05FVycpXCI+XHJcbiAgPHNlY3Rpb24+XHJcbiAgICA8aDYgY2xhc3M9XCJmcy0xNCBmcy1tZC0xMiBmdy1ub3JtYWwgZmMtZGFyay1ncmF5IG1iLTBcIj5cclxuICAgICAge3sgaTE4bi50cmFuc2xhdGUoJ0hlbGxvJykgfX1cclxuICAgICAge3sgKGZvcm0/LmhlYWRlcj8ucmVxdWVzdGVyTmFtZSkgfX0sIHt7IGkxOG4udHJhbnNsYXRlKCd3ZWxjb21lQmFjaycpIH19IVxyXG4gICAgPC9oNj5cclxuICAgIDxoMSBjbGFzcz1cImZzLTI2IGZzLW1kLTIwIGZ3LWJvbGQgZmMtYmxhY2sgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiBtYi0xXCI+XHJcbiAgICAgIHt7IGZvcm1UaXRsZSB9fVxyXG4gICAgICA8ZHMtaWNvbiBpY29uPVwiaW5mb1wiIGNsYXNzPVwiZnMtMjIgZmMtZGFyay1ncmF5IGN1cnNvci1wb2ludGVyXCIgKm5nSWY9XCJzZXJ2aWNlQnJpZWYubGVuZ3RoXCIgKGNsaWNrKT1cIm9wZW5GYXEoKVwiPlxyXG4gICAgICA8L2RzLWljb24+XHJcbiAgICA8L2gxPlxyXG4gIDwvc2VjdGlvbj5cclxuXHJcbjwvaGVhZGVyPlxyXG4iXX0=