@design-system-rte/angular 1.2.1-rc5 → 1.4.0

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 (30) hide show
  1. package/esm2022/lib/components/dropdown/dropdown-item/dropdown-item.component.mjs +157 -14
  2. package/esm2022/lib/components/dropdown/dropdown-menu/dropdown-menu.component.mjs +71 -6
  3. package/esm2022/lib/components/dropdown/dropdown.directive.mjs +48 -39
  4. package/esm2022/lib/components/dropdown/dropdown.types.mjs +2 -0
  5. package/esm2022/lib/components/dropdown/index.mjs +1 -3
  6. package/esm2022/lib/components/icon/icon-map.mjs +112 -112
  7. package/esm2022/lib/components/modal/modal.component.mjs +3 -3
  8. package/esm2022/lib/components/segmented-control/segmented-control.component.mjs +5 -3
  9. package/esm2022/lib/components/side-nav/side-nav.component.mjs +1 -1
  10. package/esm2022/lib/components/stepper/stepper.component.mjs +3 -3
  11. package/esm2022/lib/components/tab/tab-item/tab-item.component.mjs +3 -3
  12. package/esm2022/lib/components/tab/tab.component.mjs +1 -1
  13. package/esm2022/lib/components/tag/tag.component.mjs +4 -3
  14. package/esm2022/public-api.mjs +9 -1
  15. package/fesm2022/design-system-rte-angular.mjs +431 -219
  16. package/fesm2022/design-system-rte-angular.mjs.map +1 -1
  17. package/lib/components/assistive-text/assistive-text.component.d.ts +1 -1
  18. package/lib/components/chip/chip.component.d.ts +1 -1
  19. package/lib/components/dropdown/dropdown-item/dropdown-item.component.d.ts +28 -16
  20. package/lib/components/dropdown/dropdown-menu/dropdown-menu.component.d.ts +14 -3
  21. package/lib/components/dropdown/dropdown.directive.d.ts +8 -4
  22. package/lib/components/dropdown/dropdown.types.d.ts +30 -0
  23. package/lib/components/dropdown/index.d.ts +1 -0
  24. package/lib/components/segmented-control/segmented-control.component.d.ts +3 -1
  25. package/lib/components/side-nav/side-nav.component.d.ts +2 -2
  26. package/lib/components/tab/tab.component.d.ts +1 -1
  27. package/lib/components/tag/tag.component.d.ts +2 -1
  28. package/lib/components/text-input/base-text-input/base-text-input.component.d.ts +1 -1
  29. package/package.json +2 -2
  30. package/public-api.d.ts +8 -0
@@ -39,10 +39,10 @@ export class ModalComponent {
39
39
  this.closeModal.emit();
40
40
  }
