@skyux/tiles 10.41.1 → 10.41.2

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.
@@ -169,7 +169,7 @@ export class SkyTileComponent {
169
169
  return idService.generateId();
170
170
  },
171
171
  },
172
- ], queries: [{ propertyName: "titleRef", first: true, predicate: SkyTileTitleComponent, descendants: true, read: ElementRef }], viewQueries: [{ propertyName: "grabHandle", first: true, predicate: ["grabHandle"], descendants: true, read: ElementRef }, { propertyName: "title", first: true, predicate: ["titleContainer"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<section\n class=\"sky-tile\"\n [ngClass]=\"{\n 'sky-tile-collapsed': isCollapsed\n }\"\n [skyThemeClass]=\"{\n 'sky-box sky-elevation-1-bordered sky-padding-even-xl': 'modern'\n }\"\n>\n <header class=\"sky-tile-header\">\n <div class=\"sky-tile-header-content\" (click)=\"titleClick($event)\">\n <div class=\"sky-tile-header-title\" #titleContainer>\n <ng-content select=\"sky-tile-title\" />\n @if (tileName && (helpKey || helpPopoverContent)) {\n <sky-help-inline\n [helpKey]=\"helpKey\"\n [labelText]=\"tileName\"\n [popoverContent]=\"helpPopoverContent\"\n [popoverTitle]=\"helpPopoverTitle\"\n />\n }\n </div>\n <div class=\"sky-tile-summary sky-font-display-3\">\n <ng-content select=\"sky-tile-summary\" />\n </div>\n </div>\n <div class=\"sky-tile-header-column-tools\">\n <div class=\"sky-tile-tools\">\n <ng-container *skyThemeIf=\"'default'\">\n <button\n *ngIf=\"hasHelp\"\n class=\"sky-btn sky-tile-tools-control sky-tile-help\"\n type=\"button\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_help' | skyLibResources: tileName)\n : ('skyux_tile_help_default' | skyLibResources)\n \"\n [skyThemeClass]=\"{\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"helpButtonClicked()\"\n >\n <sky-icon icon=\"question-circle\" />\n </button>\n </ng-container>\n <sky-chevron\n [ariaControls]=\"tileContent.id\"\n [ariaLabel]=\"\n tileName\n ? ('skyux_tile_expand' | skyLibResources: tileName)\n : ('skyux_tile_expand_default' | skyLibResources)\n \"\n [direction]=\"isCollapsed ? 'down' : 'up'\"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-margin-inline-default': 'modern'\n }\"\n (directionChange)=\"chevronDirectionChange($event)\"\n >\n </sky-chevron>\n <button\n *ngIf=\"hasSettings\"\n class=\"sky-btn sky-tile-settings\"\n type=\"button\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_settings' | skyLibResources: tileName)\n : ('skyux_tile_settings_default' | skyLibResources)\n \"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-btn-icon-borderless sky-margin-inline-default': 'modern'\n }\"\n (click)=\"settingsButtonClicked()\"\n >\n <sky-icon icon=\"cog\" />\n </button>\n <button\n *ngIf=\"isInDashboardColumn\"\n class=\"sky-btn sky-tile-grab-handle\"\n type=\"button\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_move' | skyLibResources: tileName)\n : ('skyux_tile_move_default' | skyLibResources)\n \"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"moveTile($event)\"\n #grabHandle\n >\n <sky-icon icon=\"tile-drag\" />\n </button>\n </div>\n </div>\n </header>\n <div\n class=\"sky-tile-content\"\n role=\"region\"\n skyId\n [attr.aria-label]=\"tileName\"\n [attr.aria-labelledBy]=\"!tileName && titleRef ? tileTitleId : undefined\"\n [@skyAnimationSlide]=\"isCollapsed ? 'up' : 'down'\"\n #tileContent=\"skyId\"\n >\n <ng-content select=\"sky-tile-content\" />\n </div>\n</section>\n", styles: [".sky-tile{background-color:#fff;margin-bottom:20px}:host-context(.sky-tile-dashboard-layout-single,.sky-tile-dashboard-layout-multi) .sky-tile{margin-bottom:0}:host-context(.sky-tile-dashboard-gt-xs) :host-context(.sky-tile-dashboard-layout-single) .sky-tile,:host-context(.sky-tile-dashboard-gt-xs) :host-context(.sky-tile-dashboard-layout-multi) .sky-tile{margin-bottom:20px}:host-context(.sky-tile-dashboard-gt-xs) :host-context(.sky-theme-default){padding-top:20px}.sky-tile-header{border-color:#cdcfd2;border-style:solid solid none;border-width:4px 0 0;display:flex}.sky-tile-header-content{display:flex;flex:1;align-items:baseline;cursor:pointer}.sky-tile-header-title{display:inline-flex;align-items:baseline;padding:10px 15px}.sky-tile-header-title>sky-help-inline{margin-left:var(--sky-margin-inline-xs)}.sky-tile-summary{color:#0974a1;display:none;padding-right:15px;max-height:30px;overflow:hidden}.sky-tile-collapsed .sky-tile-summary{display:block}.sky-tile-header-column-tools{display:flex;align-items:center;flex:0 0 auto}.sky-tile-tools{display:flex;padding-right:15px}.sky-tile-tools-control{color:#cdcfd2;cursor:pointer;border:0;width:24px;height:24px;padding:0;display:block;margin:0 0 0 9px}.sky-tile-tools-control:hover{color:#979ba2;transition:color .15s}.sky-tile-grab-handle{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;font-size:15px}.sky-tile-content{border-color:#e2e3e4;border-image:none;border-style:solid solid none;border-width:1px 0}:host-context(.sky-theme-modern) .sky-tile-header,:host-context(.sky-theme-modern) .sky-tile-content{border:none}:host-context(.sky-theme-modern) .sky-tile-header-title{padding:0;margin:0 30px 0 0}:host-context(.sky-theme-modern) .sky-tile-header-column-tools{align-items:flex-start}:host-context(.sky-theme-modern) .sky-tile-tools{padding:0}:host-context(.sky-theme-modern) .sky-tile-tools-control{font-size:18px;color:#686c73}:host-context(.sky-theme-modern) .sky-tile-grab-handle{font-size:16px}:host-context(.sky-theme-modern) :host .sky-tile{border-radius:0}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-xs) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:0}@media (min-width: 768px){:host-context(.sky-theme-modern) :host .sky-tile{border-radius:6px}}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:6px}.sky-theme-modern .sky-tile-header,.sky-theme-modern .sky-tile-content{border:none}.sky-theme-modern .sky-tile-header-title{padding:0;margin:0 30px 0 0}.sky-theme-modern .sky-tile-header-column-tools{align-items:flex-start}.sky-theme-modern .sky-tile-tools{padding:0}.sky-theme-modern .sky-tile-tools-control{font-size:18px;color:#686c73}.sky-theme-modern .sky-tile-grab-handle{font-size:16px}.sky-theme-modern :host .sky-tile{border-radius:0}.sky-theme-modern :host-context(.sky-responsive-container-xs) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:0}@media (min-width: 768px){.sky-theme-modern :host .sky-tile{border-radius:6px}}.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:6px}:host-context(.sky-theme-modern .sky-tile-dashboard-gt-xs) :host-context(.sky-tile-dashboard-layout-single) .sky-tile,:host-context(.sky-theme-modern .sky-tile-dashboard-gt-xs) :host-context(.sky-tile-dashboard-layout-multi) .sky-tile{margin-bottom:30px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: SkyChevronModule }, { kind: "component", type: i3.λ2, selector: "sky-chevron", inputs: ["ariaControls", "ariaLabel", "direction", "disabled"], outputs: ["directionChange"] }, { kind: "ngmodule", type: SkyHelpInlineModule }, { kind: "component", type: i4.λ1, selector: "sky-help-inline", inputs: ["ariaControls", "ariaExpanded", "ariaLabel", "helpKey", "labelledBy", "labelText", "popoverContent", "popoverTitle"], outputs: ["actionClick"] }, { kind: "ngmodule", type: SkyIconModule }, { kind: "component", type: i5.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant"] }, { kind: "ngmodule", type: SkyIdModule }, { kind: "directive", type: i6.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "ngmodule", type: SkyThemeModule }, { kind: "directive", type: i7.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "directive", type: i7.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "ngmodule", type: SkyTilesResourcesModule }, { kind: "pipe", type: i8.SkyLibResourcesPipe, name: "skyLibResources" }], animations: [skyAnimationSlide] }); }
172
+ ], queries: [{ propertyName: "titleRef", first: true, predicate: SkyTileTitleComponent, descendants: true, read: ElementRef }], viewQueries: [{ propertyName: "grabHandle", first: true, predicate: ["grabHandle"], descendants: true, read: ElementRef }, { propertyName: "title", first: true, predicate: ["titleContainer"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<section\n class=\"sky-tile\"\n [ngClass]=\"{\n 'sky-tile-collapsed': isCollapsed\n }\"\n [skyThemeClass]=\"{\n 'sky-box sky-elevation-1-bordered sky-padding-even-xl': 'modern'\n }\"\n>\n <header class=\"sky-tile-header\">\n <div class=\"sky-tile-header-content\" (click)=\"titleClick($event)\">\n <div class=\"sky-tile-header-title\" #titleContainer>\n <ng-content select=\"sky-tile-title\" />\n @if (tileName && (helpKey || helpPopoverContent)) {\n <sky-help-inline\n [helpKey]=\"helpKey\"\n [labelText]=\"tileName\"\n [popoverContent]=\"helpPopoverContent\"\n [popoverTitle]=\"helpPopoverTitle\"\n />\n }\n </div>\n <div class=\"sky-tile-summary sky-font-display-3\">\n <ng-content select=\"sky-tile-summary\" />\n </div>\n </div>\n <div class=\"sky-tile-header-column-tools\">\n <div class=\"sky-tile-tools\">\n <ng-container *skyThemeIf=\"'default'\">\n <button\n *ngIf=\"hasHelp\"\n class=\"sky-btn sky-tile-tools-control sky-tile-help\"\n type=\"button\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_help' | skyLibResources: tileName)\n : ('skyux_tile_help_default' | skyLibResources)\n \"\n [skyThemeClass]=\"{\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"helpButtonClicked()\"\n >\n <sky-icon icon=\"question-circle\" />\n </button>\n </ng-container>\n <sky-chevron\n [ariaControls]=\"tileContent.id\"\n [ariaLabel]=\"\n tileName\n ? ('skyux_tile_expand' | skyLibResources: tileName)\n : ('skyux_tile_expand_default' | skyLibResources)\n \"\n [direction]=\"isCollapsed ? 'down' : 'up'\"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-margin-inline-default': 'modern'\n }\"\n (directionChange)=\"chevronDirectionChange($event)\"\n >\n </sky-chevron>\n <button\n *ngIf=\"hasSettings\"\n class=\"sky-btn sky-tile-settings\"\n type=\"button\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_settings' | skyLibResources: tileName)\n : ('skyux_tile_settings_default' | skyLibResources)\n \"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-btn-icon-borderless sky-margin-inline-default': 'modern'\n }\"\n (click)=\"settingsButtonClicked()\"\n >\n <sky-icon icon=\"cog\" />\n </button>\n <button\n *ngIf=\"isInDashboardColumn\"\n class=\"sky-btn sky-tile-grab-handle\"\n type=\"button\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_move' | skyLibResources: tileName)\n : ('skyux_tile_move_default' | skyLibResources)\n \"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"moveTile($event)\"\n #grabHandle\n >\n <sky-icon icon=\"tile-drag\" />\n </button>\n </div>\n </div>\n </header>\n <div\n class=\"sky-tile-content\"\n role=\"region\"\n skyId\n [attr.aria-label]=\"tileName\"\n [attr.aria-labelledby]=\"!tileName && titleRef ? tileTitleId : undefined\"\n [@skyAnimationSlide]=\"isCollapsed ? 'up' : 'down'\"\n #tileContent=\"skyId\"\n >\n <ng-content select=\"sky-tile-content\" />\n </div>\n</section>\n", styles: [".sky-tile{background-color:#fff;margin-bottom:20px}:host-context(.sky-tile-dashboard-layout-single,.sky-tile-dashboard-layout-multi) .sky-tile{margin-bottom:0}:host-context(.sky-tile-dashboard-gt-xs) :host-context(.sky-tile-dashboard-layout-single) .sky-tile,:host-context(.sky-tile-dashboard-gt-xs) :host-context(.sky-tile-dashboard-layout-multi) .sky-tile{margin-bottom:20px}:host-context(.sky-tile-dashboard-gt-xs) :host-context(.sky-theme-default){padding-top:20px}.sky-tile-header{border-color:#cdcfd2;border-style:solid solid none;border-width:4px 0 0;display:flex}.sky-tile-header-content{display:flex;flex:1;align-items:baseline;cursor:pointer}.sky-tile-header-title{display:inline-flex;align-items:baseline;padding:10px 15px}.sky-tile-header-title>sky-help-inline{margin-left:var(--sky-margin-inline-xs)}.sky-tile-summary{color:#0974a1;display:none;padding-right:15px;max-height:30px;overflow:hidden}.sky-tile-collapsed .sky-tile-summary{display:block}.sky-tile-header-column-tools{display:flex;align-items:center;flex:0 0 auto}.sky-tile-tools{display:flex;padding-right:15px}.sky-tile-tools-control{color:#cdcfd2;cursor:pointer;border:0;width:24px;height:24px;padding:0;display:block;margin:0 0 0 9px}.sky-tile-tools-control:hover{color:#979ba2;transition:color .15s}.sky-tile-grab-handle{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;font-size:15px}.sky-tile-content{border-color:#e2e3e4;border-image:none;border-style:solid solid none;border-width:1px 0}:host-context(.sky-theme-modern) .sky-tile-header,:host-context(.sky-theme-modern) .sky-tile-content{border:none}:host-context(.sky-theme-modern) .sky-tile-header-title{padding:0;margin:0 30px 0 0}:host-context(.sky-theme-modern) .sky-tile-header-column-tools{align-items:flex-start}:host-context(.sky-theme-modern) .sky-tile-tools{padding:0}:host-context(.sky-theme-modern) .sky-tile-tools-control{font-size:18px;color:#686c73}:host-context(.sky-theme-modern) .sky-tile-grab-handle{font-size:16px}:host-context(.sky-theme-modern) :host .sky-tile{border-radius:0}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-xs) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:0}@media (min-width: 768px){:host-context(.sky-theme-modern) :host .sky-tile{border-radius:6px}}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:6px}.sky-theme-modern .sky-tile-header,.sky-theme-modern .sky-tile-content{border:none}.sky-theme-modern .sky-tile-header-title{padding:0;margin:0 30px 0 0}.sky-theme-modern .sky-tile-header-column-tools{align-items:flex-start}.sky-theme-modern .sky-tile-tools{padding:0}.sky-theme-modern .sky-tile-tools-control{font-size:18px;color:#686c73}.sky-theme-modern .sky-tile-grab-handle{font-size:16px}.sky-theme-modern :host .sky-tile{border-radius:0}.sky-theme-modern :host-context(.sky-responsive-container-xs) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:0}@media (min-width: 768px){.sky-theme-modern :host .sky-tile{border-radius:6px}}.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:6px}:host-context(.sky-theme-modern .sky-tile-dashboard-gt-xs) :host-context(.sky-tile-dashboard-layout-single) .sky-tile,:host-context(.sky-theme-modern .sky-tile-dashboard-gt-xs) :host-context(.sky-tile-dashboard-layout-multi) .sky-tile{margin-bottom:30px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: SkyChevronModule }, { kind: "component", type: i3.λ2, selector: "sky-chevron", inputs: ["ariaControls", "ariaLabel", "direction", "disabled"], outputs: ["directionChange"] }, { kind: "ngmodule", type: SkyHelpInlineModule }, { kind: "component", type: i4.λ1, selector: "sky-help-inline", inputs: ["ariaControls", "ariaExpanded", "ariaLabel", "helpKey", "labelledBy", "labelText", "popoverContent", "popoverTitle"], outputs: ["actionClick"] }, { kind: "ngmodule", type: SkyIconModule }, { kind: "component", type: i5.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant"] }, { kind: "ngmodule", type: SkyIdModule }, { kind: "directive", type: i6.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "ngmodule", type: SkyThemeModule }, { kind: "directive", type: i7.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "directive", type: i7.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "ngmodule", type: SkyTilesResourcesModule }, { kind: "pipe", type: i8.SkyLibResourcesPipe, name: "skyLibResources" }], animations: [skyAnimationSlide] }); }
173
173
  }
