ca-components 0.0.82 → 0.0.84

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 (50) hide show
  1. package/esm2022/lib/components/ca-filters/components/ca-dispatcher-filter/ca-dispatcher-filter.component.mjs +2 -2
  2. package/esm2022/lib/components/ca-filters/components/ca-user-filter/ca-user-filter.component.mjs +2 -2
  3. package/esm2022/lib/components/ca-input/ca-input.component.mjs +10 -4
  4. package/esm2022/lib/components/ca-input/directives/index.mjs +2 -0
  5. package/esm2022/lib/components/ca-input/directives/min-max-value.directive.mjs +52 -0
  6. package/esm2022/lib/components/ca-input/services/ca-input-state.service.mjs +2 -3
  7. package/esm2022/lib/components/ca-input-dropdown/components/ca-input-dropdown-load-dispatcher/ca-input-dropdown-load-dispatcher.component.mjs +1 -1
  8. package/esm2022/lib/components/ca-input-dropdown/components/ca-input-dropdown-load-dispatches-ttd/ca-input-dropdown-load-dispatches-ttd.component.mjs +1 -1
  9. package/esm2022/lib/components/ca-input-dropdown/components/ca-input-dropdown-svgtext-dispatch-template/ca-input-dropdown-svgtext-dispatch-template.component.mjs +1 -1
  10. package/esm2022/lib/components/ca-input-dropdown/components/ca-input-dropdown-svgtext-template/ca-input-dropdown-svgtext-template.component.mjs +2 -2
  11. package/esm2022/lib/components/ca-main-table/ca-main-table.component.mjs +6 -3
  12. package/esm2022/lib/components/ca-period-content/ca-period-content.component.mjs +8 -20
  13. package/esm2022/lib/components/ca-period-content/components/ca-period-content-payment/ca-period-content-payment.component.mjs +6 -3
  14. package/esm2022/lib/components/ca-period-content/components/ca-period-content-user-info/ca-period-content-user-info.component.mjs +5 -7
  15. package/esm2022/lib/components/ca-period-content/enums/payroll-type.enum.mjs +2 -2
  16. package/esm2022/lib/components/ca-period-content/models/payroll-report.type.mjs +1 -1
  17. package/esm2022/lib/components/ca-period-content/pipes/payroll-status-class.pipe.mjs +28 -0
  18. package/esm2022/lib/components/ca-period-content/pipes/period_status.pipe.mjs +12 -7
  19. package/esm2022/lib/components/ca-period-content/utils/helpers/payroll-period-content.helper.mjs +2 -120
  20. package/esm2022/lib/components/ca-profile-image/ca-profile-image.component.mjs +6 -3
  21. package/esm2022/lib/components/ca-rating-review/components/ca-rating-review-user/ca-rating-review-user.component.mjs +1 -1
  22. package/esm2022/lib/components/ca-todo/ca-todo.component.mjs +25 -16
  23. package/esm2022/lib/components/ca-todo/components/ca-todo-card.component.mjs +46 -12
  24. package/esm2022/lib/components/ca-todo/enums/download-link.enum.mjs +7 -0
  25. package/esm2022/lib/components/ca-todo/enums/index.mjs +2 -1
  26. package/esm2022/lib/components/ca-todo/models/todo-config.model.mjs +1 -1
  27. package/esm2022/lib/components/ca-todo/services/file-service.mjs +20 -0
  28. package/esm2022/lib/components/ca-todo/services/index.mjs +2 -0
  29. package/fesm2022/ca-components.mjs +215 -198
  30. package/fesm2022/ca-components.mjs.map +1 -1
  31. package/lib/components/ca-input/directives/index.d.ts +1 -0
  32. package/lib/components/ca-input/directives/min-max-value.directive.d.ts +14 -0
  33. package/lib/components/ca-main-table/ca-main-table.component.d.ts +2 -1
  34. package/lib/components/ca-period-content/ca-period-content.component.d.ts +0 -6
  35. package/lib/components/ca-period-content/components/ca-period-content-payment/ca-period-content-payment.component.d.ts +2 -1
  36. package/lib/components/ca-period-content/components/ca-period-content-user-info/ca-period-content-user-info.component.d.ts +1 -3
  37. package/lib/components/ca-period-content/enums/payroll-type.enum.d.ts +1 -1
  38. package/lib/components/ca-period-content/models/payroll-report.type.d.ts +6 -0
  39. package/lib/components/ca-period-content/pipes/payroll-status-class.pipe.d.ts +8 -0
  40. package/lib/components/ca-period-content/pipes/period_status.pipe.d.ts +2 -4
  41. package/lib/components/ca-period-content/utils/helpers/payroll-period-content.helper.d.ts +0 -25
  42. package/lib/components/ca-profile-image/ca-profile-image.component.d.ts +2 -1
  43. package/lib/components/ca-todo/ca-todo.component.d.ts +8 -4
  44. package/lib/components/ca-todo/components/ca-todo-card.component.d.ts +9 -3
  45. package/lib/components/ca-todo/enums/download-link.enum.d.ts +5 -0
  46. package/lib/components/ca-todo/enums/index.d.ts +1 -0
  47. package/lib/components/ca-todo/models/todo-config.model.d.ts +11 -11
  48. package/lib/components/ca-todo/services/file-service.d.ts +10 -0
  49. package/lib/components/ca-todo/services/index.d.ts +1 -0
  50. package/package.json +1 -1
@@ -21,7 +21,7 @@ export class CaInputDropdownLoadDispatcherComponent {
21
21
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CaInputDropdownLoadDispatcherComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
22
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CaInputDropdownLoadDispatcherComponent, isStandalone: true, selector: "app-ca-input-dropdown-load-dispatcher", inputs: { options: "options", activeItem: "activeItem", getSuperControl: "getSuperControl" }, outputs: { onActiveItem: "onActiveItem" }, ngImport: i0, template: "<div class=\"scrollable-element pb-0\">\n <ng-container *ngFor=\"let option of options; trackBy: identity\">\n <div\n (click)=\"onActiveItemEmit(option)\"\n [ngClass]=\"{\n disabled: option?.disabled,\n 'no-result':\n options.length === 1 &&\n options[0]?.name === 'No Results',\n active: option.id === activeItem?.id\n }\"\n class=\"dropdown-option load-dispatcher-template\"\n >\n <ng-container\n *ngIf=\"\n option.logoName &&\n !(\n options.length === 1 &&\n options[0]?.name === 'No Results'\n )\n \"\n >\n <img\n [alt]=\"option?.name\"\n [ngClass]=\"{\n active: option.id === activeItem?.id\n }\"\n [src]=\"option.logoName\"\n class=\"svg-template-logo\"\n />\n </ng-container>\n <ng-container\n *ngIf=\"\n !option.logoName &&\n !(\n options.length === 1 &&\n options[0]?.name === 'No Results'\n )\n \"\n >\n <div class=\"no-profile-image\">\n <app-ca-profile-image\n [indx]=\"0\"\n [name]=\"option?.name!\"\n [size]=\"'small'\"\n >\n </app-ca-profile-image>\n </div>\n </ng-container>\n <div\n [innerHtml]=\"\n option?.name\n | caHighlight\n : [\n {\n index: 45632,\n text: getSuperControl?.value\n }\n ]\n \"\n ></div>\n </div>\n </ng-container>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: AngularSvgIconModule }, { kind: "component", type:
23
23
  // Component
24
- CaProfileImageComponent, selector: "app-ca-profile-image", inputs: ["indx", "avatarImg", "avatarColor", "textShortName", "name", "isRound", "size", "fontSize", "isHoverEffect"] }, { kind: "pipe", type:
24
+ CaProfileImageComponent, selector: "app-ca-profile-image", inputs: ["indx", "avatarImg", "avatarColor", "textShortName", "name", "isRound", "size", "height", "fontSize", "isHoverEffect"] }, { kind: "pipe", type:
25
25
  // Pipe
26
26
  HighlightSearchPipe, name: "caHighlight" }] }); }
27
27
  }
@@ -25,7 +25,7 @@ export class CaInputDropdownLoadDispatchesTtdComponent {
25
25
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CaInputDropdownLoadDispatchesTtdComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
26
26
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CaInputDropdownLoadDispatchesTtdComponent, isStandalone: true, selector: "app-ca-input-dropdown-load-dispatches-ttd", inputs: { options: "options", activeItem: "activeItem", getSuperControl: "getSuperControl" }, outputs: { onActiveItem: "onActiveItem" }, ngImport: i0, template: "<ng-container \n *ngFor=\"\n let option of options;\n trackBy: identity;\n let indx = index\n \"\n>\n <div\n (click)=\"onActiveItemEmit(option)\"\n [ngClass]=\"{\n disabled: option?.disabled,\n 'no-result':\n options.length === 1 &&\n options[0]?.name === 'No Results',\n active: option.id === activeItem?.id\n }\"\n class=\"dropdown-option dropdown-double-column load-dispatches-ttd-template\"\n >\n <!-- No Results -->\n <ng-container\n *ngIf=\"\n options.length === 1 &&\n options[0]?.name === 'No Results'\n \"\n >\n <div\n [innerHtml]=\"\n option?.name\n | caHighlight\n : [\n {\n index: 45632,\n text: getSuperControl?.value\n }\n ]\n \"\n ></div>\n </ng-container>\n <!-- Truck -->\n <ng-container *ngIf=\"options[0]?.name !== 'No Results'\">\n <div\n class=\"load-dispatches-container {{\n option?.truck?.subFolder\n }} {{\n option?.truck?.truckType?.name\n ?.trim()\n ?.replace(' ', '')\n ?.toLowerCase()\n }}\"\n >\n <svg-icon\n class=\"load-dispatches-svg\"\n [src]=\"\n option.truck?.logoName ?\n inputDropdownSvgRoutes.trucksSvgRoute +\n option.truck?.logoName : ''\n \"\n ></svg-icon>\n <div\n [innerHtml]=\"\n option?.truck?.name\n | caHighlight\n : [\n {\n index: 45632,\n text: getSuperControl?.value\n }\n ]\n \"\n class=\"load-dispatch-truck\"\n ></div>\n <!-- Percentage is driver owner -->\n <ng-container *ngIf=\"option.driver?.owner && option?.payType\">\n <span\n [ngClass]=\"{\n 'driver-owner': option.driver?.owner,\n active: indx === activeItem?.itemIndex\n }\"\n class=\"load-dispatch-driver-rate\"\n >\n {{ option?.payType }}\n </span>\n </ng-container>\n </div>\n </ng-container>\n \n <!-- Trailer -->\n <ng-container *ngIf=\"options[0]?.name !== 'No Results'\">\n <div\n class=\"load-dispatches-container {{\n option?.trailer?.subFolder\n }} {{\n option?.trailer?.trailerType?.name\n ?.trim()\n ?.replace(' ', '')\n ?.toLowerCase()\n }}\"\n [ngClass]=\"{\n trailerContainer: option?.trailer?.logoType\n ? option?.trailer?.logoType\n ?.trim()\n ?.replace(' ', '') === 'Container'\n : false,\n lowboyrgn: option?.trailer?.logoType\n ? option?.trailer?.logoType\n ?.trim()\n ?.replace(' ', '') === 'Low Boy / RGN'\n : false\n }\"\n >\n <svg-icon\n class=\"load-dispatches-svg\"\n [src]=\"\n option?.trailer?.logoName ?\n inputDropdownSvgRoutes.trailersSvgRoute +\n option?.trailer?.logoName : ''\n \"\n ></svg-icon>\n <div\n [innerHtml]=\"\n option?.trailer?.name\n | caHighlight\n : [\n {\n index: 45632,\n text: getSuperControl?.value\n }\n ]\n \"\n class=\"load-dispatch-trailer\"\n ></div>\n </div>\n </ng-container>\n \n <!-- Driver -->\n <ng-container *ngIf=\"options[0]?.name !== 'No Results'\">\n <div class=\"load-dispatches-container\">\n <ng-container *ngIf=\"option?.driver?.logoName\">\n <img\n [alt]=\"option?.driver?.name\"\n [ngClass]=\"{\n active:\n option.driver?.id ===\n activeItem?.driver?.id\n }\"\n [src]=\"option?.driver?.logoName\"\n class=\"svg-template-logo\"\n />\n </ng-container>\n \n <ng-container *ngIf=\"!option.driver?.logoName\">\n <div class=\"no-profile-image\">\n <app-ca-profile-image\n [indx]=\"0\"\n [name]=\"option.driver?.name!\"\n [size]=\"'small'\"\n >\n </app-ca-profile-image>\n </div>\n </ng-container>\n \n <ng-container\n *ngIf=\"\n options[0]?.name !== 'No Results' &&\n option.driver?.owner\n \"\n >\n <img\n alt=\"avatar\"\n [src]=\"inputDropdownSvgRoutes.ownerBadgeBlackSvg\"\n class=\"owner-avatar\"\n />\n </ng-container>\n <div\n [innerHtml]=\"\n option.driver?.name\n | caHighlight\n : [\n {\n index: 45632,\n text: getSuperControl?.value\n }\n ]\n \"\n class=\"load-dispatch-driver\"\n ></div>\n </div>\n </ng-container>\n <!-- Percentage is not driver owner -->\n <ng-container\n *ngIf=\"\n options[0]?.name !== 'No Results' && option?.payType\n \"\n >\n <span\n [ngClass]=\"{\n active: indx === activeItem?.itemIndex\n }\"\n class=\"load-dispatch-driver-rate\"\n >\n {{ option?.payType }}\n </span>\n </ng-container>\n </div>\n</ng-container>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: AngularSvgIconModule }, { kind: "component", type: i2.SvgIconComponent, selector: "svg-icon", inputs: ["src", "name", "stretch", "applyClass", "applyCss", "svgClass", "class", "viewBox", "svgAriaLabel", "svgStyle"] }, { kind: "component", type:
27
27
  // Component
28
- CaProfileImageComponent, selector: "app-ca-profile-image", inputs: ["indx", "avatarImg", "avatarColor", "textShortName", "name", "isRound", "size", "fontSize", "isHoverEffect"] }, { kind: "pipe", type:
28
+ CaProfileImageComponent, selector: "app-ca-profile-image", inputs: ["indx", "avatarImg", "avatarColor", "textShortName", "name", "isRound", "size", "height", "fontSize", "isHoverEffect"] }, { kind: "pipe", type:
29
29
  // Pipe
30
30
  HighlightSearchPipe, name: "caHighlight" }] }); }
31
31
  }
@@ -28,7 +28,7 @@ export class CaInputDropdownSvgtextDispatchTemplateComponent {
28
28
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CaInputDropdownSvgtextDispatchTemplateComponent, deps: [{ token: i1.ImageBase64Service }], target: i0.ɵɵFactoryTarget.Component }); }
29
29
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CaInputDropdownSvgtextDispatchTemplateComponent, isStandalone: true, selector: "app-ca-input-dropdown-svgtext-dispatch-template", inputs: { options: "options", activeItem: "activeItem", getSuperControl: "getSuperControl", inputConfig: "inputConfig" }, outputs: { onActiveItem: "onActiveItem" }, ngImport: i0, template: "<div\n (click)=\"onActiveItemEmit(option)\"\n *ngFor=\"let option of options; trackBy: identity\"\n [ngClass]=\"{\n disabled: option?.disabled,\n 'no-result': option?.name === 'No Results',\n 'add-new': option?.name === 'ADD NEW',\n active: option.id === activeItem?.id,\n 'all-assigned':\n option?.name?.toLowerCase() === 'all assigned',\n trailerContainer: option?.name === 'Container',\n lowboyrgn: option?.name === 'Low Boy / RGN'\n }\"\n class=\"dropdown-option svg-text-template {{\n option?.subFolder\n }} {{\n option?.name?.trim()?.replace(' ', '')?.toLowerCase()\n }} {{ inputConfig.customClass }}\"\n >\n <ng-container *ngIf=\"!option?.isDriver\">\n <svg-icon\n [ngClass]=\"{\n active: option.id === activeItem?.id,\n 'no-svg': !option?.logoName,\n 'hazardous-svg':\n option?.logoName?.includes('hazardous'),\n 'truck-trailer-logo':\n inputConfig.customClass ===\n 'truck-trailer-dropdown',\n blue: option.class === 'blue',\n yellow: option.class === 'yellow',\n green: option.class === 'green',\n red: option.class === 'red'\n }\"\n [src]=\"\n option?.logoName\n | caSvg : option?.folder : option?.subFolder\n \"\n class=\"icon svgtext-template-logo {{\n option?.name?.trim()?.replace(' ', '')?.toLowerCase()\n }}\"\n ></svg-icon>\n </ng-container>\n\n <ng-container *ngIf=\"option.logoName && option?.isDriver\">\n <img\n [alt]=\"option?.name\"\n [ngClass]=\"{\n active: option.id === activeItem?.id\n }\"\n [src]=\"\n imageBase64Service.sanitizer(option.logoName)\n \"\n [ngStyle]=\"{ 'margin-right': '6px' }\"\n class=\"svg-template-logo\"\n />\n </ng-container>\n\n <ng-container *ngIf=\"!option.logoName && option?.isDriver\">\n <div\n class=\"no-profile-image\"\n [ngStyle]=\"{ 'margin-right': '6px' }\"\n >\n <app-ca-profile-image\n [indx]=\"0\"\n [name]=\"option?.name!\"\n [size]=\"'small'\"\n >\n </app-ca-profile-image>\n </div>\n </ng-container>\n\n <!-- Text -->\n\n <div\n [innerHtml]=\"\n option?.number\n ? (option.number\n | caHighlight\n : [\n {\n index: 45632,\n text: getSuperControl?.value\n }\n ])\n : (option?.name\n | caHighlight\n : [\n {\n index: 45632,\n text: getSuperControl?.value\n }\n ])\n \"\n [ngClass]=\"{\n 'truck-text': option?.subFolder === 'trucks',\n 'flex-1': option?.additionalText\n }\"\n class=\"svgtext-template-text\"\n ></div>\n\n <!-- Additional Text -->\n\n <ng-container *ngIf=\"option?.additionalText\">\n <div\n [innerHtml]=\"\n option.additionalText\n | caHighlight\n : [\n {\n index: 45632,\n text: getSuperControl?.value\n }\n ]\n \"\n class=\"svgtext-template-text additional-text\"\n ></div>\n </ng-container>\n\n <!-- Plus Icon -->\n\n <ng-container *ngIf=\"option?.name === 'ADD NEW'\">\n <svg-icon\n class=\"plus-icon\"\n [src]=\"inputDropdownSvgRoutes.plusSvg\"\n [svgStyle]=\"{\n 'width.px': '14',\n 'height.px': '14'\n }\"\n ></svg-icon>\n </ng-container>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: AngularSvgIconModule }, { kind: "component", type: i3.SvgIconComponent, selector: "svg-icon", inputs: ["src", "name", "stretch", "applyClass", "applyCss", "svgClass", "class", "viewBox", "svgAriaLabel", "svgStyle"] }, { kind: "component", type:
30
30
  // Component
