@coreui/icons-angular 5.2.21 → 5.2.23

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.
@@ -1,5 +1,5 @@
1
1
  import { NgClass } from '@angular/common';
2
- import { Component, computed, ElementRef, inject, Input, Renderer2, signal, ViewChild } from '@angular/core';
2
+ import { afterNextRender, Component, computed, effect, ElementRef, inject, input, Renderer2, signal, viewChild } from '@angular/core';
3
3
  import { DomSanitizer } from '@angular/platform-browser';
4
4
  import { HtmlAttributesDirective } from '../shared/html-attr.directive';
5
5
  import { IconSetService } from '../icon-set';
@@ -10,109 +10,88 @@ export class IconComponent {
10
10
  #elementRef;
11
11
  #sanitizer;
12
12
  #iconSet;
13
+ #hostElement;
13
14
  constructor() {
14
15
  this.#renderer = inject(Renderer2);
15
16
  this.#elementRef = inject(ElementRef);
16
17
  this.#sanitizer = inject(DomSanitizer);
17
18
  this.#iconSet = inject(IconSetService);
18
- this.#content = signal('');
19
- this.attributes = { role: 'img' };
20
- this.size = '';
21
- this.use = '';
22
- this.#name = signal('');
19
+ this.#hostElement = signal(undefined);
20
+ this.content = input();
21
+ this.attributes = input({ role: 'img' });
22
+ this.customClasses = input();
23
+ this.size = input('');
24
+ this.title = input();
25
+ this.use = input('');
26
+ this.height = input();
27
+ this.width = input();
28
+ this.name = input('', { transform: transformName });
29
+ this.viewBoxInput = input(undefined, { alias: 'viewBox' });
30
+ this.svgElementRef = viewChild('svgElement');
31
+ this.svgElementEffect = effect(() => {
32
+ const svgElementRef = this.svgElementRef();
33
+ const hostElement = this.#hostElement()?.nativeElement;
34
+ if (svgElementRef && hostElement) {
35
+ const svgElement = svgElementRef.nativeElement;
36
+ hostElement.classList?.values()?.forEach((item) => {
37
+ this.#renderer.addClass(svgElement, item);
38
+ });
39
+ const parentElement = this.#renderer.parentNode(hostElement);
40
+ this.#renderer.insertBefore(parentElement, svgElement, hostElement);
41
+ this.#renderer.removeChild(parentElement, hostElement);
42
+ }
43
+ });
44
+ this.viewBox = computed(() => {
45
+ return this.viewBoxInput() ?? this.scale();
46
+ });
23
47
  this.innerHtml = computed(() => {
24
- const code = Array.isArray(this.code()) ? (this.code()[1] ?? this.code()[0] ?? '') : this.code() || '';
48
+ const codeVal = this.code();
49
+ const code = Array.isArray(codeVal) ? (codeVal?.[1] ?? codeVal?.[0] ?? '') : codeVal || '';
25
50
  // todo proper sanitize
26
51
  // const sanitized = this.sanitizer.sanitize(SecurityContext.HTML, code);
27
- return this.#sanitizer.bypassSecurityTrustHtml(this.titleCode + code || '');
52
+ return this.#sanitizer.bypassSecurityTrustHtml(this.#titleCode() + code || '');
53
+ });
54
+ this.#titleCode = computed(() => {
55
+ return this.title() ? `<title>${this.title()}</title>` : '';
28
56
  });