41
41
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
42
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.14", type: ModalComponent, isStandalone: true, selector: "rte-modal", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconAppearance: { classPropertyName: "iconAppearance", publicName: "iconAppearance", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, secondaryButtonLabel: { classPropertyName: "secondaryButtonLabel", publicName: "secondaryButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedby: { classPropertyName: "ariaDescribedby", publicName: "ariaDescribedby", isSignal: true, isRequired: false, transformFunction: null }, primaryButton: { classPropertyName: "primaryButton", publicName: "primaryButton", isSignal: true, isRequired: false, transformFunction: null }, secondaryButton: { classPropertyName: "secondaryButton", publicName: "secondaryButton", isSignal: true, isRequired: false, transformFunction: null }, customContent: { classPropertyName: "customContent", publicName: "customContent", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closeModal: "closeModal" }, viewQueries: [{ propertyName: "elementRef", first: true, predicate: ["modal"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"rte-modal-wrapper\">\n <div class=\"rte-modal-backdrop\" [attr.data-open]=\"isOpen()\"></div>\n <dialog\n #modal\n class=\"rte-modal-container\"\n [attr.aria-modal]=\"true\"\n [attr.aria-labelledby]=\"id() + '-modal-title'\"\n [attr.aria-describedby]=\"description() ? id() + '-modal-desc' : ariaDescribedby()\"\n [attr.data-size]=\"size()\"\n [attr.data-open]=\"isOpen()\"\n >\n <div class=\"rte-modal-header\">\n <div class=\"rte-modal-header-text\">\n <rte-icon *ngIf=\"icon()\" [name]=\"icon() ?? ''\" [size]=\"iconSize()\" [appearance]=\"iconAppearance()\" />\n <h2 class=\"rte-modal-title\" [id]=\"id() + '-modal-title'\">\n {{ title() }}\n </h2>\n <rte-icon-button\n data-testid=\"modal-close-button\"\n name=\"close\"\n size=\"l\"\n class=\"close-icon\"\n variant=\"neutral\"\n [ariaLabel]=\"'Close modal ' + id()\"\n (clickEvent)=\"onClose()\"\n />\n </div>\n <rte-divider />\n </div>\n <div *ngIf=\"description()\" class=\"rte-modal-content\">\n <p class=\"rte-modal-content-description\" [id]=\"id() + '-modal-desc'\">\n {{ description() }}\n </p>\n <ng-container [ngTemplateOutlet]=\"customContent()\"></ng-container>\n </div>\n <div class=\"rte-modal-footer\">\n <ng-container [ngTemplateOutlet]=\"secondaryButton()\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"primaryButton()\"></ng-container>\n </div>\n </dialog>\n</div>\n", styles: [".rte-modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;opacity:0;background-color:#201f1f80;transition:opacity .15s ease-out}.rte-modal-backdrop[data-open=true]{opacity:1}.rte-modal-container{box-shadow:0 4px 8px 0 var(--elevation-shadow-key),0 0 2px 0 var(--elevation-shadow-ambient);background:linear-gradient(0deg,var(--elevation-surface-shadow-3) 0%,var(--elevation-surface-shadow-3) 100%);border:none;box-sizing:border-box;position:absolute;max-height:90vh;top:50%;transform:translateY(-50%) scale(.98);display:flex;width:496px;padding:24px;flex-direction:column;align-items:flex-start;gap:24px;background-color:var(--background-default);border-radius:8px;opacity:0;transition:opacity .15s ease-in,transform .15s ease-in}.rte-modal-container[data-open=true]{opacity:1;transform:translateY(-50%) scale(1)}.rte-modal-container[data-size=s]{width:656px}.rte-modal-container[data-size=m]{width:936px}.rte-modal-container[data-size=l]{width:1168px;border-radius:12px}.rte-modal-container[data-size=xl]{width:1328px;border-radius:16px}.rte-modal-container .rte-modal-header{display:flex;flex-direction:column;gap:8px;width:100%;flex:0 0 auto}.rte-modal-container .rte-modal-header .rte-modal-header-text{display:flex;flex-direction:row;align-items:center;gap:8px}.rte-modal-container .rte-modal-header .rte-modal-header-text .rte-modal-title{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:24px;line-height:32px;letter-spacing:-.5px;margin:0;overflow:hidden;color:var(--content-primary);text-overflow:ellipsis;flex:1 1 0}.rte-modal-container .rte-modal-content{display:flex;padding:1px;flex-direction:column;align-items:flex-start;gap:16px;color:var(--content-secondary);width:100%;overflow:auto}.rte-modal-container .rte-modal-content .rte-modal-content-description{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:14px;line-height:20px;letter-spacing:0px;margin:0;color:var(--content-secondary)}.rte-modal-container .rte-modal-footer{display:flex;padding:0;justify-content:flex-end;align-items:center;gap:24px;align-self:stretch;flex:0 0 auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconButtonComponent, selector: "rte-icon-button", inputs: ["disabled", "name", "size", "variant", "type", "appearance", "compactSpacing", "ariaLabel", "ariaLabelledBy", "badgeCount", "badgeContent", "badgeType", "badgeIcon", "customStyle"], outputs: ["clickEvent"] }, { kind: "component", type: IconComponent, selector: "rte-icon", inputs: ["name", "size", "color", "classes", "appearance"] }, { kind: "component", type: DividerComponent, selector: "rte-divider", inputs: ["orientation", "thickness", "appearance", "endPoint"] }] }); }
42
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.14", type: ModalComponent, isStandalone: true, selector: "rte-modal", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconAppearance: { classPropertyName: "iconAppearance", publicName: "iconAppearance", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, secondaryButtonLabel: { classPropertyName: "secondaryButtonLabel", publicName: "secondaryButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedby: { classPropertyName: "ariaDescribedby", publicName: "ariaDescribedby", isSignal: true, isRequired: false, transformFunction: null }, primaryButton: { classPropertyName: "primaryButton", publicName: "primaryButton", isSignal: true, isRequired: false, transformFunction: null }, secondaryButton: { classPropertyName: "secondaryButton", publicName: "secondaryButton", isSignal: true, isRequired: false, transformFunction: null }, customContent: { classPropertyName: "customContent", publicName: "customContent", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closeModal: "closeModal" }, viewQueries: [{ propertyName: "elementRef", first: true, predicate: ["modal"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"rte-modal-wrapper\">\n <div class=\"rte-modal-backdrop\" [attr.data-open]=\"isOpen()\"></div>\n <dialog\n #modal\n class=\"rte-modal-container\"\n [attr.aria-modal]=\"true\"\n [attr.aria-labelledby]=\"id() + '-modal-title'\"\n [attr.aria-describedby]=\"description() ? id() + '-modal-desc' : ariaDescribedby()\"\n [attr.data-size]=\"size()\"\n [attr.data-open]=\"isOpen()\"\n >\n <div class=\"rte-modal-header\">\n <div class=\"rte-modal-header-text\">\n <rte-icon *ngIf=\"icon()\" [name]=\"icon() ?? ''\" [size]=\"iconSize()\" [appearance]=\"iconAppearance()\" />\n <h2 class=\"rte-modal-title\" [id]=\"id() + '-modal-title'\">\n {{ title() }}\n </h2>\n <rte-icon-button\n data-testid=\"modal-close-button\"\n name=\"close\"\n size=\"l\"\n class=\"close-icon\"\n variant=\"neutral\"\n [ariaLabel]=\"'Close modal ' + id()\"\n (clickEvent)=\"onClose()\"\n />\n </div>\n <rte-divider />\n </div>\n <div *ngIf=\"description()\" class=\"rte-modal-content\">\n <p class=\"rte-modal-content-description\" [id]=\"id() + '-modal-desc'\">\n {{ description() }}\n </p>\n <ng-container [ngTemplateOutlet]=\"customContent()\"></ng-container>\n </div>\n <div class=\"rte-modal-footer\">\n <ng-container [ngTemplateOutlet]=\"secondaryButton()\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"primaryButton()\"></ng-container>\n </div>\n </dialog>\n</div>\n", styles: [".rte-modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;opacity:0;background-color:#201f1f80;transition:opacity .15s ease-out}.rte-modal-backdrop[data-open=true]{opacity:1}.rte-modal-container{box-shadow:0 4px 8px 0 var(--elevation-shadow-key),0 0 2px 0 var(--elevation-shadow-ambient);background:linear-gradient(0deg,var(--elevation-surface-shadow-3) 0%,var(--elevation-surface-shadow-3) 100%);border:none;box-sizing:border-box;position:absolute;max-height:90vh;top:50%;transform:translateY(-50%) scale(.98);display:flex;width:496px;padding:24px;flex-direction:column;align-items:flex-start;gap:24px;background-color:var(--background-default);border-radius:8px;opacity:0;transition:opacity .15s ease-in,transform .15s ease-in;margin:auto}.rte-modal-container[data-open=true]{opacity:1;transform:translateY(-50%) scale(1)}.rte-modal-container[data-size=s]{width:656px}.rte-modal-container[data-size=m]{width:936px}.rte-modal-container[data-size=l]{width:1168px;border-radius:12px}.rte-modal-container[data-size=xl]{width:1328px;border-radius:16px}.rte-modal-container .rte-modal-header{display:flex;flex-direction:column;gap:8px;width:100%;flex:0 0 auto}.rte-modal-container .rte-modal-header .rte-modal-header-text{display:flex;flex-direction:row;align-items:center;gap:8px}.rte-modal-container .rte-modal-header .rte-modal-header-text .rte-modal-title{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:24px;line-height:32px;letter-spacing:-.5px;margin:0;overflow:hidden;color:var(--content-primary);text-overflow:ellipsis;flex:1 1 0}.rte-modal-container .rte-modal-content{display:flex;padding:1px;flex-direction:column;align-items:flex-start;gap:16px;color:var(--content-secondary);width:100%;overflow:auto}.rte-modal-container .rte-modal-content .rte-modal-content-description{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:14px;line-height:20px;letter-spacing:0px;margin:0;color:var(--content-secondary)}.rte-modal-container .rte-modal-footer{display:flex;padding:0;justify-content:flex-end;align-items:center;gap:24px;align-self:stretch;flex:0 0 auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconButtonComponent, selector: "rte-icon-button", inputs: ["disabled", "name", "size", "variant", "type", "appearance", "compactSpacing", "ariaLabel", "ariaLabelledBy", "badgeCount", "badgeContent", "badgeType", "badgeIcon", "customStyle"], outputs: ["clickEvent"] }, { kind: "component", type: IconComponent, selector: "rte-icon", inputs: ["name", "size", "color", "classes", "appearance"] }, { kind: "component", type: DividerComponent, selector: "rte-divider", inputs: ["orientation", "thickness", "appearance", "endPoint"] }] }); }
43
43
  }
44
44
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ModalComponent, decorators: [{
45
45
  type: Component,
46
- args: [{ selector: "rte-modal", imports: [CommonModule, IconButtonComponent, IconComponent, DividerComponent], standalone: true, template: "<div class=\"rte-modal-wrapper\">\n <div class=\"rte-modal-backdrop\" [attr.data-open]=\"isOpen()\"></div>\n <dialog\n #modal\n class=\"rte-modal-container\"\n [attr.aria-modal]=\"true\"\n [attr.aria-labelledby]=\"id() + '-modal-title'\"\n [attr.aria-describedby]=\"description() ? id() + '-modal-desc' : ariaDescribedby()\"\n [attr.data-size]=\"size()\"\n [attr.data-open]=\"isOpen()\"\n >\n <div class=\"rte-modal-header\">\n <div class=\"rte-modal-header-text\">\n <rte-icon *ngIf=\"icon()\" [name]=\"icon() ?? ''\" [size]=\"iconSize()\" [appearance]=\"iconAppearance()\" />\n <h2 class=\"rte-modal-title\" [id]=\"id() + '-modal-title'\">\n {{ title() }}\n </h2>\n <rte-icon-button\n data-testid=\"modal-close-button\"\n name=\"close\"\n size=\"l\"\n class=\"close-icon\"\n variant=\"neutral\"\n [ariaLabel]=\"'Close modal ' + id()\"\n (clickEvent)=\"onClose()\"\n />\n </div>\n <rte-divider />\n </div>\n <div *ngIf=\"description()\" class=\"rte-modal-content\">\n <p class=\"rte-modal-content-description\" [id]=\"id() + '-modal-desc'\">\n {{ description() }}\n </p>\n <ng-container [ngTemplateOutlet]=\"customContent()\"></ng-container>\n </div>\n <div class=\"rte-modal-footer\">\n <ng-container [ngTemplateOutlet]=\"secondaryButton()\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"primaryButton()\"></ng-container>\n </div>\n </dialog>\n</div>\n", styles: [".rte-modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;opacity:0;background-color:#201f1f80;transition:opacity .15s ease-out}.rte-modal-backdrop[data-open=true]{opacity:1}.rte-modal-container{box-shadow:0 4px 8px 0 var(--elevation-shadow-key),0 0 2px 0 var(--elevation-shadow-ambient);background:linear-gradient(0deg,var(--elevation-surface-shadow-3) 0%,var(--elevation-surface-shadow-3) 100%);border:none;box-sizing:border-box;position:absolute;max-height:90vh;top:50%;transform:translateY(-50%) scale(.98);display:flex;width:496px;padding:24px;flex-direction:column;align-items:flex-start;gap:24px;background-color:var(--background-default);border-radius:8px;opacity:0;transition:opacity .15s ease-in,transform .15s ease-in}.rte-modal-container[data-open=true]{opacity:1;transform:translateY(-50%) scale(1)}.rte-modal-container[data-size=s]{width:656px}.rte-modal-container[data-size=m]{width:936px}.rte-modal-container[data-size=l]{width:1168px;border-radius:12px}.rte-modal-container[data-size=xl]{width:1328px;border-radius:16px}.rte-modal-container .rte-modal-header{display:flex;flex-direction:column;gap:8px;width:100%;flex:0 0 auto}.rte-modal-container .rte-modal-header .rte-modal-header-text{display:flex;flex-direction:row;align-items:center;gap:8px}.rte-modal-container .rte-modal-header .rte-modal-header-text .rte-modal-title{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:24px;line-height:32px;letter-spacing:-.5px;margin:0;overflow:hidden;color:var(--content-primary);text-overflow:ellipsis;flex:1 1 0}.rte-modal-container .rte-modal-content{display:flex;padding:1px;flex-direction:column;align-items:flex-start;gap:16px;color:var(--content-secondary);width:100%;overflow:auto}.rte-modal-container .rte-modal-content .rte-modal-content-description{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:14px;line-height:20px;letter-spacing:0px;margin:0;color:var(--content-secondary)}.rte-modal-container .rte-modal-footer{display:flex;padding:0;justify-content:flex-end;align-items:center;gap:24px;align-self:stretch;flex:0 0 auto}\n"] }]
46
+ args: [{ selector: "rte-modal", imports: [CommonModule, IconButtonComponent, IconComponent, DividerComponent], standalone: true, template: "<div class=\"rte-modal-wrapper\">\n <div class=\"rte-modal-backdrop\" [attr.data-open]=\"isOpen()\"></div>\n <dialog\n #modal\n class=\"rte-modal-container\"\n [attr.aria-modal]=\"true\"\n [attr.aria-labelledby]=\"id() + '-modal-title'\"\n [attr.aria-describedby]=\"description() ? id() + '-modal-desc' : ariaDescribedby()\"\n [attr.data-size]=\"size()\"\n [attr.data-open]=\"isOpen()\"\n >\n <div class=\"rte-modal-header\">\n <div class=\"rte-modal-header-text\">\n <rte-icon *ngIf=\"icon()\" [name]=\"icon() ?? ''\" [size]=\"iconSize()\" [appearance]=\"iconAppearance()\" />\n <h2 class=\"rte-modal-title\" [id]=\"id() + '-modal-title'\">\n {{ title() }}\n </h2>\n <rte-icon-button\n data-testid=\"modal-close-button\"\n name=\"close\"\n size=\"l\"\n class=\"close-icon\"\n variant=\"neutral\"\n [ariaLabel]=\"'Close modal ' + id()\"\n (clickEvent)=\"onClose()\"\n />\n </div>\n <rte-divider />\n </div>\n <div *ngIf=\"description()\" class=\"rte-modal-content\">\n <p class=\"rte-modal-content-description\" [id]=\"id() + '-modal-desc'\">\n {{ description() }}\n </p>\n <ng-container [ngTemplateOutlet]=\"customContent()\"></ng-container>\n </div>\n <div class=\"rte-modal-footer\">\n <ng-container [ngTemplateOutlet]=\"secondaryButton()\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"primaryButton()\"></ng-container>\n </div>\n </dialog>\n</div>\n", styles: [".rte-modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;opacity:0;background-color:#201f1f80;transition:opacity .15s ease-out}.rte-modal-backdrop[data-open=true]{opacity:1}.rte-modal-container{box-shadow:0 4px 8px 0 var(--elevation-shadow-key),0 0 2px 0 var(--elevation-shadow-ambient);background:linear-gradient(0deg,var(--elevation-surface-shadow-3) 0%,var(--elevation-surface-shadow-3) 100%);border:none;box-sizing:border-box;position:absolute;max-height:90vh;top:50%;transform:translateY(-50%) scale(.98);display:flex;width:496px;padding:24px;flex-direction:column;align-items:flex-start;gap:24px;background-color:var(--background-default);border-radius:8px;opacity:0;transition:opacity .15s ease-in,transform .15s ease-in;margin:auto}.rte-modal-container[data-open=true]{opacity:1;transform:translateY(-50%) scale(1)}.rte-modal-container[data-size=s]{width:656px}.rte-modal-container[data-size=m]{width:936px}.rte-modal-container[data-size=l]{width:1168px;border-radius:12px}.rte-modal-container[data-size=xl]{width:1328px;border-radius:16px}.rte-modal-container .rte-modal-header{display:flex;flex-direction:column;gap:8px;width:100%;flex:0 0 auto}.rte-modal-container .rte-modal-header .rte-modal-header-text{display:flex;flex-direction:row;align-items:center;gap:8px}.rte-modal-container .rte-modal-header .rte-modal-header-text .rte-modal-title{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:24px;line-height:32px;letter-spacing:-.5px;margin:0;overflow:hidden;color:var(--content-primary);text-overflow:ellipsis;flex:1 1 0}.rte-modal-container .rte-modal-content{display:flex;padding:1px;flex-direction:column;align-items:flex-start;gap:16px;color:var(--content-secondary);width:100%;overflow:auto}.rte-modal-container .rte-modal-content .rte-modal-content-description{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:14px;line-height:20px;letter-spacing:0px;margin:0;color:var(--content-secondary)}.rte-modal-container .rte-modal-footer{display:flex;padding:0;justify-content:flex-end;align-items:center;gap:24px;align-self:stretch;flex:0 0 auto}\n"] }]
47
47
  }], ctorParameters: () => [] });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBRVQsS0FBSyxFQUdMLFNBQVMsRUFFVCxNQUFNLEVBQ04sTUFBTSxFQUNOLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFFbEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFckUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7QUFTM0UsTUFBTSxPQUFPLGNBQWM7SUFtQnpCO1FBbEJTLE9BQUUsR0FBRyxLQUFLLEVBQXNCLENBQUM7UUFDakMsU0FBSSxHQUFHLEtBQUssRUFBc0IsQ0FBQztRQUNuQyxtQkFBYyxHQUFHLEtBQUssQ0FBd0IsVUFBVSxDQUFDLENBQUM7UUFDMUQsVUFBSyxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQ3hCLGdCQUFXLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDOUIseUJBQW9CLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDdkMsV0FBTSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUMvQixTQUFJLEdBQUcsS0FBSyxDQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLG9CQUFlLEdBQUcsS0FBSyxDQUFxQixTQUFTLENBQUMsQ0FBQztRQUV2RCxrQkFBYSxHQUFHLEtBQUssQ0FBc0MsSUFBSSxDQUFDLENBQUM7UUFDakUsb0JBQWUsR0FBRyxLQUFLLENBQXNDLElBQUksQ0FBQyxDQUFDO1FBQ25FLGtCQUFhLEdBQUcsS0FBSyxDQUE4QixJQUFJLENBQUMsQ0FBQztRQUVqRCxlQUFVLEdBQUcsU0FBUyxDQUE2QixPQUFPLENBQUMsQ0FBQztRQUVyRSxjQUFTLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFJcEMsZUFBVSxHQUFHLE1BQU0sRUFBUSxDQUFDO1FBRTVCLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFKNUIsQ0FBQztJQU1oQixlQUFlO1FBQ2IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLGFBQWEsQ0FBQztRQUNoRCxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQzsrR0F0Q1UsY0FBYzttR0FBZCxjQUFjLHUwREM3QjNCLHdoREF5Q0EsbXNFRGpCWSxZQUFZLDBTQUFFLG1CQUFtQixvUkFBRSxhQUFhLGlIQUFFLGdCQUFnQjs7NEZBS2pFLGNBQWM7a0JBUDFCLFNBQVM7K0JBQ0UsV0FBVyxXQUNaLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxjQUNqRSxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBpbnB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIE9uRGVzdHJveSxcbiAgdmlld0NoaWxkLFxuICBBZnRlclZpZXdJbml0LFxuICBvdXRwdXQsXG4gIGluamVjdCxcbiAgc2lnbmFsLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgU2l6ZSB9IGZyb20gXCJAZGVzaWduLXN5c3RlbS1ydGUvY29yZS9jb21wb25lbnRzL2NvbW1vbi9jb21tb24tdHlwZXNcIjtcbmltcG9ydCB7IEljb25TaXplIH0gZnJvbSBcIkBkZXNpZ24tc3lzdGVtLXJ0ZS9jb3JlL2NvbXBvbmVudHMvaWNvbi9pY29uLmNvbnN0YW50c1wiO1xuXG5pbXBvcnQgeyBGb2N1c1RyYXBTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2ZvY3VzLXRyYXAuc2VydmljZVwiO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSBcIi4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBEaXZpZGVyQ29tcG9uZW50IH0gZnJvbSBcIi4uL2RpdmlkZXIvZGl2aWRlci5jb21wb25lbnRcIjtcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tIFwiLi4vaWNvbi9pY29uLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgSWNvbkJ1dHRvbkNvbXBvbmVudCB9IGZyb20gXCIuLi9pY29uLWJ1dHRvbi9pY29uLWJ1dHRvbi5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInJ0ZS1tb2RhbFwiLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJY29uQnV0dG9uQ29tcG9uZW50LCBJY29uQ29tcG9uZW50LCBEaXZpZGVyQ29tcG9uZW50XSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGVVcmw6IFwiLi9tb2RhbC5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybDogXCIuL21vZGFsLmNvbXBvbmVudC5zY3NzXCIsXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgcmVhZG9ubHkgaWQgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIHJlYWRvbmx5IGljb24gPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIHJlYWRvbmx5IGljb25BcHBlYXJhbmNlID0gaW5wdXQ8XCJvdXRsaW5lZFwiIHwgXCJmaWxsZWRcIj4oXCJvdXRsaW5lZFwiKTtcbiAgcmVhZG9ubHkgdGl0bGUgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uID0gaW5wdXQ8c3RyaW5nPigpO1xuICByZWFkb25seSBzZWNvbmRhcnlCdXR0b25MYWJlbCA9IGlucHV0PHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgaXNPcGVuID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBzaXplID0gaW5wdXQ8U2l6ZT4oXCJtXCIpO1xuICByZWFkb25seSBhcmlhRGVzY3JpYmVkYnkgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgcmVhZG9ubHkgcHJpbWFyeUJ1dHRvbiA9IGlucHV0PFRlbXBsYXRlUmVmPEJ1dHRvbkNvbXBvbmVudD4gfCBudWxsPihudWxsKTtcbiAgcmVhZG9ubHkgc2Vjb25kYXJ5QnV0dG9uID0gaW5wdXQ8VGVtcGxhdGVSZWY8QnV0dG9uQ29tcG9uZW50PiB8IG51bGw+KG51bGwpO1xuICByZWFkb25seSBjdXN0b21Db250ZW50ID0gaW5wdXQ8VGVtcGxhdGVSZWY8dW5rbm93bj4gfCBudWxsPihudWxsKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4+KFwibW9kYWxcIik7XG5cbiAgcHJpdmF0ZSBmb2N1c1RyYXAgPSBpbmplY3QoRm9jdXNUcmFwU2VydmljZSk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHJlYWRvbmx5IGNsb3NlTW9kYWwgPSBvdXRwdXQ8dm9pZD4oKTtcblxuICByZWFkb25seSBpY29uU2l6ZSA9IHNpZ25hbChJY29uU2l6ZVtcInhsXCJdKTtcblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgY29uc3QgbmF0aXZlID0gdGhpcy5lbGVtZW50UmVmKCk/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKG5hdGl2ZSkge1xuICAgICAgdGhpcy5mb2N1c1RyYXAuYWN0aXZhdGUobmF0aXZlKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmZvY3VzVHJhcC5kZWFjdGl2YXRlKCk7XG4gIH1cblxuICBvbkNsb3NlKCkge1xuICAgIHRoaXMuY2xvc2VNb2RhbC5lbWl0KCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJydGUtbW9kYWwtd3JhcHBlclwiPlxuICA8ZGl2IGNsYXNzPVwicnRlLW1vZGFsLWJhY2tkcm9wXCIgW2F0dHIuZGF0YS1vcGVuXT1cImlzT3BlbigpXCI+PC9kaXY+XG4gIDxkaWFsb2dcbiAgICAjbW9kYWxcbiAgICBjbGFzcz1cInJ0ZS1tb2RhbC1jb250YWluZXJcIlxuICAgIFthdHRyLmFyaWEtbW9kYWxdPVwidHJ1ZVwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImlkKCkgKyAnLW1vZGFsLXRpdGxlJ1wiXG4gICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJkZXNjcmlwdGlvbigpID8gaWQoKSArICctbW9kYWwtZGVzYycgOiBhcmlhRGVzY3JpYmVkYnkoKVwiXG4gICAgW2F0dHIuZGF0YS1zaXplXT1cInNpemUoKVwiXG4gICAgW2F0dHIuZGF0YS1vcGVuXT1cImlzT3BlbigpXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJydGUtbW9kYWwtaGVhZGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicnRlLW1vZGFsLWhlYWRlci10ZXh0XCI+XG4gICAgICAgIDxydGUtaWNvbiAqbmdJZj1cImljb24oKVwiIFtuYW1lXT1cImljb24oKSA/PyAnJ1wiIFtzaXplXT1cImljb25TaXplKClcIiBbYXBwZWFyYW5jZV09XCJpY29uQXBwZWFyYW5jZSgpXCIgLz5cbiAgICAgICAgPGgyIGNsYXNzPVwicnRlLW1vZGFsLXRpdGxlXCIgW2lkXT1cImlkKCkgKyAnLW1vZGFsLXRpdGxlJ1wiPlxuICAgICAgICAgIHt7IHRpdGxlKCkgfX1cbiAgICAgICAgPC9oMj5cbiAgICAgICAgPHJ0ZS1pY29uLWJ1dHRvblxuICAgICAgICAgIGRhdGEtdGVzdGlkPVwibW9kYWwtY2xvc2UtYnV0dG9uXCJcbiAgICAgICAgICBuYW1lPVwiY2xvc2VcIlxuICAgICAgICAgIHNpemU9XCJsXCJcbiAgICAgICAgICBjbGFzcz1cImNsb3NlLWljb25cIlxuICAgICAgICAgIHZhcmlhbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICBbYXJpYUxhYmVsXT1cIidDbG9zZSBtb2RhbCAnICsgaWQoKVwiXG4gICAgICAgICAgKGNsaWNrRXZlbnQpPVwib25DbG9zZSgpXCJcbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPHJ0ZS1kaXZpZGVyIC8+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImRlc2NyaXB0aW9uKClcIiBjbGFzcz1cInJ0ZS1tb2RhbC1jb250ZW50XCI+XG4gICAgICA8cCBjbGFzcz1cInJ0ZS1tb2RhbC1jb250ZW50LWRlc2NyaXB0aW9uXCIgW2lkXT1cImlkKCkgKyAnLW1vZGFsLWRlc2MnXCI+XG4gICAgICAgIHt7IGRlc2NyaXB0aW9uKCkgfX1cbiAgICAgIDwvcD5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tQ29udGVudCgpXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInJ0ZS1tb2RhbC1mb290ZXJcIj5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwic2Vjb25kYXJ5QnV0dG9uKClcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwicHJpbWFyeUJ1dHRvbigpXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvZGlhbG9nPlxuPC9kaXY+XG4iXX0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBRVQsS0FBSyxFQUdMLFNBQVMsRUFFVCxNQUFNLEVBQ04sTUFBTSxFQUNOLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFFbEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFckUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7QUFTM0UsTUFBTSxPQUFPLGNBQWM7SUFtQnpCO1FBbEJTLE9BQUUsR0FBRyxLQUFLLEVBQXNCLENBQUM7UUFDakMsU0FBSSxHQUFHLEtBQUssRUFBc0IsQ0FBQztRQUNuQyxtQkFBYyxHQUFHLEtBQUssQ0FBd0IsVUFBVSxDQUFDLENBQUM7UUFDMUQsVUFBSyxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQ3hCLGdCQUFXLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDOUIseUJBQW9CLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDdkMsV0FBTSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUMvQixTQUFJLEdBQUcsS0FBSyxDQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLG9CQUFlLEdBQUcsS0FBSyxDQUFxQixTQUFTLENBQUMsQ0FBQztRQUV2RCxrQkFBYSxHQUFHLEtBQUssQ0FBc0MsSUFBSSxDQUFDLENBQUM7UUFDakUsb0JBQWUsR0FBRyxLQUFLLENBQXNDLElBQUksQ0FBQyxDQUFDO1FBQ25FLGtCQUFhLEdBQUcsS0FBSyxDQUE4QixJQUFJLENBQUMsQ0FBQztRQUVqRCxlQUFVLEdBQUcsU0FBUyxDQUE2QixPQUFPLENBQUMsQ0FBQztRQUVyRSxjQUFTLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFJcEMsZUFBVSxHQUFHLE1BQU0sRUFBUSxDQUFDO1FBRTVCLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFKNUIsQ0FBQztJQU1oQixlQUFlO1FBQ2IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLGFBQWEsQ0FBQztRQUNoRCxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQzsrR0F0Q1UsY0FBYzttR0FBZCxjQUFjLHUwREM3QjNCLHdoREF5Q0EsK3NFRGpCWSxZQUFZLDBTQUFFLG1CQUFtQixvUkFBRSxhQUFhLGlIQUFFLGdCQUFnQjs7NEZBS2pFLGNBQWM7a0JBUDFCLFNBQVM7K0JBQ0UsV0FBVyxXQUNaLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxjQUNqRSxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBpbnB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIE9uRGVzdHJveSxcbiAgdmlld0NoaWxkLFxuICBBZnRlclZpZXdJbml0LFxuICBvdXRwdXQsXG4gIGluamVjdCxcbiAgc2lnbmFsLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgU2l6ZSB9IGZyb20gXCJAZGVzaWduLXN5c3RlbS1ydGUvY29yZS9jb21wb25lbnRzL2NvbW1vbi9jb21tb24tdHlwZXNcIjtcbmltcG9ydCB7IEljb25TaXplIH0gZnJvbSBcIkBkZXNpZ24tc3lzdGVtLXJ0ZS9jb3JlL2NvbXBvbmVudHMvaWNvbi9pY29uLmNvbnN0YW50c1wiO1xuXG5pbXBvcnQgeyBGb2N1c1RyYXBTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2ZvY3VzLXRyYXAuc2VydmljZVwiO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSBcIi4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBEaXZpZGVyQ29tcG9uZW50IH0gZnJvbSBcIi4uL2RpdmlkZXIvZGl2aWRlci5jb21wb25lbnRcIjtcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tIFwiLi4vaWNvbi9pY29uLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgSWNvbkJ1dHRvbkNvbXBvbmVudCB9IGZyb20gXCIuLi9pY29uLWJ1dHRvbi9pY29uLWJ1dHRvbi5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInJ0ZS1tb2RhbFwiLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJY29uQnV0dG9uQ29tcG9uZW50LCBJY29uQ29tcG9uZW50LCBEaXZpZGVyQ29tcG9uZW50XSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGVVcmw6IFwiLi9tb2RhbC5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybDogXCIuL21vZGFsLmNvbXBvbmVudC5zY3NzXCIsXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgcmVhZG9ubHkgaWQgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIHJlYWRvbmx5IGljb24gPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIHJlYWRvbmx5IGljb25BcHBlYXJhbmNlID0gaW5wdXQ8XCJvdXRsaW5lZFwiIHwgXCJmaWxsZWRcIj4oXCJvdXRsaW5lZFwiKTtcbiAgcmVhZG9ubHkgdGl0bGUgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uID0gaW5wdXQ8c3RyaW5nPigpO1xuICByZWFkb25seSBzZWNvbmRhcnlCdXR0b25MYWJlbCA9IGlucHV0PHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgaXNPcGVuID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBzaXplID0gaW5wdXQ8U2l6ZT4oXCJtXCIpO1xuICByZWFkb25seSBhcmlhRGVzY3JpYmVkYnkgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgcmVhZG9ubHkgcHJpbWFyeUJ1dHRvbiA9IGlucHV0PFRlbXBsYXRlUmVmPEJ1dHRvbkNvbXBvbmVudD4gfCBudWxsPihudWxsKTtcbiAgcmVhZG9ubHkgc2Vjb25kYXJ5QnV0dG9uID0gaW5wdXQ8VGVtcGxhdGVSZWY8QnV0dG9uQ29tcG9uZW50PiB8IG51bGw+KG51bGwpO1xuICByZWFkb25seSBjdXN0b21Db250ZW50ID0gaW5wdXQ8VGVtcGxhdGVSZWY8dW5rbm93bj4gfCBudWxsPihudWxsKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4+KFwibW9kYWxcIik7XG5cbiAgcHJpdmF0ZSBmb2N1c1RyYXAgPSBpbmplY3QoRm9jdXNUcmFwU2VydmljZSk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHJlYWRvbmx5IGNsb3NlTW9kYWwgPSBvdXRwdXQ8dm9pZD4oKTtcblxuICByZWFkb25seSBpY29uU2l6ZSA9IHNpZ25hbChJY29uU2l6ZVtcInhsXCJdKTtcblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgY29uc3QgbmF0aXZlID0gdGhpcy5lbGVtZW50UmVmKCk/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKG5hdGl2ZSkge1xuICAgICAgdGhpcy5mb2N1c1RyYXAuYWN0aXZhdGUobmF0aXZlKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmZvY3VzVHJhcC5kZWFjdGl2YXRlKCk7XG4gIH1cblxuICBvbkNsb3NlKCkge1xuICAgIHRoaXMuY2xvc2VNb2RhbC5lbWl0KCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJydGUtbW9kYWwtd3JhcHBlclwiPlxuICA8ZGl2IGNsYXNzPVwicnRlLW1vZGFsLWJhY2tkcm9wXCIgW2F0dHIuZGF0YS1vcGVuXT1cImlzT3BlbigpXCI+PC9kaXY+XG4gIDxkaWFsb2dcbiAgICAjbW9kYWxcbiAgICBjbGFzcz1cInJ0ZS1tb2RhbC1jb250YWluZXJcIlxuICAgIFthdHRyLmFyaWEtbW9kYWxdPVwidHJ1ZVwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImlkKCkgKyAnLW1vZGFsLXRpdGxlJ1wiXG4gICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJkZXNjcmlwdGlvbigpID8gaWQoKSArICctbW9kYWwtZGVzYycgOiBhcmlhRGVzY3JpYmVkYnkoKVwiXG4gICAgW2F0dHIuZGF0YS1zaXplXT1cInNpemUoKVwiXG4gICAgW2F0dHIuZGF0YS1vcGVuXT1cImlzT3BlbigpXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJydGUtbW9kYWwtaGVhZGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicnRlLW1vZGFsLWhlYWRlci10ZXh0XCI+XG4gICAgICAgIDxydGUtaWNvbiAqbmdJZj1cImljb24oKVwiIFtuYW1lXT1cImljb24oKSA/PyAnJ1wiIFtzaXplXT1cImljb25TaXplKClcIiBbYXBwZWFyYW5jZV09XCJpY29uQXBwZWFyYW5jZSgpXCIgLz5cbiAgICAgICAgPGgyIGNsYXNzPVwicnRlLW1vZGFsLXRpdGxlXCIgW2lkXT1cImlkKCkgKyAnLW1vZGFsLXRpdGxlJ1wiPlxuICAgICAgICAgIHt7IHRpdGxlKCkgfX1cbiAgICAgICAgPC9oMj5cbiAgICAgICAgPHJ0ZS1pY29uLWJ1dHRvblxuICAgICAgICAgIGRhdGEtdGVzdGlkPVwibW9kYWwtY2xvc2UtYnV0dG9uXCJcbiAgICAgICAgICBuYW1lPVwiY2xvc2VcIlxuICAgICAgICAgIHNpemU9XCJsXCJcbiAgICAgICAgICBjbGFzcz1cImNsb3NlLWljb25cIlxuICAgICAgICAgIHZhcmlhbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICBbYXJpYUxhYmVsXT1cIidDbG9zZSBtb2RhbCAnICsgaWQoKVwiXG4gICAgICAgICAgKGNsaWNrRXZlbnQpPVwib25DbG9zZSgpXCJcbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPHJ0ZS1kaXZpZGVyIC8+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImRlc2NyaXB0aW9uKClcIiBjbGFzcz1cInJ0ZS1tb2RhbC1jb250ZW50XCI+XG4gICAgICA8cCBjbGFzcz1cInJ0ZS1tb2RhbC1jb250ZW50LWRlc2NyaXB0aW9uXCIgW2lkXT1cImlkKCkgKyAnLW1vZGFsLWRlc2MnXCI+XG4gICAgICAgIHt7IGRlc2NyaXB0aW9uKCkgfX1cbiAgICAgIDwvcD5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tQ29udGVudCgpXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInJ0ZS1tb2RhbC1mb290ZXJcIj5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwic2Vjb25kYXJ5QnV0dG9uKClcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwicHJpbWFyeUJ1dHRvbigpXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvZGlhbG9nPlxuPC9kaXY+XG4iXX0=
@@ -17,6 +17,8 @@ export class SegmentedControlComponent {
17
17
  this.selectedSegment = input();
18
18
  this.ariaLabel = input();
19
19
  this.ariaLabelledBy = input();
20
+ this.appearance = input("brand");
21
+ this.compactSpacing = input(false);
20
22
  this.segmentRefs = viewChildren("segment");
21
23
  this.sliderLeft = signal(0);
22
24
  this.sliderWidth = signal(0);
@@ -124,10 +126,10 @@ export class SegmentedControlComponent {
124
126
  }
125
127
  }
126
128
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SegmentedControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
127
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.14", type: SegmentedControlComponent, isStandalone: true, selector: "rte-segmented-control", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, selectedSegment: { classPropertyName: "selectedSegment", publicName: "selectedSegment", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change" }, viewQueries: [{ propertyName: "segmentRefs", predicate: ["segment"], descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"isValidOptions()\" class=\"rte-segmented-control\" role=\"radiogroup\" [attr.aria-label]=\"ariaLabel()\">\n <span class=\"rte-segment-selected-indicator\" [ngStyle]=\"segmentSelectedIndicatorStyle()\"></span>\n <ng-container *ngFor=\"let option of options(); let idx = index\">\n <div class=\"rte-segment-container\" [attr.data-position]=\"getSegmentPosition(idx)\">\n <div\n #segment\n role=\"radio\"\n class=\"rte-segment\"\n tabindex=\"0\"\n [attr.data-id]=\"option.id\"\n [attr.data-segment-type]=\"option.icon ? 'icon' : 'label'\"\n [class.selected]=\"isSegmentSelected(option.id)\"\n [attr.aria-checked]=\"isSegmentSelected(option.id)\"\n [attr.aria-label]=\"option.label\"\n (click)=\"selectSegment(option.id)\"\n (keydown)=\"handleKeyDown($event)\"\n (keyup)=\"handleKeyUp($event)\"\n >\n <rte-icon *ngIf=\"isSegmentSelected(option.id)\" name=\"check-small\" class=\"rte-selected-icon\" [size]=\"24\" />\n <div class=\"rte-segment-content\">\n <ng-container *ngIf=\"option.icon; else label\">\n <rte-icon\n [name]=\"option.icon\"\n [size]=\"24\"\n [appearance]=\"isSegmentSelected(option.id) ? 'filled' : 'outlined'\"\n ></rte-icon>\n </ng-container>\n <ng-template #label>\n <span class=\"rte-segment-label\">{{ option.label }}</span>\n </ng-template>\n </div>\n <rte-badge\n *ngIf=\"shouldDisplayBadge(option)\"\n [count]=\"option.badgeCount\"\n [badgeContent]=\"option.badgeContent!\"\n [icon]=\"option.badgeIcon!\"\n [badgeType]=\"option.badgeType!\"\n [simpleBadge]=\"true\"\n [badgeSize]=\"option.badgeSize!\"\n ></rte-badge>\n </div>\n </div>\n </ng-container>\n</div>\n", styles: [".rte-segmented-control{display:flex;min-width:168px;max-width:720px;height:48px}.rte-segmented-control[data-number-of-segments=\"3\"]{min-width:256px}.rte-segment-selected-indicator{position:absolute;top:4px;height:40px;background:var(--background-default);border-radius:999px;transition:left .2s ease-out,width .2s ease-out}.rte-segment-container{display:flex;border-top:1px solid var(--border-inverse);border-bottom:1px solid var(--border-inverse);background:var(--background-brand-default);padding:4px 2px;align-items:center;flex:1 0 0;overflow:hidden}.rte-segment-container[data-position=left]{border-radius:999px 0 0 999px;border-left:1px solid var(--border-inverse);background:var(--background-brand-default);padding-left:4px}.rte-segment-container[data-position=right]{border-radius:0 999px 999px 0;border-right:1px solid var(--border-inverse);background:var(--background-brand-default);padding-right:4px}.rte-segment{display:flex;padding:6px 8px;align-items:center;border-radius:999px;color:var(--content-primary-inverse);flex:1 1 auto;overflow:hidden;width:100%;z-index:0}.rte-segment:focus-visible{outline:1px solid var(--border-inverse);outline-offset:-2px}.rte-segment.selected{transition:color .2s ease-out;color:var(--content-brand-default)}.rte-segment.selected:focus-visible{outline:1px solid var(--border-brand-focused)}.rte-segment:hover:not(.selected){background:var(--background-brand-hover);cursor:pointer}.rte-segment[data-segment-type=icon]{padding:8px}.rte-segment .rte-segment-content{display:flex;align-items:center;justify-content:center;width:100%;overflow:hidden}.rte-segment .rte-segment-content .rte-segment-label{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:20px;line-height:28px;letter-spacing:-.5px;padding:0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rte-segment .rte-selected-icon{min-width:24px;min-height:24px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: IconComponent, selector: "rte-icon", inputs: ["name", "size", "color", "classes", "appearance"] }, { kind: "component", type: BadgeComponent, selector: "rte-badge", inputs: ["badgeType", "badgeSize", "badgeContent", "count", "icon", "simpleBadge"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
129
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.14", type: SegmentedControlComponent, isStandalone: true, selector: "rte-segmented-control", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, selectedSegment: { classPropertyName: "selectedSegment", publicName: "selectedSegment", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, compactSpacing: { classPropertyName: "compactSpacing", publicName: "compactSpacing", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change" }, viewQueries: [{ propertyName: "segmentRefs", predicate: ["segment"], descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"isValidOptions()\"\n class=\"rte-segmented-control\"\n role=\"radiogroup\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.data-number-of-segments]=\"options().length\"\n [attr.data-compact-spacing]=\"compactSpacing()\"\n>\n <span\n class=\"rte-segment-selected-indicator\"\n [ngStyle]=\"segmentSelectedIndicatorStyle()\"\n [attr.data-compact-spacing]=\"compactSpacing()\"\n ></span>\n <ng-container *ngFor=\"let option of options(); let idx = index\">\n <div\n class=\"rte-segment-container\"\n [attr.data-position]=\"getSegmentPosition(idx)\"\n [attr.data-appearance]=\"appearance()\"\n [attr.data-compact-spacing]=\"compactSpacing()\"\n >\n <div\n #segment\n role=\"radio\"\n class=\"rte-segment\"\n tabindex=\"0\"\n [attr.data-id]=\"option.id\"\n [attr.data-segment-type]=\"option.icon ? 'icon' : 'label'\"\n [attr.data-compact-spacing]=\"compactSpacing()\"\n [class.selected]=\"isSegmentSelected(option.id)\"\n [attr.aria-checked]=\"isSegmentSelected(option.id)\"\n [attr.aria-label]=\"option.label\"\n (click)=\"selectSegment(option.id)\"\n (keydown)=\"handleKeyDown($event)\"\n (keyup)=\"handleKeyUp($event)\"\n >\n <rte-icon *ngIf=\"isSegmentSelected(option.id)\" name=\"check-small\" class=\"rte-selected-icon\" [size]=\"24\" />\n <div class=\"rte-segment-content\">\n <ng-container *ngIf=\"option.icon; else label\">\n <rte-icon\n [name]=\"option.icon\"\n [size]=\"compactSpacing() ? 20 : 24\"\n [appearance]=\"isSegmentSelected(option.id) ? 'filled' : 'outlined'\"\n ></rte-icon>\n </ng-container>\n <ng-template #label>\n <span class=\"rte-segment-label\">{{ option.label }}</span>\n </ng-template>\n </div>\n <rte-badge\n *ngIf=\"shouldDisplayBadge(option)\"\n [count]=\"option.badgeCount\"\n [badgeContent]=\"option.badgeContent!\"\n [icon]=\"option.badgeIcon!\"\n [badgeType]=\"option.badgeType!\"\n [simpleBadge]=\"true\"\n [badgeSize]=\"option.badgeSize!\"\n ></rte-badge>\n </div>\n </div>\n </ng-container>\n</div>\n", styles: [".rte-segmented-control{display:flex;min-width:168px;max-width:720px}.rte-segmented-control[data-number-of-segments=\"3\"]{min-width:256px}.rte-segmented-control[data-compact-spacing=true]{min-width:80px}.rte-segmented-control[data-compact-spacing=true][data-number-of-segments=\"3\"]{min-width:128px}.rte-segment-selected-indicator{position:absolute;top:4px;height:32px;background:var(--background-default);border-radius:999px;transition:left .2s ease-out,width .2s ease-out}.rte-segment-selected-indicator[data-compact-spacing=true]{height:24px}.rte-segment-container{display:flex;border-top:1px solid var(--border-inverse);border-bottom:1px solid var(--border-inverse);background:var(--background-brand-default);padding:4px 2px;align-items:center;flex:1 0 0;overflow:hidden;height:40px;box-sizing:border-box}.rte-segment-container[data-compact-spacing=true]{height:32px;padding:0 2px}.rte-segment-container[data-appearance=neutral]{border-top:1px solid var(--border-tertiary);border-bottom:1px solid var(--border-tertiary);background:var(--background-neutral-regular-default)}.rte-segment-container[data-appearance=neutral][data-position=left]{border-radius:999px 0 0 999px;border-left:1px solid var(--border-tertiary);padding-left:4px}.rte-segment-container[data-appearance=neutral][data-position=right]{border-radius:0 999px 999px 0;border-right:1px solid var(--border-tertiary);padding-right:4px}.rte-segment-container[data-appearance=neutral] .rte-segment-label,.rte-segment-container[data-appearance=neutral] .rte-segment{color:var(--content-secondary)}.rte-segment-container[data-appearance=neutral] .rte-segment.selected .rte-segment-content,.rte-segment-container[data-appearance=neutral] .rte-segment.selected .rte-segment-label,.rte-segment-container[data-appearance=neutral] .rte-segment.selected .rte-selected-icon{color:var(--content-primary)}.rte-segment-container[data-appearance=neutral] .rte-segment:hover:not(.selected){background:var(--background-neutral-regular-hover);cursor:pointer}.rte-segment-container[data-position=left]{border-radius:999px 0 0 999px;border-left:1px solid var(--border-inverse);padding-left:4px}.rte-segment-container[data-position=right]{border-radius:0 999px 999px 0;border-right:1px solid var(--border-inverse);padding-right:4px}.rte-segment{display:flex;padding:2px 8px;align-items:center;border-radius:999px;color:var(--content-primary-inverse);flex:1 1 auto;width:100%;z-index:0;height:32px;box-sizing:border-box}.rte-segment[data-compact-spacing=true]{padding:0 8px;height:24px}.rte-segment[data-compact-spacing=true] .rte-segment-content .rte-segment-label{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:16px;line-height:24px;letter-spacing:-.5px}.rte-segment:focus-visible{outline:1px solid var(--border-inverse);outline-offset:0px}.rte-segment.selected{transition:color .2s ease-out;color:var(--content-brand-default)}.rte-segment.selected:focus-visible{outline:1px solid var(--border-brand-focused);outline-offset:-2px}.rte-segment:hover:not(.selected){background:var(--background-brand-hover);cursor:pointer}.rte-segment .rte-segment-content{display:flex;align-items:center;justify-content:center;width:100%;overflow:hidden}.rte-segment .rte-segment-content .rte-segment-label{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:20px;line-height:28px;letter-spacing:-.5px;padding:0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rte-segment .rte-selected-icon{min-width:24px;min-height:24px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: IconComponent, selector: "rte-icon", inputs: ["name", "size", "color", "classes", "appearance"] }, { kind: "component", type: BadgeComponent, selector: "rte-badge", inputs: ["badgeType", "badgeSize", "badgeContent", "count", "icon", "simpleBadge"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
128
130
  }
129
131
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SegmentedControlComponent, decorators: [{
130
132
  type: Component,
131
- args: [{ selector: "rte-segmented-control", imports: [CommonModule, IconComponent, BadgeComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"isValidOptions()\" class=\"rte-segmented-control\" role=\"radiogroup\" [attr.aria-label]=\"ariaLabel()\">\n <span class=\"rte-segment-selected-indicator\" [ngStyle]=\"segmentSelectedIndicatorStyle()\"></span>\n <ng-container *ngFor=\"let option of options(); let idx = index\">\n <div class=\"rte-segment-container\" [attr.data-position]=\"getSegmentPosition(idx)\">\n <div\n #segment\n role=\"radio\"\n class=\"rte-segment\"\n tabindex=\"0\"\n [attr.data-id]=\"option.id\"\n [attr.data-segment-type]=\"option.icon ? 'icon' : 'label'\"\n [class.selected]=\"isSegmentSelected(option.id)\"\n [attr.aria-checked]=\"isSegmentSelected(option.id)\"\n [attr.aria-label]=\"option.label\"\n (click)=\"selectSegment(option.id)\"\n (keydown)=\"handleKeyDown($event)\"\n (keyup)=\"handleKeyUp($event)\"\n >\n <rte-icon *ngIf=\"isSegmentSelected(option.id)\" name=\"check-small\" class=\"rte-selected-icon\" [size]=\"24\" />\n <div class=\"rte-segment-content\">\n <ng-container *ngIf=\"option.icon; else label\">\n <rte-icon\n [name]=\"option.icon\"\n [size]=\"24\"\n [appearance]=\"isSegmentSelected(option.id) ? 'filled' : 'outlined'\"\n ></rte-icon>\n </ng-container>\n <ng-template #label>\n <span class=\"rte-segment-label\">{{ option.label }}</span>\n </ng-template>\n </div>\n <rte-badge\n *ngIf=\"shouldDisplayBadge(option)\"\n [count]=\"option.badgeCount\"\n [badgeContent]=\"option.badgeContent!\"\n [icon]=\"option.badgeIcon!\"\n [badgeType]=\"option.badgeType!\"\n [simpleBadge]=\"true\"\n [badgeSize]=\"option.badgeSize!\"\n ></rte-badge>\n </div>\n </div>\n </ng-container>\n</div>\n", styles: [".rte-segmented-control{display:flex;min-width:168px;max-width:720px;height:48px}.rte-segmented-control[data-number-of-segments=\"3\"]{min-width:256px}.rte-segment-selected-indicator{position:absolute;top:4px;height:40px;background:var(--background-default);border-radius:999px;transition:left .2s ease-out,width .2s ease-out}.rte-segment-container{display:flex;border-top:1px solid var(--border-inverse);border-bottom:1px solid var(--border-inverse);background:var(--background-brand-default);padding:4px 2px;align-items:center;flex:1 0 0;overflow:hidden}.rte-segment-container[data-position=left]{border-radius:999px 0 0 999px;border-left:1px solid var(--border-inverse);background:var(--background-brand-default);padding-left:4px}.rte-segment-container[data-position=right]{border-radius:0 999px 999px 0;border-right:1px solid var(--border-inverse);background:var(--background-brand-default);padding-right:4px}.rte-segment{display:flex;padding:6px 8px;align-items:center;border-radius:999px;color:var(--content-primary-inverse);flex:1 1 auto;overflow:hidden;width:100%;z-index:0}.rte-segment:focus-visible{outline:1px solid var(--border-inverse);outline-offset:-2px}.rte-segment.selected{transition:color .2s ease-out;color:var(--content-brand-default)}.rte-segment.selected:focus-visible{outline:1px solid var(--border-brand-focused)}.rte-segment:hover:not(.selected){background:var(--background-brand-hover);cursor:pointer}.rte-segment[data-segment-type=icon]{padding:8px}.rte-segment .rte-segment-content{display:flex;align-items:center;justify-content:center;width:100%;overflow:hidden}.rte-segment .rte-segment-content .rte-segment-label{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:20px;line-height:28px;letter-spacing:-.5px;padding:0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rte-segment .rte-selected-icon{min-width:24px;min-height:24px}\n"] }]
133
+ args: [{ selector: "rte-segmented-control", imports: [CommonModule, IconComponent, BadgeComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *ngIf=\"isValidOptions()\"\n class=\"rte-segmented-control\"\n role=\"radiogroup\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.data-number-of-segments]=\"options().length\"\n [attr.data-compact-spacing]=\"compactSpacing()\"\n>\n <span\n class=\"rte-segment-selected-indicator\"\n [ngStyle]=\"segmentSelectedIndicatorStyle()\"\n [attr.data-compact-spacing]=\"compactSpacing()\"\n ></span>\n <ng-container *ngFor=\"let option of options(); let idx = index\">\n <div\n class=\"rte-segment-container\"\n [attr.data-position]=\"getSegmentPosition(idx)\"\n [attr.data-appearance]=\"appearance()\"\n [attr.data-compact-spacing]=\"compactSpacing()\"\n >\n <div\n #segment\n role=\"radio\"\n class=\"rte-segment\"\n tabindex=\"0\"\n [attr.data-id]=\"option.id\"\n [attr.data-segment-type]=\"option.icon ? 'icon' : 'label'\"\n [attr.data-compact-spacing]=\"compactSpacing()\"\n [class.selected]=\"isSegmentSelected(option.id)\"\n [attr.aria-checked]=\"isSegmentSelected(option.id)\"\n [attr.aria-label]=\"option.label\"\n (click)=\"selectSegment(option.id)\"\n (keydown)=\"handleKeyDown($event)\"\n (keyup)=\"handleKeyUp($event)\"\n >\n <rte-icon *ngIf=\"isSegmentSelected(option.id)\" name=\"check-small\" class=\"rte-selected-icon\" [size]=\"24\" />\n <div class=\"rte-segment-content\">\n <ng-container *ngIf=\"option.icon; else label\">\n <rte-icon\n [name]=\"option.icon\"\n [size]=\"compactSpacing() ? 20 : 24\"\n [appearance]=\"isSegmentSelected(option.id) ? 'filled' : 'outlined'\"\n ></rte-icon>\n </ng-container>\n <ng-template #label>\n <span class=\"rte-segment-label\">{{ option.label }}</span>\n </ng-template>\n </div>\n <rte-badge\n *ngIf=\"shouldDisplayBadge(option)\"\n [count]=\"option.badgeCount\"\n [badgeContent]=\"option.badgeContent!\"\n [icon]=\"option.badgeIcon!\"\n [badgeType]=\"option.badgeType!\"\n [simpleBadge]=\"true\"\n [badgeSize]=\"option.badgeSize!\"\n ></rte-badge>\n </div>\n </div>\n </ng-container>\n</div>\n", styles: [".rte-segmented-control{display:flex;min-width:168px;max-width:720px}.rte-segmented-control[data-number-of-segments=\"3\"]{min-width:256px}.rte-segmented-control[data-compact-spacing=true]{min-width:80px}.rte-segmented-control[data-compact-spacing=true][data-number-of-segments=\"3\"]{min-width:128px}.rte-segment-selected-indicator{position:absolute;top:4px;height:32px;background:var(--background-default);border-radius:999px;transition:left .2s ease-out,width .2s ease-out}.rte-segment-selected-indicator[data-compact-spacing=true]{height:24px}.rte-segment-container{display:flex;border-top:1px solid var(--border-inverse);border-bottom:1px solid var(--border-inverse);background:var(--background-brand-default);padding:4px 2px;align-items:center;flex:1 0 0;overflow:hidden;height:40px;box-sizing:border-box}.rte-segment-container[data-compact-spacing=true]{height:32px;padding:0 2px}.rte-segment-container[data-appearance=neutral]{border-top:1px solid var(--border-tertiary);border-bottom:1px solid var(--border-tertiary);background:var(--background-neutral-regular-default)}.rte-segment-container[data-appearance=neutral][data-position=left]{border-radius:999px 0 0 999px;border-left:1px solid var(--border-tertiary);padding-left:4px}.rte-segment-container[data-appearance=neutral][data-position=right]{border-radius:0 999px 999px 0;border-right:1px solid var(--border-tertiary);padding-right:4px}.rte-segment-container[data-appearance=neutral] .rte-segment-label,.rte-segment-container[data-appearance=neutral] .rte-segment{color:var(--content-secondary)}.rte-segment-container[data-appearance=neutral] .rte-segment.selected .rte-segment-content,.rte-segment-container[data-appearance=neutral] .rte-segment.selected .rte-segment-label,.rte-segment-container[data-appearance=neutral] .rte-segment.selected .rte-selected-icon{color:var(--content-primary)}.rte-segment-container[data-appearance=neutral] .rte-segment:hover:not(.selected){background:var(--background-neutral-regular-hover);cursor:pointer}.rte-segment-container[data-position=left]{border-radius:999px 0 0 999px;border-left:1px solid var(--border-inverse);padding-left:4px}.rte-segment-container[data-position=right]{border-radius:0 999px 999px 0;border-right:1px solid var(--border-inverse);padding-right:4px}.rte-segment{display:flex;padding:2px 8px;align-items:center;border-radius:999px;color:var(--content-primary-inverse);flex:1 1 auto;width:100%;z-index:0;height:32px;box-sizing:border-box}.rte-segment[data-compact-spacing=true]{padding:0 8px;height:24px}.rte-segment[data-compact-spacing=true] .rte-segment-content .rte-segment-label{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:16px;line-height:24px;letter-spacing:-.5px}.rte-segment:focus-visible{outline:1px solid var(--border-inverse);outline-offset:0px}.rte-segment.selected{transition:color .2s ease-out;color:var(--content-brand-default)}.rte-segment.selected:focus-visible{outline:1px solid var(--border-brand-focused);outline-offset:-2px}.rte-segment:hover:not(.selected){background:var(--background-brand-hover);cursor:pointer}.rte-segment .rte-segment-content{display:flex;align-items:center;justify-content:center;width:100%;overflow:hidden}.rte-segment .rte-segment-content .rte-segment-label{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:20px;line-height:28px;letter-spacing:-.5px;padding:0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rte-segment .rte-selected-icon{min-width:24px;min-height:24px}\n"] }]
132
134
  }] });
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudGVkLWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvc2VnbWVudGVkLWNvbnRyb2wvc2VnbWVudGVkLWNvbnRyb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvc2VnbWVudGVkLWNvbnRyb2wvc2VnbWVudGVkLWNvbnRyb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUdaLFFBQVEsRUFDUixNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixJQUFJLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDcEgsT0FBTyxFQUNMLGtCQUFrQixFQUNsQiwwQkFBMEIsRUFDMUIsOEJBQThCLEVBQzlCLHVCQUF1QixFQUN2QiwyQkFBMkIsRUFDM0IsOEJBQThCLEdBQy9CLE1BQU0sOEVBQThFLENBQUM7QUFLdEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDL0YsT0FBTyxFQUNMLGNBQWMsRUFDZCxlQUFlLEVBQ2YsU0FBUyxFQUNULFNBQVMsRUFDVCxPQUFPLEdBQ1IsTUFBTSwrREFBK0QsQ0FBQztBQUV2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFFdkQsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDO0FBQ25DLE1BQU0sZUFBZSxH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MUlVLHlCQUF5QjttR0FBekIseUJBQXlCLHV5QkNuRHRDLDAzREE0Q0EseThERENZLFlBQVkscVZBQUUsYUFBYSxpSEFBRSxjQUFjOzs0RkFNMUMseUJBQXlCO2tCQVJyQyxTQUFTOytCQUNFLHVCQUF1QixXQUN4QixDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsY0FBYyxDQUFDLGNBQzFDLElBQUksbUJBR0MsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIHZpZXdDaGlsZHJlbixcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgT25EZXN0cm95LFxuICBjb21wdXRlZCxcbiAgc2lnbmFsLFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBzaG91bGREaXNwbGF5QmFkZ2UgYXMgQ29yZVNob3VsZERpc3BsYXlCYWRnZSB9IGZyb20gXCJAZGVzaWduLXN5c3RlbS1ydGUvY29yZS9jb21wb25lbnRzL2JhZGdlL2JhZGdlLnV0aWxzXCI7XG5pbXBvcnQge1xuICBnZXRTZWdtZW50UG9zaXRpb24sXG4gIGZvY3VzTmV4dE5vdFNlZ21lbnRFbGVtZW50LFxuICBmb2N1c1ByZXZpb3VzTm90U2VnbWVudEVsZW1lbnQsXG4gIGZvY3VzTmV4dFNlZ21lbnRFbGVtZW50LFxuICBmb2N1c1ByZXZpb3VzU2VnbWVudEVsZW1lbnQsXG4gIGlzVmFsaWRTZWdtZW50ZWRDb250cm9sT3B0aW9ucyxcbn0gZnJvbSBcIkBkZXNpZ24tc3lzdGVtLXJ0ZS9jb3JlL2NvbXBvbmVudHMvc2VnbWVudGVkLWNvbnRyb2wvc2VnbWVudGVkLWNvbnRyb2wtdXRpbHNcIjtcbmltcG9ydCB7XG4gIFNlZ21lbnRPcHRpb25zLFxuICBTZWdtZW50UHJvcHMsXG59IGZyb20gXCJAZGVzaWduLXN5c3RlbS1ydGUvY29yZS9jb21wb25lbnRzL3NlZ21lbnRlZC1jb250cm9sL3NlZ21lbnRlZC1jb250cm9sLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgRk9DVVNBQkxFX0VMRU1FTlRTX1FVRVJZIH0gZnJvbSBcIkBkZXNpZ24tc3lzdGVtLXJ0ZS9jb3JlL2NvbnN0YW50cy9kb20vZG9tLmNvbnN0YW50c1wiO1xuaW1wb3J0IHtcbiAgQVJST1dfTEVGVF9LRVksXG4gIEFSUk9XX1JJR0hUX0tFWSxcbiAgRU5URVJfS0VZLFxuICBTUEFDRV9LRVksXG4gIFRBQl9LRVksXG59IGZyb20gXCJAZGVzaWduLXN5c3RlbS1ydGUvY29yZS9jb25zdGFudHMva2V5Ym9hcmQva2V5Ym9hcmQuY29uc3RhbnRzXCI7XG5cbmltcG9ydCB7IEJhZGdlQ29tcG9uZW50IH0gZnJvbSBcIi4uL2JhZGdlL2JhZGdlLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gXCIuLi9pY29uL2ljb24uY29tcG9uZW50XCI7XG5cbmNvbnN0IHNlZ21lbnRDbGFzcyA9IFwicnRlLXNlZ21lbnRcIjtcbmNvbnN0IHNlZ21lbnRTZWxlY3RvciA9IGAuJHtzZWdtZW50Q2xhc3N9YDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInJ0ZS1zZWdtZW50ZWQtY29udHJvbFwiLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJY29uQ29tcG9uZW50LCBCYWRnZUNvbXBvbmVudF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiBcIi4vc2VnbWVudGVkLWNvbnRyb2wuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmw6IFwiLi9zZWdtZW50ZWQtY29udHJvbC5jb21wb25lbnQuc2Nzc1wiLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2VnbWVudGVkQ29udHJvbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgcmVhZG9ubHkgb3B0aW9ucyA9IGlucHV0PFNlZ21lbnRPcHRpb25zW10+KFtdKTtcbiAgcmVhZG9ubHkgY2hhbmdlID0gb3V0cHV0PHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgc2VsZWN0ZWRTZWdtZW50ID0gaW5wdXQ8c3RyaW5nPigpO1xuICByZWFkb25seSBhcmlhTGFiZWwgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IGFyaWFMYWJlbGxlZEJ5ID0gaW5wdXQ8c3RyaW5nPigpO1xuXG4gIHJlYWRvbmx5IHNlZ21lbnRSZWZzID0gdmlld0NoaWxkcmVuPEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+PihcInNlZ21lbnRcIik7XG5cbiAgcmVhZG9ubHkgc2xpZGVyTGVmdCA9IHNpZ25hbCgwKTtcbiAgcmVhZG9ubHkgc2xpZGVyV2lkdGggPSBzaWduYWwoMCk7XG4gIHJlYWRvbmx5IHNsaWRlclRvcCA9IHNpZ25hbCgwKTtcblxuICByZWFkb25seSBzZWdtZW50U2VsZWN0ZWRJbmRpY2F0b3JTdHlsZSA9IGNvbXB1dGVkKCgpID0+ICh7XG4gICAgbGVmdDogYCR7dGhpcy5zbGlkZXJMZWZ0KCl9cHhgLFxuICAgIHRvcDogYCR7dGhpcy5zbGlkZXJUb3AoKX1weGAsXG4gICAgd2lkdGg6IGAke3RoaXMuc2xpZGVyV2lkdGgoKX1weGAsXG4gIH0pKTtcblxuICByZWFkb25seSBpc1ZhbGlkT3B0aW9ucyA9IGNvbXB1dGVkKCgpID0+IGlzVmFsaWRTZWdtZW50ZWRDb250cm9sT3B0aW9ucyh0aGlzLm9wdGlvbnMoKSkpO1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1tcInNlbGVjdGVkU2VnbWVudFwiXSkge1xuICAgICAgdGhpcy51cGRhdGVTZWxlY3RlZFNlZ21lbnRJbmRpY2F0b3IoKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy51cGRhdGVTZWxlY3RlZFNlZ21lbnRJbmRpY2F0b3IoKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aGlzLnVwZGF0ZVNlbGVjdGVkU2VnbWVudEluZGljYXRvci5iaW5kKHRoaXMpKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgdGhpcy5vbkdsb2JhbEtleURvd24uYmluZCh0aGlzKSk7XG5cbiAgICB0aGlzLnNlZ21lbnRSZWZzKCkuZm9yRWFjaCgoc2VnbWVudEVsZW1lbnQpID0+IHtcbiAgICAgIHNlZ21lbnRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImZvY3VzXCIsIHRoaXMuZm9jdXNDdXJyZW50U2VnbWVudEVsZW1lbnQuYmluZCh0aGlzKSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCB0aGlzLnVwZGF0ZVNlbGVjdGVkU2VnbWVudEluZGljYXRvci5iaW5kKHRoaXMpKTtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgdGhpcy5vbkdsb2JhbEtleURvd24uYmluZCh0aGlzKSk7XG5cbiAgICB0aGlzLnNlZ21lbnRSZWZzKCkuZm9yRWFjaCgoc2VnbWVudEVsZW1lbnQpID0+IHtcbiAgICAgIHNlZ21lbnRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImZvY3VzXCIsIHRoaXMuZm9jdXNDdXJyZW50U2VnbWVudEVsZW1lbnQuYmluZCh0aGlzKSk7XG4gICAgfSk7XG4gIH1cblxuICBzaG91bGREaXNwbGF5QmFkZ2Uob3B0aW9uOiBTZWdtZW50T3B0aW9ucyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBDb3JlU2hvdWxkRGlzcGxheUJhZGdlKHtcbiAgICAgIHNob3dCYWRnZTogISFvcHRpb24uc2hvd0JhZGdlLFxuICAgICAgYmFkZ2VDb250ZW50OiBvcHRpb24uYmFkZ2VDb250ZW50LFxuICAgICAgYmFkZ2VDb3VudDogb3B0aW9uLmJhZGdlQ291bnQsXG4gICAgICBiYWRnZUljb246IG9wdGlvbi5iYWRnZUljb24sXG4gICAgfSk7XG4gIH1cblxuICBzZWxlY3RTZWdtZW50KGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNoYW5nZS5lbWl0KGlkKTtcbiAgfVxuXG4gIGlzU2VnbWVudFNlbGVjdGVkKGlkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZFNlZ21lbnQoKSA9PT0gaWQ7XG4gIH1cblxuICBoYW5kbGVLZXlVcChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gQVJST1dfUklHSFRfS0VZIHx8IGV2ZW50LmtleSA9PT0gQVJST1dfTEVGVF9LRVkpIHtcbiAgICAgIGNvbnN0IGFsbFNlZ21lbnRFbGVtZW50cyA9XG4gICAgICAgIEFycmF5LmZyb20oXG4gICAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudD8ucGFyZW50RWxlbWVudD8ucGFyZW50RWxlbWVudD8ucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgICAgIHNlZ21lbnRTZWxlY3RvcixcbiAgICAgICAgICApIGFzIE5vZGVMaXN0T2Y8SFRNTEVsZW1lbnQ+LFxuICAgICAgICApIHx8IFtdO1xuXG4gICAgICBjb25zdCBjdXJyZW50QWN0aXZlU2VnbWVudEVsZW1lbnRJbmRleCA9IEFycmF5LmZyb20oYWxsU2VnbWVudEVsZW1lbnRzKS5maW5kSW5kZXgoXG4gICAgICAgIChlbGVtZW50KSA9PiBlbGVtZW50ID09PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50LFxuICAgICAgKTtcblxuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gQVJST1dfUklHSFRfS0VZKSB7XG4gICAgICAgIGZvY3VzTmV4dFNlZ21lbnRFbGVtZW50KGN1cnJlbnRBY3RpdmVTZWdtZW50RWxlbWVudEluZGV4LCBhbGxTZWdtZW50RWxlbWVudHMpO1xuICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09IEFSUk9XX0xFRlRfS0VZKSB7XG4gICAgICAgIGZvY3VzUHJldmlvdXNTZWdtZW50RWxlbWVudChjdXJyZW50QWN0aXZlU2VnbWVudEVsZW1lbnRJbmRleCwgYWxsU2VnbWVudEVsZW1lbnRzKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gU1BBQ0VfS0VZIHx8IGV2ZW50LmtleSA9PT0gRU5URVJfS0VZKSB7XG4gICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBjb25zdCBkYXRhSWQgPSB0YXJnZXQuZ2V0QXR0cmlidXRlKFwiZGF0YS1pZFwiKTtcbiAgICAgIHRoaXMuc2VsZWN0U2VnbWVudChkYXRhSWQgfHwgXCJcIik7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmIChldmVudC5rZXkgPT09IFRBQl9LRVkgfHwgZXZlbnQua2V5ID09PSBTUEFDRV9LRVkgfHwgZXZlbnQua2V5ID09PSBFTlRFUl9LRVkpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICAgIGlmIChldmVudC5rZXkgPT09IFRBQl9LRVkpIHtcbiAgICAgIGNvbnN0IGFsbEZvY3VzYWJsZUVsZW1lbnRzID0gQXJyYXkuZnJvbShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKEZPQ1VTQUJMRV9FTEVNRU5UU19RVUVSWSkpIGFzIEhUTUxFbGVtZW50W107XG4gICAgICBjb25zdCBjdXJyZW50QWN0aXZlRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gICAgICBjb25zdCBjdXJyZW50SW5kZXggPSBhbGxGb2N1c2FibGVFbGVtZW50cy5pbmRleE9mKGN1cnJlbnRBY3RpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KTtcblxuICAgICAgaWYgKGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgIGZvY3VzUHJldmlvdXNOb3RTZWdtZW50RWxlbWVudChjdXJyZW50SW5kZXgsIGFsbEZvY3VzYWJsZUVsZW1lbnRzLCBzZWdtZW50Q2xhc3MpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZm9jdXNOZXh0Tm90U2VnbWVudEVsZW1lbnQoY3VycmVudEluZGV4LCBhbGxGb2N1c2FibGVFbGVtZW50cywgc2VnbWVudENsYXNzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRTZWdtZW50UG9zaXRpb24oaW5kZXg6IG51bWJlcik6IFNlZ21lbnRQcm9wc1tcInBvc2l0aW9uXCJdIHtcbiAgICByZXR1cm4gZ2V0U2VnbWVudFBvc2l0aW9uKGluZGV4LCB0aGlzLm9wdGlvbnMoKS5sZW5ndGgpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVTZWxlY3RlZFNlZ21lbnRJbmRpY2F0b3IoKSB7XG4gICAgY29uc3QgaWR4ID0gdGhpcy5vcHRpb25zKCkuZmluZEluZGV4KChvcHQpID0+IG9wdC5pZCA9PT0gdGhpcy5zZWxlY3RlZFNlZ21lbnQoKSk7XG4gICAgY29uc3Qgc2VnbWVudCA9IHRoaXMuc2VnbWVudFJlZnMoKVtpZHhdPy5uYXRpdmVFbGVtZW50O1xuXG4gICAgaWYgKHNlZ21lbnQpIHtcbiAgICAgIHRoaXMuc2xpZGVyV2lkdGguc2V0KHNlZ21lbnQub2Zmc2V0V2lkdGgpO1xuICAgICAgdGhpcy5zbGlkZXJUb3Auc2V0KHNlZ21lbnQub2Zmc2V0VG9wKTtcbiAgICAgIHRoaXMuc2xpZGVyTGVmdC5zZXQoc2VnbWVudC5vZmZzZXRMZWZ0KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGxhc3RLZXlkb3duOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIG9uR2xvYmFsS2V5RG93biA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgIHRoaXMubGFzdEtleWRvd24gPSBldmVudC5rZXk7XG4gIH07XG5cbiAgcHJpdmF0ZSBmb2N1c0N1cnJlbnRTZWdtZW50RWxlbWVudCgpIHtcbiAgICBpZiAodGhpcy5sYXN0S2V5ZG93biA9PT0gXCJUYWJcIikge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRTZWdtZW50RWxlbWVudCA9IHRoaXMuc2VnbWVudFJlZnMoKS5maW5kKChzZWdtZW50KSA9PlxuICAgICAgICBzZWdtZW50Lm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKFwic2VsZWN0ZWRcIiksXG4gICAgICApPy5uYXRpdmVFbGVtZW50O1xuICAgICAgaWYgKHNlbGVjdGVkU2VnbWVudEVsZW1lbnQpIHtcbiAgICAgICAgc2VsZWN0ZWRTZWdtZW50RWxlbWVudC5mb2N1cygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWdtZW50UmVmcygpWzBdPy5uYXRpdmVFbGVtZW50Py5mb2N1cygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImlzVmFsaWRPcHRpb25zKClcIiBjbGFzcz1cInJ0ZS1zZWdtZW50ZWQtY29udHJvbFwiIHJvbGU9XCJyYWRpb2dyb3VwXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWwoKVwiPlxuICA8c3BhbiBjbGFzcz1cInJ0ZS1zZWdtZW50LXNlbGVjdGVkLWluZGljYXRvclwiIFtuZ1N0eWxlXT1cInNlZ21lbnRTZWxlY3RlZEluZGljYXRvclN0eWxlKClcIj48L3NwYW4+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zKCk7IGxldCBpZHggPSBpbmRleFwiPlxuICAgIDxkaXYgY2xhc3M9XCJydGUtc2VnbWVudC1jb250YWluZXJcIiBbYXR0ci5kYXRhLXBvc2l0aW9uXT1cImdldFNlZ21lbnRQb3NpdGlvbihpZHgpXCI+XG4gICAgICA8ZGl2XG4gICAgICAgICNzZWdtZW50XG4gICAgICAgIHJvbGU9XCJyYWRpb1wiXG4gICAgICAgIGNsYXNzPVwicnRlLXNlZ21lbnRcIlxuICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICBbYXR0ci5kYXRhLWlkXT1cIm9wdGlvbi5pZFwiXG4gICAgICAgIFthdHRyLmRhdGEtc2VnbWVudC10eXBlXT1cIm9wdGlvbi5pY29uID8gJ2ljb24nIDogJ2xhYmVsJ1wiXG4gICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJpc1NlZ21lbnRTZWxlY3RlZChvcHRpb24uaWQpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1jaGVja2VkXT1cImlzU2VnbWVudFNlbGVjdGVkKG9wdGlvbi5pZClcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIm9wdGlvbi5sYWJlbFwiXG4gICAgICAgIChjbGljayk9XCJzZWxlY3RTZWdtZW50KG9wdGlvbi5pZClcIlxuICAgICAgICAoa2V5ZG93bik9XCJoYW5kbGVLZXlEb3duKCRldmVudClcIlxuICAgICAgICAoa2V5dXApPVwiaGFuZGxlS2V5VXAoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxydGUtaWNvbiAqbmdJZj1cImlzU2VnbWVudFNlbGVjdGVkKG9wdGlvbi5pZClcIiBuYW1lPVwiY2hlY2stc21hbGxcIiBjbGFzcz1cInJ0ZS1zZWxlY3RlZC1pY29uXCIgW3NpemVdPVwiMjRcIiAvPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicnRlLXNlZ21lbnQtY29udGVudFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvcHRpb24uaWNvbjsgZWxzZSBsYWJlbFwiPlxuICAgICAgICAgICAgPHJ0ZS1pY29uXG4gICAgICAgICAgICAgIFtuYW1lXT1cIm9wdGlvbi5pY29uXCJcbiAgICAgICAgICAgICAgW3NpemVdPVwiMjRcIlxuICAgICAgICAgICAgICBbYXBwZWFyYW5jZV09XCJpc1NlZ21lbnRTZWxlY3RlZChvcHRpb24uaWQpID8gJ2ZpbGxlZCcgOiAnb3V0bGluZWQnXCJcbiAgICAgICAgICAgID48L3J0ZS1pY29uPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbGFiZWw+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJ0ZS1zZWdtZW50LWxhYmVsXCI+e3sgb3B0aW9uLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8cnRlLWJhZGdlXG4gICAgICAgICAgKm5nSWY9XCJzaG91bGREaXNwbGF5QmFkZ2Uob3B0aW9uKVwiXG4gICAgICAgICAgW2NvdW50XT1cIm9wdGlvbi5iYWRnZUNvdW50XCJcbiAgICAgICAgICBbYmFkZ2VDb250ZW50XT1cIm9wdGlvbi5iYWRnZUNvbnRlbnQhXCJcbiAgICAgICAgICBbaWNvbl09XCJvcHRpb24uYmFkZ2VJY29uIVwiXG4gICAgICAgICAgW2JhZGdlVHlwZV09XCJvcHRpb24uYmFkZ2VUeXBlIVwiXG4gICAgICAgICAgW3NpbXBsZUJhZGdlXT1cInRydWVcIlxuICAgICAgICAgIFtiYWRnZVNpemVdPVwib3B0aW9uLmJhZGdlU2l6ZSFcIlxuICAgICAgICA+PC9ydGUtYmFkZ2U+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudGVkLWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvc2VnbWVudGVkLWNvbnRyb2wvc2VnbWVudGVkLWNvbnRyb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvc2VnbWVudGVkLWNvbnRyb2wvc2VnbWVudGVkLWNvbnRyb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUdaLFFBQVEsRUFDUixNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixJQUFJLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDcEgsT0FBTyxFQUNMLGtCQUFrQixFQUNsQiwwQkFBMEIsRUFDMUIsOEJBQThCLEVBQzlCLHVCQUF1QixFQUN2QiwyQkFBMkIsRUFDM0IsOEJBQThCLEdBQy9CLE1BQU0sOEVBQThFLENBQUM7QUFLdEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDL0YsT0FBTyxFQUNMLGNBQWMsRUFDZCxlQUFlLEVBQ2YsU0FBUyxFQUNULFNBQVMsRUFDVCxPQUFPLEdBQ1IsTUFBTSwrREFBK0QsQ0FBQztBQUV2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFFdkQsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDO0FBQ25DLE1BQU0sZUFBZSxH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RUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUNoRCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7K0dBNUlVLHlCQUF5QjttR0FBekIseUJBQXlCLGlrQ0NuRHRDLG93RUE2REEsOGpIRGhCWSxZQUFZLHFWQUFFLGFBQWEsaUhBQUUsY0FBYzs7NEZBTTFDLHlCQUF5QjtrQkFSckMsU0FBUzsrQkFDRSx1QkFBdUIsV0FDeEIsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLGNBQWMsQ0FBQyxjQUMxQyxJQUFJLG1CQUdDLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICB2aWV3Q2hpbGRyZW4sXG4gIEFmdGVyVmlld0luaXQsXG4gIE9uRGVzdHJveSxcbiAgY29tcHV0ZWQsXG4gIHNpZ25hbCxcbiAgT25DaGFuZ2VzLFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgc2hvdWxkRGlzcGxheUJhZGdlIGFzIENvcmVTaG91bGREaXNwbGF5QmFkZ2UgfSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmUvY29tcG9uZW50cy9iYWRnZS9iYWRnZS51dGlsc1wiO1xuaW1wb3J0IHtcbiAgZ2V0U2VnbWVudFBvc2l0aW9uLFxuICBmb2N1c05leHROb3RTZWdtZW50RWxlbWVudCxcbiAgZm9jdXNQcmV2aW91c05vdFNlZ21lbnRFbGVtZW50LFxuICBmb2N1c05leHRTZWdtZW50RWxlbWVudCxcbiAgZm9jdXNQcmV2aW91c1NlZ21lbnRFbGVtZW50LFxuICBpc1ZhbGlkU2VnbWVudGVkQ29udHJvbE9wdGlvbnMsXG59IGZyb20gXCJAZGVzaWduLXN5c3RlbS1ydGUvY29yZS9jb21wb25lbnRzL3NlZ21lbnRlZC1jb250cm9sL3NlZ21lbnRlZC1jb250cm9sLXV0aWxzXCI7XG5pbXBvcnQge1xuICBTZWdtZW50T3B0aW9ucyxcbiAgU2VnbWVudFByb3BzLFxufSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmUvY29tcG9uZW50cy9zZWdtZW50ZWQtY29udHJvbC9zZWdtZW50ZWQtY29udHJvbC5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IEZPQ1VTQUJMRV9FTEVNRU5UU19RVUVSWSB9IGZyb20gXCJAZGVzaWduLXN5c3RlbS1ydGUvY29yZS9jb25zdGFudHMvZG9tL2RvbS5jb25zdGFudHNcIjtcbmltcG9ydCB7XG4gIEFSUk9XX0xFRlRfS0VZLFxuICBBUlJPV19SSUdIVF9LRVksXG4gIEVOVEVSX0tFWSxcbiAgU1BBQ0VfS0VZLFxuICBUQUJfS0VZLFxufSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmUvY29uc3RhbnRzL2tleWJvYXJkL2tleWJvYXJkLmNvbnN0YW50c1wiO1xuXG5pbXBvcnQgeyBCYWRnZUNvbXBvbmVudCB9IGZyb20gXCIuLi9iYWRnZS9iYWRnZS5jb21wb25lbnRcIjtcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tIFwiLi4vaWNvbi9pY29uLmNvbXBvbmVudFwiO1xuXG5jb25zdCBzZWdtZW50Q2xhc3MgPSBcInJ0ZS1zZWdtZW50XCI7XG5jb25zdCBzZWdtZW50U2VsZWN0b3IgPSBgLiR7c2VnbWVudENsYXNzfWA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJydGUtc2VnbWVudGVkLWNvbnRyb2xcIixcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSWNvbkNvbXBvbmVudCwgQmFkZ2VDb21wb25lbnRdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZVVybDogXCIuL3NlZ21lbnRlZC1jb250cm9sLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsOiBcIi4vc2VnbWVudGVkLWNvbnRyb2wuY29tcG9uZW50LnNjc3NcIixcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNlZ21lbnRlZENvbnRyb2xDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIHJlYWRvbmx5IG9wdGlvbnMgPSBpbnB1dDxTZWdtZW50T3B0aW9uc1tdPihbXSk7XG4gIHJlYWRvbmx5IGNoYW5nZSA9IG91dHB1dDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IHNlbGVjdGVkU2VnbWVudCA9IGlucHV0PHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgYXJpYUxhYmVsID0gaW5wdXQ8c3RyaW5nPigpO1xuICByZWFkb25seSBhcmlhTGFiZWxsZWRCeSA9IGlucHV0PHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgYXBwZWFyYW5jZSA9IGlucHV0PFwiYnJhbmRcIiB8IFwibmV1dHJhbFwiPihcImJyYW5kXCIpO1xuICByZWFkb25seSBjb21wYWN0U3BhY2luZyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblxuICByZWFkb25seSBzZWdtZW50UmVmcyA9IHZpZXdDaGlsZHJlbjxFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50Pj4oXCJzZWdtZW50XCIpO1xuXG4gIHJlYWRvbmx5IHNsaWRlckxlZnQgPSBzaWduYWwoMCk7XG4gIHJlYWRvbmx5IHNsaWRlcldpZHRoID0gc2lnbmFsKDApO1xuICByZWFkb25seSBzbGlkZXJUb3AgPSBzaWduYWwoMCk7XG5cbiAgcmVhZG9ubHkgc2VnbWVudFNlbGVjdGVkSW5kaWNhdG9yU3R5bGUgPSBjb21wdXRlZCgoKSA9PiAoe1xuICAgIGxlZnQ6IGAke3RoaXMuc2xpZGVyTGVmdCgpfXB4YCxcbiAgICB0b3A6IGAke3RoaXMuc2xpZGVyVG9wKCl9cHhgLFxuICAgIHdpZHRoOiBgJHt0aGlzLnNsaWRlcldpZHRoKCl9cHhgLFxuICB9KSk7XG5cbiAgcmVhZG9ubHkgaXNWYWxpZE9wdGlvbnMgPSBjb21wdXRlZCgoKSA9PiBpc1ZhbGlkU2VnbWVudGVkQ29udHJvbE9wdGlvbnModGhpcy5vcHRpb25zKCkpKTtcblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbXCJzZWxlY3RlZFNlZ21lbnRcIl0pIHtcbiAgICAgIHRoaXMudXBkYXRlU2VsZWN0ZWRTZWdtZW50SW5kaWNhdG9yKCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMudXBkYXRlU2VsZWN0ZWRTZWdtZW50SW5kaWNhdG9yKCk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdGhpcy51cGRhdGVTZWxlY3RlZFNlZ21lbnRJbmRpY2F0b3IuYmluZCh0aGlzKSk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIHRoaXMub25HbG9iYWxLZXlEb3duLmJpbmQodGhpcykpO1xuXG4gICAgdGhpcy5zZWdtZW50UmVmcygpLmZvckVhY2goKHNlZ21lbnRFbGVtZW50KSA9PiB7XG4gICAgICBzZWdtZW50RWxlbWVudC5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJmb2N1c1wiLCB0aGlzLmZvY3VzQ3VycmVudFNlZ21lbnRFbGVtZW50LmJpbmQodGhpcykpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgdGhpcy51cGRhdGVTZWxlY3RlZFNlZ21lbnRJbmRpY2F0b3IuYmluZCh0aGlzKSk7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIHRoaXMub25HbG9iYWxLZXlEb3duLmJpbmQodGhpcykpO1xuXG4gICAgdGhpcy5zZWdtZW50UmVmcygpLmZvckVhY2goKHNlZ21lbnRFbGVtZW50KSA9PiB7XG4gICAgICBzZWdtZW50RWxlbWVudC5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJmb2N1c1wiLCB0aGlzLmZvY3VzQ3VycmVudFNlZ21lbnRFbGVtZW50LmJpbmQodGhpcykpO1xuICAgIH0pO1xuICB9XG5cbiAgc2hvdWxkRGlzcGxheUJhZGdlKG9wdGlvbjogU2VnbWVudE9wdGlvbnMpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQ29yZVNob3VsZERpc3BsYXlCYWRnZSh7XG4gICAgICBzaG93QmFkZ2U6ICEhb3B0aW9uLnNob3dCYWRnZSxcbiAgICAgIGJhZGdlQ29udGVudDogb3B0aW9uLmJhZGdlQ29udGVudCxcbiAgICAgIGJhZGdlQ291bnQ6IG9wdGlvbi5iYWRnZUNvdW50LFxuICAgICAgYmFkZ2VJY29uOiBvcHRpb24uYmFkZ2VJY29uLFxuICAgIH0pO1xuICB9XG5cbiAgc2VsZWN0U2VnbWVudChpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5jaGFuZ2UuZW1pdChpZCk7XG4gIH1cblxuICBpc1NlZ21lbnRTZWxlY3RlZChpZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRTZWdtZW50KCkgPT09IGlkO1xuICB9XG5cbiAgaGFuZGxlS2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmIChldmVudC5rZXkgPT09IEFSUk9XX1JJR0hUX0tFWSB8fCBldmVudC5rZXkgPT09IEFSUk9XX0xFRlRfS0VZKSB7XG4gICAgICBjb25zdCBhbGxTZWdtZW50RWxlbWVudHMgPVxuICAgICAgICBBcnJheS5mcm9tKFxuICAgICAgICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ/LnBhcmVudEVsZW1lbnQ/LnBhcmVudEVsZW1lbnQ/LnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICAgICAgICBzZWdtZW50U2VsZWN0b3IsXG4gICAgICAgICAgKSBhcyBOb2RlTGlzdE9mPEhUTUxFbGVtZW50PixcbiAgICAgICAgKSB8fCBbXTtcblxuICAgICAgY29uc3QgY3VycmVudEFjdGl2ZVNlZ21lbnRFbGVtZW50SW5kZXggPSBBcnJheS5mcm9tKGFsbFNlZ21lbnRFbGVtZW50cykuZmluZEluZGV4KFxuICAgICAgICAoZWxlbWVudCkgPT4gZWxlbWVudCA9PT0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCxcbiAgICAgICk7XG5cbiAgICAgIGlmIChldmVudC5rZXkgPT09IEFSUk9XX1JJR0hUX0tFWSkge1xuICAgICAgICBmb2N1c05leHRTZWdtZW50RWxlbWVudChjdXJyZW50QWN0aXZlU2VnbWVudEVsZW1lbnRJbmRleCwgYWxsU2VnbWVudEVsZW1lbnRzKTtcbiAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSBBUlJPV19MRUZUX0tFWSkge1xuICAgICAgICBmb2N1c1ByZXZpb3VzU2VnbWVudEVsZW1lbnQoY3VycmVudEFjdGl2ZVNlZ21lbnRFbGVtZW50SW5kZXgsIGFsbFNlZ21lbnRFbGVtZW50cyk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09IFNQQUNFX0tFWSB8fCBldmVudC5rZXkgPT09IEVOVEVSX0tFWSkge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgY29uc3QgZGF0YUlkID0gdGFyZ2V0LmdldEF0dHJpYnV0ZShcImRhdGEtaWRcIik7XG4gICAgICB0aGlzLnNlbGVjdFNlZ21lbnQoZGF0YUlkIHx8IFwiXCIpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSBUQUJfS0VZIHx8IGV2ZW50LmtleSA9PT0gU1BBQ0VfS0VZIHx8IGV2ZW50LmtleSA9PT0gRU5URVJfS0VZKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgICBpZiAoZXZlbnQua2V5ID09PSBUQUJfS0VZKSB7XG4gICAgICBjb25zdCBhbGxGb2N1c2FibGVFbGVtZW50cyA9IEFycmF5LmZyb20oZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChGT0NVU0FCTEVfRUxFTUVOVFNfUVVFUlkpKSBhcyBIVE1MRWxlbWVudFtdO1xuICAgICAgY29uc3QgY3VycmVudEFjdGl2ZUVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuICAgICAgY29uc3QgY3VycmVudEluZGV4ID0gYWxsRm9jdXNhYmxlRWxlbWVudHMuaW5kZXhPZihjdXJyZW50QWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCk7XG5cbiAgICAgIGlmIChldmVudC5zaGlmdEtleSkge1xuICAgICAgICBmb2N1c1ByZXZpb3VzTm90U2VnbWVudEVsZW1lbnQoY3VycmVudEluZGV4LCBhbGxGb2N1c2FibGVFbGVtZW50cywgc2VnbWVudENsYXNzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZvY3VzTmV4dE5vdFNlZ21lbnRFbGVtZW50KGN1cnJlbnRJbmRleCwgYWxsRm9jdXNhYmxlRWxlbWVudHMsIHNlZ21lbnRDbGFzcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0U2VnbWVudFBvc2l0aW9uKGluZGV4OiBudW1iZXIpOiBTZWdtZW50UHJvcHNbXCJwb3NpdGlvblwiXSB7XG4gICAgcmV0dXJuIGdldFNlZ21lbnRQb3NpdGlvbihpbmRleCwgdGhpcy5vcHRpb25zKCkubGVuZ3RoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU2VsZWN0ZWRTZWdtZW50SW5kaWNhdG9yKCkge1xuICAgIGNvbnN0IGlkeCA9IHRoaXMub3B0aW9ucygpLmZpbmRJbmRleCgob3B0KSA9PiBvcHQuaWQgPT09IHRoaXMuc2VsZWN0ZWRTZWdtZW50KCkpO1xuICAgIGNvbnN0IHNlZ21lbnQgPSB0aGlzLnNlZ21lbnRSZWZzKClbaWR4XT8ubmF0aXZlRWxlbWVudDtcblxuICAgIGlmIChzZWdtZW50KSB7XG4gICAgICB0aGlzLnNsaWRlcldpZHRoLnNldChzZWdtZW50Lm9mZnNldFdpZHRoKTtcbiAgICAgIHRoaXMuc2xpZGVyVG9wLnNldChzZWdtZW50Lm9mZnNldFRvcCk7XG4gICAgICB0aGlzLnNsaWRlckxlZnQuc2V0KHNlZ21lbnQub2Zmc2V0TGVmdCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBsYXN0S2V5ZG93bjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBvbkdsb2JhbEtleURvd24gPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICB0aGlzLmxhc3RLZXlkb3duID0gZXZlbnQua2V5O1xuICB9O1xuXG4gIHByaXZhdGUgZm9jdXNDdXJyZW50U2VnbWVudEVsZW1lbnQoKSB7XG4gICAgaWYgKHRoaXMubGFzdEtleWRvd24gPT09IFwiVGFiXCIpIHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkU2VnbWVudEVsZW1lbnQgPSB0aGlzLnNlZ21lbnRSZWZzKCkuZmluZCgoc2VnbWVudCkgPT5cbiAgICAgICAgc2VnbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhcInNlbGVjdGVkXCIpLFxuICAgICAgKT8ubmF0aXZlRWxlbWVudDtcbiAgICAgIGlmIChzZWxlY3RlZFNlZ21lbnRFbGVtZW50KSB7XG4gICAgICAgIHNlbGVjdGVkU2VnbWVudEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VnbWVudFJlZnMoKVswXT8ubmF0aXZlRWxlbWVudD8uZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgKm5nSWY9XCJpc1ZhbGlkT3B0aW9ucygpXCJcbiAgY2xhc3M9XCJydGUtc2VnbWVudGVkLWNvbnRyb2xcIlxuICByb2xlPVwicmFkaW9ncm91cFwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsKClcIlxuICBbYXR0ci5kYXRhLW51bWJlci1vZi1zZWdtZW50c109XCJvcHRpb25zKCkubGVuZ3RoXCJcbiAgW2F0dHIuZGF0YS1jb21wYWN0LXNwYWNpbmddPVwiY29tcGFjdFNwYWNpbmcoKVwiXG4+XG4gIDxzcGFuXG4gICAgY2xhc3M9XCJydGUtc2VnbWVudC1zZWxlY3RlZC1pbmRpY2F0b3JcIlxuICAgIFtuZ1N0eWxlXT1cInNlZ21lbnRTZWxlY3RlZEluZGljYXRvclN0eWxlKClcIlxuICAgIFthdHRyLmRhdGEtY29tcGFjdC1zcGFjaW5nXT1cImNvbXBhY3RTcGFjaW5nKClcIlxuICA+PC9zcGFuPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9ucygpOyBsZXQgaWR4ID0gaW5kZXhcIj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInJ0ZS1zZWdtZW50LWNvbnRhaW5lclwiXG4gICAgICBbYXR0ci5kYXRhLXBvc2l0aW9uXT1cImdldFNlZ21lbnRQb3NpdGlvbihpZHgpXCJcbiAgICAgIFthdHRyLmRhdGEtYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlKClcIlxuICAgICAgW2F0dHIuZGF0YS1jb21wYWN0LXNwYWNpbmddPVwiY29tcGFjdFNwYWNpbmcoKVwiXG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICAjc2VnbWVudFxuICAgICAgICByb2xlPVwicmFkaW9cIlxuICAgICAgICBjbGFzcz1cInJ0ZS1zZWdtZW50XCJcbiAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgW2F0dHIuZGF0YS1pZF09XCJvcHRpb24uaWRcIlxuICAgICAgICBbYXR0ci5kYXRhLXNlZ21lbnQtdHlwZV09XCJvcHRpb24uaWNvbiA/ICdpY29uJyA6ICdsYWJlbCdcIlxuICAgICAgICBbYXR0ci5kYXRhLWNvbXBhY3Qtc3BhY2luZ109XCJjb21wYWN0U3BhY2luZygpXCJcbiAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cImlzU2VnbWVudFNlbGVjdGVkKG9wdGlvbi5pZClcIlxuICAgICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwiaXNTZWdtZW50U2VsZWN0ZWQob3B0aW9uLmlkKVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwib3B0aW9uLmxhYmVsXCJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdFNlZ21lbnQob3B0aW9uLmlkKVwiXG4gICAgICAgIChrZXlkb3duKT1cImhhbmRsZUtleURvd24oJGV2ZW50KVwiXG4gICAgICAgIChrZXl1cCk9XCJoYW5kbGVLZXlVcCgkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgPHJ0ZS1pY29uICpuZ0lmPVwiaXNTZWdtZW50U2VsZWN0ZWQob3B0aW9uLmlkKVwiIG5hbWU9XCJjaGVjay1zbWFsbFwiIGNsYXNzPVwicnRlLXNlbGVjdGVkLWljb25cIiBbc2l6ZV09XCIyNFwiIC8+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJydGUtc2VnbWVudC1jb250ZW50XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9wdGlvbi5pY29uOyBlbHNlIGxhYmVsXCI+XG4gICAgICAgICAgICA8cnRlLWljb25cbiAgICAgICAgICAgICAgW25hbWVdPVwib3B0aW9uLmljb25cIlxuICAgICAgICAgICAgICBbc2l6ZV09XCJjb21wYWN0U3BhY2luZygpID8gMjAgOiAyNFwiXG4gICAgICAgICAgICAgIFthcHBlYXJhbmNlXT1cImlzU2VnbWVudFNlbGVjdGVkKG9wdGlvbi5pZCkgPyAnZmlsbGVkJyA6ICdvdXRsaW5lZCdcIlxuICAgICAgICAgICAgPjwvcnRlLWljb24+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNsYWJlbD5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicnRlLXNlZ21lbnQtbGFiZWxcIj57eyBvcHRpb24ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxydGUtYmFkZ2VcbiAgICAgICAgICAqbmdJZj1cInNob3VsZERpc3BsYXlCYWRnZShvcHRpb24pXCJcbiAgICAgICAgICBbY291bnRdPVwib3B0aW9uLmJhZGdlQ291bnRcIlxuICAgICAgICAgIFtiYWRnZUNvbnRlbnRdPVwib3B0aW9uLmJhZGdlQ29udGVudCFcIlxuICAgICAgICAgIFtpY29uXT1cIm9wdGlvbi5iYWRnZUljb24hXCJcbiAgICAgICAgICBbYmFkZ2VUeXBlXT1cIm9wdGlvbi5iYWRnZVR5cGUhXCJcbiAgICAgICAgICBbc2ltcGxlQmFkZ2VdPVwidHJ1ZVwiXG4gICAgICAgICAgW2JhZGdlU2l6ZV09XCJvcHRpb24uYmFkZ2VTaXplIVwiXG4gICAgICAgID48L3J0ZS1iYWRnZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
@@ -93,4 +93,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
93
93
  type: Component,
94
94
  args: [{ selector: "rte-side-nav", imports: [CommonModule, BaseSideNavComponent, DividerComponent, NavItemComponent, NavMenuComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<rte-base-side-nav [size]=\"size()\" [collapsed]=\"isCollapsed()\" [appearance]=\"appearance()\">\n <div side-nav-header>\n <div class=\"side-nav-header-container\">\n <div class=\"side-nav-header {{ appearance() }}\" [ngClass]=\"{ collapsed: isCollapsed() }\">\n @if (headerConfig()?.link) {\n <a\n class=\"side-nav-header-title-container\"\n [href]=\"headerConfig()!.link!\"\n [attr.aria-label]=\"headerConfig()?.ariaLabel\"\n (click)=\"handleHeaderClick()\"\n >\n <div class=\"side-nav-header-title\">\n <div class=\"side-nav-header-identifier\">{{ headerConfig()?.identifier }}</div>\n @if (!isCollapsed()) {\n <h1 [ngClass]=\"{ hidden: !shouldShowTitle() }\">{{ headerConfig()?.title }}</h1>\n }\n </div>\n </a>\n } @else if (headerConfig()?.onClick) {\n <div\n class=\"side-nav-header-title-container\"\n tabindex=\"0\"\n role=\"button\"\n [attr.aria-label]=\"headerConfig()?.ariaLabel\"\n (click)=\"handleHeaderClick()\"\n (keydown)=\"handleHeaderKeyDown($event)\"\n >\n <div class=\"side-nav-header-title\">\n <div class=\"side-nav-header-identifier\">{{ headerConfig()?.identifier }}</div>\n @if (!isCollapsed()) {\n <h1 [ngClass]=\"{ hidden: !shouldShowTitle() }\">{{ headerConfig()?.title }}</h1>\n }\n </div>\n </div>\n } @else {\n <div class=\"side-nav-header-title-container\">\n <div class=\"side-nav-header-title\">\n <div class=\"side-nav-header-identifier\">{{ headerConfig()?.identifier }}</div>\n @if (!isCollapsed()) {\n <h1 [ngClass]=\"{ hidden: !shouldShowTitle() }\">{{ headerConfig()?.title }}</h1>\n }\n </div>\n </div>\n }\n <div class=\"side-nav-header-version\" [ngClass]=\"{ hidden: !shouldShowTitle() }\">\n <span>{{ headerConfig()?.version }}</span>\n </div>\n </div>\n <rte-divider [appearance]=\"dividerAppearance()\" />\n </div>\n </div>\n <div side-nav-body>\n <div class=\"side-nav-body\">\n <ul>\n @for (item of items(); track item.label) {\n @if (hasNestedItems(item)) {\n <rte-nav-menu\n [id]=\"item.id\"\n [label]=\"item.label\"\n [icon]=\"item.icon\"\n [showIcon]=\"item.showIcon ?? true\"\n [collapsed]=\"isCollapsed()\"\n [link]=\"item.link\"\n [open]=\"item.open\"\n [items]=\"item.items || []\"\n [appearance]=\"appearance()\"\n [badge]=\"item.badge\"\n [showDivider]=\"item.showDivider!\"\n (openChange)=\"handleMenuOpenChange($event)\"\n />\n } @else {\n <li>\n <rte-nav-item\n [id]=\"item.id\"\n [label]=\"item.label\"\n [icon]=\"item.icon\"\n [showIcon]=\"item.showIcon ?? true\"\n [collapsed]=\"isCollapsed()\"\n [link]=\"item.link\"\n [appearance]=\"appearance()\"\n [active]=\"item.active ?? false\"\n [badge]=\"item.badge\"\n (itemClick)=\"handleItemClick(item.id || item.label)\"\n ></rte-nav-item>\n </li>\n @if (item.showDivider) {\n <rte-divider [appearance]=\"dividerAppearance()\" />\n }\n }\n }\n </ul>\n </div>\n </div>\n @if (footerItems()?.length || collapsible()) {\n <div side-nav-footer>\n <div class=\"side-nav-footer-container\">\n @if (footerItems()?.length) {\n <div class=\"side-nav-footer-items\">\n <ul>\n @for (item of footerItems()!; track item.id || item.label) {\n @if (hasNestedItems(item)) {\n <rte-nav-menu\n [id]=\"item.id\"\n [label]=\"item.label\"\n [icon]=\"item.icon\"\n [showIcon]=\"item.showIcon ?? true\"\n [collapsed]=\"isCollapsed()\"\n [link]=\"item.link\"\n [open]=\"item.open\"\n [items]=\"item.items || []\"\n [appearance]=\"appearance()\"\n [badge]=\"item.badge\"\n [showDivider]=\"item.showDivider!\"\n (openChange)=\"handleFooterMenuOpenChange($event)\"\n />\n } @else {\n <li>\n <rte-nav-item\n [id]=\"item.id\"\n [label]=\"item.label\"\n [icon]=\"item.icon\"\n [showIcon]=\"item.showIcon ?? true\"\n [collapsed]=\"isCollapsed()\"\n [link]=\"item.link\"\n [appearance]=\"appearance()\"\n [active]=\"item.active ?? false\"\n [badge]=\"item.badge\"\n (itemClick)=\"handleFooterItemClick(item.id || item.label)\"\n ></rte-nav-item>\n </li>\n @if (item.showDivider) {\n <rte-divider [appearance]=\"dividerAppearance()\" />\n }\n }\n }\n </ul>\n </div>\n }\n <rte-divider [appearance]=\"dividerAppearance()\" />\n @if (collapsible()) {\n <div class=\"side-nav-footer\">\n <div class=\"collapsible-section\">\n <ul>\n <li>\n <rte-nav-item\n [label]=\"isCollapsed() ? 'Ouvrir le menu' : 'R\u00E9duire le menu'\"\n [icon]=\"collapseIcon()\"\n [collapsed]=\"isCollapsed()\"\n [appearance]=\"appearance()\"\n (itemClick)=\"handleCollapseClick()\"\n />\n </li>\n </ul>\n </div>\n </div>\n }\n </div>\n </div>\n }\n <div side-nav-content>\n <ng-content select=\"[content]\"></ng-content>\n </div>\n</rte-base-side-nav>\n", styles: [".side-nav-header-container{display:flex;padding:4px;flex-direction:column;justify-content:center;align-items:flex-start;flex-shrink:0;align-self:stretch;height:120px;min-height:120px;max-height:120px}.side-nav-header-container.collapsed{align-items:center;justify-content:center;padding:4px}.side-nav-header{display:flex;position:relative;padding:20px 8px;flex-direction:column;align-items:flex-start;gap:4px;flex:1 0 0;align-self:stretch;height:120px;transition:opacity .3s}.side-nav-header.collapsed{padding:8px;justify-content:center;align-items:center;flex:1 0 0;align-self:stretch}.side-nav-header.collapsed .side-nav-header-title-container{padding:8px;justify-content:center;align-items:center;flex-grow:0;gap:0;align-self:auto}.side-nav-header.collapsed .side-nav-header-title-container .side-nav-header-title{gap:0}.side-nav-header.neutral .side-nav-header-title-container[href]:hover,.side-nav-header.neutral .side-nav-header-title-container[role=button]:hover{background:var(--background-neutral-navigation-hover);box-shadow:0 1px 2px 0 var(--elevation-shadow-key),0 0 2px 0 var(--elevation-shadow-ambient)}.side-nav-header .side-nav-header-title-container{display:flex;padding:0 8px;align-items:center;gap:8px;flex:1 0 0;align-self:stretch;text-decoration:none;color:inherit}.side-nav-header .side-nav-header-title-container[href],.side-nav-header .side-nav-header-title-container[role=button]{cursor:pointer}.side-nav-header .side-nav-header-title-container[href]:hover,.side-nav-header .side-nav-header-title-container[role=button]:hover{border-radius:4px;opacity:100%;background:var(--background-brand-navigation-hover)}.side-nav-header .side-nav-header-title-container .side-nav-header-title{display:flex;align-items:center;gap:8px}.side-nav-header .side-nav-header-title-container .side-nav-header-title .side-nav-header-identifier{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:700;font-size:12px;line-height:16px;letter-spacing:0px;display:flex;flex-direction:column;justify-content:center;align-items:center;flex:1 0 0;align-self:stretch;color:var(--content-brand-navigation-default);text-align:center;-webkit-user-select:none;user-select:none;border-radius:4px;background:var(--background-brand-navigation-pressed);min-width:24px;height:24px}.side-nav-header .side-nav-header-title-container .side-nav-header-title h1{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:16px;line-height:24px;letter-spacing:-.5px;-webkit-user-select:none;user-select:none;align-self:stretch;margin:0;transition:opacity .3s}.side-nav-header .side-nav-header-title-container .side-nav-header-title h1.hidden{opacity:0;max-height:0;padding:0;margin:0}.side-nav-header .side-nav-header-version{display:flex;position:absolute;bottom:4px;right:8px;flex-direction:column;justify-content:flex-end;align-items:flex-end;gap:0px;align-self:stretch;font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:10px;line-height:14px;letter-spacing:0px;transition:opacity .3s,max-height .3s;max-height:50px;overflow:hidden;opacity:1}.side-nav-header .side-nav-header-version.hidden{opacity:0;max-height:0;padding:0;margin:0}.side-nav-body{display:flex;padding:16px 8px;flex-direction:column;align-items:flex-start;gap:8px;flex:1 0 0;overflow-x:hidden;overflow-y:auto;width:100%;box-sizing:border-box}.side-nav-body ul{list-style:none;padding:0;margin:0;width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:8px}.side-nav-footer-container{padding:8px}.side-nav-footer-container .side-nav-footer{display:flex;flex-direction:column;align-items:center;justify-content:space-between;box-sizing:border-box;width:100%;margin-top:4px}.side-nav-footer-items{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%;box-sizing:border-box;margin-bottom:8px}.side-nav-footer-items ul{list-style:none;padding:0;margin:0;width:100%;box-sizing:border-box}.collapsible-section{display:flex;padding:4px 0;flex-direction:column;align-items:flex-start;align-self:stretch}.collapsible-section ul{list-style:none;padding:0;margin:0;width:100%;box-sizing:border-box}\n"] }]
95
95
  }], ctorParameters: () => [] });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1uYXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvc2lkZS1uYXYvc2lkZS1uYXYuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvc2lkZS1uYXYvc2lkZS1uYXYuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RyxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQU0vRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBRXJHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBMEIsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBRXpGLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxDQUFDO0FBVWhDLE1BQU0sT0FBTyxnQkFBZ0I7SUFnQjNCO1FBZlMsU0FBSSxHQUFHLEtBQUssQ0FBYyxHQUFrQixDQUFDLENBQUM7UUFDOUMsZ0JBQVcsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDcEMsaUJBQVksR0FBRyxLQUFLLEVBQW1DLENBQUM7UUFDeEQsVUFBSyxHQUFHLEtB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bnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGVmZmVjdCwgaW5wdXQsIG91dHB1dCwgc2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IGRpdmlkZXJBcHBlYXJhbmNlQnlTaWRlTmF2QXBwZWFyYW5jZSB9IGZyb20gXCJAZGVzaWduLXN5c3RlbS1ydGUvY29yZVwiO1xuaW1wb3J0IHsgU2lkZU5hdkFwcGVhcmFuY2UsIFNpZGVOYXZIZWFkZXJDb25maWcgfSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmVcIjtcbmltcG9ydCB7IERpdmlkZXJBcHBlYXJhbmNlIH0gZnJvbSBcIkBkZXNpZ24tc3lzdGVtLXJ0ZS9jb3JlL2NvbXBvbmVudHMvZGl2aWRlci9kaXZpZGVyLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgTmF2SXRlbVByb3BzIH0gZnJvbSBcIkBkZXNpZ24tc3lzdGVtLXJ0ZS9jb3JlXCI7XG5pbXBvcnQgeyBOYXZNZW51UHJvcHMgfSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmVcIjtcbmltcG9ydCB7IFNpZGVOYXZTaXplIH0gZnJvbSBcIkBkZXNpZ24tc3lzdGVtLXJ0ZS9jb3JlL2NvbXBvbmVudHMvc2lkZS1uYXYvc2lkZS1uYXYuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBFTlRFUl9LRVksIFNQQUNFX0tFWSB9IGZyb20gXCJAZGVzaWduLXN5c3RlbS1ydGUvY29yZS9jb25zdGFudHMva2V5Ym9hcmQva2V5Ym9hcmQuY29uc3RhbnRzXCI7XG5cbmltcG9ydCB7IERpdmlkZXJDb21wb25lbnQgfSBmcm9tIFwiLi4vZGl2aWRlci9kaXZpZGVyLmNvbXBvbmVudFwiO1xuXG5pbXBvcnQgeyBCYXNlU2lkZU5hdkNvbXBvbmVudCB9IGZyb20gXCIuL2Jhc2Utc2lkZS1uYXYvYmFzZS1zaWRlLW5hdi5jb21wb25lbnRcIjtcbmltcG9ydCB7IE5hdkl0ZW1Db21wb25lbnQgfSBmcm9tIFwiLi9uYXYtaXRlbS9uYXYtaXRlbS5jb21wb25lbnRcIjtcbmltcG9ydCB7IE5hdk1lbnVDb21wb25lbnQsIE5hdk1lbnVPcGVuQ2hhbmdlRXZlbnQgfSBmcm9tIFwiLi9uYXYtbWVudS9uYXYtbWVudS5jb21wb25lbnRcIjtcblxuY29uc3QgVFJBTlNJVElPTl9EVVJBVElPTiA9IDMwMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInJ0ZS1zaWRlLW5hdlwiLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBCYXNlU2lkZU5hdkNvbXBvbmVudCwgRGl2aWRlckNvbXBvbmVudCwgTmF2SXRlbUNvbXBvbmVudCwgTmF2TWVudUNvbXBvbmVudF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiBcIi4vc2lkZS1uYXYuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmw6IFwiLi9zaWRlLW5hdi5jb21wb25lbnQuc2Nzc1wiLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2lkZU5hdkNvbXBvbmVudCB7XG4gIHJlYWRvbmx5IHNpemUgPSBpbnB1dDxTaWRlTmF2U2l6ZT4oXCJtXCIgYXMgU2lkZU5hdlNpemUpO1xuICByZWFkb25seSBjb2xsYXBzaWJsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgaGVhZGVyQ29uZmlnID0gaW5wdXQ8U2lkZU5hdkhlYWRlckNvbmZpZyB8IHVuZGVmaW5lZD4oKTtcbiAgcmVhZG9ubHkgaXRlbXMgPSBpbnB1dDxOYXZJdGVtUHJvcHNbXT4oW10pO1xuICByZWFkb25seSBmb290ZXJJdGVtcyA9IGlucHV0PE5hdkl0ZW1Qcm9wc1tdIHwgdW5kZWZpbmVkPigpO1xuICByZWFkb25seSBjb2xsYXBzZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IGFwcGVhcmFuY2UgPSBpbnB1dDxTaWRlTmF2QXBwZWFyYW5jZT4oXCJicmFuZFwiKTtcblxuICByZWFkb25seSBpc0NvbGxhcHNlZCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IHNob3VsZFNob3dUaXRsZSA9IHNpZ25hbDxib29sZWFuPih0cnVlKTtcblxuICByZWFkb25seSBpdGVtQ2xpY2tlZCA9IG91dHB1dDxzdHJpbmc+KCk7XG5cbiAgcHJpdmF0ZSB0aXRsZVRpbWVvdXRJZDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBlZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNDb2xsYXBzZWQuc2V0KHRoaXMuY29sbGFwc2VkKCkpO1xuICAgICAgfSxcbiAgICAgIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSxcbiAgICApO1xuXG4gICAgZWZmZWN0KFxuICAgICAgKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy50aXRsZVRpbWVvdXRJZCkge1xuICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpdGxlVGltZW91dElkKTtcbiAgICAgICAgICB0aGlzLnRpdGxlVGltZW91dElkID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzQ29sbGFwc2VkKCkpIHtcbiAgICAgICAgICB0aGlzLnNob3VsZFNob3dUaXRsZS5zZXQoZmFsc2UpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMudGl0bGVUaW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2hvdWxkU2hvd1RpdGxlLnNldCh0cnVlKTtcbiAgICAgICAgICAgIHRoaXMudGl0bGVUaW1lb3V0SWQgPSBudWxsO1xuICAgICAgICAgIH0sIFRSQU5TSVRJT05fRFVSQVRJT04pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxuICAgICk7XG4gIH1cblxuICByZWFkb25seSBjb2xsYXBzZUljb24gPSBjb21wdXRlZDxzdHJpbmc+KCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5pc0NvbGxhcHNlZCgpID8gXCJhcnJvdy1kb3VibGUtcmlnaHRcIiA6IFwiYXJyb3ctZG91YmxlLWxlZnRcIjtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgZGl2aWRlckFwcGVhcmFuY2UgPSBjb21wdXRlZDxEaXZpZGVyQXBwZWFyYW5jZT4oKCkgPT4ge1xuICAgIHJldHVybiBkaXZpZGVyQXBwZWFyYW5jZUJ5U2lkZU5hdkFwcGVhcmFuY2VbdGhpcy5hcHBlYXJhbmNlKCldO1xuICB9KTtcblxuICBoYW5kbGVIZWFkZXJLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKFtTUEFDRV9LRVksIEVOVEVSX0tFWV0uaW5jbHVkZXMoZXZlbnQua2V5KSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuaGVhZGVyQ29uZmlnKCk7XG4gICAgICBpZiAoY29uZmlnPy5vbkNsaWNrKSB7XG4gICAgICAgIGNvbmZpZy5vbkNsaWNrKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlSGVhZGVyQ2xpY2soKTogdm9pZCB7XG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5oZWFkZXJDb25maWcoKTtcbiAgICBpZiAoY29uZmlnPy5vbkNsaWNrKSB7XG4gICAgICBjb25maWcub25DbGljaygpO1xuICAgIH1cbiAgfVxuXG4gIGhhc05lc3RlZEl0ZW1zKGl0ZW06IE5hdkl0ZW1Qcm9wcyk6IGl0ZW0gaXMgTmF2TWVudVByb3BzIHtcbiAgICByZXR1cm4gISFpdGVtLml0ZW1zPy5sZW5ndGg7XG4gIH1cblxuICBoYW5kbGVJdGVtQ2xpY2soaXRlbUlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLml0ZW1DbGlja2VkLmVtaXQoaXRlbUlkKTtcbiAgfVxuXG4gIGhhbmRsZUZvb3Rlckl0ZW1DbGljayhpdGVtSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuaXRlbUNsaWNrZWQuZW1pdChpdGVtSWQpO1xuICB9XG5cbiAgaGFuZGxlTWVudU9wZW5DaGFuZ2UoZXZlbnQ6IE5hdk1lbnVPcGVuQ2hhbmdlRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB0YXJnZXRNZW51ID0gdGhpcy5pdGVtcygpLmZpbmQoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IGV2ZW50LmlkKTtcbiAgICBpZiAodGFyZ2V0TWVudSkge1xuICAgICAgKHRhcmdldE1lbnUgYXMgTmF2TWVudVByb3BzKS5vcGVuID0gZXZlbnQub3BlbjtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVGb290ZXJNZW51T3BlbkNoYW5nZShldmVudDogTmF2TWVudU9wZW5DaGFuZ2VFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHRhcmdldE1lbnUgPSB0aGlzLmZvb3Rlckl0ZW1zKCk/LmZpbmQoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IGV2ZW50LmlkKTtcbiAgICBpZiAodGFyZ2V0TWVudSkge1xuICAgICAgKHRhcmdldE1lbnUgYXMgTmF2TWVudVByb3BzKS5vcGVuID0gZXZlbnQub3BlbjtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVDb2xsYXBzZUNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuaXNDb2xsYXBzZWQuc2V0KCF0aGlzLmlzQ29sbGFwc2VkKCkpO1xuICB9XG59XG4iLCI8cnRlLWJhc2Utc2lkZS1uYXYgW3NpemVdPVwic2l6ZSgpXCIgW2NvbGxhcHNlZF09XCJpc0NvbGxhcHNlZCgpXCIgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZSgpXCI+XG4gIDxkaXYgc2lkZS1uYXYtaGVhZGVyPlxuICAgIDxkaXYgY2xhc3M9XCJzaWRlLW5hdi1oZWFkZXItY29udGFpbmVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic2lkZS1uYXYtaGVhZGVyIHt7IGFwcGVhcmFuY2UoKSB9fVwiIFtuZ0NsYXNzXT1cInsgY29sbGFwc2VkOiBpc0NvbGxhcHNlZCgpIH1cIj5cbiAgICAgICAgQGlmIChoZWFkZXJDb25maWcoKT8ubGluaykge1xuICAgICAgICAgIDxhXG4gICAgICAgICAgICBjbGFzcz1cInNpZGUtbmF2LWhlYWRlci10aXRsZS1jb250YWluZXJcIlxuICAgICAgICAgICAgW2hyZWZdPVwiaGVhZGVyQ29uZmlnKCkhLmxpbmshXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaGVhZGVyQ29uZmlnKCk/LmFyaWFMYWJlbFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlSGVhZGVyQ2xpY2soKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpZGUtbmF2LWhlYWRlci10aXRsZVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2lkZS1uYXYtaGVhZGVyLWlkZW50aWZpZXJcIj57eyBoZWFkZXJDb25maWcoKT8uaWRlbnRpZmllciB9fTwvZGl2PlxuICAgICAgICAgICAgICBAaWYgKCFpc0NvbGxhcHNlZCgpKSB7XG4gICAgICAgICAgICAgICAgPGgxIFtuZ0NsYXNzXT1cInsgaGlkZGVuOiAhc2hvdWxkU2hvd1RpdGxlKCkgfVwiPnt7IGhlYWRlckNvbmZpZygpPy50aXRsZSB9fTwvaDE+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvYT5cbiAgICAgICAgfSBAZWxzZSBpZiAoaGVhZGVyQ29uZmlnKCk/Lm9uQ2xpY2spIHtcbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInNpZGUtbmF2LWhlYWRlci10aXRsZS1jb250YWluZXJcIlxuICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJoZWFkZXJDb25maWcoKT8uYXJpYUxhYmVsXCJcbiAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVIZWFkZXJDbGljaygpXCJcbiAgICAgICAgICAgIChrZXlkb3duKT1cImhhbmRsZUhlYWRlcktleURvd24oJGV2ZW50KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpZGUtbmF2LWhlYWRlci10aXRsZVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2lkZS1uYXYtaGVhZGVyLWlkZW50aWZpZXJcIj57eyBoZWFkZXJDb25maWcoKT8uaWRlbnRpZmllciB9fTwvZGl2PlxuICAgICAgICAgICAgICBAaWYgKCFpc0NvbGxhcHNlZCgpKSB7XG4gICAgICAgICAgICAgICAgPGgxIFtuZ0NsYXNzXT1cInsgaGlkZGVuOiAhc2hvdWxkU2hvd1RpdGxlKCkgfVwiPnt7IGhlYWRlckNvbmZpZygpPy50aXRsZSB9fTwvaDE+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2lkZS1uYXYtaGVhZGVyLXRpdGxlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpZGUtbmF2LWhlYWRlci10aXRsZVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2lkZS1uYXYtaGVhZGVyLWlkZW50aWZpZXJcIj57eyBoZWFkZXJDb25maWcoKT8uaWRlbnRpZmllciB9fTwvZGl2PlxuICAgICAgICAgICAgICBAaWYgKCFpc0NvbGxhcHNlZCgpKSB7XG4gICAgICAgICAgICAgICAgPGgxIFtuZ0NsYXNzXT1cInsgaGlkZGVuOiAhc2hvdWxkU2hvd1RpdGxlKCkgfVwiPnt7IGhlYWRlckNvbmZpZygpPy50aXRsZSB9fTwvaDE+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaWRlLW5hdi1oZWFkZXItdmVyc2lvblwiIFtuZ0NsYXNzXT1cInsgaGlkZGVuOiAhc2hvdWxkU2hvd1RpdGxlKCkgfVwiPlxuICAgICAgICAgIDxzcGFuPnt7IGhlYWRlckNvbmZpZygpPy52ZXJzaW9uIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHJ0ZS1kaXZpZGVyIFthcHBlYXJhbmNlXT1cImRpdmlkZXJBcHBlYXJhbmNlKClcIiAvPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBzaWRlLW5hdi1ib2R5PlxuICAgIDxkaXYgY2xhc3M9XCJzaWRlLW5hdi1ib2R5XCI+XG4gICAgICA8dWw+XG4gICAgICAgIEBmb3IgKGl0ZW0gb2YgaXRlbXMoKTsgdHJhY2sgaXRlbS5sYWJlbCkge1xuICAgICAgICAgIEBpZiAoaGFzTmVzdGVkSXRlbXMoaXRlbSkpIHtcbiAgICAgICAgICAgIDxydGUtbmF2LW1lbnVcbiAgICAgICAgICAgICAgW2lkXT1cIml0ZW0uaWRcIlxuICAgICAgICAgICAgICBbbGFiZWxdPVwiaXRlbS5sYWJlbFwiXG4gICAgICAgICAgICAgIFtpY29uXT1cIml0ZW0uaWNvblwiXG4gICAgICAgICAgICAgIFtzaG93SWNvbl09XCJpdGVtLnNob3dJY29uID8/IHRydWVcIlxuICAgICAgICAgICAgICBbY29sbGFwc2VkXT1cImlzQ29sbGFwc2VkKClcIlxuICAgICAgICAgICAgICBbbGlua109XCJpdGVtLmxpbmtcIlxuICAgICAgICAgICAgICBbb3Blbl09XCJpdGVtLm9wZW5cIlxuICAgICAgICAgICAgICBbaXRlbXNdPVwiaXRlbS5pdGVtcyB8fCBbXVwiXG4gICAgICAgICAgICAgIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2UoKVwiXG4gICAgICAgICAgICAgIFtiYWRnZV09XCJpdGVtLmJhZGdlXCJcbiAgICAgICAgICAgICAgW3Nob3dEaXZpZGVyXT1cIml0ZW0uc2hvd0RpdmlkZXIhXCJcbiAgICAgICAgICAgICAgKG9wZW5DaGFuZ2UpPVwiaGFuZGxlTWVudU9wZW5DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICA8cnRlLW5hdi1pdGVtXG4gICAgICAgICAgICAgICAgW2lkXT1cIml0ZW0uaWRcIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJpdGVtLmxhYmVsXCJcbiAgICAgICAgICAgICAgICBbaWNvbl09XCJpdGVtLmljb25cIlxuICAgICAgICAgICAgICAgIFtzaG93SWNvbl09XCJpdGVtLnNob3dJY29uID8/IHRydWVcIlxuICAgICAgICAgICAgICAgIFtjb2xsYXBzZWRdPVwiaXNDb2xsYXBzZWQoKVwiXG4gICAgICAgICAgICAgICAgW2xpbmtdPVwiaXRlbS5saW5rXCJcbiAgICAgICAgICAgICAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlKClcIlxuICAgICAgICAgICAgICAgIFthY3RpdmVdPVwiaXRlbS5hY3RpdmUgPz8gZmFsc2VcIlxuICAgICAgICAgICAgICAgIFtiYWRnZV09XCJpdGVtLmJhZGdlXCJcbiAgICAgICAgICAgICAgICAoaXRlbUNsaWNrKT1cImhhbmRsZUl0ZW1DbGljayhpdGVtLmlkIHx8IGl0ZW0ubGFiZWwpXCJcbiAgICAgICAgICAgICAgPjwvcnRlLW5hdi1pdGVtPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIEBpZiAoaXRlbS5zaG93RGl2aWRlcikge1xuICAgICAgICAgICAgICA8cnRlLWRpdmlkZXIgW2FwcGVhcmFuY2VdPVwiZGl2aWRlckFwcGVhcmFuY2UoKVwiIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICA8L3VsPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgQGlmIChmb290ZXJJdGVtcygpPy5sZW5ndGggfHwgY29sbGFwc2libGUoKSkge1xuICAgIDxkaXYgc2lkZS1uYXYtZm9vdGVyPlxuICAgICAgPGRpdiBjbGFzcz1cInNpZGUtbmF2LWZvb3Rlci1jb250YWluZXJcIj5cbiAgICAgICAgQGlmIChmb290ZXJJdGVtcygpPy5sZW5ndGgpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2lkZS1uYXYtZm9vdGVyLWl0ZW1zXCI+XG4gICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgZm9vdGVySXRlbXMoKSE7IHRyYWNrIGl0ZW0uaWQgfHwgaXRlbS5sYWJlbCkge1xuICAgICAgICAgICAgICAgIEBpZiAoaGFzTmVzdGVkSXRlbXMoaXRlbSkpIHtcbiAgICAgICAgICAgICAgICAgIDxydGUtbmF2LW1lbnVcbiAgICAgICAgICAgICAgICAgICAgW2lkXT1cIml0ZW0uaWRcIlxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiaXRlbS5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIFtpY29uXT1cIml0ZW0uaWNvblwiXG4gICAgICAgICAgICAgICAgICAgIFtzaG93SWNvbl09XCJpdGVtLnNob3dJY29uID8/IHRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbY29sbGFwc2VkXT1cImlzQ29sbGFwc2VkKClcIlxuICAgICAgICAgICAgICAgICAgICBbbGlua109XCJpdGVtLmxpbmtcIlxuICAgICAgICAgICAgICAgICAgICBbb3Blbl09XCJpdGVtLm9wZW5cIlxuICAgICAgICAgICAgICAgICAgICBbaXRlbXNdPVwiaXRlbS5pdGVtcyB8fCBbXVwiXG4gICAgICAgICAgICAgICAgICAgIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2UoKVwiXG4gICAgICAgICAgICAgICAgICAgIFtiYWRnZV09XCJpdGVtLmJhZGdlXCJcbiAgICAgICAgICAgICAgICAgICAgW3Nob3dEaXZpZGVyXT1cIml0ZW0uc2hvd0RpdmlkZXIhXCJcbiAgICAgICAgICAgICAgICAgICAgKG9wZW5DaGFuZ2UpPVwiaGFuZGxlRm9vdGVyTWVudU9wZW5DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICA8cnRlLW5hdi1pdGVtXG4gICAgICAgICAgICAgICAgICAgICAgW2lkXT1cIml0ZW0uaWRcIlxuICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJpdGVtLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJpdGVtLmljb25cIlxuICAgICAgICAgICAgICAgICAgICAgIFtzaG93SWNvbl09XCJpdGVtLnNob3dJY29uID8/IHRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtjb2xsYXBzZWRdPVwiaXNDb2xsYXBzZWQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2xpbmtdPVwiaXRlbS5saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlKClcIlxuICAgICAgICAgICAgICAgICAgICAgIFthY3RpdmVdPVwiaXRlbS5hY3RpdmUgPz8gZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgIFtiYWRnZV09XCJpdGVtLmJhZGdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAoaXRlbUNsaWNrKT1cImhhbmRsZUZvb3Rlckl0ZW1DbGljayhpdGVtLmlkIHx8IGl0ZW0ubGFiZWwpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvcnRlLW5hdi1pdGVtPlxuICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5zaG93RGl2aWRlcikge1xuICAgICAgICAgICAgICAgICAgICA8cnRlLWRpdmlkZXIgW2FwcGVhcmFuY2VdPVwiZGl2aWRlckFwcGVhcmFuY2UoKVwiIC8+XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIDxydGUtZGl2aWRlciBbYXBwZWFyYW5jZV09XCJkaXZpZGVyQXBwZWFyYW5jZSgpXCIgLz5cbiAgICAgICAgQGlmIChjb2xsYXBzaWJsZSgpKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNpZGUtbmF2LWZvb3RlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbGxhcHNpYmxlLXNlY3Rpb25cIj5cbiAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgIDxydGUtbmF2LWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cImlzQ29sbGFwc2VkKCkgPyAnT3V2cmlyIGxlIG1lbnUnIDogJ1LDqWR1aXJlIGxlIG1lbnUnXCJcbiAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiY29sbGFwc2VJY29uKClcIlxuICAgICAgICAgICAgICAgICAgICBbY29sbGFwc2VkXT1cImlzQ29sbGFwc2VkKClcIlxuICAgICAgICAgICAgICAgICAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlKClcIlxuICAgICAgICAgICAgICAgICAgICAoaXRlbUNsaWNrKT1cImhhbmRsZUNvbGxhcHNlQ2xpY2soKVwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH1cbiAgPGRpdiBzaWRlLW5hdi1jb250ZW50PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltjb250ZW50XVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L3J0ZS1iYXNlLXNpZGUtbmF2PlxuIl19
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1uYXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvc2lkZS1uYXYvc2lkZS1uYXYuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvc2lkZS1uYXYvc2lkZS1uYXYuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RyxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQU0vRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBRXJHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBMEIsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBRXpGLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxDQUFDO0FBVWhDLE1BQU0sT0FBTyxnQkFBZ0I7SUFnQjNCO1FBZlMsU0FBSSxHQUFHLEtBQUssQ0FBYyxHQUFrQixDQUFDLENBQUM7UUFDOUMsZ0JBQVcsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDcEMsaUJBQVksR0FBRyxLQUFLLEVBQW1DLENBQUM7UUFDeEQsVUFBSyxHQUFHLEtB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bnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGVmZmVjdCwgaW5wdXQsIG91dHB1dCwgc2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IGRpdmlkZXJBcHBlYXJhbmNlQnlTaWRlTmF2QXBwZWFyYW5jZSB9IGZyb20gXCJAZGVzaWduLXN5c3RlbS1ydGUvY29yZVwiO1xuaW1wb3J0IHsgU2lkZU5hdkFwcGVhcmFuY2UsIFNpZGVOYXZIZWFkZXJDb25maWcgfSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmVcIjtcbmltcG9ydCB7IERpdmlkZXJBcHBlYXJhbmNlIH0gZnJvbSBcIkBkZXNpZ24tc3lzdGVtLXJ0ZS9jb3JlL2NvbXBvbmVudHMvZGl2aWRlci9kaXZpZGVyLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgTmF2SXRlbVByb3BzIH0gZnJvbSBcIkBkZXNpZ24tc3lzdGVtLXJ0ZS9jb3JlL2NvbXBvbmVudHMvc2lkZS1uYXYvbmF2LWl0ZW0vbmF2LWl0ZW0uaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBOYXZNZW51UHJvcHMgfSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmUvY29tcG9uZW50cy9zaWRlLW5hdi9uYXYtbWVudS9uYXYtbWVudS5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IFNpZGVOYXZTaXplIH0gZnJvbSBcIkBkZXNpZ24tc3lzdGVtLXJ0ZS9jb3JlL2NvbXBvbmVudHMvc2lkZS1uYXYvc2lkZS1uYXYuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBFTlRFUl9LRVksIFNQQUNFX0tFWSB9IGZyb20gXCJAZGVzaWduLXN5c3RlbS1ydGUvY29yZS9jb25zdGFudHMva2V5Ym9hcmQva2V5Ym9hcmQuY29uc3RhbnRzXCI7XG5cbmltcG9ydCB7IERpdmlkZXJDb21wb25lbnQgfSBmcm9tIFwiLi4vZGl2aWRlci9kaXZpZGVyLmNvbXBvbmVudFwiO1xuXG5pbXBvcnQgeyBCYXNlU2lkZU5hdkNvbXBvbmVudCB9IGZyb20gXCIuL2Jhc2Utc2lkZS1uYXYvYmFzZS1zaWRlLW5hdi5jb21wb25lbnRcIjtcbmltcG9ydCB7IE5hdkl0ZW1Db21wb25lbnQgfSBmcm9tIFwiLi9uYXYtaXRlbS9uYXYtaXRlbS5jb21wb25lbnRcIjtcbmltcG9ydCB7IE5hdk1lbnVDb21wb25lbnQsIE5hdk1lbnVPcGVuQ2hhbmdlRXZlbnQgfSBmcm9tIFwiLi9uYXYtbWVudS9uYXYtbWVudS5jb21wb25lbnRcIjtcblxuY29uc3QgVFJBTlNJVElPTl9EVVJBVElPTiA9IDMwMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInJ0ZS1zaWRlLW5hdlwiLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBCYXNlU2lkZU5hdkNvbXBvbmVudCwgRGl2aWRlckNvbXBvbmVudCwgTmF2SXRlbUNvbXBvbmVudCwgTmF2TWVudUNvbXBvbmVudF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiBcIi4vc2lkZS1uYXYuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmw6IFwiLi9zaWRlLW5hdi5jb21wb25lbnQuc2Nzc1wiLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2lkZU5hdkNvbXBvbmVudCB7XG4gIHJlYWRvbmx5IHNpemUgPSBpbnB1dDxTaWRlTmF2U2l6ZT4oXCJtXCIgYXMgU2lkZU5hdlNpemUpO1xuICByZWFkb25seSBjb2xsYXBzaWJsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgaGVhZGVyQ29uZmlnID0gaW5wdXQ8U2lkZU5hdkhlYWRlckNvbmZpZyB8IHVuZGVmaW5lZD4oKTtcbiAgcmVhZG9ubHkgaXRlbXMgPSBpbnB1dDxOYXZJdGVtUHJvcHNbXT4oW10pO1xuICByZWFkb25seSBmb290ZXJJdGVtcyA9IGlucHV0PE5hdkl0ZW1Qcm9wc1tdIHwgdW5kZWZpbmVkPigpO1xuICByZWFkb25seSBjb2xsYXBzZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IGFwcGVhcmFuY2UgPSBpbnB1dDxTaWRlTmF2QXBwZWFyYW5jZT4oXCJicmFuZFwiKTtcblxuICByZWFkb25seSBpc0NvbGxhcHNlZCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IHNob3VsZFNob3dUaXRsZSA9IHNpZ25hbDxib29sZWFuPih0cnVlKTtcblxuICByZWFkb25seSBpdGVtQ2xpY2tlZCA9IG91dHB1dDxzdHJpbmc+KCk7XG5cbiAgcHJpdmF0ZSB0aXRsZVRpbWVvdXRJZDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBlZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNDb2xsYXBzZWQuc2V0KHRoaXMuY29sbGFwc2VkKCkpO1xuICAgICAgfSxcbiAgICAgIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSxcbiAgICApO1xuXG4gICAgZWZmZWN0KFxuICAgICAgKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy50aXRsZVRpbWVvdXRJZCkge1xuICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpdGxlVGltZW91dElkKTtcbiAgICAgICAgICB0aGlzLnRpdGxlVGltZW91dElkID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzQ29sbGFwc2VkKCkpIHtcbiAgICAgICAgICB0aGlzLnNob3VsZFNob3dUaXRsZS5zZXQoZmFsc2UpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMudGl0bGVUaW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2hvdWxkU2hvd1RpdGxlLnNldCh0cnVlKTtcbiAgICAgICAgICAgIHRoaXMudGl0bGVUaW1lb3V0SWQgPSBudWxsO1xuICAgICAgICAgIH0sIFRSQU5TSVRJT05fRFVSQVRJT04pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxuICAgICk7XG4gIH1cblxuICByZWFkb25seSBjb2xsYXBzZUljb24gPSBjb21wdXRlZDxzdHJpbmc+KCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5pc0NvbGxhcHNlZCgpID8gXCJhcnJvdy1kb3VibGUtcmlnaHRcIiA6IFwiYXJyb3ctZG91YmxlLWxlZnRcIjtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgZGl2aWRlckFwcGVhcmFuY2UgPSBjb21wdXRlZDxEaXZpZGVyQXBwZWFyYW5jZT4oKCkgPT4ge1xuICAgIHJldHVybiBkaXZpZGVyQXBwZWFyYW5jZUJ5U2lkZU5hdkFwcGVhcmFuY2VbdGhpcy5hcHBlYXJhbmNlKCldO1xuICB9KTtcblxuICBoYW5kbGVIZWFkZXJLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKFtTUEFDRV9LRVksIEVOVEVSX0tFWV0uaW5jbHVkZXMoZXZlbnQua2V5KSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuaGVhZGVyQ29uZmlnKCk7XG4gICAgICBpZiAoY29uZmlnPy5vbkNsaWNrKSB7XG4gICAgICAgIGNvbmZpZy5vbkNsaWNrKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlSGVhZGVyQ2xpY2soKTogdm9pZCB7XG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5oZWFkZXJDb25maWcoKTtcbiAgICBpZiAoY29uZmlnPy5vbkNsaWNrKSB7XG4gICAgICBjb25maWcub25DbGljaygpO1xuICAgIH1cbiAgfVxuXG4gIGhhc05lc3RlZEl0ZW1zKGl0ZW06IE5hdkl0ZW1Qcm9wcyk6IGl0ZW0gaXMgTmF2TWVudVByb3BzIHtcbiAgICByZXR1cm4gISFpdGVtLml0ZW1zPy5sZW5ndGg7XG4gIH1cblxuICBoYW5kbGVJdGVtQ2xpY2soaXRlbUlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLml0ZW1DbGlja2VkLmVtaXQoaXRlbUlkKTtcbiAgfVxuXG4gIGhhbmRsZUZvb3Rlckl0ZW1DbGljayhpdGVtSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuaXRlbUNsaWNrZWQuZW1pdChpdGVtSWQpO1xuICB9XG5cbiAgaGFuZGxlTWVudU9wZW5DaGFuZ2UoZXZlbnQ6IE5hdk1lbnVPcGVuQ2hhbmdlRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB0YXJnZXRNZW51ID0gdGhpcy5pdGVtcygpLmZpbmQoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IGV2ZW50LmlkKTtcbiAgICBpZiAodGFyZ2V0TWVudSkge1xuICAgICAgKHRhcmdldE1lbnUgYXMgTmF2TWVudVByb3BzKS5vcGVuID0gZXZlbnQub3BlbjtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVGb290ZXJNZW51T3BlbkNoYW5nZShldmVudDogTmF2TWVudU9wZW5DaGFuZ2VFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHRhcmdldE1lbnUgPSB0aGlzLmZvb3Rlckl0ZW1zKCk/LmZpbmQoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IGV2ZW50LmlkKTtcbiAgICBpZiAodGFyZ2V0TWVudSkge1xuICAgICAgKHRhcmdldE1lbnUgYXMgTmF2TWVudVByb3BzKS5vcGVuID0gZXZlbnQub3BlbjtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVDb2xsYXBzZUNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuaXNDb2xsYXBzZWQuc2V0KCF0aGlzLmlzQ29sbGFwc2VkKCkpO1xuICB9XG59XG4iLCI8cnRlLWJhc2Utc2lkZS1uYXYgW3NpemVdPVwic2l6ZSgpXCIgW2NvbGxhcHNlZF09XCJpc0NvbGxhcHNlZCgpXCIgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZSgpXCI+XG4gIDxkaXYgc2lkZS1uYXYtaGVhZGVyPlxuICAgIDxkaXYgY2xhc3M9XCJzaWRlLW5hdi1oZWFkZXItY29udGFpbmVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic2lkZS1uYXYtaGVhZGVyIHt7IGFwcGVhcmFuY2UoKSB9fVwiIFtuZ0NsYXNzXT1cInsgY29sbGFwc2VkOiBpc0NvbGxhcHNlZCgpIH1cIj5cbiAgICAgICAgQGlmIChoZWFkZXJDb25maWcoKT8ubGluaykge1xuICAgICAgICAgIDxhXG4gICAgICAgICAgICBjbGFzcz1cInNpZGUtbmF2LWhlYWRlci10aXRsZS1jb250YWluZXJcIlxuICAgICAgICAgICAgW2hyZWZdPVwiaGVhZGVyQ29uZmlnKCkhLmxpbmshXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaGVhZGVyQ29uZmlnKCk/LmFyaWFMYWJlbFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlSGVhZGVyQ2xpY2soKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpZGUtbmF2LWhlYWRlci10aXRsZVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2lkZS1uYXYtaGVhZGVyLWlkZW50aWZpZXJcIj57eyBoZWFkZXJDb25maWcoKT8uaWRlbnRpZmllciB9fTwvZGl2PlxuICAgICAgICAgICAgICBAaWYgKCFpc0NvbGxhcHNlZCgpKSB7XG4gICAgICAgICAgICAgICAgPGgxIFtuZ0NsYXNzXT1cInsgaGlkZGVuOiAhc2hvdWxkU2hvd1RpdGxlKCkgfVwiPnt7IGhlYWRlckNvbmZpZygpPy50aXRsZSB9fTwvaDE+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvYT5cbiAgICAgICAgfSBAZWxzZSBpZiAoaGVhZGVyQ29uZmlnKCk/Lm9uQ2xpY2spIHtcbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInNpZGUtbmF2LWhlYWRlci10aXRsZS1jb250YWluZXJcIlxuICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJoZWFkZXJDb25maWcoKT8uYXJpYUxhYmVsXCJcbiAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVIZWFkZXJDbGljaygpXCJcbiAgICAgICAgICAgIChrZXlkb3duKT1cImhhbmRsZUhlYWRlcktleURvd24oJGV2ZW50KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpZGUtbmF2LWhlYWRlci10aXRsZVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2lkZS1uYXYtaGVhZGVyLWlkZW50aWZpZXJcIj57eyBoZWFkZXJDb25maWcoKT8uaWRlbnRpZmllciB9fTwvZGl2PlxuICAgICAgICAgICAgICBAaWYgKCFpc0NvbGxhcHNlZCgpKSB7XG4gICAgICAgICAgICAgICAgPGgxIFtuZ0NsYXNzXT1cInsgaGlkZGVuOiAhc2hvdWxkU2hvd1RpdGxlKCkgfVwiPnt7IGhlYWRlckNvbmZpZygpPy50aXRsZSB9fTwvaDE+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2lkZS1uYXYtaGVhZGVyLXRpdGxlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNpZGUtbmF2LWhlYWRlci10aXRsZVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2lkZS1uYXYtaGVhZGVyLWlkZW50aWZpZXJcIj57eyBoZWFkZXJDb25maWcoKT8uaWRlbnRpZmllciB9fTwvZGl2PlxuICAgICAgICAgICAgICBAaWYgKCFpc0NvbGxhcHNlZCgpKSB7XG4gICAgICAgICAgICAgICAgPGgxIFtuZ0NsYXNzXT1cInsgaGlkZGVuOiAhc2hvdWxkU2hvd1RpdGxlKCkgfVwiPnt7IGhlYWRlckNvbmZpZygpPy50aXRsZSB9fTwvaDE+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaWRlLW5hdi1oZWFkZXItdmVyc2lvblwiIFtuZ0NsYXNzXT1cInsgaGlkZGVuOiAhc2hvdWxkU2hvd1RpdGxlKCkgfVwiPlxuICAgICAgICAgIDxzcGFuPnt7IGhlYWRlckNvbmZpZygpPy52ZXJzaW9uIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHJ0ZS1kaXZpZGVyIFthcHBlYXJhbmNlXT1cImRpdmlkZXJBcHBlYXJhbmNlKClcIiAvPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBzaWRlLW5hdi1ib2R5PlxuICAgIDxkaXYgY2xhc3M9XCJzaWRlLW5hdi1ib2R5XCI+XG4gICAgICA8dWw+XG4gICAgICAgIEBmb3IgKGl0ZW0gb2YgaXRlbXMoKTsgdHJhY2sgaXRlbS5sYWJlbCkge1xuICAgICAgICAgIEBpZiAoaGFzTmVzdGVkSXRlbXMoaXRlbSkpIHtcbiAgICAgICAgICAgIDxydGUtbmF2LW1lbnVcbiAgICAgICAgICAgICAgW2lkXT1cIml0ZW0uaWRcIlxuICAgICAgICAgICAgICBbbGFiZWxdPVwiaXRlbS5sYWJlbFwiXG4gICAgICAgICAgICAgIFtpY29uXT1cIml0ZW0uaWNvblwiXG4gICAgICAgICAgICAgIFtzaG93SWNvbl09XCJpdGVtLnNob3dJY29uID8/IHRydWVcIlxuICAgICAgICAgICAgICBbY29sbGFwc2VkXT1cImlzQ29sbGFwc2VkKClcIlxuICAgICAgICAgICAgICBbbGlua109XCJpdGVtLmxpbmtcIlxuICAgICAgICAgICAgICBbb3Blbl09XCJpdGVtLm9wZW5cIlxuICAgICAgICAgICAgICBbaXRlbXNdPVwiaXRlbS5pdGVtcyB8fCBbXVwiXG4gICAgICAgICAgICAgIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2UoKVwiXG4gICAgICAgICAgICAgIFtiYWRnZV09XCJpdGVtLmJhZGdlXCJcbiAgICAgICAgICAgICAgW3Nob3dEaXZpZGVyXT1cIml0ZW0uc2hvd0RpdmlkZXIhXCJcbiAgICAgICAgICAgICAgKG9wZW5DaGFuZ2UpPVwiaGFuZGxlTWVudU9wZW5DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICA8cnRlLW5hdi1pdGVtXG4gICAgICAgICAgICAgICAgW2lkXT1cIml0ZW0uaWRcIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJpdGVtLmxhYmVsXCJcbiAgICAgICAgICAgICAgICBbaWNvbl09XCJpdGVtLmljb25cIlxuICAgICAgICAgICAgICAgIFtzaG93SWNvbl09XCJpdGVtLnNob3dJY29uID8/IHRydWVcIlxuICAgICAgICAgICAgICAgIFtjb2xsYXBzZWRdPVwiaXNDb2xsYXBzZWQoKVwiXG4gICAgICAgICAgICAgICAgW2xpbmtdPVwiaXRlbS5saW5rXCJcbiAgICAgICAgICAgICAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlKClcIlxuICAgICAgICAgICAgICAgIFthY3RpdmVdPVwiaXRlbS5hY3RpdmUgPz8gZmFsc2VcIlxuICAgICAgICAgICAgICAgIFtiYWRnZV09XCJpdGVtLmJhZGdlXCJcbiAgICAgICAgICAgICAgICAoaXRlbUNsaWNrKT1cImhhbmRsZUl0ZW1DbGljayhpdGVtLmlkIHx8IGl0ZW0ubGFiZWwpXCJcbiAgICAgICAgICAgICAgPjwvcnRlLW5hdi1pdGVtPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIEBpZiAoaXRlbS5zaG93RGl2aWRlcikge1xuICAgICAgICAgICAgICA8cnRlLWRpdmlkZXIgW2FwcGVhcmFuY2VdPVwiZGl2aWRlckFwcGVhcmFuY2UoKVwiIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICA8L3VsPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgQGlmIChmb290ZXJJdGVtcygpPy5sZW5ndGggfHwgY29sbGFwc2libGUoKSkge1xuICAgIDxkaXYgc2lkZS1uYXYtZm9vdGVyPlxuICAgICAgPGRpdiBjbGFzcz1cInNpZGUtbmF2LWZvb3Rlci1jb250YWluZXJcIj5cbiAgICAgICAgQGlmIChmb290ZXJJdGVtcygpPy5sZW5ndGgpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2lkZS1uYXYtZm9vdGVyLWl0ZW1zXCI+XG4gICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgZm9vdGVySXRlbXMoKSE7IHRyYWNrIGl0ZW0uaWQgfHwgaXRlbS5sYWJlbCkge1xuICAgICAgICAgICAgICAgIEBpZiAoaGFzTmVzdGVkSXRlbXMoaXRlbSkpIHtcbiAgICAgICAgICAgICAgICAgIDxydGUtbmF2LW1lbnVcbiAgICAgICAgICAgICAgICAgICAgW2lkXT1cIml0ZW0uaWRcIlxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiaXRlbS5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIFtpY29uXT1cIml0ZW0uaWNvblwiXG4gICAgICAgICAgICAgICAgICAgIFtzaG93SWNvbl09XCJpdGVtLnNob3dJY29uID8/IHRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbY29sbGFwc2VkXT1cImlzQ29sbGFwc2VkKClcIlxuICAgICAgICAgICAgICAgICAgICBbbGlua109XCJpdGVtLmxpbmtcIlxuICAgICAgICAgICAgICAgICAgICBbb3Blbl09XCJpdGVtLm9wZW5cIlxuICAgICAgICAgICAgICAgICAgICBbaXRlbXNdPVwiaXRlbS5pdGVtcyB8fCBbXVwiXG4gICAgICAgICAgICAgICAgICAgIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2UoKVwiXG4gICAgICAgICAgICAgICAgICAgIFtiYWRnZV09XCJpdGVtLmJhZGdlXCJcbiAgICAgICAgICAgICAgICAgICAgW3Nob3dEaXZpZGVyXT1cIml0ZW0uc2hvd0RpdmlkZXIhXCJcbiAgICAgICAgICAgICAgICAgICAgKG9wZW5DaGFuZ2UpPVwiaGFuZGxlRm9vdGVyTWVudU9wZW5DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICA8cnRlLW5hdi1pdGVtXG4gICAgICAgICAgICAgICAgICAgICAgW2lkXT1cIml0ZW0uaWRcIlxuICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJpdGVtLmxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJpdGVtLmljb25cIlxuICAgICAgICAgICAgICAgICAgICAgIFtzaG93SWNvbl09XCJpdGVtLnNob3dJY29uID8/IHRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtjb2xsYXBzZWRdPVwiaXNDb2xsYXBzZWQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2xpbmtdPVwiaXRlbS5saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlKClcIlxuICAgICAgICAgICAgICAgICAgICAgIFthY3RpdmVdPVwiaXRlbS5hY3RpdmUgPz8gZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgIFtiYWRnZV09XCJpdGVtLmJhZGdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAoaXRlbUNsaWNrKT1cImhhbmRsZUZvb3Rlckl0ZW1DbGljayhpdGVtLmlkIHx8IGl0ZW0ubGFiZWwpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvcnRlLW5hdi1pdGVtPlxuICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5zaG93RGl2aWRlcikge1xuICAgICAgICAgICAgICAgICAgICA8cnRlLWRpdmlkZXIgW2FwcGVhcmFuY2VdPVwiZGl2aWRlckFwcGVhcmFuY2UoKVwiIC8+XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIDxydGUtZGl2aWRlciBbYXBwZWFyYW5jZV09XCJkaXZpZGVyQXBwZWFyYW5jZSgpXCIgLz5cbiAgICAgICAgQGlmIChjb2xsYXBzaWJsZSgpKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNpZGUtbmF2LWZvb3RlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbGxhcHNpYmxlLXNlY3Rpb25cIj5cbiAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgIDxydGUtbmF2LWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cImlzQ29sbGFwc2VkKCkgPyAnT3V2cmlyIGxlIG1lbnUnIDogJ1LDqWR1aXJlIGxlIG1lbnUnXCJcbiAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiY29sbGFwc2VJY29uKClcIlxuICAgICAgICAgICAgICAgICAgICBbY29sbGFwc2VkXT1cImlzQ29sbGFwc2VkKClcIlxuICAgICAgICAgICAgICAgICAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlKClcIlxuICAgICAgICAgICAgICAgICAgICAoaXRlbUNsaWNrKT1cImhhbmRsZUNvbGxhcHNlQ2xpY2soKVwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH1cbiAgPGRpdiBzaWRlLW5hdi1jb250ZW50PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltjb250ZW50XVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L3J0ZS1iYXNlLXNpZGUtbmF2PlxuIl19
@@ -93,10 +93,10 @@ export class StepperComponent {
93
93
  }
94
94
  }
95
95
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StepperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
96
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: StepperComponent, isStandalone: true, selector: "rte-stepper", inputs: { steps: { classPropertyName: "steps", publicName: "steps", isSignal: true, isRequired: false, transformFunction: null }, activeStepId: { classPropertyName: "activeStepId", publicName: "activeStepId", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { clickStep: "clickStep" }, ngImport: i0, template: "<nav aria-label=\"Stepper Navigation\" style=\"width: 100%; height: 100%\">\n <ol class=\"rte-stepper\" [attr.data-orientation]=\"orientation()\">\n <ng-container *ngFor=\"let step of steps(); let index = index\">\n <li\n #step\n class=\"rte-stepper-item\"\n [attr.data-completion-state]=\"step.completionState\"\n [attr.aria-current]=\"isStepActive(step.id) ? 'step' : undefined\"\n [attr.data-active]=\"isStepActive(step.id)\"\n [attr.data-orientation]=\"orientation()\"\n [attr.data-clickable]=\"isStepClickable(step)\"\n (keydown)=\"handleKeyDown($event)\"\n >\n <button\n class=\"rte-stepper-button\"\n type=\"button\"\n [attr.tabindex]=\"isStepActive(step.id) ? 0 : -1\"\n [attr.disabled]=\"isStepFocusable(step) ? undefined : true\"\n (click)=\"handleStepClick(step)\"\n >\n @if (step.completionState === \"complete\" && !isStepActive(step.id)) {\n <div class=\"rte-stepper-complete-indicator\">\n <rte-icon name=\"check\" aria-hidden=\"true\" [size]=\"iconSize['m']\" />\n </div>\n } @else {\n <div class=\"rte-stepper-number\" [attr.data-completion-state]=\"step.completionState\">\n <span>{{ index + 1 }}</span>\n </div>\n }\n <span class=\"rte-stepper-name\">{{ step.name }}</span>\n </button>\n </li>\n <ng-container *ngIf=\"index < steps().length - 1\">\n <div style=\"width: 100%; height: 100%\">\n <div\n class=\"rte-step-separator\"\n role=\"separator\"\n [attr.data-orientation]=\"orientation()\"\n [attr.data-complete]=\"step.completionState === 'complete'\"\n ></div>\n </div>\n </ng-container>\n </ng-container>\n </ol>\n</nav>\n", styles: [".rte-stepper{display:flex;flex-direction:row;gap:6px;align-items:start;padding:0;margin:0;width:auto}.rte-stepper[data-orientation=vertical]{flex-direction:column;height:100%}.rte-stepper .rte-stepper-item{display:flex;width:100%;flex:1 0 0}.rte-stepper .rte-stepper-item .rte-stepper-button{all:unset;display:flex;flex-direction:column;gap:12px;align-items:center}.rte-stepper .rte-stepper-item .rte-stepper-button:focus-visible .rte-stepper-number,.rte-stepper .rte-stepper-item .rte-stepper-button:focus-visible .rte-stepper-complete-indicator{outline:2px solid var(--border-brand-focused);outline-offset:4px}.rte-stepper .rte-stepper-item .rte-stepper-button .rte-stepper-complete-indicator{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:999px;background-color:var(--background-brand-default);border:2px solid var(--border-brand-default);color:var(--content-primary-inverse)}.rte-stepper .rte-stepper-item .rte-stepper-button .rte-stepper-number{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:999px;border:2px solid var(--border-secondary)}.rte-stepper .rte-stepper-item .rte-stepper-button .rte-stepper-number span{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:700;font-size:16px;line-height:24px;letter-spacing:0px;color:var(--content-tertiary);display:flex;justify-content:center;align-items:center}.rte-stepper .rte-stepper-item .rte-stepper-button .rte-stepper-name{font-family:Arial;font-size:12px;font-weight:400;line-height:16px;letter-spacing:0px;color:var(--content-tertiary);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:relative}.rte-stepper .rte-stepper-item:hover[data-clickable=true][data-active=false]{cursor:pointer}.rte-stepper .rte-stepper-item:hover[data-clickable=true][data-active=false][data-completion-state=unvisited] .rte-stepper-number{border-color:var(--border-primary)}.rte-stepper .rte-stepper-item:hover[data-clickable=true][data-active=false][data-completion-state=unvisited] .rte-stepper-complete-indicator{background-color:var(--background-brand-hover);border:2px solid var(--background-brand-hover)}.rte-stepper .rte-stepper-item:hover[data-clickable=true][data-active=false][data-completion-state=incomplete] .rte-stepper-number span{background-color:var(--background-brand-hover)}.rte-stepper .rte-stepper-item:hover[data-clickable=true][data-active=false][data-completion-state=complete] .rte-stepper-complete-indicator{background-color:var(--background-brand-hover);border:2px solid var(--background-brand-hover)}.rte-stepper .rte-stepper-item[data-completion-state=incomplete][data-active=false] .rte-stepper-number{border:2px solid var(--border-brand-default)}.rte-stepper .rte-stepper-item[data-completion-state=incomplete][data-active=false] .rte-stepper-number span{color:var(--content-primary-inverse);border:solid 2px var(--brand-default);border-radius:999px;background-color:var(--background-brand-default);width:28px;height:28px}.rte-stepper .rte-stepper-item[data-completion-state=incomplete] .rte-stepper-name{font-family:Arial;font-size:12px;font-weight:400;line-height:16px;letter-spacing:0px}.rte-stepper .rte-stepper-item[data-active=true] .rte-stepper-button .rte-stepper-number{border:2px solid var(--border-brand-default)}.rte-stepper .rte-stepper-item[data-active=true] .rte-stepper-button .rte-stepper-number span{color:var(--content-brand-default)}.rte-stepper .rte-stepper-item[data-active=true] .rte-stepper-button .rte-stepper-name{font-family:Arial;font-size:12px;font-weight:400;line-height:16px;letter-spacing:0px;color:var(--content-primary)}.rte-stepper .rte-stepper-item[data-orientation=vertical],.rte-stepper .rte-stepper-item[data-orientation=vertical] .rte-stepper-button{flex-direction:row}.rte-stepper .rte-stepper-item[data-orientation=vertical] .rte-stepper-button .rte-stepper-name{text-align:left}.rte-stepper .rte-step-separator{width:100%;border-radius:999px;height:4px;margin-top:16px;background-color:var(--border-secondary);flex:1 1 auto}.rte-stepper .rte-step-separator[data-complete=true]{background-color:var(--border-brand-default)}.rte-stepper .rte-step-separator[data-orientation=vertical]{width:4px;height:100%;margin-left:16px;margin-top:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "rte-icon", inputs: ["name", "size", "color", "classes", "appearance"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
96
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: StepperComponent, isStandalone: true, selector: "rte-stepper", inputs: { steps: { classPropertyName: "steps", publicName: "steps", isSignal: true, isRequired: false, transformFunction: null }, activeStepId: { classPropertyName: "activeStepId", publicName: "activeStepId", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { clickStep: "clickStep" }, ngImport: i0, template: "<nav aria-label=\"Stepper Navigation\" style=\"width: 100%; height: 100%\">\n <ol class=\"rte-stepper\" [attr.data-orientation]=\"orientation()\">\n <ng-container *ngFor=\"let step of steps(); let index = index\">\n <li\n #step\n class=\"rte-stepper-item\"\n [attr.data-completion-state]=\"step.completionState\"\n [attr.aria-current]=\"isStepActive(step.id) ? 'step' : undefined\"\n [attr.data-active]=\"isStepActive(step.id)\"\n [attr.data-orientation]=\"orientation()\"\n [attr.data-clickable]=\"isStepClickable(step)\"\n (keydown)=\"handleKeyDown($event)\"\n >\n <button\n class=\"rte-stepper-button\"\n type=\"button\"\n [attr.tabindex]=\"isStepActive(step.id) ? 0 : -1\"\n [attr.disabled]=\"isStepFocusable(step) ? undefined : true\"\n (click)=\"handleStepClick(step)\"\n >\n @if (step.completionState === \"complete\" && !isStepActive(step.id)) {\n <div class=\"rte-stepper-complete-indicator\">\n <rte-icon name=\"check\" aria-hidden=\"true\" [size]=\"iconSize['m']\" />\n </div>\n } @else {\n <div class=\"rte-stepper-number\" [attr.data-completion-state]=\"step.completionState\">\n <span>{{ index + 1 }}</span>\n </div>\n }\n <span class=\"rte-stepper-name\">{{ step.name }}</span>\n </button>\n </li>\n <ng-container *ngIf=\"index < steps().length - 1\">\n <div style=\"width: 100%; height: 100%\">\n <div\n class=\"rte-step-separator\"\n role=\"separator\"\n [attr.data-orientation]=\"orientation()\"\n [attr.data-complete]=\"step.completionState === 'complete'\"\n ></div>\n </div>\n </ng-container>\n </ng-container>\n </ol>\n</nav>\n", styles: [".rte-stepper{display:flex;flex-direction:row;gap:6px;align-items:start;padding:0;margin:0;width:auto}.rte-stepper[data-orientation=vertical]{flex-direction:column;height:100%}.rte-stepper .rte-stepper-item{display:flex;width:100%;flex:1 0 0}.rte-stepper .rte-stepper-item .rte-stepper-button{all:unset;display:flex;flex-direction:column;gap:12px;align-items:center}.rte-stepper .rte-stepper-item .rte-stepper-button:focus-visible .rte-stepper-number,.rte-stepper .rte-stepper-item .rte-stepper-button:focus-visible .rte-stepper-complete-indicator{outline:2px solid var(--border-brand-focused);outline-offset:4px}.rte-stepper .rte-stepper-item .rte-stepper-button .rte-stepper-complete-indicator{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:999px;background-color:var(--background-brand-default);border:2px solid var(--border-brand-default);color:var(--content-primary-inverse)}.rte-stepper .rte-stepper-item .rte-stepper-button .rte-stepper-number{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:999px;border:2px solid var(--border-secondary)}.rte-stepper .rte-stepper-item .rte-stepper-button .rte-stepper-number span{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:700;font-size:16px;line-height:24px;letter-spacing:0px;color:var(--content-tertiary);display:flex;justify-content:center;align-items:center}.rte-stepper .rte-stepper-item .rte-stepper-button .rte-stepper-name{font-family:Arial;font-size:12px;font-weight:400;line-height:16px;letter-spacing:0px;color:var(--content-tertiary);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:relative}.rte-stepper .rte-stepper-item:hover[data-clickable=true][data-active=false]{cursor:pointer}.rte-stepper .rte-stepper-item:hover[data-clickable=true][data-active=false] .rte-stepper-name{color:var(--content-secondary)}.rte-stepper .rte-stepper-item:hover[data-clickable=true][data-active=false][data-completion-state=unvisited] .rte-stepper-number{border-color:var(--border-primary)}.rte-stepper .rte-stepper-item:hover[data-clickable=true][data-active=false][data-completion-state=unvisited] .rte-stepper-complete-indicator{background-color:var(--background-brand-hover);border:2px solid var(--background-brand-hover)}.rte-stepper .rte-stepper-item:hover[data-clickable=true][data-active=false][data-completion-state=incomplete] .rte-stepper-number span{background-color:var(--background-brand-hover)}.rte-stepper .rte-stepper-item:hover[data-clickable=true][data-active=false][data-completion-state=complete] .rte-stepper-complete-indicator{background-color:var(--background-brand-hover);border:2px solid var(--background-brand-hover)}.rte-stepper .rte-stepper-item[data-completion-state=incomplete][data-active=false] .rte-stepper-number{border:2px solid var(--border-brand-default)}.rte-stepper .rte-stepper-item[data-completion-state=incomplete][data-active=false] .rte-stepper-number span{color:var(--content-primary-inverse);border:solid 2px var(--brand-default);border-radius:999px;background-color:var(--background-brand-default);width:28px;height:28px}.rte-stepper .rte-stepper-item[data-completion-state=incomplete] .rte-stepper-name{font-family:Arial;font-size:12px;font-weight:400;line-height:16px;letter-spacing:0px}.rte-stepper .rte-stepper-item[data-active=true] .rte-stepper-button .rte-stepper-number{border:2px solid var(--border-brand-default)}.rte-stepper .rte-stepper-item[data-active=true] .rte-stepper-button .rte-stepper-number span{color:var(--content-brand-default)}.rte-stepper .rte-stepper-item[data-active=true] .rte-stepper-button .rte-stepper-name{font-family:Arial;font-size:12px;font-weight:400;line-height:16px;letter-spacing:0px;color:var(--content-primary)}.rte-stepper .rte-stepper-item[data-orientation=vertical],.rte-stepper .rte-stepper-item[data-orientation=vertical] .rte-stepper-button{flex-direction:row}.rte-stepper .rte-stepper-item[data-orientation=vertical] .rte-stepper-button .rte-stepper-name{text-align:left}.rte-stepper .rte-step-separator{width:100%;border-radius:999px;height:4px;margin-top:16px;background-color:var(--border-secondary);flex:1 1 auto}.rte-stepper .rte-step-separator[data-complete=true]{background-color:var(--border-brand-default)}.rte-stepper .rte-step-separator[data-orientation=vertical]{width:4px;height:100%;margin-left:16px;margin-top:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "rte-icon", inputs: ["name", "size", "color", "classes", "appearance"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
97
97
  }
98
98
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StepperComponent, decorators: [{
99
99
  type: Component,
100
- args: [{ selector: "rte-stepper", imports: [CommonModule, IconComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav aria-label=\"Stepper Navigation\" style=\"width: 100%; height: 100%\">\n <ol class=\"rte-stepper\" [attr.data-orientation]=\"orientation()\">\n <ng-container *ngFor=\"let step of steps(); let index = index\">\n <li\n #step\n class=\"rte-stepper-item\"\n [attr.data-completion-state]=\"step.completionState\"\n [attr.aria-current]=\"isStepActive(step.id) ? 'step' : undefined\"\n [attr.data-active]=\"isStepActive(step.id)\"\n [attr.data-orientation]=\"orientation()\"\n [attr.data-clickable]=\"isStepClickable(step)\"\n (keydown)=\"handleKeyDown($event)\"\n >\n <button\n class=\"rte-stepper-button\"\n type=\"button\"\n [attr.tabindex]=\"isStepActive(step.id) ? 0 : -1\"\n [attr.disabled]=\"isStepFocusable(step) ? undefined : true\"\n (click)=\"handleStepClick(step)\"\n >\n @if (step.completionState === \"complete\" && !isStepActive(step.id)) {\n <div class=\"rte-stepper-complete-indicator\">\n <rte-icon name=\"check\" aria-hidden=\"true\" [size]=\"iconSize['m']\" />\n </div>\n } @else {\n <div class=\"rte-stepper-number\" [attr.data-completion-state]=\"step.completionState\">\n <span>{{ index + 1 }}</span>\n </div>\n }\n <span class=\"rte-stepper-name\">{{ step.name }}</span>\n </button>\n </li>\n <ng-container *ngIf=\"index < steps().length - 1\">\n <div style=\"width: 100%; height: 100%\">\n <div\n class=\"rte-step-separator\"\n role=\"separator\"\n [attr.data-orientation]=\"orientation()\"\n [attr.data-complete]=\"step.completionState === 'complete'\"\n ></div>\n </div>\n </ng-container>\n </ng-container>\n </ol>\n</nav>\n", styles: [".rte-stepper{display:flex;flex-direction:row;gap:6px;align-items:start;padding:0;margin:0;width:auto}.rte-stepper[data-orientation=vertical]{flex-direction:column;height:100%}.rte-stepper .rte-stepper-item{display:flex;width:100%;flex:1 0 0}.rte-stepper .rte-stepper-item .rte-stepper-button{all:unset;display:flex;flex-direction:column;gap:12px;align-items:center}.rte-stepper .rte-stepper-item .rte-stepper-button:focus-visible .rte-stepper-number,.rte-stepper .rte-stepper-item .rte-stepper-button:focus-visible .rte-stepper-complete-indicator{outline:2px solid var(--border-brand-focused);outline-offset:4px}.rte-stepper .rte-stepper-item .rte-stepper-button .rte-stepper-complete-indicator{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:999px;background-color:var(--background-brand-default);border:2px solid var(--border-brand-default);color:var(--content-primary-inverse)}.rte-stepper .rte-stepper-item .rte-stepper-button .rte-stepper-number{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:999px;border:2px solid var(--border-secondary)}.rte-stepper .rte-stepper-item .rte-stepper-button .rte-stepper-number span{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:700;font-size:16px;line-height:24px;letter-spacing:0px;color:var(--content-tertiary);display:flex;justify-content:center;align-items:center}.rte-stepper .rte-stepper-item .rte-stepper-button .rte-stepper-name{font-family:Arial;font-size:12px;font-weight:400;line-height:16px;letter-spacing:0px;color:var(--content-tertiary);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:relative}.rte-stepper .rte-stepper-item:hover[data-clickable=true][data-active=false]{cursor:pointer}.rte-stepper .rte-stepper-item:hover[data-clickable=true][data-active=false][data-completion-state=unvisited] .rte-stepper-number{border-color:var(--border-primary)}.rte-stepper .rte-stepper-item:hover[data-clickable=true][data-active=false][data-completion-state=unvisited] .rte-stepper-complete-indicator{background-color:var(--background-brand-hover);border:2px solid var(--background-brand-hover)}.rte-stepper .rte-stepper-item:hover[data-clickable=true][data-active=false][data-completion-state=incomplete] .rte-stepper-number span{background-color:var(--background-brand-hover)}.rte-stepper .rte-stepper-item:hover[data-clickable=true][data-active=false][data-completion-state=complete] .rte-stepper-complete-indicator{background-color:var(--background-brand-hover);border:2px solid var(--background-brand-hover)}.rte-stepper .rte-stepper-item[data-completion-state=incomplete][data-active=false] .rte-stepper-number{border:2px solid var(--border-brand-default)}.rte-stepper .rte-stepper-item[data-completion-state=incomplete][data-active=false] .rte-stepper-number span{color:var(--content-primary-inverse);border:solid 2px var(--brand-default);border-radius:999px;background-color:var(--background-brand-default);width:28px;height:28px}.rte-stepper .rte-stepper-item[data-completion-state=incomplete] .rte-stepper-name{font-family:Arial;font-size:12px;font-weight:400;line-height:16px;letter-spacing:0px}.rte-stepper .rte-stepper-item[data-active=true] .rte-stepper-button .rte-stepper-number{border:2px solid var(--border-brand-default)}.rte-stepper .rte-stepper-item[data-active=true] .rte-stepper-button .rte-stepper-number span{color:var(--content-brand-default)}.rte-stepper .rte-stepper-item[data-active=true] .rte-stepper-button .rte-stepper-name{font-family:Arial;font-size:12px;font-weight:400;line-height:16px;letter-spacing:0px;color:var(--content-primary)}.rte-stepper .rte-stepper-item[data-orientation=vertical],.rte-stepper .rte-stepper-item[data-orientation=vertical] .rte-stepper-button{flex-direction:row}.rte-stepper .rte-stepper-item[data-orientation=vertical] .rte-stepper-button .rte-stepper-name{text-align:left}.rte-stepper .rte-step-separator{width:100%;border-radius:999px;height:4px;margin-top:16px;background-color:var(--border-secondary);flex:1 1 auto}.rte-stepper .rte-step-separator[data-complete=true]{background-color:var(--border-brand-default)}.rte-stepper .rte-step-separator[data-orientation=vertical]{width:4px;height:100%;margin-left:16px;margin-top:0}\n"] }]
100
+ args: [{ selector: "rte-stepper", imports: [CommonModule, IconComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav aria-label=\"Stepper Navigation\" style=\"width: 100%; height: 100%\">\n <ol class=\"rte-stepper\" [attr.data-orientation]=\"orientation()\">\n <ng-container *ngFor=\"let step of steps(); let index = index\">\n <li\n #step\n class=\"rte-stepper-item\"\n [attr.data-completion-state]=\"step.completionState\"\n [attr.aria-current]=\"isStepActive(step.id) ? 'step' : undefined\"\n [attr.data-active]=\"isStepActive(step.id)\"\n [attr.data-orientation]=\"orientation()\"\n [attr.data-clickable]=\"isStepClickable(step)\"\n (keydown)=\"handleKeyDown($event)\"\n >\n <button\n class=\"rte-stepper-button\"\n type=\"button\"\n [attr.tabindex]=\"isStepActive(step.id) ? 0 : -1\"\n [attr.disabled]=\"isStepFocusable(step) ? undefined : true\"\n (click)=\"handleStepClick(step)\"\n >\n @if (step.completionState === \"complete\" && !isStepActive(step.id)) {\n <div class=\"rte-stepper-complete-indicator\">\n <rte-icon name=\"check\" aria-hidden=\"true\" [size]=\"iconSize['m']\" />\n </div>\n } @else {\n <div class=\"rte-stepper-number\" [attr.data-completion-state]=\"step.completionState\">\n <span>{{ index + 1 }}</span>\n </div>\n }\n <span class=\"rte-stepper-name\">{{ step.name }}</span>\n </button>\n </li>\n <ng-container *ngIf=\"index < steps().length - 1\">\n <div style=\"width: 100%; height: 100%\">\n <div\n class=\"rte-step-separator\"\n role=\"separator\"\n [attr.data-orientation]=\"orientation()\"\n [attr.data-complete]=\"step.completionState === 'complete'\"\n ></div>\n </div>\n </ng-container>\n </ng-container>\n </ol>\n</nav>\n", styles: [".rte-stepper{display:flex;flex-direction:row;gap:6px;align-items:start;padding:0;margin:0;width:auto}.rte-stepper[data-orientation=vertical]{flex-direction:column;height:100%}.rte-stepper .rte-stepper-item{display:flex;width:100%;flex:1 0 0}.rte-stepper .rte-stepper-item .rte-stepper-button{all:unset;display:flex;flex-direction:column;gap:12px;align-items:center}.rte-stepper .rte-stepper-item .rte-stepper-button:focus-visible .rte-stepper-number,.rte-stepper .rte-stepper-item .rte-stepper-button:focus-visible .rte-stepper-complete-indicator{outline:2px solid var(--border-brand-focused);outline-offset:4px}.rte-stepper .rte-stepper-item .rte-stepper-button .rte-stepper-complete-indicator{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:999px;background-color:var(--background-brand-default);border:2px solid var(--border-brand-default);color:var(--content-primary-inverse)}.rte-stepper .rte-stepper-item .rte-stepper-button .rte-stepper-number{display:flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:999px;border:2px solid var(--border-secondary)}.rte-stepper .rte-stepper-item .rte-stepper-button .rte-stepper-number span{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:700;font-size:16px;line-height:24px;letter-spacing:0px;color:var(--content-tertiary);display:flex;justify-content:center;align-items:center}.rte-stepper .rte-stepper-item .rte-stepper-button .rte-stepper-name{font-family:Arial;font-size:12px;font-weight:400;line-height:16px;letter-spacing:0px;color:var(--content-tertiary);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:relative}.rte-stepper .rte-stepper-item:hover[data-clickable=true][data-active=false]{cursor:pointer}.rte-stepper .rte-stepper-item:hover[data-clickable=true][data-active=false] .rte-stepper-name{color:var(--content-secondary)}.rte-stepper .rte-stepper-item:hover[data-clickable=true][data-active=false][data-completion-state=unvisited] .rte-stepper-number{border-color:var(--border-primary)}.rte-stepper .rte-stepper-item:hover[data-clickable=true][data-active=false][data-completion-state=unvisited] .rte-stepper-complete-indicator{background-color:var(--background-brand-hover);border:2px solid var(--background-brand-hover)}.rte-stepper .rte-stepper-item:hover[data-clickable=true][data-active=false][data-completion-state=incomplete] .rte-stepper-number span{background-color:var(--background-brand-hover)}.rte-stepper .rte-stepper-item:hover[data-clickable=true][data-active=false][data-completion-state=complete] .rte-stepper-complete-indicator{background-color:var(--background-brand-hover);border:2px solid var(--background-brand-hover)}.rte-stepper .rte-stepper-item[data-completion-state=incomplete][data-active=false] .rte-stepper-number{border:2px solid var(--border-brand-default)}.rte-stepper .rte-stepper-item[data-completion-state=incomplete][data-active=false] .rte-stepper-number span{color:var(--content-primary-inverse);border:solid 2px var(--brand-default);border-radius:999px;background-color:var(--background-brand-default);width:28px;height:28px}.rte-stepper .rte-stepper-item[data-completion-state=incomplete] .rte-stepper-name{font-family:Arial;font-size:12px;font-weight:400;line-height:16px;letter-spacing:0px}.rte-stepper .rte-stepper-item[data-active=true] .rte-stepper-button .rte-stepper-number{border:2px solid var(--border-brand-default)}.rte-stepper .rte-stepper-item[data-active=true] .rte-stepper-button .rte-stepper-number span{color:var(--content-brand-default)}.rte-stepper .rte-stepper-item[data-active=true] .rte-stepper-button .rte-stepper-name{font-family:Arial;font-size:12px;font-weight:400;line-height:16px;letter-spacing:0px;color:var(--content-primary)}.rte-stepper .rte-stepper-item[data-orientation=vertical],.rte-stepper .rte-stepper-item[data-orientation=vertical] .rte-stepper-button{flex-direction:row}.rte-stepper .rte-stepper-item[data-orientation=vertical] .rte-stepper-button .rte-stepper-name{text-align:left}.rte-stepper .rte-step-separator{width:100%;border-radius:999px;height:4px;margin-top:16px;background-color:var(--border-secondary);flex:1 1 auto}.rte-stepper .rte-step-separator[data-complete=true]{background-color:var(--border-brand-default)}.rte-stepper .rte-step-separator[data-orientation=vertical]{width:4px;height:100%;margin-left:16px;margin-top:0}\n"] }]
101
101
  }] });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1ydGUtbGliL3NyYy9saWIvY29tcG9uZW50cy9zdGVwcGVyL3N0ZXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFHTixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBRWxGLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsb0JBQW9CLEVBQ3BCLDJCQUEyQixFQUMzQix3QkFBd0IsRUFDeEIsZUFBZSxJQUFJLG1CQUFtQixHQUN2QyxNQUFNLDBEQUEwRCxDQUFDO0FBQ2xFLE9BQU8sRUFDTCxjQUFjLEVBQ2QsY0FBYyxFQUNkLGVBQWUsRUFDZixZQUFZLEVBQ1osT0FBTyxHQUNSLE1BQU0sK0RBQStELENBQUM7QUFFdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFFdkQsTUFBTSxZQUFZLEdBQUcsb0JBQW9CLENBQUM7QUFVMUMsTUFBTSxPQUFPLGdCQUFnQjtJQVI3QjtRQVNXLFVBQUssR0FBRyxLQUFLLENBQXdCLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLGlCQUFZLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDL0IsZ0JBQVcsR0FBRyxLQUFLLENBQThCLFlBQVksQ0FBQyxDQUFDO1FBRS9ELGFBQVEsR0FBRyxRQUFRLENBQUM7UUFFWixlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXhDLGNBQVMsR0FBRyxNQUFNLEVBQWlDLENBQUM7UUFrRnJELGdCQUFXLEdBQWtCLElBQUksQ0FBQztRQUVsQyxvQkFBZSxHQUFHLENBQUMsS0FBb0IsRUFBRSxFQUFFO1lBQ2pELElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUMvQixDQUFDLENBQUM7S0FDSDtJQXJGQyxlQUFlO1FBQ2IsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxXQUFXO1FBQ1QsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxZQUFZLENBQUMsRUFBVTtRQUNyQixPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFtQztRQUNqRCxPQUFPLENBQ0wsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQ2QsbUJBQW1CLENBQUM7Z0JBQ2xCLGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZTtnQkFDckMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixJQUFJLEtBQUs7YUFDM0QsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsZUFBZSxDQUFDLElBQW1DO1FBQ2pELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsZUFBZSxDQUFDLElBQW1DO1FBQ2pELElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM5RSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFvQjtRQUNoQyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDMUIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNuQiwyQkFBMkIsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUMzRSxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sdUJBQXVCLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDdkUsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLENBQUMsY0FBYyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsY0FBYyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3hGLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7WUFFeEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDMUUsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDYixNQUFNLHdCQUF3QixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUMzRyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxZQUFZLEVBQUUsQ0FBQztvQkFDeEMsUUFBUSxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7d0JBQ2xCLEtBQUssY0FBYyxDQUFDLENBQUMsQ0FBQzs0QkFDcEIsd0JBQXdCLENBQUMsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDOzRCQUN6RSxNQUFNO3dCQUNSLENBQUM7d0JBQ0QsS0FBSyxlQUFlLENBQUMsQ0FBQyxDQUFDOzRCQUNyQixvQkFBb0IsQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7NEJBQ3JFLE1BQU07d0JBQ1IsQ0FBQzt3QkFDRDs0QkFDRSxPQUFPO29CQUNYLENBQUM7Z0JBQ0gsQ0FBQztxQkFBTSxDQUFDO29CQUNOLFFBQVEsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO3dCQUNsQixLQUFLLFlBQVksQ0FBQyxDQUFDLENBQUM7NEJBQ2xCLHdCQUF3QixDQUFDLHdCQUF3QixFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQzs0QkFDekUsTUFBTTt3QkFDUixDQUFDO3dCQUNELEtBQUssY0FBYyxDQUFDLENBQUMsQ0FBQzs0QkFDcEIsb0JBQW9CLENBQUMsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDOzRCQUNyRSxNQUFNO3dCQUNSLENBQUM7d0JBQ0Q7NEJBQ0UsT0FBTztvQkFDWCxDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7K0dBekZVLGdCQUFnQjttR0FBaEIsZ0JBQWdCLHVnQkN4QzdCLGcyREE2Q0Esc3hJRFhZLFlBQVksZ1FBQUUsYUFBYTs7NEZBTTFCLGdCQUFnQjtrQkFSNUIsU0FBUzsrQkFDRSxhQUFhLFdBQ2QsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLGNBQzFCLElBQUksbUJBR0MsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIEFmdGVyVmlld0luaXQsXG4gIE9uRGVzdHJveSxcbiAgaW5qZWN0LFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSWNvblNpemUgfSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmUvY29tcG9uZW50cy9pY29uL2ljb24uY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBTdGVwcGVyUHJvcHMgfSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmUvY29tcG9uZW50cy9zdGVwcGVyL3N0ZXBwZXIuaW50ZXJmYWNlXCI7XG5pbXBvcnQge1xuICBmb2N1c05leHROb3RTdGVwRWxlbWVudCxcbiAgZm9jdXNOZXh0U3RlcEVsZW1lbnQsXG4gIGZvY3VzUHJldmlvdXNOb3RTdGVwRWxlbWVudCxcbiAgZm9jdXNQcmV2aW91c1N0ZXBFbGVtZW50LFxuICBpc1N0ZXBDbGlja2FibGUgYXMgY29yZUlzU3RlcENsaWNrYWJsZSxcbn0gZnJvbSBcIkBkZXNpZ24tc3lzdGVtLXJ0ZS9jb3JlL2NvbXBvbmVudHMvc3RlcHBlci9zdGVwcGVyLnV0aWxzXCI7XG5pbXBvcnQge1xuICBBUlJPV19ET1dOX0tFWSxcbiAgQVJST1dfTEVGVF9LRVksXG4gIEFSUk9XX1JJR0hUX0tFWSxcbiAgQVJST1dfVVBfS0VZLFxuICBUQUJfS0VZLFxufSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmUvY29uc3RhbnRzL2tleWJvYXJkL2tleWJvYXJkLmNvbnN0YW50c1wiO1xuXG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSBcIi4uL2ljb24vaWNvbi5jb21wb25lbnRcIjtcblxuY29uc3Qgc2VnbWVudENsYXNzID0gXCJydGUtc3RlcHBlci1idXR0b25cIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInJ0ZS1zdGVwcGVyXCIsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEljb25Db21wb25lbnRdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZVVybDogXCIuL3N0ZXBwZXIuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmw6IFwiLi9zdGVwcGVyLmNvbXBvbmVudC5zY3NzXCIsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTdGVwcGVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgcmVhZG9ubHkgc3RlcHMgPSBpbnB1dDxTdGVwcGVyUHJvcHNbXCJzdGVwc1wiXT4oW10pO1xuICByZWFkb25seSBhY3RpdmVTdGVwSWQgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IG9yaWVudGF0aW9uID0gaW5wdXQ8U3RlcHBlclByb3BzW1wib3JpZW50YXRpb25cIl0+KFwiaG9yaXpvbnRhbFwiKTtcblxuICByZWFkb25seSBpY29uU2l6ZSA9IEljb25TaXplO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc3RlcHBlclJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICByZWFkb25seSBjbGlja1N0ZXAgPSBvdXRwdXQ8U3RlcHBlclByb3BzW1wic3RlcHNcIl1bbnVtYmVyXT4oKTtcblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIHRoaXMub25HbG9iYWxLZXlEb3duLmJpbmQodGhpcykpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIHRoaXMub25HbG9iYWxLZXlEb3duLmJpbmQodGhpcykpO1xuICB9XG5cbiAgaXNTdGVwQWN0aXZlKGlkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVTdGVwSWQoKSA9PT0gaWQ7XG4gIH1cblxuICBpc1N0ZXBDbGlja2FibGUoc3RlcDogU3RlcHBlclByb3BzW1wic3RlcHNcIl1bbnVtYmVyXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAhIXN0ZXAub25DbGljayAmJlxuICAgICAgY29yZUlzU3RlcENsaWNrYWJsZSh7XG4gICAgICAgIGNvbXBsZXRpb25TdGF0ZTogc3RlcC5jb21wbGV0aW9uU3RhdGUsXG4gICAgICAgIGNsaWNrYWJsZUNvbXBsZXRlU3RlcDogc3RlcC5jbGlja2FibGVDb21wbGV0ZVN0ZXAgfHwgZmFsc2UsXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBpc1N0ZXBGb2N1c2FibGUoc3RlcDogU3RlcHBlclByb3BzW1wic3RlcHNcIl1bbnVtYmVyXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzU3RlcENsaWNrYWJsZShzdGVwKSB8fCB0aGlzLmlzU3RlcEFjdGl2ZShzdGVwLmlkKTtcbiAgfVxuXG4gIGhhbmRsZVN0ZXBDbGljayhzdGVwOiBTdGVwcGVyUHJvcHNbXCJzdGVwc1wiXVtudW1iZXJdKSB7XG4gICAgaWYgKHRoaXMuaXNTdGVwQ2xpY2thYmxlKHN0ZXApICYmICF0aGlzLmlzU3RlcEFjdGl2ZShzdGVwLmlkKSAmJiBzdGVwLm9uQ2xpY2spIHtcbiAgICAgIHN0ZXAub25DbGljaygpO1xuICAgICAgdGhpcy5jbGlja1N0ZXAuZW1pdChzdGVwKTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gVEFCX0tFWSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGlmIChldmVudC5zaGlmdEtleSkge1xuICAgICAgICBmb2N1c1ByZXZpb3VzTm90U3RlcEVsZW1lbnQoc2VnbWVudENsYXNzLCB0aGlzLnN0ZXBwZXJSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmb2N1c05leHROb3RTdGVwRWxlbWVudChzZWdtZW50Q2xhc3MsIHRoaXMuc3RlcHBlclJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKFtBUlJPV19MRUZUX0tFWSwgQVJST1dfUklHSFRfS0VZLCBBUlJPV19VUF9LRVksIEFSUk9XX0RPV05fS0VZXS5pbmNsdWRlcyhldmVudC5rZXkpKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgIGNvbnN0IGFsbFN0ZXBzID0gdGhpcy5zdGVwcGVyUmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChcImJ1dHRvblwiKTtcbiAgICAgIGlmIChhbGxTdGVwcykge1xuICAgICAgICBjb25zdCBjdXJyZW50Rm9jdXNTdGVwcGVkSW5kZXggPSBBcnJheS5mcm9tKGFsbFN0ZXBzKS5maW5kSW5kZXgoKHN0ZXApID0+IHN0ZXAgPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpO1xuICAgICAgICBpZiAodGhpcy5vcmllbnRhdGlvbigpID09PSBcImhvcml6b250YWxcIikge1xuICAgICAgICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICAgICAgICBjYXNlIEFSUk9XX0xFRlRfS0VZOiB7XG4gICAgICAgICAgICAgIGZvY3VzUHJldmlvdXNTdGVwRWxlbWVudChjdXJyZW50Rm9jdXNTdGVwcGVkSW5kZXgsIEFycmF5LmZyb20oYWxsU3RlcHMpKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEFSUk9XX1JJR0hUX0tFWToge1xuICAgICAgICAgICAgICBmb2N1c05leHRTdGVwRWxlbWVudChjdXJyZW50Rm9jdXNTdGVwcGVkSW5kZXgsIEFycmF5LmZyb20oYWxsU3RlcHMpKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICAgICAgICBjYXNlIEFSUk9XX1VQX0tFWToge1xuICAgICAgICAgICAgICBmb2N1c1ByZXZpb3VzU3RlcEVsZW1lbnQoY3VycmVudEZvY3VzU3RlcHBlZEluZGV4LCBBcnJheS5mcm9tKGFsbFN0ZXBzKSk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBBUlJPV19ET1dOX0tFWToge1xuICAgICAgICAgICAgICBmb2N1c05leHRTdGVwRWxlbWVudChjdXJyZW50Rm9jdXNTdGVwcGVkSW5kZXgsIEFycmF5LmZyb20oYWxsU3RlcHMpKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBsYXN0S2V5ZG93bjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBvbkdsb2JhbEtleURvd24gPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICB0aGlzLmxhc3RLZXlkb3duID0gZXZlbnQua2V5O1xuICB9O1xufVxuIiwiPG5hdiBhcmlhLWxhYmVsPVwiU3RlcHBlciBOYXZpZ2F0aW9uXCIgc3R5bGU9XCJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlXCI+XG4gIDxvbCBjbGFzcz1cInJ0ZS1zdGVwcGVyXCIgW2F0dHIuZGF0YS1vcmllbnRhdGlvbl09XCJvcmllbnRhdGlvbigpXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc3RlcCBvZiBzdGVwcygpOyBsZXQgaW5kZXggPSBpbmRleFwiPlxuICAgICAgPGxpXG4gICAgICAgICNzdGVwXG4gICAgICAgIGNsYXNzPVwicnRlLXN0ZXBwZXItaXRlbVwiXG4gICAgICAgIFthdHRyLmRhdGEtY29tcGxldGlvbi1zdGF0ZV09XCJzdGVwLmNvbXBsZXRpb25TdGF0ZVwiXG4gICAgICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJpc1N0ZXBBY3RpdmUoc3RlcC5pZCkgPyAnc3RlcCcgOiB1bmRlZmluZWRcIlxuICAgICAgICBbYXR0ci5kYXRhLWFjdGl2ZV09XCJpc1N0ZXBBY3RpdmUoc3RlcC5pZClcIlxuICAgICAgICBbYXR0ci5kYXRhLW9yaWVudGF0aW9uXT1cIm9yaWVudGF0aW9uKClcIlxuICAgICAgICBbYXR0ci5kYXRhLWNsaWNrYWJsZV09XCJpc1N0ZXBDbGlja2FibGUoc3RlcClcIlxuICAgICAgICAoa2V5ZG93bik9XCJoYW5kbGVLZXlEb3duKCRldmVudClcIlxuICAgICAgPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJydGUtc3RlcHBlci1idXR0b25cIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cImlzU3RlcEFjdGl2ZShzdGVwLmlkKSA/IDAgOiAtMVwiXG4gICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiaXNTdGVwRm9jdXNhYmxlKHN0ZXApID8gdW5kZWZpbmVkIDogdHJ1ZVwiXG4gICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVN0ZXBDbGljayhzdGVwKVwiXG4gICAgICAgID5cbiAgICAgICAgICBAaWYgKHN0ZXAuY29tcGxldGlvblN0YXRlID09PSBcImNvbXBsZXRlXCIgJiYgIWlzU3RlcEFjdGl2ZShzdGVwLmlkKSkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJ0ZS1zdGVwcGVyLWNvbXBsZXRlLWluZGljYXRvclwiPlxuICAgICAgICAgICAgICA8cnRlLWljb24gbmFtZT1cImNoZWNrXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgW3NpemVdPVwiaWNvblNpemVbJ20nXVwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJydGUtc3RlcHBlci1udW1iZXJcIiBbYXR0ci5kYXRhLWNvbXBsZXRpb24tc3RhdGVdPVwic3RlcC5jb21wbGV0aW9uU3RhdGVcIj5cbiAgICAgICAgICAgICAgPHNwYW4+e3sgaW5kZXggKyAxIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicnRlLXN0ZXBwZXItbmFtZVwiPnt7IHN0ZXAubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2xpPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImluZGV4IDwgc3RlcHMoKS5sZW5ndGggLSAxXCI+XG4gICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlXCI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJydGUtc3RlcC1zZXBhcmF0b3JcIlxuICAgICAgICAgICAgcm9sZT1cInNlcGFyYXRvclwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLW9yaWVudGF0aW9uXT1cIm9yaWVudGF0aW9uKClcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1jb21wbGV0ZV09XCJzdGVwLmNvbXBsZXRpb25TdGF0ZSA9PT0gJ2NvbXBsZXRlJ1wiXG4gICAgICAgICAgPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L29sPlxuPC9uYXY+XG4iXX0=
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1ydGUtbGliL3NyYy9saWIvY29tcG9uZW50cy9zdGVwcGVyL3N0ZXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFHTixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBRWxGLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsb0JBQW9CLEVBQ3BCLDJCQUEyQixFQUMzQix3QkFBd0IsRUFDeEIsZUFBZSxJQUFJLG1CQUFtQixHQUN2QyxNQUFNLDBEQUEwRCxDQUFDO0FBQ2xFLE9BQU8sRUFDTCxjQUFjLEVBQ2QsY0FBYyxFQUNkLGVBQWUsRUFDZixZQUFZLEVBQ1osT0FBTyxHQUNSLE1BQU0sK0RBQStELENBQUM7QUFFdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFFdkQsTUFBTSxZQUFZLEdBQUcsb0JBQW9CLENBQUM7QUFVMUMsTUFBTSxPQUFPLGdCQUFnQjtJQVI3QjtRQVNXLFVBQUssR0FBRyxLQUFLLENBQXdCLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLGlCQUFZLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDL0IsZ0JBQVcsR0FBRyxLQUFLLENBQThCLFlBQVksQ0FBQyxDQUFDO1FBRS9ELGFBQVEsR0FBRyxRQUFRLENBQUM7UUFFWixlQUFV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ZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIEFmdGVyVmlld0luaXQsXG4gIE9uRGVzdHJveSxcbiAgaW5qZWN0LFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSWNvblNpemUgfSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmUvY29tcG9uZW50cy9pY29uL2ljb24uY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBTdGVwcGVyUHJvcHMgfSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmUvY29tcG9uZW50cy9zdGVwcGVyL3N0ZXBwZXIuaW50ZXJmYWNlXCI7XG5pbXBvcnQge1xuICBmb2N1c05leHROb3RTdGVwRWxlbWVudCxcbiAgZm9jdXNOZXh0U3RlcEVsZW1lbnQsXG4gIGZvY3VzUHJldmlvdXNOb3RTdGVwRWxlbWVudCxcbiAgZm9jdXNQcmV2aW91c1N0ZXBFbGVtZW50LFxuICBpc1N0ZXBDbGlja2FibGUgYXMgY29yZUlzU3RlcENsaWNrYWJsZSxcbn0gZnJvbSBcIkBkZXNpZ24tc3lzdGVtLXJ0ZS9jb3JlL2NvbXBvbmVudHMvc3RlcHBlci9zdGVwcGVyLnV0aWxzXCI7XG5pbXBvcnQge1xuICBBUlJPV19ET1dOX0tFWSxcbiAgQVJST1dfTEVGVF9LRVksXG4gIEFSUk9XX1JJR0hUX0tFWSxcbiAgQVJST1dfVVBfS0VZLFxuICBUQUJfS0VZLFxufSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmUvY29uc3RhbnRzL2tleWJvYXJkL2tleWJvYXJkLmNvbnN0YW50c1wiO1xuXG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSBcIi4uL2ljb24vaWNvbi5jb21wb25lbnRcIjtcblxuY29uc3Qgc2VnbWVudENsYXNzID0gXCJydGUtc3RlcHBlci1idXR0b25cIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInJ0ZS1zdGVwcGVyXCIsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEljb25Db21wb25lbnRdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZVVybDogXCIuL3N0ZXBwZXIuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmw6IFwiLi9zdGVwcGVyLmNvbXBvbmVudC5zY3NzXCIsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTdGVwcGVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgcmVhZG9ubHkgc3RlcHMgPSBpbnB1dDxTdGVwcGVyUHJvcHNbXCJzdGVwc1wiXT4oW10pO1xuICByZWFkb25seSBhY3RpdmVTdGVwSWQgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IG9yaWVudGF0aW9uID0gaW5wdXQ8U3RlcHBlclByb3BzW1wib3JpZW50YXRpb25cIl0+KFwiaG9yaXpvbnRhbFwiKTtcblxuICByZWFkb25seSBpY29uU2l6ZSA9IEljb25TaXplO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc3RlcHBlclJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICByZWFkb25seSBjbGlja1N0ZXAgPSBvdXRwdXQ8U3RlcHBlclByb3BzW1wic3RlcHNcIl1bbnVtYmVyXT4oKTtcblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIHRoaXMub25HbG9iYWxLZXlEb3duLmJpbmQodGhpcykpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIHRoaXMub25HbG9iYWxLZXlEb3duLmJpbmQodGhpcykpO1xuICB9XG5cbiAgaXNTdGVwQWN0aXZlKGlkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVTdGVwSWQoKSA9PT0gaWQ7XG4gIH1cblxuICBpc1N0ZXBDbGlja2FibGUoc3RlcDogU3RlcHBlclByb3BzW1wic3RlcHNcIl1bbnVtYmVyXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAhIXN0ZXAub25DbGljayAmJlxuICAgICAgY29yZUlzU3RlcENsaWNrYWJsZSh7XG4gICAgICAgIGNvbXBsZXRpb25TdGF0ZTogc3RlcC5jb21wbGV0aW9uU3RhdGUsXG4gICAgICAgIGNsaWNrYWJsZUNvbXBsZXRlU3RlcDogc3RlcC5jbGlja2FibGVDb21wbGV0ZVN0ZXAgfHwgZmFsc2UsXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBpc1N0ZXBGb2N1c2FibGUoc3RlcDogU3RlcHBlclByb3BzW1wic3RlcHNcIl1bbnVtYmVyXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzU3RlcENsaWNrYWJsZShzdGVwKSB8fCB0aGlzLmlzU3RlcEFjdGl2ZShzdGVwLmlkKTtcbiAgfVxuXG4gIGhhbmRsZVN0ZXBDbGljayhzdGVwOiBTdGVwcGVyUHJvcHNbXCJzdGVwc1wiXVtudW1iZXJdKSB7XG4gICAgaWYgKHRoaXMuaXNTdGVwQ2xpY2thYmxlKHN0ZXApICYmICF0aGlzLmlzU3RlcEFjdGl2ZShzdGVwLmlkKSAmJiBzdGVwLm9uQ2xpY2spIHtcbiAgICAgIHN0ZXAub25DbGljaygpO1xuICAgICAgdGhpcy5jbGlja1N0ZXAuZW1pdChzdGVwKTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gVEFCX0tFWSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGlmIChldmVudC5zaGlmdEtleSkge1xuICAgICAgICBmb2N1c1ByZXZpb3VzTm90U3RlcEVsZW1lbnQoc2VnbWVudENsYXNzLCB0aGlzLnN0ZXBwZXJSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmb2N1c05leHROb3RTdGVwRWxlbWVudChzZWdtZW50Q2xhc3MsIHRoaXMuc3RlcHBlclJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKFtBUlJPV19MRUZUX0tFWSwgQVJST1dfUklHSFRfS0VZLCBBUlJPV19VUF9LRVksIEFSUk9XX0RPV05fS0VZXS5pbmNsdWRlcyhldmVudC5rZXkpKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgIGNvbnN0IGFsbFN0ZXBzID0gdGhpcy5zdGVwcGVyUmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChcImJ1dHRvblwiKTtcbiAgICAgIGlmIChhbGxTdGVwcykge1xuICAgICAgICBjb25zdCBjdXJyZW50Rm9jdXNTdGVwcGVkSW5kZXggPSBBcnJheS5mcm9tKGFsbFN0ZXBzKS5maW5kSW5kZXgoKHN0ZXApID0+IHN0ZXAgPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpO1xuICAgICAgICBpZiAodGhpcy5vcmllbnRhdGlvbigpID09PSBcImhvcml6b250YWxcIikge1xuICAgICAgICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICAgICAgICBjYXNlIEFSUk9XX0xFRlRfS0VZOiB7XG4gICAgICAgICAgICAgIGZvY3VzUHJldmlvdXNTdGVwRWxlbWVudChjdXJyZW50Rm9jdXNTdGVwcGVkSW5kZXgsIEFycmF5LmZyb20oYWxsU3RlcHMpKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEFSUk9XX1JJR0hUX0tFWToge1xuICAgICAgICAgICAgICBmb2N1c05leHRTdGVwRWxlbWVudChjdXJyZW50Rm9jdXNTdGVwcGVkSW5kZXgsIEFycmF5LmZyb20oYWxsU3RlcHMpKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICAgICAgICBjYXNlIEFSUk9XX1VQX0tFWToge1xuICAgICAgICAgICAgICBmb2N1c1ByZXZpb3VzU3RlcEVsZW1lbnQoY3VycmVudEZvY3VzU3RlcHBlZEluZGV4LCBBcnJheS5mcm9tKGFsbFN0ZXBzKSk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBBUlJPV19ET1dOX0tFWToge1xuICAgICAgICAgICAgICBmb2N1c05leHRTdGVwRWxlbWVudChjdXJyZW50Rm9jdXNTdGVwcGVkSW5kZXgsIEFycmF5LmZyb20oYWxsU3RlcHMpKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBsYXN0S2V5ZG93bjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBvbkdsb2JhbEtleURvd24gPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICB0aGlzLmxhc3RLZXlkb3duID0gZXZlbnQua2V5O1xuICB9O1xufVxuIiwiPG5hdiBhcmlhLWxhYmVsPVwiU3RlcHBlciBOYXZpZ2F0aW9uXCIgc3R5bGU9XCJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlXCI+XG4gIDxvbCBjbGFzcz1cInJ0ZS1zdGVwcGVyXCIgW2F0dHIuZGF0YS1vcmllbnRhdGlvbl09XCJvcmllbnRhdGlvbigpXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc3RlcCBvZiBzdGVwcygpOyBsZXQgaW5kZXggPSBpbmRleFwiPlxuICAgICAgPGxpXG4gICAgICAgICNzdGVwXG4gICAgICAgIGNsYXNzPVwicnRlLXN0ZXBwZXItaXRlbVwiXG4gICAgICAgIFthdHRyLmRhdGEtY29tcGxldGlvbi1zdGF0ZV09XCJzdGVwLmNvbXBsZXRpb25TdGF0ZVwiXG4gICAgICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJpc1N0ZXBBY3RpdmUoc3RlcC5pZCkgPyAnc3RlcCcgOiB1bmRlZmluZWRcIlxuICAgICAgICBbYXR0ci5kYXRhLWFjdGl2ZV09XCJpc1N0ZXBBY3RpdmUoc3RlcC5pZClcIlxuICAgICAgICBbYXR0ci5kYXRhLW9yaWVudGF0aW9uXT1cIm9yaWVudGF0aW9uKClcIlxuICAgICAgICBbYXR0ci5kYXRhLWNsaWNrYWJsZV09XCJpc1N0ZXBDbGlja2FibGUoc3RlcClcIlxuICAgICAgICAoa2V5ZG93bik9XCJoYW5kbGVLZXlEb3duKCRldmVudClcIlxuICAgICAgPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJydGUtc3RlcHBlci1idXR0b25cIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cImlzU3RlcEFjdGl2ZShzdGVwLmlkKSA/IDAgOiAtMVwiXG4gICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiaXNTdGVwRm9jdXNhYmxlKHN0ZXApID8gdW5kZWZpbmVkIDogdHJ1ZVwiXG4gICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVN0ZXBDbGljayhzdGVwKVwiXG4gICAgICAgID5cbiAgICAgICAgICBAaWYgKHN0ZXAuY29tcGxldGlvblN0YXRlID09PSBcImNvbXBsZXRlXCIgJiYgIWlzU3RlcEFjdGl2ZShzdGVwLmlkKSkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJ0ZS1zdGVwcGVyLWNvbXBsZXRlLWluZGljYXRvclwiPlxuICAgICAgICAgICAgICA8cnRlLWljb24gbmFtZT1cImNoZWNrXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgW3NpemVdPVwiaWNvblNpemVbJ20nXVwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJydGUtc3RlcHBlci1udW1iZXJcIiBbYXR0ci5kYXRhLWNvbXBsZXRpb24tc3RhdGVdPVwic3RlcC5jb21wbGV0aW9uU3RhdGVcIj5cbiAgICAgICAgICAgICAgPHNwYW4+e3sgaW5kZXggKyAxIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicnRlLXN0ZXBwZXItbmFtZVwiPnt7IHN0ZXAubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2xpPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImluZGV4IDwgc3RlcHMoKS5sZW5ndGggLSAxXCI+XG4gICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlXCI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJydGUtc3RlcC1zZXBhcmF0b3JcIlxuICAgICAgICAgICAgcm9sZT1cInNlcGFyYXRvclwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLW9yaWVudGF0aW9uXT1cIm9yaWVudGF0aW9uKClcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1jb21wbGV0ZV09XCJzdGVwLmNvbXBsZXRpb25TdGF0ZSA9PT0gJ2NvbXBsZXRlJ1wiXG4gICAgICAgICAgPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L29sPlxuPC9uYXY+XG4iXX0=