31
- CaProfileImageComponent, selector: "app-ca-profile-image", inputs: ["indx", "avatarImg", "avatarColor", "textShortName", "name", "isRound", "size", "fontSize", "isHoverEffect"] }, { kind: "pipe", type:
31
+ CaProfileImageComponent, selector: "app-ca-profile-image", inputs: ["indx", "avatarImg", "avatarColor", "textShortName", "name", "isRound", "size", "height", "fontSize", "isHoverEffect"] }, { kind: "pipe", type:
32
32
  // Pipe
33
33
  HighlightSearchPipe, name: "caHighlight" }, { kind: "pipe", type: CaSvgPipe, name: "caSvg" }] }); }
34
34
  }
@@ -31,7 +31,7 @@ export class CaInputDropdownSvgtextTemplateComponent {
31
31
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CaInputDropdownSvgtextTemplateComponent, deps: [{ token: i1.ImageBase64Service }], target: i0.ɵɵFactoryTarget.Component }); }
32
32
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CaInputDropdownSvgtextTemplateComponent, isStandalone: true, selector: "app-ca-input-dropdown-svgtext-template", inputs: { options: "options", activeItem: "activeItem", getSuperControl: "getSuperControl", inputConfig: "inputConfig" }, outputs: { onActiveItem: "onActiveItem" }, ngImport: i0, template: "<ng-container *ngFor=\"let option of options; trackBy: identity\">\n <div\n (click)=\"onActiveItemEmit(option)\"\n [ngClass]=\"\n option | inputDropdownSvgtextTemplateContainer: options \n : activeItem\n \"\n class=\"dropdown-option svg-text-template {{\n option?.subFolder\n }} {{\n option?.name?.trim()?.replace(' ', '')?.toLowerCase()\n }} {{ inputConfig.customClass }}\"\n >\n <ng-container *ngIf=\"!option?.isDriver\">\n <svg-icon\n [ngClass]=\"\n option | inputDropdownSvgtextTemplateIcon: activeItem : \n inputConfig\n \"\n [src]=\"\n option?.logoName\n | caSvg : option?.folder : option?.subFolder\n \"\n class=\"svgtext-template-logo {{\n option?.name?.trim()?.replace(' ', '')?.toLowerCase()\n }}\"\n ></svg-icon>\n </ng-container>\n \n <ng-container *ngIf=\"option.logoName && option?.isDriver\">\n <img\n [alt]=\"option?.name\"\n [ngClass]=\"{\n active: option.id === activeItem?.id\n }\"\n [src]=\"\n this.imageBase64Service.sanitizer(option.logoName)\n \"\n [ngStyle]=\"{ 'margin-right': '6px' }\"\n class=\"svg-template-logo\"\n />\n </ng-container>\n \n <ng-container *ngIf=\"!option.logoName && option?.isDriver\">\n <div\n class=\"no-profile-image\"\n [ngStyle]=\"{ 'margin-right': '6px' }\"\n >\n <app-ca-profile-image\n [indx]=\"0\"\n [name]=\"option?.name!\"\n [size]=\"'small'\"\n >\n </app-ca-profile-image>\n </div>\n </ng-container>\n \n <!-- Text -->\n <ng-container *ngIf=\"inputConfig.statusStyle\">\n <ca-load-status-string\n [status]=\"option\"\n ></ca-load-status-string>\n </ng-container>\n \n <ng-container *ngIf=\"!inputConfig.statusStyle\">\n <div\n [innerHtml]=\"\n option?.number\n ? (option.number\n | caHighlight\n : [\n {\n index: 45632,\n text: getSuperControl?.value\n }\n ])\n : (option?.name\n | caHighlight\n : [\n {\n index: 45632,\n text: getSuperControl?.value\n }\n ])\n \"\n [ngClass]=\"{\n 'truck-text': option?.subFolder === 'trucks',\n 'flex-1': option?.additionalText\n }\"\n [ngStyle]=\"\n true ? (option?.name! | loadStatusColor) : {}\n \"\n class=\"svgtext-template-text\"\n ></div>\n </ng-container>\n \n <!-- Additional Text -->\n <ng-container *ngIf=\"option?.additionalText\">\n <div\n [innerHtml]=\"\n option.additionalText\n | caHighlight\n : [\n {\n index: 45632,\n text: getSuperControl?.value\n }\n ]\n \"\n class=\"svgtext-template-text additional-text\"\n ></div>\n </ng-container>\n \n <!-- Plus Icon -->\n \n <ng-container *ngIf=\"option?.name === 'ADD NEW'\">\n <svg-icon\n class=\"plus-icon\"\n [src]=\"inputDropdownSvgRoutes.plusSvg\"\n [svgStyle]=\"{\n 'width.px': '14',\n 'height.px': '14'\n }\"\n ></svg-icon>\n </ng-container>\n </div>\n</ng-container>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: AngularSvgIconModule }, { kind: "component", type: i3.SvgIconComponent, selector: "svg-icon", inputs: ["src", "name", "stretch", "applyClass", "applyCss", "svgClass", "class", "viewBox", "svgAriaLabel", "svgStyle"] }, { kind: "component", type:
33
33
  // Component
34
- CaProfileImageComponent, selector: "app-ca-profile-image", inputs: ["indx", "avatarImg", "avatarColor", "textShortName", "name", "isRound", "size", "fontSize", "isHoverEffect"] }, { kind: "component", type: CaLoadStatusStringComponent, selector: "ca-load-status-string", inputs: ["status", "justifyStart", "isDetailsLayout", "isDispatchHistoryModalLayout", "isDropdownColor", "statusOrder", "isDispatch", "isDarkColor"] }, { kind: "pipe", type:
34
+ CaProfileImageComponent, selector: "app-ca-profile-image", inputs: ["indx", "avatarImg", "avatarColor", "textShortName", "name", "isRound", "size", "height", "fontSize", "isHoverEffect"] }, { kind: "component", type: CaLoadStatusStringComponent, selector: "ca-load-status-string", inputs: ["status", "justifyStart", "isDetailsLayout", "isDispatchHistoryModalLayout", "isDropdownColor", "statusOrder", "isDispatch", "isDarkColor"] }, { kind: "pipe", type:
35
35
  // Pipe
36
36
  HighlightSearchPipe, name: "caHighlight" }, { kind: "pipe", type: CaSvgPipe, name: "caSvg" }, { kind: "pipe", type: LoadStatusColorPipe, name: "loadStatusColor" }, { kind: "pipe", type: InputDropdownSvgtextTemplateIconPipe, name: "inputDropdownSvgtextTemplateIcon" }, { kind: "pipe", type: InputDropdownSvgtextTemplateContainerPipe, name: "inputDropdownSvgtextTemplateContainer" }] }); }
37
37
  }
