@skyux/indicators 8.0.0-alpha.6 → 8.0.0-alpha.7

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 (54) hide show
  1. package/documentation.json +483 -573
  2. package/esm2020/lib/modules/alert/alert.component.mjs +17 -17
  3. package/esm2020/lib/modules/alert/alert.module.mjs +4 -4
  4. package/esm2020/lib/modules/chevron/chevron.component.mjs +3 -3
  5. package/esm2020/lib/modules/chevron/chevron.module.mjs +4 -4
  6. package/esm2020/lib/modules/expansion-indicator/expansion-indicator.component.mjs +3 -3
  7. package/esm2020/lib/modules/expansion-indicator/expansion-indicator.module.mjs +4 -4
  8. package/esm2020/lib/modules/help-inline/help-inline.component.mjs +3 -3
  9. package/esm2020/lib/modules/help-inline/help-inline.module.mjs +4 -4
  10. package/esm2020/lib/modules/icon/icon-class-list.pipe.mjs +3 -3
  11. package/esm2020/lib/modules/icon/icon-resolver.service.mjs +3 -3
  12. package/esm2020/lib/modules/icon/icon-stack.component.mjs +3 -3
  13. package/esm2020/lib/modules/icon/icon.component.mjs +3 -3
  14. package/esm2020/lib/modules/icon/icon.module.mjs +4 -4
  15. package/esm2020/lib/modules/key-info/key-info-label.component.mjs +3 -3
  16. package/esm2020/lib/modules/key-info/key-info-value.component.mjs +3 -3
  17. package/esm2020/lib/modules/key-info/key-info.component.mjs +3 -3
  18. package/esm2020/lib/modules/key-info/key-info.module.mjs +4 -4
  19. package/esm2020/lib/modules/label/label.component.mjs +15 -15
  20. package/esm2020/lib/modules/label/label.module.mjs +4 -4
  21. package/esm2020/lib/modules/shared/sky-indicators-resources.module.mjs +4 -4
  22. package/esm2020/lib/modules/status-indicator/status-indicator.component.mjs +14 -14
  23. package/esm2020/lib/modules/status-indicator/status-indicator.module.mjs +4 -4
  24. package/esm2020/lib/modules/text-highlight/text-highlight.directive.mjs +14 -14
  25. package/esm2020/lib/modules/text-highlight/text-highlight.module.mjs +4 -4
  26. package/esm2020/lib/modules/tokens/token.component.mjs +22 -22
  27. package/esm2020/lib/modules/tokens/tokens.component.mjs +52 -52
  28. package/esm2020/lib/modules/tokens/tokens.module.mjs +4 -4
  29. package/esm2020/lib/modules/wait/wait-adapter.service.mjs +3 -3
  30. package/esm2020/lib/modules/wait/wait-page.component.mjs +3 -3
  31. package/esm2020/lib/modules/wait/wait.component.mjs +21 -21
  32. package/esm2020/lib/modules/wait/wait.module.mjs +4 -4
  33. package/esm2020/lib/modules/wait/wait.service.mjs +16 -44
  34. package/esm2020/testing/alert-fixture.mjs +6 -6
  35. package/esm2020/testing/label-fixture.mjs +6 -6
  36. package/esm2020/testing/wait-fixture.mjs +6 -6
  37. package/fesm2015/skyux-indicators-testing.mjs +15 -15
  38. package/fesm2015/skyux-indicators-testing.mjs.map +1 -1
  39. package/fesm2015/skyux-indicators.mjs +248 -300
  40. package/fesm2015/skyux-indicators.mjs.map +1 -1
  41. package/fesm2020/skyux-indicators-testing.mjs +15 -15
  42. package/fesm2020/skyux-indicators-testing.mjs.map +1 -1
  43. package/fesm2020/skyux-indicators.mjs +248 -298
  44. package/fesm2020/skyux-indicators.mjs.map +1 -1
  45. package/lib/modules/icon/types/icon-type.d.ts +1 -1
  46. package/lib/modules/icon/types/icon-variant-type.d.ts +1 -1
  47. package/lib/modules/key-info/key-info-layout-type.d.ts +1 -1
  48. package/lib/modules/label/label-type.d.ts +1 -1
  49. package/lib/modules/shared/indicator-description-type.d.ts +1 -1
  50. package/lib/modules/shared/indicator-icon-type.d.ts +1 -1
  51. package/lib/modules/wait/wait.service.d.ts +1 -5
  52. package/package.json +11 -11
  53. package/esm2020/lib/modules/wait/wait-page-adapter.service.mjs +0 -26
  54. package/lib/modules/wait/wait-page-adapter.service.d.ts +0 -10
@@ -6,24 +6,6 @@ import * as i1 from "@angular/common";
6
6
  import * as i2 from "../icon/icon.component";
7
7
  import * as i3 from "@skyux/i18n";