174
174
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyTileComponent, decorators: [{
175
175
  type: Component,
@@ -189,7 +189,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
189
189
  return idService.generateId();
190
190
  },
191
191
  },
192
- ], template: "<section\n class=\"sky-tile\"\n [ngClass]=\"{\n 'sky-tile-collapsed': isCollapsed\n }\"\n [skyThemeClass]=\"{\n 'sky-box sky-elevation-1-bordered sky-padding-even-xl': 'modern'\n }\"\n>\n <header class=\"sky-tile-header\">\n <div class=\"sky-tile-header-content\" (click)=\"titleClick($event)\">\n <div class=\"sky-tile-header-title\" #titleContainer>\n <ng-content select=\"sky-tile-title\" />\n @if (tileName && (helpKey || helpPopoverContent)) {\n <sky-help-inline\n [helpKey]=\"helpKey\"\n [labelText]=\"tileName\"\n [popoverContent]=\"helpPopoverContent\"\n [popoverTitle]=\"helpPopoverTitle\"\n />\n }\n </div>\n <div class=\"sky-tile-summary sky-font-display-3\">\n <ng-content select=\"sky-tile-summary\" />\n </div>\n </div>\n <div class=\"sky-tile-header-column-tools\">\n <div class=\"sky-tile-tools\">\n <ng-container *skyThemeIf=\"'default'\">\n <button\n *ngIf=\"hasHelp\"\n class=\"sky-btn sky-tile-tools-control sky-tile-help\"\n type=\"button\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_help' | skyLibResources: tileName)\n : ('skyux_tile_help_default' | skyLibResources)\n \"\n [skyThemeClass]=\"{\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"helpButtonClicked()\"\n >\n <sky-icon icon=\"question-circle\" />\n </button>\n </ng-container>\n <sky-chevron\n [ariaControls]=\"tileContent.id\"\n [ariaLabel]=\"\n tileName\n ? ('skyux_tile_expand' | skyLibResources: tileName)\n : ('skyux_tile_expand_default' | skyLibResources)\n \"\n [direction]=\"isCollapsed ? 'down' : 'up'\"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-margin-inline-default': 'modern'\n }\"\n (directionChange)=\"chevronDirectionChange($event)\"\n >\n </sky-chevron>\n <button\n *ngIf=\"hasSettings\"\n class=\"sky-btn sky-tile-settings\"\n type=\"button\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_settings' | skyLibResources: tileName)\n : ('skyux_tile_settings_default' | skyLibResources)\n \"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-btn-icon-borderless sky-margin-inline-default': 'modern'\n }\"\n (click)=\"settingsButtonClicked()\"\n >\n <sky-icon icon=\"cog\" />\n </button>\n <button\n *ngIf=\"isInDashboardColumn\"\n class=\"sky-btn sky-tile-grab-handle\"\n type=\"button\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_move' | skyLibResources: tileName)\n : ('skyux_tile_move_default' | skyLibResources)\n \"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"moveTile($event)\"\n #grabHandle\n >\n <sky-icon icon=\"tile-drag\" />\n </button>\n </div>\n </div>\n </header>\n <div\n class=\"sky-tile-content\"\n role=\"region\"\n skyId\n [attr.aria-label]=\"tileName\"\n [attr.aria-labelledBy]=\"!tileName && titleRef ? tileTitleId : undefined\"\n [@skyAnimationSlide]=\"isCollapsed ? 'up' : 'down'\"\n #tileContent=\"skyId\"\n >\n <ng-content select=\"sky-tile-content\" />\n </div>\n</section>\n", styles: [".sky-tile{background-color:#fff;margin-bottom:20px}:host-context(.sky-tile-dashboard-layout-single,.sky-tile-dashboard-layout-multi) .sky-tile{margin-bottom:0}:host-context(.sky-tile-dashboard-gt-xs) :host-context(.sky-tile-dashboard-layout-single) .sky-tile,:host-context(.sky-tile-dashboard-gt-xs) :host-context(.sky-tile-dashboard-layout-multi) .sky-tile{margin-bottom:20px}:host-context(.sky-tile-dashboard-gt-xs) :host-context(.sky-theme-default){padding-top:20px}.sky-tile-header{border-color:#cdcfd2;border-style:solid solid none;border-width:4px 0 0;display:flex}.sky-tile-header-content{display:flex;flex:1;align-items:baseline;cursor:pointer}.sky-tile-header-title{display:inline-flex;align-items:baseline;padding:10px 15px}.sky-tile-header-title>sky-help-inline{margin-left:var(--sky-margin-inline-xs)}.sky-tile-summary{color:#0974a1;display:none;padding-right:15px;max-height:30px;overflow:hidden}.sky-tile-collapsed .sky-tile-summary{display:block}.sky-tile-header-column-tools{display:flex;align-items:center;flex:0 0 auto}.sky-tile-tools{display:flex;padding-right:15px}.sky-tile-tools-control{color:#cdcfd2;cursor:pointer;border:0;width:24px;height:24px;padding:0;display:block;margin:0 0 0 9px}.sky-tile-tools-control:hover{color:#979ba2;transition:color .15s}.sky-tile-grab-handle{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;font-size:15px}.sky-tile-content{border-color:#e2e3e4;border-image:none;border-style:solid solid none;border-width:1px 0}:host-context(.sky-theme-modern) .sky-tile-header,:host-context(.sky-theme-modern) .sky-tile-content{border:none}:host-context(.sky-theme-modern) .sky-tile-header-title{padding:0;margin:0 30px 0 0}:host-context(.sky-theme-modern) .sky-tile-header-column-tools{align-items:flex-start}:host-context(.sky-theme-modern) .sky-tile-tools{padding:0}:host-context(.sky-theme-modern) .sky-tile-tools-control{font-size:18px;color:#686c73}:host-context(.sky-theme-modern) .sky-tile-grab-handle{font-size:16px}:host-context(.sky-theme-modern) :host .sky-tile{border-radius:0}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-xs) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:0}@media (min-width: 768px){:host-context(.sky-theme-modern) :host .sky-tile{border-radius:6px}}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:6px}.sky-theme-modern .sky-tile-header,.sky-theme-modern .sky-tile-content{border:none}.sky-theme-modern .sky-tile-header-title{padding:0;margin:0 30px 0 0}.sky-theme-modern .sky-tile-header-column-tools{align-items:flex-start}.sky-theme-modern .sky-tile-tools{padding:0}.sky-theme-modern .sky-tile-tools-control{font-size:18px;color:#686c73}.sky-theme-modern .sky-tile-grab-handle{font-size:16px}.sky-theme-modern :host .sky-tile{border-radius:0}.sky-theme-modern :host-context(.sky-responsive-container-xs) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:0}@media (min-width: 768px){.sky-theme-modern :host .sky-tile{border-radius:6px}}.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:6px}:host-context(.sky-theme-modern .sky-tile-dashboard-gt-xs) :host-context(.sky-tile-dashboard-layout-single) .sky-tile,:host-context(.sky-theme-modern .sky-tile-dashboard-gt-xs) :host-context(.sky-tile-dashboard-layout-multi) .sky-tile{margin-bottom:30px}\n"] }]
192
+ ], template: "<section\n class=\"sky-tile\"\n [ngClass]=\"{\n 'sky-tile-collapsed': isCollapsed\n }\"\n [skyThemeClass]=\"{\n 'sky-box sky-elevation-1-bordered sky-padding-even-xl': 'modern'\n }\"\n>\n <header class=\"sky-tile-header\">\n <div class=\"sky-tile-header-content\" (click)=\"titleClick($event)\">\n <div class=\"sky-tile-header-title\" #titleContainer>\n <ng-content select=\"sky-tile-title\" />\n @if (tileName && (helpKey || helpPopoverContent)) {\n <sky-help-inline\n [helpKey]=\"helpKey\"\n [labelText]=\"tileName\"\n [popoverContent]=\"helpPopoverContent\"\n [popoverTitle]=\"helpPopoverTitle\"\n />\n }\n </div>\n <div class=\"sky-tile-summary sky-font-display-3\">\n <ng-content select=\"sky-tile-summary\" />\n </div>\n </div>\n <div class=\"sky-tile-header-column-tools\">\n <div class=\"sky-tile-tools\">\n <ng-container *skyThemeIf=\"'default'\">\n <button\n *ngIf=\"hasHelp\"\n class=\"sky-btn sky-tile-tools-control sky-tile-help\"\n type=\"button\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_help' | skyLibResources: tileName)\n : ('skyux_tile_help_default' | skyLibResources)\n \"\n [skyThemeClass]=\"{\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"helpButtonClicked()\"\n >\n <sky-icon icon=\"question-circle\" />\n </button>\n </ng-container>\n <sky-chevron\n [ariaControls]=\"tileContent.id\"\n [ariaLabel]=\"\n tileName\n ? ('skyux_tile_expand' | skyLibResources: tileName)\n : ('skyux_tile_expand_default' | skyLibResources)\n \"\n [direction]=\"isCollapsed ? 'down' : 'up'\"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-margin-inline-default': 'modern'\n }\"\n (directionChange)=\"chevronDirectionChange($event)\"\n >\n </sky-chevron>\n <button\n *ngIf=\"hasSettings\"\n class=\"sky-btn sky-tile-settings\"\n type=\"button\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_settings' | skyLibResources: tileName)\n : ('skyux_tile_settings_default' | skyLibResources)\n \"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-btn-icon-borderless sky-margin-inline-default': 'modern'\n }\"\n (click)=\"settingsButtonClicked()\"\n >\n <sky-icon icon=\"cog\" />\n </button>\n <button\n *ngIf=\"isInDashboardColumn\"\n class=\"sky-btn sky-tile-grab-handle\"\n type=\"button\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_move' | skyLibResources: tileName)\n : ('skyux_tile_move_default' | skyLibResources)\n \"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"moveTile($event)\"\n #grabHandle\n >\n <sky-icon icon=\"tile-drag\" />\n </button>\n </div>\n </div>\n </header>\n <div\n class=\"sky-tile-content\"\n role=\"region\"\n skyId\n [attr.aria-label]=\"tileName\"\n [attr.aria-labelledby]=\"!tileName && titleRef ? tileTitleId : undefined\"\n [@skyAnimationSlide]=\"isCollapsed ? 'up' : 'down'\"\n #tileContent=\"skyId\"\n >\n <ng-content select=\"sky-tile-content\" />\n </div>\n</section>\n", styles: [".sky-tile{background-color:#fff;margin-bottom:20px}:host-context(.sky-tile-dashboard-layout-single,.sky-tile-dashboard-layout-multi) .sky-tile{margin-bottom:0}:host-context(.sky-tile-dashboard-gt-xs) :host-context(.sky-tile-dashboard-layout-single) .sky-tile,:host-context(.sky-tile-dashboard-gt-xs) :host-context(.sky-tile-dashboard-layout-multi) .sky-tile{margin-bottom:20px}:host-context(.sky-tile-dashboard-gt-xs) :host-context(.sky-theme-default){padding-top:20px}.sky-tile-header{border-color:#cdcfd2;border-style:solid solid none;border-width:4px 0 0;display:flex}.sky-tile-header-content{display:flex;flex:1;align-items:baseline;cursor:pointer}.sky-tile-header-title{display:inline-flex;align-items:baseline;padding:10px 15px}.sky-tile-header-title>sky-help-inline{margin-left:var(--sky-margin-inline-xs)}.sky-tile-summary{color:#0974a1;display:none;padding-right:15px;max-height:30px;overflow:hidden}.sky-tile-collapsed .sky-tile-summary{display:block}.sky-tile-header-column-tools{display:flex;align-items:center;flex:0 0 auto}.sky-tile-tools{display:flex;padding-right:15px}.sky-tile-tools-control{color:#cdcfd2;cursor:pointer;border:0;width:24px;height:24px;padding:0;display:block;margin:0 0 0 9px}.sky-tile-tools-control:hover{color:#979ba2;transition:color .15s}.sky-tile-grab-handle{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;font-size:15px}.sky-tile-content{border-color:#e2e3e4;border-image:none;border-style:solid solid none;border-width:1px 0}:host-context(.sky-theme-modern) .sky-tile-header,:host-context(.sky-theme-modern) .sky-tile-content{border:none}:host-context(.sky-theme-modern) .sky-tile-header-title{padding:0;margin:0 30px 0 0}:host-context(.sky-theme-modern) .sky-tile-header-column-tools{align-items:flex-start}:host-context(.sky-theme-modern) .sky-tile-tools{padding:0}:host-context(.sky-theme-modern) .sky-tile-tools-control{font-size:18px;color:#686c73}:host-context(.sky-theme-modern) .sky-tile-grab-handle{font-size:16px}:host-context(.sky-theme-modern) :host .sky-tile{border-radius:0}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-xs) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:0}@media (min-width: 768px){:host-context(.sky-theme-modern) :host .sky-tile{border-radius:6px}}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:6px}.sky-theme-modern .sky-tile-header,.sky-theme-modern .sky-tile-content{border:none}.sky-theme-modern .sky-tile-header-title{padding:0;margin:0 30px 0 0}.sky-theme-modern .sky-tile-header-column-tools{align-items:flex-start}.sky-theme-modern .sky-tile-tools{padding:0}.sky-theme-modern .sky-tile-tools-control{font-size:18px;color:#686c73}.sky-theme-modern .sky-tile-grab-handle{font-size:16px}.sky-theme-modern :host .sky-tile{border-radius:0}.sky-theme-modern :host-context(.sky-responsive-container-xs) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:0}@media (min-width: 768px){.sky-theme-modern :host .sky-tile{border-radius:6px}}.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:6px}:host-context(.sky-theme-modern .sky-tile-dashboard-gt-xs) :host-context(.sky-tile-dashboard-layout-single) .sky-tile,:host-context(.sky-theme-modern .sky-tile-dashboard-gt-xs) :host-context(.sky-tile-dashboard-layout-multi) .sky-tile{margin-bottom:30px}\n"] }]
193
193
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.SkyTileDashboardService, decorators: [{
194
194
  type: Optional
195
195
  }] }], propDecorators: { helpKey: [{
@@ -228,4 +228,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
228
228
  type: ContentChild,
229
229
  args: [SkyTileTitleComponent, { read: ElementRef }]
230
230
  }] } });
