@clr/angular 17.3.0 → 17.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 (133) hide show
  1. package/accordion/accordion-panel.d.ts +0 -3
  2. package/accordion/stepper/models/stepper.model.d.ts +3 -0
  3. package/accordion/stepper/providers/stepper.service.d.ts +2 -0
  4. package/accordion/stepper/step-button.d.ts +2 -0
  5. package/accordion/stepper/stepper-panel.d.ts +3 -2
  6. package/clarity.api.md +64 -35
  7. package/data/datagrid/built-in/filters/datagrid-numeric-filter.d.ts +5 -1
  8. package/data/datagrid/datagrid-action-overflow.d.ts +2 -3
  9. package/data/datagrid/datagrid-column.d.ts +7 -3
  10. package/data/datagrid/datagrid-hideable-column.d.ts +0 -1
  11. package/data/datagrid/datagrid-items.d.ts +0 -1
  12. package/data/datagrid/datagrid-row.d.ts +0 -2
  13. package/data/datagrid/datagrid.d.ts +1 -3
  14. package/data/datagrid/providers/selection.d.ts +1 -2
  15. package/data/datagrid/providers/table-size.service.d.ts +1 -1
  16. package/data/datagrid/render/header-renderer.d.ts +0 -1
  17. package/data/datagrid/render/main-renderer.d.ts +5 -3
  18. package/data/tree-view/tree.d.ts +5 -1
  19. package/emphasis/alert/alert.d.ts +1 -1
  20. package/esm2020/accordion/accordion-panel.mjs +3 -6
  21. package/esm2020/accordion/stepper/models/stepper.model.mjs +16 -1
  22. package/esm2020/accordion/stepper/providers/stepper.service.mjs +12 -1
  23. package/esm2020/accordion/stepper/step-button.mjs +13 -3
  24. package/esm2020/accordion/stepper/stepper-panel.mjs +5 -7
  25. package/esm2020/data/datagrid/built-in/filters/datagrid-numeric-filter.mjs +79 -47
  26. package/esm2020/data/datagrid/datagrid-action-overflow.mjs +8 -9
  27. package/esm2020/data/datagrid/datagrid-column.mjs +18 -8
  28. package/esm2020/data/datagrid/datagrid-detail-registerer.mjs +3 -3
  29. package/esm2020/data/datagrid/datagrid-hideable-column.mjs +3 -4
  30. package/esm2020/data/datagrid/datagrid-if-detail.mjs +2 -2
  31. package/esm2020/data/datagrid/datagrid-items.mjs +2 -3
  32. package/esm2020/data/datagrid/datagrid-pagination.mjs +2 -2
  33. package/esm2020/data/datagrid/datagrid-row.mjs +4 -6
  34. package/esm2020/data/datagrid/datagrid-virtual-scroll.directive.mjs +5 -5
  35. package/esm2020/data/datagrid/datagrid.mjs +19 -21
  36. package/esm2020/data/datagrid/providers/selection.mjs +11 -12
  37. package/esm2020/data/datagrid/providers/table-size.service.mjs +1 -1
  38. package/esm2020/data/datagrid/render/header-renderer.mjs +2 -3
  39. package/esm2020/data/datagrid/render/main-renderer.mjs +38 -20
  40. package/esm2020/data/tree-view/recursive-children.mjs +3 -3
  41. package/esm2020/data/tree-view/tree-node.mjs +4 -4
  42. package/esm2020/data/tree-view/tree.mjs +24 -11
  43. package/esm2020/emphasis/alert/alert.mjs +1 -1
  44. package/esm2020/forms/combobox/combobox-container.mjs +1 -1
  45. package/esm2020/forms/combobox/combobox.mjs +2 -2
  46. package/esm2020/forms/combobox/option-items.directive.mjs +2 -3
  47. package/esm2020/forms/combobox/option.mjs +2 -2
  48. package/esm2020/forms/combobox/providers/combobox-focus-handler.service.mjs +1 -1
  49. package/esm2020/forms/common/abstract-container.mjs +3 -3
  50. package/esm2020/forms/common/control.mjs +1 -1
  51. package/esm2020/forms/common/if-control-state/abstract-if-state.mjs +3 -3
  52. package/esm2020/forms/common/if-control-state/if-control-state.service.mjs +2 -3
  53. package/esm2020/forms/common/label.mjs +1 -1
  54. package/esm2020/forms/common/wrapped-control.mjs +3 -3
  55. package/esm2020/forms/datalist/datalist-container.mjs +2 -3
  56. package/esm2020/forms/datalist/datalist-input.mjs +2 -2
  57. package/esm2020/forms/datepicker/calendar.mjs +1 -1
  58. package/esm2020/forms/datepicker/date-container.mjs +4 -5
  59. package/esm2020/forms/datepicker/providers/date-io.service.mjs +3 -4
  60. package/esm2020/forms/datepicker/providers/datepicker-enabled.service.mjs +2 -2
  61. package/esm2020/forms/datepicker/providers/datepicker-focus.service.mjs +1 -1
  62. package/esm2020/forms/input/input.mjs +1 -1
  63. package/esm2020/forms/password/password-container.mjs +2 -2
  64. package/esm2020/forms/password/password.mjs +3 -4
  65. package/esm2020/forms/radio/radio.mjs +1 -1
  66. package/esm2020/forms/range/range.mjs +1 -1
  67. package/esm2020/forms/select/select.mjs +1 -1
  68. package/esm2020/forms/textarea/textarea.mjs +1 -1
  69. package/esm2020/layout/main-container/main-container.mjs +1 -1
  70. package/esm2020/layout/nav/header.mjs +3 -3
  71. package/esm2020/layout/nav/nav-level.mjs +5 -3
  72. package/esm2020/layout/tabs/tab-link.directive.mjs +4 -6
  73. package/esm2020/layout/tabs/tabs.mjs +1 -1
  74. package/esm2020/layout/vertical-nav/vertical-nav-group.mjs +8 -9
  75. package/esm2020/layout/vertical-nav/vertical-nav-icon.mjs +2 -2
  76. package/esm2020/layout/vertical-nav/vertical-nav.mjs +2 -2
  77. package/esm2020/modal/index.mjs +2 -1
  78. package/esm2020/modal/modal-body.mjs +4 -4
  79. package/esm2020/modal/modal-configuration.service.mjs +4 -3
  80. package/esm2020/modal/modal.module.mjs +2 -4
  81. package/esm2020/popover/common/abstract-popover.mjs +1 -1
  82. package/esm2020/popover/dropdown/dropdown.mjs +3 -4
  83. package/esm2020/popover/dropdown/providers/dropdown-focus-handler.service.mjs +2 -2
  84. package/esm2020/popover/signpost/signpost-content.mjs +2 -3
  85. package/esm2020/popover/tooltip/tooltip-trigger.mjs +2 -3
  86. package/esm2020/utils/conditional/if-active.directive.mjs +2 -2
  87. package/esm2020/utils/conditional/if-expanded.directive.mjs +2 -2
  88. package/esm2020/utils/conditional/if-open.directive.mjs +2 -2
  89. package/esm2020/utils/focus/focus-on-view-init/focus-on-view-init.mjs +4 -4
  90. package/esm2020/utils/focus/key-focus/key-focus.mjs +1 -1
  91. package/esm2020/utils/i18n/common-strings.default.mjs +7 -1
  92. package/esm2020/utils/i18n/common-strings.interface.mjs +1 -1
  93. package/esm2020/utils/popover/popover-anchor.mjs +1 -1
  94. package/esm2020/utils/popover/popover-content.mjs +10 -4
  95. package/esm2020/utils/popover/popover-open-close-button.mjs +2 -2
  96. package/esm2020/wizard/providers/wizard-navigation.service.mjs +8 -8
  97. package/esm2020/wizard/wizard-stepnav-item.mjs +23 -9
  98. package/fesm2015/clr-angular.mjs +358 -249
  99. package/fesm2015/clr-angular.mjs.map +1 -1
  100. package/fesm2020/clr-angular.mjs +358 -249
  101. package/fesm2020/clr-angular.mjs.map +1 -1
  102. package/forms/combobox/combobox-container.d.ts +1 -1
  103. package/forms/combobox/option-items.directive.d.ts +0 -1
  104. package/forms/combobox/providers/combobox-focus-handler.service.d.ts +1 -1
  105. package/forms/common/control.d.ts +1 -1
  106. package/forms/common/if-control-state/if-control-state.service.d.ts +0 -1
  107. package/forms/common/label.d.ts +1 -1
  108. package/forms/common/wrapped-control.d.ts +3 -3
  109. package/forms/datalist/datalist-container.d.ts +0 -1
  110. package/forms/datepicker/calendar.d.ts +1 -1
  111. package/forms/datepicker/date-container.d.ts +1 -2
  112. package/forms/datepicker/providers/date-io.service.d.ts +1 -2
  113. package/forms/datepicker/providers/datepicker-focus.service.d.ts +1 -1
  114. package/forms/input/input.d.ts +1 -1
  115. package/forms/password/password.d.ts +0 -1
  116. package/forms/radio/radio.d.ts +1 -1
  117. package/forms/range/range.d.ts +1 -1
  118. package/forms/select/select.d.ts +1 -1
  119. package/forms/textarea/textarea.d.ts +1 -1
  120. package/layout/main-container/main-container.d.ts +1 -1
  121. package/layout/tabs/tab-link.directive.d.ts +0 -2
  122. package/layout/tabs/tabs.d.ts +1 -1
  123. package/layout/vertical-nav/vertical-nav-group.d.ts +1 -2
  124. package/modal/index.d.ts +1 -0
  125. package/package.json +2 -2
  126. package/popover/common/abstract-popover.d.ts +2 -2
  127. package/popover/dropdown/dropdown.d.ts +0 -1
  128. package/popover/signpost/signpost-content.d.ts +0 -1
  129. package/popover/tooltip/tooltip-trigger.d.ts +0 -1
  130. package/utils/focus/key-focus/key-focus.d.ts +1 -1
  131. package/utils/i18n/common-strings.interface.d.ts +14 -0
  132. package/utils/popover/popover-anchor.d.ts +1 -1
  133. package/utils/popover/popover-content.d.ts +1 -0
@@ -1,5 +1,6 @@
1
1
  import { AfterContentInit, AfterViewChecked, AfterViewInit, ElementRef, NgZone, OnDestroy, Renderer2 } from '@angular/core';
2
2
  import { DomAdapter } from '../../../utils/dom-adapter/dom-adapter';
3
+ import { ClrDatagrid } from '../datagrid';
3
4
  import { ColumnsService } from '../providers/columns.service';
4
5
  import { DetailService } from '../providers/detail.service';
5
6
  import { Items } from '../providers/items';
@@ -11,13 +12,12 @@ import { DatagridRenderOrganizer } from './render-organizer';
11
12
  import * as i0 from "@angular/core";
12
13
  export declare const domAdapterFactory: (platformId: any) => DomAdapter | NoopDomAdapter;
13
14
  export declare class DatagridMainRenderer implements AfterContentInit, AfterViewInit, AfterViewChecked, OnDestroy {
15
+ private datagrid;
14
16
  private organizer;
15
17
  private items;
16
18
  private page;
17
- private domAdapter;
18
19
  private el;
19
20
  private renderer;
20
- private detailService;
21
21
  private tableSizeService;
22
22
  private columnsService;
23
23
  private ngZone;
@@ -33,7 +33,7 @@ export declare class DatagridMainRenderer implements AfterContentInit, AfterView
33
33
  * 2) When rows are lazily loaded for the first time
34
34
  */
35
35
  private columnsSizesStable;
36
- constructor(organizer: DatagridRenderOrganizer, items: Items, page: Page, domAdapter: DomAdapter, el: ElementRef<HTMLElement>, renderer: Renderer2, detailService: DetailService, tableSizeService: TableSizeService, columnsService: ColumnsService, ngZone: NgZone, keyNavigation: KeyNavigationGridController);
36
+ constructor(datagrid: ClrDatagrid, organizer: DatagridRenderOrganizer, items: Items, page: Page, el: ElementRef<HTMLElement>, renderer: Renderer2, detailService: DetailService, tableSizeService: TableSizeService, columnsService: ColumnsService, ngZone: NgZone, keyNavigation: KeyNavigationGridController);
37
37
  ngOnInit(): void;
38
38
  ngAfterContentInit(): void;
39
39
  ngAfterViewInit(): void;
@@ -63,6 +63,8 @@ export declare class DatagridMainRenderer implements AfterContentInit, AfterView
63
63
  * Triggers a whole re-rendring cycle to set column sizes, if needed.
64
64
  */
65
65
  private stabilizeColumns;
66
+ private checkAndUpdateVisibility;
67
+ private updateColumnSeparatorsVisibility;
66
68
  static ɵfac: i0.ɵɵFactoryDeclaration<DatagridMainRenderer, never>;
67
69
  static ɵdir: i0.ɵɵDirectiveDeclaration<DatagridMainRenderer, "clr-datagrid", never, {}, {}, ["headers", "rows"], never, false, never>;
68
70
  }
