@posiwise/admin-module 0.0.14 → 0.0.18

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 (66) hide show
  1. package/esm2020/lib/admin.module.mjs +34 -4
  2. package/esm2020/lib/components/TOS/terms-of-service/terms-of-service.component.mjs +6 -6
  3. package/esm2020/lib/components/TOS/terms-of-service-details/terms-of-service-details.component.mjs +4 -4
  4. package/esm2020/lib/components/config/global-config-details/global-config-details.component.mjs +7 -6
  5. package/esm2020/lib/components/config/global-config-list/global-config-list.component.mjs +6 -6
  6. package/esm2020/lib/components/contact-us/contact-us-list/contact-us-list.component.mjs +8 -7
  7. package/esm2020/lib/components/credentials/credentials/credentials.component.mjs +6 -6
  8. package/esm2020/lib/components/credentials/credentials-details/credentials-details.component.mjs +8 -7
  9. package/esm2020/lib/components/credentials/subscription-credentials/subscription-credentials.component.mjs +5 -5
  10. package/esm2020/lib/components/credentials/subscription-credentials-details/subscription-credentials-details.component.mjs +4 -4
  11. package/esm2020/lib/components/domain-config/domain-config-details/domain-config-build/domain-config-build.component.mjs +7 -5
  12. package/esm2020/lib/components/domain-config/domain-config-details/domain-config-core/domain-config-core.component.mjs +6 -5
  13. package/esm2020/lib/components/domain-config/domain-config-details/domain-config-integrations/domain-config-integrations.component.mjs +6 -5
  14. package/esm2020/lib/components/domain-config/domain-config-details/domain-config-interface/domain-config-interface.component.mjs +6 -5
  15. package/esm2020/lib/components/domain-config/domain-config-details/domain-config-organization/domain-config-organization.component.mjs +6 -5
  16. package/esm2020/lib/components/domain-config/domain-config-details/domain-config-security/domain-config-security.component.mjs +6 -5
  17. package/esm2020/lib/components/domain-config/domain-config-details/domain-config-social/domain-config-social.component.mjs +6 -5
  18. package/esm2020/lib/components/domain-config/domain-config-list/domain-config-list.component.mjs +9 -8
  19. package/esm2020/lib/components/faqs/faqs-list/faqs-list.component.mjs +15 -11
  20. package/esm2020/lib/components/feedback-questions/feedback-questions-details/feedback-questions-details.component.mjs +3 -3
  21. package/esm2020/lib/components/feedback-questions/feedback-questions-list/feedback-questions-list.component.mjs +8 -7
  22. package/esm2020/lib/components/generic/generic-misc/generic-misc.component.mjs +4 -3
  23. package/esm2020/lib/components/login-notifications/login-notification-details/login-notification-details.component.mjs +9 -6
  24. package/esm2020/lib/components/login-notifications/login-notifications-list/login-notifications-list.component.mjs +10 -9
  25. package/esm2020/lib/components/newsletters/newsletter-details/newsletter-details.component.mjs +7 -6
  26. package/esm2020/lib/components/newsletters/newsletter-item-details/newsletter-item-details.component.mjs +14 -10
  27. package/esm2020/lib/components/newsletters/newsletter-users-list/newsletter-users-list.component.mjs +8 -7
  28. package/esm2020/lib/components/newsletters/newsletters-insight/newsletters-insight.component.mjs +5 -4
  29. package/esm2020/lib/components/newsletters/newsletters-items/newsletters-items.component.mjs +12 -10
  30. package/esm2020/lib/components/newsletters/newsletters-list/newsletters-list.component.mjs +9 -8
  31. package/esm2020/lib/components/permissions/permissions-details/permissions-details.component.mjs +8 -7
  32. package/esm2020/lib/components/permissions/permissions-list/permissions-list.component.mjs +5 -5
  33. package/esm2020/lib/components/permissions/role-details/role-details.component.mjs +8 -7
  34. package/esm2020/lib/components/permissions/roles-list/roles-list.component.mjs +5 -5
  35. package/esm2020/lib/components/products/product-details/product-details.component.mjs +10 -7
  36. package/esm2020/lib/components/products/products-insight/products-insight.component.mjs +6 -4
  37. package/esm2020/lib/components/products/products-list/products-list.component.mjs +11 -9
  38. package/esm2020/lib/components/products/users-list-for-product/users-list-for-product.component.mjs +5 -5
  39. package/esm2020/lib/components/subscriptions/subscription-agents/subscription-agents.component.mjs +4 -4
  40. package/esm2020/lib/components/subscriptions/subscription-agents-list/subscription-agents-list.component.mjs +8 -7
  41. package/esm2020/lib/components/subscriptions/subscription-details/subscription-details.component.mjs +13 -11
  42. package/esm2020/lib/components/subscriptions/subscription-product-details/subscription-product-details.component.mjs +8 -6
  43. package/esm2020/lib/components/subscriptions/subscription-products/subscription-products.component.mjs +9 -8
  44. package/esm2020/lib/components/subscriptions/subscription-users/subscription-users.component.mjs +10 -9
  45. package/esm2020/lib/components/subscriptions/subscriptions-insight/subscription-insight-nps/subscription-insight-nps.component.mjs +10 -8
  46. package/esm2020/lib/components/subscriptions/subscriptions-insight/subscription-insight-revenue/subscription-insight-revenue.component.mjs +6 -4
  47. package/esm2020/lib/components/subscriptions/subscriptions-insight/subscriptions-insight.component.mjs +6 -4
  48. package/esm2020/lib/components/subscriptions/subscriptions-list/subscriptions-list.component.mjs +11 -9
  49. package/esm2020/lib/components/tags/tags-category/tags-category.component.mjs +4 -4
  50. package/esm2020/lib/components/tags/tags-list/tags-list.component.mjs +9 -7
  51. package/esm2020/lib/components/tips/tip-detail/tip-detail.component.mjs +7 -6
  52. package/esm2020/lib/components/tips/tips-list/tips-list.component.mjs +8 -7
  53. package/esm2020/lib/components/tracking/ahoy-events/ahoy-events.component.mjs +8 -6
  54. package/esm2020/lib/components/tracking/ahoy-messages/ahoy-messages.component.mjs +9 -8
  55. package/esm2020/lib/components/tracking/ahoy-visits/ahoy-visits.component.mjs +8 -7
  56. package/esm2020/lib/components/tracking/events/events.component.mjs +8 -7
  57. package/esm2020/lib/components/tracking/versions/versions.component.mjs +8 -6
  58. package/esm2020/lib/components/users/user-details/user-details.component.mjs +9 -7
  59. package/esm2020/lib/components/users/users-insight/users-insight.component.mjs +5 -3
  60. package/esm2020/lib/components/users/users-list/users-list.component.mjs +11 -10
  61. package/fesm2015/admin-module.mjs +134 -97
  62. package/fesm2015/admin-module.mjs.map +1 -1
  63. package/fesm2020/admin-module.mjs +134 -97
  64. package/fesm2020/admin-module.mjs.map +1 -1
  65. package/lib/admin.module.d.ts +17 -11
  66. package/package.json +4 -4
@@ -9,9 +9,10 @@ import { ValidateForm } from '@posiwise/utils';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "../../../../admin.service";
11
11
  import * as i2 from "@angular/common";
12
- import * as i3 from "@posiwise/shared-components";
13
- import * as i4 from "@angular/forms";
14
- import * as i5 from "@ngneat/transloco";
12
+ import * as i3 from "@angular/forms";
13
+ import * as i4 from "primeng/progressspinner";
14
+ import * as i5 from "@posiwise/shared-components";
15
+ import * as i6 from "@ngneat/transloco";
15
16
  export class DomainConfigCoreComponent extends AppBaseComponent {
16
17
  constructor(injector, adminService) {
17
18
  super(injector);
@@ -72,7 +73,7 @@ export class DomainConfigCoreComponent extends AppBaseComponent {
72
73
  }
73
74
  }
74
75
  DomainConfigCoreComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DomainConfigCoreComponent, deps: [{ token: i0.Injector }, { token: i1.AdminService }], target: i0.ɵɵFactoryTarget.Component });
