@c80/ui 1.0.35 → 1.0.37
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/esm2022/lib/icon/icon.component.mjs +65 -200
- package/esm2022/lib/icon/icon.constants.mjs +38 -0
- package/esm2022/lib/icon/icon.types.mjs +2 -0
- package/esm2022/lib/icon/index.mjs +3 -1
- package/esm2022/lib/stat-card/stat-card.component.mjs +1 -1
- package/esm2022/lib/table/table.component.mjs +4 -4
- package/lib/icon/icon.component.d.ts +39 -52
- package/lib/icon/icon.constants.d.ts +9 -0
- package/lib/icon/icon.types.d.ts +4 -0
- package/lib/icon/index.d.ts +2 -0
- package/lib/stat-card/stat-card.component.d.ts +2 -2
- package/lib/table/table.component.d.ts +2 -2
- package/package.json +1 -1
|
@@ -1,216 +1,81 @@
|
|
|
1
|
-
import { Component,
|
|
1
|
+
import { Component, input, output, computed, viewChild, } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { BASE_ICON_COLORS, DISABLED_COLOR, DEFAULT_ICON_COLOR, DISABLED_OPACITY, SECONDARY_WARN_OPACITY, DEFAULT_OPACITY, BASE_ICON_SIZE, } from './icon.constants';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
import * as i1 from "@angular/common";
|
|
5
6
|
export class C80IconComponent {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
this._button =
|
|
21
|
-
val !== null && val !== undefined && val !== false && val !== 'false';
|
|
22
|
-
}
|
|
23
|
-
get button() {
|
|
24
|
-
return this._button;
|
|
25
|
-
}
|
|
26
|
-
/** Tipo de botón nativo (solo si button=true) */
|
|
27
|
-
type = 'button';
|
|
28
|
-
/** Output para click (solo si button=true) */
|
|
29
|
-
iconClick = new EventEmitter();
|
|
30
|
-
checkIconTpl;
|
|
31
|
-
cancelIconTpl;
|
|
32
|
-
editIconTpl;
|
|
33
|
-
deleteIconTpl;
|
|
34
|
-
addIconTpl;
|
|
35
|
-
viewIconTpl;
|
|
36
|
-
getIconTpl;
|
|
37
|
-
settingsIconTpl;
|
|
38
|
-
defaultIconTpl;
|
|
39
|
-
scheduleIconTpl;
|
|
40
|
-
refreshIconTpl;
|
|
41
|
-
checkCircleIconTpl;
|
|
42
|
-
cancelCircleIconTpl;
|
|
43
|
-
errorIconTpl;
|
|
44
|
-
queueIconTpl;
|
|
45
|
-
arrowUpIconTpl;
|
|
46
|
-
arrowDownIconTpl;
|
|
47
|
-
toggleOnIconTpl;
|
|
48
|
-
toggleOffIconTpl;
|
|
49
|
-
searchIconTpl;
|
|
50
|
-
uploadIconTpl;
|
|
51
|
-
pendingActionsIconTpl;
|
|
52
|
-
playCircleIconTpl;
|
|
53
|
-
iconMap = new Map();
|
|
54
|
-
ngAfterViewInit() {
|
|
55
|
-
this.initializeBasicIcons();
|
|
56
|
-
this.initializeStateIcons();
|
|
57
|
-
this.initializeUtilityIcons();
|
|
58
|
-
this.cdr.detectChanges();
|
|
59
|
-
}
|
|
60
|
-
initializeBasicIcons() {
|
|
61
|
-
this.iconMap.set('check', this.checkIconTpl);
|
|
62
|
-
this.iconMap.set('cancel', this.cancelIconTpl);
|
|
63
|
-
this.iconMap.set('edit', this.editIconTpl);
|
|
64
|
-
this.iconMap.set('delete', this.deleteIconTpl);
|
|
65
|
-
this.iconMap.set('add', this.addIconTpl);
|
|
66
|
-
this.iconMap.set('view', this.viewIconTpl);
|
|
67
|
-
this.iconMap.set('get', this.getIconTpl);
|
|
68
|
-
this.iconMap.set('settings', this.settingsIconTpl);
|
|
69
|
-
}
|
|
70
|
-
initializeStateIcons() {
|
|
71
|
-
this.iconMap.set('check_circle', this.checkCircleIconTpl);
|
|
72
|
-
this.iconMap.set('cancel_circle', this.cancelCircleIconTpl);
|
|
73
|
-
this.iconMap.set('error', this.errorIconTpl);
|
|
74
|
-
this.iconMap.set('toggle_on', this.toggleOnIconTpl);
|
|
75
|
-
this.iconMap.set('toggle_off', this.toggleOffIconTpl);
|
|
76
|
-
this.iconMap.set('pending_actions', this.pendingActionsIconTpl);
|
|
77
|
-
this.iconMap.set('play_circle', this.playCircleIconTpl);
|
|
78
|
-
}
|
|
79
|
-
initializeUtilityIcons() {
|
|
80
|
-
this.iconMap.set('schedule', this.scheduleIconTpl);
|
|
81
|
-
this.iconMap.set('refresh', this.refreshIconTpl);
|
|
82
|
-
this.iconMap.set('queue', this.queueIconTpl);
|
|
83
|
-
this.iconMap.set('arrow_up', this.arrowUpIconTpl);
|
|
84
|
-
this.iconMap.set('arrow_down', this.arrowDownIconTpl);
|
|
85
|
-
this.iconMap.set('search', this.searchIconTpl);
|
|
86
|
-
this.iconMap.set('upload', this.uploadIconTpl);
|
|
87
|
-
}
|
|
88
|
-
getIconTemplate() {
|
|
89
|
-
return this.iconMap.get(this.icon) ?? this.defaultIconTpl;
|
|
90
|
-
}
|
|
91
|
-
get iconColor() {
|
|
92
|
-
if (this.disabled) {
|
|
93
|
-
return '#bdbdbd'; // gris deshabilitado
|
|
7
|
+
icon = input('check');
|
|
8
|
+
color = input('primary');
|
|
9
|
+
customColor = input(undefined);
|
|
10
|
+
disabled = input(false);
|
|
11
|
+
size = input(1);
|
|
12
|
+
button = input(false, {
|
|
13
|
+
transform: (val) => val !== null && val !== undefined && val !== false && val !== 'false',
|
|
14
|
+
});
|
|
15
|
+
type = input('button');
|
|
16
|
+
iconClick = output();
|
|
17
|
+
iconSize = computed(() => BASE_ICON_SIZE * this.size());
|
|
18
|
+
iconColor = computed(() => {
|
|
19
|
+
if (this.disabled()) {
|
|
20
|
+
return DISABLED_COLOR;
|
|
94
21
|
}
|
|
95
|
-
|
|
96
|
-
if (
|
|
97
|
-
return
|
|
22
|
+
const custom = this.customColor();
|
|
23
|
+
if (custom) {
|
|
24
|
+
return custom;
|
|
98
25
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
success: '#4caf50',
|
|
105
|
-
};
|
|
106
|
-
return baseColors[this.color] ?? '#222';
|
|
107
|
-
}
|
|
108
|
-
get iconOpacity() {
|
|
109
|
-
if (this.disabled) {
|
|
110
|
-
return 0.5;
|
|
26
|
+
return BASE_ICON_COLORS[this.color()] ?? DEFAULT_ICON_COLOR;
|
|
27
|
+
});
|
|
28
|
+
iconOpacity = computed(() => {
|
|
29
|
+
if (this.disabled()) {
|
|
30
|
+
return DISABLED_OPACITY;
|
|
111
31
|
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
32
|
+
const currentColor = this.color();
|
|
33
|
+
const hasCustomColor = this.customColor() !== undefined;
|
|
34
|
+
if ((currentColor === 'secondary' || currentColor === 'warn') &&
|
|
35
|
+
!hasCustomColor) {
|
|
36
|
+
return SECONDARY_WARN_OPACITY;
|
|
116
37
|
}
|
|
117
|
-
return
|
|
118
|
-
}
|
|
38
|
+
return DEFAULT_OPACITY;
|
|
39
|
+
});
|
|
40
|
+
iconTemplate = computed(() => {
|
|
41
|
+
const iconName = this.icon();
|
|
42
|
+
const templateName = iconName.replaceAll(/_([a-z])/g, (_, letter) => letter.toUpperCase());
|
|
43
|
+
const viewChildSignal = this[templateName];
|
|
44
|
+
return typeof viewChildSignal === 'function' ? viewChildSignal() : undefined;
|
|
45
|
+
});
|
|
46
|
+
check = viewChild('check');
|
|
47
|
+
cancel = viewChild('cancel');
|
|
48
|
+
edit = viewChild('edit');
|
|
49
|
+
delete = viewChild('delete');
|
|
50
|
+
add = viewChild('add');
|
|
51
|
+
view = viewChild('view');
|
|
52
|
+
get = viewChild('get');
|
|
53
|
+
settings = viewChild('settings');
|
|
54
|
+
schedule = viewChild('schedule');
|
|
55
|
+
refresh = viewChild('refresh');
|
|
56
|
+
checkCircle = viewChild('checkCircle');
|
|
57
|
+
cancelCircle = viewChild('cancelCircle');
|
|
58
|
+
error = viewChild('error');
|
|
59
|
+
queue = viewChild('queue');
|
|
60
|
+
arrowUp = viewChild('arrowUp');
|
|
61
|
+
arrowDown = viewChild('arrowDown');
|
|
62
|
+
toggleOn = viewChild('toggleOn');
|
|
63
|
+
toggleOff = viewChild('toggleOff');
|
|
64
|
+
search = viewChild('search');
|
|
65
|
+
upload = viewChild('upload');
|
|
66
|
+
pendingActions = viewChild('pendingActions');
|
|
67
|
+
playCircle = viewChild('playCircle');
|
|
68
|
+
default = viewChild('default');
|
|
119
69
|
onButtonClick(event) {
|
|
120
|
-
if (!this.disabled) {
|
|
70
|
+
if (!this.disabled()) {
|
|
121
71
|
this.iconClick.emit(event);
|
|
122
72
|
}
|
|
123
73
|
}
|
|
124
74
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: C80IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
125
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: C80IconComponent, isStandalone: true, selector: "c80-icon", inputs: { icon: "icon", color: "color", customColor: "customColor", disabled: "disabled", size: "size", button: "button", type: "type" }, outputs: { iconClick: "iconClick" }, viewQueries: [{ propertyName: "checkIconTpl", first: true, predicate: ["checkIcon"], descendants: true }, { propertyName: "cancelIconTpl", first: true, predicate: ["cancelIcon"], descendants: true }, { propertyName: "editIconTpl", first: true, predicate: ["editIcon"], descendants: true }, { propertyName: "deleteIconTpl", first: true, predicate: ["deleteIcon"], descendants: true }, { propertyName: "addIconTpl", first: true, predicate: ["addIcon"], descendants: true }, { propertyName: "viewIconTpl", first: true, predicate: ["viewIcon"], descendants: true }, { propertyName: "getIconTpl", first: true, predicate: ["getIcon"], descendants: true }, { propertyName: "settingsIconTpl", first: true, predicate: ["settingsIcon"], descendants: true }, { propertyName: "defaultIconTpl", first: true, predicate: ["defaultIcon"], descendants: true, static: true }, { propertyName: "scheduleIconTpl", first: true, predicate: ["scheduleIcon"], descendants: true }, { propertyName: "refreshIconTpl", first: true, predicate: ["refreshIcon"], descendants: true }, { propertyName: "checkCircleIconTpl", first: true, predicate: ["checkCircleIcon"], descendants: true }, { propertyName: "cancelCircleIconTpl", first: true, predicate: ["cancelCircleIcon"], descendants: true }, { propertyName: "errorIconTpl", first: true, predicate: ["errorIcon"], descendants: true }, { propertyName: "queueIconTpl", first: true, predicate: ["queueIcon"], descendants: true }, { propertyName: "arrowUpIconTpl", first: true, predicate: ["arrowUpIcon"], descendants: true }, { propertyName: "arrowDownIconTpl", first: true, predicate: ["arrowDownIcon"], descendants: true }, { propertyName: "toggleOnIconTpl", first: true, predicate: ["toggleOnIcon"], descendants: true }, { propertyName: "toggleOffIconTpl", first: true, predicate: ["toggleOffIcon"], descendants: true }, { propertyName: "searchIconTpl", first: true, predicate: ["searchIcon"], descendants: true }, { propertyName: "uploadIconTpl", first: true, predicate: ["uploadIcon"], descendants: true }, { propertyName: "pendingActionsIconTpl", first: true, predicate: ["pendingActionsIcon"], descendants: true }, { propertyName: "playCircleIconTpl", first: true, predicate: ["playCircleIcon"], descendants: true }], ngImport: i0, template: "@if (button) {\r\n<button type=\"{{type}}\" [disabled]=\"disabled\" class=\"icon-button\" [style.width.px]=\"iconSize + 8\" [style.height.px]=\"iconSize + 8\" (click)=\"onButtonClick($event)\">\r\n <ng-container *ngTemplateOutlet=\"getIconTemplate()\"></ng-container>\r\n</button>\r\n} @else {\r\n<span class=\"icon-span\" [style.width.px]=\"iconSize\" [style.height.px]=\"iconSize\">\r\n <ng-container *ngTemplateOutlet=\"getIconTemplate()\"></ng-container>\r\n</span>\r\n}\r\n\r\n<ng-template #checkIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <path d=\"M5 13l4 4L19 7\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #cancelIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <path d=\"M6 6l12 12M6 18L18 6\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #editIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <rect x=\"5\" y=\"19\" width=\"14\" height=\"2\" rx=\"1\" [attr.fill]=\"iconColor\" />\r\n <path d=\"M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #deleteIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <path d=\"M6 19a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z\" [attr.fill]=\"iconColor\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #addIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <path d=\"M12 5v14M5 12h14\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #viewIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <path d=\"M12 5C7 5 2.73 8.11 1 12c1.73 3.89 6 7 11 7s9.27-3.11 11-7c-1.73-3.89-6-7-11-7z\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <circle cx=\"12\" cy=\"12\" r=\"3\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #getIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <circle cx=\"6\" cy=\"6\" r=\"3\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" />\r\n <circle cx=\"18\" cy=\"18\" r=\"3\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" />\r\n <path d=\"m8.5 8.5 7 7\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n <path d=\"m13 11 2 2-2 2\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #settingsIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <circle cx=\"12\" cy=\"12\" r=\"3\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" />\r\n <path d=\"M12 1v6m0 6v10M3.34 7l5.2 3M15.46 14l5.2 3M3.34 17l5.2-3M15.46 10l5.2-3\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #defaultIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #scheduleIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" />\r\n <polyline points=\"12,6 12,12 16,14\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #refreshIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <path d=\"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M21 3v5h-5\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M3 21v-5h5\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #checkCircleIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" />\r\n <path d=\"m9 12 2 2 4-4\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #cancelCircleIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" />\r\n <path d=\"m15 9-6 6m0-6 6 6\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #errorIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" />\r\n <line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n <line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #queueIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <path d=\"M3 12h18m-9-9v18\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n <rect x=\"2\" y=\"3\" width=\"20\" height=\"6\" rx=\"1\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" fill=\"none\" />\r\n <rect x=\"2\" y=\"15\" width=\"20\" height=\"6\" rx=\"1\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" fill=\"none\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #arrowUpIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <path d=\"m18 15-6-6-6 6\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #arrowDownIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <path d=\"m6 9 6 6 6-6\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #toggleOnIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <rect x=\"1\" y=\"5\" width=\"22\" height=\"14\" rx=\"7\" [attr.fill]=\"iconColor\" />\r\n <circle cx=\"16\" cy=\"12\" r=\"3\" fill=\"white\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #toggleOffIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <rect x=\"1\" y=\"5\" width=\"22\" height=\"14\" rx=\"7\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" fill=\"none\" />\r\n <circle cx=\"8\" cy=\"12\" r=\"3\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" fill=\"none\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #searchIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <circle cx=\"11\" cy=\"11\" r=\"8\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"m21 21-4.35-4.35\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #uploadIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <polyline points=\"7,10 12,5 17,10\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"15\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #pendingActionsIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <polyline points=\"12,6 12,12 16,14\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M8 2v4M16 2v4\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #playCircleIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <polygon points=\"10,8 16,12 10,16\" [attr.fill]=\"iconColor\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #defaultIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <circle cx=\"12\" cy=\"12\" r=\"2\" [attr.fill]=\"iconColor\" />\r\n </svg>\r\n</ng-template>", styles: [":host .icon-button{display:inline-flex;align-items:center;justify-content:center;border:none;outline:none;background:transparent;border-radius:50%;min-width:0;min-height:0;padding:4px;cursor:pointer;transition:background .2s;box-sizing:border-box}:host .icon-button:focus-visible{outline:2px solid #1976d2;outline-offset:2px}:host .icon-button:hover:not(:disabled){background:#1976d214}:host .icon-button:active:not(:disabled){background:#1976d229}:host .icon-button:disabled{opacity:.5;cursor:default;background:transparent}:host .icon-span,:host .icon-button{margin-left:4px;margin-right:4px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
75
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: C80IconComponent, isStandalone: true, selector: "c80-icon", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, customColor: { classPropertyName: "customColor", publicName: "customColor", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, button: { classPropertyName: "button", publicName: "button", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { iconClick: "iconClick" }, viewQueries: [{ propertyName: "check", first: true, predicate: ["check"], descendants: true, isSignal: true }, { propertyName: "cancel", first: true, predicate: ["cancel"], descendants: true, isSignal: true }, { propertyName: "edit", first: true, predicate: ["edit"], descendants: true, isSignal: true }, { propertyName: "delete", first: true, predicate: ["delete"], descendants: true, isSignal: true }, { propertyName: "add", first: true, predicate: ["add"], descendants: true, isSignal: true }, { propertyName: "view", first: true, predicate: ["view"], descendants: true, isSignal: true }, { propertyName: "get", first: true, predicate: ["get"], descendants: true, isSignal: true }, { propertyName: "settings", first: true, predicate: ["settings"], descendants: true, isSignal: true }, { propertyName: "schedule", first: true, predicate: ["schedule"], descendants: true, isSignal: true }, { propertyName: "refresh", first: true, predicate: ["refresh"], descendants: true, isSignal: true }, { propertyName: "checkCircle", first: true, predicate: ["checkCircle"], descendants: true, isSignal: true }, { propertyName: "cancelCircle", first: true, predicate: ["cancelCircle"], descendants: true, isSignal: true }, { propertyName: "error", first: true, predicate: ["error"], descendants: true, isSignal: true }, { propertyName: "queue", first: true, predicate: ["queue"], descendants: true, isSignal: true }, { propertyName: "arrowUp", first: true, predicate: ["arrowUp"], descendants: true, isSignal: true }, { propertyName: "arrowDown", first: true, predicate: ["arrowDown"], descendants: true, isSignal: true }, { propertyName: "toggleOn", first: true, predicate: ["toggleOn"], descendants: true, isSignal: true }, { propertyName: "toggleOff", first: true, predicate: ["toggleOff"], descendants: true, isSignal: true }, { propertyName: "search", first: true, predicate: ["search"], descendants: true, isSignal: true }, { propertyName: "upload", first: true, predicate: ["upload"], descendants: true, isSignal: true }, { propertyName: "pendingActions", first: true, predicate: ["pendingActions"], descendants: true, isSignal: true }, { propertyName: "playCircle", first: true, predicate: ["playCircle"], descendants: true, isSignal: true }, { propertyName: "default", first: true, predicate: ["default"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (button()) {\r\n<button [type]=\"type()\" [disabled]=\"disabled()\" class=\"icon-button\" [style.width.px]=\"iconSize() + 8\" [style.height.px]=\"iconSize() + 8\" (click)=\"onButtonClick($event)\">\r\n <ng-container *ngTemplateOutlet=\"iconTemplate() || default\"></ng-container>\r\n</button>\r\n} @else {\r\n<span class=\"icon-span\" [style.width.px]=\"iconSize()\" [style.height.px]=\"iconSize()\">\r\n <ng-container *ngTemplateOutlet=\"iconTemplate() || default\"></ng-container>\r\n</span>\r\n}\r\n\r\n<ng-template #check>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"M5 13l4 4L19 7\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #cancel>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"M6 6l12 12M6 18L18 6\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #edit>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <rect x=\"5\" y=\"19\" width=\"14\" height=\"2\" rx=\"1\" [attr.fill]=\"iconColor()\" />\r\n <path d=\"M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #delete>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"M6 19a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z\" [attr.fill]=\"iconColor()\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #add>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"M12 5v14M5 12h14\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #view>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"M12 5C7 5 2.73 8.11 1 12c1.73 3.89 6 7 11 7s9.27-3.11 11-7c-1.73-3.89-6-7-11-7z\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <circle cx=\"12\" cy=\"12\" r=\"3\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #get>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"6\" cy=\"6\" r=\"3\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n <circle cx=\"18\" cy=\"18\" r=\"3\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n <path d=\"m8.5 8.5 7 7\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n <path d=\"m13 11 2 2-2 2\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #settings>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"12\" cy=\"12\" r=\"3\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n <path d=\"M12 1v6m0 6v10M3.34 7l5.2 3M15.46 14l5.2 3M3.34 17l5.2-3M15.46 10l5.2-3\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #default>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #schedule>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n <polyline points=\"12,6 12,12 16,14\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #refresh>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M21 3v5h-5\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M3 21v-5h5\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #checkCircle>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n <path d=\"m9 12 2 2 4-4\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #cancelCircle>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n <path d=\"m15 9-6 6m0-6 6 6\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #error>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n <line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n <line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #queue>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"M3 12h18m-9-9v18\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n <rect x=\"2\" y=\"3\" width=\"20\" height=\"6\" rx=\"1\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" fill=\"none\" />\r\n <rect x=\"2\" y=\"15\" width=\"20\" height=\"6\" rx=\"1\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" fill=\"none\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #arrowUp>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"m18 15-6-6-6 6\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #arrowDown>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"m6 9 6 6 6-6\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #toggleOn>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <rect x=\"1\" y=\"5\" width=\"22\" height=\"14\" rx=\"7\" [attr.fill]=\"iconColor()\" />\r\n <circle cx=\"16\" cy=\"12\" r=\"3\" fill=\"white\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #toggleOff>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <rect x=\"1\" y=\"5\" width=\"22\" height=\"14\" rx=\"7\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" fill=\"none\" />\r\n <circle cx=\"8\" cy=\"12\" r=\"3\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" fill=\"none\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #search>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"11\" cy=\"11\" r=\"8\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"m21 21-4.35-4.35\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #upload>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <polyline points=\"7,10 12,5 17,10\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"15\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #pendingActions>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <polyline points=\"12,6 12,12 16,14\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M8 2v4M16 2v4\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #playCircle>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <polygon points=\"10,8 16,12 10,16\" [attr.fill]=\"iconColor()\" />\r\n </svg>\r\n</ng-template>", styles: [":host .icon-button{display:inline-flex;align-items:center;justify-content:center;border:none;outline:none;background:transparent;border-radius:50%;min-width:0;min-height:0;padding:4px;cursor:pointer;transition:background .2s;box-sizing:border-box}:host .icon-button:focus-visible{outline:2px solid #1976d2;outline-offset:2px}:host .icon-button:hover:not(:disabled){background:#1976d214}:host .icon-button:active:not(:disabled){background:#1976d229}:host .icon-button:disabled{opacity:.5;cursor:default;background:transparent}:host .icon-span,:host .icon-button{margin-left:4px;margin-right:4px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
126
76
|
}
|
|
127
77
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: C80IconComponent, decorators: [{
|
|
128
78
|
type: Component,
|
|
129
|
-
args: [{ selector: 'c80-icon', standalone: true, imports: [CommonModule], template: "@if (button) {\r\n<button type=\"{{type}}\" [disabled]=\"disabled\" class=\"icon-button\" [style.width.px]=\"iconSize + 8\" [style.height.px]=\"iconSize + 8\" (click)=\"onButtonClick($event)\">\r\n <ng-container *ngTemplateOutlet=\"getIconTemplate()\"></ng-container>\r\n</button>\r\n} @else {\r\n<span class=\"icon-span\" [style.width.px]=\"iconSize\" [style.height.px]=\"iconSize\">\r\n <ng-container *ngTemplateOutlet=\"getIconTemplate()\"></ng-container>\r\n</span>\r\n}\r\n\r\n<ng-template #checkIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <path d=\"M5 13l4 4L19 7\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #cancelIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <path d=\"M6 6l12 12M6 18L18 6\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #editIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <rect x=\"5\" y=\"19\" width=\"14\" height=\"2\" rx=\"1\" [attr.fill]=\"iconColor\" />\r\n <path d=\"M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #deleteIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <path d=\"M6 19a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z\" [attr.fill]=\"iconColor\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #addIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <path d=\"M12 5v14M5 12h14\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #viewIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <path d=\"M12 5C7 5 2.73 8.11 1 12c1.73 3.89 6 7 11 7s9.27-3.11 11-7c-1.73-3.89-6-7-11-7z\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <circle cx=\"12\" cy=\"12\" r=\"3\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #getIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <circle cx=\"6\" cy=\"6\" r=\"3\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" />\r\n <circle cx=\"18\" cy=\"18\" r=\"3\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" />\r\n <path d=\"m8.5 8.5 7 7\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n <path d=\"m13 11 2 2-2 2\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #settingsIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <circle cx=\"12\" cy=\"12\" r=\"3\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" />\r\n <path d=\"M12 1v6m0 6v10M3.34 7l5.2 3M15.46 14l5.2 3M3.34 17l5.2-3M15.46 10l5.2-3\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #defaultIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #scheduleIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" />\r\n <polyline points=\"12,6 12,12 16,14\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #refreshIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <path d=\"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M21 3v5h-5\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M3 21v-5h5\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #checkCircleIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" />\r\n <path d=\"m9 12 2 2 4-4\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #cancelCircleIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" />\r\n <path d=\"m15 9-6 6m0-6 6 6\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #errorIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" />\r\n <line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n <line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #queueIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <path d=\"M3 12h18m-9-9v18\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n <rect x=\"2\" y=\"3\" width=\"20\" height=\"6\" rx=\"1\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" fill=\"none\" />\r\n <rect x=\"2\" y=\"15\" width=\"20\" height=\"6\" rx=\"1\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" fill=\"none\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #arrowUpIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <path d=\"m18 15-6-6-6 6\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #arrowDownIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <path d=\"m6 9 6 6 6-6\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #toggleOnIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <rect x=\"1\" y=\"5\" width=\"22\" height=\"14\" rx=\"7\" [attr.fill]=\"iconColor\" />\r\n <circle cx=\"16\" cy=\"12\" r=\"3\" fill=\"white\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #toggleOffIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <rect x=\"1\" y=\"5\" width=\"22\" height=\"14\" rx=\"7\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" fill=\"none\" />\r\n <circle cx=\"8\" cy=\"12\" r=\"3\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" fill=\"none\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #searchIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <circle cx=\"11\" cy=\"11\" r=\"8\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"m21 21-4.35-4.35\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #uploadIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <polyline points=\"7,10 12,5 17,10\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"15\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #pendingActionsIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <polyline points=\"12,6 12,12 16,14\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M8 2v4M16 2v4\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #playCircleIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <polygon points=\"10,8 16,12 10,16\" [attr.fill]=\"iconColor\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #defaultIcon>\r\n <svg [attr.width]=\"iconSize\" [attr.height]=\"iconSize\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity\">\r\n <circle cx=\"12\" cy=\"12\" r=\"2\" [attr.fill]=\"iconColor\" />\r\n </svg>\r\n</ng-template>", styles: [":host .icon-button{display:inline-flex;align-items:center;justify-content:center;border:none;outline:none;background:transparent;border-radius:50%;min-width:0;min-height:0;padding:4px;cursor:pointer;transition:background .2s;box-sizing:border-box}:host .icon-button:focus-visible{outline:2px solid #1976d2;outline-offset:2px}:host .icon-button:hover:not(:disabled){background:#1976d214}:host .icon-button:active:not(:disabled){background:#1976d229}:host .icon-button:disabled{opacity:.5;cursor:default;background:transparent}:host .icon-span,:host .icon-button{margin-left:4px;margin-right:4px}\n"] }]
|
|
130
|
-
}]
|
|
131
|
-
type: Input
|
|
132
|
-
}], color: [{
|
|
133
|
-
type: Input
|
|
134
|
-
}], customColor: [{
|
|
135
|
-
type: Input
|
|
136
|
-
}], disabled: [{
|
|
137
|
-
type: Input
|
|
138
|
-
}], size: [{
|
|
139
|
-
type: Input
|
|
140
|
-
}], button: [{
|
|
141
|
-
type: Input
|
|
142
|
-
}], type: [{
|
|
143
|
-
type: Input
|
|
144
|
-
}], iconClick: [{
|
|
145
|
-
type: Output
|
|
146
|
-
}], checkIconTpl: [{
|
|
147
|
-
type: ViewChild,
|
|
148
|
-
args: ['checkIcon']
|
|
149
|
-
}], cancelIconTpl: [{
|
|
150
|
-
type: ViewChild,
|
|
151
|
-
args: ['cancelIcon']
|
|
152
|
-
}], editIconTpl: [{
|
|
153
|
-
type: ViewChild,
|
|
154
|
-
args: ['editIcon']
|
|
155
|
-
}], deleteIconTpl: [{
|
|
156
|
-
type: ViewChild,
|
|
157
|
-
args: ['deleteIcon']
|
|
158
|
-
}], addIconTpl: [{
|
|
159
|
-
type: ViewChild,
|
|
160
|
-
args: ['addIcon']
|
|
161
|
-
}], viewIconTpl: [{
|
|
162
|
-
type: ViewChild,
|
|
163
|
-
args: ['viewIcon']
|
|
164
|
-
}], getIconTpl: [{
|
|
165
|
-
type: ViewChild,
|
|
166
|
-
args: ['getIcon']
|
|
167
|
-
}], settingsIconTpl: [{
|
|
168
|
-
type: ViewChild,
|
|
169
|
-
args: ['settingsIcon']
|
|
170
|
-
}], defaultIconTpl: [{
|
|
171
|
-
type: ViewChild,
|
|
172
|
-
args: ['defaultIcon', { static: true }]
|
|
173
|
-
}], scheduleIconTpl: [{
|
|
174
|
-
type: ViewChild,
|
|
175
|
-
args: ['scheduleIcon']
|
|
176
|
-
}], refreshIconTpl: [{
|
|
177
|
-
type: ViewChild,
|
|
178
|
-
args: ['refreshIcon']
|
|
179
|
-
}], checkCircleIconTpl: [{
|
|
180
|
-
type: ViewChild,
|
|
181
|
-
args: ['checkCircleIcon']
|
|
182
|
-
}], cancelCircleIconTpl: [{
|
|
183
|
-
type: ViewChild,
|
|
184
|
-
args: ['cancelCircleIcon']
|
|
185
|
-
}], errorIconTpl: [{
|
|
186
|
-
type: ViewChild,
|
|
187
|
-
args: ['errorIcon']
|
|
188
|
-
}], queueIconTpl: [{
|
|
189
|
-
type: ViewChild,
|
|
190
|
-
args: ['queueIcon']
|
|
191
|
-
}], arrowUpIconTpl: [{
|
|
192
|
-
type: ViewChild,
|
|
193
|
-
args: ['arrowUpIcon']
|
|
194
|
-
}], arrowDownIconTpl: [{
|
|
195
|
-
type: ViewChild,
|
|
196
|
-
args: ['arrowDownIcon']
|
|
197
|
-
}], toggleOnIconTpl: [{
|
|
198
|
-
type: ViewChild,
|
|
199
|
-
args: ['toggleOnIcon']
|
|
200
|
-
}], toggleOffIconTpl: [{
|
|
201
|
-
type: ViewChild,
|
|
202
|
-
args: ['toggleOffIcon']
|
|
203
|
-
}], searchIconTpl: [{
|
|
204
|
-
type: ViewChild,
|
|
205
|
-
args: ['searchIcon']
|
|
206
|
-
}], uploadIconTpl: [{
|
|
207
|
-
type: ViewChild,
|
|
208
|
-
args: ['uploadIcon']
|
|
209
|
-
}], pendingActionsIconTpl: [{
|
|
210
|
-
type: ViewChild,
|
|
211
|
-
args: ['pendingActionsIcon']
|
|
212
|
-
}], playCircleIconTpl: [{
|
|
213
|
-
type: ViewChild,
|
|
214
|
-
args: ['playCircleIcon']
|
|
215
|
-
}] } });
|
|
216
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NyYy9saWIvaWNvbi9pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvc3JjL2xpYi9pY29uL2ljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixTQUFTLEVBR1QsaUJBQWlCLEVBQ2pCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQW1DL0MsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixvQ0FBb0M7SUFDcEMsSUFBSSxRQUFRO1FBQ1YsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztJQUN4QixDQUFDO0lBQ1EsSUFBSSxHQUFTLE9BQU8sQ0FBQztJQUNyQixLQUFLLEdBQVUsU0FBUyxDQUFDO0lBQ3pCLFdBQVcsQ0FBVSxDQUFDLCtCQUErQjtJQUNyRCxRQUFRLEdBQWEsS0FBSyxDQUFDO0lBQzNCLElBQUksR0FBRyxDQUFDLENBQUM7SUFDbEIsOEVBQThFO0lBQ3RFLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFFUCxHQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDakQsSUFDSSxNQUFNLENBQUMsR0FBd0M7UUFDakQseUZBQXlGO1FBQ3pGLElBQUksQ0FBQyxPQUFPO1lBQ1YsR0FBRyxLQUFLLElBQUksSUFBSSxHQUFHLEtBQUssU0FBUyxJQUFJLEdBQUcsS0FBSyxLQUFLLElBQUksR0FBRyxLQUFLLE9BQU8sQ0FBQztJQUMxRSxDQUFDO0lBQ0QsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFDRCxpREFBaUQ7SUFDeEMs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akMsU0FBUzt1QkFBQyxVQUFVO2dCQUNJLGFBQWE7c0JBQXJDLFNBQVM7dUJBQUMsWUFBWTtnQkFDRCxVQUFVO3NCQUEvQixTQUFTO3VCQUFDLFNBQVM7Z0JBQ0csV0FBVztzQkFBakMsU0FBUzt1QkFBQyxVQUFVO2dCQUNDLFVBQVU7c0JBQS9CLFNBQVM7dUJBQUMsU0FBUztnQkFDTyxlQUFlO3NCQUF6QyxTQUFTO3VCQUFDLGNBQWM7Z0JBQ21CLGNBQWM7c0JBQXpELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDZixlQUFlO3NCQUF6QyxTQUFTO3VCQUFDLGNBQWM7Z0JBQ0MsY0FBYztzQkFBdkMsU0FBUzt1QkFBQyxhQUFhO2dCQUNNLGtCQUFrQjtzQkFBL0MsU0FBUzt1QkFBQyxpQkFBaUI7Z0JBQ0csbUJBQW1CO3NCQUFqRCxTQUFTO3VCQUFDLGtCQUFrQjtnQkFDTCxZQUFZO3NCQUFuQyxTQUFTO3VCQUFDLFdBQVc7Z0JBQ0UsWUFBWTtzQkFBbkMsU0FBUzt1QkFBQyxXQUFXO2dCQUNJLGNBQWM7c0JBQXZDLFNBQVM7dUJBQUMsYUFBYTtnQkFDSSxnQkFBZ0I7c0JBQTNDLFNBQVM7dUJBQUMsZUFBZTtnQkFDQyxlQUFlO3NCQUF6QyxTQUFTO3VCQUFDLGNBQWM7Z0JBQ0csZ0JBQWdCO3NCQUEzQyxTQUFTO3VCQUFDLGVBQWU7Z0JBQ0QsYUFBYTtzQkFBckMsU0FBUzt1QkFBQyxZQUFZO2dCQUNFLGFBQWE7c0JBQXJDLFNBQVM7dUJBQUMsWUFBWTtnQkFDVSxxQkFBcUI7c0JBQXJELFNBQVM7dUJBQUMsb0JBQW9CO2dCQUNGLGlCQUFpQjtzQkFBN0MsU0FBUzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIFZpZXdDaGlsZCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIGluamVjdCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbmV4cG9ydCB0eXBlIEljb24gPVxyXG4gIHwgJ2NoZWNrJ1xyXG4gIHwgJ2NhbmNlbCdcclxuICB8ICdlZGl0J1xyXG4gIHwgJ2RlbGV0ZSdcclxuICB8ICdhZGQnXHJcbiAgfCAndmlldydcclxuICB8ICdnZXQnXHJcbiAgfCAnc2V0dGluZ3MnXHJcbiAgfCAnc2NoZWR1bGUnXHJcbiAgfCAncmVmcmVzaCdcclxuICB8ICdjaGVja19jaXJjbGUnXHJcbiAgfCAnY2FuY2VsX2NpcmNsZSdcclxuICB8ICdlcnJvcidcclxuICB8ICdxdWV1ZSdcclxuICB8ICdhcnJvd191cCdcclxuICB8ICdhcnJvd19kb3duJ1xyXG4gIHwgJ3RvZ2dsZV9vbidcclxuICB8ICd0b2dnbGVfb2ZmJ1xyXG4gIHwgJ3NlYXJjaCdcclxuICB8ICd1cGxvYWQnXHJcbiAgfCAncGVuZGluZ19hY3Rpb25zJ1xyXG4gIHwgJ3BsYXlfY2lyY2xlJztcclxuZXhwb3J0IHR5cGUgQ29sb3IgPSAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICd3YXJuJyB8ICdzdWNjZXNzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXHJcbiAgc2VsZWN0b3I6ICdjODAtaWNvbicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vaWNvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaWNvbi5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQzgwSWNvbkNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIC8qKiBUYW1hw7FvIGJhc2UgZGVsIGljb25vIChlbiBweCkgKi9cclxuICBnZXQgaWNvblNpemUoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiAyNCAqIHRoaXMuc2l6ZTtcclxuICB9XHJcbiAgQElucHV0KCkgaWNvbjogSWNvbiA9ICdjaGVjayc7XHJcbiAgQElucHV0KCkgY29sb3I6IENvbG9yID0gJ3ByaW1hcnknO1xyXG4gIEBJbnB1dCgpIGN1c3RvbUNvbG9yPzogc3RyaW5nOyAvLyBDb2xvciBwZXJzb25hbGl6YWRvIG9wY2lvbmFsXHJcbiAgQElucHV0KCkgZGlzYWJsZWQ/OiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2l6ZSA9IDE7XHJcbiAgLyoqIFNpIGVzIHRydWUsIHJlbmRlcml6YSBjb21vIDxidXR0b24+IG5hdGl2bywgc2kgZXMgZmFsc2Ugc29sbyBjb21vIGljb25vICovXHJcbiAgcHJpdmF0ZSBfYnV0dG9uID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcclxuICBASW5wdXQoKVxyXG4gIHNldCBidXR0b24odmFsOiBib29sZWFuIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgLy8gUGVybWl0ZSB1c2FyICdidXR0b24nIGEgc2VjYXMsIGN1YWxxdWllciB2YWxvciBxdWUgbm8gc2VhIG51bGwvdW5kZWZpbmVkL2ZhbHNlIGVzIHRydWVcclxuICAgIHRoaXMuX2J1dHRvbiA9XHJcbiAgICAgIHZhbCAhPT0gbnVsbCAmJiB2YWwgIT09IHVuZGVmaW5lZCAmJiB2YWwgIT09IGZhbHNlICYmIHZhbCAhPT0gJ2ZhbHNlJztcclxuICB9XHJcbiAgZ2V0IGJ1dHRvbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9idXR0b247XHJcbiAgfVxyXG4gIC8qKiBUaXBvIGRlIGJvdMOzbiBuYXRpdm8gKHNvbG8gc2kgYnV0dG9uPXRydWUpICovXHJcbiAgQElucHV0KCkgdHlwZTogJ2J1dHRvbicgfCAnc3VibWl0JyB8ICdyZXNldCcgPSAnYnV0dG9uJztcclxuICAvKiogT3V0cHV0IHBhcmEgY2xpY2sgKHNvbG8gc2kgYnV0dG9uPXRydWUpICovXHJcbiAgQE91dHB1dCgpIGljb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2NoZWNrSWNvbicpIGNoZWNrSWNvblRwbCE6IFRlbXBsYXRlUmVmPHVua25vd24+O1xyXG4gIEBWaWV3Q2hpbGQoJ2NhbmNlbEljb24nKSBjYW5jZWxJY29uVHBsITogVGVtcGxhdGVSZWY8dW5rbm93bj47XHJcbiAgQFZpZXdDaGlsZCgnZWRpdEljb24nKSBlZGl0SWNvblRwbCE6IFRlbXBsYXRlUmVmPHVua25vd24+O1xyXG4gIEBWaWV3Q2hpbGQoJ2RlbGV0ZUljb24nKSBkZWxldGVJY29uVHBsITogVGVtcGxhdGVSZWY8dW5rbm93bj47XHJcbiAgQFZpZXdDaGlsZCgnYWRkSWNvbicpIGFkZEljb25UcGwhOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcclxuICBAVmlld0NoaWxkKCd2aWV3SWNvbicpIHZpZXdJY29uVHBsITogVGVtcGxhdGVSZWY8dW5rbm93bj47XHJcbiAgQFZpZXdDaGlsZCgnZ2V0SWNvbicpIGdldEljb25UcGwhOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcclxuICBAVmlld0NoaWxkKCdzZXR0aW5nc0ljb24nKSBzZXR0aW5nc0ljb25UcGwhOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcclxuICBAVmlld0NoaWxkKCdkZWZhdWx0SWNvbicsIHsgc3RhdGljOiB0cnVlIH0pIGRlZmF1bHRJY29uVHBsITogVGVtcGxhdGVSZWY8dW5rbm93bj47XHJcbiAgQFZpZXdDaGlsZCgnc2NoZWR1bGVJY29uJykgc2NoZWR1bGVJY29uVHBsITogVGVtcGxhdGVSZWY8dW5rbm93bj47XHJcbiAgQFZpZXdDaGlsZCgncmVmcmVzaEljb24nKSByZWZyZXNoSWNvblRwbCE6IFRlbXBsYXRlUmVmPHVua25vd24+O1xyXG4gIEBWaWV3Q2hpbGQoJ2NoZWNrQ2lyY2xlSWNvbicpIGNoZWNrQ2lyY2xlSWNvblRwbCE6IFRlbXBsYXRlUmVmPHVua25vd24+O1xyXG4gIEBWaWV3Q2hpbGQoJ2NhbmNlbENpcmNsZUljb24nKSBjYW5jZWxDaXJjbGVJY29uVHBsITogVGVtcGxhdGVSZWY8dW5rbm93bj47XHJcbiAgQFZpZXdDaGlsZCgnZXJyb3JJY29uJykgZXJyb3JJY29uVHBsITogVGVtcGxhdGVSZWY8dW5rbm93bj47XHJcbiAgQFZpZXdDaGlsZCgncXVldWVJY29uJykgcXVldWVJY29uVHBsITogVGVtcGxhdGVSZWY8dW5rbm93bj47XHJcbiAgQFZpZXdDaGlsZCgnYXJyb3dVcEljb24nKSBhcnJvd1VwSWNvblRwbCE6IFRlbXBsYXRlUmVmPHVua25vd24+O1xyXG4gIEBWaWV3Q2hpbGQoJ2Fycm93RG93bkljb24nKSBhcnJvd0Rvd25JY29uVHBsITogVGVtcGxhdGVSZWY8dW5rbm93bj47XHJcbiAgQFZpZXdDaGlsZCgndG9nZ2xlT25JY29uJykgdG9nZ2xlT25JY29uVHBsITogVGVtcGxhdGVSZWY8dW5rbm93bj47XHJcbiAgQFZpZXdDaGlsZCgndG9nZ2xlT2ZmSWNvbicpIHRvZ2dsZU9mZkljb25UcGwhOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcclxuICBAVmlld0NoaWxkKCdzZWFyY2hJY29uJykgc2VhcmNoSWNvblRwbCE6IFRlbXBsYXRlUmVmPHVua25vd24+O1xyXG4gIEBWaWV3Q2hpbGQoJ3VwbG9hZEljb24nKSB1cGxvYWRJY29uVHBsITogVGVtcGxhdGVSZWY8dW5rbm93bj47XHJcbiAgQFZpZXdDaGlsZCgncGVuZGluZ0FjdGlvbnNJY29uJykgcGVuZGluZ0FjdGlvbnNJY29uVHBsITogVGVtcGxhdGVSZWY8dW5rbm93bj47XHJcbiAgQFZpZXdDaGlsZCgncGxheUNpcmNsZUljb24nKSBwbGF5Q2lyY2xlSWNvblRwbCE6IFRlbXBsYXRlUmVmPHVua25vd24+O1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGljb25NYXAgPSBuZXcgTWFwPEljb24sIFRlbXBsYXRlUmVmPHVua25vd24+PigpO1xyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLmluaXRpYWxpemVCYXNpY0ljb25zKCk7XHJcbiAgICB0aGlzLmluaXRpYWxpemVTdGF0ZUljb25zKCk7XHJcbiAgICB0aGlzLmluaXRpYWxpemVVdGlsaXR5SWNvbnMoKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUJhc2ljSWNvbnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmljb25NYXAuc2V0KCdjaGVjaycsIHRoaXMuY2hlY2tJY29uVHBsKTtcclxuICAgIHRoaXMuaWNvbk1hcC5zZXQoJ2NhbmNlbCcsIHRoaXMuY2FuY2VsSWNvblRwbCk7XHJcbiAgICB0aGlzLmljb25NYXAuc2V0KCdlZGl0JywgdGhpcy5lZGl0SWNvblRwbCk7XHJcbiAgICB0aGlzLmljb25NYXAuc2V0KCdkZWxldGUnLCB0aGlzLmRlbGV0ZUljb25UcGwpO1xyXG4gICAgdGhpcy5pY29uTWFwLnNldCgnYWRkJywgdGhpcy5hZGRJY29uVHBsKTtcclxuICAgIHRoaXMuaWNvbk1hcC5zZXQoJ3ZpZXcnLCB0aGlzLnZpZXdJY29uVHBsKTtcclxuICAgIHRoaXMuaWNvbk1hcC5zZXQoJ2dldCcsIHRoaXMuZ2V0SWNvblRwbCk7XHJcbiAgICB0aGlzLmljb25NYXAuc2V0KCdzZXR0aW5ncycsIHRoaXMuc2V0dGluZ3NJY29uVHBsKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdGlhbGl6ZVN0YXRlSWNvbnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmljb25NYXAuc2V0KCdjaGVja19jaXJjbGUnLCB0aGlzLmNoZWNrQ2lyY2xlSWNvblRwbCk7XHJcbiAgICB0aGlzLmljb25NYXAuc2V0KCdjYW5jZWxfY2lyY2xlJywgdGhpcy5jYW5jZWxDaXJjbGVJY29uVHBsKTtcclxuICAgIHRoaXMuaWNvbk1hcC5zZXQoJ2Vycm9yJywgdGhpcy5lcnJvckljb25UcGwpO1xyXG4gICAgdGhpcy5pY29uTWFwLnNldCgndG9nZ2xlX29uJywgdGhpcy50b2dnbGVPbkljb25UcGwpO1xyXG4gICAgdGhpcy5pY29uTWFwLnNldCgndG9nZ2xlX29mZicsIHRoaXMudG9nZ2xlT2ZmSWNvblRwbCk7XHJcbiAgICB0aGlzLmljb25NYXAuc2V0KCdwZW5kaW5nX2FjdGlvbnMnLCB0aGlzLnBlbmRpbmdBY3Rpb25zSWNvblRwbCk7XHJcbiAgICB0aGlzLmljb25NYXAuc2V0KCdwbGF5X2NpcmNsZScsIHRoaXMucGxheUNpcmNsZUljb25UcGwpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0aWFsaXplVXRpbGl0eUljb25zKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pY29uTWFwLnNldCgnc2NoZWR1bGUnLCB0aGlzLnNjaGVkdWxlSWNvblRwbCk7XHJcbiAgICB0aGlzLmljb25NYXAuc2V0KCdyZWZyZXNoJywgdGhpcy5yZWZyZXNoSWNvblRwbCk7XHJcbiAgICB0aGlzLmljb25NYXAuc2V0KCdxdWV1ZScsIHRoaXMucXVldWVJY29uVHBsKTtcclxuICAgIHRoaXMuaWNvbk1hcC5zZXQoJ2Fycm93X3VwJywgdGhpcy5hcnJvd1VwSWNvblRwbCk7XHJcbiAgICB0aGlzLmljb25NYXAuc2V0KCdhcnJvd19kb3duJywgdGhpcy5hcnJvd0Rvd25JY29uVHBsKTtcclxuICAgIHRoaXMuaWNvbk1hcC5zZXQoJ3NlYXJjaCcsIHRoaXMuc2VhcmNoSWNvblRwbCk7XHJcbiAgICB0aGlzLmljb25NYXAuc2V0KCd1cGxvYWQnLCB0aGlzLnVwbG9hZEljb25UcGwpO1xyXG4gIH1cclxuXHJcbiAgZ2V0SWNvblRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHtcclxuICAgIHJldHVybiB0aGlzLmljb25NYXAuZ2V0KHRoaXMuaWNvbikgPz8gdGhpcy5kZWZhdWx0SWNvblRwbDtcclxuICB9XHJcblxyXG4gIGdldCBpY29uQ29sb3IoKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgIHJldHVybiAnI2JkYmRiZCc7IC8vIGdyaXMgZGVzaGFiaWxpdGFkb1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFNpIGhheSB1biBjb2xvciBwZXJzb25hbGl6YWRvLCB1c2FybG8gc2llbXByZSAoZXhjZXB0byBzaSBlc3TDoSBkaXNhYmxlZClcclxuICAgIGlmICh0aGlzLmN1c3RvbUNvbG9yKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmN1c3RvbUNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFBhbGV0YSBzaW1wbGlmaWNhZGEgLSBzb2xvIGNvbG9yZXMgYmFzZVxyXG4gICAgY29uc3QgYmFzZUNvbG9yczogUmVjb3JkPENvbG9yLCBzdHJpbmc+ID0ge1xyXG4gICAgICBwcmltYXJ5OiAnIzAwMzc3NWM4JyxcclxuICAgICAgc2Vjb25kYXJ5OiAnIzZiNzI4MCcsXHJcbiAgICAgIHdhcm46ICcjZTUzOTM1JyxcclxuICAgICAgc3VjY2VzczogJyM0Y2FmNTAnLFxyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4gYmFzZUNvbG9yc1t0aGlzLmNvbG9yXSA/PyAnIzIyMic7XHJcbiAgfVxyXG5cclxuICBnZXQgaWNvbk9wYWNpdHkoKTogbnVtYmVyIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgIHJldHVybiAwLjU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQXBsaWNhciBvcGFjaXR5IDAuNyBjdWFuZG8gZXMgY29sb3Igc2Vjb25kYXJ5IG8gd2FybiAoc2luIGN1c3RvbUNvbG9yKVxyXG4gICAgaWYgKFxyXG4gICAgICAodGhpcy5jb2xvciA9PT0gJ3NlY29uZGFyeScgfHwgdGhpcy5jb2xvciA9PT0gJ3dhcm4nKSAmJlxyXG4gICAgICAhdGhpcy5jdXN0b21Db2xvclxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybiAwLjc7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIDE7XHJcbiAgfSAvLyBIYW5kbGVyIHBhcmEgY2xpY2sgZW4gbW9kbyBidXR0b25cclxuICBvbkJ1dHRvbkNsaWNrKGV2ZW50OiBFdmVudCkge1xyXG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMuaWNvbkNsaWNrLmVtaXQoZXZlbnQpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAaWYgKGJ1dHRvbikge1xyXG48YnV0dG9uIHR5cGU9XCJ7e3R5cGV9fVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIGNsYXNzPVwiaWNvbi1idXR0b25cIiBbc3R5bGUud2lkdGgucHhdPVwiaWNvblNpemUgKyA4XCIgW3N0eWxlLmhlaWdodC5weF09XCJpY29uU2l6ZSArIDhcIiAoY2xpY2spPVwib25CdXR0b25DbGljaygkZXZlbnQpXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImdldEljb25UZW1wbGF0ZSgpXCI+PC9uZy1jb250YWluZXI+XHJcbjwvYnV0dG9uPlxyXG59IEBlbHNlIHtcclxuPHNwYW4gY2xhc3M9XCJpY29uLXNwYW5cIiBbc3R5bGUud2lkdGgucHhdPVwiaWNvblNpemVcIiBbc3R5bGUuaGVpZ2h0LnB4XT1cImljb25TaXplXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImdldEljb25UZW1wbGF0ZSgpXCI+PC9uZy1jb250YWluZXI+XHJcbjwvc3Bhbj5cclxufVxyXG5cclxuPG5nLXRlbXBsYXRlICNjaGVja0ljb24+XHJcbiAgPHN2ZyBbYXR0ci53aWR0aF09XCJpY29uU2l6ZVwiIFthdHRyLmhlaWdodF09XCJpY29uU2l6ZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIFtzdHlsZS5vcGFjaXR5XT1cImljb25PcGFjaXR5XCI+XHJcbiAgICA8cGF0aCBkPVwiTTUgMTNsNCA0TDE5IDdcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgPC9zdmc+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjY2FuY2VsSWNvbj5cclxuICA8c3ZnIFthdHRyLndpZHRoXT1cImljb25TaXplXCIgW2F0dHIuaGVpZ2h0XT1cImljb25TaXplXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgW3N0eWxlLm9wYWNpdHldPVwiaWNvbk9wYWNpdHlcIj5cclxuICAgIDxwYXRoIGQ9XCJNNiA2bDEyIDEyTTYgMThMMTggNlwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3JcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIC8+XHJcbiAgPC9zdmc+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjZWRpdEljb24+XHJcbiAgPHN2ZyBbYXR0ci53aWR0aF09XCJpY29uU2l6ZVwiIFthdHRyLmhlaWdodF09XCJpY29uU2l6ZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIFtzdHlsZS5vcGFjaXR5XT1cImljb25PcGFjaXR5XCI+XHJcbiAgICA8cmVjdCB4PVwiNVwiIHk9XCIxOVwiIHdpZHRoPVwiMTRcIiBoZWlnaHQ9XCIyXCIgcng9XCIxXCIgW2F0dHIuZmlsbF09XCJpY29uQ29sb3JcIiAvPlxyXG4gICAgPHBhdGggZD1cIk0xNi41IDMuNWEyLjEyMSAyLjEyMSAwIDAgMSAzIDNMNyAxOWwtNCAxIDEtNCAxMi41LTEyLjV6XCIgW2F0dHIuc3Ryb2tlXT1cImljb25Db2xvclwiIHN0cm9rZS13aWR0aD1cIjJcIiAvPlxyXG4gIDwvc3ZnPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI2RlbGV0ZUljb24+XHJcbiAgPHN2ZyBbYXR0ci53aWR0aF09XCJpY29uU2l6ZVwiIFthdHRyLmhlaWdodF09XCJpY29uU2l6ZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIFtzdHlsZS5vcGFjaXR5XT1cImljb25PcGFjaXR5XCI+XHJcbiAgICA8cGF0aCBkPVwiTTYgMTlhMiAyIDAgMCAwIDIgMmg4YTIgMiAwIDAgMCAyLTJWN0g2djEyek0xOSA0aC0zLjVsLTEtMWgtNWwtMSAxSDV2MmgxNFY0elwiIFthdHRyLmZpbGxdPVwiaWNvbkNvbG9yXCIgLz5cclxuICA8L3N2Zz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNhZGRJY29uPlxyXG4gIDxzdmcgW2F0dHIud2lkdGhdPVwiaWNvblNpemVcIiBbYXR0ci5oZWlnaHRdPVwiaWNvblNpemVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBbc3R5bGUub3BhY2l0eV09XCJpY29uT3BhY2l0eVwiPlxyXG4gICAgPHBhdGggZD1cIk0xMiA1djE0TTUgMTJoMTRcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiAvPlxyXG4gIDwvc3ZnPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI3ZpZXdJY29uPlxyXG4gIDxzdmcgW2F0dHIud2lkdGhdPVwiaWNvblNpemVcIiBbYXR0ci5oZWlnaHRdPVwiaWNvblNpemVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBbc3R5bGUub3BhY2l0eV09XCJpY29uT3BhY2l0eVwiPlxyXG4gICAgPHBhdGggZD1cIk0xMiA1QzcgNSAyLjczIDguMTEgMSAxMmMxLjczIDMuODkgNiA3IDExIDdzOS4yNy0zLjExIDExLTdjLTEuNzMtMy44OS02LTctMTEtN3pcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjNcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgPC9zdmc+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjZ2V0SWNvbj5cclxuICA8c3ZnIFthdHRyLndpZHRoXT1cImljb25TaXplXCIgW2F0dHIuaGVpZ2h0XT1cImljb25TaXplXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgW3N0eWxlLm9wYWNpdHldPVwiaWNvbk9wYWNpdHlcIj5cclxuICAgIDxjaXJjbGUgY3g9XCI2XCIgY3k9XCI2XCIgcj1cIjNcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIC8+XHJcbiAgICA8Y2lyY2xlIGN4PVwiMThcIiBjeT1cIjE4XCIgcj1cIjNcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIC8+XHJcbiAgICA8cGF0aCBkPVwibTguNSA4LjUgNyA3XCIgW2F0dHIuc3Ryb2tlXT1cImljb25Db2xvclwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgLz5cclxuICAgIDxwYXRoIGQ9XCJtMTMgMTEgMiAyLTIgMlwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3JcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICA8L3N2Zz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNzZXR0aW5nc0ljb24+XHJcbiAgPHN2ZyBbYXR0ci53aWR0aF09XCJpY29uU2l6ZVwiIFthdHRyLmhlaWdodF09XCJpY29uU2l6ZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIFtzdHlsZS5vcGFjaXR5XT1cImljb25PcGFjaXR5XCI+XHJcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjNcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIC8+XHJcbiAgICA8cGF0aCBkPVwiTTEyIDF2Nm0wIDZ2MTBNMy4zNCA3bDUuMiAzTTE1LjQ2IDE0bDUuMiAzTTMuMzQgMTdsNS4yLTNNMTUuNDYgMTBsNS4yLTNcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiAvPlxyXG4gIDwvc3ZnPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI2RlZmF1bHRJY29uPlxyXG4gIDxzdmcgW2F0dHIud2lkdGhdPVwiaWNvblNpemVcIiBbYXR0ci5oZWlnaHRdPVwiaWNvblNpemVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBbc3R5bGUub3BhY2l0eV09XCJpY29uT3BhY2l0eVwiPlxyXG4gICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIxMFwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3JcIiBzdHJva2Utd2lkdGg9XCIyXCIgLz5cclxuICA8L3N2Zz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNzY2hlZHVsZUljb24+XHJcbiAgPHN2ZyBbYXR0ci53aWR0aF09XCJpY29uU2l6ZVwiIFthdHRyLmhlaWdodF09XCJpY29uU2l6ZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIFtzdHlsZS5vcGFjaXR5XT1cImljb25PcGFjaXR5XCI+XHJcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjEwXCIgW2F0dHIuc3Ryb2tlXT1cImljb25Db2xvclwiIHN0cm9rZS13aWR0aD1cIjJcIiAvPlxyXG4gICAgPHBvbHlsaW5lIHBvaW50cz1cIjEyLDYgMTIsMTIgMTYsMTRcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgPC9zdmc+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjcmVmcmVzaEljb24+XHJcbiAgPHN2ZyBbYXR0ci53aWR0aF09XCJpY29uU2l6ZVwiIFthdHRyLmhlaWdodF09XCJpY29uU2l6ZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIFtzdHlsZS5vcGFjaXR5XT1cImljb25PcGFjaXR5XCI+XHJcbiAgICA8cGF0aCBkPVwiTTMgMTJhOSA5IDAgMCAxIDktOSA5Ljc1IDkuNzUgMCAwIDEgNi43NCAyLjc0TDIxIDhcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICA8cGF0aCBkPVwiTTIxIDN2NWgtNVwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3JcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgIDxwYXRoIGQ9XCJNMjEgMTJhOSA5IDAgMCAxLTkgOSA5Ljc1IDkuNzUgMCAwIDEtNi43NC0yLjc0TDMgMTZcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICA8cGF0aCBkPVwiTTMgMjF2LTVoNVwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3JcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICA8L3N2Zz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNjaGVja0NpcmNsZUljb24+XHJcbiAgPHN2ZyBbYXR0ci53aWR0aF09XCJpY29uU2l6ZVwiIFthdHRyLmhlaWdodF09XCJpY29uU2l6ZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIFtzdHlsZS5vcGFjaXR5XT1cImljb25PcGFjaXR5XCI+XHJcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjEwXCIgW2F0dHIuc3Ryb2tlXT1cImljb25Db2xvclwiIHN0cm9rZS13aWR0aD1cIjJcIiAvPlxyXG4gICAgPHBhdGggZD1cIm05IDEyIDIgMiA0LTRcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgPC9zdmc+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjY2FuY2VsQ2lyY2xlSWNvbj5cclxuICA8c3ZnIFthdHRyLndpZHRoXT1cImljb25TaXplXCIgW2F0dHIuaGVpZ2h0XT1cImljb25TaXplXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgW3N0eWxlLm9wYWNpdHldPVwiaWNvbk9wYWNpdHlcIj5cclxuICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiMTBcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIC8+XHJcbiAgICA8cGF0aCBkPVwibTE1IDktNiA2bTAtNiA2IDZcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgPC9zdmc+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjZXJyb3JJY29uPlxyXG4gIDxzdmcgW2F0dHIud2lkdGhdPVwiaWNvblNpemVcIiBbYXR0ci5oZWlnaHRdPVwiaWNvblNpemVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBbc3R5bGUub3BhY2l0eV09XCJpY29uT3BhY2l0eVwiPlxyXG4gICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIxMFwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3JcIiBzdHJva2Utd2lkdGg9XCIyXCIgLz5cclxuICAgIDxsaW5lIHgxPVwiMTVcIiB5MT1cIjlcIiB4Mj1cIjlcIiB5Mj1cIjE1XCIgW2F0dHIuc3Ryb2tlXT1cImljb25Db2xvclwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgLz5cclxuICAgIDxsaW5lIHgxPVwiOVwiIHkxPVwiOVwiIHgyPVwiMTVcIiB5Mj1cIjE1XCIgW2F0dHIuc3Ryb2tlXT1cImljb25Db2xvclwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgLz5cclxuICA8L3N2Zz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNxdWV1ZUljb24+XHJcbiAgPHN2ZyBbYXR0ci53aWR0aF09XCJpY29uU2l6ZVwiIFthdHRyLmhlaWdodF09XCJpY29uU2l6ZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIFtzdHlsZS5vcGFjaXR5XT1cImljb25PcGFjaXR5XCI+XHJcbiAgICA8cGF0aCBkPVwiTTMgMTJoMThtLTktOXYxOFwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3JcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIC8+XHJcbiAgICA8cmVjdCB4PVwiMlwiIHk9XCIzXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjZcIiByeD1cIjFcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIGZpbGw9XCJub25lXCIgLz5cclxuICAgIDxyZWN0IHg9XCIyXCIgeT1cIjE1XCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjZcIiByeD1cIjFcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIGZpbGw9XCJub25lXCIgLz5cclxuICA8L3N2Zz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNhcnJvd1VwSWNvbj5cclxuICA8c3ZnIFthdHRyLndpZHRoXT1cImljb25TaXplXCIgW2F0dHIuaGVpZ2h0XT1cImljb25TaXplXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgW3N0eWxlLm9wYWNpdHldPVwiaWNvbk9wYWNpdHlcIj5cclxuICAgIDxwYXRoIGQ9XCJtMTggMTUtNi02LTYgNlwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3JcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICA8L3N2Zz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNhcnJvd0Rvd25JY29uPlxyXG4gIDxzdmcgW2F0dHIud2lkdGhdPVwiaWNvblNpemVcIiBbYXR0ci5oZWlnaHRdPVwiaWNvblNpemVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBbc3R5bGUub3BhY2l0eV09XCJpY29uT3BhY2l0eVwiPlxyXG4gICAgPHBhdGggZD1cIm02IDkgNiA2IDYtNlwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3JcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICA8L3N2Zz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICN0b2dnbGVPbkljb24+XHJcbiAgPHN2ZyBbYXR0ci53aWR0aF09XCJpY29uU2l6ZVwiIFthdHRyLmhlaWdodF09XCJpY29uU2l6ZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIFtzdHlsZS5vcGFjaXR5XT1cImljb25PcGFjaXR5XCI+XHJcbiAgICA8cmVjdCB4PVwiMVwiIHk9XCI1XCIgd2lkdGg9XCIyMlwiIGhlaWdodD1cIjE0XCIgcng9XCI3XCIgW2F0dHIuZmlsbF09XCJpY29uQ29sb3JcIiAvPlxyXG4gICAgPGNpcmNsZSBjeD1cIjE2XCIgY3k9XCIxMlwiIHI9XCIzXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICA8L3N2Zz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICN0b2dnbGVPZmZJY29uPlxyXG4gIDxzdmcgW2F0dHIud2lkdGhdPVwiaWNvblNpemVcIiBbYXR0ci5oZWlnaHRdPVwiaWNvblNpemVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBbc3R5bGUub3BhY2l0eV09XCJpY29uT3BhY2l0eVwiPlxyXG4gICAgPHJlY3QgeD1cIjFcIiB5PVwiNVwiIHdpZHRoPVwiMjJcIiBoZWlnaHQ9XCIxNFwiIHJ4PVwiN1wiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3JcIiBzdHJva2Utd2lkdGg9XCIyXCIgZmlsbD1cIm5vbmVcIiAvPlxyXG4gICAgPGNpcmNsZSBjeD1cIjhcIiBjeT1cIjEyXCIgcj1cIjNcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIGZpbGw9XCJub25lXCIgLz5cclxuICA8L3N2Zz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNzZWFyY2hJY29uPlxyXG4gIDxzdmcgW2F0dHIud2lkdGhdPVwiaWNvblNpemVcIiBbYXR0ci5oZWlnaHRdPVwiaWNvblNpemVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBbc3R5bGUub3BhY2l0eV09XCJpY29uT3BhY2l0eVwiPlxyXG4gICAgPGNpcmNsZSBjeD1cIjExXCIgY3k9XCIxMVwiIHI9XCI4XCIgW2F0dHIuc3Ryb2tlXT1cImljb25Db2xvclwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgPHBhdGggZD1cIm0yMSAyMS00LjM1LTQuMzVcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgPC9zdmc+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjdXBsb2FkSWNvbj5cclxuICA8c3ZnIFthdHRyLndpZHRoXT1cImljb25TaXplXCIgW2F0dHIuaGVpZ2h0XT1cImljb25TaXplXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgW3N0eWxlLm9wYWNpdHldPVwiaWNvbk9wYWNpdHlcIj5cclxuICAgIDxwYXRoIGQ9XCJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNFwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3JcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgIDxwb2x5bGluZSBwb2ludHM9XCI3LDEwIDEyLDUgMTcsMTBcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICA8bGluZSB4MT1cIjEyXCIgeTE9XCI1XCIgeDI9XCIxMlwiIHkyPVwiMTVcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiAvPlxyXG4gIDwvc3ZnPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI3BlbmRpbmdBY3Rpb25zSWNvbj5cclxuICA8c3ZnIFthdHRyLndpZHRoXT1cImljb25TaXplXCIgW2F0dHIuaGVpZ2h0XT1cImljb25TaXplXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgW3N0eWxlLm9wYWNpdHldPVwiaWNvbk9wYWNpdHlcIj5cclxuICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiMTBcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICA8cG9seWxpbmUgcG9pbnRzPVwiMTIsNiAxMiwxMiAxNiwxNFwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3JcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgIDxwYXRoIGQ9XCJNOCAydjRNMTYgMnY0XCIgW2F0dHIuc3Ryb2tlXT1cImljb25Db2xvclwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gIDwvc3ZnPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI3BsYXlDaXJjbGVJY29uPlxyXG4gIDxzdmcgW2F0dHIud2lkdGhdPVwiaWNvblNpemVcIiBbYXR0ci5oZWlnaHRdPVwiaWNvblNpemVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBbc3R5bGUub3BhY2l0eV09XCJpY29uT3BhY2l0eVwiPlxyXG4gICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIxMFwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3JcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgIDxwb2x5Z29uIHBvaW50cz1cIjEwLDggMTYsMTIgMTAsMTZcIiBbYXR0ci5maWxsXT1cImljb25Db2xvclwiIC8+XHJcbiAgPC9zdmc+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEljb24+XHJcbiAgPHN2ZyBbYXR0ci53aWR0aF09XCJpY29uU2l6ZVwiIFthdHRyLmhlaWdodF09XCJpY29uU2l6ZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIFtzdHlsZS5vcGFjaXR5XT1cImljb25PcGFjaXR5XCI+XHJcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjJcIiBbYXR0ci5maWxsXT1cImljb25Db2xvclwiIC8+XHJcbiAgPC9zdmc+XHJcbjwvbmctdGVtcGxhdGU+Il19
|
|
79
|
+
args: [{ selector: 'c80-icon', standalone: true, imports: [CommonModule], template: "@if (button()) {\r\n<button [type]=\"type()\" [disabled]=\"disabled()\" class=\"icon-button\" [style.width.px]=\"iconSize() + 8\" [style.height.px]=\"iconSize() + 8\" (click)=\"onButtonClick($event)\">\r\n <ng-container *ngTemplateOutlet=\"iconTemplate() || default\"></ng-container>\r\n</button>\r\n} @else {\r\n<span class=\"icon-span\" [style.width.px]=\"iconSize()\" [style.height.px]=\"iconSize()\">\r\n <ng-container *ngTemplateOutlet=\"iconTemplate() || default\"></ng-container>\r\n</span>\r\n}\r\n\r\n<ng-template #check>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"M5 13l4 4L19 7\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #cancel>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"M6 6l12 12M6 18L18 6\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #edit>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <rect x=\"5\" y=\"19\" width=\"14\" height=\"2\" rx=\"1\" [attr.fill]=\"iconColor()\" />\r\n <path d=\"M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #delete>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"M6 19a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z\" [attr.fill]=\"iconColor()\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #add>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"M12 5v14M5 12h14\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #view>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"M12 5C7 5 2.73 8.11 1 12c1.73 3.89 6 7 11 7s9.27-3.11 11-7c-1.73-3.89-6-7-11-7z\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <circle cx=\"12\" cy=\"12\" r=\"3\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #get>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"6\" cy=\"6\" r=\"3\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n <circle cx=\"18\" cy=\"18\" r=\"3\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n <path d=\"m8.5 8.5 7 7\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n <path d=\"m13 11 2 2-2 2\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #settings>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"12\" cy=\"12\" r=\"3\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n <path d=\"M12 1v6m0 6v10M3.34 7l5.2 3M15.46 14l5.2 3M3.34 17l5.2-3M15.46 10l5.2-3\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #default>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #schedule>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n <polyline points=\"12,6 12,12 16,14\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #refresh>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M21 3v5h-5\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M3 21v-5h5\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #checkCircle>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n <path d=\"m9 12 2 2 4-4\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #cancelCircle>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n <path d=\"m15 9-6 6m0-6 6 6\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #error>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" />\r\n <line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n <line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #queue>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"M3 12h18m-9-9v18\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n <rect x=\"2\" y=\"3\" width=\"20\" height=\"6\" rx=\"1\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" fill=\"none\" />\r\n <rect x=\"2\" y=\"15\" width=\"20\" height=\"6\" rx=\"1\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" fill=\"none\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #arrowUp>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"m18 15-6-6-6 6\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #arrowDown>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"m6 9 6 6 6-6\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #toggleOn>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <rect x=\"1\" y=\"5\" width=\"22\" height=\"14\" rx=\"7\" [attr.fill]=\"iconColor()\" />\r\n <circle cx=\"16\" cy=\"12\" r=\"3\" fill=\"white\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #toggleOff>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <rect x=\"1\" y=\"5\" width=\"22\" height=\"14\" rx=\"7\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" fill=\"none\" />\r\n <circle cx=\"8\" cy=\"12\" r=\"3\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" fill=\"none\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #search>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"11\" cy=\"11\" r=\"8\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"m21 21-4.35-4.35\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #upload>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <polyline points=\"7,10 12,5 17,10\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"15\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #pendingActions>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <polyline points=\"12,6 12,12 16,14\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M8 2v4M16 2v4\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</ng-template>\r\n<ng-template #playCircle>\r\n <svg [attr.width]=\"iconSize()\" [attr.height]=\"iconSize()\" viewBox=\"0 0 24 24\" fill=\"none\" [style.opacity]=\"iconOpacity()\">\r\n <circle cx=\"12\" cy=\"12\" r=\"10\" [attr.stroke]=\"iconColor()\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <polygon points=\"10,8 16,12 10,16\" [attr.fill]=\"iconColor()\" />\r\n </svg>\r\n</ng-template>", styles: [":host .icon-button{display:inline-flex;align-items:center;justify-content:center;border:none;outline:none;background:transparent;border-radius:50%;min-width:0;min-height:0;padding:4px;cursor:pointer;transition:background .2s;box-sizing:border-box}:host .icon-button:focus-visible{outline:2px solid #1976d2;outline-offset:2px}:host .icon-button:hover:not(:disabled){background:#1976d214}:host .icon-button:active:not(:disabled){background:#1976d229}:host .icon-button:disabled{opacity:.5;cursor:default;background:transparent}:host .icon-span,:host .icon-button{margin-left:4px;margin-right:4px}\n"] }]
|
|
80
|
+
}] });
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NyYy9saWIvaWNvbi9pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvc3JjL2xpYi9pY29uL2ljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFFBQVEsRUFDUixTQUFTLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsY0FBYyxFQUNkLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsc0JBQXNCLEVBQ3RCLGVBQWUsRUFDZixjQUFjLEdBQ2YsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBVzFCLE1BQU0sT0FBTyxnQkFBZ0I7SUFDbEIsSUFBSSxHQUFHLEtBQUssQ0FBVyxPQUFPLENBQUMsQ0FBQztJQUNoQyxLQUFLLEdBQUcsS0FBSyxDQUFZLFNBQVMsQ0FBQyxDQUFDO0lBQ3BDLFdBQVcsR0FBRyxLQUFLLENBQXFCLFNBQVMsQ0FBQyxDQUFDO0lBQ25ELFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEIsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoQixNQUFNLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRTtRQUM3QixTQUFTLEVBQUUsQ0FBQyxHQUF3QyxFQUFFLEVBQUUsQ0FDdEQsR0FBRyxLQUFLLElBQUksSUFBSSxHQUFHLEtBQUssU0FBUyxJQUFJLEdBQUcsS0FBSyxLQUFLLElBQUksR0FBRyxLQUFLLE9BQU87S0FDeEUsQ0FBQyxDQUFDO0lBQ00sSUFBSSxHQUFHLEtBQUssQ0FBYSxRQUFRLENBQUMsQ0FBQztJQUVuQyxTQUFTLEdBQUcs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dUIsVUFBVSxDQUFDLENBQUM7SUFDdkQsU0FBUyxHQUFHLFNBQVMsQ0FBdUIsV0FBVyxDQUFDLENBQUM7SUFDekQsTUFBTSxHQUFHLFNBQVMsQ0FBdUIsUUFBUSxDQUFDLENBQUM7SUFDbkQsTUFBTSxHQUFHLFNBQVMsQ0FBdUIsUUFBUSxDQUFDLENBQUM7SUFDbkQsY0FBYyxHQUFHLFNBQVMsQ0FBdUIsZ0JBQWdCLENBQUMsQ0FBQztJQUNuRSxVQUFVLEdBQUcsU0FBUyxDQUF1QixZQUFZLENBQUMsQ0FBQztJQUMzRCxPQUFPLEdBQUcsU0FBUyxDQUF1QixTQUFTLENBQUMsQ0FBQztJQUU5RCxhQUFhLENBQUMsS0FBWTtRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7d0dBbEZVLGdCQUFnQjs0RkFBaEIsZ0JBQWdCLHd2R0M1QjdCLGtyVkFvSmMsNm9CRDVIRixZQUFZOzs0RkFJWCxnQkFBZ0I7a0JBUjVCLFNBQVM7K0JBRUUsVUFBVSxjQUNSLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgY29tcHV0ZWQsXG4gIHZpZXdDaGlsZCxcbiAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEJBU0VfSUNPTl9DT0xPUlMsXG4gIERJU0FCTEVEX0NPTE9SLFxuICBERUZBVUxUX0lDT05fQ09MT1IsXG4gIERJU0FCTEVEX09QQUNJVFksXG4gIFNFQ09OREFSWV9XQVJOX09QQUNJVFksXG4gIERFRkFVTFRfT1BBQ0lUWSxcbiAgQkFTRV9JQ09OX1NJWkUsXG59IGZyb20gJy4vaWNvbi5jb25zdGFudHMnO1xuaW1wb3J0IHsgSWNvblR5cGUsIENvbG9yVHlwZSwgQnV0dG9uVHlwZSB9IGZyb20gJy4vaWNvbi50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2M4MC1pY29uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9pY29uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaWNvbi5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDODBJY29uQ29tcG9uZW50IHtcbiAgcmVhZG9ubHkgaWNvbiA9IGlucHV0PEljb25UeXBlPignY2hlY2snKTtcbiAgcmVhZG9ubHkgY29sb3IgPSBpbnB1dDxDb2xvclR5cGU+KCdwcmltYXJ5Jyk7XG4gIHJlYWRvbmx5IGN1c3RvbUNvbG9yID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICByZWFkb25seSBkaXNhYmxlZCA9IGlucHV0KGZhbHNlKTtcbiAgcmVhZG9ubHkgc2l6ZSA9IGlucHV0KDEpO1xuICByZWFkb25seSBidXR0b24gPSBpbnB1dChmYWxzZSwge1xuICAgIHRyYW5zZm9ybTogKHZhbDogYm9vbGVhbiB8IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpID0+XG4gICAgICB2YWwgIT09IG51bGwgJiYgdmFsICE9PSB1bmRlZmluZWQgJiYgdmFsICE9PSBmYWxzZSAmJiB2YWwgIT09ICdmYWxzZScsXG4gIH0pO1xuICByZWFkb25seSB0eXBlID0gaW5wdXQ8QnV0dG9uVHlwZT4oJ2J1dHRvbicpO1xuXG4gIHJlYWRvbmx5IGljb25DbGljayA9IG91dHB1dDxFdmVudD4oKTtcblxuICByZWFkb25seSBpY29uU2l6ZSA9IGNvbXB1dGVkKCgpID0+IEJBU0VfSUNPTl9TSVpFICogdGhpcy5zaXplKCkpO1xuXG4gIHJlYWRvbmx5IGljb25Db2xvciA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCgpKSB7XG4gICAgICByZXR1cm4gRElTQUJMRURfQ09MT1I7XG4gICAgfVxuXG4gICAgY29uc3QgY3VzdG9tID0gdGhpcy5jdXN0b21Db2xvcigpO1xuICAgIGlmIChjdXN0b20pIHtcbiAgICAgIHJldHVybiBjdXN0b207XG4gICAgfVxuXG4gICAgcmV0dXJuIEJBU0VfSUNPTl9DT0xPUlNbdGhpcy5jb2xvcigpXSA/PyBERUZBVUxUX0lDT05fQ09MT1I7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGljb25PcGFjaXR5ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKCkpIHtcbiAgICAgIHJldHVybiBESVNBQkxFRF9PUEFDSVRZO1xuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbnRDb2xvciA9IHRoaXMuY29sb3IoKTtcbiAgICBjb25zdCBoYXNDdXN0b21Db2xvciA9IHRoaXMuY3VzdG9tQ29sb3IoKSAhPT0gdW5kZWZpbmVkO1xuXG4gICAgaWYgKFxuICAgICAgKGN1cnJlbnRDb2xvciA9PT0gJ3NlY29uZGFyeScgfHwgY3VycmVudENvbG9yID09PSAnd2FybicpICYmXG4gICAgICAhaGFzQ3VzdG9tQ29sb3JcbiAgICApIHtcbiAgICAgIHJldHVybiBTRUNPTkRBUllfV0FSTl9PUEFDSVRZO1xuICAgIH1cblxuICAgIHJldHVybiBERUZBVUxUX09QQUNJVFk7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGljb25UZW1wbGF0ZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBpY29uTmFtZSA9IHRoaXMuaWNvbigpO1xuICAgIGNvbnN0IHRlbXBsYXRlTmFtZSA9IGljb25OYW1lLnJlcGxhY2VBbGwoL18oW2Etel0pL2csIChfLCBsZXR0ZXIpID0+IGxldHRlci50b1VwcGVyQ2FzZSgpKTtcbiAgICBjb25zdCB2aWV3Q2hpbGRTaWduYWwgPSB0aGlzW3RlbXBsYXRlTmFtZSBhcyBrZXlvZiB0aGlzXTtcbiAgICByZXR1cm4gdHlwZW9mIHZpZXdDaGlsZFNpZ25hbCA9PT0gJ2Z1bmN0aW9uJyA/IHZpZXdDaGlsZFNpZ25hbCgpIDogdW5kZWZpbmVkO1xuICB9KTtcblxuICByZWFkb25seSBjaGVjayA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjx1bmtub3duPj4oJ2NoZWNrJyk7XG4gIHJlYWRvbmx5IGNhbmNlbCA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjx1bmtub3duPj4oJ2NhbmNlbCcpO1xuICByZWFkb25seSBlZGl0ID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPHVua25vd24+PignZWRpdCcpO1xuICByZWFkb25seSBkZWxldGUgPSB2aWV3Q2hpbGQ8VGVtcGxhdGVSZWY8dW5rbm93bj4+KCdkZWxldGUnKTtcbiAgcmVhZG9ubHkgYWRkID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPHVua25vd24+PignYWRkJyk7XG4gIHJlYWRvbmx5IHZpZXcgPSB2aWV3Q2hpbGQ8VGVtcGxhdGVSZWY8dW5rbm93bj4+KCd2aWV3Jyk7XG4gIHJlYWRvbmx5IGdldCA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjx1bmtub3duPj4oJ2dldCcpO1xuICByZWFkb25seSBzZXR0aW5ncyA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjx1bmtub3duPj4oJ3NldHRpbmdzJyk7XG4gIHJlYWRvbmx5IHNjaGVkdWxlID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPHVua25vd24+Pignc2NoZWR1bGUnKTtcbiAgcmVhZG9ubHkgcmVmcmVzaCA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjx1bmtub3duPj4oJ3JlZnJlc2gnKTtcbiAgcmVhZG9ubHkgY2hlY2tDaXJjbGUgPSB2aWV3Q2hpbGQ8VGVtcGxhdGVSZWY8dW5rbm93bj4+KCdjaGVja0NpcmNsZScpO1xuICByZWFkb25seSBjYW5jZWxDaXJjbGUgPSB2aWV3Q2hpbGQ8VGVtcGxhdGVSZWY8dW5rbm93bj4+KCdjYW5jZWxDaXJjbGUnKTtcbiAgcmVhZG9ubHkgZXJyb3IgPSB2aWV3Q2hpbGQ8VGVtcGxhdGVSZWY8dW5rbm93bj4+KCdlcnJvcicpO1xuICByZWFkb25seSBxdWV1ZSA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjx1bmtub3duPj4oJ3F1ZXVlJyk7XG4gIHJlYWRvbmx5IGFycm93VXAgPSB2aWV3Q2hpbGQ8VGVtcGxhdGVSZWY8dW5rbm93bj4+KCdhcnJvd1VwJyk7XG4gIHJlYWRvbmx5IGFycm93RG93biA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjx1bmtub3duPj4oJ2Fycm93RG93bicpO1xuICByZWFkb25seSB0b2dnbGVPbiA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjx1bmtub3duPj4oJ3RvZ2dsZU9uJyk7XG4gIHJlYWRvbmx5IHRvZ2dsZU9mZiA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjx1bmtub3duPj4oJ3RvZ2dsZU9mZicpO1xuICByZWFkb25seSBzZWFyY2ggPSB2aWV3Q2hpbGQ8VGVtcGxhdGVSZWY8dW5rbm93bj4+KCdzZWFyY2gnKTtcbiAgcmVhZG9ubHkgdXBsb2FkID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPHVua25vd24+PigndXBsb2FkJyk7XG4gIHJlYWRvbmx5IHBlbmRpbmdBY3Rpb25zID0gdmlld0NoaWxkPFRlbXBsYXRlUmVmPHVua25vd24+PigncGVuZGluZ0FjdGlvbnMnKTtcbiAgcmVhZG9ubHkgcGxheUNpcmNsZSA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjx1bmtub3duPj4oJ3BsYXlDaXJjbGUnKTtcbiAgcmVhZG9ubHkgZGVmYXVsdCA9IHZpZXdDaGlsZDxUZW1wbGF0ZVJlZjx1bmtub3duPj4oJ2RlZmF1bHQnKTtcblxuICBvbkJ1dHRvbkNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCgpKSB7XG4gICAgICB0aGlzLmljb25DbGljay5lbWl0KGV2ZW50KTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpZiAoYnV0dG9uKCkpIHtcclxuPGJ1dHRvbiBbdHlwZV09XCJ0eXBlKClcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiIGNsYXNzPVwiaWNvbi1idXR0b25cIiBbc3R5bGUud2lkdGgucHhdPVwiaWNvblNpemUoKSArIDhcIiBbc3R5bGUuaGVpZ2h0LnB4XT1cImljb25TaXplKCkgKyA4XCIgKGNsaWNrKT1cIm9uQnV0dG9uQ2xpY2soJGV2ZW50KVwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpY29uVGVtcGxhdGUoKSB8fCBkZWZhdWx0XCI+PC9uZy1jb250YWluZXI+XHJcbjwvYnV0dG9uPlxyXG59IEBlbHNlIHtcclxuPHNwYW4gY2xhc3M9XCJpY29uLXNwYW5cIiBbc3R5bGUud2lkdGgucHhdPVwiaWNvblNpemUoKVwiIFtzdHlsZS5oZWlnaHQucHhdPVwiaWNvblNpemUoKVwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpY29uVGVtcGxhdGUoKSB8fCBkZWZhdWx0XCI+PC9uZy1jb250YWluZXI+XHJcbjwvc3Bhbj5cclxufVxyXG5cclxuPG5nLXRlbXBsYXRlICNjaGVjaz5cclxuICA8c3ZnIFthdHRyLndpZHRoXT1cImljb25TaXplKClcIiBbYXR0ci5oZWlnaHRdPVwiaWNvblNpemUoKVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIFtzdHlsZS5vcGFjaXR5XT1cImljb25PcGFjaXR5KClcIj5cclxuICAgIDxwYXRoIGQ9XCJNNSAxM2w0IDRMMTkgN1wiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3IoKVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gIDwvc3ZnPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI2NhbmNlbD5cclxuICA8c3ZnIFthdHRyLndpZHRoXT1cImljb25TaXplKClcIiBbYXR0ci5oZWlnaHRdPVwiaWNvblNpemUoKVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIFtzdHlsZS5vcGFjaXR5XT1cImljb25PcGFjaXR5KClcIj5cclxuICAgIDxwYXRoIGQ9XCJNNiA2bDEyIDEyTTYgMThMMTggNlwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3IoKVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgLz5cclxuICA8L3N2Zz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNlZGl0PlxyXG4gIDxzdmcgW2F0dHIud2lkdGhdPVwiaWNvblNpemUoKVwiIFthdHRyLmhlaWdodF09XCJpY29uU2l6ZSgpXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgW3N0eWxlLm9wYWNpdHldPVwiaWNvbk9wYWNpdHkoKVwiPlxyXG4gICAgPHJlY3QgeD1cIjVcIiB5PVwiMTlcIiB3aWR0aD1cIjE0XCIgaGVpZ2h0PVwiMlwiIHJ4PVwiMVwiIFthdHRyLmZpbGxdPVwiaWNvbkNvbG9yKClcIiAvPlxyXG4gICAgPHBhdGggZD1cIk0xNi41IDMuNWEyLjEyMSAyLjEyMSAwIDAgMSAzIDNMNyAxOWwtNCAxIDEtNCAxMi41LTEyLjV6XCIgW2F0dHIuc3Ryb2tlXT1cImljb25Db2xvcigpXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIC8+XHJcbiAgPC9zdmc+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjZGVsZXRlPlxyXG4gIDxzdmcgW2F0dHIud2lkdGhdPVwiaWNvblNpemUoKVwiIFthdHRyLmhlaWdodF09XCJpY29uU2l6ZSgpXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgW3N0eWxlLm9wYWNpdHldPVwiaWNvbk9wYWNpdHkoKVwiPlxyXG4gICAgPHBhdGggZD1cIk02IDE5YTIgMiAwIDAgMCAyIDJoOGEyIDIgMCAwIDAgMi0yVjdINnYxMnpNMTkgNGgtMy41bC0xLTFoLTVsLTEgMUg1djJoMTRWNHpcIiBbYXR0ci5maWxsXT1cImljb25Db2xvcigpXCIgLz5cclxuICA8L3N2Zz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNhZGQ+XHJcbiAgPHN2ZyBbYXR0ci53aWR0aF09XCJpY29uU2l6ZSgpXCIgW2F0dHIuaGVpZ2h0XT1cImljb25TaXplKClcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBbc3R5bGUub3BhY2l0eV09XCJpY29uT3BhY2l0eSgpXCI+XHJcbiAgICA8cGF0aCBkPVwiTTEyIDV2MTRNNSAxMmgxNFwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3IoKVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgLz5cclxuICA8L3N2Zz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICN2aWV3PlxyXG4gIDxzdmcgW2F0dHIud2lkdGhdPVwiaWNvblNpemUoKVwiIFthdHRyLmhlaWdodF09XCJpY29uU2l6ZSgpXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgW3N0eWxlLm9wYWNpdHldPVwiaWNvbk9wYWNpdHkoKVwiPlxyXG4gICAgPHBhdGggZD1cIk0xMiA1QzcgNSAyLjczIDguMTEgMSAxMmMxLjczIDMuODkgNiA3IDExIDdzOS4yNy0zLjExIDExLTdjLTEuNzMtMy44OS02LTctMTEtN3pcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yKClcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiM1wiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3IoKVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gIDwvc3ZnPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI2dldD5cclxuICA8c3ZnIFthdHRyLndpZHRoXT1cImljb25TaXplKClcIiBbYXR0ci5oZWlnaHRdPVwiaWNvblNpemUoKVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIFtzdHlsZS5vcGFjaXR5XT1cImljb25PcGFjaXR5KClcIj5cclxuICAgIDxjaXJjbGUgY3g9XCI2XCIgY3k9XCI2XCIgcj1cIjNcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yKClcIiBzdHJva2Utd2lkdGg9XCIyXCIgLz5cclxuICAgIDxjaXJjbGUgY3g9XCIxOFwiIGN5PVwiMThcIiByPVwiM1wiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3IoKVwiIHN0cm9rZS13aWR0aD1cIjJcIiAvPlxyXG4gICAgPHBhdGggZD1cIm04LjUgOC41IDcgN1wiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3IoKVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgLz5cclxuICAgIDxwYXRoIGQ9XCJtMTMgMTEgMiAyLTIgMlwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3IoKVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gIDwvc3ZnPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI3NldHRpbmdzPlxyXG4gIDxzdmcgW2F0dHIud2lkdGhdPVwiaWNvblNpemUoKVwiIFthdHRyLmhlaWdodF09XCJpY29uU2l6ZSgpXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgW3N0eWxlLm9wYWNpdHldPVwiaWNvbk9wYWNpdHkoKVwiPlxyXG4gICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIzXCIgW2F0dHIuc3Ryb2tlXT1cImljb25Db2xvcigpXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIC8+XHJcbiAgICA8cGF0aCBkPVwiTTEyIDF2Nm0wIDZ2MTBNMy4zNCA3bDUuMiAzTTE1LjQ2IDE0bDUuMiAzTTMuMzQgMTdsNS4yLTNNMTUuNDYgMTBsNS4yLTNcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yKClcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIC8+XHJcbiAgPC9zdmc+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdD5cclxuICA8c3ZnIFthdHRyLndpZHRoXT1cImljb25TaXplKClcIiBbYXR0ci5oZWlnaHRdPVwiaWNvblNpemUoKVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIFtzdHlsZS5vcGFjaXR5XT1cImljb25PcGFjaXR5KClcIj5cclxuICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiMTBcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yKClcIiBzdHJva2Utd2lkdGg9XCIyXCIgLz5cclxuICA8L3N2Zz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNzY2hlZHVsZT5cclxuICA8c3ZnIFthdHRyLndpZHRoXT1cImljb25TaXplKClcIiBbYXR0ci5oZWlnaHRdPVwiaWNvblNpemUoKVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIFtzdHlsZS5vcGFjaXR5XT1cImljb25PcGFjaXR5KClcIj5cclxuICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiMTBcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yKClcIiBzdHJva2Utd2lkdGg9XCIyXCIgLz5cclxuICAgIDxwb2x5bGluZSBwb2ludHM9XCIxMiw2IDEyLDEyIDE2LDE0XCIgW2F0dHIuc3Ryb2tlXT1cImljb25Db2xvcigpXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgPC9zdmc+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjcmVmcmVzaD5cclxuICA8c3ZnIFthdHRyLndpZHRoXT1cImljb25TaXplKClcIiBbYXR0ci5oZWlnaHRdPVwiaWNvblNpemUoKVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIFtzdHlsZS5vcGFjaXR5XT1cImljb25PcGFjaXR5KClcIj5cclxuICAgIDxwYXRoIGQ9XCJNMyAxMmE5IDkgMCAwIDEgOS05IDkuNzUgOS43NSAwIDAgMSA2Ljc0IDIuNzRMMjEgOFwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3IoKVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgPHBhdGggZD1cIk0yMSAzdjVoLTVcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yKClcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgIDxwYXRoIGQ9XCJNMjEgMTJhOSA5IDAgMCAxLTkgOSA5Ljc1IDkuNzUgMCAwIDEtNi43NC0yLjc0TDMgMTZcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yKClcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgIDxwYXRoIGQ9XCJNMyAyMXYtNWg1XCIgW2F0dHIuc3Ryb2tlXT1cImljb25Db2xvcigpXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgPC9zdmc+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjY2hlY2tDaXJjbGU+XHJcbiAgPHN2ZyBbYXR0ci53aWR0aF09XCJpY29uU2l6ZSgpXCIgW2F0dHIuaGVpZ2h0XT1cImljb25TaXplKClcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBbc3R5bGUub3BhY2l0eV09XCJpY29uT3BhY2l0eSgpXCI+XHJcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjEwXCIgW2F0dHIuc3Ryb2tlXT1cImljb25Db2xvcigpXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIC8+XHJcbiAgICA8cGF0aCBkPVwibTkgMTIgMiAyIDQtNFwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3IoKVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gIDwvc3ZnPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI2NhbmNlbENpcmNsZT5cclxuICA8c3ZnIFthdHRyLndpZHRoXT1cImljb25TaXplKClcIiBbYXR0ci5oZWlnaHRdPVwiaWNvblNpemUoKVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIFtzdHlsZS5vcGFjaXR5XT1cImljb25PcGFjaXR5KClcIj5cclxuICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiMTBcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yKClcIiBzdHJva2Utd2lkdGg9XCIyXCIgLz5cclxuICAgIDxwYXRoIGQ9XCJtMTUgOS02IDZtMC02IDYgNlwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3IoKVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gIDwvc3ZnPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI2Vycm9yPlxyXG4gIDxzdmcgW2F0dHIud2lkdGhdPVwiaWNvblNpemUoKVwiIFthdHRyLmhlaWdodF09XCJpY29uU2l6ZSgpXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgW3N0eWxlLm9wYWNpdHldPVwiaWNvbk9wYWNpdHkoKVwiPlxyXG4gICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIxMFwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3IoKVwiIHN0cm9rZS13aWR0aD1cIjJcIiAvPlxyXG4gICAgPGxpbmUgeDE9XCIxNVwiIHkxPVwiOVwiIHgyPVwiOVwiIHkyPVwiMTVcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yKClcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIC8+XHJcbiAgICA8bGluZSB4MT1cIjlcIiB5MT1cIjlcIiB4Mj1cIjE1XCIgeTI9XCIxNVwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3IoKVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgLz5cclxuICA8L3N2Zz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNxdWV1ZT5cclxuICA8c3ZnIFthdHRyLndpZHRoXT1cImljb25TaXplKClcIiBbYXR0ci5oZWlnaHRdPVwiaWNvblNpemUoKVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIFtzdHlsZS5vcGFjaXR5XT1cImljb25PcGFjaXR5KClcIj5cclxuICAgIDxwYXRoIGQ9XCJNMyAxMmgxOG0tOS05djE4XCIgW2F0dHIuc3Ryb2tlXT1cImljb25Db2xvcigpXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiAvPlxyXG4gICAgPHJlY3QgeD1cIjJcIiB5PVwiM1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCI2XCIgcng9XCIxXCIgW2F0dHIuc3Ryb2tlXT1cImljb25Db2xvcigpXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIGZpbGw9XCJub25lXCIgLz5cclxuICAgIDxyZWN0IHg9XCIyXCIgeT1cIjE1XCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjZcIiByeD1cIjFcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yKClcIiBzdHJva2Utd2lkdGg9XCIyXCIgZmlsbD1cIm5vbmVcIiAvPlxyXG4gIDwvc3ZnPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI2Fycm93VXA+XHJcbiAgPHN2ZyBbYXR0ci53aWR0aF09XCJpY29uU2l6ZSgpXCIgW2F0dHIuaGVpZ2h0XT1cImljb25TaXplKClcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBbc3R5bGUub3BhY2l0eV09XCJpY29uT3BhY2l0eSgpXCI+XHJcbiAgICA8cGF0aCBkPVwibTE4IDE1LTYtNi02IDZcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yKClcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICA8L3N2Zz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNhcnJvd0Rvd24+XHJcbiAgPHN2ZyBbYXR0ci53aWR0aF09XCJpY29uU2l6ZSgpXCIgW2F0dHIuaGVpZ2h0XT1cImljb25TaXplKClcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBbc3R5bGUub3BhY2l0eV09XCJpY29uT3BhY2l0eSgpXCI+XHJcbiAgICA8cGF0aCBkPVwibTYgOSA2IDYgNi02XCIgW2F0dHIuc3Ryb2tlXT1cImljb25Db2xvcigpXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgPC9zdmc+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjdG9nZ2xlT24+XHJcbiAgPHN2ZyBbYXR0ci53aWR0aF09XCJpY29uU2l6ZSgpXCIgW2F0dHIuaGVpZ2h0XT1cImljb25TaXplKClcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBbc3R5bGUub3BhY2l0eV09XCJpY29uT3BhY2l0eSgpXCI+XHJcbiAgICA8cmVjdCB4PVwiMVwiIHk9XCI1XCIgd2lkdGg9XCIyMlwiIGhlaWdodD1cIjE0XCIgcng9XCI3XCIgW2F0dHIuZmlsbF09XCJpY29uQ29sb3IoKVwiIC8+XHJcbiAgICA8Y2lyY2xlIGN4PVwiMTZcIiBjeT1cIjEyXCIgcj1cIjNcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gIDwvc3ZnPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI3RvZ2dsZU9mZj5cclxuICA8c3ZnIFthdHRyLndpZHRoXT1cImljb25TaXplKClcIiBbYXR0ci5oZWlnaHRdPVwiaWNvblNpemUoKVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIFtzdHlsZS5vcGFjaXR5XT1cImljb25PcGFjaXR5KClcIj5cclxuICAgIDxyZWN0IHg9XCIxXCIgeT1cIjVcIiB3aWR0aD1cIjIyXCIgaGVpZ2h0PVwiMTRcIiByeD1cIjdcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yKClcIiBzdHJva2Utd2lkdGg9XCIyXCIgZmlsbD1cIm5vbmVcIiAvPlxyXG4gICAgPGNpcmNsZSBjeD1cIjhcIiBjeT1cIjEyXCIgcj1cIjNcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yKClcIiBzdHJva2Utd2lkdGg9XCIyXCIgZmlsbD1cIm5vbmVcIiAvPlxyXG4gIDwvc3ZnPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI3NlYXJjaD5cclxuICA8c3ZnIFthdHRyLndpZHRoXT1cImljb25TaXplKClcIiBbYXR0ci5oZWlnaHRdPVwiaWNvblNpemUoKVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIFtzdHlsZS5vcGFjaXR5XT1cImljb25PcGFjaXR5KClcIj5cclxuICAgIDxjaXJjbGUgY3g9XCIxMVwiIGN5PVwiMTFcIiByPVwiOFwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3IoKVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgPHBhdGggZD1cIm0yMSAyMS00LjM1LTQuMzVcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yKClcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICA8L3N2Zz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICN1cGxvYWQ+XHJcbiAgPHN2ZyBbYXR0ci53aWR0aF09XCJpY29uU2l6ZSgpXCIgW2F0dHIuaGVpZ2h0XT1cImljb25TaXplKClcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBbc3R5bGUub3BhY2l0eV09XCJpY29uT3BhY2l0eSgpXCI+XHJcbiAgICA8cGF0aCBkPVwiTTIxIDE1djRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTRcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yKClcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgIDxwb2x5bGluZSBwb2ludHM9XCI3LDEwIDEyLDUgMTcsMTBcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yKClcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgIDxsaW5lIHgxPVwiMTJcIiB5MT1cIjVcIiB4Mj1cIjEyXCIgeTI9XCIxNVwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3IoKVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgLz5cclxuICA8L3N2Zz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNwZW5kaW5nQWN0aW9ucz5cclxuICA8c3ZnIFthdHRyLndpZHRoXT1cImljb25TaXplKClcIiBbYXR0ci5oZWlnaHRdPVwiaWNvblNpemUoKVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIFtzdHlsZS5vcGFjaXR5XT1cImljb25PcGFjaXR5KClcIj5cclxuICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiMTBcIiBbYXR0ci5zdHJva2VdPVwiaWNvbkNvbG9yKClcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgIDxwb2x5bGluZSBwb2ludHM9XCIxMiw2IDEyLDEyIDE2LDE0XCIgW2F0dHIuc3Ryb2tlXT1cImljb25Db2xvcigpXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICA8cGF0aCBkPVwiTTggMnY0TTE2IDJ2NFwiIFthdHRyLnN0cm9rZV09XCJpY29uQ29sb3IoKVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gIDwvc3ZnPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI3BsYXlDaXJjbGU+XHJcbiAgPHN2ZyBbYXR0ci53aWR0aF09XCJpY29uU2l6ZSgpXCIgW2F0dHIuaGVpZ2h0XT1cImljb25TaXplKClcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBbc3R5bGUub3BhY2l0eV09XCJpY29uT3BhY2l0eSgpXCI+XHJcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjEwXCIgW2F0dHIuc3Ryb2tlXT1cImljb25Db2xvcigpXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICA8cG9seWdvbiBwb2ludHM9XCIxMCw4IDE2LDEyIDEwLDE2XCIgW2F0dHIuZmlsbF09XCJpY29uQ29sb3IoKVwiIC8+XHJcbiAgPC9zdmc+XHJcbjwvbmctdGVtcGxhdGU+Il19
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export const ICON_NAMES = [
|
|
2
|
+
'default',
|
|
3
|
+
'check',
|
|
4
|
+
'cancel',
|
|
5
|
+
'edit',
|
|
6
|
+
'delete',
|
|
7
|
+
'add',
|
|
8
|
+
'view',
|
|
9
|
+
'get',
|
|
10
|
+
'settings',
|
|
11
|
+
'schedule',
|
|
12
|
+
'refresh',
|
|
13
|
+
'checkCircle',
|
|
14
|
+
'cancelCircle',
|
|
15
|
+
'error',
|
|
16
|
+
'queue',
|
|
17
|
+
'arrowUp',
|
|
18
|
+
'arrowDown',
|
|
19
|
+
'toggleOn',
|
|
20
|
+
'toggleOff',
|
|
21
|
+
'search',
|
|
22
|
+
'upload',
|
|
23
|
+
'pendingActions',
|
|
24
|
+
'playCircle',
|
|
25
|
+
];
|
|
26
|
+
export const BASE_ICON_COLORS = {
|
|
27
|
+
primary: '#003775c8',
|
|
28
|
+
secondary: '#6b7280',
|
|
29
|
+
warn: '#e53935',
|
|
30
|
+
success: '#4caf50',
|
|
31
|
+
};
|
|
32
|
+
export const DISABLED_COLOR = '#bdbdbd';
|
|
33
|
+
export const DEFAULT_ICON_COLOR = '#222';
|
|
34
|
+
export const DISABLED_OPACITY = 0.5;
|
|
35
|
+
export const SECONDARY_WARN_OPACITY = 0.7;
|
|
36
|
+
export const DEFAULT_OPACITY = 1;
|
|
37
|
+
export const BASE_ICON_SIZE = 24;
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb25zdGFudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NyYy9saWIvaWNvbi9pY29uLmNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDeEIsU0FBUztJQUNULE9BQU87SUFDUCxRQUFRO0lBQ1IsTUFBTTtJQUNOLFFBQVE7SUFDUixLQUFLO0lBQ0wsTUFBTTtJQUNOLEtBQUs7SUFDTCxVQUFVO0lBQ1YsVUFBVTtJQUNWLFNBQVM7SUFDVCxhQUFhO0lBQ2IsY0FBYztJQUNkLE9BQU87SUFDUCxPQUFPO0lBQ1AsU0FBUztJQUNULFdBQVc7SUFDWCxVQUFVO0lBQ1YsV0FBVztJQUNYLFFBQVE7SUFDUixRQUFRO0lBQ1IsZ0JBQWdCO0lBQ2hCLFlBQVk7Q0FDSixDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQXdDO0lBQ25FLE9BQU8sRUFBRSxXQUFXO0lBQ3BCLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLElBQUksRUFBRSxTQUFTO0lBQ2YsT0FBTyxFQUFFLFNBQVM7Q0FDbkIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxTQUFTLENBQUM7QUFDeEMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDO0FBQ3pDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQztBQUNwQyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxHQUFHLENBQUM7QUFDMUMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsQ0FBQztBQUNqQyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sb3JUeXBlIH0gZnJvbSAnLi9pY29uLnR5cGVzJztcblxuZXhwb3J0IGNvbnN0IElDT05fTkFNRVMgPSBbXG4gICdkZWZhdWx0JyxcbiAgJ2NoZWNrJyxcbiAgJ2NhbmNlbCcsXG4gICdlZGl0JyxcbiAgJ2RlbGV0ZScsXG4gICdhZGQnLFxuICAndmlldycsXG4gICdnZXQnLFxuICAnc2V0dGluZ3MnLFxuICAnc2NoZWR1bGUnLFxuICAncmVmcmVzaCcsXG4gICdjaGVja0NpcmNsZScsXG4gICdjYW5jZWxDaXJjbGUnLFxuICAnZXJyb3InLFxuICAncXVldWUnLFxuICAnYXJyb3dVcCcsXG4gICdhcnJvd0Rvd24nLFxuICAndG9nZ2xlT24nLFxuICAndG9nZ2xlT2ZmJyxcbiAgJ3NlYXJjaCcsXG4gICd1cGxvYWQnLFxuICAncGVuZGluZ0FjdGlvbnMnLFxuICAncGxheUNpcmNsZScsXG5dIGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3QgQkFTRV9JQ09OX0NPTE9SUzogUmVhZG9ubHk8UmVjb3JkPENvbG9yVHlwZSwgc3RyaW5nPj4gPSB7XG4gIHByaW1hcnk6ICcjMDAzNzc1YzgnLFxuICBzZWNvbmRhcnk6ICcjNmI3MjgwJyxcbiAgd2FybjogJyNlNTM5MzUnLFxuICBzdWNjZXNzOiAnIzRjYWY1MCcsXG59O1xuXG5leHBvcnQgY29uc3QgRElTQUJMRURfQ09MT1IgPSAnI2JkYmRiZCc7XG5leHBvcnQgY29uc3QgREVGQVVMVF9JQ09OX0NPTE9SID0gJyMyMjInO1xuZXhwb3J0IGNvbnN0IERJU0FCTEVEX09QQUNJVFkgPSAwLjU7XG5leHBvcnQgY29uc3QgU0VDT05EQVJZX1dBUk5fT1BBQ0lUWSA9IDAuNztcbmV4cG9ydCBjb25zdCBERUZBVUxUX09QQUNJVFkgPSAxO1xuZXhwb3J0IGNvbnN0IEJBU0VfSUNPTl9TSVpFID0gMjQ7XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvc3JjL2xpYi9pY29uL2ljb24udHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElDT05fTkFNRVMgfSBmcm9tICcuL2ljb24uY29uc3RhbnRzJztcblxuZXhwb3J0IHR5cGUgSWNvblR5cGUgPSAodHlwZW9mIElDT05fTkFNRVMpW251bWJlcl07XG5leHBvcnQgdHlwZSBDb2xvclR5cGUgPSAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICd3YXJuJyB8ICdzdWNjZXNzJztcbmV4cG9ydCB0eXBlIEJ1dHRvblR5cGUgPSAnYnV0dG9uJyB8ICdzdWJtaXQnIHwgJ3Jlc2V0JztcbiJdfQ==
|
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
export * from './icon.component';
|
|
2
|
-
|
|
2
|
+
export * from './icon.types';
|
|
3
|
+
export * from './icon.constants';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NyYy9saWIvaWNvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ljb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaWNvbi50eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2ljb24uY29uc3RhbnRzJztcbiJdfQ==
|