@@ -61,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
61
61
  }], onActiveItem: [{
62
62
  type: Output
63
63
  }] } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtaW5wdXQtZHJvcGRvd24tc3ZndGV4dC10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1pbnB1dC1kcm9wZG93bi9jb21wb25lbnRzL2NhLWlucHV0LWRyb3Bkb3duLXN2Z3RleHQtdGVtcGxhdGUvY2EtaW5wdXQtZHJvcGRvd24tc3ZndGV4dC10ZW1wbGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1pbnB1dC1kcm9wZG93bi9jb21wb25lbnRzL2NhLWlucHV0LWRyb3Bkb3duLXN2Z3RleHQtdGVtcGxhdGUvY2EtaW5wdXQtZHJvcGRvd24tc3ZndGV4dC10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd2RSxRQUFRO0FBQ1IsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQy9FLE9BQU8sRUFDTCx5Q0FBeUMsRUFDekMsb0NBQW9DLEdBQ3JDLE1BQU0sYUFBYSxDQUFDO0FBRXJCLFlBQVk7QUFDWixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUMvRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQU03RyxVQUFVO0FBQ1YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFeEQsYUFBYTtBQUNiLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOzs7OztBQTBCMUYsTUFBTSxPQUFPLHVDQUF1QztJQVVsRCxZQUFtQixrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUovQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7UUFFbEQsMkJBQXNCLEdBQUcsc0JBQXNCLENBQUM7SUFFSyxDQUFDO0lBRXRELFFBQVEsQ0FBQyxLQUFhLEVBQUUsSUFBaUI7UUFDOUMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxNQUFtQjtRQUN6QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDOytHQWxCVSx1Q0FBdUM7bUdBQXZDLHVDQUF1Qyx1UUNuRHBELHcvR0E4SGUseUREMUZYLFlBQVksa2JBQ1osb0JBQW9CO2dCQUVwQixZQUFZO2dCQUNaLHVCQUF1Qix3TEFDdkIsMkJBQTJCO2dCQUUzQixPQUFPO2dCQUNQLG1CQUFtQiwrQ0FDbkIsU0FBUyx5Q0FDVCxtQkFBbUIsbURBQ25CLG9DQUFvQyxvRUFDcEMseUNBQXlDOzs0RkFHaEMsdUNBQXVDO2tCQXJCbkQsU0FBUzsrQkFDRSx3Q0FBd0MsY0FHdEMsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osb0JBQW9CO3dCQUVwQixZQUFZO3dCQUNaLHVCQUF1Qjt3QkFDdkIsMkJBQTJCO3dCQUUzQixPQUFPO3dCQUNQLG1CQUFtQjt3QkFDbkIsU0FBUzt3QkFDVCxtQkFBbUI7d0JBQ25CLG9DQUFvQzt3QkFDcEMseUNBQXlDO3FCQUMxQzt5R0FHUSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vLyBwaXBlc1xuaW1wb3J0IHsgSGlnaGxpZ2h0U2VhcmNoUGlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL3BpcGVzL2hpZ2hsaWdodC1zZWFyY2gucGlwZSc7XG5pbXBvcnQgeyBDYVN2Z1BpcGUgfSBmcm9tICcuLi8uLi8uLi8uLi9waXBlcy9jYS1zdmcucGlwZSc7XG5pbXBvcnQgeyBMb2FkU3RhdHVzQ29sb3JQaXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vcGlwZXMvbG9hZC1zdGF0dXMtY29sb3IucGlwZSc7XG5pbXBvcnQge1xuICBJbnB1dERyb3Bkb3duU3ZndGV4dFRlbXBsYXRlQ29udGFpbmVyUGlwZSxcbiAgSW5wdXREcm9wZG93blN2Z3RleHRUZW1wbGF0ZUljb25QaXBlLFxufSBmcm9tICcuLi8uLi9waXBlcyc7XG5cbi8vIGNvbXBvbmVudFxuaW1wb3J0IHsgQ2FQcm9maWxlSW1hZ2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jYS1wcm9maWxlLWltYWdlL2NhLXByb2ZpbGUtaW1hZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IENhTG9hZFN0YXR1c1N0cmluZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NhLWxvYWQtc3RhdHVzLXN0cmluZy9jYS1sb2FkLXN0YXR1cy1zdHJpbmcuY29tcG9uZW50JztcblxuLy8gbW9kZWxzXG5pbXBvcnQgeyBPcHRpb25Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9pbnB1dC1kcm9wZG93bi1vcHRpb24ubW9kZWwnO1xuaW1wb3J0IHsgSUNhSW5wdXQgfSBmcm9tICcuLi8uLi8uLi9jYS1pbnB1dC9jb25maWcnO1xuXG4vLyBtb2R1bGVzXG5pbXBvcnQgeyBBbmd1bGFyU3ZnSWNvbk1vZHVsZSB9IGZyb20gJ2FuZ3VsYXItc3ZnLWljb24nO1xuXG4vLyBzdmcgcm91dGVzXG5pbXBvcnQgeyBJbnB1dERyb3Bkb3duU3ZnUm91dGVzIH0gZnJvbSAnLi4vLi4vdXRpbHMvc3ZnLXJvdXRlcy9pbnB1dC1kcm9wZG93bi1zdmctcm91dGVzJztcblxuLy8gc2VydmljZXNcbmltcG9ydCB7IEltYWdlQmFzZTY0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2ltYWdlLWJhc2U2NC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNhLWlucHV0LWRyb3Bkb3duLXN2Z3RleHQtdGVtcGxhdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2EtaW5wdXQtZHJvcGRvd24tc3ZndGV4dC10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhLWlucHV0LWRyb3Bkb3duLXN2Z3RleHQtdGVtcGxhdGUuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBBbmd1bGFyU3ZnSWNvbk1vZHVsZSxcblxuICAgIC8vIENvbXBvbmVudFxuICAgIENhUHJvZmlsZUltYWdlQ29tcG9uZW50LFxuICAgIENhTG9hZFN0YXR1c1N0cmluZ0NvbXBvbmVudCxcblxuICAgIC8vIFBpcGVcbiAgICBIaWdobGlnaHRTZWFyY2hQaXBlLFxuICAgIENhU3ZnUGlwZSxcbiAgICBMb2FkU3RhdHVzQ29sb3JQaXBlLFxuICAgIElucHV0RHJvcGRvd25Tdmd0ZXh0VGVtcGxhdGVJY29uUGlwZSxcbiAgICBJbnB1dERyb3Bkb3duU3ZndGV4dFRlbXBsYXRlQ29udGFpbmVyUGlwZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FJbnB1dERyb3Bkb3duU3ZndGV4dFRlbXBsYXRlQ29tcG9uZW50IHtcbiAgQElucHV0KCkgb3B0aW9ucyE6IE9wdGlvbk1vZGVsW107XG4gIEBJbnB1dCgpIGFjdGl2ZUl0ZW0hOiBPcHRpb25Nb2RlbCB8IG51bGw7XG4gIEBJbnB1dCgpIGdldFN1cGVyQ29udHJvbCE6IEFic3RyYWN0Q29udHJvbDxhbnksIGFueT4gfCBudWxsO1xuICBASW5wdXQoKSBpbnB1dENvbmZpZyE6IElDYUlucHV0O1xuXG4gIEBPdXRwdXQoKSBvbkFjdGl2ZUl0ZW0gPSBuZXcgRXZlbnRFbWl0dGVyPE9wdGlvbk1vZGVsPigpO1xuXG4gIHB1YmxpYyBpbnB1dERyb3Bkb3duU3ZnUm91dGVzID0gSW5wdXREcm9wZG93blN2Z1JvdXRlcztcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaW1hZ2VCYXNlNjRTZXJ2aWNlOiBJbWFnZUJhc2U2NFNlcnZpY2UpIHt9XG5cbiAgcHVibGljIGlkZW50aXR5KGluZGV4OiBudW1iZXIsIGl0ZW06IE9wdGlvbk1vZGVsKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gaXRlbS5pZDtcbiAgfVxuXG4gIHB1YmxpYyBvbkFjdGl2ZUl0ZW1FbWl0KG9wdGlvbjogT3B0aW9uTW9kZWwpOiB2b2lkIHtcbiAgICB0aGlzLm9uQWN0aXZlSXRlbS5lbWl0KG9wdGlvbik7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zOyB0cmFja0J5OiBpZGVudGl0eVwiPlxuICA8ZGl2XG4gICAgKGNsaWNrKT1cIm9uQWN0aXZlSXRlbUVtaXQob3B0aW9uKVwiXG4gICAgW25nQ2xhc3NdPVwiXG4gICAgICBvcHRpb24gfCBpbnB1dERyb3Bkb3duU3ZndGV4dFRlbXBsYXRlQ29udGFpbmVyOiBvcHRpb25zIFxuICAgICAgOiBhY3RpdmVJdGVtXG4gICAgXCJcbiAgICBjbGFzcz1cImRyb3Bkb3duLW9wdGlvbiBzdmctdGV4dC10ZW1wbGF0ZSB7e1xuICAgICAgb3B0aW9uPy5zdWJGb2xkZXJcbiAgICB9fSB7e1xuICAgICAgb3B0aW9uPy5uYW1lPy50cmltKCk/LnJlcGxhY2UoJyAnLCAnJyk/LnRvTG93ZXJDYXNlKClcbiAgICB9fSB7eyBpbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fVwiXG4gICAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhb3B0aW9uPy5pc0RyaXZlclwiPlxuICAgICAgPHN2Zy1pY29uXG4gICAgICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICAgIG9wdGlvbiB8IGlucHV0RHJvcGRvd25Tdmd0ZXh0VGVtcGxhdGVJY29uOiBhY3RpdmVJdGVtIDogXG4gICAgICAgICAgaW5wdXRDb25maWdcbiAgICAgICAgXCJcbiAgICAgICAgW3NyY109XCJcbiAgICAgICAgICBvcHRpb24/LmxvZ29OYW1lXG4gICAgICAgICAgICB8IGNhU3ZnIDogb3B0aW9uPy5mb2xkZXIgOiBvcHRpb24/LnN1YkZvbGRlclxuICAgICAgICBcIlxuICAgICAgICBjbGFzcz1cInN2Z3RleHQtdGVtcGxhdGUtbG9nbyB7e1xuICAgICAgICAgIG9wdGlvbj8ubmFtZT8udHJpbSgpPy5yZXBsYWNlKCcgJywgJycpPy50b0xvd2VyQ2FzZSgpXG4gICAgICAgIH19XCJcbiAgICAgID48L3N2Zy1pY29uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICBcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib3B0aW9uLmxvZ29OYW1lICYmIG9wdGlvbj8uaXNEcml2ZXJcIj5cbiAgICAgIDxpbWdcbiAgICAgICAgW2FsdF09XCJvcHRpb24/Lm5hbWVcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgYWN0aXZlOiBvcHRpb24uaWQgPT09IGFjdGl2ZUl0ZW0/LmlkXG4gICAgICAgIH1cIlxuICAgICAgICBbc3JjXT1cIlxuICAgICAgICAgIHRoaXMuaW1hZ2VCYXNlNjRTZXJ2aWNlLnNhbml0aXplcihvcHRpb24ubG9nb05hbWUpXG4gICAgICAgIFwiXG4gICAgICAgIFtuZ1N0eWxlXT1cInsgJ21hcmdpbi1yaWdodCc6ICc2cHgnIH1cIlxuICAgICAgICBjbGFzcz1cInN2Zy10ZW1wbGF0ZS1sb2dvXCJcbiAgICAgIC8+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIFxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhb3B0aW9uLmxvZ29OYW1lICYmIG9wdGlvbj8uaXNEcml2ZXJcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJuby1wcm9maWxlLWltYWdlXCJcbiAgICAgICAgW25nU3R5bGVdPVwieyAnbWFyZ2luLXJpZ2h0JzogJzZweCcgfVwiXG4gICAgICA+XG4gICAgICAgIDxhcHAtY2EtcHJvZmlsZS1pbWFnZVxuICAgICAgICAgIFtpbmR4XT1cIjBcIlxuICAgICAgICAgIFtuYW1lXT1cIm9wdGlvbj8ubmFtZSFcIlxuICAgICAgICAgIFtzaXplXT1cIidzbWFsbCdcIlxuICAgICAgICA+XG4gICAgICAgIDwvYXBwLWNhLXByb2ZpbGUtaW1hZ2U+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgXG4gICAgPCEtLSBUZXh0IC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbnB1dENvbmZpZy5zdGF0dXNTdHlsZVwiPlxuICAgICAgPGNhLWxvYWQtc3RhdHVzLXN0cmluZ1xuICAgICAgICBbc3RhdHVzXT1cIm9wdGlvblwiXG4gICAgICA+PC9jYS1sb2FkLXN0YXR1cy1zdHJpbmc+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIFxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaW5wdXRDb25maWcuc3RhdHVzU3R5bGVcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgW2lubmVySHRtbF09XCJcbiAgICAgICAgICBvcHRpb24/Lm51bWJlclxuICAgICAgICAgICAgPyAob3B0aW9uLm51bWJlclxuICAgICAgICAgICAgICB8IGNhSGlnaGxpZ2h0XG4gICAgICAgICAgICAgICAgOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBpbmRleDogNDU2MzIsXG4gICAgICAgICAgICAgICAgICAgICAgdGV4dDogZ2V0U3VwZXJDb250cm9sPy52YWx1ZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgOiAob3B0aW9uPy5uYW1lXG4gICAgICAgICAgICAgIHwgY2FIaWdobGlnaHRcbiAgICAgICAgICAgICAgICA6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIGluZGV4OiA0NTYzMixcbiAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiBnZXRTdXBlckNvbnRyb2w/LnZhbHVlXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgIFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAndHJ1Y2stdGV4dCc6IG9wdGlvbj8uc3ViRm9sZGVyID09PSAndHJ1Y2tzJyxcbiAgICAgICAgICAnZmxleC0xJzogb3B0aW9uPy5hZGRpdGlvbmFsVGV4dFxuICAgICAgICB9XCJcbiAgICAgICAgW25nU3R5bGVdPVwiXG4gICAgICAgICAgdHJ1ZSA/IChvcHRpb24/Lm5hbWUhIHwgbG9hZFN0YXR1c0NvbG9yKSA6IHt9XG4gICAgICAgIFwiXG4gICAgICAgIGNsYXNzPVwic3ZndGV4dC10ZW1wbGF0ZS10ZXh0XCJcbiAgICAgID48L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgXG4gICAgPCEtLSBBZGRpdGlvbmFsIFRleHQgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9wdGlvbj8uYWRkaXRpb25hbFRleHRcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgW2lubmVySHRtbF09XCJcbiAgICAgICAgICBvcHRpb24uYWRkaXRpb25hbFRleHRcbiAgICAgICAgICAgIHwgY2FIaWdobGlnaHRcbiAgICAgICAgICAgICAgOiBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGluZGV4OiA0NTYzMixcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogZ2V0U3VwZXJDb250cm9sPy52YWx1ZVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgXCJcbiAgICAgICAgY2xhc3M9XCJzdmd0ZXh0LXRlbXBsYXRlLXRleHQgYWRkaXRpb25hbC10ZXh0XCJcbiAgICAgID48L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgXG4gICAgPCEtLSBQbHVzIEljb24gLS0+XG4gIFxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvcHRpb24/Lm5hbWUgPT09ICdBREQgTkVXJ1wiPlxuICAgICAgPHN2Zy1pY29uXG4gICAgICAgIGNsYXNzPVwicGx1cy1pY29uXCJcbiAgICAgICAgW3NyY109XCJpbnB1dERyb3Bkb3duU3ZnUm91dGVzLnBsdXNTdmdcIlxuICAgICAgICBbc3ZnU3R5bGVdPVwie1xuICAgICAgICAgICd3aWR0aC5weCc6ICcxNCcsXG4gICAgICAgICAgJ2hlaWdodC5weCc6ICcxNCdcbiAgICAgICAgfVwiXG4gICAgICA+PC9zdmctaWNvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj4iXX0=
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtaW5wdXQtZHJvcGRvd24tc3ZndGV4dC10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1pbnB1dC1kcm9wZG93bi9jb21wb25lbnRzL2NhLWlucHV0LWRyb3Bkb3duLXN2Z3RleHQtdGVtcGxhdGUvY2EtaW5wdXQtZHJvcGRvd24tc3ZndGV4dC10ZW1wbGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1pbnB1dC1kcm9wZG93bi9jb21wb25lbnRzL2NhLWlucHV0LWRyb3Bkb3duLXN2Z3RleHQtdGVtcGxhdGUvY2EtaW5wdXQtZHJvcGRvd24tc3ZndGV4dC10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd2RSxRQUFRO0FBQ1IsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQy9FLE9BQU8sRUFDTCx5Q0FBeUMsRUFDekMsb0NBQW9DLEdBQ3JDLE1BQU0sYUFBYSxDQUFDO0FBRXJCLFlBQVk7QUFDWixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUMvRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQU03RyxVQUFVO0FBQ1YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFeEQsYUFBYTtBQUNiLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOzs7OztBQTBCMUYsTUFBTSxPQUFPLHVDQUF1QztJQVVsRCxZQUFtQixrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUovQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7UUFFbEQsMkJBQXNCLEdBQUcsc0JBQXNCLENBQUM7SUFFSyxDQUFDO0lBRXRELFFBQVEsQ0FBQyxLQUFhLEVBQUUsSUFBaUI7UUFDOUMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxNQUFtQjtRQUN6QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDOytHQWxCVSx1Q0FBdUM7bUdBQXZDLHVDQUF1Qyx1UUNuRHBELHcvR0E4SGUseUREMUZYLFlBQVksa2JBQ1osb0JBQW9CO2dCQUVwQixZQUFZO2dCQUNaLHVCQUF1QixrTUFDdkIsMkJBQTJCO2dCQUUzQixPQUFPO2dCQUNQLG1CQUFtQiwrQ0FDbkIsU0FBUyx5Q0FDVCxtQkFBbUIsbURBQ25CLG9DQUFvQyxvRUFDcEMseUNBQXlDOzs0RkFHaEMsdUNBQXVDO2tCQXJCbkQsU0FBUzsrQkFDRSx3Q0FBd0MsY0FHdEMsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osb0JBQW9CO3dCQUVwQixZQUFZO3dCQUNaLHVCQUF1Qjt3QkFDdkIsMkJBQTJCO3dCQUUzQixPQUFPO3dCQUNQLG1CQUFtQjt3QkFDbkIsU0FBUzt3QkFDVCxtQkFBbUI7d0JBQ25CLG9DQUFvQzt3QkFDcEMseUNBQXlDO3FCQUMxQzt5R0FHUSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vLyBwaXBlc1xuaW1wb3J0IHsgSGlnaGxpZ2h0U2VhcmNoUGlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL3BpcGVzL2hpZ2hsaWdodC1zZWFyY2gucGlwZSc7XG5pbXBvcnQgeyBDYVN2Z1BpcGUgfSBmcm9tICcuLi8uLi8uLi8uLi9waXBlcy9jYS1zdmcucGlwZSc7XG5pbXBvcnQgeyBMb2FkU3RhdHVzQ29sb3JQaXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vcGlwZXMvbG9hZC1zdGF0dXMtY29sb3IucGlwZSc7XG5pbXBvcnQge1xuICBJbnB1dERyb3Bkb3duU3ZndGV4dFRlbXBsYXRlQ29udGFpbmVyUGlwZSxcbiAgSW5wdXREcm9wZG93blN2Z3RleHRUZW1wbGF0ZUljb25QaXBlLFxufSBmcm9tICcuLi8uLi9waXBlcyc7XG5cbi8vIGNvbXBvbmVudFxuaW1wb3J0IHsgQ2FQcm9maWxlSW1hZ2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jYS1wcm9maWxlLWltYWdlL2NhLXByb2ZpbGUtaW1hZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IENhTG9hZFN0YXR1c1N0cmluZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NhLWxvYWQtc3RhdHVzLXN0cmluZy9jYS1sb2FkLXN0YXR1cy1zdHJpbmcuY29tcG9uZW50JztcblxuLy8gbW9kZWxzXG5pbXBvcnQgeyBPcHRpb25Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9pbnB1dC1kcm9wZG93bi1vcHRpb24ubW9kZWwnO1xuaW1wb3J0IHsgSUNhSW5wdXQgfSBmcm9tICcuLi8uLi8uLi9jYS1pbnB1dC9jb25maWcnO1xuXG4vLyBtb2R1bGVzXG5pbXBvcnQgeyBBbmd1bGFyU3ZnSWNvbk1vZHVsZSB9IGZyb20gJ2FuZ3VsYXItc3ZnLWljb24nO1xuXG4vLyBzdmcgcm91dGVzXG5pbXBvcnQgeyBJbnB1dERyb3Bkb3duU3ZnUm91dGVzIH0gZnJvbSAnLi4vLi4vdXRpbHMvc3ZnLXJvdXRlcy9pbnB1dC1kcm9wZG93bi1zdmctcm91dGVzJztcblxuLy8gc2VydmljZXNcbmltcG9ydCB7IEltYWdlQmFzZTY0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2ltYWdlLWJhc2U2NC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNhLWlucHV0LWRyb3Bkb3duLXN2Z3RleHQtdGVtcGxhdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2EtaW5wdXQtZHJvcGRvd24tc3ZndGV4dC10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhLWlucHV0LWRyb3Bkb3duLXN2Z3RleHQtdGVtcGxhdGUuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBBbmd1bGFyU3ZnSWNvbk1vZHVsZSxcblxuICAgIC8vIENvbXBvbmVudFxuICAgIENhUHJvZmlsZUltYWdlQ29tcG9uZW50LFxuICAgIENhTG9hZFN0YXR1c1N0cmluZ0NvbXBvbmVudCxcblxuICAgIC8vIFBpcGVcbiAgICBIaWdobGlnaHRTZWFyY2hQaXBlLFxuICAgIENhU3ZnUGlwZSxcbiAgICBMb2FkU3RhdHVzQ29sb3JQaXBlLFxuICAgIElucHV0RHJvcGRvd25Tdmd0ZXh0VGVtcGxhdGVJY29uUGlwZSxcbiAgICBJbnB1dERyb3Bkb3duU3ZndGV4dFRlbXBsYXRlQ29udGFpbmVyUGlwZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FJbnB1dERyb3Bkb3duU3ZndGV4dFRlbXBsYXRlQ29tcG9uZW50IHtcbiAgQElucHV0KCkgb3B0aW9ucyE6IE9wdGlvbk1vZGVsW107XG4gIEBJbnB1dCgpIGFjdGl2ZUl0ZW0hOiBPcHRpb25Nb2RlbCB8IG51bGw7XG4gIEBJbnB1dCgpIGdldFN1cGVyQ29udHJvbCE6IEFic3RyYWN0Q29udHJvbDxhbnksIGFueT4gfCBudWxsO1xuICBASW5wdXQoKSBpbnB1dENvbmZpZyE6IElDYUlucHV0O1xuXG4gIEBPdXRwdXQoKSBvbkFjdGl2ZUl0ZW0gPSBuZXcgRXZlbnRFbWl0dGVyPE9wdGlvbk1vZGVsPigpO1xuXG4gIHB1YmxpYyBpbnB1dERyb3Bkb3duU3ZnUm91dGVzID0gSW5wdXREcm9wZG93blN2Z1JvdXRlcztcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaW1hZ2VCYXNlNjRTZXJ2aWNlOiBJbWFnZUJhc2U2NFNlcnZpY2UpIHt9XG5cbiAgcHVibGljIGlkZW50aXR5KGluZGV4OiBudW1iZXIsIGl0ZW06IE9wdGlvbk1vZGVsKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gaXRlbS5pZDtcbiAgfVxuXG4gIHB1YmxpYyBvbkFjdGl2ZUl0ZW1FbWl0KG9wdGlvbjogT3B0aW9uTW9kZWwpOiB2b2lkIHtcbiAgICB0aGlzLm9uQWN0aXZlSXRlbS5lbWl0KG9wdGlvbik7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zOyB0cmFja0J5OiBpZGVudGl0eVwiPlxuICA8ZGl2XG4gICAgKGNsaWNrKT1cIm9uQWN0aXZlSXRlbUVtaXQob3B0aW9uKVwiXG4gICAgW25nQ2xhc3NdPVwiXG4gICAgICBvcHRpb24gfCBpbnB1dERyb3Bkb3duU3ZndGV4dFRlbXBsYXRlQ29udGFpbmVyOiBvcHRpb25zIFxuICAgICAgOiBhY3RpdmVJdGVtXG4gICAgXCJcbiAgICBjbGFzcz1cImRyb3Bkb3duLW9wdGlvbiBzdmctdGV4dC10ZW1wbGF0ZSB7e1xuICAgICAgb3B0aW9uPy5zdWJGb2xkZXJcbiAgICB9fSB7e1xuICAgICAgb3B0aW9uPy5uYW1lPy50cmltKCk/LnJlcGxhY2UoJyAnLCAnJyk/LnRvTG93ZXJDYXNlKClcbiAgICB9fSB7eyBpbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fVwiXG4gICAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhb3B0aW9uPy5pc0RyaXZlclwiPlxuICAgICAgPHN2Zy1pY29uXG4gICAgICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICAgIG9wdGlvbiB8IGlucHV0RHJvcGRvd25Tdmd0ZXh0VGVtcGxhdGVJY29uOiBhY3RpdmVJdGVtIDogXG4gICAgICAgICAgaW5wdXRDb25maWdcbiAgICAgICAgXCJcbiAgICAgICAgW3NyY109XCJcbiAgICAgICAgICBvcHRpb24/LmxvZ29OYW1lXG4gICAgICAgICAgICB8IGNhU3ZnIDogb3B0aW9uPy5mb2xkZXIgOiBvcHRpb24/LnN1YkZvbGRlclxuICAgICAgICBcIlxuICAgICAgICBjbGFzcz1cInN2Z3RleHQtdGVtcGxhdGUtbG9nbyB7e1xuICAgICAgICAgIG9wdGlvbj8ubmFtZT8udHJpbSgpPy5yZXBsYWNlKCcgJywgJycpPy50b0xvd2VyQ2FzZSgpXG4gICAgICAgIH19XCJcbiAgICAgID48L3N2Zy1pY29uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICBcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib3B0aW9uLmxvZ29OYW1lICYmIG9wdGlvbj8uaXNEcml2ZXJcIj5cbiAgICAgIDxpbWdcbiAgICAgICAgW2FsdF09XCJvcHRpb24/Lm5hbWVcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgYWN0aXZlOiBvcHRpb24uaWQgPT09IGFjdGl2ZUl0ZW0/LmlkXG4gICAgICAgIH1cIlxuICAgICAgICBbc3JjXT1cIlxuICAgICAgICAgIHRoaXMuaW1hZ2VCYXNlNjRTZXJ2aWNlLnNhbml0aXplcihvcHRpb24ubG9nb05hbWUpXG4gICAgICAgIFwiXG4gICAgICAgIFtuZ1N0eWxlXT1cInsgJ21hcmdpbi1yaWdodCc6ICc2cHgnIH1cIlxuICAgICAgICBjbGFzcz1cInN2Zy10ZW1wbGF0ZS1sb2dvXCJcbiAgICAgIC8+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIFxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhb3B0aW9uLmxvZ29OYW1lICYmIG9wdGlvbj8uaXNEcml2ZXJcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJuby1wcm9maWxlLWltYWdlXCJcbiAgICAgICAgW25nU3R5bGVdPVwieyAnbWFyZ2luLXJpZ2h0JzogJzZweCcgfVwiXG4gICAgICA+XG4gICAgICAgIDxhcHAtY2EtcHJvZmlsZS1pbWFnZVxuICAgICAgICAgIFtpbmR4XT1cIjBcIlxuICAgICAgICAgIFtuYW1lXT1cIm9wdGlvbj8ubmFtZSFcIlxuICAgICAgICAgIFtzaXplXT1cIidzbWFsbCdcIlxuICAgICAgICA+XG4gICAgICAgIDwvYXBwLWNhLXByb2ZpbGUtaW1hZ2U+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgXG4gICAgPCEtLSBUZXh0IC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbnB1dENvbmZpZy5zdGF0dXNTdHlsZVwiPlxuICAgICAgPGNhLWxvYWQtc3RhdHVzLXN0cmluZ1xuICAgICAgICBbc3RhdHVzXT1cIm9wdGlvblwiXG4gICAgICA+PC9jYS1sb2FkLXN0YXR1cy1zdHJpbmc+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIFxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaW5wdXRDb25maWcuc3RhdHVzU3R5bGVcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgW2lubmVySHRtbF09XCJcbiAgICAgICAgICBvcHRpb24/Lm51bWJlclxuICAgICAgICAgICAgPyAob3B0aW9uLm51bWJlclxuICAgICAgICAgICAgICB8IGNhSGlnaGxpZ2h0XG4gICAgICAgICAgICAgICAgOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBpbmRleDogNDU2MzIsXG4gICAgICAgICAgICAgICAgICAgICAgdGV4dDogZ2V0U3VwZXJDb250cm9sPy52YWx1ZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgOiAob3B0aW9uPy5uYW1lXG4gICAgICAgICAgICAgIHwgY2FIaWdobGlnaHRcbiAgICAgICAgICAgICAgICA6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIGluZGV4OiA0NTYzMixcbiAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiBnZXRTdXBlckNvbnRyb2w/LnZhbHVlXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgIFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAndHJ1Y2stdGV4dCc6IG9wdGlvbj8uc3ViRm9sZGVyID09PSAndHJ1Y2tzJyxcbiAgICAgICAgICAnZmxleC0xJzogb3B0aW9uPy5hZGRpdGlvbmFsVGV4dFxuICAgICAgICB9XCJcbiAgICAgICAgW25nU3R5bGVdPVwiXG4gICAgICAgICAgdHJ1ZSA/IChvcHRpb24/Lm5hbWUhIHwgbG9hZFN0YXR1c0NvbG9yKSA6IHt9XG4gICAgICAgIFwiXG4gICAgICAgIGNsYXNzPVwic3ZndGV4dC10ZW1wbGF0ZS10ZXh0XCJcbiAgICAgID48L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgXG4gICAgPCEtLSBBZGRpdGlvbmFsIFRleHQgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9wdGlvbj8uYWRkaXRpb25hbFRleHRcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgW2lubmVySHRtbF09XCJcbiAgICAgICAgICBvcHRpb24uYWRkaXRpb25hbFRleHRcbiAgICAgICAgICAgIHwgY2FIaWdobGlnaHRcbiAgICAgICAgICAgICAgOiBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGluZGV4OiA0NTYzMixcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogZ2V0U3VwZXJDb250cm9sPy52YWx1ZVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgXCJcbiAgICAgICAgY2xhc3M9XCJzdmd0ZXh0LXRlbXBsYXRlLXRleHQgYWRkaXRpb25hbC10ZXh0XCJcbiAgICAgID48L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgXG4gICAgPCEtLSBQbHVzIEljb24gLS0+XG4gIFxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvcHRpb24/Lm5hbWUgPT09ICdBREQgTkVXJ1wiPlxuICAgICAgPHN2Zy1pY29uXG4gICAgICAgIGNsYXNzPVwicGx1cy1pY29uXCJcbiAgICAgICAgW3NyY109XCJpbnB1dERyb3Bkb3duU3ZnUm91dGVzLnBsdXNTdmdcIlxuICAgICAgICBbc3ZnU3R5bGVdPVwie1xuICAgICAgICAgICd3aWR0aC5weCc6ICcxNCcsXG4gICAgICAgICAgJ2hlaWdodC5weCc6ICcxNCdcbiAgICAgICAgfVwiXG4gICAgICA+PC9zdmctaWNvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj4iXX0=
@@ -20,6 +20,7 @@ export class CaMainTableComponent {
20
20
  // Inputs
21
21
  this.hideFieldsToHide = false;
22
22
  this.reorderItems = false;
23
+ this.disableReorderRow = false;
23
24
  this.columns = [];
24
25
  }