231
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGlsZXMvc3JjL2xpYi9tb2R1bGVzL3RpbGVzL3RpbGUvdGlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGlsZXMvc3JjL2xpYi9tb2R1bGVzL3RpbGVzL3RpbGUvdGlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFHTixTQUFTLEVBQ1QsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFHbEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7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Q1AsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYixXQUFXO3dCQUNYLGNBQWM7d0JBQ2QsdUJBQXVCO3FCQUN4QixhQUNVO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFVBQVU7Z0NBQ1IsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dDQUN2QyxPQUFPLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQzs0QkFDaEMsQ0FBQzt5QkFDRjtxQkFDRjs7MEJBOEhFLFFBQVE7eUNBdEhKLE9BQU87c0JBRGIsS0FBSztnQkFTQyxrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBUUMsZ0JBQWdCO3NCQUR0QixLQUFLO2dCQVNDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBVUMsUUFBUTtzQkFEZCxLQUFLO2dCQVFDLFFBQVE7c0JBRGQsS0FBSztnQkFRQyxhQUFhO3NCQURuQixNQUFNO2dCQVFBLGlCQUFpQjtzQkFEdkIsTUFBTTtnQkFTQSxTQUFTO3NCQURmLE1BQU07Z0JBaUJJLFdBQVc7c0JBRHJCLEtBQUs7Z0JBbUJDLFVBQVU7c0JBSmhCLFNBQVM7dUJBQUMsWUFBWSxFQUFFO3dCQUN2QixJQUFJLEVBQUUsVUFBVTt3QkFDaEIsTUFBTSxFQUFFLEtBQUs7cUJBQ2Q7Z0JBT00sS0FBSztzQkFKWCxTQUFTO3VCQUFDLGdCQUFnQixFQUFFO3dCQUMzQixJQUFJLEVBQUUsVUFBVTt3QkFDaEIsTUFBTSxFQUFFLEtBQUs7cUJBQ2Q7Z0JBSVMsUUFBUTtzQkFEakIsWUFBWTt1QkFBQyxxQkFBcUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHNreUFuaW1hdGlvblNsaWRlIH0gZnJvbSAnQHNreXV4L2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgU2t5SWRNb2R1bGUsIFNreUlkU2VydmljZSwgU2t5TG9nU2VydmljZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcbmltcG9ydCB7IFNreUhlbHBJbmxpbmVNb2R1bGUgfSBmcm9tICdAc2t5dXgvaGVscC1pbmxpbmUnO1xuaW1wb3J0IHsgU2t5SWNvbk1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pY29uJztcbmltcG9ydCB7IFNreUNoZXZyb25Nb2R1bGUgfSBmcm9tICdAc2t5dXgvaW5kaWNhdG9ycyc7XG5pbXBvcnQgeyBTa3lUaGVtZU1vZHVsZSB9IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5VGlsZXNSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi8uLi9zaGFyZWQvc2t5LXRpbGVzLXJlc291cmNlcy5tb2R1bGUnO1xuaW1wb3J0IHsgU2t5VGlsZURhc2hib2FyZFNlcnZpY2UgfSBmcm9tICcuLi90aWxlLWRhc2hib2FyZC90aWxlLWRhc2hib2FyZC5zZXJ2aWNlJztcblxuaW1wb3J0IHsgU0tZX1RJTEVfVElUTEVfSUQgfSBmcm9tICcuL3RpbGUtdGl0bGUtaWQtdG9rZW4nO1xuaW1wb3J0IHsgU2t5VGlsZVRpdGxlQ29tcG9uZW50IH0gZnJvbSAnLi90aWxlLXRpdGxlLmNvbXBvbmVudCc7XG5cbi8qKlxuICogUHJvdmlkZXMgYSBjb21tb24gbG9vay1hbmQtZmVlbCBmb3IgdGFiIGNvbnRlbnQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3NreS10aWxlJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGlsZS5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vdGlsZS5jb21wb25lbnQuaHRtbCcsXG4gIGFuaW1hdGlvbnM6IFtza3lBbmltYXRpb25TbGlkZV0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU2t5Q2hldnJvbk1vZHVsZSxcbiAgICBTa3lIZWxwSW5saW5lTW9kdWxlLFxuICAgIFNreUljb25Nb2R1bGUsXG4gICAgU2t5SWRNb2R1bGUsXG4gICAgU2t5VGhlbWVNb2R1bGUsXG4gICAgU2t5VGlsZXNSZXNvdXJjZXNNb2R1bGUsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNLWV9USUxFX1RJVExFX0lELFxuICAgICAgdXNlRmFjdG9yeSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBpZFNlcnZpY2UgPSBpbmplY3QoU2t5SWRTZXJ2aWNlKTtcbiAgICAgICAgcmV0dXJuIGlkU2VydmljZS5nZW5lcmF0ZUlkKCk7XG4gICAgICB9LFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVRpbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBBIGhlbHAga2V5IHRoYXQgaWRlbnRpZmllcyB0aGUgZ2xvYmFsIGhlbHAgY29udGVudCB0byBkaXNwbGF5LiBXaGVuIHNwZWNpZmllZCwgYSBbaGVscCBpbmxpbmVdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9oZWxwLWlubGluZSkgYnV0dG9uIGlzXG4gICAqIGFkZGVkIHRvIHRoZSB0aWxlIGhlYWRlci4gQ2xpY2tpbmcgdGhlIGJ1dHRvbiBpbnZva2VzIGdsb2JhbCBoZWxwIGFzIGNvbmZpZ3VyZWQgYnkgdGhlIGFwcGxpY2F0aW9uLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGhlbHBLZXk6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIGNvbnRlbnQgb2YgdGhlIGhlbHAgcG9wb3Zlci4gV2hlbiBzcGVjaWZpZWQsIGEgW2hlbHAgaW5saW5lXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvaGVscC1pbmxpbmUpXG4gICAqIGJ1dHRvbiBpcyBhZGRlZCB0byB0aGUgdGlsZSBoZWFkZXIuIFRoZSBoZWxwIGlubGluZSBidXR0b24gZGlzcGxheXMgYSBbcG9wb3Zlcl0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL3BvcG92ZXIpXG4gICAqIHdoZW4gY2xpY2tlZCB1c2luZyB0aGUgc3BlY2lmaWVkIGNvbnRlbnQgYW5kIG9wdGlvbmFsIHRpdGxlLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGhlbHBQb3BvdmVyQ29udGVudDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSB0aXRsZSBvZiB0aGUgaGVscCBwb3BvdmVyLiBUaGlzIHByb3BlcnR5IG9ubHkgYXBwbGllcyB3aGVuIGBoZWxwUG9wb3ZlckNvbnRlbnRgIGlzXG4gICAqIGFsc28gc3BlY2lmaWVkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGhlbHBQb3BvdmVyVGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogV2hldGhlciB0byBkaXNwbGF5IGEgc2V0dGluZ3MgYnV0dG9uIGluIHRoZSB0aWxlIGhlYWRlci4gVG8gZGlzcGxheSB0aGVcbiAgICogYnV0dG9uLCB5b3UgbXVzdCBhbHNvIGxpc3RlbiBmb3IgdGhlIGBzZXR0aW5nc0NsaWNrYCBldmVudC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNob3dTZXR0aW5ncyA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGlzcGxheSBhIGhlbHAgYnV0dG9uIGluIHRoZSB0aWxlIGhlYWRlci4gVG8gZGlzcGxheSB0aGVcbiAgICogYnV0dG9uLCB5b3UgbXVzdCBhbHNvIGxpc3RlbiBmb3IgdGhlIGBoZWxwQ2xpY2tgIGV2ZW50LlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqIEBkZXByZWNhdGVkIFNldCB0aGUgYGhlbHBLZXlgIG9yIGBoZWxwUG9wb3ZlckNvbnRlbnRgIGlucHV0cyBpbnN0ZWFkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNob3dIZWxwID0gdHJ1ZTtcblxuICAvKipcbiAgICogVGhlIGh1bWFuLXJlYWRhYmxlIG5hbWUgZm9yIHRoZSB0aWxlIHRoYXQgaXMgYXZhaWxhYmxlIHRvIHRoZSB0aWxlIGNvbnRyb2xzIGZvciBtdWx0aXBsZSBwdXJwb3Nlcywgc3VjaCBhcyBhY2Nlc3NpYmlsaXR5IGFuZCBpbnN0cnVtZW50YXRpb24uIFRoZSBjb21wb25lbnQgdXNlcyB0aGUgbmFtZSB0byBjb25zdHJ1Y3QgQVJJQSBsYWJlbHMgZm9yIHRoZSBoZWxwLCBleHBhbmQvY29sbGFwc2UsIHNldHRpbmdzLCBhbmQgZHJhZyBoYW5kbGUgYnV0dG9ucyB0byBbc3VwcG9ydCBhY2Nlc3NpYmlsaXR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL2FjY2Vzc2liaWxpdHkpLlxuICAgKiBGb3IgZXhhbXBsZSwgaWYgdGhlIHRpbGUgbmFtZSBpcyBcIkNvbnN0aXR1ZW50cyxcIiB0aGUgaGVscCBpbnB1dCdzIGBhcmlhLWxhYmVsYCBpcyBcIkNvbnN0aXR1ZW50cyBoZWxwXCIgYW5kIHRoZSBkcmFnIGhhbmRsZSdzIGBhcmlhLWxhYmVsYCBpcyBcIk1vdmUgQ29uc3RpdHVlbnRzLlwiIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBgYXJpYS1sYWJlbGAgYXR0cmlidXRlLCBzZWUgdGhlIFtXQUktQVJJQSBkZWZpbml0aW9uXShodHRwczovL3d3dy53My5vcmcvVFIvd2FpLWFyaWEvI2FyaWEtbGFiZWwpLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRpbGVOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgc2VsZWN0IHRoZSBzZXR0aW5ncyBidXR0b24gaW4gdGhlIHRpbGUgaGVhZGVyLiBUaGUgc2V0dGluZ3NcbiAgICogYnV0dG9uIG9ubHkgYXBwZWFycyB3aGVuIHRoZSBgc2hvd1NldHRpbmdzYCBwcm9wZXJ0eSBpcyBzZXQgdG8gYHRydWVgLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZXR0aW5nc0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSB0aWxlJ3MgY29sbGFwc2VkIHN0YXRlIGNoYW5nZXMuIFJldHVybnMgYHRydWVgIHdoZW4gdGhlIHRpbGVcbiAgICogY29sbGFwc2VzIGFuZCBgZmFsc2VgIHdoZW4gaXQgZXhwYW5kcy5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgaXNDb2xsYXBzZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgc2VsZWN0IHRoZSBoZWxwIGJ1dHRvbiBpbiB0aGUgdGlsZSBoZWFkZXIuIFRoZSBoZWxwXG4gICAqIGJ1dHRvbiBvbmx5IGFwcGVhcnMgd2hlbiB0aGUgYHNob3dIZWxwYCBwcm9wZXJ0eSBpcyBzZXQgdG8gYHRydWVgLlxuICAgKiBAZGVwcmVjYXRlZCBTZXQgdGhlIGBoZWxwS2V5YCBvciBgaGVscFBvcG92ZXJDb250ZW50YCBpbnB1dHMgaW5zdGVhZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgaGVscENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyBnZXQgaXNDb2xsYXBzZWQoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuI2Rhc2hib2FyZFNlcnZpY2UpIHtcbiAgICAgIGNvbnN0IGNvbmZpZ0NvbGxhcHNlZFN0YXRlID0gdGhpcy4jZGFzaGJvYXJkU2VydmljZS50aWxlSXNDb2xsYXBzZWQodGhpcyk7XG4gICAgICB0aGlzLiNfaXNDb2xsYXBzZWQgPSBjb25maWdDb2xsYXBzZWRTdGF0ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy4jX2lzQ29sbGFwc2VkO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHRpbGUgaXMgaW4gYSBjb2xsYXBzZWQgc3RhdGUuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGlzQ29sbGFwc2VkKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2lzQ29sbGFwc2VkID0gISF2YWx1ZTtcblxuICAgIGlmICh0aGlzLiNkYXNoYm9hcmRTZXJ2aWNlKSB7XG4gICAgICB0aGlzLiNkYXNoYm9hcmRTZXJ2aWNlLnNldFRpbGVDb2xsYXBzZWQodGhpcywgdGhpcy4jX2lzQ29sbGFwc2VkKTtcbiAgICB9XG5cbiAgICB0aGlzLmlzQ29sbGFwc2VkQ2hhbmdlLmVtaXQodGhpcy4jX2lzQ29sbGFwc2VkKTtcbiAgfVxuXG4gIHB1YmxpYyBhcmlhRGVzY3JpYmVkQnk6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgaXNJbkRhc2hib2FyZENvbHVtbiA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoJ2dyYWJIYW5kbGUnLCB7XG4gICAgcmVhZDogRWxlbWVudFJlZixcbiAgICBzdGF0aWM6IGZhbHNlLFxuICB9KVxuICBwdWJsaWMgZ3JhYkhhbmRsZTogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCd0aXRsZUNvbnRhaW5lcicsIHtcbiAgICByZWFkOiBFbGVtZW50UmVmLFxuICAgIHN0YXRpYzogZmFsc2UsXG4gIH0pXG4gIHB1YmxpYyB0aXRsZTogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBAQ29udGVudENoaWxkKFNreVRpbGVUaXRsZUNvbXBvbmVudCwgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIHByb3RlY3RlZCB0aXRsZVJlZjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuICAjZGFzaGJvYXJkU2VydmljZTogU2t5VGlsZURhc2hib2FyZFNlcnZpY2UgfCB1bmRlZmluZWQ7XG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgI19pc0NvbGxhcHNlZCA9IGZhbHNlO1xuXG4gIHByb3RlY3RlZCB0aWxlVGl0bGVJZCA9IGluamVjdChTS1lfVElMRV9USVRMRV9JRCk7XG5cbiAgcmVhZG9ubHkgI2xvZ1N2YyA9IGluamVjdChTa3lMb2dTZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQE9wdGlvbmFsKCkgZGFzaGJvYXJkU2VydmljZT86IFNreVRpbGVEYXNoYm9hcmRTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI2Rhc2hib2FyZFNlcnZpY2UgPSBkYXNoYm9hcmRTZXJ2aWNlO1xuICAgIHRoaXMuaXNJbkRhc2hib2FyZENvbHVtbiA9ICEhdGhpcy4jZGFzaGJvYXJkU2VydmljZTtcblxuICAgIGlmICh0aGlzLiNkYXNoYm9hcmRTZXJ2aWNlKSB7XG4gICAgICB0aGlzLmFyaWFEZXNjcmliZWRCeSA9IGAke3RoaXMuI2Rhc2hib2FyZFNlcnZpY2UuYmFnSWR9LW1vdmUtaW5zdHJ1Y3Rpb25zYDtcblxuICAgICAgLyoqXG4gICAgICAgKiBUaGlzIHN1YnNjcmlwdGlvbiBlbnN1cmVzIHRoYXQgaWYgYW55IHZhbHVlcyB3aGljaCBjb21lIGluIGZyb20gdGhlIGRhc2hib2FyZCBzZXJ2aWNlIGFyZVxuICAgICAgICogdXBkYXRlZCB0aGF0IHRoZSBjb21wb25lbnQgd2lsbCB1cGRhdGUgaWYgdGhlIHRpbGUncyBwYXJlbnQgY29tcG9uZW50IHV0aWxpemVzIE9uUHVzaFxuICAgICAgICogY2hhbmdlIGRldGVjdGlvbi5cbiAgICAgICAqL1xuICAgICAgdGhpcy4jZGFzaGJvYXJkU2VydmljZS5jb25maWdDaGFuZ2VcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snc2hvd0hlbHAnXT8uZmlyc3RDaGFuZ2UpIHtcbiAgICAgIHRoaXMuI2xvZ1N2Yy5kZXByZWNhdGVkKCdTa3lUaWxlQ29tcG9uZW50LnNob3dIZWxwJywge1xuICAgICAgICBkZXByZWNhdGlvbk1ham9yVmVyc2lvbjogMTAsXG4gICAgICAgIHJlcGxhY2VtZW50UmVjb21tZW5kYXRpb246XG4gICAgICAgICAgJ1NldCB0aGUgYGhlbHBLZXlgIG9yIGBoZWxwUG9wb3ZlckNvbnRlbnRgIGlucHV0cyBpbnN0ZWFkLicsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIHNldHRpbmdzQnV0dG9uQ2xpY2tlZCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldHRpbmdzQ2xpY2suZW1pdCh1bmRlZmluZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBwdWJsaWMgaGVscEJ1dHRvbkNsaWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5oZWxwQ2xpY2suZW1pdCh1bmRlZmluZWQpO1xuICB9XG5cbiAgcHVibGljIGdldCBoYXNTZXR0aW5ncygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5nc0NsaWNrLm9ic2VydmVycy5sZW5ndGggPiAwICYmIHRoaXMuc2hvd1NldHRpbmdzO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBwdWJsaWMgZ2V0IGhhc0hlbHAoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGVscENsaWNrLm9ic2VydmVycy5sZW5ndGggPiAwICYmIHRoaXMuc2hvd0hlbHA7XG4gIH1cblxuICBwdWJsaWMgdGl0bGVDbGljayhldnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB0YXJnZXRFbCA9IGV2dC50YXJnZXQgYXMgSFRNTEVsZW1lbnQgfCBudWxsO1xuXG4gICAgLy8gRG9uJ3QgZXhwYW5kL2NvbGxhcHNlIGlmIHRoZSBoZWxwIGlubGluZSBidXR0b24gaXMgY2xpY2tlZC5cbiAgICBpZiAodGFyZ2V0RWw/LmNsb3Nlc3QoJ3NreS1oZWxwLWlubGluZScpID09PSBudWxsKSB7XG4gICAgICB0aGlzLmlzQ29sbGFwc2VkID0gIXRoaXMuaXNDb2xsYXBzZWQ7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNoZXZyb25EaXJlY3Rpb25DaGFuZ2UoZGlyZWN0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmlzQ29sbGFwc2VkID0gZGlyZWN0aW9uID09PSAnZG93bic7XG4gIH1cblxuICBwdWJsaWMgbW92ZVRpbGUoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLiNkYXNoYm9hcmRTZXJ2aWNlKSB7XG4gICAgICBjb25zdCBkaXJlY3Rpb24gPSBldmVudC5rZXkudG9Mb3dlckNhc2UoKS5yZXBsYWNlKCdhcnJvdycsICcnKTtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAoXG4gICAgICAgIGRpcmVjdGlvbiA9PT0gJ3VwJyB8fFxuICAgICAgICBkaXJlY3Rpb24gPT09ICdkb3duJyB8fFxuICAgICAgICBkaXJlY3Rpb24gPT09ICdsZWZ0JyB8fFxuICAgICAgICBkaXJlY3Rpb24gPT09ICdyaWdodCdcbiAgICAgICkge1xuICAgICAgICB0aGlzLiNkYXNoYm9hcmRTZXJ2aWNlLm1vdmVUaWxlT25LZXlEb3duKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgZGlyZWN0aW9uLFxuICAgICAgICAgIHRoaXMudGl0bGVcbiAgICAgICAgICAgID8gdGhpcy50aXRsZS5uYXRpdmVFbGVtZW50LmlubmVyVGV4dFxuICAgICAgICAgICAgOiAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuI2ZvY3VzSGFuZGxlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI2ZvY3VzSGFuZGxlKCk6IHZvaWQge1xuICAgIHRoaXMuZ3JhYkhhbmRsZT8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG59XG4iLCI8c2VjdGlvblxuICBjbGFzcz1cInNreS10aWxlXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdza3ktdGlsZS1jb2xsYXBzZWQnOiBpc0NvbGxhcHNlZFxuICB9XCJcbiAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICdza3ktYm94IHNreS1lbGV2YXRpb24tMS1ib3JkZXJlZCBza3ktcGFkZGluZy1ldmVuLXhsJzogJ21vZGVybidcbiAgfVwiXG4+XG4gIDxoZWFkZXIgY2xhc3M9XCJza3ktdGlsZS1oZWFkZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2t5LXRpbGUtaGVhZGVyLWNvbnRlbnRcIiAoY2xpY2spPVwidGl0bGVDbGljaygkZXZlbnQpXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic2t5LXRpbGUtaGVhZGVyLXRpdGxlXCIgI3RpdGxlQ29udGFpbmVyPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktdGlsZS10aXRsZVwiIC8+XG4gICAgICAgIEBpZiAodGlsZU5hbWUgJiYgKGhlbHBLZXkgfHwgaGVscFBvcG92ZXJDb250ZW50KSkge1xuICAgICAgICAgIDxza3ktaGVscC1pbmxpbmVcbiAgICAgICAgICAgIFtoZWxwS2V5XT1cImhlbHBLZXlcIlxuICAgICAgICAgICAgW2xhYmVsVGV4dF09XCJ0aWxlTmFtZVwiXG4gICAgICAgICAgICBbcG9wb3ZlckNvbnRlbnRdPVwiaGVscFBvcG92ZXJDb250ZW50XCJcbiAgICAgICAgICAgIFtwb3BvdmVyVGl0bGVdPVwiaGVscFBvcG92ZXJUaXRsZVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic2t5LXRpbGUtc3VtbWFyeSBza3ktZm9udC1kaXNwbGF5LTNcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2t5LXRpbGUtc3VtbWFyeVwiIC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2t5LXRpbGUtaGVhZGVyLWNvbHVtbi10b29sc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cInNreS10aWxlLXRvb2xzXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKnNreVRoZW1lSWY9XCInZGVmYXVsdCdcIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqbmdJZj1cImhhc0hlbHBcIlxuICAgICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS10aWxlLXRvb2xzLWNvbnRyb2wgc2t5LXRpbGUtaGVscFwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICAgIHRpbGVOYW1lXG4gICAgICAgICAgICAgICAgPyAoJ3NreXV4X3RpbGVfaGVscCcgfCBza3lMaWJSZXNvdXJjZXM6IHRpbGVOYW1lKVxuICAgICAgICAgICAgICAgIDogKCdza3l1eF90aWxlX2hlbHBfZGVmYXVsdCcgfCBza3lMaWJSZXNvdXJjZXMpXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAnc2t5LWJ0bi1pY29uLWJvcmRlcmxlc3MnOiAnbW9kZXJuJ1xuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiaGVscEJ1dHRvbkNsaWNrZWQoKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNreS1pY29uIGljb249XCJxdWVzdGlvbi1jaXJjbGVcIiAvPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPHNreS1jaGV2cm9uXG4gICAgICAgICAgW2FyaWFDb250cm9sc109XCJ0aWxlQ29udGVudC5pZFwiXG4gICAgICAgICAgW2FyaWFMYWJlbF09XCJcbiAgICAgICAgICAgIHRpbGVOYW1lXG4gICAgICAgICAgICAgID8gKCdza3l1eF90aWxlX2V4cGFuZCcgfCBza3lMaWJSZXNvdXJjZXM6IHRpbGVOYW1lKVxuICAgICAgICAgICAgICA6ICgnc2t5dXhfdGlsZV9leHBhbmRfZGVmYXVsdCcgfCBza3lMaWJSZXNvdXJjZXMpXG4gICAgICAgICAgXCJcbiAgICAgICAgICBbZGlyZWN0aW9uXT1cImlzQ29sbGFwc2VkID8gJ2Rvd24nIDogJ3VwJ1wiXG4gICAgICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAgICAgJ3NreS10aWxlLXRvb2xzLWNvbnRyb2wnOiAnZGVmYXVsdCcsXG4gICAgICAgICAgICAnc2t5LW1hcmdpbi1pbmxpbmUtZGVmYXVsdCc6ICdtb2Rlcm4nXG4gICAgICAgICAgfVwiXG4gICAgICAgICAgKGRpcmVjdGlvbkNoYW5nZSk9XCJjaGV2cm9uRGlyZWN0aW9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgIDwvc2t5LWNoZXZyb24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAqbmdJZj1cImhhc1NldHRpbmdzXCJcbiAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LXRpbGUtc2V0dGluZ3NcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICB0aWxlTmFtZVxuICAgICAgICAgICAgICA/ICgnc2t5dXhfdGlsZV9zZXR0aW5ncycgfCBza3lMaWJSZXNvdXJjZXM6IHRpbGVOYW1lKVxuICAgICAgICAgICAgICA6ICgnc2t5dXhfdGlsZV9zZXR0aW5nc19kZWZhdWx0JyB8IHNreUxpYlJlc291cmNlcylcbiAgICAgICAgICBcIlxuICAgICAgICAgIFtza3lUaGVtZUNsYXNzXT1cIntcbiAgICAgICAgICAgICdza3ktdGlsZS10b29scy1jb250cm9sJzogJ2RlZmF1bHQnLFxuICAgICAgICAgICAgJ3NreS1idG4taWNvbi1ib3JkZXJsZXNzIHNreS1tYXJnaW4taW5saW5lLWRlZmF1bHQnOiAnbW9kZXJuJ1xuICAgICAgICAgIH1cIlxuICAgICAgICAgIChjbGljayk9XCJzZXR0aW5nc0J1dHRvbkNsaWNrZWQoKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c2t5LWljb24gaWNvbj1cImNvZ1wiIC8+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCJpc0luRGFzaGJvYXJkQ29sdW1uXCJcbiAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LXRpbGUtZ3JhYi1oYW5kbGVcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICB0aWxlTmFtZVxuICAgICAgICAgICAgICA/ICgnc2t5dXhfdGlsZV9tb3ZlJyB8IHNreUxpYlJlc291cmNlczogdGlsZU5hbWUpXG4gICAgICAgICAgICAgIDogKCdza3l1eF90aWxlX21vdmVfZGVmYXVsdCcgfCBza3lMaWJSZXNvdXJjZXMpXG4gICAgICAgICAgXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZWRCeVwiXG4gICAgICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAgICAgJ3NreS10aWxlLXRvb2xzLWNvbnRyb2wnOiAnZGVmYXVsdCcsXG4gICAgICAgICAgICAnc2t5LWJ0bi1pY29uLWJvcmRlcmxlc3MnOiAnbW9kZXJuJ1xuICAgICAgICAgIH1cIlxuICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgIChrZXlkb3duKT1cIm1vdmVUaWxlKCRldmVudClcIlxuICAgICAgICAgICNncmFiSGFuZGxlXG4gICAgICAgID5cbiAgICAgICAgICA8c2t5LWljb24gaWNvbj1cInRpbGUtZHJhZ1wiIC8+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvaGVhZGVyPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJza3ktdGlsZS1jb250ZW50XCJcbiAgICByb2xlPVwicmVnaW9uXCJcbiAgICBza3lJZFxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidGlsZU5hbWVcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxsZWRCeV09XCIhdGlsZU5hbWUgJiYgdGl0bGVSZWYgPyB0aWxlVGl0bGVJZCA6IHVuZGVmaW5lZFwiXG4gICAgW0Bza3lBbmltYXRpb25TbGlkZV09XCJpc0NvbGxhcHNlZCA/ICd1cCcgOiAnZG93bidcIlxuICAgICN0aWxlQ29udGVudD1cInNreUlkXCJcbiAgPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS10aWxlLWNvbnRlbnRcIiAvPlxuICA8L2Rpdj5cbjwvc2VjdGlvbj5cbiJdfQ==
231
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGlsZXMvc3JjL2xpYi9tb2R1bGVzL3RpbGVzL3RpbGUvdGlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGlsZXMvc3JjL2xpYi9tb2R1bGVzL3RpbGVzL3RpbGUvdGlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFHTixTQUFTLEVBQ1QsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFHbEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7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Q1AsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYixXQUFXO3dCQUNYLGNBQWM7d0JBQ2QsdUJBQXVCO3FCQUN4QixhQUNVO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFVBQVU7Z0NBQ1IsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dDQUN2QyxPQUFPLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQzs0QkFDaEMsQ0FBQzt5QkFDRjtxQkFDRjs7MEJBOEhFLFFBQVE7eUNBdEhKLE9BQU87c0JBRGIsS0FBSztnQkFTQyxrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBUUMsZ0JBQWdCO3NCQUR0QixLQUFLO2dCQVNDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBVUMsUUFBUTtzQkFEZCxLQUFLO2dCQVFDLFFBQVE7c0JBRGQsS0FBSztnQkFRQyxhQUFhO3NCQURuQixNQUFNO2dCQVFBLGlCQUFpQjtzQkFEdkIsTUFBTTtnQkFTQSxTQUFTO3NCQURmLE1BQU07Z0JBaUJJLFdBQVc7c0JBRHJCLEtBQUs7Z0JBbUJDLFVBQVU7c0JBSmhCLFNBQVM7dUJBQUMsWUFBWSxFQUFFO3dCQUN2QixJQUFJLEVBQUUsVUFBVTt3QkFDaEIsTUFBTSxFQUFFLEtBQUs7cUJBQ2Q7Z0JBT00sS0FBSztzQkFKWCxTQUFTO3VCQUFDLGdCQUFnQixFQUFFO3dCQUMzQixJQUFJLEVBQUUsVUFBVTt3QkFDaEIsTUFBTSxFQUFFLEtBQUs7cUJBQ2Q7Z0JBSVMsUUFBUTtzQkFEakIsWUFBWTt1QkFBQyxxQkFBcUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHNreUFuaW1hdGlvblNsaWRlIH0gZnJvbSAnQHNreXV4L2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgU2t5SWRNb2R1bGUsIFNreUlkU2VydmljZSwgU2t5TG9nU2VydmljZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcbmltcG9ydCB7IFNreUhlbHBJbmxpbmVNb2R1bGUgfSBmcm9tICdAc2t5dXgvaGVscC1pbmxpbmUnO1xuaW1wb3J0IHsgU2t5SWNvbk1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pY29uJztcbmltcG9ydCB7IFNreUNoZXZyb25Nb2R1bGUgfSBmcm9tICdAc2t5dXgvaW5kaWNhdG9ycyc7XG5pbXBvcnQgeyBTa3lUaGVtZU1vZHVsZSB9IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5VGlsZXNSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi8uLi9zaGFyZWQvc2t5LXRpbGVzLXJlc291cmNlcy5tb2R1bGUnO1xuaW1wb3J0IHsgU2t5VGlsZURhc2hib2FyZFNlcnZpY2UgfSBmcm9tICcuLi90aWxlLWRhc2hib2FyZC90aWxlLWRhc2hib2FyZC5zZXJ2aWNlJztcblxuaW1wb3J0IHsgU0tZX1RJTEVfVElUTEVfSUQgfSBmcm9tICcuL3RpbGUtdGl0bGUtaWQtdG9rZW4nO1xuaW1wb3J0IHsgU2t5VGlsZVRpdGxlQ29tcG9uZW50IH0gZnJvbSAnLi90aWxlLXRpdGxlLmNvbXBvbmVudCc7XG5cbi8qKlxuICogUHJvdmlkZXMgYSBjb21tb24gbG9vay1hbmQtZmVlbCBmb3IgdGFiIGNvbnRlbnQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3NreS10aWxlJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGlsZS5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vdGlsZS5jb21wb25lbnQuaHRtbCcsXG4gIGFuaW1hdGlvbnM6IFtza3lBbmltYXRpb25TbGlkZV0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU2t5Q2hldnJvbk1vZHVsZSxcbiAgICBTa3lIZWxwSW5saW5lTW9kdWxlLFxuICAgIFNreUljb25Nb2R1bGUsXG4gICAgU2t5SWRNb2R1bGUsXG4gICAgU2t5VGhlbWVNb2R1bGUsXG4gICAgU2t5VGlsZXNSZXNvdXJjZXNNb2R1bGUsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNLWV9USUxFX1RJVExFX0lELFxuICAgICAgdXNlRmFjdG9yeSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBpZFNlcnZpY2UgPSBpbmplY3QoU2t5SWRTZXJ2aWNlKTtcbiAgICAgICAgcmV0dXJuIGlkU2VydmljZS5nZW5lcmF0ZUlkKCk7XG4gICAgICB9LFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVRpbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBBIGhlbHAga2V5IHRoYXQgaWRlbnRpZmllcyB0aGUgZ2xvYmFsIGhlbHAgY29udGVudCB0byBkaXNwbGF5LiBXaGVuIHNwZWNpZmllZCwgYSBbaGVscCBpbmxpbmVdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9oZWxwLWlubGluZSkgYnV0dG9uIGlzXG4gICAqIGFkZGVkIHRvIHRoZSB0aWxlIGhlYWRlci4gQ2xpY2tpbmcgdGhlIGJ1dHRvbiBpbnZva2VzIGdsb2JhbCBoZWxwIGFzIGNvbmZpZ3VyZWQgYnkgdGhlIGFwcGxpY2F0aW9uLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGhlbHBLZXk6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIGNvbnRlbnQgb2YgdGhlIGhlbHAgcG9wb3Zlci4gV2hlbiBzcGVjaWZpZWQsIGEgW2hlbHAgaW5saW5lXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvaGVscC1pbmxpbmUpXG4gICAqIGJ1dHRvbiBpcyBhZGRlZCB0byB0aGUgdGlsZSBoZWFkZXIuIFRoZSBoZWxwIGlubGluZSBidXR0b24gZGlzcGxheXMgYSBbcG9wb3Zlcl0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL3BvcG92ZXIpXG4gICAqIHdoZW4gY2xpY2tlZCB1c2luZyB0aGUgc3BlY2lmaWVkIGNvbnRlbnQgYW5kIG9wdGlvbmFsIHRpdGxlLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGhlbHBQb3BvdmVyQ29udGVudDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSB0aXRsZSBvZiB0aGUgaGVscCBwb3BvdmVyLiBUaGlzIHByb3BlcnR5IG9ubHkgYXBwbGllcyB3aGVuIGBoZWxwUG9wb3ZlckNvbnRlbnRgIGlzXG4gICAqIGFsc28gc3BlY2lmaWVkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGhlbHBQb3BvdmVyVGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogV2hldGhlciB0byBkaXNwbGF5IGEgc2V0dGluZ3MgYnV0dG9uIGluIHRoZSB0aWxlIGhlYWRlci4gVG8gZGlzcGxheSB0aGVcbiAgICogYnV0dG9uLCB5b3UgbXVzdCBhbHNvIGxpc3RlbiBmb3IgdGhlIGBzZXR0aW5nc0NsaWNrYCBldmVudC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNob3dTZXR0aW5ncyA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGlzcGxheSBhIGhlbHAgYnV0dG9uIGluIHRoZSB0aWxlIGhlYWRlci4gVG8gZGlzcGxheSB0aGVcbiAgICogYnV0dG9uLCB5b3UgbXVzdCBhbHNvIGxpc3RlbiBmb3IgdGhlIGBoZWxwQ2xpY2tgIGV2ZW50LlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqIEBkZXByZWNhdGVkIFNldCB0aGUgYGhlbHBLZXlgIG9yIGBoZWxwUG9wb3ZlckNvbnRlbnRgIGlucHV0cyBpbnN0ZWFkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNob3dIZWxwID0gdHJ1ZTtcblxuICAvKipcbiAgICogVGhlIGh1bWFuLXJlYWRhYmxlIG5hbWUgZm9yIHRoZSB0aWxlIHRoYXQgaXMgYXZhaWxhYmxlIHRvIHRoZSB0aWxlIGNvbnRyb2xzIGZvciBtdWx0aXBsZSBwdXJwb3Nlcywgc3VjaCBhcyBhY2Nlc3NpYmlsaXR5IGFuZCBpbnN0cnVtZW50YXRpb24uIFRoZSBjb21wb25lbnQgdXNlcyB0aGUgbmFtZSB0byBjb25zdHJ1Y3QgQVJJQSBsYWJlbHMgZm9yIHRoZSBoZWxwLCBleHBhbmQvY29sbGFwc2UsIHNldHRpbmdzLCBhbmQgZHJhZyBoYW5kbGUgYnV0dG9ucyB0byBbc3VwcG9ydCBhY2Nlc3NpYmlsaXR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL2FjY2Vzc2liaWxpdHkpLlxuICAgKiBGb3IgZXhhbXBsZSwgaWYgdGhlIHRpbGUgbmFtZSBpcyBcIkNvbnN0aXR1ZW50cyxcIiB0aGUgaGVscCBpbnB1dCdzIGBhcmlhLWxhYmVsYCBpcyBcIkNvbnN0aXR1ZW50cyBoZWxwXCIgYW5kIHRoZSBkcmFnIGhhbmRsZSdzIGBhcmlhLWxhYmVsYCBpcyBcIk1vdmUgQ29uc3RpdHVlbnRzLlwiIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBgYXJpYS1sYWJlbGAgYXR0cmlidXRlLCBzZWUgdGhlIFtXQUktQVJJQSBkZWZpbml0aW9uXShodHRwczovL3d3dy53My5vcmcvVFIvd2FpLWFyaWEvI2FyaWEtbGFiZWwpLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRpbGVOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgc2VsZWN0IHRoZSBzZXR0aW5ncyBidXR0b24gaW4gdGhlIHRpbGUgaGVhZGVyLiBUaGUgc2V0dGluZ3NcbiAgICogYnV0dG9uIG9ubHkgYXBwZWFycyB3aGVuIHRoZSBgc2hvd1NldHRpbmdzYCBwcm9wZXJ0eSBpcyBzZXQgdG8gYHRydWVgLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZXR0aW5nc0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSB0aWxlJ3MgY29sbGFwc2VkIHN0YXRlIGNoYW5nZXMuIFJldHVybnMgYHRydWVgIHdoZW4gdGhlIHRpbGVcbiAgICogY29sbGFwc2VzIGFuZCBgZmFsc2VgIHdoZW4gaXQgZXhwYW5kcy5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgaXNDb2xsYXBzZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgc2VsZWN0IHRoZSBoZWxwIGJ1dHRvbiBpbiB0aGUgdGlsZSBoZWFkZXIuIFRoZSBoZWxwXG4gICAqIGJ1dHRvbiBvbmx5IGFwcGVhcnMgd2hlbiB0aGUgYHNob3dIZWxwYCBwcm9wZXJ0eSBpcyBzZXQgdG8gYHRydWVgLlxuICAgKiBAZGVwcmVjYXRlZCBTZXQgdGhlIGBoZWxwS2V5YCBvciBgaGVscFBvcG92ZXJDb250ZW50YCBpbnB1dHMgaW5zdGVhZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgaGVscENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyBnZXQgaXNDb2xsYXBzZWQoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuI2Rhc2hib2FyZFNlcnZpY2UpIHtcbiAgICAgIGNvbnN0IGNvbmZpZ0NvbGxhcHNlZFN0YXRlID0gdGhpcy4jZGFzaGJvYXJkU2VydmljZS50aWxlSXNDb2xsYXBzZWQodGhpcyk7XG4gICAgICB0aGlzLiNfaXNDb2xsYXBzZWQgPSBjb25maWdDb2xsYXBzZWRTdGF0ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy4jX2lzQ29sbGFwc2VkO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHRpbGUgaXMgaW4gYSBjb2xsYXBzZWQgc3RhdGUuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGlzQ29sbGFwc2VkKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2lzQ29sbGFwc2VkID0gISF2YWx1ZTtcblxuICAgIGlmICh0aGlzLiNkYXNoYm9hcmRTZXJ2aWNlKSB7XG4gICAgICB0aGlzLiNkYXNoYm9hcmRTZXJ2aWNlLnNldFRpbGVDb2xsYXBzZWQodGhpcywgdGhpcy4jX2lzQ29sbGFwc2VkKTtcbiAgICB9XG5cbiAgICB0aGlzLmlzQ29sbGFwc2VkQ2hhbmdlLmVtaXQodGhpcy4jX2lzQ29sbGFwc2VkKTtcbiAgfVxuXG4gIHB1YmxpYyBhcmlhRGVzY3JpYmVkQnk6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgaXNJbkRhc2hib2FyZENvbHVtbiA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoJ2dyYWJIYW5kbGUnLCB7XG4gICAgcmVhZDogRWxlbWVudFJlZixcbiAgICBzdGF0aWM6IGZhbHNlLFxuICB9KVxuICBwdWJsaWMgZ3JhYkhhbmRsZTogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCd0aXRsZUNvbnRhaW5lcicsIHtcbiAgICByZWFkOiBFbGVtZW50UmVmLFxuICAgIHN0YXRpYzogZmFsc2UsXG4gIH0pXG4gIHB1YmxpYyB0aXRsZTogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBAQ29udGVudENoaWxkKFNreVRpbGVUaXRsZUNvbXBvbmVudCwgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIHByb3RlY3RlZCB0aXRsZVJlZjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuICAjZGFzaGJvYXJkU2VydmljZTogU2t5VGlsZURhc2hib2FyZFNlcnZpY2UgfCB1bmRlZmluZWQ7XG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgI19pc0NvbGxhcHNlZCA9IGZhbHNlO1xuXG4gIHByb3RlY3RlZCB0aWxlVGl0bGVJZCA9IGluamVjdChTS1lfVElMRV9USVRMRV9JRCk7XG5cbiAgcmVhZG9ubHkgI2xvZ1N2YyA9IGluamVjdChTa3lMb2dTZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQE9wdGlvbmFsKCkgZGFzaGJvYXJkU2VydmljZT86IFNreVRpbGVEYXNoYm9hcmRTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI2Rhc2hib2FyZFNlcnZpY2UgPSBkYXNoYm9hcmRTZXJ2aWNlO1xuICAgIHRoaXMuaXNJbkRhc2hib2FyZENvbHVtbiA9ICEhdGhpcy4jZGFzaGJvYXJkU2VydmljZTtcblxuICAgIGlmICh0aGlzLiNkYXNoYm9hcmRTZXJ2aWNlKSB7XG4gICAgICB0aGlzLmFyaWFEZXNjcmliZWRCeSA9IGAke3RoaXMuI2Rhc2hib2FyZFNlcnZpY2UuYmFnSWR9LW1vdmUtaW5zdHJ1Y3Rpb25zYDtcblxuICAgICAgLyoqXG4gICAgICAgKiBUaGlzIHN1YnNjcmlwdGlvbiBlbnN1cmVzIHRoYXQgaWYgYW55IHZhbHVlcyB3aGljaCBjb21lIGluIGZyb20gdGhlIGRhc2hib2FyZCBzZXJ2aWNlIGFyZVxuICAgICAgICogdXBkYXRlZCB0aGF0IHRoZSBjb21wb25lbnQgd2lsbCB1cGRhdGUgaWYgdGhlIHRpbGUncyBwYXJlbnQgY29tcG9uZW50IHV0aWxpemVzIE9uUHVzaFxuICAgICAgICogY2hhbmdlIGRldGVjdGlvbi5cbiAgICAgICAqL1xuICAgICAgdGhpcy4jZGFzaGJvYXJkU2VydmljZS5jb25maWdDaGFuZ2VcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snc2hvd0hlbHAnXT8uZmlyc3RDaGFuZ2UpIHtcbiAgICAgIHRoaXMuI2xvZ1N2Yy5kZXByZWNhdGVkKCdTa3lUaWxlQ29tcG9uZW50LnNob3dIZWxwJywge1xuICAgICAgICBkZXByZWNhdGlvbk1ham9yVmVyc2lvbjogMTAsXG4gICAgICAgIHJlcGxhY2VtZW50UmVjb21tZW5kYXRpb246XG4gICAgICAgICAgJ1NldCB0aGUgYGhlbHBLZXlgIG9yIGBoZWxwUG9wb3ZlckNvbnRlbnRgIGlucHV0cyBpbnN0ZWFkLicsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIHNldHRpbmdzQnV0dG9uQ2xpY2tlZCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldHRpbmdzQ2xpY2suZW1pdCh1bmRlZmluZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBwdWJsaWMgaGVscEJ1dHRvbkNsaWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5oZWxwQ2xpY2suZW1pdCh1bmRlZmluZWQpO1xuICB9XG5cbiAgcHVibGljIGdldCBoYXNTZXR0aW5ncygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5nc0NsaWNrLm9ic2VydmVycy5sZW5ndGggPiAwICYmIHRoaXMuc2hvd1NldHRpbmdzO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBwdWJsaWMgZ2V0IGhhc0hlbHAoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaGVscENsaWNrLm9ic2VydmVycy5sZW5ndGggPiAwICYmIHRoaXMuc2hvd0hlbHA7XG4gIH1cblxuICBwdWJsaWMgdGl0bGVDbGljayhldnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB0YXJnZXRFbCA9IGV2dC50YXJnZXQgYXMgSFRNTEVsZW1lbnQgfCBudWxsO1xuXG4gICAgLy8gRG9uJ3QgZXhwYW5kL2NvbGxhcHNlIGlmIHRoZSBoZWxwIGlubGluZSBidXR0b24gaXMgY2xpY2tlZC5cbiAgICBpZiAodGFyZ2V0RWw/LmNsb3Nlc3QoJ3NreS1oZWxwLWlubGluZScpID09PSBudWxsKSB7XG4gICAgICB0aGlzLmlzQ29sbGFwc2VkID0gIXRoaXMuaXNDb2xsYXBzZWQ7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNoZXZyb25EaXJlY3Rpb25DaGFuZ2UoZGlyZWN0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmlzQ29sbGFwc2VkID0gZGlyZWN0aW9uID09PSAnZG93bic7XG4gIH1cblxuICBwdWJsaWMgbW92ZVRpbGUoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLiNkYXNoYm9hcmRTZXJ2aWNlKSB7XG4gICAgICBjb25zdCBkaXJlY3Rpb24gPSBldmVudC5rZXkudG9Mb3dlckNhc2UoKS5yZXBsYWNlKCdhcnJvdycsICcnKTtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAoXG4gICAgICAgIGRpcmVjdGlvbiA9PT0gJ3VwJyB8fFxuICAgICAgICBkaXJlY3Rpb24gPT09ICdkb3duJyB8fFxuICAgICAgICBkaXJlY3Rpb24gPT09ICdsZWZ0JyB8fFxuICAgICAgICBkaXJlY3Rpb24gPT09ICdyaWdodCdcbiAgICAgICkge1xuICAgICAgICB0aGlzLiNkYXNoYm9hcmRTZXJ2aWNlLm1vdmVUaWxlT25LZXlEb3duKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgZGlyZWN0aW9uLFxuICAgICAgICAgIHRoaXMudGl0bGVcbiAgICAgICAgICAgID8gdGhpcy50aXRsZS5uYXRpdmVFbGVtZW50LmlubmVyVGV4dFxuICAgICAgICAgICAgOiAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuI2ZvY3VzSGFuZGxlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI2ZvY3VzSGFuZGxlKCk6IHZvaWQge1xuICAgIHRoaXMuZ3JhYkhhbmRsZT8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG59XG4iLCI8c2VjdGlvblxuICBjbGFzcz1cInNreS10aWxlXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdza3ktdGlsZS1jb2xsYXBzZWQnOiBpc0NvbGxhcHNlZFxuICB9XCJcbiAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICdza3ktYm94IHNreS1lbGV2YXRpb24tMS1ib3JkZXJlZCBza3ktcGFkZGluZy1ldmVuLXhsJzogJ21vZGVybidcbiAgfVwiXG4+XG4gIDxoZWFkZXIgY2xhc3M9XCJza3ktdGlsZS1oZWFkZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2t5LXRpbGUtaGVhZGVyLWNvbnRlbnRcIiAoY2xpY2spPVwidGl0bGVDbGljaygkZXZlbnQpXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic2t5LXRpbGUtaGVhZGVyLXRpdGxlXCIgI3RpdGxlQ29udGFpbmVyPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktdGlsZS10aXRsZVwiIC8+XG4gICAgICAgIEBpZiAodGlsZU5hbWUgJiYgKGhlbHBLZXkgfHwgaGVscFBvcG92ZXJDb250ZW50KSkge1xuICAgICAgICAgIDxza3ktaGVscC1pbmxpbmVcbiAgICAgICAgICAgIFtoZWxwS2V5XT1cImhlbHBLZXlcIlxuICAgICAgICAgICAgW2xhYmVsVGV4dF09XCJ0aWxlTmFtZVwiXG4gICAgICAgICAgICBbcG9wb3ZlckNvbnRlbnRdPVwiaGVscFBvcG92ZXJDb250ZW50XCJcbiAgICAgICAgICAgIFtwb3BvdmVyVGl0bGVdPVwiaGVscFBvcG92ZXJUaXRsZVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic2t5LXRpbGUtc3VtbWFyeSBza3ktZm9udC1kaXNwbGF5LTNcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2t5LXRpbGUtc3VtbWFyeVwiIC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2t5LXRpbGUtaGVhZGVyLWNvbHVtbi10b29sc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cInNreS10aWxlLXRvb2xzXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKnNreVRoZW1lSWY9XCInZGVmYXVsdCdcIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqbmdJZj1cImhhc0hlbHBcIlxuICAgICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS10aWxlLXRvb2xzLWNvbnRyb2wgc2t5LXRpbGUtaGVscFwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICAgIHRpbGVOYW1lXG4gICAgICAgICAgICAgICAgPyAoJ3NreXV4X3RpbGVfaGVscCcgfCBza3lMaWJSZXNvdXJjZXM6IHRpbGVOYW1lKVxuICAgICAgICAgICAgICAgIDogKCdza3l1eF90aWxlX2hlbHBfZGVmYXVsdCcgfCBza3lMaWJSZXNvdXJjZXMpXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAnc2t5LWJ0bi1pY29uLWJvcmRlcmxlc3MnOiAnbW9kZXJuJ1xuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiaGVscEJ1dHRvbkNsaWNrZWQoKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNreS1pY29uIGljb249XCJxdWVzdGlvbi1jaXJjbGVcIiAvPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPHNreS1jaGV2cm9uXG4gICAgICAgICAgW2FyaWFDb250cm9sc109XCJ0aWxlQ29udGVudC5pZFwiXG4gICAgICAgICAgW2FyaWFMYWJlbF09XCJcbiAgICAgICAgICAgIHRpbGVOYW1lXG4gICAgICAgICAgICAgID8gKCdza3l1eF90aWxlX2V4cGFuZCcgfCBza3lMaWJSZXNvdXJjZXM6IHRpbGVOYW1lKVxuICAgICAgICAgICAgICA6ICgnc2t5dXhfdGlsZV9leHBhbmRfZGVmYXVsdCcgfCBza3lMaWJSZXNvdXJjZXMpXG4gICAgICAgICAgXCJcbiAgICAgICAgICBbZGlyZWN0aW9uXT1cImlzQ29sbGFwc2VkID8gJ2Rvd24nIDogJ3VwJ1wiXG4gICAgICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAgICAgJ3NreS10aWxlLXRvb2xzLWNvbnRyb2wnOiAnZGVmYXVsdCcsXG4gICAgICAgICAgICAnc2t5LW1hcmdpbi1pbmxpbmUtZGVmYXVsdCc6ICdtb2Rlcm4nXG4gICAgICAgICAgfVwiXG4gICAgICAgICAgKGRpcmVjdGlvbkNoYW5nZSk9XCJjaGV2cm9uRGlyZWN0aW9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgIDwvc2t5LWNoZXZyb24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAqbmdJZj1cImhhc1NldHRpbmdzXCJcbiAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LXRpbGUtc2V0dGluZ3NcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICB0aWxlTmFtZVxuICAgICAgICAgICAgICA/ICgnc2t5dXhfdGlsZV9zZXR0aW5ncycgfCBza3lMaWJSZXNvdXJjZXM6IHRpbGVOYW1lKVxuICAgICAgICAgICAgICA6ICgnc2t5dXhfdGlsZV9zZXR0aW5nc19kZWZhdWx0JyB8IHNreUxpYlJlc291cmNlcylcbiAgICAgICAgICBcIlxuICAgICAgICAgIFtza3lUaGVtZUNsYXNzXT1cIntcbiAgICAgICAgICAgICdza3ktdGlsZS10b29scy1jb250cm9sJzogJ2RlZmF1bHQnLFxuICAgICAgICAgICAgJ3NreS1idG4taWNvbi1ib3JkZXJsZXNzIHNreS1tYXJnaW4taW5saW5lLWRlZmF1bHQnOiAnbW9kZXJuJ1xuICAgICAgICAgIH1cIlxuICAgICAgICAgIChjbGljayk9XCJzZXR0aW5nc0J1dHRvbkNsaWNrZWQoKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c2t5LWljb24gaWNvbj1cImNvZ1wiIC8+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCJpc0luRGFzaGJvYXJkQ29sdW1uXCJcbiAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LXRpbGUtZ3JhYi1oYW5kbGVcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICB0aWxlTmFtZVxuICAgICAgICAgICAgICA/ICgnc2t5dXhfdGlsZV9tb3ZlJyB8IHNreUxpYlJlc291cmNlczogdGlsZU5hbWUpXG4gICAgICAgICAgICAgIDogKCdza3l1eF90aWxlX21vdmVfZGVmYXVsdCcgfCBza3lMaWJSZXNvdXJjZXMpXG4gICAgICAgICAgXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZWRCeVwiXG4gICAgICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAgICAgJ3NreS10aWxlLXRvb2xzLWNvbnRyb2wnOiAnZGVmYXVsdCcsXG4gICAgICAgICAgICAnc2t5LWJ0bi1pY29uLWJvcmRlcmxlc3MnOiAnbW9kZXJuJ1xuICAgICAgICAgIH1cIlxuICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgIChrZXlkb3duKT1cIm1vdmVUaWxlKCRldmVudClcIlxuICAgICAgICAgICNncmFiSGFuZGxlXG4gICAgICAgID5cbiAgICAgICAgICA8c2t5LWljb24gaWNvbj1cInRpbGUtZHJhZ1wiIC8+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvaGVhZGVyPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJza3ktdGlsZS1jb250ZW50XCJcbiAgICByb2xlPVwicmVnaW9uXCJcbiAgICBza3lJZFxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidGlsZU5hbWVcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCIhdGlsZU5hbWUgJiYgdGl0bGVSZWYgPyB0aWxlVGl0bGVJZCA6IHVuZGVmaW5lZFwiXG4gICAgW0Bza3lBbmltYXRpb25TbGlkZV09XCJpc0NvbGxhcHNlZCA/ICd1cCcgOiAnZG93bidcIlxuICAgICN0aWxlQ29udGVudD1cInNreUlkXCJcbiAgPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS10aWxlLWNvbnRlbnRcIiAvPlxuICA8L2Rpdj5cbjwvc2VjdGlvbj5cbiJdfQ==
@@ -812,7 +812,7 @@ class SkyTileComponent {
812
812
  return idService.generateId();
813
813
  },