@@ -5,13 +5,17 @@ import * as i0 from "@angular/core";
5
5
  export declare class ClrTree<T> implements AfterContentInit, OnDestroy {
6
6
  featuresService: TreeFeaturesService<T>;
7
7
  private focusManagerService;
8
+ private renderer;
9
+ private el;
8
10
  private rootNodes;
9
11
  private subscriptions;
10
- constructor(featuresService: TreeFeaturesService<T>, focusManagerService: TreeFocusManagerService<T>, { nativeElement }: ElementRef<HTMLElement>, renderer: Renderer2, ngZone: NgZone);
12
+ private _isMultiSelectable;
13
+ constructor(featuresService: TreeFeaturesService<T>, focusManagerService: TreeFocusManagerService<T>, renderer: Renderer2, el: ElementRef<HTMLElement>, ngZone: NgZone);
11
14
  set lazy(value: boolean);
12
15
  get isMultiSelectable(): boolean;
13
16
  ngAfterContentInit(): void;
14
17
  ngOnDestroy(): void;
18
+ private setMultiSelectable;
15
19
  private setRootNodes;
16
20
  static ɵfac: i0.ɵɵFactoryDeclaration<ClrTree<any>, never>;
17
21
  static ɵcmp: i0.ɵɵComponentDeclaration<ClrTree<any>, "clr-tree", never, { "lazy": "clrLazy"; }, {}, ["rootNodes"], ["*"], false, never>;
@@ -20,7 +20,7 @@ export declare class ClrAlert implements OnInit, OnDestroy {
20
20
  private subscriptions;
21
21
  private _isLightweight;
22
22
  private _origAlertType;
23
- constructor(iconService: AlertIconAndTypesService, cdr: ChangeDetectorRef, multiAlertService: MultiAlertService, commonStrings: ClrCommonStringsService, renderer: Renderer2, hostElement: ElementRef);
23
+ constructor(iconService: AlertIconAndTypesService, cdr: ChangeDetectorRef, multiAlertService: MultiAlertService, commonStrings: ClrCommonStringsService, renderer: Renderer2, hostElement: ElementRef<HTMLElement>);
24
24
  get isLightweight(): boolean;
25
25
  set isLightweight(val: boolean);
26
26
  get alertType(): string;
@@ -9,7 +9,6 @@ import { tap } from 'rxjs/operators';
9
9
  import { IfExpandService } from '../utils/conditional/if-expanded.service';
10
10
  import { uniqueIdFactory } from '../utils/id-generator/id-generator.service';
11
11
  import { ClrAccordionDescription } from './accordion-description';
12
- import { AccordionStatus } from './enums/accordion-status.enum';
13
12
  import { panelAnimation } from './utils/animation';
14
13
  import * as i0 from "@angular/core";
15
14
  import * as i1 from "../utils/i18n/common-strings.service";
@@ -26,8 +25,6 @@ export class ClrAccordionPanel {
26
25
  this.disabled = false;
27
26
  this.panelOpen = false;
28
27
  this.panelOpenChange = new EventEmitter();
29
- this.AccordionStatus = AccordionStatus;
30
- this.isAccordion = true;
31
28
  this._id = uniqueIdFactory();
32
29
  }
33
30
  get id() {
@@ -103,10 +100,10 @@ export class ClrAccordionPanel {
103
100
  }
104
101
  }
105
102
  ClrAccordionPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrAccordionPanel, deps: [{ token: i1.ClrCommonStringsService }, { token: i2.AccordionService }, { token: i3.IfExpandService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
106
- ClrAccordionPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrAccordionPanel, selector: "clr-accordion-panel", inputs: { disabled: ["clrAccordionPanelDisabled", "disabled"], panelOpen: ["clrAccordionPanelOpen", "panelOpen"] }, outputs: { panelOpenChange: "clrAccordionPanelOpenChange" }, host: { properties: { "class.clr-accordion-panel": "true", "class.clr-accordion-panel-disabled": "this.disabled" } }, providers: [IfExpandService], queries: [{ propertyName: "accordionDescription", predicate: ClrAccordionDescription }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"panel | async; let panel\">\n <div [ngClass]=\"getPanelStateClasses(panel)\">\n <div class=\"clr-accordion-header\">\n <button\n type=\"button\"\n class=\"clr-accordion-header-button\"\n (click)=\"togglePanel()\"\n [id]=\"getAccordionHeaderId(panel.templateId)\"\n [disabled]=\"isAccordion && panel.disabled\"\n [attr.aria-disabled]=\"!isAccordion && panel.disabled\"\n [attr.aria-controls]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-expanded]=\"panel.open\"\n [class.clr-accordion-header-has-description]=\"(accordionDescription.changes | async)?.length || accordionDescription.length\"\n #headerButton\n >\n <span class=\"clr-accordion-status\">\n <cds-icon shape=\"angle\" direction=\"right\" class=\"clr-accordion-angle\"></cds-icon>\n <span class=\"clr-accordion-number\">{{panelNumber}}.</span>\n <cds-icon status=\"danger\" shape=\"exclamation-circle\" class=\"clr-accordion-error-icon\"></cds-icon>\n <cds-icon status=\"success\" shape=\"check-circle\" class=\"clr-accordion-complete-icon\"></cds-icon>\n </span>\n <ng-content select=\"clr-accordion-title, clr-step-title\"></ng-content>\n <ng-content select=\"clr-accordion-description, clr-step-description\"></ng-content>\n </button>\n <div class=\"clr-sr-only\" role=\"status\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\"> {{ stepErrorText(panelNumber)}} </ng-container>\n <ng-container *ngIf=\"panel.status === AccordionStatus.Complete\">\n {{ stepCompleteText(panelNumber)}}\n </ng-container>\n </div>\n </div>\n <div\n @skipInitialRender\n role=\"region\"\n class=\"clr-accordion-content-region\"\n [id]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-hidden]=\"!panel.open\"\n [attr.aria-labelledby]=\"getAccordionHeaderId(panel.templateId)\"\n >\n <div\n *ngIf=\"panel.open\"\n @toggle\n (@toggle.done)=\"collapsePanelOnAnimationDone(panel)\"\n class=\"clr-accordion-content\"\n >\n <div class=\"clr-accordion-inner-content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.CdsIconCustomTag, selector: "cds-icon" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], animations: panelAnimation, changeDetection: i0.ChangeDetectionStrategy.OnPush });
103
+ ClrAccordionPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrAccordionPanel, selector: "clr-accordion-panel", inputs: { disabled: ["clrAccordionPanelDisabled", "disabled"], panelOpen: ["clrAccordionPanelOpen", "panelOpen"] }, outputs: { panelOpenChange: "clrAccordionPanelOpenChange" }, host: { properties: { "class.clr-accordion-panel": "true", "class.clr-accordion-panel-disabled": "this.disabled" } }, providers: [IfExpandService], queries: [{ propertyName: "accordionDescription", predicate: ClrAccordionDescription }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"panel | async; let panel\">\n <div [ngClass]=\"getPanelStateClasses(panel)\">\n <div class=\"clr-accordion-header\">\n <button\n type=\"button\"\n class=\"clr-accordion-header-button\"\n (click)=\"togglePanel()\"\n [id]=\"getAccordionHeaderId(panel.templateId)\"\n [disabled]=\"panel.disabled\"\n [attr.aria-controls]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-expanded]=\"panel.open\"\n [class.clr-accordion-header-has-description]=\"(accordionDescription.changes | async)?.length || accordionDescription.length\"\n #headerButton\n >\n <span class=\"clr-accordion-status\">\n <cds-icon shape=\"angle\" direction=\"right\" class=\"clr-accordion-angle\"></cds-icon>\n </span>\n <ng-content select=\"clr-accordion-title, clr-step-title\"></ng-content>\n <ng-content select=\"clr-accordion-description, clr-step-description\"></ng-content>\n </button>\n </div>\n <div\n @skipInitialRender\n role=\"region\"\n class=\"clr-accordion-content-region\"\n [id]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-hidden]=\"!panel.open\"\n [attr.aria-labelledby]=\"getAccordionHeaderId(panel.templateId)\"\n >\n <div\n *ngIf=\"panel.open\"\n @toggle\n (@toggle.done)=\"collapsePanelOnAnimationDone(panel)\"\n class=\"clr-accordion-content\"\n >\n <div class=\"clr-accordion-inner-content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.CdsIconCustomTag, selector: "cds-icon" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], animations: panelAnimation, changeDetection: i0.ChangeDetectionStrategy.OnPush });
107
104
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrAccordionPanel, decorators: [{
108
105
  type: Component,
109
- args: [{ selector: 'clr-accordion-panel', host: { '[class.clr-accordion-panel]': 'true' }, changeDetection: ChangeDetectionStrategy.OnPush, animations: panelAnimation, providers: [IfExpandService], template: "<ng-container *ngIf=\"panel | async; let panel\">\n <div [ngClass]=\"getPanelStateClasses(panel)\">\n <div class=\"clr-accordion-header\">\n <button\n type=\"button\"\n class=\"clr-accordion-header-button\"\n (click)=\"togglePanel()\"\n [id]=\"getAccordionHeaderId(panel.templateId)\"\n [disabled]=\"isAccordion && panel.disabled\"\n [attr.aria-disabled]=\"!isAccordion && panel.disabled\"\n [attr.aria-controls]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-expanded]=\"panel.open\"\n [class.clr-accordion-header-has-description]=\"(accordionDescription.changes | async)?.length || accordionDescription.length\"\n #headerButton\n >\n <span class=\"clr-accordion-status\">\n <cds-icon shape=\"angle\" direction=\"right\" class=\"clr-accordion-angle\"></cds-icon>\n <span class=\"clr-accordion-number\">{{panelNumber}}.</span>\n <cds-icon status=\"danger\" shape=\"exclamation-circle\" class=\"clr-accordion-error-icon\"></cds-icon>\n <cds-icon status=\"success\" shape=\"check-circle\" class=\"clr-accordion-complete-icon\"></cds-icon>\n </span>\n <ng-content select=\"clr-accordion-title, clr-step-title\"></ng-content>\n <ng-content select=\"clr-accordion-description, clr-step-description\"></ng-content>\n </button>\n <div class=\"clr-sr-only\" role=\"status\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\"> {{ stepErrorText(panelNumber)}} </ng-container>\n <ng-container *ngIf=\"panel.status === AccordionStatus.Complete\">\n {{ stepCompleteText(panelNumber)}}\n </ng-container>\n </div>\n </div>\n <div\n @skipInitialRender\n role=\"region\"\n class=\"clr-accordion-content-region\"\n [id]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-hidden]=\"!panel.open\"\n [attr.aria-labelledby]=\"getAccordionHeaderId(panel.templateId)\"\n >\n <div\n *ngIf=\"panel.open\"\n @toggle\n (@toggle.done)=\"collapsePanelOnAnimationDone(panel)\"\n class=\"clr-accordion-content\"\n >\n <div class=\"clr-accordion-inner-content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n" }]
106
+ args: [{ selector: 'clr-accordion-panel', host: { '[class.clr-accordion-panel]': 'true' }, changeDetection: ChangeDetectionStrategy.OnPush, animations: panelAnimation, providers: [IfExpandService], template: "<ng-container *ngIf=\"panel | async; let panel\">\n <div [ngClass]=\"getPanelStateClasses(panel)\">\n <div class=\"clr-accordion-header\">\n <button\n type=\"button\"\n class=\"clr-accordion-header-button\"\n (click)=\"togglePanel()\"\n [id]=\"getAccordionHeaderId(panel.templateId)\"\n [disabled]=\"panel.disabled\"\n [attr.aria-controls]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-expanded]=\"panel.open\"\n [class.clr-accordion-header-has-description]=\"(accordionDescription.changes | async)?.length || accordionDescription.length\"\n #headerButton\n >\n <span class=\"clr-accordion-status\">\n <cds-icon shape=\"angle\" direction=\"right\" class=\"clr-accordion-angle\"></cds-icon>\n </span>\n <ng-content select=\"clr-accordion-title, clr-step-title\"></ng-content>\n <ng-content select=\"clr-accordion-description, clr-step-description\"></ng-content>\n </button>\n </div>\n <div\n @skipInitialRender\n role=\"region\"\n class=\"clr-accordion-content-region\"\n [id]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-hidden]=\"!panel.open\"\n [attr.aria-labelledby]=\"getAccordionHeaderId(panel.templateId)\"\n >\n <div\n *ngIf=\"panel.open\"\n @toggle\n (@toggle.done)=\"collapsePanelOnAnimationDone(panel)\"\n class=\"clr-accordion-content\"\n >\n <div class=\"clr-accordion-inner-content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n" }]
110
107
  }], ctorParameters: function () { return [{ type: i1.ClrCommonStringsService }, { type: i2.AccordionService }, { type: i3.IfExpandService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { disabled: [{
111
108
  type: Input,
112
109
  args: ['clrAccordionPanelDisabled']
@@ -123,4 +120,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
123
120
  type: ContentChildren,
124
121
  args: [ClrAccordionDescription]
125
122
  }] } });
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLXBhbmVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvYWNjb3JkaW9uL2FjY29yZGlvbi1wYW5lbC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2FjY29yZGlvbi9hY2NvcmRpb24tcGFuZWwuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUVILE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBR2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7OztBQVVuRCxNQUFNLE9BQU8saUJBQWlCO0lBZ0I1QixZQUNTLGFBQXNDLEVBQ3JDLGdCQUFrQyxFQUNsQyxlQUFnQyxFQUNoQyxHQUFzQjtRQUh2QixrQkFBYSxHQUFiLGFBQWEsQ0FBeUI7UUFDckMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFuQnVELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDeEUsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVYLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUk1RSxvQkFBZSxH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LFdBQVc7dUJBQUMsb0NBQW9DO2dCQUNyRCxTQUFTO3NCQUF4QyxLQUFLO3VCQUFDLHVCQUF1QjtnQkFFUyxlQUFlO3NCQUFyRCxNQUFNO3VCQUFDLDZCQUE2QjtnQkFFSyxvQkFBb0I7c0JBQTdELGVBQWU7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDI0IEJyb2FkY29tLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhlIHRlcm0gXCJCcm9hZGNvbVwiIHJlZmVycyB0byBCcm9hZGNvbSBJbmMuIGFuZC9vciBpdHMgc3Vic2lkaWFyaWVzLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgSWZFeHBhbmRTZXJ2aWNlIH0gZnJvbSAnLi4vdXRpbHMvY29uZGl0aW9uYWwvaWYtZXhwYW5kZWQuc2VydmljZSc7XG5pbXBvcnQgeyBDbHJDb21tb25TdHJpbmdzU2VydmljZSB9IGZyb20gJy4uL3V0aWxzL2kxOG4vY29tbW9uLXN0cmluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyB1bmlxdWVJZEZhY3RvcnkgfSBmcm9tICcuLi91dGlscy9pZC1nZW5lcmF0b3IvaWQtZ2VuZXJhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2xyQWNjb3JkaW9uRGVzY3JpcHRpb24gfSBmcm9tICcuL2FjY29yZGlvbi1kZXNjcmlwdGlvbic7XG5pbXBvcnQgeyBBY2NvcmRpb25TdGF0dXMgfSBmcm9tICcuL2VudW1zL2FjY29yZGlvbi1zdGF0dXMuZW51bSc7XG5pbXBvcnQgeyBBY2NvcmRpb25QYW5lbE1vZGVsIH0gZnJvbSAnLi9tb2RlbHMvYWNjb3JkaW9uLm1vZGVsJztcbmltcG9ydCB7IEFjY29yZGlvblNlcnZpY2UgfSBmcm9tICcuL3Byb3ZpZGVycy9hY2NvcmRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBwYW5lbEFuaW1hdGlvbiB9IGZyb20gJy4vdXRpbHMvYW5pbWF0aW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2xyLWFjY29yZGlvbi1wYW5lbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hY2NvcmRpb24tcGFuZWwuaHRtbCcsXG4gIGhvc3Q6IHsgJ1tjbGFzcy5jbHItYWNjb3JkaW9uLXBhbmVsXSc6ICd0cnVlJyB9LFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgYW5pbWF0aW9uczogcGFuZWxBbmltYXRpb24sXG4gIHByb3ZpZGVyczogW0lmRXhwYW5kU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIENsckFjY29yZGlvblBhbmVsIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoJ2NsckFjY29yZGlvblBhbmVsRGlzYWJsZWQnKSBASG9zdEJpbmRpbmcoJ2NsYXNzLmNsci1hY2NvcmRpb24tcGFuZWwtZGlzYWJsZWQnKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoJ2NsckFjY29yZGlvblBhbmVsT3BlbicpIHBhbmVsT3BlbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoJ2NsckFjY29yZGlvblBhbmVsT3BlbkNoYW5nZScpIHBhbmVsT3BlbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBAQ29udGVudENoaWxkcmVuKENsckFjY29yZGlvbkRlc2NyaXB0aW9uKSBhY2NvcmRpb25EZXNjcmlwdGlvbjogUXVlcnlMaXN0PENsckFjY29yZGlvbkRlc2NyaXB0aW9uPjtcblxuICByZWFkb25seSBBY2NvcmRpb25TdGF0dXMgPSBBY2NvcmRpb25TdGF0dXM7XG5cbiAgaXNBY2NvcmRpb24gPSB0cnVlO1xuICBwYW5lbDogT2JzZXJ2YWJsZTxBY2NvcmRpb25QYW5lbE1vZGVsPjtcblxuICBwcml2YXRlIF9pZCA9IHVuaXF1ZUlkRmFjdG9yeSgpO1xuICBwcml2YXRlIF9wYW5lbEluZGV4OiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGNvbW1vblN0cmluZ3M6IENsckNvbW1vblN0cmluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWNjb3JkaW9uU2VydmljZTogQWNjb3JkaW9uU2VydmljZSxcbiAgICBwcml2YXRlIGlmRXhwYW5kU2VydmljZTogSWZFeHBhbmRTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG5cbiAgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2lkO1xuICB9XG4gIHNldCBpZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5faWQgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBwYW5lbE51bWJlcigpIHtcbiAgICByZXR1cm4gdGhpcy5fcGFuZWxJbmRleCArIDE7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnBhbmVsID0gdGhpcy5hY2NvcmRpb25TZXJ2aWNlLmdldFBhbmVsQ2hhbmdlcyh0aGlzLmlkKS5waXBlKHRhcChwYW5lbCA9PiB0aGlzLmVtaXRQYW5lbENoYW5nZShwYW5lbCkpKTtcbiAgICB0aGlzLmFjY29yZGlvblNlcnZpY2UuYWRkUGFuZWwodGhpcy5pZCwgdGhpcy5wYW5lbE9wZW4pO1xuICAgIHRoaXMuYWNjb3JkaW9uU2VydmljZS50b2dnbGVQYW5lbCh0aGlzLmlkLCB0aGlzLnBhbmVsT3Blbik7XG4gICAgdGhpcy5hY2NvcmRpb25TZXJ2aWNlLmRpc2FibGVQYW5lbCh0aGlzLmlkLCB0aGlzLmRpc2FibGVkKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAodGhpcy5wYW5lbCAmJiBjaGFuZ2VzLnBhbmVsT3BlbiAmJiBjaGFuZ2VzLnBhbmVsT3Blbi5jdXJyZW50VmFsdWUgIT09IGNoYW5nZXMucGFuZWxPcGVuLnByZXZpb3VzVmFsdWUpIHtcbiAgICAgIHRoaXMuYWNjb3JkaW9uU2VydmljZS50b2dnbGVQYW5lbCh0aGlzLmlkLCBjaGFuZ2VzLnBhbmVsT3Blbi5jdXJyZW50VmFsdWUpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnBhbmVsICYmIGNoYW5nZXMuZGlzYWJsZWQgJiYgY2hhbmdlcy5kaXNhYmxlZC5jdXJyZW50VmFsdWUgIT09IGNoYW5nZXMuZGlzYWJsZWQucHJldmlvdXNWYWx1ZSkge1xuICAgICAgdGhpcy5hY2NvcmRpb25TZXJ2aWNlLmRpc2FibGVQYW5lbCh0aGlzLmlkLCBjaGFuZ2VzLmRpc2FibGVkLmN1cnJlbnRWYWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlUGFuZWwoKSB7XG4gICAgdGhpcy5hY2NvcmRpb25TZXJ2aWNlLnRvZ2dsZVBhbmVsKHRoaXMuaWQpO1xuICB9XG5cbiAgY29sbGFwc2VQYW5lbE9uQW5pbWF0aW9uRG9uZShwYW5lbDogQWNjb3JkaW9uUGFuZWxNb2RlbCkge1xuICAgIGlmICghcGFuZWwub3Blbikge1xuICAgICAgdGhpcy5pZkV4cGFuZFNlcnZpY2UuZXhwYW5kZWQgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBnZXRQYW5lbFN0YXRlQ2xhc3NlcyhwYW5lbDogQWNjb3JkaW9uUGFuZWxNb2RlbCkge1xuICAgIHJldHVybiBgY2xyLWFjY29yZGlvbi1wYW5lbC0ke3BhbmVsLnN0YXR1c30gJHtwYW5lbC5vcGVuID8gJ2Nsci1hY2NvcmRpb24tcGFuZWwtb3BlbicgOiAnJ31gO1xuICB9XG5cbiAgZ2V0QWNjb3JkaW9uQ29udGVudElkKGlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gYGNsci1hY2NvcmRpb24tY29udGVudC0ke2lkfSdgO1xuICB9XG5cbiAgZ2V0QWNjb3JkaW9uSGVhZGVySWQoaWQ6IHN0cmluZykge1xuICAgIHJldHVybiBgY2xyLWFjY29yZGlvbi1oZWFkZXItJHtpZH1gO1xuICB9XG5cbiAgcHJvdGVjdGVkIHN0ZXBDb21wbGV0ZVRleHQocGFuZWxOdW1iZXI6IG51bWJlcikge1xuICAgIHJldHVybiB0aGlzLmNvbW1vblN0cmluZ3MucGFyc2UodGhpcy5jb21tb25TdHJpbmdzLmtleXMuc3RlcENvbXBsZXRlLCB7IFNURVA6IHBhbmVsTnVtYmVyLnRvU3RyaW5nKCkgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc3RlcEVycm9yVGV4dChwYW5lbE51bWJlcjogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHRoaXMuY29tbW9uU3RyaW5ncy5wYXJzZSh0aGlzLmNvbW1vblN0cmluZ3Mua2V5cy5zdGVwRXJyb3IsIHsgU1RFUDogcGFuZWxOdW1iZXIudG9TdHJpbmcoKSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdFBhbmVsQ2hhbmdlKHBhbmVsOiBBY2NvcmRpb25QYW5lbE1vZGVsKSB7XG4gICAgaWYgKHBhbmVsLmluZGV4ICE9PSB0aGlzLl9wYW5lbEluZGV4KSB7XG4gICAgICB0aGlzLl9wYW5lbEluZGV4ID0gcGFuZWwuaW5kZXg7XG4gICAgICAvLyBUaGUgd2hvbGUgY2hhaW4gb2YgdXBkYXRlcyBsZWFkaW5nIHRvIHRoaXMgbGluZSBzdGFydHMgaW4gYSBuZ0FmdGVyVmlld0luaXQgc3Vic2NyaXB0aW9uIGluIGFjY29yZGlvbi50cyxcbiAgICAgIC8vIGxpc3RlbmluZyBmb3IgRE9NIGNoYW5nZXMuIEl0IHNlZW1zIHRvIG9ubHkgZmFpbHMgaW4gdGVzdHMsIGJ1dCBhcyB0aGlzIGlzIG5vdCBhIGZyZXF1ZW50bHkgY2FsbGVkIGNvZGUsXG4gICAgICAvLyBJIHByZWZlciB0byBzdGF5IG9uIHRoZSBzYWZlIHNpZGUgYW5kIGluaXRpYXRlIGEgZGV0ZWN0aW9uIGN5Y2xlIGhlcmUuXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgaWYgKHBhbmVsLm9wZW4gIT09IHRoaXMucGFuZWxPcGVuKSB7XG4gICAgICB0aGlzLnBhbmVsT3BlbkNoYW5nZS5lbWl0KHBhbmVsLm9wZW4pO1xuICAgICAgLyoqXG4gICAgICAgKiBATm90ZTogdGhpcyBsaW5lIGJlbG93IGlzIG5lZWRlZCBiZWNhdXNlIHdlIGRvbid0IHdhbnQgdG8gdXNlIGFub3RoZXIgdmFsdWUgdG8gdHJhY2tcbiAgICAgICAqIGZvciBjaGFuZ2VzIG9mIHRoZSBwYW5lbC4gQmVjYXVzZSB3ZSB1c2UgQmVoYXZpb3JTdWJqZWN0IHRoaXMgZW1pdCBldmVudCBpcyB0cmlnZ2VyIG9uXG4gICAgICAgKiBpbml0ICh0aGF0IGlzIG5vdCBuZWVkZWQgLSB0aGVyZSBpcyBubyBjaGFuZ2Ugb2YgdGhlIG9yaWdpbmFsIHZhbHVlKSAtIGluIHNvbWUgY2FzZXMgdGhpc1xuICAgICAgICogbGVhZCB0byBkdXBsaWNhdGUgZXZlbnRzLlxuICAgICAgICpcbiAgICAgICAqIFRvIHByZXZlbnQgdGhpcyB3ZSB0cnkgdG8gZW1pdCBvbmx5IHdoZW4gdGhlIHZhbHVlIGlzIGNoYW5nZWQgYW5kIGtlZXAgdGhlIHZhbHVlIGluIHN5bmNcbiAgICAgICAqIGV2ZW4gdGhhdCBpcyB1c2VkIG9ubHkgaW50byB0aGUgSW5pdGlhbCBMaWZlY3ljbGUgKG5nT25Jbml0KS5cbiAgICAgICAqL1xuICAgICAgdGhpcy5wYW5lbE9wZW4gPSBwYW5lbC5vcGVuO1xuICAgIH1cblxuICAgIGlmIChwYW5lbC5vcGVuKSB7XG4gICAgICB0aGlzLmlmRXhwYW5kU2VydmljZS5leHBhbmRlZCA9IHRydWU7XG4gICAgfVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwicGFuZWwgfCBhc3luYzsgbGV0IHBhbmVsXCI+XG4gIDxkaXYgW25nQ2xhc3NdPVwiZ2V0UGFuZWxTdGF0ZUNsYXNzZXMocGFuZWwpXCI+XG4gICAgPGRpdiBjbGFzcz1cImNsci1hY2NvcmRpb24taGVhZGVyXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cImNsci1hY2NvcmRpb24taGVhZGVyLWJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJ0b2dnbGVQYW5lbCgpXCJcbiAgICAgICAgW2lkXT1cImdldEFjY29yZGlvbkhlYWRlcklkKHBhbmVsLnRlbXBsYXRlSWQpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImlzQWNjb3JkaW9uICYmIHBhbmVsLmRpc2FibGVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCIhaXNBY2NvcmRpb24gJiYgcGFuZWwuZGlzYWJsZWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImdldEFjY29yZGlvbkNvbnRlbnRJZChwYW5lbC50ZW1wbGF0ZUlkKVwiXG4gICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwicGFuZWwub3BlblwiXG4gICAgICAgIFtjbGFzcy5jbHItYWNjb3JkaW9uLWhlYWRlci1oYXMtZGVzY3JpcHRpb25dPVwiKGFjY29yZGlvbkRlc2NyaXB0aW9uLmNoYW5nZXMgfCBhc3luYyk/Lmxlbmd0aCB8fCBhY2NvcmRpb25EZXNjcmlwdGlvbi5sZW5ndGhcIlxuICAgICAgICAjaGVhZGVyQnV0dG9uXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY2xyLWFjY29yZGlvbi1zdGF0dXNcIj5cbiAgICAgICAgICA8Y2RzLWljb24gc2hhcGU9XCJhbmdsZVwiIGRpcmVjdGlvbj1cInJpZ2h0XCIgY2xhc3M9XCJjbHItYWNjb3JkaW9uLWFuZ2xlXCI+PC9jZHMtaWNvbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImNsci1hY2NvcmRpb24tbnVtYmVyXCI+e3twYW5lbE51bWJlcn19Ljwvc3Bhbj5cbiAgICAgICAgICA8Y2RzLWljb24gc3RhdHVzPVwiZGFuZ2VyXCIgc2hhcGU9XCJleGNsYW1hdGlvbi1jaXJjbGVcIiBjbGFzcz1cImNsci1hY2NvcmRpb24tZXJyb3ItaWNvblwiPjwvY2RzLWljb24+XG4gICAgICAgICAgPGNkcy1pY29uIHN0YXR1cz1cInN1Y2Nlc3NcIiBzaGFwZT1cImNoZWNrLWNpcmNsZVwiIGNsYXNzPVwiY2xyLWFjY29yZGlvbi1jb21wbGV0ZS1pY29uXCI+PC9jZHMtaWNvbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJjbHItYWNjb3JkaW9uLXRpdGxlLCBjbHItc3RlcC10aXRsZVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiY2xyLWFjY29yZGlvbi1kZXNjcmlwdGlvbiwgY2xyLXN0ZXAtZGVzY3JpcHRpb25cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjbHItc3Itb25seVwiIHJvbGU9XCJzdGF0dXNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBhbmVsLnN0YXR1cyA9PT0gQWNjb3JkaW9uU3RhdHVzLkVycm9yXCI+IHt7IHN0ZXBFcnJvclRleHQocGFuZWxOdW1iZXIpfX0gPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwYW5lbC5zdGF0dXMgPT09IEFjY29yZGlvblN0YXR1cy5Db21wbGV0ZVwiPlxuICAgICAgICAgIHt7IHN0ZXBDb21wbGV0ZVRleHQocGFuZWxOdW1iZXIpfX1cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBAc2tpcEluaXRpYWxSZW5kZXJcbiAgICAgIHJvbGU9XCJyZWdpb25cIlxuICAgICAgY2xhc3M9XCJjbHItYWNjb3JkaW9uLWNvbnRlbnQtcmVnaW9uXCJcbiAgICAgIFtpZF09XCJnZXRBY2NvcmRpb25Db250ZW50SWQocGFuZWwudGVtcGxhdGVJZClcIlxuICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiIXBhbmVsLm9wZW5cIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImdldEFjY29yZGlvbkhlYWRlcklkKHBhbmVsLnRlbXBsYXRlSWQpXCJcbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwicGFuZWwub3BlblwiXG4gICAgICAgIEB0b2dnbGVcbiAgICAgICAgKEB0b2dnbGUuZG9uZSk9XCJjb2xsYXBzZVBhbmVsT25BbmltYXRpb25Eb25lKHBhbmVsKVwiXG4gICAgICAgIGNsYXNzPVwiY2xyLWFjY29yZGlvbi1jb250ZW50XCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNsci1hY2NvcmRpb24taW5uZXItY29udGVudFwiPlxuICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLXBhbmVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvYWNjb3JkaW9uL2FjY29yZGlvbi1wYW5lbC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2FjY29yZGlvbi9hY2NvcmRpb24tcGFuZWwuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUVILE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7O0FBVW5ELE1BQU0sT0FBTyxpQkFBaUI7SUFhNUIsWUFDUyxhQUFzQyxFQUNyQyxnQkFBa0MsRUFDbEMsZUFBZ0MsRUFDaEMsR0FBc0I7UUFIdkIsa0JBQWEsR0FBYixhQUFhLENBQXlCO1FBQ3JDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBaEJ1RCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3hFLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFWCxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFNN0UsUUFBRyxHQUFHLGVBQWUsRUFBRSxDQUFDO0lBUTdCLENBQUM7SUFFSixJQUFJLEVBQUU7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LG9CQUFvQjtzQkFBN0QsZUFBZTt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjQgQnJvYWRjb20uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGUgdGVybSBcIkJyb2FkY29tXCIgcmVmZXJzIHRvIEJyb2FkY29tIEluYy4gYW5kL29yIGl0cyBzdWJzaWRpYXJpZXMuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBJZkV4cGFuZFNlcnZpY2UgfSBmcm9tICcuLi91dGlscy9jb25kaXRpb25hbC9pZi1leHBhbmRlZC5zZXJ2aWNlJztcbmltcG9ydCB7IENsckNvbW1vblN0cmluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vdXRpbHMvaTE4bi9jb21tb24tc3RyaW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IHVuaXF1ZUlkRmFjdG9yeSB9IGZyb20gJy4uL3V0aWxzL2lkLWdlbmVyYXRvci9pZC1nZW5lcmF0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBDbHJBY2NvcmRpb25EZXNjcmlwdGlvbiB9IGZyb20gJy4vYWNjb3JkaW9uLWRlc2NyaXB0aW9uJztcbmltcG9ydCB7IEFjY29yZGlvblBhbmVsTW9kZWwgfSBmcm9tICcuL21vZGVscy9hY2NvcmRpb24ubW9kZWwnO1xuaW1wb3J0IHsgQWNjb3JkaW9uU2VydmljZSB9IGZyb20gJy4vcHJvdmlkZXJzL2FjY29yZGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IHBhbmVsQW5pbWF0aW9uIH0gZnJvbSAnLi91dGlscy9hbmltYXRpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjbHItYWNjb3JkaW9uLXBhbmVsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjY29yZGlvbi1wYW5lbC5odG1sJyxcbiAgaG9zdDogeyAnW2NsYXNzLmNsci1hY2NvcmRpb24tcGFuZWxdJzogJ3RydWUnIH0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBhbmltYXRpb25zOiBwYW5lbEFuaW1hdGlvbixcbiAgcHJvdmlkZXJzOiBbSWZFeHBhbmRTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyQWNjb3JkaW9uUGFuZWwgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgnY2xyQWNjb3JkaW9uUGFuZWxEaXNhYmxlZCcpIEBIb3N0QmluZGluZygnY2xhc3MuY2xyLWFjY29yZGlvbi1wYW5lbC1kaXNhYmxlZCcpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgnY2xyQWNjb3JkaW9uUGFuZWxPcGVuJykgcGFuZWxPcGVuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgnY2xyQWNjb3JkaW9uUGFuZWxPcGVuQ2hhbmdlJykgcGFuZWxPcGVuQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oQ2xyQWNjb3JkaW9uRGVzY3JpcHRpb24pIGFjY29yZGlvbkRlc2NyaXB0aW9uOiBRdWVyeUxpc3Q8Q2xyQWNjb3JkaW9uRGVzY3JpcHRpb24+O1xuXG4gIHBhbmVsOiBPYnNlcnZhYmxlPEFjY29yZGlvblBhbmVsTW9kZWw+O1xuXG4gIHByaXZhdGUgX2lkID0gdW5pcXVlSWRGYWN0b3J5KCk7XG4gIHByaXZhdGUgX3BhbmVsSW5kZXg6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgY29tbW9uU3RyaW5nczogQ2xyQ29tbW9uU3RyaW5nc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBhY2NvcmRpb25TZXJ2aWNlOiBBY2NvcmRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgaWZFeHBhbmRTZXJ2aWNlOiBJZkV4cGFuZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuICBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5faWQ7XG4gIH1cbiAgc2V0IGlkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9pZCA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IHBhbmVsTnVtYmVyKCkge1xuICAgIHJldHVybiB0aGlzLl9wYW5lbEluZGV4ICsgMTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucGFuZWwgPSB0aGlzLmFjY29yZGlvblNlcnZpY2UuZ2V0UGFuZWxDaGFuZ2VzKHRoaXMuaWQpLnBpcGUodGFwKHBhbmVsID0+IHRoaXMuZW1pdFBhbmVsQ2hhbmdlKHBhbmVsKSkpO1xuICAgIHRoaXMuYWNjb3JkaW9uU2VydmljZS5hZGRQYW5lbCh0aGlzLmlkLCB0aGlzLnBhbmVsT3Blbik7XG4gICAgdGhpcy5hY2NvcmRpb25TZXJ2aWNlLnRvZ2dsZVBhbmVsKHRoaXMuaWQsIHRoaXMucGFuZWxPcGVuKTtcbiAgICB0aGlzLmFjY29yZGlvblNlcnZpY2UuZGlzYWJsZVBhbmVsKHRoaXMuaWQsIHRoaXMuZGlzYWJsZWQpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmICh0aGlzLnBhbmVsICYmIGNoYW5nZXMucGFuZWxPcGVuICYmIGNoYW5nZXMucGFuZWxPcGVuLmN1cnJlbnRWYWx1ZSAhPT0gY2hhbmdlcy5wYW5lbE9wZW4ucHJldmlvdXNWYWx1ZSkge1xuICAgICAgdGhpcy5hY2NvcmRpb25TZXJ2aWNlLnRvZ2dsZVBhbmVsKHRoaXMuaWQsIGNoYW5nZXMucGFuZWxPcGVuLmN1cnJlbnRWYWx1ZSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucGFuZWwgJiYgY2hhbmdlcy5kaXNhYmxlZCAmJiBjaGFuZ2VzLmRpc2FibGVkLmN1cnJlbnRWYWx1ZSAhPT0gY2hhbmdlcy5kaXNhYmxlZC5wcmV2aW91c1ZhbHVlKSB7XG4gICAgICB0aGlzLmFjY29yZGlvblNlcnZpY2UuZGlzYWJsZVBhbmVsKHRoaXMuaWQsIGNoYW5nZXMuZGlzYWJsZWQuY3VycmVudFZhbHVlKTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVQYW5lbCgpIHtcbiAgICB0aGlzLmFjY29yZGlvblNlcnZpY2UudG9nZ2xlUGFuZWwodGhpcy5pZCk7XG4gIH1cblxuICBjb2xsYXBzZVBhbmVsT25BbmltYXRpb25Eb25lKHBhbmVsOiBBY2NvcmRpb25QYW5lbE1vZGVsKSB7XG4gICAgaWYgKCFwYW5lbC5vcGVuKSB7XG4gICAgICB0aGlzLmlmRXhwYW5kU2VydmljZS5leHBhbmRlZCA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGdldFBhbmVsU3RhdGVDbGFzc2VzKHBhbmVsOiBBY2NvcmRpb25QYW5lbE1vZGVsKSB7XG4gICAgcmV0dXJuIGBjbHItYWNjb3JkaW9uLXBhbmVsLSR7cGFuZWwuc3RhdHVzfSAke3BhbmVsLm9wZW4gPyAnY2xyLWFjY29yZGlvbi1wYW5lbC1vcGVuJyA6ICcnfWA7XG4gIH1cblxuICBnZXRBY2NvcmRpb25Db250ZW50SWQoaWQ6IHN0cmluZykge1xuICAgIHJldHVybiBgY2xyLWFjY29yZGlvbi1jb250ZW50LSR7aWR9J2A7XG4gIH1cblxuICBnZXRBY2NvcmRpb25IZWFkZXJJZChpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGBjbHItYWNjb3JkaW9uLWhlYWRlci0ke2lkfWA7XG4gIH1cblxuICBwcm90ZWN0ZWQgc3RlcENvbXBsZXRlVGV4dChwYW5lbE51bWJlcjogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHRoaXMuY29tbW9uU3RyaW5ncy5wYXJzZSh0aGlzLmNvbW1vblN0cmluZ3Mua2V5cy5zdGVwQ29tcGxldGUsIHsgU1RFUDogcGFuZWxOdW1iZXIudG9TdHJpbmcoKSB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzdGVwRXJyb3JUZXh0KHBhbmVsTnVtYmVyOiBudW1iZXIpIHtcbiAgICByZXR1cm4gdGhpcy5jb21tb25TdHJpbmdzLnBhcnNlKHRoaXMuY29tbW9uU3RyaW5ncy5rZXlzLnN0ZXBFcnJvciwgeyBTVEVQOiBwYW5lbE51bWJlci50b1N0cmluZygpIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0UGFuZWxDaGFuZ2UocGFuZWw6IEFjY29yZGlvblBhbmVsTW9kZWwpIHtcbiAgICBpZiAocGFuZWwuaW5kZXggIT09IHRoaXMuX3BhbmVsSW5kZXgpIHtcbiAgICAgIHRoaXMuX3BhbmVsSW5kZXggPSBwYW5lbC5pbmRleDtcbiAgICAgIC8vIFRoZSB3aG9sZSBjaGFpbiBvZiB1cGRhdGVzIGxlYWRpbmcgdG8gdGhpcyBsaW5lIHN0YXJ0cyBpbiBhIG5nQWZ0ZXJWaWV3SW5pdCBzdWJzY3JpcHRpb24gaW4gYWNjb3JkaW9uLnRzLFxuICAgICAgLy8gbGlzdGVuaW5nIGZvciBET00gY2hhbmdlcy4gSXQgc2VlbXMgdG8gb25seSBmYWlscyBpbiB0ZXN0cywgYnV0IGFzIHRoaXMgaXMgbm90IGEgZnJlcXVlbnRseSBjYWxsZWQgY29kZSxcbiAgICAgIC8vIEkgcHJlZmVyIHRvIHN0YXkgb24gdGhlIHNhZmUgc2lkZSBhbmQgaW5pdGlhdGUgYSBkZXRlY3Rpb24gY3ljbGUgaGVyZS5cbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBpZiAocGFuZWwub3BlbiAhPT0gdGhpcy5wYW5lbE9wZW4pIHtcbiAgICAgIHRoaXMucGFuZWxPcGVuQ2hhbmdlLmVtaXQocGFuZWwub3Blbik7XG4gICAgICAvKipcbiAgICAgICAqIEBOb3RlOiB0aGlzIGxpbmUgYmVsb3cgaXMgbmVlZGVkIGJlY2F1c2Ugd2UgZG9uJ3Qgd2FudCB0byB1c2UgYW5vdGhlciB2YWx1ZSB0byB0cmFja1xuICAgICAgICogZm9yIGNoYW5nZXMgb2YgdGhlIHBhbmVsLiBCZWNhdXNlIHdlIHVzZSBCZWhhdmlvclN1YmplY3QgdGhpcyBlbWl0IGV2ZW50IGlzIHRyaWdnZXIgb25cbiAgICAgICAqIGluaXQgKHRoYXQgaXMgbm90IG5lZWRlZCAtIHRoZXJlIGlzIG5vIGNoYW5nZSBvZiB0aGUgb3JpZ2luYWwgdmFsdWUpIC0gaW4gc29tZSBjYXNlcyB0aGlzXG4gICAgICAgKiBsZWFkIHRvIGR1cGxpY2F0ZSBldmVudHMuXG4gICAgICAgKlxuICAgICAgICogVG8gcHJldmVudCB0aGlzIHdlIHRyeSB0byBlbWl0IG9ubHkgd2hlbiB0aGUgdmFsdWUgaXMgY2hhbmdlZCBhbmQga2VlcCB0aGUgdmFsdWUgaW4gc3luY1xuICAgICAgICogZXZlbiB0aGF0IGlzIHVzZWQgb25seSBpbnRvIHRoZSBJbml0aWFsIExpZmVjeWNsZSAobmdPbkluaXQpLlxuICAgICAgICovXG4gICAgICB0aGlzLnBhbmVsT3BlbiA9IHBhbmVsLm9wZW47XG4gICAgfVxuXG4gICAgaWYgKHBhbmVsLm9wZW4pIHtcbiAgICAgIHRoaXMuaWZFeHBhbmRTZXJ2aWNlLmV4cGFuZGVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJwYW5lbCB8IGFzeW5jOyBsZXQgcGFuZWxcIj5cbiAgPGRpdiBbbmdDbGFzc109XCJnZXRQYW5lbFN0YXRlQ2xhc3NlcyhwYW5lbClcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2xyLWFjY29yZGlvbi1oZWFkZXJcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiY2xyLWFjY29yZGlvbi1oZWFkZXItYnV0dG9uXCJcbiAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVBhbmVsKClcIlxuICAgICAgICBbaWRdPVwiZ2V0QWNjb3JkaW9uSGVhZGVySWQocGFuZWwudGVtcGxhdGVJZClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwicGFuZWwuZGlzYWJsZWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImdldEFjY29yZGlvbkNvbnRlbnRJZChwYW5lbC50ZW1wbGF0ZUlkKVwiXG4gICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwicGFuZWwub3BlblwiXG4gICAgICAgIFtjbGFzcy5jbHItYWNjb3JkaW9uLWhlYWRlci1oYXMtZGVzY3JpcHRpb25dPVwiKGFjY29yZGlvbkRlc2NyaXB0aW9uLmNoYW5nZXMgfCBhc3luYyk/Lmxlbmd0aCB8fCBhY2NvcmRpb25EZXNjcmlwdGlvbi5sZW5ndGhcIlxuICAgICAgICAjaGVhZGVyQnV0dG9uXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY2xyLWFjY29yZGlvbi1zdGF0dXNcIj5cbiAgICAgICAgICA8Y2RzLWljb24gc2hhcGU9XCJhbmdsZVwiIGRpcmVjdGlvbj1cInJpZ2h0XCIgY2xhc3M9XCJjbHItYWNjb3JkaW9uLWFuZ2xlXCI+PC9jZHMtaWNvbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJjbHItYWNjb3JkaW9uLXRpdGxlLCBjbHItc3RlcC10aXRsZVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiY2xyLWFjY29yZGlvbi1kZXNjcmlwdGlvbiwgY2xyLXN0ZXAtZGVzY3JpcHRpb25cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBAc2tpcEluaXRpYWxSZW5kZXJcbiAgICAgIHJvbGU9XCJyZWdpb25cIlxuICAgICAgY2xhc3M9XCJjbHItYWNjb3JkaW9uLWNvbnRlbnQtcmVnaW9uXCJcbiAgICAgIFtpZF09XCJnZXRBY2NvcmRpb25Db250ZW50SWQocGFuZWwudGVtcGxhdGVJZClcIlxuICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiIXBhbmVsLm9wZW5cIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImdldEFjY29yZGlvbkhlYWRlcklkKHBhbmVsLnRlbXBsYXRlSWQpXCJcbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwicGFuZWwub3BlblwiXG4gICAgICAgIEB0b2dnbGVcbiAgICAgICAgKEB0b2dnbGUuZG9uZSk9XCJjb2xsYXBzZVBhbmVsT25BbmltYXRpb25Eb25lKHBhbmVsKVwiXG4gICAgICAgIGNsYXNzPVwiY2xyLWFjY29yZGlvbi1jb250ZW50XCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNsci1hY2NvcmRpb24taW5uZXItY29udGVudFwiPlxuICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -32,6 +32,9 @@ export class StepperModel extends AccordionModel {
32
32
  this._panels[panelId].open = !this._panels[panelId].open;
33
33
  }
34
34
  }
35
+ navigateToPreviousPanel(currentPanelId) {
36
+ this.openPreviousPanel(this._panels[currentPanelId].id);
37
+ }
35
38
  navigateToNextPanel(currentPanelId, currentPanelValid = true) {
36
39
  if (currentPanelValid) {
37
40
  this.completePanel(currentPanelId);
@@ -75,6 +78,9 @@ export class StepperModel extends AccordionModel {
75
78
  getNextPanel(currentPanelId) {
76
79
  return this.panels.find(s => s.index === this._panels[currentPanelId].index + 1);
77
80
  }
81
+ getPreviousPanel(currentPanelId) {
82
+ return this.panels.find(s => s.index === this._panels[currentPanelId].index - 1);
83
+ }
78
84
  resetAllFuturePanels(panelId) {
79
85
  this.panels.filter(panel => panel.index >= this._panels[panelId].index).forEach(panel => this.resetPanel(panel.id));
80
86
  }
@@ -113,6 +119,15 @@ export class StepperModel extends AccordionModel {
113
119
  this._panels[nextPanel.id].disabled = true;
114
120
  }
115
121
  }
122
+ openPreviousPanel(currentPanelId) {
123
+ const prevPanel = this.getPreviousPanel(currentPanelId);
124
+ if (prevPanel) {
125
+ this._panels[currentPanelId].open = false;
126
+ this._panels[currentPanelId].disabled = false;
127
+ this._panels[prevPanel.id].open = true;
128
+ this._panels[prevPanel.id].disabled = true;
129
+ }
130
+ }
116
131
  setPanelError(panelId) {
117
132
  this.resetAllFuturePanels(panelId);
118
133
  this._panels[panelId].open = true;
@@ -128,4 +143,4 @@ export class StepperModel extends AccordionModel {
128
143
  return this.panels.reduce((prev, next) => (next.open !== false ? prev + 1 : prev), 0);
129
144
  }
130
145
  }
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2FjY29yZGlvbi9zdGVwcGVyL21vZGVscy9zdGVwcGVyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBRUgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUU5RCxNQUFNLE9BQU8sWUFBYSxTQUFRLGNBQWM7SUFBaEQ7O1FBQ1UsMkJBQXNCLEdBQUcsS0FBSyxDQUFDO0lBMEl6QyxDQUFDO0lBdklDLElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLDJCQUEyQixFQUFFLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM5RyxDQUFDO0lBRUQsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDdEgsQ0FBQztJQUVRLFFBQVEsQ0FBQyxFQUFVLEVBQUUsSUFBSSxHQUFHLEtBQUs7UUFDeEMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ25DLENBQUM7SUFFUSxnQkFBZ0IsQ0FBQyxHQUFhO1FBQ3JDLEtBQUssQ0FBQyxnQkFBZ0Is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QUMsTUFBTSxLQUFLLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzdHLENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyNCBCcm9hZGNvbS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoZSB0ZXJtIFwiQnJvYWRjb21cIiByZWZlcnMgdG8gQnJvYWRjb20gSW5jLiBhbmQvb3IgaXRzIHN1YnNpZGlhcmllcy5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgQWNjb3JkaW9uU3RhdHVzIH0gZnJvbSAnLi4vLi4vZW51bXMvYWNjb3JkaW9uLXN0YXR1cy5lbnVtJztcbmltcG9ydCB7IEFjY29yZGlvbk1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FjY29yZGlvbi5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBTdGVwcGVyTW9kZWwgZXh0ZW5kcyBBY2NvcmRpb25Nb2RlbCB7XG4gIHByaXZhdGUgc3RlcHBlck1vZGVsSW5pdGlhbGl6ZSA9IGZhbHNlO1xuICBwcml2YXRlIGluaXRpYWxQYW5lbDogc3RyaW5nO1xuXG4gIGdldCBhbGxQYW5lbHNDb21wbGV0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucGFuZWxzLmxlbmd0aCAmJiB0aGlzLmdldE51bWJlck9mSW5jb21wbGV0ZVBhbmVscygpID09PSAwICYmIHRoaXMuZ2V0TnVtYmVyT2ZPcGVuUGFuZWxzKCkgPT09IDA7XG4gIH1cblxuICBnZXQgc2hvdWxkT3BlbkZpcnN0UGFuZWwoKSB7XG4gICAgcmV0dXJuICF0aGlzLmluaXRpYWxQYW5lbCB8fCAodGhpcy5fcGFuZWxzICYmIE9iamVjdC5rZXlzKHRoaXMuX3BhbmVscykubGVuZ3RoICYmICF0aGlzLl9wYW5lbHNbdGhpcy5pbml0aWFsUGFuZWxdKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFkZFBhbmVsKGlkOiBzdHJpbmcsIG9wZW4gPSBmYWxzZSkge1xuICAgIHN1cGVyLmFkZFBhbmVsKGlkLCBvcGVuKTtcbiAgICB0aGlzLl9wYW5lbHNbaWRdLmRpc2FibGVkID0gdHJ1ZTtcbiAgfVxuXG4gIG92ZXJyaWRlIHVwZGF0ZVBhbmVsT3JkZXIoaWRzOiBzdHJpbmdbXSkge1xuICAgIHN1cGVyLnVwZGF0ZVBhbmVsT3JkZXIoaWRzKTtcbiAgICBpZiAodGhpcy5zdGVwcGVyTW9kZWxJbml0aWFsaXplID09PSBmYWxzZSkge1xuICAgICAgdGhpcy5vcGVuRmlyc3RQYW5lbCgpO1xuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlIHRvZ2dsZVBhbmVsKHBhbmVsSWQ6IHN0cmluZykge1xuICAgIGlmICh0aGlzLl9wYW5lbHNbcGFuZWxJZF0uc3RhdHVzID09PSBBY2NvcmRpb25TdGF0dXMuQ29tcGxldGUpIHtcbiAgICAgIHRoaXMuX3BhbmVsc1twYW5lbElkXS5vcGVuID0gIXRoaXMuX3BhbmVsc1twYW5lbElkXS5vcGVuO1xuICAgIH1cbiAgfVxuXG4gIG5hdmlnYXRlVG9OZXh0UGFuZWwoY3VycmVudFBhbmVsSWQ6IHN0cmluZywgY3VycmVudFBhbmVsVmFsaWQgPSB0cnVlKSB7XG4gICAgaWYgKGN1cnJlbnRQYW5lbFZhbGlkKSB7XG4gICAgICB0aGlzLmNvbXBsZXRlUGFuZWwoY3VycmVudFBhbmVsSWQpO1xuICAgICAgdGhpcy5vcGVuTmV4dFBhbmVsKHRoaXMuX3BhbmVsc1tjdXJyZW50UGFuZWxJZF0uaWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNldFBhbmVsRXJyb3IoY3VycmVudFBhbmVsSWQpO1xuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlSW5pdGlhbFBhbmVsKHBhbmVsSWQ6IHN0cmluZykge1xuICAgIHRoaXMuaW5pdGlhbFBhbmVsID0gcGFuZWxJZDtcbiAgICB0aGlzLnBhbmVsc1xuICAgICAgLmZpbHRlcigoKSA9PiB0aGlzLl9wYW5lbHNbcGFuZWxJZF0gIT09IHVuZGVmaW5lZClcbiAgICAgIC5mb3JFYWNoKHBhbmVsID0+IHtcbiAgICAgICAgaWYgKHBhbmVsLmluZGV4IDwgdGhpcy5fcGFuZWxzW3BhbmVsSWRdLmluZGV4KSB7XG4gICAgICAgICAgdGhpcy5jb21wbGV0ZVBhbmVsKHBhbmVsLmlkKTtcbiAgICAgICAgfSBlbHNlIGlmIChwYW5lbC5pZCA9PT0gcGFuZWxJZCkge1xuICAgICAgICAgIHRoaXMuX3BhbmVsc1twYW5lbC5pZF0ub3BlbiA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fcGFuZWxzW3BhbmVsLmlkXS5vcGVuID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgc2V0UGFuZWxWYWxpZChwYW5lbElkOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9wYW5lbHNbcGFuZWxJZF0uc3RhdHVzID0gQWNjb3JkaW9uU3RhdHVzLkNvbXBsZXRlO1xuICB9XG5cbiAgc2V0UGFuZWxJbnZhbGlkKHBhbmVsSWQ6IHN0cmluZykge1xuICAgIHRoaXMuX3BhbmVsc1twYW5lbElkXS5zdGF0dXMgPSBBY2NvcmRpb25TdGF0dXMuRXJyb3I7XG4gIH1cblxuICBzZXRQYW5lbHNXaXRoRXJyb3JzKGlkczogc3RyaW5nW10pIHtcbiAgICBpZHMuZm9yRWFjaChpZCA9PiB0aGlzLnNldFBhbmVsRXJyb3IoaWQpKTtcbiAgfVxuXG4gIHJlc2V0UGFuZWxzKCkge1xuICAgIC8qIHJldHVybiBzdGVwcGVyIHRvIGluaXRpYWxpemUgc3RhdGUgKi9cbiAgICB0aGlzLnN0ZXBwZXJNb2RlbEluaXRpYWxpemUgPSBmYWxzZTtcbiAgICB0aGlzLnBhbmVscy5mb3JFYWNoKHAgPT4gdGhpcy5yZXNldFBhbmVsKHAuaWQpKTtcbiAgICB0aGlzLm9wZW5GaXJzdFBhbmVsKCk7XG4gIH1cblxuICBnZXROZXh0UGFuZWwoY3VycmVudFBhbmVsSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnBhbmVscy5maW5kKHMgPT4gcy5pbmRleCA9PT0gdGhpcy5fcGFuZWxzW2N1cnJlbnRQYW5lbElkXS5pbmRleCArIDEpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldEFsbEZ1dHVyZVBhbmVscyhwYW5lbElkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnBhbmVscy5maWx0ZXIocGFuZWwgPT4gcGFuZWwuaW5kZXggPj0gdGhpcy5fcGFuZWxzW3BhbmVsSWRdLmluZGV4KS5mb3JFYWNoKHBhbmVsID0+IHRoaXMucmVzZXRQYW5lbChwYW5lbC5pZCkpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldFBhbmVsKHBhbmVsSWQ6IHN0cmluZykge1xuICAgIHRoaXMuX3BhbmVsc1twYW5lbElkXS5zdGF0dXMgPSBBY2NvcmRpb25TdGF0dXMuSW5hY3RpdmU7XG4gICAgdGhpcy5fcGFuZWxzW3BhbmVsSWRdLm9wZW4gPSBmYWxzZTtcbiAgICB0aGlzLl9wYW5lbHNbcGFuZWxJZF0uZGlzYWJsZWQgPSB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuRmlyc3RQYW5lbCgpIHtcbiAgICBpZiAoIXRoaXMuc2hvdWxkT3BlbkZpcnN0UGFuZWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZmlyc3RQYW5lbCA9IHRoaXMuZ2V0Rmlyc3RQYW5lbCgpO1xuICAgIC8qKlxuICAgICAqIFlvdSBuZWVkIHRvIGNhbGwgdXBkYXRlUGFuZWxPcmRlciBmaXJzdCB0byBnZXQgdGhlIGNvcnJlY3Qgb3JkZXIsXG4gICAgICogZWxzZSB0aGUgbGlzdCBvZiBwYW5lbHMgd2lsbCBub3QgaGF2ZSBgaW5kZXhgIHNldCBhbmQgd2Ugd29uJ3Qga25vd1xuICAgICAqIGhvdyB0byBmaW5kIHRoZSBmaXJzdCBwYW5lbC5cbiAgICAgKi9cbiAgICBpZiAoIWZpcnN0UGFuZWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9wYW5lbHNbZmlyc3RQYW5lbC5pZF0ub3BlbiA9IHRydWU7XG4gICAgdGhpcy5fcGFuZWxzW2ZpcnN0UGFuZWwuaWRdLmRpc2FibGVkID0gdHJ1ZTtcbiAgICB0aGlzLnN0ZXBwZXJNb2RlbEluaXRpYWxpemUgPSB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBjb21wbGV0ZVBhbmVsKHBhbmVsSWQ6IHN0cmluZykge1xuICAgIHRoaXMuX3BhbmVsc1twYW5lbElkXS5zdGF0dXMgPSBBY2NvcmRpb25TdGF0dXMuQ29tcGxldGU7XG4gICAgdGhpcy5fcGFuZWxzW3BhbmVsSWRdLmRpc2FibGVkID0gZmFsc2U7XG4gICAgdGhpcy5fcGFuZWxzW3BhbmVsSWRdLm9wZW4gPSBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgb3Blbk5leHRQYW5lbChjdXJyZW50UGFuZWxJZDogc3RyaW5nKSB7XG4gICAgY29uc3QgbmV4dFBhbmVsID0gdGhpcy5nZXROZXh0UGFuZWwoY3VycmVudFBhbmVsSWQpO1xuXG4gICAgaWYgKG5leHRQYW5lbCkge1xuICAgICAgdGhpcy5yZXNldEFsbEZ1dHVyZVBhbmVscyhuZXh0UGFuZWwuaWQpO1xuICAgICAgdGhpcy5fcGFuZWxzW25leHRQYW5lbC5pZF0ub3BlbiA9IHRydWU7XG4gICAgICB0aGlzLl9wYW5lbHNbbmV4dFBhbmVsLmlkXS5kaXNhYmxlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRQYW5lbEVycm9yKHBhbmVsSWQ6IHN0cmluZykge1xuICAgIHRoaXMucmVzZXRBbGxGdXR1cmVQYW5lbHMocGFuZWxJZCk7XG4gICAgdGhpcy5fcGFuZWxzW3BhbmVsSWRdLm9wZW4gPSB0cnVlO1xuICAgIHRoaXMuX3BhbmVsc1twYW5lbElkXS5zdGF0dXMgPSBBY2NvcmRpb25TdGF0dXMuRXJyb3I7XG4gIH1cblxuICBwcml2YXRlIGdldEZpcnN0UGFuZWwoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFuZWxzLmZpbmQocGFuZWwgPT4gcGFuZWwuaW5kZXggPT09IDApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROdW1iZXJPZkluY29tcGxldGVQYW5lbHMoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFuZWxzLnJlZHVjZSgocHJldiwgbmV4dCkgPT4gKG5leHQuc3RhdHVzICE9PSBBY2NvcmRpb25TdGF0dXMuQ29tcGxldGUgPyBwcmV2ICsgMSA6IHByZXYpLCAwKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TnVtYmVyT2ZPcGVuUGFuZWxzKCkge1xuICAgIHJldHVybiB0aGlzLnBhbmVscy5yZWR1Y2UoKHByZXYsIG5leHQpID0+IChuZXh0Lm9wZW4gIT09IGZhbHNlID8gcHJldiArIDEgOiBwcmV2KSwgMCk7XG4gIH1cbn1cbiJdfQ==
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2FjY29yZGlvbi9zdGVwcGVyL21vZGVscy9zdGVwcGVyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBRUgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUU5RCxNQUFNLE9BQU8sWUFBYSxTQUFRLGNBQWM7SUFBaEQ7O1FBQ1UsMkJBQXNCLEdBQUcsS0FBSyxDQUFDO0lBOEp6QyxDQUFDO0lBM0pDLElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLDJCQUEyQixFQUFFLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM5RyxDQUFDO0lBRUQsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDdEgsQ0FBQztJQUVRLFFBQVEsQ0FBQyxFQUFVLEVBQUUsSUFBSSxHQUFHLEtBQUs7UUFDeEMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ25DLENBQUM7SUFFUSxnQkFBZ0IsQ0FBQyxHQUFhO1FBQ3JDLEtBQUssQ0FBQyxnQkFBZ0Is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Q0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEYsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDI0IEJyb2FkY29tLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhlIHRlcm0gXCJCcm9hZGNvbVwiIHJlZmVycyB0byBCcm9hZGNvbSBJbmMuIGFuZC9vciBpdHMgc3Vic2lkaWFyaWVzLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5pbXBvcnQgeyBBY2NvcmRpb25TdGF0dXMgfSBmcm9tICcuLi8uLi9lbnVtcy9hY2NvcmRpb24tc3RhdHVzLmVudW0nO1xuaW1wb3J0IHsgQWNjb3JkaW9uTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvYWNjb3JkaW9uLm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIFN0ZXBwZXJNb2RlbCBleHRlbmRzIEFjY29yZGlvbk1vZGVsIHtcbiAgcHJpdmF0ZSBzdGVwcGVyTW9kZWxJbml0aWFsaXplID0gZmFsc2U7XG4gIHByaXZhdGUgaW5pdGlhbFBhbmVsOiBzdHJpbmc7XG5cbiAgZ2V0IGFsbFBhbmVsc0NvbXBsZXRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wYW5lbHMubGVuZ3RoICYmIHRoaXMuZ2V0TnVtYmVyT2ZJbmNvbXBsZXRlUGFuZWxzKCkgPT09IDAgJiYgdGhpcy5nZXROdW1iZXJPZk9wZW5QYW5lbHMoKSA9PT0gMDtcbiAgfVxuXG4gIGdldCBzaG91bGRPcGVuRmlyc3RQYW5lbCgpIHtcbiAgICByZXR1cm4gIXRoaXMuaW5pdGlhbFBhbmVsIHx8ICh0aGlzLl9wYW5lbHMgJiYgT2JqZWN0LmtleXModGhpcy5fcGFuZWxzKS5sZW5ndGggJiYgIXRoaXMuX3BhbmVsc1t0aGlzLmluaXRpYWxQYW5lbF0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgYWRkUGFuZWwoaWQ6IHN0cmluZywgb3BlbiA9IGZhbHNlKSB7XG4gICAgc3VwZXIuYWRkUGFuZWwoaWQsIG9wZW4pO1xuICAgIHRoaXMuX3BhbmVsc1tpZF0uZGlzYWJsZWQgPSB0cnVlO1xuICB9XG5cbiAgb3ZlcnJpZGUgdXBkYXRlUGFuZWxPcmRlcihpZHM6IHN0cmluZ1tdKSB7XG4gICAgc3VwZXIudXBkYXRlUGFuZWxPcmRlcihpZHMpO1xuICAgIGlmICh0aGlzLnN0ZXBwZXJNb2RlbEluaXRpYWxpemUgPT09IGZhbHNlKSB7XG4gICAgICB0aGlzLm9wZW5GaXJzdFBhbmVsKCk7XG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGUgdG9nZ2xlUGFuZWwocGFuZWxJZDogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuX3BhbmVsc1twYW5lbElkXS5zdGF0dXMgPT09IEFjY29yZGlvblN0YXR1cy5Db21wbGV0ZSkge1xuICAgICAgdGhpcy5fcGFuZWxzW3BhbmVsSWRdLm9wZW4gPSAhdGhpcy5fcGFuZWxzW3BhbmVsSWRdLm9wZW47XG4gICAgfVxuICB9XG5cbiAgbmF2aWdhdGVUb1ByZXZpb3VzUGFuZWwoY3VycmVudFBhbmVsSWQ6IHN0cmluZykge1xuICAgIHRoaXMub3BlblByZXZpb3VzUGFuZWwodGhpcy5fcGFuZWxzW2N1cnJlbnRQYW5lbElkXS5pZCk7XG4gIH1cblxuICBuYXZpZ2F0ZVRvTmV4dFBhbmVsKGN1cnJlbnRQYW5lbElkOiBzdHJpbmcsIGN1cnJlbnRQYW5lbFZhbGlkID0gdHJ1ZSkge1xuICAgIGlmIChjdXJyZW50UGFuZWxWYWxpZCkge1xuICAgICAgdGhpcy5jb21wbGV0ZVBhbmVsKGN1cnJlbnRQYW5lbElkKTtcbiAgICAgIHRoaXMub3Blbk5leHRQYW5lbCh0aGlzLl9wYW5lbHNbY3VycmVudFBhbmVsSWRdLmlkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXRQYW5lbEVycm9yKGN1cnJlbnRQYW5lbElkKTtcbiAgICB9XG4gIH1cblxuICBvdmVycmlkZUluaXRpYWxQYW5lbChwYW5lbElkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmluaXRpYWxQYW5lbCA9IHBhbmVsSWQ7XG4gICAgdGhpcy5wYW5lbHNcbiAgICAgIC5maWx0ZXIoKCkgPT4gdGhpcy5fcGFuZWxzW3BhbmVsSWRdICE9PSB1bmRlZmluZWQpXG4gICAgICAuZm9yRWFjaChwYW5lbCA9PiB7XG4gICAgICAgIGlmIChwYW5lbC5pbmRleCA8IHRoaXMuX3BhbmVsc1twYW5lbElkXS5pbmRleCkge1xuICAgICAgICAgIHRoaXMuY29tcGxldGVQYW5lbChwYW5lbC5pZCk7XG4gICAgICAgIH0gZWxzZSBpZiAocGFuZWwuaWQgPT09IHBhbmVsSWQpIHtcbiAgICAgICAgICB0aGlzLl9wYW5lbHNbcGFuZWwuaWRdLm9wZW4gPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuX3BhbmVsc1twYW5lbC5pZF0ub3BlbiA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHNldFBhbmVsVmFsaWQocGFuZWxJZDogc3RyaW5nKSB7XG4gICAgdGhpcy5fcGFuZWxzW3BhbmVsSWRdLnN0YXR1cyA9IEFjY29yZGlvblN0YXR1cy5Db21wbGV0ZTtcbiAgfVxuXG4gIHNldFBhbmVsSW52YWxpZChwYW5lbElkOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9wYW5lbHNbcGFuZWxJZF0uc3RhdHVzID0gQWNjb3JkaW9uU3RhdHVzLkVycm9yO1xuICB9XG5cbiAgc2V0UGFuZWxzV2l0aEVycm9ycyhpZHM6IHN0cmluZ1tdKSB7XG4gICAgaWRzLmZvckVhY2goaWQgPT4gdGhpcy5zZXRQYW5lbEVycm9yKGlkKSk7XG4gIH1cblxuICByZXNldFBhbmVscygpIHtcbiAgICAvKiByZXR1cm4gc3RlcHBlciB0byBpbml0aWFsaXplIHN0YXRlICovXG4gICAgdGhpcy5zdGVwcGVyTW9kZWxJbml0aWFsaXplID0gZmFsc2U7XG4gICAgdGhpcy5wYW5lbHMuZm9yRWFjaChwID0+IHRoaXMucmVzZXRQYW5lbChwLmlkKSk7XG4gICAgdGhpcy5vcGVuRmlyc3RQYW5lbCgpO1xuICB9XG5cbiAgZ2V0TmV4dFBhbmVsKGN1cnJlbnRQYW5lbElkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5wYW5lbHMuZmluZChzID0+IHMuaW5kZXggPT09IHRoaXMuX3BhbmVsc1tjdXJyZW50UGFuZWxJZF0uaW5kZXggKyAxKTtcbiAgfVxuXG4gIGdldFByZXZpb3VzUGFuZWwoY3VycmVudFBhbmVsSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnBhbmVscy5maW5kKHMgPT4gcy5pbmRleCA9PT0gdGhpcy5fcGFuZWxzW2N1cnJlbnRQYW5lbElkXS5pbmRleCAtIDEpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldEFsbEZ1dHVyZVBhbmVscyhwYW5lbElkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnBhbmVscy5maWx0ZXIocGFuZWwgPT4gcGFuZWwuaW5kZXggPj0gdGhpcy5fcGFuZWxzW3BhbmVsSWRdLmluZGV4KS5mb3JFYWNoKHBhbmVsID0+IHRoaXMucmVzZXRQYW5lbChwYW5lbC5pZCkpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldFBhbmVsKHBhbmVsSWQ6IHN0cmluZykge1xuICAgIHRoaXMuX3BhbmVsc1twYW5lbElkXS5zdGF0dXMgPSBBY2NvcmRpb25TdGF0dXMuSW5hY3RpdmU7XG4gICAgdGhpcy5fcGFuZWxzW3BhbmVsSWRdLm9wZW4gPSBmYWxzZTtcbiAgICB0aGlzLl9wYW5lbHNbcGFuZWxJZF0uZGlzYWJsZWQgPSB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuRmlyc3RQYW5lbCgpIHtcbiAgICBpZiAoIXRoaXMuc2hvdWxkT3BlbkZpcnN0UGFuZWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZmlyc3RQYW5lbCA9IHRoaXMuZ2V0Rmlyc3RQYW5lbCgpO1xuICAgIC8qKlxuICAgICAqIFlvdSBuZWVkIHRvIGNhbGwgdXBkYXRlUGFuZWxPcmRlciBmaXJzdCB0byBnZXQgdGhlIGNvcnJlY3Qgb3JkZXIsXG4gICAgICogZWxzZSB0aGUgbGlzdCBvZiBwYW5lbHMgd2lsbCBub3QgaGF2ZSBgaW5kZXhgIHNldCBhbmQgd2Ugd29uJ3Qga25vd1xuICAgICAqIGhvdyB0byBmaW5kIHRoZSBmaXJzdCBwYW5lbC5cbiAgICAgKi9cbiAgICBpZiAoIWZpcnN0UGFuZWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9wYW5lbHNbZmlyc3RQYW5lbC5pZF0ub3BlbiA9IHRydWU7XG4gICAgdGhpcy5fcGFuZWxzW2ZpcnN0UGFuZWwuaWRdLmRpc2FibGVkID0gdHJ1ZTtcbiAgICB0aGlzLnN0ZXBwZXJNb2RlbEluaXRpYWxpemUgPSB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBjb21wbGV0ZVBhbmVsKHBhbmVsSWQ6IHN0cmluZykge1xuICAgIHRoaXMuX3BhbmVsc1twYW5lbElkXS5zdGF0dXMgPSBBY2NvcmRpb25TdGF0dXMuQ29tcGxldGU7XG4gICAgdGhpcy5fcGFuZWxzW3BhbmVsSWRdLmRpc2FibGVkID0gZmFsc2U7XG4gICAgdGhpcy5fcGFuZWxzW3BhbmVsSWRdLm9wZW4gPSBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgb3Blbk5leHRQYW5lbChjdXJyZW50UGFuZWxJZDogc3RyaW5nKSB7XG4gICAgY29uc3QgbmV4dFBhbmVsID0gdGhpcy5nZXROZXh0UGFuZWwoY3VycmVudFBhbmVsSWQpO1xuXG4gICAgaWYgKG5leHRQYW5lbCkge1xuICAgICAgdGhpcy5yZXNldEFsbEZ1dHVyZVBhbmVscyhuZXh0UGFuZWwuaWQpO1xuICAgICAgdGhpcy5fcGFuZWxzW25leHRQYW5lbC5pZF0ub3BlbiA9IHRydWU7XG4gICAgICB0aGlzLl9wYW5lbHNbbmV4dFBhbmVsLmlkXS5kaXNhYmxlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvcGVuUHJldmlvdXNQYW5lbChjdXJyZW50UGFuZWxJZDogc3RyaW5nKSB7XG4gICAgY29uc3QgcHJldlBhbmVsID0gdGhpcy5nZXRQcmV2aW91c1BhbmVsKGN1cnJlbnRQYW5lbElkKTtcblxuICAgIGlmIChwcmV2UGFuZWwpIHtcbiAgICAgIHRoaXMuX3BhbmVsc1tjdXJyZW50UGFuZWxJZF0ub3BlbiA9IGZhbHNlO1xuICAgICAgdGhpcy5fcGFuZWxzW2N1cnJlbnRQYW5lbElkXS5kaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgICB0aGlzLl9wYW5lbHNbcHJldlBhbmVsLmlkXS5vcGVuID0gdHJ1ZTtcbiAgICAgIHRoaXMuX3BhbmVsc1twcmV2UGFuZWwuaWRdLmRpc2FibGVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldFBhbmVsRXJyb3IocGFuZWxJZDogc3RyaW5nKSB7XG4gICAgdGhpcy5yZXNldEFsbEZ1dHVyZVBhbmVscyhwYW5lbElkKTtcbiAgICB0aGlzLl9wYW5lbHNbcGFuZWxJZF0ub3BlbiA9IHRydWU7XG4gICAgdGhpcy5fcGFuZWxzW3BhbmVsSWRdLnN0YXR1cyA9IEFjY29yZGlvblN0YXR1cy5FcnJvcjtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Rmlyc3RQYW5lbCgpIHtcbiAgICByZXR1cm4gdGhpcy5wYW5lbHMuZmluZChwYW5lbCA9PiBwYW5lbC5pbmRleCA9PT0gMCk7XG4gIH1cblxuICBwcml2YXRlIGdldE51bWJlck9mSW5jb21wbGV0ZVBhbmVscygpIHtcbiAgICByZXR1cm4gdGhpcy5wYW5lbHMucmVkdWNlKChwcmV2LCBuZXh0KSA9PiAobmV4dC5zdGF0dXMgIT09IEFjY29yZGlvblN0YXR1cy5Db21wbGV0ZSA/IHByZXYgKyAxIDogcHJldiksIDApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROdW1iZXJPZk9wZW5QYW5lbHMoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFuZWxzLnJlZHVjZSgocHJldiwgbmV4dCkgPT4gKG5leHQub3BlbiAhPT0gZmFsc2UgPyBwcmV2ICsgMSA6IHByZXYpLCAwKTtcbiAgfVxufVxuIl19
@@ -34,6 +34,11 @@ export class StepperService extends AccordionService {
34
34
  this.accordion.setPanelsWithErrors(ids);
35
35
  this.emitUpdatedPanels();
36
36
  }
37
+ navigateToPreviousPanel(currentPanelId) {
38
+ this.accordion.navigateToPreviousPanel(currentPanelId);
39
+ this.updatePreviousStep(currentPanelId);
40
+ this.emitUpdatedPanels();
41
+ }
37
42
  navigateToNextPanel(currentPanelId, currentPanelValid = true) {
38
43
  this.accordion.navigateToNextPanel(currentPanelId, currentPanelValid);
39
44
  this.updateNextStep(currentPanelId, currentPanelValid);
@@ -52,6 +57,12 @@ export class StepperService extends AccordionService {
52
57
  this._activeStepChanges.next(currentPanelId);
53
58
  }
54
59
  }
60
+ updatePreviousStep(currentPanelId) {
61
+ const prevPanel = this.accordion.getPreviousPanel(currentPanelId);
62
+ if (prevPanel) {
63
+ this._activeStepChanges.next(prevPanel.id);
64
+ }
65
+ }
55
66
  getAllCompletedPanelChanges() {
56
67
  return this._panelsChanges.pipe(map(() => this.accordion.allPanelsCompleted), distinctUntilChanged());
57
68
  }
@@ -61,4 +72,4 @@ StepperService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", versi
61
72
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: StepperService, decorators: [{
62
73
  type: Injectable
63
74
  }], ctorParameters: function () { return []; } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvYWNjb3JkaW9uL3N0ZXBwZXIvcHJvdmlkZXJzL3N0ZXBwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUd2RCxNQUFNLE9BQU8sY0FBZSxTQUFRLGdCQUFnQjtJQVFsRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBUEQsb0JBQWUsR0FBRyxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztRQUUzQyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUxQyx1QkFBa0IsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBS2pELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzNELENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQWU7UUFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGVBQWUsQ0FBQyxPQUFlO1FBQzdCLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxHQUFhO1FBQy9CLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELG1CQUFtQixDQUFDLGNBQXNCLEVBQUUsaUJBQWlCLEdBQUcsSUFBSTtRQUNsRSxJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLGNBQWMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELG9CQUFvQixDQUFDLE9BQWU7UUFDbEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU8sY0FBYyxDQUFDLGNBQXNCLEVBQUUsaUJBQTBCO1FBQ3ZFLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRTlELElBQUksaUJBQWlCLElBQUksU0FBUyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQzVDO2FBQU0sSUFBSSxpQkFBaUIsRUFBRTtZQUM1QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQzlDO0lBQ0gsQ0FBQztJQUVPLDJCQUEyQjtRQUNqQyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUM3QixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxFQUM1QyxvQkFBb0IsRUFBRSxDQUN2QixDQUFDO0lBQ0osQ0FBQzs7MkdBNURVLGNBQWM7K0dBQWQsY0FBYzsyRkFBZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDI0IEJyb2FkY29tLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhlIHRlcm0gXCJCcm9hZGNvbVwiIHJlZmVycyB0byBCcm9hZGNvbSBJbmMuIGFuZC9vciBpdHMgc3Vic2lkaWFyaWVzLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBBY2NvcmRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL2FjY29yZGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFN0ZXBwZXJNb2RlbCB9IGZyb20gJy4uL21vZGVscy9zdGVwcGVyLm1vZGVsJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFN0ZXBwZXJTZXJ2aWNlIGV4dGVuZHMgQWNjb3JkaW9uU2VydmljZSB7XG4gIHJlYWRvbmx5IGFjdGl2ZVN0ZXA6IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgcmVhZG9ubHkgcGFuZWxzQ29tcGxldGVkID0gdGhpcy5nZXRBbGxDb21wbGV0ZWRQYW5lbENoYW5nZXMoKTtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYWNjb3JkaW9uID0gbmV3IFN0ZXBwZXJNb2RlbCgpO1xuXG4gIHByaXZhdGUgX2FjdGl2ZVN0ZXBDaGFuZ2VzID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmFjdGl2ZVN0ZXAgPSB0aGlzLl9hY3RpdmVTdGVwQ2hhbmdlcy5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHJlc2V0UGFuZWxzKCkge1xuICAgIHRoaXMuYWNjb3JkaW9uLnJlc2V0UGFuZWxzKCk7XG4gICAgdGhpcy5lbWl0VXBkYXRlZFBhbmVscygpO1xuICB9XG5cbiAgc2V0UGFuZWxWYWxpZChwYW5lbElkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmFjY29yZGlvbi5zZXRQYW5lbFZhbGlkKHBhbmVsSWQpO1xuICAgIHRoaXMuZW1pdFVwZGF0ZWRQYW5lbHMoKTtcbiAgfVxuXG4gIHNldFBhbmVsSW52YWxpZChwYW5lbElkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmFjY29yZGlvbi5zZXRQYW5lbEludmFsaWQocGFuZWxJZCk7XG4gICAgdGhpcy5lbWl0VXBkYXRlZFBhbmVscygpO1xuICB9XG5cbiAgc2V0UGFuZWxzV2l0aEVycm9ycyhpZHM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5hY2NvcmRpb24uc2V0UGFuZWxzV2l0aEVycm9ycyhpZHMpO1xuICAgIHRoaXMuZW1pdFVwZGF0ZWRQYW5lbHMoKTtcbiAgfVxuXG4gIG5hdmlnYXRlVG9OZXh0UGFuZWwoY3VycmVudFBhbmVsSWQ6IHN0cmluZywgY3VycmVudFBhbmVsVmFsaWQgPSB0cnVlKSB7XG4gICAgdGhpcy5hY2NvcmRpb24ubmF2aWdhdGVUb05leHRQYW5lbChjdXJyZW50UGFuZWxJZCwgY3VycmVudFBhbmVsVmFsaWQpO1xuICAgIHRoaXMudXBkYXRlTmV4dFN0ZXAoY3VycmVudFBhbmVsSWQsIGN1cnJlbnRQYW5lbFZhbGlkKTtcbiAgICB0aGlzLmVtaXRVcGRhdGVkUGFuZWxzKCk7XG4gIH1cblxuICBvdmVycmlkZUluaXRpYWxQYW5lbChwYW5lbElkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmFjY29yZGlvbi5vdmVycmlkZUluaXRpYWxQYW5lbChwYW5lbElkKTtcbiAgICB0aGlzLmVtaXRVcGRhdGVkUGFuZWxzKCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZU5leHRTdGVwKGN1cnJlbnRQYW5lbElkOiBzdHJpbmcsIGN1cnJlbnRQYW5lbFZhbGlkOiBib29sZWFuKSB7XG4gICAgY29uc3QgbmV4dFBhbmVsID0gdGhpcy5hY2NvcmRpb24uZ2V0TmV4dFBhbmVsKGN1cnJlbnRQYW5lbElkKTtcblxuICAgIGlmIChjdXJyZW50UGFuZWxWYWxpZCAmJiBuZXh0UGFuZWwpIHtcbiAgICAgIHRoaXMuX2FjdGl2ZVN0ZXBDaGFuZ2VzLm5leHQobmV4dFBhbmVsLmlkKTtcbiAgICB9IGVsc2UgaWYgKGN1cnJlbnRQYW5lbFZhbGlkKSB7XG4gICAgICB0aGlzLl9hY3RpdmVTdGVwQ2hhbmdlcy5uZXh0KGN1cnJlbnRQYW5lbElkKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEFsbENvbXBsZXRlZFBhbmVsQ2hhbmdlcygpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fcGFuZWxzQ2hhbmdlcy5waXBlKFxuICAgICAgbWFwKCgpID0+IHRoaXMuYWNjb3JkaW9uLmFsbFBhbmVsc0NvbXBsZXRlZCksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgKTtcbiAgfVxufVxuIl19
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvYWNjb3JkaW9uL3N0ZXBwZXIvcHJvdmlkZXJzL3N0ZXBwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUd2RCxNQUFNLE9BQU8sY0FBZSxTQUFRLGdCQUFnQjtJQVFsRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBUEQsb0JBQWUsR0FBRyxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztRQUUzQyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUxQyx1QkFBa0IsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBS2pELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzNELENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQWU7UUFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGVBQWUsQ0FBQyxPQUFlO1FBQzdCLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxHQUFhO1FBQy9CLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELHVCQUF1QixDQUFDLGNBQXNCO1FBQzVDLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxjQUFzQixFQUFFLGlCQUFpQixHQUFHLElBQUk7UUFDbEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxPQUFlO1FBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVPLGNBQWMsQ0FBQyxjQUFzQixFQUFFLGlCQUEwQjtRQUN2RSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUU5RCxJQUFJLGlCQUFpQixJQUFJLFNBQVMsRUFBRTtZQUNsQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUM1QzthQUFNLElBQUksaUJBQWlCLEVBQUU7WUFDNUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUM5QztJQUNILENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxjQUFzQjtRQUMvQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRWxFLElBQUksU0FBUyxFQUFFO1lBQ2IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDNUM7SUFDSCxDQUFDO0lBRU8sMkJBQTJCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQzdCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLEVBQzVDLG9CQUFvQixFQUFFLENBQ3ZCLENBQUM7SUFDSixDQUFDOzsyR0ExRVUsY0FBYzsrR0FBZCxjQUFjOzJGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjQgQnJvYWRjb20uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGUgdGVybSBcIkJyb2FkY29tXCIgcmVmZXJzIHRvIEJyb2FkY29tIEluYy4gYW5kL29yIGl0cyBzdWJzaWRpYXJpZXMuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEFjY29yZGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvYWNjb3JkaW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RlcHBlck1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3N0ZXBwZXIubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU3RlcHBlclNlcnZpY2UgZXh0ZW5kcyBBY2NvcmRpb25TZXJ2aWNlIHtcbiAgcmVhZG9ubHkgYWN0aXZlU3RlcDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICByZWFkb25seSBwYW5lbHNDb21wbGV0ZWQgPSB0aGlzLmdldEFsbENvbXBsZXRlZFBhbmVsQ2hhbmdlcygpO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBhY2NvcmRpb24gPSBuZXcgU3RlcHBlck1vZGVsKCk7XG5cbiAgcHJpdmF0ZSBfYWN0aXZlU3RlcENoYW5nZXMgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuYWN0aXZlU3RlcCA9IHRoaXMuX2FjdGl2ZVN0ZXBDaGFuZ2VzLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcmVzZXRQYW5lbHMoKSB7XG4gICAgdGhpcy5hY2NvcmRpb24ucmVzZXRQYW5lbHMoKTtcbiAgICB0aGlzLmVtaXRVcGRhdGVkUGFuZWxzKCk7XG4gIH1cblxuICBzZXRQYW5lbFZhbGlkKHBhbmVsSWQ6IHN0cmluZykge1xuICAgIHRoaXMuYWNjb3JkaW9uLnNldFBhbmVsVmFsaWQocGFuZWxJZCk7XG4gICAgdGhpcy5lbWl0VXBkYXRlZFBhbmVscygpO1xuICB9XG5cbiAgc2V0UGFuZWxJbnZhbGlkKHBhbmVsSWQ6IHN0cmluZykge1xuICAgIHRoaXMuYWNjb3JkaW9uLnNldFBhbmVsSW52YWxpZChwYW5lbElkKTtcbiAgICB0aGlzLmVtaXRVcGRhdGVkUGFuZWxzKCk7XG4gIH1cblxuICBzZXRQYW5lbHNXaXRoRXJyb3JzKGlkczogc3RyaW5nW10pIHtcbiAgICB0aGlzLmFjY29yZGlvbi5zZXRQYW5lbHNXaXRoRXJyb3JzKGlkcyk7XG4gICAgdGhpcy5lbWl0VXBkYXRlZFBhbmVscygpO1xuICB9XG5cbiAgbmF2aWdhdGVUb1ByZXZpb3VzUGFuZWwoY3VycmVudFBhbmVsSWQ6IHN0cmluZykge1xuICAgIHRoaXMuYWNjb3JkaW9uLm5hdmlnYXRlVG9QcmV2aW91c1BhbmVsKGN1cnJlbnRQYW5lbElkKTtcbiAgICB0aGlzLnVwZGF0ZVByZXZpb3VzU3RlcChjdXJyZW50UGFuZWxJZCk7XG4gICAgdGhpcy5lbWl0VXBkYXRlZFBhbmVscygpO1xuICB9XG5cbiAgbmF2aWdhdGVUb05leHRQYW5lbChjdXJyZW50UGFuZWxJZDogc3RyaW5nLCBjdXJyZW50UGFuZWxWYWxpZCA9IHRydWUpIHtcbiAgICB0aGlzLmFjY29yZGlvbi5uYXZpZ2F0ZVRvTmV4dFBhbmVsKGN1cnJlbnRQYW5lbElkLCBjdXJyZW50UGFuZWxWYWxpZCk7XG4gICAgdGhpcy51cGRhdGVOZXh0U3RlcChjdXJyZW50UGFuZWxJZCwgY3VycmVudFBhbmVsVmFsaWQpO1xuICAgIHRoaXMuZW1pdFVwZGF0ZWRQYW5lbHMoKTtcbiAgfVxuXG4gIG92ZXJyaWRlSW5pdGlhbFBhbmVsKHBhbmVsSWQ6IHN0cmluZykge1xuICAgIHRoaXMuYWNjb3JkaW9uLm92ZXJyaWRlSW5pdGlhbFBhbmVsKHBhbmVsSWQpO1xuICAgIHRoaXMuZW1pdFVwZGF0ZWRQYW5lbHMoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlTmV4dFN0ZXAoY3VycmVudFBhbmVsSWQ6IHN0cmluZywgY3VycmVudFBhbmVsVmFsaWQ6IGJvb2xlYW4pIHtcbiAgICBjb25zdCBuZXh0UGFuZWwgPSB0aGlzLmFjY29yZGlvbi5nZXROZXh0UGFuZWwoY3VycmVudFBhbmVsSWQpO1xuXG4gICAgaWYgKGN1cnJlbnRQYW5lbFZhbGlkICYmIG5leHRQYW5lbCkge1xuICAgICAgdGhpcy5fYWN0aXZlU3RlcENoYW5nZXMubmV4dChuZXh0UGFuZWwuaWQpO1xuICAgIH0gZWxzZSBpZiAoY3VycmVudFBhbmVsVmFsaWQpIHtcbiAgICAgIHRoaXMuX2FjdGl2ZVN0ZXBDaGFuZ2VzLm5leHQoY3VycmVudFBhbmVsSWQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlUHJldmlvdXNTdGVwKGN1cnJlbnRQYW5lbElkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBwcmV2UGFuZWwgPSB0aGlzLmFjY29yZGlvbi5nZXRQcmV2aW91c1BhbmVsKGN1cnJlbnRQYW5lbElkKTtcblxuICAgIGlmIChwcmV2UGFuZWwpIHtcbiAgICAgIHRoaXMuX2FjdGl2ZVN0ZXBDaGFuZ2VzLm5leHQocHJldlBhbmVsLmlkKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEFsbENvbXBsZXRlZFBhbmVsQ2hhbmdlcygpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fcGFuZWxzQ2hhbmdlcy5waXBlKFxuICAgICAgbWFwKCgpID0+IHRoaXMuYWNjb3JkaW9uLmFsbFBhbmVsc0NvbXBsZXRlZCksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -11,6 +11,7 @@ import * as i2 from "./providers/stepper.service";
11
11
  export var ClrStepButtonType;
12
12
  (function (ClrStepButtonType) {
13
13
  ClrStepButtonType["Next"] = "next";
14
+ ClrStepButtonType["Previous"] = "previous";
14
15
  ClrStepButtonType["Submit"] = "submit";
15
16
  })(ClrStepButtonType || (ClrStepButtonType = {}));
16
17
  export class ClrStepButton {
@@ -19,16 +20,22 @@ export class ClrStepButton {
19
20
  this.stepperService = stepperService;
20
21
  this.type = ClrStepButtonType.Next;
21
22
  this.submitButton = false;
23
+ this.previousButton = false;
22
24
  }
23
25
  ngOnInit() {
24
26
  this.submitButton = this.type === ClrStepButtonType.Submit;
27
+ this.previousButton = this.type === ClrStepButtonType.Previous;
25
28
  }
26
29
  navigateToNextPanel() {
30
+ if (this.previousButton) {
31
+ this.stepperService.navigateToPreviousPanel(this.clrStep.id);
32
+ return;
33
+ }
27
34
  this.stepperService.navigateToNextPanel(this.clrStep.id, this.clrStep.formGroup.valid);
28
35
  }
29
36
  }
30
37
  ClrStepButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrStepButton, deps: [{ token: i1.ClrStepperPanel }, { token: i2.StepperService }], target: i0.ɵɵFactoryTarget.Directive });
31
- ClrStepButton.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: ClrStepButton, selector: "[clrStepButton]", inputs: { type: ["clrStepButton", "type"] }, host: { listeners: { "click": "navigateToNextPanel()" }, properties: { "class.clr-step-button": "true", "class.btn": "true", "type": "'button'", "class.btn-primary": "this.submitButton" } }, ngImport: i0 });
38
+ ClrStepButton.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: ClrStepButton, selector: "[clrStepButton]", inputs: { type: ["clrStepButton", "type"] }, host: { listeners: { "click": "navigateToNextPanel()" }, properties: { "class.clr-step-button": "true", "class.btn": "true", "type": "'button'", "class.btn-success": "this.submitButton", "class.btn-link": "this.previousButton" } }, ngImport: i0 });
32
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrStepButton, decorators: [{
33
40
  type: Directive,
34
41
  args: [{
@@ -44,9 +51,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
44
51
  args: ['clrStepButton']
45
52
  }], submitButton: [{
46
53
  type: HostBinding,
47
- args: ['class.btn-primary']
54
+ args: ['class.btn-success']
55
+ }], previousButton: [{
56
+ type: HostBinding,
57
+ args: ['class.btn-link']
48
58
  }], navigateToNextPanel: [{
49
59
  type: HostListener,
50
60
  args: ['click']
51
61
  }] } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1idXR0b24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9hY2NvcmRpb24vc3RlcHBlci9zdGVwLWJ1dHRvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7QUFLcEYsTUFBTSxDQUFOLElBQVksaUJBR1g7QUFIRCxXQUFZLGlCQUFpQjtJQUMzQixrQ0FBYSxDQUFBO0lBQ2Isc0NBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUhXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFHNUI7QUFVRCxNQUFNLE9BQU8sYUFBYTtJQUl4QixZQUFvQixPQUF3QixFQUFVLGNBQThCO1FBQWhFLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBSDVELFNBQUksR0FBK0IsaUJBQWlCLENBQUMsSUFBSSxDQUFDO1FBQ2hELGlCQUFZLEdBQUcsS0FBSyxDQUFDO0lBRWdDLENBQUM7SUFFeEYsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksS0FBSyxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7SUFDN0QsQ0FBQztJQUdELG1CQUFtQjtRQUNqQixJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pGLENBQUM7OzBHQWJVLGFBQWE7OEZBQWIsYUFBYTsyRkFBYixhQUFhO2tCQVJ6QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLElBQUksRUFBRTt3QkFDSix5QkFBeUIsRUFBRSxNQUFNO3dCQUNqQyxhQUFhLEVBQUUsTUFBTTt3QkFDckIsUUFBUSxFQUFFLFVBQVU7cUJBQ3JCO2lCQUNGO21JQUV5QixJQUFJO3NCQUEzQixLQUFLO3VCQUFDLGVBQWU7Z0JBQ1ksWUFBWTtzQkFBN0MsV0FBVzt1QkFBQyxtQkFBbUI7Z0JBU2hDLG1CQUFtQjtzQkFEbEIsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDI0IEJyb2FkY29tLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhlIHRlcm0gXCJCcm9hZGNvbVwiIHJlZmVycyB0byBCcm9hZGNvbSBJbmMuIGFuZC9vciBpdHMgc3Vic2lkaWFyaWVzLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU3RlcHBlclNlcnZpY2UgfSBmcm9tICcuL3Byb3ZpZGVycy9zdGVwcGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2xyU3RlcHBlclBhbmVsIH0gZnJvbSAnLi9zdGVwcGVyLXBhbmVsJztcblxuZXhwb3J0IGVudW0gQ2xyU3RlcEJ1dHRvblR5cGUge1xuICBOZXh0ID0gJ25leHQnLFxuICBTdWJtaXQgPSAnc3VibWl0Jyxcbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NsclN0ZXBCdXR0b25dJyxcbiAgaG9zdDoge1xuICAgICdbY2xhc3MuY2xyLXN0ZXAtYnV0dG9uXSc6ICd0cnVlJyxcbiAgICAnW2NsYXNzLmJ0bl0nOiAndHJ1ZScsXG4gICAgJ1t0eXBlXSc6IFwiJ2J1dHRvbidcIixcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyU3RlcEJ1dHRvbiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgnY2xyU3RlcEJ1dHRvbicpIHR5cGU6IENsclN0ZXBCdXR0b25UeXBlIHwgc3RyaW5nID0gQ2xyU3RlcEJ1dHRvblR5cGUuTmV4dDtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5idG4tcHJpbWFyeScpIHN1Ym1pdEJ1dHRvbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2xyU3RlcDogQ2xyU3RlcHBlclBhbmVsLCBwcml2YXRlIHN0ZXBwZXJTZXJ2aWNlOiBTdGVwcGVyU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnN1Ym1pdEJ1dHRvbiA9IHRoaXMudHlwZSA9PT0gQ2xyU3RlcEJ1dHRvblR5cGUuU3VibWl0O1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICBuYXZpZ2F0ZVRvTmV4dFBhbmVsKCkge1xuICAgIHRoaXMuc3RlcHBlclNlcnZpY2UubmF2aWdhdGVUb05leHRQYW5lbCh0aGlzLmNsclN0ZXAuaWQsIHRoaXMuY2xyU3RlcC5mb3JtR3JvdXAudmFsaWQpO1xuICB9XG59XG4iXX0=
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1idXR0b24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9hY2NvcmRpb24vc3RlcHBlci9zdGVwLWJ1dHRvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7QUFLcEYsTUFBTSxDQUFOLElBQVksaUJBSVg7QUFKRCxXQUFZLGlCQUFpQjtJQUMzQixrQ0FBYSxDQUFBO0lBQ2IsMENBQXFCLENBQUE7SUFDckIsc0NBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUpXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFJNUI7QUFVRCxNQUFNLE9BQU8sYUFBYTtJQUt4QixZQUFvQixPQUF3QixFQUFVLGNBQThCO1FBQWhFLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBSjVELFNBQUksR0FBK0IsaUJBQWlCLENBQUMsSUFBSSxDQUFDO1FBQ2hELGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO0lBRWlDLENBQUM7SUFFeEYsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksS0FBSyxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7UUFDM0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsSUFBSSxLQUFLLGlCQUFpQixDQUFDLFFBQVEsQ0FBQztJQUNqRSxDQUFDO0lBR0QsbUJBQW1CO1FBQ2pCLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDN0QsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6RixDQUFDOzswR0FwQlUsYUFBYTs4RkFBYixhQUFhOzJGQUFiLGFBQWE7a0JBUnpCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsSUFBSSxFQUFFO3dCQUNKLHlCQUF5QixFQUFFLE1BQU07d0JBQ2pDLGFBQWEsRUFBRSxNQUFNO3dCQUNyQixRQUFRLEVBQUUsVUFBVTtxQkFDckI7aUJBQ0Y7bUlBRXlCLElBQUk7c0JBQTNCLEtBQUs7dUJBQUMsZUFBZTtnQkFDWSxZQUFZO3NCQUE3QyxXQUFXO3VCQUFDLG1CQUFtQjtnQkFDRCxjQUFjO3NCQUE1QyxXQUFXO3VCQUFDLGdCQUFnQjtnQkFVN0IsbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjQgQnJvYWRjb20uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGUgdGVybSBcIkJyb2FkY29tXCIgcmVmZXJzIHRvIEJyb2FkY29tIEluYy4gYW5kL29yIGl0cyBzdWJzaWRpYXJpZXMuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdGVwcGVyU2VydmljZSB9IGZyb20gJy4vcHJvdmlkZXJzL3N0ZXBwZXIuc2VydmljZSc7XG5pbXBvcnQgeyBDbHJTdGVwcGVyUGFuZWwgfSBmcm9tICcuL3N0ZXBwZXItcGFuZWwnO1xuXG5leHBvcnQgZW51bSBDbHJTdGVwQnV0dG9uVHlwZSB7XG4gIE5leHQgPSAnbmV4dCcsXG4gIFByZXZpb3VzID0gJ3ByZXZpb3VzJyxcbiAgU3VibWl0ID0gJ3N1Ym1pdCcsXG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjbHJTdGVwQnV0dG9uXScsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLmNsci1zdGVwLWJ1dHRvbl0nOiAndHJ1ZScsXG4gICAgJ1tjbGFzcy5idG5dJzogJ3RydWUnLFxuICAgICdbdHlwZV0nOiBcIididXR0b24nXCIsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIENsclN0ZXBCdXR0b24gaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoJ2NsclN0ZXBCdXR0b24nKSB0eXBlOiBDbHJTdGVwQnV0dG9uVHlwZSB8IHN0cmluZyA9IENsclN0ZXBCdXR0b25UeXBlLk5leHQ7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuYnRuLXN1Y2Nlc3MnKSBzdWJtaXRCdXR0b24gPSBmYWxzZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5idG4tbGluaycpIHByZXZpb3VzQnV0dG9uID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjbHJTdGVwOiBDbHJTdGVwcGVyUGFuZWwsIHByaXZhdGUgc3RlcHBlclNlcnZpY2U6IFN0ZXBwZXJTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc3VibWl0QnV0dG9uID0gdGhpcy50eXBlID09PSBDbHJTdGVwQnV0dG9uVHlwZS5TdWJtaXQ7XG4gICAgdGhpcy5wcmV2aW91c0J1dHRvbiA9IHRoaXMudHlwZSA9PT0gQ2xyU3RlcEJ1dHRvblR5cGUuUHJldmlvdXM7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIG5hdmlnYXRlVG9OZXh0UGFuZWwoKSB7XG4gICAgaWYgKHRoaXMucHJldmlvdXNCdXR0b24pIHtcbiAgICAgIHRoaXMuc3RlcHBlclNlcnZpY2UubmF2aWdhdGVUb1ByZXZpb3VzUGFuZWwodGhpcy5jbHJTdGVwLmlkKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0ZXBwZXJTZXJ2aWNlLm5hdmlnYXRlVG9OZXh0UGFuZWwodGhpcy5jbHJTdGVwLmlkLCB0aGlzLmNsclN0ZXAuZm9ybUdyb3VwLnZhbGlkKTtcbiAgfVxufVxuIl19
@@ -27,7 +27,7 @@ export class ClrStepperPanel extends ClrAccordionPanel {
27
27
  this.formGroupName = formGroupName;
28
28
  this.ngModelGroup = ngModelGroup;
29
29
  this.stepperService = stepperService;
30
- this.isAccordion = false;
30
+ this.AccordionStatus = AccordionStatus;
31
31
  this.subscriptions = [];
32
32
  }
33
33
  get id() {
@@ -68,9 +68,7 @@ export class ClrStepperPanel extends ClrAccordionPanel {
68
68
  this.subscriptions.push(this.stepperService.activeStep
69
69
  .pipe(filter(panelId => isPlatformBrowser(this.platformId) && panelId === this.id))
70
70
  .subscribe(() => {
71
- //Adding timeout so that the status of the previous step is read by Voice Over on Safari,
72
- //before focusing on the next stepper panel header
73
- setTimeout(() => this.headerButton.nativeElement.focus(), 1500);
71
+ this.headerButton.nativeElement.focus();
74
72
  }));
75
73
  }
76
74
  triggerAllFormControlValidationIfError(panel) {
@@ -80,10 +78,10 @@ export class ClrStepperPanel extends ClrAccordionPanel {
80
78
  }
81
79
  }
82
80
  ClrStepperPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrStepperPanel, deps: [{ token: PLATFORM_ID }, { token: i1.ClrCommonStringsService }, { token: i2.FormGroupName, optional: true }, { token: i2.NgModelGroup, optional: true }, { token: i3.StepperService }, { token: i4.IfExpandService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
83
- ClrStepperPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrStepperPanel, selector: "clr-stepper-panel", host: { properties: { "class.clr-accordion-panel": "true" } }, providers: [IfExpandService], viewQueries: [{ propertyName: "headerButton", first: true, predicate: ["headerButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"panel | async; let panel\">\n <div [ngClass]=\"getPanelStateClasses(panel)\">\n <div class=\"clr-accordion-header\">\n <button\n type=\"button\"\n class=\"clr-accordion-header-button\"\n (click)=\"togglePanel()\"\n [id]=\"getAccordionHeaderId(panel.templateId)\"\n [disabled]=\"isAccordion && panel.disabled\"\n [attr.aria-disabled]=\"!isAccordion && panel.disabled\"\n [attr.aria-controls]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-expanded]=\"panel.open\"\n [class.clr-accordion-header-has-description]=\"(accordionDescription.changes | async)?.length || accordionDescription.length\"\n #headerButton\n >\n <span class=\"clr-accordion-status\">\n <cds-icon shape=\"angle\" direction=\"right\" class=\"clr-accordion-angle\"></cds-icon>\n <span class=\"clr-accordion-number\">{{panelNumber}}.</span>\n <cds-icon status=\"danger\" shape=\"exclamation-circle\" class=\"clr-accordion-error-icon\"></cds-icon>\n <cds-icon status=\"success\" shape=\"check-circle\" class=\"clr-accordion-complete-icon\"></cds-icon>\n </span>\n <ng-content select=\"clr-accordion-title, clr-step-title\"></ng-content>\n <ng-content select=\"clr-accordion-description, clr-step-description\"></ng-content>\n </button>\n <div class=\"clr-sr-only\" role=\"status\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\"> {{ stepErrorText(panelNumber)}} </ng-container>\n <ng-container *ngIf=\"panel.status === AccordionStatus.Complete\">\n {{ stepCompleteText(panelNumber)}}\n </ng-container>\n </div>\n </div>\n <div\n @skipInitialRender\n role=\"region\"\n class=\"clr-accordion-content-region\"\n [id]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-hidden]=\"!panel.open\"\n [attr.aria-labelledby]=\"getAccordionHeaderId(panel.templateId)\"\n >\n <div\n *ngIf=\"panel.open\"\n @toggle\n (@toggle.done)=\"collapsePanelOnAnimationDone(panel)\"\n class=\"clr-accordion-content\"\n >\n <div class=\"clr-accordion-inner-content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.CdsIconCustomTag, selector: "cds-icon" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], animations: stepAnimation, changeDetection: i0.ChangeDetectionStrategy.OnPush });
81
+ ClrStepperPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrStepperPanel, selector: "clr-stepper-panel", host: { properties: { "class.clr-stepper-panel": "true" } }, providers: [IfExpandService], viewQueries: [{ propertyName: "headerButton", first: true, predicate: ["headerButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"panel | async; let panel\">\n <div [ngClass]=\"getPanelStateClasses(panel)\">\n <div class=\"clr-accordion-header clr-stepper-header\">\n <button\n type=\"button\"\n class=\"clr-accordion-header-button\"\n (click)=\"togglePanel()\"\n [id]=\"getAccordionHeaderId(panel.templateId)\"\n [attr.aria-disabled]=\"panel.disabled\"\n [attr.aria-controls]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-expanded]=\"panel.open\"\n [class.clr-accordion-header-has-description]=\"(accordionDescription.changes | async)?.length || accordionDescription.length\"\n #headerButton\n >\n <span class=\"clr-step-status\">\n <cds-icon shape=\"angle\" direction=\"right\" class=\"clr-accordion-angle clr-step-angle\"></cds-icon>\n <cds-icon\n status=\"danger\"\n *ngIf=\"panel.status === AccordionStatus.Error\"\n shape=\"exclamation-circle\"\n class=\"clr-step-error-icon\"\n ></cds-icon>\n <cds-icon\n status=\"success\"\n *ngIf=\"panel.status === AccordionStatus.Complete\"\n shape=\"check-circle\"\n class=\"clr-step-complete-icon\"\n ></cds-icon>\n </span>\n <span class=\"clr-step-title-wrapper\">\n <span class=\"clr-step-number\">{{panelNumber}}.</span>\n <ng-content select=\"clr-step-title\"></ng-content>\n </span>\n <ng-content select=\"clr-step-description\"></ng-content>\n </button>\n <div class=\"clr-sr-only\" role=\"status\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\"> {{ stepErrorText(panelNumber)}} </ng-container>\n <ng-container *ngIf=\"panel.status === AccordionStatus.Complete\">\n {{ stepCompleteText(panelNumber)}}\n </ng-container>\n </div>\n </div>\n <div\n @skipInitialRender\n role=\"region\"\n class=\"clr-accordion-content-region\"\n [id]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-hidden]=\"!panel.open\"\n [attr.aria-labelledby]=\"getAccordionHeaderId(panel.templateId)\"\n >\n <div\n *ngIf=\"panel.open\"\n @toggle\n (@toggle.done)=\"collapsePanelOnAnimationDone(panel)\"\n class=\"clr-accordion-content\"\n >\n <div class=\"clr-accordion-inner-content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.CdsIconCustomTag, selector: "cds-icon" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], animations: stepAnimation, changeDetection: i0.ChangeDetectionStrategy.OnPush });
84
82
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrStepperPanel, decorators: [{
85
83
  type: Component,
86
- args: [{ selector: 'clr-stepper-panel', host: { '[class.clr-accordion-panel]': 'true' }, changeDetection: ChangeDetectionStrategy.OnPush, animations: stepAnimation, providers: [IfExpandService], template: "<ng-container *ngIf=\"panel | async; let panel\">\n <div [ngClass]=\"getPanelStateClasses(panel)\">\n <div class=\"clr-accordion-header\">\n <button\n type=\"button\"\n class=\"clr-accordion-header-button\"\n (click)=\"togglePanel()\"\n [id]=\"getAccordionHeaderId(panel.templateId)\"\n [disabled]=\"isAccordion && panel.disabled\"\n [attr.aria-disabled]=\"!isAccordion && panel.disabled\"\n [attr.aria-controls]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-expanded]=\"panel.open\"\n [class.clr-accordion-header-has-description]=\"(accordionDescription.changes | async)?.length || accordionDescription.length\"\n #headerButton\n >\n <span class=\"clr-accordion-status\">\n <cds-icon shape=\"angle\" direction=\"right\" class=\"clr-accordion-angle\"></cds-icon>\n <span class=\"clr-accordion-number\">{{panelNumber}}.</span>\n <cds-icon status=\"danger\" shape=\"exclamation-circle\" class=\"clr-accordion-error-icon\"></cds-icon>\n <cds-icon status=\"success\" shape=\"check-circle\" class=\"clr-accordion-complete-icon\"></cds-icon>\n </span>\n <ng-content select=\"clr-accordion-title, clr-step-title\"></ng-content>\n <ng-content select=\"clr-accordion-description, clr-step-description\"></ng-content>\n </button>\n <div class=\"clr-sr-only\" role=\"status\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\"> {{ stepErrorText(panelNumber)}} </ng-container>\n <ng-container *ngIf=\"panel.status === AccordionStatus.Complete\">\n {{ stepCompleteText(panelNumber)}}\n </ng-container>\n </div>\n </div>\n <div\n @skipInitialRender\n role=\"region\"\n class=\"clr-accordion-content-region\"\n [id]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-hidden]=\"!panel.open\"\n [attr.aria-labelledby]=\"getAccordionHeaderId(panel.templateId)\"\n >\n <div\n *ngIf=\"panel.open\"\n @toggle\n (@toggle.done)=\"collapsePanelOnAnimationDone(panel)\"\n class=\"clr-accordion-content\"\n >\n <div class=\"clr-accordion-inner-content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n" }]
84
+ args: [{ selector: 'clr-stepper-panel', host: { '[class.clr-stepper-panel]': 'true' }, changeDetection: ChangeDetectionStrategy.OnPush, animations: stepAnimation, providers: [IfExpandService], template: "<ng-container *ngIf=\"panel | async; let panel\">\n <div [ngClass]=\"getPanelStateClasses(panel)\">\n <div class=\"clr-accordion-header clr-stepper-header\">\n <button\n type=\"button\"\n class=\"clr-accordion-header-button\"\n (click)=\"togglePanel()\"\n [id]=\"getAccordionHeaderId(panel.templateId)\"\n [attr.aria-disabled]=\"panel.disabled\"\n [attr.aria-controls]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-expanded]=\"panel.open\"\n [class.clr-accordion-header-has-description]=\"(accordionDescription.changes | async)?.length || accordionDescription.length\"\n #headerButton\n >\n <span class=\"clr-step-status\">\n <cds-icon shape=\"angle\" direction=\"right\" class=\"clr-accordion-angle clr-step-angle\"></cds-icon>\n <cds-icon\n status=\"danger\"\n *ngIf=\"panel.status === AccordionStatus.Error\"\n shape=\"exclamation-circle\"\n class=\"clr-step-error-icon\"\n ></cds-icon>\n <cds-icon\n status=\"success\"\n *ngIf=\"panel.status === AccordionStatus.Complete\"\n shape=\"check-circle\"\n class=\"clr-step-complete-icon\"\n ></cds-icon>\n </span>\n <span class=\"clr-step-title-wrapper\">\n <span class=\"clr-step-number\">{{panelNumber}}.</span>\n <ng-content select=\"clr-step-title\"></ng-content>\n </span>\n <ng-content select=\"clr-step-description\"></ng-content>\n </button>\n <div class=\"clr-sr-only\" role=\"status\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\"> {{ stepErrorText(panelNumber)}} </ng-container>\n <ng-container *ngIf=\"panel.status === AccordionStatus.Complete\">\n {{ stepCompleteText(panelNumber)}}\n </ng-container>\n </div>\n </div>\n <div\n @skipInitialRender\n role=\"region\"\n class=\"clr-accordion-content-region\"\n [id]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-hidden]=\"!panel.open\"\n [attr.aria-labelledby]=\"getAccordionHeaderId(panel.templateId)\"\n >\n <div\n *ngIf=\"panel.open\"\n @toggle\n (@toggle.done)=\"collapsePanelOnAnimationDone(panel)\"\n class=\"clr-accordion-content\"\n >\n <div class=\"clr-accordion-inner-content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n" }]
87
85
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
88
86
  type: Inject,
89
87
  args: [PLATFORM_ID]
@@ -95,4 +93,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
95
93
  type: ViewChild,
96
94
  args: ['headerButton']
97
95
  }] } });
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci1wYW5lbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2FjY29yZGlvbi9zdGVwcGVyL3N0ZXBwZXItcGFuZWwudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9hY2NvcmRpb24vYWNjb3JkaW9uLXBhbmVsLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxNQUFNLEVBRU4sUUFBUSxFQUNSLFdBQVcsRUFDWCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRS9FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7O0FBV25ELE1BQU0sT0FBTyxlQUFnQixTQUFRLGlCQUFpQjtJQU9wRCxZQUMrQixVQUFlLEVBQzVCLGFBQXNDLEVBQ2xDLGFBQTRCLEVBQzVCLFlBQTBCLEVBQ3RDLGNBQThCLEVBQ3RDLGVBQWdDLEVBQ2hDLEdBQXNCO1FBRXRCLEtBQUssQ0FBQyxhQUFhLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQVI5QixlQUFVLEdBQVYsVUFBVSxDQUFLO1FBQzVCLGtCQUFhLEdBQWIsYUFBYSxDQUF5QjtRQUNsQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUN0QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFYL0IsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFJckIsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO0lBWTNDLENBQUM7SUFFRCxJQUFhLEVBQUU7UUFDYixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztJQUMxRixDQUFDO0lBQ0QsSUFBYSxFQUFFLENBQUMsTUFBYztRQUM1Qiw2Q0FBNkM7SUFDL0MsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDO0lBQ3JGLENBQUM7SUFFUSxRQUFRO1FBQ2YsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHNDQUFzQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvRixJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBRTVCLG9GQUFvRjtRQUNwRixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsNkVBQTZFO1lBQzdFLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBRXZHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLG9CQUFvQixDQUFDLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDNUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFO29CQUMzQixPQUFPO2lCQUNSO2dCQUVELElBQUksTUFBTSxLQUFLLE9BQU8sRUFBRTtvQkFDdEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUM1QztxQkFBTSxJQUFJLE1BQU0sS0FBSyxTQUFTLEVBQUU7b0JBQy9CLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztpQkFDOUM7WUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVO2FBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksT0FBTyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNsRixTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QseUZBQXlGO1lBQ3pGLGtEQUFrRDtZQUNsRCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEUsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNKLENBQUM7SUFFTyxzQ0FBc0MsQ0FBQyxLQUEwQjtRQUN2RSxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssZUFBZSxDQUFDLEtBQUssRUFBRTtZQUMxQywrQkFBK0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDakQ7SUFDSCxDQUFDOzs0R0E3RVUsZUFBZSxrQkFRaEIsV0FBVztnR0FSVixlQUFlLDJHQUZmLENBQUMsZUFBZSxDQUFDLCtKQ3RDOUIsMnlFQW9EQSw2VkRmYyxhQUFhOzJGQUdkLGVBQWU7a0JBUjNCLFNBQVM7K0JBQ0UsbUJBQW1CLFFBRXZCLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxFQUFFLG1CQUM5Qix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLGFBQWEsYUFDZCxDQUFDLGVBQWUsQ0FBQzs7MEJBVXpCLE1BQU07MkJBQUMsV0FBVzs7MEJBRWxCLFFBQVE7OzBCQUNSLFFBQVE7dUlBUmdCLFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyNCBCcm9hZGNvbS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoZSB0ZXJtIFwiQnJvYWRjb21cIiByZWZlcnMgdG8gQnJvYWRjb20gSW5jLiBhbmQvb3IgaXRzIHN1YnNpZGlhcmllcy5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdCxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgUExBVEZPUk1fSUQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXBOYW1lLCBOZ01vZGVsR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIHNraXBVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBJZkV4cGFuZFNlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy9jb25kaXRpb25hbC9pZi1leHBhbmRlZC5zZXJ2aWNlJztcbmltcG9ydCB7IHRyaWdnZXJBbGxGb3JtQ29udHJvbFZhbGlkYXRpb24gfSBmcm9tICcuLi8uLi91dGlscy9mb3Jtcy92YWxpZGF0aW9uJztcbmltcG9ydCB7IENsckNvbW1vblN0cmluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXRpbHMvaTE4bi9jb21tb24tc3RyaW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IENsckFjY29yZGlvblBhbmVsIH0gZnJvbSAnLi4vYWNjb3JkaW9uLXBhbmVsJztcbmltcG9ydCB7IEFjY29yZGlvblN0YXR1cyB9IGZyb20gJy4uL2VudW1zL2FjY29yZGlvbi1zdGF0dXMuZW51bSc7XG5pbXBvcnQgeyBBY2NvcmRpb25QYW5lbE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2FjY29yZGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBzdGVwQW5pbWF0aW9uIH0gZnJvbSAnLi4vdXRpbHMvYW5pbWF0aW9uJztcbmltcG9ydCB7IFN0ZXBwZXJTZXJ2aWNlIH0gZnJvbSAnLi9wcm92aWRlcnMvc3RlcHBlci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2xyLXN0ZXBwZXItcGFuZWwnLFxuICB0ZW1wbGF0ZVVybDogJy4uL2FjY29yZGlvbi1wYW5lbC5odG1sJyxcbiAgaG9zdDogeyAnW2NsYXNzLmNsci1hY2NvcmRpb24tcGFuZWxdJzogJ3RydWUnIH0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBhbmltYXRpb25zOiBzdGVwQW5pbWF0aW9uLFxuICBwcm92aWRlcnM6IFtJZkV4cGFuZFNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBDbHJTdGVwcGVyUGFuZWwgZXh0ZW5kcyBDbHJBY2NvcmRpb25QYW5lbCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIG92ZXJyaWRlIGlzQWNjb3JkaW9uID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgnaGVhZGVyQnV0dG9uJykgaGVhZGVyQnV0dG9uOiBFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50PjtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBhbnksXG4gICAgcHVibGljIG92ZXJyaWRlIGNvbW1vblN0cmluZ3M6IENsckNvbW1vblN0cmluZ3NTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgZm9ybUdyb3VwTmFtZTogRm9ybUdyb3VwTmFtZSxcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIG5nTW9kZWxHcm91cDogTmdNb2RlbEdyb3VwLFxuICAgIHByaXZhdGUgc3RlcHBlclNlcnZpY2U6IFN0ZXBwZXJTZXJ2aWNlLFxuICAgIGlmRXhwYW5kU2VydmljZTogSWZFeHBhbmRTZXJ2aWNlLFxuICAgIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIoY29tbW9uU3RyaW5ncywgc3RlcHBlclNlcnZpY2UsIGlmRXhwYW5kU2VydmljZSwgY2RyKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cE5hbWUgPyB0aGlzLmZvcm1Hcm91cE5hbWUubmFtZS50b1N0cmluZygpIDogdGhpcy5uZ01vZGVsR3JvdXAubmFtZTtcbiAgfVxuICBvdmVycmlkZSBzZXQgaWQoX3ZhbHVlOiBzdHJpbmcpIHtcbiAgICAvLyBvdmVycmlkaW5nIHBhcmVudCBpZCByZXF1aXJlZCBlbXB0eSBzZXR0ZXJcbiAgfVxuXG4gIGdldCBmb3JtR3JvdXAoKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwTmFtZSA/IHRoaXMuZm9ybUdyb3VwTmFtZS5jb250cm9sIDogdGhpcy5uZ01vZGVsR3JvdXAuY29udHJvbDtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgdGhpcy5wYW5lbCA9IHRoaXMucGFuZWwucGlwZSh0YXAocGFuZWwgPT4gdGhpcy50cmlnZ2VyQWxsRm9ybUNvbnRyb2xWYWxpZGF0aW9uSWZFcnJvcihwYW5lbCkpKTtcbiAgICB0aGlzLnN0ZXBwZXJTZXJ2aWNlLmRpc2FibGVQYW5lbCh0aGlzLmlkLCB0cnVlKTtcbiAgICB0aGlzLmxpc3RlblRvRm9jdXNDaGFuZ2VzKCk7XG5cbiAgICAvLyBub3QgYWxsIHN0ZXBwZXIgcGFuZWxzIGFyZSBndWFyYW50ZWVkIHRvIGhhdmUgYSBmb3JtIChpLmUuIGVtcHR5IHRlbXBsYXRlLWRyaXZlbilcbiAgICBpZiAodGhpcy5mb3JtR3JvdXApIHtcbiAgICAgIC8vIHNldCBwYW5lbCBzdGF0dXMgb24gZm9ybSBzdGF0dXMgY2hhbmdlIG9ubHkgYWZ0ZXIgdGhlIGZvcm0gYmVjb21lcyBpbnZhbGlkXG4gICAgICBjb25zdCBpbnZhbGlkU3RhdHVzVHJpZ2dlciA9IHRoaXMuZm9ybUdyb3VwLnN0YXR1c0NoYW5nZXMucGlwZShmaWx0ZXIoc3RhdHVzID0+IHN0YXR1cyA9PT0gJ0lOVkFMSUQnKSk7XG5cbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgICB0aGlzLmZvcm1Hcm91cC5zdGF0dXNDaGFuZ2VzLnBpcGUoc2tpcFVudGlsKGludmFsaWRTdGF0dXNUcmlnZ2VyKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSkuc3Vic2NyaWJlKHN0YXR1cyA9PiB7XG4gICAgICAgICAgaWYgKCF0aGlzLmZvcm1Hcm91cC50b3VjaGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHN0YXR1cyA9PT0gJ1ZBTElEJykge1xuICAgICAgICAgICAgdGhpcy5zdGVwcGVyU2VydmljZS5zZXRQYW5lbFZhbGlkKHRoaXMuaWQpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoc3RhdHVzID09PSAnSU5WQUxJRCcpIHtcbiAgICAgICAgICAgIHRoaXMuc3RlcHBlclNlcnZpY2Uuc2V0UGFuZWxJbnZhbGlkKHRoaXMuaWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5Ub0ZvY3VzQ2hhbmdlcygpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuc3RlcHBlclNlcnZpY2UuYWN0aXZlU3RlcFxuICAgICAgICAucGlwZShmaWx0ZXIocGFuZWxJZCA9PiBpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpICYmIHBhbmVsSWQgPT09IHRoaXMuaWQpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAvL0FkZGluZyB0aW1lb3V0IHNvIHRoYXQgdGhlIHN0YXR1cyBvZiB0aGUgcHJldmlvdXMgc3RlcCBpcyByZWFkIGJ5IFZvaWNlIE92ZXIgb24gU2FmYXJpLFxuICAgICAgICAgIC8vYmVmb3JlIGZvY3VzaW5nIG9uIHRoZSBuZXh0IHN0ZXBwZXIgcGFuZWwgaGVhZGVyXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmhlYWRlckJ1dHRvbi5uYXRpdmVFbGVtZW50LmZvY3VzKCksIDE1MDApO1xuICAgICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHRyaWdnZXJBbGxGb3JtQ29udHJvbFZhbGlkYXRpb25JZkVycm9yKHBhbmVsOiBBY2NvcmRpb25QYW5lbE1vZGVsKSB7XG4gICAgaWYgKHBhbmVsLnN0YXR1cyA9PT0gQWNjb3JkaW9uU3RhdHVzLkVycm9yKSB7XG4gICAgICB0cmlnZ2VyQWxsRm9ybUNvbnRyb2xWYWxpZGF0aW9uKHRoaXMuZm9ybUdyb3VwKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJwYW5lbCB8IGFzeW5jOyBsZXQgcGFuZWxcIj5cbiAgPGRpdiBbbmdDbGFzc109XCJnZXRQYW5lbFN0YXRlQ2xhc3NlcyhwYW5lbClcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2xyLWFjY29yZGlvbi1oZWFkZXJcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiY2xyLWFjY29yZGlvbi1oZWFkZXItYnV0dG9uXCJcbiAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVBhbmVsKClcIlxuICAgICAgICBbaWRdPVwiZ2V0QWNjb3JkaW9uSGVhZGVySWQocGFuZWwudGVtcGxhdGVJZClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiaXNBY2NvcmRpb24gJiYgcGFuZWwuZGlzYWJsZWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cIiFpc0FjY29yZGlvbiAmJiBwYW5lbC5kaXNhYmxlZFwiXG4gICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiZ2V0QWNjb3JkaW9uQ29udGVudElkKHBhbmVsLnRlbXBsYXRlSWQpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJwYW5lbC5vcGVuXCJcbiAgICAgICAgW2NsYXNzLmNsci1hY2NvcmRpb24taGVhZGVyLWhhcy1kZXNjcmlwdGlvbl09XCIoYWNjb3JkaW9uRGVzY3JpcHRpb24uY2hhbmdlcyB8IGFzeW5jKT8ubGVuZ3RoIHx8IGFjY29yZGlvbkRlc2NyaXB0aW9uLmxlbmd0aFwiXG4gICAgICAgICNoZWFkZXJCdXR0b25cbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjbHItYWNjb3JkaW9uLXN0YXR1c1wiPlxuICAgICAgICAgIDxjZHMtaWNvbiBzaGFwZT1cImFuZ2xlXCIgZGlyZWN0aW9uPVwicmlnaHRcIiBjbGFzcz1cImNsci1hY2NvcmRpb24tYW5nbGVcIj48L2Nkcy1pY29uPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2xyLWFjY29yZGlvbi1udW1iZXJcIj57e3BhbmVsTnVtYmVyfX0uPC9zcGFuPlxuICAgICAgICAgIDxjZHMtaWNvbiBzdGF0dXM9XCJkYW5nZXJcIiBzaGFwZT1cImV4Y2xhbWF0aW9uLWNpcmNsZVwiIGNsYXNzPVwiY2xyLWFjY29yZGlvbi1lcnJvci1pY29uXCI+PC9jZHMtaWNvbj5cbiAgICAgICAgICA8Y2RzLWljb24gc3RhdHVzPVwic3VjY2Vzc1wiIHNoYXBlPVwiY2hlY2stY2lyY2xlXCIgY2xhc3M9XCJjbHItYWNjb3JkaW9uLWNvbXBsZXRlLWljb25cIj48L2Nkcy1pY29uPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImNsci1hY2NvcmRpb24tdGl0bGUsIGNsci1zdGVwLXRpdGxlXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJjbHItYWNjb3JkaW9uLWRlc2NyaXB0aW9uLCBjbHItc3RlcC1kZXNjcmlwdGlvblwiPjwvbmctY29udGVudD5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGRpdiBjbGFzcz1cImNsci1zci1vbmx5XCIgcm9sZT1cInN0YXR1c1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicGFuZWwuc3RhdHVzID09PSBBY2NvcmRpb25TdGF0dXMuRXJyb3JcIj4ge3sgc3RlcEVycm9yVGV4dChwYW5lbE51bWJlcil9fSA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBhbmVsLnN0YXR1cyA9PT0gQWNjb3JkaW9uU3RhdHVzLkNvbXBsZXRlXCI+XG4gICAgICAgICAge3sgc3RlcENvbXBsZXRlVGV4dChwYW5lbE51bWJlcil9fVxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIEBza2lwSW5pdGlhbFJlbmRlclxuICAgICAgcm9sZT1cInJlZ2lvblwiXG4gICAgICBjbGFzcz1cImNsci1hY2NvcmRpb24tY29udGVudC1yZWdpb25cIlxuICAgICAgW2lkXT1cImdldEFjY29yZGlvbkNvbnRlbnRJZChwYW5lbC50ZW1wbGF0ZUlkKVwiXG4gICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCIhcGFuZWwub3BlblwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiZ2V0QWNjb3JkaW9uSGVhZGVySWQocGFuZWwudGVtcGxhdGVJZClcIlxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJwYW5lbC5vcGVuXCJcbiAgICAgICAgQHRvZ2dsZVxuICAgICAgICAoQHRvZ2dsZS5kb25lKT1cImNvbGxhcHNlUGFuZWxPbkFuaW1hdGlvbkRvbmUocGFuZWwpXCJcbiAgICAgICAgY2xhc3M9XCJjbHItYWNjb3JkaW9uLWNvbnRlbnRcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2xyLWFjY29yZGlvbi1pbm5lci1jb250ZW50XCI+XG4gICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci1wYW5lbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2FjY29yZGlvbi9zdGVwcGVyL3N0ZXBwZXItcGFuZWwudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9hY2NvcmRpb24vc3RlcHBlci9zdGVwcGVyLXBhbmVsLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxNQUFNLEVBRU4sUUFBUSxFQUNSLFdBQVcsRUFDWCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRS9FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7O0FBV25ELE1BQU0sT0FBTyxlQUFnQixTQUFRLGlCQUFpQjtJQU1wRCxZQUMrQixVQUFlLEVBQzVCLGFBQXNDLEVBQ2xDLGFBQTRCLEVBQzVCLFlBQTBCLEVBQ3RDLGNBQThCLEVBQ3RDLGVBQWdDLEVBQ2hDLEdBQXNCO1FBRXRCLEtBQUssQ0FBQyxhQUFhLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQVI5QixlQUFVLEdBQVYsVUFBVSxDQUFL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UUFDMUMsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNKLENBQUM7SUFFTyxzQ0FBc0MsQ0FBQyxLQUEwQjtRQUN2RSxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssZUFBZSxDQUFDLEtBQUssRUFBRTtZQUMxQywrQkFBK0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDakQ7SUFDSCxDQUFDOzs0R0ExRVUsZUFBZSxrQkFPaEIsV0FBVztnR0FQVixlQUFlLHlHQUZmLENBQUMsZUFBZSxDQUFDLCtKQ3RDOUIsNCtFQStEQSw2VkQxQmMsYUFBYTsyRkFHZCxlQUFlO2tCQVIzQixTQUFTOytCQUNFLG1CQUFtQixRQUV2QixFQUFFLDJCQUEyQixFQUFFLE1BQU0sRUFBRSxtQkFDNUIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxhQUFhLGFBQ2QsQ0FBQyxlQUFlLENBQUM7OzBCQVN6QixNQUFNOzJCQUFDLFdBQVc7OzBCQUVsQixRQUFROzswQkFDUixRQUFRO3VJQVRnQixZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjQgQnJvYWRjb20uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGUgdGVybSBcIkJyb2FkY29tXCIgcmVmZXJzIHRvIEJyb2FkY29tIEluYy4gYW5kL29yIGl0cyBzdWJzaWRpYXJpZXMuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbmplY3QsXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIFBMQVRGT1JNX0lELFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwTmFtZSwgTmdNb2RlbEdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBza2lwVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgSWZFeHBhbmRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXRpbHMvY29uZGl0aW9uYWwvaWYtZXhwYW5kZWQuc2VydmljZSc7XG5pbXBvcnQgeyB0cmlnZ2VyQWxsRm9ybUNvbnRyb2xWYWxpZGF0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbHMvZm9ybXMvdmFsaWRhdGlvbic7XG5pbXBvcnQgeyBDbHJDb21tb25TdHJpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uL3V0aWxzL2kxOG4vY29tbW9uLXN0cmluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBDbHJBY2NvcmRpb25QYW5lbCB9IGZyb20gJy4uL2FjY29yZGlvbi1wYW5lbCc7XG5pbXBvcnQgeyBBY2NvcmRpb25TdGF0dXMgfSBmcm9tICcuLi9lbnVtcy9hY2NvcmRpb24tc3RhdHVzLmVudW0nO1xuaW1wb3J0IHsgQWNjb3JkaW9uUGFuZWxNb2RlbCB9IGZyb20gJy4uL21vZGVscy9hY2NvcmRpb24ubW9kZWwnO1xuaW1wb3J0IHsgc3RlcEFuaW1hdGlvbiB9IGZyb20gJy4uL3V0aWxzL2FuaW1hdGlvbic7XG5pbXBvcnQgeyBTdGVwcGVyU2VydmljZSB9IGZyb20gJy4vcHJvdmlkZXJzL3N0ZXBwZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nsci1zdGVwcGVyLXBhbmVsJyxcbiAgdGVtcGxhdGVVcmw6ICdzdGVwcGVyLXBhbmVsLmh0bWwnLFxuICBob3N0OiB7ICdbY2xhc3MuY2xyLXN0ZXBwZXItcGFuZWxdJzogJ3RydWUnIH0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBhbmltYXRpb25zOiBzdGVwQW5pbWF0aW9uLFxuICBwcm92aWRlcnM6IFtJZkV4cGFuZFNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBDbHJTdGVwcGVyUGFuZWwgZXh0ZW5kcyBDbHJBY2NvcmRpb25QYW5lbCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ2hlYWRlckJ1dHRvbicpIGhlYWRlckJ1dHRvbjogRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD47XG4gIHJlYWRvbmx5IEFjY29yZGlvblN0YXR1cyA9IEFjY29yZGlvblN0YXR1cztcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBhbnksXG4gICAgcHVibGljIG92ZXJyaWRlIGNvbW1vblN0cmluZ3M6IENsckNvbW1vblN0cmluZ3NTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgZm9ybUdyb3VwTmFtZTogRm9ybUdyb3VwTmFtZSxcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIG5nTW9kZWxHcm91cDogTmdNb2RlbEdyb3VwLFxuICAgIHByaXZhdGUgc3RlcHBlclNlcnZpY2U6IFN0ZXBwZXJTZXJ2aWNlLFxuICAgIGlmRXhwYW5kU2VydmljZTogSWZFeHBhbmRTZXJ2aWNlLFxuICAgIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIoY29tbW9uU3RyaW5ncywgc3RlcHBlclNlcnZpY2UsIGlmRXhwYW5kU2VydmljZSwgY2RyKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cE5hbWUgPyB0aGlzLmZvcm1Hcm91cE5hbWUubmFtZS50b1N0cmluZygpIDogdGhpcy5uZ01vZGVsR3JvdXAubmFtZTtcbiAgfVxuICBvdmVycmlkZSBzZXQgaWQoX3ZhbHVlOiBzdHJpbmcpIHtcbiAgICAvLyBvdmVycmlkaW5nIHBhcmVudCBpZCByZXF1aXJlZCBlbXB0eSBzZXR0ZXJcbiAgfVxuXG4gIGdldCBmb3JtR3JvdXAoKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwTmFtZSA/IHRoaXMuZm9ybUdyb3VwTmFtZS5jb250cm9sIDogdGhpcy5uZ01vZGVsR3JvdXAuY29udHJvbDtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgdGhpcy5wYW5lbCA9IHRoaXMucGFuZWwucGlwZSh0YXAocGFuZWwgPT4gdGhpcy50cmlnZ2VyQWxsRm9ybUNvbnRyb2xWYWxpZGF0aW9uSWZFcnJvcihwYW5lbCkpKTtcbiAgICB0aGlzLnN0ZXBwZXJTZXJ2aWNlLmRpc2FibGVQYW5lbCh0aGlzLmlkLCB0cnVlKTtcbiAgICB0aGlzLmxpc3RlblRvRm9jdXNDaGFuZ2VzKCk7XG5cbiAgICAvLyBub3QgYWxsIHN0ZXBwZXIgcGFuZWxzIGFyZSBndWFyYW50ZWVkIHRvIGhhdmUgYSBmb3JtIChpLmUuIGVtcHR5IHRlbXBsYXRlLWRyaXZlbilcbiAgICBpZiAodGhpcy5mb3JtR3JvdXApIHtcbiAgICAgIC8vIHNldCBwYW5lbCBzdGF0dXMgb24gZm9ybSBzdGF0dXMgY2hhbmdlIG9ubHkgYWZ0ZXIgdGhlIGZvcm0gYmVjb21lcyBpbnZhbGlkXG4gICAgICBjb25zdCBpbnZhbGlkU3RhdHVzVHJpZ2dlciA9IHRoaXMuZm9ybUdyb3VwLnN0YXR1c0NoYW5nZXMucGlwZShmaWx0ZXIoc3RhdHVzID0+IHN0YXR1cyA9PT0gJ0lOVkFMSUQnKSk7XG5cbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgICB0aGlzLmZvcm1Hcm91cC5zdGF0dXNDaGFuZ2VzLnBpcGUoc2tpcFVudGlsKGludmFsaWRTdGF0dXNUcmlnZ2VyKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSkuc3Vic2NyaWJlKHN0YXR1cyA9PiB7XG4gICAgICAgICAgaWYgKCF0aGlzLmZvcm1Hcm91cC50b3VjaGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHN0YXR1cyA9PT0gJ1ZBTElEJykge1xuICAgICAgICAgICAgdGhpcy5zdGVwcGVyU2VydmljZS5zZXRQYW5lbFZhbGlkKHRoaXMuaWQpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoc3RhdHVzID09PSAnSU5WQUxJRCcpIHtcbiAgICAgICAgICAgIHRoaXMuc3RlcHBlclNlcnZpY2Uuc2V0UGFuZWxJbnZhbGlkKHRoaXMuaWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5Ub0ZvY3VzQ2hhbmdlcygpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuc3RlcHBlclNlcnZpY2UuYWN0aXZlU3RlcFxuICAgICAgICAucGlwZShmaWx0ZXIocGFuZWxJZCA9PiBpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpICYmIHBhbmVsSWQgPT09IHRoaXMuaWQpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmhlYWRlckJ1dHRvbi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgdHJpZ2dlckFsbEZvcm1Db250cm9sVmFsaWRhdGlvbklmRXJyb3IocGFuZWw6IEFjY29yZGlvblBhbmVsTW9kZWwpIHtcbiAgICBpZiAocGFuZWwuc3RhdHVzID09PSBBY2NvcmRpb25TdGF0dXMuRXJyb3IpIHtcbiAgICAgIHRyaWdnZXJBbGxGb3JtQ29udHJvbFZhbGlkYXRpb24odGhpcy5mb3JtR3JvdXApO1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInBhbmVsIHwgYXN5bmM7IGxldCBwYW5lbFwiPlxuICA8ZGl2IFtuZ0NsYXNzXT1cImdldFBhbmVsU3RhdGVDbGFzc2VzKHBhbmVsKVwiPlxuICAgIDxkaXYgY2xhc3M9XCJjbHItYWNjb3JkaW9uLWhlYWRlciBjbHItc3RlcHBlci1oZWFkZXJcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiY2xyLWFjY29yZGlvbi1oZWFkZXItYnV0dG9uXCJcbiAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVBhbmVsKClcIlxuICAgICAgICBbaWRdPVwiZ2V0QWNjb3JkaW9uSGVhZGVySWQocGFuZWwudGVtcGxhdGVJZClcIlxuICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cInBhbmVsLmRpc2FibGVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJnZXRBY2NvcmRpb25Db250ZW50SWQocGFuZWwudGVtcGxhdGVJZClcIlxuICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cInBhbmVsLm9wZW5cIlxuICAgICAgICBbY2xhc3MuY2xyLWFjY29yZGlvbi1oZWFkZXItaGFzLWRlc2NyaXB0aW9uXT1cIihhY2NvcmRpb25EZXNjcmlwdGlvbi5jaGFuZ2VzIHwgYXN5bmMpPy5sZW5ndGggfHwgYWNjb3JkaW9uRGVzY3JpcHRpb24ubGVuZ3RoXCJcbiAgICAgICAgI2hlYWRlckJ1dHRvblxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNsci1zdGVwLXN0YXR1c1wiPlxuICAgICAgICAgIDxjZHMtaWNvbiBzaGFwZT1cImFuZ2xlXCIgZGlyZWN0aW9uPVwicmlnaHRcIiBjbGFzcz1cImNsci1hY2NvcmRpb24tYW5nbGUgY2xyLXN0ZXAtYW5nbGVcIj48L2Nkcy1pY29uPlxuICAgICAgICAgIDxjZHMtaWNvblxuICAgICAgICAgICAgc3RhdHVzPVwiZGFuZ2VyXCJcbiAgICAgICAgICAgICpuZ0lmPVwicGFuZWwuc3RhdHVzID09PSBBY2NvcmRpb25TdGF0dXMuRXJyb3JcIlxuICAgICAgICAgICAgc2hhcGU9XCJleGNsYW1hdGlvbi1jaXJjbGVcIlxuICAgICAgICAgICAgY2xhc3M9XCJjbHItc3RlcC1lcnJvci1pY29uXCJcbiAgICAgICAgICA+PC9jZHMtaWNvbj5cbiAgICAgICAgICA8Y2RzLWljb25cbiAgICAgICAgICAgIHN0YXR1cz1cInN1Y2Nlc3NcIlxuICAgICAgICAgICAgKm5nSWY9XCJwYW5lbC5zdGF0dXMgPT09IEFjY29yZGlvblN0YXR1cy5Db21wbGV0ZVwiXG4gICAgICAgICAgICBzaGFwZT1cImNoZWNrLWNpcmNsZVwiXG4gICAgICAgICAgICBjbGFzcz1cImNsci1zdGVwLWNvbXBsZXRlLWljb25cIlxuICAgICAgICAgID48L2Nkcy1pY29uPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY2xyLXN0ZXAtdGl0bGUtd3JhcHBlclwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2xyLXN0ZXAtbnVtYmVyXCI+e3twYW5lbE51bWJlcn19Ljwvc3Bhbj5cbiAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJjbHItc3RlcC10aXRsZVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJjbHItc3RlcC1kZXNjcmlwdGlvblwiPjwvbmctY29udGVudD5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGRpdiBjbGFzcz1cImNsci1zci1vbmx5XCIgcm9sZT1cInN0YXR1c1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicGFuZWwuc3RhdHVzID09PSBBY2NvcmRpb25TdGF0dXMuRXJyb3JcIj4ge3sgc3RlcEVycm9yVGV4dChwYW5lbE51bWJlcil9fSA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBhbmVsLnN0YXR1cyA9PT0gQWNjb3JkaW9uU3RhdHVzLkNvbXBsZXRlXCI+XG4gICAgICAgICAge3sgc3RlcENvbXBsZXRlVGV4dChwYW5lbE51bWJlcil9fVxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIEBza2lwSW5pdGlhbFJlbmRlclxuICAgICAgcm9sZT1cInJlZ2lvblwiXG4gICAgICBjbGFzcz1cImNsci1hY2NvcmRpb24tY29udGVudC1yZWdpb25cIlxuICAgICAgW2lkXT1cImdldEFjY29yZGlvbkNvbnRlbnRJZChwYW5lbC50ZW1wbGF0ZUlkKVwiXG4gICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCIhcGFuZWwub3BlblwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiZ2V0QWNjb3JkaW9uSGVhZGVySWQocGFuZWwudGVtcGxhdGVJZClcIlxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJwYW5lbC5vcGVuXCJcbiAgICAgICAgQHRvZ2dsZVxuICAgICAgICAoQHRvZ2dsZS5kb25lKT1cImNvbGxhcHNlUGFuZWxPbkFuaW1hdGlvbkRvbmUocGFuZWwpXCJcbiAgICAgICAgY2xhc3M9XCJjbHItYWNjb3JkaW9uLWNvbnRlbnRcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2xyLWFjY29yZGlvbi1pbm5lci1jb250ZW50XCI+XG4gICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19