25
26
  onPressRow(rowData) {
@@ -57,7 +58,7 @@ export class CaMainTableComponent {
57
58
  this.onReorder.emit(event);
58
59
  }
59
60
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CaMainTableComponent, deps: [{ token: i0.Injector }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
60
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CaMainTableComponent, isStandalone: true, selector: "app-ca-main-table", inputs: { reorderTemplate: "reorderTemplate", reorderTemplatePreview: "reorderTemplatePreview", transparentTable: "transparentTable", sortPredicate: "sortPredicate", hideFieldsToHide: "hideFieldsToHide", reorderItems: "reorderItems", columns: "columns", data$: "data$" }, outputs: { onPressEvent: "onPressEvent", onReorder: "onReorder" }, ngImport: i0, template: "<div class=\"ca-main-table-holder\">\n <!-- <cdk-virtual-scroll-viewport itemSize=\"44\" class=\"main-table-scroll-viewport\"> -->\n <table\n class=\"ca-main-table\"\n [class.transparent]=\"transparentTable\"\n cdkDropListGroup\n >\n <thead>\n <tr\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n [cdkDropListDisabled]=\"!reorderItems\"\n (cdkDropListDropped)=\"dropHeader($event)\"\n class=\"table-body-list th-table-body-list\"\n >\n <div\n cdkDragLockAxis=\"x\"\n cdkDrag\n cdkDragPreviewContainer=\"parent\"\n *ngFor=\"\n let col of columns | caMainTableHiddenRows: hideFieldsToHide;\n let indx = index\n \"\n class=\"cdk_th_div table-tr\"\n [class]=\"col.cellCustomClasses\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n headerThTemplate;\n context: {\n $implicit: col,\n index: indx,\n }\n \"\n ></ng-container>\n </div>\n </tr>\n </thead>\n <tbody\n #tableMainBody\n cdkScrollable\n cdkDropList\n [cdkDropListData]=\"data$ | async\"\n [cdkDropListSortPredicate]=\"sortPredicate\"\n (cdkDropListDropped)=\"drop($event)\"\n class=\"table-body-list\"\n >\n <ng-container *ngFor=\"let row of data$ | async; let rowIndex = index\">\n <tr\n *ngIf=\"row.rowType != 'reorder'; else reorder\"\n cdkDragLockAxis=\"y\"\n cdkDrag\n cdkDragPreviewContainer=\"parent\"\n cdkDragBoundary=\".table-body-list\"\n [cdkDragDisabled]=\"!reorderItems\"\n (click)=\"onPressRow(row)\"\n class=\"table-tr\"\n >\n <td\n *ngFor=\"\n let col of columns | caMainTableHiddenRows: hideFieldsToHide\n \"\n [class]=\"col.cellCustomClasses\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n rowTemplate;\n context: { row: row, col: col, index: rowIndex }\n \"\n >\n </ng-container>\n </td>\n </tr>\n <ng-template #reorder>\n <tr\n cdkDragLockAxis=\"y\"\n cdkDrag\n cdkDragPreviewContainer=\"parent\"\n cdkDragBoundary=\".table-body-list\"\n class=\"table-tr table-preview-row\"\n >\n <ng-template cdkDragPreview matchSize>\n <tr class=\"table-tr\">\n <ng-container\n *ngTemplateOutlet=\"\n reorderTemplatePreview;\n context: { row: row, index: rowIndex }\n \"\n ></ng-container>\n </tr>\n </ng-template>\n <ng-container\n *ngTemplateOutlet=\"\n reorderTemplate;\n context: { row: row, index: rowIndex }\n \"\n ></ng-container>\n </tr>\n </ng-template>\n </ng-container>\n </tbody>\n </table>\n <!-- </cdk-virtual-scroll-viewport> -->\n</div>\n\n<ng-template #headerThTemplate let-col let-indx=\"index\">\n <th>\n <ng-container [ngSwitch]=\"col.headerCellType\">\n <!-- Template cell -->\n <ng-container *ngSwitchCase=\"'template'\">\n <ng-container\n *ngTemplateOutlet=\"\n col.headerTemplate;\n context: {\n $implicit: col.header,\n index: indx,\n }\n \"\n ></ng-container>\n </ng-container>\n <div *ngSwitchDefault class=\"th-content-container\">\n {{ col.header }}\n </div>\n </ng-container>\n </th>\n</ng-template>\n\n<ng-template #rowTemplate let-row=\"row\" let-col=\"col\" let-index=\"index\">\n <div class=\"td-container\">\n <div class=\"td-content-container\">\n <ng-container [ngSwitch]=\"col.cellType\">\n <!-- Default text cell -->\n <!-- <span *ngSwitchCase=\"'text'\">{{\n row[col.field]\n }}</span> -->\n\n <!-- Template cell -->\n <ng-container *ngSwitchCase=\"'template'\">\n <ng-container\n *ngTemplateOutlet=\"\n col.template;\n context: {\n $implicit: col.row ? row : row[col.field],\n index: index,\n }\n \"\n ></ng-container>\n </ng-container>\n\n <!-- Custom component cell -->\n <ng-container *ngSwitchCase=\"'component'\">\n <ng-container\n *ngComponentOutlet=\"\n col.component;\n injector: createInjector(row, col.inputs)\n \"\n ></ng-container>\n </ng-container>\n\n <!-- Default fallback -->\n <ng-container *ngSwitchDefault>\n <ng-container\n *ngTemplateOutlet=\"\n customTextTemplate;\n context: {\n $implicit: {\n field: row[col.field],\n pipeType: col.pipeType,\n pipeString: col.pipeString,\n textCustomClasses: col.textCustomClasses,\n index: index,\n },\n }\n \"\n ></ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</ng-template>\n\n<!-- Default Text Template -->\n<ng-template #customTextTemplate let-data let-index>\n <ng-container [ngSwitch]=\"data.pipeType\">\n <ng-container *ngSwitchCase=\"'date'\">\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field | date: data.pipeString }}\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'currency'\">\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field | currency: data.pipeString }}\n </div>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field }}\n </div>\n </ng-container>\n </ng-container>\n</ng-template>\n", styles: [".ca-main-table-holder .main-table-scroll-viewport{min-height:200px}.ca-main-table-holder .ca-main-table{color:#424242;width:100%;border-collapse:collapse;background-color:#eee}.ca-main-table-holder .ca-main-table.transparent{background-color:transparent}.ca-main-table-holder .ca-main-table thead.hidden_thead{display:none!important}.ca-main-table-holder .ca-main-table thead tr th{color:#6c6c6c;text-transform:uppercase;font-size:11px}.ca-main-table-holder .ca-main-table thead tr th .th-content-container{padding:4px}.ca-main-table-holder .ca-main-table thead .table-tr.text-right{text-align:right}.ca-main-table-holder .ca-main-table thead .table-tr.text-center{text-align:center}.ca-main-table-holder .ca-main-table tbody.cdk-drop-list-dragging *{-webkit-user-select:none;user-select:none}.ca-main-table-holder .ca-main-table tbody .table-tr:first-child{opacity:var(--opacity-first-row, 1)}.ca-main-table-holder .ca-main-table tbody .table-tr.table-preview-row~.table-tr:not(.cdk-drag-preview){opacity:var(--under-reorder-opacity, 1)}.ca-main-table-holder .ca-main-table tbody .table-tr.table-preview-row{cursor:grab}.ca-main-table-holder .ca-main-table tbody .table-tr.table-preview-row.cdk-drag-placeholder{cursor:grabbing}.ca-main-table-holder .ca-main-table tbody tr td{height:36px;padding:1px 0}.ca-main-table-holder .ca-main-table tbody tr td .td-container{padding:4px 0;display:flex;align-items:center;height:34px;background-color:#fff}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container{min-height:26px;flex:1;padding:0 4px;display:flex;align-items:center}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text{font-size:14px}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-100{font-weight:100}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-200{font-weight:200}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-300{font-weight:300}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-400{font-weight:400}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-500{font-weight:500}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-600{font-weight:600}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-700{font-weight:700}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-800{font-weight:800}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-900{font-weight:900}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .dragg-move-end-period{display:inline-block;padding:2px 6px;background-color:#91919166;color:#fff;font-size:11px;line-height:14px}.ca-main-table-holder .ca-main-table tbody tr td:first-child .td-container{border-top-left-radius:3px;border-bottom-left-radius:3px;padding-left:4px}.ca-main-table-holder .ca-main-table tbody tr td:first-child .td-container .td-content-container{border-top-left-radius:3px;border-bottom-left-radius:3px}.ca-main-table-holder .ca-main-table tbody tr td:last-child .td-container{border-top-right-radius:3px;border-bottom-right-radius:3px;padding-right:4px}.ca-main-table-holder .ca-main-table tbody tr td:last-child .td-container .td-content-container{border-top-right-radius:3px;border-bottom-right-radius:3px}.ca-main-table-holder .ca-main-table tbody tr td.text-right .td-content-container{justify-content:flex-end}.ca-main-table-holder .ca-main-table tbody tr td.text-center .td-content-container{justify-content:center}.ca-main-table-holder .ca-main-table tbody tr td.text-left .td-content-container{justify-content:flex-start}.ca-main-table-holder .ca-main-table tbody tr:hover td .td-container .td-content-container{background-color:#eee}.cdk_th_div{display:table-cell}.cdk_th_div th{display:block}.drag-placeholder{background-color:#fff}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:var(--cdk-drag-preview-box-shadow, 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12))}.cdk-drag-preview td{background-color:var(--cdk-preview-td-bgcolor, transparent)!important}.cdk-drag-preview .td-container{background-color:var(--cdk-preview-bgcolor, transparent)!important;color:var(--cdk-preview-textColor, \"#fff\")}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.table-tr:last-child{border:none}.table-body-list.cdk-drop-list-dragging .table-tr:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1);cursor:grabbing!important}.table-body-list.cdk-drop-list-dragging .table-tr:not(.cdk-drag-placeholder) *{cursor:grabbing!important}.drag-placeholder{background:#ccc;border:dotted 3px #999;min-height:60px;transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-placeholder,.th-table-body-list .cdk-drag-placeholder{opacity:0}.th-table-body-list .cdk_th_div{box-shadow:none!important;background-color:transparent!important}\n"], dependencies: [{ kind: "directive", type: CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: CdkDragPreview, selector: "ng-template[cdkDragPreview]", inputs: ["data", "matchSize"] }, { kind: "pipe", type: CaMainTableHiddenRowsPipe, name: "caMainTableHiddenRows" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.CurrencyPipe, name: "currency" }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i2.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }], encapsulation: i0.ViewEncapsulation.ShadowDom }); }
61
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CaMainTableComponent, isStandalone: true, selector: "app-ca-main-table", inputs: { reorderTemplate: "reorderTemplate", reorderTemplatePreview: "reorderTemplatePreview", transparentTable: "transparentTable", sortPredicate: "sortPredicate", hideFieldsToHide: "hideFieldsToHide", reorderItems: "reorderItems", disableReorderRow: "disableReorderRow", columns: "columns", data$: "data$" }, outputs: { onPressEvent: "onPressEvent", onReorder: "onReorder" }, ngImport: i0, template: "<div class=\"ca-main-table-holder\">\n <!-- <cdk-virtual-scroll-viewport itemSize=\"44\" class=\"main-table-scroll-viewport\"> -->\n <table\n class=\"ca-main-table\"\n [class.transparent]=\"transparentTable\"\n cdkDropListGroup\n >\n <thead>\n <tr\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n [cdkDropListDisabled]=\"!reorderItems\"\n (cdkDropListDropped)=\"dropHeader($event)\"\n class=\"table-body-list th-table-body-list\"\n >\n <div\n cdkDragLockAxis=\"x\"\n cdkDrag\n cdkDragPreviewContainer=\"parent\"\n *ngFor=\"\n let col of columns | caMainTableHiddenRows: hideFieldsToHide;\n let indx = index\n \"\n class=\"cdk_th_div table-tr\"\n [class]=\"col.cellCustomClasses\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n headerThTemplate;\n context: {\n $implicit: col,\n index: indx,\n }\n \"\n ></ng-container>\n </div>\n </tr>\n </thead>\n <tbody\n #tableMainBody\n cdkScrollable\n cdkDropList\n [cdkDropListData]=\"data$ | async\"\n [cdkDropListSortPredicate]=\"sortPredicate\"\n (cdkDropListDropped)=\"drop($event)\"\n class=\"table-body-list\"\n >\n <ng-container *ngFor=\"let row of data$ | async; let rowIndex = index\">\n <tr\n *ngIf=\"row.rowType != 'reorder'; else reorder\"\n cdkDragLockAxis=\"y\"\n cdkDrag\n cdkDragPreviewContainer=\"parent\"\n cdkDragBoundary=\".table-body-list\"\n [cdkDragDisabled]=\"!reorderItems\"\n (click)=\"onPressRow(row)\"\n class=\"table-tr\"\n >\n <td\n *ngFor=\"\n let col of columns | caMainTableHiddenRows: hideFieldsToHide\n \"\n [class]=\"col.cellCustomClasses\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n rowTemplate;\n context: { row: row, col: col, index: rowIndex }\n \"\n >\n </ng-container>\n </td>\n </tr>\n <ng-template #reorder>\n <tr\n cdkDragLockAxis=\"y\"\n cdkDrag\n cdkDragPreviewContainer=\"parent\"\n cdkDragBoundary=\".table-body-list\"\n class=\"table-tr table-preview-row\"\n [cdkDragDisabled]=\"disableReorderRow\"\n >\n <ng-template cdkDragPreview matchSize>\n <tr class=\"table-tr\">\n <ng-container\n *ngTemplateOutlet=\"\n reorderTemplatePreview;\n context: { row: row, index: rowIndex }\n \"\n ></ng-container>\n </tr>\n </ng-template>\n <ng-container\n *ngTemplateOutlet=\"\n reorderTemplate;\n context: { row: row, index: rowIndex }\n \"\n ></ng-container>\n </tr>\n </ng-template>\n </ng-container>\n </tbody>\n </table>\n <!-- </cdk-virtual-scroll-viewport> -->\n</div>\n\n<ng-template #headerThTemplate let-col let-indx=\"index\">\n <th>\n <ng-container [ngSwitch]=\"col.headerCellType\">\n <!-- Template cell -->\n <ng-container *ngSwitchCase=\"'template'\">\n <ng-container\n *ngTemplateOutlet=\"\n col.headerTemplate;\n context: {\n $implicit: col.header,\n index: indx,\n }\n \"\n ></ng-container>\n </ng-container>\n <div *ngSwitchDefault class=\"th-content-container\">\n {{ col.header }}\n </div>\n </ng-container>\n </th>\n</ng-template>\n\n<ng-template #rowTemplate let-row=\"row\" let-col=\"col\" let-index=\"index\">\n <div class=\"td-container\">\n <div class=\"td-content-container\">\n <ng-container [ngSwitch]=\"col.cellType\">\n <!-- Default text cell -->\n <!-- <span *ngSwitchCase=\"'text'\">{{\n row[col.field]\n }}</span> -->\n\n <!-- Template cell -->\n <ng-container *ngSwitchCase=\"'template'\">\n <ng-container\n *ngTemplateOutlet=\"\n col.template;\n context: {\n $implicit: col.row ? row : row[col.field],\n index: index,\n }\n \"\n ></ng-container>\n </ng-container>\n\n <!-- Custom component cell -->\n <ng-container *ngSwitchCase=\"'component'\">\n <ng-container\n *ngComponentOutlet=\"\n col.component;\n injector: createInjector(row, col.inputs)\n \"\n ></ng-container>\n </ng-container>\n\n <!-- Default fallback -->\n <ng-container *ngSwitchDefault>\n <ng-container\n *ngTemplateOutlet=\"\n customTextTemplate;\n context: {\n $implicit: {\n field: row[col.field],\n pipeType: col.pipeType,\n pipeString: col.pipeString,\n textCustomClasses: col.textCustomClasses,\n index: index,\n },\n }\n \"\n ></ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</ng-template>\n\n<!-- Default Text Template -->\n<ng-template #customTextTemplate let-data let-index>\n <ng-container [ngSwitch]=\"data.pipeType\">\n <ng-container *ngSwitchCase=\"'date'\">\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field | date: data.pipeString }}\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'currency'\">\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field | currency: data.pipeString }}\n </div>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field }}\n </div>\n </ng-container>\n </ng-container>\n</ng-template>\n", styles: [".ca-main-table-holder .main-table-scroll-viewport{min-height:200px}.ca-main-table-holder .ca-main-table{color:#424242;width:100%;border-collapse:collapse;background-color:#eee}.ca-main-table-holder .ca-main-table.transparent{background-color:transparent}.ca-main-table-holder .ca-main-table thead.hidden_thead{display:none!important}.ca-main-table-holder .ca-main-table thead tr th{color:#6c6c6c;text-transform:uppercase;font-size:11px}.ca-main-table-holder .ca-main-table thead tr th .th-content-container{padding:4px}.ca-main-table-holder .ca-main-table thead .table-tr.text-right{text-align:right}.ca-main-table-holder .ca-main-table thead .table-tr.text-center{text-align:center}.ca-main-table-holder .ca-main-table tbody.cdk-drop-list-dragging *{-webkit-user-select:none;user-select:none}.ca-main-table-holder .ca-main-table tbody .table-tr:first-child{opacity:var(--opacity-first-row, 1)}.ca-main-table-holder .ca-main-table tbody .table-tr.table-preview-row~.table-tr:not(.cdk-drag-preview){opacity:var(--under-reorder-opacity, 1)}.ca-main-table-holder .ca-main-table tbody .table-tr.table-preview-row{border-top:var(--table-preview-row-border-top)}.ca-main-table-holder .ca-main-table tbody .table-tr.table-preview-row:not(.cdk-drag-disabled){cursor:grab}.ca-main-table-holder .ca-main-table tbody .table-tr.table-preview-row.cdk-drag-placeholder{cursor:grabbing}.ca-main-table-holder .ca-main-table tbody .table-tr.table-preview-row td:first-child .td-content-container{border-top-left-radius:0;padding:var(--table-preview-row-first-td-padding, 0)}.ca-main-table-holder .ca-main-table tbody .table-tr.table-preview-row td:last-child .td-content-container{border-top-right-radius:0}.ca-main-table-holder .ca-main-table tbody tr td{height:var(--td-height, 36px);padding:var(--td-padding, 1px 0)}.ca-main-table-holder .ca-main-table tbody tr td .td-container{padding:var(--td-container-padding, 4px 0);display:flex;align-items:center;height:var(--td-container-height, 34px);background-color:#fff}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container{min-height:var(--td-container-content-min-height, 26px);flex:1;padding:var(--td-container-content-padding, 0px 4px);display:flex;align-items:center}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text{font-size:14px}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-100{font-weight:100}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-200{font-weight:200}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-300{font-weight:300}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-400{font-weight:400}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-500{font-weight:500}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-600{font-weight:600}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-700{font-weight:700}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-800{font-weight:800}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-900{font-weight:900}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .dragg-move-end-period{display:inline-block;padding:2px 6px;background-color:#91919166;color:#fff;font-size:11px;line-height:14px}.ca-main-table-holder .ca-main-table tbody tr td:first-child .td-container{border-top-left-radius:3px;border-bottom-left-radius:3px;padding-left:var(--td-cointainer-first-child-padding-left, 4px)}.ca-main-table-holder .ca-main-table tbody tr td:first-child .td-container .td-content-container{border-top-left-radius:3px;border-bottom-left-radius:3px}.ca-main-table-holder .ca-main-table tbody tr td:last-child .td-container{border-top-right-radius:3px;border-bottom-right-radius:3px;padding-right:var(--td-cointainer-last-child-padding-right, 4px)}.ca-main-table-holder .ca-main-table tbody tr td:last-child .td-container .td-content-container{border-top-right-radius:3px;border-bottom-right-radius:3px}.ca-main-table-holder .ca-main-table tbody tr td.text-right .td-content-container{justify-content:flex-end}.ca-main-table-holder .ca-main-table tbody tr td.text-center .td-content-container{justify-content:center}.ca-main-table-holder .ca-main-table tbody tr td.text-left .td-content-container{justify-content:flex-start}.ca-main-table-holder .ca-main-table tbody tr:hover td .td-container .td-content-container{background-color:#eee}.cdk_th_div{display:table-cell}.cdk_th_div th{display:block}.drag-placeholder{background-color:#fff}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:var(--cdk-drag-preview-box-shadow, 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12))}.cdk-drag-preview td{background-color:var(--cdk-preview-td-bgcolor, transparent)!important}.cdk-drag-preview td .with-padding{padding:0 8px!important}.cdk-drag-preview .td-container{background-color:var(--cdk-preview-bgcolor, transparent)!important;color:var(--cdk-preview-textColor, \"#fff\")}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.table-tr:last-child{border:none}.table-body-list.cdk-drop-list-dragging .table-tr:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1);cursor:grabbing!important}.table-body-list.cdk-drop-list-dragging .table-tr:not(.cdk-drag-placeholder) *{cursor:grabbing!important}.drag-placeholder{background:#ccc;border:dotted 3px #999;min-height:60px;transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-placeholder,.th-table-body-list .cdk-drag-placeholder{opacity:0}.th-table-body-list .cdk_th_div{box-shadow:none!important;background-color:transparent!important}\n"], dependencies: [{ kind: "directive", type: CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: CdkDragPreview, selector: "ng-template[cdkDragPreview]", inputs: ["data", "matchSize"] }, { kind: "pipe", type: CaMainTableHiddenRowsPipe, name: "caMainTableHiddenRows" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.CurrencyPipe, name: "currency" }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i2.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }], encapsulation: i0.ViewEncapsulation.ShadowDom }); }
61
62
  }