814
814
  },
815
- ], queries: [{ propertyName: "titleRef", first: true, predicate: SkyTileTitleComponent, descendants: true, read: ElementRef }], viewQueries: [{ propertyName: "grabHandle", first: true, predicate: ["grabHandle"], descendants: true, read: ElementRef }, { propertyName: "title", first: true, predicate: ["titleContainer"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<section\n class=\"sky-tile\"\n [ngClass]=\"{\n 'sky-tile-collapsed': isCollapsed\n }\"\n [skyThemeClass]=\"{\n 'sky-box sky-elevation-1-bordered sky-padding-even-xl': 'modern'\n }\"\n>\n <header class=\"sky-tile-header\">\n <div class=\"sky-tile-header-content\" (click)=\"titleClick($event)\">\n <div class=\"sky-tile-header-title\" #titleContainer>\n <ng-content select=\"sky-tile-title\" />\n @if (tileName && (helpKey || helpPopoverContent)) {\n <sky-help-inline\n [helpKey]=\"helpKey\"\n [labelText]=\"tileName\"\n [popoverContent]=\"helpPopoverContent\"\n [popoverTitle]=\"helpPopoverTitle\"\n />\n }\n </div>\n <div class=\"sky-tile-summary sky-font-display-3\">\n <ng-content select=\"sky-tile-summary\" />\n </div>\n </div>\n <div class=\"sky-tile-header-column-tools\">\n <div class=\"sky-tile-tools\">\n <ng-container *skyThemeIf=\"'default'\">\n <button\n *ngIf=\"hasHelp\"\n class=\"sky-btn sky-tile-tools-control sky-tile-help\"\n type=\"button\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_help' | skyLibResources: tileName)\n : ('skyux_tile_help_default' | skyLibResources)\n \"\n [skyThemeClass]=\"{\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"helpButtonClicked()\"\n >\n <sky-icon icon=\"question-circle\" />\n </button>\n </ng-container>\n <sky-chevron\n [ariaControls]=\"tileContent.id\"\n [ariaLabel]=\"\n tileName\n ? ('skyux_tile_expand' | skyLibResources: tileName)\n : ('skyux_tile_expand_default' | skyLibResources)\n \"\n [direction]=\"isCollapsed ? 'down' : 'up'\"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-margin-inline-default': 'modern'\n }\"\n (directionChange)=\"chevronDirectionChange($event)\"\n >\n </sky-chevron>\n <button\n *ngIf=\"hasSettings\"\n class=\"sky-btn sky-tile-settings\"\n type=\"button\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_settings' | skyLibResources: tileName)\n : ('skyux_tile_settings_default' | skyLibResources)\n \"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-btn-icon-borderless sky-margin-inline-default': 'modern'\n }\"\n (click)=\"settingsButtonClicked()\"\n >\n <sky-icon icon=\"cog\" />\n </button>\n <button\n *ngIf=\"isInDashboardColumn\"\n class=\"sky-btn sky-tile-grab-handle\"\n type=\"button\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_move' | skyLibResources: tileName)\n : ('skyux_tile_move_default' | skyLibResources)\n \"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"moveTile($event)\"\n #grabHandle\n >\n <sky-icon icon=\"tile-drag\" />\n </button>\n </div>\n </div>\n </header>\n <div\n class=\"sky-tile-content\"\n role=\"region\"\n skyId\n [attr.aria-label]=\"tileName\"\n [attr.aria-labelledBy]=\"!tileName && titleRef ? tileTitleId : undefined\"\n [@skyAnimationSlide]=\"isCollapsed ? 'up' : 'down'\"\n #tileContent=\"skyId\"\n >\n <ng-content select=\"sky-tile-content\" />\n </div>\n</section>\n", styles: [".sky-tile{background-color:#fff;margin-bottom:20px}:host-context(.sky-tile-dashboard-layout-single,.sky-tile-dashboard-layout-multi) .sky-tile{margin-bottom:0}:host-context(.sky-tile-dashboard-gt-xs) :host-context(.sky-tile-dashboard-layout-single) .sky-tile,:host-context(.sky-tile-dashboard-gt-xs) :host-context(.sky-tile-dashboard-layout-multi) .sky-tile{margin-bottom:20px}:host-context(.sky-tile-dashboard-gt-xs) :host-context(.sky-theme-default){padding-top:20px}.sky-tile-header{border-color:#cdcfd2;border-style:solid solid none;border-width:4px 0 0;display:flex}.sky-tile-header-content{display:flex;flex:1;align-items:baseline;cursor:pointer}.sky-tile-header-title{display:inline-flex;align-items:baseline;padding:10px 15px}.sky-tile-header-title>sky-help-inline{margin-left:var(--sky-margin-inline-xs)}.sky-tile-summary{color:#0974a1;display:none;padding-right:15px;max-height:30px;overflow:hidden}.sky-tile-collapsed .sky-tile-summary{display:block}.sky-tile-header-column-tools{display:flex;align-items:center;flex:0 0 auto}.sky-tile-tools{display:flex;padding-right:15px}.sky-tile-tools-control{color:#cdcfd2;cursor:pointer;border:0;width:24px;height:24px;padding:0;display:block;margin:0 0 0 9px}.sky-tile-tools-control:hover{color:#979ba2;transition:color .15s}.sky-tile-grab-handle{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;font-size:15px}.sky-tile-content{border-color:#e2e3e4;border-image:none;border-style:solid solid none;border-width:1px 0}:host-context(.sky-theme-modern) .sky-tile-header,:host-context(.sky-theme-modern) .sky-tile-content{border:none}:host-context(.sky-theme-modern) .sky-tile-header-title{padding:0;margin:0 30px 0 0}:host-context(.sky-theme-modern) .sky-tile-header-column-tools{align-items:flex-start}:host-context(.sky-theme-modern) .sky-tile-tools{padding:0}:host-context(.sky-theme-modern) .sky-tile-tools-control{font-size:18px;color:#686c73}:host-context(.sky-theme-modern) .sky-tile-grab-handle{font-size:16px}:host-context(.sky-theme-modern) :host .sky-tile{border-radius:0}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-xs) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:0}@media (min-width: 768px){:host-context(.sky-theme-modern) :host .sky-tile{border-radius:6px}}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:6px}.sky-theme-modern .sky-tile-header,.sky-theme-modern .sky-tile-content{border:none}.sky-theme-modern .sky-tile-header-title{padding:0;margin:0 30px 0 0}.sky-theme-modern .sky-tile-header-column-tools{align-items:flex-start}.sky-theme-modern .sky-tile-tools{padding:0}.sky-theme-modern .sky-tile-tools-control{font-size:18px;color:#686c73}.sky-theme-modern .sky-tile-grab-handle{font-size:16px}.sky-theme-modern :host .sky-tile{border-radius:0}.sky-theme-modern :host-context(.sky-responsive-container-xs) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:0}@media (min-width: 768px){.sky-theme-modern :host .sky-tile{border-radius:6px}}.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:6px}:host-context(.sky-theme-modern .sky-tile-dashboard-gt-xs) :host-context(.sky-tile-dashboard-layout-single) .sky-tile,:host-context(.sky-theme-modern .sky-tile-dashboard-gt-xs) :host-context(.sky-tile-dashboard-layout-multi) .sky-tile{margin-bottom:30px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: SkyChevronModule }, { kind: "component", type: i3.λ2, selector: "sky-chevron", inputs: ["ariaControls", "ariaLabel", "direction", "disabled"], outputs: ["directionChange"] }, { kind: "ngmodule", type: SkyHelpInlineModule }, { kind: "component", type: i4$1.λ1, selector: "sky-help-inline", inputs: ["ariaControls", "ariaExpanded", "ariaLabel", "helpKey", "labelledBy", "labelText", "popoverContent", "popoverTitle"], outputs: ["actionClick"] }, { kind: "ngmodule", type: SkyIconModule }, { kind: "component", type: i5.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant"] }, { kind: "ngmodule", type: SkyIdModule }, { kind: "directive", type: i2.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "ngmodule", type: SkyThemeModule }, { kind: "directive", type: i7.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "directive", type: i7.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "ngmodule", type: SkyTilesResourcesModule }, { kind: "pipe", type: i3$1.SkyLibResourcesPipe, name: "skyLibResources" }], animations: [skyAnimationSlide] }); }
815
+ ], queries: [{ propertyName: "titleRef", first: true, predicate: SkyTileTitleComponent, descendants: true, read: ElementRef }], viewQueries: [{ propertyName: "grabHandle", first: true, predicate: ["grabHandle"], descendants: true, read: ElementRef }, { propertyName: "title", first: true, predicate: ["titleContainer"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<section\n class=\"sky-tile\"\n [ngClass]=\"{\n 'sky-tile-collapsed': isCollapsed\n }\"\n [skyThemeClass]=\"{\n 'sky-box sky-elevation-1-bordered sky-padding-even-xl': 'modern'\n }\"\n>\n <header class=\"sky-tile-header\">\n <div class=\"sky-tile-header-content\" (click)=\"titleClick($event)\">\n <div class=\"sky-tile-header-title\" #titleContainer>\n <ng-content select=\"sky-tile-title\" />\n @if (tileName && (helpKey || helpPopoverContent)) {\n <sky-help-inline\n [helpKey]=\"helpKey\"\n [labelText]=\"tileName\"\n [popoverContent]=\"helpPopoverContent\"\n [popoverTitle]=\"helpPopoverTitle\"\n />\n }\n </div>\n <div class=\"sky-tile-summary sky-font-display-3\">\n <ng-content select=\"sky-tile-summary\" />\n </div>\n </div>\n <div class=\"sky-tile-header-column-tools\">\n <div class=\"sky-tile-tools\">\n <ng-container *skyThemeIf=\"'default'\">\n <button\n *ngIf=\"hasHelp\"\n class=\"sky-btn sky-tile-tools-control sky-tile-help\"\n type=\"button\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_help' | skyLibResources: tileName)\n : ('skyux_tile_help_default' | skyLibResources)\n \"\n [skyThemeClass]=\"{\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"helpButtonClicked()\"\n >\n <sky-icon icon=\"question-circle\" />\n </button>\n </ng-container>\n <sky-chevron\n [ariaControls]=\"tileContent.id\"\n [ariaLabel]=\"\n tileName\n ? ('skyux_tile_expand' | skyLibResources: tileName)\n : ('skyux_tile_expand_default' | skyLibResources)\n \"\n [direction]=\"isCollapsed ? 'down' : 'up'\"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-margin-inline-default': 'modern'\n }\"\n (directionChange)=\"chevronDirectionChange($event)\"\n >\n </sky-chevron>\n <button\n *ngIf=\"hasSettings\"\n class=\"sky-btn sky-tile-settings\"\n type=\"button\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_settings' | skyLibResources: tileName)\n : ('skyux_tile_settings_default' | skyLibResources)\n \"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-btn-icon-borderless sky-margin-inline-default': 'modern'\n }\"\n (click)=\"settingsButtonClicked()\"\n >\n <sky-icon icon=\"cog\" />\n </button>\n <button\n *ngIf=\"isInDashboardColumn\"\n class=\"sky-btn sky-tile-grab-handle\"\n type=\"button\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_move' | skyLibResources: tileName)\n : ('skyux_tile_move_default' | skyLibResources)\n \"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"moveTile($event)\"\n #grabHandle\n >\n <sky-icon icon=\"tile-drag\" />\n </button>\n </div>\n </div>\n </header>\n <div\n class=\"sky-tile-content\"\n role=\"region\"\n skyId\n [attr.aria-label]=\"tileName\"\n [attr.aria-labelledby]=\"!tileName && titleRef ? tileTitleId : undefined\"\n [@skyAnimationSlide]=\"isCollapsed ? 'up' : 'down'\"\n #tileContent=\"skyId\"\n >\n <ng-content select=\"sky-tile-content\" />\n </div>\n</section>\n", styles: [".sky-tile{background-color:#fff;margin-bottom:20px}:host-context(.sky-tile-dashboard-layout-single,.sky-tile-dashboard-layout-multi) .sky-tile{margin-bottom:0}:host-context(.sky-tile-dashboard-gt-xs) :host-context(.sky-tile-dashboard-layout-single) .sky-tile,:host-context(.sky-tile-dashboard-gt-xs) :host-context(.sky-tile-dashboard-layout-multi) .sky-tile{margin-bottom:20px}:host-context(.sky-tile-dashboard-gt-xs) :host-context(.sky-theme-default){padding-top:20px}.sky-tile-header{border-color:#cdcfd2;border-style:solid solid none;border-width:4px 0 0;display:flex}.sky-tile-header-content{display:flex;flex:1;align-items:baseline;cursor:pointer}.sky-tile-header-title{display:inline-flex;align-items:baseline;padding:10px 15px}.sky-tile-header-title>sky-help-inline{margin-left:var(--sky-margin-inline-xs)}.sky-tile-summary{color:#0974a1;display:none;padding-right:15px;max-height:30px;overflow:hidden}.sky-tile-collapsed .sky-tile-summary{display:block}.sky-tile-header-column-tools{display:flex;align-items:center;flex:0 0 auto}.sky-tile-tools{display:flex;padding-right:15px}.sky-tile-tools-control{color:#cdcfd2;cursor:pointer;border:0;width:24px;height:24px;padding:0;display:block;margin:0 0 0 9px}.sky-tile-tools-control:hover{color:#979ba2;transition:color .15s}.sky-tile-grab-handle{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;font-size:15px}.sky-tile-content{border-color:#e2e3e4;border-image:none;border-style:solid solid none;border-width:1px 0}:host-context(.sky-theme-modern) .sky-tile-header,:host-context(.sky-theme-modern) .sky-tile-content{border:none}:host-context(.sky-theme-modern) .sky-tile-header-title{padding:0;margin:0 30px 0 0}:host-context(.sky-theme-modern) .sky-tile-header-column-tools{align-items:flex-start}:host-context(.sky-theme-modern) .sky-tile-tools{padding:0}:host-context(.sky-theme-modern) .sky-tile-tools-control{font-size:18px;color:#686c73}:host-context(.sky-theme-modern) .sky-tile-grab-handle{font-size:16px}:host-context(.sky-theme-modern) :host .sky-tile{border-radius:0}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-xs) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:0}@media (min-width: 768px){:host-context(.sky-theme-modern) :host .sky-tile{border-radius:6px}}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:6px}.sky-theme-modern .sky-tile-header,.sky-theme-modern .sky-tile-content{border:none}.sky-theme-modern .sky-tile-header-title{padding:0;margin:0 30px 0 0}.sky-theme-modern .sky-tile-header-column-tools{align-items:flex-start}.sky-theme-modern .sky-tile-tools{padding:0}.sky-theme-modern .sky-tile-tools-control{font-size:18px;color:#686c73}.sky-theme-modern .sky-tile-grab-handle{font-size:16px}.sky-theme-modern :host .sky-tile{border-radius:0}.sky-theme-modern :host-context(.sky-responsive-container-xs) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:0}@media (min-width: 768px){.sky-theme-modern :host .sky-tile{border-radius:6px}}.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:6px}:host-context(.sky-theme-modern .sky-tile-dashboard-gt-xs) :host-context(.sky-tile-dashboard-layout-single) .sky-tile,:host-context(.sky-theme-modern .sky-tile-dashboard-gt-xs) :host-context(.sky-tile-dashboard-layout-multi) .sky-tile{margin-bottom:30px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: SkyChevronModule }, { kind: "component", type: i3.λ2, selector: "sky-chevron", inputs: ["ariaControls", "ariaLabel", "direction", "disabled"], outputs: ["directionChange"] }, { kind: "ngmodule", type: SkyHelpInlineModule }, { kind: "component", type: i4$1.λ1, selector: "sky-help-inline", inputs: ["ariaControls", "ariaExpanded", "ariaLabel", "helpKey", "labelledBy", "labelText", "popoverContent", "popoverTitle"], outputs: ["actionClick"] }, { kind: "ngmodule", type: SkyIconModule }, { kind: "component", type: i5.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant"] }, { kind: "ngmodule", type: SkyIdModule }, { kind: "directive", type: i2.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "ngmodule", type: SkyThemeModule }, { kind: "directive", type: i7.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "directive", type: i7.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "ngmodule", type: SkyTilesResourcesModule }, { kind: "pipe", type: i3$1.SkyLibResourcesPipe, name: "skyLibResources" }], animations: [skyAnimationSlide] }); }
816
816
  }
