@testgorilla/tgo-ui 3.2.3-beta.1 → 3.2.3
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/components/icon/icon.config.d.ts +1 -1
- package/components/spinner/spinner.component.d.ts +2 -10
- package/components/spinner/spinner.module.d.ts +1 -2
- package/esm2022/components/autocomplete/autocomplete.component.mjs +1 -1
- package/esm2022/components/icon/icon.config.mjs +1 -3
- package/esm2022/components/spider-chart/spider-chart.component.mjs +1 -1
- package/esm2022/components/spinner/spinner.component.mjs +4 -7
- package/esm2022/components/spinner/spinner.module.mjs +6 -7
- package/esm2022/components/toggle/toggle.component.mjs +1 -1
- package/fesm2022/testgorilla-tgo-ui.mjs +10 -14
- package/fesm2022/testgorilla-tgo-ui.mjs.map +1 -1
- package/package.json +4 -3
- package/projects/tgo-canopy-ui/assets/icons/rebrand/Pencil-to-gorilla-in-line.svg +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const tgoIcons: readonly ["Add", "Archive", "Arrow_down", "Arrow_left", "Arrow_right", "Arrow_up", "Assessment", "Attempts", "Book", "Calendar", "Candidates", "Chat-notifications", "Chat", "Check", "Clone", "Close", "Code", "Company", "Copy", "Custom-questions", "Delete", "Devices", "Document", "Dot", "Download", "Edit", "Email-message", "Empty-placeholder", "Error", "Essay", "Eye-hide", "Eye-view", "Feedback-1", "Feedback-2", "Feedback-3", "Feedback-4", "Feedback-5", "File-attach", "File-upload", "Filter", "Folder", "Format-add-file", "Format-add-table", "Format-align-L", "Format-align-R", "Format-align-center", "Format-align-justify", "Format-bold", "Format-code-active", "Format-code-block", "Format-edit-table", "Format-format", "Format-function", "Format-italics", "Format-list-bulleted", "Format-list-numbered", "Format-picker", "Format-quote", "Format-subscript", "Format-superscript", "Format-text-direction-L", "Format-text-direction-R", "Format-text-size", "Format-underline", "Format-variable", "Full-screen", "Gender-female", "Gender-male", "Help-2", "Help", "Image", "Info", "Integration", "Language", "Layout", "Learn", "Level", "Light-bulb", "Link", "Loading-spinner", "Localisation", "Location", "Lock", "Log-out", "Menu-burger", "Menu-close", "Menu-ellipsis", "Menu-open", "Microphone", "Minus", "Mouse-cursor", "Mouse-grab-cursor", "Mouse", "Multi-choice", "Notifications", "Password", "Path", "Pin-marker", "Plan-billing", "Plus", "Premium", "Promotion", "Question-count", "Refer", "Reset", "Review", "Round-check-filled", "Round-check", "Search", "Secure-checkout", "Send", "Settings", "Social-facebook", "Social-instagram", "Social-linkedin", "Sorting-down-1", "Sorting-down", "Speedometer", "Star-filled", "Star-half", "Star-outline", "Support", "Sync", "Team", "Test", "Thunder", "Timer", "Trophy", "Type", "Unarchive", "Unlock", "Upgrade", "Upload", "User-access", "User-add", "User-invite", "User-profile", "User-reject", "User-switch", "Video-pause", "Video-play", "Video-record", "Video", "Volume", "Warning", "Zoom-in", "Zoom-out", "Fire", "Gift", "Grab", "Share", "Sparkles", "Video-stop", "Minimize", "Employee", "Money-bag", "Suitcase", "Google", "Fast-forward", "Fast-rewind", "Skip-next", "Skip-previous", "TestGorilla"];
|
|
2
|
-
export declare const tgoRebrandIcons: readonly ["Archive-filled", "Archive-in-line", "Add-in-line", "Add-filled", "Arrow-chevron-down-filled", "Arrow-chevron-down-in-line", "Arrow-chevron-left-filled", "Arrow-chevron-left-in-line", "Arrow-chevron-right-filled", "Arrow-chevron-right-in-line", "Arrow-chevron-up-filled", "Arrow-chevron-up-in-line", "Arrow-down-filled", "Arrow-down-in-line", "Arrow-up-filled", "Arrow-up-in-line", "Assessment-filled", "Assessment-in-line", "Attach-filled", "Attach-in-line", "Attempts-filled", "Attempts-in-line", "Book-filled", "Book-in-line", "Calendar-filled", "Calendar-in-line", "Candidates-filled", "Candidates-in-line", "Chat-filled", "Chat-in-line", "Check-filled", "Check-in-line", "Check-round-filled", "Check-round-in-line", "Circle-filled", "Circle-in-line", "Clone-filled", "Clone-in-line", "Close-filled", "Close-in-line", "Code-filled", "Code-in-line", "Company-filled", "Company-in-line", "Copy-filled", "Copy-in-line", "Delete-filled", "Delete-in-line", "Devices-filled", "Devices-in-line", "Document-filled", "Document-in-line", "Dot-filled", "Dot-in-line", "Download-filled", "Download-in-line", "Edit-filled", "Edit-in-line", "Edit-text-filled", "Edit-text-in-line", "Employee-filled", "Employee-in-line", "Error-filled", "Error-in-line", "Essay-filled", "Essay-in-line", "Experience-filled", "Experience-in-line", "Facebook-filled", "Facebook-in-line", "Fast-forward-filled", "Fast-forward-in-line", "Fast-rewind-filled", "Fast-rewind-in-line", "Filter-filled", "Filter-in-line", "Fire-filled", "Fire-in-line", "Folder-filled", "Folder-in-line", "Full-screen-filled", "Full-screen-in-line", "Gender-male-filled", "Gender-male-in-line", "Gender-female-filled", "Gender-female-in-line", "Gift-filled", "Gift-in-line", "Google-filled", "Google-in-line", "Grab-filled", "Grab-in-line", "Help-filled", "Help-in-line", "Hide-filled", "Hide-in-line", "Image-filled", "Image-in-line", "Info-filled", "Info-in-line", "Instagram-filled", "Instagram-in-line", "Integration-filled", "Integration-in-line", "Invite-filled", "Invite-in-line", "Language-filled", "Language-in-line", "Layout-filled", "Layout-in-line", "Learn-filled", "Learn-in-line", "Level-filled", "Level-in-line", "Light-bulb-filled", "Light-bulb-in-line", "Link-filled", "Link-in-line", "Linkedin-filled", "Linkedin-in-line", "Localization-filled", "Localization-in-line", "Location-filled", "Location-in-line", "Lock-filled", "Lock-in-line", "Logout-filled", "Logout-in-line", "Medal-filled", "Medal-in-line", "Menu-burger-filled", "Menu-burger-in-line", "Menu-close-filled", "Menu-close-in-line", "Menu-ellipsis-filled", "Menu-ellipsis-in-line", "Menu-open-filled", "Menu-open-in-line", "Mic-filled", "Mic-in-line", "Minimize-filled", "Minimize-in-line", "Minus-filled", "Minus-in-line", "Mouse-filled", "Mouse-in-line", "Multi-choice-filled", "Multi-choice-in-line", "Notification-bell-filled", "Notification-bell-in-line", "Password-filled", "Password-in-line", "Path-filled", "Path-in-line", "Pause-filled", "Pause-in-line", "Pin-marker-filled", "Pin-marker-in-line", "Plan-billing-filled", "Plan-billing-in-line", "Play-filled", "Play-in-line", "Plus-filled", "Plus-in-line", "Premium-filled", "Premium-in-line", "Premium-circle-in-line", "Question-count-filled", "Question-count-in-line", "Question-filled", "Question-in-line", "Record-filled", "Record-in-line", "Reject-filled", "Refer-in-line", "Refer-filled", "Reject-in-line", "Reset-filled", "Reset-in-line", "Review-emoji-1-filled", "Review-emoji-1-in-line", "Review-emoji-2-filled", "Review-emoji-2-in-line", "Review-emoji-3-filled", "Review-emoji-3-in-line", "Review-emoji-4-filled", "Review-emoji-4-in-line", "Review-emoji-5-filled", "Review-emoji-5-in-line", "Review-filled", "Review-half-star-filled", "Review-half-star-in-line", "Review-in-line", "Review-star-filled", "Review-star-in-line", "Search-filled", "Search-in-line", "Secure-filled", "Secure-in-line", "Send-filled", "Send-in-line", "Settings-filled", "Settings-in-line", "Share-filled", "Share-in-line", "Skip-next-filled", "Skip-next-in-line", "Skip-previous-filled", "Skip-previous-in-line", "Sparkle-filled", "Sparkle-in-line", "Speedometer-filled", "Speedometer-in-line", "Star-filled", "Star-in-line", "Stop-filled", "Stop-in-line", "Switch-filled", "Switch-in-line", "Sync-filled", "Sync-in-line", "Tag-filled", "Tag-in-line", "Team-filled", "Team-in-line", "Test-filled", "Test-in-line", "Timer-filled", "Timer-in-line", "Trophy-filled", "Trophy-in-line", "Type-filled", "Type-in-line", "Unarchive-filled", "Unarchive-in-line", "Unlock-filled", "Unlock-in-line", "Upgrade-filled", "Upgrade-in-line", "Upload-filled", "Upload-in-line", "User-access-filled", "User-access-in-line", "User-add-filled", "User-add-in-line", "User-profile-filled", "User-profile-in-line", "Video-filled", "Video-in-line", "View-filled", "View-in-line", "Volume-filled", "Volume-in-line", "Warning-filled", "Warning-in-line", "Validated-filled", "Validated-in-line", "Verified-badge-filled", "Verified-badge-in-line", "Zoom-in-filled", "Zoom-in-in-line", "Zoom-out-filled", "Zoom-out-in-line", "Analytics-filled", "Analytics-in-line", "Failed-to-load-filled", "Failed-to-load-in-line", "History-filled", "History-in-line", "TestGorilla-filled", "TestGorilla-in-line", "TestGorilla-Pink-filled", "TestGorilla-Pink-in-line"
|
|
2
|
+
export declare const tgoRebrandIcons: readonly ["Archive-filled", "Archive-in-line", "Add-in-line", "Add-filled", "Arrow-chevron-down-filled", "Arrow-chevron-down-in-line", "Arrow-chevron-left-filled", "Arrow-chevron-left-in-line", "Arrow-chevron-right-filled", "Arrow-chevron-right-in-line", "Arrow-chevron-up-filled", "Arrow-chevron-up-in-line", "Arrow-down-filled", "Arrow-down-in-line", "Arrow-up-filled", "Arrow-up-in-line", "Assessment-filled", "Assessment-in-line", "Attach-filled", "Attach-in-line", "Attempts-filled", "Attempts-in-line", "Book-filled", "Book-in-line", "Calendar-filled", "Calendar-in-line", "Candidates-filled", "Candidates-in-line", "Chat-filled", "Chat-in-line", "Check-filled", "Check-in-line", "Check-round-filled", "Check-round-in-line", "Circle-filled", "Circle-in-line", "Clone-filled", "Clone-in-line", "Close-filled", "Close-in-line", "Code-filled", "Code-in-line", "Company-filled", "Company-in-line", "Copy-filled", "Copy-in-line", "Delete-filled", "Delete-in-line", "Devices-filled", "Devices-in-line", "Document-filled", "Document-in-line", "Dot-filled", "Dot-in-line", "Download-filled", "Download-in-line", "Edit-filled", "Edit-in-line", "Edit-text-filled", "Edit-text-in-line", "Employee-filled", "Employee-in-line", "Error-filled", "Error-in-line", "Essay-filled", "Essay-in-line", "Experience-filled", "Experience-in-line", "Facebook-filled", "Facebook-in-line", "Fast-forward-filled", "Fast-forward-in-line", "Fast-rewind-filled", "Fast-rewind-in-line", "Filter-filled", "Filter-in-line", "Fire-filled", "Fire-in-line", "Folder-filled", "Folder-in-line", "Full-screen-filled", "Full-screen-in-line", "Gender-male-filled", "Gender-male-in-line", "Gender-female-filled", "Gender-female-in-line", "Gift-filled", "Gift-in-line", "Google-filled", "Google-in-line", "Grab-filled", "Grab-in-line", "Help-filled", "Help-in-line", "Hide-filled", "Hide-in-line", "Image-filled", "Image-in-line", "Info-filled", "Info-in-line", "Instagram-filled", "Instagram-in-line", "Integration-filled", "Integration-in-line", "Invite-filled", "Invite-in-line", "Language-filled", "Language-in-line", "Layout-filled", "Layout-in-line", "Learn-filled", "Learn-in-line", "Level-filled", "Level-in-line", "Light-bulb-filled", "Light-bulb-in-line", "Link-filled", "Link-in-line", "Linkedin-filled", "Linkedin-in-line", "Localization-filled", "Localization-in-line", "Location-filled", "Location-in-line", "Lock-filled", "Lock-in-line", "Logout-filled", "Logout-in-line", "Medal-filled", "Medal-in-line", "Menu-burger-filled", "Menu-burger-in-line", "Menu-close-filled", "Menu-close-in-line", "Menu-ellipsis-filled", "Menu-ellipsis-in-line", "Menu-open-filled", "Menu-open-in-line", "Mic-filled", "Mic-in-line", "Minimize-filled", "Minimize-in-line", "Minus-filled", "Minus-in-line", "Mouse-filled", "Mouse-in-line", "Multi-choice-filled", "Multi-choice-in-line", "Notification-bell-filled", "Notification-bell-in-line", "Password-filled", "Password-in-line", "Path-filled", "Path-in-line", "Pause-filled", "Pause-in-line", "Pin-marker-filled", "Pin-marker-in-line", "Plan-billing-filled", "Plan-billing-in-line", "Play-filled", "Play-in-line", "Plus-filled", "Plus-in-line", "Premium-filled", "Premium-in-line", "Premium-circle-in-line", "Question-count-filled", "Question-count-in-line", "Question-filled", "Question-in-line", "Record-filled", "Record-in-line", "Reject-filled", "Refer-in-line", "Refer-filled", "Reject-in-line", "Reset-filled", "Reset-in-line", "Review-emoji-1-filled", "Review-emoji-1-in-line", "Review-emoji-2-filled", "Review-emoji-2-in-line", "Review-emoji-3-filled", "Review-emoji-3-in-line", "Review-emoji-4-filled", "Review-emoji-4-in-line", "Review-emoji-5-filled", "Review-emoji-5-in-line", "Review-filled", "Review-half-star-filled", "Review-half-star-in-line", "Review-in-line", "Review-star-filled", "Review-star-in-line", "Search-filled", "Search-in-line", "Secure-filled", "Secure-in-line", "Send-filled", "Send-in-line", "Settings-filled", "Settings-in-line", "Share-filled", "Share-in-line", "Skip-next-filled", "Skip-next-in-line", "Skip-previous-filled", "Skip-previous-in-line", "Sparkle-filled", "Sparkle-in-line", "Speedometer-filled", "Speedometer-in-line", "Star-filled", "Star-in-line", "Stop-filled", "Stop-in-line", "Switch-filled", "Switch-in-line", "Sync-filled", "Sync-in-line", "Tag-filled", "Tag-in-line", "Team-filled", "Team-in-line", "Test-filled", "Test-in-line", "Timer-filled", "Timer-in-line", "Trophy-filled", "Trophy-in-line", "Type-filled", "Type-in-line", "Unarchive-filled", "Unarchive-in-line", "Unlock-filled", "Unlock-in-line", "Upgrade-filled", "Upgrade-in-line", "Upload-filled", "Upload-in-line", "User-access-filled", "User-access-in-line", "User-add-filled", "User-add-in-line", "User-profile-filled", "User-profile-in-line", "Video-filled", "Video-in-line", "View-filled", "View-in-line", "Volume-filled", "Volume-in-line", "Warning-filled", "Warning-in-line", "Validated-filled", "Validated-in-line", "Verified-badge-filled", "Verified-badge-in-line", "Zoom-in-filled", "Zoom-in-in-line", "Zoom-out-filled", "Zoom-out-in-line", "Analytics-filled", "Analytics-in-line", "Failed-to-load-filled", "Failed-to-load-in-line", "History-filled", "History-in-line", "TestGorilla-filled", "TestGorilla-in-line", "TestGorilla-Pink-filled", "TestGorilla-Pink-in-line"];
|
|
3
3
|
export declare const groupedIcons: {
|
|
4
4
|
directional: string[];
|
|
5
5
|
assessment: string[];
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { OnChanges, OnInit } from '@angular/core';
|
|
2
|
-
import { ApplicationTheme } from '../../models/application-theme.model';
|
|
3
|
-
import { IconName } from '../icon/icon.model';
|
|
4
2
|
import { SpinnerSize } from './spinner.model';
|
|
3
|
+
import { ApplicationTheme } from '../../models/application-theme.model';
|
|
5
4
|
import * as i0 from "@angular/core";
|
|
6
5
|
export declare class SpinnerComponent implements OnInit, OnChanges {
|
|
7
6
|
private readonly defaultAppTheme;
|
|
@@ -35,18 +34,11 @@ export declare class SpinnerComponent implements OnInit, OnChanges {
|
|
|
35
34
|
* @memberof SpinnerComponent
|
|
36
35
|
*/
|
|
37
36
|
applicationTheme: ApplicationTheme;
|
|
38
|
-
/**
|
|
39
|
-
* Custom Icon name
|
|
40
|
-
*
|
|
41
|
-
* @type {IconName}
|
|
42
|
-
* @memberof SpinnerComponent
|
|
43
|
-
*/
|
|
44
|
-
iconName: IconName;
|
|
45
37
|
classes: string;
|
|
46
38
|
constructor(defaultAppTheme: ApplicationTheme);
|
|
47
39
|
ngOnChanges(): void;
|
|
48
40
|
ngOnInit(): void;
|
|
49
41
|
setSpinnerClasses(): void;
|
|
50
42
|
static ɵfac: i0.ɵɵFactoryDeclaration<SpinnerComponent, [{ optional: true; }]>;
|
|
51
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SpinnerComponent, "ui-spinner", never, { "size": { "alias": "size"; "required": false; }; "isLoader": { "alias": "isLoader"; "required": false; }; "text": { "alias": "text"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; };
|
|
43
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SpinnerComponent, "ui-spinner", never, { "size": { "alias": "size"; "required": false; }; "isLoader": { "alias": "isLoader"; "required": false; }; "text": { "alias": "text"; "required": false; }; "applicationTheme": { "alias": "applicationTheme"; "required": false; }; }, {}, never, never, false, never>;
|
|
52
44
|
}
|
|
@@ -2,9 +2,8 @@ import * as i0 from "@angular/core";
|
|
|
2
2
|
import * as i1 from "./spinner.component";
|
|
3
3
|
import * as i2 from "@angular/common";
|
|
4
4
|
import * as i3 from "../../pipes/ui-translate.pipe";
|
|
5
|
-
import * as i4 from "../icon/icon.component.module";
|
|
6
5
|
export declare class SpinnerComponentModule {
|
|
7
6
|
static ɵfac: i0.ɵɵFactoryDeclaration<SpinnerComponentModule, never>;
|
|
8
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<SpinnerComponentModule, [typeof i1.SpinnerComponent], [typeof i2.NgClass, typeof i2.NgIf, typeof i3.UiTranslatePipe, typeof i2.AsyncPipe
|
|
7
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<SpinnerComponentModule, [typeof i1.SpinnerComponent], [typeof i2.NgClass, typeof i2.NgIf, typeof i3.UiTranslatePipe, typeof i2.AsyncPipe], [typeof i1.SpinnerComponent]>;
|
|
9
8
|
static ɵinj: i0.ɵɵInjectorDeclaration<SpinnerComponentModule>;
|
|
10
9
|
}
|
|
@@ -685,7 +685,7 @@ export class AutocompleteComponent {
|
|
|
685
685
|
this.matAutocomplete._setScrollTop(this.matAutocomplete._keyManager.activeItemIndex * optionHeight);
|
|
686
686
|
}
|
|
687
687
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AutocompleteComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }, { token: i0.ChangeDetectorRef }, { token: i1.DomSanitizer }, { token: i2.NgControl, optional: true, self: true }, { token: PLATFORM_ID }, { token: i0.ElementRef }, { token: i3.FocusMonitor }, { token: i0.DestroyRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
688
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AutocompleteComponent, selector: "ui-autocomplete", inputs: { itemsList: "itemsList", suggestionsList: "suggestionsList", disabled: "disabled", allowAdd: "allowAdd", textField: "textField", valueField: "valueField", label: "label", placeholder: "placeholder", itemValue: "itemValue", type: "type", minCharactersSearch: "minCharactersSearch", variant: "variant", showBottomContent: "showBottomContent", valuePrimitive: "valuePrimitive", fullWidth: "fullWidth", applicationTheme: "applicationTheme", required: "required", errors: "errors", companyColor: "companyColor", hideBuiltInErrors: "hideBuiltInErrors", hideLabelInErrors: "hideLabelInErrors", virtualScroll: ["virtualScroll", "virtualScroll", booleanAttribute], compareWith: "compareWith", dropdownPanelClass: "dropdownPanelClass", closeOnScroll: "closeOnScroll", size: "size", allowUserInput: "allowUserInput", clearable: "clearable", exactMatchSelect: "exactMatchSelect", maxItemSelected: "maxItemSelected", isDynamicFilteringEnabled: "isDynamicFilteringEnabled", dynamicFilterLoading: "dynamicFilterLoading", dynamicFilteredList: "dynamicFilteredList", infiniteScroll: "infiniteScroll", hasMoreOptionsForInfiniteScroll: "hasMoreOptionsForInfiniteScroll" }, outputs: { selectionChange: "selectionChange", searchTextChange: "searchTextChange", blur: "blur", focus: "focus", scrollViewportBottomReached: "scrollViewportBottomReached" }, host: { properties: { "class.full-width": "this.fullWidth", "attr.theme": "this.applicationTheme" } }, viewQueries: [{ propertyName: "formFieldElement", first: true, predicate: ["formField"], descendants: true }, { propertyName: "tagContainer", first: true, predicate: ["tagContainer"], descendants: true }, { propertyName: "autocomplete", first: true, predicate: ["trigger"], descendants: true }, { propertyName: "cdkVirtualScrollViewport", first: true, predicate: CdkVirtualScrollViewport, descendants: true }, { propertyName: "matAutocomplete", first: true, predicate: ["autocomplete"], descendants: true }, { propertyName: "matInput", first: true, predicate: ["matInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container>\n <div class=\"autocomplete-wrapper\" [ngClass]=\"{ 'full-width': fullWidth, disabled: disabled }\">\n <mat-form-field\n [color]=\"(safeErrors.length || (ngControl?.errors && ngControl?.touched ) || (AutocompleteUtils.isArray(value) && value.length) > maxItemSelected || ((AutocompleteUtils.isArray(value) && value.length) >= maxItemSelected && (inputValue && inputValue !== ' ')) ) ? 'warn' : 'accent'\"\n [appearance]=\"'outline'\"\n [ngClass]=\"{ 'large-size': type === autocompleteType.LARGE, 'hide-bottom-content': !showBottomContent, 'keyboard-focused': keyboardFocused(), 'has-label': !!label }\"\n >\n <mat-label *ngIf=\"label\">{{ label }} <span *ngIf=\"required\">*</span></mat-label>\n <div #formField class=\"input-container\">\n <span style=\"position: absolute; left: -9999px\" *ngIf=\"textField ? value?.[textField] : value === inputValue\"\n aria-live=\"polite\">{{ (('SELECTED') | uiTranslate | async) + ' ' + inputValue }}</span>\n\n <input\n #trigger=\"matAutocompleteTrigger\"\n #matInput\n [uiPreventInput]=\"!allowUserInput\"\n [disabled]=\"disabled\"\n [ngClass]=\"{ 'unset-margin': this.value && type === autocompleteType.LARGE, 'no-caret': !allowUserInput }\"\n (blur)=\"refillInput()\"\n (focusin)=\"onFocus()\"\n [attr.aria-label]=\"((translationContext + 'SELECTED') | uiTranslate | async) + ' ' + (value | transformItem: textField : true)\"\n [style.opacity]=\"type === autocompleteType.MULTI ? inputOpacity : 1\"\n matInput\n [placeholder]=\"value && value.length ? '': placeholder\"\n [type]=\"'text'\"\n [matAutocomplete]=\"autocomplete\"\n (input)=\"onInputChange($event)\"\n [(ngModel)]=\"inputValue\"\n />\n <div\n class=\"selected-items\"\n #tagContainer\n *ngIf=\"\n (type === autocompleteType.LARGE && this.value) ||\n (!(inputValue && this.isInputFocus) && this.value && type !== autocompleteType.SINGLE)\n \"\n >\n <ui-tag\n class=\"value-tag\"\n [id]=\"'ui-tag-' + i\"\n *ngFor=\"let valueItem of value; let i = index\"\n [label]=\"valueItem | transformItem: textField\"\n [allowClose]=\"true\"\n [applicationTheme]=\"applicationTheme\"\n [style.opacity]=\"type === autocompleteType.MULTI ? inputOpacity : 1\"\n [style.display]=\"(isOverLapping && i > 0 && i >= overlapIndex) || (size === 'small' && value.length > 1) ? 'none' : 'block'\"\n [ngStyle]=\"{ '--tag-max-width': type === autocompleteType.LARGE ? 'fit-content' : firstTagMaxWidth + 'px' }\"\n [ngClass]=\"{\n 'overlap-tag': isOverlapChecking && overlapIndex && i >= overlapIndex && type === autocompleteType.MULTI\n }\"\n (close)=\"onOptionRemoved(valueItem)\"\n ></ui-tag>\n @if (size === 'small') {\n <div class=\"selected-count\" *ngIf=\"value.length > 1\">\n {{ (translationContext + 'SELECTED_AMOUNT' | uiTranslate : { numberSelected: (value | slice: overlapIndex).length }) | async }}\n </div>\n } @else {\n <div *ngIf=\"value.length > 1 && isOverLapping\" class=\"overlap-count\">\n <ui-tag [applicationTheme]=\"applicationTheme\"\n [label]=\"'+' + (value.length - overlapIndex)\"></ui-tag>\n </div>\n }\n </div>\n </div>\n\n <ui-icon\n *ngIf=\"clearable && (type === autocompleteType.SINGLE && (value?.length || hasObjectValue)) || (type !== autocompleteType.SINGLE && value && value.length > 1 && ((AutocompleteUtils.isPrimitive(value) && value.length) || (!AutocompleteUtils.isPrimitive(value) && (AutocompleteUtils.isArray(value) && value.length || !AutocompleteUtils.isArray(value) && !value.length))))\"\n class=\"remove-selected\"\n [tabIndex]=\"disabled ? -1 : 0\"\n (keydown.enter)=\"onClear();$event.preventDefault();$event.stopPropagation()\"\n (keydown.space)=\"onClear();$event.preventDefault();$event.stopPropagation()\"\n [ngClass]=\"{ 'large-input-icon': type === autocompleteType.LARGE }\"\n (click)=\"onClear();$event.preventDefault();$event.stopPropagation()\"\n [size]=\"'24'\"\n [color]=\"applicationTheme === 'classic' ? 'inherit' : 'rebrand-black'\"\n [attr.aria-label]=\"('COMMON.CLEAR') | uiTranslate | async\"\n [name]=\"applicationTheme === 'classic' ? 'Close' : 'Close-in-line'\"\n ></ui-icon>\n\n <ui-icon\n class=\"arrow-state\"\n [ngClass]=\"{ opened: autocomplete.isOpen, 'large-input-icon': type === autocompleteType.LARGE }\"\n *ngIf=\"isDropdown\"\n [size]=\"'24'\"\n [name]=\"applicationTheme !== 'classic' ? 'Arrow-chevron-down-in-line' : 'Arrow_down'\"\n (click)=\"onChevronClick(autocomplete)\"\n ></ui-icon>\n\n\n <mat-autocomplete\n #autocomplete\n [class]=\"applicationTheme + ' ' + dropdownPanelClass\"\n (optionSelected)=\"onOptionSelected($event)\"\n [disableRipple]=\"applicationTheme !== 'classic'\"\n [hideSingleSelectionIndicator]=\"false\"\n (opened)=\"gotoUp()\"\n >\n @if (type !== autocompleteType.MULTI || value?.length < maxItemSelected) {\n <ng-container *ngIf=\"!(searchResult$ | async)\">\n <ng-container *ngIf=\"!isDropdown; else dropdownList\">\n <mat-optgroup [label]=\"((translationContext + 'SUGGESTED') | uiTranslate | async)! | uppercase\"\n *ngIf=\"suggestionsList.length\">\n <mat-option\n (mousedown)=$event.preventDefault()\n [ngClass]=\"{ 'selected-option': suggested | includes: value : valueField }\"\n *ngFor=\"let suggested of suggestionsList\"\n [value]=\"suggested\"\n >\n <span [selectText]=\"userInput$ | async\">{{ suggested | transformItem: textField }}</span>\n <ui-icon [applicationTheme]=\"applicationTheme\"\n [name]=\"applicationTheme === 'classic' ? 'Check' : 'Check-in-line'\"></ui-icon>\n </mat-option>\n </mat-optgroup>\n\n <mat-optgroup [label]=\"((translationContext + 'SELECTED') | uiTranslate | async)! | uppercase\"\n *ngIf=\"value?.length && type !== autocompleteType.SINGLE\">\n <mat-option\n (mousedown)=$event.preventDefault()\n [ngClass]=\"{ 'selected-option': item | includes: value : valueField }\"\n *ngFor=\"let item of value\"\n [value]=\"item\"\n >\n <span>{{ item | transformItem: textField }}</span>\n <ui-icon [applicationTheme]=\"applicationTheme\"\n [name]=\"applicationTheme === 'classic' ? 'Check' : 'Check-in-line'\"></ui-icon>\n </mat-option>\n </mat-optgroup>\n\n\n @if (isGrouped) {\n @for (group of itemsList; track group) {\n\n @if (group.groupName) {\n <mat-optgroup [label]=\"group.groupName\">\n <mat-option\n (mousedown)=$event.preventDefault()\n [ngClass]=\"{ 'selected-option': item | includes: value : valueField }\"\n *ngFor=\"let item of group.items\"\n [value]=\"item\"\n >\n <span [selectText]=\"userInput$ | async\">{{ item | transformItem: textField }}</span>\n <ui-icon [applicationTheme]=\"applicationTheme\"\n [name]=\"applicationTheme === 'classic' ? 'Check' : 'Check-in-line'\"></ui-icon>\n </mat-option>\n </mat-optgroup>\n } @else {\n <mat-option\n (mousedown)=$event.preventDefault()\n [ngClass]=\"{ 'selected-option': item | includes: value : valueField }\"\n *ngFor=\"let item of group.items\"\n [value]=\"item\"\n >\n <span [selectText]=\"userInput$ | async\">{{ item | transformItem: textField }}</span>\n <ui-icon [applicationTheme]=\"applicationTheme\"\n [name]=\"applicationTheme === 'classic' ? 'Check' : 'Check-in-line'\"></ui-icon>\n </mat-option>\n }\n }\n }\n\n <mat-optgroup [label]=\"((translationContext + 'SELECTED') | uiTranslate | async)! | uppercase\"\n *ngIf=\"value?.length && type === autocompleteType.SINGLE\">\n <mat-option\n (mousedown)=$event.preventDefault()\n [class]=\"'selected-option'\"\n [value]=\"value\"\n >\n <span [selectText]=\"userInput$ | async\">{{ value | transformItem: textField }}</span>\n <ui-icon [applicationTheme]=\"applicationTheme\"\n [name]=\"applicationTheme === 'classic' ? 'Check' : 'Check-in-line'\"></ui-icon>\n </mat-option>\n </mat-optgroup>\n </ng-container>\n\n <ng-template #dropdownList>\n <cdk-virtual-scroll-viewport *ngIf=\"virtualScroll || infiniteScroll; else defaultViewPort\" [itemSize]=\"48\"\n [style.height]=\"'200px'\" class=\"virtual-scroll\">\n @if (!isGrouped) {\n <mat-option\n (mousedown)=$event.preventDefault()\n [ngClass]=\"{ 'selected-option': item | includes: value : valueField }\"\n *cdkVirtualFor=\"let item of itemsList\"\n [value]=\"item\"\n >\n <span [selectText]=\"userInput$ | async\">{{ item | transformItem: textField }}</span>\n <ui-icon [applicationTheme]=\"applicationTheme\"\n [name]=\"applicationTheme === 'classic' ? 'Check' : 'Check-in-line'\"></ui-icon>\n </mat-option>\n\n @if(infiniteScroll && hasMoreOptionsForInfiniteScroll) {\n <mat-option class=\"loading-option\" [style.pointer-events]=\"'none'\">\n <div class=\"loading-container\">\n <ui-spinner size=\"small\" [isLoader]=\"false\"></ui-spinner>\n </div>\n </mat-option>\n }\n } @else {\n @for (group of itemsList; track group) {\n @if (group.groupName) {\n <mat-optgroup [label]=\"group.groupName\">\n <mat-option\n (mousedown)=$event.preventDefault()\n [ngClass]=\"{ 'selected-option': item | includes: value : valueField }\"\n *cdkVirtualFor=\"let item of group.items\"\n [value]=\"item\"\n >\n <span [selectText]=\"userInput$ | async\">{{ item | transformItem: textField }}</span>\n <ui-icon [applicationTheme]=\"applicationTheme\"\n [name]=\"applicationTheme === 'classic' ? 'Check' : 'Check-in-line'\"></ui-icon>\n </mat-option>\n </mat-optgroup>\n } @else {\n <mat-option\n (mousedown)=$event.preventDefault()\n [ngClass]=\"{ 'selected-option': item | includes: value : valueField }\"\n *cdkVirtualFor=\"let item of group.items\"\n [value]=\"item\"\n >\n <span [selectText]=\"userInput$ | async\">{{ item | transformItem: textField }}</span>\n <ui-icon [applicationTheme]=\"applicationTheme\"\n [name]=\"applicationTheme === 'classic' ? 'Check' : 'Check-in-line'\"></ui-icon>\n </mat-option>\n } }\n }\n\n </cdk-virtual-scroll-viewport>\n\n <ng-template #defaultViewPort>\n @if (!isGrouped) {\n <mat-option\n (mousedown)=$event.preventDefault()\n [ngClass]=\"{ 'selected-option': item | includes: value : valueField }\"\n *ngFor=\"let item of itemsList\"\n [value]=\"item\"\n >\n <span [selectText]=\"userInput$ | async\">{{ item | transformItem: textField }}</span>\n <ui-icon [applicationTheme]=\"applicationTheme\"\n [name]=\"applicationTheme === 'classic' ? 'Check' : 'Check-in-line'\"></ui-icon>\n </mat-option>\n } @else {\n @for (group of itemsList; track group) {\n @if (group.groupName) {\n <mat-optgroup [label]=\"group.groupName\">\n <mat-option\n (mousedown)=$event.preventDefault()\n [ngClass]=\"{ 'selected-option': item | includes: value : valueField }\"\n *ngFor=\"let item of group.items\"\n [value]=\"item\"\n >\n <span [selectText]=\"userInput$ | async\">{{ item | transformItem: textField }}</span>\n <ui-icon [applicationTheme]=\"applicationTheme\"\n [name]=\"applicationTheme === 'classic' ? 'Check' : 'Check-in-line'\"></ui-icon>\n </mat-option>\n </mat-optgroup>\n } @else {\n <mat-option\n (mousedown)=$event.preventDefault()\n [ngClass]=\"{ 'selected-option': item | includes: value : valueField }\"\n *ngFor=\"let item of group.items\"\n [value]=\"item\"\n >\n <span [selectText]=\"userInput$ | async\">{{ item | transformItem: textField }}</span>\n <ui-icon [applicationTheme]=\"applicationTheme\"\n [name]=\"applicationTheme === 'classic' ? 'Check' : 'Check-in-line'\"></ui-icon>\n </mat-option>\n }\n }\n }\n </ng-template>\n\n </ng-template>\n\n </ng-container>\n\n <ng-container *ngIf=\"filteredSuggestionList$ | async as filteredSuggestionList\">\n <ng-container *ngIf=\"filteredItemsList$ | async as filteredItemsList\">\n @if (isGrouped && filteredItemsList.length) {\n @for (group of filteredItemsList; track group) {\n @if (group.groupName) {\n <mat-optgroup [label]=\"group.groupName\">\n <mat-option\n (mousedown)=$event.preventDefault()\n [ngClass]=\"{ 'selected-option': item | includes: value : valueField }\"\n *ngFor=\"let item of group.filteredItems\"\n [value]=\"item\"\n >\n <span [selectText]=\"userInput$ | async\">{{ item | transformItem: textField }}</span>\n <ui-icon [applicationTheme]=\"applicationTheme\"\n [name]=\"applicationTheme === 'classic' ? 'Check' : 'Check-in-line'\"></ui-icon>\n </mat-option>\n </mat-optgroup>\n } @else {\n <mat-option\n (mousedown)=$event.preventDefault()\n [ngClass]=\"{ 'selected-option': item | includes: value : valueField }\"\n *ngFor=\"let item of group.filteredItems\"\n [value]=\"item\"\n >\n <span [selectText]=\"userInput$ | async\">{{ item | transformItem: textField }}</span>\n <ui-icon [applicationTheme]=\"applicationTheme\"\n [name]=\"applicationTheme === 'classic' ? 'Check' : 'Check-in-line'\"></ui-icon>\n </mat-option>\n }\n }\n }\n\n <mat-optgroup [label]=\"((translationContext + 'SUGGESTED') | uiTranslate | async)! | uppercase\"\n *ngIf=\"filteredSuggestionList.length\">\n <mat-option\n (mousedown)=$event.preventDefault()\n [ngClass]=\"{ 'selected-option': item | includes: value : valueField }\"\n *ngFor=\"let item of filteredSuggestionList\"\n [value]=\"item\"\n >\n <span [selectText]=\"userInput$ | async\">{{ item | transformItem: textField }}</span>\n <ui-icon [applicationTheme]=\"applicationTheme\"\n [name]=\"applicationTheme === 'classic' ? 'Check' : 'Check-in-line'\"></ui-icon>\n </mat-option>\n </mat-optgroup>\n\n <ng-container *ngIf=\"!filteredSuggestionList.length && !isGrouped; else showItemListWithGroup\">\n <mat-option\n (mousedown)=$event.preventDefault()\n [ngClass]=\"{ 'selected-option': item | includes: value : valueField }\"\n *ngFor=\"let item of filteredItemsList\"\n [value]=\"item\"\n >\n <span [selectText]=\"userInput$ | async\">{{ item | transformItem: textField }}</span>\n <ui-icon [applicationTheme]=\"applicationTheme\"\n [name]=\"applicationTheme === 'classic' ? 'Check' : 'Check-in-line'\"></ui-icon>\n </mat-option>\n </ng-container>\n\n <ng-template #showItemListWithGroup>\n <mat-optgroup [label]=\"((translationContext + 'ALL_ITEMS') | uiTranslate | async)! | uppercase\"\n *ngIf=\"filteredItemsList.length && !isGrouped\">\n <mat-option\n (mousedown)=$event.preventDefault()\n [ngClass]=\"{ 'selected-option': item | includes: value : valueField }\"\n *ngFor=\"let item of filteredItemsList\"\n [value]=\"item\"\n >\n <span [selectText]=\"userInput$ | async\">{{ item | transformItem: textField }}</span>\n <ui-icon [applicationTheme]=\"applicationTheme\"\n [name]=\"applicationTheme === 'classic' ? 'Check' : 'Check-in-line'\"></ui-icon>\n </mat-option>\n </mat-optgroup>\n </ng-template>\n\n @if(isDynamicFilteringEnabled && dynamicFilterLoading) {\n <mat-option class=\"loading-option\" [style.pointer-events]=\"'none'\">\n <div class=\"loading-container\">\n <ui-spinner size=\"small\" [isLoader]=\"false\"></ui-spinner>\n </div>\n </mat-option>\n } @else if(inputValue) {\n @if (allowAdd && !isAlreadyAdded) {\n <mat-option (mousedown)=$event.preventDefault() [value]=\"inputValue\">\n <span>{{ ('COMMON.ADD') | uiTranslate | async }}</span>\n <span class=\"add-suggestion\">\"{{ inputValue }}\"</span>\n </mat-option>\n } @else if (!filteredItemsList.length && !filteredSuggestionList.length) {\n <mat-option [style.pointer-events]=\"'none'\">\n <span>{{ (translationContext + 'NO_RESULTS_FOUND') | uiTranslate | async }}</span>\n </mat-option>\n }\n }\n </ng-container>\n </ng-container>\n }\n </mat-autocomplete>\n <mat-hint class=\"error\"\n *ngIf=\"safeErrors.length || (ngControl?.errors | hasValidationError) || (AutocompleteUtils.isArray(value) && value.length) > maxItemSelected || ((AutocompleteUtils.isArray(value) && value.length) >= maxItemSelected && (inputValue && inputValue !== ' '))\">\n <div class=\"errors\"\n *ngIf=\"(AutocompleteUtils.isArray(value) && value.length) > maxItemSelected || ((AutocompleteUtils.isArray(value) && value.length) >= maxItemSelected && (inputValue && inputValue !== ' '))\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span>{{ (translationContext + 'MAX_SELECTED_ERROR') | uiTranslate : { max: maxItemSelected } | async }}</span>\n </div>\n <ng-container *ngIf=\"safeErrors.length\">\n <div class=\"errors\" *ngFor=\"let error of safeErrors; trackBy: trackByFn\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span [innerHTML]=\"error\"></span>\n </div>\n </ng-container>\n <ui-validation-error *ngIf=\"ngControl && !hideBuiltInErrors\" [ngControl]=\"ngControl\"\n [label]=\"hideLabelInErrors ? null : label\"></ui-validation-error>\n\n </mat-hint>\n </mat-form-field>\n </div>\n</ng-container>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host{width:320px;display:block}:host.full-width{width:100%}:host ui-tag{height:32px;margin:4px}:host ui-tag ::ng-deep .tag-container{margin:0!important}:host ui-tag ::ng-deep .tag-wrapper{max-width:fit-content}.large-size input{margin:10px 0}.large-size .selected-items{margin:5px 0;flex-wrap:wrap}.large-size .input-container{display:flex;flex-direction:column-reverse}.large-size ::ng-deep .mat-mdc-form-field-infix,.large-size .mat-mdc-form-field-flex{align-items:unset!important}.disabled *{pointer-events:none}.input-container{width:100%;margin:auto;display:flex;flex-direction:row-reverse}.input-container .selected-items{display:flex;padding-left:4px}.input-container .selected-items .selected-count{white-space:nowrap}.input-container .selected-items .value-tag{max-width:var(--tag-max-width)}.input-container .selected-items .value-tag ::ng-deep .tag-container{max-width:var(--tag-max-width)}.input-container .selected-items .overlap-count{font-size:14px;line-height:20px}.input-container .selected-items .overlap-count ui-tag{display:block}.input-container .selected-items .overlap-tag{position:absolute;opacity:0}.input-container input{margin-left:6px}.input-container input.unset-margin{margin-top:unset}.input-container input.no-caret{cursor:pointer;caret-color:transparent!important}.add-suggestion{margin:0 5px;color:#000;font-weight:700}.remove-selected{cursor:pointer;margin-right:2px;border-radius:50px;height:fit-content}.remove-selected.large-input-icon{margin-top:10px}.arrow-state{height:24px;cursor:pointer}.arrow-state.large-input-icon{margin-top:10px}.arrow-state.opened{transform:rotateX(180deg)}::ng-deep .autocomplete-wrapper .mat-mdc-form-field{width:100%}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mat-mdc-form-field-hint.error,::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mat-mdc-form-field-hint.error svg{color:#cb7b7a}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mat-mdc-form-field-hint.error{display:flex}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mat-mdc-form-field-hint.error{display:flex;flex-flow:column;row-gap:4px}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mat-mdc-form-field-hint.error .errors{display:flex}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mat-mdc-form-field-hint.error .errors ui-icon{margin-right:8px}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mat-mdc-form-field-hint.error{color:#e02800!important}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mat-mdc-form-field-hint.error svg{color:#e02800!important}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mat-mdc-form-field-bottom-align:before{height:0}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mat-mdc-form-field-hint-wrapper{padding:0 0 12px;font-size:12px;line-height:16px;position:relative}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mat-mdc-form-field-hint-wrapper .mat-form-field-hint-spacer{display:none}::ng-deep .autocomplete-wrapper .mat-mdc-form-field.hide-bottom-content .mat-mdc-form-field-subscript-wrapper{display:none}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{top:28px!important}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:22px!important}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mat-mdc-text-field-wrapper{padding-left:12px!important;height:unset!important;max-height:unset!important}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mat-focused .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{color:#276678!important}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch{border-bottom:2px solid #276678!important}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading{border-left:2px solid #276678!important;border-bottom:2px solid #276678!important;border-top:2px solid #276678!important}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing{border:2px solid #276678!important;border-left:unset!important}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mat-mdc-form-field-infix,::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mat-mdc-form-field-flex{min-height:48px!important;max-height:184px!important;overflow-y:auto;overflow-x:hidden;padding:0!important;display:flex;justify-content:center;text-align:center;align-items:center;flex-direction:row;width:100%}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mdc-line-ripple{display:none!important}::ng-deep .mat-mdc-autocomplete-panel{box-shadow:0 8px 24px 4px #00000014;max-height:312px!important}::ng-deep .mat-mdc-autocomplete-panel .mat-mdc-option:hover:not(.mdc-list-item--disabled),::ng-deep .mat-mdc-autocomplete-panel .mat-mdc-option:focus:not(.mdc-list-item--disabled),::ng-deep .mat-mdc-autocomplete-panel .mat-mdc-option.mat-mdc-option-active,::ng-deep .mat-mdc-autocomplete-panel .mat-mdc-option.mdc-list-item--selected:not(.mat-mdc-option-multiple):not(.mdc-list-item--disabled){background:#e9f0f1!important}::ng-deep .mat-mdc-autocomplete-panel .mat-mdc-option{padding-right:32px;padding-left:12px!important}::ng-deep .mat-mdc-autocomplete-panel .mat-mdc-option ui-icon{display:none;position:absolute;right:0;bottom:calc(50% - 8px);margin:0 10px}::ng-deep .mat-mdc-autocomplete-panel .mat-mdc-option.selected-option{background:#e9f0f1}::ng-deep .mat-mdc-autocomplete-panel .mat-mdc-option.selected-option ui-icon{display:block}::ng-deep .mat-mdc-autocomplete-panel .mat-mdc-option.mdc-list-item--selected .mdc-list-item__primary-text,::ng-deep .mat-mdc-autocomplete-panel .mat-mdc-option .mdc-list-item--activated .mdc-list-item__primary-text{color:#000!important}::ng-deep .mat-mdc-autocomplete-panel .mat-mdc-option .mat-pseudo-checkbox{display:none}::ng-deep .mat-mdc-autocomplete-panel .mat-mdc-optgroup .mat-mdc-optgroup-label{font-weight:700!important}::ng-deep .mat-mdc-autocomplete-panel .mat-mdc-optgroup .mdc-list-item__primary-text{color:#000;font-size:12px;line-height:16px;font-weight:700}.active-field .mdc-notched-outline__leading{border-left-width:2px;border-top-width:2px;border-bottom-width:2px}.active-field .mdc-notched-outline__notch{border-top-width:2px;border-bottom-width:2px}.active-field .mdc-notched-outline__trailing{border-top-width:2px;border-bottom-width:2px;border-right-width:2px}.loading-option{display:flex}.loading-option .loading-container{display:flex;justify-content:center;align-items:center;width:100%;height:100%;position:absolute;top:0;left:0}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: i6.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i7.MatOptgroup, selector: "mat-optgroup", inputs: ["label", "disabled"], exportAs: ["matOptgroup"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i9.TagComponent, selector: "ui-tag", inputs: ["label", "icon", "allowClose", "readOnly", "isSelected", "showIconWhenSelected", "isDisabled", "applicationTheme", "ariaLabel", "ariaRequired"], outputs: ["close", "press"] }, { kind: "component", type: i10.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "applicationTheme", "useFullIconName"] }, { kind: "component", type: i11.ValidationErrorComponent, selector: "ui-validation-error", inputs: ["ngControl", "touchedOn", "errorMessage", "label", "applicationTheme"] }, { kind: "directive", type: i12.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i12.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: i12.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i13.PreventInputDirective, selector: "[uiPreventInput]", inputs: ["uiPreventInput"] }, { kind: "component", type: i14.SpinnerComponent, selector: "ui-spinner", inputs: ["size", "isLoader", "text", "applicationTheme", "iconName"] }, { kind: "directive", type: i15.SelectTextDirective, selector: "[selectText]", inputs: ["selectText"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i4.SlicePipe, name: "slice" }, { kind: "pipe", type: i16.UiTranslatePipe, name: "uiTranslate" }, { kind: "pipe", type: i17.HasValidationErrorPipe, name: "hasValidationError" }, { kind: "pipe", type: i18.TransformItemPipe, name: "transformItem" }, { kind: "pipe", type: i19.IncludesPipe, name: "includes" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
688
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AutocompleteComponent, selector: "ui-autocomplete", inputs: { itemsList: "itemsList", suggestionsList: "suggestionsList", disabled: "disabled", allowAdd: "allowAdd", textField: "textField", valueField: "valueField", label: "label", placeholder: "placeholder", itemValue: "itemValue", type: "type", minCharactersSearch: "minCharactersSearch", variant: "variant", showBottomContent: "showBottomContent", valuePrimitive: "valuePrimitive", fullWidth: "fullWidth", applicationTheme: "applicationTheme", required: "required", errors: "errors", companyColor: "companyColor", hideBuiltInErrors: "hideBuiltInErrors", hideLabelInErrors: "hideLabelInErrors", virtualScroll: ["virtualScroll", "virtualScroll", booleanAttribute], compareWith: "compareWith", dropdownPanelClass: "dropdownPanelClass", closeOnScroll: "closeOnScroll", size: "size", allowUserInput: "allowUserInput", clearable: "clearable", exactMatchSelect: "exactMatchSelect", maxItemSelected: "maxItemSelected", isDynamicFilteringEnabled: "isDynamicFilteringEnabled", dynamicFilterLoading: "dynamicFilterLoading", dynamicFilteredList: "dynamicFilteredList", infiniteScroll: "infiniteScroll", hasMoreOptionsForInfiniteScroll: "hasMoreOptionsForInfiniteScroll" }, outputs: { selectionChange: "selectionChange", searchTextChange: "searchTextChange", blur: "blur", focus: "focus", scrollViewportBottomReached: "scrollViewportBottomReached" }, host: { properties: { "class.full-width": "this.fullWidth", "attr.theme": "this.applicationTheme" } }, viewQueries: [{ propertyName: "formFieldElement", first: true, predicate: ["formField"], descendants: true }, { propertyName: "tagContainer", first: true, predicate: ["tagContainer"], descendants: true }, { propertyName: "autocomplete", first: true, predicate: ["trigger"], descendants: true }, { propertyName: "cdkVirtualScrollViewport", first: true, predicate: CdkVirtualScrollViewport, descendants: true }, { propertyName: "matAutocomplete", first: true, predicate: ["autocomplete"], descendants: true }, { propertyName: "matInput", first: true, predicate: ["matInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container>\n <div class=\"autocomplete-wrapper\" [ngClass]=\"{ 'full-width': fullWidth, disabled: disabled }\">\n <mat-form-field\n [color]=\"(safeErrors.length || (ngControl?.errors && ngControl?.touched ) || (AutocompleteUtils.isArray(value) && value.length) > maxItemSelected || ((AutocompleteUtils.isArray(value) && value.length) >= maxItemSelected && (inputValue && inputValue !== ' ')) ) ? 'warn' : 'accent'\"\n [appearance]=\"'outline'\"\n [ngClass]=\"{ 'large-size': type === autocompleteType.LARGE, 'hide-bottom-content': !showBottomContent, 'keyboard-focused': keyboardFocused(), 'has-label': !!label }\"\n >\n <mat-label *ngIf=\"label\">{{ label }} <span *ngIf=\"required\">*</span></mat-label>\n <div #formField class=\"input-container\">\n <span style=\"position: absolute; left: -9999px\" *ngIf=\"textField ? value?.[textField] : value === inputValue\"\n aria-live=\"polite\">{{ (('SELECTED') | uiTranslate | async) + ' ' + inputValue }}</span>\n\n <input\n #trigger=\"matAutocompleteTrigger\"\n #matInput\n [uiPreventInput]=\"!allowUserInput\"\n [disabled]=\"disabled\"\n [ngClass]=\"{ 'unset-margin': this.value && type === autocompleteType.LARGE, 'no-caret': !allowUserInput }\"\n (blur)=\"refillInput()\"\n (focusin)=\"onFocus()\"\n [attr.aria-label]=\"((translationContext + 'SELECTED') | uiTranslate | async) + ' ' + (value | transformItem: textField : true)\"\n [style.opacity]=\"type === autocompleteType.MULTI ? inputOpacity : 1\"\n matInput\n [placeholder]=\"value && value.length ? '': placeholder\"\n [type]=\"'text'\"\n [matAutocomplete]=\"autocomplete\"\n (input)=\"onInputChange($event)\"\n [(ngModel)]=\"inputValue\"\n />\n <div\n class=\"selected-items\"\n #tagContainer\n *ngIf=\"\n (type === autocompleteType.LARGE && this.value) ||\n (!(inputValue && this.isInputFocus) && this.value && type !== autocompleteType.SINGLE)\n \"\n >\n <ui-tag\n class=\"value-tag\"\n [id]=\"'ui-tag-' + i\"\n *ngFor=\"let valueItem of value; let i = index\"\n [label]=\"valueItem | transformItem: textField\"\n [allowClose]=\"true\"\n [applicationTheme]=\"applicationTheme\"\n [style.opacity]=\"type === autocompleteType.MULTI ? inputOpacity : 1\"\n [style.display]=\"(isOverLapping && i > 0 && i >= overlapIndex) || (size === 'small' && value.length > 1) ? 'none' : 'block'\"\n [ngStyle]=\"{ '--tag-max-width': type === autocompleteType.LARGE ? 'fit-content' : firstTagMaxWidth + 'px' }\"\n [ngClass]=\"{\n 'overlap-tag': isOverlapChecking && overlapIndex && i >= overlapIndex && type === autocompleteType.MULTI\n }\"\n (close)=\"onOptionRemoved(valueItem)\"\n ></ui-tag>\n @if (size === 'small') {\n <div class=\"selected-count\" *ngIf=\"value.length > 1\">\n {{ (translationContext + 'SELECTED_AMOUNT' | uiTranslate : { numberSelected: (value | slice: overlapIndex).length }) | async }}\n </div>\n } @else {\n <div *ngIf=\"value.length > 1 && isOverLapping\" class=\"overlap-count\">\n <ui-tag [applicationTheme]=\"applicationTheme\"\n [label]=\"'+' + (value.length - overlapIndex)\"></ui-tag>\n </div>\n }\n </div>\n </div>\n\n <ui-icon\n *ngIf=\"clearable && (type === autocompleteType.SINGLE && (value?.length || hasObjectValue)) || (type !== autocompleteType.SINGLE && value && value.length > 1 && ((AutocompleteUtils.isPrimitive(value) && value.length) || (!AutocompleteUtils.isPrimitive(value) && (AutocompleteUtils.isArray(value) && value.length || !AutocompleteUtils.isArray(value) && !value.length))))\"\n class=\"remove-selected\"\n [tabIndex]=\"disabled ? -1 : 0\"\n (keydown.enter)=\"onClear();$event.preventDefault();$event.stopPropagation()\"\n (keydown.space)=\"onClear();$event.preventDefault();$event.stopPropagation()\"\n [ngClass]=\"{ 'large-input-icon': type === autocompleteType.LARGE }\"\n (click)=\"onClear();$event.preventDefault();$event.stopPropagation()\"\n [size]=\"'24'\"\n [color]=\"applicationTheme === 'classic' ? 'inherit' : 'rebrand-black'\"\n [attr.aria-label]=\"('COMMON.CLEAR') | uiTranslate | async\"\n [name]=\"applicationTheme === 'classic' ? 'Close' : 'Close-in-line'\"\n ></ui-icon>\n\n <ui-icon\n class=\"arrow-state\"\n [ngClass]=\"{ opened: autocomplete.isOpen, 'large-input-icon': type === autocompleteType.LARGE }\"\n *ngIf=\"isDropdown\"\n [size]=\"'24'\"\n [name]=\"applicationTheme !== 'classic' ? 'Arrow-chevron-down-in-line' : 'Arrow_down'\"\n (click)=\"onChevronClick(autocomplete)\"\n ></ui-icon>\n\n\n <mat-autocomplete\n #autocomplete\n [class]=\"applicationTheme + ' ' + dropdownPanelClass\"\n (optionSelected)=\"onOptionSelected($event)\"\n [disableRipple]=\"applicationTheme !== 'classic'\"\n [hideSingleSelectionIndicator]=\"false\"\n (opened)=\"gotoUp()\"\n >\n @if (type !== autocompleteType.MULTI || value?.length < maxItemSelected) {\n <ng-container *ngIf=\"!(searchResult$ | async)\">\n <ng-container *ngIf=\"!isDropdown; else dropdownList\">\n <mat-optgroup [label]=\"((translationContext + 'SUGGESTED') | uiTranslate | async)! | uppercase\"\n *ngIf=\"suggestionsList.length\">\n <mat-option\n (mousedown)=$event.preventDefault()\n [ngClass]=\"{ 'selected-option': suggested | includes: value : valueField }\"\n *ngFor=\"let suggested of suggestionsList\"\n [value]=\"suggested\"\n >\n <span [selectText]=\"userInput$ | async\">{{ suggested | transformItem: textField }}</span>\n <ui-icon [applicationTheme]=\"applicationTheme\"\n [name]=\"applicationTheme === 'classic' ? 'Check' : 'Check-in-line'\"></ui-icon>\n </mat-option>\n </mat-optgroup>\n\n <mat-optgroup [label]=\"((translationContext + 'SELECTED') | uiTranslate | async)! | uppercase\"\n *ngIf=\"value?.length && type !== autocompleteType.SINGLE\">\n <mat-option\n (mousedown)=$event.preventDefault()\n [ngClass]=\"{ 'selected-option': item | includes: value : valueField }\"\n *ngFor=\"let item of value\"\n [value]=\"item\"\n >\n <span>{{ item | transformItem: textField }}</span>\n <ui-icon [applicationTheme]=\"applicationTheme\"\n [name]=\"applicationTheme === 'classic' ? 'Check' : 'Check-in-line'\"></ui-icon>\n </mat-option>\n </mat-optgroup>\n\n\n @if (isGrouped) {\n @for (group of itemsList; track group) {\n\n @if (group.groupName) {\n <mat-optgroup [label]=\"group.groupName\">\n <mat-option\n (mousedown)=$event.preventDefault()\n [ngClass]=\"{ 'selected-option': item | includes: value : valueField }\"\n *ngFor=\"let item of group.items\"\n [value]=\"item\"\n >\n <span [selectText]=\"userInput$ | async\">{{ item | transformItem: textField }}</span>\n <ui-icon [applicationTheme]=\"applicationTheme\"\n [name]=\"applicationTheme === 'classic' ? 'Check' : 'Check-in-line'\"></ui-icon>\n </mat-option>\n </mat-optgroup>\n } @else {\n <mat-option\n (mousedown)=$event.preventDefault()\n [ngClass]=\"{ 'selected-option': item | includes: value : valueField }\"\n *ngFor=\"let item of group.items\"\n [value]=\"item\"\n >\n <span [selectText]=\"userInput$ | async\">{{ item | transformItem: textField }}</span>\n <ui-icon [applicationTheme]=\"applicationTheme\"\n [name]=\"applicationTheme === 'classic' ? 'Check' : 'Check-in-line'\"></ui-icon>\n </mat-option>\n }\n }\n }\n\n <mat-optgroup [label]=\"((translationContext + 'SELECTED') | uiTranslate | async)! | uppercase\"\n *ngIf=\"value?.length && type === autocompleteType.SINGLE\">\n <mat-option\n (mousedown)=$event.preventDefault()\n [class]=\"'selected-option'\"\n [value]=\"value\"\n >\n <span [selectText]=\"userInput$ | async\">{{ value | transformItem: textField }}</span>\n <ui-icon [applicationTheme]=\"applicationTheme\"\n [name]=\"applicationTheme === 'classic' ? 'Check' : 'Check-in-line'\"></ui-icon>\n </mat-option>\n </mat-optgroup>\n </ng-container>\n\n <ng-template #dropdownList>\n <cdk-virtual-scroll-viewport *ngIf=\"virtualScroll || infiniteScroll; else defaultViewPort\" [itemSize]=\"48\"\n [style.height]=\"'200px'\" class=\"virtual-scroll\">\n @if (!isGrouped) {\n <mat-option\n (mousedown)=$event.preventDefault()\n [ngClass]=\"{ 'selected-option': item | includes: value : valueField }\"\n *cdkVirtualFor=\"let item of itemsList\"\n [value]=\"item\"\n >\n <span [selectText]=\"userInput$ | async\">{{ item | transformItem: textField }}</span>\n <ui-icon [applicationTheme]=\"applicationTheme\"\n [name]=\"applicationTheme === 'classic' ? 'Check' : 'Check-in-line'\"></ui-icon>\n </mat-option>\n\n @if(infiniteScroll && hasMoreOptionsForInfiniteScroll) {\n <mat-option class=\"loading-option\" [style.pointer-events]=\"'none'\">\n <div class=\"loading-container\">\n <ui-spinner size=\"small\" [isLoader]=\"false\"></ui-spinner>\n </div>\n </mat-option>\n }\n } @else {\n @for (group of itemsList; track group) {\n @if (group.groupName) {\n <mat-optgroup [label]=\"group.groupName\">\n <mat-option\n (mousedown)=$event.preventDefault()\n [ngClass]=\"{ 'selected-option': item | includes: value : valueField }\"\n *cdkVirtualFor=\"let item of group.items\"\n [value]=\"item\"\n >\n <span [selectText]=\"userInput$ | async\">{{ item | transformItem: textField }}</span>\n <ui-icon [applicationTheme]=\"applicationTheme\"\n [name]=\"applicationTheme === 'classic' ? 'Check' : 'Check-in-line'\"></ui-icon>\n </mat-option>\n </mat-optgroup>\n } @else {\n <mat-option\n (mousedown)=$event.preventDefault()\n [ngClass]=\"{ 'selected-option': item | includes: value : valueField }\"\n *cdkVirtualFor=\"let item of group.items\"\n [value]=\"item\"\n >\n <span [selectText]=\"userInput$ | async\">{{ item | transformItem: textField }}</span>\n <ui-icon [applicationTheme]=\"applicationTheme\"\n [name]=\"applicationTheme === 'classic' ? 'Check' : 'Check-in-line'\"></ui-icon>\n </mat-option>\n } }\n }\n\n </cdk-virtual-scroll-viewport>\n\n <ng-template #defaultViewPort>\n @if (!isGrouped) {\n <mat-option\n (mousedown)=$event.preventDefault()\n [ngClass]=\"{ 'selected-option': item | includes: value : valueField }\"\n *ngFor=\"let item of itemsList\"\n [value]=\"item\"\n >\n <span [selectText]=\"userInput$ | async\">{{ item | transformItem: textField }}</span>\n <ui-icon [applicationTheme]=\"applicationTheme\"\n [name]=\"applicationTheme === 'classic' ? 'Check' : 'Check-in-line'\"></ui-icon>\n </mat-option>\n } @else {\n @for (group of itemsList; track group) {\n @if (group.groupName) {\n <mat-optgroup [label]=\"group.groupName\">\n <mat-option\n (mousedown)=$event.preventDefault()\n [ngClass]=\"{ 'selected-option': item | includes: value : valueField }\"\n *ngFor=\"let item of group.items\"\n [value]=\"item\"\n >\n <span [selectText]=\"userInput$ | async\">{{ item | transformItem: textField }}</span>\n <ui-icon [applicationTheme]=\"applicationTheme\"\n [name]=\"applicationTheme === 'classic' ? 'Check' : 'Check-in-line'\"></ui-icon>\n </mat-option>\n </mat-optgroup>\n } @else {\n <mat-option\n (mousedown)=$event.preventDefault()\n [ngClass]=\"{ 'selected-option': item | includes: value : valueField }\"\n *ngFor=\"let item of group.items\"\n [value]=\"item\"\n >\n <span [selectText]=\"userInput$ | async\">{{ item | transformItem: textField }}</span>\n <ui-icon [applicationTheme]=\"applicationTheme\"\n [name]=\"applicationTheme === 'classic' ? 'Check' : 'Check-in-line'\"></ui-icon>\n </mat-option>\n }\n }\n }\n </ng-template>\n\n </ng-template>\n\n </ng-container>\n\n <ng-container *ngIf=\"filteredSuggestionList$ | async as filteredSuggestionList\">\n <ng-container *ngIf=\"filteredItemsList$ | async as filteredItemsList\">\n @if (isGrouped && filteredItemsList.length) {\n @for (group of filteredItemsList; track group) {\n @if (group.groupName) {\n <mat-optgroup [label]=\"group.groupName\">\n <mat-option\n (mousedown)=$event.preventDefault()\n [ngClass]=\"{ 'selected-option': item | includes: value : valueField }\"\n *ngFor=\"let item of group.filteredItems\"\n [value]=\"item\"\n >\n <span [selectText]=\"userInput$ | async\">{{ item | transformItem: textField }}</span>\n <ui-icon [applicationTheme]=\"applicationTheme\"\n [name]=\"applicationTheme === 'classic' ? 'Check' : 'Check-in-line'\"></ui-icon>\n </mat-option>\n </mat-optgroup>\n } @else {\n <mat-option\n (mousedown)=$event.preventDefault()\n [ngClass]=\"{ 'selected-option': item | includes: value : valueField }\"\n *ngFor=\"let item of group.filteredItems\"\n [value]=\"item\"\n >\n <span [selectText]=\"userInput$ | async\">{{ item | transformItem: textField }}</span>\n <ui-icon [applicationTheme]=\"applicationTheme\"\n [name]=\"applicationTheme === 'classic' ? 'Check' : 'Check-in-line'\"></ui-icon>\n </mat-option>\n }\n }\n }\n\n <mat-optgroup [label]=\"((translationContext + 'SUGGESTED') | uiTranslate | async)! | uppercase\"\n *ngIf=\"filteredSuggestionList.length\">\n <mat-option\n (mousedown)=$event.preventDefault()\n [ngClass]=\"{ 'selected-option': item | includes: value : valueField }\"\n *ngFor=\"let item of filteredSuggestionList\"\n [value]=\"item\"\n >\n <span [selectText]=\"userInput$ | async\">{{ item | transformItem: textField }}</span>\n <ui-icon [applicationTheme]=\"applicationTheme\"\n [name]=\"applicationTheme === 'classic' ? 'Check' : 'Check-in-line'\"></ui-icon>\n </mat-option>\n </mat-optgroup>\n\n <ng-container *ngIf=\"!filteredSuggestionList.length && !isGrouped; else showItemListWithGroup\">\n <mat-option\n (mousedown)=$event.preventDefault()\n [ngClass]=\"{ 'selected-option': item | includes: value : valueField }\"\n *ngFor=\"let item of filteredItemsList\"\n [value]=\"item\"\n >\n <span [selectText]=\"userInput$ | async\">{{ item | transformItem: textField }}</span>\n <ui-icon [applicationTheme]=\"applicationTheme\"\n [name]=\"applicationTheme === 'classic' ? 'Check' : 'Check-in-line'\"></ui-icon>\n </mat-option>\n </ng-container>\n\n <ng-template #showItemListWithGroup>\n <mat-optgroup [label]=\"((translationContext + 'ALL_ITEMS') | uiTranslate | async)! | uppercase\"\n *ngIf=\"filteredItemsList.length && !isGrouped\">\n <mat-option\n (mousedown)=$event.preventDefault()\n [ngClass]=\"{ 'selected-option': item | includes: value : valueField }\"\n *ngFor=\"let item of filteredItemsList\"\n [value]=\"item\"\n >\n <span [selectText]=\"userInput$ | async\">{{ item | transformItem: textField }}</span>\n <ui-icon [applicationTheme]=\"applicationTheme\"\n [name]=\"applicationTheme === 'classic' ? 'Check' : 'Check-in-line'\"></ui-icon>\n </mat-option>\n </mat-optgroup>\n </ng-template>\n\n @if(isDynamicFilteringEnabled && dynamicFilterLoading) {\n <mat-option class=\"loading-option\" [style.pointer-events]=\"'none'\">\n <div class=\"loading-container\">\n <ui-spinner size=\"small\" [isLoader]=\"false\"></ui-spinner>\n </div>\n </mat-option>\n } @else if(inputValue) {\n @if (allowAdd && !isAlreadyAdded) {\n <mat-option (mousedown)=$event.preventDefault() [value]=\"inputValue\">\n <span>{{ ('COMMON.ADD') | uiTranslate | async }}</span>\n <span class=\"add-suggestion\">\"{{ inputValue }}\"</span>\n </mat-option>\n } @else if (!filteredItemsList.length && !filteredSuggestionList.length) {\n <mat-option [style.pointer-events]=\"'none'\">\n <span>{{ (translationContext + 'NO_RESULTS_FOUND') | uiTranslate | async }}</span>\n </mat-option>\n }\n }\n </ng-container>\n </ng-container>\n }\n </mat-autocomplete>\n <mat-hint class=\"error\"\n *ngIf=\"safeErrors.length || (ngControl?.errors | hasValidationError) || (AutocompleteUtils.isArray(value) && value.length) > maxItemSelected || ((AutocompleteUtils.isArray(value) && value.length) >= maxItemSelected && (inputValue && inputValue !== ' '))\">\n <div class=\"errors\"\n *ngIf=\"(AutocompleteUtils.isArray(value) && value.length) > maxItemSelected || ((AutocompleteUtils.isArray(value) && value.length) >= maxItemSelected && (inputValue && inputValue !== ' '))\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span>{{ (translationContext + 'MAX_SELECTED_ERROR') | uiTranslate : { max: maxItemSelected } | async }}</span>\n </div>\n <ng-container *ngIf=\"safeErrors.length\">\n <div class=\"errors\" *ngFor=\"let error of safeErrors; trackBy: trackByFn\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span [innerHTML]=\"error\"></span>\n </div>\n </ng-container>\n <ui-validation-error *ngIf=\"ngControl && !hideBuiltInErrors\" [ngControl]=\"ngControl\"\n [label]=\"hideLabelInErrors ? null : label\"></ui-validation-error>\n\n </mat-hint>\n </mat-form-field>\n </div>\n</ng-container>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host{width:320px;display:block}:host.full-width{width:100%}:host ui-tag{height:32px;margin:4px}:host ui-tag ::ng-deep .tag-container{margin:0!important}:host ui-tag ::ng-deep .tag-wrapper{max-width:fit-content}.large-size input{margin:10px 0}.large-size .selected-items{margin:5px 0;flex-wrap:wrap}.large-size .input-container{display:flex;flex-direction:column-reverse}.large-size ::ng-deep .mat-mdc-form-field-infix,.large-size .mat-mdc-form-field-flex{align-items:unset!important}.disabled *{pointer-events:none}.input-container{width:100%;margin:auto;display:flex;flex-direction:row-reverse}.input-container .selected-items{display:flex;padding-left:4px}.input-container .selected-items .selected-count{white-space:nowrap}.input-container .selected-items .value-tag{max-width:var(--tag-max-width)}.input-container .selected-items .value-tag ::ng-deep .tag-container{max-width:var(--tag-max-width)}.input-container .selected-items .overlap-count{font-size:14px;line-height:20px}.input-container .selected-items .overlap-count ui-tag{display:block}.input-container .selected-items .overlap-tag{position:absolute;opacity:0}.input-container input{margin-left:6px}.input-container input.unset-margin{margin-top:unset}.input-container input.no-caret{cursor:pointer;caret-color:transparent!important}.add-suggestion{margin:0 5px;color:#000;font-weight:700}.remove-selected{cursor:pointer;margin-right:2px;border-radius:50px;height:fit-content}.remove-selected.large-input-icon{margin-top:10px}.arrow-state{height:24px;cursor:pointer}.arrow-state.large-input-icon{margin-top:10px}.arrow-state.opened{transform:rotateX(180deg)}::ng-deep .autocomplete-wrapper .mat-mdc-form-field{width:100%}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mat-mdc-form-field-hint.error,::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mat-mdc-form-field-hint.error svg{color:#cb7b7a}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mat-mdc-form-field-hint.error{display:flex}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mat-mdc-form-field-hint.error{display:flex;flex-flow:column;row-gap:4px}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mat-mdc-form-field-hint.error .errors{display:flex}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mat-mdc-form-field-hint.error .errors ui-icon{margin-right:8px}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mat-mdc-form-field-hint.error{color:#e02800!important}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mat-mdc-form-field-hint.error svg{color:#e02800!important}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mat-mdc-form-field-bottom-align:before{height:0}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mat-mdc-form-field-hint-wrapper{padding:0 0 12px;font-size:12px;line-height:16px;position:relative}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mat-mdc-form-field-hint-wrapper .mat-form-field-hint-spacer{display:none}::ng-deep .autocomplete-wrapper .mat-mdc-form-field.hide-bottom-content .mat-mdc-form-field-subscript-wrapper{display:none}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{top:28px!important}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:22px!important}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mat-mdc-text-field-wrapper{padding-left:12px!important;height:unset!important;max-height:unset!important}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mat-focused .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{color:#276678!important}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__notch{border-bottom:2px solid #276678!important}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__leading{border-left:2px solid #276678!important;border-bottom:2px solid #276678!important;border-top:2px solid #276678!important}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline__trailing{border:2px solid #276678!important;border-left:unset!important}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mat-mdc-form-field-infix,::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mat-mdc-form-field-flex{min-height:48px!important;max-height:184px!important;overflow-y:auto;overflow-x:hidden;padding:0!important;display:flex;justify-content:center;text-align:center;align-items:center;flex-direction:row;width:100%}::ng-deep .autocomplete-wrapper .mat-mdc-form-field .mdc-line-ripple{display:none!important}::ng-deep .mat-mdc-autocomplete-panel{box-shadow:0 8px 24px 4px #00000014;max-height:312px!important}::ng-deep .mat-mdc-autocomplete-panel .mat-mdc-option:hover:not(.mdc-list-item--disabled),::ng-deep .mat-mdc-autocomplete-panel .mat-mdc-option:focus:not(.mdc-list-item--disabled),::ng-deep .mat-mdc-autocomplete-panel .mat-mdc-option.mat-mdc-option-active,::ng-deep .mat-mdc-autocomplete-panel .mat-mdc-option.mdc-list-item--selected:not(.mat-mdc-option-multiple):not(.mdc-list-item--disabled){background:#e9f0f1!important}::ng-deep .mat-mdc-autocomplete-panel .mat-mdc-option{padding-right:32px;padding-left:12px!important}::ng-deep .mat-mdc-autocomplete-panel .mat-mdc-option ui-icon{display:none;position:absolute;right:0;bottom:calc(50% - 8px);margin:0 10px}::ng-deep .mat-mdc-autocomplete-panel .mat-mdc-option.selected-option{background:#e9f0f1}::ng-deep .mat-mdc-autocomplete-panel .mat-mdc-option.selected-option ui-icon{display:block}::ng-deep .mat-mdc-autocomplete-panel .mat-mdc-option.mdc-list-item--selected .mdc-list-item__primary-text,::ng-deep .mat-mdc-autocomplete-panel .mat-mdc-option .mdc-list-item--activated .mdc-list-item__primary-text{color:#000!important}::ng-deep .mat-mdc-autocomplete-panel .mat-mdc-option .mat-pseudo-checkbox{display:none}::ng-deep .mat-mdc-autocomplete-panel .mat-mdc-optgroup .mat-mdc-optgroup-label{font-weight:700!important}::ng-deep .mat-mdc-autocomplete-panel .mat-mdc-optgroup .mdc-list-item__primary-text{color:#000;font-size:12px;line-height:16px;font-weight:700}.active-field .mdc-notched-outline__leading{border-left-width:2px;border-top-width:2px;border-bottom-width:2px}.active-field .mdc-notched-outline__notch{border-top-width:2px;border-bottom-width:2px}.active-field .mdc-notched-outline__trailing{border-top-width:2px;border-bottom-width:2px;border-right-width:2px}.loading-option{display:flex}.loading-option .loading-container{display:flex;justify-content:center;align-items:center;width:100%;height:100%;position:absolute;top:0;left:0}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: i6.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i7.MatOptgroup, selector: "mat-optgroup", inputs: ["label", "disabled"], exportAs: ["matOptgroup"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i9.TagComponent, selector: "ui-tag", inputs: ["label", "icon", "allowClose", "readOnly", "isSelected", "showIconWhenSelected", "isDisabled", "applicationTheme", "ariaLabel", "ariaRequired"], outputs: ["close", "press"] }, { kind: "component", type: i10.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "applicationTheme", "useFullIconName"] }, { kind: "component", type: i11.ValidationErrorComponent, selector: "ui-validation-error", inputs: ["ngControl", "touchedOn", "errorMessage", "label", "applicationTheme"] }, { kind: "directive", type: i12.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i12.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: i12.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i13.PreventInputDirective, selector: "[uiPreventInput]", inputs: ["uiPreventInput"] }, { kind: "component", type: i14.SpinnerComponent, selector: "ui-spinner", inputs: ["size", "isLoader", "text", "applicationTheme"] }, { kind: "directive", type: i15.SelectTextDirective, selector: "[selectText]", inputs: ["selectText"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i4.SlicePipe, name: "slice" }, { kind: "pipe", type: i16.UiTranslatePipe, name: "uiTranslate" }, { kind: "pipe", type: i17.HasValidationErrorPipe, name: "hasValidationError" }, { kind: "pipe", type: i18.TransformItemPipe, name: "transformItem" }, { kind: "pipe", type: i19.IncludesPipe, name: "includes" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
689
689
|
}
|
|
690
690
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AutocompleteComponent, decorators: [{
|
|
691
691
|
type: Component,
|
|
@@ -438,7 +438,6 @@ export const tgoRebrandIcons = [
|
|
|
438
438
|
'TestGorilla-in-line',
|
|
439
439
|
'TestGorilla-Pink-filled',
|
|
440
440
|
'TestGorilla-Pink-in-line',
|
|
441
|
-
'Pencil-to-gorilla-in-line',
|
|
442
441
|
];
|
|
443
442
|
export const groupedIcons = {
|
|
444
443
|
directional: [
|
|
@@ -646,7 +645,6 @@ export const groupedIcons = {
|
|
|
646
645
|
'Zoom-in-in-line',
|
|
647
646
|
'Zoom-out-filled',
|
|
648
647
|
'Zoom-out-in-line',
|
|
649
|
-
'Pencil-to-gorilla-in-line',
|
|
650
648
|
],
|
|
651
649
|
communication: [
|
|
652
650
|
'Book-filled',
|
|
@@ -724,4 +722,4 @@ export const groupedIcons = {
|
|
|
724
722
|
'Volume-in-line',
|
|
725
723
|
],
|
|
726
724
|
};
|
|
727
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Z28tY2Fub3B5LXVpL2NvbXBvbmVudHMvaWNvbi9pY29uLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1QkFBdUI7QUFDdkIsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHO0lBQ3RCLEtBQUs7SUFDTCxTQUFTO0lBQ1QsWUFBWTtJQUNaLFlBQVk7SUFDWixhQUFhO0lBQ2IsVUFBVTtJQUNWLFlBQVk7SUFDWixVQUFVO0lBQ1YsTUFBTTtJQUNOLFVBQVU7SUFDVixZQUFZO0lBQ1osb0JBQW9CO0lBQ3BCLE1BQU07SUFDTixPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFDUCxNQUFNO0lBQ04sU0FBUztJQUNULE1BQU07SUFDTixrQkFBa0I7SUFDbEIsUUFBUTtJQUNSLFNBQVM7SUFDVCxVQUFVO0lBQ1YsS0FBSztJQUNMLFVBQVU7SUFDVixNQUFNO0lBQ04sZUFBZTtJQUNmLG1CQUFtQjtJQUNuQixPQUFPO0lBQ1AsT0FBTztJQUNQLFVBQVU7SUFDVixVQUFVO0lBQ1YsWUFBWTtJQUNaLFlBQVk7SUFDWixZQUFZO0lBQ1osWUFBWTtJQUNaLFlBQVk7SUFDWixhQUFhO0lBQ2IsYUFBYTtJQUNiLFFBQVE7SUFDUixRQUFRO0lBQ1IsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLHFCQUFxQjtJQUNyQixzQkFBc0I7SUFDdEIsYUFBYTtJQUNiLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLHNCQUFzQjtJQUN0QixzQkFBc0I7SUFDdEIsZUFBZTtJQUNmLGNBQWM7SUFDZCxrQkFBa0I7SUFDbEIsb0JBQW9CO0lBQ3BCLHlCQUF5QjtJQUN6Qix5QkFBeUI7SUFDekIsa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsYUFBYTtJQUNiLGVBQWU7SUFDZixhQUFhO0lBQ2IsUUFBUTtJQUNSLE1BQU07SUFDTixPQUFPO0lBQ1AsTUFBTTtJQUNOLGFBQWE7SUFDYixVQUFVO0lBQ1YsUUFBUTtJQUNSLE9BQU87SUFDUCxPQUFPO0lBQ1AsWUFBWTtJQUNaLE1BQU07SUFDTixpQkFBaUI7SUFDakIsY0FBYztJQUNkLFVBQVU7SUFDVixNQUFNO0lBQ04sU0FBUztJQUNULGFBQWE7SUFDYixZQUFZO0lBQ1osZUFBZTtJQUNmLFdBQVc7SUFDWCxZQUFZO0lBQ1osT0FBTztJQUNQLGNBQWM7SUFDZCxtQkFBbUI7SUFDbkIsT0FBTztJQUNQLGNBQWM7SUFDZCxlQUFlO0lBQ2YsVUFBVTtJQUNWLE1BQU07SUFDTixZQUFZO0lBQ1osY0FBYztJQUNkLE1BQU07SUFDTixTQUFTO0lBQ1QsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixPQUFPO0lBQ1AsT0FBTztJQUNQLFFBQVE7SUFDUixvQkFBb0I7SUFDcEIsYUFBYTtJQUNiLFFBQVE7SUFDUixpQkFBaUI7SUFDakIsTUFBTTtJQUNOLFVBQVU7SUFDVixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIsY0FBYztJQUNkLGFBQWE7SUFDYixhQUFhO0lBQ2IsV0FBVztJQUNYLGNBQWM7SUFDZCxTQUFTO0lBQ1QsTUFBTTtJQUNOLE1BQU07SUFDTixNQUFNO0lBQ04sU0FBUztJQUNULE9BQU87SUFDUCxRQUFRO0lBQ1IsTUFBTTtJQUNOLFdBQVc7SUFDWCxRQUFRO0lBQ1IsU0FBUztJQUNULFFBQVE7SUFDUixhQUFhO0lBQ2IsVUFBVTtJQUNWLGFBQWE7SUFDYixjQUFjO0lBQ2QsYUFBYTtJQUNiLGFBQWE7SUFDYixhQUFhO0lBQ2IsWUFBWTtJQUNaLGNBQWM7SUFDZCxPQUFPO0lBQ1AsUUFBUTtJQUNSLFNBQVM7SUFDVCxTQUFTO0lBQ1QsVUFBVTtJQUNWLE1BQU07SUFDTixNQUFNO0lBQ04sTUFBTTtJQUNOLE9BQU87SUFDUCxVQUFVO0lBQ1YsWUFBWTtJQUNaLFVBQVU7SUFDVixVQUFVO0lBQ1YsV0FBVztJQUNYLFVBQVU7SUFDVixRQUFRO0lBQ1IsY0FBYztJQUNkLGFBQWE7SUFDYixXQUFXO0lBQ1gsZUFBZTtJQUNmLGFBQWE7Q0FDTCxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsYUFBYTtJQUNiLFlBQVk7SUFDWiwyQkFBMkI7SUFDM0IsNEJBQTRCO0lBQzVCLDJCQUEyQjtJQUMzQiw0QkFBNEI7SUFDNUIsNEJBQTRCO0lBQzVCLDZCQUE2QjtJQUM3Qix5QkFBeUI7SUFDekIsMEJBQTBCO0lBQzFCLG1CQUFtQjtJQUNuQixvQkFBb0I7SUFDcEIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsb0JBQW9CO0lBQ3BCLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsY0FBYztJQUNkLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLG9CQUFvQjtJQUNwQixhQUFhO0lBQ2IsY0FBYztJQUNkLGNBQWM7SUFDZCxlQUFlO0lBQ2Ysb0JBQW9CO0lBQ3BCLHFCQUFxQjtJQUNyQixlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGNBQWM7SUFDZCxlQUFlO0lBQ2YsY0FBYztJQUNkLGVBQWU7SUFDZixhQUFhO0lBQ2IsY0FBYztJQUNkLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsYUFBYTtJQUNiLGNBQWM7SUFDZCxlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsYUFBYTtJQUNiLGNBQWM7SUFDZCxrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsY0FBYztJQUNkLGVBQWU7SUFDZixjQUFjO0lBQ2QsZUFBZTtJQUNmLG1CQUFtQjtJQUNuQixvQkFBb0I7SUFDcEIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixxQkFBcUI7SUFDckIsc0JBQXNCO0lBQ3RCLG9CQUFvQjtJQUNwQixxQkFBcUI7SUFDckIsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2IsY0FBYztJQUNkLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIsb0JBQW9CO0lBQ3BCLHFCQUFxQjtJQUNyQixvQkFBb0I7SUFDcEIscUJBQXFCO0lBQ3JCLHNCQUFzQjtJQUN0Qix1QkFBdUI7SUFDdkIsYUFBYTtJQUNiLGNBQWM7SUFDZCxlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGFBQWE7SUFDYixjQUFjO0lBQ2QsYUFBYTtJQUNiLGNBQWM7SUFDZCxhQUFhO0lBQ2IsY0FBYztJQUNkLGNBQWM7SUFDZCxlQUFlO0lBQ2YsYUFBYTtJQUNiLGNBQWM7SUFDZCxrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLG9CQUFvQjtJQUNwQixxQkFBcUI7SUFDckIsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIsY0FBYztJQUNkLGVBQWU7SUFDZixjQUFjO0lBQ2QsZUFBZTtJQUNmLG1CQUFtQjtJQUNuQixvQkFBb0I7SUFDcEIsYUFBYTtJQUNiLGNBQWM7SUFDZCxpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLHFCQUFxQjtJQUNyQixzQkFBc0I7SUFDdEIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsY0FBYztJQUNkLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIsY0FBYztJQUNkLGVBQWU7SUFDZixvQkFBb0I7SUFDcEIscUJBQXFCO0lBQ3JCLG1CQUFtQjtJQUNuQixvQkFBb0I7SUFDcEIsc0JBQXNCO0lBQ3RCLHVCQUF1QjtJQUN2QixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLFlBQVk7SUFDWixhQUFhO0lBQ2IsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixjQUFjO0lBQ2QsZUFBZTtJQUNmLGNBQWM7SUFDZCxlQUFlO0lBQ2YscUJBQXFCO0lBQ3JCLHNCQUFzQjtJQUN0QiwwQkFBMEI7SUFDMUIsMkJBQTJCO0lBQzNCLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsYUFBYTtJQUNiLGNBQWM7SUFDZCxjQUFjO0lBQ2QsZUFBZTtJQUNmLG1CQUFtQjtJQUNuQixvQkFBb0I7SUFDcEIscUJBQXFCO0lBQ3JCLHNCQUFzQjtJQUN0QixhQUFhO0lBQ2IsY0FBYztJQUNkLGFBQWE7SUFDYixjQUFjO0lBQ2QsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQix3QkFBd0I7SUFDeEIsdUJBQXVCO0lBQ3ZCLHdCQUF3QjtJQUN4QixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLGVBQWU7SUFDZixjQUFjO0lBQ2QsZ0JBQWdCO0lBQ2hCLGNBQWM7SUFDZCxlQUFlO0lBQ2YsdUJBQXVCO0lBQ3ZCLHdCQUF3QjtJQUN4Qix1QkFBdUI7SUFDdkIsd0JBQXdCO0lBQ3hCLHVCQUF1QjtJQUN2Qix3QkFBd0I7SUFDeEIsdUJBQXVCO0lBQ3ZCLHdCQUF3QjtJQUN4Qix1QkFBdUI7SUFDdkIsd0JBQXdCO0lBQ3hCLGVBQWU7SUFDZix5QkFBeUI7SUFDekIsMEJBQTBCO0lBQzFCLGdCQUFnQjtJQUNoQixvQkFBb0I7SUFDcEIscUJBQXFCO0lBQ3JCLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2IsY0FBYztJQUNkLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsY0FBYztJQUNkLGVBQWU7SUFDZixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLHNCQUFzQjtJQUN0Qix1QkFBdUI7SUFDdkIsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixvQkFBb0I7SUFDcEIscUJBQXFCO0lBQ3JCLGFBQWE7SUFDYixjQUFjO0lBQ2QsYUFBYTtJQUNiLGNBQWM7SUFDZCxlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGFBQWE7SUFDYixjQUFjO0lBQ2QsWUFBWTtJQUNaLGFBQWE7SUFDYixhQUFhO0lBQ2IsY0FBYztJQUNkLGFBQWE7SUFDYixjQUFjO0lBQ2QsY0FBYztJQUNkLGVBQWU7SUFDZixlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGFBQWE7SUFDYixjQUFjO0lBQ2Qsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixvQkFBb0I7SUFDcEIscUJBQXFCO0lBQ3JCLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIscUJBQXFCO0lBQ3JCLHNCQUFzQjtJQUN0QixjQUFjO0lBQ2QsZUFBZTtJQUNmLGFBQWE7SUFDYixjQUFjO0lBQ2QsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLHdCQUF3QjtJQUN4QixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsd0JBQXdCO0lBQ3hCLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsb0JBQW9CO0lBQ3BCLHFCQUFxQjtJQUNyQix5QkFBeUI7SUFDekIsMEJBQTBCO0lBQzFCLDJCQUEyQjtDQUNuQixDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHO0lBQzFCLFdBQVcsRUFBRTtRQUNYLDJCQUEyQjtRQUMzQiw0QkFBNEI7UUFDNUIsMkJBQTJCO1FBQzNCLDRCQUE0QjtRQUM1Qiw0QkFBNEI7UUFDNUIsNkJBQTZCO1FBQzdCLHlCQUF5QjtRQUN6QiwwQkFBMEI7UUFDMUIsbUJBQW1CO1FBQ25CLG9CQUFvQjtRQUNwQixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLHFCQUFxQjtRQUNyQixzQkFBc0I7UUFDdEIsb0JBQW9CO1FBQ3BCLHFCQUFxQjtRQUNyQixjQUFjO1FBQ2QsZUFBZTtRQUNmLGFBQWE7UUFDYixjQUFjO1FBQ2Qsa0JBQWtCO1FBQ2xCLG1CQUFtQjtRQUNuQixzQkFBc0I7UUFDdEIsdUJBQXVCO0tBQ3hCO0lBQ0QsVUFBVSxFQUFFO1FBQ1YsbUJBQW1CO1FBQ25CLG9CQUFvQjtRQUNwQixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLG1CQUFtQjtRQUNuQixvQkFBb0I7UUFDcEIsa0JBQWtCO1FBQ2xCLG1CQUFtQjtRQUNuQixnQkFBZ0I7UUFDaEIsaUJBQWlCO1FBQ2pCLGFBQWE7UUFDYixjQUFjO1FBQ2QsY0FBYztRQUNkLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCxlQUFlO1FBQ2YsY0FBYztRQUNkLGVBQWU7UUFDZixxQkFBcUI7UUFDckIsc0JBQXNCO1FBQ3RCLGNBQWM7UUFDZCxlQUFlO1FBQ2YsWUFBWTtRQUNaLGFBQWE7UUFDYixxQkFBcUI7UUFDckIsc0JBQXNCO1FBQ3RCLHVCQUF1QjtRQUN2Qix3QkFBd0I7UUFDeEIsaUJBQWlCO1FBQ2pCLGtCQUFrQjtRQUNsQixvQkFBb0I7UUFDcEIscUJBQXFCO1FBQ3JCLGFBQWE7UUFDYixjQUFjO1FBQ2QsY0FBYztRQUNkLGVBQWU7UUFDZixhQUFhO1FBQ2IsY0FBYztRQUNkLGNBQWM7UUFDZCxlQUFlO0tBQ2hCO0lBQ0QsTUFBTSxFQUFFO1FBQ04sY0FBYztRQUNkLGVBQWU7UUFDZixvQkFBb0I7UUFDcEIscUJBQXFCO1FBQ3JCLGNBQWM7UUFDZCxlQUFlO1FBQ2YsYUFBYTtRQUNiLGNBQWM7UUFDZCxhQUFhO1FBQ2IsY0FBYztRQUNkLGVBQWU7UUFDZixjQUFjO1FBQ2QsdUJBQXVCO1FBQ3ZCLHdCQUF3QjtRQUN4Qix1QkFBdUI7UUFDdkIsd0JBQXdCO1FBQ3hCLHVCQUF1QjtRQUN2Qix3QkFBd0I7UUFDeEIsdUJBQXVCO1FBQ3ZCLHdCQUF3QjtRQUN4Qix1QkFBdUI7UUFDdkIsd0JBQXdCO1FBQ3hCLHVCQUF1QjtRQUN2Qix3QkFBd0I7UUFDeEIseUJBQXlCO1FBQ3pCLDBCQUEwQjtRQUMxQixvQkFBb0I7UUFDcEIscUJBQXFCO1FBQ3JCLGdCQUFnQjtRQUNoQixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLG1CQUFtQjtRQUNuQix1QkFBdUI7UUFDdkIsd0JBQXdCO0tBQ3pCO0lBQ0QsTUFBTSxFQUFFO1FBQ04saUJBQWlCO1FBQ2pCLGtCQUFrQjtRQUNsQixlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLGtCQUFrQjtRQUNsQixtQkFBbUI7UUFDbkIsaUJBQWlCO1FBQ2pCLGtCQUFrQjtRQUNsQixvQkFBb0I7UUFDcEIscUJBQXFCO1FBQ3JCLHlCQUF5QjtRQUN6QiwwQkFBMEI7S0FDM0I7SUFDRCxPQUFPLEVBQUU7UUFDUCxnQkFBZ0I7UUFDaEIsaUJBQWlCO1FBQ2pCLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsY0FBYztRQUNkLGVBQWU7UUFDZixjQUFjO1FBQ2QsZUFBZTtRQUNmLGFBQWE7UUFDYixjQUFjO1FBQ2QsZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLGFBQWE7UUFDYixjQUFjO1FBQ2Qsa0JBQWtCO1FBQ2xCLG1CQUFtQjtRQUNuQixlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLG9CQUFvQjtRQUNwQixxQkFBcUI7UUFDckIsYUFBYTtRQUNiLGNBQWM7UUFDZCxhQUFhO1FBQ2IsY0FBYztRQUNkLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsYUFBYTtRQUNiLGNBQWM7UUFDZCxhQUFhO1FBQ2IsY0FBYztRQUNkLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsb0JBQW9CO1FBQ3BCLHFCQUFxQjtRQUNyQixtQkFBbUI7UUFDbkIsb0JBQW9CO1FBQ3BCLHNCQUFzQjtRQUN0Qix1QkFBdUI7UUFDdkIsa0JBQWtCO1FBQ2xCLG1CQUFtQjtRQUNuQixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCxlQUFlO1FBQ2YsYUFBYTtRQUNiLGNBQWM7UUFDZCxlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsY0FBYztRQUNkLGVBQWU7UUFDZixlQUFlO1FBQ2YseUJBQXlCO1FBQ3pCLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsYUFBYTtRQUNiLGNBQWM7UUFDZCxpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCxlQUFlO1FBQ2YsYUFBYTtRQUNiLGNBQWM7UUFDZCxlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLGtCQUFrQjtRQUNsQixtQkFBbUI7UUFDbkIsZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsaUJBQWlCO1FBQ2pCLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsaUJBQWlCO1FBQ2pCLGtCQUFrQjtRQUNsQixhQUFhO1FBQ2IsY0FBYztRQUNkLGdCQUFnQjtRQUNoQixpQkFBaUI7UUFDakIsaUJBQWlCO1FBQ2pCLGtCQUFrQjtRQUNsQiwyQkFBMkI7S0FDNUI7SUFDRCxhQUFhLEVBQUU7UUFDYixhQUFhO1FBQ2IsY0FBYztRQUNkLGlCQUFpQjtRQUNqQixrQkFBa0I7UUFDbEIsYUFBYTtRQUNiLGNBQWM7UUFDZCxlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixpQkFBaUI7UUFDakIsZ0JBQWdCO1FBQ2hCLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLFlBQVk7UUFDWixhQUFhO1FBQ2IsaUJBQWlCO1FBQ2pCLGtCQUFrQjtRQUNsQixtQkFBbUI7UUFDbkIsb0JBQW9CO1FBQ3BCLGFBQWE7UUFDYixjQUFjO1FBQ2QsZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixzQkFBc0I7UUFDdEIsdUJBQXVCO1FBQ3ZCLG9CQUFvQjtRQUNwQixxQkFBcUI7UUFDckIsYUFBYTtRQUNiLGNBQWM7UUFDZCxjQUFjO1FBQ2QsZUFBZTtRQUNmLG9CQUFvQjtRQUNwQixxQkFBcUI7UUFDckIsZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixtQkFBbUI7UUFDbkIsb0JBQW9CO1FBQ3BCLGlCQUFpQjtRQUNqQixrQkFBa0I7UUFDbEIsY0FBYztRQUNkLGVBQWU7UUFDZiwwQkFBMEI7UUFDMUIsMkJBQTJCO1FBQzNCLGlCQUFpQjtRQUNqQixrQkFBa0I7UUFDbEIsYUFBYTtRQUNiLGNBQWM7UUFDZCxtQkFBbUI7UUFDbkIsb0JBQW9CO1FBQ3BCLHFCQUFxQjtRQUNyQixzQkFBc0I7UUFDdEIsZ0JBQWdCO1FBQ2hCLGlCQUFpQjtRQUNqQix3QkFBd0I7UUFDeEIsZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsaUJBQWlCO1FBQ2pCLGFBQWE7UUFDYixjQUFjO1FBQ2QsWUFBWTtRQUNaLGFBQWE7UUFDYixhQUFhO1FBQ2IsY0FBYztRQUNkLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsb0JBQW9CO1FBQ3BCLHFCQUFxQjtRQUNyQixxQkFBcUI7UUFDckIsc0JBQXNCO1FBQ3RCLGVBQWU7UUFDZixnQkFBZ0I7S0FDakI7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRGF0YSBvZiBhbGwgdGdvSWNvbnNcbmV4cG9ydCBjb25zdCB0Z29JY29ucyA9IFtcbiAgJ0FkZCcsXG4gICdBcmNoaXZlJyxcbiAgJ0Fycm93X2Rvd24nLFxuICAnQXJyb3dfbGVmdCcsXG4gICdBcnJvd19yaWdodCcsXG4gICdBcnJvd191cCcsXG4gICdBc3Nlc3NtZW50JyxcbiAgJ0F0dGVtcHRzJyxcbiAgJ0Jvb2snLFxuICAnQ2FsZW5kYXInLFxuICAnQ2FuZGlkYXRlcycsXG4gICdDaGF0LW5vdGlmaWNhdGlvbnMnLFxuICAnQ2hhdCcsXG4gICdDaGVjaycsXG4gICdDbG9uZScsXG4gICdDbG9zZScsXG4gICdDb2RlJyxcbiAgJ0NvbXBhbnknLFxuICAnQ29weScsXG4gICdDdXN0b20tcXVlc3Rpb25zJyxcbiAgJ0RlbGV0ZScsXG4gICdEZXZpY2VzJyxcbiAgJ0RvY3VtZW50JyxcbiAgJ0RvdCcsXG4gICdEb3dubG9hZCcsXG4gICdFZGl0JyxcbiAgJ0VtYWlsLW1lc3NhZ2UnLFxuICAnRW1wdHktcGxhY2Vob2xkZXInLFxuICAnRXJyb3InLFxuICAnRXNzYXknLFxuICAnRXllLWhpZGUnLFxuICAnRXllLXZpZXcnLFxuICAnRmVlZGJhY2stMScsXG4gICdGZWVkYmFjay0yJyxcbiAgJ0ZlZWRiYWNrLTMnLFxuICAnRmVlZGJhY2stNCcsXG4gICdGZWVkYmFjay01JyxcbiAgJ0ZpbGUtYXR0YWNoJyxcbiAgJ0ZpbGUtdXBsb2FkJyxcbiAgJ0ZpbHRlcicsXG4gICdGb2xkZXInLFxuICAnRm9ybWF0LWFkZC1maWxlJyxcbiAgJ0Zvcm1hdC1hZGQtdGFibGUnLFxuICAnRm9ybWF0LWFsaWduLUwnLFxuICAnRm9ybWF0LWFsaWduLVInLFxuICAnRm9ybWF0LWFsaWduLWNlbnRlcicsXG4gICdGb3JtYXQtYWxpZ24tanVzdGlmeScsXG4gICdGb3JtYXQtYm9sZCcsXG4gICdGb3JtYXQtY29kZS1hY3RpdmUnLFxuICAnRm9ybWF0LWNvZGUtYmxvY2snLFxuICAnRm9ybWF0LWVkaXQtdGFibGUnLFxuICAnRm9ybWF0LWZvcm1hdCcsXG4gICdGb3JtYXQtZnVuY3Rpb24nLFxuICAnRm9ybWF0LWl0YWxpY3MnLFxuICAnRm9ybWF0LWxpc3QtYnVsbGV0ZWQnLFxuICAnRm9ybWF0LWxpc3QtbnVtYmVyZWQnLFxuICAnRm9ybWF0LXBpY2tlcicsXG4gICdGb3JtYXQtcXVvdGUnLFxuICAnRm9ybWF0LXN1YnNjcmlwdCcsXG4gICdGb3JtYXQtc3VwZXJzY3JpcHQnLFxuICAnRm9ybWF0LXRleHQtZGlyZWN0aW9uLUwnLFxuICAnRm9ybWF0LXRleHQtZGlyZWN0aW9uLVInLFxuICAnRm9ybWF0LXRleHQtc2l6ZScsXG4gICdGb3JtYXQtdW5kZXJsaW5lJyxcbiAgJ0Zvcm1hdC12YXJpYWJsZScsXG4gICdGdWxsLXNjcmVlbicsXG4gICdHZW5kZXItZmVtYWxlJyxcbiAgJ0dlbmRlci1tYWxlJyxcbiAgJ0hlbHAtMicsXG4gICdIZWxwJyxcbiAgJ0ltYWdlJyxcbiAgJ0luZm8nLFxuICAnSW50ZWdyYXRpb24nLFxuICAnTGFuZ3VhZ2UnLFxuICAnTGF5b3V0JyxcbiAgJ0xlYXJuJyxcbiAgJ0xldmVsJyxcbiAgJ0xpZ2h0LWJ1bGInLFxuICAnTGluaycsXG4gICdMb2FkaW5nLXNwaW5uZXInLFxuICAnTG9jYWxpc2F0aW9uJyxcbiAgJ0xvY2F0aW9uJyxcbiAgJ0xvY2snLFxuICAnTG9nLW91dCcsXG4gICdNZW51LWJ1cmdlcicsXG4gICdNZW51LWNsb3NlJyxcbiAgJ01lbnUtZWxsaXBzaXMnLFxuICAnTWVudS1vcGVuJyxcbiAgJ01pY3JvcGhvbmUnLFxuICAnTWludXMnLFxuICAnTW91c2UtY3Vyc29yJyxcbiAgJ01vdXNlLWdyYWItY3Vyc29yJyxcbiAgJ01vdXNlJyxcbiAgJ011bHRpLWNob2ljZScsXG4gICdOb3RpZmljYXRpb25zJyxcbiAgJ1Bhc3N3b3JkJyxcbiAgJ1BhdGgnLFxuICAnUGluLW1hcmtlcicsXG4gICdQbGFuLWJpbGxpbmcnLFxuICAnUGx1cycsXG4gICdQcmVtaXVtJyxcbiAgJ1Byb21vdGlvbicsXG4gICdRdWVzdGlvbi1jb3VudCcsXG4gICdSZWZlcicsXG4gICdSZXNldCcsXG4gICdSZXZpZXcnLFxuICAnUm91bmQtY2hlY2stZmlsbGVkJyxcbiAgJ1JvdW5kLWNoZWNrJyxcbiAgJ1NlYXJjaCcsXG4gICdTZWN1cmUtY2hlY2tvdXQnLFxuICAnU2VuZCcsXG4gICdTZXR0aW5ncycsXG4gICdTb2NpYWwtZmFjZWJvb2snLFxuICAnU29jaWFsLWluc3RhZ3JhbScsXG4gICdTb2NpYWwtbGlua2VkaW4nLFxuICAnU29ydGluZy1kb3duLTEnLFxuICAnU29ydGluZy1kb3duJyxcbiAgJ1NwZWVkb21ldGVyJyxcbiAgJ1N0YXItZmlsbGVkJyxcbiAgJ1N0YXItaGFsZicsXG4gICdTdGFyLW91dGxpbmUnLFxuICAnU3VwcG9ydCcsXG4gICdTeW5jJyxcbiAgJ1RlYW0nLFxuICAnVGVzdCcsXG4gICdUaHVuZGVyJyxcbiAgJ1RpbWVyJyxcbiAgJ1Ryb3BoeScsXG4gICdUeXBlJyxcbiAgJ1VuYXJjaGl2ZScsXG4gICdVbmxvY2snLFxuICAnVXBncmFkZScsXG4gICdVcGxvYWQnLFxuICAnVXNlci1hY2Nlc3MnLFxuICAnVXNlci1hZGQnLFxuICAnVXNlci1pbnZpdGUnLFxuICAnVXNlci1wcm9maWxlJyxcbiAgJ1VzZXItcmVqZWN0JyxcbiAgJ1VzZXItc3dpdGNoJyxcbiAgJ1ZpZGVvLXBhdXNlJyxcbiAgJ1ZpZGVvLXBsYXknLFxuICAnVmlkZW8tcmVjb3JkJyxcbiAgJ1ZpZGVvJyxcbiAgJ1ZvbHVtZScsXG4gICdXYXJuaW5nJyxcbiAgJ1pvb20taW4nLFxuICAnWm9vbS1vdXQnLFxuICAnRmlyZScsXG4gICdHaWZ0JyxcbiAgJ0dyYWInLFxuICAnU2hhcmUnLFxuICAnU3BhcmtsZXMnLFxuICAnVmlkZW8tc3RvcCcsXG4gICdNaW5pbWl6ZScsXG4gICdFbXBsb3llZScsXG4gICdNb25leS1iYWcnLFxuICAnU3VpdGNhc2UnLFxuICAnR29vZ2xlJyxcbiAgJ0Zhc3QtZm9yd2FyZCcsXG4gICdGYXN0LXJld2luZCcsXG4gICdTa2lwLW5leHQnLFxuICAnU2tpcC1wcmV2aW91cycsXG4gICdUZXN0R29yaWxsYScsXG5dIGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3QgdGdvUmVicmFuZEljb25zID0gW1xuICAnQXJjaGl2ZS1maWxsZWQnLFxuICAnQXJjaGl2ZS1pbi1saW5lJyxcbiAgJ0FkZC1pbi1saW5lJyxcbiAgJ0FkZC1maWxsZWQnLFxuICAnQXJyb3ctY2hldnJvbi1kb3duLWZpbGxlZCcsXG4gICdBcnJvdy1jaGV2cm9uLWRvd24taW4tbGluZScsXG4gICdBcnJvdy1jaGV2cm9uLWxlZnQtZmlsbGVkJyxcbiAgJ0Fycm93LWNoZXZyb24tbGVmdC1pbi1saW5lJyxcbiAgJ0Fycm93LWNoZXZyb24tcmlnaHQtZmlsbGVkJyxcbiAgJ0Fycm93LWNoZXZyb24tcmlnaHQtaW4tbGluZScsXG4gICdBcnJvdy1jaGV2cm9uLXVwLWZpbGxlZCcsXG4gICdBcnJvdy1jaGV2cm9uLXVwLWluLWxpbmUnLFxuICAnQXJyb3ctZG93bi1maWxsZWQnLFxuICAnQXJyb3ctZG93bi1pbi1saW5lJyxcbiAgJ0Fycm93LXVwLWZpbGxlZCcsXG4gICdBcnJvdy11cC1pbi1saW5lJyxcbiAgJ0Fzc2Vzc21lbnQtZmlsbGVkJyxcbiAgJ0Fzc2Vzc21lbnQtaW4tbGluZScsXG4gICdBdHRhY2gtZmlsbGVkJyxcbiAgJ0F0dGFjaC1pbi1saW5lJyxcbiAgJ0F0dGVtcHRzLWZpbGxlZCcsXG4gICdBdHRlbXB0cy1pbi1saW5lJyxcbiAgJ0Jvb2stZmlsbGVkJyxcbiAgJ0Jvb2staW4tbGluZScsXG4gICdDYWxlbmRhci1maWxsZWQnLFxuICAnQ2FsZW5kYXItaW4tbGluZScsXG4gICdDYW5kaWRhdGVzLWZpbGxlZCcsXG4gICdDYW5kaWRhdGVzLWluLWxpbmUnLFxuICAnQ2hhdC1maWxsZWQnLFxuICAnQ2hhdC1pbi1saW5lJyxcbiAgJ0NoZWNrLWZpbGxlZCcsXG4gICdDaGVjay1pbi1saW5lJyxcbiAgJ0NoZWNrLXJvdW5kLWZpbGxlZCcsXG4gICdDaGVjay1yb3VuZC1pbi1saW5lJyxcbiAgJ0NpcmNsZS1maWxsZWQnLFxuICAnQ2lyY2xlLWluLWxpbmUnLFxuICAnQ2xvbmUtZmlsbGVkJyxcbiAgJ0Nsb25lLWluLWxpbmUnLFxuICAnQ2xvc2UtZmlsbGVkJyxcbiAgJ0Nsb3NlLWluLWxpbmUnLFxuICAnQ29kZS1maWxsZWQnLFxuICAnQ29kZS1pbi1saW5lJyxcbiAgJ0NvbXBhbnktZmlsbGVkJyxcbiAgJ0NvbXBhbnktaW4tbGluZScsXG4gICdDb3B5LWZpbGxlZCcsXG4gICdDb3B5LWluLWxpbmUnLFxuICAnRGVsZXRlLWZpbGxlZCcsXG4gICdEZWxldGUtaW4tbGluZScsXG4gICdEZXZpY2VzLWZpbGxlZCcsXG4gICdEZXZpY2VzLWluLWxpbmUnLFxuICAnRG9jdW1lbnQtZmlsbGVkJyxcbiAgJ0RvY3VtZW50LWluLWxpbmUnLFxuICAnRG90LWZpbGxlZCcsXG4gICdEb3QtaW4tbGluZScsXG4gICdEb3dubG9hZC1maWxsZWQnLFxuICAnRG93bmxvYWQtaW4tbGluZScsXG4gICdFZGl0LWZpbGxlZCcsXG4gICdFZGl0LWluLWxpbmUnLFxuICAnRWRpdC10ZXh0LWZpbGxlZCcsXG4gICdFZGl0LXRleHQtaW4tbGluZScsXG4gICdFbXBsb3llZS1maWxsZWQnLFxuICAnRW1wbG95ZWUtaW4tbGluZScsXG4gICdFcnJvci1maWxsZWQnLFxuICAnRXJyb3ItaW4tbGluZScsXG4gICdFc3NheS1maWxsZWQnLFxuICAnRXNzYXktaW4tbGluZScsXG4gICdFeHBlcmllbmNlLWZpbGxlZCcsXG4gICdFeHBlcmllbmNlLWluLWxpbmUnLFxuICAnRmFjZWJvb2stZmlsbGVkJyxcbiAgJ0ZhY2Vib29rLWluLWxpbmUnLFxuICAnRmFzdC1mb3J3YXJkLWZpbGxlZCcsXG4gICdGYXN0LWZvcndhcmQtaW4tbGluZScsXG4gICdGYXN0LXJld2luZC1maWxsZWQnLFxuICAnRmFzdC1yZXdpbmQtaW4tbGluZScsXG4gICdGaWx0ZXItZmlsbGVkJyxcbiAgJ0ZpbHRlci1pbi1saW5lJyxcbiAgJ0ZpcmUtZmlsbGVkJyxcbiAgJ0ZpcmUtaW4tbGluZScsXG4gICdGb2xkZXItZmlsbGVkJyxcbiAgJ0ZvbGRlci1pbi1saW5lJyxcbiAgJ0Z1bGwtc2NyZWVuLWZpbGxlZCcsXG4gICdGdWxsLXNjcmVlbi1pbi1saW5lJyxcbiAgJ0dlbmRlci1tYWxlLWZpbGxlZCcsXG4gICdHZW5kZXItbWFsZS1pbi1saW5lJyxcbiAgJ0dlbmRlci1mZW1hbGUtZmlsbGVkJyxcbiAgJ0dlbmRlci1mZW1hbGUtaW4tbGluZScsXG4gICdHaWZ0LWZpbGxlZCcsXG4gICdHaWZ0LWluLWxpbmUnLFxuICAnR29vZ2xlLWZpbGxlZCcsXG4gICdHb29nbGUtaW4tbGluZScsXG4gICdHcmFiLWZpbGxlZCcsXG4gICdHcmFiLWluLWxpbmUnLFxuICAnSGVscC1maWxsZWQnLFxuICAnSGVscC1pbi1saW5lJyxcbiAgJ0hpZGUtZmlsbGVkJyxcbiAgJ0hpZGUtaW4tbGluZScsXG4gICdJbWFnZS1maWxsZWQnLFxuICAnSW1hZ2UtaW4tbGluZScsXG4gICdJbmZvLWZpbGxlZCcsXG4gICdJbmZvLWluLWxpbmUnLFxuICAnSW5zdGFncmFtLWZpbGxlZCcsXG4gICdJbnN0YWdyYW0taW4tbGluZScsXG4gICdJbnRlZ3JhdGlvbi1maWxsZWQnLFxuICAnSW50ZWdyYXRpb24taW4tbGluZScsXG4gICdJbnZpdGUtZmlsbGVkJyxcbiAgJ0ludml0ZS1pbi1saW5lJyxcbiAgJ0xhbmd1YWdlLWZpbGxlZCcsXG4gICdMYW5ndWFnZS1pbi1saW5lJyxcbiAgJ0xheW91dC1maWxsZWQnLFxuICAnTGF5b3V0LWluLWxpbmUnLFxuICAnTGVhcm4tZmlsbGVkJyxcbiAgJ0xlYXJuLWluLWxpbmUnLFxuICAnTGV2ZWwtZmlsbGVkJyxcbiAgJ0xldmVsLWluLWxpbmUnLFxuICAnTGlnaHQtYnVsYi1maWxsZWQnLFxuICAnTGlnaHQtYnVsYi1pbi1saW5lJyxcbiAgJ0xpbmstZmlsbGVkJyxcbiAgJ0xpbmstaW4tbGluZScsXG4gICdMaW5rZWRpbi1maWxsZWQnLFxuICAnTGlua2VkaW4taW4tbGluZScsXG4gICdMb2NhbGl6YXRpb24tZmlsbGVkJyxcbiAgJ0xvY2FsaXphdGlvbi1pbi1saW5lJyxcbiAgJ0xvY2F0aW9uLWZpbGxlZCcsXG4gICdMb2NhdGlvbi1pbi1saW5lJyxcbiAgJ0xvY2stZmlsbGVkJyxcbiAgJ0xvY2staW4tbGluZScsXG4gICdMb2dvdXQtZmlsbGVkJyxcbiAgJ0xvZ291dC1pbi1saW5lJyxcbiAgJ01lZGFsLWZpbGxlZCcsXG4gICdNZWRhbC1pbi1saW5lJyxcbiAgJ01lbnUtYnVyZ2VyLWZpbGxlZCcsXG4gICdNZW51LWJ1cmdlci1pbi1saW5lJyxcbiAgJ01lbnUtY2xvc2UtZmlsbGVkJyxcbiAgJ01lbnUtY2xvc2UtaW4tbGluZScsXG4gICdNZW51LWVsbGlwc2lzLWZpbGxlZCcsXG4gICdNZW51LWVsbGlwc2lzLWluLWxpbmUnLFxuICAnTWVudS1vcGVuLWZpbGxlZCcsXG4gICdNZW51LW9wZW4taW4tbGluZScsXG4gICdNaWMtZmlsbGVkJyxcbiAgJ01pYy1pbi1saW5lJyxcbiAgJ01pbmltaXplLWZpbGxlZCcsXG4gICdNaW5pbWl6ZS1pbi1saW5lJyxcbiAgJ01pbnVzLWZpbGxlZCcsXG4gICdNaW51cy1pbi1saW5lJyxcbiAgJ01vdXNlLWZpbGxlZCcsXG4gICdNb3VzZS1pbi1saW5lJyxcbiAgJ011bHRpLWNob2ljZS1maWxsZWQnLFxuICAnTXVsdGktY2hvaWNlLWluLWxpbmUnLFxuICAnTm90aWZpY2F0aW9uLWJlbGwtZmlsbGVkJyxcbiAgJ05vdGlmaWNhdGlvbi1iZWxsLWluLWxpbmUnLFxuICAnUGFzc3dvcmQtZmlsbGVkJyxcbiAgJ1Bhc3N3b3JkLWluLWxpbmUnLFxuICAnUGF0aC1maWxsZWQnLFxuICAnUGF0aC1pbi1saW5lJyxcbiAgJ1BhdXNlLWZpbGxlZCcsXG4gICdQYXVzZS1pbi1saW5lJyxcbiAgJ1Bpbi1tYXJrZXItZmlsbGVkJyxcbiAgJ1Bpbi1tYXJrZXItaW4tbGluZScsXG4gICdQbGFuLWJpbGxpbmctZmlsbGVkJyxcbiAgJ1BsYW4tYmlsbGluZy1pbi1saW5lJyxcbiAgJ1BsYXktZmlsbGVkJyxcbiAgJ1BsYXktaW4tbGluZScsXG4gICdQbHVzLWZpbGxlZCcsXG4gICdQbHVzLWluLWxpbmUnLFxuICAnUHJlbWl1bS1maWxsZWQnLFxuICAnUHJlbWl1bS1pbi1saW5lJyxcbiAgJ1ByZW1pdW0tY2lyY2xlLWluLWxpbmUnLFxuICAnUXVlc3Rpb24tY291bnQtZmlsbGVkJyxcbiAgJ1F1ZXN0aW9uLWNvdW50LWluLWxpbmUnLFxuICAnUXVlc3Rpb24tZmlsbGVkJyxcbiAgJ1F1ZXN0aW9uLWluLWxpbmUnLFxuICAnUmVjb3JkLWZpbGxlZCcsXG4gICdSZWNvcmQtaW4tbGluZScsXG4gICdSZWplY3QtZmlsbGVkJyxcbiAgJ1JlZmVyLWluLWxpbmUnLFxuICAnUmVmZXItZmlsbGVkJyxcbiAgJ1JlamVjdC1pbi1saW5lJyxcbiAgJ1Jlc2V0LWZpbGxlZCcsXG4gICdSZXNldC1pbi1saW5lJyxcbiAgJ1Jldmlldy1lbW9qaS0xLWZpbGxlZCcsXG4gICdSZXZpZXctZW1vamktMS1pbi1saW5lJyxcbiAgJ1Jldmlldy1lbW9qaS0yLWZpbGxlZCcsXG4gICdSZXZpZXctZW1vamktMi1pbi1saW5lJyxcbiAgJ1Jldmlldy1lbW9qaS0zLWZpbGxlZCcsXG4gICdSZXZpZXctZW1vamktMy1pbi1saW5lJyxcbiAgJ1Jldmlldy1lbW9qaS00LWZpbGxlZCcsXG4gICdSZXZpZXctZW1vamktNC1pbi1saW5lJyxcbiAgJ1Jldmlldy1lbW9qaS01LWZpbGxlZCcsXG4gICdSZXZpZXctZW1vamktNS1pbi1saW5lJyxcbiAgJ1Jldmlldy1maWxsZWQnLFxuICAnUmV2aWV3LWhhbGYtc3Rhci1maWxsZWQnLFxuICAnUmV2aWV3LWhhbGYtc3Rhci1pbi1saW5lJyxcbiAgJ1Jldmlldy1pbi1saW5lJyxcbiAgJ1Jldmlldy1zdGFyLWZpbGxlZCcsXG4gICdSZXZpZXctc3Rhci1pbi1saW5lJyxcbiAgJ1NlYXJjaC1maWxsZWQnLFxuICAnU2VhcmNoLWluLWxpbmUnLFxuICAnU2VjdXJlLWZpbGxlZCcsXG4gICdTZWN1cmUtaW4tbGluZScsXG4gICdTZW5kLWZpbGxlZCcsXG4gICdTZW5kLWluLWxpbmUnLFxuICAnU2V0dGluZ3MtZmlsbGVkJyxcbiAgJ1NldHRpbmdzLWluLWxpbmUnLFxuICAnU2hhcmUtZmlsbGVkJyxcbiAgJ1NoYXJlLWluLWxpbmUnLFxuICAnU2tpcC1uZXh0LWZpbGxlZCcsXG4gICdTa2lwLW5leHQtaW4tbGluZScsXG4gICdTa2lwLXByZXZpb3VzLWZpbGxlZCcsXG4gICdTa2lwLXByZXZpb3VzLWluLWxpbmUnLFxuICAnU3BhcmtsZS1maWxsZWQnLFxuICAnU3BhcmtsZS1pbi1saW5lJyxcbiAgJ1NwZWVkb21ldGVyLWZpbGxlZCcsXG4gICdTcGVlZG9tZXRlci1pbi1saW5lJyxcbiAgJ1N0YXItZmlsbGVkJyxcbiAgJ1N0YXItaW4tbGluZScsXG4gICdTdG9wLWZpbGxlZCcsXG4gICdTdG9wLWluLWxpbmUnLFxuICAnU3dpdGNoLWZpbGxlZCcsXG4gICdTd2l0Y2gtaW4tbGluZScsXG4gICdTeW5jLWZpbGxlZCcsXG4gICdTeW5jLWluLWxpbmUnLFxuICAnVGFnLWZpbGxlZCcsXG4gICdUYWctaW4tbGluZScsXG4gICdUZWFtLWZpbGxlZCcsXG4gICdUZWFtLWluLWxpbmUnLFxuICAnVGVzdC1maWxsZWQnLFxuICAnVGVzdC1pbi1saW5lJyxcbiAgJ1RpbWVyLWZpbGxlZCcsXG4gICdUaW1lci1pbi1saW5lJyxcbiAgJ1Ryb3BoeS1maWxsZWQnLFxuICAnVHJvcGh5LWluLWxpbmUnLFxuICAnVHlwZS1maWxsZWQnLFxuICAnVHlwZS1pbi1saW5lJyxcbiAgJ1VuYXJjaGl2ZS1maWxsZWQnLFxuICAnVW5hcmNoaXZlLWluLWxpbmUnLFxuICAnVW5sb2NrLWZpbGxlZCcsXG4gICdVbmxvY2staW4tbGluZScsXG4gICdVcGdyYWRlLWZpbGxlZCcsXG4gICdVcGdyYWRlLWluLWxpbmUnLFxuICAnVXBsb2FkLWZpbGxlZCcsXG4gICdVcGxvYWQtaW4tbGluZScsXG4gICdVc2VyLWFjY2Vzcy1maWxsZWQnLFxuICAnVXNlci1hY2Nlc3MtaW4tbGluZScsXG4gICdVc2VyLWFkZC1maWxsZWQnLFxuICAnVXNlci1hZGQtaW4tbGluZScsXG4gICdVc2VyLXByb2ZpbGUtZmlsbGVkJyxcbiAgJ1VzZXItcHJvZmlsZS1pbi1saW5lJyxcbiAgJ1ZpZGVvLWZpbGxlZCcsXG4gICdWaWRlby1pbi1saW5lJyxcbiAgJ1ZpZXctZmlsbGVkJyxcbiAgJ1ZpZXctaW4tbGluZScsXG4gICdWb2x1bWUtZmlsbGVkJyxcbiAgJ1ZvbHVtZS1pbi1saW5lJyxcbiAgJ1dhcm5pbmctZmlsbGVkJyxcbiAgJ1dhcm5pbmctaW4tbGluZScsXG4gICdWYWxpZGF0ZWQtZmlsbGVkJyxcbiAgJ1ZhbGlkYXRlZC1pbi1saW5lJyxcbiAgJ1ZlcmlmaWVkLWJhZGdlLWZpbGxlZCcsXG4gICdWZXJpZmllZC1iYWRnZS1pbi1saW5lJyxcbiAgJ1pvb20taW4tZmlsbGVkJyxcbiAgJ1pvb20taW4taW4tbGluZScsXG4gICdab29tLW91dC1maWxsZWQnLFxuICAnWm9vbS1vdXQtaW4tbGluZScsXG4gICdBbmFseXRpY3MtZmlsbGVkJyxcbiAgJ0FuYWx5dGljcy1pbi1saW5lJyxcbiAgJ0ZhaWxlZC10by1sb2FkLWZpbGxlZCcsXG4gICdGYWlsZWQtdG8tbG9hZC1pbi1saW5lJyxcbiAgJ0hpc3RvcnktZmlsbGVkJyxcbiAgJ0hpc3RvcnktaW4tbGluZScsXG4gICdUZXN0R29yaWxsYS1maWxsZWQnLFxuICAnVGVzdEdvcmlsbGEtaW4tbGluZScsXG4gICdUZXN0R29yaWxsYS1QaW5rLWZpbGxlZCcsXG4gICdUZXN0R29yaWxsYS1QaW5rLWluLWxpbmUnLFxuICAnUGVuY2lsLXRvLWdvcmlsbGEtaW4tbGluZScsXG5dIGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3QgZ3JvdXBlZEljb25zID0ge1xuICBkaXJlY3Rpb25hbDogW1xuICAgICdBcnJvdy1jaGV2cm9uLWRvd24tZmlsbGVkJyxcbiAgICAnQXJyb3ctY2hldnJvbi1kb3duLWluLWxpbmUnLFxuICAgICdBcnJvdy1jaGV2cm9uLWxlZnQtZmlsbGVkJyxcbiAgICAnQXJyb3ctY2hldnJvbi1sZWZ0LWluLWxpbmUnLFxuICAgICdBcnJvdy1jaGV2cm9uLXJpZ2h0LWZpbGxlZCcsXG4gICAgJ0Fycm93LWNoZXZyb24tcmlnaHQtaW4tbGluZScsXG4gICAgJ0Fycm93LWNoZXZyb24tdXAtZmlsbGVkJyxcbiAgICAnQXJyb3ctY2hldnJvbi11cC1pbi1saW5lJyxcbiAgICAnQXJyb3ctZG93bi1maWxsZWQnLFxuICAgICdBcnJvdy1kb3duLWluLWxpbmUnLFxuICAgICdBcnJvdy11cC1maWxsZWQnLFxuICAgICdBcnJvdy11cC1pbi1saW5lJyxcbiAgICAnRmFzdC1mb3J3YXJkLWZpbGxlZCcsXG4gICAgJ0Zhc3QtZm9yd2FyZC1pbi1saW5lJyxcbiAgICAnRmFzdC1yZXdpbmQtZmlsbGVkJyxcbiAgICAnRmFzdC1yZXdpbmQtaW4tbGluZScsXG4gICAgJ01pbnVzLWZpbGxlZCcsXG4gICAgJ01pbnVzLWluLWxpbmUnLFxuICAgICdQbHVzLWZpbGxlZCcsXG4gICAgJ1BsdXMtaW4tbGluZScsXG4gICAgJ1NraXAtbmV4dC1maWxsZWQnLFxuICAgICdTa2lwLW5leHQtaW4tbGluZScsXG4gICAgJ1NraXAtcHJldmlvdXMtZmlsbGVkJyxcbiAgICAnU2tpcC1wcmV2aW91cy1pbi1saW5lJyxcbiAgXSxcbiAgYXNzZXNzbWVudDogW1xuICAgICdBc3Nlc3NtZW50LWZpbGxlZCcsXG4gICAgJ0Fzc2Vzc21lbnQtaW4tbGluZScsXG4gICAgJ0F0dGVtcHRzLWZpbGxlZCcsXG4gICAgJ0F0dGVtcHRzLWluLWxpbmUnLFxuICAgICdDYW5kaWRhdGVzLWZpbGxlZCcsXG4gICAgJ0NhbmRpZGF0ZXMtaW4tbGluZScsXG4gICAgJ0FuYWx5dGljcy1maWxsZWQnLFxuICAgICdBbmFseXRpY3MtaW4tbGluZScsXG4gICAgJ0hpc3RvcnktZmlsbGVkJyxcbiAgICAnSGlzdG9yeS1pbi1saW5lJyxcbiAgICAnQ29kZS1maWxsZWQnLFxuICAgICdDb2RlLWluLWxpbmUnLFxuICAgICdFc3NheS1maWxsZWQnLFxuICAgICdFc3NheS1pbi1saW5lJyxcbiAgICAnTGFuZ3VhZ2UtZmlsbGVkJyxcbiAgICAnTGFuZ3VhZ2UtaW4tbGluZScsXG4gICAgJ0xlYXJuLWZpbGxlZCcsXG4gICAgJ0xlYXJuLWluLWxpbmUnLFxuICAgICdMZXZlbC1maWxsZWQnLFxuICAgICdMZXZlbC1pbi1saW5lJyxcbiAgICAnTG9jYWxpemF0aW9uLWZpbGxlZCcsXG4gICAgJ0xvY2FsaXphdGlvbi1pbi1saW5lJyxcbiAgICAnTWVkYWwtZmlsbGVkJyxcbiAgICAnTWVkYWwtaW4tbGluZScsXG4gICAgJ01pYy1maWxsZWQnLFxuICAgICdNaWMtaW4tbGluZScsXG4gICAgJ011bHRpLWNob2ljZS1maWxsZWQnLFxuICAgICdNdWx0aS1jaG9pY2UtaW4tbGluZScsXG4gICAgJ1F1ZXN0aW9uLWNvdW50LWZpbGxlZCcsXG4gICAgJ1F1ZXN0aW9uLWNvdW50LWluLWxpbmUnLFxuICAgICdRdWVzdGlvbi1maWxsZWQnLFxuICAgICdRdWVzdGlvbi1pbi1saW5lJyxcbiAgICAnU3BlZWRvbWV0ZXItZmlsbGVkJyxcbiAgICAnU3BlZWRvbWV0ZXItaW4tbGluZScsXG4gICAgJ1Rlc3QtZmlsbGVkJyxcbiAgICAnVGVzdC1pbi1saW5lJyxcbiAgICAnVGltZXItZmlsbGVkJyxcbiAgICAnVGltZXItaW4tbGluZScsXG4gICAgJ1R5cGUtZmlsbGVkJyxcbiAgICAnVHlwZS1pbi1saW5lJyxcbiAgICAnVmlkZW8tZmlsbGVkJyxcbiAgICAnVmlkZW8taW4tbGluZScsXG4gIF0sXG4gIHN0YXR1czogW1xuICAgICdDaGVjay1maWxsZWQnLFxuICAgICdDaGVjay1pbi1saW5lJyxcbiAgICAnQ2hlY2stcm91bmQtZmlsbGVkJyxcbiAgICAnQ2hlY2stcm91bmQtaW4tbGluZScsXG4gICAgJ0Vycm9yLWZpbGxlZCcsXG4gICAgJ0Vycm9yLWluLWxpbmUnLFxuICAgICdIZWxwLWZpbGxlZCcsXG4gICAgJ0hlbHAtaW4tbGluZScsXG4gICAgJ0luZm8tZmlsbGVkJyxcbiAgICAnSW5mby1pbi1saW5lJyxcbiAgICAnUmVmZXItaW4tbGluZScsXG4gICAgJ1JlZmVyLWZpbGxlZCcsXG4gICAgJ0ZhaWxlZC10by1sb2FkLWZpbGxlZCcsXG4gICAgJ0ZhaWxlZC10by1sb2FkLWluLWxpbmUnLFxuICAgICdSZXZpZXctZW1vamktMS1maWxsZWQnLFxuICAgICdSZXZpZXctZW1vamktMS1pbi1saW5lJyxcbiAgICAnUmV2aWV3LWVtb2ppLTItZmlsbGVkJyxcbiAgICAnUmV2aWV3LWVtb2ppLTItaW4tbGluZScsXG4gICAgJ1Jldmlldy1lbW9qaS0zLWZpbGxlZCcsXG4gICAgJ1Jldmlldy1lbW9qaS0zLWluLWxpbmUnLFxuICAgICdSZXZpZXctZW1vamktNC1maWxsZWQnLFxuICAgICdSZXZpZXctZW1vamktNC1pbi1saW5lJyxcbiAgICAnUmV2aWV3LWVtb2ppLTUtZmlsbGVkJyxcbiAgICAnUmV2aWV3LWVtb2ppLTUtaW4tbGluZScsXG4gICAgJ1Jldmlldy1oYWxmLXN0YXItZmlsbGVkJyxcbiAgICAnUmV2aWV3LWhhbGYtc3Rhci1pbi1saW5lJyxcbiAgICAnUmV2aWV3LXN0YXItZmlsbGVkJyxcbiAgICAnUmV2aWV3LXN0YXItaW4tbGluZScsXG4gICAgJ1dhcm5pbmctZmlsbGVkJyxcbiAgICAnV2FybmluZy1pbi1saW5lJyxcbiAgICAnVmFsaWRhdGVkLWZpbGxlZCcsXG4gICAgJ1ZhbGlkYXRlZC1pbi1saW5lJyxcbiAgICAnVmVyaWZpZWQtYmFkZ2UtZmlsbGVkJyxcbiAgICAnVmVyaWZpZWQtYmFkZ2UtaW4tbGluZScsXG4gIF0sXG4gIHNvY2lhbDogW1xuICAgICdGYWNlYm9vay1maWxsZWQnLFxuICAgICdGYWNlYm9vay1pbi1saW5lJyxcbiAgICAnR29vZ2xlLWZpbGxlZCcsXG4gICAgJ0dvb2dsZS1pbi1saW5lJyxcbiAgICAnSW5zdGFncmFtLWZpbGxlZCcsXG4gICAgJ0luc3RhZ3JhbS1pbi1saW5lJyxcbiAgICAnTGlua2VkaW4tZmlsbGVkJyxcbiAgICAnTGlua2VkaW4taW4tbGluZScsXG4gICAgJ1Rlc3RHb3JpbGxhLWZpbGxlZCcsXG4gICAgJ1Rlc3RHb3JpbGxhLWluLWxpbmUnLFxuICAgICdUZXN0R29yaWxsYS1QaW5rLWZpbGxlZCcsXG4gICAgJ1Rlc3RHb3JpbGxhLVBpbmstaW4tbGluZScsXG4gIF0sXG4gIGFjdGlvbnM6IFtcbiAgICAnQXJjaGl2ZS1maWxsZWQnLFxuICAgICdBcmNoaXZlLWluLWxpbmUnLFxuICAgICdBdHRhY2gtZmlsbGVkJyxcbiAgICAnQXR0YWNoLWluLWxpbmUnLFxuICAgICdDbG9uZS1maWxsZWQnLFxuICAgICdDbG9uZS1pbi1saW5lJyxcbiAgICAnQ2xvc2UtZmlsbGVkJyxcbiAgICAnQ2xvc2UtaW4tbGluZScsXG4gICAgJ0NvcHktZmlsbGVkJyxcbiAgICAnQ29weS1pbi1saW5lJyxcbiAgICAnRGVsZXRlLWZpbGxlZCcsXG4gICAgJ0RlbGV0ZS1pbi1saW5lJyxcbiAgICAnRG93bmxvYWQtZmlsbGVkJyxcbiAgICAnRG93bmxvYWQtaW4tbGluZScsXG4gICAgJ0VkaXQtZmlsbGVkJyxcbiAgICAnRWRpdC1pbi1saW5lJyxcbiAgICAnRWRpdC10ZXh0LWZpbGxlZCcsXG4gICAgJ0VkaXQtdGV4dC1pbi1saW5lJyxcbiAgICAnRmlsdGVyLWZpbGxlZCcsXG4gICAgJ0ZpbHRlci1pbi1saW5lJyxcbiAgICAnRnVsbC1zY3JlZW4tZmlsbGVkJyxcbiAgICAnRnVsbC1zY3JlZW4taW4tbGluZScsXG4gICAgJ0dyYWItZmlsbGVkJyxcbiAgICAnR3JhYi1pbi1saW5lJyxcbiAgICAnSGlkZS1maWxsZWQnLFxuICAgICdIaWRlLWluLWxpbmUnLFxuICAgICdJbnZpdGUtZmlsbGVkJyxcbiAgICAnSW52aXRlLWluLWxpbmUnLFxuICAgICdMaW5rLWZpbGxlZCcsXG4gICAgJ0xpbmstaW4tbGluZScsXG4gICAgJ0xvY2stZmlsbGVkJyxcbiAgICAnTG9jay1pbi1saW5lJyxcbiAgICAnTG9nb3V0LWZpbGxlZCcsXG4gICAgJ0xvZ291dC1pbi1saW5lJyxcbiAgICAnTWVudS1idXJnZXItZmlsbGVkJyxcbiAgICAnTWVudS1idXJnZXItaW4tbGluZScsXG4gICAgJ01lbnUtY2xvc2UtZmlsbGVkJyxcbiAgICAnTWVudS1jbG9zZS1pbi1saW5lJyxcbiAgICAnTWVudS1lbGxpcHNpcy1maWxsZWQnLFxuICAgICdNZW51LWVsbGlwc2lzLWluLWxpbmUnLFxuICAgICdNZW51LW9wZW4tZmlsbGVkJyxcbiAgICAnTWVudS1vcGVuLWluLWxpbmUnLFxuICAgICdNaW5pbWl6ZS1maWxsZWQnLFxuICAgICdNaW5pbWl6ZS1pbi1saW5lJyxcbiAgICAnUGF1c2UtZmlsbGVkJyxcbiAgICAnUGF1c2UtaW4tbGluZScsXG4gICAgJ1BsYXktZmlsbGVkJyxcbiAgICAnUGxheS1pbi1saW5lJyxcbiAgICAnUmVjb3JkLWZpbGxlZCcsXG4gICAgJ1JlY29yZC1pbi1saW5lJyxcbiAgICAnUmVqZWN0LWZpbGxlZCcsXG4gICAgJ1JlamVjdC1pbi1saW5lJyxcbiAgICAnUmVzZXQtZmlsbGVkJyxcbiAgICAnUmVzZXQtaW4tbGluZScsXG4gICAgJ1Jldmlldy1maWxsZWQnLFxuICAgICdSZXZpZXctaGFsZi1zdGFyLWZpbGxlZCcsXG4gICAgJ1NlYXJjaC1maWxsZWQnLFxuICAgICdTZWFyY2gtaW4tbGluZScsXG4gICAgJ1NlbmQtZmlsbGVkJyxcbiAgICAnU2VuZC1pbi1saW5lJyxcbiAgICAnU2V0dGluZ3MtZmlsbGVkJyxcbiAgICAnU2V0dGluZ3MtaW4tbGluZScsXG4gICAgJ1NoYXJlLWZpbGxlZCcsXG4gICAgJ1NoYXJlLWluLWxpbmUnLFxuICAgICdTdG9wLWZpbGxlZCcsXG4gICAgJ1N0b3AtaW4tbGluZScsXG4gICAgJ1N3aXRjaC1maWxsZWQnLFxuICAgICdTd2l0Y2gtaW4tbGluZScsXG4gICAgJ1VuYXJjaGl2ZS1maWxsZWQnLFxuICAgICdVbmFyY2hpdmUtaW4tbGluZScsXG4gICAgJ1VubG9jay1maWxsZWQnLFxuICAgICdVbmxvY2staW4tbGluZScsXG4gICAgJ1VwZ3JhZGUtZmlsbGVkJyxcbiAgICAnVXBncmFkZS1pbi1saW5lJyxcbiAgICAnVXBsb2FkLWZpbGxlZCcsXG4gICAgJ1VwbG9hZC1pbi1saW5lJyxcbiAgICAnVXNlci1hZGQtZmlsbGVkJyxcbiAgICAnVXNlci1hZGQtaW4tbGluZScsXG4gICAgJ1ZpZXctZmlsbGVkJyxcbiAgICAnVmlldy1pbi1saW5lJyxcbiAgICAnWm9vbS1pbi1maWxsZWQnLFxuICAgICdab29tLWluLWluLWxpbmUnLFxuICAgICdab29tLW91dC1maWxsZWQnLFxuICAgICdab29tLW91dC1pbi1saW5lJyxcbiAgICAnUGVuY2lsLXRvLWdvcmlsbGEtaW4tbGluZScsXG4gIF0sXG4gIGNvbW11bmljYXRpb246IFtcbiAgICAnQm9vay1maWxsZWQnLFxuICAgICdCb29rLWluLWxpbmUnLFxuICAgICdDYWxlbmRhci1maWxsZWQnLFxuICAgICdDYWxlbmRhci1pbi1saW5lJyxcbiAgICAnQ2hhdC1maWxsZWQnLFxuICAgICdDaGF0LWluLWxpbmUnLFxuICAgICdDaXJjbGUtZmlsbGVkJyxcbiAgICAnQ2lyY2xlLWluLWxpbmUnLFxuICAgICdDb21wYW55LWZpbGxlZCcsXG4gICAgJ0NvbXBhbnktaW4tbGluZScsXG4gICAgJ0RldmljZXMtZmlsbGVkJyxcbiAgICAnRGV2aWNlcy1pbi1saW5lJyxcbiAgICAnRG9jdW1lbnQtZmlsbGVkJyxcbiAgICAnRG9jdW1lbnQtaW4tbGluZScsXG4gICAgJ0RvdC1maWxsZWQnLFxuICAgICdEb3QtaW4tbGluZScsXG4gICAgJ0VtcGxveWVlLWZpbGxlZCcsXG4gICAgJ0VtcGxveWVlLWluLWxpbmUnLFxuICAgICdFeHBlcmllbmNlLWZpbGxlZCcsXG4gICAgJ0V4cGVyaWVuY2UtaW4tbGluZScsXG4gICAgJ0ZpcmUtZmlsbGVkJyxcbiAgICAnRmlyZS1pbi1saW5lJyxcbiAgICAnRm9sZGVyLWZpbGxlZCcsXG4gICAgJ0ZvbGRlci1pbi1saW5lJyxcbiAgICAnR2VuZGVyLWZlbWFsZS1maWxsZWQnLFxuICAgICdHZW5kZXItZmVtYWxlLWluLWxpbmUnLFxuICAgICdHZW5kZXItbWFsZS1maWxsZWQnLFxuICAgICdHZW5kZXItbWFsZS1pbi1saW5lJyxcbiAgICAnR2lmdC1maWxsZWQnLFxuICAgICdHaWZ0LWluLWxpbmUnLFxuICAgICdJbWFnZS1maWxsZWQnLFxuICAgICdJbWFnZS1pbi1saW5lJyxcbiAgICAnSW50ZWdyYXRpb24tZmlsbGVkJyxcbiAgICAnSW50ZWdyYXRpb24taW4tbGluZScsXG4gICAgJ0xheW91dC1maWxsZWQnLFxuICAgICdMYXlvdXQtaW4tbGluZScsXG4gICAgJ0xpZ2h0LWJ1bGItZmlsbGVkJyxcbiAgICAnTGlnaHQtYnVsYi1pbi1saW5lJyxcbiAgICAnTG9jYXRpb24tZmlsbGVkJyxcbiAgICAnTG9jYXRpb24taW4tbGluZScsXG4gICAgJ01vdXNlLWZpbGxlZCcsXG4gICAgJ01vdXNlLWluLWxpbmUnLFxuICAgICdOb3RpZmljYXRpb24tYmVsbC1maWxsZWQnLFxuICAgICdOb3RpZmljYXRpb24tYmVsbC1pbi1saW5lJyxcbiAgICAnUGFzc3dvcmQtZmlsbGVkJyxcbiAgICAnUGFzc3dvcmQtaW4tbGluZScsXG4gICAgJ1BhdGgtZmlsbGVkJyxcbiAgICAnUGF0aC1pbi1saW5lJyxcbiAgICAnUGluLW1hcmtlci1maWxsZWQnLFxuICAgICdQaW4tbWFya2VyLWluLWxpbmUnLFxuICAgICdQbGFuLWJpbGxpbmctZmlsbGVkJyxcbiAgICAnUGxhbi1iaWxsaW5nLWluLWxpbmUnLFxuICAgICdQcmVtaXVtLWZpbGxlZCcsXG4gICAgJ1ByZW1pdW0taW4tbGluZScsXG4gICAgJ1ByZW1pdW0tY2lyY2xlLWluLWxpbmUnLFxuICAgICdTZWN1cmUtZmlsbGVkJyxcbiAgICAnU2VjdXJlLWluLWxpbmUnLFxuICAgICdTcGFya2xlLWZpbGxlZCcsXG4gICAgJ1NwYXJrbGUtaW4tbGluZScsXG4gICAgJ1N5bmMtZmlsbGVkJyxcbiAgICAnU3luYy1pbi1saW5lJyxcbiAgICAnVGFnLWZpbGxlZCcsXG4gICAgJ1RhZy1pbi1saW5lJyxcbiAgICAnVGVhbS1maWxsZWQnLFxuICAgICdUZWFtLWluLWxpbmUnLFxuICAgICdUcm9waHktZmlsbGVkJyxcbiAgICAnVHJvcGh5LWluLWxpbmUnLFxuICAgICdVc2VyLWFjY2Vzcy1maWxsZWQnLFxuICAgICdVc2VyLWFjY2Vzcy1pbi1saW5lJyxcbiAgICAnVXNlci1wcm9maWxlLWZpbGxlZCcsXG4gICAgJ1VzZXItcHJvZmlsZS1pbi1saW5lJyxcbiAgICAnVm9sdW1lLWZpbGxlZCcsXG4gICAgJ1ZvbHVtZS1pbi1saW5lJyxcbiAgXSxcbn07XG4iXX0=
|
|
725
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Z28tY2Fub3B5LXVpL2NvbXBvbmVudHMvaWNvbi9pY29uLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1QkFBdUI7QUFDdkIsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHO0lBQ3RCLEtBQUs7SUFDTCxTQUFTO0lBQ1QsWUFBWTtJQUNaLFlBQVk7SUFDWixhQUFhO0lBQ2IsVUFBVTtJQUNWLFlBQVk7SUFDWixVQUFVO0lBQ1YsTUFBTTtJQUNOLFVBQVU7SUFDVixZQUFZO0lBQ1osb0JBQW9CO0lBQ3BCLE1BQU07SUFDTixPQUFPO0lBQ1AsT0FBTztJQUNQLE9BQU87SUFDUCxNQUFNO0lBQ04sU0FBUztJQUNULE1BQU07SUFDTixrQkFBa0I7SUFDbEIsUUFBUTtJQUNSLFNBQVM7SUFDVCxVQUFVO0lBQ1YsS0FBSztJQUNMLFVBQVU7SUFDVixNQUFNO0lBQ04sZUFBZTtJQUNmLG1CQUFtQjtJQUNuQixPQUFPO0lBQ1AsT0FBTztJQUNQLFVBQVU7SUFDVixVQUFVO0lBQ1YsWUFBWTtJQUNaLFlBQVk7SUFDWixZQUFZO0lBQ1osWUFBWTtJQUNaLFlBQVk7SUFDWixhQUFhO0lBQ2IsYUFBYTtJQUNiLFFBQVE7SUFDUixRQUFRO0lBQ1IsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLHFCQUFxQjtJQUNyQixzQkFBc0I7SUFDdEIsYUFBYTtJQUNiLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLHNCQUFzQjtJQUN0QixzQkFBc0I7SUFDdEIsZUFBZTtJQUNmLGNBQWM7SUFDZCxrQkFBa0I7SUFDbEIsb0JBQW9CO0lBQ3BCLHlCQUF5QjtJQUN6Qix5QkFBeUI7SUFDekIsa0JBQWtCO0lBQ2xC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O1FBQ25CLG9CQUFvQjtRQUNwQixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCxlQUFlO1FBQ2YsMEJBQTBCO1FBQzFCLDJCQUEyQjtRQUMzQixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLGFBQWE7UUFDYixjQUFjO1FBQ2QsbUJBQW1CO1FBQ25CLG9CQUFvQjtRQUNwQixxQkFBcUI7UUFDckIsc0JBQXNCO1FBQ3RCLGdCQUFnQjtRQUNoQixpQkFBaUI7UUFDakIsd0JBQXdCO1FBQ3hCLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLGlCQUFpQjtRQUNqQixhQUFhO1FBQ2IsY0FBYztRQUNkLFlBQVk7UUFDWixhQUFhO1FBQ2IsYUFBYTtRQUNiLGNBQWM7UUFDZCxlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLG9CQUFvQjtRQUNwQixxQkFBcUI7UUFDckIscUJBQXFCO1FBQ3JCLHNCQUFzQjtRQUN0QixlQUFlO1FBQ2YsZ0JBQWdCO0tBQ2pCO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIERhdGEgb2YgYWxsIHRnb0ljb25zXG5leHBvcnQgY29uc3QgdGdvSWNvbnMgPSBbXG4gICdBZGQnLFxuICAnQXJjaGl2ZScsXG4gICdBcnJvd19kb3duJyxcbiAgJ0Fycm93X2xlZnQnLFxuICAnQXJyb3dfcmlnaHQnLFxuICAnQXJyb3dfdXAnLFxuICAnQXNzZXNzbWVudCcsXG4gICdBdHRlbXB0cycsXG4gICdCb29rJyxcbiAgJ0NhbGVuZGFyJyxcbiAgJ0NhbmRpZGF0ZXMnLFxuICAnQ2hhdC1ub3RpZmljYXRpb25zJyxcbiAgJ0NoYXQnLFxuICAnQ2hlY2snLFxuICAnQ2xvbmUnLFxuICAnQ2xvc2UnLFxuICAnQ29kZScsXG4gICdDb21wYW55JyxcbiAgJ0NvcHknLFxuICAnQ3VzdG9tLXF1ZXN0aW9ucycsXG4gICdEZWxldGUnLFxuICAnRGV2aWNlcycsXG4gICdEb2N1bWVudCcsXG4gICdEb3QnLFxuICAnRG93bmxvYWQnLFxuICAnRWRpdCcsXG4gICdFbWFpbC1tZXNzYWdlJyxcbiAgJ0VtcHR5LXBsYWNlaG9sZGVyJyxcbiAgJ0Vycm9yJyxcbiAgJ0Vzc2F5JyxcbiAgJ0V5ZS1oaWRlJyxcbiAgJ0V5ZS12aWV3JyxcbiAgJ0ZlZWRiYWNrLTEnLFxuICAnRmVlZGJhY2stMicsXG4gICdGZWVkYmFjay0zJyxcbiAgJ0ZlZWRiYWNrLTQnLFxuICAnRmVlZGJhY2stNScsXG4gICdGaWxlLWF0dGFjaCcsXG4gICdGaWxlLXVwbG9hZCcsXG4gICdGaWx0ZXInLFxuICAnRm9sZGVyJyxcbiAgJ0Zvcm1hdC1hZGQtZmlsZScsXG4gICdGb3JtYXQtYWRkLXRhYmxlJyxcbiAgJ0Zvcm1hdC1hbGlnbi1MJyxcbiAgJ0Zvcm1hdC1hbGlnbi1SJyxcbiAgJ0Zvcm1hdC1hbGlnbi1jZW50ZXInLFxuICAnRm9ybWF0LWFsaWduLWp1c3RpZnknLFxuICAnRm9ybWF0LWJvbGQnLFxuICAnRm9ybWF0LWNvZGUtYWN0aXZlJyxcbiAgJ0Zvcm1hdC1jb2RlLWJsb2NrJyxcbiAgJ0Zvcm1hdC1lZGl0LXRhYmxlJyxcbiAgJ0Zvcm1hdC1mb3JtYXQnLFxuICAnRm9ybWF0LWZ1bmN0aW9uJyxcbiAgJ0Zvcm1hdC1pdGFsaWNzJyxcbiAgJ0Zvcm1hdC1saXN0LWJ1bGxldGVkJyxcbiAgJ0Zvcm1hdC1saXN0LW51bWJlcmVkJyxcbiAgJ0Zvcm1hdC1waWNrZXInLFxuICAnRm9ybWF0LXF1b3RlJyxcbiAgJ0Zvcm1hdC1zdWJzY3JpcHQnLFxuICAnRm9ybWF0LXN1cGVyc2NyaXB0JyxcbiAgJ0Zvcm1hdC10ZXh0LWRpcmVjdGlvbi1MJyxcbiAgJ0Zvcm1hdC10ZXh0LWRpcmVjdGlvbi1SJyxcbiAgJ0Zvcm1hdC10ZXh0LXNpemUnLFxuICAnRm9ybWF0LXVuZGVybGluZScsXG4gICdGb3JtYXQtdmFyaWFibGUnLFxuICAnRnVsbC1zY3JlZW4nLFxuICAnR2VuZGVyLWZlbWFsZScsXG4gICdHZW5kZXItbWFsZScsXG4gICdIZWxwLTInLFxuICAnSGVscCcsXG4gICdJbWFnZScsXG4gICdJbmZvJyxcbiAgJ0ludGVncmF0aW9uJyxcbiAgJ0xhbmd1YWdlJyxcbiAgJ0xheW91dCcsXG4gICdMZWFybicsXG4gICdMZXZlbCcsXG4gICdMaWdodC1idWxiJyxcbiAgJ0xpbmsnLFxuICAnTG9hZGluZy1zcGlubmVyJyxcbiAgJ0xvY2FsaXNhdGlvbicsXG4gICdMb2NhdGlvbicsXG4gICdMb2NrJyxcbiAgJ0xvZy1vdXQnLFxuICAnTWVudS1idXJnZXInLFxuICAnTWVudS1jbG9zZScsXG4gICdNZW51LWVsbGlwc2lzJyxcbiAgJ01lbnUtb3BlbicsXG4gICdNaWNyb3Bob25lJyxcbiAgJ01pbnVzJyxcbiAgJ01vdXNlLWN1cnNvcicsXG4gICdNb3VzZS1ncmFiLWN1cnNvcicsXG4gICdNb3VzZScsXG4gICdNdWx0aS1jaG9pY2UnLFxuICAnTm90aWZpY2F0aW9ucycsXG4gICdQYXNzd29yZCcsXG4gICdQYXRoJyxcbiAgJ1Bpbi1tYXJrZXInLFxuICAnUGxhbi1iaWxsaW5nJyxcbiAgJ1BsdXMnLFxuICAnUHJlbWl1bScsXG4gICdQcm9tb3Rpb24nLFxuICAnUXVlc3Rpb24tY291bnQnLFxuICAnUmVmZXInLFxuICAnUmVzZXQnLFxuICAnUmV2aWV3JyxcbiAgJ1JvdW5kLWNoZWNrLWZpbGxlZCcsXG4gICdSb3VuZC1jaGVjaycsXG4gICdTZWFyY2gnLFxuICAnU2VjdXJlLWNoZWNrb3V0JyxcbiAgJ1NlbmQnLFxuICAnU2V0dGluZ3MnLFxuICAnU29jaWFsLWZhY2Vib29rJyxcbiAgJ1NvY2lhbC1pbnN0YWdyYW0nLFxuICAnU29jaWFsLWxpbmtlZGluJyxcbiAgJ1NvcnRpbmctZG93bi0xJyxcbiAgJ1NvcnRpbmctZG93bicsXG4gICdTcGVlZG9tZXRlcicsXG4gICdTdGFyLWZpbGxlZCcsXG4gICdTdGFyLWhhbGYnLFxuICAnU3Rhci1vdXRsaW5lJyxcbiAgJ1N1cHBvcnQnLFxuICAnU3luYycsXG4gICdUZWFtJyxcbiAgJ1Rlc3QnLFxuICAnVGh1bmRlcicsXG4gICdUaW1lcicsXG4gICdUcm9waHknLFxuICAnVHlwZScsXG4gICdVbmFyY2hpdmUnLFxuICAnVW5sb2NrJyxcbiAgJ1VwZ3JhZGUnLFxuICAnVXBsb2FkJyxcbiAgJ1VzZXItYWNjZXNzJyxcbiAgJ1VzZXItYWRkJyxcbiAgJ1VzZXItaW52aXRlJyxcbiAgJ1VzZXItcHJvZmlsZScsXG4gICdVc2VyLXJlamVjdCcsXG4gICdVc2VyLXN3aXRjaCcsXG4gICdWaWRlby1wYXVzZScsXG4gICdWaWRlby1wbGF5JyxcbiAgJ1ZpZGVvLXJlY29yZCcsXG4gICdWaWRlbycsXG4gICdWb2x1bWUnLFxuICAnV2FybmluZycsXG4gICdab29tLWluJyxcbiAgJ1pvb20tb3V0JyxcbiAgJ0ZpcmUnLFxuICAnR2lmdCcsXG4gICdHcmFiJyxcbiAgJ1NoYXJlJyxcbiAgJ1NwYXJrbGVzJyxcbiAgJ1ZpZGVvLXN0b3AnLFxuICAnTWluaW1pemUnLFxuICAnRW1wbG95ZWUnLFxuICAnTW9uZXktYmFnJyxcbiAgJ1N1aXRjYXNlJyxcbiAgJ0dvb2dsZScsXG4gICdGYXN0LWZvcndhcmQnLFxuICAnRmFzdC1yZXdpbmQnLFxuICAnU2tpcC1uZXh0JyxcbiAgJ1NraXAtcHJldmlvdXMnLFxuICAnVGVzdEdvcmlsbGEnLFxuXSBhcyBjb25zdDtcblxuZXhwb3J0IGNvbnN0IHRnb1JlYnJhbmRJY29ucyA9IFtcbiAgJ0FyY2hpdmUtZmlsbGVkJyxcbiAgJ0FyY2hpdmUtaW4tbGluZScsXG4gICdBZGQtaW4tbGluZScsXG4gICdBZGQtZmlsbGVkJyxcbiAgJ0Fycm93LWNoZXZyb24tZG93bi1maWxsZWQnLFxuICAnQXJyb3ctY2hldnJvbi1kb3duLWluLWxpbmUnLFxuICAnQXJyb3ctY2hldnJvbi1sZWZ0LWZpbGxlZCcsXG4gICdBcnJvdy1jaGV2cm9uLWxlZnQtaW4tbGluZScsXG4gICdBcnJvdy1jaGV2cm9uLXJpZ2h0LWZpbGxlZCcsXG4gICdBcnJvdy1jaGV2cm9uLXJpZ2h0LWluLWxpbmUnLFxuICAnQXJyb3ctY2hldnJvbi11cC1maWxsZWQnLFxuICAnQXJyb3ctY2hldnJvbi11cC1pbi1saW5lJyxcbiAgJ0Fycm93LWRvd24tZmlsbGVkJyxcbiAgJ0Fycm93LWRvd24taW4tbGluZScsXG4gICdBcnJvdy11cC1maWxsZWQnLFxuICAnQXJyb3ctdXAtaW4tbGluZScsXG4gICdBc3Nlc3NtZW50LWZpbGxlZCcsXG4gICdBc3Nlc3NtZW50LWluLWxpbmUnLFxuICAnQXR0YWNoLWZpbGxlZCcsXG4gICdBdHRhY2gtaW4tbGluZScsXG4gICdBdHRlbXB0cy1maWxsZWQnLFxuICAnQXR0ZW1wdHMtaW4tbGluZScsXG4gICdCb29rLWZpbGxlZCcsXG4gICdCb29rLWluLWxpbmUnLFxuICAnQ2FsZW5kYXItZmlsbGVkJyxcbiAgJ0NhbGVuZGFyLWluLWxpbmUnLFxuICAnQ2FuZGlkYXRlcy1maWxsZWQnLFxuICAnQ2FuZGlkYXRlcy1pbi1saW5lJyxcbiAgJ0NoYXQtZmlsbGVkJyxcbiAgJ0NoYXQtaW4tbGluZScsXG4gICdDaGVjay1maWxsZWQnLFxuICAnQ2hlY2staW4tbGluZScsXG4gICdDaGVjay1yb3VuZC1maWxsZWQnLFxuICAnQ2hlY2stcm91bmQtaW4tbGluZScsXG4gICdDaXJjbGUtZmlsbGVkJyxcbiAgJ0NpcmNsZS1pbi1saW5lJyxcbiAgJ0Nsb25lLWZpbGxlZCcsXG4gICdDbG9uZS1pbi1saW5lJyxcbiAgJ0Nsb3NlLWZpbGxlZCcsXG4gICdDbG9zZS1pbi1saW5lJyxcbiAgJ0NvZGUtZmlsbGVkJyxcbiAgJ0NvZGUtaW4tbGluZScsXG4gICdDb21wYW55LWZpbGxlZCcsXG4gICdDb21wYW55LWluLWxpbmUnLFxuICAnQ29weS1maWxsZWQnLFxuICAnQ29weS1pbi1saW5lJyxcbiAgJ0RlbGV0ZS1maWxsZWQnLFxuICAnRGVsZXRlLWluLWxpbmUnLFxuICAnRGV2aWNlcy1maWxsZWQnLFxuICAnRGV2aWNlcy1pbi1saW5lJyxcbiAgJ0RvY3VtZW50LWZpbGxlZCcsXG4gICdEb2N1bWVudC1pbi1saW5lJyxcbiAgJ0RvdC1maWxsZWQnLFxuICAnRG90LWluLWxpbmUnLFxuICAnRG93bmxvYWQtZmlsbGVkJyxcbiAgJ0Rvd25sb2FkLWluLWxpbmUnLFxuICAnRWRpdC1maWxsZWQnLFxuICAnRWRpdC1pbi1saW5lJyxcbiAgJ0VkaXQtdGV4dC1maWxsZWQnLFxuICAnRWRpdC10ZXh0LWluLWxpbmUnLFxuICAnRW1wbG95ZWUtZmlsbGVkJyxcbiAgJ0VtcGxveWVlLWluLWxpbmUnLFxuICAnRXJyb3ItZmlsbGVkJyxcbiAgJ0Vycm9yLWluLWxpbmUnLFxuICAnRXNzYXktZmlsbGVkJyxcbiAgJ0Vzc2F5LWluLWxpbmUnLFxuICAnRXhwZXJpZW5jZS1maWxsZWQnLFxuICAnRXhwZXJpZW5jZS1pbi1saW5lJyxcbiAgJ0ZhY2Vib29rLWZpbGxlZCcsXG4gICdGYWNlYm9vay1pbi1saW5lJyxcbiAgJ0Zhc3QtZm9yd2FyZC1maWxsZWQnLFxuICAnRmFzdC1mb3J3YXJkLWluLWxpbmUnLFxuICAnRmFzdC1yZXdpbmQtZmlsbGVkJyxcbiAgJ0Zhc3QtcmV3aW5kLWluLWxpbmUnLFxuICAnRmlsdGVyLWZpbGxlZCcsXG4gICdGaWx0ZXItaW4tbGluZScsXG4gICdGaXJlLWZpbGxlZCcsXG4gICdGaXJlLWluLWxpbmUnLFxuICAnRm9sZGVyLWZpbGxlZCcsXG4gICdGb2xkZXItaW4tbGluZScsXG4gICdGdWxsLXNjcmVlbi1maWxsZWQnLFxuICAnRnVsbC1zY3JlZW4taW4tbGluZScsXG4gICdHZW5kZXItbWFsZS1maWxsZWQnLFxuICAnR2VuZGVyLW1hbGUtaW4tbGluZScsXG4gICdHZW5kZXItZmVtYWxlLWZpbGxlZCcsXG4gICdHZW5kZXItZmVtYWxlLWluLWxpbmUnLFxuICAnR2lmdC1maWxsZWQnLFxuICAnR2lmdC1pbi1saW5lJyxcbiAgJ0dvb2dsZS1maWxsZWQnLFxuICAnR29vZ2xlLWluLWxpbmUnLFxuICAnR3JhYi1maWxsZWQnLFxuICAnR3JhYi1pbi1saW5lJyxcbiAgJ0hlbHAtZmlsbGVkJyxcbiAgJ0hlbHAtaW4tbGluZScsXG4gICdIaWRlLWZpbGxlZCcsXG4gICdIaWRlLWluLWxpbmUnLFxuICAnSW1hZ2UtZmlsbGVkJyxcbiAgJ0ltYWdlLWluLWxpbmUnLFxuICAnSW5mby1maWxsZWQnLFxuICAnSW5mby1pbi1saW5lJyxcbiAgJ0luc3RhZ3JhbS1maWxsZWQnLFxuICAnSW5zdGFncmFtLWluLWxpbmUnLFxuICAnSW50ZWdyYXRpb24tZmlsbGVkJyxcbiAgJ0ludGVncmF0aW9uLWluLWxpbmUnLFxuICAnSW52aXRlLWZpbGxlZCcsXG4gICdJbnZpdGUtaW4tbGluZScsXG4gICdMYW5ndWFnZS1maWxsZWQnLFxuICAnTGFuZ3VhZ2UtaW4tbGluZScsXG4gICdMYXlvdXQtZmlsbGVkJyxcbiAgJ0xheW91dC1pbi1saW5lJyxcbiAgJ0xlYXJuLWZpbGxlZCcsXG4gICdMZWFybi1pbi1saW5lJyxcbiAgJ0xldmVsLWZpbGxlZCcsXG4gICdMZXZlbC1pbi1saW5lJyxcbiAgJ0xpZ2h0LWJ1bGItZmlsbGVkJyxcbiAgJ0xpZ2h0LWJ1bGItaW4tbGluZScsXG4gICdMaW5rLWZpbGxlZCcsXG4gICdMaW5rLWluLWxpbmUnLFxuICAnTGlua2VkaW4tZmlsbGVkJyxcbiAgJ0xpbmtlZGluLWluLWxpbmUnLFxuICAnTG9jYWxpemF0aW9uLWZpbGxlZCcsXG4gICdMb2NhbGl6YXRpb24taW4tbGluZScsXG4gICdMb2NhdGlvbi1maWxsZWQnLFxuICAnTG9jYXRpb24taW4tbGluZScsXG4gICdMb2NrLWZpbGxlZCcsXG4gICdMb2NrLWluLWxpbmUnLFxuICAnTG9nb3V0LWZpbGxlZCcsXG4gICdMb2dvdXQtaW4tbGluZScsXG4gICdNZWRhbC1maWxsZWQnLFxuICAnTWVkYWwtaW4tbGluZScsXG4gICdNZW51LWJ1cmdlci1maWxsZWQnLFxuICAnTWVudS1idXJnZXItaW4tbGluZScsXG4gICdNZW51LWNsb3NlLWZpbGxlZCcsXG4gICdNZW51LWNsb3NlLWluLWxpbmUnLFxuICAnTWVudS1lbGxpcHNpcy1maWxsZWQnLFxuICAnTWVudS1lbGxpcHNpcy1pbi1saW5lJyxcbiAgJ01lbnUtb3Blbi1maWxsZWQnLFxuICAnTWVudS1vcGVuLWluLWxpbmUnLFxuICAnTWljLWZpbGxlZCcsXG4gICdNaWMtaW4tbGluZScsXG4gICdNaW5pbWl6ZS1maWxsZWQnLFxuICAnTWluaW1pemUtaW4tbGluZScsXG4gICdNaW51cy1maWxsZWQnLFxuICAnTWludXMtaW4tbGluZScsXG4gICdNb3VzZS1maWxsZWQnLFxuICAnTW91c2UtaW4tbGluZScsXG4gICdNdWx0aS1jaG9pY2UtZmlsbGVkJyxcbiAgJ011bHRpLWNob2ljZS1pbi1saW5lJyxcbiAgJ05vdGlmaWNhdGlvbi1iZWxsLWZpbGxlZCcsXG4gICdOb3RpZmljYXRpb24tYmVsbC1pbi1saW5lJyxcbiAgJ1Bhc3N3b3JkLWZpbGxlZCcsXG4gICdQYXNzd29yZC1pbi1saW5lJyxcbiAgJ1BhdGgtZmlsbGVkJyxcbiAgJ1BhdGgtaW4tbGluZScsXG4gICdQYXVzZS1maWxsZWQnLFxuICAnUGF1c2UtaW4tbGluZScsXG4gICdQaW4tbWFya2VyLWZpbGxlZCcsXG4gICdQaW4tbWFya2VyLWluLWxpbmUnLFxuICAnUGxhbi1iaWxsaW5nLWZpbGxlZCcsXG4gICdQbGFuLWJpbGxpbmctaW4tbGluZScsXG4gICdQbGF5LWZpbGxlZCcsXG4gICdQbGF5LWluLWxpbmUnLFxuICAnUGx1cy1maWxsZWQnLFxuICAnUGx1cy1pbi1saW5lJyxcbiAgJ1ByZW1pdW0tZmlsbGVkJyxcbiAgJ1ByZW1pdW0taW4tbGluZScsXG4gICdQcmVtaXVtLWNpcmNsZS1pbi1saW5lJyxcbiAgJ1F1ZXN0aW9uLWNvdW50LWZpbGxlZCcsXG4gICdRdWVzdGlvbi1jb3VudC1pbi1saW5lJyxcbiAgJ1F1ZXN0aW9uLWZpbGxlZCcsXG4gICdRdWVzdGlvbi1pbi1saW5lJyxcbiAgJ1JlY29yZC1maWxsZWQnLFxuICAnUmVjb3JkLWluLWxpbmUnLFxuICAnUmVqZWN0LWZpbGxlZCcsXG4gICdSZWZlci1pbi1saW5lJyxcbiAgJ1JlZmVyLWZpbGxlZCcsXG4gICdSZWplY3QtaW4tbGluZScsXG4gICdSZXNldC1maWxsZWQnLFxuICAnUmVzZXQtaW4tbGluZScsXG4gICdSZXZpZXctZW1vamktMS1maWxsZWQnLFxuICAnUmV2aWV3LWVtb2ppLTEtaW4tbGluZScsXG4gICdSZXZpZXctZW1vamktMi1maWxsZWQnLFxuICAnUmV2aWV3LWVtb2ppLTItaW4tbGluZScsXG4gICdSZXZpZXctZW1vamktMy1maWxsZWQnLFxuICAnUmV2aWV3LWVtb2ppLTMtaW4tbGluZScsXG4gICdSZXZpZXctZW1vamktNC1maWxsZWQnLFxuICAnUmV2aWV3LWVtb2ppLTQtaW4tbGluZScsXG4gICdSZXZpZXctZW1vamktNS1maWxsZWQnLFxuICAnUmV2aWV3LWVtb2ppLTUtaW4tbGluZScsXG4gICdSZXZpZXctZmlsbGVkJyxcbiAgJ1Jldmlldy1oYWxmLXN0YXItZmlsbGVkJyxcbiAgJ1Jldmlldy1oYWxmLXN0YXItaW4tbGluZScsXG4gICdSZXZpZXctaW4tbGluZScsXG4gICdSZXZpZXctc3Rhci1maWxsZWQnLFxuICAnUmV2aWV3LXN0YXItaW4tbGluZScsXG4gICdTZWFyY2gtZmlsbGVkJyxcbiAgJ1NlYXJjaC1pbi1saW5lJyxcbiAgJ1NlY3VyZS1maWxsZWQnLFxuICAnU2VjdXJlLWluLWxpbmUnLFxuICAnU2VuZC1maWxsZWQnLFxuICAnU2VuZC1pbi1saW5lJyxcbiAgJ1NldHRpbmdzLWZpbGxlZCcsXG4gICdTZXR0aW5ncy1pbi1saW5lJyxcbiAgJ1NoYXJlLWZpbGxlZCcsXG4gICdTaGFyZS1pbi1saW5lJyxcbiAgJ1NraXAtbmV4dC1maWxsZWQnLFxuICAnU2tpcC1uZXh0LWluLWxpbmUnLFxuICAnU2tpcC1wcmV2aW91cy1maWxsZWQnLFxuICAnU2tpcC1wcmV2aW91cy1pbi1saW5lJyxcbiAgJ1NwYXJrbGUtZmlsbGVkJyxcbiAgJ1NwYXJrbGUtaW4tbGluZScsXG4gICdTcGVlZG9tZXRlci1maWxsZWQnLFxuICAnU3BlZWRvbWV0ZXItaW4tbGluZScsXG4gICdTdGFyLWZpbGxlZCcsXG4gICdTdGFyLWluLWxpbmUnLFxuICAnU3RvcC1maWxsZWQnLFxuICAnU3RvcC1pbi1saW5lJyxcbiAgJ1N3aXRjaC1maWxsZWQnLFxuICAnU3dpdGNoLWluLWxpbmUnLFxuICAnU3luYy1maWxsZWQnLFxuICAnU3luYy1pbi1saW5lJyxcbiAgJ1RhZy1maWxsZWQnLFxuICAnVGFnLWluLWxpbmUnLFxuICAnVGVhbS1maWxsZWQnLFxuICAnVGVhbS1pbi1saW5lJyxcbiAgJ1Rlc3QtZmlsbGVkJyxcbiAgJ1Rlc3QtaW4tbGluZScsXG4gICdUaW1lci1maWxsZWQnLFxuICAnVGltZXItaW4tbGluZScsXG4gICdUcm9waHktZmlsbGVkJyxcbiAgJ1Ryb3BoeS1pbi1saW5lJyxcbiAgJ1R5cGUtZmlsbGVkJyxcbiAgJ1R5cGUtaW4tbGluZScsXG4gICdVbmFyY2hpdmUtZmlsbGVkJyxcbiAgJ1VuYXJjaGl2ZS1pbi1saW5lJyxcbiAgJ1VubG9jay1maWxsZWQnLFxuICAnVW5sb2NrLWluLWxpbmUnLFxuICAnVXBncmFkZS1maWxsZWQnLFxuICAnVXBncmFkZS1pbi1saW5lJyxcbiAgJ1VwbG9hZC1maWxsZWQnLFxuICAnVXBsb2FkLWluLWxpbmUnLFxuICAnVXNlci1hY2Nlc3MtZmlsbGVkJyxcbiAgJ1VzZXItYWNjZXNzLWluLWxpbmUnLFxuICAnVXNlci1hZGQtZmlsbGVkJyxcbiAgJ1VzZXItYWRkLWluLWxpbmUnLFxuICAnVXNlci1wcm9maWxlLWZpbGxlZCcsXG4gICdVc2VyLXByb2ZpbGUtaW4tbGluZScsXG4gICdWaWRlby1maWxsZWQnLFxuICAnVmlkZW8taW4tbGluZScsXG4gICdWaWV3LWZpbGxlZCcsXG4gICdWaWV3LWluLWxpbmUnLFxuICAnVm9sdW1lLWZpbGxlZCcsXG4gICdWb2x1bWUtaW4tbGluZScsXG4gICdXYXJuaW5nLWZpbGxlZCcsXG4gICdXYXJuaW5nLWluLWxpbmUnLFxuICAnVmFsaWRhdGVkLWZpbGxlZCcsXG4gICdWYWxpZGF0ZWQtaW4tbGluZScsXG4gICdWZXJpZmllZC1iYWRnZS1maWxsZWQnLFxuICAnVmVyaWZpZWQtYmFkZ2UtaW4tbGluZScsXG4gICdab29tLWluLWZpbGxlZCcsXG4gICdab29tLWluLWluLWxpbmUnLFxuICAnWm9vbS1vdXQtZmlsbGVkJyxcbiAgJ1pvb20tb3V0LWluLWxpbmUnLFxuICAnQW5hbHl0aWNzLWZpbGxlZCcsXG4gICdBbmFseXRpY3MtaW4tbGluZScsXG4gICdGYWlsZWQtdG8tbG9hZC1maWxsZWQnLFxuICAnRmFpbGVkLXRvLWxvYWQtaW4tbGluZScsXG4gICdIaXN0b3J5LWZpbGxlZCcsXG4gICdIaXN0b3J5LWluLWxpbmUnLFxuICAnVGVzdEdvcmlsbGEtZmlsbGVkJyxcbiAgJ1Rlc3RHb3JpbGxhLWluLWxpbmUnLFxuICAnVGVzdEdvcmlsbGEtUGluay1maWxsZWQnLFxuICAnVGVzdEdvcmlsbGEtUGluay1pbi1saW5lJyxcbl0gYXMgY29uc3Q7XG5cbmV4cG9ydCBjb25zdCBncm91cGVkSWNvbnMgPSB7XG4gIGRpcmVjdGlvbmFsOiBbXG4gICAgJ0Fycm93LWNoZXZyb24tZG93bi1maWxsZWQnLFxuICAgICdBcnJvdy1jaGV2cm9uLWRvd24taW4tbGluZScsXG4gICAgJ0Fycm93LWNoZXZyb24tbGVmdC1maWxsZWQnLFxuICAgICdBcnJvdy1jaGV2cm9uLWxlZnQtaW4tbGluZScsXG4gICAgJ0Fycm93LWNoZXZyb24tcmlnaHQtZmlsbGVkJyxcbiAgICAnQXJyb3ctY2hldnJvbi1yaWdodC1pbi1saW5lJyxcbiAgICAnQXJyb3ctY2hldnJvbi11cC1maWxsZWQnLFxuICAgICdBcnJvdy1jaGV2cm9uLXVwLWluLWxpbmUnLFxuICAgICdBcnJvdy1kb3duLWZpbGxlZCcsXG4gICAgJ0Fycm93LWRvd24taW4tbGluZScsXG4gICAgJ0Fycm93LXVwLWZpbGxlZCcsXG4gICAgJ0Fycm93LXVwLWluLWxpbmUnLFxuICAgICdGYXN0LWZvcndhcmQtZmlsbGVkJyxcbiAgICAnRmFzdC1mb3J3YXJkLWluLWxpbmUnLFxuICAgICdGYXN0LXJld2luZC1maWxsZWQnLFxuICAgICdGYXN0LXJld2luZC1pbi1saW5lJyxcbiAgICAnTWludXMtZmlsbGVkJyxcbiAgICAnTWludXMtaW4tbGluZScsXG4gICAgJ1BsdXMtZmlsbGVkJyxcbiAgICAnUGx1cy1pbi1saW5lJyxcbiAgICAnU2tpcC1uZXh0LWZpbGxlZCcsXG4gICAgJ1NraXAtbmV4dC1pbi1saW5lJyxcbiAgICAnU2tpcC1wcmV2aW91cy1maWxsZWQnLFxuICAgICdTa2lwLXByZXZpb3VzLWluLWxpbmUnLFxuICBdLFxuICBhc3Nlc3NtZW50OiBbXG4gICAgJ0Fzc2Vzc21lbnQtZmlsbGVkJyxcbiAgICAnQXNzZXNzbWVudC1pbi1saW5lJyxcbiAgICAnQXR0ZW1wdHMtZmlsbGVkJyxcbiAgICAnQXR0ZW1wdHMtaW4tbGluZScsXG4gICAgJ0NhbmRpZGF0ZXMtZmlsbGVkJyxcbiAgICAnQ2FuZGlkYXRlcy1pbi1saW5lJyxcbiAgICAnQW5hbHl0aWNzLWZpbGxlZCcsXG4gICAgJ0FuYWx5dGljcy1pbi1saW5lJyxcbiAgICAnSGlzdG9yeS1maWxsZWQnLFxuICAgICdIaXN0b3J5LWluLWxpbmUnLFxuICAgICdDb2RlLWZpbGxlZCcsXG4gICAgJ0NvZGUtaW4tbGluZScsXG4gICAgJ0Vzc2F5LWZpbGxlZCcsXG4gICAgJ0Vzc2F5LWluLWxpbmUnLFxuICAgICdMYW5ndWFnZS1maWxsZWQnLFxuICAgICdMYW5ndWFnZS1pbi1saW5lJyxcbiAgICAnTGVhcm4tZmlsbGVkJyxcbiAgICAnTGVhcm4taW4tbGluZScsXG4gICAgJ0xldmVsLWZpbGxlZCcsXG4gICAgJ0xldmVsLWluLWxpbmUnLFxuICAgICdMb2NhbGl6YXRpb24tZmlsbGVkJyxcbiAgICAnTG9jYWxpemF0aW9uLWluLWxpbmUnLFxuICAgICdNZWRhbC1maWxsZWQnLFxuICAgICdNZWRhbC1pbi1saW5lJyxcbiAgICAnTWljLWZpbGxlZCcsXG4gICAgJ01pYy1pbi1saW5lJyxcbiAgICAnTXVsdGktY2hvaWNlLWZpbGxlZCcsXG4gICAgJ011bHRpLWNob2ljZS1pbi1saW5lJyxcbiAgICAnUXVlc3Rpb24tY291bnQtZmlsbGVkJyxcbiAgICAnUXVlc3Rpb24tY291bnQtaW4tbGluZScsXG4gICAgJ1F1ZXN0aW9uLWZpbGxlZCcsXG4gICAgJ1F1ZXN0aW9uLWluLWxpbmUnLFxuICAgICdTcGVlZG9tZXRlci1maWxsZWQnLFxuICAgICdTcGVlZG9tZXRlci1pbi1saW5lJyxcbiAgICAnVGVzdC1maWxsZWQnLFxuICAgICdUZXN0LWluLWxpbmUnLFxuICAgICdUaW1lci1maWxsZWQnLFxuICAgICdUaW1lci1pbi1saW5lJyxcbiAgICAnVHlwZS1maWxsZWQnLFxuICAgICdUeXBlLWluLWxpbmUnLFxuICAgICdWaWRlby1maWxsZWQnLFxuICAgICdWaWRlby1pbi1saW5lJyxcbiAgXSxcbiAgc3RhdHVzOiBbXG4gICAgJ0NoZWNrLWZpbGxlZCcsXG4gICAgJ0NoZWNrLWluLWxpbmUnLFxuICAgICdDaGVjay1yb3VuZC1maWxsZWQnLFxuICAgICdDaGVjay1yb3VuZC1pbi1saW5lJyxcbiAgICAnRXJyb3ItZmlsbGVkJyxcbiAgICAnRXJyb3ItaW4tbGluZScsXG4gICAgJ0hlbHAtZmlsbGVkJyxcbiAgICAnSGVscC1pbi1saW5lJyxcbiAgICAnSW5mby1maWxsZWQnLFxuICAgICdJbmZvLWluLWxpbmUnLFxuICAgICdSZWZlci1pbi1saW5lJyxcbiAgICAnUmVmZXItZmlsbGVkJyxcbiAgICAnRmFpbGVkLXRvLWxvYWQtZmlsbGVkJyxcbiAgICAnRmFpbGVkLXRvLWxvYWQtaW4tbGluZScsXG4gICAgJ1Jldmlldy1lbW9qaS0xLWZpbGxlZCcsXG4gICAgJ1Jldmlldy1lbW9qaS0xLWluLWxpbmUnLFxuICAgICdSZXZpZXctZW1vamktMi1maWxsZWQnLFxuICAgICdSZXZpZXctZW1vamktMi1pbi1saW5lJyxcbiAgICAnUmV2aWV3LWVtb2ppLTMtZmlsbGVkJyxcbiAgICAnUmV2aWV3LWVtb2ppLTMtaW4tbGluZScsXG4gICAgJ1Jldmlldy1lbW9qaS00LWZpbGxlZCcsXG4gICAgJ1Jldmlldy1lbW9qaS00LWluLWxpbmUnLFxuICAgICdSZXZpZXctZW1vamktNS1maWxsZWQnLFxuICAgICdSZXZpZXctZW1vamktNS1pbi1saW5lJyxcbiAgICAnUmV2aWV3LWhhbGYtc3Rhci1maWxsZWQnLFxuICAgICdSZXZpZXctaGFsZi1zdGFyLWluLWxpbmUnLFxuICAgICdSZXZpZXctc3Rhci1maWxsZWQnLFxuICAgICdSZXZpZXctc3Rhci1pbi1saW5lJyxcbiAgICAnV2FybmluZy1maWxsZWQnLFxuICAgICdXYXJuaW5nLWluLWxpbmUnLFxuICAgICdWYWxpZGF0ZWQtZmlsbGVkJyxcbiAgICAnVmFsaWRhdGVkLWluLWxpbmUnLFxuICAgICdWZXJpZmllZC1iYWRnZS1maWxsZWQnLFxuICAgICdWZXJpZmllZC1iYWRnZS1pbi1saW5lJyxcbiAgXSxcbiAgc29jaWFsOiBbXG4gICAgJ0ZhY2Vib29rLWZpbGxlZCcsXG4gICAgJ0ZhY2Vib29rLWluLWxpbmUnLFxuICAgICdHb29nbGUtZmlsbGVkJyxcbiAgICAnR29vZ2xlLWluLWxpbmUnLFxuICAgICdJbnN0YWdyYW0tZmlsbGVkJyxcbiAgICAnSW5zdGFncmFtLWluLWxpbmUnLFxuICAgICdMaW5rZWRpbi1maWxsZWQnLFxuICAgICdMaW5rZWRpbi1pbi1saW5lJyxcbiAgICAnVGVzdEdvcmlsbGEtZmlsbGVkJyxcbiAgICAnVGVzdEdvcmlsbGEtaW4tbGluZScsXG4gICAgJ1Rlc3RHb3JpbGxhLVBpbmstZmlsbGVkJyxcbiAgICAnVGVzdEdvcmlsbGEtUGluay1pbi1saW5lJyxcbiAgXSxcbiAgYWN0aW9uczogW1xuICAgICdBcmNoaXZlLWZpbGxlZCcsXG4gICAgJ0FyY2hpdmUtaW4tbGluZScsXG4gICAgJ0F0dGFjaC1maWxsZWQnLFxuICAgICdBdHRhY2gtaW4tbGluZScsXG4gICAgJ0Nsb25lLWZpbGxlZCcsXG4gICAgJ0Nsb25lLWluLWxpbmUnLFxuICAgICdDbG9zZS1maWxsZWQnLFxuICAgICdDbG9zZS1pbi1saW5lJyxcbiAgICAnQ29weS1maWxsZWQnLFxuICAgICdDb3B5LWluLWxpbmUnLFxuICAgICdEZWxldGUtZmlsbGVkJyxcbiAgICAnRGVsZXRlLWluLWxpbmUnLFxuICAgICdEb3dubG9hZC1maWxsZWQnLFxuICAgICdEb3dubG9hZC1pbi1saW5lJyxcbiAgICAnRWRpdC1maWxsZWQnLFxuICAgICdFZGl0LWluLWxpbmUnLFxuICAgICdFZGl0LXRleHQtZmlsbGVkJyxcbiAgICAnRWRpdC10ZXh0LWluLWxpbmUnLFxuICAgICdGaWx0ZXItZmlsbGVkJyxcbiAgICAnRmlsdGVyLWluLWxpbmUnLFxuICAgICdGdWxsLXNjcmVlbi1maWxsZWQnLFxuICAgICdGdWxsLXNjcmVlbi1pbi1saW5lJyxcbiAgICAnR3JhYi1maWxsZWQnLFxuICAgICdHcmFiLWluLWxpbmUnLFxuICAgICdIaWRlLWZpbGxlZCcsXG4gICAgJ0hpZGUtaW4tbGluZScsXG4gICAgJ0ludml0ZS1maWxsZWQnLFxuICAgICdJbnZpdGUtaW4tbGluZScsXG4gICAgJ0xpbmstZmlsbGVkJyxcbiAgICAnTGluay1pbi1saW5lJyxcbiAgICAnTG9jay1maWxsZWQnLFxuICAgICdMb2NrLWluLWxpbmUnLFxuICAgICdMb2dvdXQtZmlsbGVkJyxcbiAgICAnTG9nb3V0LWluLWxpbmUnLFxuICAgICdNZW51LWJ1cmdlci1maWxsZWQnLFxuICAgICdNZW51LWJ1cmdlci1pbi1saW5lJyxcbiAgICAnTWVudS1jbG9zZS1maWxsZWQnLFxuICAgICdNZW51LWNsb3NlLWluLWxpbmUnLFxuICAgICdNZW51LWVsbGlwc2lzLWZpbGxlZCcsXG4gICAgJ01lbnUtZWxsaXBzaXMtaW4tbGluZScsXG4gICAgJ01lbnUtb3Blbi1maWxsZWQnLFxuICAgICdNZW51LW9wZW4taW4tbGluZScsXG4gICAgJ01pbmltaXplLWZpbGxlZCcsXG4gICAgJ01pbmltaXplLWluLWxpbmUnLFxuICAgICdQYXVzZS1maWxsZWQnLFxuICAgICdQYXVzZS1pbi1saW5lJyxcbiAgICAnUGxheS1maWxsZWQnLFxuICAgICdQbGF5LWluLWxpbmUnLFxuICAgICdSZWNvcmQtZmlsbGVkJyxcbiAgICAnUmVjb3JkLWluLWxpbmUnLFxuICAgICdSZWplY3QtZmlsbGVkJyxcbiAgICAnUmVqZWN0LWluLWxpbmUnLFxuICAgICdSZXNldC1maWxsZWQnLFxuICAgICdSZXNldC1pbi1saW5lJyxcbiAgICAnUmV2aWV3LWZpbGxlZCcsXG4gICAgJ1Jldmlldy1oYWxmLXN0YXItZmlsbGVkJyxcbiAgICAnU2VhcmNoLWZpbGxlZCcsXG4gICAgJ1NlYXJjaC1pbi1saW5lJyxcbiAgICAnU2VuZC1maWxsZWQnLFxuICAgICdTZW5kLWluLWxpbmUnLFxuICAgICdTZXR0aW5ncy1maWxsZWQnLFxuICAgICdTZXR0aW5ncy1pbi1saW5lJyxcbiAgICAnU2hhcmUtZmlsbGVkJyxcbiAgICAnU2hhcmUtaW4tbGluZScsXG4gICAgJ1N0b3AtZmlsbGVkJyxcbiAgICAnU3RvcC1pbi1saW5lJyxcbiAgICAnU3dpdGNoLWZpbGxlZCcsXG4gICAgJ1N3aXRjaC1pbi1saW5lJyxcbiAgICAnVW5hcmNoaXZlLWZpbGxlZCcsXG4gICAgJ1VuYXJjaGl2ZS1pbi1saW5lJyxcbiAgICAnVW5sb2NrLWZpbGxlZCcsXG4gICAgJ1VubG9jay1pbi1saW5lJyxcbiAgICAnVXBncmFkZS1maWxsZWQnLFxuICAgICdVcGdyYWRlLWluLWxpbmUnLFxuICAgICdVcGxvYWQtZmlsbGVkJyxcbiAgICAnVXBsb2FkLWluLWxpbmUnLFxuICAgICdVc2VyLWFkZC1maWxsZWQnLFxuICAgICdVc2VyLWFkZC1pbi1saW5lJyxcbiAgICAnVmlldy1maWxsZWQnLFxuICAgICdWaWV3LWluLWxpbmUnLFxuICAgICdab29tLWluLWZpbGxlZCcsXG4gICAgJ1pvb20taW4taW4tbGluZScsXG4gICAgJ1pvb20tb3V0LWZpbGxlZCcsXG4gICAgJ1pvb20tb3V0LWluLWxpbmUnLFxuICBdLFxuICBjb21tdW5pY2F0aW9uOiBbXG4gICAgJ0Jvb2stZmlsbGVkJyxcbiAgICAnQm9vay1pbi1saW5lJyxcbiAgICAnQ2FsZW5kYXItZmlsbGVkJyxcbiAgICAnQ2FsZW5kYXItaW4tbGluZScsXG4gICAgJ0NoYXQtZmlsbGVkJyxcbiAgICAnQ2hhdC1pbi1saW5lJyxcbiAgICAnQ2lyY2xlLWZpbGxlZCcsXG4gICAgJ0NpcmNsZS1pbi1saW5lJyxcbiAgICAnQ29tcGFueS1maWxsZWQnLFxuICAgICdDb21wYW55LWluLWxpbmUnLFxuICAgICdEZXZpY2VzLWZpbGxlZCcsXG4gICAgJ0RldmljZXMtaW4tbGluZScsXG4gICAgJ0RvY3VtZW50LWZpbGxlZCcsXG4gICAgJ0RvY3VtZW50LWluLWxpbmUnLFxuICAgICdEb3QtZmlsbGVkJyxcbiAgICAnRG90LWluLWxpbmUnLFxuICAgICdFbXBsb3llZS1maWxsZWQnLFxuICAgICdFbXBsb3llZS1pbi1saW5lJyxcbiAgICAnRXhwZXJpZW5jZS1maWxsZWQnLFxuICAgICdFeHBlcmllbmNlLWluLWxpbmUnLFxuICAgICdGaXJlLWZpbGxlZCcsXG4gICAgJ0ZpcmUtaW4tbGluZScsXG4gICAgJ0ZvbGRlci1maWxsZWQnLFxuICAgICdGb2xkZXItaW4tbGluZScsXG4gICAgJ0dlbmRlci1mZW1hbGUtZmlsbGVkJyxcbiAgICAnR2VuZGVyLWZlbWFsZS1pbi1saW5lJyxcbiAgICAnR2VuZGVyLW1hbGUtZmlsbGVkJyxcbiAgICAnR2VuZGVyLW1hbGUtaW4tbGluZScsXG4gICAgJ0dpZnQtZmlsbGVkJyxcbiAgICAnR2lmdC1pbi1saW5lJyxcbiAgICAnSW1hZ2UtZmlsbGVkJyxcbiAgICAnSW1hZ2UtaW4tbGluZScsXG4gICAgJ0ludGVncmF0aW9uLWZpbGxlZCcsXG4gICAgJ0ludGVncmF0aW9uLWluLWxpbmUnLFxuICAgICdMYXlvdXQtZmlsbGVkJyxcbiAgICAnTGF5b3V0LWluLWxpbmUnLFxuICAgICdMaWdodC1idWxiLWZpbGxlZCcsXG4gICAgJ0xpZ2h0LWJ1bGItaW4tbGluZScsXG4gICAgJ0xvY2F0aW9uLWZpbGxlZCcsXG4gICAgJ0xvY2F0aW9uLWluLWxpbmUnLFxuICAgICdNb3VzZS1maWxsZWQnLFxuICAgICdNb3VzZS1pbi1saW5lJyxcbiAgICAnTm90aWZpY2F0aW9uLWJlbGwtZmlsbGVkJyxcbiAgICAnTm90aWZpY2F0aW9uLWJlbGwtaW4tbGluZScsXG4gICAgJ1Bhc3N3b3JkLWZpbGxlZCcsXG4gICAgJ1Bhc3N3b3JkLWluLWxpbmUnLFxuICAgICdQYXRoLWZpbGxlZCcsXG4gICAgJ1BhdGgtaW4tbGluZScsXG4gICAgJ1Bpbi1tYXJrZXItZmlsbGVkJyxcbiAgICAnUGluLW1hcmtlci1pbi1saW5lJyxcbiAgICAnUGxhbi1iaWxsaW5nLWZpbGxlZCcsXG4gICAgJ1BsYW4tYmlsbGluZy1pbi1saW5lJyxcbiAgICAnUHJlbWl1bS1maWxsZWQnLFxuICAgICdQcmVtaXVtLWluLWxpbmUnLFxuICAgICdQcmVtaXVtLWNpcmNsZS1pbi1saW5lJyxcbiAgICAnU2VjdXJlLWZpbGxlZCcsXG4gICAgJ1NlY3VyZS1pbi1saW5lJyxcbiAgICAnU3BhcmtsZS1maWxsZWQnLFxuICAgICdTcGFya2xlLWluLWxpbmUnLFxuICAgICdTeW5jLWZpbGxlZCcsXG4gICAgJ1N5bmMtaW4tbGluZScsXG4gICAgJ1RhZy1maWxsZWQnLFxuICAgICdUYWctaW4tbGluZScsXG4gICAgJ1RlYW0tZmlsbGVkJyxcbiAgICAnVGVhbS1pbi1saW5lJyxcbiAgICAnVHJvcGh5LWZpbGxlZCcsXG4gICAgJ1Ryb3BoeS1pbi1saW5lJyxcbiAgICAnVXNlci1hY2Nlc3MtZmlsbGVkJyxcbiAgICAnVXNlci1hY2Nlc3MtaW4tbGluZScsXG4gICAgJ1VzZXItcHJvZmlsZS1maWxsZWQnLFxuICAgICdVc2VyLXByb2ZpbGUtaW4tbGluZScsXG4gICAgJ1ZvbHVtZS1maWxsZWQnLFxuICAgICdWb2x1bWUtaW4tbGluZScsXG4gIF0sXG59O1xuIl19
|
|
@@ -407,7 +407,7 @@ export class SpiderChartComponent {
|
|
|
407
407
|
return label.substring(firstLine.length).trim();
|
|
408
408
|
}
|
|
409
409
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpiderChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
410
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SpiderChartComponent, selector: "ui-spider-chart", inputs: { size: "size", spiderChartData: "spiderChartData", stepSize: "stepSize", ariaLabel: "ariaLabel", loading: "loading", applicationTheme: "applicationTheme" }, viewQueries: [{ propertyName: "chart", first: true, predicate: BaseChartDirective, descendants: true }, { propertyName: "labelContainers", predicate: ["labelContainer"], descendants: true }, { propertyName: "fakeDataPoints", predicate: ["fakeDataPoints"], descendants: true }, { propertyName: "fakeDataPointsSecondary", predicate: ["fakeDataPointsSecondary"], descendants: true }, { propertyName: "legendItems", predicate: ["legendItem"], descendants: true }], ngImport: i0, template: "<div class=\"spider-chart-container\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\">\n <div class=\"spacing-container\"\n [ngClass]=\"{'small-spacing': radarChartData.labels && radarChartData.labels.length % 2 === 1 && !loading}\">\n <div class=\"chart-container\"\n [style.width]=\"size === 'large' ? '280px' : '200px'\"\n [style.height]=\"size === 'large' ? '280px' : '200px'\">\n @if (!loading) {\n <canvas\n baseChart\n [data]=\"radarChartData\"\n [options]=\"radarChartOptions\"\n type=\"radar\"\n class=\"chart\"\n >\n </canvas>\n } @else {\n <canvas\n baseChart\n [data]=\"loadingChartData\"\n [options]=\"loadingChartOptions\"\n type=\"radar\"\n class=\"chart\"\n >\n </canvas>\n <ui-spinner></ui-spinner>\n }\n\n @if (labelPositionsVisible) {\n <div class=\"overlay-container\">\n @for (label of spiderChartData.labels; track label) {\n <div class=\"label-container\" #labelContainer\n [matTooltip]=\"spiderChartData.labelDescription[$index]\"\n [tabindex]=\"$index === 0 ? '0' : '-1'\"\n (keydown)=\"onLabelKeyDown($event, $index)\"\n [attr.aria-label]=\"spiderChartData.labelDescription[$index]\"\n [style.left]=\"getCenteredLabelLeftPosition(label, labelContainer.offsetWidth)\"\n [style.bottom]=\"getCenteredLabelBottomPosition(label, labelContainer.offsetHeight)\">\n @if (!(label.length > 20 && size === 'large' && spiderChartData.labels.length < 9)) {\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">\n {{ label }}\n </div>\n } @else {\n <div>\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">{{ label | memoizeFunc : getFirstLine }}</div>\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">{{ label | memoizeFunc : getSecondLine : this }}</div>\n </div>\n }\n <span class=\"value\">{{ spiderChartData.plotData[0].data[$index] }}</span>\n </div>\n <span class=\"fake-data-points\" #fakeDataPoints\n [tabindex]=\"focusedLabelIndex === $index ? '0' : '-1'\"\n (focus)=\"$index === focusedLabelIndex ? showTooltipForDataPoint($index) : null\"\n (keydown)=\"onFakeDataPointsKeyDown($event, $index)\">\n </span>\n @if (radarChartData.datasets.length > 1) {\n <span class=\"fake-data-points-secondary\" #fakeDataPointsSecondary\n [tabindex]=\"focusedFakeDataPointIndex === $index ? '0' : '-1'\"\n (focus)=\"$index === focusedFakeDataPointIndex ? showTooltipForDataPoint($index, true) : null\"\n (keydown)=\"onFakeDataPointsKeyDown($event, $index, true)\">\n </span>\n }\n }\n </div>\n }\n </div>\n </div>\n @if (radarChartData.datasets.length > 0) {\n <div class=\"legend-container\">\n @for (dataset of radarChartData.datasets; track dataset.label) {\n <div class=\"legend-item\"\n (click)=\"toggleDatasetVisibility($index)\"\n [tabindex]=\"$index === 0 ? '0' : '-1'\"\n role=\"button\"\n [attr.aria-pressed]=\"isDatasetVisible($index) ? false : true\"\n [attr.aria-label]=\"isDatasetVisible($index) ?\n ((translationContext + 'DATASET_VISIBLE') | uiTranslate : { dataset: dataset.label } | async) :\n ((translationContext + 'DATASET_HIDDEN') | uiTranslate : { dataset: dataset.label } | async)\"\n (keydown)=\"onLegendItemKeyDown($event, $index)\"\n #legendItem>\n <span class=\"legend-line\" [ngClass]=\"{'solid-line': $index === 0, 'dashed-line': $index === 1}\"></span>\n <span class=\"legend-label\" [style.text-decoration]=\"isDatasetVisible($index) ? 'none' : 'line-through'\">\n {{ dataset.label }}\n </span>\n </div>\n }\n </div>\n }\n</div>\n\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.spider-chart-container{display:flex;flex-direction:column;align-items:center}.spider-chart-container .spacing-container{padding:40px 140px}.spider-chart-container .spacing-container.small-spacing{padding:0 80px}.spider-chart-container .spacing-container .chart-container{position:relative}.spider-chart-container .spacing-container .chart-container .overlay-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container{display:flex;gap:4px;position:absolute;pointer-events:all;cursor:pointer}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .fake-data-points{visibility:hidden}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container:focus{outline:none}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .label{font-size:12px;border-bottom:1px dashed #D3D3D3;white-space:nowrap;overflow:hidden;width:fit-content;text-overflow:ellipsis}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .value{font-weight:700}.spider-chart-container .legend-container{display:flex;gap:16px;cursor:pointer}.spider-chart-container .legend-container .legend-item{display:flex;align-items:center;gap:8px}.spider-chart-container .legend-container .legend-item .legend-line{display:inline-block;width:11px;height:4px}.spider-chart-container .legend-container .legend-item .solid-line{background-color:#d410aa}.spider-chart-container .legend-container .legend-item .dashed-line{border-top:2px dashed #242424}:host ::ng-deep .spider-chart-container .spinner-container.loader{position:absolute}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.BaseChartDirective, selector: "canvas[baseChart]", inputs: ["type", "legend", "data", "options", "plugins", "labels", "datasets"], outputs: ["chartClick", "chartHover"], exportAs: ["base-chart"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.SpinnerComponent, selector: "ui-spinner", inputs: ["size", "isLoader", "text", "applicationTheme"
|
|
410
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SpiderChartComponent, selector: "ui-spider-chart", inputs: { size: "size", spiderChartData: "spiderChartData", stepSize: "stepSize", ariaLabel: "ariaLabel", loading: "loading", applicationTheme: "applicationTheme" }, viewQueries: [{ propertyName: "chart", first: true, predicate: BaseChartDirective, descendants: true }, { propertyName: "labelContainers", predicate: ["labelContainer"], descendants: true }, { propertyName: "fakeDataPoints", predicate: ["fakeDataPoints"], descendants: true }, { propertyName: "fakeDataPointsSecondary", predicate: ["fakeDataPointsSecondary"], descendants: true }, { propertyName: "legendItems", predicate: ["legendItem"], descendants: true }], ngImport: i0, template: "<div class=\"spider-chart-container\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\">\n <div class=\"spacing-container\"\n [ngClass]=\"{'small-spacing': radarChartData.labels && radarChartData.labels.length % 2 === 1 && !loading}\">\n <div class=\"chart-container\"\n [style.width]=\"size === 'large' ? '280px' : '200px'\"\n [style.height]=\"size === 'large' ? '280px' : '200px'\">\n @if (!loading) {\n <canvas\n baseChart\n [data]=\"radarChartData\"\n [options]=\"radarChartOptions\"\n type=\"radar\"\n class=\"chart\"\n >\n </canvas>\n } @else {\n <canvas\n baseChart\n [data]=\"loadingChartData\"\n [options]=\"loadingChartOptions\"\n type=\"radar\"\n class=\"chart\"\n >\n </canvas>\n <ui-spinner></ui-spinner>\n }\n\n @if (labelPositionsVisible) {\n <div class=\"overlay-container\">\n @for (label of spiderChartData.labels; track label) {\n <div class=\"label-container\" #labelContainer\n [matTooltip]=\"spiderChartData.labelDescription[$index]\"\n [tabindex]=\"$index === 0 ? '0' : '-1'\"\n (keydown)=\"onLabelKeyDown($event, $index)\"\n [attr.aria-label]=\"spiderChartData.labelDescription[$index]\"\n [style.left]=\"getCenteredLabelLeftPosition(label, labelContainer.offsetWidth)\"\n [style.bottom]=\"getCenteredLabelBottomPosition(label, labelContainer.offsetHeight)\">\n @if (!(label.length > 20 && size === 'large' && spiderChartData.labels.length < 9)) {\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">\n {{ label }}\n </div>\n } @else {\n <div>\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">{{ label | memoizeFunc : getFirstLine }}</div>\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">{{ label | memoizeFunc : getSecondLine : this }}</div>\n </div>\n }\n <span class=\"value\">{{ spiderChartData.plotData[0].data[$index] }}</span>\n </div>\n <span class=\"fake-data-points\" #fakeDataPoints\n [tabindex]=\"focusedLabelIndex === $index ? '0' : '-1'\"\n (focus)=\"$index === focusedLabelIndex ? showTooltipForDataPoint($index) : null\"\n (keydown)=\"onFakeDataPointsKeyDown($event, $index)\">\n </span>\n @if (radarChartData.datasets.length > 1) {\n <span class=\"fake-data-points-secondary\" #fakeDataPointsSecondary\n [tabindex]=\"focusedFakeDataPointIndex === $index ? '0' : '-1'\"\n (focus)=\"$index === focusedFakeDataPointIndex ? showTooltipForDataPoint($index, true) : null\"\n (keydown)=\"onFakeDataPointsKeyDown($event, $index, true)\">\n </span>\n }\n }\n </div>\n }\n </div>\n </div>\n @if (radarChartData.datasets.length > 0) {\n <div class=\"legend-container\">\n @for (dataset of radarChartData.datasets; track dataset.label) {\n <div class=\"legend-item\"\n (click)=\"toggleDatasetVisibility($index)\"\n [tabindex]=\"$index === 0 ? '0' : '-1'\"\n role=\"button\"\n [attr.aria-pressed]=\"isDatasetVisible($index) ? false : true\"\n [attr.aria-label]=\"isDatasetVisible($index) ?\n ((translationContext + 'DATASET_VISIBLE') | uiTranslate : { dataset: dataset.label } | async) :\n ((translationContext + 'DATASET_HIDDEN') | uiTranslate : { dataset: dataset.label } | async)\"\n (keydown)=\"onLegendItemKeyDown($event, $index)\"\n #legendItem>\n <span class=\"legend-line\" [ngClass]=\"{'solid-line': $index === 0, 'dashed-line': $index === 1}\"></span>\n <span class=\"legend-label\" [style.text-decoration]=\"isDatasetVisible($index) ? 'none' : 'line-through'\">\n {{ dataset.label }}\n </span>\n </div>\n }\n </div>\n }\n</div>\n\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.spider-chart-container{display:flex;flex-direction:column;align-items:center}.spider-chart-container .spacing-container{padding:40px 140px}.spider-chart-container .spacing-container.small-spacing{padding:0 80px}.spider-chart-container .spacing-container .chart-container{position:relative}.spider-chart-container .spacing-container .chart-container .overlay-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container{display:flex;gap:4px;position:absolute;pointer-events:all;cursor:pointer}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .fake-data-points{visibility:hidden}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container:focus{outline:none}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .label{font-size:12px;border-bottom:1px dashed #D3D3D3;white-space:nowrap;overflow:hidden;width:fit-content;text-overflow:ellipsis}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .value{font-weight:700}.spider-chart-container .legend-container{display:flex;gap:16px;cursor:pointer}.spider-chart-container .legend-container .legend-item{display:flex;align-items:center;gap:8px}.spider-chart-container .legend-container .legend-item .legend-line{display:inline-block;width:11px;height:4px}.spider-chart-container .legend-container .legend-item .solid-line{background-color:#d410aa}.spider-chart-container .legend-container .legend-item .dashed-line{border-top:2px dashed #242424}:host ::ng-deep .spider-chart-container .spinner-container.loader{position:absolute}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.BaseChartDirective, selector: "canvas[baseChart]", inputs: ["type", "legend", "data", "options", "plugins", "labels", "datasets"], outputs: ["chartClick", "chartHover"], exportAs: ["base-chart"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.SpinnerComponent, selector: "ui-spinner", inputs: ["size", "isLoader", "text", "applicationTheme"] }, { kind: "pipe", type: i5.UiTranslatePipe, name: "uiTranslate" }, { kind: "pipe", type: i6.MemoizeFuncPipe, name: "memoizeFunc" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
|
|
411
411
|
}
|
|
412
412
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpiderChartComponent, decorators: [{
|
|
413
413
|
type: Component,
|