75
- DomainConfigCoreComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: DomainConfigCoreComponent, selector: "pw-domain-config-core", usesInheritance: true, ngImport: i0, template: "<h3>Core Config</h3>\n<form [formGroup]=\"form\"\n (ngSubmit)=\"onSave()\">\n <div class=\"w-100 text-center mt-3\"\n *ngIf=\"isLoading\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div class=\"row\">\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [showTooltip]=\"true\"\n [label]=\"'Admin.DomainConfig.HostName' | transloco\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.HostName' | transloco\"\n [errorMsg]=\"'Admin.DomainConfig.Validation.HostName' | transloco\"\n name=\"host_name\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"host_name\"\n [ngClass]=\"{ 'is-invalid': submitted && f['host_name'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [showTooltip]=\"true\"\n [label]=\"'Admin.DomainConfig.InternalPath' | transloco\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.InternalPath' | transloco\"\n [errorMsg]=\"'Admin.DomainConfig.Validation.InternalPath' | transloco\"\n name=\"internal_path\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"internal_path\"\n [ngClass]=\"{ 'is-invalid': submitted && f['internal_path'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [showTooltip]=\"true\"\n [label]=\"'Admin.DomainConfig.ShardName' | transloco\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.ShardName' | transloco\"\n [errorMsg]=\"'Admin.DomainConfig.Validation.ShardName' | transloco\"\n name=\"shard_name\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"shard_name\"\n [ngClass]=\"{ 'is-invalid': submitted && f['shard_name'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [showTooltip]=\"true\"\n [label]=\"'Admin.DomainConfig.ShardUrl' | transloco\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.ShardUrl' | transloco\"\n [errorMsg]=\"'Admin.DomainConfig.Validation.ShardUrl' | transloco\"\n name=\"shard_url\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"shard_url\"\n [ngClass]=\"{ 'is-invalid': submitted && f['shard_url'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [label]=\"'Admin.DomainConfig.CompanyName' | transloco\"\n [errorMsg]=\"'Admin.DomainConfig.Validation.CompanyName' | transloco\"\n name=\"company_name\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"company_name\"\n [ngClass]=\"{ 'is-invalid': submitted && f['company_name'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [label]=\"'Admin.DomainConfig.CompanyEmail' | transloco\"\n [errorMsg]=\"'Admin.DomainConfig.Validation.CompanyEmail' | transloco\"\n name=\"company_email\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"company_email\"\n [ngClass]=\"{ 'is-invalid': submitted && f['company_email'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [label]=\"'Admin.DomainConfig.CompanyUrl' | transloco\"\n [errorMsg]=\"'Admin.DomainConfig.Validation.CompanyUrl' | transloco\"\n name=\"company_url\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"company_url\"\n [ngClass]=\"{ 'is-invalid': submitted && f['company_url'].errors }\" />\n </pw-input-container>\n </div>\n </div>\n <div class=\"col-12 text-end mt-3\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"back()\">\n {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\"\n class=\"btn btn-primary\">{{ 'Button.Submit' | transloco }}</button>\n </div>\n</form>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.InputContainerComponent, selector: "pw-input-container", inputs: ["name", "label", "labelClass", "tooltipPosition", "required", "errorMsg", "isReadOnly", "showTooltip", "tooltipText"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i5.TranslocoPipe, name: "transloco" }] });
76
+ DomainConfigCoreComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: DomainConfigCoreComponent, selector: "pw-domain-config-core", usesInheritance: true, ngImport: i0, template: "<h3>Core Config</h3>\n<form [formGroup]=\"form\"\n (ngSubmit)=\"onSave()\">\n <div class=\"w-100 text-center mt-3\"\n *ngIf=\"isLoading\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div class=\"row\">\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [showTooltip]=\"true\"\n [label]=\"'Admin.DomainConfig.HostName' | transloco\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.HostName' | transloco\"\n [errorMsg]=\"'Admin.DomainConfig.Validation.HostName' | transloco\"\n name=\"host_name\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"host_name\"\n [ngClass]=\"{ 'is-invalid': submitted && f['host_name'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [showTooltip]=\"true\"\n [label]=\"'Admin.DomainConfig.InternalPath' | transloco\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.InternalPath' | transloco\"\n [errorMsg]=\"'Admin.DomainConfig.Validation.InternalPath' | transloco\"\n name=\"internal_path\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"internal_path\"\n [ngClass]=\"{ 'is-invalid': submitted && f['internal_path'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [showTooltip]=\"true\"\n [label]=\"'Admin.DomainConfig.ShardName' | transloco\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.ShardName' | transloco\"\n [errorMsg]=\"'Admin.DomainConfig.Validation.ShardName' | transloco\"\n name=\"shard_name\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"shard_name\"\n [ngClass]=\"{ 'is-invalid': submitted && f['shard_name'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [showTooltip]=\"true\"\n [label]=\"'Admin.DomainConfig.ShardUrl' | transloco\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.ShardUrl' | transloco\"\n [errorMsg]=\"'Admin.DomainConfig.Validation.ShardUrl' | transloco\"\n name=\"shard_url\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"shard_url\"\n [ngClass]=\"{ 'is-invalid': submitted && f['shard_url'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [label]=\"'Admin.DomainConfig.CompanyName' | transloco\"\n [errorMsg]=\"'Admin.DomainConfig.Validation.CompanyName' | transloco\"\n name=\"company_name\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"company_name\"\n [ngClass]=\"{ 'is-invalid': submitted && f['company_name'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [label]=\"'Admin.DomainConfig.CompanyEmail' | transloco\"\n [errorMsg]=\"'Admin.DomainConfig.Validation.CompanyEmail' | transloco\"\n name=\"company_email\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"company_email\"\n [ngClass]=\"{ 'is-invalid': submitted && f['company_email'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [label]=\"'Admin.DomainConfig.CompanyUrl' | transloco\"\n [errorMsg]=\"'Admin.DomainConfig.Validation.CompanyUrl' | transloco\"\n name=\"company_url\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"company_url\"\n [ngClass]=\"{ 'is-invalid': submitted && f['company_url'].errors }\" />\n </pw-input-container>\n </div>\n </div>\n <div class=\"col-12 text-end mt-3\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"back()\">\n {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\"\n class=\"btn btn-primary\">{{ 'Button.Submit' | transloco }}</button>\n </div>\n</form>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i4.ProgressSpinner, selector: "p-progressSpinner", inputs: ["style", "styleClass", "strokeWidth", "fill", "animationDuration"] }, { kind: "component", type: i5.InputContainerComponent, selector: "pw-input-container", inputs: ["name", "label", "labelClass", "tooltipPosition", "required", "errorMsg", "isReadOnly", "showTooltip", "tooltipText"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i6.TranslocoPipe, name: "transloco" }] });
76
77
  __decorate([
77
78
  ValidateForm('form'),
78
79
  __metadata("design:type", Function),
@@ -83,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
83
84
  type: Component,
84
85
  args: [{ selector: 'pw-domain-config-core', template: "<h3>Core Config</h3>\n<form [formGroup]=\"form\"\n (ngSubmit)=\"onSave()\">\n <div class=\"w-100 text-center mt-3\"\n *ngIf=\"isLoading\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div class=\"row\">\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [showTooltip]=\"true\"\n [label]=\"'Admin.DomainConfig.HostName' | transloco\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.HostName' | transloco\"\n [errorMsg]=\"'Admin.DomainConfig.Validation.HostName' | transloco\"\n name=\"host_name\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"host_name\"\n [ngClass]=\"{ 'is-invalid': submitted && f['host_name'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [showTooltip]=\"true\"\n [label]=\"'Admin.DomainConfig.InternalPath' | transloco\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.InternalPath' | transloco\"\n [errorMsg]=\"'Admin.DomainConfig.Validation.InternalPath' | transloco\"\n name=\"internal_path\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"internal_path\"\n [ngClass]=\"{ 'is-invalid': submitted && f['internal_path'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [showTooltip]=\"true\"\n [label]=\"'Admin.DomainConfig.ShardName' | transloco\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.ShardName' | transloco\"\n [errorMsg]=\"'Admin.DomainConfig.Validation.ShardName' | transloco\"\n name=\"shard_name\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"shard_name\"\n [ngClass]=\"{ 'is-invalid': submitted && f['shard_name'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [showTooltip]=\"true\"\n [label]=\"'Admin.DomainConfig.ShardUrl' | transloco\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.ShardUrl' | transloco\"\n [errorMsg]=\"'Admin.DomainConfig.Validation.ShardUrl' | transloco\"\n name=\"shard_url\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"shard_url\"\n [ngClass]=\"{ 'is-invalid': submitted && f['shard_url'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [label]=\"'Admin.DomainConfig.CompanyName' | transloco\"\n [errorMsg]=\"'Admin.DomainConfig.Validation.CompanyName' | transloco\"\n name=\"company_name\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"company_name\"\n [ngClass]=\"{ 'is-invalid': submitted && f['company_name'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [label]=\"'Admin.DomainConfig.CompanyEmail' | transloco\"\n [errorMsg]=\"'Admin.DomainConfig.Validation.CompanyEmail' | transloco\"\n name=\"company_email\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"company_email\"\n [ngClass]=\"{ 'is-invalid': submitted && f['company_email'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [label]=\"'Admin.DomainConfig.CompanyUrl' | transloco\"\n [errorMsg]=\"'Admin.DomainConfig.Validation.CompanyUrl' | transloco\"\n name=\"company_url\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"company_url\"\n [ngClass]=\"{ 'is-invalid': submitted && f['company_url'].errors }\" />\n </pw-input-container>\n </div>\n </div>\n <div class=\"col-12 text-end mt-3\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"back()\">\n {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\"\n class=\"btn btn-primary\">{{ 'Button.Submit' | transloco }}</button>\n </div>\n</form>\n" }]
85
86
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.AdminService }]; }, propDecorators: { onSave: [] } });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLWNvbmZpZy1jb3JlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9kb21haW4tY29uZmlnL2RvbWFpbi1jb25maWctZGV0YWlscy9kb21haW4tY29uZmlnLWNvcmUvZG9tYWluLWNvbmZpZy1jb3JlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9kb21haW4tY29uZmlnL2RvbWFpbi1jb25maWctZGV0YWlscy9kb21haW4tY29uZmlnLWNvcmUvZG9tYWluLWNvbmZpZy1jb3JlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUc1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7QUFNL0MsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGdCQUFnQjtJQWUzRCxZQUFZLFFBQWtCLEVBQVUsWUFBMEI7UUFDOUQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRG9CLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBWmxFLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFNbEIsWUFBTyxHQUFHLE9BQU8s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QUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1IsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztzSEE5RVEseUJBQXlCOzBHQUF6Qix5QkFBeUIsb0ZDZnRDLG9wSUFpR0E7QURuQ0k7SUFBQyxZQUFZLENBQUMsTUFBTSxDQUFDOzs7O3VEQStCcEI7MkZBOUVRLHlCQUF5QjtrQkFKckMsU0FBUzsrQkFDSSx1QkFBdUI7MEhBbURqQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBBZG1pblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9hZG1pbi5zZXJ2aWNlJztcbmltcG9ydCB7IERvbWFpbkNvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9pbnRlcmZhY2UvZG9tYWluLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwQWRtaW4gfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvbW9kZWxzL2FkbWluLm1vZGVsJztcbmltcG9ydCB7IFJPVVRFUlMgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvcm91dGVycy9yb3V0ZXJzJztcbmltcG9ydCB7IEFwcEJhc2VDb21wb25lbnQgfSBmcm9tICdAcG9zaXdpc2UvYXBwLWJhc2UtY29tcG9uZW50JztcbmltcG9ydCB7IFBlcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBWYWxpZGF0ZUZvcm0gfSBmcm9tICdAcG9zaXdpc2UvdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3B3LWRvbWFpbi1jb25maWctY29yZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RvbWFpbi1jb25maWctY29yZS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRG9tYWluQ29uZmlnQ29yZUNvbXBvbmVudCBleHRlbmRzIEFwcEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgICBzdWJtaXR0ZWQgPSBmYWxzZTtcblxuICAgIGlkOiBudW1iZXI7XG5cbiAgICBkYXRhOiBEb21haW5Db25maWc7XG5cbiAgICByb3V0ZXJzID0gUk9VVEVSUztcblxuICAgIHN1YnNjcmlwdGlvbklkOiBudW1iZXI7XG5cbiAgICBpc0xvYWRpbmc6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IsIHByaXZhdGUgYWRtaW5TZXJ2aWNlOiBBZG1pblNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgICAgICB0aGlzLmZvcm0gPSBBcHBBZG1pbi5kb21haW5Db25maWdDb3JlRm9ybSgpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkID0gUGVybWlzc2lvblNlcnZpY2Uuc2VsZWN0ZWRTdWJzY3JpcHRpb24/LmlkO1xuICAgICAgICB0aGlzLnJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcbiAgICAgICAgICAgIHRoaXMuaWQgPSBOdW1iZXIocGFyYW1zWydpZCddKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXREb21haW5Db25maWdEZXRhaWxzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldCBmKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtLmNvbnRyb2xzO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RG9tYWluQ29uZmlnRGV0YWlscygpIHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmFkbWluU2VydmljZVxuICAgICAgICAgICAgLmdldERvbWFpbkNvbmZpZ0J5SWQodGhpcy5pZCwgdGhpcy5zdWJzY3JpcHRpb25JZClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBEb21haW5Db25maWcpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGEgPSByZXNwb25zZTtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh0aGlzLmRhdGEpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5hZGQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBAVmFsaWRhdGVGb3JtKCdmb3JtJylcbiAgICBvblNhdmUoKSB7XG4gICAgICAgIHRoaXMuc3VibWl0dGVkID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgZGF0YSA9IHtcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbl9pZDogdGhpcy5zdWJzY3JpcHRpb25JZCxcbiAgICAgICAgICAgIC4uLnRoaXMuZm9ybS52YWx1ZVxuICAgICAgICB9O1xuICAgICAgICBpZiAoIXRoaXMuaWQpIHtcbiAgICAgICAgICAgIGRhdGEubWFzdGVyX3N1YnNjcmlwdGlvbl9pZCA9IHRoaXMuYXBwQ29uZmlnPy5tYXN0ZXJfc3Vic2NyaXB0aW9uPy5zdWJzY3JpcHRpb25faWQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZmlsdGVyZWREYXRhID0gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMoZGF0YSkuZmlsdGVyKChbXywgdl0pID0+IHYgIT09IG51bGwgJiYgdiAhPT0gJycpXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHN1YiQgPSB0aGlzLmlkXG4gICAgICAgICAgICA/IHRoaXMuYWRtaW5TZXJ2aWNlLnVwZGF0ZURvbWFpbkNvbmZpZyh0aGlzLmlkLCBmaWx0ZXJlZERhdGEpXG4gICAgICAgICAgICA6IHRoaXMuYWRtaW5TZXJ2aWNlLmNyZWF0ZURvbWFpbkNvbmZpZyhmaWx0ZXJlZERhdGEpO1xuICAgICAgICBzdWIkLnN1YnNjcmliZSh7XG4gICAgICAgICAgICBuZXh0OiByZXMgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudG9hc3Quc3VjY2Vzcyh0aGlzLnRyYW5zbGF0aW9uLnRyYW5zbGF0ZSgnQWRtaW4uRG9tYWluQ29uZmlnLlVwZGF0ZWRNZXNzYWdlJykpO1xuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFxuICAgICAgICAgICAgICAgICAgICBbYCR7dGhpcy5yb3V0ZXJzLmRvbWFpbkNvbmZpZ0RldGFpbHN9JHt0aGlzLmlkID8gdGhpcy5pZCA6IHJlcy5pZH1gXSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJJZDogJ09yZ2FuaXphdGlvbidcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pLmFkZCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnN1Ym1pdHRlZCA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8aDM+Q29yZSBDb25maWc8L2gzPlxuPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCJcbiAgKG5nU3VibWl0KT1cIm9uU2F2ZSgpXCI+XG4gIDxkaXYgY2xhc3M9XCJ3LTEwMCB0ZXh0LWNlbnRlciBtdC0zXCJcbiAgICAqbmdJZj1cImlzTG9hZGluZ1wiPlxuICAgIDxwLXByb2dyZXNzU3Bpbm5lciBzdHJva2VXaWR0aD1cIjJcIj4gPC9wLXByb2dyZXNzU3Bpbm5lcj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS0zXCI+XG4gICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtzaG93VG9vbHRpcF09XCJ0cnVlXCJcbiAgICAgICAgW2xhYmVsXT1cIidBZG1pbi5Eb21haW5Db25maWcuSG9zdE5hbWUnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIidBZG1pbi5Eb21haW5Db25maWcuVG9vbHRpcC5Ib3N0TmFtZScgfCB0cmFuc2xvY29cIlxuICAgICAgICBbZXJyb3JNc2ddPVwiJ0FkbWluLkRvbWFpbkNvbmZpZy5WYWxpZGF0aW9uLkhvc3ROYW1lJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgIG5hbWU9XCJob3N0X25hbWVcIj5cbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiaG9zdF9uYW1lXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7ICdpcy1pbnZhbGlkJzogc3VibWl0dGVkICYmIGZbJ2hvc3RfbmFtZSddLmVycm9ycyB9XCIgLz5cbiAgICAgIDwvcHctaW5wdXQtY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTNcIj5cbiAgICAgIDxwdy1pbnB1dC1jb250YWluZXIgW3Nob3dUb29sdGlwXT1cInRydWVcIlxuICAgICAgICBbbGFiZWxdPVwiJ0FkbWluLkRvbWFpbkNvbmZpZy5JbnRlcm5hbFBhdGgnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIidBZG1pbi5Eb21haW5Db25maWcuVG9vbHRpcC5JbnRlcm5hbFBhdGgnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgW2Vycm9yTXNnXT1cIidBZG1pbi5Eb21haW5Db25maWcuVmFsaWRhdGlvbi5JbnRlcm5hbFBhdGgnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgbmFtZT1cImludGVybmFsX3BhdGhcIj5cbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiaW50ZXJuYWxfcGF0aFwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWydpbnRlcm5hbF9wYXRoJ10uZXJyb3JzIH1cIiAvPlxuICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tM1wiPlxuICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgIFtsYWJlbF09XCInQWRtaW4uRG9tYWluQ29uZmlnLlNoYXJkTmFtZScgfCB0cmFuc2xvY29cIlxuICAgICAgICBbdG9vbHRpcFRleHRdPVwiJ0FkbWluLkRvbWFpbkNvbmZpZy5Ub29sdGlwLlNoYXJkTmFtZScgfCB0cmFuc2xvY29cIlxuICAgICAgICBbZXJyb3JNc2ddPVwiJ0FkbWluLkRvbWFpbkNvbmZpZy5WYWxpZGF0aW9uLlNoYXJkTmFtZScgfCB0cmFuc2xvY29cIlxuICAgICAgICBuYW1lPVwic2hhcmRfbmFtZVwiPlxuICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIlxuICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzaGFyZF9uYW1lXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7ICdpcy1pbnZhbGlkJzogc3VibWl0dGVkICYmIGZbJ3NoYXJkX25hbWUnXS5lcnJvcnMgfVwiIC8+XG4gICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS0zXCI+XG4gICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtzaG93VG9vbHRpcF09XCJ0cnVlXCJcbiAgICAgICAgW2xhYmVsXT1cIidBZG1pbi5Eb21haW5Db25maWcuU2hhcmRVcmwnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIidBZG1pbi5Eb21haW5Db25maWcuVG9vbHRpcC5TaGFyZFVybCcgfCB0cmFuc2xvY29cIlxuICAgICAgICBbZXJyb3JNc2ddPVwiJ0FkbWluLkRvbWFpbkNvbmZpZy5WYWxpZGF0aW9uLlNoYXJkVXJsJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgIG5hbWU9XCJzaGFyZF91cmxcIj5cbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic2hhcmRfdXJsXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7ICdpcy1pbnZhbGlkJzogc3VibWl0dGVkICYmIGZbJ3NoYXJkX3VybCddLmVycm9ycyB9XCIgLz5cbiAgICAgIDwvcHctaW5wdXQtY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTNcIj5cbiAgICAgIDxwdy1pbnB1dC1jb250YWluZXIgW2xhYmVsXT1cIidBZG1pbi5Eb21haW5Db25maWcuQ29tcGFueU5hbWUnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgW2Vycm9yTXNnXT1cIidBZG1pbi5Eb21haW5Db25maWcuVmFsaWRhdGlvbi5Db21wYW55TmFtZScgfCB0cmFuc2xvY29cIlxuICAgICAgICBuYW1lPVwiY29tcGFueV9uYW1lXCI+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImNvbXBhbnlfbmFtZVwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWydjb21wYW55X25hbWUnXS5lcnJvcnMgfVwiIC8+XG4gICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS0zXCI+XG4gICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtsYWJlbF09XCInQWRtaW4uRG9tYWluQ29uZmlnLkNvbXBhbnlFbWFpbCcgfCB0cmFuc2xvY29cIlxuICAgICAgICBbZXJyb3JNc2ddPVwiJ0FkbWluLkRvbWFpbkNvbmZpZy5WYWxpZGF0aW9uLkNvbXBhbnlFbWFpbCcgfCB0cmFuc2xvY29cIlxuICAgICAgICBuYW1lPVwiY29tcGFueV9lbWFpbFwiPlxuICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIlxuICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjb21wYW55X2VtYWlsXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7ICdpcy1pbnZhbGlkJzogc3VibWl0dGVkICYmIGZbJ2NvbXBhbnlfZW1haWwnXS5lcnJvcnMgfVwiIC8+XG4gICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS0zXCI+XG4gICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtsYWJlbF09XCInQWRtaW4uRG9tYWluQ29uZmlnLkNvbXBhbnlVcmwnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgW2Vycm9yTXNnXT1cIidBZG1pbi5Eb21haW5Db25maWcuVmFsaWRhdGlvbi5Db21wYW55VXJsJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgIG5hbWU9XCJjb21wYW55X3VybFwiPlxuICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIlxuICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjb21wYW55X3VybFwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWydjb21wYW55X3VybCddLmVycm9ycyB9XCIgLz5cbiAgICAgIDwvcHctaW5wdXQtY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImNvbC0xMiB0ZXh0LWVuZCBtdC0zXCI+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLWRlZmF1bHQgbWUtMlwiXG4gICAgICAoY2xpY2spPVwiYmFjaygpXCI+XG4gICAgICB7eyAnQnV0dG9uLkNhbmNlbCcgfCB0cmFuc2xvY28gfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIj57eyAnQnV0dG9uLlN1Ym1pdCcgfCB0cmFuc2xvY28gfX08L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Zvcm0+XG4iXX0=
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLWNvbmZpZy1jb3JlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9kb21haW4tY29uZmlnL2RvbWFpbi1jb25maWctZGV0YWlscy9kb21haW4tY29uZmlnLWNvcmUvZG9tYWluLWNvbmZpZy1jb3JlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9kb21haW4tY29uZmlnL2RvbWFpbi1jb25maWctZGV0YWlscy9kb21haW4tY29uZmlnLWNvcmUvZG9tYWluLWNvbmZpZy1jb3JlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUc1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7O0FBTS9DLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxnQkFBZ0I7SUFlM0QsWUFBWSxRQUFrQixFQUFVLFlBQTBCO1FBQzlELEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQURvQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQVpsRSxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBTWxCLFlBQU8sR0FBRyxPQUFP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QUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNSLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7c0hBOUVRLHlCQUF5QjswR0FBekIseUJBQXlCLG9GQ2Z0QyxvcElBaUdBO0FEbkNJO0lBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQzs7Ozt1REErQnBCOzJGQTlFUSx5QkFBeUI7a0JBSnJDLFNBQVM7K0JBQ0ksdUJBQXVCOzBIQW1EakMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgQWRtaW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vYWRtaW4uc2VydmljZSc7XG5pbXBvcnQgeyBEb21haW5Db25maWcgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlL2RvbWFpbi1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcEFkbWluIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL21vZGVscy9hZG1pbi5tb2RlbCc7XG5pbXBvcnQgeyBST1VURVJTIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL3JvdXRlcnMvcm91dGVycyc7XG5pbXBvcnQgeyBBcHBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1iYXNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tc2VydmljZXMnO1xuaW1wb3J0IHsgVmFsaWRhdGVGb3JtIH0gZnJvbSAnQHBvc2l3aXNlL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwdy1kb21haW4tY29uZmlnLWNvcmUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kb21haW4tY29uZmlnLWNvcmUuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIERvbWFpbkNvbmZpZ0NvcmVDb21wb25lbnQgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gICAgc3VibWl0dGVkID0gZmFsc2U7XG5cbiAgICBpZDogbnVtYmVyO1xuXG4gICAgZGF0YTogRG9tYWluQ29uZmlnO1xuXG4gICAgcm91dGVycyA9IFJPVVRFUlM7XG5cbiAgICBzdWJzY3JpcHRpb25JZDogbnVtYmVyO1xuXG4gICAgaXNMb2FkaW5nOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yLCBwcml2YXRlIGFkbWluU2VydmljZTogQWRtaW5TZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICAgICAgdGhpcy5mb3JtID0gQXBwQWRtaW4uZG9tYWluQ29uZmlnQ29yZUZvcm0oKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25JZCA9IFBlcm1pc3Npb25TZXJ2aWNlLnNlbGVjdGVkU3Vic2NyaXB0aW9uPy5pZDtcbiAgICAgICAgdGhpcy5yb3V0ZS5wYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XG4gICAgICAgICAgICB0aGlzLmlkID0gTnVtYmVyKHBhcmFtc1snaWQnXSk7XG4gICAgICAgICAgICBpZiAodGhpcy5pZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0RG9tYWluQ29uZmlnRGV0YWlscygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXQgZigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybS5jb250cm9scztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldERvbWFpbkNvbmZpZ0RldGFpbHMoKSB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5hZG1pblNlcnZpY2VcbiAgICAgICAgICAgIC5nZXREb21haW5Db25maWdCeUlkKHRoaXMuaWQsIHRoaXMuc3Vic2NyaXB0aW9uSWQpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogRG9tYWluQ29uZmlnKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhID0gcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUodGhpcy5kYXRhKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuYWRkKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgQFZhbGlkYXRlRm9ybSgnZm9ybScpXG4gICAgb25TYXZlKCkge1xuICAgICAgICB0aGlzLnN1Ym1pdHRlZCA9IHRydWU7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgICAgICBzdWJzY3JpcHRpb25faWQ6IHRoaXMuc3Vic2NyaXB0aW9uSWQsXG4gICAgICAgICAgICAuLi50aGlzLmZvcm0udmFsdWVcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKCF0aGlzLmlkKSB7XG4gICAgICAgICAgICBkYXRhLm1hc3Rlcl9zdWJzY3JpcHRpb25faWQgPSB0aGlzLmFwcENvbmZpZz8ubWFzdGVyX3N1YnNjcmlwdGlvbj8uc3Vic2NyaXB0aW9uX2lkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZpbHRlcmVkRGF0YSA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGRhdGEpLmZpbHRlcigoW18sIHZdKSA9PiB2ICE9PSBudWxsICYmIHYgIT09ICcnKVxuICAgICAgICApO1xuICAgICAgICBjb25zdCBzdWIkID0gdGhpcy5pZFxuICAgICAgICAgICAgPyB0aGlzLmFkbWluU2VydmljZS51cGRhdGVEb21haW5Db25maWcodGhpcy5pZCwgZmlsdGVyZWREYXRhKVxuICAgICAgICAgICAgOiB0aGlzLmFkbWluU2VydmljZS5jcmVhdGVEb21haW5Db25maWcoZmlsdGVyZWREYXRhKTtcbiAgICAgICAgc3ViJC5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgbmV4dDogcmVzID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRvYXN0LnN1Y2Nlc3ModGhpcy50cmFuc2xhdGlvbi50cmFuc2xhdGUoJ0FkbWluLkRvbWFpbkNvbmZpZy5VcGRhdGVkTWVzc2FnZScpKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShcbiAgICAgICAgICAgICAgICAgICAgW2Ake3RoaXMucm91dGVycy5kb21haW5Db25maWdEZXRhaWxzfSR7dGhpcy5pZCA/IHRoaXMuaWQgOiByZXMuaWR9YF0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiSWQ6ICdPcmdhbml6YXRpb24nXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KS5hZGQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zdWJtaXR0ZWQgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGgzPkNvcmUgQ29uZmlnPC9oMz5cbjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiXG4gIChuZ1N1Ym1pdCk9XCJvblNhdmUoKVwiPlxuICA8ZGl2IGNsYXNzPVwidy0xMDAgdGV4dC1jZW50ZXIgbXQtM1wiXG4gICAgKm5nSWY9XCJpc0xvYWRpbmdcIj5cbiAgICA8cC1wcm9ncmVzc1NwaW5uZXIgc3Ryb2tlV2lkdGg9XCIyXCI+IDwvcC1wcm9ncmVzc1NwaW5uZXI+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tM1wiPlxuICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgIFtsYWJlbF09XCInQWRtaW4uRG9tYWluQ29uZmlnLkhvc3ROYW1lJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgIFt0b29sdGlwVGV4dF09XCInQWRtaW4uRG9tYWluQ29uZmlnLlRvb2x0aXAuSG9zdE5hbWUnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgW2Vycm9yTXNnXT1cIidBZG1pbi5Eb21haW5Db25maWcuVmFsaWRhdGlvbi5Ib3N0TmFtZScgfCB0cmFuc2xvY29cIlxuICAgICAgICBuYW1lPVwiaG9zdF9uYW1lXCI+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImhvc3RfbmFtZVwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWydob3N0X25hbWUnXS5lcnJvcnMgfVwiIC8+XG4gICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS0zXCI+XG4gICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtzaG93VG9vbHRpcF09XCJ0cnVlXCJcbiAgICAgICAgW2xhYmVsXT1cIidBZG1pbi5Eb21haW5Db25maWcuSW50ZXJuYWxQYXRoJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgIFt0b29sdGlwVGV4dF09XCInQWRtaW4uRG9tYWluQ29uZmlnLlRvb2x0aXAuSW50ZXJuYWxQYXRoJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgIFtlcnJvck1zZ109XCInQWRtaW4uRG9tYWluQ29uZmlnLlZhbGlkYXRpb24uSW50ZXJuYWxQYXRoJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgIG5hbWU9XCJpbnRlcm5hbF9wYXRoXCI+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImludGVybmFsX3BhdGhcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZlsnaW50ZXJuYWxfcGF0aCddLmVycm9ycyB9XCIgLz5cbiAgICAgIDwvcHctaW5wdXQtY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTNcIj5cbiAgICAgIDxwdy1pbnB1dC1jb250YWluZXIgW3Nob3dUb29sdGlwXT1cInRydWVcIlxuICAgICAgICBbbGFiZWxdPVwiJ0FkbWluLkRvbWFpbkNvbmZpZy5TaGFyZE5hbWUnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIidBZG1pbi5Eb21haW5Db25maWcuVG9vbHRpcC5TaGFyZE5hbWUnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgW2Vycm9yTXNnXT1cIidBZG1pbi5Eb21haW5Db25maWcuVmFsaWRhdGlvbi5TaGFyZE5hbWUnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgbmFtZT1cInNoYXJkX25hbWVcIj5cbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic2hhcmRfbmFtZVwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWydzaGFyZF9uYW1lJ10uZXJyb3JzIH1cIiAvPlxuICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tM1wiPlxuICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgIFtsYWJlbF09XCInQWRtaW4uRG9tYWluQ29uZmlnLlNoYXJkVXJsJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgIFt0b29sdGlwVGV4dF09XCInQWRtaW4uRG9tYWluQ29uZmlnLlRvb2x0aXAuU2hhcmRVcmwnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgW2Vycm9yTXNnXT1cIidBZG1pbi5Eb21haW5Db25maWcuVmFsaWRhdGlvbi5TaGFyZFVybCcgfCB0cmFuc2xvY29cIlxuICAgICAgICBuYW1lPVwic2hhcmRfdXJsXCI+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInNoYXJkX3VybFwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWydzaGFyZF91cmwnXS5lcnJvcnMgfVwiIC8+XG4gICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS0zXCI+XG4gICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtsYWJlbF09XCInQWRtaW4uRG9tYWluQ29uZmlnLkNvbXBhbnlOYW1lJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgIFtlcnJvck1zZ109XCInQWRtaW4uRG9tYWluQ29uZmlnLlZhbGlkYXRpb24uQ29tcGFueU5hbWUnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgbmFtZT1cImNvbXBhbnlfbmFtZVwiPlxuICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIlxuICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjb21wYW55X25hbWVcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZlsnY29tcGFueV9uYW1lJ10uZXJyb3JzIH1cIiAvPlxuICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tM1wiPlxuICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBbbGFiZWxdPVwiJ0FkbWluLkRvbWFpbkNvbmZpZy5Db21wYW55RW1haWwnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgW2Vycm9yTXNnXT1cIidBZG1pbi5Eb21haW5Db25maWcuVmFsaWRhdGlvbi5Db21wYW55RW1haWwnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgbmFtZT1cImNvbXBhbnlfZW1haWxcIj5cbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY29tcGFueV9lbWFpbFwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWydjb21wYW55X2VtYWlsJ10uZXJyb3JzIH1cIiAvPlxuICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tM1wiPlxuICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBbbGFiZWxdPVwiJ0FkbWluLkRvbWFpbkNvbmZpZy5Db21wYW55VXJsJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgIFtlcnJvck1zZ109XCInQWRtaW4uRG9tYWluQ29uZmlnLlZhbGlkYXRpb24uQ29tcGFueVVybCcgfCB0cmFuc2xvY29cIlxuICAgICAgICBuYW1lPVwiY29tcGFueV91cmxcIj5cbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY29tcGFueV91cmxcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZlsnY29tcGFueV91cmwnXS5lcnJvcnMgfVwiIC8+XG4gICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJjb2wtMTIgdGV4dC1lbmQgbXQtM1wiPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1kZWZhdWx0IG1lLTJcIlxuICAgICAgKGNsaWNrKT1cImJhY2soKVwiPlxuICAgICAge3sgJ0J1dHRvbi5DYW5jZWwnIHwgdHJhbnNsb2NvIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCJcbiAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCI+e3sgJ0J1dHRvbi5TdWJtaXQnIHwgdHJhbnNsb2NvIH19PC9idXR0b24+XG4gIDwvZGl2PlxuPC9mb3JtPlxuIl19
@@ -9,9 +9,10 @@ import { ValidateForm } from '@posiwise/utils';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "../../../../admin.service";
11
11
  import * as i2 from "@angular/common";