29
57
  this.code = computed(() => {
30
- if (this.#content()) {
31
- return this.#content();
58
+ const content = this.content();
59
+ if (content) {
60
+ return content;
32
61
  }
33
- if (this.#iconSet && this.#name()) {
34
- return this.#iconSet.getIcon(this.#name());
62
+ const name = this.name();
63
+ if (this.#iconSet && name) {
64
+ return this.#iconSet.getIcon(name);
35
65
  }
36
- if (this.#name() && !this.#iconSet?.icons[this.#name()]) {
37
- console.warn(`c-icon component: icon name '${this.#name()}' does not exist for IconSet service. ` +
38
- `To use icon by 'name' prop you need to add it to IconSet service. \n`, this.#name());
66
+ if (name && !this.#iconSet?.icons[name]) {
67
+ console.warn(`c-icon component: The '${name}' icon not found. Add it to the IconSet service for use with the 'name' property. \n`, name);
39
68
  }
40
69
  return '';
41
70
  });
42
71
  this.scale = computed(() => {
43
- return Array.isArray(this.code()) && this.code().length > 1 ? `0 0 ${this.code()[0]}` : '0 0 64 64';
72
+ return Array.isArray(this.code()) && (this.code()?.length ?? 0) > 1 ? `0 0 ${this.code()?.[0]}` : '0 0 64 64';
44
73
  });
45
- this.#renderer.setStyle(this.#elementRef.nativeElement, 'display', 'none');
46
- }
47
- set content(value) {
48
- this.#content.set(value);
49
- }
50
- #content;
51
- set name(value) {
52
- this.#name.set(value);
53
- }
54
- get name() {
55
- return this.#name();
56
- }
57
- #name;
58
- set viewBox(viewBox) {
59
- this._viewBox = viewBox;
60
- }
61
- get viewBox() {
62
- return this._viewBox ?? this.scale();
63
- }
64
- ngAfterViewInit() {
65
- this.#elementRef.nativeElement.classList.forEach((item) => {
66
- this.#renderer.addClass(this.svgElementRef.nativeElement, item);
74
+ this.computedSize = computed(() => {
75
+ const addCustom = !this.size() && (this.width() || this.height());
76
+ return this.size() === 'custom' || addCustom ? 'custom-size' : this.size();
77
+ });
78
+ this.computedClasses = computed(() => {
79
+ const classes = {
80
+ icon: true,
81
+ [`icon-${this.computedSize()}`]: !!this.computedSize()
82
+ };
83
+ return this.customClasses() ?? classes;
84
+ });
85
+ afterNextRender(() => {
86
+ this.#hostElement.set(this.#elementRef);
67
87
  });
68
- const parentElement = this.#renderer.parentNode(this.#elementRef.nativeElement);
69
- const svgElement = this.svgElementRef.nativeElement;
70
- this.#renderer.insertBefore(parentElement, svgElement, this.#elementRef.nativeElement);
71
- this.#renderer.removeChild(parentElement, this.#elementRef.nativeElement);
72
- }
73
- get titleCode() {
74
- return this.title ? `<title>${this.title}</title>` : '';
75
- }
76
- get computedSize() {
77
- const addCustom = !this.size && (this.width || this.height);
78
- return this.size === 'custom' || addCustom ? 'custom-size' : this.size;
79
- }
80
- get computedClasses() {
81
- const classes = {
82
- icon: true,
83
- [`icon-${this.computedSize}`]: !!this.computedSize
84
- };
85
- return this.customClasses ?? classes;
86
88
  }
87
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
88
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: IconComponent, isStandalone: true, selector: "c-icon", inputs: { content: "content", attributes: "attributes", customClasses: "customClasses", size: "size", title: "title", use: "use", height: "height", width: "width", name: ["name", "name", transformName], viewBox: "viewBox" }, host: { attributes: { "ngSkipHydration": "true" } }, viewQueries: [{ propertyName: "svgElementRef", first: true, predicate: ["svgElement"], descendants: true, read: ElementRef }], exportAs: ["cIconComponent"], ngImport: i0, template: "@if (!use && !!code) {\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n [attr.width]=\"width\"\n [attr.height]=\"height || width\"\n [attr.viewBox]=\"viewBox\"\n [innerHtml]=\"innerHtml()\"\n [ngClass]=\"computedClasses\"\n [cHtmlAttr]=\"attributes\"\n aria-hidden=\"true\"\n pointer-events=\"none\"\n role=\"img\"\n #svgElement\n >\n </svg>\n} @else if (use) {\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n [attr.width]=\"width\"\n [attr.height]=\"height || width\"\n [ngClass]=\"computedClasses\"\n [cHtmlAttr]=\"attributes\"\n aria-hidden=\"true\"\n pointer-events=\"none\"\n role=\"img\"\n #svgElement\n >\n <use [attr.href]=\"use\"></use>\n </svg>\n}\n", styles: [".icon{display:inline-block;color:inherit;text-align:center;vertical-align:-.125rem;fill:currentColor}.icon:not(.icon-c-s):not(.icon-custom-size){width:1rem;height:1rem;font-size:1rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-xxl{width:2rem;height:2rem;font-size:2rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-xl{width:1.5rem;height:1.5rem;font-size:1.5rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-lg{width:1.25rem;height:1.25rem;font-size:1.25rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-sm{width:.875rem;height:.875rem;font-size:.875rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-3xl{width:3rem;height:3rem;font-size:3rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-4xl{width:4rem;height:4rem;font-size:4rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-5xl{width:5rem;height:5rem;font-size:5rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-6xl{width:6rem;height:6rem;font-size:6rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-7xl{width:7rem;height:7rem;font-size:7rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-8xl{width:8rem;height:8rem;font-size:8rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-9xl{width:9rem;height:9rem;font-size:9rem}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: HtmlAttributesDirective, selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }] }); }
89
+ #titleCode;
90
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
91
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: IconComponent, isStandalone: true, selector: "c-icon", inputs: { content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, attributes: { classPropertyName: "attributes", publicName: "attributes", isSignal: true, isRequired: false, transformFunction: null }, customClasses: { classPropertyName: "customClasses", publicName: "customClasses", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, use: { classPropertyName: "use", publicName: "use", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, viewBoxInput: { classPropertyName: "viewBoxInput", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "ngSkipHydration": "true" }, styleAttribute: "display: none" }, viewQueries: [{ propertyName: "svgElementRef", first: true, predicate: ["svgElement"], descendants: true, isSignal: true }], exportAs: ["cIconComponent"], ngImport: i0, template: "@if (!use() && !!code()) {\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n [attr.width]=\"width()\"\n [attr.height]=\"height() || width()\"\n [attr.viewBox]=\"viewBox() ?? scale()\"\n [innerHtml]=\"innerHtml()\"\n [ngClass]=\"computedClasses()\"\n [cHtmlAttr]=\"attributes()\"\n aria-hidden=\"true\"\n pointer-events=\"none\"\n role=\"img\"\n #svgElement\n >\n </svg>\n} @else if (use()) {\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n [attr.width]=\"width()\"\n [attr.height]=\"height() || width()\"\n [ngClass]=\"computedClasses()\"\n [cHtmlAttr]=\"attributes()\"\n aria-hidden=\"true\"\n pointer-events=\"none\"\n role=\"img\"\n #svgElement\n >\n <use [attr.href]=\"use()\"></use>\n </svg>\n}\n", styles: [".icon{display:inline-block;color:inherit;text-align:center;vertical-align:-.125rem;fill:currentColor}.icon:not(.icon-c-s):not(.icon-custom-size){width:1rem;height:1rem;font-size:1rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-xxl{width:2rem;height:2rem;font-size:2rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-xl{width:1.5rem;height:1.5rem;font-size:1.5rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-lg{width:1.25rem;height:1.25rem;font-size:1.25rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-sm{width:.875rem;height:.875rem;font-size:.875rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-3xl{width:3rem;height:3rem;font-size:3rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-4xl{width:4rem;height:4rem;font-size:4rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-5xl{width:5rem;height:5rem;font-size:5rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-6xl{width:6rem;height:6rem;font-size:6rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-7xl{width:7rem;height:7rem;font-size:7rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-8xl{width:8rem;height:8rem;font-size:8rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-9xl{width:9rem;height:9rem;font-size:9rem}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: HtmlAttributesDirective, selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }] }); }
89
92
  }
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: IconComponent, decorators: [{
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IconComponent, decorators: [{
91
94
  type: Component,
92
- args: [{ exportAs: 'cIconComponent', imports: [NgClass, HtmlAttributesDirective], selector: 'c-icon', standalone: true, host: { ngSkipHydration: 'true' }, template: "@if (!use && !!code) {\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n [attr.width]=\"width\"\n [attr.height]=\"height || width\"\n [attr.viewBox]=\"viewBox\"\n [innerHtml]=\"innerHtml()\"\n [ngClass]=\"computedClasses\"\n [cHtmlAttr]=\"attributes\"\n aria-hidden=\"true\"\n pointer-events=\"none\"\n role=\"img\"\n #svgElement\n >\n </svg>\n} @else if (use) {\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n [attr.width]=\"width\"\n [attr.height]=\"height || width\"\n [ngClass]=\"computedClasses\"\n [cHtmlAttr]=\"attributes\"\n aria-hidden=\"true\"\n pointer-events=\"none\"\n role=\"img\"\n #svgElement\n >\n <use [attr.href]=\"use\"></use>\n </svg>\n}\n", styles: [".icon{display:inline-block;color:inherit;text-align:center;vertical-align:-.125rem;fill:currentColor}.icon:not(.icon-c-s):not(.icon-custom-size){width:1rem;height:1rem;font-size:1rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-xxl{width:2rem;height:2rem;font-size:2rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-xl{width:1.5rem;height:1.5rem;font-size:1.5rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-lg{width:1.25rem;height:1.25rem;font-size:1.25rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-sm{width:.875rem;height:.875rem;font-size:.875rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-3xl{width:3rem;height:3rem;font-size:3rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-4xl{width:4rem;height:4rem;font-size:4rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-5xl{width:5rem;height:5rem;font-size:5rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-6xl{width:6rem;height:6rem;font-size:6rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-7xl{width:7rem;height:7rem;font-size:7rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-8xl{width:8rem;height:8rem;font-size:8rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-9xl{width:9rem;height:9rem;font-size:9rem}\n"] }]
93
- }], ctorParameters: () => [], propDecorators: { content: [{
94
- type: Input
95
- }], attributes: [{
96
- type: Input
97
- }], customClasses: [{
98
- type: Input
99
- }], size: [{
100
- type: Input
101
- }], title: [{
102
- type: Input
103
- }], use: [{
104
- type: Input
105
- }], height: [{
106
- type: Input
107
- }], width: [{
108
- type: Input
109
- }], name: [{
110
- type: Input,
111
- args: [{ transform: transformName }]
112
- }], viewBox: [{
113
- type: Input
114
- }], svgElementRef: [{
115
- type: ViewChild,
116
- args: ['svgElement', { read: ElementRef }]
117
- }] } });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktaWNvbnMtYW5ndWxhci9zcmMvbGliL2ljb24vaWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktaWNvbnMtYW5ndWxhci9zcmMvbGliL2ljb24vaWNvbi5jb21wb25lbnQuc3ZnIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBRUwsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFekQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQVc3QyxNQUFNLE9BQU8sYUFBYTtJQUNmLFNBQVMsQ0FBcUI7SUFDOUIsV0FBVyxDQUFzQjtJQUNqQyxVQUFVLENBQXdCO0lBQ2xDLFFBQVEsQ0FBMEI7SUFFM0M7UUFMUyxjQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pDLGVBQVUsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbEMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQVdsQyxhQUFRLEdBQUcsTUFBTSxDQUE0QixFQUFFLENBQUMsQ0FBQztRQUVqRCxlQUFVLEdBQVEsRUFBRSxJQUFJLEVB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QUUsSUFBSTtZQUNWLENBQUMsUUFBUSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVk7U0FDbkQsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLGFBQWEsSUFBSSxPQUFPLENBQUM7SUFDdkMsQ0FBQzs4R0F0R1UsYUFBYTtrR0FBYixhQUFhLHFPQXlCSixhQUFhLDhMQXNCQSxVQUFVLDJEQzNFN0MseXRCQThCQSxpdkNEVFksT0FBTyxvRkFBRSx1QkFBdUI7OzJGQU8vQixhQUFhO2tCQVR6QixTQUFTOytCQUNFLGdCQUFnQixXQUNqQixDQUFDLE9BQU8sRUFBRSx1QkFBdUIsQ0FBQyxZQUNqQyxRQUFRLGNBQ04sSUFBSSxRQUdWLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRTt3REFhN0IsT0FBTztzQkFEVixLQUFLO2dCQU9HLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUdGLElBQUk7c0JBRFAsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUU7Z0JBWS9CLE9BQU87c0JBRFYsS0FBSztnQkFXeUMsYUFBYTtzQkFBM0QsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBFbGVtZW50UmVmLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBSZW5kZXJlcjIsXG4gIHNpZ25hbCxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbmltcG9ydCB7IEh0bWxBdHRyaWJ1dGVzRGlyZWN0aXZlIH0gZnJvbSAnLi4vc2hhcmVkL2h0bWwtYXR0ci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWNvblNldFNlcnZpY2UgfSBmcm9tICcuLi9pY29uLXNldCc7XG5pbXBvcnQgeyBJY29uU2l6ZSwgSUljb24gfSBmcm9tICcuL2ljb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IHRyYW5zZm9ybU5hbWUgfSBmcm9tICcuL2ljb24udXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgZXhwb3J0QXM6ICdjSWNvbkNvbXBvbmVudCcsXG4gIGltcG9ydHM6IFtOZ0NsYXNzLCBIdG1sQXR0cmlidXRlc0RpcmVjdGl2ZV0sXG4gIHNlbGVjdG9yOiAnYy1pY29uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc3R5bGVVcmxzOiBbJy4vaWNvbi5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vaWNvbi5jb21wb25lbnQuc3ZnJyxcbiAgaG9zdDogeyBuZ1NraXBIeWRyYXRpb246ICd0cnVlJyB9XG59KVxuZXhwb3J0IGNsYXNzIEljb25Db21wb25lbnQgaW1wbGVtZW50cyBJSWNvbiwgQWZ0ZXJWaWV3SW5pdCB7XG4gIHJlYWRvbmx5ICNyZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICByZWFkb25seSAjZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcmVhZG9ubHkgI3Nhbml0aXplciA9IGluamVjdChEb21TYW5pdGl6ZXIpO1xuICByZWFkb25seSAjaWNvblNldCA9IGluamVjdChJY29uU2V0U2VydmljZSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy4jcmVuZGVyZXIuc2V0U3R5bGUodGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZGlzcGxheScsICdub25lJyk7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgY29udGVudCh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10gfCBhbnlbXSkge1xuICAgIHRoaXMuI2NvbnRlbnQuc2V0KHZhbHVlKTtcbiAgfVxuXG4gIHJlYWRvbmx5ICNjb250ZW50ID0gc2lnbmFsPHN0cmluZyB8IHN0cmluZ1tdIHwgYW55W10+KCcnKTtcblxuICBASW5wdXQoKSBhdHRyaWJ1dGVzOiBhbnkgPSB7IHJvbGU6ICdpbWcnIH07XG4gIEBJbnB1dCgpIGN1c3RvbUNsYXNzZXM/OiBzdHJpbmcgfCBzdHJpbmdbXSB8IFNldDxzdHJpbmc+IHwgeyBba2xhc3M6IHN0cmluZ106IGFueSB9O1xuICBASW5wdXQoKSBzaXplOiBJY29uU2l6ZSA9ICcnO1xuICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcbiAgQElucHV0KCkgdXNlID0gJyc7XG4gIEBJbnB1dCgpIGhlaWdodD86IHN0cmluZztcbiAgQElucHV0KCkgd2lkdGg/OiBzdHJpbmc7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiB0cmFuc2Zvcm1OYW1lIH0pXG4gIHNldCBuYW1lKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLiNuYW1lLnNldCh2YWx1ZSk7XG4gIH1cblxuICBnZXQgbmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy4jbmFtZSgpO1xuICB9XG5cbiAgcmVhZG9ubHkgI25hbWUgPSBzaWduYWwoJycpO1xuXG4gIEBJbnB1dCgpXG4gIHNldCB2aWV3Qm94KHZpZXdCb3g6IHN0cmluZykge1xuICAgIHRoaXMuX3ZpZXdCb3ggPSB2aWV3Qm94O1xuICB9XG5cbiAgZ2V0IHZpZXdCb3goKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdmlld0JveCA/PyB0aGlzLnNjYWxlKCk7XG4gIH1cblxuICBwcml2YXRlIF92aWV3Qm94ITogc3RyaW5nO1xuXG4gIEBWaWV3Q2hpbGQoJ3N2Z0VsZW1lbnQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgc3ZnRWxlbWVudFJlZiE6IEVsZW1lbnRSZWY7XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuZm9yRWFjaCgoaXRlbTogc3RyaW5nKSA9PiB7XG4gICAgICB0aGlzLiNyZW5kZXJlci5hZGRDbGFzcyh0aGlzLnN2Z0VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgaXRlbSk7XG4gICAgfSk7XG4gICAgY29uc3QgcGFyZW50RWxlbWVudCA9IHRoaXMuI3JlbmRlcmVyLnBhcmVudE5vZGUodGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICBjb25zdCBzdmdFbGVtZW50ID0gdGhpcy5zdmdFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgdGhpcy4jcmVuZGVyZXIuaW5zZXJ0QmVmb3JlKHBhcmVudEVsZW1lbnQsIHN2Z0VsZW1lbnQsIHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgdGhpcy4jcmVuZGVyZXIucmVtb3ZlQ2hpbGQocGFyZW50RWxlbWVudCwgdGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIHJlYWRvbmx5IGlubmVySHRtbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjb2RlID0gQXJyYXkuaXNBcnJheSh0aGlzLmNvZGUoKSkgPyAodGhpcy5jb2RlKClbMV0gPz8gdGhpcy5jb2RlKClbMF0gPz8gJycpIDogdGhpcy5jb2RlKCkgfHwgJyc7XG4gICAgLy8gdG9kbyBwcm9wZXIgc2FuaXRpemVcbiAgICAvLyBjb25zdCBzYW5pdGl6ZWQgPSB0aGlzLnNhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuSFRNTCwgY29kZSk7XG4gICAgcmV0dXJuIHRoaXMuI3Nhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh0aGlzLnRpdGxlQ29kZSArIGNvZGUgfHwgJycpO1xuICB9KTtcblxuICBnZXQgdGl0bGVDb2RlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudGl0bGUgPyBgPHRpdGxlPiR7dGhpcy50aXRsZX08L3RpdGxlPmAgOiAnJztcbiAgfVxuXG4gIHJlYWRvbmx5IGNvZGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgaWYgKHRoaXMuI2NvbnRlbnQoKSkge1xuICAgICAgcmV0dXJuIHRoaXMuI2NvbnRlbnQoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuI2ljb25TZXQgJiYgdGhpcy4jbmFtZSgpKSB7XG4gICAgICByZXR1cm4gdGhpcy4jaWNvblNldC5nZXRJY29uKHRoaXMuI25hbWUoKSk7XG4gICAgfVxuICAgIGlmICh0aGlzLiNuYW1lKCkgJiYgIXRoaXMuI2ljb25TZXQ/Lmljb25zW3RoaXMuI25hbWUoKV0pIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYGMtaWNvbiBjb21wb25lbnQ6IGljb24gbmFtZSAnJHt0aGlzLiNuYW1lKCl9JyBkb2VzIG5vdCBleGlzdCBmb3IgSWNvblNldCBzZXJ2aWNlLiBgICtcbiAgICAgICAgICBgVG8gdXNlIGljb24gYnkgJ25hbWUnIHByb3AgeW91IG5lZWQgdG8gYWRkIGl0IHRvIEljb25TZXQgc2VydmljZS4gXFxuYCxcbiAgICAgICAgdGhpcy4jbmFtZSgpXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IHNjYWxlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHRoaXMuY29kZSgpKSAmJiB0aGlzLmNvZGUoKS5sZW5ndGggPiAxID8gYDAgMCAke3RoaXMuY29kZSgpWzBdfWAgOiAnMCAwIDY0IDY0JztcbiAgfSk7XG5cbiAgZ2V0IGNvbXB1dGVkU2l6ZSgpOiBFeGNsdWRlPEljb25TaXplLCAnY3VzdG9tJz4gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGFkZEN1c3RvbSA9ICF0aGlzLnNpemUgJiYgKHRoaXMud2lkdGggfHwgdGhpcy5oZWlnaHQpO1xuICAgIHJldHVybiB0aGlzLnNpemUgPT09ICdjdXN0b20nIHx8IGFkZEN1c3RvbSA/ICdjdXN0b20tc2l6ZScgOiB0aGlzLnNpemU7XG4gIH1cblxuICBnZXQgY29tcHV0ZWRDbGFzc2VzKCkge1xuICAgIGNvbnN0IGNsYXNzZXMgPSB7XG4gICAgICBpY29uOiB0cnVlLFxuICAgICAgW2BpY29uLSR7dGhpcy5jb21wdXRlZFNpemV9YF06ICEhdGhpcy5jb21wdXRlZFNpemVcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmN1c3RvbUNsYXNzZXMgPz8gY2xhc3NlcztcbiAgfVxufVxuIiwiQGlmICghdXNlICYmICEhY29kZSkge1xuICA8c3ZnXG4gICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgW2F0dHIud2lkdGhdPVwid2lkdGhcIlxuICAgIFthdHRyLmhlaWdodF09XCJoZWlnaHQgfHwgd2lkdGhcIlxuICAgIFthdHRyLnZpZXdCb3hdPVwidmlld0JveFwiXG4gICAgW2lubmVySHRtbF09XCJpbm5lckh0bWwoKVwiXG4gICAgW25nQ2xhc3NdPVwiY29tcHV0ZWRDbGFzc2VzXCJcbiAgICBbY0h0bWxBdHRyXT1cImF0dHJpYnV0ZXNcIlxuICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgcG9pbnRlci1ldmVudHM9XCJub25lXCJcbiAgICByb2xlPVwiaW1nXCJcbiAgICAjc3ZnRWxlbWVudFxuICA+XG4gIDwvc3ZnPlxufSBAZWxzZSBpZiAodXNlKSB7XG4gIDxzdmdcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICBbYXR0ci53aWR0aF09XCJ3aWR0aFwiXG4gICAgW2F0dHIuaGVpZ2h0XT1cImhlaWdodCB8fCB3aWR0aFwiXG4gICAgW25nQ2xhc3NdPVwiY29tcHV0ZWRDbGFzc2VzXCJcbiAgICBbY0h0bWxBdHRyXT1cImF0dHJpYnV0ZXNcIlxuICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgcG9pbnRlci1ldmVudHM9XCJub25lXCJcbiAgICByb2xlPVwiaW1nXCJcbiAgICAjc3ZnRWxlbWVudFxuICA+XG4gICAgPHVzZSBbYXR0ci5ocmVmXT1cInVzZVwiPjwvdXNlPlxuICA8L3N2Zz5cbn1cbiJdfQ==
95
+ args: [{ exportAs: 'cIconComponent', imports: [NgClass, HtmlAttributesDirective], selector: 'c-icon', standalone: true, host: { ngSkipHydration: 'true', style: 'display: none' }, template: "@if (!use() && !!code()) {\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n [attr.width]=\"width()\"\n [attr.height]=\"height() || width()\"\n [attr.viewBox]=\"viewBox() ?? scale()\"\n [innerHtml]=\"innerHtml()\"\n [ngClass]=\"computedClasses()\"\n [cHtmlAttr]=\"attributes()\"\n aria-hidden=\"true\"\n pointer-events=\"none\"\n role=\"img\"\n #svgElement\n >\n </svg>\n} @else if (use()) {\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n [attr.width]=\"width()\"\n [attr.height]=\"height() || width()\"\n [ngClass]=\"computedClasses()\"\n [cHtmlAttr]=\"attributes()\"\n aria-hidden=\"true\"\n pointer-events=\"none\"\n role=\"img\"\n #svgElement\n >\n <use [attr.href]=\"use()\"></use>\n </svg>\n}\n", styles: [".icon{display:inline-block;color:inherit;text-align:center;vertical-align:-.125rem;fill:currentColor}.icon:not(.icon-c-s):not(.icon-custom-size){width:1rem;height:1rem;font-size:1rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-xxl{width:2rem;height:2rem;font-size:2rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-xl{width:1.5rem;height:1.5rem;font-size:1.5rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-lg{width:1.25rem;height:1.25rem;font-size:1.25rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-sm{width:.875rem;height:.875rem;font-size:.875rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-3xl{width:3rem;height:3rem;font-size:3rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-4xl{width:4rem;height:4rem;font-size:4rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-5xl{width:5rem;height:5rem;font-size:5rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-6xl{width:6rem;height:6rem;font-size:6rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-7xl{width:7rem;height:7rem;font-size:7rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-8xl{width:8rem;height:8rem;font-size:8rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-9xl{width:9rem;height:9rem;font-size:9rem}\n"] }]
96
+ }], ctorParameters: () => [] });
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktaWNvbnMtYW5ndWxhci9zcmMvbGliL2ljb24vaWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktaWNvbnMtYW5ndWxhci9zcmMvbGliL2ljb24vaWNvbi5jb21wb25lbnQuc3ZnIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQ0wsZUFBZSxFQUNmLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBVzdDLE1BQU0sT0FBTyxhQUFhO0lBQ2YsU0FBUyxDQUFxQjtJQUM5QixXQUFXLENBQXNCO0lBQ2pDLFVBQVUsQ0FBd0I7SUFDbEMsUUFBUSxDQUEwQjtJQUNsQyxZQUFZLENBQWtEO0lBRXZFO1FBTlMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqQyxlQUFVLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2xDLGFBQVEsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbEMsaUJBQVksR0FBRyxNQUFNLENBQThCLFNBQVMs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QUksRUFBRSxLQUFLLFFBQVEsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzdFLENBQUMsQ0FBQyxDQUFDO1FBRU0sb0JBQWUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3ZDLE1BQU0sT0FBTyxHQUFHO2dCQUNkLElBQUksRUFBRSxJQUFJO2dCQUNWLENBQUMsUUFBUSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO2FBQ3ZELENBQUM7WUFDRixPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxPQUFPLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7UUFsRkQsZUFBZSxDQUFDLEdBQUcsRUFBRTtZQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBMENRLFVBQVUsQ0FFaEI7OEdBdkRRLGFBQWE7a0dBQWIsYUFBYSxtaURDN0IxQixrd0JBOEJBLGl2Q0RSWSxPQUFPLG9GQUFFLHVCQUF1Qjs7MkZBTy9CLGFBQWE7a0JBVHpCLFNBQVM7K0JBQ0UsZ0JBQWdCLFdBQ2pCLENBQUMsT0FBTyxFQUFFLHVCQUF1QixDQUFDLFlBQ2pDLFFBQVEsY0FDTixJQUFJLFFBR1YsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIGFmdGVyTmV4dFJlbmRlcixcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgZWZmZWN0LFxuICBFbGVtZW50UmVmLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBSZW5kZXJlcjIsXG4gIHNpZ25hbCxcbiAgdmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbmltcG9ydCB7IEh0bWxBdHRyaWJ1dGVzRGlyZWN0aXZlIH0gZnJvbSAnLi4vc2hhcmVkL2h0bWwtYXR0ci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWNvblNldFNlcnZpY2UgfSBmcm9tICcuLi9pY29uLXNldCc7XG5pbXBvcnQgeyBJY29uU2l6ZSwgSUljb24sIE5nQ3NzQ2xhc3MgfSBmcm9tICcuL2ljb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IHRyYW5zZm9ybU5hbWUgfSBmcm9tICcuL2ljb24udXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgZXhwb3J0QXM6ICdjSWNvbkNvbXBvbmVudCcsXG4gIGltcG9ydHM6IFtOZ0NsYXNzLCBIdG1sQXR0cmlidXRlc0RpcmVjdGl2ZV0sXG4gIHNlbGVjdG9yOiAnYy1pY29uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc3R5bGVVcmxzOiBbJy4vaWNvbi5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vaWNvbi5jb21wb25lbnQuc3ZnJyxcbiAgaG9zdDogeyBuZ1NraXBIeWRyYXRpb246ICd0cnVlJywgc3R5bGU6ICdkaXNwbGF5OiBub25lJyB9XG59KVxuZXhwb3J0IGNsYXNzIEljb25Db21wb25lbnQgaW1wbGVtZW50cyBJSWNvbiB7XG4gIHJlYWRvbmx5ICNyZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICByZWFkb25seSAjZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcmVhZG9ubHkgI3Nhbml0aXplciA9IGluamVjdChEb21TYW5pdGl6ZXIpO1xuICByZWFkb25seSAjaWNvblNldCA9IGluamVjdChJY29uU2V0U2VydmljZSk7XG4gIHJlYWRvbmx5ICNob3N0RWxlbWVudCA9IHNpZ25hbDxFbGVtZW50UmVmPGFueT4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICAgIHRoaXMuI2hvc3RFbGVtZW50LnNldCh0aGlzLiNlbGVtZW50UmVmKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlYWRvbmx5IGNvbnRlbnQgPSBpbnB1dDxzdHJpbmcgfCBzdHJpbmdbXSB8IGFueVtdPigpO1xuXG4gIHJlYWRvbmx5IGF0dHJpYnV0ZXMgPSBpbnB1dDxSZWNvcmQ8c3RyaW5nLCBhbnk+Pih7IHJvbGU6ICdpbWcnIH0pO1xuICByZWFkb25seSBjdXN0b21DbGFzc2VzID0gaW5wdXQ8TmdDc3NDbGFzcz4oKTtcbiAgcmVhZG9ubHkgc2l6ZSA9IGlucHV0PEljb25TaXplPignJyk7XG4gIHJlYWRvbmx5IHRpdGxlID0gaW5wdXQ8c3RyaW5nPigpO1xuICByZWFkb25seSB1c2UgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgcmVhZG9ubHkgaGVpZ2h0ID0gaW5wdXQ8c3RyaW5nPigpO1xuICByZWFkb25seSB3aWR0aCA9IGlucHV0PHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgbmFtZSA9IGlucHV0KCcnLCB7IHRyYW5zZm9ybTogdHJhbnNmb3JtTmFtZSB9KTtcbiAgcmVhZG9ubHkgdmlld0JveElucHV0ID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQsIHsgYWxpYXM6ICd2aWV3Qm94JyB9KTtcblxuICByZWFkb25seSBzdmdFbGVtZW50UmVmID0gdmlld0NoaWxkPEVsZW1lbnRSZWY+KCdzdmdFbGVtZW50Jyk7XG5cbiAgcmVhZG9ubHkgc3ZnRWxlbWVudEVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgc3ZnRWxlbWVudFJlZiA9IHRoaXMuc3ZnRWxlbWVudFJlZigpO1xuICAgIGNvbnN0IGhvc3RFbGVtZW50ID0gdGhpcy4jaG9zdEVsZW1lbnQoKT8ubmF0aXZlRWxlbWVudDtcbiAgICBpZiAoc3ZnRWxlbWVudFJlZiAmJiBob3N0RWxlbWVudCkge1xuICAgICAgY29uc3Qgc3ZnRWxlbWVudCA9IHN2Z0VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgIGhvc3RFbGVtZW50LmNsYXNzTGlzdD8udmFsdWVzKCk/LmZvckVhY2goKGl0ZW06IHN0cmluZykgPT4ge1xuICAgICAgICB0aGlzLiNyZW5kZXJlci5hZGRDbGFzcyhzdmdFbGVtZW50LCBpdGVtKTtcbiAgICAgIH0pO1xuICAgICAgY29uc3QgcGFyZW50RWxlbWVudCA9IHRoaXMuI3JlbmRlcmVyLnBhcmVudE5vZGUoaG9zdEVsZW1lbnQpO1xuICAgICAgdGhpcy4jcmVuZGVyZXIuaW5zZXJ0QmVmb3JlKHBhcmVudEVsZW1lbnQsIHN2Z0VsZW1lbnQsIGhvc3RFbGVtZW50KTtcbiAgICAgIHRoaXMuI3JlbmRlcmVyLnJlbW92ZUNoaWxkKHBhcmVudEVsZW1lbnQsIGhvc3RFbGVtZW50KTtcbiAgICB9XG4gIH0pO1xuXG4gIHJlYWRvbmx5IHZpZXdCb3ggPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMudmlld0JveElucHV0KCkgPz8gdGhpcy5zY2FsZSgpO1xuICB9KTtcblxuICByZWFkb25seSBpbm5lckh0bWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY29kZVZhbCA9IHRoaXMuY29kZSgpO1xuICAgIGNvbnN0IGNvZGUgPSBBcnJheS5pc0FycmF5KGNvZGVWYWwpID8gKGNvZGVWYWw/LlsxXSA/PyBjb2RlVmFsPy5bMF0gPz8gJycpIDogY29kZVZhbCB8fCAnJztcbiAgICAvLyB0b2RvIHByb3BlciBzYW5pdGl6ZVxuICAgIC8vIGNvbnN0IHNhbml0aXplZCA9IHRoaXMuc2FuaXRpemVyLnNhbml0aXplKFNlY3VyaXR5Q29udGV4dC5IVE1MLCBjb2RlKTtcbiAgICByZXR1cm4gdGhpcy4jc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHRoaXMuI3RpdGxlQ29kZSgpICsgY29kZSB8fCAnJyk7XG4gIH0pO1xuXG4gIHJlYWRvbmx5ICN0aXRsZUNvZGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMudGl0bGUoKSA/IGA8dGl0bGU+JHt0aGlzLnRpdGxlKCl9PC90aXRsZT5gIDogJyc7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGNvZGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuY29udGVudCgpO1xuICAgIGlmIChjb250ZW50KSB7XG4gICAgICByZXR1cm4gY29udGVudDtcbiAgICB9XG4gICAgY29uc3QgbmFtZSA9IHRoaXMubmFtZSgpO1xuICAgIGlmICh0aGlzLiNpY29uU2V0ICYmIG5hbWUpIHtcbiAgICAgIHJldHVybiB0aGlzLiNpY29uU2V0LmdldEljb24obmFtZSk7XG4gICAgfVxuICAgIGlmIChuYW1lICYmICF0aGlzLiNpY29uU2V0Py5pY29uc1tuYW1lXSkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBgYy1pY29uIGNvbXBvbmVudDogVGhlICcke25hbWV9JyBpY29uIG5vdCBmb3VuZC4gQWRkIGl0IHRvIHRoZSBJY29uU2V0IHNlcnZpY2UgZm9yIHVzZSB3aXRoIHRoZSAnbmFtZScgcHJvcGVydHkuIFxcbmAsXG4gICAgICAgIG5hbWVcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfSk7XG5cbiAgcmVhZG9ubHkgc2NhbGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodGhpcy5jb2RlKCkpICYmICh0aGlzLmNvZGUoKT8ubGVuZ3RoID8/IDApID4gMSA/IGAwIDAgJHt0aGlzLmNvZGUoKT8uWzBdfWAgOiAnMCAwIDY0IDY0JztcbiAgfSk7XG5cbiAgcmVhZG9ubHkgY29tcHV0ZWRTaXplID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGFkZEN1c3RvbSA9ICF0aGlzLnNpemUoKSAmJiAodGhpcy53aWR0aCgpIHx8IHRoaXMuaGVpZ2h0KCkpO1xuICAgIHJldHVybiB0aGlzLnNpemUoKSA9PT0gJ2N1c3RvbScgfHwgYWRkQ3VzdG9tID8gJ2N1c3RvbS1zaXplJyA6IHRoaXMuc2l6ZSgpO1xuICB9KTtcblxuICByZWFkb25seSBjb21wdXRlZENsYXNzZXMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY2xhc3NlcyA9IHtcbiAgICAgIGljb246IHRydWUsXG4gICAgICBbYGljb24tJHt0aGlzLmNvbXB1dGVkU2l6ZSgpfWBdOiAhIXRoaXMuY29tcHV0ZWRTaXplKClcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmN1c3RvbUNsYXNzZXMoKSA/PyBjbGFzc2VzO1xuICB9KTtcbn1cbiIsIkBpZiAoIXVzZSgpICYmICEhY29kZSgpKSB7XG4gIDxzdmdcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICBbYXR0ci53aWR0aF09XCJ3aWR0aCgpXCJcbiAgICBbYXR0ci5oZWlnaHRdPVwiaGVpZ2h0KCkgfHwgd2lkdGgoKVwiXG4gICAgW2F0dHIudmlld0JveF09XCJ2aWV3Qm94KCkgPz8gc2NhbGUoKVwiXG4gICAgW2lubmVySHRtbF09XCJpbm5lckh0bWwoKVwiXG4gICAgW25nQ2xhc3NdPVwiY29tcHV0ZWRDbGFzc2VzKClcIlxuICAgIFtjSHRtbEF0dHJdPVwiYXR0cmlidXRlcygpXCJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgIHBvaW50ZXItZXZlbnRzPVwibm9uZVwiXG4gICAgcm9sZT1cImltZ1wiXG4gICAgI3N2Z0VsZW1lbnRcbiAgPlxuICA8L3N2Zz5cbn0gQGVsc2UgaWYgKHVzZSgpKSB7XG4gIDxzdmdcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICBbYXR0ci53aWR0aF09XCJ3aWR0aCgpXCJcbiAgICBbYXR0ci5oZWlnaHRdPVwiaGVpZ2h0KCkgfHwgd2lkdGgoKVwiXG4gICAgW25nQ2xhc3NdPVwiY29tcHV0ZWRDbGFzc2VzKClcIlxuICAgIFtjSHRtbEF0dHJdPVwiYXR0cmlidXRlcygpXCJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgIHBvaW50ZXItZXZlbnRzPVwibm9uZVwiXG4gICAgcm9sZT1cImltZ1wiXG4gICAgI3N2Z0VsZW1lbnRcbiAgPlxuICAgIDx1c2UgW2F0dHIuaHJlZl09XCJ1c2UoKVwiPjwvdXNlPlxuICA8L3N2Zz5cbn1cbiJdfQ==
@@ -1,143 +1,88 @@
1
- import { afterNextRender, computed, Directive, ElementRef, HostBinding, inject, Input, signal } from '@angular/core';
1
+ import { computed, Directive, inject, input } from '@angular/core';
2
2
  import { DomSanitizer } from '@angular/platform-browser';
3
3
  import { IconSetService } from '../icon-set';
4
4
  import { transformName } from './icon.utils';
5
5
  import * as i0 from "@angular/core";
6
6
  export class IconDirective {
7
- #elementRef;
8
- #sanitizer;
9
- #iconSet;
10
7
  constructor() {
11
- this.#elementRef = inject(ElementRef);
12
8
  this.#sanitizer = inject(DomSanitizer);
13
9
  this.#iconSet = inject(IconSetService);
14
- this.#content = signal('');
15
- this.size = '';
16
- this.#name = signal('');
17
- this.ariaHidden = true;
18
- this.xmlns = 'http://www.w3.org/2000/svg';
19
- this.pointerEvents = 'none';
20
- this.role = 'img';
10
+ this.content = input(undefined, { alias: 'cIcon' });
11
+ this.customClasses = input();
12
+ this.size = input('');
13
+ this.title = input();
14
+ this.height = input();
15
+ this.width = input();
16
+ this.name = input('', { transform: transformName });
17
+ this.viewBoxInput = input(undefined, { alias: 'viewBox' });
18
+ this.xmlns = input('http://www.w3.org/2000/svg');
19
+ this.pointerEvents = input('none', { alias: 'pointer-events' });
20
+ this.role = input('img');
21
+ this.hostClasses = computed(() => {
22
+ const computedSize = this.computedSize();
23
+ const classes = {
24
+ icon: true,
25
+ [`icon-${computedSize}`]: !!computedSize
26
+ };
27
+ return this.customClasses() ?? classes;
28
+ });
29
+ this.viewBox = computed(() => {
30
+ return this.viewBoxInput() ?? this.scale();
31
+ });
21
32
  this.innerHtml = computed(() => {
22
- const code = Array.isArray(this.code()) ? this.code()[1] ?? this.code()[0] ?? '' : this.code() || '';
33
+ const codeVal = this.code();
34
+ const code = Array.isArray(codeVal) ? (codeVal?.[1] ?? codeVal?.[0] ?? '') : codeVal || '';
23
35
  // todo proper sanitize
24
36
  // const sanitized = this.sanitizer.sanitize(SecurityContext.HTML, code);
25
- return this.#sanitizer.bypassSecurityTrustHtml(this.titleCode + code || '');
37
+ return this.#sanitizer.bypassSecurityTrustHtml(this.#titleCode() + code || '');
38
+ });
39
+ this.#titleCode = computed(() => {
40
+ return this.title() ? `<title>${this.title()}</title>` : '';
26
41
  });
27
42
  this.code = computed(() => {
28
- if (this.#content()) {
29
- return this.#content();
43
+ const content = this.content();
44
+ if (content) {
45
+ return content;
30
46
  }
31
- if (this.#iconSet && this.#name()) {
32
- return this.#iconSet.getIcon(this.#name());
47
+ const name = this.name();
48
+ if (this.#iconSet && name) {
49
+ return this.#iconSet.getIcon(name);
33
50
  }
34
- if (this.#name() && !this.#iconSet?.icons[this.#name()]) {
35
- console.warn(`c-icon component: icon name '${this.#name()}' does not exist for IconSet service. ` +
36
- `To use icon by 'name' prop you need to add it to IconSet service. \n`, this.#name());
51
+ if (name && !this.#iconSet?.icons[name]) {
52
+ console.warn(`cIcon directive: The '${name}' icon not found. Add it to the IconSet service for use with the 'name' property. \n`, name);
37
53
  }
38
54
  return '';
39
55
  });
40
56
  this.scale = computed(() => {
41
- return Array.isArray(this.code()) && this.code().length > 1 ? `0 0 ${this.code()[0]}` : '0 0 64 64';
57
+ return Array.isArray(this.code()) && (this.code()?.length ?? 0) > 1 ? `0 0 ${this.code()?.[0]}` : '0 0 64 64';
42
58
  });
43
- afterNextRender({
44
- write: () => {
45
- this.#elementRef.nativeElement.innerHTML = this.innerHtml();
46
- }
59
+ this.computedSize = computed(() => {
60
+ const addCustom = !this.size() && (this.width() || this.height());
61
+ return this.size() === 'custom' || addCustom ? 'custom-size' : this.size();
47
62
  });
48
63
  }
49
- set content(value) {
50
- this.#content.set(value);
51
- }
52
- #content;
53
- set name(value) {
54
- this.#name.set(value);
55
- }
56
- get name() {
57
- return this.#name();
58
- }
59
- #name;
60
- set viewBox(viewBox) {
61
- this._viewBox = viewBox;
62
- }
63
- get viewBox() {
64
- return this._viewBox ?? this.scale();
65
- }
66
- get hostClasses() {
67
- return this.computedClasses;
68
- }
69
- get bindInnerHtml() {
70
- return this.innerHtml();
71
- }
72
- get titleCode() {
73
- return this.title ? `<title>${this.title}</title>` : '';
74
- }
75
- get computedSize() {
76
- const addCustom = !this.size && (this.width || this.height);
77
- return this.size === 'custom' || addCustom ? 'custom-size' : this.size;
78
- }
79
- get computedClasses() {
80
- const classes = {
81
- icon: true,
82
- [`icon-${this.computedSize}`]: !!this.computedSize
83
- };
84
- return this.customClasses ?? classes;
85
- }
86
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: IconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
87
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.8", type: IconDirective, isStandalone: true, selector: "svg[cIcon]", inputs: { content: ["cIcon", "content"], customClasses: "customClasses", size: "size", title: "title", height: "height", width: "width", name: ["name", "name", transformName], viewBox: "viewBox", xmlns: "xmlns", pointerEvents: ["pointer-events", "pointerEvents"], role: "role" }, host: { properties: { "attr.viewBox": "this.viewBox", "attr.aria-hidden": "this.ariaHidden", "attr.xmlns": "this.xmlns", "attr.pointer-events": "this.pointerEvents", "attr.role": "this.role", "class": "this.hostClasses", "innerHtml": "this.bindInnerHtml" } }, exportAs: ["cIcon"], ngImport: i0 }); }
64
+ #sanitizer;
65
+ #iconSet;
66
+ #titleCode;
67
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
68
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.9", type: IconDirective, isStandalone: true, selector: "svg[cIcon]", inputs: { content: { classPropertyName: "content", publicName: "cIcon", isSignal: true, isRequired: false, transformFunction: null }, customClasses: { classPropertyName: "customClasses", publicName: "customClasses", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, viewBoxInput: { classPropertyName: "viewBoxInput", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, xmlns: { classPropertyName: "xmlns", publicName: "xmlns", isSignal: true, isRequired: false, transformFunction: null }, pointerEvents: { classPropertyName: "pointerEvents", publicName: "pointer-events", isSignal: true, isRequired: false, transformFunction: null }, role: { classPropertyName: "role", publicName: "role", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "ngSkipHydration": "true" }, properties: { "innerHtml": "innerHtml()", "class": "hostClasses()", "attr.viewBox": "viewBox()", "attr.xmlns": "xmlns()", "attr.pointer-events": "pointerEvents()", "attr.role": "role()", "attr.aria-hidden": "true" } }, exportAs: ["cIcon"], ngImport: i0 }); }
88
69
  }
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: IconDirective, decorators: [{
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IconDirective, decorators: [{
90
71
  type: Directive,
91
72
  args: [{
92
73
  exportAs: 'cIcon',
93
74
  selector: 'svg[cIcon]',
94
- standalone: true
75
+ standalone: true,
76
+ host: {
77
+ ngSkipHydration: 'true',
78
+ '[innerHtml]': 'innerHtml()',
79
+ '[class]': 'hostClasses()',
80
+ '[attr.viewBox]': 'viewBox()',
81
+ '[attr.xmlns]': 'xmlns()',
82
+ '[attr.pointer-events]': 'pointerEvents()',
83
+ '[attr.role]': 'role()',
84
+ '[attr.aria-hidden]': 'true'
85
+ }
95
86
  }]
96
- }], ctorParameters: () => [], propDecorators: { content: [{
97
- type: Input,
98
- args: ['cIcon']
99
- }], customClasses: [{
100
- type: Input
101
- }], size: [{
102
- type: Input
103
- }], title: [{
104
- type: Input
105
- }], height: [{
106
- type: Input
107
- }], width: [{
108
- type: Input
109
- }], name: [{
110
- type: Input,
111
- args: [{ transform: transformName }]
112
- }], viewBox: [{
113
- type: HostBinding,
114
- args: ['attr.viewBox']
115
- }, {
116
- type: Input
117
- }], ariaHidden: [{
118
- type: HostBinding,
119
- args: ['attr.aria-hidden']
120
- }], xmlns: [{
121
- type: HostBinding,
122
- args: ['attr.xmlns']
123
- }, {
124
- type: Input
125
- }], pointerEvents: [{
126
- type: HostBinding,
127
- args: ['attr.pointer-events']
128
- }, {
129
- type: Input,
130
- args: ['pointer-events']
131
- }], role: [{
132
- type: HostBinding,
133
- args: ['attr.role']
134
- }, {
135
- type: Input
136
- }], hostClasses: [{
137
- type: HostBinding,
138
- args: ['class']
139
- }], bindInnerHtml: [{
140
- type: HostBinding,
141
- args: ['innerHtml']
142
- }] } });
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktaWNvbnMtYW5ndWxhci9zcmMvbGliL2ljb24vaWNvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXpELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFPN0MsTUFBTSxPQUFPLGFBQWE7SUFDZixXQUFXLENBQXNCO0lBQ2pDLFVBQVUsQ0FBd0I7SUFDbEMsUUFBUSxDQUEwQjtJQUUzQztRQUpTLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pDLGVBQVUsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbEMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQWVsQyxhQUFRLEdBQUcsTUFBTSxDQUE0QixFQUFFLENBQUMsQ0FBQztRQUdqRCxTQUFJLEdBQWEsRUFBRSxDQUFDO1FBY3BCLFVBQUssR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFjSyxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBSW5ELFVBQUssR0FBRyw0QkFBNEIsQ0FBQztRQUlyQyxrQkFBYSxHQUFHLE1BQU0sQ0FBQztRQUl2QixTQUFJLEdBQUcsS0FBSyxDQUFDO1FBWUosY0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDakMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJ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QVc7dUJBQUMsa0JBQWtCO2dCQUkvQixLQUFLO3NCQUZKLFdBQVc7dUJBQUMsWUFBWTs7c0JBQ3hCLEtBQUs7Z0JBS04sYUFBYTtzQkFGWixXQUFXO3VCQUFDLHFCQUFxQjs7c0JBQ2pDLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUt2QixJQUFJO3NCQUZILFdBQVc7dUJBQUMsV0FBVzs7c0JBQ3ZCLEtBQUs7Z0JBSUYsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU87Z0JBTWhCLGFBQWE7c0JBRGhCLFdBQVc7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFmdGVyTmV4dFJlbmRlciwgY29tcHV0ZWQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIGluamVjdCwgSW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbmltcG9ydCB7IEljb25TZXRTZXJ2aWNlIH0gZnJvbSAnLi4vaWNvbi1zZXQnO1xuaW1wb3J0IHsgSWNvblNpemUsIElJY29uIH0gZnJvbSAnLi9pY29uLmludGVyZmFjZSc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1OYW1lIH0gZnJvbSAnLi9pY29uLnV0aWxzJztcblxuQERpcmVjdGl2ZSh7XG4gIGV4cG9ydEFzOiAnY0ljb24nLFxuICBzZWxlY3RvcjogJ3N2Z1tjSWNvbl0nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEljb25EaXJlY3RpdmUgaW1wbGVtZW50cyBJSWNvbiB7XG4gIHJlYWRvbmx5ICNlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICByZWFkb25seSAjc2FuaXRpemVyID0gaW5qZWN0KERvbVNhbml0aXplcik7XG4gIHJlYWRvbmx5ICNpY29uU2V0ID0gaW5qZWN0KEljb25TZXRTZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBhZnRlck5leHRSZW5kZXIoe1xuICAgICAgd3JpdGU6ICgpID0+IHtcbiAgICAgICAgdGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmlubmVySFRNTCA9IHRoaXMuaW5uZXJIdG1sKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBASW5wdXQoJ2NJY29uJylcbiAgc2V0IGNvbnRlbnQodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdIHwgYW55W10pIHtcbiAgICB0aGlzLiNjb250ZW50LnNldCh2YWx1ZSk7XG4gIH1cblxuICByZWFkb25seSAjY29udGVudCA9IHNpZ25hbDxzdHJpbmcgfCBzdHJpbmdbXSB8IGFueVtdPignJyk7XG5cbiAgQElucHV0KCkgY3VzdG9tQ2xhc3Nlcz86IHN0cmluZyB8IHN0cmluZ1tdIHwgU2V0PHN0cmluZz4gfCB7IFtrbGFzczogc3RyaW5nXTogYW55IH07XG4gIEBJbnB1dCgpIHNpemU6IEljb25TaXplID0gJyc7XG4gIEBJbnB1dCgpIHRpdGxlPzogc3RyaW5nO1xuICBASW5wdXQoKSBoZWlnaHQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHdpZHRoPzogc3RyaW5nO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogdHJhbnNmb3JtTmFtZSB9KVxuICBzZXQgbmFtZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy4jbmFtZS5zZXQodmFsdWUpO1xuICB9XG5cbiAgZ2V0IG5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuI25hbWUoKTtcbiAgfVxuXG4gIHJlYWRvbmx5ICNuYW1lID0gc2lnbmFsKCcnKTtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIudmlld0JveCcpXG4gIEBJbnB1dCgpXG4gIHNldCB2aWV3Qm94KHZpZXdCb3g6IHN0cmluZykge1xuICAgIHRoaXMuX3ZpZXdCb3ggPSB2aWV3Qm94O1xuICB9XG5cbiAgZ2V0IHZpZXdCb3goKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdmlld0JveCA/PyB0aGlzLnNjYWxlKCk7XG4gIH1cblxuICBwcml2YXRlIF92aWV3Qm94ITogc3RyaW5nO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWhpZGRlbicpIGFyaWFIaWRkZW4gPSB0cnVlO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci54bWxucycpXG4gIEBJbnB1dCgpXG4gIHhtbG5zID0gJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJztcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIucG9pbnRlci1ldmVudHMnKVxuICBASW5wdXQoJ3BvaW50ZXItZXZlbnRzJylcbiAgcG9pbnRlckV2ZW50cyA9ICdub25lJztcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gIEBJbnB1dCgpXG4gIHJvbGUgPSAnaW1nJztcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IGhvc3RDbGFzc2VzKCkge1xuICAgIHJldHVybiB0aGlzLmNvbXB1dGVkQ2xhc3NlcztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnaW5uZXJIdG1sJylcbiAgZ2V0IGJpbmRJbm5lckh0bWwoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW5uZXJIdG1sKCk7XG4gIH1cblxuICByZWFkb25seSBpbm5lckh0bWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY29kZSA9IEFycmF5LmlzQXJyYXkodGhpcy5jb2RlKCkpID8gdGhpcy5jb2RlKClbMV0gPz8gdGhpcy5jb2RlKClbMF0gPz8gJycgOiB0aGlzLmNvZGUoKSB8fCAnJztcbiAgICAvLyB0b2RvIHByb3BlciBzYW5pdGl6ZVxuICAgIC8vIGNvbnN0IHNhbml0aXplZCA9IHRoaXMuc2FuaXRpemVyLnNhbml0aXplKFNlY3VyaXR5Q29udGV4dC5IVE1MLCBjb2RlKTtcbiAgICByZXR1cm4gdGhpcy4jc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHRoaXMudGl0bGVDb2RlICsgY29kZSB8fCAnJyk7XG4gIH0pO1xuXG4gIGdldCB0aXRsZUNvZGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50aXRsZSA/IGA8dGl0bGU+JHt0aGlzLnRpdGxlfTwvdGl0bGU+YCA6ICcnO1xuICB9XG5cbiAgcmVhZG9ubHkgY29kZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBpZiAodGhpcy4jY29udGVudCgpKSB7XG4gICAgICByZXR1cm4gdGhpcy4jY29udGVudCgpO1xuICAgIH1cbiAgICBpZiAodGhpcy4jaWNvblNldCAmJiB0aGlzLiNuYW1lKCkpIHtcbiAgICAgIHJldHVybiB0aGlzLiNpY29uU2V0LmdldEljb24odGhpcy4jbmFtZSgpKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuI25hbWUoKSAmJiAhdGhpcy4jaWNvblNldD8uaWNvbnNbdGhpcy4jbmFtZSgpXSkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBgYy1pY29uIGNvbXBvbmVudDogaWNvbiBuYW1lICcke3RoaXMuI25hbWUoKX0nIGRvZXMgbm90IGV4aXN0IGZvciBJY29uU2V0IHNlcnZpY2UuIGAgK1xuICAgICAgICAgIGBUbyB1c2UgaWNvbiBieSAnbmFtZScgcHJvcCB5b3UgbmVlZCB0byBhZGQgaXQgdG8gSWNvblNldCBzZXJ2aWNlLiBcXG5gLFxuICAgICAgICB0aGlzLiNuYW1lKClcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfSk7XG5cbiAgcmVhZG9ubHkgc2NhbGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodGhpcy5jb2RlKCkpICYmIHRoaXMuY29kZSgpLmxlbmd0aCA+IDEgPyBgMCAwICR7dGhpcy5jb2RlKClbMF19YCA6ICcwIDAgNjQgNjQnO1xuICB9KTtcblxuICBnZXQgY29tcHV0ZWRTaXplKCk6IEV4Y2x1ZGU8SWNvblNpemUsICdjdXN0b20nPiB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgYWRkQ3VzdG9tID0gIXRoaXMuc2l6ZSAmJiAodGhpcy53aWR0aCB8fCB0aGlzLmhlaWdodCk7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gJ2N1c3RvbScgfHwgYWRkQ3VzdG9tID8gJ2N1c3RvbS1zaXplJyA6IHRoaXMuc2l6ZTtcbiAgfVxuXG4gIGdldCBjb21wdXRlZENsYXNzZXMoKSB7XG4gICAgY29uc3QgY2xhc3NlcyA9IHtcbiAgICAgIGljb246IHRydWUsXG4gICAgICBbYGljb24tJHt0aGlzLmNvbXB1dGVkU2l6ZX1gXTogISF0aGlzLmNvbXB1dGVkU2l6ZVxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuY3VzdG9tQ2xhc3NlcyA/PyBjbGFzc2VzO1xuICB9XG59XG4iXX0=
87
+ }] });
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktaWNvbnMtYW5ndWxhci9zcmMvbGliL2ljb24vaWNvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQWlCN0MsTUFBTSxPQUFPLGFBQWE7SUFmMUI7UUFnQlcsZUFBVSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNsQyxhQUFRLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRWxDLFlBQU8sR0FBRyxLQUFLLENBQXdDLFNBQVMsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBRXRGLGtCQUFhLEdBQUcsS0FBSyxFQUFjLENBQUM7UUFDcEMsU0FBSSxHQUFHLEtBQUssQ0FBVyxFQUFFLENBQUMsQ0FBQztRQUMzQixVQUFLLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDeEIsV0FBTSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQ3pCLFVBQUssR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUN4QixTQUFJLEdBQUcsS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLGlCQUFZLEdBQUcsS0FBSyxDQUFxQixTQUFTLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUMxRSxVQUFLLEdBQUcsS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7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TSxpQkFBWSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDcEMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDbEUsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssUUFBUSxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDN0UsQ0FBQyxDQUFDLENBQUM7S0FDSjtJQW5FVSxVQUFVLENBQXdCO0lBQ2xDLFFBQVEsQ0FBMEI7SUFvQ2xDLFVBQVUsQ0FFaEI7OEdBeENRLGFBQWE7a0dBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFmekIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsT0FBTztvQkFDakIsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0osZUFBZSxFQUFFLE1BQU07d0JBQ3ZCLGFBQWEsRUFBRSxhQUFhO3dCQUM1QixTQUFTLEVBQUUsZUFBZTt3QkFDMUIsZ0JBQWdCLEVBQUUsV0FBVzt3QkFDN0IsY0FBYyxFQUFFLFNBQVM7d0JBQ3pCLHVCQUF1QixFQUFFLGlCQUFpQjt3QkFDMUMsYUFBYSxFQUFFLFFBQVE7d0JBQ3ZCLG9CQUFvQixFQUFFLE1BQU07cUJBQzdCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIERpcmVjdGl2ZSwgaW5qZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbmltcG9ydCB7IEljb25TZXRTZXJ2aWNlIH0gZnJvbSAnLi4vaWNvbi1zZXQnO1xuaW1wb3J0IHsgSWNvblNpemUsIElJY29uLCBJUG9pbnRlckV2ZW50cywgTmdDc3NDbGFzcyB9IGZyb20gJy4vaWNvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgdHJhbnNmb3JtTmFtZSB9IGZyb20gJy4vaWNvbi51dGlscyc7XG5cbkBEaXJlY3RpdmUoe1xuICBleHBvcnRBczogJ2NJY29uJyxcbiAgc2VsZWN0b3I6ICdzdmdbY0ljb25dJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaG9zdDoge1xuICAgIG5nU2tpcEh5ZHJhdGlvbjogJ3RydWUnLFxuICAgICdbaW5uZXJIdG1sXSc6ICdpbm5lckh0bWwoKScsXG4gICAgJ1tjbGFzc10nOiAnaG9zdENsYXNzZXMoKScsXG4gICAgJ1thdHRyLnZpZXdCb3hdJzogJ3ZpZXdCb3goKScsXG4gICAgJ1thdHRyLnhtbG5zXSc6ICd4bWxucygpJyxcbiAgICAnW2F0dHIucG9pbnRlci1ldmVudHNdJzogJ3BvaW50ZXJFdmVudHMoKScsXG4gICAgJ1thdHRyLnJvbGVdJzogJ3JvbGUoKScsXG4gICAgJ1thdHRyLmFyaWEtaGlkZGVuXSc6ICd0cnVlJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIEljb25EaXJlY3RpdmUgaW1wbGVtZW50cyBJSWNvbiB7XG4gIHJlYWRvbmx5ICNzYW5pdGl6ZXIgPSBpbmplY3QoRG9tU2FuaXRpemVyKTtcbiAgcmVhZG9ubHkgI2ljb25TZXQgPSBpbmplY3QoSWNvblNldFNlcnZpY2UpO1xuXG4gIHJlYWRvbmx5IGNvbnRlbnQgPSBpbnB1dDxzdHJpbmcgfCBzdHJpbmdbXSB8IGFueVtdIHwgdW5kZWZpbmVkPih1bmRlZmluZWQsIHsgYWxpYXM6ICdjSWNvbicgfSk7XG5cbiAgcmVhZG9ubHkgY3VzdG9tQ2xhc3NlcyA9IGlucHV0PE5nQ3NzQ2xhc3M+KCk7XG4gIHJlYWRvbmx5IHNpemUgPSBpbnB1dDxJY29uU2l6ZT4oJycpO1xuICByZWFkb25seSB0aXRsZSA9IGlucHV0PHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgaGVpZ2h0ID0gaW5wdXQ8c3RyaW5nPigpO1xuICByZWFkb25seSB3aWR0aCA9IGlucHV0PHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgbmFtZSA9IGlucHV0KCcnLCB7IHRyYW5zZm9ybTogdHJhbnNmb3JtTmFtZSB9KTtcbiAgcmVhZG9ubHkgdmlld0JveElucHV0ID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQsIHsgYWxpYXM6ICd2aWV3Qm94JyB9KTtcbiAgcmVhZG9ubHkgeG1sbnMgPSBpbnB1dCgnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnKTtcbiAgcmVhZG9ubHkgcG9pbnRlckV2ZW50cyA9IGlucHV0PElQb2ludGVyRXZlbnRzPignbm9uZScsIHsgYWxpYXM6ICdwb2ludGVyLWV2ZW50cycgfSk7XG4gIHJlYWRvbmx5IHJvbGUgPSBpbnB1dCgnaW1nJyk7XG5cbiAgcmVhZG9ubHkgaG9zdENsYXNzZXMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY29tcHV0ZWRTaXplID0gdGhpcy5jb21wdXRlZFNpemUoKTtcbiAgICBjb25zdCBjbGFzc2VzID0ge1xuICAgICAgaWNvbjogdHJ1ZSxcbiAgICAgIFtgaWNvbi0ke2NvbXB1dGVkU2l6ZX1gXTogISFjb21wdXRlZFNpemVcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmN1c3RvbUNsYXNzZXMoKSA/PyBjbGFzc2VzO1xuICB9KTtcblxuICByZWFkb25seSB2aWV3Qm94ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLnZpZXdCb3hJbnB1dCgpID8/IHRoaXMuc2NhbGUoKTtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgaW5uZXJIdG1sID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGNvZGVWYWwgPSB0aGlzLmNvZGUoKTtcbiAgICBjb25zdCBjb2RlID0gQXJyYXkuaXNBcnJheShjb2RlVmFsKSA/IChjb2RlVmFsPy5bMV0gPz8gY29kZVZhbD8uWzBdID8/ICcnKSA6IGNvZGVWYWwgfHwgJyc7XG4gICAgLy8gdG9kbyBwcm9wZXIgc2FuaXRpemVcbiAgICAvLyBjb25zdCBzYW5pdGl6ZWQgPSB0aGlzLnNhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuSFRNTCwgY29kZSk7XG4gICAgcmV0dXJuIHRoaXMuI3Nhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh0aGlzLiN0aXRsZUNvZGUoKSArIGNvZGUgfHwgJycpO1xuICB9KTtcblxuICByZWFkb25seSAjdGl0bGVDb2RlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLnRpdGxlKCkgPyBgPHRpdGxlPiR7dGhpcy50aXRsZSgpfTwvdGl0bGU+YCA6ICcnO1xuICB9KTtcblxuICByZWFkb25seSBjb2RlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLmNvbnRlbnQoKTtcbiAgICBpZiAoY29udGVudCkge1xuICAgICAgcmV0dXJuIGNvbnRlbnQ7XG4gICAgfVxuICAgIGNvbnN0IG5hbWUgPSB0aGlzLm5hbWUoKTtcbiAgICBpZiAodGhpcy4jaWNvblNldCAmJiBuYW1lKSB7XG4gICAgICByZXR1cm4gdGhpcy4jaWNvblNldC5nZXRJY29uKG5hbWUpO1xuICAgIH1cbiAgICBpZiAobmFtZSAmJiAhdGhpcy4jaWNvblNldD8uaWNvbnNbbmFtZV0pIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYGNJY29uIGRpcmVjdGl2ZTogVGhlICcke25hbWV9JyBpY29uIG5vdCBmb3VuZC4gQWRkIGl0IHRvIHRoZSBJY29uU2V0IHNlcnZpY2UgZm9yIHVzZSB3aXRoIHRoZSAnbmFtZScgcHJvcGVydHkuIFxcbmAsXG4gICAgICAgIG5hbWVcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfSk7XG5cbiAgcmVhZG9ubHkgc2NhbGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodGhpcy5jb2RlKCkpICYmICh0aGlzLmNvZGUoKT8ubGVuZ3RoID8/IDApID4gMSA/IGAwIDAgJHt0aGlzLmNvZGUoKT8uWzBdfWAgOiAnMCAwIDY0IDY0JztcbiAgfSk7XG5cbiAgcmVhZG9ubHkgY29tcHV0ZWRTaXplID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGFkZEN1c3RvbSA9ICF0aGlzLnNpemUoKSAmJiAodGhpcy53aWR0aCgpIHx8IHRoaXMuaGVpZ2h0KCkpO1xuICAgIHJldHVybiB0aGlzLnNpemUoKSA9PT0gJ2N1c3RvbScgfHwgYWRkQ3VzdG9tID8gJ2N1c3RvbS1zaXplJyA6IHRoaXMuc2l6ZSgpO1xuICB9KTtcbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktaWNvbnMtYW5ndWxhci9zcmMvbGliL2ljb24vaWNvbi5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSUljb24ge1xuICBjb250ZW50Pzogc3RyaW5nIHwgc3RyaW5nW10gfCBhbnlbXTtcbiAgY3VzdG9tQ2xhc3Nlcz86IHN0cmluZyB8IHN0cmluZ1tdIHwgU2V0PHN0cmluZz4gfCB7IFtrbGFzczogc3RyaW5nXTogYW55IH07XG4gIGhlaWdodD86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgcG9pbnRlckV2ZW50cz86IHN0cmluZztcbiAgc2l6ZT86IEljb25TaXplO1xuICB0aXRsZT86IHN0cmluZztcbiAgdmlld0JveD86IHN0cmluZztcbiAgd2lkdGg/OiBzdHJpbmc7XG4gIHhtbG5zPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBJY29uU2l6ZSA9XG4gICdjdXN0b20nXG4gIHwgJ2N1c3RvbS1zaXplJ1xuICB8ICdzbSdcbiAgfCAnbGcnXG4gIHwgJ3hsJ1xuICB8ICd4eGwnXG4gIHwgJzN4bCdcbiAgfCAnNHhsJ1xuICB8ICc1eGwnXG4gIHwgJzZ4bCdcbiAgfCAnN3hsJ1xuICB8ICc4eGwnXG4gIHwgJzl4bCdcbiAgfCBzdHJpbmc7XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktaWNvbnMtYW5ndWxhci9zcmMvbGliL2ljb24vaWNvbi5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0U2lnbmFsLCBJbnB1dFNpZ25hbFdpdGhUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBJSWNvbiB7XG4gIGNvbnRlbnQ/OiBJbnB1dFNpZ25hbDxzdHJpbmcgfCBzdHJpbmdbXSB8IGFueVtdIHwgdW5kZWZpbmVkPjtcbiAgY3VzdG9tQ2xhc3Nlcz86IElucHV0U2lnbmFsPE5nQ3NzQ2xhc3MgfCB1bmRlZmluZWQ+O1xuICBoZWlnaHQ/OiBJbnB1dFNpZ25hbDxzdHJpbmcgfCB1bmRlZmluZWQ+O1xuICBuYW1lPzogSW5wdXRTaWduYWxXaXRoVHJhbnNmb3JtPHN0cmluZywgc3RyaW5nPjtcbiAgcG9pbnRlckV2ZW50cz86IElucHV0U2lnbmFsPElQb2ludGVyRXZlbnRzPjtcbiAgc2l6ZT86IElucHV0U2lnbmFsPEljb25TaXplPjtcbiAgdGl0bGU/OiBJbnB1dFNpZ25hbDxzdHJpbmcgfCB1bmRlZmluZWQ+O1xuICB2aWV3Qm94SW5wdXQ/OiBJbnB1dFNpZ25hbDxzdHJpbmcgfCB1bmRlZmluZWQ+O1xuICB3aWR0aDogSW5wdXRTaWduYWw8c3RyaW5nIHwgdW5kZWZpbmVkPjtcbiAgeG1sbnM/OiBJbnB1dFNpZ25hbDxzdHJpbmc+O1xufVxuXG5leHBvcnQgdHlwZSBJY29uU2l6ZSA9XG4gIHwgJ2N1c3RvbSdcbiAgfCAnY3VzdG9tLXNpemUnXG4gIHwgJ3NtJ1xuICB8ICdsZydcbiAgfCAneGwnXG4gIHwgJ3h4bCdcbiAgfCAnM3hsJ1xuICB8ICc0eGwnXG4gIHwgJzV4bCdcbiAgfCAnNnhsJ1xuICB8ICc3eGwnXG4gIHwgJzh4bCdcbiAgfCAnOXhsJ1xuICB8IHN0cmluZztcblxuZXhwb3J0IHR5cGUgSVBvaW50ZXJFdmVudHMgPVxuICB8ICdhdXRvJ1xuICB8ICdib3VuZGluZy1ib3gnXG4gIHwgJ3Zpc2libGVQYWludGVkJ1xuICB8ICd2aXNpYmxlRmlsbCdcbiAgfCAndmlzaWJsZVN0cm9rZSdcbiAgfCAndmlzaWJsZSdcbiAgfCAncGFpbnRlZCdcbiAgfCAnZmlsbCdcbiAgfCAnc3Ryb2tlJ1xuICB8ICdhbGwnXG4gIHwgJ25vbmUnO1xuXG5leHBvcnQgdHlwZSBOZ0Nzc0NsYXNzID0gc3RyaW5nIHwgc3RyaW5nW10gfCBTZXQ8c3RyaW5nPiB8IHsgW2tsYXNzOiBzdHJpbmddOiBhbnkgfTtcbiJdfQ==
@@ -3,13 +3,13 @@ import { IconComponent } from './icon.component';
3
3
  import { IconDirective } from './icon.directive';
4
4
  import * as i0 from "@angular/core";
5
5
  export class IconModule {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: IconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: IconModule, imports: [IconComponent,
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.9", ngImport: i0, type: IconModule, imports: [IconComponent,
8
8
  IconDirective], exports: [IconComponent,
9
9
  IconDirective] }); }