62
63
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CaMainTableComponent, decorators: [{
63
64
  type: Component,
@@ -70,7 +71,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
70
71
  CaMainTableHiddenRowsPipe,
71
72
  CommonModule,
72
73
  ScrollingModule,
73
- ], encapsulation: ViewEncapsulation.ShadowDom, template: "<div class=\"ca-main-table-holder\">\n <!-- <cdk-virtual-scroll-viewport itemSize=\"44\" class=\"main-table-scroll-viewport\"> -->\n <table\n class=\"ca-main-table\"\n [class.transparent]=\"transparentTable\"\n cdkDropListGroup\n >\n <thead>\n <tr\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n [cdkDropListDisabled]=\"!reorderItems\"\n (cdkDropListDropped)=\"dropHeader($event)\"\n class=\"table-body-list th-table-body-list\"\n >\n <div\n cdkDragLockAxis=\"x\"\n cdkDrag\n cdkDragPreviewContainer=\"parent\"\n *ngFor=\"\n let col of columns | caMainTableHiddenRows: hideFieldsToHide;\n let indx = index\n \"\n class=\"cdk_th_div table-tr\"\n [class]=\"col.cellCustomClasses\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n headerThTemplate;\n context: {\n $implicit: col,\n index: indx,\n }\n \"\n ></ng-container>\n </div>\n </tr>\n </thead>\n <tbody\n #tableMainBody\n cdkScrollable\n cdkDropList\n [cdkDropListData]=\"data$ | async\"\n [cdkDropListSortPredicate]=\"sortPredicate\"\n (cdkDropListDropped)=\"drop($event)\"\n class=\"table-body-list\"\n >\n <ng-container *ngFor=\"let row of data$ | async; let rowIndex = index\">\n <tr\n *ngIf=\"row.rowType != 'reorder'; else reorder\"\n cdkDragLockAxis=\"y\"\n cdkDrag\n cdkDragPreviewContainer=\"parent\"\n cdkDragBoundary=\".table-body-list\"\n [cdkDragDisabled]=\"!reorderItems\"\n (click)=\"onPressRow(row)\"\n class=\"table-tr\"\n >\n <td\n *ngFor=\"\n let col of columns | caMainTableHiddenRows: hideFieldsToHide\n \"\n [class]=\"col.cellCustomClasses\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n rowTemplate;\n context: { row: row, col: col, index: rowIndex }\n \"\n >\n </ng-container>\n </td>\n </tr>\n <ng-template #reorder>\n <tr\n cdkDragLockAxis=\"y\"\n cdkDrag\n cdkDragPreviewContainer=\"parent\"\n cdkDragBoundary=\".table-body-list\"\n class=\"table-tr table-preview-row\"\n >\n <ng-template cdkDragPreview matchSize>\n <tr class=\"table-tr\">\n <ng-container\n *ngTemplateOutlet=\"\n reorderTemplatePreview;\n context: { row: row, index: rowIndex }\n \"\n ></ng-container>\n </tr>\n </ng-template>\n <ng-container\n *ngTemplateOutlet=\"\n reorderTemplate;\n context: { row: row, index: rowIndex }\n \"\n ></ng-container>\n </tr>\n </ng-template>\n </ng-container>\n </tbody>\n </table>\n <!-- </cdk-virtual-scroll-viewport> -->\n</div>\n\n<ng-template #headerThTemplate let-col let-indx=\"index\">\n <th>\n <ng-container [ngSwitch]=\"col.headerCellType\">\n <!-- Template cell -->\n <ng-container *ngSwitchCase=\"'template'\">\n <ng-container\n *ngTemplateOutlet=\"\n col.headerTemplate;\n context: {\n $implicit: col.header,\n index: indx,\n }\n \"\n ></ng-container>\n </ng-container>\n <div *ngSwitchDefault class=\"th-content-container\">\n {{ col.header }}\n </div>\n </ng-container>\n </th>\n</ng-template>\n\n<ng-template #rowTemplate let-row=\"row\" let-col=\"col\" let-index=\"index\">\n <div class=\"td-container\">\n <div class=\"td-content-container\">\n <ng-container [ngSwitch]=\"col.cellType\">\n <!-- Default text cell -->\n <!-- <span *ngSwitchCase=\"'text'\">{{\n row[col.field]\n }}</span> -->\n\n <!-- Template cell -->\n <ng-container *ngSwitchCase=\"'template'\">\n <ng-container\n *ngTemplateOutlet=\"\n col.template;\n context: {\n $implicit: col.row ? row : row[col.field],\n index: index,\n }\n \"\n ></ng-container>\n </ng-container>\n\n <!-- Custom component cell -->\n <ng-container *ngSwitchCase=\"'component'\">\n <ng-container\n *ngComponentOutlet=\"\n col.component;\n injector: createInjector(row, col.inputs)\n \"\n ></ng-container>\n </ng-container>\n\n <!-- Default fallback -->\n <ng-container *ngSwitchDefault>\n <ng-container\n *ngTemplateOutlet=\"\n customTextTemplate;\n context: {\n $implicit: {\n field: row[col.field],\n pipeType: col.pipeType,\n pipeString: col.pipeString,\n textCustomClasses: col.textCustomClasses,\n index: index,\n },\n }\n \"\n ></ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</ng-template>\n\n<!-- Default Text Template -->\n<ng-template #customTextTemplate let-data let-index>\n <ng-container [ngSwitch]=\"data.pipeType\">\n <ng-container *ngSwitchCase=\"'date'\">\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field | date: data.pipeString }}\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'currency'\">\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field | currency: data.pipeString }}\n </div>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field }}\n </div>\n </ng-container>\n </ng-container>\n</ng-template>\n", styles: [".ca-main-table-holder .main-table-scroll-viewport{min-height:200px}.ca-main-table-holder .ca-main-table{color:#424242;width:100%;border-collapse:collapse;background-color:#eee}.ca-main-table-holder .ca-main-table.transparent{background-color:transparent}.ca-main-table-holder .ca-main-table thead.hidden_thead{display:none!important}.ca-main-table-holder .ca-main-table thead tr th{color:#6c6c6c;text-transform:uppercase;font-size:11px}.ca-main-table-holder .ca-main-table thead tr th .th-content-container{padding:4px}.ca-main-table-holder .ca-main-table thead .table-tr.text-right{text-align:right}.ca-main-table-holder .ca-main-table thead .table-tr.text-center{text-align:center}.ca-main-table-holder .ca-main-table tbody.cdk-drop-list-dragging *{-webkit-user-select:none;user-select:none}.ca-main-table-holder .ca-main-table tbody .table-tr:first-child{opacity:var(--opacity-first-row, 1)}.ca-main-table-holder .ca-main-table tbody .table-tr.table-preview-row~.table-tr:not(.cdk-drag-preview){opacity:var(--under-reorder-opacity, 1)}.ca-main-table-holder .ca-main-table tbody .table-tr.table-preview-row{cursor:grab}.ca-main-table-holder .ca-main-table tbody .table-tr.table-preview-row.cdk-drag-placeholder{cursor:grabbing}.ca-main-table-holder .ca-main-table tbody tr td{height:36px;padding:1px 0}.ca-main-table-holder .ca-main-table tbody tr td .td-container{padding:4px 0;display:flex;align-items:center;height:34px;background-color:#fff}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container{min-height:26px;flex:1;padding:0 4px;display:flex;align-items:center}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text{font-size:14px}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-100{font-weight:100}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-200{font-weight:200}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-300{font-weight:300}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-400{font-weight:400}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-500{font-weight:500}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-600{font-weight:600}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-700{font-weight:700}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-800{font-weight:800}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-900{font-weight:900}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .dragg-move-end-period{display:inline-block;padding:2px 6px;background-color:#91919166;color:#fff;font-size:11px;line-height:14px}.ca-main-table-holder .ca-main-table tbody tr td:first-child .td-container{border-top-left-radius:3px;border-bottom-left-radius:3px;padding-left:4px}.ca-main-table-holder .ca-main-table tbody tr td:first-child .td-container .td-content-container{border-top-left-radius:3px;border-bottom-left-radius:3px}.ca-main-table-holder .ca-main-table tbody tr td:last-child .td-container{border-top-right-radius:3px;border-bottom-right-radius:3px;padding-right:4px}.ca-main-table-holder .ca-main-table tbody tr td:last-child .td-container .td-content-container{border-top-right-radius:3px;border-bottom-right-radius:3px}.ca-main-table-holder .ca-main-table tbody tr td.text-right .td-content-container{justify-content:flex-end}.ca-main-table-holder .ca-main-table tbody tr td.text-center .td-content-container{justify-content:center}.ca-main-table-holder .ca-main-table tbody tr td.text-left .td-content-container{justify-content:flex-start}.ca-main-table-holder .ca-main-table tbody tr:hover td .td-container .td-content-container{background-color:#eee}.cdk_th_div{display:table-cell}.cdk_th_div th{display:block}.drag-placeholder{background-color:#fff}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:var(--cdk-drag-preview-box-shadow, 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12))}.cdk-drag-preview td{background-color:var(--cdk-preview-td-bgcolor, transparent)!important}.cdk-drag-preview .td-container{background-color:var(--cdk-preview-bgcolor, transparent)!important;color:var(--cdk-preview-textColor, \"#fff\")}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.table-tr:last-child{border:none}.table-body-list.cdk-drop-list-dragging .table-tr:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1);cursor:grabbing!important}.table-body-list.cdk-drop-list-dragging .table-tr:not(.cdk-drag-placeholder) *{cursor:grabbing!important}.drag-placeholder{background:#ccc;border:dotted 3px #999;min-height:60px;transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-placeholder,.th-table-body-list .cdk-drag-placeholder{opacity:0}.th-table-body-list .cdk_th_div{box-shadow:none!important;background-color:transparent!important}\n"] }]
74
+ ], encapsulation: ViewEncapsulation.ShadowDom, template: "<div class=\"ca-main-table-holder\">\n <!-- <cdk-virtual-scroll-viewport itemSize=\"44\" class=\"main-table-scroll-viewport\"> -->\n <table\n class=\"ca-main-table\"\n [class.transparent]=\"transparentTable\"\n cdkDropListGroup\n >\n <thead>\n <tr\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n [cdkDropListDisabled]=\"!reorderItems\"\n (cdkDropListDropped)=\"dropHeader($event)\"\n class=\"table-body-list th-table-body-list\"\n >\n <div\n cdkDragLockAxis=\"x\"\n cdkDrag\n cdkDragPreviewContainer=\"parent\"\n *ngFor=\"\n let col of columns | caMainTableHiddenRows: hideFieldsToHide;\n let indx = index\n \"\n class=\"cdk_th_div table-tr\"\n [class]=\"col.cellCustomClasses\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n headerThTemplate;\n context: {\n $implicit: col,\n index: indx,\n }\n \"\n ></ng-container>\n </div>\n </tr>\n </thead>\n <tbody\n #tableMainBody\n cdkScrollable\n cdkDropList\n [cdkDropListData]=\"data$ | async\"\n [cdkDropListSortPredicate]=\"sortPredicate\"\n (cdkDropListDropped)=\"drop($event)\"\n class=\"table-body-list\"\n >\n <ng-container *ngFor=\"let row of data$ | async; let rowIndex = index\">\n <tr\n *ngIf=\"row.rowType != 'reorder'; else reorder\"\n cdkDragLockAxis=\"y\"\n cdkDrag\n cdkDragPreviewContainer=\"parent\"\n cdkDragBoundary=\".table-body-list\"\n [cdkDragDisabled]=\"!reorderItems\"\n (click)=\"onPressRow(row)\"\n class=\"table-tr\"\n >\n <td\n *ngFor=\"\n let col of columns | caMainTableHiddenRows: hideFieldsToHide\n \"\n [class]=\"col.cellCustomClasses\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n rowTemplate;\n context: { row: row, col: col, index: rowIndex }\n \"\n >\n </ng-container>\n </td>\n </tr>\n <ng-template #reorder>\n <tr\n cdkDragLockAxis=\"y\"\n cdkDrag\n cdkDragPreviewContainer=\"parent\"\n cdkDragBoundary=\".table-body-list\"\n class=\"table-tr table-preview-row\"\n [cdkDragDisabled]=\"disableReorderRow\"\n >\n <ng-template cdkDragPreview matchSize>\n <tr class=\"table-tr\">\n <ng-container\n *ngTemplateOutlet=\"\n reorderTemplatePreview;\n context: { row: row, index: rowIndex }\n \"\n ></ng-container>\n </tr>\n </ng-template>\n <ng-container\n *ngTemplateOutlet=\"\n reorderTemplate;\n context: { row: row, index: rowIndex }\n \"\n ></ng-container>\n </tr>\n </ng-template>\n </ng-container>\n </tbody>\n </table>\n <!-- </cdk-virtual-scroll-viewport> -->\n</div>\n\n<ng-template #headerThTemplate let-col let-indx=\"index\">\n <th>\n <ng-container [ngSwitch]=\"col.headerCellType\">\n <!-- Template cell -->\n <ng-container *ngSwitchCase=\"'template'\">\n <ng-container\n *ngTemplateOutlet=\"\n col.headerTemplate;\n context: {\n $implicit: col.header,\n index: indx,\n }\n \"\n ></ng-container>\n </ng-container>\n <div *ngSwitchDefault class=\"th-content-container\">\n {{ col.header }}\n </div>\n </ng-container>\n </th>\n</ng-template>\n\n<ng-template #rowTemplate let-row=\"row\" let-col=\"col\" let-index=\"index\">\n <div class=\"td-container\">\n <div class=\"td-content-container\">\n <ng-container [ngSwitch]=\"col.cellType\">\n <!-- Default text cell -->\n <!-- <span *ngSwitchCase=\"'text'\">{{\n row[col.field]\n }}</span> -->\n\n <!-- Template cell -->\n <ng-container *ngSwitchCase=\"'template'\">\n <ng-container\n *ngTemplateOutlet=\"\n col.template;\n context: {\n $implicit: col.row ? row : row[col.field],\n index: index,\n }\n \"\n ></ng-container>\n </ng-container>\n\n <!-- Custom component cell -->\n <ng-container *ngSwitchCase=\"'component'\">\n <ng-container\n *ngComponentOutlet=\"\n col.component;\n injector: createInjector(row, col.inputs)\n \"\n ></ng-container>\n </ng-container>\n\n <!-- Default fallback -->\n <ng-container *ngSwitchDefault>\n <ng-container\n *ngTemplateOutlet=\"\n customTextTemplate;\n context: {\n $implicit: {\n field: row[col.field],\n pipeType: col.pipeType,\n pipeString: col.pipeString,\n textCustomClasses: col.textCustomClasses,\n index: index,\n },\n }\n \"\n ></ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</ng-template>\n\n<!-- Default Text Template -->\n<ng-template #customTextTemplate let-data let-index>\n <ng-container [ngSwitch]=\"data.pipeType\">\n <ng-container *ngSwitchCase=\"'date'\">\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field | date: data.pipeString }}\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'currency'\">\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field | currency: data.pipeString }}\n </div>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <div [ngClass]=\"data.textCustomClasses\" class=\"text\">\n {{ data.field }}\n </div>\n </ng-container>\n </ng-container>\n</ng-template>\n", styles: [".ca-main-table-holder .main-table-scroll-viewport{min-height:200px}.ca-main-table-holder .ca-main-table{color:#424242;width:100%;border-collapse:collapse;background-color:#eee}.ca-main-table-holder .ca-main-table.transparent{background-color:transparent}.ca-main-table-holder .ca-main-table thead.hidden_thead{display:none!important}.ca-main-table-holder .ca-main-table thead tr th{color:#6c6c6c;text-transform:uppercase;font-size:11px}.ca-main-table-holder .ca-main-table thead tr th .th-content-container{padding:4px}.ca-main-table-holder .ca-main-table thead .table-tr.text-right{text-align:right}.ca-main-table-holder .ca-main-table thead .table-tr.text-center{text-align:center}.ca-main-table-holder .ca-main-table tbody.cdk-drop-list-dragging *{-webkit-user-select:none;user-select:none}.ca-main-table-holder .ca-main-table tbody .table-tr:first-child{opacity:var(--opacity-first-row, 1)}.ca-main-table-holder .ca-main-table tbody .table-tr.table-preview-row~.table-tr:not(.cdk-drag-preview){opacity:var(--under-reorder-opacity, 1)}.ca-main-table-holder .ca-main-table tbody .table-tr.table-preview-row{border-top:var(--table-preview-row-border-top)}.ca-main-table-holder .ca-main-table tbody .table-tr.table-preview-row:not(.cdk-drag-disabled){cursor:grab}.ca-main-table-holder .ca-main-table tbody .table-tr.table-preview-row.cdk-drag-placeholder{cursor:grabbing}.ca-main-table-holder .ca-main-table tbody .table-tr.table-preview-row td:first-child .td-content-container{border-top-left-radius:0;padding:var(--table-preview-row-first-td-padding, 0)}.ca-main-table-holder .ca-main-table tbody .table-tr.table-preview-row td:last-child .td-content-container{border-top-right-radius:0}.ca-main-table-holder .ca-main-table tbody tr td{height:var(--td-height, 36px);padding:var(--td-padding, 1px 0)}.ca-main-table-holder .ca-main-table tbody tr td .td-container{padding:var(--td-container-padding, 4px 0);display:flex;align-items:center;height:var(--td-container-height, 34px);background-color:#fff}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container{min-height:var(--td-container-content-min-height, 26px);flex:1;padding:var(--td-container-content-padding, 0px 4px);display:flex;align-items:center}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text{font-size:14px}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-100{font-weight:100}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-200{font-weight:200}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-300{font-weight:300}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-400{font-weight:400}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-500{font-weight:500}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-600{font-weight:600}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-700{font-weight:700}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-800{font-weight:800}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .text.b-900{font-weight:900}.ca-main-table-holder .ca-main-table tbody tr td .td-container .td-content-container .dragg-move-end-period{display:inline-block;padding:2px 6px;background-color:#91919166;color:#fff;font-size:11px;line-height:14px}.ca-main-table-holder .ca-main-table tbody tr td:first-child .td-container{border-top-left-radius:3px;border-bottom-left-radius:3px;padding-left:var(--td-cointainer-first-child-padding-left, 4px)}.ca-main-table-holder .ca-main-table tbody tr td:first-child .td-container .td-content-container{border-top-left-radius:3px;border-bottom-left-radius:3px}.ca-main-table-holder .ca-main-table tbody tr td:last-child .td-container{border-top-right-radius:3px;border-bottom-right-radius:3px;padding-right:var(--td-cointainer-last-child-padding-right, 4px)}.ca-main-table-holder .ca-main-table tbody tr td:last-child .td-container .td-content-container{border-top-right-radius:3px;border-bottom-right-radius:3px}.ca-main-table-holder .ca-main-table tbody tr td.text-right .td-content-container{justify-content:flex-end}.ca-main-table-holder .ca-main-table tbody tr td.text-center .td-content-container{justify-content:center}.ca-main-table-holder .ca-main-table tbody tr td.text-left .td-content-container{justify-content:flex-start}.ca-main-table-holder .ca-main-table tbody tr:hover td .td-container .td-content-container{background-color:#eee}.cdk_th_div{display:table-cell}.cdk_th_div th{display:block}.drag-placeholder{background-color:#fff}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:var(--cdk-drag-preview-box-shadow, 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12))}.cdk-drag-preview td{background-color:var(--cdk-preview-td-bgcolor, transparent)!important}.cdk-drag-preview td .with-padding{padding:0 8px!important}.cdk-drag-preview .td-container{background-color:var(--cdk-preview-bgcolor, transparent)!important;color:var(--cdk-preview-textColor, \"#fff\")}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.table-tr:last-child{border:none}.table-body-list.cdk-drop-list-dragging .table-tr:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1);cursor:grabbing!important}.table-body-list.cdk-drop-list-dragging .table-tr:not(.cdk-drag-placeholder) *{cursor:grabbing!important}.drag-placeholder{background:#ccc;border:dotted 3px #999;min-height:60px;transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-placeholder,.th-table-body-list .cdk-drag-placeholder{opacity:0}.th-table-body-list .cdk_th_div{box-shadow:none!important;background-color:transparent!important}\n"] }]
74
75
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { onPressEvent: [{
75
76
  type: Output
76
77
  }], onReorder: [{
@@ -87,9 +88,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
87
88
  type: Input
88
89
  }], reorderItems: [{
89
90
  type: Input
91
+ }], disableReorderRow: [{
92
+ type: Input
90
93
  }], columns: [{
91
94
  type: Input
92
95
  }], data$: [{
93
96
  type: Input
94
97
  }] } });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtbWFpbi10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1tYWluLXRhYmxlL2NhLW1haW4tdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtbWFpbi10YWJsZS9jYS1tYWluLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixRQUFRLEVBQ1IsS0FBSyxFQUVMLE1BQU0sRUFFTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDN0csT0FBTyxFQUNMLE9BQU8sRUFFUCxrQkFBa0IsRUFDbEIsY0FBYyxFQUNkLFdBQVcsRUFDWCxnQkFBZ0IsRUFDaEIsZUFBZSxHQUNoQixNQUFNLHdCQUF3QixDQUFDO0FBRWhDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQW1CekQsTUFBTSxPQUFPLG9CQUFvQjtJQXlCL0IsWUFDVSxRQUFrQixFQUNsQixLQUF3QjtRQUR4QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBeEJsQyxVQUFVO1FBQ0EsaUJBQVksR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUMxRCxjQUFTLEdBQ2pCLElBQUksWUFBWSxFQUF1QyxDQUFDO1FBS2pELHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUNsQyxrQkFBYSxHQUFzRCxDQUMxRSxDQUFTLEVBQ1QsRUFBbUIsRUFDbkIsRUFBRTtZQUNGLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDO1FBRUYsU0FBUztRQUNBLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUNsQyxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QixZQUFPLEdBQW1CLEVBQUUsQ0FBQztJQU1uQyxDQUFDO0lBRUosVUFBVSxDQUFDLE9BQVk7UUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzVCLGdFQUFnRTtZQUNoRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYyxDQUFDLE9BQVksRUFBRSxNQUE4QjtRQUN6RCxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDN0QsT0FBTyxFQUFFLEdBQUc7WUFDWixRQUFRLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQztTQUN0QixDQUFDLENBQUMsQ0FBQztRQUNKLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUNyQixTQUFTLEVBQUUsY0FBYztZQUN6QixNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGFBQWEsQ0FDWCxZQUFpQixFQUNqQixPQUFnRDtRQUVoRCxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ3pDLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDcEMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7YUFDaEU7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBNEI7UUFDckMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELElBQUksQ0FBQyxLQUEwQztRQUM3QyxlQUFlLENBQ2IsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFLLEVBQ3JCLEtBQUssQ0FBQyxhQUFhLEVBQ25CLEtBQUssQ0FBQyxZQUFZLENBQ25CLENBQUM7UUFFRixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDOytHQTVFVSxvQkFBb0I7bUdBQXBCLG9CQUFvQixnYUMzQ2pDLHVtTUF5TUEscW5LRDFLSSxnQkFBZ0IscUlBQ2hCLFdBQVcsK2RBQ1gsT0FBTyx3YkFFUCxjQUFjLGtHQUNkLHlCQUF5Qiw2REFDekIsWUFBWSwyckNBQ1osZUFBZTs7NEZBS04sb0JBQW9CO2tCQWpCaEMsU0FBUzsrQkFDRSxtQkFBbUIsY0FFakIsSUFBSSxXQUNQO3dCQUNQLGdCQUFnQjt3QkFDaEIsV0FBVzt3QkFDWCxPQUFPO3dCQUNQLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCx5QkFBeUI7d0JBQ3pCLFlBQVk7d0JBQ1osZUFBZTtxQkFDaEIsaUJBRWMsaUJBQWlCLENBQUMsU0FBUzsrSEFNaEMsWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUlFLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQVFHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2FNYWluVGFibGVIaWRkZW5Sb3dzUGlwZSB9IGZyb20gJy4vcGlwZXMvY2EtbWFpbi10YWJsZS1oaWRkZW4tcm93cy9jYS1tYWluLXRhYmxlLWhpZGRlbi1yb3dzLnBpcGUnO1xuaW1wb3J0IHtcbiAgQ2RrRHJhZyxcbiAgQ2RrRHJhZ0Ryb3AsXG4gIENka0RyYWdQbGFjZWhvbGRlcixcbiAgQ2RrRHJhZ1ByZXZpZXcsXG4gIENka0Ryb3BMaXN0LFxuICBDZGtEcm9wTGlzdEdyb3VwLFxuICBtb3ZlSXRlbUluQXJyYXksXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgQ29sdW1uQ29uZmlnIH0gZnJvbSAnLi9tb2RlbHMvbWFpbi10YWJsZS5tb2RlbCc7XG5pbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNhLW1haW4tdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2EtbWFpbi10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDZGtEcm9wTGlzdEdyb3VwLFxuICAgIENka0Ryb3BMaXN0LFxuICAgIENka0RyYWcsXG4gICAgQ2RrRHJhZ1BsYWNlaG9sZGVyLFxuICAgIENka0RyYWdQcmV2aWV3LFxuICAgIENhTWFpblRhYmxlSGlkZGVuUm93c1BpcGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFNjcm9sbGluZ01vZHVsZSxcbiAgXSxcbiAgc3R5bGVVcmxzOiBbJy4vY2EtbWFpbi10YWJsZS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5TaGFkb3dEb20sXG59KVxuZXhwb3J0IGNsYXNzIENhTWFpblRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgdGFibGVEYXRhOiBhbnk7XG5cbiAgLy8gT3V0cHV0c1xuICBAT3V0cHV0KCkgb25QcmVzc0V2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb25SZW9yZGVyOiBFdmVudEVtaXR0ZXI8Q2RrRHJhZ0Ryb3A8YW55W10gfCBudWxsLCBhbnksIGFueT4+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPENka0RyYWdEcm9wPGFueVtdIHwgbnVsbCwgYW55LCBhbnk+PigpO1xuXG4gIC8vIElucHV0c1xuICBASW5wdXQoKSByZW9yZGVyVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBASW5wdXQoKSByZW9yZGVyVGVtcGxhdGVQcmV2aWV3ITogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgdHJhbnNwYXJlbnRUYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzb3J0UHJlZGljYXRlOiAoaW5kZXg6IG51bWJlciwgaXRlbTogQ2RrRHJhZzxudW1iZXI+KSA9PiBib29sZWFuID0gKFxuICAgIF86IG51bWJlcixcbiAgICBfXzogQ2RrRHJhZzxudW1iZXI+XG4gICkgPT4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9O1xuXG4gIC8vIElucHV0c1xuICBASW5wdXQoKSBoaWRlRmllbGRzVG9IaWRlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJlb3JkZXJJdGVtczogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBjb2x1bW5zOiBDb2x1bW5Db25maWdbXSA9IFtdO1xuICBASW5wdXQoKSBkYXRhJCE6IE9ic2VydmFibGU8YW55W10+OyAvLyBBY2NlcHRzIHRoZSBkYXRhIGFzIGFuIG9ic2VydmFibGVcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG5cbiAgb25QcmVzc1Jvdyhyb3dEYXRhOiBhbnkpIHtcbiAgICB0aGlzLm9uUHJlc3NFdmVudC5lbWl0KHJvd0RhdGEpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5kYXRhJC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIC8vIFRyaWdnZXIgY2hhbmdlIGRldGVjdGlvbiB0byB1cGRhdGUgdGhlIHZpZXcgd2hlbiBkYXRhIGNoYW5nZXNcbiAgICAgIHRoaXMudGFibGVEYXRhID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShkYXRhKSk7XG4gICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIGNyZWF0ZUluamVjdG9yKHJvd0RhdGE6IGFueSwgaW5wdXRzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KTogSW5qZWN0b3Ige1xuICAgIGNvbnN0IGlucHV0UHJvdmlkZXJzID0gT2JqZWN0LmtleXMoaW5wdXRzIHx8IHt9KS5tYXAoKGtleSkgPT4gKHtcbiAgICAgIHByb3ZpZGU6IGtleSxcbiAgICAgIHVzZVZhbHVlOiBpbnB1dHNba2V5XSxcbiAgICB9KSk7XG4gICAgcmV0dXJuIEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwcm92aWRlcnM6IGlucHV0UHJvdmlkZXJzLFxuICAgICAgcGFyZW50OiB0aGlzLmluamVjdG9yLFxuICAgIH0pO1xuICB9XG5cbiAgYXR0YWNoT3V0cHV0cyhcbiAgICBjb21wb25lbnRSZWY6IGFueSxcbiAgICBvdXRwdXRzOiB7IFtrZXk6IHN0cmluZ106IChldmVudDogYW55KSA9PiB2b2lkIH1cbiAgKTogdm9pZCB7XG4gICAgT2JqZWN0LmtleXMob3V0cHV0cykuZm9yRWFjaCgob3V0cHV0S2V5KSA9PiB7XG4gICAgICBpZiAoY29tcG9uZW50UmVmLmluc3RhbmNlW291dHB1dEtleV0pIHtcbiAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlW291dHB1dEtleV0uc3Vic2NyaWJlKG91dHB1dHNbb3V0cHV0S2V5XSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBkcm9wSGVhZGVyKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pIHtcbiAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5jb2x1bW5zLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICB9XG5cbiAgZHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8YW55W10gfCBudWxsLCBhbnksIGFueT4pIHtcbiAgICBtb3ZlSXRlbUluQXJyYXkoXG4gICAgICBldmVudC5jb250YWluZXIuZGF0YSEsXG4gICAgICBldmVudC5wcmV2aW91c0luZGV4LFxuICAgICAgZXZlbnQuY3VycmVudEluZGV4XG4gICAgKTtcblxuICAgIHRoaXMub25SZW9yZGVyLmVtaXQoZXZlbnQpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2EtbWFpbi10YWJsZS1ob2xkZXJcIj5cbiAgPCEtLSA8Y2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0IGl0ZW1TaXplPVwiNDRcIiBjbGFzcz1cIm1haW4tdGFibGUtc2Nyb2xsLXZpZXdwb3J0XCI+IC0tPlxuICA8dGFibGVcbiAgICBjbGFzcz1cImNhLW1haW4tdGFibGVcIlxuICAgIFtjbGFzcy50cmFuc3BhcmVudF09XCJ0cmFuc3BhcmVudFRhYmxlXCJcbiAgICBjZGtEcm9wTGlzdEdyb3VwXG4gID5cbiAgICA8dGhlYWQ+XG4gICAgICA8dHJcbiAgICAgICAgY2RrRHJvcExpc3RcbiAgICAgICAgY2RrRHJvcExpc3RPcmllbnRhdGlvbj1cImhvcml6b250YWxcIlxuICAgICAgICBbY2RrRHJvcExpc3REaXNhYmxlZF09XCIhcmVvcmRlckl0ZW1zXCJcbiAgICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wSGVhZGVyKCRldmVudClcIlxuICAgICAgICBjbGFzcz1cInRhYmxlLWJvZHktbGlzdCB0aC10YWJsZS1ib2R5LWxpc3RcIlxuICAgICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2RrRHJhZ0xvY2tBeGlzPVwieFwiXG4gICAgICAgICAgY2RrRHJhZ1xuICAgICAgICAgIGNka0RyYWdQcmV2aWV3Q29udGFpbmVyPVwicGFyZW50XCJcbiAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgIGxldCBjb2wgb2YgY29sdW1ucyB8IGNhTWFpblRhYmxlSGlkZGVuUm93czogaGlkZUZpZWxkc1RvSGlkZTtcbiAgICAgICAgICAgIGxldCBpbmR4ID0gaW5kZXhcbiAgICAgICAgICBcIlxuICAgICAgICAgIGNsYXNzPVwiY2RrX3RoX2RpdiB0YWJsZS10clwiXG4gICAgICAgICAgW2NsYXNzXT1cImNvbC5jZWxsQ3VzdG9tQ2xhc3Nlc1wiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICBoZWFkZXJUaFRlbXBsYXRlO1xuICAgICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgJGltcGxpY2l0OiBjb2wsXG4gICAgICAgICAgICAgICAgaW5kZXg6IGluZHgsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvdHI+XG4gICAgPC90aGVhZD5cbiAgICA8dGJvZHlcbiAgICAgICN0YWJsZU1haW5Cb2R5XG4gICAgICBjZGtTY3JvbGxhYmxlXG4gICAgICBjZGtEcm9wTGlzdFxuICAgICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJkYXRhJCB8IGFzeW5jXCJcbiAgICAgIFtjZGtEcm9wTGlzdFNvcnRQcmVkaWNhdGVdPVwic29ydFByZWRpY2F0ZVwiXG4gICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiXG4gICAgICBjbGFzcz1cInRhYmxlLWJvZHktbGlzdFwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcm93IG9mIGRhdGEkIHwgYXN5bmM7IGxldCByb3dJbmRleCA9IGluZGV4XCI+XG4gICAgICAgIDx0clxuICAgICAgICAgICpuZ0lmPVwicm93LnJvd1R5cGUgIT0gJ3Jlb3JkZXInOyBlbHNlIHJlb3JkZXJcIlxuICAgICAgICAgIGNka0RyYWdMb2NrQXhpcz1cInlcIlxuICAgICAgICAgIGNka0RyYWdcbiAgICAgICAgICBjZGtEcmFnUHJldmlld0NvbnRhaW5lcj1cInBhcmVudFwiXG4gICAgICAgICAgY2RrRHJhZ0JvdW5kYXJ5PVwiLnRhYmxlLWJvZHktbGlzdFwiXG4gICAgICAgICAgW2Nka0RyYWdEaXNhYmxlZF09XCIhcmVvcmRlckl0ZW1zXCJcbiAgICAgICAgICAoY2xpY2spPVwib25QcmVzc1Jvdyhyb3cpXCJcbiAgICAgICAgICBjbGFzcz1cInRhYmxlLXRyXCJcbiAgICAgICAgPlxuICAgICAgICAgIDx0ZFxuICAgICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICAgIGxldCBjb2wgb2YgY29sdW1ucyB8IGNhTWFpblRhYmxlSGlkZGVuUm93czogaGlkZUZpZWxkc1RvSGlkZVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIFtjbGFzc109XCJjb2wuY2VsbEN1c3RvbUNsYXNzZXNcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICByb3dUZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICBjb250ZXh0OiB7IHJvdzogcm93LCBjb2w6IGNvbCwgaW5kZXg6IHJvd0luZGV4IH1cbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvdHI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcmVvcmRlcj5cbiAgICAgICAgICA8dHJcbiAgICAgICAgICAgIGNka0RyYWdMb2NrQXhpcz1cInlcIlxuICAgICAgICAgICAgY2RrRHJhZ1xuICAgICAgICAgICAgY2RrRHJhZ1ByZXZpZXdDb250YWluZXI9XCJwYXJlbnRcIlxuICAgICAgICAgICAgY2RrRHJhZ0JvdW5kYXJ5PVwiLnRhYmxlLWJvZHktbGlzdFwiXG4gICAgICAgICAgICBjbGFzcz1cInRhYmxlLXRyIHRhYmxlLXByZXZpZXctcm93XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgY2RrRHJhZ1ByZXZpZXcgbWF0Y2hTaXplPlxuICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJ0YWJsZS10clwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgICAgIHJlb3JkZXJUZW1wbGF0ZVByZXZpZXc7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHsgcm93OiByb3csIGluZGV4OiByb3dJbmRleCB9XG4gICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgcmVvcmRlclRlbXBsYXRlO1xuICAgICAgICAgICAgICAgIGNvbnRleHQ6IHsgcm93OiByb3csIGluZGV4OiByb3dJbmRleCB9XG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvdGJvZHk+XG4gIDwvdGFibGU+XG4gIDwhLS0gPC9jZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQ+IC0tPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjaGVhZGVyVGhUZW1wbGF0ZSBsZXQtY29sIGxldC1pbmR4PVwiaW5kZXhcIj5cbiAgPHRoPlxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImNvbC5oZWFkZXJDZWxsVHlwZVwiPlxuICAgICAgPCEtLSBUZW1wbGF0ZSBjZWxsIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3RlbXBsYXRlJ1wiPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgIGNvbC5oZWFkZXJUZW1wbGF0ZTtcbiAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgJGltcGxpY2l0OiBjb2wuaGVhZGVyLFxuICAgICAgICAgICAgICBpbmRleDogaW5keCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBcIlxuICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxkaXYgKm5nU3dpdGNoRGVmYXVsdCBjbGFzcz1cInRoLWNvbnRlbnQtY29udGFpbmVyXCI+XG4gICAgICAgIHt7IGNvbC5oZWFkZXIgfX1cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L3RoPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNyb3dUZW1wbGF0ZSBsZXQtcm93PVwicm93XCIgbGV0LWNvbD1cImNvbFwiIGxldC1pbmRleD1cImluZGV4XCI+XG4gIDxkaXYgY2xhc3M9XCJ0ZC1jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGQtY29udGVudC1jb250YWluZXJcIj5cbiAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImNvbC5jZWxsVHlwZVwiPlxuICAgICAgICA8IS0tIERlZmF1bHQgdGV4dCBjZWxsIC0tPlxuICAgICAgICA8IS0tIDxzcGFuICpuZ1N3aXRjaENhc2U9XCIndGV4dCdcIj57e1xuICAgICAgICAgICAgICAgICAgICByb3dbY29sLmZpZWxkXVxuICAgICAgICAgICAgICAgIH19PC9zcGFuPiAtLT5cblxuICAgICAgICA8IS0tIFRlbXBsYXRlIGNlbGwgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid0ZW1wbGF0ZSdcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICBjb2wudGVtcGxhdGU7XG4gICAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGNvbC5yb3cgPyByb3cgOiByb3dbY29sLmZpZWxkXSxcbiAgICAgICAgICAgICAgICBpbmRleDogaW5kZXgsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIEN1c3RvbSBjb21wb25lbnQgY2VsbCAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2NvbXBvbmVudCdcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdDb21wb25lbnRPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgY29sLmNvbXBvbmVudDtcbiAgICAgICAgICAgICAgaW5qZWN0b3I6IGNyZWF0ZUluamVjdG9yKHJvdywgY29sLmlucHV0cylcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIERlZmF1bHQgZmFsbGJhY2sgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICBjdXN0b21UZXh0VGVtcGxhdGU7XG4gICAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IHtcbiAgICAgICAgICAgICAgICAgIGZpZWxkOiByb3dbY29sLmZpZWxkXSxcbiAgICAgICAgICAgICAgICAgIHBpcGVUeXBlOiBjb2wucGlwZVR5cGUsXG4gICAgICAgICAgICAgICAgICBwaXBlU3RyaW5nOiBjb2wucGlwZVN0cmluZyxcbiAgICAgICAgICAgICAgICAgIHRleHRDdXN0b21DbGFzc2VzOiBjb2wudGV4dEN1c3RvbUNsYXNzZXMsXG4gICAgICAgICAgICAgICAgICBpbmRleDogaW5kZXgsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBEZWZhdWx0IFRleHQgVGVtcGxhdGUgIC0tPlxuPG5nLXRlbXBsYXRlICNjdXN0b21UZXh0VGVtcGxhdGUgbGV0LWRhdGEgbGV0LWluZGV4PlxuICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJkYXRhLnBpcGVUeXBlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUnXCI+XG4gICAgICA8ZGl2IFtuZ0NsYXNzXT1cImRhdGEudGV4dEN1c3RvbUNsYXNzZXNcIiBjbGFzcz1cInRleHRcIj5cbiAgICAgICAge3sgZGF0YS5maWVsZCB8IGRhdGU6IGRhdGEucGlwZVN0cmluZyB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2N1cnJlbmN5J1wiPlxuICAgICAgPGRpdiBbbmdDbGFzc109XCJkYXRhLnRleHRDdXN0b21DbGFzc2VzXCIgY2xhc3M9XCJ0ZXh0XCI+XG4gICAgICAgIHt7IGRhdGEuZmllbGQgfCBjdXJyZW5jeTogZGF0YS5waXBlU3RyaW5nIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICA8ZGl2IFtuZ0NsYXNzXT1cImRhdGEudGV4dEN1c3RvbUNsYXNzZXNcIiBjbGFzcz1cInRleHRcIj5cbiAgICAgICAge3sgZGF0YS5maWVsZCB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtbWFpbi10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1tYWluLXRhYmxlL2NhLW1haW4tdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtbWFpbi10YWJsZS9jYS1tYWluLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixRQUFRLEVBQ1IsS0FBSyxFQUVMLE1BQU0sRUFFTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDN0csT0FBTyxFQUNMLE9BQU8sRUFFUCxrQkFBa0IsRUFDbEIsY0FBYyxFQUNkLFdBQVcsRUFDWCxnQkFBZ0IsRUFDaEIsZUFBZSxHQUNoQixNQUFNLHdCQUF3QixDQUFDO0FBRWhDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQW1CekQsTUFBTSxPQUFPLG9CQUFvQjtJQTBCL0IsWUFDVSxRQUFrQixFQUNsQixLQUF3QjtRQUR4QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBekJsQyxVQUFVO1FBQ0EsaUJBQVksR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUMxRCxjQUFTLEdBQ2pCLElBQUksWUFBWSxFQUF1QyxDQUFDO1FBS2pELHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUNsQyxrQkFBYSxHQUFzRCxDQUMxRSxDQUFTLEVBQ1QsRUFBbUIsRUFDbkIsRUFBRTtZQUNGLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDO1FBRUYsU0FBUztRQUNBLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUNsQyxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QixzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFDbkMsWUFBTyxHQUFtQixFQUFFLENBQUM7SUFNbkMsQ0FBQztJQUVKLFVBQVUsQ0FBQyxPQUFZO1FBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUM1QixnRUFBZ0U7WUFDaEUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNsRCxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGNBQWMsQ0FBQyxPQUFZLEVBQUUsTUFBOEI7UUFDekQsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzdELE9BQU8sRUFBRSxHQUFHO1lBQ1osUUFBUSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUM7U0FDdEIsQ0FBQyxDQUFDLENBQUM7UUFDSixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDckIsU0FBUyxFQUFFLGNBQWM7WUFDekIsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3RCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxhQUFhLENBQ1gsWUFBaUIsRUFDakIsT0FBZ0Q7UUFFaEQsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUN6QyxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQ3BDLFlBQVksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO2FBQ2hFO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQTRCO1FBQ3JDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxJQUFJLENBQUMsS0FBMEM7UUFDN0MsZUFBZSxDQUNiLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSyxFQUNyQixLQUFLLENBQUMsYUFBYSxFQUNuQixLQUFLLENBQUMsWUFBWSxDQUNuQixDQUFDO1FBRUYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQzsrR0E3RVUsb0JBQW9CO21HQUFwQixvQkFBb0Isd2NDM0NqQyw0cE1BME1BLHc0TEQzS0ksZ0JBQWdCLHFJQUNoQixXQUFXLCtkQUNYLE9BQU8sd2JBRVAsY0FBYyxrR0FDZCx5QkFBeUIsNkRBQ3pCLFlBQVksMnJDQUNaLGVBQWU7OzRGQUtOLG9CQUFvQjtrQkFqQmhDLFNBQVM7K0JBQ0UsbUJBQW1CLGNBRWpCLElBQUksV0FDUDt3QkFDUCxnQkFBZ0I7d0JBQ2hCLFdBQVc7d0JBQ1gsT0FBTzt3QkFDUCxrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QseUJBQXlCO3dCQUN6QixZQUFZO3dCQUNaLGVBQWU7cUJBQ2hCLGlCQUVjLGlCQUFpQixDQUFDLFNBQVM7K0hBTWhDLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFJRSxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFRRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDYU1haW5UYWJsZUhpZGRlblJvd3NQaXBlIH0gZnJvbSAnLi9waXBlcy9jYS1tYWluLXRhYmxlLWhpZGRlbi1yb3dzL2NhLW1haW4tdGFibGUtaGlkZGVuLXJvd3MucGlwZSc7XG5pbXBvcnQge1xuICBDZGtEcmFnLFxuICBDZGtEcmFnRHJvcCxcbiAgQ2RrRHJhZ1BsYWNlaG9sZGVyLFxuICBDZGtEcmFnUHJldmlldyxcbiAgQ2RrRHJvcExpc3QsXG4gIENka0Ryb3BMaXN0R3JvdXAsXG4gIG1vdmVJdGVtSW5BcnJheSxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBDb2x1bW5Db25maWcgfSBmcm9tICcuL21vZGVscy9tYWluLXRhYmxlLm1vZGVsJztcbmltcG9ydCB7IFNjcm9sbGluZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY2EtbWFpbi10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYS1tYWluLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENka0Ryb3BMaXN0R3JvdXAsXG4gICAgQ2RrRHJvcExpc3QsXG4gICAgQ2RrRHJhZyxcbiAgICBDZGtEcmFnUGxhY2Vob2xkZXIsXG4gICAgQ2RrRHJhZ1ByZXZpZXcsXG4gICAgQ2FNYWluVGFibGVIaWRkZW5Sb3dzUGlwZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU2Nyb2xsaW5nTW9kdWxlLFxuICBdLFxuICBzdHlsZVVybHM6IFsnLi9jYS1tYWluLXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLlNoYWRvd0RvbSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FNYWluVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICB0YWJsZURhdGE6IGFueTtcblxuICAvLyBPdXRwdXRzXG4gIEBPdXRwdXQoKSBvblByZXNzRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvblJlb3JkZXI6IEV2ZW50RW1pdHRlcjxDZGtEcmFnRHJvcDxhbnlbXSB8IG51bGwsIGFueSwgYW55Pj4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8Q2RrRHJhZ0Ryb3A8YW55W10gfCBudWxsLCBhbnksIGFueT4+KCk7XG5cbiAgLy8gSW5wdXRzXG4gIEBJbnB1dCgpIHJlb3JkZXJUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIHJlb3JkZXJUZW1wbGF0ZVByZXZpZXchOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBASW5wdXQoKSB0cmFuc3BhcmVudFRhYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNvcnRQcmVkaWNhdGU6IChpbmRleDogbnVtYmVyLCBpdGVtOiBDZGtEcmFnPG51bWJlcj4pID0+IGJvb2xlYW4gPSAoXG4gICAgXzogbnVtYmVyLFxuICAgIF9fOiBDZGtEcmFnPG51bWJlcj5cbiAgKSA9PiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH07XG5cbiAgLy8gSW5wdXRzXG4gIEBJbnB1dCgpIGhpZGVGaWVsZHNUb0hpZGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcmVvcmRlckl0ZW1zOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRpc2FibGVSZW9yZGVyUm93OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNvbHVtbnM6IENvbHVtbkNvbmZpZ1tdID0gW107XG4gIEBJbnB1dCgpIGRhdGEkITogT2JzZXJ2YWJsZTxhbnlbXT47IC8vIEFjY2VwdHMgdGhlIGRhdGEgYXMgYW4gb2JzZXJ2YWJsZVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuICBvblByZXNzUm93KHJvd0RhdGE6IGFueSkge1xuICAgIHRoaXMub25QcmVzc0V2ZW50LmVtaXQocm93RGF0YSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmRhdGEkLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgLy8gVHJpZ2dlciBjaGFuZ2UgZGV0ZWN0aW9uIHRvIHVwZGF0ZSB0aGUgdmlldyB3aGVuIGRhdGEgY2hhbmdlc1xuICAgICAgdGhpcy50YWJsZURhdGEgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcbiAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0pO1xuICB9XG5cbiAgY3JlYXRlSW5qZWN0b3Iocm93RGF0YTogYW55LCBpbnB1dHM6IHsgW2tleTogc3RyaW5nXTogYW55IH0pOiBJbmplY3RvciB7XG4gICAgY29uc3QgaW5wdXRQcm92aWRlcnMgPSBPYmplY3Qua2V5cyhpbnB1dHMgfHwge30pLm1hcCgoa2V5KSA9PiAoe1xuICAgICAgcHJvdmlkZToga2V5LFxuICAgICAgdXNlVmFsdWU6IGlucHV0c1trZXldLFxuICAgIH0pKTtcbiAgICByZXR1cm4gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgIHByb3ZpZGVyczogaW5wdXRQcm92aWRlcnMsXG4gICAgICBwYXJlbnQ6IHRoaXMuaW5qZWN0b3IsXG4gICAgfSk7XG4gIH1cblxuICBhdHRhY2hPdXRwdXRzKFxuICAgIGNvbXBvbmVudFJlZjogYW55LFxuICAgIG91dHB1dHM6IHsgW2tleTogc3RyaW5nXTogKGV2ZW50OiBhbnkpID0+IHZvaWQgfVxuICApOiB2b2lkIHtcbiAgICBPYmplY3Qua2V5cyhvdXRwdXRzKS5mb3JFYWNoKChvdXRwdXRLZXkpID0+IHtcbiAgICAgIGlmIChjb21wb25lbnRSZWYuaW5zdGFuY2Vbb3V0cHV0S2V5XSkge1xuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2Vbb3V0cHV0S2V5XS5zdWJzY3JpYmUob3V0cHV0c1tvdXRwdXRLZXldKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGRyb3BIZWFkZXIoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZ1tdPikge1xuICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLmNvbHVtbnMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gIH1cblxuICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxhbnlbXSB8IG51bGwsIGFueSwgYW55Pikge1xuICAgIG1vdmVJdGVtSW5BcnJheShcbiAgICAgIGV2ZW50LmNvbnRhaW5lci5kYXRhISxcbiAgICAgIGV2ZW50LnByZXZpb3VzSW5kZXgsXG4gICAgICBldmVudC5jdXJyZW50SW5kZXhcbiAgICApO1xuXG4gICAgdGhpcy5vblJlb3JkZXIuZW1pdChldmVudCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjYS1tYWluLXRhYmxlLWhvbGRlclwiPlxuICA8IS0tIDxjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQgaXRlbVNpemU9XCI0NFwiIGNsYXNzPVwibWFpbi10YWJsZS1zY3JvbGwtdmlld3BvcnRcIj4gLS0+XG4gIDx0YWJsZVxuICAgIGNsYXNzPVwiY2EtbWFpbi10YWJsZVwiXG4gICAgW2NsYXNzLnRyYW5zcGFyZW50XT1cInRyYW5zcGFyZW50VGFibGVcIlxuICAgIGNka0Ryb3BMaXN0R3JvdXBcbiAgPlxuICAgIDx0aGVhZD5cbiAgICAgIDx0clxuICAgICAgICBjZGtEcm9wTGlzdFxuICAgICAgICBjZGtEcm9wTGlzdE9yaWVudGF0aW9uPVwiaG9yaXpvbnRhbFwiXG4gICAgICAgIFtjZGtEcm9wTGlzdERpc2FibGVkXT1cIiFyZW9yZGVySXRlbXNcIlxuICAgICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3BIZWFkZXIoJGV2ZW50KVwiXG4gICAgICAgIGNsYXNzPVwidGFibGUtYm9keS1saXN0IHRoLXRhYmxlLWJvZHktbGlzdFwiXG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjZGtEcmFnTG9ja0F4aXM9XCJ4XCJcbiAgICAgICAgICBjZGtEcmFnXG4gICAgICAgICAgY2RrRHJhZ1ByZXZpZXdDb250YWluZXI9XCJwYXJlbnRcIlxuICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgbGV0IGNvbCBvZiBjb2x1bW5zIHwgY2FNYWluVGFibGVIaWRkZW5Sb3dzOiBoaWRlRmllbGRzVG9IaWRlO1xuICAgICAgICAgICAgbGV0IGluZHggPSBpbmRleFxuICAgICAgICAgIFwiXG4gICAgICAgICAgY2xhc3M9XCJjZGtfdGhfZGl2IHRhYmxlLXRyXCJcbiAgICAgICAgICBbY2xhc3NdPVwiY29sLmNlbGxDdXN0b21DbGFzc2VzXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgIGhlYWRlclRoVGVtcGxhdGU7XG4gICAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGNvbCxcbiAgICAgICAgICAgICAgICBpbmRleDogaW5keCxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC90cj5cbiAgICA8L3RoZWFkPlxuICAgIDx0Ym9keVxuICAgICAgI3RhYmxlTWFpbkJvZHlcbiAgICAgIGNka1Njcm9sbGFibGVcbiAgICAgIGNka0Ryb3BMaXN0XG4gICAgICBbY2RrRHJvcExpc3REYXRhXT1cImRhdGEkIHwgYXN5bmNcIlxuICAgICAgW2Nka0Ryb3BMaXN0U29ydFByZWRpY2F0ZV09XCJzb3J0UHJlZGljYXRlXCJcbiAgICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCJcbiAgICAgIGNsYXNzPVwidGFibGUtYm9keS1saXN0XCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCByb3cgb2YgZGF0YSQgfCBhc3luYzsgbGV0IHJvd0luZGV4ID0gaW5kZXhcIj5cbiAgICAgICAgPHRyXG4gICAgICAgICAgKm5nSWY9XCJyb3cucm93VHlwZSAhPSAncmVvcmRlcic7IGVsc2UgcmVvcmRlclwiXG4gICAgICAgICAgY2RrRHJhZ0xvY2tBeGlzPVwieVwiXG4gICAgICAgICAgY2RrRHJhZ1xuICAgICAgICAgIGNka0RyYWdQcmV2aWV3Q29udGFpbmVyPVwicGFyZW50XCJcbiAgICAgICAgICBjZGtEcmFnQm91bmRhcnk9XCIudGFibGUtYm9keS1saXN0XCJcbiAgICAgICAgICBbY2RrRHJhZ0Rpc2FibGVkXT1cIiFyZW9yZGVySXRlbXNcIlxuICAgICAgICAgIChjbGljayk9XCJvblByZXNzUm93KHJvdylcIlxuICAgICAgICAgIGNsYXNzPVwidGFibGUtdHJcIlxuICAgICAgICA+XG4gICAgICAgICAgPHRkXG4gICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgbGV0IGNvbCBvZiBjb2x1bW5zIHwgY2FNYWluVGFibGVIaWRkZW5Sb3dzOiBoaWRlRmllbGRzVG9IaWRlXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW2NsYXNzXT1cImNvbC5jZWxsQ3VzdG9tQ2xhc3Nlc1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgIHJvd1RlbXBsYXRlO1xuICAgICAgICAgICAgICAgIGNvbnRleHQ6IHsgcm93OiByb3csIGNvbDogY29sLCBpbmRleDogcm93SW5kZXggfVxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNyZW9yZGVyPlxuICAgICAgICAgIDx0clxuICAgICAgICAgICAgY2RrRHJhZ0xvY2tBeGlzPVwieVwiXG4gICAgICAgICAgICBjZGtEcmFnXG4gICAgICAgICAgICBjZGtEcmFnUHJldmlld0NvbnRhaW5lcj1cInBhcmVudFwiXG4gICAgICAgICAgICBjZGtEcmFnQm91bmRhcnk9XCIudGFibGUtYm9keS1saXN0XCJcbiAgICAgICAgICAgIGNsYXNzPVwidGFibGUtdHIgdGFibGUtcHJldmlldy1yb3dcIlxuICAgICAgICAgICAgW2Nka0RyYWdEaXNhYmxlZF09XCJkaXNhYmxlUmVvcmRlclJvd1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGNka0RyYWdQcmV2aWV3IG1hdGNoU2l6ZT5cbiAgICAgICAgICAgICAgPHRyIGNsYXNzPVwidGFibGUtdHJcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICByZW9yZGVyVGVtcGxhdGVQcmV2aWV3O1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7IHJvdzogcm93LCBpbmRleDogcm93SW5kZXggfVxuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgIHJlb3JkZXJUZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICBjb250ZXh0OiB7IHJvdzogcm93LCBpbmRleDogcm93SW5kZXggfVxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3Rib2R5PlxuICA8L3RhYmxlPlxuICA8IS0tIDwvY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0PiAtLT5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2hlYWRlclRoVGVtcGxhdGUgbGV0LWNvbCBsZXQtaW5keD1cImluZGV4XCI+XG4gIDx0aD5cbiAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJjb2wuaGVhZGVyQ2VsbFR5cGVcIj5cbiAgICAgIDwhLS0gVGVtcGxhdGUgY2VsbCAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid0ZW1wbGF0ZSdcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICBjb2wuaGVhZGVyVGVtcGxhdGU7XG4gICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICRpbXBsaWNpdDogY29sLmhlYWRlcixcbiAgICAgICAgICAgICAgaW5kZXg6IGluZHgsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8ZGl2ICpuZ1N3aXRjaERlZmF1bHQgY2xhc3M9XCJ0aC1jb250ZW50LWNvbnRhaW5lclwiPlxuICAgICAgICB7eyBjb2wuaGVhZGVyIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC90aD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjcm93VGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiIGxldC1jb2w9XCJjb2xcIiBsZXQtaW5kZXg9XCJpbmRleFwiPlxuICA8ZGl2IGNsYXNzPVwidGQtY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cInRkLWNvbnRlbnQtY29udGFpbmVyXCI+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJjb2wuY2VsbFR5cGVcIj5cbiAgICAgICAgPCEtLSBEZWZhdWx0IHRleHQgY2VsbCAtLT5cbiAgICAgICAgPCEtLSA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ3RleHQnXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgcm93W2NvbC5maWVsZF1cbiAgICAgICAgICAgICAgICB9fTwvc3Bhbj4gLS0+XG5cbiAgICAgICAgPCEtLSBUZW1wbGF0ZSBjZWxsIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGVtcGxhdGUnXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgY29sLnRlbXBsYXRlO1xuICAgICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgJGltcGxpY2l0OiBjb2wucm93ID8gcm93IDogcm93W2NvbC5maWVsZF0sXG4gICAgICAgICAgICAgICAgaW5kZXg6IGluZGV4LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBcIlxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBDdXN0b20gY29tcG9uZW50IGNlbGwgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidjb21wb25lbnQnXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nQ29tcG9uZW50T3V0bGV0PVwiXG4gICAgICAgICAgICAgIGNvbC5jb21wb25lbnQ7XG4gICAgICAgICAgICAgIGluamVjdG9yOiBjcmVhdGVJbmplY3Rvcihyb3csIGNvbC5pbnB1dHMpXG4gICAgICAgICAgICBcIlxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBEZWZhdWx0IGZhbGxiYWNrIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgY3VzdG9tVGV4dFRlbXBsYXRlO1xuICAgICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgJGltcGxpY2l0OiB7XG4gICAgICAgICAgICAgICAgICBmaWVsZDogcm93W2NvbC5maWVsZF0sXG4gICAgICAgICAgICAgICAgICBwaXBlVHlwZTogY29sLnBpcGVUeXBlLFxuICAgICAgICAgICAgICAgICAgcGlwZVN0cmluZzogY29sLnBpcGVTdHJpbmcsXG4gICAgICAgICAgICAgICAgICB0ZXh0Q3VzdG9tQ2xhc3NlczogY29sLnRleHRDdXN0b21DbGFzc2VzLFxuICAgICAgICAgICAgICAgICAgaW5kZXg6IGluZGV4LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjwhLS0gRGVmYXVsdCBUZXh0IFRlbXBsYXRlICAtLT5cbjxuZy10ZW1wbGF0ZSAjY3VzdG9tVGV4dFRlbXBsYXRlIGxldC1kYXRhIGxldC1pbmRleD5cbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiZGF0YS5waXBlVHlwZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidkYXRlJ1wiPlxuICAgICAgPGRpdiBbbmdDbGFzc109XCJkYXRhLnRleHRDdXN0b21DbGFzc2VzXCIgY2xhc3M9XCJ0ZXh0XCI+XG4gICAgICAgIHt7IGRhdGEuZmllbGQgfCBkYXRlOiBkYXRhLnBpcGVTdHJpbmcgfX1cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidjdXJyZW5jeSdcIj5cbiAgICAgIDxkaXYgW25nQ2xhc3NdPVwiZGF0YS50ZXh0Q3VzdG9tQ2xhc3Nlc1wiIGNsYXNzPVwidGV4dFwiPlxuICAgICAgICB7eyBkYXRhLmZpZWxkIHwgY3VycmVuY3k6IGRhdGEucGlwZVN0cmluZyB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxuICAgICAgPGRpdiBbbmdDbGFzc109XCJkYXRhLnRleHRDdXN0b21DbGFzc2VzXCIgY2xhc3M9XCJ0ZXh0XCI+XG4gICAgICAgIHt7IGRhdGEuZmllbGQgfX1cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=