12
- import * as i3 from "@posiwise/shared-components";
13
- import * as i4 from "@angular/forms";
14
- import * as i5 from "@ngneat/transloco";
12
+ import * as i3 from "@angular/forms";
13
+ import * as i4 from "primeng/progressspinner";
14
+ import * as i5 from "@posiwise/shared-components";
15
+ import * as i6 from "@ngneat/transloco";
15
16
  export class DomainConfigIntegrationsComponent extends AppBaseComponent {
16
17
  constructor(injector, adminService) {
17
18
  super(injector);
@@ -69,7 +70,7 @@ export class DomainConfigIntegrationsComponent extends AppBaseComponent {
69
70
  }
70
71
  }
71
72
  DomainConfigIntegrationsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DomainConfigIntegrationsComponent, deps: [{ token: i0.Injector }, { token: i1.AdminService }], target: i0.ɵɵFactoryTarget.Component });
72
- DomainConfigIntegrationsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: DomainConfigIntegrationsComponent, selector: "pw-domain-config-integrations", usesInheritance: true, ngImport: i0, template: "<h3>Integrations</h3>\n<div class=\"w-100 text-center mt-3\"\n *ngIf=\"isLoading\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n</div>\n<ng-container *ngIf=\"data?.host_name\">\n <form [formGroup]=\"form\"\n (ngSubmit)=\"onSave()\">\n <div class=\"row\">\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.IntegrationCaptchaKey' | transloco\"\n [label]=\"'Admin.DomainConfig.IntegrationCaptchaKey' | transloco\"\n name=\"integrations_captcha_key\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"integrations_captcha_key\"\n [ngClass]=\"{ 'is-invalid': submitted && f['integrations_captcha_key'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.IntegrationCaptchaKeyV2' | transloco\"\n [label]=\"'Admin.DomainConfig.IntegrationCaptchaKeyV2' | transloco\"\n name=\"integrations_captcha_key_V2\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"integrations_captcha_key_V2\"\n [ngClass]=\"{\n 'is-invalid': submitted && f['integrations_captcha_key_V2'].errors\n }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.IntegrationGoogleAnalytics' | transloco\"\n [label]=\"'Admin.DomainConfig.IntegrationGoogleAnalytics' | transloco\"\n name=\"integrations_google_analytics\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"integrations_google_analytics\"\n [ngClass]=\"{\n 'is-invalid': submitted && f['integrations_google_analytics'].errors\n }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.IntegrationsGoogleApiKey' | transloco\"\n [label]=\"'Admin.DomainConfig.IntegrationsGoogleApiKey' | transloco\"\n name=\"integrations_google_api_key\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"integrations_google_api_key\"\n [ngClass]=\"{\n 'is-invalid': submitted && f['integrations_google_api_key'].errors\n }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.IntegrationsSentryConfigDns' | transloco\"\n [label]=\"'Admin.DomainConfig.IntegrationsSentryConfigDns' | transloco\"\n name=\"integrations_sentry_config_dns\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"integrations_sentry_config_dns\"\n [ngClass]=\"{\n 'is-invalid': submitted && f['integrations_sentry_config_dns'].errors\n }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.IntegrationDriftCode' | transloco\"\n [label]=\"'Admin.DomainConfig.IntegrationDriftCode' | transloco\"\n name=\"integrations_drift_code\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"integrations_drift_code\"\n [ngClass]=\"{ 'is-invalid': submitted && f['integrations_drift_code'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.IntegrationFbAppId' | transloco\"\n [label]=\"'Admin.DomainConfig.IntegrationFbAppId' | transloco\"\n name=\"integrations_fb_app_id\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"integrations_fb_app_id\"\n [ngClass]=\"{ 'is-invalid': submitted && f['integrations_fb_app_id'].errors }\" />\n </pw-input-container>\n </div>\n </div>\n <div class=\"col-12 text-end mt-3\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"back()\">\n {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\"\n class=\"btn btn-primary\">{{ 'Button.Submit' | transloco }}</button>\n </div>\n </form>\n</ng-container>\n<div *ngIf=\"!data?.host_name && !isLoading\">\n <pw-no-data [message]=\"'Admin.DomainConfig.EnableConfigTab' | transloco\"> </pw-no-data>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.InputContainerComponent, selector: "pw-input-container", inputs: ["name", "label", "labelClass", "tooltipPosition", "required", "errorMsg", "isReadOnly", "showTooltip", "tooltipText"] }, { kind: "component", type: i3.NoDataComponent, selector: "pw-no-data", inputs: ["message"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i5.TranslocoPipe, name: "transloco" }] });
73
+ DomainConfigIntegrationsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: DomainConfigIntegrationsComponent, selector: "pw-domain-config-integrations", usesInheritance: true, ngImport: i0, template: "<h3>Integrations</h3>\n<div class=\"w-100 text-center mt-3\"\n *ngIf=\"isLoading\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n</div>\n<ng-container *ngIf=\"data?.host_name\">\n <form [formGroup]=\"form\"\n (ngSubmit)=\"onSave()\">\n <div class=\"row\">\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.IntegrationCaptchaKey' | transloco\"\n [label]=\"'Admin.DomainConfig.IntegrationCaptchaKey' | transloco\"\n name=\"integrations_captcha_key\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"integrations_captcha_key\"\n [ngClass]=\"{ 'is-invalid': submitted && f['integrations_captcha_key'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.IntegrationCaptchaKeyV2' | transloco\"\n [label]=\"'Admin.DomainConfig.IntegrationCaptchaKeyV2' | transloco\"\n name=\"integrations_captcha_key_V2\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"integrations_captcha_key_V2\"\n [ngClass]=\"{\n 'is-invalid': submitted && f['integrations_captcha_key_V2'].errors\n }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.IntegrationGoogleAnalytics' | transloco\"\n [label]=\"'Admin.DomainConfig.IntegrationGoogleAnalytics' | transloco\"\n name=\"integrations_google_analytics\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"integrations_google_analytics\"\n [ngClass]=\"{\n 'is-invalid': submitted && f['integrations_google_analytics'].errors\n }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.IntegrationsGoogleApiKey' | transloco\"\n [label]=\"'Admin.DomainConfig.IntegrationsGoogleApiKey' | transloco\"\n name=\"integrations_google_api_key\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"integrations_google_api_key\"\n [ngClass]=\"{\n 'is-invalid': submitted && f['integrations_google_api_key'].errors\n }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.IntegrationsSentryConfigDns' | transloco\"\n [label]=\"'Admin.DomainConfig.IntegrationsSentryConfigDns' | transloco\"\n name=\"integrations_sentry_config_dns\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"integrations_sentry_config_dns\"\n [ngClass]=\"{\n 'is-invalid': submitted && f['integrations_sentry_config_dns'].errors\n }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.IntegrationDriftCode' | transloco\"\n [label]=\"'Admin.DomainConfig.IntegrationDriftCode' | transloco\"\n name=\"integrations_drift_code\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"integrations_drift_code\"\n [ngClass]=\"{ 'is-invalid': submitted && f['integrations_drift_code'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.IntegrationFbAppId' | transloco\"\n [label]=\"'Admin.DomainConfig.IntegrationFbAppId' | transloco\"\n name=\"integrations_fb_app_id\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"integrations_fb_app_id\"\n [ngClass]=\"{ 'is-invalid': submitted && f['integrations_fb_app_id'].errors }\" />\n </pw-input-container>\n </div>\n </div>\n <div class=\"col-12 text-end mt-3\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"back()\">\n {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\"\n class=\"btn btn-primary\">{{ 'Button.Submit' | transloco }}</button>\n </div>\n </form>\n</ng-container>\n<div *ngIf=\"!data?.host_name && !isLoading\">\n <pw-no-data [message]=\"'Admin.DomainConfig.EnableConfigTab' | transloco\"> </pw-no-data>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i4.ProgressSpinner, selector: "p-progressSpinner", inputs: ["style", "styleClass", "strokeWidth", "fill", "animationDuration"] }, { kind: "component", type: i5.InputContainerComponent, selector: "pw-input-container", inputs: ["name", "label", "labelClass", "tooltipPosition", "required", "errorMsg", "isReadOnly", "showTooltip", "tooltipText"] }, { kind: "component", type: i5.NoDataComponent, selector: "pw-no-data", inputs: ["message"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i6.TranslocoPipe, name: "transloco" }] });
73
74
  __decorate([
74
75
  ValidateForm('form'),
75
76
  __metadata("design:type", Function),
@@ -80,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
80
81
  type: Component,
81
82
  args: [{ selector: 'pw-domain-config-integrations', template: "<h3>Integrations</h3>\n<div class=\"w-100 text-center mt-3\"\n *ngIf=\"isLoading\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n</div>\n<ng-container *ngIf=\"data?.host_name\">\n <form [formGroup]=\"form\"\n (ngSubmit)=\"onSave()\">\n <div class=\"row\">\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.IntegrationCaptchaKey' | transloco\"\n [label]=\"'Admin.DomainConfig.IntegrationCaptchaKey' | transloco\"\n name=\"integrations_captcha_key\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"integrations_captcha_key\"\n [ngClass]=\"{ 'is-invalid': submitted && f['integrations_captcha_key'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.IntegrationCaptchaKeyV2' | transloco\"\n [label]=\"'Admin.DomainConfig.IntegrationCaptchaKeyV2' | transloco\"\n name=\"integrations_captcha_key_V2\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"integrations_captcha_key_V2\"\n [ngClass]=\"{\n 'is-invalid': submitted && f['integrations_captcha_key_V2'].errors\n }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.IntegrationGoogleAnalytics' | transloco\"\n [label]=\"'Admin.DomainConfig.IntegrationGoogleAnalytics' | transloco\"\n name=\"integrations_google_analytics\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"integrations_google_analytics\"\n [ngClass]=\"{\n 'is-invalid': submitted && f['integrations_google_analytics'].errors\n }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.IntegrationsGoogleApiKey' | transloco\"\n [label]=\"'Admin.DomainConfig.IntegrationsGoogleApiKey' | transloco\"\n name=\"integrations_google_api_key\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"integrations_google_api_key\"\n [ngClass]=\"{\n 'is-invalid': submitted && f['integrations_google_api_key'].errors\n }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.IntegrationsSentryConfigDns' | transloco\"\n [label]=\"'Admin.DomainConfig.IntegrationsSentryConfigDns' | transloco\"\n name=\"integrations_sentry_config_dns\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"integrations_sentry_config_dns\"\n [ngClass]=\"{\n 'is-invalid': submitted && f['integrations_sentry_config_dns'].errors\n }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.IntegrationDriftCode' | transloco\"\n [label]=\"'Admin.DomainConfig.IntegrationDriftCode' | transloco\"\n name=\"integrations_drift_code\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"integrations_drift_code\"\n [ngClass]=\"{ 'is-invalid': submitted && f['integrations_drift_code'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.IntegrationFbAppId' | transloco\"\n [label]=\"'Admin.DomainConfig.IntegrationFbAppId' | transloco\"\n name=\"integrations_fb_app_id\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"integrations_fb_app_id\"\n [ngClass]=\"{ 'is-invalid': submitted && f['integrations_fb_app_id'].errors }\" />\n </pw-input-container>\n </div>\n </div>\n <div class=\"col-12 text-end mt-3\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"back()\">\n {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\"\n class=\"btn btn-primary\">{{ 'Button.Submit' | transloco }}</button>\n </div>\n </form>\n</ng-container>\n<div *ngIf=\"!data?.host_name && !isLoading\">\n <pw-no-data [message]=\"'Admin.DomainConfig.EnableConfigTab' | transloco\"> </pw-no-data>\n</div>\n" }]
82
83
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.AdminService }]; }, propDecorators: { onSave: [] } });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLWNvbmZpZy1pbnRlZ3JhdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL2RvbWFpbi1jb25maWcvZG9tYWluLWNvbmZpZy1kZXRhaWxzL2RvbWFpbi1jb25maWctaW50ZWdyYXRpb25zL2RvbWFpbi1jb25maWctaW50ZWdyYXRpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9kb21haW4tY29uZmlnL2RvbWFpbi1jb25maWctZGV0YWlscy9kb21haW4tY29uZmlnLWludGVncmF0aW9ucy9kb21haW4tY29uZmlnLWludGVncmF0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFHNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXpELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7O0FBTS9DLE1BQU0sT0FBTyxpQ0FBa0MsU0FBUSxnQkFBZ0I7SUFlbkUsWUFBWSxRQUFrQixFQUFVLFlBQTBCO1FBQzlELEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQURvQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQVpsRSxj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QUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OzhIQTNFUSxpQ0FBaUM7a0hBQWpDLGlDQUFpQyw0RkNmOUMsKy9KQTZHQTtBRC9DSTtJQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7Ozs7K0RBNEJwQjsyRkEzRVEsaUNBQWlDO2tCQUo3QyxTQUFTOytCQUNJLCtCQUErQjswSEFtRHpDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEFkbWluU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2FkbWluLnNlcnZpY2UnO1xuaW1wb3J0IHsgRG9tYWluQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2ludGVyZmFjZS9kb21haW4tY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBcHBBZG1pbiB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9tb2RlbHMvYWRtaW4ubW9kZWwnO1xuaW1wb3J0IHsgUk9VVEVSUyB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9yb3V0ZXJzL3JvdXRlcnMnO1xuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXNlcnZpY2VzJztcbmltcG9ydCB7IFZhbGlkYXRlRm9ybSB9IGZyb20gJ0Bwb3Npd2lzZS91dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncHctZG9tYWluLWNvbmZpZy1pbnRlZ3JhdGlvbnMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kb21haW4tY29uZmlnLWludGVncmF0aW9ucy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRG9tYWluQ29uZmlnSW50ZWdyYXRpb25zQ29tcG9uZW50IGV4dGVuZHMgQXBwQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcblxuICAgIHN1Ym1pdHRlZCA9IGZhbHNlO1xuXG4gICAgaWQ6IG51bWJlcjtcblxuICAgIGRhdGE6IERvbWFpbkNvbmZpZztcblxuICAgIHJvdXRlcnMgPSBST1VURVJTO1xuXG4gICAgc3Vic2NyaXB0aW9uSWQ6IG51bWJlcjtcblxuICAgIGlzTG9hZGluZzogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3RvciwgcHJpdmF0ZSBhZG1pblNlcnZpY2U6IEFkbWluU2VydmljZSkge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgICAgIHRoaXMuZm9ybSA9IEFwcEFkbWluLmRvbWFpbkNvbmZpZ0ludGVncmF0aW9uc0Zvcm0oKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25JZCA9IFBlcm1pc3Npb25TZXJ2aWNlLnNlbGVjdGVkU3Vic2NyaXB0aW9uPy5pZDtcbiAgICAgICAgdGhpcy5yb3V0ZS5wYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XG4gICAgICAgICAgICB0aGlzLmlkID0gTnVtYmVyKHBhcmFtc1snaWQnXSk7XG4gICAgICAgICAgICBpZiAodGhpcy5pZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0RG9tYWluQ29uZmlnRGV0YWlscygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXQgZigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybS5jb250cm9scztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldERvbWFpbkNvbmZpZ0RldGFpbHMoKSB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5hZG1pblNlcnZpY2VcbiAgICAgICAgICAgIC5nZXREb21haW5Db25maWdCeUlkKHRoaXMuaWQsIHRoaXMuc3Vic2NyaXB0aW9uSWQpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogRG9tYWluQ29uZmlnKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhID0gcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUodGhpcy5kYXRhKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuYWRkKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgQFZhbGlkYXRlRm9ybSgnZm9ybScpXG4gICAgb25TYXZlKCkge1xuICAgICAgICB0aGlzLnN1Ym1pdHRlZCA9IHRydWU7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgICAgICAuLi50aGlzLmZvcm0udmFsdWUsXG4gICAgICAgICAgICBzdWJzY3JpcHRpb25faWQ6IHRoaXMuc3Vic2NyaXB0aW9uSWRcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgZmlsdGVyZWREYXRhID0gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMoZGF0YSkuZmlsdGVyKChbXywgdl0pID0+IHYgIT09IG51bGwgJiYgdiAhPT0gJycpXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHN1YiQgPSB0aGlzLmlkXG4gICAgICAgICAgICA/IHRoaXMuYWRtaW5TZXJ2aWNlLnVwZGF0ZURvbWFpbkNvbmZpZyh0aGlzLmlkLCBmaWx0ZXJlZERhdGEpXG4gICAgICAgICAgICA6IHRoaXMuYWRtaW5TZXJ2aWNlLmNyZWF0ZURvbWFpbkNvbmZpZyhmaWx0ZXJlZERhdGEpO1xuICAgICAgICBzdWIkLnN1YnNjcmliZSh7XG4gICAgICAgICAgICBuZXh0OiByZXMgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudG9hc3Quc3VjY2Vzcyh0aGlzLnRyYW5zbGF0aW9uLnRyYW5zbGF0ZSgnQWRtaW4uRG9tYWluQ29uZmlnLlVwZGF0ZWRNZXNzYWdlJykpO1xuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFxuICAgICAgICAgICAgICAgICAgICBbYCR7dGhpcy5yb3V0ZXJzLmRvbWFpbkNvbmZpZ0RldGFpbHN9JHt0aGlzLmlkID8gdGhpcy5pZCA6IHJlcy5pZH1gXSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJJZDogJ1NlY3VyaXR5J1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkuYWRkKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3VibWl0dGVkID0gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxoMz5JbnRlZ3JhdGlvbnM8L2gzPlxuPGRpdiBjbGFzcz1cInctMTAwIHRleHQtY2VudGVyIG10LTNcIlxuICAqbmdJZj1cImlzTG9hZGluZ1wiPlxuICA8cC1wcm9ncmVzc1NwaW5uZXIgc3Ryb2tlV2lkdGg9XCIyXCI+IDwvcC1wcm9ncmVzc1NwaW5uZXI+XG48L2Rpdj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhPy5ob3N0X25hbWVcIj5cbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCJcbiAgICAobmdTdWJtaXQpPVwib25TYXZlKClcIj5cbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS0zXCI+XG4gICAgICAgIDxwdy1pbnB1dC1jb250YWluZXIgW3Nob3dUb29sdGlwXT1cInRydWVcIlxuICAgICAgICAgIFt0b29sdGlwVGV4dF09XCInQWRtaW4uRG9tYWluQ29uZmlnLlRvb2x0aXAuSW50ZWdyYXRpb25DYXB0Y2hhS2V5JyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgW2xhYmVsXT1cIidBZG1pbi5Eb21haW5Db25maWcuSW50ZWdyYXRpb25DYXB0Y2hhS2V5JyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgbmFtZT1cImludGVncmF0aW9uc19jYXB0Y2hhX2tleVwiPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJpbnRlZ3JhdGlvbnNfY2FwdGNoYV9rZXlcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWydpbnRlZ3JhdGlvbnNfY2FwdGNoYV9rZXknXS5lcnJvcnMgfVwiIC8+XG4gICAgICAgIDwvcHctaW5wdXQtY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS0zXCI+XG4gICAgICAgIDxwdy1pbnB1dC1jb250YWluZXIgW3Nob3dUb29sdGlwXT1cInRydWVcIlxuICAgICAgICAgIFt0b29sdGlwVGV4dF09XCInQWRtaW4uRG9tYWluQ29uZmlnLlRvb2x0aXAuSW50ZWdyYXRpb25DYXB0Y2hhS2V5VjInIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICBbbGFiZWxdPVwiJ0FkbWluLkRvbWFpbkNvbmZpZy5JbnRlZ3JhdGlvbkNhcHRjaGFLZXlWMicgfCB0cmFuc2xvY29cIlxuICAgICAgICAgIG5hbWU9XCJpbnRlZ3JhdGlvbnNfY2FwdGNoYV9rZXlfVjJcIj5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiaW50ZWdyYXRpb25zX2NhcHRjaGFfa2V5X1YyXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWydpbnRlZ3JhdGlvbnNfY2FwdGNoYV9rZXlfVjInXS5lcnJvcnNcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIiAvPlxuICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tM1wiPlxuICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtzaG93VG9vbHRpcF09XCJ0cnVlXCJcbiAgICAgICAgICBbdG9vbHRpcFRleHRdPVwiJ0FkbWluLkRvbWFpbkNvbmZpZy5Ub29sdGlwLkludGVncmF0aW9uR29vZ2xlQW5hbHl0aWNzJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgW2xhYmVsXT1cIidBZG1pbi5Eb21haW5Db25maWcuSW50ZWdyYXRpb25Hb29nbGVBbmFseXRpY3MnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICBuYW1lPVwiaW50ZWdyYXRpb25zX2dvb2dsZV9hbmFseXRpY3NcIj5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiaW50ZWdyYXRpb25zX2dvb2dsZV9hbmFseXRpY3NcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpcy1pbnZhbGlkJzogc3VibWl0dGVkICYmIGZbJ2ludGVncmF0aW9uc19nb29nbGVfYW5hbHl0aWNzJ10uZXJyb3JzXG4gICAgICAgICAgICAgICAgICAgICAgICB9XCIgLz5cbiAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTNcIj5cbiAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIidBZG1pbi5Eb21haW5Db25maWcuVG9vbHRpcC5JbnRlZ3JhdGlvbnNHb29nbGVBcGlLZXknIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICBbbGFiZWxdPVwiJ0FkbWluLkRvbWFpbkNvbmZpZy5JbnRlZ3JhdGlvbnNHb29nbGVBcGlLZXknIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICBuYW1lPVwiaW50ZWdyYXRpb25zX2dvb2dsZV9hcGlfa2V5XCI+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImludGVncmF0aW9uc19nb29nbGVfYXBpX2tleVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZlsnaW50ZWdyYXRpb25zX2dvb2dsZV9hcGlfa2V5J10uZXJyb3JzXG4gICAgICAgICAgICAgICAgICAgICAgICB9XCIgLz5cbiAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTNcIj5cbiAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIidBZG1pbi5Eb21haW5Db25maWcuVG9vbHRpcC5JbnRlZ3JhdGlvbnNTZW50cnlDb25maWdEbnMnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICBbbGFiZWxdPVwiJ0FkbWluLkRvbWFpbkNvbmZpZy5JbnRlZ3JhdGlvbnNTZW50cnlDb25maWdEbnMnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICBuYW1lPVwiaW50ZWdyYXRpb25zX3NlbnRyeV9jb25maWdfZG5zXCI+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImludGVncmF0aW9uc19zZW50cnlfY29uZmlnX2Ruc1wiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZlsnaW50ZWdyYXRpb25zX3NlbnRyeV9jb25maWdfZG5zJ10uZXJyb3JzXG4gICAgICAgICAgICAgICAgICAgICAgICB9XCIgLz5cbiAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTNcIj5cbiAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIidBZG1pbi5Eb21haW5Db25maWcuVG9vbHRpcC5JbnRlZ3JhdGlvbkRyaWZ0Q29kZScgfCB0cmFuc2xvY29cIlxuICAgICAgICAgIFtsYWJlbF09XCInQWRtaW4uRG9tYWluQ29uZmlnLkludGVncmF0aW9uRHJpZnRDb2RlJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgbmFtZT1cImludGVncmF0aW9uc19kcmlmdF9jb2RlXCI+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImludGVncmF0aW9uc19kcmlmdF9jb2RlXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZlsnaW50ZWdyYXRpb25zX2RyaWZ0X2NvZGUnXS5lcnJvcnMgfVwiIC8+XG4gICAgICAgIDwvcHctaW5wdXQtY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS0zXCI+XG4gICAgICAgIDxwdy1pbnB1dC1jb250YWluZXIgW3Nob3dUb29sdGlwXT1cInRydWVcIlxuICAgICAgICAgIFt0b29sdGlwVGV4dF09XCInQWRtaW4uRG9tYWluQ29uZmlnLlRvb2x0aXAuSW50ZWdyYXRpb25GYkFwcElkJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgW2xhYmVsXT1cIidBZG1pbi5Eb21haW5Db25maWcuSW50ZWdyYXRpb25GYkFwcElkJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgbmFtZT1cImludGVncmF0aW9uc19mYl9hcHBfaWRcIj5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiaW50ZWdyYXRpb25zX2ZiX2FwcF9pZFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdpcy1pbnZhbGlkJzogc3VibWl0dGVkICYmIGZbJ2ludGVncmF0aW9uc19mYl9hcHBfaWQnXS5lcnJvcnMgfVwiIC8+XG4gICAgICAgIDwvcHctaW5wdXQtY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMiB0ZXh0LWVuZCBtdC0zXCI+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1kZWZhdWx0IG1lLTJcIlxuICAgICAgICAoY2xpY2spPVwiYmFjaygpXCI+XG4gICAgICAgIHt7ICdCdXR0b24uQ2FuY2VsJyB8IHRyYW5zbG9jbyB9fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiPnt7ICdCdXR0b24uU3VibWl0JyB8IHRyYW5zbG9jbyB9fTwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Zvcm0+XG48L25nLWNvbnRhaW5lcj5cbjxkaXYgKm5nSWY9XCIhZGF0YT8uaG9zdF9uYW1lICYmICFpc0xvYWRpbmdcIj5cbiAgPHB3LW5vLWRhdGEgW21lc3NhZ2VdPVwiJ0FkbWluLkRvbWFpbkNvbmZpZy5FbmFibGVDb25maWdUYWInIHwgdHJhbnNsb2NvXCI+IDwvcHctbm8tZGF0YT5cbjwvZGl2PlxuIl19
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLWNvbmZpZy1pbnRlZ3JhdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL2RvbWFpbi1jb25maWcvZG9tYWluLWNvbmZpZy1kZXRhaWxzL2RvbWFpbi1jb25maWctaW50ZWdyYXRpb25zL2RvbWFpbi1jb25maWctaW50ZWdyYXRpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9kb21haW4tY29uZmlnL2RvbWFpbi1jb25maWctZGV0YWlscy9kb21haW4tY29uZmlnLWludGVncmF0aW9ucy9kb21haW4tY29uZmlnLWludGVncmF0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFHNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXpELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7OztBQU0vQyxNQUFNLE9BQU8saUNBQWtDLFNBQVEsZ0JBQWdCO0lBZW5FLFlBQVksUUFBa0IsRUFBVSxZQUEwQjtRQUM5RCxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFEb0IsaUJBQVksR0FBWixZQUFZLENBQWM7UUFabEUs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Q0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzs4SEEzRVEsaUNBQWlDO2tIQUFqQyxpQ0FBaUMsNEZDZjlDLCsvSkE2R0E7QUQvQ0k7SUFBQyxZQUFZLENBQUMsTUFBTSxDQUFDOzs7OytEQTRCcEI7MkZBM0VRLGlDQUFpQztrQkFKN0MsU0FBUzsrQkFDSSwrQkFBK0I7MEhBbUR6QyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBBZG1pblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9hZG1pbi5zZXJ2aWNlJztcbmltcG9ydCB7IERvbWFpbkNvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9pbnRlcmZhY2UvZG9tYWluLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwQWRtaW4gfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvbW9kZWxzL2FkbWluLm1vZGVsJztcbmltcG9ydCB7IFJPVVRFUlMgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvcm91dGVycy9yb3V0ZXJzJztcbmltcG9ydCB7IEFwcEJhc2VDb21wb25lbnQgfSBmcm9tICdAcG9zaXdpc2UvYXBwLWJhc2UtY29tcG9uZW50JztcbmltcG9ydCB7IFBlcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBWYWxpZGF0ZUZvcm0gfSBmcm9tICdAcG9zaXdpc2UvdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3B3LWRvbWFpbi1jb25maWctaW50ZWdyYXRpb25zJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZG9tYWluLWNvbmZpZy1pbnRlZ3JhdGlvbnMuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIERvbWFpbkNvbmZpZ0ludGVncmF0aW9uc0NvbXBvbmVudCBleHRlbmRzIEFwcEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgICBzdWJtaXR0ZWQgPSBmYWxzZTtcblxuICAgIGlkOiBudW1iZXI7XG5cbiAgICBkYXRhOiBEb21haW5Db25maWc7XG5cbiAgICByb3V0ZXJzID0gUk9VVEVSUztcblxuICAgIHN1YnNjcmlwdGlvbklkOiBudW1iZXI7XG5cbiAgICBpc0xvYWRpbmc6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IsIHByaXZhdGUgYWRtaW5TZXJ2aWNlOiBBZG1pblNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgICAgICB0aGlzLmZvcm0gPSBBcHBBZG1pbi5kb21haW5Db25maWdJbnRlZ3JhdGlvbnNGb3JtKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWQgPSBQZXJtaXNzaW9uU2VydmljZS5zZWxlY3RlZFN1YnNjcmlwdGlvbj8uaWQ7XG4gICAgICAgIHRoaXMucm91dGUucGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4ge1xuICAgICAgICAgICAgdGhpcy5pZCA9IE51bWJlcihwYXJhbXNbJ2lkJ10pO1xuICAgICAgICAgICAgaWYgKHRoaXMuaWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldERvbWFpbkNvbmZpZ0RldGFpbHMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0IGYoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm0uY29udHJvbHM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXREb21haW5Db25maWdEZXRhaWxzKCkge1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuYWRtaW5TZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0RG9tYWluQ29uZmlnQnlJZCh0aGlzLmlkLCB0aGlzLnN1YnNjcmlwdGlvbklkKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2U6IERvbWFpbkNvbmZpZykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0YSA9IHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHRoaXMuZGF0YSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmFkZCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIEBWYWxpZGF0ZUZvcm0oJ2Zvcm0nKVxuICAgIG9uU2F2ZSgpIHtcbiAgICAgICAgdGhpcy5zdWJtaXR0ZWQgPSB0cnVlO1xuICAgICAgICBjb25zdCBkYXRhID0ge1xuICAgICAgICAgICAgLi4udGhpcy5mb3JtLnZhbHVlLFxuICAgICAgICAgICAgc3Vic2NyaXB0aW9uX2lkOiB0aGlzLnN1YnNjcmlwdGlvbklkXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGZpbHRlcmVkRGF0YSA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGRhdGEpLmZpbHRlcigoW18sIHZdKSA9PiB2ICE9PSBudWxsICYmIHYgIT09ICcnKVxuICAgICAgICApO1xuICAgICAgICBjb25zdCBzdWIkID0gdGhpcy5pZFxuICAgICAgICAgICAgPyB0aGlzLmFkbWluU2VydmljZS51cGRhdGVEb21haW5Db25maWcodGhpcy5pZCwgZmlsdGVyZWREYXRhKVxuICAgICAgICAgICAgOiB0aGlzLmFkbWluU2VydmljZS5jcmVhdGVEb21haW5Db25maWcoZmlsdGVyZWREYXRhKTtcbiAgICAgICAgc3ViJC5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgbmV4dDogcmVzID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRvYXN0LnN1Y2Nlc3ModGhpcy50cmFuc2xhdGlvbi50cmFuc2xhdGUoJ0FkbWluLkRvbWFpbkNvbmZpZy5VcGRhdGVkTWVzc2FnZScpKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShcbiAgICAgICAgICAgICAgICAgICAgW2Ake3RoaXMucm91dGVycy5kb21haW5Db25maWdEZXRhaWxzfSR7dGhpcy5pZCA/IHRoaXMuaWQgOiByZXMuaWR9YF0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiSWQ6ICdTZWN1cml0eSdcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pLmFkZCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnN1Ym1pdHRlZCA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8aDM+SW50ZWdyYXRpb25zPC9oMz5cbjxkaXYgY2xhc3M9XCJ3LTEwMCB0ZXh0LWNlbnRlciBtdC0zXCJcbiAgKm5nSWY9XCJpc0xvYWRpbmdcIj5cbiAgPHAtcHJvZ3Jlc3NTcGlubmVyIHN0cm9rZVdpZHRoPVwiMlwiPiA8L3AtcHJvZ3Jlc3NTcGlubmVyPlxuPC9kaXY+XG48bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YT8uaG9zdF9uYW1lXCI+XG4gIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiXG4gICAgKG5nU3VibWl0KT1cIm9uU2F2ZSgpXCI+XG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tM1wiPlxuICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtzaG93VG9vbHRpcF09XCJ0cnVlXCJcbiAgICAgICAgICBbdG9vbHRpcFRleHRdPVwiJ0FkbWluLkRvbWFpbkNvbmZpZy5Ub29sdGlwLkludGVncmF0aW9uQ2FwdGNoYUtleScgfCB0cmFuc2xvY29cIlxuICAgICAgICAgIFtsYWJlbF09XCInQWRtaW4uRG9tYWluQ29uZmlnLkludGVncmF0aW9uQ2FwdGNoYUtleScgfCB0cmFuc2xvY29cIlxuICAgICAgICAgIG5hbWU9XCJpbnRlZ3JhdGlvbnNfY2FwdGNoYV9rZXlcIj5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiaW50ZWdyYXRpb25zX2NhcHRjaGFfa2V5XCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZlsnaW50ZWdyYXRpb25zX2NhcHRjaGFfa2V5J10uZXJyb3JzIH1cIiAvPlxuICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tM1wiPlxuICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtzaG93VG9vbHRpcF09XCJ0cnVlXCJcbiAgICAgICAgICBbdG9vbHRpcFRleHRdPVwiJ0FkbWluLkRvbWFpbkNvbmZpZy5Ub29sdGlwLkludGVncmF0aW9uQ2FwdGNoYUtleVYyJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgW2xhYmVsXT1cIidBZG1pbi5Eb21haW5Db25maWcuSW50ZWdyYXRpb25DYXB0Y2hhS2V5VjInIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICBuYW1lPVwiaW50ZWdyYXRpb25zX2NhcHRjaGFfa2V5X1YyXCI+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImludGVncmF0aW9uc19jYXB0Y2hhX2tleV9WMlwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZlsnaW50ZWdyYXRpb25zX2NhcHRjaGFfa2V5X1YyJ10uZXJyb3JzXG4gICAgICAgICAgICAgICAgICAgICAgICB9XCIgLz5cbiAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTNcIj5cbiAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIidBZG1pbi5Eb21haW5Db25maWcuVG9vbHRpcC5JbnRlZ3JhdGlvbkdvb2dsZUFuYWx5dGljcycgfCB0cmFuc2xvY29cIlxuICAgICAgICAgIFtsYWJlbF09XCInQWRtaW4uRG9tYWluQ29uZmlnLkludGVncmF0aW9uR29vZ2xlQW5hbHl0aWNzJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgbmFtZT1cImludGVncmF0aW9uc19nb29nbGVfYW5hbHl0aWNzXCI+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImludGVncmF0aW9uc19nb29nbGVfYW5hbHl0aWNzXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWydpbnRlZ3JhdGlvbnNfZ29vZ2xlX2FuYWx5dGljcyddLmVycm9yc1xuICAgICAgICAgICAgICAgICAgICAgICAgfVwiIC8+XG4gICAgICAgIDwvcHctaW5wdXQtY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS0zXCI+XG4gICAgICAgIDxwdy1pbnB1dC1jb250YWluZXIgW3Nob3dUb29sdGlwXT1cInRydWVcIlxuICAgICAgICAgIFt0b29sdGlwVGV4dF09XCInQWRtaW4uRG9tYWluQ29uZmlnLlRvb2x0aXAuSW50ZWdyYXRpb25zR29vZ2xlQXBpS2V5JyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgW2xhYmVsXT1cIidBZG1pbi5Eb21haW5Db25maWcuSW50ZWdyYXRpb25zR29vZ2xlQXBpS2V5JyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgbmFtZT1cImludGVncmF0aW9uc19nb29nbGVfYXBpX2tleVwiPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJpbnRlZ3JhdGlvbnNfZ29vZ2xlX2FwaV9rZXlcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpcy1pbnZhbGlkJzogc3VibWl0dGVkICYmIGZbJ2ludGVncmF0aW9uc19nb29nbGVfYXBpX2tleSddLmVycm9yc1xuICAgICAgICAgICAgICAgICAgICAgICAgfVwiIC8+XG4gICAgICAgIDwvcHctaW5wdXQtY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS0zXCI+XG4gICAgICAgIDxwdy1pbnB1dC1jb250YWluZXIgW3Nob3dUb29sdGlwXT1cInRydWVcIlxuICAgICAgICAgIFt0b29sdGlwVGV4dF09XCInQWRtaW4uRG9tYWluQ29uZmlnLlRvb2x0aXAuSW50ZWdyYXRpb25zU2VudHJ5Q29uZmlnRG5zJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgW2xhYmVsXT1cIidBZG1pbi5Eb21haW5Db25maWcuSW50ZWdyYXRpb25zU2VudHJ5Q29uZmlnRG5zJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgbmFtZT1cImludGVncmF0aW9uc19zZW50cnlfY29uZmlnX2Ruc1wiPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJpbnRlZ3JhdGlvbnNfc2VudHJ5X2NvbmZpZ19kbnNcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpcy1pbnZhbGlkJzogc3VibWl0dGVkICYmIGZbJ2ludGVncmF0aW9uc19zZW50cnlfY29uZmlnX2RucyddLmVycm9yc1xuICAgICAgICAgICAgICAgICAgICAgICAgfVwiIC8+XG4gICAgICAgIDwvcHctaW5wdXQtY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS0zXCI+XG4gICAgICAgIDxwdy1pbnB1dC1jb250YWluZXIgW3Nob3dUb29sdGlwXT1cInRydWVcIlxuICAgICAgICAgIFt0b29sdGlwVGV4dF09XCInQWRtaW4uRG9tYWluQ29uZmlnLlRvb2x0aXAuSW50ZWdyYXRpb25EcmlmdENvZGUnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICBbbGFiZWxdPVwiJ0FkbWluLkRvbWFpbkNvbmZpZy5JbnRlZ3JhdGlvbkRyaWZ0Q29kZScgfCB0cmFuc2xvY29cIlxuICAgICAgICAgIG5hbWU9XCJpbnRlZ3JhdGlvbnNfZHJpZnRfY29kZVwiPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJpbnRlZ3JhdGlvbnNfZHJpZnRfY29kZVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdpcy1pbnZhbGlkJzogc3VibWl0dGVkICYmIGZbJ2ludGVncmF0aW9uc19kcmlmdF9jb2RlJ10uZXJyb3JzIH1cIiAvPlxuICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tM1wiPlxuICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtzaG93VG9vbHRpcF09XCJ0cnVlXCJcbiAgICAgICAgICBbdG9vbHRpcFRleHRdPVwiJ0FkbWluLkRvbWFpbkNvbmZpZy5Ub29sdGlwLkludGVncmF0aW9uRmJBcHBJZCcgfCB0cmFuc2xvY29cIlxuICAgICAgICAgIFtsYWJlbF09XCInQWRtaW4uRG9tYWluQ29uZmlnLkludGVncmF0aW9uRmJBcHBJZCcgfCB0cmFuc2xvY29cIlxuICAgICAgICAgIG5hbWU9XCJpbnRlZ3JhdGlvbnNfZmJfYXBwX2lkXCI+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImludGVncmF0aW9uc19mYl9hcHBfaWRcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWydpbnRlZ3JhdGlvbnNfZmJfYXBwX2lkJ10uZXJyb3JzIH1cIiAvPlxuICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgdGV4dC1lbmQgbXQtM1wiPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtZGVmYXVsdCBtZS0yXCJcbiAgICAgICAgKGNsaWNrKT1cImJhY2soKVwiPlxuICAgICAgICB7eyAnQnV0dG9uLkNhbmNlbCcgfCB0cmFuc2xvY28gfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIj57eyAnQnV0dG9uLlN1Ym1pdCcgfCB0cmFuc2xvY28gfX08L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuPC9uZy1jb250YWluZXI+XG48ZGl2ICpuZ0lmPVwiIWRhdGE/Lmhvc3RfbmFtZSAmJiAhaXNMb2FkaW5nXCI+XG4gIDxwdy1uby1kYXRhIFttZXNzYWdlXT1cIidBZG1pbi5Eb21haW5Db25maWcuRW5hYmxlQ29uZmlnVGFiJyB8IHRyYW5zbG9jb1wiPiA8L3B3LW5vLWRhdGE+XG48L2Rpdj5cbiJdfQ==
@@ -10,9 +10,10 @@ import { ValidateForm } from '@posiwise/utils';
10
10
  import * as i0 from "@angular/core";