8
8
  export class SkyTokenComponent {
9
- constructor(elementRef) {
10
- /**
11
- * Fires when users click the close button.
12
- */
13
- this.dismiss = new EventEmitter();
14
- /**
15
- * Fires when users place focus on the token by navigating to it with the `Tab` key.
16
- */
17
- this.tokenFocus = new EventEmitter();
18
- this.isFocused = false;
19
- this.tokenActive = false;
20
- this.closeActive = false;
21
- this.tabIndex = 0;
22
- _SkyTokenComponent_elementRef.set(this, void 0);
23
- _SkyTokenComponent__disabled.set(this, false);
24
- _SkyTokenComponent__dismissible.set(this, true);
25
- __classPrivateFieldSet(this, _SkyTokenComponent_elementRef, elementRef, "f");
26
- }
27
9
  /**
28
10
  * Whether to disable the token to prevent users from selecting it, dismissing it,
29
11
  * or navigating to it with the arrow keys. When the token is disabled,
@@ -54,6 +36,24 @@ export class SkyTokenComponent {
54
36
  set focusable(value) {
55
37
  this.tabIndex = value !== false ? 0 : -1;
56
38
  }
39
+ constructor(elementRef) {
40
+ /**
41
+ * Fires when users click the close button.
42
+ */
43
+ this.dismiss = new EventEmitter();
44
+ /**
45
+ * Fires when users place focus on the token by navigating to it with the `Tab` key.
46
+ */
47
+ this.tokenFocus = new EventEmitter();
48
+ this.isFocused = false;
49
+ this.tokenActive = false;
50
+ this.closeActive = false;
51
+ this.tabIndex = 0;
52
+ _SkyTokenComponent_elementRef.set(this, void 0);
53
+ _SkyTokenComponent__disabled.set(this, false);
54
+ _SkyTokenComponent__dismissible.set(this, true);
55
+ __classPrivateFieldSet(this, _SkyTokenComponent_elementRef, elementRef, "f");
56
+ }
57
57
  onFocusIn() {
58
58
  if (!this.isFocused) {
59
59
  this.tokenFocus.emit();
@@ -78,9 +78,9 @@ export class SkyTokenComponent {
78
78
  }
79
79
  }
80
80
  _SkyTokenComponent_elementRef = new WeakMap(), _SkyTokenComponent__disabled = new WeakMap(), _SkyTokenComponent__dismissible = new WeakMap();
81
- SkyTokenComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyTokenComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
82
- SkyTokenComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: SkyTokenComponent, selector: "sky-token", inputs: { disabled: "disabled", ariaLabel: "ariaLabel", dismissible: "dismissible", focusable: "focusable", role: "role" }, outputs: { dismiss: "dismiss", tokenFocus: "tokenFocus" }, viewQueries: [{ propertyName: "actionButtonRef", first: true, predicate: ["actionButton"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div\n class=\"sky-token sky-btn sky-btn-default\"\n [attr.role]=\"role\"\n [ngClass]=\"{\n 'sky-btn-disabled': disabled,\n 'sky-token-disabled': disabled,\n 'sky-token-dismissible': dismissible,\n 'sky-token-active': tokenActive && !closeActive,\n 'sky-token-focused': isFocused\n }\"\n (document:mouseup)=\"setTokenActive(false)\"\n (focusin)=\"onFocusIn()\"\n (focusout)=\"onFocusOut($event)\"\n (mousedown)=\"setTokenActive(true)\"\n>\n <span\n [attr.role]=\"role === 'row' ? 'gridcell' : undefined\"\n class=\"sky-token-cell\"\n >\n <button\n class=\"sky-btn sky-btn-default sky-token-btn sky-token-btn-action\"\n type=\"button\"\n [attr.tabindex]=\"tabIndex\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-btn-disabled': disabled\n }\"\n #actionButton\n >\n <ng-content></ng-content>\n </button>\n </span>\n <span\n *ngIf=\"dismissible\"\n class=\"sky-token-cell\"\n [attr.role]=\"role === 'row' ? 'gridcell' : undefined\"\n >\n <button\n class=\"sky-btn sky-token-btn sky-token-btn-close\"\n type=\"button\"\n [attr.aria-label]=\"\n ariaLabel || ('skyux_tokens_dismiss_button_title' | skyLibResources)\n \"\n [attr.tabindex]=\"tabIndex\"\n [attr.title]=\"\n ariaLabel || ('skyux_tokens_dismiss_button_title' | skyLibResources)\n \"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-btn-disabled': disabled,\n 'sky-token-btn-close-active': closeActive\n }\"\n (click)=\"dismissToken($event)\"\n (document:mouseup)=\"setCloseActive(false)\"\n (mousedown)=\"setCloseActive(true)\"\n >\n <sky-icon\n class=\"sky-token-btn-close-icon-default\"\n icon=\"times\"\n ></sky-icon>\n <sky-icon\n class=\"sky-token-btn-close-icon-modern\"\n icon=\"close\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n </span>\n</div>\n", styles: [".sky-token{background-color:#c1e8fb;border:1px solid #00b4f1;padding:0;display:inline-block}.sky-token:hover,.sky-token.sky-token-focused{background-color:#91d6f8;border-color:#008ebe;cursor:pointer}.sky-token.sky-token-focused{box-shadow:0 0 8px #00b4f199;border:1px solid var(--sky-highlight-color-info);outline:none}.sky-token.sky-btn-disabled .sky-btn-disabled{opacity:1}.sky-btn-disabled{cursor:default;-webkit-user-select:none;user-select:none}.sky-token-btn{background-color:transparent;border:0;padding:2px 8px}.sky-token-btn-action:focus-visible{outline:none}.sky-token-btn-close{margin-left:-2px;opacity:.9}.sky-token-btn-close:hover,.sky-token-btn-close:focus-visible{opacity:1}.sky-token-dismissible .sky-token-btn-action{padding-right:0}.sky-token-btn-close-icon-modern{display:none}:host-context(.sky-theme-modern) .sky-token{align-items:center;display:inline-flex;font-size:14px}:host-context(.sky-theme-modern) .sky-token:not(.sky-btn-disabled){border:none;box-shadow:inset 0 0 0 1px #81d4f7}:host-context(.sky-theme-modern) .sky-token.sky-token-dismissible{padding-right:1px}:host-context(.sky-theme-modern) .sky-token.sky-token-dismissible .sky-token-btn-action{padding-right:0}:host-context(.sky-theme-modern) .sky-token:hover:not(:active){border:none;box-shadow:inset 0 0 0 1px #1870b8}:host-context(.sky-theme-modern) .sky-token.sky-token-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}:host-context(.sky-theme-modern) .sky-token.sky-token-focused:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}:host-context(.sky-theme-modern) .sky-token.sky-token-focused,:host-context(.sky-theme-modern) .sky-token:hover{background-color:#c1e8fb}:host-context(.sky-theme-modern) .sky-token-btn{padding:1px 5px;border:0;box-shadow:none;background-color:transparent}:host-context(.sky-theme-modern) .sky-token-btn.sky-btn-disabled{color:#212327}:host-context(.sky-theme-modern) .sky-token-btn-action{font-size:14px}:host-context(.sky-theme-modern) .sky-token-btn-close{align-items:center;border-radius:5px;display:flex;height:20px;margin-left:5px;width:20px;padding:0}:host-context(.sky-theme-modern) .sky-token-btn-close:hover{border:none;box-shadow:inset 0 0 0 1px transparent}:host-context(.sky-theme-modern) .sky-token-btn-close.sky-token-btn-close-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}:host-context(.sky-theme-modern) .sky-token-btn-close:focus-visible{outline:none}:host-context(.sky-theme-modern) .sky-token-btn-close:focus-visible:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}:host-context(.sky-theme-modern) .sky-token-btn-close-icon-default{display:none}:host-context(.sky-theme-modern) .sky-token-btn-close-icon-modern{display:inline-block;width:100%}.sky-theme-modern .sky-token{align-items:center;display:inline-flex;font-size:14px}.sky-theme-modern .sky-token:not(.sky-btn-disabled){border:none;box-shadow:inset 0 0 0 1px #81d4f7}.sky-theme-modern .sky-token.sky-token-dismissible{padding-right:1px}.sky-theme-modern .sky-token.sky-token-dismissible .sky-token-btn-action{padding-right:0}.sky-theme-modern .sky-token:hover:not(:active){border:none;box-shadow:inset 0 0 0 1px #1870b8}.sky-theme-modern .sky-token.sky-token-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}.sky-theme-modern .sky-token.sky-token-focused:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}.sky-theme-modern .sky-token.sky-token-focused,.sky-theme-modern .sky-token:hover{background-color:#c1e8fb}.sky-theme-modern .sky-token-btn{padding:1px 5px;border:0;box-shadow:none;background-color:transparent}.sky-theme-modern .sky-token-btn.sky-btn-disabled{color:#212327}.sky-theme-modern .sky-token-btn-action{font-size:14px}.sky-theme-modern .sky-token-btn-close{align-items:center;border-radius:5px;display:flex;height:20px;margin-left:5px;width:20px;padding:0}.sky-theme-modern .sky-token-btn-close:hover{border:none;box-shadow:inset 0 0 0 1px transparent}.sky-theme-modern .sky-token-btn-close.sky-token-btn-close-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}.sky-theme-modern .sky-token-btn-close:focus-visible{outline:none}.sky-theme-modern .sky-token-btn-close:focus-visible:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}.sky-theme-modern .sky-token-btn-close-icon-default{display:none}.sky-theme-modern .sky-token-btn-close-icon-modern{display:inline-block;width:100%}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token{background-color:#c1e8fb}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token,:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token-btn-close{color:#212327}.sky-theme-modern.sky-theme-mode-dark .sky-token{background-color:#c1e8fb}.sky-theme-modern.sky-theme-mode-dark .sky-token,.sky-theme-modern.sky-theme-mode-dark .sky-token-btn-close{color:#212327}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SkyIconComponent, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyTokenComponent, decorators: [{
81
+ SkyTokenComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyTokenComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
82
+ SkyTokenComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: SkyTokenComponent, selector: "sky-token", inputs: { disabled: "disabled", ariaLabel: "ariaLabel", dismissible: "dismissible", focusable: "focusable", role: "role" }, outputs: { dismiss: "dismiss", tokenFocus: "tokenFocus" }, viewQueries: [{ propertyName: "actionButtonRef", first: true, predicate: ["actionButton"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div\n class=\"sky-token sky-btn sky-btn-default\"\n [attr.role]=\"role\"\n [ngClass]=\"{\n 'sky-btn-disabled': disabled,\n 'sky-token-disabled': disabled,\n 'sky-token-dismissible': dismissible,\n 'sky-token-active': tokenActive && !closeActive,\n 'sky-token-focused': isFocused\n }\"\n (document:mouseup)=\"setTokenActive(false)\"\n (focusin)=\"onFocusIn()\"\n (focusout)=\"onFocusOut($event)\"\n (mousedown)=\"setTokenActive(true)\"\n>\n <span\n [attr.role]=\"role === 'row' ? 'gridcell' : undefined\"\n class=\"sky-token-cell\"\n >\n <button\n class=\"sky-btn sky-btn-default sky-token-btn sky-token-btn-action\"\n type=\"button\"\n [attr.tabindex]=\"tabIndex\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-btn-disabled': disabled\n }\"\n #actionButton\n >\n <ng-content></ng-content>\n </button>\n </span>\n <span\n *ngIf=\"dismissible\"\n class=\"sky-token-cell\"\n [attr.role]=\"role === 'row' ? 'gridcell' : undefined\"\n >\n <button\n class=\"sky-btn sky-token-btn sky-token-btn-close\"\n type=\"button\"\n [attr.aria-label]=\"\n ariaLabel || ('skyux_tokens_dismiss_button_title' | skyLibResources)\n \"\n [attr.tabindex]=\"tabIndex\"\n [attr.title]=\"\n ariaLabel || ('skyux_tokens_dismiss_button_title' | skyLibResources)\n \"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-btn-disabled': disabled,\n 'sky-token-btn-close-active': closeActive\n }\"\n (click)=\"dismissToken($event)\"\n (document:mouseup)=\"setCloseActive(false)\"\n (mousedown)=\"setCloseActive(true)\"\n >\n <sky-icon\n class=\"sky-token-btn-close-icon-default\"\n icon=\"times\"\n ></sky-icon>\n <sky-icon\n class=\"sky-token-btn-close-icon-modern\"\n icon=\"close\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n </span>\n</div>\n", styles: [".sky-token{background-color:#c1e8fb;border:1px solid #00b4f1;padding:0;display:inline-block}.sky-token:hover,.sky-token.sky-token-focused{background-color:#91d6f8;border-color:#008ebe;cursor:pointer}.sky-token.sky-token-focused{box-shadow:0 0 8px #00b4f199;border:1px solid var(--sky-highlight-color-info);outline:none}.sky-token.sky-btn-disabled .sky-btn-disabled{opacity:1}.sky-btn-disabled{cursor:default;-webkit-user-select:none;user-select:none}.sky-token-btn{background-color:transparent;border:0;padding:2px 8px}.sky-token-btn-action:focus-visible{outline:none}.sky-token-btn-close{margin-left:-2px;opacity:.9}.sky-token-btn-close:hover,.sky-token-btn-close:focus-visible{opacity:1}.sky-token-dismissible .sky-token-btn-action{padding-right:0}.sky-token-btn-close-icon-modern{display:none}:host-context(.sky-theme-modern) .sky-token{align-items:center;display:inline-flex;font-size:14px}:host-context(.sky-theme-modern) .sky-token:not(.sky-btn-disabled){border:none;box-shadow:inset 0 0 0 1px #81d4f7}:host-context(.sky-theme-modern) .sky-token.sky-token-dismissible{padding-right:1px}:host-context(.sky-theme-modern) .sky-token.sky-token-dismissible .sky-token-btn-action{padding-right:0}:host-context(.sky-theme-modern) .sky-token:hover:not(:active){border:none;box-shadow:inset 0 0 0 1px #1870b8}:host-context(.sky-theme-modern) .sky-token.sky-token-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}:host-context(.sky-theme-modern) .sky-token.sky-token-focused:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}:host-context(.sky-theme-modern) .sky-token.sky-token-focused,:host-context(.sky-theme-modern) .sky-token:hover{background-color:#c1e8fb}:host-context(.sky-theme-modern) .sky-token-btn{padding:1px 5px;border:0;box-shadow:none;background-color:transparent}:host-context(.sky-theme-modern) .sky-token-btn.sky-btn-disabled{color:#212327}:host-context(.sky-theme-modern) .sky-token-btn-action{font-size:14px}:host-context(.sky-theme-modern) .sky-token-btn-close{align-items:center;border-radius:5px;display:flex;height:20px;margin-left:5px;width:20px;padding:0}:host-context(.sky-theme-modern) .sky-token-btn-close:hover{border:none;box-shadow:inset 0 0 0 1px transparent}:host-context(.sky-theme-modern) .sky-token-btn-close.sky-token-btn-close-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}:host-context(.sky-theme-modern) .sky-token-btn-close:focus-visible{outline:none}:host-context(.sky-theme-modern) .sky-token-btn-close:focus-visible:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}:host-context(.sky-theme-modern) .sky-token-btn-close-icon-default{display:none}:host-context(.sky-theme-modern) .sky-token-btn-close-icon-modern{display:inline-block;width:100%}.sky-theme-modern .sky-token{align-items:center;display:inline-flex;font-size:14px}.sky-theme-modern .sky-token:not(.sky-btn-disabled){border:none;box-shadow:inset 0 0 0 1px #81d4f7}.sky-theme-modern .sky-token.sky-token-dismissible{padding-right:1px}.sky-theme-modern .sky-token.sky-token-dismissible .sky-token-btn-action{padding-right:0}.sky-theme-modern .sky-token:hover:not(:active){border:none;box-shadow:inset 0 0 0 1px #1870b8}.sky-theme-modern .sky-token.sky-token-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}.sky-theme-modern .sky-token.sky-token-focused:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}.sky-theme-modern .sky-token.sky-token-focused,.sky-theme-modern .sky-token:hover{background-color:#c1e8fb}.sky-theme-modern .sky-token-btn{padding:1px 5px;border:0;box-shadow:none;background-color:transparent}.sky-theme-modern .sky-token-btn.sky-btn-disabled{color:#212327}.sky-theme-modern .sky-token-btn-action{font-size:14px}.sky-theme-modern .sky-token-btn-close{align-items:center;border-radius:5px;display:flex;height:20px;margin-left:5px;width:20px;padding:0}.sky-theme-modern .sky-token-btn-close:hover{border:none;box-shadow:inset 0 0 0 1px transparent}.sky-theme-modern .sky-token-btn-close.sky-token-btn-close-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}.sky-theme-modern .sky-token-btn-close:focus-visible{outline:none}.sky-theme-modern .sky-token-btn-close:focus-visible:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}.sky-theme-modern .sky-token-btn-close-icon-default{display:none}.sky-theme-modern .sky-token-btn-close-icon-modern{display:inline-block;width:100%}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token{background-color:#c1e8fb}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token,:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token-btn-close{color:#212327}.sky-theme-modern.sky-theme-mode-dark .sky-token{background-color:#c1e8fb}.sky-theme-modern.sky-theme-mode-dark .sky-token,.sky-theme-modern.sky-theme-mode-dark .sky-token-btn-close{color:#212327}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SkyIconComponent, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyTokenComponent, decorators: [{
84
84
  type: Component,
85
85
  args: [{ selector: 'sky-token', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"sky-token sky-btn sky-btn-default\"\n [attr.role]=\"role\"\n [ngClass]=\"{\n 'sky-btn-disabled': disabled,\n 'sky-token-disabled': disabled,\n 'sky-token-dismissible': dismissible,\n 'sky-token-active': tokenActive && !closeActive,\n 'sky-token-focused': isFocused\n }\"\n (document:mouseup)=\"setTokenActive(false)\"\n (focusin)=\"onFocusIn()\"\n (focusout)=\"onFocusOut($event)\"\n (mousedown)=\"setTokenActive(true)\"\n>\n <span\n [attr.role]=\"role === 'row' ? 'gridcell' : undefined\"\n class=\"sky-token-cell\"\n >\n <button\n class=\"sky-btn sky-btn-default sky-token-btn sky-token-btn-action\"\n type=\"button\"\n [attr.tabindex]=\"tabIndex\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-btn-disabled': disabled\n }\"\n #actionButton\n >\n <ng-content></ng-content>\n </button>\n </span>\n <span\n *ngIf=\"dismissible\"\n class=\"sky-token-cell\"\n [attr.role]=\"role === 'row' ? 'gridcell' : undefined\"\n >\n <button\n class=\"sky-btn sky-token-btn sky-token-btn-close\"\n type=\"button\"\n [attr.aria-label]=\"\n ariaLabel || ('skyux_tokens_dismiss_button_title' | skyLibResources)\n \"\n [attr.tabindex]=\"tabIndex\"\n [attr.title]=\"\n ariaLabel || ('skyux_tokens_dismiss_button_title' | skyLibResources)\n \"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-btn-disabled': disabled,\n 'sky-token-btn-close-active': closeActive\n }\"\n (click)=\"dismissToken($event)\"\n (document:mouseup)=\"setCloseActive(false)\"\n (mousedown)=\"setCloseActive(true)\"\n >\n <sky-icon\n class=\"sky-token-btn-close-icon-default\"\n icon=\"times\"\n ></sky-icon>\n <sky-icon\n class=\"sky-token-btn-close-icon-modern\"\n icon=\"close\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n </span>\n</div>\n", styles: [".sky-token{background-color:#c1e8fb;border:1px solid #00b4f1;padding:0;display:inline-block}.sky-token:hover,.sky-token.sky-token-focused{background-color:#91d6f8;border-color:#008ebe;cursor:pointer}.sky-token.sky-token-focused{box-shadow:0 0 8px #00b4f199;border:1px solid var(--sky-highlight-color-info);outline:none}.sky-token.sky-btn-disabled .sky-btn-disabled{opacity:1}.sky-btn-disabled{cursor:default;-webkit-user-select:none;user-select:none}.sky-token-btn{background-color:transparent;border:0;padding:2px 8px}.sky-token-btn-action:focus-visible{outline:none}.sky-token-btn-close{margin-left:-2px;opacity:.9}.sky-token-btn-close:hover,.sky-token-btn-close:focus-visible{opacity:1}.sky-token-dismissible .sky-token-btn-action{padding-right:0}.sky-token-btn-close-icon-modern{display:none}:host-context(.sky-theme-modern) .sky-token{align-items:center;display:inline-flex;font-size:14px}:host-context(.sky-theme-modern) .sky-token:not(.sky-btn-disabled){border:none;box-shadow:inset 0 0 0 1px #81d4f7}:host-context(.sky-theme-modern) .sky-token.sky-token-dismissible{padding-right:1px}:host-context(.sky-theme-modern) .sky-token.sky-token-dismissible .sky-token-btn-action{padding-right:0}:host-context(.sky-theme-modern) .sky-token:hover:not(:active){border:none;box-shadow:inset 0 0 0 1px #1870b8}:host-context(.sky-theme-modern) .sky-token.sky-token-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}:host-context(.sky-theme-modern) .sky-token.sky-token-focused:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}:host-context(.sky-theme-modern) .sky-token.sky-token-focused,:host-context(.sky-theme-modern) .sky-token:hover{background-color:#c1e8fb}:host-context(.sky-theme-modern) .sky-token-btn{padding:1px 5px;border:0;box-shadow:none;background-color:transparent}:host-context(.sky-theme-modern) .sky-token-btn.sky-btn-disabled{color:#212327}:host-context(.sky-theme-modern) .sky-token-btn-action{font-size:14px}:host-context(.sky-theme-modern) .sky-token-btn-close{align-items:center;border-radius:5px;display:flex;height:20px;margin-left:5px;width:20px;padding:0}:host-context(.sky-theme-modern) .sky-token-btn-close:hover{border:none;box-shadow:inset 0 0 0 1px transparent}:host-context(.sky-theme-modern) .sky-token-btn-close.sky-token-btn-close-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}:host-context(.sky-theme-modern) .sky-token-btn-close:focus-visible{outline:none}:host-context(.sky-theme-modern) .sky-token-btn-close:focus-visible:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}:host-context(.sky-theme-modern) .sky-token-btn-close-icon-default{display:none}:host-context(.sky-theme-modern) .sky-token-btn-close-icon-modern{display:inline-block;width:100%}.sky-theme-modern .sky-token{align-items:center;display:inline-flex;font-size:14px}.sky-theme-modern .sky-token:not(.sky-btn-disabled){border:none;box-shadow:inset 0 0 0 1px #81d4f7}.sky-theme-modern .sky-token.sky-token-dismissible{padding-right:1px}.sky-theme-modern .sky-token.sky-token-dismissible .sky-token-btn-action{padding-right:0}.sky-theme-modern .sky-token:hover:not(:active){border:none;box-shadow:inset 0 0 0 1px #1870b8}.sky-theme-modern .sky-token.sky-token-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}.sky-theme-modern .sky-token.sky-token-focused:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}.sky-theme-modern .sky-token.sky-token-focused,.sky-theme-modern .sky-token:hover{background-color:#c1e8fb}.sky-theme-modern .sky-token-btn{padding:1px 5px;border:0;box-shadow:none;background-color:transparent}.sky-theme-modern .sky-token-btn.sky-btn-disabled{color:#212327}.sky-theme-modern .sky-token-btn-action{font-size:14px}.sky-theme-modern .sky-token-btn-close{align-items:center;border-radius:5px;display:flex;height:20px;margin-left:5px;width:20px;padding:0}.sky-theme-modern .sky-token-btn-close:hover{border:none;box-shadow:inset 0 0 0 1px transparent}.sky-theme-modern .sky-token-btn-close.sky-token-btn-close-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}.sky-theme-modern .sky-token-btn-close:focus-visible{outline:none}.sky-theme-modern .sky-token-btn-close:focus-visible:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}.sky-theme-modern .sky-token-btn-close-icon-default{display:none}.sky-theme-modern .sky-token-btn-close-icon-modern{display:inline-block;width:100%}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token{background-color:#c1e8fb}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token,:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token-btn-close{color:#212327}.sky-theme-modern.sky-theme-mode-dark .sky-token{background-color:#c1e8fb}.sky-theme-modern.sky-theme-mode-dark .sky-token,.sky-theme-modern.sky-theme-mode-dark .sky-token-btn-close{color:#212327}\n"] }]
86
86
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { disabled: [{
@@ -101,4 +101,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
101
101
  type: ViewChild,
102
102
  args: ['actionButton', { read: ElementRef, static: true }]
103
103
  }] } });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2luZGljYXRvcnMvc3JjL2xpYi9tb2R1bGVzL3Rva2Vucy90b2tlbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvaW5kaWNhdG9ycy9zcmMvbGliL21vZHVsZXMvdG9rZW5zL3Rva2VuLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFRdkIsTUFBTSxPQUFPLGlCQUFpQjtJQWdGNUIsWUFBWSxVQUFzQjtRQXpCbEM7O1dBRUc7UUFFSSxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUUxQzs7V0FFRztRQUVJLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBS3RDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsYUFBUSxHQUFHLENBQUMsQ0FBQztRQUVwQixnREFBd0I7UUFFeEIsdUNBQWEsS0FBSyxFQUFDO1FBQ25CLDBDQUFnQixJQUFJLEVBQUM7UUFHbkIsdUJBQUEsSUFBSSxpQ0FBZSxVQUFVLE1BQUEsQ0FBQztJQUNoQyxDQUFDO0lBakZEOzs7OztPQUtHO0lBQ0gsSUFDVyxRQUFRLENBQUMsS0FBMEI7UUFDNUMsdUJBQUEsSUFBSSxnQ0FBYyxDQUFDLENBQUMsS0FBSyxNQUFBLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLHVCQUFBLElBQUksb0NBQVcsQ0FBQztJQUN6QixDQUFDO0lBV0Q7OztPQUdHO0lBQ0gsSUFDVyxXQUFXLENBQUMsS0FBMEI7UUFDL0MsdUJBQUEsSUFBSSxtQ0FBaUIsS0FBSyxLQUFLLEtBQUssTUFBQSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyx1QkFBQSxJQUFJLHVDQUFjLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUNXLFNBQVMsQ0FBQyxLQUEwQjtRQUM3QyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQXNDUyxTQUFTO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBRVMsVUFBVSxDQUFDLEtBQWlCO1FBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsdUJBQUEsSUFBSSxxQ0FBWSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQ3RELEtBQUssQ0FBQyxhQUFhLENBQ3BCLENBQUM7SUFDSixDQUFDO0lBRU0sWUFBWSxDQUFDLEtBQVk7UUFDOUIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLGVBQWUsRUFBRSxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVNLGNBQWMsQ0FBQyxXQUFvQjtRQUN4QyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNqQyxDQUFDO0lBRU0sY0FBYyxDQUFDLFdBQW9CO1FBQ3hDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ2pDLENBQUM7Ozs4R0FoSFUsaUJBQWlCO2tHQUFqQixpQkFBaUIsb1VBbUVPLFVBQVUsMkNDbkYvQyxtOERBcUVBOzJGRHJEYSxpQkFBaUI7a0JBTjdCLFNBQVM7K0JBQ0UsV0FBVyxtQkFHSix1QkFBdUIsQ0FBQyxNQUFNO2lHQVVwQyxRQUFRO3NCQURsQixLQUFLO2dCQWdCQyxTQUFTO3NCQURmLEtBQUs7Z0JBUUssV0FBVztzQkFEckIsS0FBSztnQkFlSyxTQUFTO3NCQURuQixLQUFLO2dCQVVDLElBQUk7c0JBRFYsS0FBSztnQkFPQyxPQUFPO3NCQURiLE1BQU07Z0JBT0EsVUFBVTtzQkFEaEIsTUFBTTtnQkFJQSxlQUFlO3NCQURyQixTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXRva2VuJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rva2VuLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdG9rZW4uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreVRva2VuQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgdG9rZW4gdG8gcHJldmVudCB1c2VycyBmcm9tIHNlbGVjdGluZyBpdCwgZGlzbWlzc2luZyBpdCxcbiAgICogb3IgbmF2aWdhdGluZyB0byBpdCB3aXRoIHRoZSBhcnJvdyBrZXlzLiBXaGVuIHRoZSB0b2tlbiBpcyBkaXNhYmxlZCxcbiAgICogdXNlcnMgY2FuIHN0aWxsIHBsYWNlIGZvY3VzIG9uIGl0IHVzaW5nIHRoZSBgVGFiYCBrZXkuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2Rpc2FibGVkID0gISF2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19kaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgQVJJQSBsYWJlbCBmb3IgdGhlIHRva2VuJ3MgY2xvc2UgYnV0dG9uLiBUaGlzIHNldHMgdGhlIGJ1dHRvbidzIGBhcmlhLWxhYmVsYCB0byBwcm92aWRlIGEgdGV4dCBlcXVpdmFsZW50IGZvciBzY3JlZW4gcmVhZGVyc1xuICAgKiBbdG8gc3VwcG9ydCBhY2Nlc3NpYmlsaXR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL2FjY2Vzc2liaWxpdHkpLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgYGFyaWEtbGFiZWxgIGF0dHJpYnV0ZSwgc2VlIHRoZSBbV0FJLUFSSUEgZGVmaW5pdGlvbl0oaHR0cHM6Ly93d3cudzMub3JnL1RSL3dhaS1hcmlhLyNhcmlhLWxhYmVsKS5cbiAgICogQGRlZmF1bHQgXCJSZW1vdmUgaXRlbVwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYXJpYUxhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdXNlcnMgY2FuIHJlbW92ZSB0aGUgdG9rZW4gZnJvbSB0aGUgbGlzdCBieSBzZWxlY3RpbmcgdGhlIGNsb3NlIGJ1dHRvbi5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNtaXNzaWJsZSh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kaXNtaXNzaWJsZSA9IHZhbHVlICE9PSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzbWlzc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19kaXNtaXNzaWJsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHVzZXJzIGNhbiBwbGFjZSBmb2N1cyBvbiB0aGUgdG9rZW4gdXNpbmcgdGhlIGBUYWJgLiBUaGlzIGRvZXMgbm90XG4gICAqIGFmZmVjdCB0aGUgYWJpbGl0eSB0byBzZWxlY3QgdGhlIHRva2VuLCBkaXNtaXNzIGl0LCBvciBuYXZpZ2F0ZSB0byBpdCB3aXRoIHRoZSBhcnJvdyBrZXlzLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGZvY3VzYWJsZSh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMudGFiSW5kZXggPSB2YWx1ZSAhPT0gZmFsc2UgPyAwIDogLTE7XG4gIH1cblxuICAvKipcbiAgICogVXNlZCBieSB0aGUgdG9rZW5zIGNvbXBvbmVudCB0byBzZXQgdGhlIGFwcHJvcHJpYXRlIHJvbGUgZm9yIGVhY2ggdG9rZW4uXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHJvbGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBjbGljayB0aGUgY2xvc2UgYnV0dG9uLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBkaXNtaXNzID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIHBsYWNlIGZvY3VzIG9uIHRoZSB0b2tlbiBieSBuYXZpZ2F0aW5nIHRvIGl0IHdpdGggdGhlIGBUYWJgIGtleS5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgdG9rZW5Gb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAVmlld0NoaWxkKCdhY3Rpb25CdXR0b24nLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgYWN0aW9uQnV0dG9uUmVmOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBpc0ZvY3VzZWQgPSBmYWxzZTtcbiAgcHVibGljIHRva2VuQWN0aXZlID0gZmFsc2U7XG4gIHB1YmxpYyBjbG9zZUFjdGl2ZSA9IGZhbHNlO1xuICBwdWJsaWMgdGFiSW5kZXggPSAwO1xuXG4gICNlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuXG4gICNfZGlzYWJsZWQgPSBmYWxzZTtcbiAgI19kaXNtaXNzaWJsZSA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIHRoaXMuI2VsZW1lbnRSZWYgPSBlbGVtZW50UmVmO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uRm9jdXNJbigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNGb2N1c2VkKSB7XG4gICAgICB0aGlzLnRva2VuRm9jdXMuZW1pdCgpO1xuICAgICAgdGhpcy5pc0ZvY3VzZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvbkZvY3VzT3V0KGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5pc0ZvY3VzZWQgPSB0aGlzLiNlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoXG4gICAgICBldmVudC5yZWxhdGVkVGFyZ2V0XG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNtaXNzVG9rZW4oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5kaXNtaXNzLmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBmb2N1c0VsZW1lbnQoKTogdm9pZCB7XG4gICAgdGhpcy5hY3Rpb25CdXR0b25SZWY/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRUb2tlbkFjdGl2ZSh0b2tlbkFjdGl2ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMudG9rZW5BY3RpdmUgPSB0b2tlbkFjdGl2ZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRDbG9zZUFjdGl2ZShjbG9zZUFjdGl2ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuY2xvc2VBY3RpdmUgPSBjbG9zZUFjdGl2ZTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInNreS10b2tlbiBza3ktYnRuIHNreS1idG4tZGVmYXVsdFwiXG4gIFthdHRyLnJvbGVdPVwicm9sZVwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnc2t5LWJ0bi1kaXNhYmxlZCc6IGRpc2FibGVkLFxuICAgICdza3ktdG9rZW4tZGlzYWJsZWQnOiBkaXNhYmxlZCxcbiAgICAnc2t5LXRva2VuLWRpc21pc3NpYmxlJzogZGlzbWlzc2libGUsXG4gICAgJ3NreS10b2tlbi1hY3RpdmUnOiB0b2tlbkFjdGl2ZSAmJiAhY2xvc2VBY3RpdmUsXG4gICAgJ3NreS10b2tlbi1mb2N1c2VkJzogaXNGb2N1c2VkXG4gIH1cIlxuICAoZG9jdW1lbnQ6bW91c2V1cCk9XCJzZXRUb2tlbkFjdGl2ZShmYWxzZSlcIlxuICAoZm9jdXNpbik9XCJvbkZvY3VzSW4oKVwiXG4gIChmb2N1c291dCk9XCJvbkZvY3VzT3V0KCRldmVudClcIlxuICAobW91c2Vkb3duKT1cInNldFRva2VuQWN0aXZlKHRydWUpXCJcbj5cbiAgPHNwYW5cbiAgICBbYXR0ci5yb2xlXT1cInJvbGUgPT09ICdyb3cnID8gJ2dyaWRjZWxsJyA6IHVuZGVmaW5lZFwiXG4gICAgY2xhc3M9XCJza3ktdG9rZW4tY2VsbFwiXG4gID5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS10b2tlbi1idG4gc2t5LXRva2VuLWJ0bi1hY3Rpb25cIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBbYXR0ci50YWJpbmRleF09XCJ0YWJJbmRleFwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnc2t5LWJ0bi1kaXNhYmxlZCc6IGRpc2FibGVkXG4gICAgICB9XCJcbiAgICAgICNhY3Rpb25CdXR0b25cbiAgICA+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9idXR0b24+XG4gIDwvc3Bhbj5cbiAgPHNwYW5cbiAgICAqbmdJZj1cImRpc21pc3NpYmxlXCJcbiAgICBjbGFzcz1cInNreS10b2tlbi1jZWxsXCJcbiAgICBbYXR0ci5yb2xlXT1cInJvbGUgPT09ICdyb3cnID8gJ2dyaWRjZWxsJyA6IHVuZGVmaW5lZFwiXG4gID5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cInNreS1idG4gc2t5LXRva2VuLWJ0biBza3ktdG9rZW4tYnRuLWNsb3NlXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgYXJpYUxhYmVsIHx8ICgnc2t5dXhfdG9rZW5zX2Rpc21pc3NfYnV0dG9uX3RpdGxlJyB8IHNreUxpYlJlc291cmNlcylcbiAgICAgIFwiXG4gICAgICBbYXR0ci50YWJpbmRleF09XCJ0YWJJbmRleFwiXG4gICAgICBbYXR0ci50aXRsZV09XCJcbiAgICAgICAgYXJpYUxhYmVsIHx8ICgnc2t5dXhfdG9rZW5zX2Rpc21pc3NfYnV0dG9uX3RpdGxlJyB8IHNreUxpYlJlc291cmNlcylcbiAgICAgIFwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnc2t5LWJ0bi1kaXNhYmxlZCc6IGRpc2FibGVkLFxuICAgICAgICAnc2t5LXRva2VuLWJ0bi1jbG9zZS1hY3RpdmUnOiBjbG9zZUFjdGl2ZVxuICAgICAgfVwiXG4gICAgICAoY2xpY2spPVwiZGlzbWlzc1Rva2VuKCRldmVudClcIlxuICAgICAgKGRvY3VtZW50Om1vdXNldXApPVwic2V0Q2xvc2VBY3RpdmUoZmFsc2UpXCJcbiAgICAgIChtb3VzZWRvd24pPVwic2V0Q2xvc2VBY3RpdmUodHJ1ZSlcIlxuICAgID5cbiAgICAgIDxza3ktaWNvblxuICAgICAgICBjbGFzcz1cInNreS10b2tlbi1idG4tY2xvc2UtaWNvbi1kZWZhdWx0XCJcbiAgICAgICAgaWNvbj1cInRpbWVzXCJcbiAgICAgID48L3NreS1pY29uPlxuICAgICAgPHNreS1pY29uXG4gICAgICAgIGNsYXNzPVwic2t5LXRva2VuLWJ0bi1jbG9zZS1pY29uLW1vZGVyblwiXG4gICAgICAgIGljb249XCJjbG9zZVwiXG4gICAgICAgIGljb25UeXBlPVwic2t5dXhcIlxuICAgICAgPlxuICAgICAgPC9za3ktaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9zcGFuPlxuPC9kaXY+XG4iXX0=
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2luZGljYXRvcnMvc3JjL2xpYi9tb2R1bGVzL3Rva2Vucy90b2tlbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvaW5kaWNhdG9ycy9zcmMvbGliL21vZHVsZXMvdG9rZW5zL3Rva2VuLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFRdkIsTUFBTSxPQUFPLGlCQUFpQjtJQUM1Qjs7Ozs7T0FLRztJQUNILElBQ1csUUFBUSxDQUFDLEtBQTBCO1FBQzVDLHVCQUFBLElBQUksZ0NBQWMsQ0FBQyxDQUFDLEtBQUssTUFBQSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyx1QkFBQSxJQUFJLG9DQUFXLENBQUM7SUFDekIsQ0FBQztJQVdEOzs7T0FHRztJQUNILElBQ1csV0FBVyxDQUFDLEtBQTBCO1FBQy9DLHVCQUFBLElBQUksbUNBQWlCLEtBQUssS0FBSyxLQUFLLE1BQUEsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sdUJBQUEsSUFBSSx1Q0FBYyxDQUFDO0lBQzVCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFDVyxTQUFTLENBQUMsS0FBMEI7UUFDN0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFrQ0QsWUFBWSxVQUFzQjtRQXpCbEM7O1dBRUc7UUFFSSxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUUxQzs7V0FFRztRQUVJLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBS3RDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsYUFBUSxHQUFHLENBQUMsQ0FBQztRQUVwQixnREFBd0I7UUFFeEIsdUNBQWEsS0FBSyxFQUFDO1FBQ25CLDBDQUFnQixJQUFJLEVBQUM7UUFHbkIsdUJBQUEsSUFBSSxpQ0FBZSxVQUFVLE1BQUEsQ0FBQztJQUNoQyxDQUFDO0lBRVMsU0FBUztRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1NBQ3ZCO0lBQ0gsQ0FBQztJQUVTLFVBQVUsQ0FBQyxLQUFpQjtRQUNwQyxJQUFJLENBQUMsU0FBUyxHQUFHLHVCQUFBLElBQUkscUNBQVksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUN0RCxLQUFLLENBQUMsYUFBYSxDQUNwQixDQUFDO0lBQ0osQ0FBQztJQUVNLFlBQVksQ0FBQyxLQUFZO1FBQzlCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxZQUFZO1FBQ2pCLElBQUksQ0FBQyxlQUFlLEVBQUUsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFTSxjQUFjLENBQUMsV0FBb0I7UUFDeEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDakMsQ0FBQztJQUVNLGNBQWMsQ0FBQyxXQUFvQjtRQUN4QyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNqQyxDQUFDOzs7OEdBaEhVLGlCQUFpQjtrR0FBakIsaUJBQWlCLG9VQW1FTyxVQUFVLDJDQ25GL0MsbThEQXFFQTsyRkRyRGEsaUJBQWlCO2tCQU43QixTQUFTOytCQUNFLFdBQVcsbUJBR0osdUJBQXVCLENBQUMsTUFBTTtpR0FVcEMsUUFBUTtzQkFEbEIsS0FBSztnQkFnQkMsU0FBUztzQkFEZixLQUFLO2dCQVFLLFdBQVc7c0JBRHJCLEtBQUs7Z0JBZUssU0FBUztzQkFEbkIsS0FBSztnQkFVQyxJQUFJO3NCQURWLEtBQUs7Z0JBT0MsT0FBTztzQkFEYixNQUFNO2dCQU9BLFVBQVU7c0JBRGhCLE1BQU07Z0JBSUEsZUFBZTtzQkFEckIsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS10b2tlbicsXG4gIHRlbXBsYXRlVXJsOiAnLi90b2tlbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Rva2VuLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lUb2tlbkNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGRpc2FibGUgdGhlIHRva2VuIHRvIHByZXZlbnQgdXNlcnMgZnJvbSBzZWxlY3RpbmcgaXQsIGRpc21pc3NpbmcgaXQsXG4gICAqIG9yIG5hdmlnYXRpbmcgdG8gaXQgd2l0aCB0aGUgYXJyb3cga2V5cy4gV2hlbiB0aGUgdG9rZW4gaXMgZGlzYWJsZWQsXG4gICAqIHVzZXJzIGNhbiBzdGlsbCBwbGFjZSBmb2N1cyBvbiBpdCB1c2luZyB0aGUgYFRhYmAga2V5LlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kaXNhYmxlZCA9ICEhdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfZGlzYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIEFSSUEgbGFiZWwgZm9yIHRoZSB0b2tlbidzIGNsb3NlIGJ1dHRvbi4gVGhpcyBzZXRzIHRoZSBidXR0b24ncyBgYXJpYS1sYWJlbGAgdG8gcHJvdmlkZSBhIHRleHQgZXF1aXZhbGVudCBmb3Igc2NyZWVuIHJlYWRlcnNcbiAgICogW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9sZWFybi9hY2Nlc3NpYmlsaXR5KS5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGUsIHNlZSB0aGUgW1dBSS1BUklBIGRlZmluaXRpb25dKGh0dHBzOi8vd3d3LnczLm9yZy9UUi93YWktYXJpYS8jYXJpYS1sYWJlbCkuXG4gICAqIEBkZWZhdWx0IFwiUmVtb3ZlIGl0ZW1cIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFyaWFMYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHVzZXJzIGNhbiByZW1vdmUgdGhlIHRva2VuIGZyb20gdGhlIGxpc3QgYnkgc2VsZWN0aW5nIHRoZSBjbG9zZSBidXR0b24uXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzbWlzc2libGUodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfZGlzbWlzc2libGUgPSB2YWx1ZSAhPT0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc21pc3NpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfZGlzbWlzc2libGU7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB1c2VycyBjYW4gcGxhY2UgZm9jdXMgb24gdGhlIHRva2VuIHVzaW5nIHRoZSBgVGFiYC4gVGhpcyBkb2VzIG5vdFxuICAgKiBhZmZlY3QgdGhlIGFiaWxpdHkgdG8gc2VsZWN0IHRoZSB0b2tlbiwgZGlzbWlzcyBpdCwgb3IgbmF2aWdhdGUgdG8gaXQgd2l0aCB0aGUgYXJyb3cga2V5cy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBmb2N1c2FibGUodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLnRhYkluZGV4ID0gdmFsdWUgIT09IGZhbHNlID8gMCA6IC0xO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZWQgYnkgdGhlIHRva2VucyBjb21wb25lbnQgdG8gc2V0IHRoZSBhcHByb3ByaWF0ZSByb2xlIGZvciBlYWNoIHRva2VuLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByb2xlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgY2xpY2sgdGhlIGNsb3NlIGJ1dHRvbi5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZGlzbWlzcyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBwbGFjZSBmb2N1cyBvbiB0aGUgdG9rZW4gYnkgbmF2aWdhdGluZyB0byBpdCB3aXRoIHRoZSBgVGFiYCBrZXkuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHRva2VuRm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQFZpZXdDaGlsZCgnYWN0aW9uQnV0dG9uJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIGFjdGlvbkJ1dHRvblJlZjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgaXNGb2N1c2VkID0gZmFsc2U7XG4gIHB1YmxpYyB0b2tlbkFjdGl2ZSA9IGZhbHNlO1xuICBwdWJsaWMgY2xvc2VBY3RpdmUgPSBmYWxzZTtcbiAgcHVibGljIHRhYkluZGV4ID0gMDtcblxuICAjZWxlbWVudFJlZjogRWxlbWVudFJlZjtcblxuICAjX2Rpc2FibGVkID0gZmFsc2U7XG4gICNfZGlzbWlzc2libGUgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLiNlbGVtZW50UmVmID0gZWxlbWVudFJlZjtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkZvY3VzSW4oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzRm9jdXNlZCkge1xuICAgICAgdGhpcy50b2tlbkZvY3VzLmVtaXQoKTtcbiAgICAgIHRoaXMuaXNGb2N1c2VkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb25Gb2N1c091dChldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuaXNGb2N1c2VkID0gdGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKFxuICAgICAgZXZlbnQucmVsYXRlZFRhcmdldFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZGlzbWlzc1Rva2VuKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuZGlzbWlzcy5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgZm9jdXNFbGVtZW50KCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aW9uQnV0dG9uUmVmPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0VG9rZW5BY3RpdmUodG9rZW5BY3RpdmU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnRva2VuQWN0aXZlID0gdG9rZW5BY3RpdmU7XG4gIH1cblxuICBwdWJsaWMgc2V0Q2xvc2VBY3RpdmUoY2xvc2VBY3RpdmU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlQWN0aXZlID0gY2xvc2VBY3RpdmU7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza3ktdG9rZW4gc2t5LWJ0biBza3ktYnRuLWRlZmF1bHRcIlxuICBbYXR0ci5yb2xlXT1cInJvbGVcIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ3NreS1idG4tZGlzYWJsZWQnOiBkaXNhYmxlZCxcbiAgICAnc2t5LXRva2VuLWRpc2FibGVkJzogZGlzYWJsZWQsXG4gICAgJ3NreS10b2tlbi1kaXNtaXNzaWJsZSc6IGRpc21pc3NpYmxlLFxuICAgICdza3ktdG9rZW4tYWN0aXZlJzogdG9rZW5BY3RpdmUgJiYgIWNsb3NlQWN0aXZlLFxuICAgICdza3ktdG9rZW4tZm9jdXNlZCc6IGlzRm9jdXNlZFxuICB9XCJcbiAgKGRvY3VtZW50Om1vdXNldXApPVwic2V0VG9rZW5BY3RpdmUoZmFsc2UpXCJcbiAgKGZvY3VzaW4pPVwib25Gb2N1c0luKClcIlxuICAoZm9jdXNvdXQpPVwib25Gb2N1c091dCgkZXZlbnQpXCJcbiAgKG1vdXNlZG93bik9XCJzZXRUb2tlbkFjdGl2ZSh0cnVlKVwiXG4+XG4gIDxzcGFuXG4gICAgW2F0dHIucm9sZV09XCJyb2xlID09PSAncm93JyA/ICdncmlkY2VsbCcgOiB1bmRlZmluZWRcIlxuICAgIGNsYXNzPVwic2t5LXRva2VuLWNlbGxcIlxuICA+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tZGVmYXVsdCBza3ktdG9rZW4tYnRuIHNreS10b2tlbi1idG4tYWN0aW9uXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiSW5kZXhcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ3NreS1idG4tZGlzYWJsZWQnOiBkaXNhYmxlZFxuICAgICAgfVwiXG4gICAgICAjYWN0aW9uQnV0dG9uXG4gICAgPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvYnV0dG9uPlxuICA8L3NwYW4+XG4gIDxzcGFuXG4gICAgKm5nSWY9XCJkaXNtaXNzaWJsZVwiXG4gICAgY2xhc3M9XCJza3ktdG9rZW4tY2VsbFwiXG4gICAgW2F0dHIucm9sZV09XCJyb2xlID09PSAncm93JyA/ICdncmlkY2VsbCcgOiB1bmRlZmluZWRcIlxuICA+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS10b2tlbi1idG4gc2t5LXRva2VuLWJ0bi1jbG9zZVwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgIGFyaWFMYWJlbCB8fCAoJ3NreXV4X3Rva2Vuc19kaXNtaXNzX2J1dHRvbl90aXRsZScgfCBza3lMaWJSZXNvdXJjZXMpXG4gICAgICBcIlxuICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiSW5kZXhcIlxuICAgICAgW2F0dHIudGl0bGVdPVwiXG4gICAgICAgIGFyaWFMYWJlbCB8fCAoJ3NreXV4X3Rva2Vuc19kaXNtaXNzX2J1dHRvbl90aXRsZScgfCBza3lMaWJSZXNvdXJjZXMpXG4gICAgICBcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ3NreS1idG4tZGlzYWJsZWQnOiBkaXNhYmxlZCxcbiAgICAgICAgJ3NreS10b2tlbi1idG4tY2xvc2UtYWN0aXZlJzogY2xvc2VBY3RpdmVcbiAgICAgIH1cIlxuICAgICAgKGNsaWNrKT1cImRpc21pc3NUb2tlbigkZXZlbnQpXCJcbiAgICAgIChkb2N1bWVudDptb3VzZXVwKT1cInNldENsb3NlQWN0aXZlKGZhbHNlKVwiXG4gICAgICAobW91c2Vkb3duKT1cInNldENsb3NlQWN0aXZlKHRydWUpXCJcbiAgICA+XG4gICAgICA8c2t5LWljb25cbiAgICAgICAgY2xhc3M9XCJza3ktdG9rZW4tYnRuLWNsb3NlLWljb24tZGVmYXVsdFwiXG4gICAgICAgIGljb249XCJ0aW1lc1wiXG4gICAgICA+PC9za3ktaWNvbj5cbiAgICAgIDxza3ktaWNvblxuICAgICAgICBjbGFzcz1cInNreS10b2tlbi1idG4tY2xvc2UtaWNvbi1tb2Rlcm5cIlxuICAgICAgICBpY29uPVwiY2xvc2VcIlxuICAgICAgICBpY29uVHlwZT1cInNreXV4XCJcbiAgICAgID5cbiAgICAgIDwvc2t5LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvc3Bhbj5cbjwvZGl2PlxuIl19
@@ -16,54 +16,6 @@ const DISPLAY_WITH_DEFAULT = 'name';
16
16
  * reserved for other functions, such as the SKY UX Lookup component.
17
17
  */
18
18
  export class SkyTokensComponent {
19
- constructor(changeDetector) {
20
- _SkyTokensComponent_instances.add(this);
21
- /**
22
- * Fires when users navigate through the tokens list with the `Tab` key
23
- * and attempt to move past the final token in the list.
24
- */
25
- this.focusIndexOverRange = new EventEmitter();
26
- /**
27
- * Fires when users navigate through the tokens list with the `Tab` key
28
- * and attempt to move before the first token in the list.
29
- */
30
- this.focusIndexUnderRange = new EventEmitter();
31
- /**
32
- * Fires when users select a token in the list. This event emits the selected token.
33
- */
34
- this.tokenSelected = new EventEmitter();
35
- /**
36
- * Fires when the tokens in the list change.
37
- * This event emits an array of the tokens in the updated list.
38
- */
39
- this.tokensChange = new EventEmitter();
40
- /**
41
- * Fires when all animations on the tokens are complete.
42
- * @internal
43
- */
44
- this.tokensRendered = new EventEmitter();
45
- _SkyTokensComponent__disabled.set(this, false);
46
- _SkyTokensComponent__dismissible.set(this, true);
47
- _SkyTokensComponent__focusable.set(this, true);
48
- _SkyTokensComponent__tokens.set(this, []);
49
- _SkyTokensComponent__displayWith.set(this, DISPLAY_WITH_DEFAULT);
50
- _SkyTokensComponent_messageStreamSub.set(this, void 0);
51
- _SkyTokensComponent_ngUnsubscribe.set(this, new Subject());
52
- _SkyTokensComponent__messageStream.set(this, new Subject());
53
- _SkyTokensComponent_changeDetector.set(this, void 0);
54
- _SkyTokensComponent__activeIndex.set(this, 0);
55
- __classPrivateFieldSet(this, _SkyTokensComponent_changeDetector, changeDetector, "f");
56
- __classPrivateFieldGet(this, _SkyTokensComponent_instances, "m", _SkyTokensComponent_initMessageStream).call(this);
57
- // Angular calls the trackBy function without applying the component instance's scope.
58
- // Use a fat-arrow function so the current component instance's trackWith property can
59
- // be referenced.
60
- this.trackTokenFn = (_index, item) => {
61
- if (this.trackWith) {
62
- return item.value[this.trackWith];
63
- }
64
- return item;
65
- };
66
- }
67
19
  /**
68
20
  * Whether to disable the tokens list to prevent users from selecting tokens,
69
21
  * dismissing tokens, or navigating through the list with the arrow keys. When the tokens list
@@ -147,6 +99,54 @@ export class SkyTokensComponent {
147
99
  }
148
100
  __classPrivateFieldSet(this, _SkyTokensComponent__activeIndex, value || 0, "f");
149
101
  }
102
+ constructor(changeDetector) {
103
+ _SkyTokensComponent_instances.add(this);
104
+ /**
105
+ * Fires when users navigate through the tokens list with the `Tab` key
106
+ * and attempt to move past the final token in the list.
107
+ */
108
+ this.focusIndexOverRange = new EventEmitter();
109
+ /**
110
+ * Fires when users navigate through the tokens list with the `Tab` key
111
+ * and attempt to move before the first token in the list.
112
+ */
113
+ this.focusIndexUnderRange = new EventEmitter();
114
+ /**
115
+ * Fires when users select a token in the list. This event emits the selected token.
116
+ */
117
+ this.tokenSelected = new EventEmitter();
118
+ /**
119
+ * Fires when the tokens in the list change.
120
+ * This event emits an array of the tokens in the updated list.
121
+ */
122
+ this.tokensChange = new EventEmitter();
123
+ /**
124
+ * Fires when all animations on the tokens are complete.
125
+ * @internal
126
+ */
127
+ this.tokensRendered = new EventEmitter();
128
+ _SkyTokensComponent__disabled.set(this, false);
129
+ _SkyTokensComponent__dismissible.set(this, true);
130
+ _SkyTokensComponent__focusable.set(this, true);
131
+ _SkyTokensComponent__tokens.set(this, []);
132
+ _SkyTokensComponent__displayWith.set(this, DISPLAY_WITH_DEFAULT);
133
+ _SkyTokensComponent_messageStreamSub.set(this, void 0);
134
+ _SkyTokensComponent_ngUnsubscribe.set(this, new Subject());
135
+ _SkyTokensComponent__messageStream.set(this, new Subject());
136
+ _SkyTokensComponent_changeDetector.set(this, void 0);
137
+ _SkyTokensComponent__activeIndex.set(this, 0);
138
+ __classPrivateFieldSet(this, _SkyTokensComponent_changeDetector, changeDetector, "f");
139
+ __classPrivateFieldGet(this, _SkyTokensComponent_instances, "m", _SkyTokensComponent_initMessageStream).call(this);
140
+ // Angular calls the trackBy function without applying the component instance's scope.
141
+ // Use a fat-arrow function so the current component instance's trackWith property can
142
+ // be referenced.
143
+ this.trackTokenFn = (_index, item) => {
144
+ if (this.trackWith) {
145
+ return item.value[this.trackWith];
146
+ }
147
+ return item;
148
+ };
149
+ }
150
150
  ngOnDestroy() {
151
151
  __classPrivateFieldGet(this, _SkyTokensComponent_ngUnsubscribe, "f").next();
152
152
  __classPrivateFieldGet(this, _SkyTokensComponent_ngUnsubscribe, "f").complete();
@@ -245,8 +245,8 @@ _SkyTokensComponent__disabled = new WeakMap(), _SkyTokensComponent__dismissible
245
245
  token,
246
246
  });
247
247
  };
248
- SkyTokensComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyTokensComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
249
- SkyTokensComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: SkyTokensComponent, selector: "sky-tokens", inputs: { disabled: "disabled", dismissible: "dismissible", displayWith: "displayWith", trackWith: "trackWith", focusable: "focusable", tokens: "tokens", messageStream: "messageStream" }, outputs: { focusIndexOverRange: "focusIndexOverRange", focusIndexUnderRange: "focusIndexUnderRange", tokenSelected: "tokenSelected", tokensChange: "tokensChange", tokensRendered: "tokensRendered" }, viewQueries: [{ propertyName: "tokenComponents", predicate: SkyTokenComponent, descendants: true }], ngImport: i0, template: "<div\n class=\"sky-tokens\"\n [@blockAnimationOnLoad]\n [attr.role]=\"tokens.length ? 'grid' : null\"\n>\n <!--\n The role must use square brackets otherwise Angular sets the native 'role'\n attribute as well as the input attribute of the token, which fails accessibility rules.\n -->\n <sky-token\n *ngFor=\"let token of tokens; let i = index; trackBy: trackTokenFn\"\n [@.disabled]=\"!trackWith\"\n [@dismiss]\n [disabled]=\"disabled\"\n [dismissible]=\"dismissible\"\n [focusable]=\"focusable\"\n [role]=\"'row'\"\n (@dismiss.done)=\"animationDone()\"\n (dismiss)=\"removeToken(token)\"\n (click)=\"onTokenClick(token)\"\n (keydown)=\"onTokenKeyDown($event)\"\n (keyup.enter)=\"selectToken(token); $event.preventDefault()\"\n (tokenFocus)=\"activeIndex = i\"\n >\n {{ token.value[displayWith] }}\n </sky-token>\n <div class=\"sky-tokens-content\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.sky-tokens{display:flex;flex-wrap:wrap;align-items:baseline;margin:-2px}.sky-tokens .sky-tokens-content,.sky-tokens ::ng-deep sky-token{flex:0 0 auto;display:inline-flex;padding:2px}.sky-tokens .sky-tokens-content{flex-grow:1;flex-basis:0px}.sky-tokens .sky-tokens-content:before{content:\"\\200b\"}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.SkyTokenComponent, selector: "sky-token", inputs: ["disabled", "ariaLabel", "dismissible", "focusable", "role"], outputs: ["dismiss", "tokenFocus"] }], animations: [
248
+ SkyTokensComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyTokensComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
249
+ SkyTokensComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: SkyTokensComponent, selector: "sky-tokens", inputs: { disabled: "disabled", dismissible: "dismissible", displayWith: "displayWith", trackWith: "trackWith", focusable: "focusable", tokens: "tokens", messageStream: "messageStream" }, outputs: { focusIndexOverRange: "focusIndexOverRange", focusIndexUnderRange: "focusIndexUnderRange", tokenSelected: "tokenSelected", tokensChange: "tokensChange", tokensRendered: "tokensRendered" }, viewQueries: [{ propertyName: "tokenComponents", predicate: SkyTokenComponent, descendants: true }], ngImport: i0, template: "<div\n class=\"sky-tokens\"\n [@blockAnimationOnLoad]\n [attr.role]=\"tokens.length ? 'grid' : null\"\n>\n <!--\n The role must use square brackets otherwise Angular sets the native 'role'\n attribute as well as the input attribute of the token, which fails accessibility rules.\n -->\n <sky-token\n *ngFor=\"let token of tokens; let i = index; trackBy: trackTokenFn\"\n [@.disabled]=\"!trackWith\"\n [@dismiss]\n [disabled]=\"disabled\"\n [dismissible]=\"dismissible\"\n [focusable]=\"focusable\"\n [role]=\"'row'\"\n (@dismiss.done)=\"animationDone()\"\n (dismiss)=\"removeToken(token)\"\n (click)=\"onTokenClick(token)\"\n (keydown)=\"onTokenKeyDown($event)\"\n (keyup.enter)=\"selectToken(token); $event.preventDefault()\"\n (tokenFocus)=\"activeIndex = i\"\n >\n {{ token.value[displayWith] }}\n </sky-token>\n <div class=\"sky-tokens-content\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.sky-tokens{display:flex;flex-wrap:wrap;align-items:baseline;margin:-2px}.sky-tokens .sky-tokens-content,.sky-tokens ::ng-deep sky-token{flex:0 0 auto;display:inline-flex;padding:2px}.sky-tokens .sky-tokens-content{flex-grow:1;flex-basis:0px}.sky-tokens .sky-tokens-content:before{content:\"\\200b\"}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.SkyTokenComponent, selector: "sky-token", inputs: ["disabled", "ariaLabel", "dismissible", "focusable", "role"], outputs: ["dismiss", "tokenFocus"] }], animations: [
250
250
  trigger('blockAnimationOnLoad', [transition(':enter', [])]),
251
251
  trigger('dismiss', [
252
252
  transition(':enter', [
@@ -267,7 +267,7 @@ SkyTokensComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
267
267
  ]),
268
268
  ]),
269
269
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush });
270
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyTokensComponent, decorators: [{
270
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyTokensComponent, decorators: [{
271
271
  type: Component,
272
272
  args: [{ selector: 'sky-tokens', changeDetection: ChangeDetectionStrategy.OnPush, animations: [
273
273
  trigger('blockAnimationOnLoad', [transition(':enter', [])]),
@@ -318,4 +318,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
318
318
  type: ViewChildren,
319
319
  args: [SkyTokenComponent]
320
320
  }] } });
321
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3NyYy9saWIvbW9kdWxlcy90b2tlbnMvdG9rZW5zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3NyYy9saWIvbW9kdWxlcy90b2tlbnMvdG9rZW5zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFFLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUdOLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7QUFFbkUsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLENBQUM7QUFFcEM7Ozs7R0FJRztBQWtDSCxNQUFNLE9BQU8sa0JBQWtCO0lBcUs3QixZQUFZLGNBQWlDOztRQXRFN0M7OztXQUdHO1FBRUksd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUV0RDs7O1dBR0c7UUFFSSx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXZEOztXQUVHO1FBRUksa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBNkIsQ0FBQztRQUVyRTs7O1dBR0c7UUFFSSxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUFFckQ7OztXQUdHO1FBRUksbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBc0JqRCx3Q0FBYSxLQUFLLEVBQUM7UUFDbkIsMkNBQWdCLElBQUksRUFBQztRQUNyQix5Q0FBYyxJQUFJLEVBQUM7UUFDbkIsc0NBQXVCLEVBQUUsRUFBQztRQUMxQiwyQ0FBZ0Isb0JBQW9CLEVBQUM7UUFLckMsdURBQTRDO1FBQzVDLDRDQUFpQixJQUFJLE9BQU8sRUFBUSxFQUFDO1FBQ3JDLDZDQUFrQixJQUFJLE9BQU8sRUFBb0IsRUFBQztRQUNsRCxxREFBbUM7UUFFbkMsMkNBQWdCLENBQUMsRUFBQztRQUdoQix1QkFBQSxJQUFJLHNDQUFtQixjQUFjLE1BQUEsQ0FBQztRQUN0Qyx1QkFBQSxJQUFJLDRFQUFtQixNQUF2QixJQUFJLENBQXFCLENBQUM7UUFFMUIsc0ZBQXNGO1FBQ3RGLHNGQUFzRjtRQUN0RixpQkFBaUI7UUFDakIsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQVcsRUFBRTtZQUM1QyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ2xCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDbkM7WUFFRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQztJQUNKLENBQUM7SUFsTEQ7Ozs7O09BS0c7SUFDSCxJQUNXLFFBQVEsQ0FBQyxLQUEwQjtRQUM1Qyx1QkFBQSxJQUFJLGlDQUFjLENBQUMsQ0FBQyxLQUFLLE1BQUEsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sdUJBQUEsSUFBSSxxQ0FBVyxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUNXLFdBQVcsQ0FBQyxLQUEwQjtRQUMvQyx1QkFBQSxJQUFJLG9DQUFpQixLQUFLLEtBQUssS0FBSyxNQUFBLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixPQUFPLHVCQUFBLElBQUksd0NBQWMsQ0FBQztJQUM1QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFDVyxXQUFXLENBQUMsS0FBeUI7UUFDOUMsdUJBQUEsSUFBSSxvQ0FBaUIsS0FBSyxJQUFJLG9CQUFvQixNQUFBLENBQUM7SUFDckQsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixPQUFPLHVCQUFBLElBQUksd0NBQWMsQ0FBQztJQUM1QixDQUFDO0lBU0Q7Ozs7O09BS0c7SUFDSCxJQUNXLFNBQVMsQ0FBQyxLQUEwQjtRQUM3Qyx1QkFBQSxJQUFJLGtDQUFlLEtBQUssS0FBSyxLQUFLLE1BQUEsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sdUJBQUEsSUFBSSxzQ0FBWSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ1csTUFBTSxDQUFDLEtBQTZCO1FBQzdDLHVCQUFBLElBQUksK0JBQVksS0FBSyxJQUFJLEVBQUUsTUFBQSxDQUFDO1FBQzVCLHFGQUFxRjtRQUNyRixrRkFBa0Y7UUFDbEYsNkZBQTZGO1FBQzdGLDJCQUEyQjtRQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2YsT0FBTyx1QkFBQSxJQUFJLG1DQUFTLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQ1csYUFBYSxDQUFDLEtBQTRDO1FBQ25FLHVCQUFBLElBQUksc0NBQW1CLEtBQUssSUFBSSxJQUFJLE9BQU8sRUFBb0IsTUFBQSxDQUFDO1FBQ2hFLHVCQUFBLElBQUksNEVBQW1CLE1BQXZCLElBQUksQ0FBcUIsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sdUJBQUEsSUFBSSwwQ0FBZ0IsQ0FBQztJQUM5QixDQUFDO0lBb0NELElBQVcsV0FBVztRQUNwQixPQUFPLHVCQUFBLElBQUksd0NBQWMsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxXQUFXLENBQUMsS0FBYTtRQUNsQyxJQUFJLEtBQUssSUFBSSx1QkFBQSxJQUFJLG1DQUFTLENBQUMsTUFBTSxFQUFFO1lBQ2pDLEtBQUssR0FBRyx1QkFBQSxJQUFJLG1DQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDakM7UUFFRCxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUU7WUFDYixLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ1YsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2xDO1FBRUQsdUJBQUEsSUFBSSxvQ0FBaUIsS0FBSyxJQUFJLENBQUMsTUFBQSxDQUFDO0lBQ2xDLENBQUM7SUFvQ00sV0FBVztRQUNoQix1QkFBQSxJQUFJLHlDQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsdUJBQUEsSUFBSSx5Q0FBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTSxZQUFZLENBQUMsS0FBZTtRQUNqQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsT0FBTztTQUNSO1FBRUQsdUJBQUEsSUFBSSw4RUFBcUIsTUFBekIsSUFBSSxFQUFzQixLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU0sYUFBYTtRQUNsQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSxjQUFjLENBQUMsS0FBb0I7UUFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsUUFBUSxLQUFLLENBQUMsR0FBRyxFQUFFO2dCQUNqQixLQUFLLE1BQU0sQ0FBQztnQkFDWixLQUFLLFdBQVc7b0JBQ2QsdUJBQUEsSUFBSSwwQ0FBZ0IsQ0FBQyxJQUFJLENBQUM7d0JBQ3hCLElBQUksRUFBRSxvQkFBb0IsQ0FBQyxrQkFBa0I7cUJBQzlDLENBQUMsQ0FBQztvQkFDSCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7b0JBQ3ZCLE1BQU07Z0JBRVIsS0FBSyxPQUFPLENBQUM7Z0JBQ2IsS0FBSyxZQUFZO29CQUNmLHVCQUFBLElBQUksMENBQWdCLENBQUMsSUFBSSxDQUFDO3dCQUN4QixJQUFJLEVBQUUsb0JBQW9CLENBQUMsY0FBYztxQkFDMUMsQ0FBQyxDQUFDO29CQUNILEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDdkIsTUFBTTthQUNUO1NBQ0Y7SUFDSCxDQUFDO0lBRU0sV0FBVyxDQUFDLEtBQWU7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsdUJBQUEsSUFBSSw4RUFBcUIsTUFBekIsSUFBSSxFQUFzQixLQUFLLENBQUMsQ0FBQztTQUNsQztJQUNILENBQUM7SUFFTSxXQUFXLENBQUMsS0FBZTtRQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUM7UUFDckQsdUJBQUEsSUFBSSwwQ0FBZ0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QyxDQUFDOzs7SUFHQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbkIsdUJBQUEsSUFBSSwyRUFBa0IsTUFBdEIsSUFBSSxDQUFvQixDQUFDO0FBQzNCLENBQUM7SUFHQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbkIsdUJBQUEsSUFBSSwyRUFBa0IsTUFBdEIsSUFBSSxDQUFvQixDQUFDO0FBQzNCLENBQUM7SUFHQyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7UUFDeEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDbkQsdUJBQUEsSUFBSSwyRUFBa0IsTUFBdEIsSUFBSSxDQUFvQixDQUFDO0tBQzFCO0FBQ0gsQ0FBQztJQUdDLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtRQUN4QixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FDOUMsQ0FBQyxLQUF3QixFQUFFLENBQVMsRUFBRSxFQUFFO1lBQ3RDLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUNGLENBQUM7UUFFRixJQUFJLGNBQWMsRUFBRTtZQUNsQixjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDL0I7S0FDRjtBQUNILENBQUM7SUFHQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM1QyxJQUFJLEtBQUssRUFBRTtRQUNULElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDekI7QUFDSCxDQUFDO0lBR0MsSUFBSSx1QkFBQSxJQUFJLDRDQUFrQixFQUFFO1FBQzFCLHVCQUFBLElBQUksNENBQWtCLENBQUMsV0FBVyxFQUFFLENBQUM7S0FDdEM7SUFFRCx1QkFBQSxJQUFJLHdDQUFxQixJQUFJLENBQUMsYUFBYTtTQUN4QyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUFBLElBQUkseUNBQWUsQ0FBQyxDQUFDO1NBQ3BDLFNBQVMsQ0FBQyxDQUFDLE9BQXlCLEVBQUUsRUFBRTtRQUN2QyxRQUFRLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFDcEIsS0FBSyxvQkFBb0IsQ0FBQyxjQUFjO2dCQUN0Qyx1QkFBQSxJQUFJLHlFQUFnQixNQUFwQixJQUFJLENBQWtCLENBQUM7Z0JBQ3ZCLE1BQU07WUFFUixLQUFLLG9CQUFvQixDQUFDLGdCQUFnQjtnQkFDeEMsdUJBQUEsSUFBSSwyRUFBa0IsTUFBdEIsSUFBSSxDQUFvQixDQUFDO2dCQUN6QixNQUFNO1lBRVIsS0FBSyxvQkFBb0IsQ0FBQyxrQkFBa0I7Z0JBQzFDLHVCQUFBLElBQUksNkVBQW9CLE1BQXhCLElBQUksQ0FBc0IsQ0FBQztnQkFDM0IsTUFBTTtZQUVSLEtBQUssb0JBQW9CLENBQUMsY0FBYztnQkFDdEMsdUJBQUEsSUFBSSx5RUFBZ0IsTUFBcEIsSUFBSSxDQUFrQixDQUFDO2dCQUN2QixNQUFNO1lBRVIsS0FBSyxvQkFBb0IsQ0FBQyxpQkFBaUI7Z0JBQ3pDLHVCQUFBLElBQUksNEVBQW1CLE1BQXZCLElBQUksQ0FBcUIsQ0FBQztnQkFDMUIsTUFBTTtTQUNUO0lBQ0gsQ0FBQyxDQUFDLE1BQUEsQ0FBQztBQUNQLENBQUMsNkZBRW9CLEtBQWU7SUFDbEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7UUFDdEIsS0FBSztLQUNOLENBQUMsQ0FBQztBQUNMLENBQUM7K0dBalRVLGtCQUFrQjttR0FBbEIsa0JBQWtCLHlkQTJKZixpQkFBaUIsZ0RDMU5qQyxzOEJBOEJBLCtwQkRLYztRQUNWLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMzRCxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ2pCLFVBQVUsQ0FBQyxRQUFRLEVBQUU7Z0JBQ25CLEtBQUssQ0FBQztvQkFDSixPQUFPLEVBQUUsQ0FBQztvQkFDVixLQUFLLEVBQUUsQ0FBQztpQkFDVCxDQUFDO2dCQUNGLE9BQU8sQ0FDTCxlQUFlLEVBQ2YsS0FBSyxDQUFDO29CQUNKLE9BQU8sRUFBRSxDQUFDO29CQUNWLEtBQUssRUFBRSxHQUFHO2lCQUNYLENBQUMsQ0FDSDthQUNGLENBQUM7WUFDRixVQUFVLENBQUMsUUFBUSxFQUFFO2dCQUNuQixPQUFPLENBQ0wsZUFBZSxFQUNmLEtBQUssQ0FBQztvQkFDSixPQUFPLEVBQUUsQ0FBQztvQkFDVixLQUFLLEVBQUUsQ0FBQztpQkFDVCxDQUFDLENBQ0g7YUFDRixDQUFDO1NBQ0gsQ0FBQztLQUNIOzJGQUVVLGtCQUFrQjtrQkFqQzlCLFNBQVM7K0JBQ0UsWUFBWSxtQkFHTCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DO3dCQUNWLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQzt3QkFDM0QsT0FBTyxDQUFDLFNBQVMsRUFBRTs0QkFDakIsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQ0FDbkIsS0FBSyxDQUFDO29DQUNKLE9BQU8sRUFBRSxDQUFDO29DQUNWLEtBQUssRUFBRSxDQUFDO2lDQUNULENBQUM7Z0NBQ0YsT0FBTyxDQUNMLGVBQWUsRUFDZixLQUFLLENBQUM7b0NBQ0osT0FBTyxFQUFFLENBQUM7b0NBQ1YsS0FBSyxFQUFFLEdBQUc7aUNBQ1gsQ0FBQyxDQUNIOzZCQUNGLENBQUM7NEJBQ0YsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQ0FDbkIsT0FBTyxDQUNMLGVBQWUsRUFDZixLQUFLLENBQUM7b0NBQ0osT0FBTyxFQUFFLENBQUM7b0NBQ1YsS0FBSyxFQUFFLENBQUM7aUNBQ1QsQ0FBQyxDQUNIOzZCQUNGLENBQUM7eUJBQ0gsQ0FBQztxQkFDSDt3R0FVVSxRQUFRO3NCQURsQixLQUFLO2dCQWNLLFdBQVc7c0JBRHJCLEtBQUs7Z0JBY0ssV0FBVztzQkFEckIsS0FBSztnQkFjQyxTQUFTO3NCQURmLEtBQUs7Z0JBVUssU0FBUztzQkFEbkIsS0FBSztnQkFhSyxNQUFNO3NCQURoQixLQUFLO2dCQW1CSyxhQUFhO3NCQUR2QixLQUFLO2dCQWVDLG1CQUFtQjtzQkFEekIsTUFBTTtnQkFRQSxvQkFBb0I7c0JBRDFCLE1BQU07Z0JBT0EsYUFBYTtzQkFEbkIsTUFBTTtnQkFRQSxZQUFZO3NCQURsQixNQUFNO2dCQVFBLGNBQWM7c0JBRHBCLE1BQU07Z0JBOEJBLGVBQWU7c0JBRHJCLFlBQVk7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBUcmFja0J5RnVuY3Rpb24sXG4gIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lUb2tlbkNvbXBvbmVudCB9IGZyb20gJy4vdG9rZW4uY29tcG9uZW50JztcbmltcG9ydCB7IFNreVRva2VuIH0gZnJvbSAnLi90eXBlcy90b2tlbic7XG5pbXBvcnQgeyBTa3lUb2tlblNlbGVjdGVkRXZlbnRBcmdzIH0gZnJvbSAnLi90eXBlcy90b2tlbi1zZWxlY3RlZC1ldmVudC1hcmdzJztcbmltcG9ydCB7IFNreVRva2Vuc01lc3NhZ2UgfSBmcm9tICcuL3R5cGVzL3Rva2Vucy1tZXNzYWdlJztcbmltcG9ydCB7IFNreVRva2Vuc01lc3NhZ2VUeXBlIH0gZnJvbSAnLi90eXBlcy90b2tlbnMtbWVzc2FnZS10eXBlJztcblxuY29uc3QgRElTUExBWV9XSVRIX0RFRkFVTFQgPSAnbmFtZSc7XG5cbi8qKlxuICogQ3JlYXRlcyBhIGNvbnRhaW5lciB0aGF0IGVuYWJsZXMgbmF2aWdhdGlvbiBiZXR3ZWVuIHRva2VucyB1c2luZyBrZXlib2FyZCBhcnJvdyBrZXlzLlxuICogVGhpcyBpcyB1c2VmdWwgd2hlbiBjb21iaW5lZCB3aXRoIG90aGVyIGNvbXBvbmVudHMgd2hlcmUgdGhlIDxrYmQ+VGFiPC9rYmQ+IGtleSBpc1xuICogcmVzZXJ2ZWQgZm9yIG90aGVyIGZ1bmN0aW9ucywgc3VjaCBhcyB0aGUgU0tZIFVYIExvb2t1cCBjb21wb25lbnQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS10b2tlbnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vdG9rZW5zLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdG9rZW5zLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignYmxvY2tBbmltYXRpb25PbkxvYWQnLCBbdHJhbnNpdGlvbignOmVudGVyJywgW10pXSksXG4gICAgdHJpZ2dlcignZGlzbWlzcycsIFtcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgIG9wYWNpdHk6IDAsXG4gICAgICAgICAgd2lkdGg6IDAsXG4gICAgICAgIH0pLFxuICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICcxNTBtcyBlYXNlLWluJyxcbiAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICBvcGFjaXR5OiAxLFxuICAgICAgICAgICAgd2lkdGg6ICcqJyxcbiAgICAgICAgICB9KVxuICAgICAgICApLFxuICAgICAgXSksXG4gICAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbXG4gICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgJzE1MG1zIGVhc2UtaW4nLFxuICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAsXG4gICAgICAgICAgICB3aWR0aDogMCxcbiAgICAgICAgICB9KVxuICAgICAgICApLFxuICAgICAgXSksXG4gICAgXSksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVRva2Vuc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGRpc2FibGUgdGhlIHRva2VucyBsaXN0IHRvIHByZXZlbnQgdXNlcnMgZnJvbSBzZWxlY3RpbmcgdG9rZW5zLFxuICAgKiBkaXNtaXNzaW5nIHRva2Vucywgb3IgbmF2aWdhdGluZyB0aHJvdWdoIHRoZSBsaXN0IHdpdGggdGhlIGFycm93IGtleXMuIFdoZW4gdGhlIHRva2VucyBsaXN0XG4gICAqIGlzIGRpc2FibGVkLCB1c2VycyBjYW4gc3RpbGwgcGxhY2UgZm9jdXMgb24gaXRlbXMgaW4gdGhlIGxpc3QgdXNpbmcgdGhlIGBUYWJgIGtleS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfZGlzYWJsZWQgPSAhIXZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jX2Rpc2FibGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdXNlcnMgY2FuIHJlbW92ZSBhIHRva2VuIGZyb20gdGhlIGxpc3QgYnkgc2VsZWN0aW5nIGEgdG9rZW4ncyBjbG9zZSBidXR0b24uXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzbWlzc2libGUodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfZGlzbWlzc2libGUgPSB2YWx1ZSAhPT0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc21pc3NpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfZGlzbWlzc2libGU7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHRva2VuIHByb3BlcnR5IHRvIGRpc3BsYXkgZm9yIGVhY2ggaXRlbSBpbiB0aGUgdG9rZW5zIGxpc3QuXG4gICAqIEBkZWZhdWx0IFwibmFtZVwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRpc3BsYXlXaXRoKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfZGlzcGxheVdpdGggPSB2YWx1ZSB8fCBESVNQTEFZX1dJVEhfREVGQVVMVDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzcGxheVdpdGgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy4jX2Rpc3BsYXlXaXRoO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSB0b2tlbiBwcm9wZXJ0eSB0aGF0IHJlcHJlc2VudHMgdGhlIHRva2VuJ3MgdW5pcXVlIGlkZW50aWZpZXIuIFdoZW4gdGhpcyBwcm9wZXJ0eVxuICAgKiBpcyBzZXQsIGFuaW1hdGlvbnMgYXJlIGVuYWJsZWQgd2hlbiBkaXNtaXNzaW5nIHRva2Vucy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0cmFja1dpdGg6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogV2hldGhlciB1c2VycyBjYW4gcGxhY2UgZm9jdXMgb24gdG9rZW5zIGluIHRoZSBsaXN0IHVzaW5nIHRoZSBgVGFiYCBrZXkuXG4gICAqIFRoaXMgZG9lcyBub3QgYWZmZWN0IHRoZSBhYmlsaXR5IG9mIHVzZXJzIHRvIHNlbGVjdCB0b2tlbnMsIGRpc21pc3MgdG9rZW5zLFxuICAgKiBvciBuYXZpZ2F0ZSB0aHJvdWdoIHRoZSBsaXN0IHdpdGggdGhlIGFycm93IGtleXMuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZm9jdXNhYmxlKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2ZvY3VzYWJsZSA9IHZhbHVlICE9PSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZm9jdXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfZm9jdXNhYmxlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBhcnJheSBvZiB0b2tlbnMgdG8gaW5jbHVkZSBpbiB0aGUgbGlzdC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdG9rZW5zKHZhbHVlOiBTa3lUb2tlbltdIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX3Rva2VucyA9IHZhbHVlIHx8IFtdO1xuICAgIC8vIFRoZSBwcmV2aW91cyBiZWhhdmlvciB3YXMgdG8gc2V0IGB0aGlzLl90b2tlbnMgPSB2YWx1ZWAsIHRoZW4gZW1pdCBgdGhpcy5fdG9rZW5zYCxcbiAgICAvLyB3aGljaCB3b3VsZCBlbWl0IGB1bmRlZmluZWRgIGluc3RlYWQgb2YgYSBkZWZhdWx0IHZhbHVlIG9mIGBbXWAgcmV0dXJuZWQgYnkgdGhlXG4gICAgLy8gZ2V0IGFjY2Vzc29yIHdoZW4gc2V0IHRvIGB1bmRlZmluZWRgLiBFbWl0dGluZyBgdmFsdWVgIGluc3RlYWQgb2YgYHRoaXMuI190b2tlbnNPckRlZmF1bHRgXG4gICAgLy8gcHJlc2VydmVzIHRoYXQgYmVoYXZpb3IuXG4gICAgdGhpcy50b2tlbnNDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRva2VucygpOiBTa3lUb2tlbltdIHtcbiAgICByZXR1cm4gdGhpcy4jX3Rva2VucztcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgb2JzZXJ2YWJsZSBvZiBgU2t5VG9rZW5zTWVzc2FnZWAgdGhhdCBjYW4gcGxhY2UgZm9jdXMgb24gYVxuICAgKiBwYXJ0aWN1bGFyIHRva2VuIG9yIHJlbW92ZSB0aGUgYWN0aXZlIHRva2VuIGZyb20gdGhlIGxpc3QuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG1lc3NhZ2VTdHJlYW0odmFsdWU6IFN1YmplY3Q8U2t5VG9rZW5zTWVzc2FnZT4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfbWVzc2FnZVN0cmVhbSA9IHZhbHVlIHx8IG5ldyBTdWJqZWN0PFNreVRva2Vuc01lc3NhZ2U+KCk7XG4gICAgdGhpcy4jaW5pdE1lc3NhZ2VTdHJlYW0oKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbWVzc2FnZVN0cmVhbSgpOiBTdWJqZWN0PFNreVRva2Vuc01lc3NhZ2U+IHtcbiAgICByZXR1cm4gdGhpcy4jX21lc3NhZ2VTdHJlYW07XG4gIH1cblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBuYXZpZ2F0ZSB0aHJvdWdoIHRoZSB0b2tlbnMgbGlzdCB3aXRoIHRoZSBgVGFiYCBrZXlcbiAgICogYW5kIGF0dGVtcHQgdG8gbW92ZSBwYXN0IHRoZSBmaW5hbCB0b2tlbiBpbiB0aGUgbGlzdC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZm9jdXNJbmRleE92ZXJSYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBuYXZpZ2F0ZSB0aHJvdWdoIHRoZSB0b2tlbnMgbGlzdCB3aXRoIHRoZSBgVGFiYCBrZXlcbiAgICogYW5kIGF0dGVtcHQgdG8gbW92ZSBiZWZvcmUgdGhlIGZpcnN0IHRva2VuIGluIHRoZSBsaXN0LlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBmb2N1c0luZGV4VW5kZXJSYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBzZWxlY3QgYSB0b2tlbiBpbiB0aGUgbGlzdC4gVGhpcyBldmVudCBlbWl0cyB0aGUgc2VsZWN0ZWQgdG9rZW4uXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHRva2VuU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNreVRva2VuU2VsZWN0ZWRFdmVudEFyZ3M+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIHRva2VucyBpbiB0aGUgbGlzdCBjaGFuZ2UuXG4gICAqIFRoaXMgZXZlbnQgZW1pdHMgYW4gYXJyYXkgb2YgdGhlIHRva2VucyBpbiB0aGUgdXBkYXRlZCBsaXN0LlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyB0b2tlbnNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNreVRva2VuW10+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gYWxsIGFuaW1hdGlvbnMgb24gdGhlIHRva2VucyBhcmUgY29tcGxldGUuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyB0b2tlbnNSZW5kZXJlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBwdWJsaWMgZ2V0IGFjdGl2ZUluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuI19hY3RpdmVJbmRleDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgYWN0aXZlSW5kZXgodmFsdWU6IG51bWJlcikge1xuICAgIGlmICh2YWx1ZSA+PSB0aGlzLiNfdG9rZW5zLmxlbmd0aCkge1xuICAgICAgdmFsdWUgPSB0aGlzLiNfdG9rZW5zLmxlbmd0aCAtIDE7XG4gICAgICB0aGlzLmZvY3VzSW5kZXhPdmVyUmFuZ2UuZW1pdCgpO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZSA8IDApIHtcbiAgICAgIHZhbHVlID0gMDtcbiAgICAgIHRoaXMuZm9jdXNJbmRleFVuZGVyUmFuZ2UuZW1pdCgpO1xuICAgIH1cblxuICAgIHRoaXMuI19hY3RpdmVJbmRleCA9IHZhbHVlIHx8IDA7XG4gIH1cblxuICBwdWJsaWMgdHJhY2tUb2tlbkZuOiBUcmFja0J5RnVuY3Rpb248U2t5VG9rZW4+O1xuXG4gICNfZGlzYWJsZWQgPSBmYWxzZTtcbiAgI19kaXNtaXNzaWJsZSA9IHRydWU7XG4gICNfZm9jdXNhYmxlID0gdHJ1ZTtcbiAgI190b2tlbnM6IFNreVRva2VuW10gPSBbXTtcbiAgI19kaXNwbGF5V2l0aCA9IERJU1BMQVlfV0lUSF9ERUZBVUxUO1xuXG4gIEBWaWV3Q2hpbGRyZW4oU2t5VG9rZW5Db21wb25lbnQpXG4gIHB1YmxpYyB0b2tlbkNvbXBvbmVudHM6IFF1ZXJ5TGlzdDxTa3lUb2tlbkNvbXBvbmVudD4gfCB1bmRlZmluZWQ7XG5cbiAgI21lc3NhZ2VTdHJlYW1TdWI6IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAjX21lc3NhZ2VTdHJlYW0gPSBuZXcgU3ViamVjdDxTa3lUb2tlbnNNZXNzYWdlPigpO1xuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuXG4gICNfYWN0aXZlSW5kZXggPSAwO1xuXG4gIGNvbnN0cnVjdG9yKGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yID0gY2hhbmdlRGV0ZWN0b3I7XG4gICAgdGhpcy4jaW5pdE1lc3NhZ2VTdHJlYW0oKTtcblxuICAgIC8vIEFuZ3VsYXIgY2FsbHMgdGhlIHRyYWNrQnkgZnVuY3Rpb24gd2l0aG91dCBhcHBseWluZyB0aGUgY29tcG9uZW50IGluc3RhbmNlJ3Mgc2NvcGUuXG4gICAgLy8gVXNlIGEgZmF0LWFycm93IGZ1bmN0aW9uIHNvIHRoZSBjdXJyZW50IGNvbXBvbmVudCBpbnN0YW5jZSdzIHRyYWNrV2l0aCBwcm9wZXJ0eSBjYW5cbiAgICAvLyBiZSByZWZlcmVuY2VkLlxuICAgIHRoaXMudHJhY2tUb2tlbkZuID0gKF9pbmRleCwgaXRlbSk6IHVua25vd24gPT4ge1xuICAgICAgaWYgKHRoaXMudHJhY2tXaXRoKSB7XG4gICAgICAgIHJldHVybiBpdGVtLnZhbHVlW3RoaXMudHJhY2tXaXRoXTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGl0ZW07XG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgb25Ub2tlbkNsaWNrKHRva2VuOiBTa3lUb2tlbik6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy4jbm90aWZ5VG9rZW5TZWxlY3RlZCh0b2tlbik7XG4gIH1cblxuICBwdWJsaWMgYW5pbWF0aW9uRG9uZSgpOiB2b2lkIHtcbiAgICB0aGlzLnRva2Vuc1JlbmRlcmVkLmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblRva2VuS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgICAgY2FzZSAnTGVmdCc6XG4gICAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XG4gICAgICAgICAgdGhpcy4jX21lc3NhZ2VTdHJlYW0ubmV4dCh7XG4gICAgICAgICAgICB0eXBlOiBTa3lUb2tlbnNNZXNzYWdlVHlwZS5Gb2N1c1ByZXZpb3VzVG9rZW4sXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdSaWdodCc6XG4gICAgICAgIGNhc2UgJ0Fycm93UmlnaHQnOlxuICAgICAgICAgIHRoaXMuI19tZXNzYWdlU3RyZWFtLm5leHQoe1xuICAgICAgICAgICAgdHlwZTogU2t5VG9rZW5zTWVzc2FnZVR5cGUuRm9jdXNOZXh0VG9rZW4sXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0VG9rZW4odG9rZW46IFNreVRva2VuKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLiNub3RpZnlUb2tlblNlbGVjdGVkKHRva2VuKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlVG9rZW4odG9rZW46IFNreVRva2VuKTogdm9pZCB7XG4gICAgdGhpcy50b2tlbnMgPSB0aGlzLnRva2Vucy5maWx0ZXIoKHQpID0+IHQgIT09IHRva2VuKTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICAjZm9jdXNQcmV2aW91c1Rva2VuKCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZlSW5kZXgtLTtcbiAgICB0aGlzLiNmb2N1c0FjdGl2ZVRva2VuKCk7XG4gIH1cblxuICAjZm9jdXNOZXh0VG9rZW4oKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVJbmRleCsrO1xuICAgIHRoaXMuI2ZvY3VzQWN0aXZlVG9rZW4oKTtcbiAgfVxuXG4gICNmb2N1c0xhc3RUb2tlbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50b2tlbkNvbXBvbmVudHMpIHtcbiAgICAgIHRoaXMuYWN0aXZlSW5kZXggPSB0aGlzLnRva2VuQ29tcG9uZW50cy5sZW5ndGggLSAxO1xuICAgICAgdGhpcy4jZm9jdXNBY3RpdmVUb2tlbigpO1xuICAgIH1cbiAgfVxuXG4gICNmb2N1c0FjdGl2ZVRva2VuKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRva2VuQ29tcG9uZW50cykge1xuICAgICAgY29uc3QgdG9rZW5Db21wb25lbnQgPSB0aGlzLnRva2VuQ29tcG9uZW50cy5maW5kKFxuICAgICAgICAoX2NvbXA6IFNreVRva2VuQ29tcG9uZW50LCBpOiBudW1iZXIpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5hY3RpdmVJbmRleCA9PT0gaTtcbiAgICAgICAgfVxuICAgICAgKTtcblxuICAgICAgaWYgKHRva2VuQ29tcG9uZW50KSB7XG4gICAgICAgIHRva2VuQ29tcG9uZW50LmZvY3VzRWxlbWVudCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNyZW1vdmVBY3RpdmVUb2tlbigpOiB2b2lkIHtcbiAgICBjb25zdCB0b2tlbiA9IHRoaXMudG9rZW5zW3RoaXMuYWN0aXZlSW5kZXhdO1xuICAgIGlmICh0b2tlbikge1xuICAgICAgdGhpcy5yZW1vdmVUb2tlbih0b2tlbik7XG4gICAgfVxuICB9XG5cbiAgI2luaXRNZXNzYWdlU3RyZWFtKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNtZXNzYWdlU3RyZWFtU3ViKSB7XG4gICAgICB0aGlzLiNtZXNzYWdlU3RyZWFtU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgdGhpcy4jbWVzc2FnZVN0cmVhbVN1YiA9IHRoaXMubWVzc2FnZVN0cmVhbVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgobWVzc2FnZTogU2t5VG9rZW5zTWVzc2FnZSkgPT4ge1xuICAgICAgICBzd2l0Y2ggKG1lc3NhZ2UudHlwZSkge1xuICAgICAgICAgIGNhc2UgU2t5VG9rZW5zTWVzc2FnZVR5cGUuRm9jdXNMYXN0VG9rZW46XG4gICAgICAgICAgICB0aGlzLiNmb2N1c0xhc3RUb2tlbigpO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlIFNreVRva2Vuc01lc3NhZ2VUeXBlLkZvY3VzQWN0aXZlVG9rZW46XG4gICAgICAgICAgICB0aGlzLiNmb2N1c0FjdGl2ZVRva2VuKCk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgU2t5VG9rZW5zTWVzc2FnZVR5cGUuRm9jdXNQcmV2aW91c1Rva2VuOlxuICAgICAgICAgICAgdGhpcy4jZm9jdXNQcmV2aW91c1Rva2VuKCk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgU2t5VG9rZW5zTWVzc2FnZVR5cGUuRm9jdXNOZXh0VG9rZW46XG4gICAgICAgICAgICB0aGlzLiNmb2N1c05leHRUb2tlbigpO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlIFNreVRva2Vuc01lc3NhZ2VUeXBlLlJlbW92ZUFjdGl2ZVRva2VuOlxuICAgICAgICAgICAgdGhpcy4jcmVtb3ZlQWN0aXZlVG9rZW4oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gICNub3RpZnlUb2tlblNlbGVjdGVkKHRva2VuOiBTa3lUb2tlbik6IHZvaWQge1xuICAgIHRoaXMudG9rZW5TZWxlY3RlZC5lbWl0KHtcbiAgICAgIHRva2VuLFxuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwic2t5LXRva2Vuc1wiXG4gIFtAYmxvY2tBbmltYXRpb25PbkxvYWRdXG4gIFthdHRyLnJvbGVdPVwidG9rZW5zLmxlbmd0aCA/ICdncmlkJyA6IG51bGxcIlxuPlxuICA8IS0tXG4gICAgICBUaGUgcm9sZSBtdXN0IHVzZSBzcXVhcmUgYnJhY2tldHMgb3RoZXJ3aXNlIEFuZ3VsYXIgc2V0cyB0aGUgbmF0aXZlICdyb2xlJ1xuICAgICAgYXR0cmlidXRlIGFzIHdlbGwgYXMgdGhlIGlucHV0IGF0dHJpYnV0ZSBvZiB0aGUgdG9rZW4sIHdoaWNoIGZhaWxzIGFjY2Vzc2liaWxpdHkgcnVsZXMuXG4gICAgLS0+XG4gIDxza3ktdG9rZW5cbiAgICAqbmdGb3I9XCJsZXQgdG9rZW4gb2YgdG9rZW5zOyBsZXQgaSA9IGluZGV4OyB0cmFja0J5OiB0cmFja1Rva2VuRm5cIlxuICAgIFtALmRpc2FibGVkXT1cIiF0cmFja1dpdGhcIlxuICAgIFtAZGlzbWlzc11cbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtkaXNtaXNzaWJsZV09XCJkaXNtaXNzaWJsZVwiXG4gICAgW2ZvY3VzYWJsZV09XCJmb2N1c2FibGVcIlxuICAgIFtyb2xlXT1cIidyb3cnXCJcbiAgICAoQGRpc21pc3MuZG9uZSk9XCJhbmltYXRpb25Eb25lKClcIlxuICAgIChkaXNtaXNzKT1cInJlbW92ZVRva2VuKHRva2VuKVwiXG4gICAgKGNsaWNrKT1cIm9uVG9rZW5DbGljayh0b2tlbilcIlxuICAgIChrZXlkb3duKT1cIm9uVG9rZW5LZXlEb3duKCRldmVudClcIlxuICAgIChrZXl1cC5lbnRlcik9XCJzZWxlY3RUb2tlbih0b2tlbik7ICRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcbiAgICAodG9rZW5Gb2N1cyk9XCJhY3RpdmVJbmRleCA9IGlcIlxuICA+XG4gICAge3sgdG9rZW4udmFsdWVbZGlzcGxheVdpdGhdIH19XG4gIDwvc2t5LXRva2VuPlxuICA8ZGl2IGNsYXNzPVwic2t5LXRva2Vucy1jb250ZW50XCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
321
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3NyYy9saWIvbW9kdWxlcy90b2tlbnMvdG9rZW5zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3NyYy9saWIvbW9kdWxlcy90b2tlbnMvdG9rZW5zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFFLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUdOLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7QUFFbkUsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLENBQUM7QUFFcEM7Ozs7R0FJRztBQWtDSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCOzs7OztPQUtHO0lBQ0gsSUFDVyxRQUFRLENBQUMsS0FBMEI7UUFDNUMsdUJBQUEsSUFBSSxpQ0FBYyxDQUFDLENBQUMsS0FBSyxNQUFBLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLHVCQUFBLElBQUkscUNBQVcsQ0FBQztJQUN6QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFDVyxXQUFXLENBQUMsS0FBMEI7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LFVBQVUsQ0FBQyxRQUFRLEVBQUU7Z0NBQ25CLEtBQUssQ0FBQztvQ0FDSixPQUFPLEVBQUUsQ0FBQztvQ0FDVixLQUFLLEVBQUUsQ0FBQztpQ0FDVCxDQUFDO2dDQUNGLE9BQU8sQ0FDTCxlQUFlLEVBQ2YsS0FBSyxDQUFDO29DQUNKLE9BQU8sRUFBRSxDQUFDO29DQUNWLEtBQUssRUFBRSxHQUFHO2lDQUNYLENBQUMsQ0FDSDs2QkFDRixDQUFDOzRCQUNGLFVBQVUsQ0FBQyxRQUFRLEVBQUU7Z0NBQ25CLE9BQU8sQ0FDTCxlQUFlLEVBQ2YsS0FBSyxDQUFDO29DQUNKLE9BQU8sRUFBRSxDQUFDO29DQUNWLEtBQUssRUFBRSxDQUFDO2lDQUNULENBQUMsQ0FDSDs2QkFDRixDQUFDO3lCQUNILENBQUM7cUJBQ0g7d0dBVVUsUUFBUTtzQkFEbEIsS0FBSztnQkFjSyxXQUFXO3NCQURyQixLQUFLO2dCQWNLLFdBQVc7c0JBRHJCLEtBQUs7Z0JBY0MsU0FBUztzQkFEZixLQUFLO2dCQVVLLFNBQVM7c0JBRG5CLEtBQUs7Z0JBYUssTUFBTTtzQkFEaEIsS0FBSztnQkFtQkssYUFBYTtzQkFEdkIsS0FBSztnQkFlQyxtQkFBbUI7c0JBRHpCLE1BQU07Z0JBUUEsb0JBQW9CO3NCQUQxQixNQUFNO2dCQU9BLGFBQWE7c0JBRG5CLE1BQU07Z0JBUUEsWUFBWTtzQkFEbEIsTUFBTTtnQkFRQSxjQUFjO3NCQURwQixNQUFNO2dCQThCQSxlQUFlO3NCQURyQixZQUFZO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVHJhY2tCeUZ1bmN0aW9uLFxuICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5VG9rZW5Db21wb25lbnQgfSBmcm9tICcuL3Rva2VuLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lUb2tlbiB9IGZyb20gJy4vdHlwZXMvdG9rZW4nO1xuaW1wb3J0IHsgU2t5VG9rZW5TZWxlY3RlZEV2ZW50QXJncyB9IGZyb20gJy4vdHlwZXMvdG9rZW4tc2VsZWN0ZWQtZXZlbnQtYXJncyc7XG5pbXBvcnQgeyBTa3lUb2tlbnNNZXNzYWdlIH0gZnJvbSAnLi90eXBlcy90b2tlbnMtbWVzc2FnZSc7XG5pbXBvcnQgeyBTa3lUb2tlbnNNZXNzYWdlVHlwZSB9IGZyb20gJy4vdHlwZXMvdG9rZW5zLW1lc3NhZ2UtdHlwZSc7XG5cbmNvbnN0IERJU1BMQVlfV0lUSF9ERUZBVUxUID0gJ25hbWUnO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBjb250YWluZXIgdGhhdCBlbmFibGVzIG5hdmlnYXRpb24gYmV0d2VlbiB0b2tlbnMgdXNpbmcga2V5Ym9hcmQgYXJyb3cga2V5cy5cbiAqIFRoaXMgaXMgdXNlZnVsIHdoZW4gY29tYmluZWQgd2l0aCBvdGhlciBjb21wb25lbnRzIHdoZXJlIHRoZSA8a2JkPlRhYjwva2JkPiBrZXkgaXNcbiAqIHJlc2VydmVkIGZvciBvdGhlciBmdW5jdGlvbnMsIHN1Y2ggYXMgdGhlIFNLWSBVWCBMb29rdXAgY29tcG9uZW50LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktdG9rZW5zJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rva2Vucy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Rva2Vucy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ2Jsb2NrQW5pbWF0aW9uT25Mb2FkJywgW3RyYW5zaXRpb24oJzplbnRlcicsIFtdKV0pLFxuICAgIHRyaWdnZXIoJ2Rpc21pc3MnLCBbXG4gICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICAgIHdpZHRoOiAwLFxuICAgICAgICB9KSxcbiAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAnMTUwbXMgZWFzZS1pbicsXG4gICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgb3BhY2l0eTogMSxcbiAgICAgICAgICAgIHdpZHRoOiAnKicsXG4gICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW1xuICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICcxNTBtcyBlYXNlLWluJyxcbiAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICAgICAgd2lkdGg6IDAsXG4gICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICAgIF0pLFxuICAgIF0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lUb2tlbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogV2hldGhlciB0byBkaXNhYmxlIHRoZSB0b2tlbnMgbGlzdCB0byBwcmV2ZW50IHVzZXJzIGZyb20gc2VsZWN0aW5nIHRva2VucyxcbiAgICogZGlzbWlzc2luZyB0b2tlbnMsIG9yIG5hdmlnYXRpbmcgdGhyb3VnaCB0aGUgbGlzdCB3aXRoIHRoZSBhcnJvdyBrZXlzLiBXaGVuIHRoZSB0b2tlbnMgbGlzdFxuICAgKiBpcyBkaXNhYmxlZCwgdXNlcnMgY2FuIHN0aWxsIHBsYWNlIGZvY3VzIG9uIGl0ZW1zIGluIHRoZSBsaXN0IHVzaW5nIHRoZSBgVGFiYCBrZXkuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2Rpc2FibGVkID0gISF2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19kaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHVzZXJzIGNhbiByZW1vdmUgYSB0b2tlbiBmcm9tIHRoZSBsaXN0IGJ5IHNlbGVjdGluZyBhIHRva2VuJ3MgY2xvc2UgYnV0dG9uLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRpc21pc3NpYmxlKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2Rpc21pc3NpYmxlID0gdmFsdWUgIT09IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNtaXNzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jX2Rpc21pc3NpYmxlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSB0b2tlbiBwcm9wZXJ0eSB0byBkaXNwbGF5IGZvciBlYWNoIGl0ZW0gaW4gdGhlIHRva2VucyBsaXN0LlxuICAgKiBAZGVmYXVsdCBcIm5hbWVcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNwbGF5V2l0aCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2Rpc3BsYXlXaXRoID0gdmFsdWUgfHwgRElTUExBWV9XSVRIX0RFRkFVTFQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc3BsYXlXaXRoKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI19kaXNwbGF5V2l0aDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgdG9rZW4gcHJvcGVydHkgdGhhdCByZXByZXNlbnRzIHRoZSB0b2tlbidzIHVuaXF1ZSBpZGVudGlmaWVyLiBXaGVuIHRoaXMgcHJvcGVydHlcbiAgICogaXMgc2V0LCBhbmltYXRpb25zIGFyZSBlbmFibGVkIHdoZW4gZGlzbWlzc2luZyB0b2tlbnMuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgdHJhY2tXaXRoOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdXNlcnMgY2FuIHBsYWNlIGZvY3VzIG9uIHRva2VucyBpbiB0aGUgbGlzdCB1c2luZyB0aGUgYFRhYmAga2V5LlxuICAgKiBUaGlzIGRvZXMgbm90IGFmZmVjdCB0aGUgYWJpbGl0eSBvZiB1c2VycyB0byBzZWxlY3QgdG9rZW5zLCBkaXNtaXNzIHRva2VucyxcbiAgICogb3IgbmF2aWdhdGUgdGhyb3VnaCB0aGUgbGlzdCB3aXRoIHRoZSBhcnJvdyBrZXlzLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGZvY3VzYWJsZSh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19mb2N1c2FibGUgPSB2YWx1ZSAhPT0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZvY3VzYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jX2ZvY3VzYWJsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYXJyYXkgb2YgdG9rZW5zIHRvIGluY2x1ZGUgaW4gdGhlIGxpc3QuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHRva2Vucyh2YWx1ZTogU2t5VG9rZW5bXSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI190b2tlbnMgPSB2YWx1ZSB8fCBbXTtcbiAgICAvLyBUaGUgcHJldmlvdXMgYmVoYXZpb3Igd2FzIHRvIHNldCBgdGhpcy5fdG9rZW5zID0gdmFsdWVgLCB0aGVuIGVtaXQgYHRoaXMuX3Rva2Vuc2AsXG4gICAgLy8gd2hpY2ggd291bGQgZW1pdCBgdW5kZWZpbmVkYCBpbnN0ZWFkIG9mIGEgZGVmYXVsdCB2YWx1ZSBvZiBgW11gIHJldHVybmVkIGJ5IHRoZVxuICAgIC8vIGdldCBhY2Nlc3NvciB3aGVuIHNldCB0byBgdW5kZWZpbmVkYC4gRW1pdHRpbmcgYHZhbHVlYCBpbnN0ZWFkIG9mIGB0aGlzLiNfdG9rZW5zT3JEZWZhdWx0YFxuICAgIC8vIHByZXNlcnZlcyB0aGF0IGJlaGF2aW9yLlxuICAgIHRoaXMudG9rZW5zQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGdldCB0b2tlbnMoKTogU2t5VG9rZW5bXSB7XG4gICAgcmV0dXJuIHRoaXMuI190b2tlbnM7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG9ic2VydmFibGUgb2YgYFNreVRva2Vuc01lc3NhZ2VgIHRoYXQgY2FuIHBsYWNlIGZvY3VzIG9uIGFcbiAgICogcGFydGljdWxhciB0b2tlbiBvciByZW1vdmUgdGhlIGFjdGl2ZSB0b2tlbiBmcm9tIHRoZSBsaXN0LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBtZXNzYWdlU3RyZWFtKHZhbHVlOiBTdWJqZWN0PFNreVRva2Vuc01lc3NhZ2U+IHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX21lc3NhZ2VTdHJlYW0gPSB2YWx1ZSB8fCBuZXcgU3ViamVjdDxTa3lUb2tlbnNNZXNzYWdlPigpO1xuICAgIHRoaXMuI2luaXRNZXNzYWdlU3RyZWFtKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1lc3NhZ2VTdHJlYW0oKTogU3ViamVjdDxTa3lUb2tlbnNNZXNzYWdlPiB7XG4gICAgcmV0dXJuIHRoaXMuI19tZXNzYWdlU3RyZWFtO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgbmF2aWdhdGUgdGhyb3VnaCB0aGUgdG9rZW5zIGxpc3Qgd2l0aCB0aGUgYFRhYmAga2V5XG4gICAqIGFuZCBhdHRlbXB0IHRvIG1vdmUgcGFzdCB0aGUgZmluYWwgdG9rZW4gaW4gdGhlIGxpc3QuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGZvY3VzSW5kZXhPdmVyUmFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgbmF2aWdhdGUgdGhyb3VnaCB0aGUgdG9rZW5zIGxpc3Qgd2l0aCB0aGUgYFRhYmAga2V5XG4gICAqIGFuZCBhdHRlbXB0IHRvIG1vdmUgYmVmb3JlIHRoZSBmaXJzdCB0b2tlbiBpbiB0aGUgbGlzdC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZm9jdXNJbmRleFVuZGVyUmFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgc2VsZWN0IGEgdG9rZW4gaW4gdGhlIGxpc3QuIFRoaXMgZXZlbnQgZW1pdHMgdGhlIHNlbGVjdGVkIHRva2VuLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyB0b2tlblNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxTa3lUb2tlblNlbGVjdGVkRXZlbnRBcmdzPigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSB0b2tlbnMgaW4gdGhlIGxpc3QgY2hhbmdlLlxuICAgKiBUaGlzIGV2ZW50IGVtaXRzIGFuIGFycmF5IG9mIHRoZSB0b2tlbnMgaW4gdGhlIHVwZGF0ZWQgbGlzdC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgdG9rZW5zQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTa3lUb2tlbltdPigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIGFsbCBhbmltYXRpb25zIG9uIHRoZSB0b2tlbnMgYXJlIGNvbXBsZXRlLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgdG9rZW5zUmVuZGVyZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHVibGljIGdldCBhY3RpdmVJbmRleCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLiNfYWN0aXZlSW5kZXg7XG4gIH1cblxuICBwdWJsaWMgc2V0IGFjdGl2ZUluZGV4KHZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAodmFsdWUgPj0gdGhpcy4jX3Rva2Vucy5sZW5ndGgpIHtcbiAgICAgIHZhbHVlID0gdGhpcy4jX3Rva2Vucy5sZW5ndGggLSAxO1xuICAgICAgdGhpcy5mb2N1c0luZGV4T3ZlclJhbmdlLmVtaXQoKTtcbiAgICB9XG5cbiAgICBpZiAodmFsdWUgPCAwKSB7XG4gICAgICB2YWx1ZSA9IDA7XG4gICAgICB0aGlzLmZvY3VzSW5kZXhVbmRlclJhbmdlLmVtaXQoKTtcbiAgICB9XG5cbiAgICB0aGlzLiNfYWN0aXZlSW5kZXggPSB2YWx1ZSB8fCAwO1xuICB9XG5cbiAgcHVibGljIHRyYWNrVG9rZW5GbjogVHJhY2tCeUZ1bmN0aW9uPFNreVRva2VuPjtcblxuICAjX2Rpc2FibGVkID0gZmFsc2U7XG4gICNfZGlzbWlzc2libGUgPSB0cnVlO1xuICAjX2ZvY3VzYWJsZSA9IHRydWU7XG4gICNfdG9rZW5zOiBTa3lUb2tlbltdID0gW107XG4gICNfZGlzcGxheVdpdGggPSBESVNQTEFZX1dJVEhfREVGQVVMVDtcblxuICBAVmlld0NoaWxkcmVuKFNreVRva2VuQ29tcG9uZW50KVxuICBwdWJsaWMgdG9rZW5Db21wb25lbnRzOiBRdWVyeUxpc3Q8U2t5VG9rZW5Db21wb25lbnQ+IHwgdW5kZWZpbmVkO1xuXG4gICNtZXNzYWdlU3RyZWFtU3ViOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgI19tZXNzYWdlU3RyZWFtID0gbmV3IFN1YmplY3Q8U2t5VG9rZW5zTWVzc2FnZT4oKTtcbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcblxuICAjX2FjdGl2ZUluZGV4ID0gMDtcblxuICBjb25zdHJ1Y3RvcihjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI2luaXRNZXNzYWdlU3RyZWFtKCk7XG5cbiAgICAvLyBBbmd1bGFyIGNhbGxzIHRoZSB0cmFja0J5IGZ1bmN0aW9uIHdpdGhvdXQgYXBwbHlpbmcgdGhlIGNvbXBvbmVudCBpbnN0YW5jZSdzIHNjb3BlLlxuICAgIC8vIFVzZSBhIGZhdC1hcnJvdyBmdW5jdGlvbiBzbyB0aGUgY3VycmVudCBjb21wb25lbnQgaW5zdGFuY2UncyB0cmFja1dpdGggcHJvcGVydHkgY2FuXG4gICAgLy8gYmUgcmVmZXJlbmNlZC5cbiAgICB0aGlzLnRyYWNrVG9rZW5GbiA9IChfaW5kZXgsIGl0ZW0pOiB1bmtub3duID0+IHtcbiAgICAgIGlmICh0aGlzLnRyYWNrV2l0aCkge1xuICAgICAgICByZXR1cm4gaXRlbS52YWx1ZVt0aGlzLnRyYWNrV2l0aF07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpdGVtO1xuICAgIH07XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIG9uVG9rZW5DbGljayh0b2tlbjogU2t5VG9rZW4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuI25vdGlmeVRva2VuU2VsZWN0ZWQodG9rZW4pO1xuICB9XG5cbiAgcHVibGljIGFuaW1hdGlvbkRvbmUoKTogdm9pZCB7XG4gICAgdGhpcy50b2tlbnNSZW5kZXJlZC5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgb25Ub2tlbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICAgIGNhc2UgJ0xlZnQnOlxuICAgICAgICBjYXNlICdBcnJvd0xlZnQnOlxuICAgICAgICAgIHRoaXMuI19tZXNzYWdlU3RyZWFtLm5leHQoe1xuICAgICAgICAgICAgdHlwZTogU2t5VG9rZW5zTWVzc2FnZVR5cGUuRm9jdXNQcmV2aW91c1Rva2VuLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnUmlnaHQnOlxuICAgICAgICBjYXNlICdBcnJvd1JpZ2h0JzpcbiAgICAgICAgICB0aGlzLiNfbWVzc2FnZVN0cmVhbS5uZXh0KHtcbiAgICAgICAgICAgIHR5cGU6IFNreVRva2Vuc01lc3NhZ2VUeXBlLkZvY3VzTmV4dFRva2VuLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNlbGVjdFRva2VuKHRva2VuOiBTa3lUb2tlbik6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy4jbm90aWZ5VG9rZW5TZWxlY3RlZCh0b2tlbik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlbW92ZVRva2VuKHRva2VuOiBTa3lUb2tlbik6IHZvaWQge1xuICAgIHRoaXMudG9rZW5zID0gdGhpcy50b2tlbnMuZmlsdGVyKCh0KSA9PiB0ICE9PSB0b2tlbik7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgI2ZvY3VzUHJldmlvdXNUb2tlbigpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZUluZGV4LS07XG4gICAgdGhpcy4jZm9jdXNBY3RpdmVUb2tlbigpO1xuICB9XG5cbiAgI2ZvY3VzTmV4dFRva2VuKCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZlSW5kZXgrKztcbiAgICB0aGlzLiNmb2N1c0FjdGl2ZVRva2VuKCk7XG4gIH1cblxuICAjZm9jdXNMYXN0VG9rZW4oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudG9rZW5Db21wb25lbnRzKSB7XG4gICAgICB0aGlzLmFjdGl2ZUluZGV4ID0gdGhpcy50b2tlbkNvbXBvbmVudHMubGVuZ3RoIC0gMTtcbiAgICAgIHRoaXMuI2ZvY3VzQWN0aXZlVG9rZW4oKTtcbiAgICB9XG4gIH1cblxuICAjZm9jdXNBY3RpdmVUb2tlbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50b2tlbkNvbXBvbmVudHMpIHtcbiAgICAgIGNvbnN0IHRva2VuQ29tcG9uZW50ID0gdGhpcy50b2tlbkNvbXBvbmVudHMuZmluZChcbiAgICAgICAgKF9jb21wOiBTa3lUb2tlbkNvbXBvbmVudCwgaTogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuYWN0aXZlSW5kZXggPT09IGk7XG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICAgIGlmICh0b2tlbkNvbXBvbmVudCkge1xuICAgICAgICB0b2tlbkNvbXBvbmVudC5mb2N1c0VsZW1lbnQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjcmVtb3ZlQWN0aXZlVG9rZW4oKTogdm9pZCB7XG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLnRva2Vuc1t0aGlzLmFjdGl2ZUluZGV4XTtcbiAgICBpZiAodG9rZW4pIHtcbiAgICAgIHRoaXMucmVtb3ZlVG9rZW4odG9rZW4pO1xuICAgIH1cbiAgfVxuXG4gICNpbml0TWVzc2FnZVN0cmVhbSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jbWVzc2FnZVN0cmVhbVN1Yikge1xuICAgICAgdGhpcy4jbWVzc2FnZVN0cmVhbVN1Yi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHRoaXMuI21lc3NhZ2VTdHJlYW1TdWIgPSB0aGlzLm1lc3NhZ2VTdHJlYW1cbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKG1lc3NhZ2U6IFNreVRva2Vuc01lc3NhZ2UpID0+IHtcbiAgICAgICAgc3dpdGNoIChtZXNzYWdlLnR5cGUpIHtcbiAgICAgICAgICBjYXNlIFNreVRva2Vuc01lc3NhZ2VUeXBlLkZvY3VzTGFzdFRva2VuOlxuICAgICAgICAgICAgdGhpcy4jZm9jdXNMYXN0VG9rZW4oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSBTa3lUb2tlbnNNZXNzYWdlVHlwZS5Gb2N1c0FjdGl2ZVRva2VuOlxuICAgICAgICAgICAgdGhpcy4jZm9jdXNBY3RpdmVUb2tlbigpO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlIFNreVRva2Vuc01lc3NhZ2VUeXBlLkZvY3VzUHJldmlvdXNUb2tlbjpcbiAgICAgICAgICAgIHRoaXMuI2ZvY3VzUHJldmlvdXNUb2tlbigpO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlIFNreVRva2Vuc01lc3NhZ2VUeXBlLkZvY3VzTmV4dFRva2VuOlxuICAgICAgICAgICAgdGhpcy4jZm9jdXNOZXh0VG9rZW4oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSBTa3lUb2tlbnNNZXNzYWdlVHlwZS5SZW1vdmVBY3RpdmVUb2tlbjpcbiAgICAgICAgICAgIHRoaXMuI3JlbW92ZUFjdGl2ZVRva2VuKCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICAjbm90aWZ5VG9rZW5TZWxlY3RlZCh0b2tlbjogU2t5VG9rZW4pOiB2b2lkIHtcbiAgICB0aGlzLnRva2VuU2VsZWN0ZWQuZW1pdCh7XG4gICAgICB0b2tlbixcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInNreS10b2tlbnNcIlxuICBbQGJsb2NrQW5pbWF0aW9uT25Mb2FkXVxuICBbYXR0ci5yb2xlXT1cInRva2Vucy5sZW5ndGggPyAnZ3JpZCcgOiBudWxsXCJcbj5cbiAgPCEtLVxuICAgICAgVGhlIHJvbGUgbXVzdCB1c2Ugc3F1YXJlIGJyYWNrZXRzIG90aGVyd2lzZSBBbmd1bGFyIHNldHMgdGhlIG5hdGl2ZSAncm9sZSdcbiAgICAgIGF0dHJpYnV0ZSBhcyB3ZWxsIGFzIHRoZSBpbnB1dCBhdHRyaWJ1dGUgb2YgdGhlIHRva2VuLCB3aGljaCBmYWlscyBhY2Nlc3NpYmlsaXR5IHJ1bGVzLlxuICAgIC0tPlxuICA8c2t5LXRva2VuXG4gICAgKm5nRm9yPVwibGV0IHRva2VuIG9mIHRva2VuczsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tUb2tlbkZuXCJcbiAgICBbQC5kaXNhYmxlZF09XCIhdHJhY2tXaXRoXCJcbiAgICBbQGRpc21pc3NdXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbZGlzbWlzc2libGVdPVwiZGlzbWlzc2libGVcIlxuICAgIFtmb2N1c2FibGVdPVwiZm9jdXNhYmxlXCJcbiAgICBbcm9sZV09XCIncm93J1wiXG4gICAgKEBkaXNtaXNzLmRvbmUpPVwiYW5pbWF0aW9uRG9uZSgpXCJcbiAgICAoZGlzbWlzcyk9XCJyZW1vdmVUb2tlbih0b2tlbilcIlxuICAgIChjbGljayk9XCJvblRva2VuQ2xpY2sodG9rZW4pXCJcbiAgICAoa2V5ZG93bik9XCJvblRva2VuS2V5RG93bigkZXZlbnQpXCJcbiAgICAoa2V5dXAuZW50ZXIpPVwic2VsZWN0VG9rZW4odG9rZW4pOyAkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gICAgKHRva2VuRm9jdXMpPVwiYWN0aXZlSW5kZXggPSBpXCJcbiAgPlxuICAgIHt7IHRva2VuLnZhbHVlW2Rpc3BsYXlXaXRoXSB9fVxuICA8L3NreS10b2tlbj5cbiAgPGRpdiBjbGFzcz1cInNreS10b2tlbnMtY29udGVudFwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -8,16 +8,16 @@ import { SkyTokensComponent } from './tokens.component';
8
8
  import * as i0 from "@angular/core";
9
9
  export class SkyTokensModule {
10
10
  }
11
- SkyTokensModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyTokensModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- SkyTokensModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: SkyTokensModule, declarations: [SkyTokenComponent, SkyTokensComponent], imports: [CommonModule,
11
+ SkyTokensModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyTokensModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ SkyTokensModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: SkyTokensModule, declarations: [SkyTokenComponent, SkyTokensComponent], imports: [CommonModule,
13
13
  SkyI18nModule,
14
14
  SkyIconModule,
15
15
  SkyIndicatorsResourcesModule], exports: [SkyTokenComponent, SkyTokensComponent] });
16
- SkyTokensModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyTokensModule, imports: [CommonModule,
16
+ SkyTokensModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyTokensModule, imports: [CommonModule,
17
17
  SkyI18nModule,
18
18
  SkyIconModule,
19
19
  SkyIndicatorsResourcesModule] });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyTokensModule, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyTokensModule, decorators: [{
21
21
  type: NgModule,
22
22
  args: [{
23
23
  declarations: [SkyTokenComponent, SkyTokensComponent],
@@ -213,9 +213,9 @@ _SkyWaitAdapterService_focusableElements = new WeakMap(), _SkyWaitAdapterService
213
213
  }
214
214
  };
215
215
  SkyWaitAdapterService.isPageWaitActive = false;
216
- SkyWaitAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyWaitAdapterService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
217
- SkyWaitAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyWaitAdapterService });
218
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyWaitAdapterService, decorators: [{
216
+ SkyWaitAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyWaitAdapterService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
217
+ SkyWaitAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyWaitAdapterService });
218
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyWaitAdapterService, decorators: [{
219
219
  type: Injectable
220
220
  }], ctorParameters: function () { return [{ type: i0.RendererFactory2 }]; } });
221
221
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdC1hZGFwdGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvaW5kaWNhdG9ycy9zcmMvbGliL21vZHVsZXMvd2FpdC93YWl0LWFkYXB0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFFTCxVQUFVLEdBSVgsTUFBTSxlQUFlLENBQUM7O0FBRXZCLE1BQU0sWUFBWSxHQU9kLEVBQUUsQ0FBQztBQUVQLHFFQUFxRTtBQUNyRSwyREFBMkQ7QUFDM0Q7OztHQUdHO0FBRUgsTUFBTSxPQUFPLHFCQUFxQjtJQU1oQyxZQUFZLGVBQWlDOztRQUg3QywyREFBOEM7UUFDOUMsa0RBQXFCO1FBR25CLHVCQUFBLElBQUksbUNBQWEsZUFBZSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQUEsQ0FBQztJQUNuRSxDQUFDO0lBRU0sV0FBVztRQUNoQix1QkFBQSxJQUFJLCtFQUFnQixNQUFwQixJQUFJLENBQWtCLENBQUM7SUFDekIsQ0FBQztJQUVNLGFBQWEsQ0FBQyxNQUFrQjtRQUNyQyx1QkFBQSxJQUFJLHVDQUFVLENBQUMsUUFBUSxDQUNyQixNQUFNLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFDbEMsVUFBVSxFQUNWLFVBQVUsQ0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVNLGdCQUFnQixDQUFDLE1BQWtCO1FBQ3hDLHVCQUFBLElBQUksdUNBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVNLFlBQVksQ0FDakIsTUFBa0IsRUFDbEIsVUFBbUIsRUFDbkIsU0FBa0IsRUFDbEIsYUFBc0IsRUFDdEIsZUFBd0I7UUFFeEIsTUFBTSxNQUFNLEdBQUcsVUFBVTtZQUN2QixDQUFDLENBQUMsUUFBUSxDQUFDLElBQUk7WUFDZixD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Q0FBQyxHQUFHLENBQUMsQ0FBQztLQUMxQjtBQUNILENBQUM7QUFsUmEsc0NBQWdCLEdBQUcsS0FBSyxDQUFDO2tIQUQ1QixxQkFBcUI7c0hBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0YWJsZSxcbiAgT25EZXN0cm95LFxuICBSZW5kZXJlcjIsXG4gIFJlbmRlcmVyRmFjdG9yeTIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5jb25zdCBidXN5RWxlbWVudHM6IHtcbiAgW2tleTogc3RyaW5nXToge1xuICAgIGJ1c3lFbDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQ7XG4gICAgbGlzdGVuZXI6ICgpID0+IHZvaWQ7XG4gICAgcmVzdG9yZUZvY3VzRWxlbWVudD86IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkO1xuICAgIHJlc3RvcmVGb2N1c0NoZWNrRWxlbWVudD86IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkO1xuICB9O1xufSA9IHt9O1xuXG4vLyBOZWVkIHRvIGFkZCB0aGUgZm9sbG93aW5nIHRvIGNsYXNzZXMgd2hpY2ggY29udGFpbiBzdGF0aWMgbWV0aG9kcy5cbi8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL25nLXBhY2thZ3IvbmctcGFja2Fnci9pc3N1ZXMvNjQxXG4vKipcbiAqIEBpbnRlcm5hbFxuICogQGR5bmFtaWNcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreVdhaXRBZGFwdGVyU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBzdGF0aWMgaXNQYWdlV2FpdEFjdGl2ZSA9IGZhbHNlO1xuXG4gICNmb2N1c2FibGVFbGVtZW50czogSFRNTEVsZW1lbnRbXSB8IHVuZGVmaW5lZDtcbiAgI3JlbmRlcmVyOiBSZW5kZXJlcjI7XG5cbiAgY29uc3RydWN0b3IocmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyKSB7XG4gICAgdGhpcy4jcmVuZGVyZXIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIodW5kZWZpbmVkLCBudWxsKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNjbGVhckxpc3RlbmVycygpO1xuICB9XG5cbiAgcHVibGljIHNldFdhaXRCb3VuZHMod2FpdEVsOiBFbGVtZW50UmVmKTogdm9pZCB7XG4gICAgdGhpcy4jcmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICB3YWl0RWwubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50LFxuICAgICAgJ3Bvc2l0aW9uJyxcbiAgICAgICdyZWxhdGl2ZSdcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZVdhaXRCb3VuZHMod2FpdEVsOiBFbGVtZW50UmVmKTogdm9pZCB7XG4gICAgdGhpcy4jcmVuZGVyZXIucmVtb3ZlU3R5bGUod2FpdEVsLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudCwgJ3Bvc2l0aW9uJyk7XG4gIH1cblxuICBwdWJsaWMgc2V0QnVzeVN0YXRlKFxuICAgIHdhaXRFbDogRWxlbWVudFJlZixcbiAgICBpc0Z1bGxQYWdlOiBib29sZWFuLFxuICAgIGlzV2FpdGluZzogYm9vbGVhbixcbiAgICBpc05vbkJsb2NraW5nOiBib29sZWFuLFxuICAgIHdhaXRDb21wb25lbnRJZD86IHN0cmluZ1xuICApOiB2b2lkIHtcbiAgICBjb25zdCBidXN5RWwgPSBpc0Z1bGxQYWdlXG4gICAgICA/IGRvY3VtZW50LmJvZHlcbiAgICAgIDogd2FpdEVsLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudDtcblxuICAgIGlmICghaXNOb25CbG9ja2luZykge1xuICAgICAgaWYgKGlzV2FpdGluZykge1xuICAgICAgICBsZXQgcmVzdG9yZUZvY3VzRWxlbWVudDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgICAgIGxldCByZXN0b3JlRm9jdXNDaGVja0VsZW1lbnQ6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLiNyZW5kZXJlci5zZXRBdHRyaWJ1dGUoYnVzeUVsLCAnYXJpYS1idXN5JywgJ3RydWUnKTtcblxuICAgICAgICAvLyBSZW1vdmUgZm9jdXMgZnJvbSBwYWdlIHdoZW4gZnVsbCBwYWdlIGJsb2NraW5nIHdhaXRcbiAgICAgICAgaWYgKGlzRnVsbFBhZ2UgfHwgYnVzeUVsLmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpKSB7XG4gICAgICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgIT09IGRvY3VtZW50LmJvZHkpIHtcbiAgICAgICAgICAgIHJlc3RvcmVGb2N1c0VsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLiNjbGVhckRvY3VtZW50Rm9jdXMoKTtcbiAgICAgICAgICByZXN0b3JlRm9jdXNDaGVja0VsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzRnVsbFBhZ2UpIHtcbiAgICAgICAgICBTa3lXYWl0QWRhcHRlclNlcnZpY2UuaXNQYWdlV2FpdEFjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgY29uc3QgZW5kTGlzdGVuZXJGdW5jID0gdGhpcy4jcmVuZGVyZXIubGlzdGVuKFxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keSxcbiAgICAgICAgICAgICdrZXlkb3duJyxcbiAgICAgICAgICAgIChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICAgICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgICAgIGlmIChldmVudC5rZXkpIHtcbiAgICAgICAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgICAgICAgIGlmIChldmVudC5rZXkudG9Mb3dlckNhc2UoKSA9PT0gJ3RhYicpIHtcbiAgICAgICAgICAgICAgICAgIChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmJsdXIoKTtcbiAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgdGhpcy4jY2xlYXJEb2N1bWVudEZvY3VzKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGlmICh3YWl0Q29tcG9uZW50SWQpIHtcbiAgICAgICAgICAgIGJ1c3lFbGVtZW50c1t3YWl0Q29tcG9uZW50SWRdID0ge1xuICAgICAgICAgICAgICBsaXN0ZW5lcjogZW5kTGlzdGVuZXJGdW5jLFxuICAgICAgICAgICAgICBidXN5RWw6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgcmVzdG9yZUZvY3VzRWxlbWVudCxcbiAgICAgICAgICAgICAgcmVzdG9yZUZvY3VzQ2hlY2tFbGVtZW50LFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgZW5kTGlzdGVuZXJGdW5jID0gdGhpcy4jcmVuZGVyZXIubGlzdGVuKFxuICAgICAgICAgICAgYnVzeUVsLFxuICAgICAgICAgICAgJ2ZvY3VzaW4nLFxuICAgICAgICAgICAgKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgICAgIGlmICghaXNOb25CbG9ja2luZykge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgICAgICAgICBpZiAoU2t5V2FpdEFkYXB0ZXJTZXJ2aWNlLmlzUGFnZVdhaXRBY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuI2NsZWFyRG9jdW1lbnRGb2N1cygpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAvLyBQcm9wYWdhdGUgdGFiIG5hdmlnYXRpb24gaWYgYXR0ZW1wdGVkIGludG8gd2FpdGVkIGVsZW1lbnRcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcblxuICAgICAgICAgICAgICAgICAgaWYgKHRhcmdldCkge1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQuYmx1cigpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLiNmb2N1c05leHRFbGVtZW50KHRhcmdldCwgdGhpcy4jaXNTaGlmdChldmVudCkpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBpZiAod2FpdENvbXBvbmVudElkKSB7XG4gICAgICAgICAgICBidXN5RWxlbWVudHNbd2FpdENvbXBvbmVudElkXSA9IHtcbiAgICAgICAgICAgICAgbGlzdGVuZXI6IGVuZExpc3RlbmVyRnVuYyxcbiAgICAgICAgICAgICAgYnVzeUVsLFxuICAgICAgICAgICAgICByZXN0b3JlRm9jdXNFbGVtZW50LFxuICAgICAgICAgICAgICByZXN0b3JlRm9jdXNDaGVja0VsZW1lbnQsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy4jcmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKGJ1c3lFbCwgJ2FyaWEtYnVzeScpO1xuXG4gICAgICAgIGlmIChpc0Z1bGxQYWdlKSB7XG4gICAgICAgICAgU2t5V2FpdEFkYXB0ZXJTZXJ2aWNlLmlzUGFnZVdhaXRBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh3YWl0Q29tcG9uZW50SWQgJiYgd2FpdENvbXBvbmVudElkIGluIGJ1c3lFbGVtZW50cykge1xuICAgICAgICAgIGNvbnN0IGJ1c3lFbGVtZW50ID0gYnVzeUVsZW1lbnRzW3dhaXRDb21wb25lbnRJZF07XG5cbiAgICAgICAgICBidXN5RWxlbWVudC5saXN0ZW5lcigpO1xuXG4gICAgICAgICAgLy8gSWYgdGhlcmUgaXMgYSByZXN0b3JlIGZvY3VzIGVsZW1lbnQgYW5kIHRoZSBmb2N1cyBoYXMgbm90IG1vdmVkLCByZXN0b3JlIGZvY3VzLlxuICAgICAgICAgIGlmIChidXN5RWxlbWVudC5yZXN0b3JlRm9jdXNDaGVja0VsZW1lbnQgPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIGJ1c3lFbGVtZW50LnJlc3RvcmVGb2N1c0VsZW1lbnQ/LmZvY3VzKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGVsZXRlIGJ1c3lFbGVtZW50c1t3YWl0Q29tcG9uZW50SWRdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI2ZvY3VzTmV4dEVsZW1lbnQodGFyZ2V0RWxlbWVudDogSFRNTEVsZW1lbnQsIHNoaWZ0S2V5OiBib29sZWFuKTogdm9pZCB7XG4gICAgY29uc3QgZm9jdXNhYmxlID0gdGhpcy4jZ2V0Rm9jdXNhYmxlRWxlbWVudHMoKTtcblxuICAgIC8vIElmIHNoaWZ0IHRhYiwgZ28gaW4gdGhlIG90aGVyIGRpcmVjdGlvblxuICAgIGNvbnN0IG1vZGlmaWVyID0gc2hpZnRLZXkgPyAtMSA6IDE7XG5cbiAgICAvLyBGaW5kIHRoZSBuZXh0IG5hdmlnYWJsZSBlbGVtZW50IHRoYXQgaXNuJ3Qgd2FpdGluZ1xuICAgIGNvbnN0IHN0YXJ0aW5nSW5kZXggPSBmb2N1c2FibGUuaW5kZXhPZih0YXJnZXRFbGVtZW50KTtcbiAgICBsZXQgY3VySW5kZXggPSBzdGFydGluZ0luZGV4ICsgbW9kaWZpZXI7XG4gICAgd2hpbGUgKFxuICAgICAgZm9jdXNhYmxlW2N1ckluZGV4XSAmJlxuICAgICAgdGhpcy4jaXNFbGVtZW50QnVzeU9ySGlkZGVuKGZvY3VzYWJsZVtjdXJJbmRleF0pXG4gICAgKSB7XG4gICAgICBjdXJJbmRleCArPSBtb2RpZmllcjtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBmb2N1c2FibGVbY3VySW5kZXhdICYmXG4gICAgICAhdGhpcy4jaXNFbGVtZW50QnVzeU9ySGlkZGVuKGZvY3VzYWJsZVtjdXJJbmRleF0pXG4gICAgKSB7XG4gICAgICBmb2N1c2FibGVbY3VySW5kZXhdLmZvY3VzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRyeSB3cmFwcGluZyB0aGUgbmF2aWdhdGlvblxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgICAgY3VySW5kZXggPSBtb2RpZmllciA+IDAgPyAwIDogZm9jdXNhYmxlLmxlbmd0aCAtIDE7XG4gICAgICB3aGlsZSAoXG4gICAgICAgIGN1ckluZGV4ICE9PSBzdGFydGluZ0luZGV4ICYmXG4gICAgICAgIGZvY3VzYWJsZVtjdXJJbmRleF0gJiZcbiAgICAgICAgdGhpcy4jaXNFbGVtZW50QnVzeU9ySGlkZGVuKGZvY3VzYWJsZVtjdXJJbmRleF0pXG4gICAgICApIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgLyogc2FuaXR5IGNoZWNrICovXG4gICAgICAgIGN1ckluZGV4ICs9IG1vZGlmaWVyO1xuICAgICAgfVxuXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgLyogc2FuaXR5IGNoZWNrICovXG4gICAgICBpZiAoXG4gICAgICAgIGZvY3VzYWJsZVtjdXJJbmRleF0gJiZcbiAgICAgICAgIXRoaXMuI2lzRWxlbWVudEJ1c3lPckhpZGRlbihmb2N1c2FibGVbY3VySW5kZXhdKVxuICAgICAgKSB7XG4gICAgICAgIGZvY3VzYWJsZVtjdXJJbmRleF0uZm9jdXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIE5vIHZhbGlkIHRhcmdldCwgd2lwZSBmb2N1c1xuICAgICAgICB0aGlzLiNjbGVhckRvY3VtZW50Rm9jdXMoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBjbGVhciBmb2N1c2FibGVFbGVtZW50cyBsaXN0XG4gICAgdGhpcy4jZm9jdXNhYmxlRWxlbWVudHMgPSB1bmRlZmluZWQ7XG4gIH1cblxuICAjaXNTaGlmdChldmVudDogRXZlbnQpOiBib29sZWFuIHtcbiAgICAvLyBEZXRlcm1pbmUgaWYgc2hpZnQrdGFiIHdhcyB1c2VkIGJhc2VkIG9uIGVsZW1lbnQgb3JkZXJcbiAgICBjb25zdCBlbGVtZW50cyA9IHRoaXMuI2dldEZvY3VzYWJsZUVsZW1lbnRzKCkuZmlsdGVyKFxuICAgICAgKGVsZW0pID0+ICF0aGlzLiNpc0VsZW1lbnRIaWRkZW4oZWxlbSlcbiAgICApO1xuXG4gICAgY29uc3QgcHJldmlvdXNJbmQgPSBlbGVtZW50cy5pbmRleE9mKChldmVudCBhcyBhbnkpLnJlbGF0ZWRUYXJnZXQpO1xuICAgIGNvbnN0IGN1cnJlbnRJbmQgPSBlbGVtZW50cy5pbmRleE9mKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgcHJldmlvdXNJbmQgPT09IGN1cnJlbnRJbmQgKyAxIHx8XG4gICAgICAocHJldmlvdXNJbmQgPT09IDAgJiYgY3VycmVudEluZCA9PT0gZWxlbWVudHMubGVuZ3RoIC0gMSkgfHxcbiAgICAgIHByZXZpb3VzSW5kID4gY3VycmVudEluZCB8fFxuICAgICAgIShldmVudCBhcyBhbnkpLnJlbGF0ZWRUYXJnZXRcbiAgICApO1xuICB9XG5cbiAgI2lzRWxlbWVudEhpZGRlbihlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG4gICAgcmV0dXJuIHN0eWxlLmRpc3BsYXkgPT09ICdub25lJyB8fCBzdHlsZS52aXNpYmlsaXR5ID09PSAnaGlkZGVuJztcbiAgfVxuXG4gICNpc0VsZW1lbnRCdXN5T3JIaWRkZW4oZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy4jaXNFbGVtZW50SGlkZGVuKGVsZW1lbnQpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhidXN5RWxlbWVudHMpKSB7XG4gICAgICBjb25zdCBwYXJlbnRFbGVtZW50ID0gYnVzeUVsZW1lbnRzW2tleV0uYnVzeUVsO1xuICAgICAgaWYgKHBhcmVudEVsZW1lbnQgJiYgcGFyZW50RWxlbWVudC5jb250YWlucyhlbGVtZW50KSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgI2NsZWFyRG9jdW1lbnRGb2N1cygpOiB2b2lkIHtcbiAgICBjb25zdCBhY3RpdmVFbGVtZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKGFjdGl2ZUVsZW1lbnQpIHtcbiAgICAgIGFjdGl2ZUVsZW1lbnQuYmx1cigpO1xuICAgIH1cblxuICAgIGRvY3VtZW50LmJvZHkuZm9jdXMoKTtcbiAgfVxuXG4gICNnZXRGb2N1c2FibGVFbGVtZW50cygpOiBIVE1MRWxlbWVudFtdIHtcbiAgICAvLyBLZWVwIHRoaXMgY2FjaGVkIHNvIHdlIGNhbiByZWR1Y2UgcXVlcmllc1xuICAgIGlmICh0aGlzLiNmb2N1c2FibGVFbGVtZW50cykge1xuICAgICAgcmV0dXJuIHRoaXMuI2ZvY3VzYWJsZUVsZW1lbnRzO1xuICAgIH1cblxuICAgIC8vIFNlbGVjdCBhbGwgcG9zc2libGUgZm9jdXNhYmxlIGVsZW1lbnRzXG4gICAgY29uc3QgZm9jdXNhYmxlRWxlbWVudHMgPVxuICAgICAgJ2FbaHJlZl0sICcgK1xuICAgICAgJ2FyZWFbaHJlZl0sICcgK1xuICAgICAgXCJpbnB1dDpub3QoW2Rpc2FibGVkXSk6bm90KFt0YWJpbmRleD0nLTEnXSksIFwiICtcbiAgICAgIFwiYnV0dG9uOm5vdChbZGlzYWJsZWRdKTpub3QoW3RhYmluZGV4PSctMSddKSwgXCIgK1xuICAgICAgXCJzZWxlY3Q6bm90KFtkaXNhYmxlZF0pOm5vdChbdGFiaW5kZXg9Jy0xJ10pLCBcIiArXG4gICAgICBcInRleHRhcmVhOm5vdChbZGlzYWJsZWRdKTpub3QoW3RhYmluZGV4PSctMSddKSwgXCIgK1xuICAgICAgJ2lmcmFtZSwgb2JqZWN0LCBlbWJlZCwgJyArXG4gICAgICBcIipbdGFiaW5kZXhdOm5vdChbdGFiaW5kZXg9Jy0xJ10pLCBcIiArXG4gICAgICAnKltjb250ZW50ZWRpdGFibGU9dHJ1ZV0nO1xuXG4gICAgdGhpcy4jZm9jdXNhYmxlRWxlbWVudHMgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoXG4gICAgICBkb2N1bWVudC5ib2R5LnF1ZXJ5U2VsZWN0b3JBbGwoZm9jdXNhYmxlRWxlbWVudHMpLFxuICAgICAgKGVsZW1lbnQ6IEhUTUxFbGVtZW50KSA9PiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgZWxlbWVudC5vZmZzZXRXaWR0aCA+IDAgfHxcbiAgICAgICAgICBlbGVtZW50Lm9mZnNldEhlaWdodCA+IDAgfHxcbiAgICAgICAgICBlbGVtZW50ID09PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy4jZm9jdXNhYmxlRWxlbWVudHM7XG4gIH1cblxuICAjY2xlYXJMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgU2t5V2FpdEFkYXB0ZXJTZXJ2aWNlLmlzUGFnZVdhaXRBY3RpdmUgPSBmYWxzZTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhidXN5RWxlbWVudHMpKSB7XG4gICAgICBidXN5RWxlbWVudHNba2V5XS5saXN0ZW5lcigpO1xuICAgICAgZGVsZXRlIGJ1c3lFbGVtZW50c1trZXldO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -6,9 +6,9 @@ import * as i1 from "./wait.component";
6
6
  */
7
7
  export class SkyWaitPageComponent {
8
8
  }
9
- SkyWaitPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyWaitPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
- SkyWaitPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: SkyWaitPageComponent, selector: "sky-wait-page", inputs: { hasBlockingWait: "hasBlockingWait", hasNonBlockingWait: "hasNonBlockingWait" }, ngImport: i0, template: "<div class=\"sky-wait-page\">\n <sky-wait\n data-sky-id=\"page-wait-non-blocking\"\n [isFullPage]=\"true\"\n [isNonBlocking]=\"true\"\n [isWaiting]=\"hasNonBlockingWait\"\n >\n </sky-wait>\n <sky-wait\n data-sky-id=\"page-wait-blocking\"\n [isFullPage]=\"true\"\n [isWaiting]=\"hasBlockingWait\"\n >\n </sky-wait>\n</div>\n", styles: [".sky-wait-page ::ng-deep .sky-wait-mask-loading-fixed{z-index:2000}\n"], dependencies: [{ kind: "component", type: i1.SkyWaitComponent, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking"] }] });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyWaitPageComponent, decorators: [{
9
+ SkyWaitPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyWaitPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
+ SkyWaitPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: SkyWaitPageComponent, selector: "sky-wait-page", inputs: { hasBlockingWait: "hasBlockingWait", hasNonBlockingWait: "hasNonBlockingWait" }, ngImport: i0, template: "<div class=\"sky-wait-page\">\n <sky-wait\n data-sky-id=\"page-wait-non-blocking\"\n [isFullPage]=\"true\"\n [isNonBlocking]=\"true\"\n [isWaiting]=\"hasNonBlockingWait\"\n >\n </sky-wait>\n <sky-wait\n data-sky-id=\"page-wait-blocking\"\n [isFullPage]=\"true\"\n [isWaiting]=\"hasBlockingWait\"\n >\n </sky-wait>\n</div>\n", styles: [".sky-wait-page ::ng-deep .sky-wait-mask-loading-fixed{z-index:2000}\n"], dependencies: [{ kind: "component", type: i1.SkyWaitComponent, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking"] }] });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyWaitPageComponent, decorators: [{
12
12
  type: Component,
13
13
  args: [{ selector: 'sky-wait-page', template: "<div class=\"sky-wait-page\">\n <sky-wait\n data-sky-id=\"page-wait-non-blocking\"\n [isFullPage]=\"true\"\n [isNonBlocking]=\"true\"\n [isWaiting]=\"hasNonBlockingWait\"\n >\n </sky-wait>\n <sky-wait\n data-sky-id=\"page-wait-blocking\"\n [isFullPage]=\"true\"\n [isWaiting]=\"hasBlockingWait\"\n >\n </sky-wait>\n</div>\n", styles: [".sky-wait-page ::ng-deep .sky-wait-mask-loading-fixed{z-index:2000}\n"] }]
14
14
  }], propDecorators: { hasBlockingWait: [{