@magicx-eng/ai-autocomplete-angular 0.39.0 → 0.39.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.
- package/esm2020/lib/ai-autocomplete/ai-autocomplete.component.mjs +3 -3
- package/esm2020/lib/ai-autocomplete-dropdown/ai-autocomplete-dropdown.component.mjs +3 -3
- package/esm2020/lib/internal/pill-list/pill-list.component.mjs +12 -4
- package/esm2020/lib/internal/suggestion-item/suggestion-item.component.mjs +3 -3
- package/fesm2015/magicx-eng-ai-autocomplete-angular.mjs +16 -10
- package/fesm2015/magicx-eng-ai-autocomplete-angular.mjs.map +1 -1
- package/fesm2020/magicx-eng-ai-autocomplete-angular.mjs +16 -10
- package/fesm2020/magicx-eng-ai-autocomplete-angular.mjs.map +1 -1
- package/lib/internal/pill-list/pill-list.component.d.ts +8 -1
- package/lib/internal/pill-list/pill-list.component.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { CommonModule } from "@angular/common";
|
|
2
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation, } from "@angular/core";
|
|
2
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, inject, Output, ViewEncapsulation, } from "@angular/core";
|
|
3
|
+
import { DomSanitizer } from "@angular/platform-browser";
|
|
4
|
+
import { isSmartSuggestion, isTraditionalAutocompleteSuggestion, SMART_SUGGESTION_SPARKLE_SVG, } from "@magicx-eng/ai-autocomplete-vanilla";
|
|
3
5
|
import * as i0 from "@angular/core";
|
|
4
6
|
import * as i1 from "@angular/common";
|
|
5
7
|
/**
|
|
@@ -30,6 +32,12 @@ export class PillListComponent {
|
|
|
30
32
|
*/
|
|
31
33
|
this.activeSelected = false;
|
|
32
34
|
this.selectPill = new EventEmitter();
|
|
35
|
+
/** The sparkle after the Smart Suggestion header; a fixed SDK constant, so it is trusted as is. */
|
|
36
|
+
this.sparkleSvg = inject(DomSanitizer).bypassSecurityTrustHtml(SMART_SUGGESTION_SPARKLE_SVG);
|
|
37
|
+
/** The traditional autocomplete suggestion heads completions instead of asking a question. */
|
|
38
|
+
this.isSmartSuggestion = isSmartSuggestion;
|
|
39
|
+
/** The inert header over completions, which takes no pointer; a marked question stays tappable. */
|
|
40
|
+
this.isCompletionHeader = isTraditionalAutocompleteSuggestion;
|
|
33
41
|
/** Fallback widths when loading with zero cached pills (matches React). */
|
|
34
42
|
this.fallbackSkeletonWidths = [125, 69];
|
|
35
43
|
this.trackByType = (_, pill) => pill.parameter;
|
|
@@ -64,10 +72,10 @@ export class PillListComponent {
|
|
|
64
72
|
}
|
|
65
73
|
}
|
|
66
74
|
PillListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PillListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
67
|
-
PillListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PillListComponent, isStandalone: true, selector: "aia-pill-list", inputs: { pills: "pills", activePillIndex: "activePillIndex", rounded: "rounded", loading: "loading", activeSelected: "activeSelected" }, outputs: { selectPill: "selectPill" }, ngImport: i0, template: "<ng-container *ngIf=\"loading && pills.length === 0; else realPills\">\n <span class=\"aia-pill-list\" data-aia-pill-list-loading=\"\">\n <span\n *ngFor=\"let w of fallbackSkeletonWidths; trackBy: trackByWidth; let i = index\"\n data-aia-pill-skeleton=\"\"\n class=\"aia-pill aia-pill-skeleton\"\n [class.aia-pill-rounded]=\"rounded\"\n [style.width.px]=\"w\"\n [style.opacity]=\"pillOpacity(i)\"\n ></span>\n </span>\n</ng-container>\n\n<ng-template #realPills>\n <span\n class=\"aia-pill-list\"\n [attr.data-aia-pill-list-loading]=\"loading ? '' : null\"\n >\n <button\n *ngFor=\"let pill of pills; trackBy: trackByType; let i = index\"\n type=\"button\"\n data-aia-pill=\"\"\n [attr.data-aia-loading]=\"loading ? '' : null\"\n tabindex=\"-1\"\n class=\"aia-pill\"\n [class.aia-pill-rounded]=\"rounded\"\n [class.aia-pill-skeleton]=\"loading\"\n [style.opacity]=\"pillOpacity(i)\"\n [disabled]=\"loading\"\n (mousedown)=\"onPillMouseDown($event)\"\n (click)=\"onPillClick(i)\"\n >\n {{ pill.text }}\n </button>\n </span>\n</ng-template>\n", styles: [".aia-pill-list{position:relative;z-index:1;pointer-events:auto;display:inline-flex;gap:7px;padding:0 8px;align-items:center;vertical-align:middle}.aia-pill{display:inline-flex;align-items:center;justify-content:center;padding:5px 8px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--aia-pill-color, var(--aia-color-text-muted, #c1c4cb));font-family:inherit;font-size:calc(var(--aia-pill-font-size, 14px) * .8);font-weight:600;line-height:normal;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;white-space:nowrap;animation:aiaPillFadeIn .4s cubic-bezier(.4,0,.2,1) forwards}.aia-pill-rounded{border-radius:999px}.aia-pill-skeleton{pointer-events:none;cursor:default;color:transparent;background:var(--aia-skeleton-bg, var(--aia-pill-bg, rgba(189, 189, 189, .25)));animation:aiaPillFadeIn .1s ease-out,aiaPillSkeletonPulse 1.4s ease-in-out infinite}[data-aia-skeleton-exiting] .aia-pill-skeleton{animation:aiaPillSkeletonOut .1s ease-in forwards}@keyframes aiaPillSkeletonOut{to{opacity:0}}@keyframes aiaPillFadeIn{0%{opacity:0}}@keyframes aiaPillSkeletonPulse{0%,to{filter:brightness(1)}50%{filter:brightness(.55)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
75
|
+
PillListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PillListComponent, isStandalone: true, selector: "aia-pill-list", inputs: { pills: "pills", activePillIndex: "activePillIndex", rounded: "rounded", loading: "loading", activeSelected: "activeSelected" }, outputs: { selectPill: "selectPill" }, ngImport: i0, template: "<ng-container *ngIf=\"loading && pills.length === 0; else realPills\">\n <span class=\"aia-pill-list\" data-aia-pill-list-loading=\"\">\n <span\n *ngFor=\"let w of fallbackSkeletonWidths; trackBy: trackByWidth; let i = index\"\n data-aia-pill-skeleton=\"\"\n class=\"aia-pill aia-pill-skeleton\"\n [class.aia-pill-rounded]=\"rounded\"\n [style.width.px]=\"w\"\n [style.opacity]=\"pillOpacity(i)\"\n ></span>\n </span>\n</ng-container>\n\n<ng-template #realPills>\n <span\n class=\"aia-pill-list\"\n [attr.data-aia-pill-list-loading]=\"loading ? '' : null\"\n >\n <button\n *ngFor=\"let pill of pills; trackBy: trackByType; let i = index\"\n type=\"button\"\n data-aia-pill=\"\"\n [attr.data-aia-loading]=\"loading ? '' : null\"\n [attr.data-aia-smart-suggestion]=\"isSmartSuggestion(pill) ? (isCompletionHeader(pill) ? 'header' : '') : null\"\n tabindex=\"-1\"\n class=\"aia-pill\"\n [class.aia-pill-rounded]=\"rounded\"\n [class.aia-pill-skeleton]=\"loading\"\n [style.opacity]=\"pillOpacity(i)\"\n [disabled]=\"loading\"\n (mousedown)=\"onPillMouseDown($event)\"\n (click)=\"onPillClick(i)\"\n >\n <ng-container *ngIf=\"isSmartSuggestion(pill); else plainLabel\"\n ><span class=\"aia-smart-suggestion-text\">{{ pill.text }}</span\n ><span class=\"aia-smart-suggestion-sparkle\" [innerHTML]=\"sparkleSvg\"></span\n ></ng-container>\n <ng-template #plainLabel>{{ pill.text }}</ng-template>\n </button>\n </span>\n</ng-template>\n", styles: [".aia-pill-list{position:relative;z-index:1;pointer-events:auto;display:inline-flex;gap:7px;padding:0 8px;align-items:center;vertical-align:middle}.aia-pill{display:inline-flex;align-items:center;justify-content:center;padding:5px 8px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--aia-pill-color, var(--aia-color-text-muted, #c1c4cb));font-family:inherit;font-size:calc(var(--aia-pill-font-size, 14px) * .8);font-weight:600;line-height:normal;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;white-space:nowrap;animation:aiaPillFadeIn .4s cubic-bezier(.4,0,.2,1) forwards}.aia-pill-rounded{border-radius:999px}.aia-pill[data-aia-smart-suggestion]{gap:.35em}.aia-pill[data-aia-smart-suggestion=header]{cursor:default}.aia-smart-suggestion-text{background:linear-gradient(105deg,var(--aia-pill-color, var(--aia-color-text-muted, #c1c4cb)) 34%,var(--aia-smart-suggestion-accent, #b84549) 44%,var(--aia-smart-suggestion-glint, #f3c4c5) 50%,var(--aia-smart-suggestion-accent, #b84549) 56%,var(--aia-pill-color, var(--aia-color-text-muted, #c1c4cb)) 66%) 100% 0 / 300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:aiaSmartSuggestion-shimmer 2.5s ease-in-out 2}.aia-smart-suggestion-sparkle{display:inline-flex;color:var(--aia-smart-suggestion-accent, #b84549)}.aia-smart-suggestion-sparkle .aia-sparkle-large,.aia-smart-suggestion-sparkle .aia-sparkle-small{transform-box:fill-box;transform-origin:center;animation:aiaSmartSuggestion-sparkle 2.5s ease-in-out 2}.aia-smart-suggestion-sparkle .aia-sparkle-small{animation-name:aiaSmartSuggestion-sparkle-small}.aia-pill-skeleton .aia-smart-suggestion-text,.aia-pill-skeleton .aia-smart-suggestion-sparkle{visibility:hidden}@keyframes aiaSmartSuggestion-shimmer{0%{background-position:100% 0}60%,to{background-position:0 0}}@keyframes aiaSmartSuggestion-sparkle{0%,45%,75%,to{transform:scale(1)}60%{transform:scale(1.12)}}@keyframes aiaSmartSuggestion-sparkle-small{0%,45%,75%,to{transform:scale(1);opacity:1}60%{transform:scale(1.5);opacity:.55}}@media (prefers-reduced-motion: reduce){.aia-smart-suggestion-text,.aia-smart-suggestion-sparkle .aia-sparkle-large,.aia-smart-suggestion-sparkle .aia-sparkle-small{animation:none}}@media (forced-colors: active){.aia-smart-suggestion-text{background:none;-webkit-text-fill-color:currentColor;animation:none}}.aia-pill-skeleton{pointer-events:none;cursor:default;color:transparent;background:var(--aia-skeleton-bg, var(--aia-pill-bg, rgba(189, 189, 189, .25)));animation:aiaPillFadeIn .1s ease-out,aiaPillSkeletonPulse 1.4s ease-in-out infinite}[data-aia-skeleton-exiting] .aia-pill-skeleton{animation:aiaPillSkeletonOut .1s ease-in forwards}@keyframes aiaPillSkeletonOut{to{opacity:0}}@keyframes aiaPillFadeIn{0%{opacity:0}}@keyframes aiaPillSkeletonPulse{0%,to{filter:brightness(1)}50%{filter:brightness(.55)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
68
76
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PillListComponent, decorators: [{
|
|
69
77
|
type: Component,
|
|
70
|
-
args: [{ selector: "aia-pill-list", standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"loading && pills.length === 0; else realPills\">\n <span class=\"aia-pill-list\" data-aia-pill-list-loading=\"\">\n <span\n *ngFor=\"let w of fallbackSkeletonWidths; trackBy: trackByWidth; let i = index\"\n data-aia-pill-skeleton=\"\"\n class=\"aia-pill aia-pill-skeleton\"\n [class.aia-pill-rounded]=\"rounded\"\n [style.width.px]=\"w\"\n [style.opacity]=\"pillOpacity(i)\"\n ></span>\n </span>\n</ng-container>\n\n<ng-template #realPills>\n <span\n class=\"aia-pill-list\"\n [attr.data-aia-pill-list-loading]=\"loading ? '' : null\"\n >\n <button\n *ngFor=\"let pill of pills; trackBy: trackByType; let i = index\"\n type=\"button\"\n data-aia-pill=\"\"\n [attr.data-aia-loading]=\"loading ? '' : null\"\n tabindex=\"-1\"\n class=\"aia-pill\"\n [class.aia-pill-rounded]=\"rounded\"\n [class.aia-pill-skeleton]=\"loading\"\n [style.opacity]=\"pillOpacity(i)\"\n [disabled]=\"loading\"\n (mousedown)=\"onPillMouseDown($event)\"\n (click)=\"onPillClick(i)\"\n >\n {{ pill.text }}\n </button>\n </span>\n</ng-template>\n", styles: [".aia-pill-list{position:relative;z-index:1;pointer-events:auto;display:inline-flex;gap:7px;padding:0 8px;align-items:center;vertical-align:middle}.aia-pill{display:inline-flex;align-items:center;justify-content:center;padding:5px 8px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--aia-pill-color, var(--aia-color-text-muted, #c1c4cb));font-family:inherit;font-size:calc(var(--aia-pill-font-size, 14px) * .8);font-weight:600;line-height:normal;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;white-space:nowrap;animation:aiaPillFadeIn .4s cubic-bezier(.4,0,.2,1) forwards}.aia-pill-rounded{border-radius:999px}.aia-pill-skeleton{pointer-events:none;cursor:default;color:transparent;background:var(--aia-skeleton-bg, var(--aia-pill-bg, rgba(189, 189, 189, .25)));animation:aiaPillFadeIn .1s ease-out,aiaPillSkeletonPulse 1.4s ease-in-out infinite}[data-aia-skeleton-exiting] .aia-pill-skeleton{animation:aiaPillSkeletonOut .1s ease-in forwards}@keyframes aiaPillSkeletonOut{to{opacity:0}}@keyframes aiaPillFadeIn{0%{opacity:0}}@keyframes aiaPillSkeletonPulse{0%,to{filter:brightness(1)}50%{filter:brightness(.55)}}\n"] }]
|
|
78
|
+
args: [{ selector: "aia-pill-list", standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"loading && pills.length === 0; else realPills\">\n <span class=\"aia-pill-list\" data-aia-pill-list-loading=\"\">\n <span\n *ngFor=\"let w of fallbackSkeletonWidths; trackBy: trackByWidth; let i = index\"\n data-aia-pill-skeleton=\"\"\n class=\"aia-pill aia-pill-skeleton\"\n [class.aia-pill-rounded]=\"rounded\"\n [style.width.px]=\"w\"\n [style.opacity]=\"pillOpacity(i)\"\n ></span>\n </span>\n</ng-container>\n\n<ng-template #realPills>\n <span\n class=\"aia-pill-list\"\n [attr.data-aia-pill-list-loading]=\"loading ? '' : null\"\n >\n <button\n *ngFor=\"let pill of pills; trackBy: trackByType; let i = index\"\n type=\"button\"\n data-aia-pill=\"\"\n [attr.data-aia-loading]=\"loading ? '' : null\"\n [attr.data-aia-smart-suggestion]=\"isSmartSuggestion(pill) ? (isCompletionHeader(pill) ? 'header' : '') : null\"\n tabindex=\"-1\"\n class=\"aia-pill\"\n [class.aia-pill-rounded]=\"rounded\"\n [class.aia-pill-skeleton]=\"loading\"\n [style.opacity]=\"pillOpacity(i)\"\n [disabled]=\"loading\"\n (mousedown)=\"onPillMouseDown($event)\"\n (click)=\"onPillClick(i)\"\n >\n <ng-container *ngIf=\"isSmartSuggestion(pill); else plainLabel\"\n ><span class=\"aia-smart-suggestion-text\">{{ pill.text }}</span\n ><span class=\"aia-smart-suggestion-sparkle\" [innerHTML]=\"sparkleSvg\"></span\n ></ng-container>\n <ng-template #plainLabel>{{ pill.text }}</ng-template>\n </button>\n </span>\n</ng-template>\n", styles: [".aia-pill-list{position:relative;z-index:1;pointer-events:auto;display:inline-flex;gap:7px;padding:0 8px;align-items:center;vertical-align:middle}.aia-pill{display:inline-flex;align-items:center;justify-content:center;padding:5px 8px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--aia-pill-color, var(--aia-color-text-muted, #c1c4cb));font-family:inherit;font-size:calc(var(--aia-pill-font-size, 14px) * .8);font-weight:600;line-height:normal;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;white-space:nowrap;animation:aiaPillFadeIn .4s cubic-bezier(.4,0,.2,1) forwards}.aia-pill-rounded{border-radius:999px}.aia-pill[data-aia-smart-suggestion]{gap:.35em}.aia-pill[data-aia-smart-suggestion=header]{cursor:default}.aia-smart-suggestion-text{background:linear-gradient(105deg,var(--aia-pill-color, var(--aia-color-text-muted, #c1c4cb)) 34%,var(--aia-smart-suggestion-accent, #b84549) 44%,var(--aia-smart-suggestion-glint, #f3c4c5) 50%,var(--aia-smart-suggestion-accent, #b84549) 56%,var(--aia-pill-color, var(--aia-color-text-muted, #c1c4cb)) 66%) 100% 0 / 300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:aiaSmartSuggestion-shimmer 2.5s ease-in-out 2}.aia-smart-suggestion-sparkle{display:inline-flex;color:var(--aia-smart-suggestion-accent, #b84549)}.aia-smart-suggestion-sparkle .aia-sparkle-large,.aia-smart-suggestion-sparkle .aia-sparkle-small{transform-box:fill-box;transform-origin:center;animation:aiaSmartSuggestion-sparkle 2.5s ease-in-out 2}.aia-smart-suggestion-sparkle .aia-sparkle-small{animation-name:aiaSmartSuggestion-sparkle-small}.aia-pill-skeleton .aia-smart-suggestion-text,.aia-pill-skeleton .aia-smart-suggestion-sparkle{visibility:hidden}@keyframes aiaSmartSuggestion-shimmer{0%{background-position:100% 0}60%,to{background-position:0 0}}@keyframes aiaSmartSuggestion-sparkle{0%,45%,75%,to{transform:scale(1)}60%{transform:scale(1.12)}}@keyframes aiaSmartSuggestion-sparkle-small{0%,45%,75%,to{transform:scale(1);opacity:1}60%{transform:scale(1.5);opacity:.55}}@media (prefers-reduced-motion: reduce){.aia-smart-suggestion-text,.aia-smart-suggestion-sparkle .aia-sparkle-large,.aia-smart-suggestion-sparkle .aia-sparkle-small{animation:none}}@media (forced-colors: active){.aia-smart-suggestion-text{background:none;-webkit-text-fill-color:currentColor;animation:none}}.aia-pill-skeleton{pointer-events:none;cursor:default;color:transparent;background:var(--aia-skeleton-bg, var(--aia-pill-bg, rgba(189, 189, 189, .25)));animation:aiaPillFadeIn .1s ease-out,aiaPillSkeletonPulse 1.4s ease-in-out infinite}[data-aia-skeleton-exiting] .aia-pill-skeleton{animation:aiaPillSkeletonOut .1s ease-in forwards}@keyframes aiaPillSkeletonOut{to{opacity:0}}@keyframes aiaPillFadeIn{0%{opacity:0}}@keyframes aiaPillSkeletonPulse{0%,to{filter:brightness(1)}50%{filter:brightness(.55)}}\n"] }]
|
|
71
79
|
}], propDecorators: { pills: [{
|
|
72
80
|
type: Input
|
|
73
81
|
}], activePillIndex: [{
|
|
@@ -81,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
81
89
|
}], selectPill: [{
|
|
82
90
|
type: Output
|
|
83
91
|
}] } });
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlsbC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvaW50ZXJuYWwvcGlsbC1saXN0L3BpbGwtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ludGVybmFsL3BpbGwtbGlzdC9waWxsLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBaUIsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLG1DQUFtQyxFQUNuQyw0QkFBNEIsR0FFN0IsTUFBTSxxQ0FBcUMsQ0FBQzs7O0FBRTdDOzs7Ozs7O0dBT0c7QUFVSCxNQUFNLE9BQU8saUJBQWlCO0lBVDlCO1FBVVcsVUFBSyxHQUFpQixFQUFFLENBQUM7UUFDekIsb0JBQWUsR0FBRyxDQUFDLENBQUM7UUFDcEIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUN6Qjs7Ozs7V0FLRztRQUNNLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDekI7Ozs7O1dBS0c7UUFDTSxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUViLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRTNELG1HQUFtRztRQUMxRixlQUFVLEdBQWEsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLHVCQUF1QixDQUMxRSw0QkFBNEIsQ0FDN0IsQ0FBQztRQUVGLDhGQUE4RjtRQUNyRixzQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztRQUMvQyxtR0FBbUc7UUFDMUYsdUJBQWtCLEdBQUcsbUNBQW1DLENBQUM7UUFFbEUsMkVBQTJFO1FBQ2xFLDJCQUFzQixHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBbUI1QyxnQkFBVyxHQUFHLENBQUMsQ0FBUyxFQUFFLElBQWdCLEVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDdEUsaUJBQVksR0FBRyxDQUFDLENBQVMsRUFBRSxDQUFTLEVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztLQVdwRDtJQTdCQyx1RUFBdUU7SUFDdkUsVUFBVSxDQUFDLEtBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsY0FBYyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQy9ELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsV0FBVyxDQUFDLEtBQWE7UUFDdkIsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsV0FBVztRQUNqRCxJQUFJLEtBQUssS0FBSyxDQUFDO1lBQUUsT0FBTyxHQUFHLENBQUMsQ0FBQyxRQUFRO1FBQ3JDLElBQUksS0FBSyxLQUFLLENBQUM7WUFBRSxPQUFPLEdBQUcsQ0FBQyxDQUFDLE9BQU87UUFDcEMsT0FBTyxHQUFHLENBQUMsQ0FBQyxPQUFPO0lBQ3JCLENBQUM7SUFLRCxXQUFXLENBQUMsS0FBYTtRQUN2QixJQUFJLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQVk7UUFDMUIsOERBQThEO1FBQzlELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN6QixDQUFDOzsrR0E5RFUsaUJBQWlCO21HQUFqQixpQkFBaUIsMFBDbkM5Qiw2aURBeUNBLGk1RkRaWSxZQUFZOzRGQU1YLGlCQUFpQjtrQkFUN0IsU0FBUzsrQkFDRSxlQUFlLGNBQ2IsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDLG1CQUNOLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7OEJBSzVCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFPRyxPQUFPO3NCQUFmLEtBQUs7Z0JBT0csY0FBYztzQkFBdEIsS0FBSztnQkFFYSxVQUFVO3NCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgaW5qZWN0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCB0eXBlIFNhZmVIdG1sIH0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcbmltcG9ydCB7XG4gIGlzU21hcnRTdWdnZXN0aW9uLFxuICBpc1RyYWRpdGlvbmFsQXV0b2NvbXBsZXRlU3VnZ2VzdGlvbixcbiAgU01BUlRfU1VHR0VTVElPTl9TUEFSS0xFX1NWRyxcbiAgdHlwZSBTdWdnZXN0aW9uLFxufSBmcm9tIFwiQG1hZ2ljeC1lbmcvYWktYXV0b2NvbXBsZXRlLXZhbmlsbGFcIjtcblxuLyoqXG4gKiBJbnRlcm5hbCBwaWxsIGxpc3QgdXNlZCBieSBib3RoIHRoZSBkcm9wZG93biBhbmQgVGllciAxJ3MgaW5saW5lIHBpbGxiYXIuXG4gKiBNaXJyb3JzIGBwYWNrYWdlcy9yZWFjdC9zcmMvY29tcG9uZW50cy9QaWxsTGlzdC50c3hgIG9uZS1mb3Itb25lIOKAlCBpbmNsdWRpbmdcbiAqIHRoZSBwZXItaW5kZXggb3BhY2l0eSByYW1wICgxIC8gMC43IC8gMC40IC8gMC4yKSBhbmQgdGhlIHNrZWxldG9uLWxvYWRpbmdcbiAqIGZhbGxiYWNrIHRoYXQgcHJlc2VydmVzIGxheW91dCB3aGlsZSB0aGUgbmV4dCBmZXRjaCBpcyBpbiBmbGlnaHQuXG4gKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJhaWEtcGlsbC1saXN0XCIsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgdGVtcGxhdGVVcmw6IFwiLi9waWxsLWxpc3QuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3BpbGwtbGlzdC5jb21wb25lbnQuY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBQaWxsTGlzdENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHBpbGxzOiBTdWdnZXN0aW9uW10gPSBbXTtcbiAgQElucHV0KCkgYWN0aXZlUGlsbEluZGV4ID0gMDtcbiAgQElucHV0KCkgcm91bmRlZCA9IGZhbHNlO1xuICAvKipcbiAgICogV2hlbiB0cnVlLCBwaWxscyBiZWNvbWUgbm9uLWludGVyYWN0aXZlIHNoaW1tZXJpbmcgc2tlbGV0b25zLiBSZWFsIHBpbGxzXG4gICAqICh3aXRoIHRoZWlyIHRleHQpIGFyZSByZW5kZXJlZCB3aGVuIHByb3ZpZGVkIHNvIHdpZHRocy9wb3NpdGlvbnMgbWF0Y2hcbiAgICogdGhlIHByZXZpb3VzIHN0YXRlOyB3aXRoIG5vIHBpbGxzLCBmaXhlZC13aWR0aCBmYWxsYmFjayBwbGFjZWhvbGRlcnMgYXJlXG4gICAqIHJlbmRlcmVkIGluc3RlYWQuXG4gICAqL1xuICBASW5wdXQoKSBsb2FkaW5nID0gZmFsc2U7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBhY3RpdmUgKGxlYWRpbmcpIHBpbGwgc2hvdWxkIHJlbmRlciBzZWxlY3RlZCAoZnVsbCBvcGFjaXR5KVxuICAgKiByYXRoZXIgdGhhbiBpdHMgcG9zaXRpb25hbCBgZmlyc3RgIHRpZXIuIEF1dG8gdHJpZ2dlciDih5IgdHJ1ZSB3aGlsZSBhXG4gICAqIGRyb3Bkb3duIG9wdGlvbiBpcyBoaWdobGlnaHRlZDsgbWFudWFsIHRyaWdnZXIg4oeSIHRydWUgYWZ0ZXIgdGhlIHVzZXIgdGFwc1xuICAgKiB0aGUgcGlsbC4gU2VlIGBBSUF1dG9jb21wbGV0ZUNvbnRyb2xsZXIuaXNBY3RpdmVQaWxsU2VsZWN0ZWQkYC5cbiAgICovXG4gIEBJbnB1dCgpIGFjdGl2ZVNlbGVjdGVkID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIHJlYWRvbmx5IHNlbGVjdFBpbGwgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAvKiogVGhlIHNwYXJrbGUgYWZ0ZXIgdGhlIFNtYXJ0IFN1Z2dlc3Rpb24gaGVhZGVyOyBhIGZpeGVkIFNESyBjb25zdGFudCwgc28gaXQgaXMgdHJ1c3RlZCBhcyBpcy4gKi9cbiAgcmVhZG9ubHkgc3BhcmtsZVN2ZzogU2FmZUh0bWwgPSBpbmplY3QoRG9tU2FuaXRpemVyKS5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChcbiAgICBTTUFSVF9TVUdHRVNUSU9OX1NQQVJLTEVfU1ZHLFxuICApO1xuXG4gIC8qKiBUaGUgdHJhZGl0aW9uYWwgYXV0b2NvbXBsZXRlIHN1Z2dlc3Rpb24gaGVhZHMgY29tcGxldGlvbnMgaW5zdGVhZCBvZiBhc2tpbmcgYSBxdWVzdGlvbi4gKi9cbiAgcmVhZG9ubHkgaXNTbWFydFN1Z2dlc3Rpb24gPSBpc1NtYXJ0U3VnZ2VzdGlvbjtcbiAgLyoqIFRoZSBpbmVydCBoZWFkZXIgb3ZlciBjb21wbGV0aW9ucywgd2hpY2ggdGFrZXMgbm8gcG9pbnRlcjsgYSBtYXJrZWQgcXVlc3Rpb24gc3RheXMgdGFwcGFibGUuICovXG4gIHJlYWRvbmx5IGlzQ29tcGxldGlvbkhlYWRlciA9IGlzVHJhZGl0aW9uYWxBdXRvY29tcGxldGVTdWdnZXN0aW9uO1xuXG4gIC8qKiBGYWxsYmFjayB3aWR0aHMgd2hlbiBsb2FkaW5nIHdpdGggemVybyBjYWNoZWQgcGlsbHMgKG1hdGNoZXMgUmVhY3QpLiAqL1xuICByZWFkb25seSBmYWxsYmFja1NrZWxldG9uV2lkdGhzID0gWzEyNSwgNjldO1xuXG4gIC8qKiBUaGUgYWN0aXZlIHBpbGwgaXMgXCJzZWxlY3RlZFwiIG9ubHkgd2hlbiBgYWN0aXZlU2VsZWN0ZWRgIGlzIHNldC4gKi9cbiAgaXNTZWxlY3RlZChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlU2VsZWN0ZWQgJiYgaW5kZXggPT09IHRoaXMuYWN0aXZlUGlsbEluZGV4O1xuICB9XG5cbiAgLyoqXG4gICAqIE9wYWNpdHkgcGVyIHBpbGwgc3RhdGUg4oCUIG1pcnJvcnMgUGlsbExpc3QudHN4IGBQSUxMX09QQUNJVFlgLiBUaGUgc2VsZWN0ZWRcbiAgICogcGlsbCBpcyBmdWxsIG9wYWNpdHk7IG90aGVyd2lzZSBwaWxscyB0YWtlIGEgcG9zaXRpb25hbCB0aWVyIChmaXJzdCAvIG5leHRcbiAgICogLyBsYXN0KS5cbiAgICovXG4gIHBpbGxPcGFjaXR5KGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgIGlmICh0aGlzLmlzU2VsZWN0ZWQoaW5kZXgpKSByZXR1cm4gMTsgLy8gU2VsZWN0ZWRcbiAgICBpZiAoaW5kZXggPT09IDApIHJldHVybiAwLjc7IC8vIEZpcnN0XG4gICAgaWYgKGluZGV4ID09PSAxKSByZXR1cm4gMC40OyAvLyBOZXh0XG4gICAgcmV0dXJuIDAuMjsgLy8gTGFzdFxuICB9XG5cbiAgdHJhY2tCeVR5cGUgPSAoXzogbnVtYmVyLCBwaWxsOiBTdWdnZXN0aW9uKTogc3RyaW5nID0+IHBpbGwucGFyYW1ldGVyO1xuICB0cmFja0J5V2lkdGggPSAoXzogbnVtYmVyLCB3OiBudW1iZXIpOiBudW1iZXIgPT4gdztcblxuICBvblBpbGxDbGljayhpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubG9hZGluZykgcmV0dXJuO1xuICAgIHRoaXMuc2VsZWN0UGlsbC5lbWl0KGluZGV4KTtcbiAgfVxuXG4gIG9uUGlsbE1vdXNlRG93bihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBQcmV2ZW50IHRoZSBlZGl0b3IgZnJvbSBsb3NpbmcgZm9jdXMgd2hlbiBhIHBpbGwgaXMgdGFwcGVkLlxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nICYmIHBpbGxzLmxlbmd0aCA9PT0gMDsgZWxzZSByZWFsUGlsbHNcIj5cbiAgPHNwYW4gY2xhc3M9XCJhaWEtcGlsbC1saXN0XCIgZGF0YS1haWEtcGlsbC1saXN0LWxvYWRpbmc9XCJcIj5cbiAgICA8c3BhblxuICAgICAgKm5nRm9yPVwibGV0IHcgb2YgZmFsbGJhY2tTa2VsZXRvbldpZHRoczsgdHJhY2tCeTogdHJhY2tCeVdpZHRoOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgIGRhdGEtYWlhLXBpbGwtc2tlbGV0b249XCJcIlxuICAgICAgY2xhc3M9XCJhaWEtcGlsbCBhaWEtcGlsbC1za2VsZXRvblwiXG4gICAgICBbY2xhc3MuYWlhLXBpbGwtcm91bmRlZF09XCJyb3VuZGVkXCJcbiAgICAgIFtzdHlsZS53aWR0aC5weF09XCJ3XCJcbiAgICAgIFtzdHlsZS5vcGFjaXR5XT1cInBpbGxPcGFjaXR5KGkpXCJcbiAgICA+PC9zcGFuPlxuICA8L3NwYW4+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNyZWFsUGlsbHM+XG4gIDxzcGFuXG4gICAgY2xhc3M9XCJhaWEtcGlsbC1saXN0XCJcbiAgICBbYXR0ci5kYXRhLWFpYS1waWxsLWxpc3QtbG9hZGluZ109XCJsb2FkaW5nID8gJycgOiBudWxsXCJcbiAgPlxuICAgIDxidXR0b25cbiAgICAgICpuZ0Zvcj1cImxldCBwaWxsIG9mIHBpbGxzOyB0cmFja0J5OiB0cmFja0J5VHlwZTsgbGV0IGkgPSBpbmRleFwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGRhdGEtYWlhLXBpbGw9XCJcIlxuICAgICAgW2F0dHIuZGF0YS1haWEtbG9hZGluZ109XCJsb2FkaW5nID8gJycgOiBudWxsXCJcbiAgICAgIFthdHRyLmRhdGEtYWlhLXNtYXJ0LXN1Z2dlc3Rpb25dPVwiaXNTbWFydFN1Z2dlc3Rpb24ocGlsbCkgPyAoaXNDb21wbGV0aW9uSGVhZGVyKHBpbGwpID8gJ2hlYWRlcicgOiAnJykgOiBudWxsXCJcbiAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgY2xhc3M9XCJhaWEtcGlsbFwiXG4gICAgICBbY2xhc3MuYWlhLXBpbGwtcm91bmRlZF09XCJyb3VuZGVkXCJcbiAgICAgIFtjbGFzcy5haWEtcGlsbC1za2VsZXRvbl09XCJsb2FkaW5nXCJcbiAgICAgIFtzdHlsZS5vcGFjaXR5XT1cInBpbGxPcGFjaXR5KGkpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJsb2FkaW5nXCJcbiAgICAgIChtb3VzZWRvd24pPVwib25QaWxsTW91c2VEb3duKCRldmVudClcIlxuICAgICAgKGNsaWNrKT1cIm9uUGlsbENsaWNrKGkpXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNTbWFydFN1Z2dlc3Rpb24ocGlsbCk7IGVsc2UgcGxhaW5MYWJlbFwiXG4gICAgICAgID48c3BhbiBjbGFzcz1cImFpYS1zbWFydC1zdWdnZXN0aW9uLXRleHRcIj57eyBwaWxsLnRleHQgfX08L3NwYW5cbiAgICAgICAgPjxzcGFuIGNsYXNzPVwiYWlhLXNtYXJ0LXN1Z2dlc3Rpb24tc3BhcmtsZVwiIFtpbm5lckhUTUxdPVwic3BhcmtsZVN2Z1wiPjwvc3BhblxuICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNwbGFpbkxhYmVsPnt7IHBpbGwudGV4dCB9fTwvbmctdGVtcGxhdGU+XG4gICAgPC9idXR0b24+XG4gIDwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -160,10 +160,10 @@ export class SuggestionItemComponent {
|
|
|
160
160
|
}
|
|
161
161
|
}
|
|
162
162
|
SuggestionItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SuggestionItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
163
|
-
SuggestionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SuggestionItemComponent, isStandalone: true, selector: "aia-suggestion-item", inputs: { option: "option", isHighlighted: "isHighlighted", id: "id", loading: "loading", showIcon: "showIcon", showImage: "showImage", showCount: "showCount", scrollHint: "scrollHint", enterDelayMs: "enterDelayMs" }, outputs: { select: "select", highlight: "highlight", unhighlight: "unhighlight" }, ngImport: i0, template: "<div\n [id]=\"id\"\n role=\"option\"\n data-aia-option=\"\"\n [attr.data-aia-loading]=\"loading ? '' : null\"\n [attr.data-aia-icon]=\"iconHtml && option.icon ? option.icon : null\"\n [attr.data-aia-image]=\"imageSrc ? '' : null\"\n [attr.data-aia-item-count]=\"countLabel !== null ? option.item_count : null\"\n [attr.aria-selected]=\"isHighlighted\"\n class=\"aia-suggestion-item\"\n [style.--aia-option-enter-delay]=\"(enterDelay ?? 0) + 'ms'\"\n [class.aia-suggestion-item-highlighted]=\"isHighlighted && !loading\"\n [class.aia-suggestion-item-tappable]=\"option.is_tappable\"\n [class.aia-suggestion-item-non-tappable]=\"!option.is_tappable\"\n [class.aia-suggestion-item-pressed]=\"pressed\"\n [class.aia-suggestion-item-scroll-hint]=\"scrollHint\"\n [attr.tabindex]=\"loading || !option.is_tappable ? -1 : 0\"\n (click)=\"onSelect()\"\n (keydown)=\"onKeyDown($event)\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n>\n <span class=\"aia-suggestion-content\">\n <!-- The tile keeps a placeholder fill under the picture, so a slow or\n failed load leaves a neutral square rather than a gap. The picture is\n decorative: the text is the option's accessible name. -->\n <span *ngIf=\"imageSrc as src\" class=\"aia-suggestion-image\" aria-hidden=\"true\">\n <img\n [src]=\"src\"\n alt=\"\"\n loading=\"lazy\"\n decoding=\"async\"\n referrerpolicy=\"no-referrer\"\n draggable=\"false\"\n [hidden]=\"imageFailed\"\n (error)=\"onImageError()\"\n />\n </span>\n <span\n *ngIf=\"iconHtml\"\n class=\"aia-suggestion-icon\"\n aria-hidden=\"true\"\n [innerHTML]=\"iconHtml\"\n ></span>\n <span class=\"aia-suggestion-text\"\n ><ng-container *ngFor=\"let part of parts; trackBy: trackByIndex\"\n ><strong *ngIf=\"part.bold; else plain\">{{ part.text }}</strong\n ><ng-template #plain>{{ part.text }}</ng-template></ng-container\n ><ng-container *ngIf=\"option.parameterLabel\"\n >{{ \" \" }}<span class=\"aia-suggestion-parameter\">{{ option.parameterLabel }}</span></ng-container\n ></span\n >\n <span *ngIf=\"option.tag\" class=\"aia-suggestion-tag\">{{ option.tag }}</span>\n <!-- Part of the row's accessible name, read after the option's text. -->\n <span *ngIf=\"countLabel !== null\" class=\"aia-suggestion-count\">{{ countLabel }}</span>\n </span>\n</div>\n", styles: [".aia-suggestion-item{position:relative;overflow:hidden;overflow:clip;display:flex;align-items:flex-start;font-family:inherit;font-size:var(--aia-option-font-size, 16px);font-weight:450;line-height:21px;color:var(--aia-option-color, var(--aia-color-text-muted, #c1c4cb));white-space:normal;word-break:break-word;border-radius:8px;padding:8px 10px}@keyframes aiaSuggestionFadeIn{0%{opacity:0}}@keyframes aiaSuggestionRiseIn{0%{transform:translateY(16px)}}@media (prefers-reduced-motion: reduce){.aia-suggestion-item,.aia-suggestion-content{animation-duration:0s;animation-delay:0s}}.aia-suggestion-content{position:relative;z-index:2;animation:aiaSuggestionRiseIn .28s cubic-bezier(.25,.46,.45,.94) both,aiaSuggestionFadeIn .15s ease-out both;animation-delay:var(--aia-option-enter-delay, 0ms)}.aia-suggestion-item-tappable{cursor:pointer}.aia-suggestion-item-tappable:hover{color:var(--aia-option-color-selected, var(--aia-color-text-default, #fff))}.aia-suggestion-item-non-tappable{cursor:default}.aia-suggestion-item-highlighted{color:var(--aia-option-color-selected, var(--aia-color-text-default, #fff));background:var(--aia-option-bg, transparent);font-weight:500}.aia-suggestion-tag{font-size:11px;margin-left:6px;opacity:.5}.aia-suggestion-item-pressed{color:var(--aia-option-color-selected, var(--aia-color-text-default, #fff));animation:aiaPressCompress .17s ease forwards}[role=listbox]:has(.aia-suggestion-item-pressed) .aia-suggestion-item:not(.aia-suggestion-item-pressed){opacity:.35;transition:opacity 60ms ease}@keyframes aiaPressCompress{0%{transform:scale(1)}25%{transform:scale(.93)}60%{transform:scale(.93)}to{transform:scale(1)}}.aia-suggestion-item-scroll-hint .aia-suggestion-content{mask-image:linear-gradient(to bottom,rgb(0 0 0),rgb(0 0 0 / .6))}[data-aia-fit] .aia-suggestion-item-scroll-hint .aia-suggestion-content{mask-image:none}.aia-suggestion-item[data-aia-loading]{cursor:default;animation:aiaSuggestionSkeletonPulse 1.4s ease-in-out infinite}.aia-suggestion-item[data-aia-loading] .aia-suggestion-text{color:transparent;background:var(--aia-skeleton-bg, var(--aia-pill-bg, rgba(189, 189, 189, .25)));border-radius:999px;-webkit-box-decoration-break:clone;box-decoration-break:clone;animation:aiaSkeletonBarIn .1s ease-out}.aia-suggestion-item[data-aia-loading] .aia-suggestion-tag{display:none}.aia-suggestion-parameter{display:block;font-size:var(--aia-option-parameter-font-size, 12px);font-weight:400;line-height:16px;text-indent:0;color:var(--aia-option-parameter-color, inherit);opacity:var(--aia-option-parameter-opacity, .6)}.aia-suggestion-item[data-aia-loading] .aia-suggestion-parameter{display:none}.aia-suggestion-icon{display:inline-flex;align-items:center;height:21px;margin-right:8px;vertical-align:top;will-change:transform}.aia-suggestion-icon svg{display:block;width:1em;height:1em}.aia-suggestion-item[data-aia-loading] .aia-suggestion-icon{visibility:hidden}.aia-suggestion-content:not(:has(.aia-suggestion-count)):has(.aia-suggestion-icon){padding-left:calc(1em + 8px);text-indent:calc(-1em - 8px)}.aia-suggestion-content:has(.aia-suggestion-image),.aia-suggestion-content:has(.aia-suggestion-count){display:flex;flex:1 1 auto;align-items:flex-start;min-width:0}.aia-suggestion-content:has(.aia-suggestion-image) .aia-suggestion-text,.aia-suggestion-content:has(.aia-suggestion-count) .aia-suggestion-text{flex:1 1 auto;min-width:0}.aia-suggestion-item[data-aia-loading] .aia-suggestion-content .aia-suggestion-text{flex:0 1 auto}.aia-suggestion-content:has(.aia-suggestion-image){align-items:center;gap:var(--aia-option-image-gap, 12px)}.aia-suggestion-image{flex:0 0 auto;display:block;width:var(--aia-option-image-size, 40px);height:var(--aia-option-image-size, 40px);border-radius:var(--aia-option-image-radius, 12px);overflow:hidden;background:var(--aia-option-image-bg, var(--aia-skeleton-bg, rgba(189, 189, 189, .083)))}.aia-suggestion-image img{display:block;width:100%;height:100%;object-fit:
|
|
163
|
+
SuggestionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SuggestionItemComponent, isStandalone: true, selector: "aia-suggestion-item", inputs: { option: "option", isHighlighted: "isHighlighted", id: "id", loading: "loading", showIcon: "showIcon", showImage: "showImage", showCount: "showCount", scrollHint: "scrollHint", enterDelayMs: "enterDelayMs" }, outputs: { select: "select", highlight: "highlight", unhighlight: "unhighlight" }, ngImport: i0, template: "<div\n [id]=\"id\"\n role=\"option\"\n data-aia-option=\"\"\n [attr.data-aia-loading]=\"loading ? '' : null\"\n [attr.data-aia-icon]=\"iconHtml && option.icon ? option.icon : null\"\n [attr.data-aia-image]=\"imageSrc ? '' : null\"\n [attr.data-aia-item-count]=\"countLabel !== null ? option.item_count : null\"\n [attr.aria-selected]=\"isHighlighted\"\n class=\"aia-suggestion-item\"\n [style.--aia-option-enter-delay]=\"(enterDelay ?? 0) + 'ms'\"\n [class.aia-suggestion-item-highlighted]=\"isHighlighted && !loading\"\n [class.aia-suggestion-item-tappable]=\"option.is_tappable\"\n [class.aia-suggestion-item-non-tappable]=\"!option.is_tappable\"\n [class.aia-suggestion-item-pressed]=\"pressed\"\n [class.aia-suggestion-item-scroll-hint]=\"scrollHint\"\n [attr.tabindex]=\"loading || !option.is_tappable ? -1 : 0\"\n (click)=\"onSelect()\"\n (keydown)=\"onKeyDown($event)\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n>\n <span class=\"aia-suggestion-content\">\n <!-- The tile keeps a placeholder fill under the picture, so a slow or\n failed load leaves a neutral square rather than a gap. The picture is\n decorative: the text is the option's accessible name. -->\n <span *ngIf=\"imageSrc as src\" class=\"aia-suggestion-image\" aria-hidden=\"true\">\n <img\n [src]=\"src\"\n alt=\"\"\n loading=\"lazy\"\n decoding=\"async\"\n referrerpolicy=\"no-referrer\"\n draggable=\"false\"\n [hidden]=\"imageFailed\"\n (error)=\"onImageError()\"\n />\n </span>\n <span\n *ngIf=\"iconHtml\"\n class=\"aia-suggestion-icon\"\n aria-hidden=\"true\"\n [innerHTML]=\"iconHtml\"\n ></span>\n <span class=\"aia-suggestion-text\"\n ><ng-container *ngFor=\"let part of parts; trackBy: trackByIndex\"\n ><strong *ngIf=\"part.bold; else plain\" class=\"aia-suggestion-match\">{{ part.text }}</strong\n ><ng-template #plain>{{ part.text }}</ng-template></ng-container\n ><ng-container *ngIf=\"option.parameterLabel\"\n >{{ \" \" }}<span class=\"aia-suggestion-parameter\">{{ option.parameterLabel }}</span></ng-container\n ></span\n >\n <span *ngIf=\"option.tag\" class=\"aia-suggestion-tag\">{{ option.tag }}</span>\n <!-- Part of the row's accessible name, read after the option's text. -->\n <span *ngIf=\"countLabel !== null\" class=\"aia-suggestion-count\">{{ countLabel }}</span>\n </span>\n</div>\n", styles: [".aia-suggestion-item{position:relative;overflow:hidden;overflow:clip;display:flex;align-items:flex-start;font-family:inherit;font-size:var(--aia-option-font-size, 16px);font-weight:450;line-height:21px;color:var(--aia-option-color, var(--aia-color-text-muted, #c1c4cb));white-space:normal;word-break:break-word;border-radius:8px;padding:8px 10px}@keyframes aiaSuggestionFadeIn{0%{opacity:0}}@keyframes aiaSuggestionRiseIn{0%{transform:translateY(16px)}}@media (prefers-reduced-motion: reduce){.aia-suggestion-item,.aia-suggestion-content{animation-duration:0s;animation-delay:0s}}.aia-suggestion-content{position:relative;z-index:2;animation:aiaSuggestionRiseIn .28s cubic-bezier(.25,.46,.45,.94) both,aiaSuggestionFadeIn .15s ease-out both;animation-delay:var(--aia-option-enter-delay, 0ms)}.aia-suggestion-item-tappable{cursor:pointer}.aia-suggestion-item-tappable:hover{color:var(--aia-option-color-selected, var(--aia-color-text-default, #fff))}.aia-suggestion-item-non-tappable{cursor:default}.aia-suggestion-item-highlighted{color:var(--aia-option-color-selected, var(--aia-color-text-default, #fff));background:var(--aia-option-bg, transparent);font-weight:500}.aia-suggestion-tag{font-size:11px;margin-left:6px;opacity:.5}.aia-suggestion-item-pressed{color:var(--aia-option-color-selected, var(--aia-color-text-default, #fff));animation:aiaPressCompress .17s ease forwards}[role=listbox]:has(.aia-suggestion-item-pressed) .aia-suggestion-item:not(.aia-suggestion-item-pressed){opacity:.35;transition:opacity 60ms ease}@keyframes aiaPressCompress{0%{transform:scale(1)}25%{transform:scale(.93)}60%{transform:scale(.93)}to{transform:scale(1)}}.aia-suggestion-item-scroll-hint .aia-suggestion-content{mask-image:linear-gradient(to bottom,rgb(0 0 0),rgb(0 0 0 / .6))}[data-aia-fit] .aia-suggestion-item-scroll-hint .aia-suggestion-content{mask-image:none}.aia-suggestion-item[data-aia-loading]{cursor:default;animation:aiaSuggestionSkeletonPulse 1.4s ease-in-out infinite}.aia-suggestion-item[data-aia-loading] .aia-suggestion-text{color:transparent;background:var(--aia-skeleton-bg, var(--aia-pill-bg, rgba(189, 189, 189, .25)));border-radius:999px;-webkit-box-decoration-break:clone;box-decoration-break:clone;animation:aiaSkeletonBarIn .1s ease-out}.aia-suggestion-item[data-aia-loading] .aia-suggestion-tag{display:none}.aia-suggestion-parameter{display:block;font-size:var(--aia-option-parameter-font-size, 12px);font-weight:400;line-height:16px;text-indent:0;color:var(--aia-option-parameter-color, inherit);opacity:var(--aia-option-parameter-opacity, .6)}.aia-suggestion-match{color:var(--aia-smart-suggestion-accent, #b84549);font-weight:600}.aia-suggestion-item[data-aia-loading] .aia-suggestion-parameter{display:none}.aia-suggestion-icon{display:inline-flex;align-items:center;height:21px;margin-right:8px;vertical-align:top;will-change:transform}.aia-suggestion-icon svg{display:block;width:1em;height:1em}.aia-suggestion-item[data-aia-loading] .aia-suggestion-icon{visibility:hidden}.aia-suggestion-content:not(:has(.aia-suggestion-count)):has(.aia-suggestion-icon){padding-left:calc(1em + 8px);text-indent:calc(-1em - 8px)}.aia-suggestion-content:has(.aia-suggestion-image),.aia-suggestion-content:has(.aia-suggestion-count){display:flex;flex:1 1 auto;align-items:flex-start;min-width:0}.aia-suggestion-content:has(.aia-suggestion-image) .aia-suggestion-text,.aia-suggestion-content:has(.aia-suggestion-count) .aia-suggestion-text{flex:1 1 auto;min-width:0}.aia-suggestion-item[data-aia-loading] .aia-suggestion-content .aia-suggestion-text{flex:0 1 auto}.aia-suggestion-content:has(.aia-suggestion-image){align-items:center;gap:var(--aia-option-image-gap, 12px)}.aia-suggestion-image{flex:0 0 auto;display:block;width:var(--aia-option-image-size, 40px);height:var(--aia-option-image-size, 40px);border-radius:var(--aia-option-image-radius, 12px);overflow:hidden;background:var(--aia-option-image-bg, var(--aia-skeleton-bg, rgba(189, 189, 189, .083)))}.aia-suggestion-image img{display:block;width:100%;height:100%;object-fit:contain}.aia-suggestion-image img[hidden]{display:none}.aia-suggestion-count{flex:0 0 auto;margin-left:auto;padding-left:12px;font-size:var(--aia-option-count-font-size, 12px);font-weight:400;line-height:21px;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--aia-option-count-color, inherit);opacity:var(--aia-option-count-opacity, .6)}.aia-suggestion-count:after{content:\" \" var(--aia-option-count-unit, \"items\")}.aia-suggestion-item[data-aia-item-count=\"1\"] .aia-suggestion-count:after{content:\" \" var(--aia-option-count-unit-one, var(--aia-option-count-unit, \"item\"))}.aia-suggestion-item[data-aia-loading] .aia-suggestion-image img{visibility:hidden}.aia-suggestion-item[data-aia-loading] .aia-suggestion-count{display:none}[data-aia-group]:has(.aia-suggestion-parameter){--aia-option-row-height: 53px}[data-aia-group]:has(.aia-suggestion-image){--aia-option-row-height: calc(var(--aia-option-image-size, 40px) + 16px)}[data-aia-group]:has(.aia-suggestion-image) .aia-suggestion-content:not(:has(.aia-suggestion-image)){display:flex;flex:1 1 auto;align-items:center;gap:var(--aia-option-image-gap, 12px);min-width:0;min-height:var(--aia-option-image-size, 40px);padding-left:0;text-indent:0}[data-aia-group]:has(.aia-suggestion-image) .aia-suggestion-content:not(:has(.aia-suggestion-image)) .aia-suggestion-icon{flex:0 0 auto;justify-content:center;width:var(--aia-option-image-size, 40px);height:var(--aia-option-image-size, 40px);margin-right:0}[data-aia-group]:has(.aia-suggestion-image) .aia-suggestion-content:not(:has(.aia-suggestion-image)) .aia-suggestion-icon svg{width:var(--aia-option-tile-icon-size, 1.5em);height:var(--aia-option-tile-icon-size, 1.5em)}@keyframes aiaSuggestionSkeletonPulse{0%,to{filter:brightness(1)}50%{filter:brightness(.55)}}[data-aia-skeleton-exiting] .aia-suggestion-item[data-aia-loading] .aia-suggestion-content,[data-aia-skeleton-exiting] .aia-suggestion-item[data-aia-loading] .aia-suggestion-text{animation:none}[data-aia-skeleton-exiting] .aia-suggestion-item[data-aia-loading]{animation:aiaSkeletonOut .1s ease-in forwards}@keyframes aiaSkeletonBarIn{0%{background-color:transparent;color:inherit}}@keyframes aiaSkeletonOut{to{opacity:0}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
164
164
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SuggestionItemComponent, decorators: [{
|
|
165
165
|
type: Component,
|
|
166
|
-
args: [{ selector: "aia-suggestion-item", standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n [id]=\"id\"\n role=\"option\"\n data-aia-option=\"\"\n [attr.data-aia-loading]=\"loading ? '' : null\"\n [attr.data-aia-icon]=\"iconHtml && option.icon ? option.icon : null\"\n [attr.data-aia-image]=\"imageSrc ? '' : null\"\n [attr.data-aia-item-count]=\"countLabel !== null ? option.item_count : null\"\n [attr.aria-selected]=\"isHighlighted\"\n class=\"aia-suggestion-item\"\n [style.--aia-option-enter-delay]=\"(enterDelay ?? 0) + 'ms'\"\n [class.aia-suggestion-item-highlighted]=\"isHighlighted && !loading\"\n [class.aia-suggestion-item-tappable]=\"option.is_tappable\"\n [class.aia-suggestion-item-non-tappable]=\"!option.is_tappable\"\n [class.aia-suggestion-item-pressed]=\"pressed\"\n [class.aia-suggestion-item-scroll-hint]=\"scrollHint\"\n [attr.tabindex]=\"loading || !option.is_tappable ? -1 : 0\"\n (click)=\"onSelect()\"\n (keydown)=\"onKeyDown($event)\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n>\n <span class=\"aia-suggestion-content\">\n <!-- The tile keeps a placeholder fill under the picture, so a slow or\n failed load leaves a neutral square rather than a gap. The picture is\n decorative: the text is the option's accessible name. -->\n <span *ngIf=\"imageSrc as src\" class=\"aia-suggestion-image\" aria-hidden=\"true\">\n <img\n [src]=\"src\"\n alt=\"\"\n loading=\"lazy\"\n decoding=\"async\"\n referrerpolicy=\"no-referrer\"\n draggable=\"false\"\n [hidden]=\"imageFailed\"\n (error)=\"onImageError()\"\n />\n </span>\n <span\n *ngIf=\"iconHtml\"\n class=\"aia-suggestion-icon\"\n aria-hidden=\"true\"\n [innerHTML]=\"iconHtml\"\n ></span>\n <span class=\"aia-suggestion-text\"\n ><ng-container *ngFor=\"let part of parts; trackBy: trackByIndex\"\n ><strong *ngIf=\"part.bold; else plain\">{{ part.text }}</strong\n ><ng-template #plain>{{ part.text }}</ng-template></ng-container\n ><ng-container *ngIf=\"option.parameterLabel\"\n >{{ \" \" }}<span class=\"aia-suggestion-parameter\">{{ option.parameterLabel }}</span></ng-container\n ></span\n >\n <span *ngIf=\"option.tag\" class=\"aia-suggestion-tag\">{{ option.tag }}</span>\n <!-- Part of the row's accessible name, read after the option's text. -->\n <span *ngIf=\"countLabel !== null\" class=\"aia-suggestion-count\">{{ countLabel }}</span>\n </span>\n</div>\n", styles: [".aia-suggestion-item{position:relative;overflow:hidden;overflow:clip;display:flex;align-items:flex-start;font-family:inherit;font-size:var(--aia-option-font-size, 16px);font-weight:450;line-height:21px;color:var(--aia-option-color, var(--aia-color-text-muted, #c1c4cb));white-space:normal;word-break:break-word;border-radius:8px;padding:8px 10px}@keyframes aiaSuggestionFadeIn{0%{opacity:0}}@keyframes aiaSuggestionRiseIn{0%{transform:translateY(16px)}}@media (prefers-reduced-motion: reduce){.aia-suggestion-item,.aia-suggestion-content{animation-duration:0s;animation-delay:0s}}.aia-suggestion-content{position:relative;z-index:2;animation:aiaSuggestionRiseIn .28s cubic-bezier(.25,.46,.45,.94) both,aiaSuggestionFadeIn .15s ease-out both;animation-delay:var(--aia-option-enter-delay, 0ms)}.aia-suggestion-item-tappable{cursor:pointer}.aia-suggestion-item-tappable:hover{color:var(--aia-option-color-selected, var(--aia-color-text-default, #fff))}.aia-suggestion-item-non-tappable{cursor:default}.aia-suggestion-item-highlighted{color:var(--aia-option-color-selected, var(--aia-color-text-default, #fff));background:var(--aia-option-bg, transparent);font-weight:500}.aia-suggestion-tag{font-size:11px;margin-left:6px;opacity:.5}.aia-suggestion-item-pressed{color:var(--aia-option-color-selected, var(--aia-color-text-default, #fff));animation:aiaPressCompress .17s ease forwards}[role=listbox]:has(.aia-suggestion-item-pressed) .aia-suggestion-item:not(.aia-suggestion-item-pressed){opacity:.35;transition:opacity 60ms ease}@keyframes aiaPressCompress{0%{transform:scale(1)}25%{transform:scale(.93)}60%{transform:scale(.93)}to{transform:scale(1)}}.aia-suggestion-item-scroll-hint .aia-suggestion-content{mask-image:linear-gradient(to bottom,rgb(0 0 0),rgb(0 0 0 / .6))}[data-aia-fit] .aia-suggestion-item-scroll-hint .aia-suggestion-content{mask-image:none}.aia-suggestion-item[data-aia-loading]{cursor:default;animation:aiaSuggestionSkeletonPulse 1.4s ease-in-out infinite}.aia-suggestion-item[data-aia-loading] .aia-suggestion-text{color:transparent;background:var(--aia-skeleton-bg, var(--aia-pill-bg, rgba(189, 189, 189, .25)));border-radius:999px;-webkit-box-decoration-break:clone;box-decoration-break:clone;animation:aiaSkeletonBarIn .1s ease-out}.aia-suggestion-item[data-aia-loading] .aia-suggestion-tag{display:none}.aia-suggestion-parameter{display:block;font-size:var(--aia-option-parameter-font-size, 12px);font-weight:400;line-height:16px;text-indent:0;color:var(--aia-option-parameter-color, inherit);opacity:var(--aia-option-parameter-opacity, .6)}.aia-suggestion-item[data-aia-loading] .aia-suggestion-parameter{display:none}.aia-suggestion-icon{display:inline-flex;align-items:center;height:21px;margin-right:8px;vertical-align:top;will-change:transform}.aia-suggestion-icon svg{display:block;width:1em;height:1em}.aia-suggestion-item[data-aia-loading] .aia-suggestion-icon{visibility:hidden}.aia-suggestion-content:not(:has(.aia-suggestion-count)):has(.aia-suggestion-icon){padding-left:calc(1em + 8px);text-indent:calc(-1em - 8px)}.aia-suggestion-content:has(.aia-suggestion-image),.aia-suggestion-content:has(.aia-suggestion-count){display:flex;flex:1 1 auto;align-items:flex-start;min-width:0}.aia-suggestion-content:has(.aia-suggestion-image) .aia-suggestion-text,.aia-suggestion-content:has(.aia-suggestion-count) .aia-suggestion-text{flex:1 1 auto;min-width:0}.aia-suggestion-item[data-aia-loading] .aia-suggestion-content .aia-suggestion-text{flex:0 1 auto}.aia-suggestion-content:has(.aia-suggestion-image){align-items:center;gap:var(--aia-option-image-gap, 12px)}.aia-suggestion-image{flex:0 0 auto;display:block;width:var(--aia-option-image-size, 40px);height:var(--aia-option-image-size, 40px);border-radius:var(--aia-option-image-radius, 12px);overflow:hidden;background:var(--aia-option-image-bg, var(--aia-skeleton-bg, rgba(189, 189, 189, .083)))}.aia-suggestion-image img{display:block;width:100%;height:100%;object-fit:
|
|
166
|
+
args: [{ selector: "aia-suggestion-item", standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n [id]=\"id\"\n role=\"option\"\n data-aia-option=\"\"\n [attr.data-aia-loading]=\"loading ? '' : null\"\n [attr.data-aia-icon]=\"iconHtml && option.icon ? option.icon : null\"\n [attr.data-aia-image]=\"imageSrc ? '' : null\"\n [attr.data-aia-item-count]=\"countLabel !== null ? option.item_count : null\"\n [attr.aria-selected]=\"isHighlighted\"\n class=\"aia-suggestion-item\"\n [style.--aia-option-enter-delay]=\"(enterDelay ?? 0) + 'ms'\"\n [class.aia-suggestion-item-highlighted]=\"isHighlighted && !loading\"\n [class.aia-suggestion-item-tappable]=\"option.is_tappable\"\n [class.aia-suggestion-item-non-tappable]=\"!option.is_tappable\"\n [class.aia-suggestion-item-pressed]=\"pressed\"\n [class.aia-suggestion-item-scroll-hint]=\"scrollHint\"\n [attr.tabindex]=\"loading || !option.is_tappable ? -1 : 0\"\n (click)=\"onSelect()\"\n (keydown)=\"onKeyDown($event)\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n>\n <span class=\"aia-suggestion-content\">\n <!-- The tile keeps a placeholder fill under the picture, so a slow or\n failed load leaves a neutral square rather than a gap. The picture is\n decorative: the text is the option's accessible name. -->\n <span *ngIf=\"imageSrc as src\" class=\"aia-suggestion-image\" aria-hidden=\"true\">\n <img\n [src]=\"src\"\n alt=\"\"\n loading=\"lazy\"\n decoding=\"async\"\n referrerpolicy=\"no-referrer\"\n draggable=\"false\"\n [hidden]=\"imageFailed\"\n (error)=\"onImageError()\"\n />\n </span>\n <span\n *ngIf=\"iconHtml\"\n class=\"aia-suggestion-icon\"\n aria-hidden=\"true\"\n [innerHTML]=\"iconHtml\"\n ></span>\n <span class=\"aia-suggestion-text\"\n ><ng-container *ngFor=\"let part of parts; trackBy: trackByIndex\"\n ><strong *ngIf=\"part.bold; else plain\" class=\"aia-suggestion-match\">{{ part.text }}</strong\n ><ng-template #plain>{{ part.text }}</ng-template></ng-container\n ><ng-container *ngIf=\"option.parameterLabel\"\n >{{ \" \" }}<span class=\"aia-suggestion-parameter\">{{ option.parameterLabel }}</span></ng-container\n ></span\n >\n <span *ngIf=\"option.tag\" class=\"aia-suggestion-tag\">{{ option.tag }}</span>\n <!-- Part of the row's accessible name, read after the option's text. -->\n <span *ngIf=\"countLabel !== null\" class=\"aia-suggestion-count\">{{ countLabel }}</span>\n </span>\n</div>\n", styles: [".aia-suggestion-item{position:relative;overflow:hidden;overflow:clip;display:flex;align-items:flex-start;font-family:inherit;font-size:var(--aia-option-font-size, 16px);font-weight:450;line-height:21px;color:var(--aia-option-color, var(--aia-color-text-muted, #c1c4cb));white-space:normal;word-break:break-word;border-radius:8px;padding:8px 10px}@keyframes aiaSuggestionFadeIn{0%{opacity:0}}@keyframes aiaSuggestionRiseIn{0%{transform:translateY(16px)}}@media (prefers-reduced-motion: reduce){.aia-suggestion-item,.aia-suggestion-content{animation-duration:0s;animation-delay:0s}}.aia-suggestion-content{position:relative;z-index:2;animation:aiaSuggestionRiseIn .28s cubic-bezier(.25,.46,.45,.94) both,aiaSuggestionFadeIn .15s ease-out both;animation-delay:var(--aia-option-enter-delay, 0ms)}.aia-suggestion-item-tappable{cursor:pointer}.aia-suggestion-item-tappable:hover{color:var(--aia-option-color-selected, var(--aia-color-text-default, #fff))}.aia-suggestion-item-non-tappable{cursor:default}.aia-suggestion-item-highlighted{color:var(--aia-option-color-selected, var(--aia-color-text-default, #fff));background:var(--aia-option-bg, transparent);font-weight:500}.aia-suggestion-tag{font-size:11px;margin-left:6px;opacity:.5}.aia-suggestion-item-pressed{color:var(--aia-option-color-selected, var(--aia-color-text-default, #fff));animation:aiaPressCompress .17s ease forwards}[role=listbox]:has(.aia-suggestion-item-pressed) .aia-suggestion-item:not(.aia-suggestion-item-pressed){opacity:.35;transition:opacity 60ms ease}@keyframes aiaPressCompress{0%{transform:scale(1)}25%{transform:scale(.93)}60%{transform:scale(.93)}to{transform:scale(1)}}.aia-suggestion-item-scroll-hint .aia-suggestion-content{mask-image:linear-gradient(to bottom,rgb(0 0 0),rgb(0 0 0 / .6))}[data-aia-fit] .aia-suggestion-item-scroll-hint .aia-suggestion-content{mask-image:none}.aia-suggestion-item[data-aia-loading]{cursor:default;animation:aiaSuggestionSkeletonPulse 1.4s ease-in-out infinite}.aia-suggestion-item[data-aia-loading] .aia-suggestion-text{color:transparent;background:var(--aia-skeleton-bg, var(--aia-pill-bg, rgba(189, 189, 189, .25)));border-radius:999px;-webkit-box-decoration-break:clone;box-decoration-break:clone;animation:aiaSkeletonBarIn .1s ease-out}.aia-suggestion-item[data-aia-loading] .aia-suggestion-tag{display:none}.aia-suggestion-parameter{display:block;font-size:var(--aia-option-parameter-font-size, 12px);font-weight:400;line-height:16px;text-indent:0;color:var(--aia-option-parameter-color, inherit);opacity:var(--aia-option-parameter-opacity, .6)}.aia-suggestion-match{color:var(--aia-smart-suggestion-accent, #b84549);font-weight:600}.aia-suggestion-item[data-aia-loading] .aia-suggestion-parameter{display:none}.aia-suggestion-icon{display:inline-flex;align-items:center;height:21px;margin-right:8px;vertical-align:top;will-change:transform}.aia-suggestion-icon svg{display:block;width:1em;height:1em}.aia-suggestion-item[data-aia-loading] .aia-suggestion-icon{visibility:hidden}.aia-suggestion-content:not(:has(.aia-suggestion-count)):has(.aia-suggestion-icon){padding-left:calc(1em + 8px);text-indent:calc(-1em - 8px)}.aia-suggestion-content:has(.aia-suggestion-image),.aia-suggestion-content:has(.aia-suggestion-count){display:flex;flex:1 1 auto;align-items:flex-start;min-width:0}.aia-suggestion-content:has(.aia-suggestion-image) .aia-suggestion-text,.aia-suggestion-content:has(.aia-suggestion-count) .aia-suggestion-text{flex:1 1 auto;min-width:0}.aia-suggestion-item[data-aia-loading] .aia-suggestion-content .aia-suggestion-text{flex:0 1 auto}.aia-suggestion-content:has(.aia-suggestion-image){align-items:center;gap:var(--aia-option-image-gap, 12px)}.aia-suggestion-image{flex:0 0 auto;display:block;width:var(--aia-option-image-size, 40px);height:var(--aia-option-image-size, 40px);border-radius:var(--aia-option-image-radius, 12px);overflow:hidden;background:var(--aia-option-image-bg, var(--aia-skeleton-bg, rgba(189, 189, 189, .083)))}.aia-suggestion-image img{display:block;width:100%;height:100%;object-fit:contain}.aia-suggestion-image img[hidden]{display:none}.aia-suggestion-count{flex:0 0 auto;margin-left:auto;padding-left:12px;font-size:var(--aia-option-count-font-size, 12px);font-weight:400;line-height:21px;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--aia-option-count-color, inherit);opacity:var(--aia-option-count-opacity, .6)}.aia-suggestion-count:after{content:\" \" var(--aia-option-count-unit, \"items\")}.aia-suggestion-item[data-aia-item-count=\"1\"] .aia-suggestion-count:after{content:\" \" var(--aia-option-count-unit-one, var(--aia-option-count-unit, \"item\"))}.aia-suggestion-item[data-aia-loading] .aia-suggestion-image img{visibility:hidden}.aia-suggestion-item[data-aia-loading] .aia-suggestion-count{display:none}[data-aia-group]:has(.aia-suggestion-parameter){--aia-option-row-height: 53px}[data-aia-group]:has(.aia-suggestion-image){--aia-option-row-height: calc(var(--aia-option-image-size, 40px) + 16px)}[data-aia-group]:has(.aia-suggestion-image) .aia-suggestion-content:not(:has(.aia-suggestion-image)){display:flex;flex:1 1 auto;align-items:center;gap:var(--aia-option-image-gap, 12px);min-width:0;min-height:var(--aia-option-image-size, 40px);padding-left:0;text-indent:0}[data-aia-group]:has(.aia-suggestion-image) .aia-suggestion-content:not(:has(.aia-suggestion-image)) .aia-suggestion-icon{flex:0 0 auto;justify-content:center;width:var(--aia-option-image-size, 40px);height:var(--aia-option-image-size, 40px);margin-right:0}[data-aia-group]:has(.aia-suggestion-image) .aia-suggestion-content:not(:has(.aia-suggestion-image)) .aia-suggestion-icon svg{width:var(--aia-option-tile-icon-size, 1.5em);height:var(--aia-option-tile-icon-size, 1.5em)}@keyframes aiaSuggestionSkeletonPulse{0%,to{filter:brightness(1)}50%{filter:brightness(.55)}}[data-aia-skeleton-exiting] .aia-suggestion-item[data-aia-loading] .aia-suggestion-content,[data-aia-skeleton-exiting] .aia-suggestion-item[data-aia-loading] .aia-suggestion-text{animation:none}[data-aia-skeleton-exiting] .aia-suggestion-item[data-aia-loading]{animation:aiaSkeletonOut .1s ease-in forwards}@keyframes aiaSkeletonBarIn{0%{background-color:transparent;color:inherit}}@keyframes aiaSkeletonOut{to{opacity:0}}\n"] }]
|
|
167
167
|
}], propDecorators: { option: [{
|
|
168
168
|
type: Input
|
|
169
169
|
}], isHighlighted: [{
|
|
@@ -189,4 +189,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
189
189
|
}], unhighlight: [{
|
|
190
190
|
type: Output
|
|
191
191
|
}] } });
|
|
192
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VnZ2VzdGlvbi1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvaW50ZXJuYWwvc3VnZ2VzdGlvbi1pdGVtL3N1Z2dlc3Rpb24taXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ludGVybmFsL3N1Z2dlc3Rpb24taXRlbS9zdWdnZXN0aW9uLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQWlCLE1BQU0sMkJBQTJCLENBQUM7QUFDeEUsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLFdBQVcsRUFFWCxxQkFBcUIsR0FDdEIsTUFBTSxxQ0FBcUMsQ0FBQzs7O0FBRTdDOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQVVILE1BQU0sT0FBTyx1QkFBdUI7SUFUcEM7UUFXVyxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0QixPQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ1IsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUN6Qiw4RUFBOEU7UUFDckUsYUFBUSxHQUFHLElBQUksQ0FBQztRQUN6QixvSEFBb0g7UUFDM0csY0FBUyxHQUFHLElBQUksQ0FBQztRQUMxQiwyRkFBMkY7UUFDbEYsY0FBUyxHQUFHLElBQUksQ0FBQztRQUMxQiw4RkFBOEY7UUFDckYsZUFBVSxHQUFHLEtBQUssQ0FBQztRQVM1Qjs7OztXQUlHO1FBQ0gsZUFBVSxHQUFrQixJQUFJLENBQUM7UUFFZCxXQUFNLEdB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QkFBN0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBpbmplY3QsXG4gIHR5cGUgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCB0eXBlIFNhZmVIdG1sIH0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcbmltcG9ydCB7XG4gIGZvcm1hdE9wdGlvbkNvdW50LFxuICBoaWdobGlnaHRQYXJ0cyxcbiAgb3B0aW9uSW1hZ2VTb3VyY2VzLFxuICBvcHRpb25MYWJlbCxcbiAgdHlwZSBTdWdnZXN0aW9uT3B0aW9uLFxuICBzYW5pdGl6ZU9wdGlvbkljb25TdmcsXG59IGZyb20gXCJAbWFnaWN4LWVuZy9haS1hdXRvY29tcGxldGUtdmFuaWxsYVwiO1xuXG4vKipcbiAqIEludGVybmFsIHNpbmdsZS1vcHRpb24gY2VsbCB1c2VkIGluc2lkZSB0aGUgc3VnZ2VzdGlvbiBncmlkLiBNaXJyb3JzXG4gKiBgcGFja2FnZXMvcmVhY3Qvc3JjL2NvbXBvbmVudHMvU3VnZ2VzdGlvbkl0ZW0udHN4YC4gSGFuZGxlczpcbiAqXG4gKiAtIFRhcHBhYmxlIHZzIG5vbi10YXBwYWJsZSBjdXJzb3IgKyBob3ZlciBzdHlsaW5nXG4gKiAtIFByZXNzZWQtc3RhdGUgY29tcHJlc3MgYW5pbWF0aW9uICgxNzBtcywgc2luZ2xlLWZsaWdodClcbiAqIC0gS2V5Ym9hcmQgYWN0aXZhdGlvbiAoRW50ZXIvU3BhY2UpXG4gKiAtIEFSSUEgYHJvbGU9XCJvcHRpb25cImAgKyBgYXJpYS1zZWxlY3RlZGAgZm9yIHRoZSBsaXN0Ym94IHBhdHRlcm5cbiAqIC0gTG9hZGluZyBza2VsZXRvbiB3aGVuIGBsb2FkaW5nPXRydWVgXG4gKiAtIFNlcnZlci1wcm92aWRlZCBpY29uIChgaWNvbl9zdmdgKSwgYWxsb3dsaXN0ZWQgdGhyb3VnaCB0aGUgY29yZSdzXG4gKiAgIGBzYW5pdGl6ZU9wdGlvbkljb25TdmdgIGJlZm9yZSBpdCBpcyBib3VuZCBhcyBIVE1MXG4gKiAtIFNlcnZlci1wcm92aWRlZCBwaWN0dXJlIChgaW1hZ2VfdXJsYCkgYXMgYSBzcXVhcmUgdGh1bWJuYWlsIGluIHBsYWNlIG9mXG4gKiAgIHRoZSBpY29uLCBhbmQgaXRlbSBjb3VudCAoYGl0ZW1fY291bnRgKSBhdCB0aGUgcm93J3MgdHJhaWxpbmcgZWRnZVxuICpcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiYWlhLXN1Z2dlc3Rpb24taXRlbVwiLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHRlbXBsYXRlVXJsOiBcIi4vc3VnZ2VzdGlvbi1pdGVtLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9zdWdnZXN0aW9uLWl0ZW0uY29tcG9uZW50LmNzc1wiXSxcbn0pXG5leHBvcnQgY2xhc3MgU3VnZ2VzdGlvbkl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBvcHRpb24hOiBTdWdnZXN0aW9uT3B0aW9uO1xuICBASW5wdXQoKSBpc0hpZ2hsaWdodGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlkID0gXCJcIjtcbiAgQElucHV0KCkgbG9hZGluZyA9IGZhbHNlO1xuICAvKiogV2hldGhlciB0byBkcmF3IHRoZSBvcHRpb24ncyBgaWNvbl9zdmdgIGJlZm9yZSBpdHMgdGV4dC4gRGVmYXVsdDogdHJ1ZS4gKi9cbiAgQElucHV0KCkgc2hvd0ljb24gPSB0cnVlO1xuICAvKiogV2hldGhlciB0byBkcmF3IHRoZSBvcHRpb24ncyBgaW1hZ2VfdXJsYCBhcyBhIHRodW1ibmFpbCBiZWZvcmUgaXRzIHRleHQsIGluIHBsYWNlIG9mIHRoZSBpY29uLiBEZWZhdWx0OiB0cnVlLiAqL1xuICBASW5wdXQoKSBzaG93SW1hZ2UgPSB0cnVlO1xuICAvKiogV2hldGhlciB0byBzaG93IHRoZSBvcHRpb24ncyBgaXRlbV9jb3VudGAgYXQgdGhlIHJvdydzIHRyYWlsaW5nIGVkZ2UuIERlZmF1bHQ6IHRydWUuICovXG4gIEBJbnB1dCgpIHNob3dDb3VudCA9IHRydWU7XG4gIC8qKiBGYWRlIHRoaXMgb3B0aW9uJ3MgdGV4dCB0b3dhcmQgaXRzIGJvdHRvbSBlZGdlIChsYXN0IHZpc2libGUgcm93IG9mIGEgc2Nyb2xsYWJsZSBncmlkKS4gKi9cbiAgQElucHV0KCkgc2Nyb2xsSGludCA9IGZhbHNlO1xuICAvKipcbiAgICogU3RhcnQgZGVsYXkgb2YgdGhpcyByb3cncyBlbnRyYW5jZSBhbmltYXRpb24gKG1zKSDigJQgZWFjaCByb3cgcmlzZXMgaW4gYVxuICAgKiBiZWF0IGFmdGVyIHRoZSBvbmUgbmVhcmVyIHRoZSBpbnB1dC4gQ2FwdHVyZWQgb25jZSwgb24gZmlyc3QgcmVuZGVyLCBzbyBhXG4gICAqIGxhdGVyIGNoYW5nZS1kZXRlY3Rpb24gcGFzcyBjYW4ndCByZXN0YXJ0IGEgcm93IG1pZC1yaXNlLlxuICAgKi9cbiAgQElucHV0KCkgc2V0IGVudGVyRGVsYXlNcyh2YWx1ZTogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuZW50ZXJEZWxheSA9PT0gbnVsbCkgdGhpcy5lbnRlckRlbGF5ID0gdmFsdWU7XG4gIH1cbiAgLyoqXG4gICAqIFRoZSBjYXB0dXJlZCBkZWxheTsgYG51bGxgIHVudGlsIHRoZSBmaXJzdCBgZW50ZXJEZWxheU1zYCBiaW5kaW5nIGxhbmRzLlxuICAgKiBUaGUgdGVtcGxhdGUgYmluZHMgaXQgdG8gYC0tYWlhLW9wdGlvbi1lbnRlci1kZWxheWAgKHRoZSBjb3JlJ3NcbiAgICogT1BUSU9OX0VOVEVSX0RFTEFZX1ZBUiksIHdoaWNoIHRoZSBzdHlsZXNoZWV0J3MgZW50cmFuY2UgcnVsZSByZWFkcy5cbiAgICovXG4gIGVudGVyRGVsYXk6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIEBPdXRwdXQoKSByZWFkb25seSBzZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPFN1Z2dlc3Rpb25PcHRpb24+KCk7XG4gIEBPdXRwdXQoKSByZWFkb25seSBoaWdobGlnaHQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIC8qKlxuICAgKiBUaGUgcG9pbnRlciBsZWZ0IHRoaXMgcm93LiBUaGUgb3duZXIgY2xlYXJzIHRoZSBoaWdobGlnaHQgaWYgaXQgaXMgc3RpbGxcbiAgICogb24gdGhpcyByb3c6IGEgaG92ZXIgaGlnaGxpZ2h0IGVuZHMgd2l0aCB0aGUgaG92ZXIsIHNvIEVudGVyIGFmdGVyd2FyZHNcbiAgICogc3VibWl0cyBpbnN0ZWFkIG9mIHBpY2tpbmcgYSByb3cgdGhlIHBvaW50ZXIgaXMgbm8gbG9uZ2VyIG9uLlxuICAgKi9cbiAgQE91dHB1dCgpIHJlYWRvbmx5IHVuaGlnaGxpZ2h0ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHByZXNzZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2FuaXRpemVyID0gaW5qZWN0KERvbVNhbml0aXplcik7XG4gIHByaXZhdGUgcHJlc3NlZFRpbWVyOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBpY29uU291cmNlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgaWNvblNhZmU6IFNhZmVIdG1sIHwgbnVsbCA9IG51bGw7XG4gIC8qKlxuICAgKiBUaGUgYHNyY2BzIHRoYXQgZmFpbGVkIHRvIGxvYWQ6IHRoZSByb3cgbW92ZXMgb24gdG8gdGhlIG5leHQgc291cmNlIChhXG4gICAqIFNob3BpZnkgdGh1bWJuYWlsIGZhbGxzIGJhY2sgdG8gdGhlIG9yaWdpbmFsKSwgYW5kIHRoZSB0aWxlIGtlZXBzIGl0c1xuICAgKiBwbGFjZWhvbGRlciBmaWxsIG9uY2Ugbm9uZSBpcyBsZWZ0LlxuICAgKi9cbiAgcHJpdmF0ZSBmYWlsZWRTcmNzOiByZWFkb25seSBzdHJpbmdbXSA9IFtdO1xuXG4gIC8qKiBUaGUgbGFiZWwgc3BsaXQgc28gdGhlIHR5cGVkIGZyYWdtZW50J3MgbWF0Y2ggY2FuIGJlIGRyYXduIGluIGJvbGQuICovXG4gIGdldCBwYXJ0cygpOiB7IHRleHQ6IHN0cmluZzsgYm9sZDogYm9vbGVhbiB9W10ge1xuICAgIHJldHVybiBoaWdobGlnaHRQYXJ0cyh0aGlzLmxhYmVsLCB0aGlzLm9wdGlvbi5tYXRjaGVkVGV4dCk7XG4gIH1cblxuICAvKiogYHBhcnRzYCBpcyByZWJ1aWx0IG9uIGV2ZXJ5IGNoZWNrLCBzbyBpdHMgbm9kZXMgYXJlIGtlcHQgYnkgcG9zaXRpb24uICovXG4gIHRyYWNrQnlJbmRleChpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICAvKiogVGhlIG9wdGlvbidzIHRleHQuIGBpY29uYCBpcyB0aGUgaWNvbidzIG5hbWUgYW5kIGlzIG5ldmVyIHNob3duIGFzIHRleHQuICovXG4gIGdldCBsYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBvcHRpb25MYWJlbCh0aGlzLm9wdGlvbik7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHBpY3R1cmUncyBgc3JjYCwgb3IgYG51bGxgIHdoZW4gdGhlIHJvdyBkcmF3cyBub25lOiBpbWFnZXMgb2ZmLCBub1xuICAgKiBgaW1hZ2VfdXJsYCwgb3Igb25lIHRoYXQgaXMgbm90IGFuIGh0dHAocykgVVJMLiBBIHBpY3R1cmUgc3RhbmRzIGluIGZvclxuICAgKiB0aGUgaWNvbiDigJQgYSByb3cgbmV2ZXIgbGVhZHMgd2l0aCB0d28gdmlzdWFscy5cbiAgICovXG4gIGdldCBpbWFnZVNyYygpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBjb25zdCBzb3VyY2VzID0gdGhpcy5pbWFnZVNvdXJjZXM7XG4gICAgcmV0dXJuIChcbiAgICAgIHNvdXJjZXMuZmluZCgoc3JjKSA9PiAhdGhpcy5mYWlsZWRTcmNzLmluY2x1ZGVzKHNyYykpID8/IHNvdXJjZXNbc291cmNlcy5sZW5ndGggLSAxXSA/PyBudWxsXG4gICAgKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIGV2ZXJ5IHNvdXJjZSBvZiB0aGUgcGljdHVyZSBmYWlsZWQgdG8gbG9hZCAodGhlIHRpbGUncyBmaWxsIHN0YXlzKS4gKi9cbiAgZ2V0IGltYWdlRmFpbGVkKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHNvdXJjZXMgPSB0aGlzLmltYWdlU291cmNlcztcbiAgICByZXR1cm4gc291cmNlcy5sZW5ndGggPiAwICYmIHNvdXJjZXMuZXZlcnkoKHNyYykgPT4gdGhpcy5mYWlsZWRTcmNzLmluY2x1ZGVzKHNyYykpO1xuICB9XG5cbiAgb25JbWFnZUVycm9yKCk6IHZvaWQge1xuICAgIGNvbnN0IHNyYyA9IHRoaXMuaW1hZ2VTcmM7XG4gICAgaWYgKHNyYyAhPT0gbnVsbCAmJiAhdGhpcy5mYWlsZWRTcmNzLmluY2x1ZGVzKHNyYykpIHRoaXMuZmFpbGVkU3JjcyA9IFsuLi50aGlzLmZhaWxlZFNyY3MsIHNyY107XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcml2YXRlIGdldCBpbWFnZVNvdXJjZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLnNob3dJbWFnZSA/IG9wdGlvbkltYWdlU291cmNlcyh0aGlzLm9wdGlvbi5pbWFnZV91cmwpIDogW107XG4gIH1cblxuICAvKipcbiAgICogVGhlIGNvdW50IGFzIHByaW50ZWQgKFwiMSwyODRcIiksIG9yIGBudWxsYCB3aGVuIHRoZSByb3cgc2hvd3Mgbm9uZS4gVGhlXG4gICAqIHVuaXQgd29yZCBhZnRlciBpdCBpcyB0aGUgc3R5bGVzaGVldCdzIChgLS1haWEtb3B0aW9uLWNvdW50LXVuaXRgKS5cbiAgICovXG4gIGdldCBjb3VudExhYmVsKCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnNob3dDb3VudCA/IGZvcm1hdE9wdGlvbkNvdW50KHRoaXMub3B0aW9uLml0ZW1fY291bnQpIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgb3B0aW9uJ3MgaWNvbiBhcyBiaW5kYWJsZSBIVE1MLCBvciBgbnVsbGAgd2hlbiBpdCBoYXMgbm9uZSAob3IgaXRzXG4gICAqIG1hcmt1cCBmYWlsZWQgdGhlIGFsbG93bGlzdCkuIEFuZ3VsYXIncyBvd24gSFRNTCBzYW5pdGl6ZXIgc3RyaXBzIGA8c3ZnPmBcbiAgICogd2hvbGVzYWxlLCBzbyB0aGUgY29yZSdzIGFsbG93bGlzdGVkIG91dHB1dCBpcyBtYXJrZWQgdHJ1c3RlZCBpbnN0ZWFkIOKAlFxuICAgKiBpdCBpcyBuZXZlciB0aGUgc2VydmVyJ3MgcmF3IHN0cmluZy4gUmVjb21wdXRlZCBvbmx5IHdoZW4gdGhlIG1hcmt1cFxuICAgKiBjaGFuZ2VzOyB0aGUgZ2V0dGVyIHJ1bnMgb24gZXZlcnkgT25QdXNoIGNoZWNrLlxuICAgKi9cbiAgZ2V0IGljb25IdG1sKCk6IFNhZmVIdG1sIHwgbnVsbCB7XG4gICAgY29uc3Qgc3ZnID0gdGhpcy5zaG93SWNvbiAmJiAhdGhpcy5pbWFnZVNyYyA/IHRoaXMub3B0aW9uLmljb25fc3ZnIDogdW5kZWZpbmVkO1xuICAgIGlmIChzdmcgIT09IHRoaXMuaWNvblNvdXJjZSkge1xuICAgICAgdGhpcy5pY29uU291cmNlID0gc3ZnO1xuICAgICAgY29uc3QgaHRtbCA9IHN2ZyA/IHNhbml0aXplT3B0aW9uSWNvblN2ZyhzdmcpIDogbnVsbDtcbiAgICAgIHRoaXMuaWNvblNhZmUgPSBodG1sID8gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoaHRtbCkgOiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5pY29uU2FmZTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByZXNzZWRUaW1lciAhPT0gdW5kZWZpbmVkKSBjbGVhclRpbWVvdXQodGhpcy5wcmVzc2VkVGltZXIpO1xuICB9XG5cbiAgb25TZWxlY3QoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubG9hZGluZyB8fCAhdGhpcy5vcHRpb24uaXNfdGFwcGFibGUgfHwgdGhpcy5wcmVzc2VkKSByZXR1cm47XG4gICAgdGhpcy5wcmVzc2VkID0gdHJ1ZTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB0aGlzLnNlbGVjdC5lbWl0KHRoaXMub3B0aW9uKTtcbiAgICBpZiAodGhpcy5wcmVzc2VkVGltZXIgIT09IHVuZGVmaW5lZCkgY2xlYXJUaW1lb3V0KHRoaXMucHJlc3NlZFRpbWVyKTtcbiAgICB0aGlzLnByZXNzZWRUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5wcmVzc2VkID0gZmFsc2U7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9LCAxNzApO1xuICB9XG5cbiAgb25Nb3VzZUVudGVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxvYWRpbmcgfHwgIXRoaXMub3B0aW9uLmlzX3RhcHBhYmxlKSByZXR1cm47XG4gICAgdGhpcy5oaWdobGlnaHQuZW1pdCgpO1xuICB9XG5cbiAgb25Nb3VzZUxlYXZlKCk6IHZvaWQge1xuICAgIHRoaXMudW5oaWdobGlnaHQuZW1pdCgpO1xuICB9XG5cbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMubG9hZGluZyB8fCAhdGhpcy5vcHRpb24uaXNfdGFwcGFibGUpIHJldHVybjtcbiAgICBpZiAoZXZlbnQua2V5ID09PSBcIkVudGVyXCIgfHwgZXZlbnQua2V5ID09PSBcIiBcIikge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMub25TZWxlY3QoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgW2lkXT1cImlkXCJcbiAgcm9sZT1cIm9wdGlvblwiXG4gIGRhdGEtYWlhLW9wdGlvbj1cIlwiXG4gIFthdHRyLmRhdGEtYWlhLWxvYWRpbmddPVwibG9hZGluZyA/ICcnIDogbnVsbFwiXG4gIFthdHRyLmRhdGEtYWlhLWljb25dPVwiaWNvbkh0bWwgJiYgb3B0aW9uLmljb24gPyBvcHRpb24uaWNvbiA6IG51bGxcIlxuICBbYXR0ci5kYXRhLWFpYS1pbWFnZV09XCJpbWFnZVNyYyA/ICcnIDogbnVsbFwiXG4gIFthdHRyLmRhdGEtYWlhLWl0ZW0tY291bnRdPVwiY291bnRMYWJlbCAhPT0gbnVsbCA/IG9wdGlvbi5pdGVtX2NvdW50IDogbnVsbFwiXG4gIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiaXNIaWdobGlnaHRlZFwiXG4gIGNsYXNzPVwiYWlhLXN1Z2dlc3Rpb24taXRlbVwiXG4gIFtzdHlsZS4tLWFpYS1vcHRpb24tZW50ZXItZGVsYXldPVwiKGVudGVyRGVsYXkgPz8gMCkgKyAnbXMnXCJcbiAgW2NsYXNzLmFpYS1zdWdnZXN0aW9uLWl0ZW0taGlnaGxpZ2h0ZWRdPVwiaXNIaWdobGlnaHRlZCAmJiAhbG9hZGluZ1wiXG4gIFtjbGFzcy5haWEtc3VnZ2VzdGlvbi1pdGVtLXRhcHBhYmxlXT1cIm9wdGlvbi5pc190YXBwYWJsZVwiXG4gIFtjbGFzcy5haWEtc3VnZ2VzdGlvbi1pdGVtLW5vbi10YXBwYWJsZV09XCIhb3B0aW9uLmlzX3RhcHBhYmxlXCJcbiAgW2NsYXNzLmFpYS1zdWdnZXN0aW9uLWl0ZW0tcHJlc3NlZF09XCJwcmVzc2VkXCJcbiAgW2NsYXNzLmFpYS1zdWdnZXN0aW9uLWl0ZW0tc2Nyb2xsLWhpbnRdPVwic2Nyb2xsSGludFwiXG4gIFthdHRyLnRhYmluZGV4XT1cImxvYWRpbmcgfHwgIW9wdGlvbi5pc190YXBwYWJsZSA/IC0xIDogMFwiXG4gIChjbGljayk9XCJvblNlbGVjdCgpXCJcbiAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudClcIlxuICAobW91c2VlbnRlcik9XCJvbk1vdXNlRW50ZXIoKVwiXG4gIChtb3VzZWxlYXZlKT1cIm9uTW91c2VMZWF2ZSgpXCJcbj5cbiAgPHNwYW4gY2xhc3M9XCJhaWEtc3VnZ2VzdGlvbi1jb250ZW50XCI+XG4gICAgPCEtLSBUaGUgdGlsZSBrZWVwcyBhIHBsYWNlaG9sZGVyIGZpbGwgdW5kZXIgdGhlIHBpY3R1cmUsIHNvIGEgc2xvdyBvclxuICAgICAgICAgZmFpbGVkIGxvYWQgbGVhdmVzIGEgbmV1dHJhbCBzcXVhcmUgcmF0aGVyIHRoYW4gYSBnYXAuIFRoZSBwaWN0dXJlIGlzXG4gICAgICAgICBkZWNvcmF0aXZlOiB0aGUgdGV4dCBpcyB0aGUgb3B0aW9uJ3MgYWNjZXNzaWJsZSBuYW1lLiAtLT5cbiAgICA8c3BhbiAqbmdJZj1cImltYWdlU3JjIGFzIHNyY1wiIGNsYXNzPVwiYWlhLXN1Z2dlc3Rpb24taW1hZ2VcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgIDxpbWdcbiAgICAgICAgW3NyY109XCJzcmNcIlxuICAgICAgICBhbHQ9XCJcIlxuICAgICAgICBsb2FkaW5nPVwibGF6eVwiXG4gICAgICAgIGRlY29kaW5nPVwiYXN5bmNcIlxuICAgICAgICByZWZlcnJlcnBvbGljeT1cIm5vLXJlZmVycmVyXCJcbiAgICAgICAgZHJhZ2dhYmxlPVwiZmFsc2VcIlxuICAgICAgICBbaGlkZGVuXT1cImltYWdlRmFpbGVkXCJcbiAgICAgICAgKGVycm9yKT1cIm9uSW1hZ2VFcnJvcigpXCJcbiAgICAgIC8+XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuXG4gICAgICAqbmdJZj1cImljb25IdG1sXCJcbiAgICAgIGNsYXNzPVwiYWlhLXN1Z2dlc3Rpb24taWNvblwiXG4gICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgW2lubmVySFRNTF09XCJpY29uSHRtbFwiXG4gICAgPjwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cImFpYS1zdWdnZXN0aW9uLXRleHRcIlxuICAgICAgPjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHBhcnQgb2YgcGFydHM7IHRyYWNrQnk6IHRyYWNrQnlJbmRleFwiXG4gICAgICAgID48c3Ryb25nICpuZ0lmPVwicGFydC5ib2xkOyBlbHNlIHBsYWluXCI+e3sgcGFydC50ZXh0IH19PC9zdHJvbmdcbiAgICAgICAgPjxuZy10ZW1wbGF0ZSAjcGxhaW4+e3sgcGFydC50ZXh0IH19PC9uZy10ZW1wbGF0ZT48L25nLWNvbnRhaW5lclxuICAgICAgPjxuZy1jb250YWluZXIgKm5nSWY9XCJvcHRpb24ucGFyYW1ldGVyTGFiZWxcIlxuICAgICAgICA+e3sgXCIgXCIgfX08c3BhbiBjbGFzcz1cImFpYS1zdWdnZXN0aW9uLXBhcmFtZXRlclwiPnt7IG9wdGlvbi5wYXJhbWV0ZXJMYWJlbCB9fTwvc3Bhbj48L25nLWNvbnRhaW5lclxuICAgICAgPjwvc3BhblxuICAgID5cbiAgICA8c3BhbiAqbmdJZj1cIm9wdGlvbi50YWdcIiBjbGFzcz1cImFpYS1zdWdnZXN0aW9uLXRhZ1wiPnt7IG9wdGlvbi50YWcgfX08L3NwYW4+XG4gICAgPCEtLSBQYXJ0IG9mIHRoZSByb3cncyBhY2Nlc3NpYmxlIG5hbWUsIHJlYWQgYWZ0ZXIgdGhlIG9wdGlvbidzIHRleHQuIC0tPlxuICAgIDxzcGFuICpuZ0lmPVwiY291bnRMYWJlbCAhPT0gbnVsbFwiIGNsYXNzPVwiYWlhLXN1Z2dlc3Rpb24tY291bnRcIj57eyBjb3VudExhYmVsIH19PC9zcGFuPlxuICA8L3NwYW4+XG48L2Rpdj5cbiJdfQ==
|
|
192
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VnZ2VzdGlvbi1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvaW50ZXJuYWwvc3VnZ2VzdGlvbi1pdGVtL3N1Z2dlc3Rpb24taXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ludGVybmFsL3N1Z2dlc3Rpb24taXRlbS9zdWdnZXN0aW9uLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQWlCLE1BQU0sMkJBQTJCLENBQUM7QUFDeEUsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLFdBQVcsRUFFWCxxQkFBcUIsR0FDdEIsTUFBTSxxQ0FBcUMsQ0FBQzs7O0FBRTdDOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQVVILE1BQU0sT0FBTyx1QkFBdUI7SUFUcEM7UUFXVyxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0QixPQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ1IsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUN6Qiw4RUFBOEU7UUFDckUsYUFBUSxHQUFHLElBQUksQ0FBQztRQUN6QixvSEFBb0g7UUFDM0csY0FBUyxHQUFHLElBQUksQ0FBQztRQUMxQiwyRkFBMkY7UUFDbEYsY0FBUyxHQUFHLElBQUksQ0FBQztRQUMxQiw4RkFBOEY7UUFDckYsZUFBVSxHQUFHLEtBQUssQ0FBQztRQVM1Qjs7OztXQUlHO1FBQ0gsZUFBVSxHQUFrQixJQUFJLENBQUM7UUFFZCxXQUFNLEdB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QkFBN0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBpbmplY3QsXG4gIHR5cGUgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCB0eXBlIFNhZmVIdG1sIH0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcbmltcG9ydCB7XG4gIGZvcm1hdE9wdGlvbkNvdW50LFxuICBoaWdobGlnaHRQYXJ0cyxcbiAgb3B0aW9uSW1hZ2VTb3VyY2VzLFxuICBvcHRpb25MYWJlbCxcbiAgdHlwZSBTdWdnZXN0aW9uT3B0aW9uLFxuICBzYW5pdGl6ZU9wdGlvbkljb25TdmcsXG59IGZyb20gXCJAbWFnaWN4LWVuZy9haS1hdXRvY29tcGxldGUtdmFuaWxsYVwiO1xuXG4vKipcbiAqIEludGVybmFsIHNpbmdsZS1vcHRpb24gY2VsbCB1c2VkIGluc2lkZSB0aGUgc3VnZ2VzdGlvbiBncmlkLiBNaXJyb3JzXG4gKiBgcGFja2FnZXMvcmVhY3Qvc3JjL2NvbXBvbmVudHMvU3VnZ2VzdGlvbkl0ZW0udHN4YC4gSGFuZGxlczpcbiAqXG4gKiAtIFRhcHBhYmxlIHZzIG5vbi10YXBwYWJsZSBjdXJzb3IgKyBob3ZlciBzdHlsaW5nXG4gKiAtIFByZXNzZWQtc3RhdGUgY29tcHJlc3MgYW5pbWF0aW9uICgxNzBtcywgc2luZ2xlLWZsaWdodClcbiAqIC0gS2V5Ym9hcmQgYWN0aXZhdGlvbiAoRW50ZXIvU3BhY2UpXG4gKiAtIEFSSUEgYHJvbGU9XCJvcHRpb25cImAgKyBgYXJpYS1zZWxlY3RlZGAgZm9yIHRoZSBsaXN0Ym94IHBhdHRlcm5cbiAqIC0gTG9hZGluZyBza2VsZXRvbiB3aGVuIGBsb2FkaW5nPXRydWVgXG4gKiAtIFNlcnZlci1wcm92aWRlZCBpY29uIChgaWNvbl9zdmdgKSwgYWxsb3dsaXN0ZWQgdGhyb3VnaCB0aGUgY29yZSdzXG4gKiAgIGBzYW5pdGl6ZU9wdGlvbkljb25TdmdgIGJlZm9yZSBpdCBpcyBib3VuZCBhcyBIVE1MXG4gKiAtIFNlcnZlci1wcm92aWRlZCBwaWN0dXJlIChgaW1hZ2VfdXJsYCkgYXMgYSBzcXVhcmUgdGh1bWJuYWlsIGluIHBsYWNlIG9mXG4gKiAgIHRoZSBpY29uLCBhbmQgaXRlbSBjb3VudCAoYGl0ZW1fY291bnRgKSBhdCB0aGUgcm93J3MgdHJhaWxpbmcgZWRnZVxuICpcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiYWlhLXN1Z2dlc3Rpb24taXRlbVwiLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHRlbXBsYXRlVXJsOiBcIi4vc3VnZ2VzdGlvbi1pdGVtLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9zdWdnZXN0aW9uLWl0ZW0uY29tcG9uZW50LmNzc1wiXSxcbn0pXG5leHBvcnQgY2xhc3MgU3VnZ2VzdGlvbkl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBvcHRpb24hOiBTdWdnZXN0aW9uT3B0aW9uO1xuICBASW5wdXQoKSBpc0hpZ2hsaWdodGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlkID0gXCJcIjtcbiAgQElucHV0KCkgbG9hZGluZyA9IGZhbHNlO1xuICAvKiogV2hldGhlciB0byBkcmF3IHRoZSBvcHRpb24ncyBgaWNvbl9zdmdgIGJlZm9yZSBpdHMgdGV4dC4gRGVmYXVsdDogdHJ1ZS4gKi9cbiAgQElucHV0KCkgc2hvd0ljb24gPSB0cnVlO1xuICAvKiogV2hldGhlciB0byBkcmF3IHRoZSBvcHRpb24ncyBgaW1hZ2VfdXJsYCBhcyBhIHRodW1ibmFpbCBiZWZvcmUgaXRzIHRleHQsIGluIHBsYWNlIG9mIHRoZSBpY29uLiBEZWZhdWx0OiB0cnVlLiAqL1xuICBASW5wdXQoKSBzaG93SW1hZ2UgPSB0cnVlO1xuICAvKiogV2hldGhlciB0byBzaG93IHRoZSBvcHRpb24ncyBgaXRlbV9jb3VudGAgYXQgdGhlIHJvdydzIHRyYWlsaW5nIGVkZ2UuIERlZmF1bHQ6IHRydWUuICovXG4gIEBJbnB1dCgpIHNob3dDb3VudCA9IHRydWU7XG4gIC8qKiBGYWRlIHRoaXMgb3B0aW9uJ3MgdGV4dCB0b3dhcmQgaXRzIGJvdHRvbSBlZGdlIChsYXN0IHZpc2libGUgcm93IG9mIGEgc2Nyb2xsYWJsZSBncmlkKS4gKi9cbiAgQElucHV0KCkgc2Nyb2xsSGludCA9IGZhbHNlO1xuICAvKipcbiAgICogU3RhcnQgZGVsYXkgb2YgdGhpcyByb3cncyBlbnRyYW5jZSBhbmltYXRpb24gKG1zKSDigJQgZWFjaCByb3cgcmlzZXMgaW4gYVxuICAgKiBiZWF0IGFmdGVyIHRoZSBvbmUgbmVhcmVyIHRoZSBpbnB1dC4gQ2FwdHVyZWQgb25jZSwgb24gZmlyc3QgcmVuZGVyLCBzbyBhXG4gICAqIGxhdGVyIGNoYW5nZS1kZXRlY3Rpb24gcGFzcyBjYW4ndCByZXN0YXJ0IGEgcm93IG1pZC1yaXNlLlxuICAgKi9cbiAgQElucHV0KCkgc2V0IGVudGVyRGVsYXlNcyh2YWx1ZTogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuZW50ZXJEZWxheSA9PT0gbnVsbCkgdGhpcy5lbnRlckRlbGF5ID0gdmFsdWU7XG4gIH1cbiAgLyoqXG4gICAqIFRoZSBjYXB0dXJlZCBkZWxheTsgYG51bGxgIHVudGlsIHRoZSBmaXJzdCBgZW50ZXJEZWxheU1zYCBiaW5kaW5nIGxhbmRzLlxuICAgKiBUaGUgdGVtcGxhdGUgYmluZHMgaXQgdG8gYC0tYWlhLW9wdGlvbi1lbnRlci1kZWxheWAgKHRoZSBjb3JlJ3NcbiAgICogT1BUSU9OX0VOVEVSX0RFTEFZX1ZBUiksIHdoaWNoIHRoZSBzdHlsZXNoZWV0J3MgZW50cmFuY2UgcnVsZSByZWFkcy5cbiAgICovXG4gIGVudGVyRGVsYXk6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIEBPdXRwdXQoKSByZWFkb25seSBzZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPFN1Z2dlc3Rpb25PcHRpb24+KCk7XG4gIEBPdXRwdXQoKSByZWFkb25seSBoaWdobGlnaHQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIC8qKlxuICAgKiBUaGUgcG9pbnRlciBsZWZ0IHRoaXMgcm93LiBUaGUgb3duZXIgY2xlYXJzIHRoZSBoaWdobGlnaHQgaWYgaXQgaXMgc3RpbGxcbiAgICogb24gdGhpcyByb3c6IGEgaG92ZXIgaGlnaGxpZ2h0IGVuZHMgd2l0aCB0aGUgaG92ZXIsIHNvIEVudGVyIGFmdGVyd2FyZHNcbiAgICogc3VibWl0cyBpbnN0ZWFkIG9mIHBpY2tpbmcgYSByb3cgdGhlIHBvaW50ZXIgaXMgbm8gbG9uZ2VyIG9uLlxuICAgKi9cbiAgQE91dHB1dCgpIHJlYWRvbmx5IHVuaGlnaGxpZ2h0ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHByZXNzZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2FuaXRpemVyID0gaW5qZWN0KERvbVNhbml0aXplcik7XG4gIHByaXZhdGUgcHJlc3NlZFRpbWVyOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBpY29uU291cmNlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgaWNvblNhZmU6IFNhZmVIdG1sIHwgbnVsbCA9IG51bGw7XG4gIC8qKlxuICAgKiBUaGUgYHNyY2BzIHRoYXQgZmFpbGVkIHRvIGxvYWQ6IHRoZSByb3cgbW92ZXMgb24gdG8gdGhlIG5leHQgc291cmNlIChhXG4gICAqIFNob3BpZnkgdGh1bWJuYWlsIGZhbGxzIGJhY2sgdG8gdGhlIG9yaWdpbmFsKSwgYW5kIHRoZSB0aWxlIGtlZXBzIGl0c1xuICAgKiBwbGFjZWhvbGRlciBmaWxsIG9uY2Ugbm9uZSBpcyBsZWZ0LlxuICAgKi9cbiAgcHJpdmF0ZSBmYWlsZWRTcmNzOiByZWFkb25seSBzdHJpbmdbXSA9IFtdO1xuXG4gIC8qKiBUaGUgbGFiZWwgc3BsaXQgc28gdGhlIHR5cGVkIGZyYWdtZW50J3MgbWF0Y2ggY2FuIGJlIGRyYXduIGluIGJvbGQuICovXG4gIGdldCBwYXJ0cygpOiB7IHRleHQ6IHN0cmluZzsgYm9sZDogYm9vbGVhbiB9W10ge1xuICAgIHJldHVybiBoaWdobGlnaHRQYXJ0cyh0aGlzLmxhYmVsLCB0aGlzLm9wdGlvbi5tYXRjaGVkVGV4dCk7XG4gIH1cblxuICAvKiogYHBhcnRzYCBpcyByZWJ1aWx0IG9uIGV2ZXJ5IGNoZWNrLCBzbyBpdHMgbm9kZXMgYXJlIGtlcHQgYnkgcG9zaXRpb24uICovXG4gIHRyYWNrQnlJbmRleChpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICAvKiogVGhlIG9wdGlvbidzIHRleHQuIGBpY29uYCBpcyB0aGUgaWNvbidzIG5hbWUgYW5kIGlzIG5ldmVyIHNob3duIGFzIHRleHQuICovXG4gIGdldCBsYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBvcHRpb25MYWJlbCh0aGlzLm9wdGlvbik7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHBpY3R1cmUncyBgc3JjYCwgb3IgYG51bGxgIHdoZW4gdGhlIHJvdyBkcmF3cyBub25lOiBpbWFnZXMgb2ZmLCBub1xuICAgKiBgaW1hZ2VfdXJsYCwgb3Igb25lIHRoYXQgaXMgbm90IGFuIGh0dHAocykgVVJMLiBBIHBpY3R1cmUgc3RhbmRzIGluIGZvclxuICAgKiB0aGUgaWNvbiDigJQgYSByb3cgbmV2ZXIgbGVhZHMgd2l0aCB0d28gdmlzdWFscy5cbiAgICovXG4gIGdldCBpbWFnZVNyYygpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBjb25zdCBzb3VyY2VzID0gdGhpcy5pbWFnZVNvdXJjZXM7XG4gICAgcmV0dXJuIChcbiAgICAgIHNvdXJjZXMuZmluZCgoc3JjKSA9PiAhdGhpcy5mYWlsZWRTcmNzLmluY2x1ZGVzKHNyYykpID8/IHNvdXJjZXNbc291cmNlcy5sZW5ndGggLSAxXSA/PyBudWxsXG4gICAgKTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIGV2ZXJ5IHNvdXJjZSBvZiB0aGUgcGljdHVyZSBmYWlsZWQgdG8gbG9hZCAodGhlIHRpbGUncyBmaWxsIHN0YXlzKS4gKi9cbiAgZ2V0IGltYWdlRmFpbGVkKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHNvdXJjZXMgPSB0aGlzLmltYWdlU291cmNlcztcbiAgICByZXR1cm4gc291cmNlcy5sZW5ndGggPiAwICYmIHNvdXJjZXMuZXZlcnkoKHNyYykgPT4gdGhpcy5mYWlsZWRTcmNzLmluY2x1ZGVzKHNyYykpO1xuICB9XG5cbiAgb25JbWFnZUVycm9yKCk6IHZvaWQge1xuICAgIGNvbnN0IHNyYyA9IHRoaXMuaW1hZ2VTcmM7XG4gICAgaWYgKHNyYyAhPT0gbnVsbCAmJiAhdGhpcy5mYWlsZWRTcmNzLmluY2x1ZGVzKHNyYykpIHRoaXMuZmFpbGVkU3JjcyA9IFsuLi50aGlzLmZhaWxlZFNyY3MsIHNyY107XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcml2YXRlIGdldCBpbWFnZVNvdXJjZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLnNob3dJbWFnZSA/IG9wdGlvbkltYWdlU291cmNlcyh0aGlzLm9wdGlvbi5pbWFnZV91cmwpIDogW107XG4gIH1cblxuICAvKipcbiAgICogVGhlIGNvdW50IGFzIHByaW50ZWQgKFwiMSwyODRcIiksIG9yIGBudWxsYCB3aGVuIHRoZSByb3cgc2hvd3Mgbm9uZS4gVGhlXG4gICAqIHVuaXQgd29yZCBhZnRlciBpdCBpcyB0aGUgc3R5bGVzaGVldCdzIChgLS1haWEtb3B0aW9uLWNvdW50LXVuaXRgKS5cbiAgICovXG4gIGdldCBjb3VudExhYmVsKCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnNob3dDb3VudCA/IGZvcm1hdE9wdGlvbkNvdW50KHRoaXMub3B0aW9uLml0ZW1fY291bnQpIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgb3B0aW9uJ3MgaWNvbiBhcyBiaW5kYWJsZSBIVE1MLCBvciBgbnVsbGAgd2hlbiBpdCBoYXMgbm9uZSAob3IgaXRzXG4gICAqIG1hcmt1cCBmYWlsZWQgdGhlIGFsbG93bGlzdCkuIEFuZ3VsYXIncyBvd24gSFRNTCBzYW5pdGl6ZXIgc3RyaXBzIGA8c3ZnPmBcbiAgICogd2hvbGVzYWxlLCBzbyB0aGUgY29yZSdzIGFsbG93bGlzdGVkIG91dHB1dCBpcyBtYXJrZWQgdHJ1c3RlZCBpbnN0ZWFkIOKAlFxuICAgKiBpdCBpcyBuZXZlciB0aGUgc2VydmVyJ3MgcmF3IHN0cmluZy4gUmVjb21wdXRlZCBvbmx5IHdoZW4gdGhlIG1hcmt1cFxuICAgKiBjaGFuZ2VzOyB0aGUgZ2V0dGVyIHJ1bnMgb24gZXZlcnkgT25QdXNoIGNoZWNrLlxuICAgKi9cbiAgZ2V0IGljb25IdG1sKCk6IFNhZmVIdG1sIHwgbnVsbCB7XG4gICAgY29uc3Qgc3ZnID0gdGhpcy5zaG93SWNvbiAmJiAhdGhpcy5pbWFnZVNyYyA/IHRoaXMub3B0aW9uLmljb25fc3ZnIDogdW5kZWZpbmVkO1xuICAgIGlmIChzdmcgIT09IHRoaXMuaWNvblNvdXJjZSkge1xuICAgICAgdGhpcy5pY29uU291cmNlID0gc3ZnO1xuICAgICAgY29uc3QgaHRtbCA9IHN2ZyA/IHNhbml0aXplT3B0aW9uSWNvblN2ZyhzdmcpIDogbnVsbDtcbiAgICAgIHRoaXMuaWNvblNhZmUgPSBodG1sID8gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoaHRtbCkgOiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5pY29uU2FmZTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByZXNzZWRUaW1lciAhPT0gdW5kZWZpbmVkKSBjbGVhclRpbWVvdXQodGhpcy5wcmVzc2VkVGltZXIpO1xuICB9XG5cbiAgb25TZWxlY3QoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubG9hZGluZyB8fCAhdGhpcy5vcHRpb24uaXNfdGFwcGFibGUgfHwgdGhpcy5wcmVzc2VkKSByZXR1cm47XG4gICAgdGhpcy5wcmVzc2VkID0gdHJ1ZTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB0aGlzLnNlbGVjdC5lbWl0KHRoaXMub3B0aW9uKTtcbiAgICBpZiAodGhpcy5wcmVzc2VkVGltZXIgIT09IHVuZGVmaW5lZCkgY2xlYXJUaW1lb3V0KHRoaXMucHJlc3NlZFRpbWVyKTtcbiAgICB0aGlzLnByZXNzZWRUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5wcmVzc2VkID0gZmFsc2U7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9LCAxNzApO1xuICB9XG5cbiAgb25Nb3VzZUVudGVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxvYWRpbmcgfHwgIXRoaXMub3B0aW9uLmlzX3RhcHBhYmxlKSByZXR1cm47XG4gICAgdGhpcy5oaWdobGlnaHQuZW1pdCgpO1xuICB9XG5cbiAgb25Nb3VzZUxlYXZlKCk6IHZvaWQge1xuICAgIHRoaXMudW5oaWdobGlnaHQuZW1pdCgpO1xuICB9XG5cbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMubG9hZGluZyB8fCAhdGhpcy5vcHRpb24uaXNfdGFwcGFibGUpIHJldHVybjtcbiAgICBpZiAoZXZlbnQua2V5ID09PSBcIkVudGVyXCIgfHwgZXZlbnQua2V5ID09PSBcIiBcIikge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMub25TZWxlY3QoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgW2lkXT1cImlkXCJcbiAgcm9sZT1cIm9wdGlvblwiXG4gIGRhdGEtYWlhLW9wdGlvbj1cIlwiXG4gIFthdHRyLmRhdGEtYWlhLWxvYWRpbmddPVwibG9hZGluZyA/ICcnIDogbnVsbFwiXG4gIFthdHRyLmRhdGEtYWlhLWljb25dPVwiaWNvbkh0bWwgJiYgb3B0aW9uLmljb24gPyBvcHRpb24uaWNvbiA6IG51bGxcIlxuICBbYXR0ci5kYXRhLWFpYS1pbWFnZV09XCJpbWFnZVNyYyA/ICcnIDogbnVsbFwiXG4gIFthdHRyLmRhdGEtYWlhLWl0ZW0tY291bnRdPVwiY291bnRMYWJlbCAhPT0gbnVsbCA/IG9wdGlvbi5pdGVtX2NvdW50IDogbnVsbFwiXG4gIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiaXNIaWdobGlnaHRlZFwiXG4gIGNsYXNzPVwiYWlhLXN1Z2dlc3Rpb24taXRlbVwiXG4gIFtzdHlsZS4tLWFpYS1vcHRpb24tZW50ZXItZGVsYXldPVwiKGVudGVyRGVsYXkgPz8gMCkgKyAnbXMnXCJcbiAgW2NsYXNzLmFpYS1zdWdnZXN0aW9uLWl0ZW0taGlnaGxpZ2h0ZWRdPVwiaXNIaWdobGlnaHRlZCAmJiAhbG9hZGluZ1wiXG4gIFtjbGFzcy5haWEtc3VnZ2VzdGlvbi1pdGVtLXRhcHBhYmxlXT1cIm9wdGlvbi5pc190YXBwYWJsZVwiXG4gIFtjbGFzcy5haWEtc3VnZ2VzdGlvbi1pdGVtLW5vbi10YXBwYWJsZV09XCIhb3B0aW9uLmlzX3RhcHBhYmxlXCJcbiAgW2NsYXNzLmFpYS1zdWdnZXN0aW9uLWl0ZW0tcHJlc3NlZF09XCJwcmVzc2VkXCJcbiAgW2NsYXNzLmFpYS1zdWdnZXN0aW9uLWl0ZW0tc2Nyb2xsLWhpbnRdPVwic2Nyb2xsSGludFwiXG4gIFthdHRyLnRhYmluZGV4XT1cImxvYWRpbmcgfHwgIW9wdGlvbi5pc190YXBwYWJsZSA/IC0xIDogMFwiXG4gIChjbGljayk9XCJvblNlbGVjdCgpXCJcbiAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudClcIlxuICAobW91c2VlbnRlcik9XCJvbk1vdXNlRW50ZXIoKVwiXG4gIChtb3VzZWxlYXZlKT1cIm9uTW91c2VMZWF2ZSgpXCJcbj5cbiAgPHNwYW4gY2xhc3M9XCJhaWEtc3VnZ2VzdGlvbi1jb250ZW50XCI+XG4gICAgPCEtLSBUaGUgdGlsZSBrZWVwcyBhIHBsYWNlaG9sZGVyIGZpbGwgdW5kZXIgdGhlIHBpY3R1cmUsIHNvIGEgc2xvdyBvclxuICAgICAgICAgZmFpbGVkIGxvYWQgbGVhdmVzIGEgbmV1dHJhbCBzcXVhcmUgcmF0aGVyIHRoYW4gYSBnYXAuIFRoZSBwaWN0dXJlIGlzXG4gICAgICAgICBkZWNvcmF0aXZlOiB0aGUgdGV4dCBpcyB0aGUgb3B0aW9uJ3MgYWNjZXNzaWJsZSBuYW1lLiAtLT5cbiAgICA8c3BhbiAqbmdJZj1cImltYWdlU3JjIGFzIHNyY1wiIGNsYXNzPVwiYWlhLXN1Z2dlc3Rpb24taW1hZ2VcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgIDxpbWdcbiAgICAgICAgW3NyY109XCJzcmNcIlxuICAgICAgICBhbHQ9XCJcIlxuICAgICAgICBsb2FkaW5nPVwibGF6eVwiXG4gICAgICAgIGRlY29kaW5nPVwiYXN5bmNcIlxuICAgICAgICByZWZlcnJlcnBvbGljeT1cIm5vLXJlZmVycmVyXCJcbiAgICAgICAgZHJhZ2dhYmxlPVwiZmFsc2VcIlxuICAgICAgICBbaGlkZGVuXT1cImltYWdlRmFpbGVkXCJcbiAgICAgICAgKGVycm9yKT1cIm9uSW1hZ2VFcnJvcigpXCJcbiAgICAgIC8+XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuXG4gICAgICAqbmdJZj1cImljb25IdG1sXCJcbiAgICAgIGNsYXNzPVwiYWlhLXN1Z2dlc3Rpb24taWNvblwiXG4gICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgW2lubmVySFRNTF09XCJpY29uSHRtbFwiXG4gICAgPjwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cImFpYS1zdWdnZXN0aW9uLXRleHRcIlxuICAgICAgPjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHBhcnQgb2YgcGFydHM7IHRyYWNrQnk6IHRyYWNrQnlJbmRleFwiXG4gICAgICAgID48c3Ryb25nICpuZ0lmPVwicGFydC5ib2xkOyBlbHNlIHBsYWluXCIgY2xhc3M9XCJhaWEtc3VnZ2VzdGlvbi1tYXRjaFwiPnt7IHBhcnQudGV4dCB9fTwvc3Ryb25nXG4gICAgICAgID48bmctdGVtcGxhdGUgI3BsYWluPnt7IHBhcnQudGV4dCB9fTwvbmctdGVtcGxhdGU+PC9uZy1jb250YWluZXJcbiAgICAgID48bmctY29udGFpbmVyICpuZ0lmPVwib3B0aW9uLnBhcmFtZXRlckxhYmVsXCJcbiAgICAgICAgPnt7IFwiIFwiIH19PHNwYW4gY2xhc3M9XCJhaWEtc3VnZ2VzdGlvbi1wYXJhbWV0ZXJcIj57eyBvcHRpb24ucGFyYW1ldGVyTGFiZWwgfX08L3NwYW4+PC9uZy1jb250YWluZXJcbiAgICAgID48L3NwYW5cbiAgICA+XG4gICAgPHNwYW4gKm5nSWY9XCJvcHRpb24udGFnXCIgY2xhc3M9XCJhaWEtc3VnZ2VzdGlvbi10YWdcIj57eyBvcHRpb24udGFnIH19PC9zcGFuPlxuICAgIDwhLS0gUGFydCBvZiB0aGUgcm93J3MgYWNjZXNzaWJsZSBuYW1lLCByZWFkIGFmdGVyIHRoZSBvcHRpb24ncyB0ZXh0LiAtLT5cbiAgICA8c3BhbiAqbmdJZj1cImNvdW50TGFiZWwgIT09IG51bGxcIiBjbGFzcz1cImFpYS1zdWdnZXN0aW9uLWNvdW50XCI+e3sgY291bnRMYWJlbCB9fTwvc3Bhbj5cbiAgPC9zcGFuPlxuPC9kaXY+XG4iXX0=
|