11
11
  import * as i1 from "../../../../admin.service";
12
12
  import * as i2 from "@angular/common";
13
- import * as i3 from "@posiwise/shared-components";
14
- import * as i4 from "@angular/forms";
15
- import * as i5 from "@ngneat/transloco";
13
+ import * as i3 from "@angular/forms";
14
+ import * as i4 from "@posiwise/shared-components";
15
+ import * as i5 from "primeng/progressspinner";
16
+ import * as i6 from "@ngneat/transloco";
16
17
  export class DomainConfigInterfaceComponent extends AppBaseComponent {
17
18
  constructor(injector, adminService) {
18
19
  super(injector);
@@ -107,7 +108,7 @@ export class DomainConfigInterfaceComponent extends AppBaseComponent {
107
108
  }
108
109
  }
109
110
  DomainConfigInterfaceComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: DomainConfigInterfaceComponent, deps: [{ token: i0.Injector }, { token: i1.AdminService }], target: i0.ɵɵFactoryTarget.Component });
110
- DomainConfigInterfaceComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: DomainConfigInterfaceComponent, selector: "pw-domain-config-interface", viewQueries: [{ propertyName: "uploader", predicate: CustomUploaderComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<h3>Look and Feel Config</h3>\n<div class=\"w-100 text-center mt-3\"\n *ngIf=\"isLoading\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n</div>\n<ng-container *ngIf=\"data?.host_name\">\n <form [formGroup]=\"form\"\n (ngSubmit)=\"onSave()\">\n <h5>Color codes</h5>\n <div class=\"row\">\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [label]=\"'Admin.DomainConfig.ColorCodeFirst' | transloco\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.ColorCodeFirst' | transloco\"\n name=\"color_code_first\">\n <input type=\"color\"\n class=\"form-control\"\n formControlName=\"color_code_first\"\n [ngClass]=\"{ 'is-invalid': submitted && f['color_code_first'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [label]=\"'Admin.DomainConfig.ColorCodeSecond' | transloco\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.ColorCodeSecond' | transloco\"\n name=\"color_code_second\">\n <input type=\"color\"\n class=\"form-control\"\n formControlName=\"color_code_second\"\n [ngClass]=\"{ 'is-invalid': submitted && f['color_code_second'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [label]=\"'Admin.DomainConfig.ColorCodeThird' | transloco\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.ColorCodeThird' | transloco\"\n name=\"color_code_third\">\n <input type=\"color\"\n class=\"form-control\"\n formControlName=\"color_code_third\"\n [ngClass]=\"{ 'is-invalid': submitted && f['color_code_third'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\"></div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [label]=\"'Admin.DomainConfig.ColorCodeTitles' | transloco\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.ColorCodeTitles' | transloco\"\n name=\"color_code_titles\">\n <input type=\"color\"\n class=\"form-control\"\n formControlName=\"color_code_titles\"\n [ngClass]=\"{ 'is-invalid': submitted && f['color_code_titles'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [label]=\"'Admin.DomainConfig.ColorCodeText' | transloco\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.ColorCodeText' | transloco\"\n name=\"color_code_text\">\n <input type=\"color\"\n class=\"form-control\"\n formControlName=\"color_code_text\"\n [ngClass]=\"{ 'is-invalid': submitted && f['color_code_text'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\"></div>\n <div class=\"col-12 col-sm-3\"></div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [label]=\"'Admin.DomainConfig.ColorCodeSidebarBg' | transloco\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.ColorCodeSidebarBg' | transloco\"\n name=\"color_code_sidebar_bg\">\n <input type=\"color\"\n class=\"form-control\"\n formControlName=\"color_code_sidebar_bg\"\n [ngClass]=\"{ 'is-invalid': submitted && f['color_code_sidebar_bg'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [label]=\"'Admin.DomainConfig.ColorCodeSidebarText' | transloco\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.ColorCodeSidebarText' | transloco\"\n name=\"color_code_sidebar_text\">\n <input type=\"color\"\n class=\"form-control\"\n formControlName=\"color_code_sidebar_text\"\n [ngClass]=\"{ 'is-invalid': submitted && f['color_code_sidebar_text'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\"></div>\n <div class=\"col-12 col-sm-3\"></div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [label]=\"'Admin.DomainConfig.ColorCodeTabsBg' | transloco\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.ColorCodeTabsBg' | transloco\"\n name=\"color_code_tabs_bg\">\n <input type=\"color\"\n class=\"form-control\"\n formControlName=\"color_code_tabs_bg\"\n [ngClass]=\"{ 'is-invalid': submitted && f['color_code_tabs_bg'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [label]=\"'Admin.DomainConfig.ColorCodeTabsText' | transloco\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.ColorCodeTabsText' | transloco\"\n name=\"color_code_tabs_text\">\n <input type=\"color\"\n class=\"form-control\"\n formControlName=\"color_code_tabs_text\"\n [ngClass]=\"{ 'is-invalid': submitted && f['color_code_tabs_text'].errors }\" />\n </pw-input-container>\n </div>\n </div>\n <div class=\"col-12 text-end mt-3\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"back()\">\n {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\"\n class=\"btn btn-primary\">{{ 'Button.Submit' | transloco }}</button>\n </div>\n <h5 class=\"my-3\">Logos</h5>\n <div>\n <p>\n The following logos are used across our platform in different pages such as the\n header in our public pages and in our dashboard.\n </p>\n </div>\n <div class=\"row\"\n matchHeight=\"card\">\n <div class=\"col-md-4 mt-3\">\n <label>{{ 'Admin.DomainConfig.LogoMain' | transloco }}\n <span class=\"info-circle\">\n <span class=\"tooltiptext gradient-custom-branding\">{{\n 'Admin.DomainConfig.Tooltip.LogoMain' | transloco\n }}</span>\n </span>\n </label>\n <pw-custom-uploader [aspectRatio]=\"'fullLogo'\"\n (saveEvent)=\"saveFile($event)\"\n [title]=\"'Logo Main'\"\n [previewData]=\"data['logo_main']\"\n controlName=\"logo_main\"></pw-custom-uploader>\n </div>\n <div class=\"col-md-4 mt-3\">\n <label>{{ 'Admin.DomainConfig.LogoMainDark' | transloco }}\n <span class=\"info-circle\">\n <span class=\"tooltiptext gradient-custom-branding\">{{\n 'Admin.DomainConfig.Tooltip.LogoMainDark' | transloco\n }}</span>\n </span>\n </label>\n <pw-custom-uploader [aspectRatio]=\"'fullLogo'\"\n (saveEvent)=\"saveFile($event)\"\n [title]=\"'Logo Main Dark'\"\n [previewData]=\"data['logo_main_dark']\"\n controlName=\"logo_main_dark\"></pw-custom-uploader>\n </div>\n <div class=\"col-md-4 mt-3\">\n <label>{{ 'Admin.DomainConfig.LogoMainContrast' | transloco }}\n <span class=\"info-circle\">\n <span class=\"tooltiptext gradient-custom-branding\">{{\n 'Admin.DomainConfig.Tooltip.LogoMainContrast' | transloco\n }}</span>\n </span>\n </label>\n <pw-custom-uploader [aspectRatio]=\"'fullLogo'\"\n (saveEvent)=\"saveFile($event)\"\n [title]=\"'Logo Main Contrast'\"\n [previewData]=\"data['logo_main_contrast']\"\n controlName=\"logo_main_contrast\"></pw-custom-uploader>\n </div>\n <div class=\"col-md-4 mt-3\">\n <label>{{ 'Admin.DomainConfig.LogoSquaredMain' | transloco }}\n <span class=\"info-circle\">\n <span class=\"tooltiptext gradient-custom-branding\">{{\n 'Admin.DomainConfig.Tooltip.LogoSquaredMain' | transloco\n }}</span>\n </span>\n </label>\n <pw-custom-uploader (saveEvent)=\"saveFile($event)\"\n [title]=\"'Logo Squared Main'\"\n [previewData]=\"data['logo_squared_main']\"\n controlName=\"logo_squared_main\"></pw-custom-uploader>\n </div>\n <div class=\"col-md-4 mt-3\">\n <label>{{ 'Admin.DomainConfig.LogoSquaredDark' | transloco }}\n <span class=\"info-circle\">\n <span class=\"tooltiptext gradient-custom-branding\">{{\n 'Admin.DomainConfig.Tooltip.LogoSquaredDark' | transloco\n }}</span>\n </span>\n </label>\n <pw-custom-uploader (saveEvent)=\"saveFile($event)\"\n [title]=\"'Logo Squared Dark'\"\n [previewData]=\"data['logo_squared_dark']\"\n controlName=\"logo_squared_dark\"></pw-custom-uploader>\n </div>\n <div class=\"col-md-4 mt-3\">\n <label>{{ 'Admin.DomainConfig.LogoSquaredContrast' | transloco }}\n <span class=\"info-circle\">\n <span class=\"tooltiptext gradient-custom-branding\">{{\n 'Admin.DomainConfig.Tooltip.LogoSquaredContrast' | transloco\n }}</span>\n </span>\n </label>\n <pw-custom-uploader (saveEvent)=\"saveFile($event)\"\n [title]=\"'Logo Squared Contrast'\"\n [previewData]=\"data['logo_squared_contrast']\"\n controlName=\"logo_squared_contrast\"></pw-custom-uploader>\n </div>\n </div>\n </form>\n</ng-container>\n<div *ngIf=\"!data?.host_name && !isLoading\">\n <pw-no-data [message]=\"'Admin.DomainConfig.EnableConfigTab' | transloco\"> </pw-no-data>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.CustomUploaderComponent, selector: "pw-custom-uploader", inputs: ["controlName", "previewData", "aspectRatio", "title"], outputs: ["saveEvent"] }, { kind: "component", type: i3.InputContainerComponent, selector: "pw-input-container", inputs: ["name", "label", "labelClass", "tooltipPosition", "required", "errorMsg", "isReadOnly", "showTooltip", "tooltipText"] }, { kind: "component", type: i3.NoDataComponent, selector: "pw-no-data", inputs: ["message"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i5.TranslocoPipe, name: "transloco" }] });
111
+ DomainConfigInterfaceComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: DomainConfigInterfaceComponent, selector: "pw-domain-config-interface", viewQueries: [{ propertyName: "uploader", predicate: CustomUploaderComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<h3>Look and Feel Config</h3>\n<div class=\"w-100 text-center mt-3\"\n *ngIf=\"isLoading\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n</div>\n<ng-container *ngIf=\"data?.host_name\">\n <form [formGroup]=\"form\"\n (ngSubmit)=\"onSave()\">\n <h5>Color codes</h5>\n <div class=\"row\">\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [label]=\"'Admin.DomainConfig.ColorCodeFirst' | transloco\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.ColorCodeFirst' | transloco\"\n name=\"color_code_first\">\n <input type=\"color\"\n class=\"form-control\"\n formControlName=\"color_code_first\"\n [ngClass]=\"{ 'is-invalid': submitted && f['color_code_first'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [label]=\"'Admin.DomainConfig.ColorCodeSecond' | transloco\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.ColorCodeSecond' | transloco\"\n name=\"color_code_second\">\n <input type=\"color\"\n class=\"form-control\"\n formControlName=\"color_code_second\"\n [ngClass]=\"{ 'is-invalid': submitted && f['color_code_second'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [label]=\"'Admin.DomainConfig.ColorCodeThird' | transloco\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.ColorCodeThird' | transloco\"\n name=\"color_code_third\">\n <input type=\"color\"\n class=\"form-control\"\n formControlName=\"color_code_third\"\n [ngClass]=\"{ 'is-invalid': submitted && f['color_code_third'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\"></div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [label]=\"'Admin.DomainConfig.ColorCodeTitles' | transloco\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.ColorCodeTitles' | transloco\"\n name=\"color_code_titles\">\n <input type=\"color\"\n class=\"form-control\"\n formControlName=\"color_code_titles\"\n [ngClass]=\"{ 'is-invalid': submitted && f['color_code_titles'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [label]=\"'Admin.DomainConfig.ColorCodeText' | transloco\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.ColorCodeText' | transloco\"\n name=\"color_code_text\">\n <input type=\"color\"\n class=\"form-control\"\n formControlName=\"color_code_text\"\n [ngClass]=\"{ 'is-invalid': submitted && f['color_code_text'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\"></div>\n <div class=\"col-12 col-sm-3\"></div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [label]=\"'Admin.DomainConfig.ColorCodeSidebarBg' | transloco\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.ColorCodeSidebarBg' | transloco\"\n name=\"color_code_sidebar_bg\">\n <input type=\"color\"\n class=\"form-control\"\n formControlName=\"color_code_sidebar_bg\"\n [ngClass]=\"{ 'is-invalid': submitted && f['color_code_sidebar_bg'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [label]=\"'Admin.DomainConfig.ColorCodeSidebarText' | transloco\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.ColorCodeSidebarText' | transloco\"\n name=\"color_code_sidebar_text\">\n <input type=\"color\"\n class=\"form-control\"\n formControlName=\"color_code_sidebar_text\"\n [ngClass]=\"{ 'is-invalid': submitted && f['color_code_sidebar_text'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\"></div>\n <div class=\"col-12 col-sm-3\"></div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [label]=\"'Admin.DomainConfig.ColorCodeTabsBg' | transloco\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.ColorCodeTabsBg' | transloco\"\n name=\"color_code_tabs_bg\">\n <input type=\"color\"\n class=\"form-control\"\n formControlName=\"color_code_tabs_bg\"\n [ngClass]=\"{ 'is-invalid': submitted && f['color_code_tabs_bg'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-3\">\n <pw-input-container [label]=\"'Admin.DomainConfig.ColorCodeTabsText' | transloco\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.DomainConfig.Tooltip.ColorCodeTabsText' | transloco\"\n name=\"color_code_tabs_text\">\n <input type=\"color\"\n class=\"form-control\"\n formControlName=\"color_code_tabs_text\"\n [ngClass]=\"{ 'is-invalid': submitted && f['color_code_tabs_text'].errors }\" />\n </pw-input-container>\n </div>\n </div>\n <div class=\"col-12 text-end mt-3\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"back()\">\n {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\"\n class=\"btn btn-primary\">{{ 'Button.Submit' | transloco }}</button>\n </div>\n <h5 class=\"my-3\">Logos</h5>\n <div>\n <p>\n The following logos are used across our platform in different pages such as the\n header in our public pages and in our dashboard.\n </p>\n </div>\n <div class=\"row\"\n matchHeight=\"card\">\n <div class=\"col-md-4 mt-3\">\n <label>{{ 'Admin.DomainConfig.LogoMain' | transloco }}\n <span class=\"info-circle\">\n <span class=\"tooltiptext gradient-custom-branding\">{{\n 'Admin.DomainConfig.Tooltip.LogoMain' | transloco\n }}</span>\n </span>\n </label>\n <pw-custom-uploader [aspectRatio]=\"'fullLogo'\"\n (saveEvent)=\"saveFile($event)\"\n [title]=\"'Logo Main'\"\n [previewData]=\"data['logo_main']\"\n controlName=\"logo_main\"></pw-custom-uploader>\n </div>\n <div class=\"col-md-4 mt-3\">\n <label>{{ 'Admin.DomainConfig.LogoMainDark' | transloco }}\n <span class=\"info-circle\">\n <span class=\"tooltiptext gradient-custom-branding\">{{\n 'Admin.DomainConfig.Tooltip.LogoMainDark' | transloco\n }}</span>\n </span>\n </label>\n <pw-custom-uploader [aspectRatio]=\"'fullLogo'\"\n (saveEvent)=\"saveFile($event)\"\n [title]=\"'Logo Main Dark'\"\n [previewData]=\"data['logo_main_dark']\"\n controlName=\"logo_main_dark\"></pw-custom-uploader>\n </div>\n <div class=\"col-md-4 mt-3\">\n <label>{{ 'Admin.DomainConfig.LogoMainContrast' | transloco }}\n <span class=\"info-circle\">\n <span class=\"tooltiptext gradient-custom-branding\">{{\n 'Admin.DomainConfig.Tooltip.LogoMainContrast' | transloco\n }}</span>\n </span>\n </label>\n <pw-custom-uploader [aspectRatio]=\"'fullLogo'\"\n (saveEvent)=\"saveFile($event)\"\n [title]=\"'Logo Main Contrast'\"\n [previewData]=\"data['logo_main_contrast']\"\n controlName=\"logo_main_contrast\"></pw-custom-uploader>\n </div>\n <div class=\"col-md-4 mt-3\">\n <label>{{ 'Admin.DomainConfig.LogoSquaredMain' | transloco }}\n <span class=\"info-circle\">\n <span class=\"tooltiptext gradient-custom-branding\">{{\n 'Admin.DomainConfig.Tooltip.LogoSquaredMain' | transloco\n }}</span>\n </span>\n </label>\n <pw-custom-uploader (saveEvent)=\"saveFile($event)\"\n [title]=\"'Logo Squared Main'\"\n [previewData]=\"data['logo_squared_main']\"\n controlName=\"logo_squared_main\"></pw-custom-uploader>\n </div>\n <div class=\"col-md-4 mt-3\">\n <label>{{ 'Admin.DomainConfig.LogoSquaredDark' | transloco }}\n <span class=\"info-circle\">\n <span class=\"tooltiptext gradient-custom-branding\">{{\n 'Admin.DomainConfig.Tooltip.LogoSquaredDark' | transloco\n }}</span>\n </span>\n </label>\n <pw-custom-uploader (saveEvent)=\"saveFile($event)\"\n [title]=\"'Logo Squared Dark'\"\n [previewData]=\"data['logo_squared_dark']\"\n controlName=\"logo_squared_dark\"></pw-custom-uploader>\n </div>\n <div class=\"col-md-4 mt-3\">\n <label>{{ 'Admin.DomainConfig.LogoSquaredContrast' | transloco }}\n <span class=\"info-circle\">\n <span class=\"tooltiptext gradient-custom-branding\">{{\n 'Admin.DomainConfig.Tooltip.LogoSquaredContrast' | transloco\n }}</span>\n </span>\n </label>\n <pw-custom-uploader (saveEvent)=\"saveFile($event)\"\n [title]=\"'Logo Squared Contrast'\"\n [previewData]=\"data['logo_squared_contrast']\"\n controlName=\"logo_squared_contrast\"></pw-custom-uploader>\n </div>\n </div>\n </form>\n</ng-container>\n<div *ngIf=\"!data?.host_name && !isLoading\">\n <pw-no-data [message]=\"'Admin.DomainConfig.EnableConfigTab' | transloco\"> </pw-no-data>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i4.CustomUploaderComponent, selector: "pw-custom-uploader", inputs: ["controlName", "previewData", "aspectRatio", "title"], outputs: ["saveEvent"] }, { kind: "component", type: i5.ProgressSpinner, selector: "p-progressSpinner", inputs: ["style", "styleClass", "strokeWidth", "fill", "animationDuration"] }, { kind: "component", type: i4.InputContainerComponent, selector: "pw-input-container", inputs: ["name", "label", "labelClass", "tooltipPosition", "required", "errorMsg", "isReadOnly", "showTooltip", "tooltipText"] }, { kind: "component", type: i4.NoDataComponent, selector: "pw-no-data", inputs: ["message"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i6.TranslocoPipe, name: "transloco" }] });
111
112
  __decorate([
112
113
  ValidateForm('form'),
113
114
  __metadata("design:type", Function),
@@ -121,4 +122,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
121
122
  type: ViewChildren,
122
123
  args: [CustomUploaderComponent]
123
124
  }], onSave: [] } });
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLWNvbmZpZy1pbnRlcmZhY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL2RvbWFpbi1jb25maWcvZG9tYWluLWNvbmZpZy1kZXRhaWxzL2RvbWFpbi1jb25maWctaW50ZXJmYWNlL2RvbWFpbi1jb25maWctaW50ZXJmYWNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9kb21haW4tY29uZmlnL2RvbWFpbi1jb25maWctZGV0YWlscy9kb21haW4tY29uZmlnLWludGVyZmFjZS9kb21haW4tY29uZmlnLWludGVyZmFjZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsUUFBUSxFQUFVLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHcEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXpELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7O0FBTS9DLE1BQU0sT0FBTyw4QkFDVCxTQUFRLGdCQUFnQjtJQXFCeEIsWUFBWSxRQUFrQixFQUFVLFlBQTBCO1FBQzlELEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQURvQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQWRsRSxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBTWxCLFlBQU8sR0FBRyxPQUFPLENBQUM7UUFNbEIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUlYLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLHlCQUF5QixFQUFFLENBQUM7SUFDckQsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsY0FBYyxHQUFHLGlCQUFpQixDQUFDLG9CQUFvQixFQUFFLEVBQUUsQ0FBQztRQUNqRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDakMsSUFBSSxDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDL0IsSUFBSSxJQUFJLENBQUMsRUFBRSxFQUFFO2dCQUNULElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO2FBQ2pDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDakMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzdDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELElBQUksQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDOUIsQ0FBQztJQUVPLHNCQUFzQjtRQUMxQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsWUFBWTthQUNaLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQzthQUNqRCxTQUFTLENBQUMsQ0FBQyxRQUFzQixFQUFFLEVBQUU7WUFDbEMsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7WUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQzthQUNELEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDTixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBSztRQUNWLE1BQU0sSUFBSSxHQUE0QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDckQsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxLQUFLLEtBQUssQ0FBQyxJQUFJLENBQ3BDLENBQUM7UUFDRixNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sSUFBSSxHQUFHLEVBQUUsZUFBZSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0RCxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7U0FDakM7YUFBTTtZQUNILElBQUksQ0FBQyxVQUFVLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQztTQUN2QztRQUNELGdEQUFnRDtRQUNoRCxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRTtZQUNwQixJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUU7Z0JBQ2IsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDbkM7U0FDSjtRQUNELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFO1lBQ2hCLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDO1lBQ3pELENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXJELElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxZQUFZO2lCQUNaLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQztpQkFDakQsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUNsQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakQsQ0FBQyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1IsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUdELE1BQU07UUFDRixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixNQUFNLElBQUksR0FBRztZQUNULEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLO1lBQ2xCLGVBQWUsRUFBRSxJQUFJLENBQUMsY0FBYztTQUN2QyxDQUFDO1FBQ0YsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FDbkMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssRUFBRSxDQUFDLENBQ2pGLENBQUM7UUFDRixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRTtZQUNoQixDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLFlBQVksQ0FBQztZQUM3RCxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ1gsSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUNSLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLG1DQUFtQyxDQUFDLENBQUMsQ0FBQztnQkFDcEYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQ2hCLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUNwRTtvQkFDSSxXQUFXLEVBQUU7d0JBQ1QsS0FBSyxFQUFFLE9BQU87cUJBQ2pCO2lCQUNKLENBQ0osQ0FBQztZQUNOLENBQUM7U0FDSixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNSLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7MkhBMUhRLDhCQUE4QjsrR0FBOUIsOEJBQThCLCtGQUl6Qix1QkFBdUIsdUVDcEJ6QyxtMlRBNE5BO0FEOUdJO0lBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQzs7Ozs0REE0QnBCOzJGQTFIUSw4QkFBOEI7a0JBSjFDLFNBQVM7K0JBQ0ksNEJBQTRCOzBIQU9DLFFBQVE7c0JBQTlDLFlBQVk7dUJBQUMsdUJBQXVCO2dCQTJGckMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSW5qZWN0b3IsIE9uSW5pdCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGRyZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEFkbWluU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2FkbWluLnNlcnZpY2UnO1xuaW1wb3J0IHsgRG9tYWluQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2ludGVyZmFjZS9kb21haW4tY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBcHBBZG1pbiB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9tb2RlbHMvYWRtaW4ubW9kZWwnO1xuaW1wb3J0IHsgUk9VVEVSUyB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9yb3V0ZXJzL3JvdXRlcnMnO1xuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tVXBsb2FkZXJDb21wb25lbnQgfSBmcm9tICdAcG9zaXdpc2Uvc2hhcmVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXNlcnZpY2VzJztcbmltcG9ydCB7IFZhbGlkYXRlRm9ybSB9IGZyb20gJ0Bwb3Npd2lzZS91dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncHctZG9tYWluLWNvbmZpZy1pbnRlcmZhY2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kb21haW4tY29uZmlnLWludGVyZmFjZS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRG9tYWluQ29uZmlnSW50ZXJmYWNlQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXRcbntcbiAgICBAVmlld0NoaWxkcmVuKEN1c3RvbVVwbG9hZGVyQ29tcG9uZW50KSB1cGxvYWRlcjogUXVlcnlMaXN0PEN1c3RvbVVwbG9hZGVyQ29tcG9uZW50PjtcblxuICAgIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgICBzdWJtaXR0ZWQgPSBmYWxzZTtcblxuICAgIGlkOiBudW1iZXI7XG5cbiAgICBkYXRhOiBEb21haW5Db25maWc7XG5cbiAgICByb3V0ZXJzID0gUk9VVEVSUztcblxuICAgIHN1YnNjcmlwdGlvbklkOiBudW1iZXI7XG5cbiAgICBpc0xvYWRpbmc6IGJvb2xlYW47XG5cbiAgICBjaGlsZExpc3QgPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3RvciwgcHJpdmF0ZSBhZG1pblNlcnZpY2U6IEFkbWluU2VydmljZSkge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgICAgIHRoaXMuZm9ybSA9IEFwcEFkbWluLmRvbWFpbkNvbmZpZ0ludGVyZmFjZUZvcm0oKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25JZCA9IFBlcm1pc3Npb25TZXJ2aWNlLnNlbGVjdGVkU3Vic2NyaXB0aW9uPy5pZDtcbiAgICAgICAgdGhpcy5yb3V0ZS5wYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XG4gICAgICAgICAgICB0aGlzLmlkID0gTnVtYmVyKHBhcmFtc1snaWQnXSk7XG4gICAgICAgICAgICBpZiAodGhpcy5pZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0RG9tYWluQ29uZmlnRGV0YWlscygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMudXBsb2FkZXIuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jaGlsZExpc3QgPSB0aGlzLnVwbG9hZGVyLnRvQXJyYXkoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0IGYoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm0uY29udHJvbHM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXREb21haW5Db25maWdEZXRhaWxzKCkge1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuYWRtaW5TZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0RG9tYWluQ29uZmlnQnlJZCh0aGlzLmlkLCB0aGlzLnN1YnNjcmlwdGlvbklkKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2U6IERvbWFpbkNvbmZpZykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0YSA9IHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHRoaXMuZGF0YSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmFkZCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHNhdmVGaWxlKGV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGl0ZW06IEN1c3RvbVVwbG9hZGVyQ29tcG9uZW50ID0gdGhpcy5jaGlsZExpc3QuZmluZChcbiAgICAgICAgICAgIHggPT4geC5jb250cm9sTmFtZSA9PT0gZXZlbnQubmFtZVxuICAgICAgICApO1xuICAgICAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgICAgICBjb25zdCBkYXRhID0geyBzdWJzY3JpcHRpb25faWQ6IHRoaXMuc3Vic2NyaXB0aW9uSWQgfTtcbiAgICAgICAgaWYgKGV2ZW50LmZpbGUpIHtcbiAgICAgICAgICAgIGRhdGFbZXZlbnQubmFtZV0gPSBldmVudC5maWxlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZGF0YVtgcmVtb3ZlXyR7ZXZlbnQubmFtZX1gXSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlc3RyaWN0ZWQtc3ludGF4XG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIGRhdGEpIHtcbiAgICAgICAgICAgIGlmIChrZXkgaW4gZGF0YSkge1xuICAgICAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZChrZXksIGRhdGFba2V5XSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3ViJCA9IHRoaXMuaWRcbiAgICAgICAgICAgID8gdGhpcy5hZG1pblNlcnZpY2UudXBkYXRlRG9tYWluQ29uZmlnKHRoaXMuaWQsIGZvcm1EYXRhKVxuICAgICAgICAgICAgOiB0aGlzLmFkbWluU2VydmljZS5jcmVhdGVEb21haW5Db25maWcoZm9ybURhdGEpO1xuXG4gICAgICAgIHN1YiQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYWRtaW5TZXJ2aWNlXG4gICAgICAgICAgICAgICAgLmdldERvbWFpbkNvbmZpZ0J5SWQodGhpcy5pZCwgdGhpcy5zdWJzY3JpcHRpb25JZClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5jbGVhclZhbHVlcygpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGFbZXZlbnQubmFtZV0gPSByZXNwb25zZVtldmVudC5uYW1lXTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSkuYWRkKCgpID0+IHtcbiAgICAgICAgICAgIGl0ZW0uYnV0dG9uQnVzeSA9IGZhbHNlO1xuICAgICAgICAgICAgaXRlbS5vbkNsb3NlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIEBWYWxpZGF0ZUZvcm0oJ2Zvcm0nKVxuICAgIG9uU2F2ZSgpIHtcbiAgICAgICAgdGhpcy5zdWJtaXR0ZWQgPSB0cnVlO1xuICAgICAgICBjb25zdCBkYXRhID0ge1xuICAgICAgICAgICAgLi4udGhpcy5mb3JtLnZhbHVlLFxuICAgICAgICAgICAgc3Vic2NyaXB0aW9uX2lkOiB0aGlzLnN1YnNjcmlwdGlvbklkXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGZpbHRlcmVkRGF0YSA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGRhdGEpLmZpbHRlcigoW19rZXksIHZhbHVlXSkgPT4gdmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09ICcnKVxuICAgICAgICApO1xuICAgICAgICBjb25zdCBzdWIkID0gdGhpcy5pZFxuICAgICAgICAgICAgPyB0aGlzLmFkbWluU2VydmljZS51cGRhdGVEb21haW5Db25maWcodGhpcy5pZCwgZmlsdGVyZWREYXRhKVxuICAgICAgICAgICAgOiB0aGlzLmFkbWluU2VydmljZS5jcmVhdGVEb21haW5Db25maWcoZmlsdGVyZWREYXRhKTtcbiAgICAgICAgc3ViJC5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgbmV4dDogcmVzID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRvYXN0LnN1Y2Nlc3ModGhpcy50cmFuc2xhdGlvbi50cmFuc2xhdGUoJ0FkbWluLkRvbWFpbkNvbmZpZy5VcGRhdGVkTWVzc2FnZScpKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShcbiAgICAgICAgICAgICAgICAgICAgW2Ake3RoaXMucm91dGVycy5kb21haW5Db25maWdEZXRhaWxzfSR7dGhpcy5pZCA/IHRoaXMuaWQgOiByZXMuaWR9YF0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiSWQ6ICdCdWlsZCdcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pLmFkZCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnN1Ym1pdHRlZCA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8aDM+TG9vayBhbmQgRmVlbCBDb25maWc8L2gzPlxuPGRpdiBjbGFzcz1cInctMTAwIHRleHQtY2VudGVyIG10LTNcIlxuICAqbmdJZj1cImlzTG9hZGluZ1wiPlxuICA8cC1wcm9ncmVzc1NwaW5uZXIgc3Ryb2tlV2lkdGg9XCIyXCI+IDwvcC1wcm9ncmVzc1NwaW5uZXI+XG48L2Rpdj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhPy5ob3N0X25hbWVcIj5cbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCJcbiAgICAobmdTdWJtaXQpPVwib25TYXZlKClcIj5cbiAgICA8aDU+Q29sb3IgY29kZXM8L2g1PlxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTNcIj5cbiAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBbbGFiZWxdPVwiJ0FkbWluLkRvbWFpbkNvbmZpZy5Db2xvckNvZGVGaXJzdCcgfCB0cmFuc2xvY29cIlxuICAgICAgICAgIFtzaG93VG9vbHRpcF09XCJ0cnVlXCJcbiAgICAgICAgICBbdG9vbHRpcFRleHRdPVwiJ0FkbWluLkRvbWFpbkNvbmZpZy5Ub29sdGlwLkNvbG9yQ29kZUZpcnN0JyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgbmFtZT1cImNvbG9yX2NvZGVfZmlyc3RcIj5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cImNvbG9yXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImNvbG9yX2NvZGVfZmlyc3RcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWydjb2xvcl9jb2RlX2ZpcnN0J10uZXJyb3JzIH1cIiAvPlxuICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tM1wiPlxuICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtsYWJlbF09XCInQWRtaW4uRG9tYWluQ29uZmlnLkNvbG9yQ29kZVNlY29uZCcgfCB0cmFuc2xvY29cIlxuICAgICAgICAgIFtzaG93VG9vbHRpcF09XCJ0cnVlXCJcbiAgICAgICAgICBbdG9vbHRpcFRleHRdPVwiJ0FkbWluLkRvbWFpbkNvbmZpZy5Ub29sdGlwLkNvbG9yQ29kZVNlY29uZCcgfCB0cmFuc2xvY29cIlxuICAgICAgICAgIG5hbWU9XCJjb2xvcl9jb2RlX3NlY29uZFwiPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY29sb3JcIlxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY29sb3JfY29kZV9zZWNvbmRcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWydjb2xvcl9jb2RlX3NlY29uZCddLmVycm9ycyB9XCIgLz5cbiAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTNcIj5cbiAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBbbGFiZWxdPVwiJ0FkbWluLkRvbWFpbkNvbmZpZy5Db2xvckNvZGVUaGlyZCcgfCB0cmFuc2xvY29cIlxuICAgICAgICAgIFtzaG93VG9vbHRpcF09XCJ0cnVlXCJcbiAgICAgICAgICBbdG9vbHRpcFRleHRdPVwiJ0FkbWluLkRvbWFpbkNvbmZpZy5Ub29sdGlwLkNvbG9yQ29kZVRoaXJkJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgbmFtZT1cImNvbG9yX2NvZGVfdGhpcmRcIj5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cImNvbG9yXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImNvbG9yX2NvZGVfdGhpcmRcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWydjb2xvcl9jb2RlX3RoaXJkJ10uZXJyb3JzIH1cIiAvPlxuICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tM1wiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tM1wiPlxuICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtsYWJlbF09XCInQWRtaW4uRG9tYWluQ29uZmlnLkNvbG9yQ29kZVRpdGxlcycgfCB0cmFuc2xvY29cIlxuICAgICAgICAgIFtzaG93VG9vbHRpcF09XCJ0cnVlXCJcbiAgICAgICAgICBbdG9vbHRpcFRleHRdPVwiJ0FkbWluLkRvbWFpbkNvbmZpZy5Ub29sdGlwLkNvbG9yQ29kZVRpdGxlcycgfCB0cmFuc2xvY29cIlxuICAgICAgICAgIG5hbWU9XCJjb2xvcl9jb2RlX3RpdGxlc1wiPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY29sb3JcIlxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY29sb3JfY29kZV90aXRsZXNcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWydjb2xvcl9jb2RlX3RpdGxlcyddLmVycm9ycyB9XCIgLz5cbiAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTNcIj5cbiAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBbbGFiZWxdPVwiJ0FkbWluLkRvbWFpbkNvbmZpZy5Db2xvckNvZGVUZXh0JyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgW3Nob3dUb29sdGlwXT1cInRydWVcIlxuICAgICAgICAgIFt0b29sdGlwVGV4dF09XCInQWRtaW4uRG9tYWluQ29uZmlnLlRvb2x0aXAuQ29sb3JDb2RlVGV4dCcgfCB0cmFuc2xvY29cIlxuICAgICAgICAgIG5hbWU9XCJjb2xvcl9jb2RlX3RleHRcIj5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cImNvbG9yXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImNvbG9yX2NvZGVfdGV4dFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdpcy1pbnZhbGlkJzogc3VibWl0dGVkICYmIGZbJ2NvbG9yX2NvZGVfdGV4dCddLmVycm9ycyB9XCIgLz5cbiAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTNcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTNcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTNcIj5cbiAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBbbGFiZWxdPVwiJ0FkbWluLkRvbWFpbkNvbmZpZy5Db2xvckNvZGVTaWRlYmFyQmcnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIidBZG1pbi5Eb21haW5Db25maWcuVG9vbHRpcC5Db2xvckNvZGVTaWRlYmFyQmcnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICBuYW1lPVwiY29sb3JfY29kZV9zaWRlYmFyX2JnXCI+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJjb2xvclwiXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjb2xvcl9jb2RlX3NpZGViYXJfYmdcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWydjb2xvcl9jb2RlX3NpZGViYXJfYmcnXS5lcnJvcnMgfVwiIC8+XG4gICAgICAgIDwvcHctaW5wdXQtY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS0zXCI+XG4gICAgICAgIDxwdy1pbnB1dC1jb250YWluZXIgW2xhYmVsXT1cIidBZG1pbi5Eb21haW5Db25maWcuQ29sb3JDb2RlU2lkZWJhclRleHQnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIidBZG1pbi5Eb21haW5Db25maWcuVG9vbHRpcC5Db2xvckNvZGVTaWRlYmFyVGV4dCcgfCB0cmFuc2xvY29cIlxuICAgICAgICAgIG5hbWU9XCJjb2xvcl9jb2RlX3NpZGViYXJfdGV4dFwiPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY29sb3JcIlxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY29sb3JfY29kZV9zaWRlYmFyX3RleHRcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWydjb2xvcl9jb2RlX3NpZGViYXJfdGV4dCddLmVycm9ycyB9XCIgLz5cbiAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTNcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTNcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTNcIj5cbiAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBbbGFiZWxdPVwiJ0FkbWluLkRvbWFpbkNvbmZpZy5Db2xvckNvZGVUYWJzQmcnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIidBZG1pbi5Eb21haW5Db25maWcuVG9vbHRpcC5Db2xvckNvZGVUYWJzQmcnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICBuYW1lPVwiY29sb3JfY29kZV90YWJzX2JnXCI+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJjb2xvclwiXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjb2xvcl9jb2RlX3RhYnNfYmdcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWydjb2xvcl9jb2RlX3RhYnNfYmcnXS5lcnJvcnMgfVwiIC8+XG4gICAgICAgIDwvcHctaW5wdXQtY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS0zXCI+XG4gICAgICAgIDxwdy1pbnB1dC1jb250YWluZXIgW2xhYmVsXT1cIidBZG1pbi5Eb21haW5Db25maWcuQ29sb3JDb2RlVGFic1RleHQnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIidBZG1pbi5Eb21haW5Db25maWcuVG9vbHRpcC5Db2xvckNvZGVUYWJzVGV4dCcgfCB0cmFuc2xvY29cIlxuICAgICAgICAgIG5hbWU9XCJjb2xvcl9jb2RlX3RhYnNfdGV4dFwiPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY29sb3JcIlxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY29sb3JfY29kZV90YWJzX3RleHRcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWydjb2xvcl9jb2RlX3RhYnNfdGV4dCddLmVycm9ycyB9XCIgLz5cbiAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIHRleHQtZW5kIG10LTNcIj5cbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLWRlZmF1bHQgbWUtMlwiXG4gICAgICAgIChjbGljayk9XCJiYWNrKClcIj5cbiAgICAgICAge3sgJ0J1dHRvbi5DYW5jZWwnIHwgdHJhbnNsb2NvIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCI+e3sgJ0J1dHRvbi5TdWJtaXQnIHwgdHJhbnNsb2NvIH19PC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGg1IGNsYXNzPVwibXktM1wiPkxvZ29zPC9oNT5cbiAgICA8ZGl2PlxuICAgICAgPHA+XG4gICAgICAgIFRoZSBmb2xsb3dpbmcgbG9nb3MgYXJlIHVzZWQgYWNyb3NzIG91ciBwbGF0Zm9ybSBpbiBkaWZmZXJlbnQgcGFnZXMgc3VjaCBhcyB0aGVcbiAgICAgICAgaGVhZGVyIGluIG91ciBwdWJsaWMgcGFnZXMgYW5kIGluIG91ciBkYXNoYm9hcmQuXG4gICAgICA8L3A+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInJvd1wiXG4gICAgICBtYXRjaEhlaWdodD1cImNhcmRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBtdC0zXCI+XG4gICAgICAgIDxsYWJlbD57eyAnQWRtaW4uRG9tYWluQ29uZmlnLkxvZ29NYWluJyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5mby1jaXJjbGVcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidG9vbHRpcHRleHQgZ3JhZGllbnQtY3VzdG9tLWJyYW5kaW5nXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWRtaW4uRG9tYWluQ29uZmlnLlRvb2x0aXAuTG9nb01haW4nIHwgdHJhbnNsb2NvXG4gICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDxwdy1jdXN0b20tdXBsb2FkZXIgW2FzcGVjdFJhdGlvXT1cIidmdWxsTG9nbydcIlxuICAgICAgICAgIChzYXZlRXZlbnQpPVwic2F2ZUZpbGUoJGV2ZW50KVwiXG4gICAgICAgICAgW3RpdGxlXT1cIidMb2dvIE1haW4nXCJcbiAgICAgICAgICBbcHJldmlld0RhdGFdPVwiZGF0YVsnbG9nb19tYWluJ11cIlxuICAgICAgICAgIGNvbnRyb2xOYW1lPVwibG9nb19tYWluXCI+PC9wdy1jdXN0b20tdXBsb2FkZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBtdC0zXCI+XG4gICAgICAgIDxsYWJlbD57eyAnQWRtaW4uRG9tYWluQ29uZmlnLkxvZ29NYWluRGFyaycgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImluZm8tY2lyY2xlXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRvb2x0aXB0ZXh0IGdyYWRpZW50LWN1c3RvbS1icmFuZGluZ1wiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FkbWluLkRvbWFpbkNvbmZpZy5Ub29sdGlwLkxvZ29NYWluRGFyaycgfCB0cmFuc2xvY29cbiAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPHB3LWN1c3RvbS11cGxvYWRlciBbYXNwZWN0UmF0aW9dPVwiJ2Z1bGxMb2dvJ1wiXG4gICAgICAgICAgKHNhdmVFdmVudCk9XCJzYXZlRmlsZSgkZXZlbnQpXCJcbiAgICAgICAgICBbdGl0bGVdPVwiJ0xvZ28gTWFpbiBEYXJrJ1wiXG4gICAgICAgICAgW3ByZXZpZXdEYXRhXT1cImRhdGFbJ2xvZ29fbWFpbl9kYXJrJ11cIlxuICAgICAgICAgIGNvbnRyb2xOYW1lPVwibG9nb19tYWluX2RhcmtcIj48L3B3LWN1c3RvbS11cGxvYWRlcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00IG10LTNcIj5cbiAgICAgICAgPGxhYmVsPnt7ICdBZG1pbi5Eb21haW5Db25maWcuTG9nb01haW5Db250cmFzdCcgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImluZm8tY2lyY2xlXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRvb2x0aXB0ZXh0IGdyYWRpZW50LWN1c3RvbS1icmFuZGluZ1wiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FkbWluLkRvbWFpbkNvbmZpZy5Ub29sdGlwLkxvZ29NYWluQ29udHJhc3QnIHwgdHJhbnNsb2NvXG4gICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDxwdy1jdXN0b20tdXBsb2FkZXIgW2FzcGVjdFJhdGlvXT1cIidmdWxsTG9nbydcIlxuICAgICAgICAgIChzYXZlRXZlbnQpPVwic2F2ZUZpbGUoJGV2ZW50KVwiXG4gICAgICAgICAgW3RpdGxlXT1cIidMb2dvIE1haW4gQ29udHJhc3QnXCJcbiAgICAgICAgICBbcHJldmlld0RhdGFdPVwiZGF0YVsnbG9nb19tYWluX2NvbnRyYXN0J11cIlxuICAgICAgICAgIGNvbnRyb2xOYW1lPVwibG9nb19tYWluX2NvbnRyYXN0XCI+PC9wdy1jdXN0b20tdXBsb2FkZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBtdC0zXCI+XG4gICAgICAgIDxsYWJlbD57eyAnQWRtaW4uRG9tYWluQ29uZmlnLkxvZ29TcXVhcmVkTWFpbicgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImluZm8tY2lyY2xlXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRvb2x0aXB0ZXh0IGdyYWRpZW50LWN1c3RvbS1icmFuZGluZ1wiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FkbWluLkRvbWFpbkNvbmZpZy5Ub29sdGlwLkxvZ29TcXVhcmVkTWFpbicgfCB0cmFuc2xvY29cbiAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPHB3LWN1c3RvbS11cGxvYWRlciAoc2F2ZUV2ZW50KT1cInNhdmVGaWxlKCRldmVudClcIlxuICAgICAgICAgIFt0aXRsZV09XCInTG9nbyBTcXVhcmVkIE1haW4nXCJcbiAgICAgICAgICBbcHJldmlld0RhdGFdPVwiZGF0YVsnbG9nb19zcXVhcmVkX21haW4nXVwiXG4gICAgICAgICAgY29udHJvbE5hbWU9XCJsb2dvX3NxdWFyZWRfbWFpblwiPjwvcHctY3VzdG9tLXVwbG9hZGVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTQgbXQtM1wiPlxuICAgICAgICA8bGFiZWw+e3sgJ0FkbWluLkRvbWFpbkNvbmZpZy5Mb2dvU3F1YXJlZERhcmsnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbmZvLWNpcmNsZVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0b29sdGlwdGV4dCBncmFkaWVudC1jdXN0b20tYnJhbmRpbmdcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBZG1pbi5Eb21haW5Db25maWcuVG9vbHRpcC5Mb2dvU3F1YXJlZERhcmsnIHwgdHJhbnNsb2NvXG4gICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDxwdy1jdXN0b20tdXBsb2FkZXIgKHNhdmVFdmVudCk9XCJzYXZlRmlsZSgkZXZlbnQpXCJcbiAgICAgICAgICBbdGl0bGVdPVwiJ0xvZ28gU3F1YXJlZCBEYXJrJ1wiXG4gICAgICAgICAgW3ByZXZpZXdEYXRhXT1cImRhdGFbJ2xvZ29fc3F1YXJlZF9kYXJrJ11cIlxuICAgICAgICAgIGNvbnRyb2xOYW1lPVwibG9nb19zcXVhcmVkX2RhcmtcIj48L3B3LWN1c3RvbS11cGxvYWRlcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00IG10LTNcIj5cbiAgICAgICAgPGxhYmVsPnt7ICdBZG1pbi5Eb21haW5Db25maWcuTG9nb1NxdWFyZWRDb250cmFzdCcgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImluZm8tY2lyY2xlXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRvb2x0aXB0ZXh0IGdyYWRpZW50LWN1c3RvbS1icmFuZGluZ1wiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FkbWluLkRvbWFpbkNvbmZpZy5Ub29sdGlwLkxvZ29TcXVhcmVkQ29udHJhc3QnIHwgdHJhbnNsb2NvXG4gICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDxwdy1jdXN0b20tdXBsb2FkZXIgKHNhdmVFdmVudCk9XCJzYXZlRmlsZSgkZXZlbnQpXCJcbiAgICAgICAgICBbdGl0bGVdPVwiJ0xvZ28gU3F1YXJlZCBDb250cmFzdCdcIlxuICAgICAgICAgIFtwcmV2aWV3RGF0YV09XCJkYXRhWydsb2dvX3NxdWFyZWRfY29udHJhc3QnXVwiXG4gICAgICAgICAgY29udHJvbE5hbWU9XCJsb2dvX3NxdWFyZWRfY29udHJhc3RcIj48L3B3LWN1c3RvbS11cGxvYWRlcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Zvcm0+XG48L25nLWNvbnRhaW5lcj5cbjxkaXYgKm5nSWY9XCIhZGF0YT8uaG9zdF9uYW1lICYmICFpc0xvYWRpbmdcIj5cbiAgPHB3LW5vLWRhdGEgW21lc3NhZ2VdPVwiJ0FkbWluLkRvbWFpbkNvbmZpZy5FbmFibGVDb25maWdUYWInIHwgdHJhbnNsb2NvXCI+IDwvcHctbm8tZGF0YT5cbjwvZGl2PlxuIl19
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLWNvbmZpZy1pbnRlcmZhY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL2RvbWFpbi1jb25maWcvZG9tYWluLWNvbmZpZy1kZXRhaWxzL2RvbWFpbi1jb25maWctaW50ZXJmYWNlL2RvbWFpbi1jb25maWctaW50ZXJmYWNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYWRtaW4tbW9kdWxlL3NyYy9saWIvY29tcG9uZW50cy9kb21haW4tY29uZmlnL2RvbWFpbi1jb25maWctZGV0YWlscy9kb21haW4tY29uZmlnLWludGVyZmFjZS9kb21haW4tY29uZmlnLWludGVyZmFjZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsUUFBUSxFQUFVLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHcEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXpELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7OztBQU0vQyxNQUFNLE9BQU8sOEJBQ1QsU0FBUSxnQkFBZ0I7SUFxQnhCLFlBQVksUUFBa0IsRUFBVSxZQUEwQjtRQUM5RCxLQUFLLENB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QUFZLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNYLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRTtnQkFDUixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BGLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUNoQixDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsRUFDcEU7b0JBQ0ksV0FBVyxFQUFFO3dCQUNULEtBQUssRUFBRSxPQUFPO3FCQUNqQjtpQkFDSixDQUNKLENBQUM7WUFDTixDQUFDO1NBQ0osQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OzJIQTFIUSw4QkFBOEI7K0dBQTlCLDhCQUE4QiwrRkFJekIsdUJBQXVCLHVFQ3BCekMsbTJUQTROQTtBRDlHSTtJQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7Ozs7NERBNEJwQjsyRkExSFEsOEJBQThCO2tCQUoxQyxTQUFTOytCQUNJLDRCQUE0QjswSEFPQyxRQUFRO3NCQUE5QyxZQUFZO3VCQUFDLHVCQUF1QjtnQkEyRnJDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEluamVjdG9yLCBPbkluaXQsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBBZG1pblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9hZG1pbi5zZXJ2aWNlJztcbmltcG9ydCB7IERvbWFpbkNvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9pbnRlcmZhY2UvZG9tYWluLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwQWRtaW4gfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvbW9kZWxzL2FkbWluLm1vZGVsJztcbmltcG9ydCB7IFJPVVRFUlMgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvcm91dGVycy9yb3V0ZXJzJztcbmltcG9ydCB7IEFwcEJhc2VDb21wb25lbnQgfSBmcm9tICdAcG9zaXdpc2UvYXBwLWJhc2UtY29tcG9uZW50JztcbmltcG9ydCB7IEN1c3RvbVVwbG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnQHBvc2l3aXNlL3NoYXJlZC1jb21wb25lbnRzJztcbmltcG9ydCB7IFBlcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBWYWxpZGF0ZUZvcm0gfSBmcm9tICdAcG9zaXdpc2UvdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3B3LWRvbWFpbi1jb25maWctaW50ZXJmYWNlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZG9tYWluLWNvbmZpZy1pbnRlcmZhY2UuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIERvbWFpbkNvbmZpZ0ludGVyZmFjZUNvbXBvbmVudFxuICAgIGV4dGVuZHMgQXBwQmFzZUNvbXBvbmVudFxuICAgIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0XG57XG4gICAgQFZpZXdDaGlsZHJlbihDdXN0b21VcGxvYWRlckNvbXBvbmVudCkgdXBsb2FkZXI6IFF1ZXJ5TGlzdDxDdXN0b21VcGxvYWRlckNvbXBvbmVudD47XG5cbiAgICBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gICAgc3VibWl0dGVkID0gZmFsc2U7XG5cbiAgICBpZDogbnVtYmVyO1xuXG4gICAgZGF0YTogRG9tYWluQ29uZmlnO1xuXG4gICAgcm91dGVycyA9IFJPVVRFUlM7XG5cbiAgICBzdWJzY3JpcHRpb25JZDogbnVtYmVyO1xuXG4gICAgaXNMb2FkaW5nOiBib29sZWFuO1xuXG4gICAgY2hpbGRMaXN0ID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IsIHByaXZhdGUgYWRtaW5TZXJ2aWNlOiBBZG1pblNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgICAgICB0aGlzLmZvcm0gPSBBcHBBZG1pbi5kb21haW5Db25maWdJbnRlcmZhY2VGb3JtKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWQgPSBQZXJtaXNzaW9uU2VydmljZS5zZWxlY3RlZFN1YnNjcmlwdGlvbj8uaWQ7XG4gICAgICAgIHRoaXMucm91dGUucGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4ge1xuICAgICAgICAgICAgdGhpcy5pZCA9IE51bWJlcihwYXJhbXNbJ2lkJ10pO1xuICAgICAgICAgICAgaWYgKHRoaXMuaWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldERvbWFpbkNvbmZpZ0RldGFpbHMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLnVwbG9hZGVyLmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2hpbGRMaXN0ID0gdGhpcy51cGxvYWRlci50b0FycmF5KCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldCBmKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtLmNvbnRyb2xzO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RG9tYWluQ29uZmlnRGV0YWlscygpIHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmFkbWluU2VydmljZVxuICAgICAgICAgICAgLmdldERvbWFpbkNvbmZpZ0J5SWQodGhpcy5pZCwgdGhpcy5zdWJzY3JpcHRpb25JZClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBEb21haW5Db25maWcpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGEgPSByZXNwb25zZTtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh0aGlzLmRhdGEpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5hZGQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzYXZlRmlsZShldmVudCkge1xuICAgICAgICBjb25zdCBpdGVtOiBDdXN0b21VcGxvYWRlckNvbXBvbmVudCA9IHRoaXMuY2hpbGRMaXN0LmZpbmQoXG4gICAgICAgICAgICB4ID0+IHguY29udHJvbE5hbWUgPT09IGV2ZW50Lm5hbWVcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgICAgY29uc3QgZGF0YSA9IHsgc3Vic2NyaXB0aW9uX2lkOiB0aGlzLnN1YnNjcmlwdGlvbklkIH07XG4gICAgICAgIGlmIChldmVudC5maWxlKSB7XG4gICAgICAgICAgICBkYXRhW2V2ZW50Lm5hbWVdID0gZXZlbnQuZmlsZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRhdGFbYHJlbW92ZV8ke2V2ZW50Lm5hbWV9YF0gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZXN0cmljdGVkLXN5bnRheFxuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBkYXRhKSB7XG4gICAgICAgICAgICBpZiAoa2V5IGluIGRhdGEpIHtcbiAgICAgICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoa2V5LCBkYXRhW2tleV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN1YiQgPSB0aGlzLmlkXG4gICAgICAgICAgICA/IHRoaXMuYWRtaW5TZXJ2aWNlLnVwZGF0ZURvbWFpbkNvbmZpZyh0aGlzLmlkLCBmb3JtRGF0YSlcbiAgICAgICAgICAgIDogdGhpcy5hZG1pblNlcnZpY2UuY3JlYXRlRG9tYWluQ29uZmlnKGZvcm1EYXRhKTtcblxuICAgICAgICBzdWIkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFkbWluU2VydmljZVxuICAgICAgICAgICAgICAgIC5nZXREb21haW5Db25maWdCeUlkKHRoaXMuaWQsIHRoaXMuc3Vic2NyaXB0aW9uSWQpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uY2xlYXJWYWx1ZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhW2V2ZW50Lm5hbWVdID0gcmVzcG9uc2VbZXZlbnQubmFtZV07XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pLmFkZCgoKSA9PiB7XG4gICAgICAgICAgICBpdGVtLmJ1dHRvbkJ1c3kgPSBmYWxzZTtcbiAgICAgICAgICAgIGl0ZW0ub25DbG9zZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBAVmFsaWRhdGVGb3JtKCdmb3JtJylcbiAgICBvblNhdmUoKSB7XG4gICAgICAgIHRoaXMuc3VibWl0dGVkID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgZGF0YSA9IHtcbiAgICAgICAgICAgIC4uLnRoaXMuZm9ybS52YWx1ZSxcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbl9pZDogdGhpcy5zdWJzY3JpcHRpb25JZFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBmaWx0ZXJlZERhdGEgPSBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICAgICAgICBPYmplY3QuZW50cmllcyhkYXRhKS5maWx0ZXIoKFtfa2V5LCB2YWx1ZV0pID0+IHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSAnJylcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3Qgc3ViJCA9IHRoaXMuaWRcbiAgICAgICAgICAgID8gdGhpcy5hZG1pblNlcnZpY2UudXBkYXRlRG9tYWluQ29uZmlnKHRoaXMuaWQsIGZpbHRlcmVkRGF0YSlcbiAgICAgICAgICAgIDogdGhpcy5hZG1pblNlcnZpY2UuY3JlYXRlRG9tYWluQ29uZmlnKGZpbHRlcmVkRGF0YSk7XG4gICAgICAgIHN1YiQuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgIG5leHQ6IHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50b2FzdC5zdWNjZXNzKHRoaXMudHJhbnNsYXRpb24udHJhbnNsYXRlKCdBZG1pbi5Eb21haW5Db25maWcuVXBkYXRlZE1lc3NhZ2UnKSk7XG4gICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoXG4gICAgICAgICAgICAgICAgICAgIFtgJHt0aGlzLnJvdXRlcnMuZG9tYWluQ29uZmlnRGV0YWlsc30ke3RoaXMuaWQgPyB0aGlzLmlkIDogcmVzLmlkfWBdLFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeVBhcmFtczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYklkOiAnQnVpbGQnXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KS5hZGQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zdWJtaXR0ZWQgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGgzPkxvb2sgYW5kIEZlZWwgQ29uZmlnPC9oMz5cbjxkaXYgY2xhc3M9XCJ3LTEwMCB0ZXh0LWNlbnRlciBtdC0zXCJcbiAgKm5nSWY9XCJpc0xvYWRpbmdcIj5cbiAgPHAtcHJvZ3Jlc3NTcGlubmVyIHN0cm9rZVdpZHRoPVwiMlwiPiA8L3AtcHJvZ3Jlc3NTcGlubmVyPlxuPC9kaXY+XG48bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YT8uaG9zdF9uYW1lXCI+XG4gIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiXG4gICAgKG5nU3VibWl0KT1cIm9uU2F2ZSgpXCI+XG4gICAgPGg1PkNvbG9yIGNvZGVzPC9oNT5cbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS0zXCI+XG4gICAgICAgIDxwdy1pbnB1dC1jb250YWluZXIgW2xhYmVsXT1cIidBZG1pbi5Eb21haW5Db25maWcuQ29sb3JDb2RlRmlyc3QnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIidBZG1pbi5Eb21haW5Db25maWcuVG9vbHRpcC5Db2xvckNvZGVGaXJzdCcgfCB0cmFuc2xvY29cIlxuICAgICAgICAgIG5hbWU9XCJjb2xvcl9jb2RlX2ZpcnN0XCI+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJjb2xvclwiXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjb2xvcl9jb2RlX2ZpcnN0XCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZlsnY29sb3JfY29kZV9maXJzdCddLmVycm9ycyB9XCIgLz5cbiAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTNcIj5cbiAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBbbGFiZWxdPVwiJ0FkbWluLkRvbWFpbkNvbmZpZy5Db2xvckNvZGVTZWNvbmQnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIidBZG1pbi5Eb21haW5Db25maWcuVG9vbHRpcC5Db2xvckNvZGVTZWNvbmQnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICBuYW1lPVwiY29sb3JfY29kZV9zZWNvbmRcIj5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cImNvbG9yXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImNvbG9yX2NvZGVfc2Vjb25kXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZlsnY29sb3JfY29kZV9zZWNvbmQnXS5lcnJvcnMgfVwiIC8+XG4gICAgICAgIDwvcHctaW5wdXQtY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS0zXCI+XG4gICAgICAgIDxwdy1pbnB1dC1jb250YWluZXIgW2xhYmVsXT1cIidBZG1pbi5Eb21haW5Db25maWcuQ29sb3JDb2RlVGhpcmQnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIidBZG1pbi5Eb21haW5Db25maWcuVG9vbHRpcC5Db2xvckNvZGVUaGlyZCcgfCB0cmFuc2xvY29cIlxuICAgICAgICAgIG5hbWU9XCJjb2xvcl9jb2RlX3RoaXJkXCI+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJjb2xvclwiXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjb2xvcl9jb2RlX3RoaXJkXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZlsnY29sb3JfY29kZV90aGlyZCddLmVycm9ycyB9XCIgLz5cbiAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTNcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTNcIj5cbiAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBbbGFiZWxdPVwiJ0FkbWluLkRvbWFpbkNvbmZpZy5Db2xvckNvZGVUaXRsZXMnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIidBZG1pbi5Eb21haW5Db25maWcuVG9vbHRpcC5Db2xvckNvZGVUaXRsZXMnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICBuYW1lPVwiY29sb3JfY29kZV90aXRsZXNcIj5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cImNvbG9yXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImNvbG9yX2NvZGVfdGl0bGVzXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZlsnY29sb3JfY29kZV90aXRsZXMnXS5lcnJvcnMgfVwiIC8+XG4gICAgICAgIDwvcHctaW5wdXQtY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS0zXCI+XG4gICAgICAgIDxwdy1pbnB1dC1jb250YWluZXIgW2xhYmVsXT1cIidBZG1pbi5Eb21haW5Db25maWcuQ29sb3JDb2RlVGV4dCcgfCB0cmFuc2xvY29cIlxuICAgICAgICAgIFtzaG93VG9vbHRpcF09XCJ0cnVlXCJcbiAgICAgICAgICBbdG9vbHRpcFRleHRdPVwiJ0FkbWluLkRvbWFpbkNvbmZpZy5Ub29sdGlwLkNvbG9yQ29kZVRleHQnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICBuYW1lPVwiY29sb3JfY29kZV90ZXh0XCI+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJjb2xvclwiXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjb2xvcl9jb2RlX3RleHRcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWydjb2xvcl9jb2RlX3RleHQnXS5lcnJvcnMgfVwiIC8+XG4gICAgICAgIDwvcHctaW5wdXQtY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS0zXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS0zXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS0zXCI+XG4gICAgICAgIDxwdy1pbnB1dC1jb250YWluZXIgW2xhYmVsXT1cIidBZG1pbi5Eb21haW5Db25maWcuQ29sb3JDb2RlU2lkZWJhckJnJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgW3Nob3dUb29sdGlwXT1cInRydWVcIlxuICAgICAgICAgIFt0b29sdGlwVGV4dF09XCInQWRtaW4uRG9tYWluQ29uZmlnLlRvb2x0aXAuQ29sb3JDb2RlU2lkZWJhckJnJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgbmFtZT1cImNvbG9yX2NvZGVfc2lkZWJhcl9iZ1wiPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY29sb3JcIlxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY29sb3JfY29kZV9zaWRlYmFyX2JnXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZlsnY29sb3JfY29kZV9zaWRlYmFyX2JnJ10uZXJyb3JzIH1cIiAvPlxuICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tM1wiPlxuICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtsYWJlbF09XCInQWRtaW4uRG9tYWluQ29uZmlnLkNvbG9yQ29kZVNpZGViYXJUZXh0JyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgW3Nob3dUb29sdGlwXT1cInRydWVcIlxuICAgICAgICAgIFt0b29sdGlwVGV4dF09XCInQWRtaW4uRG9tYWluQ29uZmlnLlRvb2x0aXAuQ29sb3JDb2RlU2lkZWJhclRleHQnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICBuYW1lPVwiY29sb3JfY29kZV9zaWRlYmFyX3RleHRcIj5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cImNvbG9yXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImNvbG9yX2NvZGVfc2lkZWJhcl90ZXh0XCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZlsnY29sb3JfY29kZV9zaWRlYmFyX3RleHQnXS5lcnJvcnMgfVwiIC8+XG4gICAgICAgIDwvcHctaW5wdXQtY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS0zXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS0zXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS0zXCI+XG4gICAgICAgIDxwdy1pbnB1dC1jb250YWluZXIgW2xhYmVsXT1cIidBZG1pbi5Eb21haW5Db25maWcuQ29sb3JDb2RlVGFic0JnJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgW3Nob3dUb29sdGlwXT1cInRydWVcIlxuICAgICAgICAgIFt0b29sdGlwVGV4dF09XCInQWRtaW4uRG9tYWluQ29uZmlnLlRvb2x0aXAuQ29sb3JDb2RlVGFic0JnJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgbmFtZT1cImNvbG9yX2NvZGVfdGFic19iZ1wiPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY29sb3JcIlxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY29sb3JfY29kZV90YWJzX2JnXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZlsnY29sb3JfY29kZV90YWJzX2JnJ10uZXJyb3JzIH1cIiAvPlxuICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tM1wiPlxuICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtsYWJlbF09XCInQWRtaW4uRG9tYWluQ29uZmlnLkNvbG9yQ29kZVRhYnNUZXh0JyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgW3Nob3dUb29sdGlwXT1cInRydWVcIlxuICAgICAgICAgIFt0b29sdGlwVGV4dF09XCInQWRtaW4uRG9tYWluQ29uZmlnLlRvb2x0aXAuQ29sb3JDb2RlVGFic1RleHQnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICBuYW1lPVwiY29sb3JfY29kZV90YWJzX3RleHRcIj5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cImNvbG9yXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImNvbG9yX2NvZGVfdGFic190ZXh0XCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZlsnY29sb3JfY29kZV90YWJzX3RleHQnXS5lcnJvcnMgfVwiIC8+XG4gICAgICAgIDwvcHctaW5wdXQtY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMiB0ZXh0LWVuZCBtdC0zXCI+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1kZWZhdWx0IG1lLTJcIlxuICAgICAgICAoY2xpY2spPVwiYmFjaygpXCI+XG4gICAgICAgIHt7ICdCdXR0b24uQ2FuY2VsJyB8IHRyYW5zbG9jbyB9fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiPnt7ICdCdXR0b24uU3VibWl0JyB8IHRyYW5zbG9jbyB9fTwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxoNSBjbGFzcz1cIm15LTNcIj5Mb2dvczwvaDU+XG4gICAgPGRpdj5cbiAgICAgIDxwPlxuICAgICAgICBUaGUgZm9sbG93aW5nIGxvZ29zIGFyZSB1c2VkIGFjcm9zcyBvdXIgcGxhdGZvcm0gaW4gZGlmZmVyZW50IHBhZ2VzIHN1Y2ggYXMgdGhlXG4gICAgICAgIGhlYWRlciBpbiBvdXIgcHVibGljIHBhZ2VzIGFuZCBpbiBvdXIgZGFzaGJvYXJkLlxuICAgICAgPC9wPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIlxuICAgICAgbWF0Y2hIZWlnaHQ9XCJjYXJkXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTQgbXQtM1wiPlxuICAgICAgICA8bGFiZWw+e3sgJ0FkbWluLkRvbWFpbkNvbmZpZy5Mb2dvTWFpbicgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImluZm8tY2lyY2xlXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRvb2x0aXB0ZXh0IGdyYWRpZW50LWN1c3RvbS1icmFuZGluZ1wiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FkbWluLkRvbWFpbkNvbmZpZy5Ub29sdGlwLkxvZ29NYWluJyB8IHRyYW5zbG9jb1xuICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8cHctY3VzdG9tLXVwbG9hZGVyIFthc3BlY3RSYXRpb109XCInZnVsbExvZ28nXCJcbiAgICAgICAgICAoc2F2ZUV2ZW50KT1cInNhdmVGaWxlKCRldmVudClcIlxuICAgICAgICAgIFt0aXRsZV09XCInTG9nbyBNYWluJ1wiXG4gICAgICAgICAgW3ByZXZpZXdEYXRhXT1cImRhdGFbJ2xvZ29fbWFpbiddXCJcbiAgICAgICAgICBjb250cm9sTmFtZT1cImxvZ29fbWFpblwiPjwvcHctY3VzdG9tLXVwbG9hZGVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTQgbXQtM1wiPlxuICAgICAgICA8bGFiZWw+e3sgJ0FkbWluLkRvbWFpbkNvbmZpZy5Mb2dvTWFpbkRhcmsnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbmZvLWNpcmNsZVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0b29sdGlwdGV4dCBncmFkaWVudC1jdXN0b20tYnJhbmRpbmdcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBZG1pbi5Eb21haW5Db25maWcuVG9vbHRpcC5Mb2dvTWFpbkRhcmsnIHwgdHJhbnNsb2NvXG4gICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDxwdy1jdXN0b20tdXBsb2FkZXIgW2FzcGVjdFJhdGlvXT1cIidmdWxsTG9nbydcIlxuICAgICAgICAgIChzYXZlRXZlbnQpPVwic2F2ZUZpbGUoJGV2ZW50KVwiXG4gICAgICAgICAgW3RpdGxlXT1cIidMb2dvIE1haW4gRGFyaydcIlxuICAgICAgICAgIFtwcmV2aWV3RGF0YV09XCJkYXRhWydsb2dvX21haW5fZGFyayddXCJcbiAgICAgICAgICBjb250cm9sTmFtZT1cImxvZ29fbWFpbl9kYXJrXCI+PC9wdy1jdXN0b20tdXBsb2FkZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBtdC0zXCI+XG4gICAgICAgIDxsYWJlbD57eyAnQWRtaW4uRG9tYWluQ29uZmlnLkxvZ29NYWluQ29udHJhc3QnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbmZvLWNpcmNsZVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0b29sdGlwdGV4dCBncmFkaWVudC1jdXN0b20tYnJhbmRpbmdcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBZG1pbi5Eb21haW5Db25maWcuVG9vbHRpcC5Mb2dvTWFpbkNvbnRyYXN0JyB8IHRyYW5zbG9jb1xuICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8cHctY3VzdG9tLXVwbG9hZGVyIFthc3BlY3RSYXRpb109XCInZnVsbExvZ28nXCJcbiAgICAgICAgICAoc2F2ZUV2ZW50KT1cInNhdmVGaWxlKCRldmVudClcIlxuICAgICAgICAgIFt0aXRsZV09XCInTG9nbyBNYWluIENvbnRyYXN0J1wiXG4gICAgICAgICAgW3ByZXZpZXdEYXRhXT1cImRhdGFbJ2xvZ29fbWFpbl9jb250cmFzdCddXCJcbiAgICAgICAgICBjb250cm9sTmFtZT1cImxvZ29fbWFpbl9jb250cmFzdFwiPjwvcHctY3VzdG9tLXVwbG9hZGVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTQgbXQtM1wiPlxuICAgICAgICA8bGFiZWw+e3sgJ0FkbWluLkRvbWFpbkNvbmZpZy5Mb2dvU3F1YXJlZE1haW4nIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbmZvLWNpcmNsZVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0b29sdGlwdGV4dCBncmFkaWVudC1jdXN0b20tYnJhbmRpbmdcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBZG1pbi5Eb21haW5Db25maWcuVG9vbHRpcC5Mb2dvU3F1YXJlZE1haW4nIHwgdHJhbnNsb2NvXG4gICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDxwdy1jdXN0b20tdXBsb2FkZXIgKHNhdmVFdmVudCk9XCJzYXZlRmlsZSgkZXZlbnQpXCJcbiAgICAgICAgICBbdGl0bGVdPVwiJ0xvZ28gU3F1YXJlZCBNYWluJ1wiXG4gICAgICAgICAgW3ByZXZpZXdEYXRhXT1cImRhdGFbJ2xvZ29fc3F1YXJlZF9tYWluJ11cIlxuICAgICAgICAgIGNvbnRyb2xOYW1lPVwibG9nb19zcXVhcmVkX21haW5cIj48L3B3LWN1c3RvbS11cGxvYWRlcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00IG10LTNcIj5cbiAgICAgICAgPGxhYmVsPnt7ICdBZG1pbi5Eb21haW5Db25maWcuTG9nb1NxdWFyZWREYXJrJyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5mby1jaXJjbGVcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidG9vbHRpcHRleHQgZ3JhZGllbnQtY3VzdG9tLWJyYW5kaW5nXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWRtaW4uRG9tYWluQ29uZmlnLlRvb2x0aXAuTG9nb1NxdWFyZWREYXJrJyB8IHRyYW5zbG9jb1xuICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8cHctY3VzdG9tLXVwbG9hZGVyIChzYXZlRXZlbnQpPVwic2F2ZUZpbGUoJGV2ZW50KVwiXG4gICAgICAgICAgW3RpdGxlXT1cIidMb2dvIFNxdWFyZWQgRGFyaydcIlxuICAgICAgICAgIFtwcmV2aWV3RGF0YV09XCJkYXRhWydsb2dvX3NxdWFyZWRfZGFyayddXCJcbiAgICAgICAgICBjb250cm9sTmFtZT1cImxvZ29fc3F1YXJlZF9kYXJrXCI+PC9wdy1jdXN0b20tdXBsb2FkZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBtdC0zXCI+XG4gICAgICAgIDxsYWJlbD57eyAnQWRtaW4uRG9tYWluQ29uZmlnLkxvZ29TcXVhcmVkQ29udHJhc3QnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbmZvLWNpcmNsZVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0b29sdGlwdGV4dCBncmFkaWVudC1jdXN0b20tYnJhbmRpbmdcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBZG1pbi5Eb21haW5Db25maWcuVG9vbHRpcC5Mb2dvU3F1YXJlZENvbnRyYXN0JyB8IHRyYW5zbG9jb1xuICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8cHctY3VzdG9tLXVwbG9hZGVyIChzYXZlRXZlbnQpPVwic2F2ZUZpbGUoJGV2ZW50KVwiXG4gICAgICAgICAgW3RpdGxlXT1cIidMb2dvIFNxdWFyZWQgQ29udHJhc3QnXCJcbiAgICAgICAgICBbcHJldmlld0RhdGFdPVwiZGF0YVsnbG9nb19zcXVhcmVkX2NvbnRyYXN0J11cIlxuICAgICAgICAgIGNvbnRyb2xOYW1lPVwibG9nb19zcXVhcmVkX2NvbnRyYXN0XCI+PC9wdy1jdXN0b20tdXBsb2FkZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuPC9uZy1jb250YWluZXI+XG48ZGl2ICpuZ0lmPVwiIWRhdGE/Lmhvc3RfbmFtZSAmJiAhaXNMb2FkaW5nXCI+XG4gIDxwdy1uby1kYXRhIFttZXNzYWdlXT1cIidBZG1pbi5Eb21haW5Db25maWcuRW5hYmxlQ29uZmlnVGFiJyB8IHRyYW5zbG9jb1wiPiA8L3B3LW5vLWRhdGE+XG48L2Rpdj5cbiJdfQ==