10
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: IconModule }); }
10
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IconModule }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: IconModule, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IconModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  imports: [
@@ -15,11 +15,11 @@ export class IconSetModule {
15
15
  ]
16
16
  };
17
17
  }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: IconSetModule, deps: [{ token: IconSetModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
19
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: IconSetModule }); }
20
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: IconSetModule, providers: [IconSetService] }); }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IconSetModule, deps: [{ token: IconSetModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
19
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.9", ngImport: i0, type: IconSetModule }); }
20
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IconSetModule, providers: [IconSetService] }); }
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: IconSetModule, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IconSetModule, decorators: [{
23
23
  type: NgModule,
24
24
  args: [{
25
25
  providers: [IconSetService]
@@ -1,22 +1,20 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class IconSetService {
4
- constructor() {
5
- this._iconNames = {};
6
- this._icons = {};
7
- }
8
4
  get iconNames() {
9
- return this._iconNames;
5
+ return this.#iconNames;
10
6
  }
7
+ #iconNames = {};
11
8
  get icons() {
12
- return this._icons;
9
+ return this.#icons;
13
10
  }
14
11
  set icons(iconSet) {
15
12
  for (const iconsKey in iconSet) {
16
- this._iconNames[iconsKey] = iconsKey;
13
+ this.#iconNames[iconsKey] = iconsKey;
17
14
  }
18
- this._icons = iconSet;
15
+ this.#icons = iconSet;
19
16
  }
17
+ #icons = {};
20
18
  getIcon(name) {
21
19
  const icon = this.icons[name];
22
20
  if (!icon) {
@@ -24,13 +22,13 @@ export class IconSetService {
24
22
  }
25
23
  return this.icons[name];
26
24
  }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: IconSetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
28
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: IconSetService, providedIn: 'root' }); }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IconSetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
26
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IconSetService, providedIn: 'root' }); }
29
27
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: IconSetService, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: IconSetService, decorators: [{
31
29
  type: Injectable,
32
30
  args: [{
33
31
  providedIn: 'root'
34
32
  }]
35
33
  }] });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1zZXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1pY29ucy1hbmd1bGFyL3NyYy9saWIvaWNvbi1zZXQvaWNvbi1zZXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVMzQyxNQUFNLE9BQU8sY0FBYztJQUgzQjtRQVFVLGVBQVUsR0FBOEIsRUFBRSxDQUFDO1FBVzNDLFdBQU0sR0FBYSxFQUFFLENBQUM7S0FTL0I7SUF4QkMsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBSUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxPQUFPO1FBQ2YsS0FBSyxNQUFNLFFBQVEsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLFFBQVEsQ0FBQztRQUN2QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUdNLE9BQU8sQ0FBQyxJQUFZO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsT0FBTyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxtQ0FBbUMsQ0FBQyxDQUFDO1FBQzdFLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQzs4R0F4QlUsY0FBYztrSEFBZCxjQUFjLGNBRmIsTUFBTTs7MkZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUljb25TZXQge1xuICBbaWNvbk5hbWU6IHN0cmluZ106IHN0cmluZ1tdO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBJY29uU2V0U2VydmljZSB7XG4gIHB1YmxpYyBnZXQgaWNvbk5hbWVzKCkge1xuICAgIHJldHVybiB0aGlzLl9pY29uTmFtZXM7XG4gIH1cblxuICBwcml2YXRlIF9pY29uTmFtZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcblxuICBnZXQgaWNvbnMoKTogSUljb25TZXQge1xuICAgIHJldHVybiB0aGlzLl9pY29ucztcbiAgfVxuICBzZXQgaWNvbnMoaWNvblNldCkge1xuICAgIGZvciAoY29uc3QgaWNvbnNLZXkgaW4gaWNvblNldCkge1xuICAgICAgdGhpcy5faWNvbk5hbWVzW2ljb25zS2V5XSA9IGljb25zS2V5O1xuICAgIH1cbiAgICB0aGlzLl9pY29ucyA9IGljb25TZXQ7XG4gIH1cbiAgcHJpdmF0ZSBfaWNvbnM6IElJY29uU2V0ID0ge307XG5cbiAgcHVibGljIGdldEljb24obmFtZTogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGljb24gPSB0aGlzLmljb25zW25hbWVdO1xuICAgIGlmICghaWNvbikge1xuICAgICAgY29uc29sZS53YXJuKGBDb3JlVUkgV0FSTjogSWNvbiAke25hbWV9IGlzIG5vdCByZWdpc3RlcmVkIGluIEljb25TZXJ2aWNlYCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmljb25zW25hbWVdO1xuICB9XG59XG4iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1zZXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1pY29ucy1hbmd1bGFyL3NyYy9saWIvaWNvbi1zZXQvaWNvbi1zZXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVMzQyxNQUFNLE9BQU8sY0FBYztJQUN6QixJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxVQUFVLEdBQTJCLEVBQUUsQ0FBQztJQUV4QyxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLE9BQU87UUFDZixLQUFLLE1BQU0sUUFBUSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsUUFBUSxDQUFDO1FBQ3ZDLENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBRUQsTUFBTSxHQUFhLEVBQUUsQ0FBQztJQUVmLE9BQU8sQ0FBQyxJQUFZO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsT0FBTyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxtQ0FBbUMsQ0FBQyxDQUFDO1FBQzdFLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQzs4R0ExQlUsY0FBYztrSEFBZCxjQUFjLGNBRmIsTUFBTTs7MkZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUljb25TZXQge1xuICBbaWNvbk5hbWU6IHN0cmluZ106IHN0cmluZ1tdO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBJY29uU2V0U2VydmljZSB7XG4gIHB1YmxpYyBnZXQgaWNvbk5hbWVzKCkge1xuICAgIHJldHVybiB0aGlzLiNpY29uTmFtZXM7XG4gIH1cblxuICAjaWNvbk5hbWVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG5cbiAgZ2V0IGljb25zKCk6IElJY29uU2V0IHtcbiAgICByZXR1cm4gdGhpcy4jaWNvbnM7XG4gIH1cblxuICBzZXQgaWNvbnMoaWNvblNldCkge1xuICAgIGZvciAoY29uc3QgaWNvbnNLZXkgaW4gaWNvblNldCkge1xuICAgICAgdGhpcy4jaWNvbk5hbWVzW2ljb25zS2V5XSA9IGljb25zS2V5O1xuICAgIH1cbiAgICB0aGlzLiNpY29ucyA9IGljb25TZXQ7XG4gIH1cblxuICAjaWNvbnM6IElJY29uU2V0ID0ge307XG5cbiAgcHVibGljIGdldEljb24obmFtZTogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGljb24gPSB0aGlzLmljb25zW25hbWVdO1xuICAgIGlmICghaWNvbikge1xuICAgICAgY29uc29sZS53YXJuKGBDb3JlVUkgV0FSTjogSWNvbiAke25hbWV9IGlzIG5vdCByZWdpc3RlcmVkIGluIEljb25TZXJ2aWNlYCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmljb25zW25hbWVdO1xuICB9XG59XG4iXX0=