817
817
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyTileComponent, decorators: [{
818
818
  type: Component,
@@ -832,7 +832,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
832
832
  return idService.generateId();
833
833
  },
834
834
  },
835
- ], template: "<section\n class=\"sky-tile\"\n [ngClass]=\"{\n 'sky-tile-collapsed': isCollapsed\n }\"\n [skyThemeClass]=\"{\n 'sky-box sky-elevation-1-bordered sky-padding-even-xl': 'modern'\n }\"\n>\n <header class=\"sky-tile-header\">\n <div class=\"sky-tile-header-content\" (click)=\"titleClick($event)\">\n <div class=\"sky-tile-header-title\" #titleContainer>\n <ng-content select=\"sky-tile-title\" />\n @if (tileName && (helpKey || helpPopoverContent)) {\n <sky-help-inline\n [helpKey]=\"helpKey\"\n [labelText]=\"tileName\"\n [popoverContent]=\"helpPopoverContent\"\n [popoverTitle]=\"helpPopoverTitle\"\n />\n }\n </div>\n <div class=\"sky-tile-summary sky-font-display-3\">\n <ng-content select=\"sky-tile-summary\" />\n </div>\n </div>\n <div class=\"sky-tile-header-column-tools\">\n <div class=\"sky-tile-tools\">\n <ng-container *skyThemeIf=\"'default'\">\n <button\n *ngIf=\"hasHelp\"\n class=\"sky-btn sky-tile-tools-control sky-tile-help\"\n type=\"button\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_help' | skyLibResources: tileName)\n : ('skyux_tile_help_default' | skyLibResources)\n \"\n [skyThemeClass]=\"{\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"helpButtonClicked()\"\n >\n <sky-icon icon=\"question-circle\" />\n </button>\n </ng-container>\n <sky-chevron\n [ariaControls]=\"tileContent.id\"\n [ariaLabel]=\"\n tileName\n ? ('skyux_tile_expand' | skyLibResources: tileName)\n : ('skyux_tile_expand_default' | skyLibResources)\n \"\n [direction]=\"isCollapsed ? 'down' : 'up'\"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-margin-inline-default': 'modern'\n }\"\n (directionChange)=\"chevronDirectionChange($event)\"\n >\n </sky-chevron>\n <button\n *ngIf=\"hasSettings\"\n class=\"sky-btn sky-tile-settings\"\n type=\"button\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_settings' | skyLibResources: tileName)\n : ('skyux_tile_settings_default' | skyLibResources)\n \"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-btn-icon-borderless sky-margin-inline-default': 'modern'\n }\"\n (click)=\"settingsButtonClicked()\"\n >\n <sky-icon icon=\"cog\" />\n </button>\n <button\n *ngIf=\"isInDashboardColumn\"\n class=\"sky-btn sky-tile-grab-handle\"\n type=\"button\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_move' | skyLibResources: tileName)\n : ('skyux_tile_move_default' | skyLibResources)\n \"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"moveTile($event)\"\n #grabHandle\n >\n <sky-icon icon=\"tile-drag\" />\n </button>\n </div>\n </div>\n </header>\n <div\n class=\"sky-tile-content\"\n role=\"region\"\n skyId\n [attr.aria-label]=\"tileName\"\n [attr.aria-labelledBy]=\"!tileName && titleRef ? tileTitleId : undefined\"\n [@skyAnimationSlide]=\"isCollapsed ? 'up' : 'down'\"\n #tileContent=\"skyId\"\n >\n <ng-content select=\"sky-tile-content\" />\n </div>\n</section>\n", styles: [".sky-tile{background-color:#fff;margin-bottom:20px}:host-context(.sky-tile-dashboard-layout-single,.sky-tile-dashboard-layout-multi) .sky-tile{margin-bottom:0}:host-context(.sky-tile-dashboard-gt-xs) :host-context(.sky-tile-dashboard-layout-single) .sky-tile,:host-context(.sky-tile-dashboard-gt-xs) :host-context(.sky-tile-dashboard-layout-multi) .sky-tile{margin-bottom:20px}:host-context(.sky-tile-dashboard-gt-xs) :host-context(.sky-theme-default){padding-top:20px}.sky-tile-header{border-color:#cdcfd2;border-style:solid solid none;border-width:4px 0 0;display:flex}.sky-tile-header-content{display:flex;flex:1;align-items:baseline;cursor:pointer}.sky-tile-header-title{display:inline-flex;align-items:baseline;padding:10px 15px}.sky-tile-header-title>sky-help-inline{margin-left:var(--sky-margin-inline-xs)}.sky-tile-summary{color:#0974a1;display:none;padding-right:15px;max-height:30px;overflow:hidden}.sky-tile-collapsed .sky-tile-summary{display:block}.sky-tile-header-column-tools{display:flex;align-items:center;flex:0 0 auto}.sky-tile-tools{display:flex;padding-right:15px}.sky-tile-tools-control{color:#cdcfd2;cursor:pointer;border:0;width:24px;height:24px;padding:0;display:block;margin:0 0 0 9px}.sky-tile-tools-control:hover{color:#979ba2;transition:color .15s}.sky-tile-grab-handle{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;font-size:15px}.sky-tile-content{border-color:#e2e3e4;border-image:none;border-style:solid solid none;border-width:1px 0}:host-context(.sky-theme-modern) .sky-tile-header,:host-context(.sky-theme-modern) .sky-tile-content{border:none}:host-context(.sky-theme-modern) .sky-tile-header-title{padding:0;margin:0 30px 0 0}:host-context(.sky-theme-modern) .sky-tile-header-column-tools{align-items:flex-start}:host-context(.sky-theme-modern) .sky-tile-tools{padding:0}:host-context(.sky-theme-modern) .sky-tile-tools-control{font-size:18px;color:#686c73}:host-context(.sky-theme-modern) .sky-tile-grab-handle{font-size:16px}:host-context(.sky-theme-modern) :host .sky-tile{border-radius:0}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-xs) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:0}@media (min-width: 768px){:host-context(.sky-theme-modern) :host .sky-tile{border-radius:6px}}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:6px}.sky-theme-modern .sky-tile-header,.sky-theme-modern .sky-tile-content{border:none}.sky-theme-modern .sky-tile-header-title{padding:0;margin:0 30px 0 0}.sky-theme-modern .sky-tile-header-column-tools{align-items:flex-start}.sky-theme-modern .sky-tile-tools{padding:0}.sky-theme-modern .sky-tile-tools-control{font-size:18px;color:#686c73}.sky-theme-modern .sky-tile-grab-handle{font-size:16px}.sky-theme-modern :host .sky-tile{border-radius:0}.sky-theme-modern :host-context(.sky-responsive-container-xs) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:0}@media (min-width: 768px){.sky-theme-modern :host .sky-tile{border-radius:6px}}.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:6px}:host-context(.sky-theme-modern .sky-tile-dashboard-gt-xs) :host-context(.sky-tile-dashboard-layout-single) .sky-tile,:host-context(.sky-theme-modern .sky-tile-dashboard-gt-xs) :host-context(.sky-tile-dashboard-layout-multi) .sky-tile{margin-bottom:30px}\n"] }]
835
+ ], template: "<section\n class=\"sky-tile\"\n [ngClass]=\"{\n 'sky-tile-collapsed': isCollapsed\n }\"\n [skyThemeClass]=\"{\n 'sky-box sky-elevation-1-bordered sky-padding-even-xl': 'modern'\n }\"\n>\n <header class=\"sky-tile-header\">\n <div class=\"sky-tile-header-content\" (click)=\"titleClick($event)\">\n <div class=\"sky-tile-header-title\" #titleContainer>\n <ng-content select=\"sky-tile-title\" />\n @if (tileName && (helpKey || helpPopoverContent)) {\n <sky-help-inline\n [helpKey]=\"helpKey\"\n [labelText]=\"tileName\"\n [popoverContent]=\"helpPopoverContent\"\n [popoverTitle]=\"helpPopoverTitle\"\n />\n }\n </div>\n <div class=\"sky-tile-summary sky-font-display-3\">\n <ng-content select=\"sky-tile-summary\" />\n </div>\n </div>\n <div class=\"sky-tile-header-column-tools\">\n <div class=\"sky-tile-tools\">\n <ng-container *skyThemeIf=\"'default'\">\n <button\n *ngIf=\"hasHelp\"\n class=\"sky-btn sky-tile-tools-control sky-tile-help\"\n type=\"button\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_help' | skyLibResources: tileName)\n : ('skyux_tile_help_default' | skyLibResources)\n \"\n [skyThemeClass]=\"{\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"helpButtonClicked()\"\n >\n <sky-icon icon=\"question-circle\" />\n </button>\n </ng-container>\n <sky-chevron\n [ariaControls]=\"tileContent.id\"\n [ariaLabel]=\"\n tileName\n ? ('skyux_tile_expand' | skyLibResources: tileName)\n : ('skyux_tile_expand_default' | skyLibResources)\n \"\n [direction]=\"isCollapsed ? 'down' : 'up'\"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-margin-inline-default': 'modern'\n }\"\n (directionChange)=\"chevronDirectionChange($event)\"\n >\n </sky-chevron>\n <button\n *ngIf=\"hasSettings\"\n class=\"sky-btn sky-tile-settings\"\n type=\"button\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_settings' | skyLibResources: tileName)\n : ('skyux_tile_settings_default' | skyLibResources)\n \"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-btn-icon-borderless sky-margin-inline-default': 'modern'\n }\"\n (click)=\"settingsButtonClicked()\"\n >\n <sky-icon icon=\"cog\" />\n </button>\n <button\n *ngIf=\"isInDashboardColumn\"\n class=\"sky-btn sky-tile-grab-handle\"\n type=\"button\"\n [attr.aria-label]=\"\n tileName\n ? ('skyux_tile_move' | skyLibResources: tileName)\n : ('skyux_tile_move_default' | skyLibResources)\n \"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [skyThemeClass]=\"{\n 'sky-tile-tools-control': 'default',\n 'sky-btn-icon-borderless': 'modern'\n }\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"moveTile($event)\"\n #grabHandle\n >\n <sky-icon icon=\"tile-drag\" />\n </button>\n </div>\n </div>\n </header>\n <div\n class=\"sky-tile-content\"\n role=\"region\"\n skyId\n [attr.aria-label]=\"tileName\"\n [attr.aria-labelledby]=\"!tileName && titleRef ? tileTitleId : undefined\"\n [@skyAnimationSlide]=\"isCollapsed ? 'up' : 'down'\"\n #tileContent=\"skyId\"\n >\n <ng-content select=\"sky-tile-content\" />\n </div>\n</section>\n", styles: [".sky-tile{background-color:#fff;margin-bottom:20px}:host-context(.sky-tile-dashboard-layout-single,.sky-tile-dashboard-layout-multi) .sky-tile{margin-bottom:0}:host-context(.sky-tile-dashboard-gt-xs) :host-context(.sky-tile-dashboard-layout-single) .sky-tile,:host-context(.sky-tile-dashboard-gt-xs) :host-context(.sky-tile-dashboard-layout-multi) .sky-tile{margin-bottom:20px}:host-context(.sky-tile-dashboard-gt-xs) :host-context(.sky-theme-default){padding-top:20px}.sky-tile-header{border-color:#cdcfd2;border-style:solid solid none;border-width:4px 0 0;display:flex}.sky-tile-header-content{display:flex;flex:1;align-items:baseline;cursor:pointer}.sky-tile-header-title{display:inline-flex;align-items:baseline;padding:10px 15px}.sky-tile-header-title>sky-help-inline{margin-left:var(--sky-margin-inline-xs)}.sky-tile-summary{color:#0974a1;display:none;padding-right:15px;max-height:30px;overflow:hidden}.sky-tile-collapsed .sky-tile-summary{display:block}.sky-tile-header-column-tools{display:flex;align-items:center;flex:0 0 auto}.sky-tile-tools{display:flex;padding-right:15px}.sky-tile-tools-control{color:#cdcfd2;cursor:pointer;border:0;width:24px;height:24px;padding:0;display:block;margin:0 0 0 9px}.sky-tile-tools-control:hover{color:#979ba2;transition:color .15s}.sky-tile-grab-handle{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;font-size:15px}.sky-tile-content{border-color:#e2e3e4;border-image:none;border-style:solid solid none;border-width:1px 0}:host-context(.sky-theme-modern) .sky-tile-header,:host-context(.sky-theme-modern) .sky-tile-content{border:none}:host-context(.sky-theme-modern) .sky-tile-header-title{padding:0;margin:0 30px 0 0}:host-context(.sky-theme-modern) .sky-tile-header-column-tools{align-items:flex-start}:host-context(.sky-theme-modern) .sky-tile-tools{padding:0}:host-context(.sky-theme-modern) .sky-tile-tools-control{font-size:18px;color:#686c73}:host-context(.sky-theme-modern) .sky-tile-grab-handle{font-size:16px}:host-context(.sky-theme-modern) :host .sky-tile{border-radius:0}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-xs) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:0}@media (min-width: 768px){:host-context(.sky-theme-modern) :host .sky-tile{border-radius:6px}}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md) .sky-tile,:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:6px}.sky-theme-modern .sky-tile-header,.sky-theme-modern .sky-tile-content{border:none}.sky-theme-modern .sky-tile-header-title{padding:0;margin:0 30px 0 0}.sky-theme-modern .sky-tile-header-column-tools{align-items:flex-start}.sky-theme-modern .sky-tile-tools{padding:0}.sky-theme-modern .sky-tile-tools-control{font-size:18px;color:#686c73}.sky-theme-modern .sky-tile-grab-handle{font-size:16px}.sky-theme-modern :host .sky-tile{border-radius:0}.sky-theme-modern :host-context(.sky-responsive-container-xs) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:0}@media (min-width: 768px){.sky-theme-modern :host .sky-tile{border-radius:6px}}.sky-theme-modern :host-context(.sky-responsive-container-sm) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-md) .sky-tile,.sky-theme-modern :host-context(.sky-responsive-container-lg) .sky-tile{border-radius:6px}:host-context(.sky-theme-modern .sky-tile-dashboard-gt-xs) :host-context(.sky-tile-dashboard-layout-single) .sky-tile,:host-context(.sky-theme-modern .sky-tile-dashboard-gt-xs) :host-context(.sky-tile-dashboard-layout-multi) .sky-tile{margin-bottom:30px}\n"] }]
836
836
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: SkyTileDashboardService, decorators: [{
837
837
  type: Optional
838
838
  }] }], propDecorators: { helpKey: [{