@fundamental-ngx/core 0.53.2-rc.9 → 0.53.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.
@@ -158,7 +158,7 @@ export class FacetComponent {
158
158
  addClassNameToFacetElement(this._renderer, element, className);
159
159
  }
160
160
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: FacetComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
161
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: FacetComponent, isStandalone: true, selector: "fd-facet", inputs: { type: "type", facetTitle: "facetTitle", subtitle: "subtitle", headingLevel: "headingLevel", id: "id", alignEnd: "alignEnd" }, host: { properties: { "class.fd-facet": "true", "attr.role": "this.role", "attr.aria-labelledby": "this.ariaLabelledby" } }, ngImport: i0, template: "@if (type === 'image') {\n <ng-template [ngTemplateOutlet]=\"customContentTemplate\"></ng-template>\n} @else {\n @if (facetTitle) {\n <div\n [attr.role]=\"!!_headingLevel ? 'heading' : null\"\n [attr.aria-level]=\"_headingLevel\"\n fd-title\n [headerSize]=\"5\"\n class=\"fd-margin-bottom--sm\"\n [id]=\"titleId\"\n >\n {{ facetTitle }}\n </div>\n }\n @if (type === 'form') {\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"></ng-template>\n }\n @if (type === 'key-value' || 'custom') {\n <ng-template [ngTemplateOutlet]=\"customContentTemplate\"></ng-template>\n }\n @if (type === 'rating-indicator') {\n <span fd-form-label>{{ subtitle }}</span>\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"></ng-template>\n }\n}\n<ng-template #contentTemplate>\n <ng-content select=\"fd-facet-content\"></ng-content>\n</ng-template>\n<ng-template #customContentTemplate>\n <ng-content></ng-content>\n</ng-template>\n", styles: [".fd-facet{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-facet:after,.fd-facet:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-facet-group{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.fd-facet-group:after,.fd-facet-group:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-facet--image{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.fd-facet--image-header-title{-ms-flex-item-align:end;align-self:flex-end}.fd-facet--form{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.fd-facet--key-value .fd-facet__object-status .fd-facet__object-status-text{font-family:var(--sapFontFamily)}.fd-facet--rating-indicator{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.fd-facet--rating-indicator,.fd-facet--rating-indicator .fd-facet__container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.fd-facet--rating-indicator .fd-facet__rating-container{-ms-flex-item-align:start;align-self:flex-start}.fd-facet--rating-indicator .fd-facet__rating-dynamic-text{-ms-flex-item-align:end;align-self:flex-end}.fd-facet__container{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.fd-facet__container:after,.fd-facet__container:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-facet__form-value{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapGroup_TitleTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-facet__form-value:after,.fd-facet__form-value:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-padding{padding-block:1rem;padding-inline:1rem}.fd-padding-begin-end--tiny{padding-inline:.5rem}.fd-padding-begin-end--sm{padding-inline:1rem}.fd-padding-begin-end--md{padding-inline:2rem}.fd-padding-begin-end--lg{padding-inline:3rem}.fd-padding--none{padding-block:0;padding-inline:0}.fd-padding-responsive--sm{padding-block:0;padding-inline:1rem}.fd-padding-responsive--lg,.fd-padding-responsive--md{padding-block:0;padding-inline:2rem}.fd-padding-responsive--xl{padding-block:0;padding-inline:3rem}.fd-margin--tiny{margin-block:.5rem;margin-inline:.5rem}.fd-margin--sm{margin-block:1rem;margin-inline:1rem}.fd-margin--md{margin-block:2rem;margin-inline:2rem}.fd-margin--lg{margin-block:3rem;margin-inline:3rem}.fd-margin--none{margin-block:0;margin-inline:0}.fd-margin-top--tiny{-webkit-margin-before:.5rem;margin-block-start:.5rem}.fd-margin-top--sm{-webkit-margin-before:1rem;margin-block-start:1rem}.fd-margin-top--md{-webkit-margin-before:2rem;margin-block-start:2rem}.fd-margin-top--lg{-webkit-margin-before:3rem;margin-block-start:3rem}.fd-margin-top--none{-webkit-margin-before:0;margin-block-start:0}.fd-margin-end--tiny{-webkit-margin-end:.5rem;margin-inline-end:.5rem}.fd-margin-end--sm{-webkit-margin-end:1rem;margin-inline-end:1rem}.fd-margin-end--md{-webkit-margin-end:2rem;margin-inline-end:2rem}.fd-margin-end--lg{-webkit-margin-end:3rem;margin-inline-end:3rem}.fd-margin-end--none{-webkit-margin-end:0;margin-inline-end:0}.fd-margin-bottom--tiny{-webkit-margin-after:.5rem;margin-block-end:.5rem}.fd-margin-bottom--sm{-webkit-margin-after:1rem;margin-block-end:1rem}.fd-margin-bottom--md{-webkit-margin-after:2rem;margin-block-end:2rem}.fd-margin-bottom--lg{-webkit-margin-after:3rem;margin-block-end:3rem}.fd-margin-bottom--none{-webkit-margin-after:0;margin-block-end:0}.fd-margin-begin--tiny{-webkit-margin-start:.5rem;margin-inline-start:.5rem}.fd-margin-begin--sm{-webkit-margin-start:1rem;margin-inline-start:1rem}.fd-margin-begin--md{-webkit-margin-start:2rem;margin-inline-start:2rem}.fd-margin-begin--lg{-webkit-margin-start:3rem;margin-inline-start:3rem}.fd-margin-begin--none{-webkit-margin-start:0;margin-inline-start:0}.fd-margin-top-bottom--tiny{margin-block:.5rem}.fd-margin-top-bottom--sm{margin-block:1rem}.fd-margin-top-bottom--md{margin-block:2rem}.fd-margin-top-bottom--lg{margin-block:3rem}.fd-margin-begin-end--tiny{margin-inline:.5rem}.fd-margin-begin-end--sm{margin-inline:1rem}.fd-margin-begin-end--md{margin-inline:2rem}.fd-margin-begin-end--lg{margin-inline:3rem}.fd-margin-responsive--sm{margin-block:0 1rem;margin-inline:0}.fd-margin-responsive--md{margin-block:1rem;margin-inline:1rem}.fd-margin-responsive--lg{margin-block:1rem;margin-inline:2rem}.fd-margin-responsive--xl{margin-block:1rem;margin-inline:3rem}.fd-margin-negative-begin-end--tiny{margin-block:0;margin-inline:-.5rem}.fd-margin-negative-begin-end--sm{margin-block:0;margin-inline:-1rem}.fd-margin-negative-begin-end--md{margin-block:0;margin-inline:-2rem}.fd-margin-negative-begin-end--lg{margin-block:0;margin-inline:-3rem}\n/*!\n * Fundamental Library Styles v0.38.0\n * Copyright (c) 2024 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "alignLabelEnd", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "inlineHelpLabel", "id"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
161
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: FacetComponent, isStandalone: true, selector: "fd-facet", inputs: { type: "type", facetTitle: "facetTitle", subtitle: "subtitle", headingLevel: "headingLevel", id: "id", alignEnd: "alignEnd" }, host: { properties: { "class.fd-facet": "true", "attr.role": "this.role", "attr.aria-labelledby": "this.ariaLabelledby" } }, ngImport: i0, template: "@if (type === 'image') {\n <ng-template [ngTemplateOutlet]=\"customContentTemplate\"></ng-template>\n} @else {\n @if (facetTitle) {\n <div\n [attr.role]=\"!!_headingLevel ? 'heading' : null\"\n [attr.aria-level]=\"_headingLevel\"\n fd-title\n [headerSize]=\"5\"\n class=\"fd-margin-bottom--sm\"\n [id]=\"titleId\"\n >\n {{ facetTitle }}\n </div>\n }\n @if (type === 'form') {\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"></ng-template>\n }\n @if (type === 'key-value' || 'custom') {\n <ng-template [ngTemplateOutlet]=\"customContentTemplate\"></ng-template>\n }\n @if (type === 'rating-indicator') {\n <span fd-form-label>{{ subtitle }}</span>\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"></ng-template>\n }\n}\n<ng-template #contentTemplate>\n <ng-content select=\"fd-facet-content\"></ng-content>\n</ng-template>\n<ng-template #customContentTemplate>\n <ng-content></ng-content>\n</ng-template>\n", styles: [".fd-facet{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-facet:after,.fd-facet:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-facet-group{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.fd-facet-group:after,.fd-facet-group:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-facet--image{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.fd-facet--image-header-title{-ms-flex-item-align:end;align-self:flex-end}.fd-facet--form{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.fd-facet--key-value .fd-facet__object-status .fd-facet__object-status-text{font-family:var(--sapFontFamily)}.fd-facet--rating-indicator{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.fd-facet--rating-indicator,.fd-facet--rating-indicator .fd-facet__container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.fd-facet--rating-indicator .fd-facet__rating-container{-ms-flex-item-align:start;align-self:flex-start}.fd-facet--rating-indicator .fd-facet__rating-dynamic-text{-ms-flex-item-align:end;align-self:flex-end}.fd-facet__container{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.fd-facet__container:after,.fd-facet__container:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-facet__form-value{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapGroup_TitleTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-facet__form-value:after,.fd-facet__form-value:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-padding{padding-block:1rem;padding-inline:1rem}.fd-padding-begin-end--tiny{padding-inline:.5rem}.fd-padding-begin-end--sm{padding-inline:1rem}.fd-padding-begin-end--md{padding-inline:2rem}.fd-padding-begin-end--lg{padding-inline:3rem}.fd-padding--none{padding-block:0;padding-inline:0}.fd-padding-responsive--sm{padding-block:0;padding-inline:1rem}.fd-padding-responsive--lg,.fd-padding-responsive--md{padding-block:0;padding-inline:2rem}.fd-padding-responsive--xl{padding-block:0;padding-inline:3rem}.fd-margin--tiny{margin-block:.5rem;margin-inline:.5rem}.fd-margin--sm{margin-block:1rem;margin-inline:1rem}.fd-margin--md{margin-block:2rem;margin-inline:2rem}.fd-margin--lg{margin-block:3rem;margin-inline:3rem}.fd-margin--none{margin-block:0;margin-inline:0}.fd-margin-top--tiny{-webkit-margin-before:.5rem;margin-block-start:.5rem}.fd-margin-top--sm{-webkit-margin-before:1rem;margin-block-start:1rem}.fd-margin-top--md{-webkit-margin-before:2rem;margin-block-start:2rem}.fd-margin-top--lg{-webkit-margin-before:3rem;margin-block-start:3rem}.fd-margin-top--none{-webkit-margin-before:0;margin-block-start:0}.fd-margin-end--tiny{-webkit-margin-end:.5rem;margin-inline-end:.5rem}.fd-margin-end--sm{-webkit-margin-end:1rem;margin-inline-end:1rem}.fd-margin-end--md{-webkit-margin-end:2rem;margin-inline-end:2rem}.fd-margin-end--lg{-webkit-margin-end:3rem;margin-inline-end:3rem}.fd-margin-end--none{-webkit-margin-end:0;margin-inline-end:0}.fd-margin-bottom--tiny{-webkit-margin-after:.5rem;margin-block-end:.5rem}.fd-margin-bottom--sm{-webkit-margin-after:1rem;margin-block-end:1rem}.fd-margin-bottom--md{-webkit-margin-after:2rem;margin-block-end:2rem}.fd-margin-bottom--lg{-webkit-margin-after:3rem;margin-block-end:3rem}.fd-margin-bottom--none{-webkit-margin-after:0;margin-block-end:0}.fd-margin-begin--tiny{-webkit-margin-start:.5rem;margin-inline-start:.5rem}.fd-margin-begin--sm{-webkit-margin-start:1rem;margin-inline-start:1rem}.fd-margin-begin--md{-webkit-margin-start:2rem;margin-inline-start:2rem}.fd-margin-begin--lg{-webkit-margin-start:3rem;margin-inline-start:3rem}.fd-margin-begin--none{-webkit-margin-start:0;margin-inline-start:0}.fd-margin-top-bottom--tiny{margin-block:.5rem}.fd-margin-top-bottom--sm{margin-block:1rem}.fd-margin-top-bottom--md{margin-block:2rem}.fd-margin-top-bottom--lg{margin-block:3rem}.fd-margin-begin-end--tiny{margin-inline:.5rem}.fd-margin-begin-end--sm{margin-inline:1rem}.fd-margin-begin-end--md{margin-inline:2rem}.fd-margin-begin-end--lg{margin-inline:3rem}.fd-margin-responsive--sm{margin-block:0 1rem;margin-inline:0}.fd-margin-responsive--md{margin-block:1rem;margin-inline:1rem}.fd-margin-responsive--lg{margin-block:1rem;margin-inline:2rem}.fd-margin-responsive--xl{margin-block:1rem;margin-inline:3rem}.fd-margin-negative-begin-end--tiny{margin-block:0;margin-inline:-.5rem}.fd-margin-negative-begin-end--sm{margin-block:0;margin-inline:-1rem}.fd-margin-negative-begin-end--md{margin-block:0;margin-inline:-2rem}.fd-margin-negative-begin-end--lg{margin-block:0;margin-inline:-3rem}\n/*!\n * Fundamental Library Styles v0.38.0\n * Copyright (c) 2024 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "alignLabelEnd", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "allowWrap", "inlineHelpLabel", "id"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
162
162
  }
163
163
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: FacetComponent, decorators: [{
164
164
  type: Component,
@@ -36,6 +36,8 @@ export class FormLabelComponent {
36
36
  ];
37
37
  /** If inline help trigger icon should be placed after, or before text. */
38
38
  this.inlineHelpPlacement = 'after';
39
+ /** Whether to allow the text of the form label to wrap. */
40
+ this.allowWrap = false;
39
41
  /** @hidden */
40
42
  this.defaultClass = true;
41
43
  /** @hidden */
@@ -69,11 +71,11 @@ export class FormLabelComponent {
69
71
  this.inlineHelpAfter = !!this.inlineHelpContent && this.inlineHelpPlacement === 'after';
70
72
  }
71
73
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: FormLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
72
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: FormLabelComponent, isStandalone: true, selector: "[fd-form-label]", inputs: { required: "required", colon: "colon", alignLabelEnd: "alignLabelEnd", inlineHelpContent: "inlineHelpContent", inlineHelpGlyph: "inlineHelpGlyph", inlineHelpTriggers: "inlineHelpTriggers", inlineHelpBodyPlacement: "inlineHelpBodyPlacement", inlineHelpPlacement: "inlineHelpPlacement", inlineHelpLabel: "inlineHelpLabel", formLabelId: ["id", "formLabelId"] }, host: { properties: { "class.fd-form-label__wrapper--align-end": "this.alignLabelEnd", "class.fd-form-label__wrapper": "this.defaultClass", "class.fd-form-label__wrapper--inline-help": "this.inlineHelpClass", "class.fd-form-label__wrapper--inline-help--after": "this.inlineHelpAfter", "id": "this.formLabelId" } }, usesOnChanges: true, ngImport: i0, template: "<ng-template #inlineHelpRef>\n <span fd-link [undecorated]=\"true\" class=\"fd-form-label__inline-help\">\n @if (inlineHelpContent) {\n <fd-icon\n class=\"fd-form-label__help\"\n [class.fd-form-label__help--after]=\"inlineHelpPlacement === 'after'\"\n [glyph]=\"inlineHelpGlyph\"\n [triggers]=\"inlineHelpTriggers\"\n [fd-inline-help]=\"inlineHelpContent\"\n [ariaLabel]=\"inlineHelpLabel\"\n [placement]=\"inlineHelpBodyPlacement\"\n tabindex=\"0\"\n ></fd-icon>\n }\n </span>\n</ng-template>\n@if (inlineHelpPlacement === 'before' && inlineHelpContent) {\n <ng-template [ngTemplateOutlet]=\"inlineHelpRef\"></ng-template>\n}\n<span class=\"fd-form-label\" [class.fd-form-label--required]=\"required\" [class.fd-form-label--colon]=\"colon\">\n <ng-content></ng-content>\n</span>\n@if (inlineHelpPlacement === 'after' && inlineHelpContent) {\n <ng-template [ngTemplateOutlet]=\"inlineHelpRef\"></ng-template>\n}\n", styles: [".fd-form-label{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;max-width:100%;overflow:hidden;padding-block:0;padding-inline:0;position:relative;text-overflow:ellipsis;white-space:nowrap;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;-webkit-margin-end:.5rem;cursor:text;margin-inline-end:.5rem;-ms-flex-item-align:start;align-self:flex-start}.fd-form-label:after,.fd-form-label:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-form-label.is-disabled{opacity:.4}.fd-form-label--unit-description{color:var(--sapField_TextColor);margin-block:0;margin-inline:0;padding-block:0;padding-inline:.25rem 0}.fd-form-label--required,.fd-form-label[aria-required=true]{-webkit-padding-end:.5rem;padding-inline-end:.5rem}.fd-form-label--required:after,.fd-form-label[aria-required=true]:after{color:var(--sapField_RequiredColor);content:\"*\";font-size:var(--sapFontLargeSize);font-weight:700;position:absolute;right:0;top:0}.fd-form-label--required[dir=rtl]:after,.fd-form-label[aria-required=true][dir=rtl]:after,[dir=rtl] .fd-form-label--required:after,[dir=rtl] .fd-form-label[aria-required=true]:after{left:0;right:auto}.fd-form-label--colon{-webkit-padding-end:.125rem;padding-inline-end:.125rem}.fd-form-label--colon:before{color:inherit;content:\":\";font-size:var(--sapFontSize);position:absolute;right:0;top:0}.fd-form-label--colon[dir=rtl]:before,[dir=rtl] .fd-form-label--colon:before{left:0;right:auto}.fd-form-label--colon.fd-form-label--required,.fd-form-label--colon[aria-required=true]{-webkit-padding-end:.75rem;padding-inline-end:.75rem}.fd-form-label--colon.fd-form-label--required:before,.fd-form-label--colon[aria-required=true]:before{right:.5rem}.fd-form-label--colon.fd-form-label--required[dir=rtl]:before,.fd-form-label--colon[aria-required=true][dir=rtl]:before,[dir=rtl] .fd-form-label--colon.fd-form-label--required:before,[dir=rtl] .fd-form-label--colon[aria-required=true]:before{left:.5rem;right:auto}.fd-form-label--inline-help{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.fd-form-label--stand-alone{-ms-flex-item-align:center;align-self:center;-webkit-margin-end:0;margin-inline-end:0}.fd-form-label{display:inline-block}.fd-form-label__inline-help{position:relative;top:.125rem}.fd-form-label__wrapper{position:relative;display:flex;padding-bottom:.125rem}.fd-form-label__wrapper--align-end{justify-content:flex-end}.fd-form-label__wrapper span.fd-form-label{margin-bottom:-.125rem}.fd-form-label__wrapper--inline-help{display:flex;padding-left:0rem}[dir=rtl] .fd-form-label__wrapper--inline-help,.fd-form-label__wrapper--inline-help[dir=rtl],.fd-form-label__wrapper--inline-help--after{padding-left:0;padding-right:0rem}[dir=rtl] .fd-form-label__wrapper--inline-help--after,.fd-form-label__wrapper--inline-help--after[dir=rtl]{padding-right:0;padding-left:0rem}.fd-form-label__help{position:relative;vertical-align:middle;left:0;right:auto}[dir=rtl] .fd-form-label__help,.fd-form-label__help[dir=rtl],.fd-form-label__help--after{right:0;left:auto}[dir=rtl] .fd-form-label__help--after,.fd-form-label__help--after[dir=rtl]{left:0;right:auto}\n/*!\n * Fundamental Library Styles v0.38.0\n * Copyright (c) 2024 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */\n"], dependencies: [{ kind: "component", type: LinkComponent, selector: "[fdLink], [fd-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle", "undecorated"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "ngmodule", type: InlineHelpModule }, { kind: "directive", type: i1.InlineHelpDirective, selector: "[fd-inline-help]:not([fd-inline-help-template]), [fd-inline-help-template]:not([fd-inline-help])", inputs: ["triggers", "noArrow", "closeOnEscapeKey", "closeOnOutsideClick", "fd-inline-help"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
74
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: FormLabelComponent, isStandalone: true, selector: "[fd-form-label]", inputs: { required: "required", colon: "colon", alignLabelEnd: "alignLabelEnd", inlineHelpContent: "inlineHelpContent", inlineHelpGlyph: "inlineHelpGlyph", inlineHelpTriggers: "inlineHelpTriggers", inlineHelpBodyPlacement: "inlineHelpBodyPlacement", inlineHelpPlacement: "inlineHelpPlacement", allowWrap: "allowWrap", inlineHelpLabel: "inlineHelpLabel", formLabelId: ["id", "formLabelId"] }, host: { properties: { "class.fd-form-label__wrapper--align-end": "this.alignLabelEnd", "class.fd-form-label__wrapper": "this.defaultClass", "class.fd-form-label__wrapper--inline-help": "this.inlineHelpClass", "class.fd-form-label__wrapper--inline-help--after": "this.inlineHelpAfter", "id": "this.formLabelId" } }, usesOnChanges: true, ngImport: i0, template: "<ng-template #inlineHelpRef>\n <span fd-link [undecorated]=\"true\" class=\"fd-form-label__inline-help\">\n @if (inlineHelpContent) {\n <fd-icon\n class=\"fd-form-label__help\"\n [class.fd-form-label__help--after]=\"inlineHelpPlacement === 'after'\"\n [glyph]=\"inlineHelpGlyph\"\n [triggers]=\"inlineHelpTriggers\"\n [fd-inline-help]=\"inlineHelpContent\"\n [ariaLabel]=\"inlineHelpLabel\"\n [placement]=\"inlineHelpBodyPlacement\"\n tabindex=\"0\"\n ></fd-icon>\n }\n </span>\n</ng-template>\n@if (inlineHelpPlacement === 'before' && inlineHelpContent) {\n <ng-template [ngTemplateOutlet]=\"inlineHelpRef\"></ng-template>\n}\n<span\n class=\"fd-form-label\"\n [class.fd-form-label--allow-wrap]=\"allowWrap\"\n [class.fd-form-label--required]=\"required\"\n [class.fd-form-label--colon]=\"colon\"\n>\n <ng-content></ng-content>\n</span>\n@if (inlineHelpPlacement === 'after' && inlineHelpContent) {\n <ng-template [ngTemplateOutlet]=\"inlineHelpRef\"></ng-template>\n}\n", styles: [".fd-form-label{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;max-width:100%;overflow:hidden;padding-block:0;padding-inline:0;position:relative;text-overflow:ellipsis;white-space:nowrap;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;-webkit-margin-end:.5rem;cursor:text;margin-inline-end:.5rem;-ms-flex-item-align:start;align-self:flex-start}.fd-form-label:after,.fd-form-label:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-form-label.is-disabled{opacity:.4}.fd-form-label--unit-description{color:var(--sapField_TextColor);margin-block:0;margin-inline:0;padding-block:0;padding-inline:.25rem 0}.fd-form-label--required,.fd-form-label[aria-required=true]{-webkit-padding-end:.5rem;padding-inline-end:.5rem}.fd-form-label--required:after,.fd-form-label[aria-required=true]:after{color:var(--sapField_RequiredColor);content:\"*\";font-size:var(--sapFontLargeSize);font-weight:700;position:absolute;right:0;top:0}.fd-form-label--required[dir=rtl]:after,.fd-form-label[aria-required=true][dir=rtl]:after,[dir=rtl] .fd-form-label--required:after,[dir=rtl] .fd-form-label[aria-required=true]:after{left:0;right:auto}.fd-form-label--colon{-webkit-padding-end:.125rem;padding-inline-end:.125rem}.fd-form-label--colon:before{color:inherit;content:\":\";font-size:var(--sapFontSize);position:absolute;right:0;top:0}.fd-form-label--colon[dir=rtl]:before,[dir=rtl] .fd-form-label--colon:before{left:0;right:auto}.fd-form-label--colon.fd-form-label--required,.fd-form-label--colon[aria-required=true]{-webkit-padding-end:.75rem;padding-inline-end:.75rem}.fd-form-label--colon.fd-form-label--required:before,.fd-form-label--colon[aria-required=true]:before{right:.5rem}.fd-form-label--colon.fd-form-label--required[dir=rtl]:before,.fd-form-label--colon[aria-required=true][dir=rtl]:before,[dir=rtl] .fd-form-label--colon.fd-form-label--required:before,[dir=rtl] .fd-form-label--colon[aria-required=true]:before{left:.5rem;right:auto}.fd-form-label--inline-help{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.fd-form-label--stand-alone{-ms-flex-item-align:center;align-self:center;-webkit-margin-end:0;margin-inline-end:0}.fd-form-label{display:inline-block}.fd-form-label__inline-help{position:relative;top:.125rem}.fd-form-label--allow-wrap{text-wrap:auto}.fd-form-label__wrapper{position:relative;display:flex;padding-bottom:.125rem}.fd-form-label__wrapper--align-end{justify-content:flex-end}.fd-form-label__wrapper span.fd-form-label{margin-bottom:-.125rem}.fd-form-label__wrapper--inline-help{display:flex;padding-left:0rem}[dir=rtl] .fd-form-label__wrapper--inline-help,.fd-form-label__wrapper--inline-help[dir=rtl],.fd-form-label__wrapper--inline-help--after{padding-left:0;padding-right:0rem}[dir=rtl] .fd-form-label__wrapper--inline-help--after,.fd-form-label__wrapper--inline-help--after[dir=rtl]{padding-right:0;padding-left:0rem}.fd-form-label__help{position:relative;vertical-align:middle;left:0;right:auto}[dir=rtl] .fd-form-label__help,.fd-form-label__help[dir=rtl],.fd-form-label__help--after{right:0;left:auto}[dir=rtl] .fd-form-label__help--after,.fd-form-label__help--after[dir=rtl]{left:0;right:auto}\n/*!\n * Fundamental Library Styles v0.38.0\n * Copyright (c) 2024 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */\n"], dependencies: [{ kind: "component", type: LinkComponent, selector: "[fdLink], [fd-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle", "undecorated"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "ngmodule", type: InlineHelpModule }, { kind: "directive", type: i1.InlineHelpDirective, selector: "[fd-inline-help]:not([fd-inline-help-template]), [fd-inline-help-template]:not([fd-inline-help])", inputs: ["triggers", "noArrow", "closeOnEscapeKey", "closeOnOutsideClick", "fd-inline-help"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
73
75
  }
74
76
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: FormLabelComponent, decorators: [{
75
77
  type: Component,
76
- args: [{ selector: '[fd-form-label]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [LinkComponent, IconComponent, InlineHelpModule, NgTemplateOutlet], template: "<ng-template #inlineHelpRef>\n <span fd-link [undecorated]=\"true\" class=\"fd-form-label__inline-help\">\n @if (inlineHelpContent) {\n <fd-icon\n class=\"fd-form-label__help\"\n [class.fd-form-label__help--after]=\"inlineHelpPlacement === 'after'\"\n [glyph]=\"inlineHelpGlyph\"\n [triggers]=\"inlineHelpTriggers\"\n [fd-inline-help]=\"inlineHelpContent\"\n [ariaLabel]=\"inlineHelpLabel\"\n [placement]=\"inlineHelpBodyPlacement\"\n tabindex=\"0\"\n ></fd-icon>\n }\n </span>\n</ng-template>\n@if (inlineHelpPlacement === 'before' && inlineHelpContent) {\n <ng-template [ngTemplateOutlet]=\"inlineHelpRef\"></ng-template>\n}\n<span class=\"fd-form-label\" [class.fd-form-label--required]=\"required\" [class.fd-form-label--colon]=\"colon\">\n <ng-content></ng-content>\n</span>\n@if (inlineHelpPlacement === 'after' && inlineHelpContent) {\n <ng-template [ngTemplateOutlet]=\"inlineHelpRef\"></ng-template>\n}\n", styles: [".fd-form-label{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;max-width:100%;overflow:hidden;padding-block:0;padding-inline:0;position:relative;text-overflow:ellipsis;white-space:nowrap;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;-webkit-margin-end:.5rem;cursor:text;margin-inline-end:.5rem;-ms-flex-item-align:start;align-self:flex-start}.fd-form-label:after,.fd-form-label:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-form-label.is-disabled{opacity:.4}.fd-form-label--unit-description{color:var(--sapField_TextColor);margin-block:0;margin-inline:0;padding-block:0;padding-inline:.25rem 0}.fd-form-label--required,.fd-form-label[aria-required=true]{-webkit-padding-end:.5rem;padding-inline-end:.5rem}.fd-form-label--required:after,.fd-form-label[aria-required=true]:after{color:var(--sapField_RequiredColor);content:\"*\";font-size:var(--sapFontLargeSize);font-weight:700;position:absolute;right:0;top:0}.fd-form-label--required[dir=rtl]:after,.fd-form-label[aria-required=true][dir=rtl]:after,[dir=rtl] .fd-form-label--required:after,[dir=rtl] .fd-form-label[aria-required=true]:after{left:0;right:auto}.fd-form-label--colon{-webkit-padding-end:.125rem;padding-inline-end:.125rem}.fd-form-label--colon:before{color:inherit;content:\":\";font-size:var(--sapFontSize);position:absolute;right:0;top:0}.fd-form-label--colon[dir=rtl]:before,[dir=rtl] .fd-form-label--colon:before{left:0;right:auto}.fd-form-label--colon.fd-form-label--required,.fd-form-label--colon[aria-required=true]{-webkit-padding-end:.75rem;padding-inline-end:.75rem}.fd-form-label--colon.fd-form-label--required:before,.fd-form-label--colon[aria-required=true]:before{right:.5rem}.fd-form-label--colon.fd-form-label--required[dir=rtl]:before,.fd-form-label--colon[aria-required=true][dir=rtl]:before,[dir=rtl] .fd-form-label--colon.fd-form-label--required:before,[dir=rtl] .fd-form-label--colon[aria-required=true]:before{left:.5rem;right:auto}.fd-form-label--inline-help{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.fd-form-label--stand-alone{-ms-flex-item-align:center;align-self:center;-webkit-margin-end:0;margin-inline-end:0}.fd-form-label{display:inline-block}.fd-form-label__inline-help{position:relative;top:.125rem}.fd-form-label__wrapper{position:relative;display:flex;padding-bottom:.125rem}.fd-form-label__wrapper--align-end{justify-content:flex-end}.fd-form-label__wrapper span.fd-form-label{margin-bottom:-.125rem}.fd-form-label__wrapper--inline-help{display:flex;padding-left:0rem}[dir=rtl] .fd-form-label__wrapper--inline-help,.fd-form-label__wrapper--inline-help[dir=rtl],.fd-form-label__wrapper--inline-help--after{padding-left:0;padding-right:0rem}[dir=rtl] .fd-form-label__wrapper--inline-help--after,.fd-form-label__wrapper--inline-help--after[dir=rtl]{padding-right:0;padding-left:0rem}.fd-form-label__help{position:relative;vertical-align:middle;left:0;right:auto}[dir=rtl] .fd-form-label__help,.fd-form-label__help[dir=rtl],.fd-form-label__help--after{right:0;left:auto}[dir=rtl] .fd-form-label__help--after,.fd-form-label__help--after[dir=rtl]{left:0;right:auto}\n/*!\n * Fundamental Library Styles v0.38.0\n * Copyright (c) 2024 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */\n"] }]
78
+ args: [{ selector: '[fd-form-label]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [LinkComponent, IconComponent, InlineHelpModule, NgTemplateOutlet], template: "<ng-template #inlineHelpRef>\n <span fd-link [undecorated]=\"true\" class=\"fd-form-label__inline-help\">\n @if (inlineHelpContent) {\n <fd-icon\n class=\"fd-form-label__help\"\n [class.fd-form-label__help--after]=\"inlineHelpPlacement === 'after'\"\n [glyph]=\"inlineHelpGlyph\"\n [triggers]=\"inlineHelpTriggers\"\n [fd-inline-help]=\"inlineHelpContent\"\n [ariaLabel]=\"inlineHelpLabel\"\n [placement]=\"inlineHelpBodyPlacement\"\n tabindex=\"0\"\n ></fd-icon>\n }\n </span>\n</ng-template>\n@if (inlineHelpPlacement === 'before' && inlineHelpContent) {\n <ng-template [ngTemplateOutlet]=\"inlineHelpRef\"></ng-template>\n}\n<span\n class=\"fd-form-label\"\n [class.fd-form-label--allow-wrap]=\"allowWrap\"\n [class.fd-form-label--required]=\"required\"\n [class.fd-form-label--colon]=\"colon\"\n>\n <ng-content></ng-content>\n</span>\n@if (inlineHelpPlacement === 'after' && inlineHelpContent) {\n <ng-template [ngTemplateOutlet]=\"inlineHelpRef\"></ng-template>\n}\n", styles: [".fd-form-label{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;max-width:100%;overflow:hidden;padding-block:0;padding-inline:0;position:relative;text-overflow:ellipsis;white-space:nowrap;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;-webkit-margin-end:.5rem;cursor:text;margin-inline-end:.5rem;-ms-flex-item-align:start;align-self:flex-start}.fd-form-label:after,.fd-form-label:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-form-label.is-disabled{opacity:.4}.fd-form-label--unit-description{color:var(--sapField_TextColor);margin-block:0;margin-inline:0;padding-block:0;padding-inline:.25rem 0}.fd-form-label--required,.fd-form-label[aria-required=true]{-webkit-padding-end:.5rem;padding-inline-end:.5rem}.fd-form-label--required:after,.fd-form-label[aria-required=true]:after{color:var(--sapField_RequiredColor);content:\"*\";font-size:var(--sapFontLargeSize);font-weight:700;position:absolute;right:0;top:0}.fd-form-label--required[dir=rtl]:after,.fd-form-label[aria-required=true][dir=rtl]:after,[dir=rtl] .fd-form-label--required:after,[dir=rtl] .fd-form-label[aria-required=true]:after{left:0;right:auto}.fd-form-label--colon{-webkit-padding-end:.125rem;padding-inline-end:.125rem}.fd-form-label--colon:before{color:inherit;content:\":\";font-size:var(--sapFontSize);position:absolute;right:0;top:0}.fd-form-label--colon[dir=rtl]:before,[dir=rtl] .fd-form-label--colon:before{left:0;right:auto}.fd-form-label--colon.fd-form-label--required,.fd-form-label--colon[aria-required=true]{-webkit-padding-end:.75rem;padding-inline-end:.75rem}.fd-form-label--colon.fd-form-label--required:before,.fd-form-label--colon[aria-required=true]:before{right:.5rem}.fd-form-label--colon.fd-form-label--required[dir=rtl]:before,.fd-form-label--colon[aria-required=true][dir=rtl]:before,[dir=rtl] .fd-form-label--colon.fd-form-label--required:before,[dir=rtl] .fd-form-label--colon[aria-required=true]:before{left:.5rem;right:auto}.fd-form-label--inline-help{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.fd-form-label--stand-alone{-ms-flex-item-align:center;align-self:center;-webkit-margin-end:0;margin-inline-end:0}.fd-form-label{display:inline-block}.fd-form-label__inline-help{position:relative;top:.125rem}.fd-form-label--allow-wrap{text-wrap:auto}.fd-form-label__wrapper{position:relative;display:flex;padding-bottom:.125rem}.fd-form-label__wrapper--align-end{justify-content:flex-end}.fd-form-label__wrapper span.fd-form-label{margin-bottom:-.125rem}.fd-form-label__wrapper--inline-help{display:flex;padding-left:0rem}[dir=rtl] .fd-form-label__wrapper--inline-help,.fd-form-label__wrapper--inline-help[dir=rtl],.fd-form-label__wrapper--inline-help--after{padding-left:0;padding-right:0rem}[dir=rtl] .fd-form-label__wrapper--inline-help--after,.fd-form-label__wrapper--inline-help--after[dir=rtl]{padding-right:0;padding-left:0rem}.fd-form-label__help{position:relative;vertical-align:middle;left:0;right:auto}[dir=rtl] .fd-form-label__help,.fd-form-label__help[dir=rtl],.fd-form-label__help--after{right:0;left:auto}[dir=rtl] .fd-form-label__help--after,.fd-form-label__help--after[dir=rtl]{left:0;right:auto}\n/*!\n * Fundamental Library Styles v0.38.0\n * Copyright (c) 2024 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */\n"] }]
77
79
  }], propDecorators: { required: [{
78
80
  type: Input
79
81
  }], colon: [{
@@ -93,6 +95,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
93
95
  type: Input
94
96
  }], inlineHelpPlacement: [{
95
97
  type: Input
98
+ }], allowWrap: [{
99
+ type: Input
96
100
  }], inlineHelpLabel: [{
97
101
  type: Input
98
102
  }], defaultClass: [{
@@ -111,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
111
115
  type: HostBinding,
112
116
  args: ['id']
113
117
  }] } });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1sYWJlbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvZm9ybS9mb3JtLWxhYmVsL2Zvcm0tbGFiZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL2Zvcm0vZm9ybS1sYWJlbC9mb3JtLWxhYmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFdBQVcsRUFDWCxLQUFLLEVBR0wsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQUszRCxJQUFJLGdCQUFnQixHQUFHLENBQUMsQ0FBQztBQUV6Qjs7Ozs7OztHQU9HO0FBV0gsTUFBTSxPQUFPLGtCQUFrQjtJQVYvQjtRQVdJLGdDQUFnQztRQUVoQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLHdEQUF3RDtRQUV4RCxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBRWQsMEJBQTBCO1FBRzFCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBRXRCLHNFQUFzRTtRQUV0RSxzQkFBaUIsR0FBd0MsSUFBSSxDQUFDO1FBRTlELDRDQUE0QztRQUU1QyxvQkFBZSxHQUFHLGVBQWUsQ0FBQztRQUVsQywrQ0FBK0M7UUFFL0MsdUJBQWtCLEdBQStCO1lBQzdDLFlBQVk7WUFDWixZQUFZO1lBQ1osU0FBUztZQUNULFVBQVU7WUFDVixFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO1NBQzVELENBQUM7UUFXRiwwRUFBMEU7UUFFMUUsd0JBQW1CLEdBQTRCLE9BQU8sQ0FBQztRQWN2RCxjQUFjO1FBRWQsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFFcEIsY0FBYztRQUVkLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBRXZCLGNBQWM7UUFFZCxvQkFBZSxHQUFHLElBQUksQ0FBQztRQWF2QixjQUFjO1FBQ04saUJBQVksR0FBRyxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO0tBVWhFO0lBOUNHLHlCQUF5QjtJQUN6QixJQUNJLGVBQWUsQ0FBQyxLQUFhO1FBQzdCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUNELElBQUksZUFBZTtRQUNmLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDeEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDakMsQ0FBQztRQUNELE9BQU8sT0FBTyxJQUFJLENBQUMsaUJBQWlCLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNwRixDQUFDO0lBY0QsY0FBYztJQUNkLDJEQUEyRDtJQUMzRCxJQUVJLFdBQVcsQ0FBQyxLQUF1QjtRQUNuQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQ25ELENBQUM7SUFDRCxJQUFJLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQVFELGNBQWM7SUFDZCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBQ2hELElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEtBQUssT0FBTyxDQUFDO0lBQzVGLENBQUM7OEdBMUZRLGtCQUFrQjtrR0FBbEIsa0JBQWtCLDJ3QkN0Qy9CLDhqQ0F5QkEseXJIRFdjLGFBQWEsa0pBQUUsYUFBYSx5SUFBRSxnQkFBZ0IsZ1NBQUUsZ0JBQWdCOzsyRkFFakUsa0JBQWtCO2tCQVY5QixTQUFTOytCQUVJLGlCQUFpQixpQkFHWixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUM7OEJBSzNFLFFBQVE7c0JBRFAsS0FBSztnQkFLTixLQUFLO3NCQURKLEtBQUs7Z0JBTU4sYUFBYTtzQkFGWixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLHlDQUF5QztnQkFLdEQsaUJBQWlCO3NCQURoQixLQUFLO2dCQUtOLGVBQWU7c0JBRGQsS0FBSztnQkFLTixrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBZ0JOLHVCQUF1QjtzQkFEdEIsS0FBSztnQkFLTixtQkFBbUI7c0JBRGxCLEtBQUs7Z0JBS0YsZUFBZTtzQkFEbEIsS0FBSztnQkFhTixZQUFZO3NCQURYLFdBQVc7dUJBQUMsOEJBQThCO2dCQUszQyxlQUFlO3NCQURkLFdBQVc7dUJBQUMsMkNBQTJDO2dCQUt4RCxlQUFlO3NCQURkLFdBQVc7dUJBQUMsa0RBQWtEO2dCQU8zRCxXQUFXO3NCQUZkLEtBQUs7dUJBQUMsSUFBSTs7c0JBQ1YsV0FBVzt1QkFBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvaWNvbic7XG5pbXBvcnQgeyBJbmxpbmVIZWxwTW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2lubGluZS1oZWxwJztcbmltcG9ydCB7IExpbmtDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvbGluayc7XG5pbXBvcnQgeyBUcmlnZ2VyQ29uZmlnIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3BvcG92ZXInO1xuaW1wb3J0IHsgUGxhY2VtZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3NoYXJlZCc7XG5pbXBvcnQgeyBJbmxpbmVIZWxwRm9ybVBsYWNlbWVudCB9IGZyb20gJy4uL2lubGluZS1oZWxwLXBsYWNlbWVudC50eXBlJztcblxubGV0IGZvcm1MYWJlbElkQ291bnQgPSAwO1xuXG4vKipcbiAqIExhYmVsIHRvIGJlIGxpbmtlZCB0byBhIGZvcm0gY29udHJvbC5cbiAqXG4gKiBgYGBodG1sXG4gKiA8bGFiZWwgZmQtZm9ybS1sYWJlbCBmb3I9XCJpbnB1dC1pZFwiPkxhYmVsIFRleHQ8L2xhYmVsPlxuICogPGlucHV0IGZkLWZvcm0tY29udHJvbCB0eXBlPVwidGV4dFwiIGlkPVwiaW5wdXQtaWRcIiAvPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbZmQtZm9ybS1sYWJlbF0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWxhYmVsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vZm9ybS1sYWJlbC5jb21wb25lbnQuc2NzcycsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtMaW5rQ29tcG9uZW50LCBJY29uQ29tcG9uZW50LCBJbmxpbmVIZWxwTW9kdWxlLCBOZ1RlbXBsYXRlT3V0bGV0XVxufSlcbmV4cG9ydCBjbGFzcyBGb3JtTGFiZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIC8qKiBXaGV0aGVyIGZvcm0gaXMgcmVxdWlyZWQuICovXG4gICAgQElucHV0KClcbiAgICByZXF1aXJlZCA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgbGFiZWwgdGV4dCBzaG91bGQgYmUgYXBwZW5kZWQgd2l0aCBjb2xvbi4gKi9cbiAgICBASW5wdXQoKVxuICAgIGNvbG9uID0gZmFsc2U7XG5cbiAgICAvKiogQWxpZ24gbGFiZWwgb24gZW5kLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1mb3JtLWxhYmVsX193cmFwcGVyLS1hbGlnbi1lbmQnKVxuICAgIGFsaWduTGFiZWxFbmQgPSBmYWxzZTtcblxuICAgIC8qKiBJbmxpbmUgaGVscCBjb250ZW50LiBDb3VsZCBiZSBqdXN0IGEgc3RyaW5nIG9yIGNvbXBsZXggdGVtcGxhdGUgKi9cbiAgICBASW5wdXQoKVxuICAgIGlubGluZUhlbHBDb250ZW50OiBOdWxsYWJsZTxzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+PiA9IG51bGw7XG5cbiAgICAvKiogR2x5cGggb2YgaWNvbiB0cmlnZ2VyaW5nIGlubGluZSBoZWxwLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgaW5saW5lSGVscEdseXBoID0gJ3F1ZXN0aW9uLW1hcmsnO1xuXG4gICAgLyoqIFRyaWdnZXIgZXZlbnQgbmFtZXMgZm9yIHRoZSBpbmxpbmUgaGVscC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGlubGluZUhlbHBUcmlnZ2VyczogKHN0cmluZyB8IFRyaWdnZXJDb25maWcpW10gPSBbXG4gICAgICAgICdtb3VzZWVudGVyJyxcbiAgICAgICAgJ21vdXNlbGVhdmUnLFxuICAgICAgICAnZm9jdXNpbicsXG4gICAgICAgICdmb2N1c291dCcsXG4gICAgICAgIHsgdHJpZ2dlcjogJ2NsaWNrJywgb3BlbkFjdGlvbjogdHJ1ZSwgY2xvc2VBY3Rpb246IHRydWUgfVxuICAgIF07XG5cbiAgICAvKipcbiAgICAgKiBUaGUgcGxhY2VtZW50IG9mIHRoZSBpbmxpbmUgaGVscC5cbiAgICAgKiBJdCBjYW4gYmUgb25lIG9mOlxuICAgICAqIHRvcCwgdG9wLXN0YXJ0LCB0b3AtZW5kLCBib3R0b20sIGJvdHRvbS1zdGFydCwgYm90dG9tLWVuZCxcbiAgICAgKiByaWdodCwgcmlnaHQtc3RhcnQsIHJpZ2h0LWVuZCwgbGVmdCwgbGVmdC1zdGFydCwgbGVmdC1lbmQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBpbmxpbmVIZWxwQm9keVBsYWNlbWVudDogUGxhY2VtZW50O1xuXG4gICAgLyoqIElmIGlubGluZSBoZWxwIHRyaWdnZXIgaWNvbiBzaG91bGQgYmUgcGxhY2VkIGFmdGVyLCBvciBiZWZvcmUgdGV4dC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGlubGluZUhlbHBQbGFjZW1lbnQ6IElubGluZUhlbHBGb3JtUGxhY2VtZW50ID0gJ2FmdGVyJztcblxuICAgIC8qKiBJbmxpbmUgaGVscCBsYWJlbC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBpbmxpbmVIZWxwTGFiZWwobGFiZWw6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9pbmxpbmVIZWxwTGFiZWwgPSBsYWJlbDtcbiAgICB9XG4gICAgZ2V0IGlubGluZUhlbHBMYWJlbCgpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5faW5saW5lSGVscExhYmVsKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5faW5saW5lSGVscExhYmVsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0eXBlb2YgdGhpcy5pbmxpbmVIZWxwQ29udGVudCA9PT0gJ3N0cmluZycgPyB0aGlzLmlubGluZUhlbHBDb250ZW50IDogJyc7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLWZvcm0tbGFiZWxfX3dyYXBwZXInKVxuICAgIGRlZmF1bHRDbGFzcyA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtZm9ybS1sYWJlbF9fd3JhcHBlci0taW5saW5lLWhlbHAnKVxuICAgIGlubGluZUhlbHBDbGFzcyA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtZm9ybS1sYWJlbF9fd3JhcHBlci0taW5saW5lLWhlbHAtLWFmdGVyJylcbiAgICBpbmxpbmVIZWxwQWZ0ZXIgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICAgIEBJbnB1dCgnaWQnKVxuICAgIEBIb3N0QmluZGluZygnaWQnKVxuICAgIHNldCBmb3JtTGFiZWxJZCh2YWx1ZTogTnVsbGFibGU8c3RyaW5nPikge1xuICAgICAgICB0aGlzLl9mb3JtTGFiZWxJZCA9IHZhbHVlIHx8IHRoaXMuX2Zvcm1MYWJlbElkO1xuICAgIH1cbiAgICBnZXQgZm9ybUxhYmVsSWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1MYWJlbElkO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZm9ybUxhYmVsSWQgPSBgZmQtZm9ybS1sYWJlbC0keysrZm9ybUxhYmVsSWRDb3VudH1gO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pbmxpbmVIZWxwTGFiZWw/OiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlubGluZUhlbHBDbGFzcyA9ICEhdGhpcy5pbmxpbmVIZWxwQ29udGVudDtcbiAgICAgICAgdGhpcy5pbmxpbmVIZWxwQWZ0ZXIgPSAhIXRoaXMuaW5saW5lSGVscENvbnRlbnQgJiYgdGhpcy5pbmxpbmVIZWxwUGxhY2VtZW50ID09PSAnYWZ0ZXInO1xuICAgIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjaW5saW5lSGVscFJlZj5cbiAgICA8c3BhbiBmZC1saW5rIFt1bmRlY29yYXRlZF09XCJ0cnVlXCIgY2xhc3M9XCJmZC1mb3JtLWxhYmVsX19pbmxpbmUtaGVscFwiPlxuICAgICAgICBAaWYgKGlubGluZUhlbHBDb250ZW50KSB7XG4gICAgICAgICAgICA8ZmQtaWNvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtZm9ybS1sYWJlbF9faGVscFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmZkLWZvcm0tbGFiZWxfX2hlbHAtLWFmdGVyXT1cImlubGluZUhlbHBQbGFjZW1lbnQgPT09ICdhZnRlcidcIlxuICAgICAgICAgICAgICAgIFtnbHlwaF09XCJpbmxpbmVIZWxwR2x5cGhcIlxuICAgICAgICAgICAgICAgIFt0cmlnZ2Vyc109XCJpbmxpbmVIZWxwVHJpZ2dlcnNcIlxuICAgICAgICAgICAgICAgIFtmZC1pbmxpbmUtaGVscF09XCJpbmxpbmVIZWxwQ29udGVudFwiXG4gICAgICAgICAgICAgICAgW2FyaWFMYWJlbF09XCJpbmxpbmVIZWxwTGFiZWxcIlxuICAgICAgICAgICAgICAgIFtwbGFjZW1lbnRdPVwiaW5saW5lSGVscEJvZHlQbGFjZW1lbnRcIlxuICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICA+PC9mZC1pY29uPlxuICAgICAgICB9XG4gICAgPC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cbkBpZiAoaW5saW5lSGVscFBsYWNlbWVudCA9PT0gJ2JlZm9yZScgJiYgaW5saW5lSGVscENvbnRlbnQpIHtcbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaW5saW5lSGVscFJlZlwiPjwvbmctdGVtcGxhdGU+XG59XG48c3BhbiBjbGFzcz1cImZkLWZvcm0tbGFiZWxcIiBbY2xhc3MuZmQtZm9ybS1sYWJlbC0tcmVxdWlyZWRdPVwicmVxdWlyZWRcIiBbY2xhc3MuZmQtZm9ybS1sYWJlbC0tY29sb25dPVwiY29sb25cIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L3NwYW4+XG5AaWYgKGlubGluZUhlbHBQbGFjZW1lbnQgPT09ICdhZnRlcicgJiYgaW5saW5lSGVscENvbnRlbnQpIHtcbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaW5saW5lSGVscFJlZlwiPjwvbmctdGVtcGxhdGU+XG59XG4iXX0=
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1sYWJlbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvZm9ybS9mb3JtLWxhYmVsL2Zvcm0tbGFiZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL2Zvcm0vZm9ybS1sYWJlbC9mb3JtLWxhYmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFdBQVcsRUFDWCxLQUFLLEVBR0wsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQUszRCxJQUFJLGdCQUFnQixHQUFHLENBQUMsQ0FBQztBQUV6Qjs7Ozs7OztHQU9HO0FBV0gsTUFBTSxPQUFPLGtCQUFrQjtJQVYvQjtRQVdJLGdDQUFnQztRQUVoQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLHdEQUF3RDtRQUV4RCxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBRWQsMEJBQTBCO1FBRzFCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBRXRCLHNFQUFzRTtRQUV0RSxzQkFBaUIsR0FBd0MsSUFBSSxDQUFDO1FBRTlELDRDQUE0QztRQUU1QyxvQkFBZSxHQUFHLGVBQWUsQ0FBQztRQUVsQywrQ0FBK0M7UUFFL0MsdUJBQWtCLEdBQStCO1lBQzdDLFlBQVk7WUFDWixZQUFZO1lBQ1osU0FBUztZQUNULFVBQVU7WUFDVixFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO1NBQzVELENBQUM7UUFXRiwwRUFBMEU7UUFFMUUsd0JBQW1CLEdBQTRCLE9BQU8sQ0FBQztRQUV2RCwyREFBMkQ7UUFFM0QsY0FBUyxHQUFHLEtBQUssQ0FBQztRQWNsQixjQUFjO1FBRWQsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFFcEIsY0FBYztRQUVkLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBRXZCLGNBQWM7UUFFZCxvQkFBZSxHQUFHLElBQUksQ0FBQztRQWF2QixjQUFjO1FBQ04saUJBQVksR0FBRyxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO0tBVWhFO0lBOUNHLHlCQUF5QjtJQUN6QixJQUNJLGVBQWUsQ0FBQyxLQUFhO1FBQzdCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUNELElBQUksZUFBZTtRQUNmLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDeEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDakMsQ0FBQztRQUNELE9BQU8sT0FBTyxJQUFJLENBQUMsaUJBQWlCLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNwRixDQUFDO0lBY0QsY0FBYztJQUNkLDJEQUEyRDtJQUMzRCxJQUVJLFdBQVcsQ0FBQyxLQUF1QjtRQUNuQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQ25ELENBQUM7SUFDRCxJQUFJLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQVFELGNBQWM7SUFDZCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBQ2hELElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEtBQUssT0FBTyxDQUFDO0lBQzVGLENBQUM7OEdBOUZRLGtCQUFrQjtrR0FBbEIsa0JBQWtCLG15QkN0Qy9CLG9vQ0E4QkEsbXVIRE1jLGFBQWEsa0pBQUUsYUFBYSx5SUFBRSxnQkFBZ0IsZ1NBQUUsZ0JBQWdCOzsyRkFFakUsa0JBQWtCO2tCQVY5QixTQUFTOytCQUVJLGlCQUFpQixpQkFHWixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUM7OEJBSzNFLFFBQVE7c0JBRFAsS0FBSztnQkFLTixLQUFLO3NCQURKLEtBQUs7Z0JBTU4sYUFBYTtzQkFGWixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLHlDQUF5QztnQkFLdEQsaUJBQWlCO3NCQURoQixLQUFLO2dCQUtOLGVBQWU7c0JBRGQsS0FBSztnQkFLTixrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBZ0JOLHVCQUF1QjtzQkFEdEIsS0FBSztnQkFLTixtQkFBbUI7c0JBRGxCLEtBQUs7Z0JBS04sU0FBUztzQkFEUixLQUFLO2dCQUtGLGVBQWU7c0JBRGxCLEtBQUs7Z0JBYU4sWUFBWTtzQkFEWCxXQUFXO3VCQUFDLDhCQUE4QjtnQkFLM0MsZUFBZTtzQkFEZCxXQUFXO3VCQUFDLDJDQUEyQztnQkFLeEQsZUFBZTtzQkFEZCxXQUFXO3VCQUFDLGtEQUFrRDtnQkFPM0QsV0FBVztzQkFGZCxLQUFLO3VCQUFDLElBQUk7O3NCQUNWLFdBQVc7dUJBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2ljb24nO1xuaW1wb3J0IHsgSW5saW5lSGVscE1vZHVsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9pbmxpbmUtaGVscCc7XG5pbXBvcnQgeyBMaW5rQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2xpbmsnO1xuaW1wb3J0IHsgVHJpZ2dlckNvbmZpZyB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9wb3BvdmVyJztcbmltcG9ydCB7IFBsYWNlbWVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9zaGFyZWQnO1xuaW1wb3J0IHsgSW5saW5lSGVscEZvcm1QbGFjZW1lbnQgfSBmcm9tICcuLi9pbmxpbmUtaGVscC1wbGFjZW1lbnQudHlwZSc7XG5cbmxldCBmb3JtTGFiZWxJZENvdW50ID0gMDtcblxuLyoqXG4gKiBMYWJlbCB0byBiZSBsaW5rZWQgdG8gYSBmb3JtIGNvbnRyb2wuXG4gKlxuICogYGBgaHRtbFxuICogPGxhYmVsIGZkLWZvcm0tbGFiZWwgZm9yPVwiaW5wdXQtaWRcIj5MYWJlbCBUZXh0PC9sYWJlbD5cbiAqIDxpbnB1dCBmZC1mb3JtLWNvbnRyb2wgdHlwZT1cInRleHRcIiBpZD1cImlucHV0LWlkXCIgLz5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW2ZkLWZvcm0tbGFiZWxdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1sYWJlbC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2Zvcm0tbGFiZWwuY29tcG9uZW50LnNjc3MnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTGlua0NvbXBvbmVudCwgSWNvbkNvbXBvbmVudCwgSW5saW5lSGVscE1vZHVsZSwgTmdUZW1wbGF0ZU91dGxldF1cbn0pXG5leHBvcnQgY2xhc3MgRm9ybUxhYmVsQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICAvKiogV2hldGhlciBmb3JtIGlzIHJlcXVpcmVkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcmVxdWlyZWQgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIGxhYmVsIHRleHQgc2hvdWxkIGJlIGFwcGVuZGVkIHdpdGggY29sb24uICovXG4gICAgQElucHV0KClcbiAgICBjb2xvbiA9IGZhbHNlO1xuXG4gICAgLyoqIEFsaWduIGxhYmVsIG9uIGVuZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtZm9ybS1sYWJlbF9fd3JhcHBlci0tYWxpZ24tZW5kJylcbiAgICBhbGlnbkxhYmVsRW5kID0gZmFsc2U7XG5cbiAgICAvKiogSW5saW5lIGhlbHAgY29udGVudC4gQ291bGQgYmUganVzdCBhIHN0cmluZyBvciBjb21wbGV4IHRlbXBsYXRlICovXG4gICAgQElucHV0KClcbiAgICBpbmxpbmVIZWxwQ29udGVudDogTnVsbGFibGU8c3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55Pj4gPSBudWxsO1xuXG4gICAgLyoqIEdseXBoIG9mIGljb24gdHJpZ2dlcmluZyBpbmxpbmUgaGVscC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGlubGluZUhlbHBHbHlwaCA9ICdxdWVzdGlvbi1tYXJrJztcblxuICAgIC8qKiBUcmlnZ2VyIGV2ZW50IG5hbWVzIGZvciB0aGUgaW5saW5lIGhlbHAuICovXG4gICAgQElucHV0KClcbiAgICBpbmxpbmVIZWxwVHJpZ2dlcnM6IChzdHJpbmcgfCBUcmlnZ2VyQ29uZmlnKVtdID0gW1xuICAgICAgICAnbW91c2VlbnRlcicsXG4gICAgICAgICdtb3VzZWxlYXZlJyxcbiAgICAgICAgJ2ZvY3VzaW4nLFxuICAgICAgICAnZm9jdXNvdXQnLFxuICAgICAgICB7IHRyaWdnZXI6ICdjbGljaycsIG9wZW5BY3Rpb246IHRydWUsIGNsb3NlQWN0aW9uOiB0cnVlIH1cbiAgICBdO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHBsYWNlbWVudCBvZiB0aGUgaW5saW5lIGhlbHAuXG4gICAgICogSXQgY2FuIGJlIG9uZSBvZjpcbiAgICAgKiB0b3AsIHRvcC1zdGFydCwgdG9wLWVuZCwgYm90dG9tLCBib3R0b20tc3RhcnQsIGJvdHRvbS1lbmQsXG4gICAgICogcmlnaHQsIHJpZ2h0LXN0YXJ0LCByaWdodC1lbmQsIGxlZnQsIGxlZnQtc3RhcnQsIGxlZnQtZW5kLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgaW5saW5lSGVscEJvZHlQbGFjZW1lbnQ6IFBsYWNlbWVudDtcblxuICAgIC8qKiBJZiBpbmxpbmUgaGVscCB0cmlnZ2VyIGljb24gc2hvdWxkIGJlIHBsYWNlZCBhZnRlciwgb3IgYmVmb3JlIHRleHQuICovXG4gICAgQElucHV0KClcbiAgICBpbmxpbmVIZWxwUGxhY2VtZW50OiBJbmxpbmVIZWxwRm9ybVBsYWNlbWVudCA9ICdhZnRlcic7XG5cbiAgICAvKiogV2hldGhlciB0byBhbGxvdyB0aGUgdGV4dCBvZiB0aGUgZm9ybSBsYWJlbCB0byB3cmFwLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYWxsb3dXcmFwID0gZmFsc2U7XG5cbiAgICAvKiogSW5saW5lIGhlbHAgbGFiZWwuICovXG4gICAgQElucHV0KClcbiAgICBzZXQgaW5saW5lSGVscExhYmVsKGxhYmVsOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5faW5saW5lSGVscExhYmVsID0gbGFiZWw7XG4gICAgfVxuICAgIGdldCBpbmxpbmVIZWxwTGFiZWwoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuX2lubGluZUhlbHBMYWJlbCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2lubGluZUhlbHBMYWJlbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXMuaW5saW5lSGVscENvbnRlbnQgPT09ICdzdHJpbmcnID8gdGhpcy5pbmxpbmVIZWxwQ29udGVudCA6ICcnO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1mb3JtLWxhYmVsX193cmFwcGVyJylcbiAgICBkZWZhdWx0Q2xhc3MgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLWZvcm0tbGFiZWxfX3dyYXBwZXItLWlubGluZS1oZWxwJylcbiAgICBpbmxpbmVIZWxwQ2xhc3MgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLWZvcm0tbGFiZWxfX3dyYXBwZXItLWlubGluZS1oZWxwLS1hZnRlcicpXG4gICAgaW5saW5lSGVscEFmdGVyID0gdHJ1ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgICBASW5wdXQoJ2lkJylcbiAgICBASG9zdEJpbmRpbmcoJ2lkJylcbiAgICBzZXQgZm9ybUxhYmVsSWQodmFsdWU6IE51bGxhYmxlPHN0cmluZz4pIHtcbiAgICAgICAgdGhpcy5fZm9ybUxhYmVsSWQgPSB2YWx1ZSB8fCB0aGlzLl9mb3JtTGFiZWxJZDtcbiAgICB9XG4gICAgZ2V0IGZvcm1MYWJlbElkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9mb3JtTGFiZWxJZDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2Zvcm1MYWJlbElkID0gYGZkLWZvcm0tbGFiZWwtJHsrK2Zvcm1MYWJlbElkQ291bnR9YDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaW5saW5lSGVscExhYmVsPzogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbmxpbmVIZWxwQ2xhc3MgPSAhIXRoaXMuaW5saW5lSGVscENvbnRlbnQ7XG4gICAgICAgIHRoaXMuaW5saW5lSGVscEFmdGVyID0gISF0aGlzLmlubGluZUhlbHBDb250ZW50ICYmIHRoaXMuaW5saW5lSGVscFBsYWNlbWVudCA9PT0gJ2FmdGVyJztcbiAgICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI2lubGluZUhlbHBSZWY+XG4gICAgPHNwYW4gZmQtbGluayBbdW5kZWNvcmF0ZWRdPVwidHJ1ZVwiIGNsYXNzPVwiZmQtZm9ybS1sYWJlbF9faW5saW5lLWhlbHBcIj5cbiAgICAgICAgQGlmIChpbmxpbmVIZWxwQ29udGVudCkge1xuICAgICAgICAgICAgPGZkLWljb25cbiAgICAgICAgICAgICAgICBjbGFzcz1cImZkLWZvcm0tbGFiZWxfX2hlbHBcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5mZC1mb3JtLWxhYmVsX19oZWxwLS1hZnRlcl09XCJpbmxpbmVIZWxwUGxhY2VtZW50ID09PSAnYWZ0ZXInXCJcbiAgICAgICAgICAgICAgICBbZ2x5cGhdPVwiaW5saW5lSGVscEdseXBoXCJcbiAgICAgICAgICAgICAgICBbdHJpZ2dlcnNdPVwiaW5saW5lSGVscFRyaWdnZXJzXCJcbiAgICAgICAgICAgICAgICBbZmQtaW5saW5lLWhlbHBdPVwiaW5saW5lSGVscENvbnRlbnRcIlxuICAgICAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiaW5saW5lSGVscExhYmVsXCJcbiAgICAgICAgICAgICAgICBbcGxhY2VtZW50XT1cImlubGluZUhlbHBCb2R5UGxhY2VtZW50XCJcbiAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgPjwvZmQtaWNvbj5cbiAgICAgICAgfVxuICAgIDwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5AaWYgKGlubGluZUhlbHBQbGFjZW1lbnQgPT09ICdiZWZvcmUnICYmIGlubGluZUhlbHBDb250ZW50KSB7XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImlubGluZUhlbHBSZWZcIj48L25nLXRlbXBsYXRlPlxufVxuPHNwYW5cbiAgICBjbGFzcz1cImZkLWZvcm0tbGFiZWxcIlxuICAgIFtjbGFzcy5mZC1mb3JtLWxhYmVsLS1hbGxvdy13cmFwXT1cImFsbG93V3JhcFwiXG4gICAgW2NsYXNzLmZkLWZvcm0tbGFiZWwtLXJlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICBbY2xhc3MuZmQtZm9ybS1sYWJlbC0tY29sb25dPVwiY29sb25cIlxuPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvc3Bhbj5cbkBpZiAoaW5saW5lSGVscFBsYWNlbWVudCA9PT0gJ2FmdGVyJyAmJiBpbmxpbmVIZWxwQ29udGVudCkge1xuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJpbmxpbmVIZWxwUmVmXCI+PC9uZy10ZW1wbGF0ZT5cbn1cbiJdfQ==
@@ -120,6 +120,10 @@ export class GridListItemComponent {
120
120
  * and Navigate button was pressed
121
121
  */
122
122
  this.navigate = new EventEmitter();
123
+ /**
124
+ * Event is thrown on grid list item click.
125
+ */
126
+ this.cardClick = new EventEmitter();
123
127
  /**
124
128
  * Event is thrown, when state is error, not used GridListItemFooterBarComponent
125
129
  * and Draft button was pressed
@@ -230,6 +234,7 @@ export class GridListItemComponent {
230
234
  return;
231
235
  }
232
236
  if (this.type !== 'active' && this.type !== 'detailsAndActive' && this.type !== 'navigation') {
237
+ this.cardClick.emit(this._outputEventValue);
233
238
  return;
234
239
  }
235
240
  if (this.type === 'navigation') {
@@ -237,6 +242,7 @@ export class GridListItemComponent {
237
242
  return;
238
243
  }
239
244
  this.press.emit(this._outputEventValue);
245
+ this.cardClick.emit(this._outputEventValue);
240
246
  }
241
247
  /** @hidden */
242
248
  _onKeyDown(event) {
@@ -332,7 +338,7 @@ export class GridListItemComponent {
332
338
  }
333
339
  }
334
340
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GridListItemComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.GridList }, { token: i2.ContentDensityObserver }, { token: i3.TabbableElementService }], target: i0.ɵɵFactoryTarget.Component }); }
335
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: GridListItemComponent, isStandalone: true, selector: "fd-grid-list-item", inputs: { id: "id", width: "width", layoutItemPattern: "layoutItemPattern", status: "status", counter: "counter", value: "value", disableToolbarClick: "disableToolbarClick", selected: ["selected", "selected", booleanAttribute], noPadding: "noPadding", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", type: "type", state: "state", isNavigated: "isNavigated", title: "title", titleLevel: "titleLevel", description: "description", autoHeight: "autoHeight" }, outputs: { press: "press", detail: "detail", delete: "delete", navigate: "navigate", draft: "draft", locked: "locked" }, host: { properties: { "style.max-width": "this.width", "style.min-width": "this.width" } }, providers: [contentDensityObserverProviders()], queries: [{ propertyName: "footerBarComponent", first: true, predicate: GridListItemFooterBarComponent, descendants: true }, { propertyName: "itemToolbarComponent", first: true, predicate: GridListItemToolbarComponent, descendants: true }, { propertyName: "body", first: true, predicate: GridListItemBodyDirective, descendants: true }], viewQueries: [{ propertyName: "_gridListItem", first: true, predicate: ["gridListItem"], descendants: true }], ngImport: i0, template: "<div\n #gridListItem\n [id]=\"id\"\n [tabindex]=\"tabIndex()\"\n class=\"fd-grid-list__item\"\n role=\"option\"\n [class.is-navigated]=\"isNavigated\"\n [class.is-selected]=\"!!_selectedItem\"\n [class.fd-grid-list__item--link]=\"\n _isActive && (type === 'active' || type === 'detailsAndActive' || type === 'navigation')\n \"\n [class.fd-grid-list__item--unread]=\"state === 'unread'\"\n [class.fd-grid-list__item--locked]=\"state === 'locked'\"\n [class.fd-grid-list__item--draft]=\"state === 'draft'\"\n [class.fd-grid-list__item--error]=\"state === 'error'\"\n [class.fd-grid-list__item--height-auto]=\"autoHeight\"\n (keydown)=\"_onKeyDown($event)\"\n (click)=\"selectionMode === 'singleSelect' && _singleSelect($event); _onClick($event)\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n (mouseover)=\"_setActive($event, false)\"\n (mouseout)=\"_setActive($event, true)\"\n [attr.aria-selected]=\"selectionMode === 'none' ? null : !!_selectedItem\"\n>\n @if (status) {\n <span\n class=\"fd-grid-list__highlight\"\n [class.fd-grid-list__highlight--positive]=\"status === 'success'\"\n [class.fd-grid-list__highlight--critical]=\"status === 'warning'\"\n [class.fd-grid-list__highlight--negative]=\"status === 'error'\"\n [class.fd-grid-list__highlight--neutral]=\"status === 'neutral'\"\n [attr.aria-label]=\"'coreGridList.listItemStatusAriaLabel' | fdTranslate: { status: status }\"\n ></span>\n }\n @if (selectionMode === 'singleSelect') {\n <ng-template [ngTemplateOutlet]=\"radio\"></ng-template>\n }\n @if (\n counter ||\n itemToolbarComponent?.contentTemplateRef ||\n (type && type !== 'inactive' && type !== 'active') ||\n (selectionMode !== 'none' && selectionMode !== 'singleSelect')\n ) {\n <div class=\"fd-toolbar fd-grid-list__item-toolbar\">\n @if (selectionMode === 'singleSelectLeft') {\n <ng-template [ngTemplateOutlet]=\"radio\"></ng-template>\n }\n @if (selectionMode === 'multiSelect') {\n <ng-template [ngTemplateOutlet]=\"checkbox\"></ng-template>\n }\n @if (itemToolbarComponent?.contentTemplateRef) {\n <div class=\"fd-toolbar--extra-content\">\n <ng-template [ngTemplateOutlet]=\"itemToolbarComponent!.contentTemplateRef\"></ng-template>\n </div>\n }\n <fd-grid-list-title-bar-spacer></fd-grid-list-title-bar-spacer>\n @if (counter) {\n <span\n class=\"fd-grid-list__item-counter\"\n [attr.aria-label]=\"'coreGridList.listItemCounterAriaLabel' | fdTranslate: { count: counter }\"\n >{{ counter }}</span\n >\n }\n @if (type === 'detail' || type === 'detailsAndActive') {\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"edit\"\n class=\"fd-grid-list__action-button\"\n [attr.aria-label]=\"'coreGridList.listItemButtonDetailsTitle' | fdTranslate\"\n [title]=\"'coreGridList.listItemButtonDetailsTitle' | fdTranslate\"\n fdCompact\n (click)=\"_onDetail($event)\"\n ></button>\n }\n @if (selectionMode === 'delete') {\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"decline\"\n class=\"fd-grid-list__action-button\"\n [attr.aria-label]=\"'coreGridList.listItemButtonDeleteTitle' | fdTranslate\"\n [title]=\"'coreGridList.listItemButtonDeleteTitle' | fdTranslate\"\n title=\"Delete\"\n fdCompact\n (click)=\"_onDelete($event)\"\n ></button>\n }\n @if (type === 'navigation') {\n <span class=\"fd-grid-list__item-navigation-indicator\">\n <fd-icon glyph=\"navigation-right-arrow\"></fd-icon>\n </span>\n }\n @if (selectionMode === 'singleSelectRight') {\n <ng-template [ngTemplateOutlet]=\"radio\"></ng-template>\n }\n </div>\n }\n <div class=\"fd-grid-list__item-body\" [class.fd-grid-list__item-body--no-padding]=\"noPadding\">\n <ng-content select=\"[fd-grid-list-item-image]\"></ng-content>\n @if (title || description) {\n <div class=\"fd-grid-list__item-header\">\n @if (title) {\n <div\n role=\"heading\"\n [attr.aria-level]=\"titleLevel\"\n class=\"fd-title fd-title--h4 fd-grid-list__item-title\"\n >\n {{ title }}\n </div>\n }\n @if (description) {\n <span class=\"fd-grid-list__item-subtitle\">{{ description }}</span>\n }\n </div>\n }\n @if (body?.templateRef) {\n <div class=\"fd-grid-list__item-content\">\n <ng-template [ngTemplateOutlet]=\"body!.templateRef\"></ng-template>\n </div>\n }\n @if (state || footerBarComponent?.contentTemplateRef) {\n <ng-template [ngTemplateOutlet]=\"itemFooter\"></ng-template>\n }\n </div>\n</div>\n<ng-template #radio>\n <input\n [attr.tabindex]=\"selectionMode === 'singleSelect' ? -1 : 0\"\n type=\"radio\"\n class=\"fd-radio fd-grid-list__radio-input\"\n [style.display]=\"selectionMode === 'singleSelect' ? 'none' : ''\"\n [id]=\"id + '-radio'\"\n [name]=\"'fd-grid-list-item-toolbar-' + selectionMode\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [value]=\"value\"\n [ngModel]=\"_selectedItem\"\n (ngModelChange)=\"$event && _selectionItem($event)\"\n />\n <label\n class=\"fd-radio__label fd-grid-list__radio-label\"\n [for]=\"id + '-radio'\"\n tabindex=\"-1\"\n (mouseover)=\"_setActive($event, false)\"\n (mouseout)=\"_setActive($event, true)\"\n ></label>\n</ng-template>\n<ng-template #checkbox>\n <input\n type=\"checkbox\"\n class=\"fd-checkbox fd-grid-list__checkbox-input\"\n [id]=\"id + '-checkbox'\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [ngModel]=\"_selectedItem\"\n (click)=\"_checkboxClick($event)\"\n (keydown.escape)=\"_checkboxEscape()\"\n (keydown.shift)=\"_checkboxEscape()\"\n />\n <label class=\"fd-checkbox__label fd-grid-list__checkbox-label\" [for]=\"id + '-checkbox'\" tabindex=\"-1\">\n <span class=\"fd-checkbox__checkmark\" aria-hidden=\"true\"></span>\n </label>\n</ng-template>\n<ng-template #itemFooter>\n @if (footerBarComponent || state) {\n <div class=\"fd-grid-list__item-body-actions\">\n @if (footerBarComponent?.contentTemplateRef) {\n <ng-template [ngTemplateOutlet]=\"footerBarComponent!.contentTemplateRef\"></ng-template>\n }\n @if (!footerBarComponent?.contentTemplateRef && state) {\n @if (state === 'error') {\n <span\n fd-object-status\n status=\"negative\"\n [label]=\"'coreGridList.listItemStatusContainsErrors' | fdTranslate\"\n [attr.aria-label]=\"'coreGridList.listItemStatusContainsErrors' | fdTranslate\"\n ></span>\n }\n @if (state === 'locked') {\n <button\n class=\"fd-grid-list__action-button\"\n fd-button\n fdType=\"transparent\"\n glyph=\"private\"\n [label]=\"'coreGridList.listItemStatusLocked' | fdTranslate\"\n [attr.aria-label]=\"'coreGridList.listItemStatusLocked' | fdTranslate\"\n fdCompact\n (click)=\"_clickOnLocked($event)\"\n ></button>\n }\n @if (state === 'draft') {\n <button\n class=\"fd-grid-list__action-button\"\n fd-button\n fdType=\"transparent\"\n [attr.aria-label]=\"'coreGridList.listItemStatusDraft' | fdTranslate\"\n [label]=\"'coreGridList.listItemStatusDraft' | fdTranslate\"\n fdCompact\n (click)=\"_clickOnDraft($event)\"\n ></button>\n }\n }\n </div>\n }\n</ng-template>\n", styles: [".fd-grid-list .fd-dnd-item.fd-dnd-on-drag{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:-o-grabbing;cursor:-ms-grabbing;cursor:grabbing;background-color:transparent}.fd-grid-list .fd-dnd-item .fd-grid-list__item{overflow:visible}.fd-grid-list__item .drop-area__line--vertical{height:100%}.fd-grid-list__item .drop-area__line--vertical.before{left:-.55rem}.fd-grid-list__item .drop-area__line--vertical.after{right:-.55rem}.fd-grid-list__item .fd-checkbox__label{-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: GridListTitleBarSpacerComponent, selector: "fd-grid-list-title-bar-spacer" }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i4.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ObjectStatusComponent, selector: "[fd-object-status]", inputs: ["class", "status", "glyph", "glyphFont", "label", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large", "secondaryIndication", "textTemplate"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }, { kind: "ngmodule", type: ContentDensityModule }, { kind: "directive", type: i2.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
341
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: GridListItemComponent, isStandalone: true, selector: "fd-grid-list-item", inputs: { id: "id", width: "width", layoutItemPattern: "layoutItemPattern", status: "status", counter: "counter", value: "value", disableToolbarClick: "disableToolbarClick", selected: ["selected", "selected", booleanAttribute], noPadding: "noPadding", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", type: "type", state: "state", isNavigated: "isNavigated", title: "title", titleLevel: "titleLevel", description: "description", autoHeight: "autoHeight" }, outputs: { press: "press", detail: "detail", delete: "delete", navigate: "navigate", cardClick: "cardClick", draft: "draft", locked: "locked" }, host: { properties: { "style.max-width": "this.width", "style.min-width": "this.width" } }, providers: [contentDensityObserverProviders()], queries: [{ propertyName: "footerBarComponent", first: true, predicate: GridListItemFooterBarComponent, descendants: true }, { propertyName: "itemToolbarComponent", first: true, predicate: GridListItemToolbarComponent, descendants: true }, { propertyName: "body", first: true, predicate: GridListItemBodyDirective, descendants: true }], viewQueries: [{ propertyName: "_gridListItem", first: true, predicate: ["gridListItem"], descendants: true }], ngImport: i0, template: "<div\n #gridListItem\n [id]=\"id\"\n [tabindex]=\"tabIndex()\"\n class=\"fd-grid-list__item\"\n role=\"option\"\n [class.is-navigated]=\"isNavigated\"\n [class.is-selected]=\"!!_selectedItem\"\n [class.fd-grid-list__item--link]=\"\n _isActive && (type === 'active' || type === 'detailsAndActive' || type === 'navigation')\n \"\n [class.fd-grid-list__item--unread]=\"state === 'unread'\"\n [class.fd-grid-list__item--locked]=\"state === 'locked'\"\n [class.fd-grid-list__item--draft]=\"state === 'draft'\"\n [class.fd-grid-list__item--error]=\"state === 'error'\"\n [class.fd-grid-list__item--height-auto]=\"autoHeight\"\n (keydown)=\"_onKeyDown($event)\"\n (click)=\"selectionMode === 'singleSelect' && _singleSelect($event); _onClick($event)\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n (mouseover)=\"_setActive($event, false)\"\n (mouseout)=\"_setActive($event, true)\"\n [attr.aria-selected]=\"selectionMode === 'none' ? null : !!_selectedItem\"\n>\n @if (status) {\n <span\n class=\"fd-grid-list__highlight\"\n [class.fd-grid-list__highlight--positive]=\"status === 'success'\"\n [class.fd-grid-list__highlight--critical]=\"status === 'warning'\"\n [class.fd-grid-list__highlight--negative]=\"status === 'error'\"\n [class.fd-grid-list__highlight--neutral]=\"status === 'neutral'\"\n [attr.aria-label]=\"'coreGridList.listItemStatusAriaLabel' | fdTranslate: { status: status }\"\n ></span>\n }\n @if (selectionMode === 'singleSelect') {\n <ng-template [ngTemplateOutlet]=\"radio\"></ng-template>\n }\n @if (\n counter ||\n itemToolbarComponent?.contentTemplateRef ||\n (type && type !== 'inactive' && type !== 'active') ||\n (selectionMode !== 'none' && selectionMode !== 'singleSelect')\n ) {\n <div class=\"fd-toolbar fd-grid-list__item-toolbar\">\n @if (selectionMode === 'singleSelectLeft') {\n <ng-template [ngTemplateOutlet]=\"radio\"></ng-template>\n }\n @if (selectionMode === 'multiSelect') {\n <ng-template [ngTemplateOutlet]=\"checkbox\"></ng-template>\n }\n @if (itemToolbarComponent?.contentTemplateRef) {\n <div class=\"fd-toolbar--extra-content\">\n <ng-template [ngTemplateOutlet]=\"itemToolbarComponent!.contentTemplateRef\"></ng-template>\n </div>\n }\n <fd-grid-list-title-bar-spacer></fd-grid-list-title-bar-spacer>\n @if (counter) {\n <span\n class=\"fd-grid-list__item-counter\"\n [attr.aria-label]=\"'coreGridList.listItemCounterAriaLabel' | fdTranslate: { count: counter }\"\n >{{ counter }}</span\n >\n }\n @if (type === 'detail' || type === 'detailsAndActive') {\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"edit\"\n class=\"fd-grid-list__action-button\"\n [attr.aria-label]=\"'coreGridList.listItemButtonDetailsTitle' | fdTranslate\"\n [title]=\"'coreGridList.listItemButtonDetailsTitle' | fdTranslate\"\n fdCompact\n (click)=\"_onDetail($event)\"\n ></button>\n }\n @if (selectionMode === 'delete') {\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"decline\"\n class=\"fd-grid-list__action-button\"\n [attr.aria-label]=\"'coreGridList.listItemButtonDeleteTitle' | fdTranslate\"\n [title]=\"'coreGridList.listItemButtonDeleteTitle' | fdTranslate\"\n title=\"Delete\"\n fdCompact\n (click)=\"_onDelete($event)\"\n ></button>\n }\n @if (type === 'navigation') {\n <span class=\"fd-grid-list__item-navigation-indicator\">\n <fd-icon glyph=\"navigation-right-arrow\"></fd-icon>\n </span>\n }\n @if (selectionMode === 'singleSelectRight') {\n <ng-template [ngTemplateOutlet]=\"radio\"></ng-template>\n }\n </div>\n }\n <div class=\"fd-grid-list__item-body\" [class.fd-grid-list__item-body--no-padding]=\"noPadding\">\n <ng-content select=\"[fd-grid-list-item-image]\"></ng-content>\n @if (title || description) {\n <div class=\"fd-grid-list__item-header\">\n @if (title) {\n <div\n role=\"heading\"\n [attr.aria-level]=\"titleLevel\"\n class=\"fd-title fd-title--h4 fd-grid-list__item-title\"\n >\n {{ title }}\n </div>\n }\n @if (description) {\n <span class=\"fd-grid-list__item-subtitle\">{{ description }}</span>\n }\n </div>\n }\n @if (body?.templateRef) {\n <div class=\"fd-grid-list__item-content\">\n <ng-template [ngTemplateOutlet]=\"body!.templateRef\"></ng-template>\n </div>\n }\n @if (state || footerBarComponent?.contentTemplateRef) {\n <ng-template [ngTemplateOutlet]=\"itemFooter\"></ng-template>\n }\n </div>\n</div>\n<ng-template #radio>\n <input\n [attr.tabindex]=\"selectionMode === 'singleSelect' ? -1 : 0\"\n type=\"radio\"\n class=\"fd-radio fd-grid-list__radio-input\"\n [style.display]=\"selectionMode === 'singleSelect' ? 'none' : ''\"\n [id]=\"id + '-radio'\"\n [name]=\"'fd-grid-list-item-toolbar-' + selectionMode\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [value]=\"value\"\n [ngModel]=\"_selectedItem\"\n (ngModelChange)=\"$event && _selectionItem($event)\"\n />\n <label\n class=\"fd-radio__label fd-grid-list__radio-label\"\n [for]=\"id + '-radio'\"\n tabindex=\"-1\"\n (mouseover)=\"_setActive($event, false)\"\n (mouseout)=\"_setActive($event, true)\"\n ></label>\n</ng-template>\n<ng-template #checkbox>\n <input\n type=\"checkbox\"\n class=\"fd-checkbox fd-grid-list__checkbox-input\"\n [id]=\"id + '-checkbox'\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [ngModel]=\"_selectedItem\"\n (click)=\"_checkboxClick($event)\"\n (keydown.escape)=\"_checkboxEscape()\"\n (keydown.shift)=\"_checkboxEscape()\"\n />\n <label class=\"fd-checkbox__label fd-grid-list__checkbox-label\" [for]=\"id + '-checkbox'\" tabindex=\"-1\">\n <span class=\"fd-checkbox__checkmark\" aria-hidden=\"true\"></span>\n </label>\n</ng-template>\n<ng-template #itemFooter>\n @if (footerBarComponent || state) {\n <div class=\"fd-grid-list__item-body-actions\">\n @if (footerBarComponent?.contentTemplateRef) {\n <ng-template [ngTemplateOutlet]=\"footerBarComponent!.contentTemplateRef\"></ng-template>\n }\n @if (!footerBarComponent?.contentTemplateRef && state) {\n @if (state === 'error') {\n <span\n fd-object-status\n status=\"negative\"\n [label]=\"'coreGridList.listItemStatusContainsErrors' | fdTranslate\"\n [attr.aria-label]=\"'coreGridList.listItemStatusContainsErrors' | fdTranslate\"\n ></span>\n }\n @if (state === 'locked') {\n <button\n class=\"fd-grid-list__action-button\"\n fd-button\n fdType=\"transparent\"\n glyph=\"private\"\n [label]=\"'coreGridList.listItemStatusLocked' | fdTranslate\"\n [attr.aria-label]=\"'coreGridList.listItemStatusLocked' | fdTranslate\"\n fdCompact\n (click)=\"_clickOnLocked($event)\"\n ></button>\n }\n @if (state === 'draft') {\n <button\n class=\"fd-grid-list__action-button\"\n fd-button\n fdType=\"transparent\"\n [attr.aria-label]=\"'coreGridList.listItemStatusDraft' | fdTranslate\"\n [label]=\"'coreGridList.listItemStatusDraft' | fdTranslate\"\n fdCompact\n (click)=\"_clickOnDraft($event)\"\n ></button>\n }\n }\n </div>\n }\n</ng-template>\n", styles: [".fd-grid-list .fd-dnd-item.fd-dnd-on-drag{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:-o-grabbing;cursor:-ms-grabbing;cursor:grabbing;background-color:transparent}.fd-grid-list .fd-dnd-item .fd-grid-list__item{overflow:visible}.fd-grid-list__item .drop-area__line--vertical{height:100%}.fd-grid-list__item .drop-area__line--vertical.before{left:-.55rem}.fd-grid-list__item .drop-area__line--vertical.after{right:-.55rem}.fd-grid-list__item .fd-checkbox__label{-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: GridListTitleBarSpacerComponent, selector: "fd-grid-list-title-bar-spacer" }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i4.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ObjectStatusComponent, selector: "[fd-object-status]", inputs: ["class", "status", "glyph", "glyphFont", "label", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large", "secondaryIndication", "textTemplate"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }, { kind: "ngmodule", type: ContentDensityModule }, { kind: "directive", type: i2.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
336
342
  }
337
343
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: GridListItemComponent, decorators: [{
338
344
  type: Component,
@@ -398,6 +404,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
398
404
  type: Output
399
405
  }], navigate: [{
400
406
  type: Output
407
+ }], cardClick: [{
408
+ type: Output
401
409
  }], draft: [{
402
410
  type: Output
403
411
  }], locked: [{
@@ -415,4 +423,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
415
423
  type: ContentChild,
416
424
  args: [GridListItemBodyDirective]
417
425
  }] } });
418
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1saXN0LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL2dyaWQtbGlzdC9jb21wb25lbnRzL2dyaWQtbGlzdC1pdGVtL2dyaWQtbGlzdC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9ncmlkLWxpc3QvY29tcG9uZW50cy9ncmlkLWxpc3QtaXRlbS9ncmlkLWxpc3QtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRixPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBDLE9BQU8sRUFBRSxPQUFPLEVBQVksc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV2RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsc0JBQXNCLEVBQ3RCLCtCQUErQixFQUNsQyxNQUFNLHVDQUF1QyxDQUFDO0FBRS9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFB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QUFNO2dCQVFQLE1BQU07c0JBREwsTUFBTTtnQkFRUCxRQUFRO3NCQURQLE1BQU07Z0JBUVAsS0FBSztzQkFESixNQUFNO2dCQVFQLE1BQU07c0JBREwsTUFBTTtnQkFLUCxhQUFhO3NCQURaLFNBQVM7dUJBQUMsY0FBYztnQkFLekIsa0JBQWtCO3NCQURqQixZQUFZO3VCQUFDLDhCQUE4QjtnQkFJNUMsb0JBQW9CO3NCQURuQixZQUFZO3VCQUFDLDRCQUE0QjtnQkFLMUMsSUFBSTtzQkFESCxZQUFZO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVOVEVSLCBFU0NBUEUsIEYyLCBGNywgTUFDX0VOVEVSLCBTUEFDRSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3V0cHV0LFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBzaWduYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgS2V5VXRpbCwgTnVsbGFibGUsIFRhYmJhYmxlRWxlbWVudFNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5cbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvYnV0dG9uJztcbmltcG9ydCB7XG4gICAgQ29udGVudERlbnNpdHlNb2R1bGUsXG4gICAgQ29udGVudERlbnNpdHlPYnNlcnZlcixcbiAgICBjb250ZW50RGVuc2l0eU9ic2VydmVyUHJvdmlkZXJzXG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9jb250ZW50LWRlbnNpdHknO1xuXG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2ljb24nO1xuaW1wb3J0IHsgT2JqZWN0U3RhdHVzQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL29iamVjdC1zdGF0dXMnO1xuaW1wb3J0IHsgVGl0bGVDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvdGl0bGUnO1xuaW1wb3J0IHsgRmRUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9pMThuJztcbmltcG9ydCB7IEdyaWRMaXN0SXRlbUJvZHlEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2dyaWQtbGlzdC1pdGVtLWJvZHkuZGlyZWN0aXZlJztcbmltcG9ydCB7IHBhcnNlTGF5b3V0UGF0dGVybiB9IGZyb20gJy4uLy4uL2hlbHBlcnMvcGFyc2UtbGF5b3V0LXBhdHRlcm4nO1xuaW1wb3J0IHtcbiAgICBHcmlkTGlzdFNlbGVjdGlvbkFjdGlvbnMsXG4gICAgR3JpZExpc3RTZWxlY3Rpb25Nb2RlLFxuICAgIEdyaWRMaXN0U2VsZWN0aW9uTW9kZUVudW1cbn0gZnJvbSAnLi4vLi4vbW9kZWxzL2dyaWQtbGlzdC1zZWxlY3Rpb24ubW9kZWxzJztcbmltcG9ydCB7IEdyaWRMaXN0SXRlbUZvb3RlckJhckNvbXBvbmVudCB9IGZyb20gJy4uL2dyaWQtbGlzdC1pdGVtLWZvb3Rlci1iYXIvZ3JpZC1saXN0LWl0ZW0tZm9vdGVyLWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgR3JpZExpc3RJdGVtVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4uL2dyaWQtbGlzdC1pdGVtLXRvb2xiYXIvZ3JpZC1saXN0LWl0ZW0tdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgR3JpZExpc3RUaXRsZUJhclNwYWNlckNvbXBvbmVudCB9IGZyb20gJy4uL2dyaWQtbGlzdC10aXRsZS1iYXItc3BhY2VyL2dyaWQtbGlzdC10aXRsZS1iYXItc3BhY2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHcmlkTGlzdCB9IGZyb20gJy4uL2dyaWQtbGlzdC9ncmlkLWxpc3QtYmFzZS5jb21wb25lbnQnO1xuXG5sZXQgZ3JpZExpc3RJdGVtVW5pcXVlSWQgPSAwO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdyaWRMaXN0SXRlbU91dHB1dEV2ZW50PFQ+IHtcbiAgICBpbmRleD86IG51bWJlcjtcbiAgICB2YWx1ZT86IFQ7XG59XG5cbmV4cG9ydCB0eXBlIEdyaWRMaXN0SXRlbVR5cGUgPSAnaW5hY3RpdmUnIHwgJ2FjdGl2ZScgfCAnZGV0YWlsJyB8ICdkZXRhaWxzQW5kQWN0aXZlJyB8ICduYXZpZ2F0aW9uJztcbmV4cG9ydCB0eXBlIEdyaWRMaXN0SXRlbVN0YXRlID0gJ3VucmVhZCcgfCAnbG9ja2VkJyB8ICdlcnJvcicgfCAnZHJhZnQnO1xuZXhwb3J0IHR5cGUgR3JpZExpc3RJdGVtU3RhdHVzID0gJ3N1Y2Nlc3MnIHwgJ3dhcm5pbmcnIHwgJ2Vycm9yJyB8ICduZXV0cmFsJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1ncmlkLWxpc3QtaXRlbScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2dyaWQtbGlzdC1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vZ3JpZC1saXN0LWl0ZW0uY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgICAgIEdyaWRMaXN0VGl0bGVCYXJTcGFjZXJDb21wb25lbnQsXG4gICAgICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgSWNvbkNvbXBvbmVudCxcbiAgICAgICAgVGl0bGVDb21wb25lbnQsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBPYmplY3RTdGF0dXNDb21wb25lbnQsXG4gICAgICAgIEZkVHJhbnNsYXRlUGlwZSxcbiAgICAgICAgQ29udGVudERlbnNpdHlNb2R1bGVcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW2NvbnRlbnREZW5zaXR5T2JzZXJ2ZXJQcm92aWRlcnMoKV1cbn0pXG5leHBvcnQgY2xhc3MgR3JpZExpc3RJdGVtQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICAvKiogaWQgZm9yIHRoZSBFbGVtZW50ICovXG4gICAgQElucHV0KClcbiAgICBpZCA9IGBmZC1ncmlkLWxpc3QtaXRlbS0ke2dyaWRMaXN0SXRlbVVuaXF1ZUlkKyt9YDtcblxuICAgIC8qKiB3aWR0aCBvZiB0aGUgZWxlbWVudCAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXgtd2lkdGgnKVxuICAgIEBIb3N0QmluZGluZygnc3R5bGUubWluLXdpZHRoJylcbiAgICB3aWR0aDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogc3BlY2lmeSB0aGUgY2VsbCBsYXlvdXQgaW4gdGhlIGZvcm1hdCBgWExuLUxuLU1uLVNuYCB3aGVyZSBuIGlzXG4gICAgICogdGhlIG51bWJlciBvZiBvY2N1cGllZCBjb2x1bW5zIGFuZCBuIGNhbiBiZSBkaWZmZXJlbnQgZm9yIGVhY2ggc2l6ZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBsYXlvdXRJdGVtUGF0dGVybih2YWx1ZTogTnVsbGFibGU8c3RyaW5nPikge1xuICAgICAgICB0aGlzLmdyaWRMYXlvdXRDbGFzc2VzID0gdmFsdWUgPyBwYXJzZUxheW91dFBhdHRlcm4odmFsdWUsIGZhbHNlKSA6IFtdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlZmluZXMgdGhlIHN0YXR1cyBvZiBHcmlkIExpc3QgSXRlbVxuICAgICAqIChTdGF0dXNlczogc3VjY2VzcyB8IHdhcm5pbmcgfCBlcnJvciB8IG5ldXRyYWwpXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzdGF0dXM/OiBHcmlkTGlzdEl0ZW1TdGF0dXM7XG5cbiAgICAvKiogU2V0cyBudW1iZXIgb2Ygc3ViIGl0ZW1zICovXG4gICAgQElucHV0KClcbiAgICBjb3VudGVyOiBOdWxsYWJsZTxudW1iZXI+O1xuXG4gICAgLyoqXG4gICAgICogVmFsdWUgZmllbGQgc3RvcmVzIGluZm9ybWF0aW9uIGZvciByYWRpbyBidXR0b24gdmFsdWUsIGNoZWNrYm94IGJ1dHRvbiBhbmQgZm9yIEdyaWRMaXN0U2VsZWN0aW9uRXZlbnRcbiAgICAgKiBUaGUgZmllbGQgaXMgbWFuZGF0b3J5IGZvciBtb2RlcyBsaWtlIHNpbmdsZVNlbGVjdCwgc2luZ2xlU2VsZWN0TGVmdCwgc2luZ2xlU2VsZWN0UmlnaHQgb3IgbXVsdGlTZWxlY3RcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHZhbHVlPzogVDtcblxuICAgIC8qKiBXaGV0aGVyIGNsaWNrIG9uIHRoZSBjdXN0b20gdG9vbGJhciBpcyBkaXNhYmxlZCAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZVRvb2xiYXJDbGljayA9IGZhbHNlO1xuXG4gICAgLyoqIEFsbG93cyBhbiBpdGVtIHRvIGJlIHNlbGVjdGVkIHByb2dyYW1tYXRpY2FsbHkgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBzZWxlY3RlZCA9IGZhbHNlO1xuXG4gICAgLyoqIFJlbW92ZSB0aGUgcGFkZGluZyBmcm9tIHRoZSBJdGVtIGJvZHkgKi9cbiAgICBASW5wdXQoKVxuICAgIG5vUGFkZGluZyA9IGZhbHNlO1xuXG4gICAgLyoqIFNldHMgdGhlIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGUgdG8gdGhlIGVsZW1lbnQuICovXG4gICAgQElucHV0KClcbiAgICBhcmlhTGFiZWw6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKiogU2V0cyB0aGUgYGFyaWEtbGFiZWxgIGF0dHJpYnV0ZSB0byB0aGUgZWxlbWVudC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFyaWFMYWJlbGxlZEJ5OiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5lcyB0aGUgdHlwZSBvZiBHcmlkIExpc3QgSXRlbVxuICAgICAqIFR5cGVzOlxuICAgICAqIC0gYWN0aXZlOiBpbmRpY2F0ZXMgdGhhdCB0aGUgaXRlbSBpcyBjbGlja2FibGUgdmlhIGFjdGl2ZSBmZWVkYmFjayB3aGVuIGl0ZW0gaXMgcHJlc3NlZFxuICAgICAqIC0gZGV0YWlsOiBlbmFibGVzIGRldGFpbCBidXR0b24gb2YgdGhlIGxpc3QgaXRlbSB0aGF0IGZpcmVzIGV2ZW50LlxuICAgICAqIC0gZGV0YWlsc0FuZEFjdGl2ZTogZW5hYmxlcyBcImRldGFpbFwiIGFuZCBcImFjdGl2ZVwiIGVudW1lcmF0aW9ucyB0b2dldGhlclxuICAgICAqIC0gaW5hY3RpdmU6IGluZGljYXRlcyB0aGUgbGlzdCBpdGVtIGRvZXMgbm90IGhhdmUgYW55IGFjdGl2ZSBmZWVkYmFjayB3aGVuIGl0ZW0gaXMgcHJlc3NlZFxuICAgICAqIC0gbmF2aWdhdGlvbjogaW5kaWNhdGVzIHRoZSBsaXN0IGl0ZW0gaXMgbmF2aWdhYmxlIHRvIHNob3cgZXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGl0ZW1cbiAgICAgKiBEZWZhdWx0OiBpbmFjdGl2ZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHR5cGUodmFsdWU6IE51bGxhYmxlPEdyaWRMaXN0SXRlbVR5cGU+KSB7XG4gICAgICAgIHRoaXMuX3R5cGUgPSB2YWx1ZSA/PyAnaW5hY3RpdmUnO1xuICAgIH1cblxuICAgIGdldCB0eXBlKCk6IEdyaWRMaXN0SXRlbVR5cGUge1xuICAgICAgICByZXR1cm4gdGhpcy5fdHlwZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBzdGF0ZSBvZiBHcmlkIExpc3QgSXRlbVxuICAgICAqIChTdGF0ZXM6IHVucmVhZCB8IGVycm9yIHwgbG9ja2VkIHwgZHJhZnQpXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzdGF0ZT86IEdyaWRMaXN0SXRlbVN0YXRlO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG5hdmlnYXRlZCBzdGF0ZSBvZiB0aGUgbGlzdCBpdGVtLlxuICAgICAqIElmIHNldCB0byB0cnVlLCBhIG5hdmlnYXRpb24gaW5kaWNhdG9yIGlzIGRpc3BsYXllZCBhdCB0aGUgZW5kIG9mIHRoZSBsaXN0IGl0ZW0uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBpc05hdmlnYXRlZCA9IGZhbHNlO1xuXG4gICAgLyoqIFRpdGxlIG9mIHRoZSBpdGVtICovXG4gICAgQElucHV0KClcbiAgICB0aXRsZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQXJpYS1sZXZlbCBvZiB0aGUgdGl0bGVcbiAgICAgKiBBdmFpbGFibGUgb3B0aW9uczogMSwgMiwgMywgNCwgNSwgNlxuICAgICAqIERlZmF1bHQ6IDRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHRpdGxlTGV2ZWw6IDEgfCAyIHwgMyB8IDQgfCA1IHwgNiA9IDQ7XG5cbiAgICAvKiogRGVzY3JpcHRpb24gb2YgdGhlIGl0ZW0gKi9cbiAgICBASW5wdXQoKVxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgICAvKiogV2hlbiBzZXQgdG8gdHJ1ZSB0aGUgZ3JpZCBsaXN0IGl0ZW0ncyBoZWlnaHQgd2lsbCBiZSBzZXQgdG8gYXV0byAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXV0b0hlaWdodCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQgaXMgdGhyb3duLCB3aGVuIHR5cGUgaXMgYWN0aXZlXG4gICAgICogYW5kIGl0ZW0gaXMgcHJlc3NlZFxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHByZXNzID0gbmV3IEV2ZW50RW1pdHRlcjxHcmlkTGlzdEl0ZW1PdXRwdXRFdmVudDxUPj4oKTtcblxuICAgIC8qKlxuICAgICAqIEV2ZW50IGlzIHRocm93biwgd2hlbiB0eXBlIGlzIGRldGFpbCBvciBkZXRhaWxzQW5kQWN0aXZlXG4gICAgICogYW5kIERldGFpbCBidXR0b24gd2FzIHByZXNzZWRcbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBkZXRhaWwgPSBuZXcgRXZlbnRFbWl0dGVyPEdyaWRMaXN0SXRlbU91dHB1dEV2ZW50PFQ+PigpO1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQgaXMgdGhyb3duLCB3aGVuIG1vZGUgZGVsZXRlXG4gICAgICogYW5kIERlbGV0ZSBidXR0b24gd2FzIHByZXNzZWRcbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBkZWxldGUgPSBuZXcgRXZlbnRFbWl0dGVyPEdyaWRMaXN0SXRlbU91dHB1dEV2ZW50PFQ+PigpO1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQgaXMgdGhyb3duLCB3aGVuIHR5cGUgaXMgbmF2aWdhdGlvblxuICAgICAqIGFuZCBOYXZpZ2F0ZSBidXR0b24gd2FzIHByZXNzZWRcbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBuYXZpZ2F0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8R3JpZExpc3RJdGVtT3V0cHV0RXZlbnQ8VD4+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBpcyB0aHJvd24sIHdoZW4gc3RhdGUgaXMgZXJyb3IsIG5vdCB1c2VkIEdyaWRMaXN0SXRlbUZvb3RlckJhckNvbXBvbmVudFxuICAgICAqIGFuZCBEcmFmdCBidXR0b24gd2FzIHByZXNzZWRcbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBkcmFmdCA9IG5ldyBFdmVudEVtaXR0ZXI8R3JpZExpc3RJdGVtT3V0cHV0RXZlbnQ8VD4+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBpcyB0aHJvd24sIHdoZW4gc3RhdGUgaXMgbG9ja2VkLCBub3QgdXNlZCBHcmlkTGlzdEl0ZW1Gb290ZXJCYXJDb21wb25lbnRcbiAgICAgKiBhbmQgTG9ja2VkIGJ1dHRvbiB3YXMgcHJlc3NlZFxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGxvY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8R3JpZExpc3RJdGVtT3V0cHV0RXZlbnQ8VD4+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoJ2dyaWRMaXN0SXRlbScpXG4gICAgX2dyaWRMaXN0SXRlbTogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoR3JpZExpc3RJdGVtRm9vdGVyQmFyQ29tcG9uZW50KVxuICAgIGZvb3RlckJhckNvbXBvbmVudDogTnVsbGFibGU8R3JpZExpc3RJdGVtRm9vdGVyQmFyQ29tcG9uZW50PjtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoR3JpZExpc3RJdGVtVG9vbGJhckNvbXBvbmVudClcbiAgICBpdGVtVG9vbGJhckNvbXBvbmVudDogTnVsbGFibGU8R3JpZExpc3RJdGVtVG9vbGJhckNvbXBvbmVudD47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoR3JpZExpc3RJdGVtQm9keURpcmVjdGl2ZSlcbiAgICBib2R5OiBOdWxsYWJsZTxHcmlkTGlzdEl0ZW1Cb2R5RGlyZWN0aXZlPjtcblxuICAgIC8qKiBAaGlkZGVuXG4gICAgICogVGhlIGFjdGl2ZSBzdGF0ZSBvZiB0aGUgbGlzdCBpdGVtLlxuICAgICAqIElmIHNldCB0byB0cnVlLCB0aGUgd2hvbGUgY2FyZCBoYXMgYWN0aXZlIHN0YXRlLiBCZWNvbWVzIGZhbHNlIG9ubHkgd2hlbiB0aGUgRWRpdCBidXR0b24gaXMgY2xpY2tlZC5cbiAgICAgKi9cbiAgICBfaXNBY3RpdmUgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzZXQgZ3JpZExheW91dENsYXNzZXModmFsdWU6IHN0cmluZ1tdKSB7XG4gICAgICAgIHRoaXMuX3JlbW92ZUNsYXNzZXNOYW1lcyh0aGlzLl9ncmlkTGF5b3V0Q2xhc3Nlcyk7XG4gICAgICAgIHRoaXMuX2dyaWRMYXlvdXRDbGFzc2VzID0gdmFsdWU7XG4gICAgICAgIHRoaXMuX2FkZENsYXNzZXNOYW1lcyh0aGlzLl9ncmlkTGF5b3V0Q2xhc3Nlcyk7XG4gICAgfVxuXG4gICAgZ2V0IGdyaWRMYXlvdXRDbGFzc2VzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dyaWRMYXlvdXRDbGFzc2VzO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3NlbGVjdGVkSXRlbT86IFQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNldCBzZWxlY3Rpb25Nb2RlKG1vZGU6IEdyaWRMaXN0U2VsZWN0aW9uTW9kZSB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9zZWxlY3Rpb25Nb2RlID0gbW9kZTtcblxuICAgICAgICBpZiAobW9kZSAhPT0gR3JpZExpc3RTZWxlY3Rpb25Nb2RlRW51bS5ERUxFVEUgJiYgbW9kZSAhPT0gR3JpZExpc3RTZWxlY3Rpb25Nb2RlRW51bS5OT05FICYmICF0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0dyaWQgTGlzdCBJdGVtIG11c3QgaGF2ZSBbdmFsdWVdIGF0dHJpYnV0ZS4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkICYmIHRoaXMudmFsdWUgJiYgdGhpcy5faW5kZXggIT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc3QgYWN0aW9uID1cbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbk1vZGUgIT09IEdyaWRMaXN0U2VsZWN0aW9uTW9kZUVudW0uTVVMVElfU0VMRUNUID8gbnVsbCA6IEdyaWRMaXN0U2VsZWN0aW9uQWN0aW9ucy5BREQ7XG5cbiAgICAgICAgICAgIHRoaXMuX2dyaWRMaXN0LnNldFNlbGVjdGVkSXRlbSh0aGlzLnZhbHVlLCB0aGlzLl9pbmRleCwgYWN0aW9uKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBnZXQgc2VsZWN0aW9uTW9kZSgpOiBHcmlkTGlzdFNlbGVjdGlvbk1vZGUgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uTW9kZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9pbmRleD86IG51bWJlcjtcblxuICAgIC8qKiB0YWJJbmRleCBvZiB0aGUgZWxlbWVudCAqL1xuICAgIHRhYkluZGV4ID0gc2lnbmFsKC0xKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdHlwZTogR3JpZExpc3RJdGVtVHlwZSA9ICdpbmFjdGl2ZSc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NlbGVjdGlvbk1vZGU/OiBHcmlkTGlzdFNlbGVjdGlvbk1vZGU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dyaWRMYXlvdXRDbGFzc2VzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaW5uZXJFbGVtZW50Rm9jdXNlZCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX3JlbmRlcjogUmVuZGVyZXIyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9ncmlkTGlzdDogR3JpZExpc3Q8VD4sXG4gICAgICAgIHJlYWRvbmx5IF9jb250ZW50RGVuc2l0eU9ic2VydmVyOiBDb250ZW50RGVuc2l0eU9ic2VydmVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF90YWJiYWJsZUVsZW1lbnRTZXJ2aWNlOiBUYWJiYWJsZUVsZW1lbnRTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkSXRlbXNTdWIgPSB0aGlzLl9ncmlkTGlzdC5fc2VsZWN0ZWRJdGVtcyQuc3Vic2NyaWJlKChpdGVtcykgPT4ge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRJdGVtID0gaXRlbXMuc2VsZWN0aW9uLmZpbmQoKGl0ZW0pID0+IGl0ZW0gPT09IHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoc2VsZWN0ZWRJdGVtc1N1Yik7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKiBGb2N1cyBncmlkIGxpc3QgaXRlbSBwcm9ncmFtbWF0aWNhbGx5ICovXG4gICAgZm9jdXMob3B0aW9ucz86IEZvY3VzT3B0aW9ucyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9ncmlkTGlzdEl0ZW0/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMob3B0aW9ucyk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfc2V0QWN0aXZlKGV2ZW50OiBNb3VzZUV2ZW50LCBpc0FjdGl2ZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5faXNFbGVtZW50Q2FuQmVDbGlja2VkKGV2ZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5faXNBY3RpdmUgPSBpc0FjdGl2ZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9zaW5nbGVTZWxlY3QoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3ByZXZlbnREZWZhdWx0KGV2ZW50KTtcblxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuX3NlbGVjdGVkSXRlbSAhPT0gJ3VuZGVmaW5lZCcgfHwgIXRoaXMudmFsdWUgfHwgdGhpcy5faW5kZXggPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fZ3JpZExpc3Quc2V0U2VsZWN0ZWRJdGVtKHRoaXMudmFsdWUsIHRoaXMuX2luZGV4KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9jaGVja2JveENsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNoZWNrZWQgPSAoPEhUTUxJbnB1dEVsZW1lbnQ+ZXZlbnQudGFyZ2V0KS5jaGVja2VkO1xuICAgICAgICB0aGlzLl9zZWxlY3Rpb25JdGVtKGNoZWNrZWQsIGV2ZW50KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9jaGVja2JveEVzY2FwZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZ3JpZExpc3RJdGVtLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9zZWxlY3Rpb25JdGVtKHZhbHVlOiBib29sZWFuIHwgbnVtYmVyIHwgVCwgZXZlbnQ/OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy52YWx1ZSB8fCB0aGlzLl9pbmRleCA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYWN0aW9uID1cbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uTW9kZSAhPT0gR3JpZExpc3RTZWxlY3Rpb25Nb2RlRW51bS5NVUxUSV9TRUxFQ1RcbiAgICAgICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgICAgICA6IHZhbHVlIHx8IHZhbHVlID09PSAwXG4gICAgICAgICAgICAgICAgICA/IEdyaWRMaXN0U2VsZWN0aW9uQWN0aW9ucy5BRERcbiAgICAgICAgICAgICAgICAgIDogR3JpZExpc3RTZWxlY3Rpb25BY3Rpb25zLlJFTU9WRTtcblxuICAgICAgICB0aGlzLl9ncmlkTGlzdC5zZXRTZWxlY3RlZEl0ZW0odGhpcy52YWx1ZSwgdGhpcy5faW5kZXgsIGFjdGlvbiwgZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX29uRGV0YWlsKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3ByZXZlbnREZWZhdWx0KGV2ZW50KTtcblxuICAgICAgICB0aGlzLmRldGFpbC5lbWl0KHRoaXMuX291dHB1dEV2ZW50VmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX29uTmF2aWdhdGUoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcHJldmVudERlZmF1bHQoZXZlbnQpO1xuXG4gICAgICAgIHRoaXMubmF2aWdhdGUuZW1pdCh0aGlzLl9vdXRwdXRFdmVudFZhbHVlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9vbkRlbGV0ZShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9wcmV2ZW50RGVmYXVsdChldmVudCk7XG5cbiAgICAgICAgdGhpcy5kZWxldGUuZW1pdCh0aGlzLl9vdXRwdXRFdmVudFZhbHVlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9jbGlja09uRHJhZnQoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcHJldmVudERlZmF1bHQoZXZlbnQpO1xuXG4gICAgICAgIHRoaXMuZHJhZnQuZW1pdCh0aGlzLl9vdXRwdXRFdmVudFZhbHVlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9jbGlja09uTG9ja2VkKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3ByZXZlbnREZWZhdWx0KGV2ZW50KTtcblxuICAgICAgICB0aGlzLmxvY2tlZC5lbWl0KHRoaXMuX291dHB1dEV2ZW50VmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX29uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9pc0VsZW1lbnRDYW5CZUNsaWNrZWQoZXZlbnQpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy50eXBlICE9PSAnYWN0aXZlJyAmJiB0aGlzLnR5cGUgIT09ICdkZXRhaWxzQW5kQWN0aXZlJyAmJiB0aGlzLnR5cGUgIT09ICduYXZpZ2F0aW9uJykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ25hdmlnYXRpb24nKSB7XG4gICAgICAgICAgICB0aGlzLl9vbk5hdmlnYXRlKGV2ZW50KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucHJlc3MuZW1pdCh0aGlzLl9vdXRwdXRFdmVudFZhbHVlKTtcbiAgICB9XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGFjdGl2ZUVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBjb25zdCBpc0ZvY3VzZWQgPSBhY3RpdmVFbGVtZW50ID09PSB0aGlzLl9ncmlkTGlzdEl0ZW0ubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3Qgc2hvdWxkRm9jdXNDaGlsZCA9IEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBbRU5URVIsIE1BQ19FTlRFUiwgRjIsIEY3XSkgJiYgIWV2ZW50LnNoaWZ0S2V5ICYmIGlzRm9jdXNlZDtcbiAgICAgICAgaWYgKHNob3VsZEZvY3VzQ2hpbGQpIHtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgY29uc3QgaW50ZXJhY3RpdmVFbGVtZW50cyA9IHRoaXMuX2dyaWRMaXN0SXRlbS5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICAgICAgICAgICAgJ2EsIGJ1dHRvbiwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEnXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBjb25zdCBmaXJzdEludGVyYWN0aXZlRWxlbWVudCA9IGludGVyYWN0aXZlRWxlbWVudHNbMF0gYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICBmaXJzdEludGVyYWN0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgaW50ZXJhY3RpdmVFbGVtZW50cy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgJzAnKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5faW5uZXJFbGVtZW50Rm9jdXNlZC5zZXQodHJ1ZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5faW5uZXJFbGVtZW50Rm9jdXNlZCgpICYmIEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBbRjIsIEY3LCBFU0NBUEVdKSkge1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLl9ncmlkTGlzdEl0ZW0ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgdGhpcy5faW5uZXJFbGVtZW50Rm9jdXNlZC5zZXQoZmFsc2UpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRGl2RWxlbWVudDtcblxuICAgICAgICBjb25zdCBpc1NlbGVjdGlvbktleURvd24gPSBLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgW0VOVEVSLCBTUEFDRV0pO1xuXG4gICAgICAgIGlmIChpc1NlbGVjdGlvbktleURvd24gJiYgdGhpcy5zZWxlY3Rpb25Nb2RlID09PSBHcmlkTGlzdFNlbGVjdGlvbk1vZGVFbnVtLk5PTkUpIHtcbiAgICAgICAgICAgIHRoaXMucHJlc3MuZW1pdCh0aGlzLl9vdXRwdXRFdmVudFZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICFpc1NlbGVjdGlvbktleURvd24gfHxcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uTW9kZSA9PT0gR3JpZExpc3RTZWxlY3Rpb25Nb2RlRW51bS5OT05FIHx8XG4gICAgICAgICAgICAhdGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucygnZmQtZ3JpZC1saXN0X19pdGVtJylcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9wcmV2ZW50RGVmYXVsdChldmVudCk7XG5cbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0aW9uTW9kZSA9PT0gR3JpZExpc3RTZWxlY3Rpb25Nb2RlRW51bS5NVUxUSV9TRUxFQ1QpIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGlvbkl0ZW0oIXRoaXMuX3NlbGVjdGVkSXRlbSk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5fc2VsZWN0ZWRJdGVtID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgdGhpcy5fc2luZ2xlU2VsZWN0KGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaXNFbGVtZW50Q2FuQmVDbGlja2VkKGV2ZW50OiBNb3VzZUV2ZW50KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghZXZlbnQ/LnRhcmdldCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgY29uc3QgeyBjbGFzc0xpc3QgfSA9IGVsZW1lbnQ7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICEodGhpcy5faXNUb29sYmFyRWxlbWVudChlbGVtZW50KSAmJiB0aGlzLmRpc2FibGVUb29sYmFyQ2xpY2spICYmXG4gICAgICAgICAgICAhY2xhc3NMaXN0LmNvbnRhaW5zKCdmZC1ncmlkLWxpc3RfX2FjdGlvbi1idXR0b24nKSAmJlxuICAgICAgICAgICAgIWNsYXNzTGlzdC5jb250YWlucygnZmQtZ3JpZC1saXN0X19yYWRpby1sYWJlbCcpICYmXG4gICAgICAgICAgICAhY2xhc3NMaXN0LmNvbnRhaW5zKCdmZC1ncmlkLWxpc3RfX3JhZGlvLWlucHV0JykgJiZcbiAgICAgICAgICAgICFjbGFzc0xpc3QuY29udGFpbnMoJ2ZkLWdyaWQtbGlzdF9fY2hlY2tib3gtbGFiZWwnKSAmJlxuICAgICAgICAgICAgIWNsYXNzTGlzdC5jb250YWlucygnZmQtZ3JpZC1saXN0X19jaGVja2JveC1pbnB1dCcpICYmXG4gICAgICAgICAgICAhY2xhc3NMaXN0LmNvbnRhaW5zKCdmZC1jaGVja2JveF9fY2hlY2ttYXJrJylcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2lzVG9vbGJhckVsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLml0ZW1Ub29sYmFyQ29tcG9uZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICB3aGlsZSAoZWxlbWVudC5wYXJlbnRFbGVtZW50ICYmICFlbGVtZW50LnBhcmVudEVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdmZC1ncmlkLWxpc3RfX2l0ZW0nKSkge1xuICAgICAgICAgICAgaWYgKGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdmZC10b29sYmFyLS1leHRyYS1jb250ZW50JykpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZWxlbWVudCA9IGVsZW1lbnQucGFyZW50RWxlbWVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3ByZXZlbnREZWZhdWx0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgZ2V0IF9vdXRwdXRFdmVudFZhbHVlKCk6IEdyaWRMaXN0SXRlbU91dHB1dEV2ZW50PFQ+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnZhbHVlLFxuICAgICAgICAgICAgaW5kZXg6IHRoaXMuX2luZGV4XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9hZGRDbGFzc2VzTmFtZXMoY2xhc3Nlc05hbWVzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgICAgICBmb3IgKGNvbnN0IGNsYXNzTmFtZSBvZiBjbGFzc2VzTmFtZXMpIHtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlci5hZGRDbGFzcyh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGNsYXNzTmFtZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3JlbW92ZUNsYXNzZXNOYW1lcyhjbGFzc2VzTmFtZXM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgICAgIGZvciAoY29uc3QgY2xhc3NOYW1lIG9mIGNsYXNzZXNOYW1lcykge1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyLnJlbW92ZUNsYXNzKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgY2xhc3NOYW1lKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXZcbiAgICAjZ3JpZExpc3RJdGVtXG4gICAgW2lkXT1cImlkXCJcbiAgICBbdGFiaW5kZXhdPVwidGFiSW5kZXgoKVwiXG4gICAgY2xhc3M9XCJmZC1ncmlkLWxpc3RfX2l0ZW1cIlxuICAgIHJvbGU9XCJvcHRpb25cIlxuICAgIFtjbGFzcy5pcy1uYXZpZ2F0ZWRdPVwiaXNOYXZpZ2F0ZWRcIlxuICAgIFtjbGFzcy5pcy1zZWxlY3RlZF09XCIhIV9zZWxlY3RlZEl0ZW1cIlxuICAgIFtjbGFzcy5mZC1ncmlkLWxpc3RfX2l0ZW0tLWxpbmtdPVwiXG4gICAgICAgIF9pc0FjdGl2ZSAmJiAodHlwZSA9PT0gJ2FjdGl2ZScgfHwgdHlwZSA9PT0gJ2RldGFpbHNBbmRBY3RpdmUnIHx8IHR5cGUgPT09ICduYXZpZ2F0aW9uJylcbiAgICBcIlxuICAgIFtjbGFzcy5mZC1ncmlkLWxpc3RfX2l0ZW0tLXVucmVhZF09XCJzdGF0ZSA9PT0gJ3VucmVhZCdcIlxuICAgIFtjbGFzcy5mZC1ncmlkLWxpc3RfX2l0ZW0tLWxvY2tlZF09XCJzdGF0ZSA9PT0gJ2xvY2tlZCdcIlxuICAgIFtjbGFzcy5mZC1ncmlkLWxpc3RfX2l0ZW0tLWRyYWZ0XT1cInN0YXRlID09PSAnZHJhZnQnXCJcbiAgICBbY2xhc3MuZmQtZ3JpZC1saXN0X19pdGVtLS1lcnJvcl09XCJzdGF0ZSA9PT0gJ2Vycm9yJ1wiXG4gICAgW2NsYXNzLmZkLWdyaWQtbGlzdF9faXRlbS0taGVpZ2h0LWF1dG9dPVwiYXV0b0hlaWdodFwiXG4gICAgKGtleWRvd24pPVwiX29uS2V5RG93bigkZXZlbnQpXCJcbiAgICAoY2xpY2spPVwic2VsZWN0aW9uTW9kZSA9PT0gJ3NpbmdsZVNlbGVjdCcgJiYgX3NpbmdsZVNlbGVjdCgkZXZlbnQpOyBfb25DbGljaygkZXZlbnQpXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5XCJcbiAgICAobW91c2VvdmVyKT1cIl9zZXRBY3RpdmUoJGV2ZW50LCBmYWxzZSlcIlxuICAgIChtb3VzZW91dCk9XCJfc2V0QWN0aXZlKCRldmVudCwgdHJ1ZSlcIlxuICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwic2VsZWN0aW9uTW9kZSA9PT0gJ25vbmUnID8gbnVsbCA6ICEhX3NlbGVjdGVkSXRlbVwiXG4+XG4gICAgQGlmIChzdGF0dXMpIHtcbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzPVwiZmQtZ3JpZC1saXN0X19oaWdobGlnaHRcIlxuICAgICAgICAgICAgW2NsYXNzLmZkLWdyaWQtbGlzdF9faGlnaGxpZ2h0LS1wb3NpdGl2ZV09XCJzdGF0dXMgPT09ICdzdWNjZXNzJ1wiXG4gICAgICAgICAgICBbY2xhc3MuZmQtZ3JpZC1saXN0X19oaWdobGlnaHQtLWNyaXRpY2FsXT1cInN0YXR1cyA9PT0gJ3dhcm5pbmcnXCJcbiAgICAgICAgICAgIFtjbGFzcy5mZC1ncmlkLWxpc3RfX2hpZ2hsaWdodC0tbmVnYXRpdmVdPVwic3RhdHVzID09PSAnZXJyb3InXCJcbiAgICAgICAgICAgIFtjbGFzcy5mZC1ncmlkLWxpc3RfX2hpZ2hsaWdodC0tbmV1dHJhbF09XCJzdGF0dXMgPT09ICduZXV0cmFsJ1wiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidjb3JlR3JpZExpc3QubGlzdEl0ZW1TdGF0dXNBcmlhTGFiZWwnIHwgZmRUcmFuc2xhdGU6IHsgc3RhdHVzOiBzdGF0dXMgfVwiXG4gICAgICAgID48L3NwYW4+XG4gICAgfVxuICAgIEBpZiAoc2VsZWN0aW9uTW9kZSA9PT0gJ3NpbmdsZVNlbGVjdCcpIHtcbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJhZGlvXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICB9XG4gICAgQGlmIChcbiAgICAgICAgY291bnRlciB8fFxuICAgICAgICBpdGVtVG9vbGJhckNvbXBvbmVudD8uY29udGVudFRlbXBsYXRlUmVmIHx8XG4gICAgICAgICh0eXBlICYmIHR5cGUgIT09ICdpbmFjdGl2ZScgJiYgdHlwZSAhPT0gJ2FjdGl2ZScpIHx8XG4gICAgICAgIChzZWxlY3Rpb25Nb2RlICE9PSAnbm9uZScgJiYgc2VsZWN0aW9uTW9kZSAhPT0gJ3NpbmdsZVNlbGVjdCcpXG4gICAgKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmZC10b29sYmFyIGZkLWdyaWQtbGlzdF9faXRlbS10b29sYmFyXCI+XG4gICAgICAgICAgICBAaWYgKHNlbGVjdGlvbk1vZGUgPT09ICdzaW5nbGVTZWxlY3RMZWZ0Jykge1xuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJyYWRpb1wiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKHNlbGVjdGlvbk1vZGUgPT09ICdtdWx0aVNlbGVjdCcpIHtcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2hlY2tib3hcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChpdGVtVG9vbGJhckNvbXBvbmVudD8uY29udGVudFRlbXBsYXRlUmVmKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZkLXRvb2xiYXItLWV4dHJhLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1Ub29sYmFyQ29tcG9uZW50IS5jb250ZW50VGVtcGxhdGVSZWZcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGZkLWdyaWQtbGlzdC10aXRsZS1iYXItc3BhY2VyPjwvZmQtZ3JpZC1saXN0LXRpdGxlLWJhci1zcGFjZXI+XG4gICAgICAgICAgICBAaWYgKGNvdW50ZXIpIHtcbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZkLWdyaWQtbGlzdF9faXRlbS1jb3VudGVyXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInY29yZUdyaWRMaXN0Lmxpc3RJdGVtQ291bnRlckFyaWFMYWJlbCcgfCBmZFRyYW5zbGF0ZTogeyBjb3VudDogY291bnRlciB9XCJcbiAgICAgICAgICAgICAgICAgICAgPnt7IGNvdW50ZXIgfX08L3NwYW5cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKHR5cGUgPT09ICdkZXRhaWwnIHx8IHR5cGUgPT09ICdkZXRhaWxzQW5kQWN0aXZlJykge1xuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgZ2x5cGg9XCJlZGl0XCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmZC1ncmlkLWxpc3RfX2FjdGlvbi1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidjb3JlR3JpZExpc3QubGlzdEl0ZW1CdXR0b25EZXRhaWxzVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ2NvcmVHcmlkTGlzdC5saXN0SXRlbUJ1dHRvbkRldGFpbHNUaXRsZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIGZkQ29tcGFjdFxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiX29uRGV0YWlsKCRldmVudClcIlxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoc2VsZWN0aW9uTW9kZSA9PT0gJ2RlbGV0ZScpIHtcbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgIGdseXBoPVwiZGVjbGluZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtZ3JpZC1saXN0X19hY3Rpb24tYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInY29yZUdyaWRMaXN0Lmxpc3RJdGVtQnV0dG9uRGVsZXRlVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ2NvcmVHcmlkTGlzdC5saXN0SXRlbUJ1dHRvbkRlbGV0ZVRpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJEZWxldGVcIlxuICAgICAgICAgICAgICAgICAgICBmZENvbXBhY3RcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9vbkRlbGV0ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKHR5cGUgPT09ICduYXZpZ2F0aW9uJykge1xuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmQtZ3JpZC1saXN0X19pdGVtLW5hdmlnYXRpb24taW5kaWNhdG9yXCI+XG4gICAgICAgICAgICAgICAgICAgIDxmZC1pY29uIGdseXBoPVwibmF2aWdhdGlvbi1yaWdodC1hcnJvd1wiPjwvZmQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKHNlbGVjdGlvbk1vZGUgPT09ICdzaW5nbGVTZWxlY3RSaWdodCcpIHtcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwicmFkaW9cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICB9XG4gICAgPGRpdiBjbGFzcz1cImZkLWdyaWQtbGlzdF9faXRlbS1ib2R5XCIgW2NsYXNzLmZkLWdyaWQtbGlzdF9faXRlbS1ib2R5LS1uby1wYWRkaW5nXT1cIm5vUGFkZGluZ1wiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZmQtZ3JpZC1saXN0LWl0ZW0taW1hZ2VdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICBAaWYgKHRpdGxlIHx8IGRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtZ3JpZC1saXN0X19pdGVtLWhlYWRlclwiPlxuICAgICAgICAgICAgICAgIEBpZiAodGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImhlYWRpbmdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sZXZlbF09XCJ0aXRsZUxldmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtdGl0bGUgZmQtdGl0bGUtLWg0IGZkLWdyaWQtbGlzdF9faXRlbS10aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHRpdGxlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgKGRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmQtZ3JpZC1saXN0X19pdGVtLXN1YnRpdGxlXCI+e3sgZGVzY3JpcHRpb24gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChib2R5Py50ZW1wbGF0ZVJlZikge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZkLWdyaWQtbGlzdF9faXRlbS1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImJvZHkhLnRlbXBsYXRlUmVmXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoc3RhdGUgfHwgZm9vdGVyQmFyQ29tcG9uZW50Py5jb250ZW50VGVtcGxhdGVSZWYpIHtcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtRm9vdGVyXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuPC9kaXY+XG48bmctdGVtcGxhdGUgI3JhZGlvPlxuICAgIDxpbnB1dFxuICAgICAgICBbYXR0ci50YWJpbmRleF09XCJzZWxlY3Rpb25Nb2RlID09PSAnc2luZ2xlU2VsZWN0JyA/IC0xIDogMFwiXG4gICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgIGNsYXNzPVwiZmQtcmFkaW8gZmQtZ3JpZC1saXN0X19yYWRpby1pbnB1dFwiXG4gICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cInNlbGVjdGlvbk1vZGUgPT09ICdzaW5nbGVTZWxlY3QnID8gJ25vbmUnIDogJydcIlxuICAgICAgICBbaWRdPVwiaWQgKyAnLXJhZGlvJ1wiXG4gICAgICAgIFtuYW1lXT1cIidmZC1ncmlkLWxpc3QtaXRlbS10b29sYmFyLScgKyBzZWxlY3Rpb25Nb2RlXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnlcIlxuICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICBbbmdNb2RlbF09XCJfc2VsZWN0ZWRJdGVtXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiJGV2ZW50ICYmIF9zZWxlY3Rpb25JdGVtKCRldmVudClcIlxuICAgIC8+XG4gICAgPGxhYmVsXG4gICAgICAgIGNsYXNzPVwiZmQtcmFkaW9fX2xhYmVsIGZkLWdyaWQtbGlzdF9fcmFkaW8tbGFiZWxcIlxuICAgICAgICBbZm9yXT1cImlkICsgJy1yYWRpbydcIlxuICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgKG1vdXNlb3Zlcik9XCJfc2V0QWN0aXZlKCRldmVudCwgZmFsc2UpXCJcbiAgICAgICAgKG1vdXNlb3V0KT1cIl9zZXRBY3RpdmUoJGV2ZW50LCB0cnVlKVwiXG4gICAgPjwvbGFiZWw+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNjaGVja2JveD5cbiAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgY2xhc3M9XCJmZC1jaGVja2JveCBmZC1ncmlkLWxpc3RfX2NoZWNrYm94LWlucHV0XCJcbiAgICAgICAgW2lkXT1cImlkICsgJy1jaGVja2JveCdcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeVwiXG4gICAgICAgIFtuZ01vZGVsXT1cIl9zZWxlY3RlZEl0ZW1cIlxuICAgICAgICAoY2xpY2spPVwiX2NoZWNrYm94Q2xpY2soJGV2ZW50KVwiXG4gICAgICAgIChrZXlkb3duLmVzY2FwZSk9XCJfY2hlY2tib3hFc2NhcGUoKVwiXG4gICAgICAgIChrZXlkb3duLnNoaWZ0KT1cIl9jaGVja2JveEVzY2FwZSgpXCJcbiAgICAvPlxuICAgIDxsYWJlbCBjbGFzcz1cImZkLWNoZWNrYm94X19sYWJlbCBmZC1ncmlkLWxpc3RfX2NoZWNrYm94LWxhYmVsXCIgW2Zvcl09XCJpZCArICctY2hlY2tib3gnXCIgdGFiaW5kZXg9XCItMVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImZkLWNoZWNrYm94X19jaGVja21hcmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG4gICAgPC9sYWJlbD5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2l0ZW1Gb290ZXI+XG4gICAgQGlmIChmb290ZXJCYXJDb21wb25lbnQgfHwgc3RhdGUpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImZkLWdyaWQtbGlzdF9faXRlbS1ib2R5LWFjdGlvbnNcIj5cbiAgICAgICAgICAgIEBpZiAoZm9vdGVyQmFyQ29tcG9uZW50Py5jb250ZW50VGVtcGxhdGVSZWYpIHtcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiZm9vdGVyQmFyQ29tcG9uZW50IS5jb250ZW50VGVtcGxhdGVSZWZcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICghZm9vdGVyQmFyQ29tcG9uZW50Py5jb250ZW50VGVtcGxhdGVSZWYgJiYgc3RhdGUpIHtcbiAgICAgICAgICAgICAgICBAaWYgKHN0YXRlID09PSAnZXJyb3InKSB7XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICBmZC1vYmplY3Qtc3RhdHVzXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM9XCJuZWdhdGl2ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ2NvcmVHcmlkTGlzdC5saXN0SXRlbVN0YXR1c0NvbnRhaW5zRXJyb3JzJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ2NvcmVHcmlkTGlzdC5saXN0SXRlbVN0YXR1c0NvbnRhaW5zRXJyb3JzJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChzdGF0ZSA9PT0gJ2xvY2tlZCcpIHtcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmZC1ncmlkLWxpc3RfX2FjdGlvbi1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBnbHlwaD1cInByaXZhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidjb3JlR3JpZExpc3QubGlzdEl0ZW1TdGF0dXNMb2NrZWQnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInY29yZUdyaWRMaXN0Lmxpc3RJdGVtU3RhdHVzTG9ja2VkJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZkQ29tcGFjdFxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9jbGlja09uTG9ja2VkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoc3RhdGUgPT09ICdkcmFmdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmZC1ncmlkLWxpc3RfX2FjdGlvbi1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidjb3JlR3JpZExpc3QubGlzdEl0ZW1TdGF0dXNEcmFmdCcgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ2NvcmVHcmlkTGlzdC5saXN0SXRlbVN0YXR1c0RyYWZ0JyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZkQ29tcGFjdFxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9jbGlja09uRHJhZnQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbjwvbmctdGVtcGxhdGU+XG4iXX0=
426
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1saXN0LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL2dyaWQtbGlzdC9jb21wb25lbnRzL2dyaWQtbGlzdC1pdGVtL2dyaWQtbGlzdC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9ncmlkLWxpc3QvY29tcG9uZW50cy9ncmlkLWxpc3QtaXRlbS9ncmlkLWxpc3QtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRixPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBDLE9BQU8sRUFBRSxPQUFPLEVBQVksc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV2RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsc0JBQXNCLEVBQ3RCLCtCQUErQixFQUNsQyxNQUFNLHVDQUF1QyxDQUFDO0FBRS9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFDSCx3QkFBd0IsRUFFeEIseUJBQXlCLEVBQzVCLE1BQU0seUNBQXlDLENBQUM7QUFDakQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDbEgsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDMUcsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDckgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7QUFFakUsSUFBSSxvQkFBb0IsR0FBRyxDQUFDLENBQUM7QUErQjdCLE1BQU0sT0FBTyxxQkFBcUI7SUFXOUI7OztPQUdHO0lBQ0gsSUFDSSxpQkFBaUIsQ0FBQyxLQUF1QjtRQUN6QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMzRSxDQUFDO0lBd0NEOzs7Ozs7Ozs7T0FTRztJQUNILElBQ0ksSUFBSSxDQUFDLEtBQWlDO1FBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxJQUFJLFVBQVUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUF5R0QsY0FBYztJQUNkLElBQUksaUJBQWlCLENBQUMsS0FBZTtRQUNqQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztRQUNoQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ25DLENBQUM7SUFLRCxjQUFjO0lBQ2QsSUFBSSxhQUFhLENBQUMsSUFBdUM7UUFDckQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFFM0IsSUFBSSxJQUFJLEtBQUsseUJBQXlCLENBQUMsTUFBTSxJQUFJLElBQUksS0FBSyx5QkFBeUIsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDdEcsTUFBTSxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO1FBQ25FLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3JELE1BQU0sTUFBTSxHQUNSLElBQUksQ0FBQyxhQUFhLEtBQUsseUJBQXlCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLEdBQUcsQ0FBQztZQUV4RyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDcEUsQ0FBQztRQUVELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUMvQixDQUFDO0lBdUJELGNBQWM7SUFDZCxZQUNxQixHQUFzQixFQUN0QixXQUF1QixFQUN2QixPQUFrQixFQUNsQixTQUFzQixFQUM5Qix1QkFBK0MsRUFDdkMsdUJBQStDO1FBTC9DLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3ZCLFlBQU8sR0FBUCxPQUFPLENBQVc7UUFDbEIsY0FBUyxHQUFULFNBQVMsQ0FBYTtRQUM5Qiw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXdCO1FBQ3ZDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBd0I7UUFuUHBFLHlCQUF5QjtRQUV6QixPQUFFLEdBQUcscUJBQXFCLG9CQUFvQixFQUFFLEVBQUUsQ0FBQztRQW1DbkQsc0RBQXNEO1FBRXRELHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQUU1QixxREFBcUQ7UUFFckQsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQiw0Q0FBNEM7UUFFNUMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQW9DbEI7OztXQUdHO1FBRUgsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFNcEI7Ozs7V0FJRztRQUVILGVBQVUsR0FBMEIsQ0FBQyxDQUFDO1FBTXRDLHVFQUF1RTtRQUV2RSxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBRW5COzs7V0FHRztRQUVILFVBQUssR0FBRyxJQUFJLFlBQVksRUFBOEIsQ0FBQztRQUV2RDs7O1dBR0c7UUFFSCxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQThCLENBQUM7UUFFeEQ7OztXQUdHO1FBRUgsV0FBTSxHQUFHLElBQUksWUFBWSxFQUE4QixDQUFDO1FBRXhEOzs7V0FHRztRQUVILGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBOEIsQ0FBQztRQUUxRDs7V0FFRztRQUVILGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBOEIsQ0FBQztRQUUzRDs7O1dBR0c7UUFFSCxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQThCLENBQUM7UUFFdkQ7OztXQUdHO1FBRUgsV0FBTSxHQUFHLElBQUksWUFBWSxFQUE4QixDQUFDO1FBaUJ4RDs7O1dBR0c7UUFDSCxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBeUNqQiw4QkFBOEI7UUFDOUIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXRCLGNBQWM7UUFDTixVQUFLLEdBQXFCLFVBQVUsQ0FBQztRQUs3QyxjQUFjO1FBQ04sdUJBQWtCLEdBQWEsRUFBRSxDQUFDO1FBRTFDLGNBQWM7UUFDRyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFbkQsY0FBYztRQUNOLHlCQUFvQixHQUFHLE1BQU0sQ0FBVSxLQUFLLENBQUMsQ0FBQztRQVdsRCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3hFLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELGNBQWM7SUFDZCxlQUFlO1FBQ1gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsY0FBYztJQUNkLFdBQVc7UUFDUCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCw0Q0FBNEM7SUFDNUMsS0FBSyxDQUFDLE9BQXNCO1FBQ3hCLElBQUksQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsY0FBYztJQUNkLFVBQVUsQ0FBQyxLQUFpQixFQUFFLFFBQWlCO1FBQzNDLElBQUksSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDckMsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztJQUM5QixDQUFDO0lBRUQsY0FBYztJQUNkLGFBQWEsQ0FBQyxLQUFZO1FBQ3RCLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFNUIsSUFBSSxPQUFPLElBQUksQ0FBQyxhQUFhLEtBQUssV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ2xGLE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELGNBQWM7SUFDZCxjQUFjLENBQUMsS0FBaUI7UUFDNUIsTUFBTSxPQUFPLEdBQXNCLEtBQUssQ0FBQyxNQUFPLENBQUMsT0FBTyxDQUFDO1FBQ3pELElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxjQUFjO0lBQ2QsZUFBZTtRQUNYLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFFRCxjQUFjO0lBQ2QsY0FBYyxDQUFDLEtBQTJCLEVBQUUsS0FBa0I7UUFDMUQsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNyQyxPQUFPO1FBQ1gsQ0FBQztRQUNELE1BQU0sTUFBTSxHQUNSLElBQUksQ0FBQyxhQUFhLEtBQUsseUJBQXlCLENBQUMsWUFBWTtZQUN6RCxDQUFDLENBQUMsSUFBSTtZQUNOLENBQUMsQ0FBQyxLQUFLLElBQUksS0FBSyxLQUFLLENBQUM7Z0JBQ3BCLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHO2dCQUM5QixDQUFDLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDO1FBRTVDLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELGNBQWM7SUFDZCxTQUFTLENBQUMsS0FBaUI7UUFDdkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU1QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsY0FBYztJQUNkLFdBQVcsQ0FBQyxLQUFpQjtRQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTVCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxjQUFjO0lBQ2QsU0FBUyxDQUFDLEtBQWlCO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELGNBQWM7SUFDZCxhQUFhLENBQUMsS0FBaUI7UUFDM0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU1QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsY0FBYztJQUNkLGNBQWMsQ0FBQyxLQUFpQjtRQUM1QixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTVCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxjQUFjO0lBQ2QsUUFBUSxDQUFDLEtBQWlCO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0QyxPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxrQkFBa0IsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFlBQVksRUFBRSxDQUFDO1lBQzNGLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQzVDLE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFlBQVksRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEIsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBQ0QsY0FBYztJQUNkLFVBQVUsQ0FBQyxLQUFvQjtRQUMzQixNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsYUFBNEIsQ0FBQztRQUM1RCxNQUFNLFNBQVMsR0FBRyxhQUFhLEtBQUssSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUM7UUFDckUsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLFNBQVMsQ0FBQztRQUM5RyxJQUFJLGdCQUFnQixFQUFFLENBQUM7WUFDbkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQ3pFLG9DQUFvQyxDQUN2QyxDQUFDO1lBRUYsTUFBTSx1QkFBdUIsR0FBRyxtQkFBbUIsQ0FBQyxDQUFDLENBQWdCLENBQUM7WUFDdEUsdUJBQXVCLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ3BDLE9BQU8sQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzFDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwQyxPQUFPO1FBQ1gsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNuRixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQyxPQUFPO1FBQ1gsQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUF3QixDQUFDO1FBRTlDLE1BQU0sa0JBQWtCLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUVwRSxJQUFJLGtCQUFrQixJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUsseUJBQXlCLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDOUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUVELElBQ0ksQ0FBQyxrQkFBa0I7WUFDbkIsSUFBSSxDQUFDLGFBQWEsS0FBSyx5QkFBeUIsQ0FBQyxJQUFJO1lBQ3JELENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsRUFDbEQsQ0FBQztZQUNDLE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU1QixJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUsseUJBQXlCLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDaEUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUV6QyxPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksT0FBTyxJQUFJLENBQUMsYUFBYSxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQzVDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO0lBQ04sc0JBQXNCLENBQUMsS0FBaUI7UUFDNUMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNqQixPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQXFCLENBQUM7UUFDNUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUU5QixPQUFPLENBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUM7WUFDOUQsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLDZCQUE2QixDQUFDO1lBQ2xELENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQztZQUNoRCxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsMkJBQTJCLENBQUM7WUFDaEQsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLDhCQUE4QixDQUFDO1lBQ25ELENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyw4QkFBOEIsQ0FBQztZQUNuRCxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsd0JBQXdCLENBQUMsQ0FDaEQsQ0FBQztJQUNOLENBQUM7SUFFRCxjQUFjO0lBQ04saUJBQWlCLENBQUMsT0FBb0I7UUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQzdCLE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUM7UUFFRCxPQUFPLE9BQU8sQ0FBQyxhQUFhLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDO1lBQzlGLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsMkJBQTJCLENBQUMsRUFBRSxDQUFDO2dCQUMxRCxPQUFPLElBQUksQ0FBQztZQUNoQixDQUFDO1lBRUQsT0FBTyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFDcEMsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxjQUFjO0lBQ04sZUFBZSxDQUFDLEtBQVk7UUFDaEMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsY0FBYztJQUNkLElBQVksaUJBQWlCO1FBQ3pCLE9BQU87WUFDSCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3JCLENBQUM7SUFDTixDQUFDO0lBRUQsY0FBYztJQUNOLGdCQUFnQixDQUFDLFlBQXNCO1FBQzNDLEtBQUssTUFBTSxTQUFTLElBQUksWUFBWSxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDckUsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO0lBQ04sbUJBQW1CLENBQUMsWUFBc0I7UUFDOUMsS0FBSyxNQUFNLFNBQVMsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN4RSxDQUFDO0lBQ0wsQ0FBQzs4R0FuZVEscUJBQXFCO2tHQUFyQixxQkFBcUIsc1FBMkNWLGdCQUFnQix5ZUE3Q3pCLENBQUMsK0JBQStCLEVBQUUsQ0FBQywwRUFzS2hDLDhCQUE4Qix1RkFHOUIsNEJBQTRCLHVFQUk1Qix5QkFBeUIsK0pDMVAzQyxnOVJBOE1BLDBqQkQzSVEsZ0JBQWdCLG9KQUNoQiwrQkFBK0IsMEVBQy9CLGVBQWUseUlBQ2YsYUFBYSx5SUFFYixXQUFXLG0vQkFDWCxxQkFBcUIsb09BQ3JCLGVBQWUsbURBQ2Ysb0JBQW9COzsyRkFJZixxQkFBcUI7a0JBcEJqQyxTQUFTOytCQUNJLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLGNBQ3pCLElBQUksV0FDUDt3QkFDTCxnQkFBZ0I7d0JBQ2hCLCtCQUErQjt3QkFDL0IsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsV0FBVzt3QkFDWCxxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2Ysb0JBQW9CO3FCQUN2QixhQUNVLENBQUMsK0JBQStCLEVBQUUsQ0FBQzt3T0FLOUMsRUFBRTtzQkFERCxLQUFLO2dCQU9OLEtBQUs7c0JBSEosS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxpQkFBaUI7O3NCQUM3QixXQUFXO3VCQUFDLGlCQUFpQjtnQkFRMUIsaUJBQWlCO3NCQURwQixLQUFLO2dCQVVOLE1BQU07c0JBREwsS0FBSztnQkFLTixPQUFPO3NCQUROLEtBQUs7Z0JBUU4sS0FBSztzQkFESixLQUFLO2dCQUtOLG1CQUFtQjtzQkFEbEIsS0FBSztnQkFLTixRQUFRO3NCQURQLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBS3RDLFNBQVM7c0JBRFIsS0FBSztnQkFLTixTQUFTO3NCQURSLEtBQUs7Z0JBS04sY0FBYztzQkFEYixLQUFLO2dCQWNGLElBQUk7c0JBRFAsS0FBSztnQkFjTixLQUFLO3NCQURKLEtBQUs7Z0JBUU4sV0FBVztzQkFEVixLQUFLO2dCQUtOLEtBQUs7c0JBREosS0FBSztnQkFTTixVQUFVO3NCQURULEtBQUs7Z0JBS04sV0FBVztzQkFEVixLQUFLO2dCQUtOLFVBQVU7c0JBRFQsS0FBSztnQkFRTixLQUFLO3NCQURKLE1BQU07Z0JBUVAsTUFBTTtzQkFETCxNQUFNO2dCQVFQLE1BQU07c0JBREwsTUFBTTtnQkFRUCxRQUFRO3NCQURQLE1BQU07Z0JBT1AsU0FBUztzQkFEUixNQUFNO2dCQVFQLEtBQUs7c0JBREosTUFBTTtnQkFRUCxNQUFNO3NCQURMLE1BQU07Z0JBS1AsYUFBYTtzQkFEWixTQUFTO3VCQUFDLGNBQWM7Z0JBS3pCLGtCQUFrQjtzQkFEakIsWUFBWTt1QkFBQyw4QkFBOEI7Z0JBSTVDLG9CQUFvQjtzQkFEbkIsWUFBWTt1QkFBQyw0QkFBNEI7Z0JBSzFDLElBQUk7c0JBREgsWUFBWTt1QkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFTlRFUiwgRVNDQVBFLCBGMiwgRjcsIE1BQ19FTlRFUiwgU1BBQ0UgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE91dHB1dCxcbiAgICBSZW5kZXJlcjIsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgc2lnbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEtleVV0aWwsIE51bGxhYmxlLCBUYWJiYWJsZUVsZW1lbnRTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuXG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2J1dHRvbic7XG5pbXBvcnQge1xuICAgIENvbnRlbnREZW5zaXR5TW9kdWxlLFxuICAgIENvbnRlbnREZW5zaXR5T2JzZXJ2ZXIsXG4gICAgY29udGVudERlbnNpdHlPYnNlcnZlclByb3ZpZGVyc1xufSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvY29udGVudC1kZW5zaXR5JztcblxuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9pY29uJztcbmltcG9ydCB7IE9iamVjdFN0YXR1c0NvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9vYmplY3Qtc3RhdHVzJztcbmltcG9ydCB7IFRpdGxlQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3RpdGxlJztcbmltcG9ydCB7IEZkVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvaTE4bic7XG5pbXBvcnQgeyBHcmlkTGlzdEl0ZW1Cb2R5RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9ncmlkLWxpc3QtaXRlbS1ib2R5LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBwYXJzZUxheW91dFBhdHRlcm4gfSBmcm9tICcuLi8uLi9oZWxwZXJzL3BhcnNlLWxheW91dC1wYXR0ZXJuJztcbmltcG9ydCB7XG4gICAgR3JpZExpc3RTZWxlY3Rpb25BY3Rpb25zLFxuICAgIEdyaWRMaXN0U2VsZWN0aW9uTW9kZSxcbiAgICBHcmlkTGlzdFNlbGVjdGlvbk1vZGVFbnVtXG59IGZyb20gJy4uLy4uL21vZGVscy9ncmlkLWxpc3Qtc2VsZWN0aW9uLm1vZGVscyc7XG5pbXBvcnQgeyBHcmlkTGlzdEl0ZW1Gb290ZXJCYXJDb21wb25lbnQgfSBmcm9tICcuLi9ncmlkLWxpc3QtaXRlbS1mb290ZXItYmFyL2dyaWQtbGlzdC1pdGVtLWZvb3Rlci1iYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEdyaWRMaXN0SXRlbVRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuLi9ncmlkLWxpc3QtaXRlbS10b29sYmFyL2dyaWQtbGlzdC1pdGVtLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEdyaWRMaXN0VGl0bGVCYXJTcGFjZXJDb21wb25lbnQgfSBmcm9tICcuLi9ncmlkLWxpc3QtdGl0bGUtYmFyLXNwYWNlci9ncmlkLWxpc3QtdGl0bGUtYmFyLXNwYWNlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgR3JpZExpc3QgfSBmcm9tICcuLi9ncmlkLWxpc3QvZ3JpZC1saXN0LWJhc2UuY29tcG9uZW50JztcblxubGV0IGdyaWRMaXN0SXRlbVVuaXF1ZUlkID0gMDtcblxuZXhwb3J0IGludGVyZmFjZSBHcmlkTGlzdEl0ZW1PdXRwdXRFdmVudDxUPiB7XG4gICAgaW5kZXg/OiBudW1iZXI7XG4gICAgdmFsdWU/OiBUO1xufVxuXG5leHBvcnQgdHlwZSBHcmlkTGlzdEl0ZW1UeXBlID0gJ2luYWN0aXZlJyB8ICdhY3RpdmUnIHwgJ2RldGFpbCcgfCAnZGV0YWlsc0FuZEFjdGl2ZScgfCAnbmF2aWdhdGlvbic7XG5leHBvcnQgdHlwZSBHcmlkTGlzdEl0ZW1TdGF0ZSA9ICd1bnJlYWQnIHwgJ2xvY2tlZCcgfCAnZXJyb3InIHwgJ2RyYWZ0JztcbmV4cG9ydCB0eXBlIEdyaWRMaXN0SXRlbVN0YXR1cyA9ICdzdWNjZXNzJyB8ICd3YXJuaW5nJyB8ICdlcnJvcicgfCAnbmV1dHJhbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtZ3JpZC1saXN0LWl0ZW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ncmlkLWxpc3QtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2dyaWQtbGlzdC1pdGVtLmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBHcmlkTGlzdFRpdGxlQmFyU3BhY2VyQ29tcG9uZW50LFxuICAgICAgICBCdXR0b25Db21wb25lbnQsXG4gICAgICAgIEljb25Db21wb25lbnQsXG4gICAgICAgIFRpdGxlQ29tcG9uZW50LFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgT2JqZWN0U3RhdHVzQ29tcG9uZW50LFxuICAgICAgICBGZFRyYW5zbGF0ZVBpcGUsXG4gICAgICAgIENvbnRlbnREZW5zaXR5TW9kdWxlXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtjb250ZW50RGVuc2l0eU9ic2VydmVyUHJvdmlkZXJzKCldXG59KVxuZXhwb3J0IGNsYXNzIEdyaWRMaXN0SXRlbUNvbXBvbmVudDxUPiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqIGlkIGZvciB0aGUgRWxlbWVudCAqL1xuICAgIEBJbnB1dCgpXG4gICAgaWQgPSBgZmQtZ3JpZC1saXN0LWl0ZW0tJHtncmlkTGlzdEl0ZW1VbmlxdWVJZCsrfWA7XG5cbiAgICAvKiogd2lkdGggb2YgdGhlIGVsZW1lbnQgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnc3R5bGUubWF4LXdpZHRoJylcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1pbi13aWR0aCcpXG4gICAgd2lkdGg6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIHNwZWNpZnkgdGhlIGNlbGwgbGF5b3V0IGluIHRoZSBmb3JtYXQgYFhMbi1Mbi1Nbi1TbmAgd2hlcmUgbiBpc1xuICAgICAqIHRoZSBudW1iZXIgb2Ygb2NjdXBpZWQgY29sdW1ucyBhbmQgbiBjYW4gYmUgZGlmZmVyZW50IGZvciBlYWNoIHNpemUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgbGF5b3V0SXRlbVBhdHRlcm4odmFsdWU6IE51bGxhYmxlPHN0cmluZz4pIHtcbiAgICAgICAgdGhpcy5ncmlkTGF5b3V0Q2xhc3NlcyA9IHZhbHVlID8gcGFyc2VMYXlvdXRQYXR0ZXJuKHZhbHVlLCBmYWxzZSkgOiBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIHRoZSBzdGF0dXMgb2YgR3JpZCBMaXN0IEl0ZW1cbiAgICAgKiAoU3RhdHVzZXM6IHN1Y2Nlc3MgfCB3YXJuaW5nIHwgZXJyb3IgfCBuZXV0cmFsKVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc3RhdHVzPzogR3JpZExpc3RJdGVtU3RhdHVzO1xuXG4gICAgLyoqIFNldHMgbnVtYmVyIG9mIHN1YiBpdGVtcyAqL1xuICAgIEBJbnB1dCgpXG4gICAgY291bnRlcjogTnVsbGFibGU8bnVtYmVyPjtcblxuICAgIC8qKlxuICAgICAqIFZhbHVlIGZpZWxkIHN0b3JlcyBpbmZvcm1hdGlvbiBmb3IgcmFkaW8gYnV0dG9uIHZhbHVlLCBjaGVja2JveCBidXR0b24gYW5kIGZvciBHcmlkTGlzdFNlbGVjdGlvbkV2ZW50XG4gICAgICogVGhlIGZpZWxkIGlzIG1hbmRhdG9yeSBmb3IgbW9kZXMgbGlrZSBzaW5nbGVTZWxlY3QsIHNpbmdsZVNlbGVjdExlZnQsIHNpbmdsZVNlbGVjdFJpZ2h0IG9yIG11bHRpU2VsZWN0XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICB2YWx1ZT86IFQ7XG5cbiAgICAvKiogV2hldGhlciBjbGljayBvbiB0aGUgY3VzdG9tIHRvb2xiYXIgaXMgZGlzYWJsZWQgKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVUb29sYmFyQ2xpY2sgPSBmYWxzZTtcblxuICAgIC8qKiBBbGxvd3MgYW4gaXRlbSB0byBiZSBzZWxlY3RlZCBwcm9ncmFtbWF0aWNhbGx5ICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgc2VsZWN0ZWQgPSBmYWxzZTtcblxuICAgIC8qKiBSZW1vdmUgdGhlIHBhZGRpbmcgZnJvbSB0aGUgSXRlbSBib2R5ICovXG4gICAgQElucHV0KClcbiAgICBub1BhZGRpbmcgPSBmYWxzZTtcblxuICAgIC8qKiBTZXRzIHRoZSBgYXJpYS1sYWJlbGAgYXR0cmlidXRlIHRvIHRoZSBlbGVtZW50LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXJpYUxhYmVsOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIFNldHMgdGhlIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGUgdG8gdGhlIGVsZW1lbnQuICovXG4gICAgQElucHV0KClcbiAgICBhcmlhTGFiZWxsZWRCeTogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKlxuICAgICAqIERlZmluZXMgdGhlIHR5cGUgb2YgR3JpZCBMaXN0IEl0ZW1cbiAgICAgKiBUeXBlczpcbiAgICAgKiAtIGFjdGl2ZTogaW5kaWNhdGVzIHRoYXQgdGhlIGl0ZW0gaXMgY2xpY2thYmxlIHZpYSBhY3RpdmUgZmVlZGJhY2sgd2hlbiBpdGVtIGlzIHByZXNzZWRcbiAgICAgKiAtIGRldGFpbDogZW5hYmxlcyBkZXRhaWwgYnV0dG9uIG9mIHRoZSBsaXN0IGl0ZW0gdGhhdCBmaXJlcyBldmVudC5cbiAgICAgKiAtIGRldGFpbHNBbmRBY3RpdmU6IGVuYWJsZXMgXCJkZXRhaWxcIiBhbmQgXCJhY3RpdmVcIiBlbnVtZXJhdGlvbnMgdG9nZXRoZXJcbiAgICAgKiAtIGluYWN0aXZlOiBpbmRpY2F0ZXMgdGhlIGxpc3QgaXRlbSBkb2VzIG5vdCBoYXZlIGFueSBhY3RpdmUgZmVlZGJhY2sgd2hlbiBpdGVtIGlzIHByZXNzZWRcbiAgICAgKiAtIG5hdmlnYXRpb246IGluZGljYXRlcyB0aGUgbGlzdCBpdGVtIGlzIG5hdmlnYWJsZSB0byBzaG93IGV4dHJhIGluZm9ybWF0aW9uIGFib3V0IHRoZSBpdGVtXG4gICAgICogRGVmYXVsdDogaW5hY3RpdmVcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0eXBlKHZhbHVlOiBOdWxsYWJsZTxHcmlkTGlzdEl0ZW1UeXBlPikge1xuICAgICAgICB0aGlzLl90eXBlID0gdmFsdWUgPz8gJ2luYWN0aXZlJztcbiAgICB9XG5cbiAgICBnZXQgdHlwZSgpOiBHcmlkTGlzdEl0ZW1UeXBlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3R5cGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgc3RhdGUgb2YgR3JpZCBMaXN0IEl0ZW1cbiAgICAgKiAoU3RhdGVzOiB1bnJlYWQgfCBlcnJvciB8IGxvY2tlZCB8IGRyYWZ0KVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc3RhdGU/OiBHcmlkTGlzdEl0ZW1TdGF0ZTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBuYXZpZ2F0ZWQgc3RhdGUgb2YgdGhlIGxpc3QgaXRlbS5cbiAgICAgKiBJZiBzZXQgdG8gdHJ1ZSwgYSBuYXZpZ2F0aW9uIGluZGljYXRvciBpcyBkaXNwbGF5ZWQgYXQgdGhlIGVuZCBvZiB0aGUgbGlzdCBpdGVtLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgaXNOYXZpZ2F0ZWQgPSBmYWxzZTtcblxuICAgIC8qKiBUaXRsZSBvZiB0aGUgaXRlbSAqL1xuICAgIEBJbnB1dCgpXG4gICAgdGl0bGU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEFyaWEtbGV2ZWwgb2YgdGhlIHRpdGxlXG4gICAgICogQXZhaWxhYmxlIG9wdGlvbnM6IDEsIDIsIDMsIDQsIDUsIDZcbiAgICAgKiBEZWZhdWx0OiA0XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICB0aXRsZUxldmVsOiAxIHwgMiB8IDMgfCA0IHwgNSB8IDYgPSA0O1xuXG4gICAgLyoqIERlc2NyaXB0aW9uIG9mIHRoZSBpdGVtICovXG4gICAgQElucHV0KClcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gICAgLyoqIFdoZW4gc2V0IHRvIHRydWUgdGhlIGdyaWQgbGlzdCBpdGVtJ3MgaGVpZ2h0IHdpbGwgYmUgc2V0IHRvIGF1dG8gKi9cbiAgICBASW5wdXQoKVxuICAgIGF1dG9IZWlnaHQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEV2ZW50IGlzIHRocm93biwgd2hlbiB0eXBlIGlzIGFjdGl2ZVxuICAgICAqIGFuZCBpdGVtIGlzIHByZXNzZWRcbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwcmVzcyA9IG5ldyBFdmVudEVtaXR0ZXI8R3JpZExpc3RJdGVtT3V0cHV0RXZlbnQ8VD4+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBpcyB0aHJvd24sIHdoZW4gdHlwZSBpcyBkZXRhaWwgb3IgZGV0YWlsc0FuZEFjdGl2ZVxuICAgICAqIGFuZCBEZXRhaWwgYnV0dG9uIHdhcyBwcmVzc2VkXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgZGV0YWlsID0gbmV3IEV2ZW50RW1pdHRlcjxHcmlkTGlzdEl0ZW1PdXRwdXRFdmVudDxUPj4oKTtcblxuICAgIC8qKlxuICAgICAqIEV2ZW50IGlzIHRocm93biwgd2hlbiBtb2RlIGRlbGV0ZVxuICAgICAqIGFuZCBEZWxldGUgYnV0dG9uIHdhcyBwcmVzc2VkXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgZGVsZXRlID0gbmV3IEV2ZW50RW1pdHRlcjxHcmlkTGlzdEl0ZW1PdXRwdXRFdmVudDxUPj4oKTtcblxuICAgIC8qKlxuICAgICAqIEV2ZW50IGlzIHRocm93biwgd2hlbiB0eXBlIGlzIG5hdmlnYXRpb25cbiAgICAgKiBhbmQgTmF2aWdhdGUgYnV0dG9uIHdhcyBwcmVzc2VkXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgbmF2aWdhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPEdyaWRMaXN0SXRlbU91dHB1dEV2ZW50PFQ+PigpO1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQgaXMgdGhyb3duIG9uIGdyaWQgbGlzdCBpdGVtIGNsaWNrLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGNhcmRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8R3JpZExpc3RJdGVtT3V0cHV0RXZlbnQ8VD4+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBpcyB0aHJvd24sIHdoZW4gc3RhdGUgaXMgZXJyb3IsIG5vdCB1c2VkIEdyaWRMaXN0SXRlbUZvb3RlckJhckNvbXBvbmVudFxuICAgICAqIGFuZCBEcmFmdCBidXR0b24gd2FzIHByZXNzZWRcbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBkcmFmdCA9IG5ldyBFdmVudEVtaXR0ZXI8R3JpZExpc3RJdGVtT3V0cHV0RXZlbnQ8VD4+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBpcyB0aHJvd24sIHdoZW4gc3RhdGUgaXMgbG9ja2VkLCBub3QgdXNlZCBHcmlkTGlzdEl0ZW1Gb290ZXJCYXJDb21wb25lbnRcbiAgICAgKiBhbmQgTG9ja2VkIGJ1dHRvbiB3YXMgcHJlc3NlZFxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGxvY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8R3JpZExpc3RJdGVtT3V0cHV0RXZlbnQ8VD4+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoJ2dyaWRMaXN0SXRlbScpXG4gICAgX2dyaWRMaXN0SXRlbTogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoR3JpZExpc3RJdGVtRm9vdGVyQmFyQ29tcG9uZW50KVxuICAgIGZvb3RlckJhckNvbXBvbmVudDogTnVsbGFibGU8R3JpZExpc3RJdGVtRm9vdGVyQmFyQ29tcG9uZW50PjtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoR3JpZExpc3RJdGVtVG9vbGJhckNvbXBvbmVudClcbiAgICBpdGVtVG9vbGJhckNvbXBvbmVudDogTnVsbGFibGU8R3JpZExpc3RJdGVtVG9vbGJhckNvbXBvbmVudD47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoR3JpZExpc3RJdGVtQm9keURpcmVjdGl2ZSlcbiAgICBib2R5OiBOdWxsYWJsZTxHcmlkTGlzdEl0ZW1Cb2R5RGlyZWN0aXZlPjtcblxuICAgIC8qKiBAaGlkZGVuXG4gICAgICogVGhlIGFjdGl2ZSBzdGF0ZSBvZiB0aGUgbGlzdCBpdGVtLlxuICAgICAqIElmIHNldCB0byB0cnVlLCB0aGUgd2hvbGUgY2FyZCBoYXMgYWN0aXZlIHN0YXRlLiBCZWNvbWVzIGZhbHNlIG9ubHkgd2hlbiB0aGUgRWRpdCBidXR0b24gaXMgY2xpY2tlZC5cbiAgICAgKi9cbiAgICBfaXNBY3RpdmUgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzZXQgZ3JpZExheW91dENsYXNzZXModmFsdWU6IHN0cmluZ1tdKSB7XG4gICAgICAgIHRoaXMuX3JlbW92ZUNsYXNzZXNOYW1lcyh0aGlzLl9ncmlkTGF5b3V0Q2xhc3Nlcyk7XG4gICAgICAgIHRoaXMuX2dyaWRMYXlvdXRDbGFzc2VzID0gdmFsdWU7XG4gICAgICAgIHRoaXMuX2FkZENsYXNzZXNOYW1lcyh0aGlzLl9ncmlkTGF5b3V0Q2xhc3Nlcyk7XG4gICAgfVxuXG4gICAgZ2V0IGdyaWRMYXlvdXRDbGFzc2VzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dyaWRMYXlvdXRDbGFzc2VzO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3NlbGVjdGVkSXRlbT86IFQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNldCBzZWxlY3Rpb25Nb2RlKG1vZGU6IEdyaWRMaXN0U2VsZWN0aW9uTW9kZSB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9zZWxlY3Rpb25Nb2RlID0gbW9kZTtcblxuICAgICAgICBpZiAobW9kZSAhPT0gR3JpZExpc3RTZWxlY3Rpb25Nb2RlRW51bS5ERUxFVEUgJiYgbW9kZSAhPT0gR3JpZExpc3RTZWxlY3Rpb25Nb2RlRW51bS5OT05FICYmICF0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0dyaWQgTGlzdCBJdGVtIG11c3QgaGF2ZSBbdmFsdWVdIGF0dHJpYnV0ZS4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkICYmIHRoaXMudmFsdWUgJiYgdGhpcy5faW5kZXggIT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc3QgYWN0aW9uID1cbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbk1vZGUgIT09IEdyaWRMaXN0U2VsZWN0aW9uTW9kZUVudW0uTVVMVElfU0VMRUNUID8gbnVsbCA6IEdyaWRMaXN0U2VsZWN0aW9uQWN0aW9ucy5BREQ7XG5cbiAgICAgICAgICAgIHRoaXMuX2dyaWRMaXN0LnNldFNlbGVjdGVkSXRlbSh0aGlzLnZhbHVlLCB0aGlzLl9pbmRleCwgYWN0aW9uKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBnZXQgc2VsZWN0aW9uTW9kZSgpOiBHcmlkTGlzdFNlbGVjdGlvbk1vZGUgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uTW9kZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9pbmRleD86IG51bWJlcjtcblxuICAgIC8qKiB0YWJJbmRleCBvZiB0aGUgZWxlbWVudCAqL1xuICAgIHRhYkluZGV4ID0gc2lnbmFsKC0xKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdHlwZTogR3JpZExpc3RJdGVtVHlwZSA9ICdpbmFjdGl2ZSc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NlbGVjdGlvbk1vZGU/OiBHcmlkTGlzdFNlbGVjdGlvbk1vZGU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dyaWRMYXlvdXRDbGFzc2VzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaW5uZXJFbGVtZW50Rm9jdXNlZCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX3JlbmRlcjogUmVuZGVyZXIyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9ncmlkTGlzdDogR3JpZExpc3Q8VD4sXG4gICAgICAgIHJlYWRvbmx5IF9jb250ZW50RGVuc2l0eU9ic2VydmVyOiBDb250ZW50RGVuc2l0eU9ic2VydmVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF90YWJiYWJsZUVsZW1lbnRTZXJ2aWNlOiBUYWJiYWJsZUVsZW1lbnRTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkSXRlbXNTdWIgPSB0aGlzLl9ncmlkTGlzdC5fc2VsZWN0ZWRJdGVtcyQuc3Vic2NyaWJlKChpdGVtcykgPT4ge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRJdGVtID0gaXRlbXMuc2VsZWN0aW9uLmZpbmQoKGl0ZW0pID0+IGl0ZW0gPT09IHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoc2VsZWN0ZWRJdGVtc1N1Yik7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKiBGb2N1cyBncmlkIGxpc3QgaXRlbSBwcm9ncmFtbWF0aWNhbGx5ICovXG4gICAgZm9jdXMob3B0aW9ucz86IEZvY3VzT3B0aW9ucyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9ncmlkTGlzdEl0ZW0/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMob3B0aW9ucyk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfc2V0QWN0aXZlKGV2ZW50OiBNb3VzZUV2ZW50LCBpc0FjdGl2ZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5faXNFbGVtZW50Q2FuQmVDbGlja2VkKGV2ZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5faXNBY3RpdmUgPSBpc0FjdGl2ZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9zaW5nbGVTZWxlY3QoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3ByZXZlbnREZWZhdWx0KGV2ZW50KTtcblxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuX3NlbGVjdGVkSXRlbSAhPT0gJ3VuZGVmaW5lZCcgfHwgIXRoaXMudmFsdWUgfHwgdGhpcy5faW5kZXggPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fZ3JpZExpc3Quc2V0U2VsZWN0ZWRJdGVtKHRoaXMudmFsdWUsIHRoaXMuX2luZGV4KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9jaGVja2JveENsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNoZWNrZWQgPSAoPEhUTUxJbnB1dEVsZW1lbnQ+ZXZlbnQudGFyZ2V0KS5jaGVja2VkO1xuICAgICAgICB0aGlzLl9zZWxlY3Rpb25JdGVtKGNoZWNrZWQsIGV2ZW50KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9jaGVja2JveEVzY2FwZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZ3JpZExpc3RJdGVtLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9zZWxlY3Rpb25JdGVtKHZhbHVlOiBib29sZWFuIHwgbnVtYmVyIHwgVCwgZXZlbnQ/OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy52YWx1ZSB8fCB0aGlzLl9pbmRleCA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYWN0aW9uID1cbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uTW9kZSAhPT0gR3JpZExpc3RTZWxlY3Rpb25Nb2RlRW51bS5NVUxUSV9TRUxFQ1RcbiAgICAgICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgICAgICA6IHZhbHVlIHx8IHZhbHVlID09PSAwXG4gICAgICAgICAgICAgICAgICA/IEdyaWRMaXN0U2VsZWN0aW9uQWN0aW9ucy5BRERcbiAgICAgICAgICAgICAgICAgIDogR3JpZExpc3RTZWxlY3Rpb25BY3Rpb25zLlJFTU9WRTtcblxuICAgICAgICB0aGlzLl9ncmlkTGlzdC5zZXRTZWxlY3RlZEl0ZW0odGhpcy52YWx1ZSwgdGhpcy5faW5kZXgsIGFjdGlvbiwgZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX29uRGV0YWlsKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3ByZXZlbnREZWZhdWx0KGV2ZW50KTtcblxuICAgICAgICB0aGlzLmRldGFpbC5lbWl0KHRoaXMuX291dHB1dEV2ZW50VmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX29uTmF2aWdhdGUoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcHJldmVudERlZmF1bHQoZXZlbnQpO1xuXG4gICAgICAgIHRoaXMubmF2aWdhdGUuZW1pdCh0aGlzLl9vdXRwdXRFdmVudFZhbHVlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9vbkRlbGV0ZShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9wcmV2ZW50RGVmYXVsdChldmVudCk7XG5cbiAgICAgICAgdGhpcy5kZWxldGUuZW1pdCh0aGlzLl9vdXRwdXRFdmVudFZhbHVlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9jbGlja09uRHJhZnQoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcHJldmVudERlZmF1bHQoZXZlbnQpO1xuXG4gICAgICAgIHRoaXMuZHJhZnQuZW1pdCh0aGlzLl9vdXRwdXRFdmVudFZhbHVlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9jbGlja09uTG9ja2VkKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3ByZXZlbnREZWZhdWx0KGV2ZW50KTtcblxuICAgICAgICB0aGlzLmxvY2tlZC5lbWl0KHRoaXMuX291dHB1dEV2ZW50VmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX29uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9pc0VsZW1lbnRDYW5CZUNsaWNrZWQoZXZlbnQpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy50eXBlICE9PSAnYWN0aXZlJyAmJiB0aGlzLnR5cGUgIT09ICdkZXRhaWxzQW5kQWN0aXZlJyAmJiB0aGlzLnR5cGUgIT09ICduYXZpZ2F0aW9uJykge1xuICAgICAgICAgICAgdGhpcy5jYXJkQ2xpY2suZW1pdCh0aGlzLl9vdXRwdXRFdmVudFZhbHVlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnR5cGUgPT09ICduYXZpZ2F0aW9uJykge1xuICAgICAgICAgICAgdGhpcy5fb25OYXZpZ2F0ZShldmVudCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wcmVzcy5lbWl0KHRoaXMuX291dHB1dEV2ZW50VmFsdWUpO1xuICAgICAgICB0aGlzLmNhcmRDbGljay5lbWl0KHRoaXMuX291dHB1dEV2ZW50VmFsdWUpO1xuICAgIH1cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9vbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYWN0aXZlRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGlzRm9jdXNlZCA9IGFjdGl2ZUVsZW1lbnQgPT09IHRoaXMuX2dyaWRMaXN0SXRlbS5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBzaG91bGRGb2N1c0NoaWxkID0gS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFtFTlRFUiwgTUFDX0VOVEVSLCBGMiwgRjddKSAmJiAhZXZlbnQuc2hpZnRLZXkgJiYgaXNGb2N1c2VkO1xuICAgICAgICBpZiAoc2hvdWxkRm9jdXNDaGlsZCkge1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICBjb25zdCBpbnRlcmFjdGl2ZUVsZW1lbnRzID0gdGhpcy5fZ3JpZExpc3RJdGVtLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgICAgICAgICAnYSwgYnV0dG9uLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSdcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGNvbnN0IGZpcnN0SW50ZXJhY3RpdmVFbGVtZW50ID0gaW50ZXJhY3RpdmVFbGVtZW50c1swXSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgIGZpcnN0SW50ZXJhY3RpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICBpbnRlcmFjdGl2ZUVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgndGFiaW5kZXgnLCAnMCcpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLl9pbm5lckVsZW1lbnRGb2N1c2VkLnNldCh0cnVlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLl9pbm5lckVsZW1lbnRGb2N1c2VkKCkgJiYgS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFtGMiwgRjcsIEVTQ0FQRV0pKSB7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIHRoaXMuX2dyaWRMaXN0SXRlbS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICB0aGlzLl9pbm5lckVsZW1lbnRGb2N1c2VkLnNldChmYWxzZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxEaXZFbGVtZW50O1xuXG4gICAgICAgIGNvbnN0IGlzU2VsZWN0aW9uS2V5RG93biA9IEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBbRU5URVIsIFNQQUNFXSk7XG5cbiAgICAgICAgaWYgKGlzU2VsZWN0aW9uS2V5RG93biAmJiB0aGlzLnNlbGVjdGlvbk1vZGUgPT09IEdyaWRMaXN0U2VsZWN0aW9uTW9kZUVudW0uTk9ORSkge1xuICAgICAgICAgICAgdGhpcy5wcmVzcy5lbWl0KHRoaXMuX291dHB1dEV2ZW50VmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIWlzU2VsZWN0aW9uS2V5RG93biB8fFxuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25Nb2RlID09PSBHcmlkTGlzdFNlbGVjdGlvbk1vZGVFbnVtLk5PTkUgfHxcbiAgICAgICAgICAgICF0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCdmZC1ncmlkLWxpc3RfX2l0ZW0nKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3ByZXZlbnREZWZhdWx0KGV2ZW50KTtcblxuICAgICAgICBpZiAodGhpcy5zZWxlY3Rpb25Nb2RlID09PSBHcmlkTGlzdFNlbGVjdGlvbk1vZGVFbnVtLk1VTFRJX1NFTEVDVCkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0aW9uSXRlbSghdGhpcy5fc2VsZWN0ZWRJdGVtKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLl9zZWxlY3RlZEl0ZW0gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICB0aGlzLl9zaW5nbGVTZWxlY3QoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pc0VsZW1lbnRDYW5CZUNsaWNrZWQoZXZlbnQ6IE1vdXNlRXZlbnQpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFldmVudD8udGFyZ2V0KSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBlbGVtZW50ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBjb25zdCB7IGNsYXNzTGlzdCB9ID0gZWxlbWVudDtcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgISh0aGlzLl9pc1Rvb2xiYXJFbGVtZW50KGVsZW1lbnQpICYmIHRoaXMuZGlzYWJsZVRvb2xiYXJDbGljaykgJiZcbiAgICAgICAgICAgICFjbGFzc0xpc3QuY29udGFpbnMoJ2ZkLWdyaWQtbGlzdF9fYWN0aW9uLWJ1dHRvbicpICYmXG4gICAgICAgICAgICAhY2xhc3NMaXN0LmNvbnRhaW5zKCdmZC1ncmlkLWxpc3RfX3JhZGlvLWxhYmVsJykgJiZcbiAgICAgICAgICAgICFjbGFzc0xpc3QuY29udGFpbnMoJ2ZkLWdyaWQtbGlzdF9fcmFkaW8taW5wdXQnKSAmJlxuICAgICAgICAgICAgIWNsYXNzTGlzdC5jb250YWlucygnZmQtZ3JpZC1saXN0X19jaGVja2JveC1sYWJlbCcpICYmXG4gICAgICAgICAgICAhY2xhc3NMaXN0LmNvbnRhaW5zKCdmZC1ncmlkLWxpc3RfX2NoZWNrYm94LWlucHV0JykgJiZcbiAgICAgICAgICAgICFjbGFzc0xpc3QuY29udGFpbnMoJ2ZkLWNoZWNrYm94X19jaGVja21hcmsnKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaXNUb29sYmFyRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRoaXMuaXRlbVRvb2xiYXJDb21wb25lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHdoaWxlIChlbGVtZW50LnBhcmVudEVsZW1lbnQgJiYgIWVsZW1lbnQucGFyZW50RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ2ZkLWdyaWQtbGlzdF9faXRlbScpKSB7XG4gICAgICAgICAgICBpZiAoZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ2ZkLXRvb2xiYXItLWV4dHJhLWNvbnRlbnQnKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBlbGVtZW50ID0gZWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcHJldmVudERlZmF1bHQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBnZXQgX291dHB1dEV2ZW50VmFsdWUoKTogR3JpZExpc3RJdGVtT3V0cHV0RXZlbnQ8VD4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdmFsdWU6IHRoaXMudmFsdWUsXG4gICAgICAgICAgICBpbmRleDogdGhpcy5faW5kZXhcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2FkZENsYXNzZXNOYW1lcyhjbGFzc2VzTmFtZXM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgICAgIGZvciAoY29uc3QgY2xhc3NOYW1lIG9mIGNsYXNzZXNOYW1lcykge1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyLmFkZENsYXNzKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgY2xhc3NOYW1lKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcmVtb3ZlQ2xhc3Nlc05hbWVzKGNsYXNzZXNOYW1lczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICAgICAgZm9yIChjb25zdCBjbGFzc05hbWUgb2YgY2xhc3Nlc05hbWVzKSB7XG4gICAgICAgICAgICB0aGlzLl9yZW5kZXIucmVtb3ZlQ2xhc3ModGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBjbGFzc05hbWUpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdlxuICAgICNncmlkTGlzdEl0ZW1cbiAgICBbaWRdPVwiaWRcIlxuICAgIFt0YWJpbmRleF09XCJ0YWJJbmRleCgpXCJcbiAgICBjbGFzcz1cImZkLWdyaWQtbGlzdF9faXRlbVwiXG4gICAgcm9sZT1cIm9wdGlvblwiXG4gICAgW2NsYXNzLmlzLW5hdmlnYXRlZF09XCJpc05hdmlnYXRlZFwiXG4gICAgW2NsYXNzLmlzLXNlbGVjdGVkXT1cIiEhX3NlbGVjdGVkSXRlbVwiXG4gICAgW2NsYXNzLmZkLWdyaWQtbGlzdF9faXRlbS0tbGlua109XCJcbiAgICAgICAgX2lzQWN0aXZlICYmICh0eXBlID09PSAnYWN0aXZlJyB8fCB0eXBlID09PSAnZGV0YWlsc0FuZEFjdGl2ZScgfHwgdHlwZSA9PT0gJ25hdmlnYXRpb24nKVxuICAgIFwiXG4gICAgW2NsYXNzLmZkLWdyaWQtbGlzdF9faXRlbS0tdW5yZWFkXT1cInN0YXRlID09PSAndW5yZWFkJ1wiXG4gICAgW2NsYXNzLmZkLWdyaWQtbGlzdF9faXRlbS0tbG9ja2VkXT1cInN0YXRlID09PSAnbG9ja2VkJ1wiXG4gICAgW2NsYXNzLmZkLWdyaWQtbGlzdF9faXRlbS0tZHJhZnRdPVwic3RhdGUgPT09ICdkcmFmdCdcIlxuICAgIFtjbGFzcy5mZC1ncmlkLWxpc3RfX2l0ZW0tLWVycm9yXT1cInN0YXRlID09PSAnZXJyb3InXCJcbiAgICBbY2xhc3MuZmQtZ3JpZC1saXN0X19pdGVtLS1oZWlnaHQtYXV0b109XCJhdXRvSGVpZ2h0XCJcbiAgICAoa2V5ZG93bik9XCJfb25LZXlEb3duKCRldmVudClcIlxuICAgIChjbGljayk9XCJzZWxlY3Rpb25Nb2RlID09PSAnc2luZ2xlU2VsZWN0JyAmJiBfc2luZ2xlU2VsZWN0KCRldmVudCk7IF9vbkNsaWNrKCRldmVudClcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnlcIlxuICAgIChtb3VzZW92ZXIpPVwiX3NldEFjdGl2ZSgkZXZlbnQsIGZhbHNlKVwiXG4gICAgKG1vdXNlb3V0KT1cIl9zZXRBY3RpdmUoJGV2ZW50LCB0cnVlKVwiXG4gICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJzZWxlY3Rpb25Nb2RlID09PSAnbm9uZScgPyBudWxsIDogISFfc2VsZWN0ZWRJdGVtXCJcbj5cbiAgICBAaWYgKHN0YXR1cykge1xuICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJmZC1ncmlkLWxpc3RfX2hpZ2hsaWdodFwiXG4gICAgICAgICAgICBbY2xhc3MuZmQtZ3JpZC1saXN0X19oaWdobGlnaHQtLXBvc2l0aXZlXT1cInN0YXR1cyA9PT0gJ3N1Y2Nlc3MnXCJcbiAgICAgICAgICAgIFtjbGFzcy5mZC1ncmlkLWxpc3RfX2hpZ2hsaWdodC0tY3JpdGljYWxdPVwic3RhdHVzID09PSAnd2FybmluZydcIlxuICAgICAgICAgICAgW2NsYXNzLmZkLWdyaWQtbGlzdF9faGlnaGxpZ2h0LS1uZWdhdGl2ZV09XCJzdGF0dXMgPT09ICdlcnJvcidcIlxuICAgICAgICAgICAgW2NsYXNzLmZkLWdyaWQtbGlzdF9faGlnaGxpZ2h0LS1uZXV0cmFsXT1cInN0YXR1cyA9PT0gJ25ldXRyYWwnXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ2NvcmVHcmlkTGlzdC5saXN0SXRlbVN0YXR1c0FyaWFMYWJlbCcgfCBmZFRyYW5zbGF0ZTogeyBzdGF0dXM6IHN0YXR1cyB9XCJcbiAgICAgICAgPjwvc3Bhbj5cbiAgICB9XG4gICAgQGlmIChzZWxlY3Rpb25Nb2RlID09PSAnc2luZ2xlU2VsZWN0Jykge1xuICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwicmFkaW9cIj48L25nLXRlbXBsYXRlPlxuICAgIH1cbiAgICBAaWYgKFxuICAgICAgICBjb3VudGVyIHx8XG4gICAgICAgIGl0ZW1Ub29sYmFyQ29tcG9uZW50Py5jb250ZW50VGVtcGxhdGVSZWYgfHxcbiAgICAgICAgKHR5cGUgJiYgdHlwZSAhPT0gJ2luYWN0aXZlJyAmJiB0eXBlICE9PSAnYWN0aXZlJykgfHxcbiAgICAgICAgKHNlbGVjdGlvbk1vZGUgIT09ICdub25lJyAmJiBzZWxlY3Rpb25Nb2RlICE9PSAnc2luZ2xlU2VsZWN0JylcbiAgICApIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImZkLXRvb2xiYXIgZmQtZ3JpZC1saXN0X19pdGVtLXRvb2xiYXJcIj5cbiAgICAgICAgICAgIEBpZiAoc2VsZWN0aW9uTW9kZSA9PT0gJ3NpbmdsZVNlbGVjdExlZnQnKSB7XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJhZGlvXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoc2VsZWN0aW9uTW9kZSA9PT0gJ211bHRpU2VsZWN0Jykge1xuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJjaGVja2JveFwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKGl0ZW1Ub29sYmFyQ29tcG9uZW50Py5jb250ZW50VGVtcGxhdGVSZWYpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtdG9vbGJhci0tZXh0cmEtY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbVRvb2xiYXJDb21wb25lbnQhLmNvbnRlbnRUZW1wbGF0ZVJlZlwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8ZmQtZ3JpZC1saXN0LXRpdGxlLWJhci1zcGFjZXI+PC9mZC1ncmlkLWxpc3QtdGl0bGUtYmFyLXNwYWNlcj5cbiAgICAgICAgICAgIEBpZiAoY291bnRlcikge1xuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtZ3JpZC1saXN0X19pdGVtLWNvdW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidjb3JlR3JpZExpc3QubGlzdEl0ZW1Db3VudGVyQXJpYUxhYmVsJyB8IGZkVHJhbnNsYXRlOiB7IGNvdW50OiBjb3VudGVyIH1cIlxuICAgICAgICAgICAgICAgICAgICA+e3sgY291bnRlciB9fTwvc3BhblxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAodHlwZSA9PT0gJ2RldGFpbCcgfHwgdHlwZSA9PT0gJ2RldGFpbHNBbmRBY3RpdmUnKSB7XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgICAgICBnbHlwaD1cImVkaXRcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZkLWdyaWQtbGlzdF9fYWN0aW9uLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ2NvcmVHcmlkTGlzdC5saXN0SXRlbUJ1dHRvbkRldGFpbHNUaXRsZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInY29yZUdyaWRMaXN0Lmxpc3RJdGVtQnV0dG9uRGV0YWlsc1RpdGxlJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgZmRDb21wYWN0XG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfb25EZXRhaWwoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChzZWxlY3Rpb25Nb2RlID09PSAnZGVsZXRlJykge1xuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgZ2x5cGg9XCJkZWNsaW5lXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmZC1ncmlkLWxpc3RfX2FjdGlvbi1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidjb3JlR3JpZExpc3QubGlzdEl0ZW1CdXR0b25EZWxldGVUaXRsZScgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInY29yZUdyaWRMaXN0Lmxpc3RJdGVtQnV0dG9uRGVsZXRlVGl0bGUnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICB0aXRsZT1cIkRlbGV0ZVwiXG4gICAgICAgICAgICAgICAgICAgIGZkQ29tcGFjdFxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiX29uRGVsZXRlKCRldmVudClcIlxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAodHlwZSA9PT0gJ25hdmlnYXRpb24nKSB7XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1ncmlkLWxpc3RfX2l0ZW0tbmF2aWdhdGlvbi1pbmRpY2F0b3JcIj5cbiAgICAgICAgICAgICAgICAgICAgPGZkLWljb24gZ2x5cGg9XCJuYXZpZ2F0aW9uLXJpZ2h0LWFycm93XCI+PC9mZC1pY29uPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoc2VsZWN0aW9uTW9kZSA9PT0gJ3NpbmdsZVNlbGVjdFJpZ2h0Jykge1xuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJyYWRpb1wiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbiAgICA8ZGl2IGNsYXNzPVwiZmQtZ3JpZC1saXN0X19pdGVtLWJvZHlcIiBbY2xhc3MuZmQtZ3JpZC1saXN0X19pdGVtLWJvZHktLW5vLXBhZGRpbmddPVwibm9QYWRkaW5nXCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZC1ncmlkLWxpc3QtaXRlbS1pbWFnZV1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIEBpZiAodGl0bGUgfHwgZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZC1ncmlkLWxpc3RfX2l0ZW0taGVhZGVyXCI+XG4gICAgICAgICAgICAgICAgQGlmICh0aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwiaGVhZGluZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxldmVsXT1cInRpdGxlTGV2ZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmZC10aXRsZSBmZC10aXRsZS0taDQgZmQtZ3JpZC1saXN0X19pdGVtLXRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgdGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1ncmlkLWxpc3RfX2l0ZW0tc3VidGl0bGVcIj57eyBkZXNjcmlwdGlvbiB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKGJvZHk/LnRlbXBsYXRlUmVmKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtZ3JpZC1saXN0X19pdGVtLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiYm9keSEudGVtcGxhdGVSZWZcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChzdGF0ZSB8fCBmb290ZXJCYXJDb21wb25lbnQ/LmNvbnRlbnRUZW1wbGF0ZVJlZikge1xuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1Gb290ZXJcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICB9XG4gICAgPC9kaXY+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjcmFkaW8+XG4gICAgPGlucHV0XG4gICAgICAgIFthdHRyLnRhYmluZGV4XT1cInNlbGVjdGlvbk1vZGUgPT09ICdzaW5nbGVTZWxlY3QnID8gLTEgOiAwXCJcbiAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgY2xhc3M9XCJmZC1yYWRpbyBmZC1ncmlkLWxpc3RfX3JhZGlvLWlucHV0XCJcbiAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwic2VsZWN0aW9uTW9kZSA9PT0gJ3NpbmdsZVNlbGVjdCcgPyAnbm9uZScgOiAnJ1wiXG4gICAgICAgIFtpZF09XCJpZCArICctcmFkaW8nXCJcbiAgICAgICAgW25hbWVdPVwiJ2ZkLWdyaWQtbGlzdC1pdGVtLXRvb2xiYXItJyArIHNlbGVjdGlvbk1vZGVcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeVwiXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgIFtuZ01vZGVsXT1cIl9zZWxlY3RlZEl0ZW1cIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCIkZXZlbnQgJiYgX3NlbGVjdGlvbkl0ZW0oJGV2ZW50KVwiXG4gICAgLz5cbiAgICA8bGFiZWxcbiAgICAgICAgY2xhc3M9XCJmZC1yYWRpb19fbGFiZWwgZmQtZ3JpZC1saXN0X19yYWRpby1sYWJlbFwiXG4gICAgICAgIFtmb3JdPVwiaWQgKyAnLXJhZGlvJ1wiXG4gICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAobW91c2VvdmVyKT1cIl9zZXRBY3RpdmUoJGV2ZW50LCBmYWxzZSlcIlxuICAgICAgICAobW91c2VvdXQpPVwiX3NldEFjdGl2ZSgkZXZlbnQsIHRydWUpXCJcbiAgICA+PC9sYWJlbD5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2NoZWNrYm94PlxuICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICBjbGFzcz1cImZkLWNoZWNrYm94IGZkLWdyaWQtbGlzdF9fY2hlY2tib3gtaW5wdXRcIlxuICAgICAgICBbaWRdPVwiaWQgKyAnLWNoZWNrYm94J1wiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5XCJcbiAgICAgICAgW25nTW9kZWxdPVwiX3NlbGVjdGVkSXRlbVwiXG4gICAgICAgIChjbGljayk9XCJfY2hlY2tib3hDbGljaygkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24uZXNjYXBlKT1cIl9jaGVja2JveEVzY2FwZSgpXCJcbiAgICAgICAgKGtleWRvd24uc2hpZnQpPVwiX2NoZWNrYm94RXNjYXBlKClcIlxuICAgIC8+XG4gICAgPGxhYmVsIGNsYXNzPVwiZmQtY2hlY2tib3hfX2xhYmVsIGZkLWdyaWQtbGlzdF9fY2hlY2tib3gtbGFiZWxcIiBbZm9yXT1cImlkICsgJy1jaGVja2JveCdcIiB0YWJpbmRleD1cIi0xXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZmQtY2hlY2tib3hfX2NoZWNrbWFya1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cbiAgICA8L2xhYmVsPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjaXRlbUZvb3Rlcj5cbiAgICBAaWYgKGZvb3RlckJhckNvbXBvbmVudCB8fCBzdGF0ZSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtZ3JpZC1saXN0X19pdGVtLWJvZHktYWN0aW9uc1wiPlxuICAgICAgICAgICAgQGlmIChmb290ZXJCYXJDb21wb25lbnQ/LmNvbnRlbnRUZW1wbGF0ZVJlZikge1xuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJmb290ZXJCYXJDb21wb25lbnQhLmNvbnRlbnRUZW1wbGF0ZVJlZlwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKCFmb290ZXJCYXJDb21wb25lbnQ/LmNvbnRlbnRUZW1wbGF0ZVJlZiAmJiBzdGF0ZSkge1xuICAgICAgICAgICAgICAgIEBpZiAoc3RhdGUgPT09ICdlcnJvcicpIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgIGZkLW9iamVjdC1zdGF0dXNcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cz1cIm5lZ2F0aXZlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInY29yZUdyaWRMaXN0Lmxpc3RJdGVtU3RhdHVzQ29udGFpbnNFcnJvcnMnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInY29yZUdyaWRMaXN0Lmxpc3RJdGVtU3RhdHVzQ29udGFpbnNFcnJvcnMnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgKHN0YXRlID09PSAnbG9ja2VkJykge1xuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZkLWdyaWQtbGlzdF9fYWN0aW9uLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoPVwicHJpdmF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ2NvcmVHcmlkTGlzdC5saXN0SXRlbVN0YXR1c0xvY2tlZCcgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidjb3JlR3JpZExpc3QubGlzdEl0ZW1TdGF0dXNMb2NrZWQnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZmRDb21wYWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiX2NsaWNrT25Mb2NrZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChzdGF0ZSA9PT0gJ2RyYWZ0Jykge1xuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZkLWdyaWQtbGlzdF9fYWN0aW9uLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ2NvcmVHcmlkTGlzdC5saXN0SXRlbVN0YXR1c0RyYWZ0JyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInY29yZUdyaWRMaXN0Lmxpc3RJdGVtU3RhdHVzRHJhZnQnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZmRDb21wYWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiX2NsaWNrT25EcmFmdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -2,7 +2,7 @@ import { Directive } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class NotificationPopoverDirective {
4
4
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NotificationPopoverDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
5
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.3", type: NotificationPopoverDirective, isStandalone: true, selector: "[fdNotificationPopover], [fd-notification-popover]", host: { classAttribute: "fd-notification-popover" }, ngImport: i0 }); }
5
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.3", type: NotificationPopoverDirective, isStandalone: true, selector: "[fdNotificationPopover], [fd-notification-popover]", host: { attributes: { "role": "dialog" }, classAttribute: "fd-notification-popover" }, ngImport: i0 }); }
6
6
  }
7
7
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NotificationPopoverDirective, decorators: [{
8
8
  type: Directive,
@@ -10,8 +10,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
10
10
  selector: '[fdNotificationPopover], [fd-notification-popover]',
11
11
  standalone: true,
12
12
  host: {
13
- class: 'fd-notification-popover'
13
+ class: 'fd-notification-popover',
14
+ role: 'dialog'
14
15
  }
15
16
  }]
16
17
  }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLXBvcG92ZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL25vdGlmaWNhdGlvbi9kaXJlY3RpdmVzL25vdGlmaWNhdGlvbi1wb3BvdmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVMxQyxNQUFNLE9BQU8sNEJBQTRCOzhHQUE1Qiw0QkFBNEI7a0dBQTVCLDRCQUE0Qjs7MkZBQTVCLDRCQUE0QjtrQkFQeEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsb0RBQW9EO29CQUM5RCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNGLEtBQUssRUFBRSx5QkFBeUI7cUJBQ25DO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkTm90aWZpY2F0aW9uUG9wb3Zlcl0sIFtmZC1ub3RpZmljYXRpb24tcG9wb3Zlcl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ZkLW5vdGlmaWNhdGlvbi1wb3BvdmVyJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uUG9wb3ZlckRpcmVjdGl2ZSB7fVxuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLXBvcG92ZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL25vdGlmaWNhdGlvbi9kaXJlY3RpdmVzL25vdGlmaWNhdGlvbi1wb3BvdmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVUxQyxNQUFNLE9BQU8sNEJBQTRCOzhHQUE1Qiw0QkFBNEI7a0dBQTVCLDRCQUE0Qjs7MkZBQTVCLDRCQUE0QjtrQkFSeEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsb0RBQW9EO29CQUM5RCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNGLEtBQUssRUFBRSx5QkFBeUI7d0JBQ2hDLElBQUksRUFBRSxRQUFRO3FCQUNqQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZE5vdGlmaWNhdGlvblBvcG92ZXJdLCBbZmQtbm90aWZpY2F0aW9uLXBvcG92ZXJdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdmZC1ub3RpZmljYXRpb24tcG9wb3ZlcicsXG4gICAgICAgIHJvbGU6ICdkaWFsb2cnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25Qb3BvdmVyRGlyZWN0aXZlIHt9XG4iXX0=