@openremote/or-asset-tree 1.2.0-snapshot.20240512155932
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/README.md +31 -0
- package/lib/index.d.ts +255 -0
- package/lib/index.js +101 -0
- package/lib/index.js.map +1 -0
- package/lib/or-add-asset-dialog.d.ts +43 -0
- package/lib/or-add-asset-dialog.js +145 -0
- package/lib/or-add-asset-dialog.js.map +1 -0
- package/lib/style.d.ts +1 -0
- package/lib/style.js +302 -0
- package/lib/style.js.map +1 -0
- package/package.json +35 -0
package/README.md
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# @openremote/or-asset-tree \<or-asset-tree\>
|
|
2
|
+
[![NPM Version][npm-image]][npm-url]
|
|
3
|
+
[![Linux Build][travis-image]][travis-url]
|
|
4
|
+
[![Test Coverage][coveralls-image]][coveralls-url]
|
|
5
|
+
|
|
6
|
+
Web Component for displaying an asset tree. This component requires an OpenRemote Manager to retrieve, save and query assets.
|
|
7
|
+
|
|
8
|
+
## Install
|
|
9
|
+
```bash
|
|
10
|
+
npm i @openremote/or-asset-list
|
|
11
|
+
yarn add @openremote/or-asset-list
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Usage
|
|
15
|
+
For a full list of properties, methods and options refer to the TypeDoc generated [documentation]().
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## Supported Browsers
|
|
19
|
+
The last 2 versions of all modern browsers are supported, including Chrome, Safari, Opera, Firefox, Edge. In addition,
|
|
20
|
+
Internet Explorer 11 is also supported.
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## License
|
|
24
|
+
[GNU AGPL](https://www.gnu.org/licenses/agpl-3.0.en.html)
|
|
25
|
+
|
|
26
|
+
[npm-image]: https://img.shields.io/npm/v/live-xxx.svg
|
|
27
|
+
[npm-url]: https://npmjs.org/package/@openremote/or-asset-list
|
|
28
|
+
[travis-image]: https://img.shields.io/travis/live-js/live-xxx/master.svg
|
|
29
|
+
[travis-url]: https://travis-ci.org/live-js/live-xxx
|
|
30
|
+
[coveralls-image]: https://img.shields.io/coveralls/live-js/live-xxx/master.svg
|
|
31
|
+
[coveralls-url]: https://coveralls.io/r/live-js/live-xxx?branch=master
|
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
import { LitElement, PropertyValues, TemplateResult } from "lit";
|
|
2
|
+
import "@openremote/or-mwc-components/or-mwc-input";
|
|
3
|
+
import { OrMwcInput } from "@openremote/or-mwc-components/or-mwc-input";
|
|
4
|
+
import "@openremote/or-icon";
|
|
5
|
+
import { Asset, AssetDescriptor, AssetEvent, AssetTreeNode, AssetTypeInfo, SharedEvent } from "@openremote/model";
|
|
6
|
+
import "@openremote/or-translate";
|
|
7
|
+
import { style } from "./style";
|
|
8
|
+
import { EventCallback, Util } from "@openremote/core";
|
|
9
|
+
import "@openremote/or-mwc-components/or-mwc-menu";
|
|
10
|
+
import { ListItem } from "@openremote/or-mwc-components/or-mwc-list";
|
|
11
|
+
import "@openremote/or-mwc-components/or-mwc-list";
|
|
12
|
+
import "@openremote/or-mwc-components/or-mwc-dialog";
|
|
13
|
+
import "./or-add-asset-dialog";
|
|
14
|
+
export interface AssetTreeTypeConfig {
|
|
15
|
+
include?: string[];
|
|
16
|
+
exclude?: string[];
|
|
17
|
+
}
|
|
18
|
+
export interface AssetTreeConfig {
|
|
19
|
+
select?: {
|
|
20
|
+
multiSelect?: boolean;
|
|
21
|
+
types?: string[];
|
|
22
|
+
};
|
|
23
|
+
add?: {
|
|
24
|
+
typesProvider?: (parent: UiAssetTreeNode | undefined) => AssetDescriptor[] | undefined;
|
|
25
|
+
typesParent?: {
|
|
26
|
+
default?: AssetTreeTypeConfig;
|
|
27
|
+
none?: AssetTreeTypeConfig;
|
|
28
|
+
assetTypes?: {
|
|
29
|
+
[assetType: string]: AssetTreeTypeConfig;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
interface AssetWithReparentId extends Asset {
|
|
35
|
+
reparentId?: string | null;
|
|
36
|
+
}
|
|
37
|
+
export interface UiAssetTreeNode extends AssetTreeNode {
|
|
38
|
+
selected: boolean;
|
|
39
|
+
expandable: boolean;
|
|
40
|
+
expanded: boolean;
|
|
41
|
+
parent: UiAssetTreeNode;
|
|
42
|
+
children: UiAssetTreeNode[];
|
|
43
|
+
someChildrenSelected: boolean;
|
|
44
|
+
allChildrenSelected: boolean;
|
|
45
|
+
notMatchingFilter: boolean;
|
|
46
|
+
hidden: boolean;
|
|
47
|
+
}
|
|
48
|
+
export interface NodeSelectEventDetail {
|
|
49
|
+
oldNodes: UiAssetTreeNode[];
|
|
50
|
+
newNodes: UiAssetTreeNode[];
|
|
51
|
+
}
|
|
52
|
+
export { style };
|
|
53
|
+
export declare class OrAssetTreeRequestSelectionEvent extends CustomEvent<Util.RequestEventDetail<NodeSelectEventDetail>> {
|
|
54
|
+
static readonly NAME = "or-asset-tree-request-selection";
|
|
55
|
+
constructor(request: NodeSelectEventDetail);
|
|
56
|
+
}
|
|
57
|
+
export declare class OrAssetTreeSelectionEvent extends CustomEvent<NodeSelectEventDetail> {
|
|
58
|
+
static readonly NAME = "or-asset-tree-selection";
|
|
59
|
+
constructor(detail: NodeSelectEventDetail);
|
|
60
|
+
}
|
|
61
|
+
export declare class OrAssetTreeChangeParentEvent extends CustomEvent<any> {
|
|
62
|
+
static readonly NAME = "or-asset-tree-change-parent";
|
|
63
|
+
constructor(parent: string | undefined, assetsIds: string[]);
|
|
64
|
+
}
|
|
65
|
+
export interface ToggleExpandEventDetail {
|
|
66
|
+
node: UiAssetTreeNode;
|
|
67
|
+
}
|
|
68
|
+
export declare class OrAssetTreeToggleExpandEvent extends CustomEvent<ToggleExpandEventDetail> {
|
|
69
|
+
static readonly NAME = "or-asset-tree-expand";
|
|
70
|
+
constructor(detail: ToggleExpandEventDetail);
|
|
71
|
+
}
|
|
72
|
+
export type AddEventDetail = {
|
|
73
|
+
sourceAsset?: Asset;
|
|
74
|
+
asset: Asset;
|
|
75
|
+
};
|
|
76
|
+
export declare class OrAssetTreeRequestAddEvent extends CustomEvent<Util.RequestEventDetail<AddEventDetail>> {
|
|
77
|
+
static readonly NAME = "or-asset-tree-request-add";
|
|
78
|
+
constructor(detail: AddEventDetail);
|
|
79
|
+
}
|
|
80
|
+
export declare class OrAssetTreeAddEvent extends CustomEvent<AddEventDetail> {
|
|
81
|
+
static readonly NAME = "or-asset-tree-add";
|
|
82
|
+
constructor(detail: AddEventDetail);
|
|
83
|
+
}
|
|
84
|
+
export declare class OrAssetTreeRequestDeleteEvent extends CustomEvent<Util.RequestEventDetail<UiAssetTreeNode[]>> {
|
|
85
|
+
static readonly NAME = "or-asset-tree-request-delete";
|
|
86
|
+
constructor(request: UiAssetTreeNode[]);
|
|
87
|
+
}
|
|
88
|
+
export declare class OrAssetTreeAssetEvent extends CustomEvent<AssetEvent> {
|
|
89
|
+
static readonly NAME = "or-asset-tree-asset-event";
|
|
90
|
+
constructor(assetEvent: AssetEvent);
|
|
91
|
+
}
|
|
92
|
+
export declare class OrAssetTreeFilter {
|
|
93
|
+
asset: string | undefined;
|
|
94
|
+
assetType: string[];
|
|
95
|
+
attribute: string[];
|
|
96
|
+
attributeValue: string[];
|
|
97
|
+
constructor();
|
|
98
|
+
}
|
|
99
|
+
declare global {
|
|
100
|
+
export interface HTMLElementEventMap {
|
|
101
|
+
[OrAssetTreeRequestSelectionEvent.NAME]: OrAssetTreeRequestSelectionEvent;
|
|
102
|
+
[OrAssetTreeSelectionEvent.NAME]: OrAssetTreeSelectionEvent;
|
|
103
|
+
[OrAssetTreeRequestAddEvent.NAME]: OrAssetTreeRequestAddEvent;
|
|
104
|
+
[OrAssetTreeAddEvent.NAME]: OrAssetTreeAddEvent;
|
|
105
|
+
[OrAssetTreeRequestDeleteEvent.NAME]: OrAssetTreeRequestDeleteEvent;
|
|
106
|
+
[OrAssetTreeAssetEvent.NAME]: OrAssetTreeAssetEvent;
|
|
107
|
+
[OrAssetTreeChangeParentEvent.NAME]: OrAssetTreeChangeParentEvent;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
export declare const getAssetTypes: () => Promise<any[] | undefined>;
|
|
111
|
+
declare const OrAssetTree_base: (new (...args: any[]) => {
|
|
112
|
+
_connectRequested: boolean;
|
|
113
|
+
_subscriptionIds?: string[] | undefined;
|
|
114
|
+
_assetIds?: string[] | undefined;
|
|
115
|
+
_attributeRefs?: import("@openremote/model").AttributeRef[] | undefined;
|
|
116
|
+
_status: import("@openremote/core").EventProviderStatus;
|
|
117
|
+
_statusCallback: (status: import("@openremote/core").EventProviderStatus) => void;
|
|
118
|
+
connectedCallback(): void;
|
|
119
|
+
disconnectedCallback(): void;
|
|
120
|
+
connectEvents(): void;
|
|
121
|
+
disconnectEvents(): void;
|
|
122
|
+
_doConnect(): Promise<void>;
|
|
123
|
+
readonly eventsConnected: boolean;
|
|
124
|
+
_onEventProviderStatusChanged(status: import("@openremote/core").EventProviderStatus): void;
|
|
125
|
+
_onEventsConnect(): void;
|
|
126
|
+
_onEventsDisconnect(): void;
|
|
127
|
+
_addEventSubscriptions(): Promise<void>;
|
|
128
|
+
_removeEventSubscriptions(): void;
|
|
129
|
+
_refreshEventSubscriptions(): void;
|
|
130
|
+
assetIds: string[] | undefined;
|
|
131
|
+
attributeRefs: import("@openremote/model").AttributeRef[] | undefined;
|
|
132
|
+
_sendEvent(event: SharedEvent): void;
|
|
133
|
+
_sendEventWithReply<U extends SharedEvent, V extends SharedEvent>(event: import("@openremote/model").EventRequestResponseWrapper<U>): Promise<V>;
|
|
134
|
+
onEventsConnect(): void;
|
|
135
|
+
onEventsDisconnect(): void;
|
|
136
|
+
_onEvent(event: SharedEvent): void;
|
|
137
|
+
requestUpdate(name?: PropertyKey | undefined, oldValue?: unknown): void;
|
|
138
|
+
readonly isConnected: boolean;
|
|
139
|
+
}) & typeof LitElement;
|
|
140
|
+
export declare class OrAssetTree extends OrAssetTree_base {
|
|
141
|
+
static get styles(): import("lit").CSSResult[];
|
|
142
|
+
/**
|
|
143
|
+
* Allows arbitrary assets to be displayed using a tree
|
|
144
|
+
*/
|
|
145
|
+
assets?: Asset[];
|
|
146
|
+
assetInfos?: AssetTypeInfo[];
|
|
147
|
+
_assetIdsOverride?: string[];
|
|
148
|
+
rootAssets?: Asset[];
|
|
149
|
+
rootAssetIds?: string[];
|
|
150
|
+
dataProvider?: () => Promise<Asset[]>;
|
|
151
|
+
readonly: boolean;
|
|
152
|
+
disabled: boolean;
|
|
153
|
+
disableSubscribe: boolean;
|
|
154
|
+
selectedIds?: string[];
|
|
155
|
+
showDeselectBtn?: boolean;
|
|
156
|
+
showSortBtn?: boolean;
|
|
157
|
+
showFilter: boolean;
|
|
158
|
+
sortBy?: string;
|
|
159
|
+
expandAllNodes?: boolean;
|
|
160
|
+
expandedIds?: string[];
|
|
161
|
+
checkboxes?: boolean;
|
|
162
|
+
protected config?: AssetTreeConfig;
|
|
163
|
+
protected _nodes?: UiAssetTreeNode[];
|
|
164
|
+
protected _loading: boolean;
|
|
165
|
+
protected _connected: boolean;
|
|
166
|
+
protected _selectedNodes: UiAssetTreeNode[];
|
|
167
|
+
protected _expandedNodes: UiAssetTreeNode[];
|
|
168
|
+
protected _initCallback?: EventCallback;
|
|
169
|
+
protected _filter: OrAssetTreeFilter;
|
|
170
|
+
protected _searchInputTimer?: number;
|
|
171
|
+
protected _clearIconContainer: HTMLElement;
|
|
172
|
+
protected _filterInput: OrMwcInput;
|
|
173
|
+
protected _filterSettingOpen: boolean;
|
|
174
|
+
protected _assetTypes: AssetDescriptor[];
|
|
175
|
+
protected _attributeNameFilter: OrMwcInput;
|
|
176
|
+
protected _attributeValueFilter: OrMwcInput;
|
|
177
|
+
protected _assetTypeFilter: string;
|
|
178
|
+
protected _uniqueAssetTypes: string[];
|
|
179
|
+
private _dragDropParentId;
|
|
180
|
+
protected _expandTimer?: number;
|
|
181
|
+
private _latestSelected;
|
|
182
|
+
protected assetsChildren: {
|
|
183
|
+
[key: string]: UiAssetTreeNode[];
|
|
184
|
+
};
|
|
185
|
+
get selectedNodes(): UiAssetTreeNode[];
|
|
186
|
+
set selectedNodes(nodes: UiAssetTreeNode[]);
|
|
187
|
+
connectedCallback(): void;
|
|
188
|
+
disconnectedCallback(): void;
|
|
189
|
+
refresh(): void;
|
|
190
|
+
isAncestorSelected(node: UiAssetTreeNode): boolean;
|
|
191
|
+
protected mapDescriptors(descriptors: (AssetDescriptor)[], withNoneValue?: ListItem): ListItem[];
|
|
192
|
+
protected getSelectHeader(): TemplateResult;
|
|
193
|
+
protected getSelectedHeader(descriptor: AssetDescriptor): TemplateResult;
|
|
194
|
+
protected assetTypeSelect(): TemplateResult;
|
|
195
|
+
protected atLeastOneNodeToBeShown(): boolean;
|
|
196
|
+
protected render(): TemplateResult<1>;
|
|
197
|
+
protected _isReadonly(): boolean;
|
|
198
|
+
protected shouldUpdate(_changedProperties: PropertyValues): boolean;
|
|
199
|
+
protected _updateSelectedNodes(): void;
|
|
200
|
+
protected _updateSort(nodes: UiAssetTreeNode[], sortFunction: (a: UiAssetTreeNode, b: UiAssetTreeNode) => number): void;
|
|
201
|
+
protected _toggleExpander(expander: HTMLElement, node: UiAssetTreeNode | null): void;
|
|
202
|
+
/**
|
|
203
|
+
* This method is used to avoid to re-render and erase all the this.selectedIds attribute
|
|
204
|
+
*
|
|
205
|
+
* @param expander
|
|
206
|
+
* @param node
|
|
207
|
+
* @protected
|
|
208
|
+
*/
|
|
209
|
+
protected _toggleExpanderWithoutEventDispatch(expander: HTMLElement, node: UiAssetTreeNode | null): void;
|
|
210
|
+
private _buildPaths;
|
|
211
|
+
private _findNode;
|
|
212
|
+
private _findNodeFromAssetId;
|
|
213
|
+
protected _onNodeClicked(evt: MouseEvent | null, node: UiAssetTreeNode | null): void;
|
|
214
|
+
protected _onDeselectClicked(): void;
|
|
215
|
+
protected parseFromInputFilter(inputValue?: string): OrAssetTreeFilter;
|
|
216
|
+
protected formatFilter(newFilter: OrAssetTreeFilter): string;
|
|
217
|
+
protected _shouldEnableAttrTypeEvent(e: KeyboardEvent): void;
|
|
218
|
+
protected _shouldEnableAttrType(value: string | undefined): void;
|
|
219
|
+
protected applySettingFields(filter: OrAssetTreeFilter): OrAssetTreeFilter;
|
|
220
|
+
protected _filterFromSettings(): void;
|
|
221
|
+
protected _onFilterInputEvent(e: KeyboardEvent): void;
|
|
222
|
+
protected _onFilterInput(newValue: string | undefined, force: boolean): void;
|
|
223
|
+
protected _doFiltering(): Promise<void>;
|
|
224
|
+
protected getMatcher(requireQuery: boolean): Promise<((asset: Asset) => boolean)>;
|
|
225
|
+
protected getSimpleNameMatcher(): Promise<((asset: Asset) => boolean)>;
|
|
226
|
+
protected getMatcherFromQuery(): Promise<((asset: Asset) => boolean)>;
|
|
227
|
+
protected isAnyFilter(): boolean;
|
|
228
|
+
protected filterTreeNode(currentNode: UiAssetTreeNode, matcher: (asset: Asset) => boolean, parentMatching?: boolean): boolean;
|
|
229
|
+
protected _onCopyClicked(): Promise<void>;
|
|
230
|
+
protected _onAddClicked(): void;
|
|
231
|
+
protected _onDeleteClicked(): void;
|
|
232
|
+
protected _onSearchClicked(): void;
|
|
233
|
+
protected _onSortClicked(sortBy: string): void;
|
|
234
|
+
protected _doDelete(): void;
|
|
235
|
+
protected _canAdd(): boolean;
|
|
236
|
+
protected _getAllowedChildTypes(selectedNode: UiAssetTreeNode | undefined): AssetDescriptor[];
|
|
237
|
+
protected _getSortFunction(): (a: UiAssetTreeNode, b: UiAssetTreeNode) => number;
|
|
238
|
+
protected _loadAssets(): void;
|
|
239
|
+
_addEventSubscriptions(): Promise<void>;
|
|
240
|
+
onEventsConnect(): void;
|
|
241
|
+
onEventsDisconnect(): void;
|
|
242
|
+
getNodes(): UiAssetTreeNode[];
|
|
243
|
+
_onEvent(event: SharedEvent): void;
|
|
244
|
+
protected _buildTreeNodes(assets: Asset[], sortFunction: (a: UiAssetTreeNode, b: UiAssetTreeNode) => number): void;
|
|
245
|
+
protected _buildChildTreeNodes(treeNode: UiAssetTreeNode, assets: AssetWithReparentId[], sortFunction: (a: UiAssetTreeNode, b: UiAssetTreeNode) => number): void;
|
|
246
|
+
_onDragStart(ev: any): void;
|
|
247
|
+
_onDragEnd(ev: any): void;
|
|
248
|
+
protected isExpandable(assetId: string): boolean;
|
|
249
|
+
_onDragOver(ev: any): void;
|
|
250
|
+
protected expandNode(assetId: string | null): void;
|
|
251
|
+
_onDragEnter(ev: any): void;
|
|
252
|
+
_onDragLeave(ev: any): void;
|
|
253
|
+
protected _treeNodeTemplate(treeNode: UiAssetTreeNode, level: number): TemplateResult | string | undefined;
|
|
254
|
+
protected static _forEachNodeRecursive(nodes: UiAssetTreeNode[], fn: (node: UiAssetTreeNode) => void): void;
|
|
255
|
+
}
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
var __decorate=this&&this.__decorate||function(e,t,s,i){var r,a=arguments.length,n=a<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,s):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,i);else for(var o=e.length-1;o>=0;o--)(r=e[o])&&(n=(a<3?r(n):a>3?r(t,s,n):r(t,s))||n);return a>3&&n&&Object.defineProperty(t,s,n),n},__awaiter=this&&this.__awaiter||function(e,t,s,i){return new(s||(s=Promise))((function(r,a){function n(e){try{d(i.next(e))}catch(e){a(e)}}function o(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(n,o)}d((i=i.apply(e,t||[])).next())}))},OrAssetTree_1,FilterElementType;import{html,LitElement}from"lit";import{customElement,property,query,state}from"lit/decorators.js";import"@openremote/or-mwc-components/or-mwc-input";import{InputType}from"@openremote/or-mwc-components/or-mwc-input";import"@openremote/or-icon";import{AssetModelUtil}from"@openremote/model";import"@openremote/or-translate";import{style}from"./style";import manager,{subscribe,Util}from"@openremote/core";import Qs from"qs";import{getAssetDescriptorIconTemplate}from"@openremote/or-icon";import"@openremote/or-mwc-components/or-mwc-menu";import{getContentWithMenuTemplate}from"@openremote/or-mwc-components/or-mwc-menu";import"@openremote/or-mwc-components/or-mwc-list";import{i18next}from"@openremote/or-translate";import"@openremote/or-mwc-components/or-mwc-dialog";import{OrMwcDialog,showDialog,showErrorDialog,showOkCancelDialog}from"@openremote/or-mwc-components/or-mwc-dialog";import"./or-add-asset-dialog";import{showSnackbar}from"@openremote/or-mwc-components/or-mwc-snackbar";import{when}from"lit/directives/when.js";export{style};export class OrAssetTreeRequestSelectionEvent extends CustomEvent{constructor(e){super(OrAssetTreeRequestSelectionEvent.NAME,{bubbles:!0,composed:!0,detail:{allow:!0,detail:e}})}}OrAssetTreeRequestSelectionEvent.NAME="or-asset-tree-request-selection";export class OrAssetTreeSelectionEvent extends CustomEvent{constructor(e){super(OrAssetTreeSelectionEvent.NAME,{bubbles:!0,composed:!0,detail:e})}}OrAssetTreeSelectionEvent.NAME="or-asset-tree-selection";export class OrAssetTreeChangeParentEvent extends CustomEvent{constructor(e,t){super(OrAssetTreeChangeParentEvent.NAME,{bubbles:!0,composed:!0,detail:{parentId:e,assetsIds:t}})}}OrAssetTreeChangeParentEvent.NAME="or-asset-tree-change-parent";export class OrAssetTreeToggleExpandEvent extends CustomEvent{constructor(e){super(OrAssetTreeToggleExpandEvent.NAME,{bubbles:!0,composed:!0,detail:e})}}OrAssetTreeToggleExpandEvent.NAME="or-asset-tree-expand",function(e){e[e.SEARCH_FILTER=0]="SEARCH_FILTER",e[e.ASSET_TYPE=1]="ASSET_TYPE",e[e.ATTRIBUTE_NAME=2]="ATTRIBUTE_NAME",e[e.ATTRIBUTE_VALUE=3]="ATTRIBUTE_VALUE"}(FilterElementType||(FilterElementType={}));export class OrAssetTreeRequestAddEvent extends CustomEvent{constructor(e){super(OrAssetTreeRequestAddEvent.NAME,{bubbles:!0,composed:!0,detail:{allow:!0,detail:e}})}}OrAssetTreeRequestAddEvent.NAME="or-asset-tree-request-add";export class OrAssetTreeAddEvent extends CustomEvent{constructor(e){super(OrAssetTreeAddEvent.NAME,{bubbles:!0,composed:!0,detail:e})}}OrAssetTreeAddEvent.NAME="or-asset-tree-add";export class OrAssetTreeRequestDeleteEvent extends CustomEvent{constructor(e){super(OrAssetTreeRequestDeleteEvent.NAME,{bubbles:!0,composed:!0,detail:{allow:!0,detail:e}})}}OrAssetTreeRequestDeleteEvent.NAME="or-asset-tree-request-delete";export class OrAssetTreeAssetEvent extends CustomEvent{constructor(e){super(OrAssetTreeAssetEvent.NAME,{bubbles:!0,composed:!0,detail:e})}}OrAssetTreeAssetEvent.NAME="or-asset-tree-asset-event";export class OrAssetTreeFilter{constructor(){this.asset=void 0,this.assetType=[],this.attribute=[],this.attributeValue=[]}}export const getAssetTypes=()=>__awaiter(void 0,void 0,void 0,(function*(){const e=yield manager.rest.api.AssetResource.queryAssets({select:{attributes:[]},recursive:!0});if(e&&e.data)return e.data.map((e=>e.type))}));let OrAssetTree=OrAssetTree_1=class OrAssetTree extends(subscribe(manager)(LitElement)){constructor(){super(...arguments),this.readonly=!1,this.disabled=!1,this.disableSubscribe=!1,this.showDeselectBtn=!0,this.showSortBtn=!0,this.showFilter=!0,this.sortBy="name",this.expandAllNodes=!1,this.expandedIds=[],this.checkboxes=!1,this._loading=!1,this._connected=!1,this._selectedNodes=[],this._expandedNodes=[],this._filter=new OrAssetTreeFilter,this._searchInputTimer=void 0,this._filterSettingOpen=!1,this._assetTypes=[],this._uniqueAssetTypes=[],this._dragDropParentId=null,this._expandTimer=void 0,this._latestSelected=void 0,this.assetsChildren={}}static get styles(){return[style]}get selectedNodes(){return this._selectedNodes?[...this._selectedNodes]:[]}set selectedNodes(e){this.selectedIds=e.map((e=>e.asset.id))}connectedCallback(){super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback(),this.requestUpdate()}refresh(){this._nodes=void 0}isAncestorSelected(e){if(!this.selectedIds||!e.parent)return!1;for(;e.parent;)if(e=e.parent,this.selectedIds.includes(e.asset.id))return!0;return!1}mapDescriptors(e,t){let s=e.map((e=>({styleMap:{"--or-icon-fill":e.colour?"#"+e.colour:"unset"},icon:e.icon,text:Util.getAssetTypeLabel(e),value:e.name,data:e}))).sort(Util.sortByString((e=>e.text)));return t&&s.splice(0,0,t),s}getSelectHeader(){return html`<or-mwc-input style="width:100%;" ?disabled="${this._loading}" type="${InputType.TEXT}" .label="${i18next.t("filter.assetTypeLabel")}" iconTrailing="menu-down" iconColor="rgba(0, 0, 0, 0.87)" icon="selection-ellipse" value="${i18next.t("filter.assetTypeNone")}"></or-mwc-input>`}getSelectedHeader(e){return html`<or-mwc-input style="width:100%;" ?disabled="${this._loading}" type="${InputType.TEXT}" .label="${i18next.t("filter.assetTypeLabel")}" .iconColor="${e.colour}" iconTrailing="menu-down" icon="${e.icon}" value="${Util.getAssetTypeLabel(e)}"></or-mwc-input>`}assetTypeSelect(){if(this._assetTypeFilter){const e=this._assetTypes.find((e=>e.name===this._assetTypeFilter));return e?this.getSelectedHeader(e):this.getSelectHeader()}return this.getSelectHeader()}atLeastOneNodeToBeShown(){var e;let t=!1;return null===(e=this._nodes)||void 0===e||e.forEach((e=>{e.hidden||(t=!0)})),t}render(){return html`
|
|
2
|
+
<div id="header">
|
|
3
|
+
<div id="title-container">
|
|
4
|
+
<or-translate id="title" value="asset_plural"></or-translate>
|
|
5
|
+
</div>
|
|
6
|
+
|
|
7
|
+
<div id="header-btns">
|
|
8
|
+
<or-mwc-input ?hidden="${!this.selectedIds||0===this.selectedIds.length||!this.showDeselectBtn}" type="${InputType.BUTTON}" icon="close" @or-mwc-input-changed="${()=>this._onDeselectClicked()}"></or-mwc-input>
|
|
9
|
+
<or-mwc-input ?hidden="${this._isReadonly()||!this.selectedIds||1!==this.selectedIds.length}" type="${InputType.BUTTON}" icon="content-copy" @or-mwc-input-changed="${()=>this._onCopyClicked()}"></or-mwc-input>
|
|
10
|
+
<or-mwc-input ?hidden="${this._isReadonly()||!this.selectedIds||0===this.selectedIds.length}" type="${InputType.BUTTON}" icon="delete" @or-mwc-input-changed="${()=>this._onDeleteClicked()}"></or-mwc-input>
|
|
11
|
+
<or-mwc-input ?hidden="${this._isReadonly()||!this._canAdd()}" type="${InputType.BUTTON}" icon="plus" @or-mwc-input-changed="${()=>this._onAddClicked()}"></or-mwc-input>
|
|
12
|
+
<or-mwc-input hidden type="${InputType.BUTTON}" icon="magnify" @or-mwc-input-changed="${()=>this._onSearchClicked()}"></or-mwc-input>
|
|
13
|
+
|
|
14
|
+
${getContentWithMenuTemplate(html`<or-mwc-input type="${InputType.BUTTON}" ?hidden="${!this.showSortBtn}" icon="sort-variant"></or-mwc-input>`,["name","type","createdOn"].map((e=>({value:e,text:i18next.t(e)}))),this.sortBy,(e=>this._onSortClicked(e)))}
|
|
15
|
+
</div>
|
|
16
|
+
</div>
|
|
17
|
+
|
|
18
|
+
${when(this.showFilter,(()=>html`
|
|
19
|
+
<div id="asset-tree-filter">
|
|
20
|
+
<or-mwc-input id="filterInput"
|
|
21
|
+
?disabled="${this._loading}"
|
|
22
|
+
style="width: 100%;"
|
|
23
|
+
type="${InputType.TEXT}"
|
|
24
|
+
placeholder="${i18next.t("filter.filter")}..."
|
|
25
|
+
compact="true"
|
|
26
|
+
outlined="true"
|
|
27
|
+
@input="${e=>{this._onFilterInputEvent(e)}}"
|
|
28
|
+
@or-mwc-input-changed="${e=>{this._onFilterInput(e.detail.value||void 0,!0)}}">
|
|
29
|
+
</or-mwc-input>
|
|
30
|
+
<or-icon id="filterSettingsIcon" icon="${this._filterSettingOpen?"window-close":"tune"}" @click="${()=>{if(this._filterSettingOpen)this._filterSettingOpen=!1;else{if(this._filterSettingOpen=!0,0===this._assetTypes.length){const e=this._getAllowedChildTypes(this._selectedNodes[0]);this._assetTypes=e.filter((e=>"asset"===e.descriptorType))}this._filter.attribute.length>0&&(this._attributeNameFilter.value=this._filter.attribute[0]),this._filter.attributeValue.length>0&&this._filter.attribute.length>0&&(this._attributeValueFilter.disabled=!1,this._attributeValueFilter.value=this._filter.attributeValue[0]),this._filter.assetType.length>0?this._assetTypeFilter=this._filter.assetType[0]:this._assetTypeFilter=""}}}"></or-icon>
|
|
31
|
+
</div>
|
|
32
|
+
<div id="asset-tree-filter-setting" class="${this._filterSettingOpen?"visible":""}">
|
|
33
|
+
<div class="advanced-filter">
|
|
34
|
+
${this._assetTypes.length>0?getContentWithMenuTemplate(this.assetTypeSelect(),this.mapDescriptors(this._assetTypes,{text:i18next.t("filter.assetTypeMenuNone"),value:"",icon:"selection-ellipse"}),void 0,(e=>{this._assetTypeFilter=e}),void 0,!1,!0,!0):html``}
|
|
35
|
+
<or-mwc-input id="attributeNameFilter" .label="${i18next.t("filter.attributeLabel")}"
|
|
36
|
+
|
|
37
|
+
.type="${InputType.TEXT}"
|
|
38
|
+
style="margin-top: 10px;"
|
|
39
|
+
?disabled="${this._loading}"
|
|
40
|
+
@input="${e=>{this._shouldEnableAttrTypeEvent(e)}}"
|
|
41
|
+
@or-mwc-input-changed="${e=>{this._shouldEnableAttrType(e.detail.value||void 0)}}"></or-mwc-input>
|
|
42
|
+
<or-mwc-input id="attributeValueFilter" .label="${i18next.t("filter.attributeValueLabel")}"
|
|
43
|
+
|
|
44
|
+
.type="${InputType.TEXT}"
|
|
45
|
+
style="margin-top: 10px;"
|
|
46
|
+
disabled></or-mwc-input>
|
|
47
|
+
<div style="margin-top: 10px;">
|
|
48
|
+
<or-mwc-input style="float:left;" type="${InputType.BUTTON}" label="filter.clear" @or-mwc-input-changed="${()=>{this._filterInput.value=void 0,this._attributeValueFilter.value=void 0,this._attributeNameFilter.value=void 0,this._attributeValueFilter.disabled=!0,this._assetTypeFilter="",this._filter=new OrAssetTreeFilter,this._doFiltering()}}"></or-mwc-input>
|
|
49
|
+
<or-mwc-input style="float: right;" type="${InputType.BUTTON}" label="filter.action" raised @or-mwc-input-changed="${()=>{this._filterFromSettings()}}"></or-mwc-input>
|
|
50
|
+
</div>
|
|
51
|
+
</div>
|
|
52
|
+
</div>
|
|
53
|
+
`))}
|
|
54
|
+
|
|
55
|
+
${this._nodes?0!==this._nodes.length&&this.atLeastOneNodeToBeShown()?html`
|
|
56
|
+
<div id="list-container">
|
|
57
|
+
<ol id="list">
|
|
58
|
+
${this._nodes.map((e=>this._treeNodeTemplate(e,0))).filter((e=>!!e))}
|
|
59
|
+
<li class="asset-list-element">
|
|
60
|
+
<div class="end-element" node-asset-id="${""}" @dragleave=${e=>{this._onDragLeave(e)}} @dragenter="${e=>this._onDragEnter(e)}" @dragend="${e=>this._onDragEnd(e)}" @dragover="${e=>this._onDragOver(e)}"></div>
|
|
61
|
+
</li>
|
|
62
|
+
</ol>
|
|
63
|
+
</div>
|
|
64
|
+
`:html`<span id="noAssetsFound"><or-translate value="noAssetsFound"></or-translate></span>`:html`
|
|
65
|
+
<span id="loading"><or-translate value="loading"></or-translate></span>`}
|
|
66
|
+
|
|
67
|
+
<div id="footer">
|
|
68
|
+
|
|
69
|
+
</div>
|
|
70
|
+
`}_isReadonly(){return this.readonly||!manager.hasRole("write:assets")}shouldUpdate(e){const t=super.shouldUpdate(e);return(e.has("assets")||e.has("rootAssets")||e.has("rootAssetIds"))&&(this._nodes=void 0),this._nodes?(e.has("selectedIds")&&(Util.objectsEqual(e.get("selectedIds"),this.selectedIds)||this._updateSelectedNodes()),e.has("sortBy")&&this._updateSort(this._nodes,this._getSortFunction()),e.has("disabledSubscribe")&&this.disableSubscribe&&this._removeEventSubscriptions(),t):(this._loadAssets(),!0)}_updateSelectedNodes(){const e=[],t=[];OrAssetTree_1._forEachNodeRecursive(this._nodes,(s=>{if(this.selectedIds&&this.selectedIds.indexOf(s.asset.id)>=0){e.push(s.asset.id),t.push(s),s.selected=!0;let i=s.parent;for(;i;)i.expanded=!0,i=i.parent}else s.selected=!1;if(this.checkboxes){let t=s.parent;for(;t;){const s=[];OrAssetTree_1._forEachNodeRecursive(t.children,(e=>{s.push(e)})),t.someChildrenSelected=!1,t.allChildrenSelected=!1,s.every((t=>e.includes(t.asset.id)))?t.allChildrenSelected=!0:s.some((t=>e.includes(t.asset.id)))&&(t.someChildrenSelected=!0),t=t.parent}}})),this.selectedIds=e;const s=this._selectedNodes;this._selectedNodes=t,this.dispatchEvent(new OrAssetTreeSelectionEvent({oldNodes:s,newNodes:t}))}_updateSort(e,t){e&&(e.sort(t),e.forEach((e=>this._updateSort(e.children,t))))}_toggleExpander(e,t){t&&t.expandable&&(t.expanded=!t.expanded,t.expanded?this._expandedNodes.push(t):this._expandedNodes=this._expandedNodes.filter((e=>e!==t)),e.parentElement.parentElement.parentElement.toggleAttribute("data-expanded"),this.dispatchEvent(new OrAssetTreeToggleExpandEvent({node:t})),this.requestUpdate())}_toggleExpanderWithoutEventDispatch(e,t){t&&t.expandable&&(t.expanded=!t.expanded,t.expanded?this._expandedNodes.push(t):this._expandedNodes=this._expandedNodes.filter((e=>e!==t)),e.parentElement.parentElement.parentElement.toggleAttribute("data-expanded"),this.requestUpdate())}_buildPaths(e){let t=[];return e.asset&&e.asset.id?(t.push(e.asset.id),e.children.length>0&&e.expanded&&e.children.forEach((e=>{t=t.concat(this._buildPaths(e))})),t):[]}_findNode(e,t){if(e.asset&&e.asset.id){if(e.asset.id===t)return e;if(e.children.length>0&&e.expanded){let s;return e.children.forEach((e=>{s||(s=this._findNode(e,t))})),s}}}_findNodeFromAssetId(e){if(this._nodes){let t;return this._nodes.forEach((s=>{t||(t=this._findNode(s,e))})),t}}_onNodeClicked(e,t){var s,i,r,a;if(e&&e.defaultPrevented)return;e&&e.preventDefault();const n=e&&e.target.className.indexOf("expander")>=0,o=e&&(null===(i=null===(s=e.target)||void 0===s?void 0:s.icon)||void 0===i?void 0:i.includes("checkbox-multiple"));if(n)this._toggleExpander(e.target,t);else{let s=!0;if(t&&this.config&&(null===(r=this.config.select)||void 0===r?void 0:r.types)&&(s=this.config.select.types.indexOf(t.asset.type)>=0),!s&&!o)return;let i=[];if(t){const s=this.selectedNodes.indexOf(t);let r=!0,n=!0;const d=!(this._isReadonly()||this.config&&this.config.select&&this.config.select.multiSelect);if((this.checkboxes||d&&e&&(e.ctrlKey||e.shiftKey||e.metaKey))&&(n=!1,s>=0&&this.selectedIds&&this.selectedIds.length>1&&(r=!1)),o){i=[...this.selectedNodes];const e=[];OrAssetTree_1._forEachNodeRecursive(t.children,(t=>{var s,i;let r=!0;t&&(null===(i=null===(s=this.config)||void 0===s?void 0:s.select)||void 0===i?void 0:i.types)&&(r=this.config.select.types.indexOf(t.asset.type)>=0),r&&e.push(t)})),i=t.allChildrenSelected?i.filter((t=>!e.map((e=>e.asset.id)).includes(t.asset.id))):i.concat(e)}else if(n)this._latestSelected=Object.assign({},t),i=[t];else if(r){if(s<0){if(e&&e.shiftKey){let e=[];if(null===(a=this._nodes)||void 0===a||a.forEach((t=>{e=e.concat(this._buildPaths(t))})),this._latestSelected&&this._latestSelected.asset&&this._latestSelected.asset.id&&t.asset&&t.asset.id){let s=this._latestSelected.asset.id,r=t.asset.id,a=e.findIndex((e=>e.includes(s))),n=e.findIndex((e=>e.includes(r))),o=-1,d=-1;a>n?(o=n,d=a):(o=a,d=n);let l=e.slice(o,d+1),c=[];l.forEach((e=>{let t=this._findNodeFromAssetId(e);t&&c.push(t)})),i=[...this.selectedNodes],i=i.concat(c)}}else i=[...this.selectedNodes],i.push(t);this._latestSelected=Object.assign({},t)}}else s>=0&&(i=[...this.selectedNodes],1===i.length&&(this._latestSelected=void 0),i.splice(s,1))}Util.dispatchCancellableEvent(this,new OrAssetTreeRequestSelectionEvent({oldNodes:this.selectedNodes,newNodes:i})).then((e=>{e.allow&&(this.selectedNodes=e.detail.newNodes)}))}}_onDeselectClicked(){this._onNodeClicked(null,null)}parseFromInputFilter(e){let t=this._filterInput.value;e&&(t=e);let s=new OrAssetTreeFilter;if(t){let e=t,i=t.match(/(attribute\:)(\"[^"]+\")\S*/g);i&&(i.length>0&&i.forEach(((t,i)=>{e=e.replace(t,"");const r=t.toString().indexOf("attribute:"),a=t.toString().substring(r+10+1,t.toString().length-1);s.attribute.push(a),s.attributeValue.push("")})),this._attributeValueFilter.disabled=!1),i=t.match(/(type\:)\S+/g),i&&i.length>0&&i.forEach(((t,i)=>{e=e.replace(t,"");const r=t.toString().indexOf("type:"),a=t.toString().substring(r+5);s.assetType.push(a)})),i=t.match(/(\"[^\"]+\")\:(([^\"\s]+)|(\"[^\"]+\"))/g),i&&i.length>0&&i.forEach(((t,i)=>{e=e.replace(t,"");const r=t.toString().indexOf('":');let a=t.toString().substring(r+2);const n=t.toString().substring(1,r);'"'===a[0]&&'"'===a[a.length-1]&&(a=a.substring(1,a.length-1)),s.attribute.push(n),s.attributeValue.push(a)})),s.asset=e&&e.length>0?e.trim():void 0}return s}formatFilter(e){let t=e.asset?e.asset:"",s=e.asset?" ":"",i=[];return e.assetType.length>0&&e.assetType.forEach((e=>{t+=s+"type:"+e,s=" "})),e.attribute.length>0&&e.attributeValue.length>0&&e.attributeValue.forEach(((r,a)=>{i.push(e.attribute[a]),t+=s+'"'+e.attribute[a]+'":'+r,s=" "})),e.attribute.length>0&&0===e.attributeValue.length&&e.attribute.forEach((e=>{i.includes(e)||(t+=s+'attribute:"'+e+'"',s=" ")})),t}_shouldEnableAttrTypeEvent(e){let t;e.composedPath()&&(t=e.composedPath()[0].value||void 0),this._shouldEnableAttrType(t)}_shouldEnableAttrType(e){this._attributeValueFilter.disabled=!e}applySettingFields(e){if(this._assetTypeFilter?e.assetType=[this._assetTypeFilter]:e.assetType=[],this._attributeNameFilter.value?e.attribute=[this._attributeNameFilter.value]:e.attribute=[],this._attributeNameFilter.value&&this._attributeValueFilter.value){let t=this._attributeValueFilter.value;t.includes(" ")&&(t='"'+t+'"'),e.attributeValue=[t]}else e.attributeValue=[];return e}_filterFromSettings(){let e=this.parseFromInputFilter(),t=this.applySettingFields(e);this._filter=t;let s=this.formatFilter(this._filter);this._filterInput.value=s,this._filterSettingOpen=!1,this._doFiltering()}_onFilterInputEvent(e){let t;e.composedPath()&&(t=e.composedPath()[0].value||void 0),this._onFilterInput(t,!1)}_onFilterInput(e,t){let s=this.parseFromInputFilter(e);Util.objectsEqual(this._filter,s,!0)||(this._filter=s,this._searchInputTimer&&clearTimeout(this._searchInputTimer),t?this._doFiltering():this._searchInputTimer=window.setTimeout((()=>{this._doFiltering()}),350))}_doFiltering(){return __awaiter(this,void 0,void 0,(function*(){if(this._searchInputTimer&&(clearTimeout(this._searchInputTimer),this._searchInputTimer=void 0),this.isConnected&&this._nodes){if(!(this._filter.asset||this._filter.attribute||this._filter.assetType||this._filter.attributeValue))return OrAssetTree_1._forEachNodeRecursive(this._nodes,(e=>{e.notMatchingFilter=!1,e.hidden=!1})),void this.requestUpdate("_nodes");if(this.disabled=!0,this._filter.asset||this._filter.assetType||this._filter.attribute){let e=!1;this._filter.attribute&&(e=!0),this.getMatcher(e).then((e=>{this._nodes&&(this._nodes.forEach((t=>{this.filterTreeNode(t,e)})),this.disabled=!1)}))}}}))}getMatcher(e){return e?this.getMatcherFromQuery():this.getSimpleNameMatcher()}getSimpleNameMatcher(){return __awaiter(this,void 0,void 0,(function*(){return e=>{let t=!0;return this._filter.asset&&(t=t&&e.name.toLowerCase().includes(this._filter.asset.toLowerCase())),this._filter.assetType.length>0&&(t=t&&e.type.toLowerCase()===this._filter.assetType[0].toLowerCase()),t}}))}getMatcherFromQuery(){return __awaiter(this,void 0,void 0,(function*(){let assetCond,attributeCond,assetTypeCond;this._filter.asset&&(assetCond=[{predicateType:"string",match:"CONTAINS",value:this._filter.asset,caseSensitive:!1}]),this._filter.assetType.length>0&&(assetTypeCond=this._filter.assetType),this._filter.attribute.length>0&&(attributeCond={operator:"AND",items:this._filter.attribute.map((e=>({name:{predicateType:"string",match:"EXACT",value:Util.sentenceCaseToCamelCase(e),caseSensitive:!1}})))});const query={select:{attributes:attributeCond?void 0:[]},names:assetCond,types:assetTypeCond,attributes:attributeCond};let response,foundAssetIds;try{response=yield manager.rest.api.AssetResource.queryAssets(query),foundAssetIds=response.data.map((e=>e.id))}catch(e){this._filter.assetType.forEach((e=>{-1===this._assetTypes.findIndex((t=>t.name===e))&&showSnackbar(void 0,"filter.assetTypeDoesNotExist","dismiss")})),foundAssetIds=[]}return asset=>{let attrValueCheck=!0;if(this._filter.attribute.length>0&&this._filter.attributeValue.length>0&&foundAssetIds.includes(asset.id)){let attributeVal=[];this._filter.attributeValue.forEach(((e,t)=>{e.length>0&&attributeVal.push([this._filter.attribute[t],e])}));let matchingAsset=response.data.find((e=>e.id===asset.id));if(matchingAsset&&matchingAsset.attributes)for(let attributeValIndex=0;attributeValIndex<attributeVal.length;attributeValIndex++){let currentAttributeVal=attributeVal[attributeValIndex],atLeastOneAttributeMatchValue=!1;Object.keys(matchingAsset.attributes).forEach((key=>{let attr=matchingAsset.attributes[key];if(attr.name.toLowerCase()===currentAttributeVal[0].toLowerCase()&&attr.value)switch(attr.type){case"number":case"integer":case"long":case"bigInteger":case"bigNumber":case"positiveInteger":case"negativeInteger":case"positiveNumber":case"negativeNumber":let value=currentAttributeVal[1];currentAttributeVal[1].startsWith("=")&&"="!==currentAttributeVal[1][1]&&(value="="+value),/^[0-9]+$/.test(currentAttributeVal[1])&&(value="=="+value);const resultNumberEval=eval(attr.value+value);resultNumberEval&&(atLeastOneAttributeMatchValue=!0);break;case"text":if(attr.value){let e=currentAttributeVal[1];const t="*";let s=e.replace(t,".*");s=s.replace(/"/g,"");let i=attr.value;-1!=i.toLowerCase().indexOf(s.toLowerCase())&&(atLeastOneAttributeMatchValue=!0)}}})),attrValueCheck=atLeastOneAttributeMatchValue}}return foundAssetIds.includes(asset.id)&&attrValueCheck}}))}isAnyFilter(){return void 0!==this._filter.asset||this._filter.assetType.length>0||this._filter.attribute.length>0}filterTreeNode(e,t,s=!1){let i=t(e.asset);e.notMatchingFilter=!i;let r=e.children.map((e=>this.filterTreeNode(e,t,i))).some((e=>e));return i=i||r,e.expanded=r&&e.children.length>0&&this.isAnyFilter(),e.hidden=!i&&!s,i}_onCopyClicked(){return __awaiter(this,void 0,void 0,(function*(){if(1===this._selectedNodes.length)try{const e=yield manager.rest.api.AssetResource.get(this._selectedNodes[0].asset.id);if(!e.data)throw new Error("API returned an invalid response when retrieving the source asset");const t=JSON.parse(JSON.stringify(e.data));t.name+=" copy",delete t.id,delete t.path,delete t.createdOn,delete t.version,Util.dispatchCancellableEvent(this,new OrAssetTreeRequestAddEvent({sourceAsset:this._selectedNodes[0].asset,asset:t})).then((e=>{e.allow&&this.dispatchEvent(new OrAssetTreeAddEvent(e.detail))}))}catch(e){console.error("Failed to copy asset",e),showErrorDialog("Failed to copy asset")}}))}_onAddClicked(){const e=this._getAllowedChildTypes(this._selectedNodes[0]),t=e.filter((e=>"agent"===e.descriptorType)),s=e.filter((e=>"asset"===e.descriptorType)),i=this._selectedNodes&&1===this._selectedNodes.length?this._selectedNodes[0].asset:void 0;let r;r=showDialog((new OrMwcDialog).setHeading(i18next.t("addAsset")).setContent(html`
|
|
71
|
+
<or-add-asset-dialog id="add-panel" .config="${this.config}" .agentTypes="${t}" .assetTypes="${s}" .parent="${i}" @or-add-asset-changed="${e=>{const t=!!e.detail.name&&e.detail.name.trim().length>0&&e.detail.name.trim().length<1024;r.shadowRoot.getElementById("add-btn").disabled=!e.detail.descriptor||!t}}"></or-add-asset-dialog>
|
|
72
|
+
`).setActions([{actionName:"cancel",content:"cancel"},{actionName:"add",content:html`<or-mwc-input id="add-btn" class="button" .type="${InputType.BUTTON}" label="add" disabled></or-mwc-input>`,action:()=>{const e=r.shadowRoot.getElementById("add-panel"),t=e.selectedType,s=e.selectedAttributes,i=e.name.trim(),a=e.parent;if(!t)return;const n={name:i,type:t.name,realm:manager.displayRealm},o=AssetModelUtil.getAssetTypeInfo(t.name);if(!o)return;o.attributeDescriptors&&(n.attributes={},o.attributeDescriptors.filter((e=>!e.optional)).forEach((e=>{n.attributes[e.name]={name:e.name,type:e.type,meta:e.meta?Object.assign({},e.meta):void 0}}))),s&&(null==s||s.forEach((e=>{n.attributes[e.name]={name:e.name,type:e.type,meta:e.meta?Object.assign({},e.meta):void 0}}))),this.selectedIds&&(n.parentId=a?a.id:void 0);const d={asset:n};Util.dispatchCancellableEvent(this,new OrAssetTreeRequestAddEvent(d)).then((e=>{e.allow&&this.dispatchEvent(new OrAssetTreeAddEvent(e.detail))}))}}]).setStyles(html`
|
|
73
|
+
<style>
|
|
74
|
+
.mdc-dialog__content {
|
|
75
|
+
padding: 0 !important;
|
|
76
|
+
}
|
|
77
|
+
</style>
|
|
78
|
+
`).setDismissAction(null))}_onDeleteClicked(){this._selectedNodes.length>0&&Util.dispatchCancellableEvent(this,new OrAssetTreeRequestDeleteEvent(this._selectedNodes)).then((e=>{e.allow&&this._doDelete()}))}_onSearchClicked(){}_onSortClicked(e){this.sortBy=e}_doDelete(){if(!this._selectedNodes||0===this._selectedNodes.length)return;let e=new Set;OrAssetTree_1._forEachNodeRecursive(this._selectedNodes,(t=>{e.add(t.asset)}));const t=Array.from(e).map((e=>e.id)),s=Array.from(e).map((e=>e.name)),i=()=>{this.disabled=!0,manager.rest.api.AssetResource.delete({assetId:t},{paramsSerializer:e=>Qs.stringify(e,{arrayFormat:"repeat"})}).then((e=>{this.refresh(),this.disabled=!1,204!==e.status&&showErrorDialog(i18next.t("deleteAssetsFailed"))})).catch((e=>{this.refresh(),this.disabled=!1,showErrorDialog(i18next.t("deleteAssetsFailed"))}))};showOkCancelDialog(i18next.t("deleteAssets"),i18next.t("deleteAssetsConfirm",{assetNames:s.join(",\n- ")}),i18next.t("delete")).then((e=>{e&&i()}))}_canAdd(){if(this._selectedNodes&&this._selectedNodes.length>1)return!1;const e=this._selectedNodes?this._selectedNodes[0]:void 0;return this._getAllowedChildTypes(e).length>0}_getAllowedChildTypes(e){let t,s;if(this.config&&this.config.add){if(this.config.add.typesProvider){const t=this.config.add.typesProvider(e);if(t)return t}if(this.config.add.typesParent){let i;!e&&this.config.add.typesParent.none?i=this.config.add.typesParent.none:e&&this.config.add.typesParent.assetTypes&&(i=this.config.add.typesParent.assetTypes[e.asset.type]),i||(i=this.config.add.typesParent.default),i&&(t=i.include,s=i.exclude||[])}}return AssetModelUtil.getAssetDescriptors().filter((e=>(!t||t.some((t=>Util.stringMatch(t,e.name))))&&(!s||!s.some((t=>Util.stringMatch(t,e.name))))))}_getSortFunction(){return"createdOn"===this.sortBy?Util.sortByNumber((e=>e.asset[this.sortBy])):Util.sortByString((e=>e.asset[this.sortBy]))}_loadAssets(){const e=this._getSortFunction();if(this.assets)this._loading=!1,this._buildTreeNodes(this.assets,e);else{if(!this._connected)return;if(this._loading)return;if(this._loading=!0,this.dataProvider)this.dataProvider().then((t=>{this._loading=!1,this._buildTreeNodes(t,e)}));else{const t={realm:{name:manager.displayRealm},select:{attributes:[]}};this.assetIds?(t.ids=this.assetIds,t.recursive=!0):this.rootAssets?(t.ids=this.rootAssets.map((e=>e.id)),t.recursive=!0):this.rootAssetIds&&(t.ids=this.rootAssetIds,t.recursive=!0),this._sendEventWithReply({event:{eventType:"read-assets",assetQuery:t}}).then((t=>{this._loading=!1,this._buildTreeNodes(t.assets,e)}))}}}_addEventSubscriptions(){return __awaiter(this,void 0,void 0,(function*(){this.disableSubscribe||(this._subscriptionIds=[yield manager.getEventProvider().subscribeAssetEvents(void 0,!1,(e=>this._onEvent(e)))])}))}onEventsConnect(){this._connected=!0,this._loadAssets()}onEventsDisconnect(){this._connected=!1,this._nodes=void 0}getNodes(){return this._nodes||[]}_onEvent(e){if("assets"!==e.eventType){if("asset"===e.eventType&&this._nodes&&this._nodes.length>0){const t=e;if("READ"===t.cause)return;if("UPDATE"===t.cause&&!t.updatedProperties.includes("name")&&!t.updatedProperties.includes("parentId"))return;const s=[];"DELETE"!==t.cause&&s.push(t.asset),OrAssetTree_1._forEachNodeRecursive(this._nodes,(e=>{e.asset.id!==t.asset.id&&s.push(e.asset)})),this._filterInput.value||this._buildTreeNodes(s,this._getSortFunction()),this.dispatchEvent(new OrAssetTreeAssetEvent(t))}}else{const t=e;this._buildTreeNodes(t.assets,this._getSortFunction())}}_buildTreeNodes(e,t){if(e&&0!==e.length){let s,i;manager.isRestrictedUser()&&e.forEach((t=>{if(t.parentId&&t.path&&void 0===e.find((e=>e.id===t.parentId))){let s=null;for(let i=2;i<t.path.length;i++){const r=t.path[i];if(void 0!==e.find((e=>e.id===r))){s=r;break}}t.reparentId=s}})),this.rootAssetIds?s=this.rootAssetIds:this.rootAssets&&(s=this.rootAssets.map((e=>e.id))),i=s?e.filter((e=>s.indexOf(e.id)>=0||null===e.reparentId)).map((e=>({asset:e}))):e.filter((e=>!e.parentId||null===e.reparentId)).map((e=>({asset:e}))),this.assetsChildren={},e.forEach((e=>{e.parentId&&(this.assetsChildren[e.parentId]||(this.assetsChildren[e.parentId]=[]),this.assetsChildren[e.parentId].push({asset:e})),e.reparentId&&(this.assetsChildren[e.reparentId]||(this.assetsChildren[e.reparentId]=[]),this.assetsChildren[e.reparentId].push({asset:e}))})),i.sort(t),i.forEach((s=>this._buildChildTreeNodes(s,e,t))),this._nodes=i;const r=[];this._expandedNodes.forEach((e=>{OrAssetTree_1._forEachNodeRecursive(this._nodes,(t=>{t.asset&&e.asset&&t.asset.id===e.asset.id&&(t.expanded=!0,r.push(t))}))})),this._expandedNodes=r}else this._nodes=[];this.selectedIds&&this.selectedIds.length>0&&this._updateSelectedNodes(),this.expandAllNodes&&OrAssetTree_1._forEachNodeRecursive(this._nodes,(e=>{e.children&&e.children.length>0&&(e.expanded=!0)}))}_buildChildTreeNodes(e,t,s){let i=this.assetsChildren[e.asset.id];e.children=i?i.sort(s):[],e.children.length>0&&(e.expandable=!0),e.children.forEach((i=>{i.parent=e,this._buildChildTreeNodes(i,t,s)}))}_onDragStart(e){this._dragDropParentId=null;let t=e.currentTarget.getAttribute("node-asset-id");this.selectedIds||(this.selectedIds=[]),t&&this.selectedIds&&!this.selectedIds.includes(t)&&(e.ctrlKey||e.shiftKey||(this.selectedIds=[]),this.selectedIds.push(t))}_onDragEnd(e){const t=e.x,s=e.y;if(null!==this.shadowRoot){let e=this.shadowRoot.getElementById("list");if(e){const i=e.getBoundingClientRect().top,r=e.getBoundingClientRect().bottom,a=e.getBoundingClientRect().left,n=e.getBoundingClientRect().right;if(t<a||t>n||s>r||s<i)return}}this.selectedIds&&this.dispatchEvent(new OrAssetTreeChangeParentEvent(this._dragDropParentId?this._dragDropParentId:void 0,this.selectedIds))}isExpandable(e){return!(!this._nodes||!this.shadowRoot)&&!!this.shadowRoot.querySelector('[node-asset-id="'+e+'"] > .node-name > [data-expandable]')}_onDragOver(e){let t=e.currentTarget;t.classList.add("over");let s=t.getAttribute("node-asset-id");s&&this.isExpandable(s)&&!this._expandTimer&&(this._expandTimer=window.setTimeout((()=>{this.expandNode(s)}),1e3))}expandNode(e){var t;if(this.shadowRoot&&e&&e===this._dragDropParentId){const s=this._findNodeFromAssetId(e);let i=null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector('[node-asset-id="'+e+'"]');i&&s&&!s.expanded&&this._toggleExpanderWithoutEventDispatch(i.firstElementChild.firstElementChild,s)}}_onDragEnter(e){let t=e.currentTarget;t.classList.add("over");let s=t.getAttribute("node-asset-id");this._dragDropParentId=s}_onDragLeave(e){e.currentTarget.classList.remove("over"),clearTimeout(this._expandTimer),this._expandTimer=void 0}_treeNodeTemplate(e,t){const s=AssetModelUtil.getAssetDescriptor(e.asset.type);let i;if(i=e.allChildrenSelected?"checkbox-multiple-marked":e.someChildrenSelected?"checkbox-multiple-marked-outline":"checkbox-multiple-blank-outline",e.hidden)return html``;let r=!1;return e.asset&&e.notMatchingFilter&&(r=!0),e.expanded&&0===e.children.length&&(e.expanded=!1),this.expandedIds&&-1!==this.expandedIds.findIndex((t=>t===e.asset.id))&&(e.expanded=!0),html`
|
|
79
|
+
<li class="asset-list-element" ?data-selected="${e.selected}" ?data-expanded="${e.expanded}" @click="${t=>this._onNodeClicked(t,e)}">
|
|
80
|
+
<div class="in-between-element" node-asset-id="${e.parent?e.parent.asset?e.parent.asset.id:"":void 0}" @dragleave=${e=>{this._onDragLeave(e)}} @dragenter="${e=>this._onDragEnter(e)}" @dragend="${e=>this._onDragEnd(e)}" @dragover="${e=>this._onDragOver(e)}"></div>
|
|
81
|
+
<div class="node-container draggable" node-asset-id="${e.asset?e.asset.id:""}" draggable="true" @dragleave=${e=>{this._onDragLeave(e)}} @dragenter="${e=>this._onDragEnter(e)}" @dragstart="${e=>this._onDragStart(e)}" @dragend="${e=>this._onDragEnd(e)}" @dragover="${e=>this._onDragOver(e)}" style="padding-left: ${22*t}px">
|
|
82
|
+
<div class="node-name">
|
|
83
|
+
<div class="expander" ?data-expandable="${e.expandable}"></div>
|
|
84
|
+
${getAssetDescriptorIconTemplate(s,void 0,void 0,r?"d3d3d3":void 0)}
|
|
85
|
+
<span style="color: ${r?"#d3d3d3;":""}">${e.asset.name}</span>
|
|
86
|
+
${this.checkboxes?html`
|
|
87
|
+
<span class="mdc-list-item__graphic">
|
|
88
|
+
${e.expandable?html`<div class="mdc-checkbox">
|
|
89
|
+
<or-icon class="mdc-checkbox--parent" icon="${i}"></or-icon>
|
|
90
|
+
</div>`:""}
|
|
91
|
+
<div class="mdc-checkbox">
|
|
92
|
+
${e.selected?html`<or-icon icon="checkbox-marked"></or-icon>`:html`<or-icon icon="checkbox-blank-outline"></or-icon>`}
|
|
93
|
+
</div>
|
|
94
|
+
</span>`:""}
|
|
95
|
+
</div>
|
|
96
|
+
</div>
|
|
97
|
+
<ol>
|
|
98
|
+
${!e.children||e.expandable&&!e.expanded?"":e.children.map((e=>this._treeNodeTemplate(e,t+1))).filter((e=>!!e))}
|
|
99
|
+
</ol>
|
|
100
|
+
</li>
|
|
101
|
+
`}static _forEachNodeRecursive(e,t){e&&e.forEach((e=>{t(e),this._forEachNodeRecursive(e.children,t)}))}};__decorate([property({type:Array,reflect:!1})],OrAssetTree.prototype,"assets",void 0),__decorate([property({type:Object})],OrAssetTree.prototype,"assetInfos",void 0),__decorate([property({type:Array})],OrAssetTree.prototype,"_assetIdsOverride",void 0),__decorate([property({type:Array})],OrAssetTree.prototype,"rootAssets",void 0),__decorate([property({type:Array})],OrAssetTree.prototype,"rootAssetIds",void 0),__decorate([property({type:Object})],OrAssetTree.prototype,"dataProvider",void 0),__decorate([property({type:Boolean})],OrAssetTree.prototype,"readonly",void 0),__decorate([property({type:Boolean})],OrAssetTree.prototype,"disabled",void 0),__decorate([property({type:Boolean})],OrAssetTree.prototype,"disableSubscribe",void 0),__decorate([property({type:Array})],OrAssetTree.prototype,"selectedIds",void 0),__decorate([property({type:Boolean})],OrAssetTree.prototype,"showDeselectBtn",void 0),__decorate([property({type:Boolean})],OrAssetTree.prototype,"showSortBtn",void 0),__decorate([property({type:Boolean})],OrAssetTree.prototype,"showFilter",void 0),__decorate([property({type:String})],OrAssetTree.prototype,"sortBy",void 0),__decorate([property({type:Boolean})],OrAssetTree.prototype,"expandAllNodes",void 0),__decorate([property({type:Array})],OrAssetTree.prototype,"expandedIds",void 0),__decorate([property({type:Boolean})],OrAssetTree.prototype,"checkboxes",void 0),__decorate([property({attribute:!1})],OrAssetTree.prototype,"_nodes",void 0),__decorate([state()],OrAssetTree.prototype,"_filter",void 0),__decorate([query("#clearIconContainer")],OrAssetTree.prototype,"_clearIconContainer",void 0),__decorate([query("#filterInput")],OrAssetTree.prototype,"_filterInput",void 0),__decorate([state()],OrAssetTree.prototype,"_filterSettingOpen",void 0),__decorate([state()],OrAssetTree.prototype,"_assetTypes",void 0),__decorate([query("#attributeNameFilter")],OrAssetTree.prototype,"_attributeNameFilter",void 0),__decorate([query("#attributeValueFilter")],OrAssetTree.prototype,"_attributeValueFilter",void 0),__decorate([state()],OrAssetTree.prototype,"_assetTypeFilter",void 0),OrAssetTree=OrAssetTree_1=__decorate([customElement("or-asset-tree")],OrAssetTree);export{OrAssetTree};
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAO,EAAC,IAAI,EAAE,UAAU,EAAiC,MAAM,KAAK,CAAC;AACrE,OAAO,EAAC,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAC,MAAM,mBAAmB,CAAC;AACxE,OAAO,4CAA4C,CAAC;AACpD,OAAO,EAAC,SAAS,EAAkC,MAAM,4CAA4C,CAAC;AACtG,OAAO,qBAAqB,CAAC;AAC7B,OAAO,EAKH,cAAc,EAajB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,0BAA0B,CAAC;AAClC,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAC;AAC9B,OAAO,OAAO,EAAE,EAAgB,SAAS,EAAE,IAAI,EAAC,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAC,8BAA8B,EAAS,MAAM,qBAAqB,CAAC;AAC3E,OAAO,2CAA2C,CAAC;AACnD,OAAO,EAAC,0BAA0B,EAAC,MAAM,2CAA2C,CAAC;AAErF,OAAO,2CAA2C,CAAC;AACnD,OAAO,EAAC,OAAO,EAAC,MAAM,0BAA0B,CAAC;AACjD,OAAO,6CAA6C,CAAC;AAErD,OAAO,EACH,WAAW,EACX,UAAU,EACV,eAAe,EACf,kBAAkB,EACrB,MAAM,6CAA6C,CAAC;AAErD,OAAO,uBAAuB,CAAC;AAC/B,OAAO,EAAC,YAAY,EAAC,MAAM,+CAA+C,CAAC;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AA2C9C,OAAO,EAAC,KAAK,EAAC,CAAC;AAEf,MAAM,OAAO,gCAAiC,SAAQ,WAA2D;IAI7G,YAAY,OAA8B;QACtC,KAAK,CAAC,gCAAgC,CAAC,IAAI,EAAE;YACzC,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE;gBACJ,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,OAAO;aAClB;SACJ,CAAC,CAAC;IACP,CAAC;;AAXsB,qCAAI,GAAG,iCAAiC,CAAC;AAcpE,MAAM,OAAO,yBAA0B,SAAQ,WAAkC;IAI7E,YAAY,MAA6B;QACrC,KAAK,CAAC,yBAAyB,CAAC,IAAI,EAAE;YAClC,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,MAAM;SACjB,CAAC,CAAC;IACP,CAAC;;AARsB,8BAAI,GAAG,yBAAyB,CAAC;AAW5D,MAAM,OAAO,4BAA6B,SAAQ,WAAgB;IAI9D,YAAY,MAA0B,EAAE,SAAmB;QACvD,KAAK,CAAC,4BAA4B,CAAC,IAAI,EAAE;YACrC,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE;gBACJ,QAAQ,EAAE,MAAM;gBAChB,SAAS,EAAE,SAAS;aACvB;SACJ,CAAC,CAAC;IACP,CAAC;;AAXsB,iCAAI,GAAG,6BAA6B,CAAC;AAgBhE,MAAM,OAAO,4BAA6B,SAAQ,WAAoC;IAIlF,YAAY,MAA+B;QACvC,KAAK,CAAC,4BAA4B,CAAC,IAAI,EAAE;YACrC,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,MAAM;SACjB,CAAC,CAAC;IACP,CAAC;;AARsB,iCAAI,GAAG,sBAAsB,CAAC;AAWzD,IAAK,iBAEJ;AAFD,WAAK,iBAAiB;IAClB,2EAAa,CAAA;IAAE,qEAAU,CAAA;IAAC,6EAAc,CAAA;IAAE,+EAAe,CAAA;AAC7D,CAAC,EAFI,iBAAiB,KAAjB,iBAAiB,QAErB;AAOD,MAAM,OAAO,0BAA2B,SAAQ,WAAoD;IAIhG,YAAY,MAAsB;QAC9B,KAAK,CAAC,0BAA0B,CAAC,IAAI,EAAE;YACnC,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE;gBACJ,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,MAAM;aACjB;SACJ,CAAC,CAAC;IACP,CAAC;;AAXsB,+BAAI,GAAG,2BAA2B,CAAC;AAc9D,MAAM,OAAO,mBAAoB,SAAQ,WAA2B;IAIhE,YAAY,MAAsB;QAC9B,KAAK,CAAC,mBAAmB,CAAC,IAAI,EAAE;YAC5B,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,MAAM;SACjB,CAAC,CAAC;IACP,CAAC;;AARsB,wBAAI,GAAG,mBAAmB,CAAC;AAWtD,MAAM,OAAO,6BAA8B,SAAQ,WAAuD;IAItG,YAAY,OAA0B;QAClC,KAAK,CAAC,6BAA6B,CAAC,IAAI,EAAE;YACtC,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE;gBACJ,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,OAAO;aAClB;SACJ,CAAC,CAAC;IACP,CAAC;;AAXsB,kCAAI,GAAG,8BAA8B,CAAC;AAcjE,MAAM,OAAO,qBAAsB,SAAQ,WAAuB;IAI9D,YAAY,UAAsB;QAC9B,KAAK,CAAC,qBAAqB,CAAC,IAAI,EAAE;YAC9B,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,UAAU;SACrB,CAAC,CAAC;IACP,CAAC;;AARsB,0BAAI,GAAG,2BAA2B,CAAC;AAW9D,MAAM,OAAO,iBAAiB;IAM1B;QACI,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;IAC7B,CAAC;CACJ;AAcD,MAAM,CAAC,MAAM,aAAa,GAAG,GAAS,EAAE;IACpC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC;QAC9D,MAAM,EAAE;YACJ,UAAU,EAAE,EAAE;SACjB;QACD,SAAS,EAAE,IAAI;KAClB,CAAC,CAAC;IAEH,IAAG,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC3B,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAK,CAAC,CAAC;IACnD,CAAC;AACL,CAAC,CAAA,CAAA;AAGM,IAAM,WAAW,mBAAjB,MAAM,WAAY,SAAQ,SAAS,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;IAAxD;;QA8BI,aAAQ,GAAY,KAAK,CAAC;QAG1B,aAAQ,GAAY,KAAK,CAAC;QAG1B,qBAAgB,GAAY,KAAK,CAAC;QAMlC,oBAAe,GAAa,IAAI,CAAC;QAGjC,gBAAW,GAAa,IAAI,CAAC;QAG7B,eAAU,GAAY,IAAI,CAAC;QAG3B,WAAM,GAAY,MAAM,CAAC;QAGzB,mBAAc,GAAa,KAAK,CAAC;QAGjC,gBAAW,GAAc,EAAE,CAAC;QAG5B,eAAU,GAAa,KAAK,CAAC;QAO1B,aAAQ,GAAY,KAAK,CAAC;QAC1B,eAAU,GAAY,KAAK,CAAC;QAC5B,mBAAc,GAAsB,EAAE,CAAC;QACvC,mBAAc,GAAsB,EAAE,CAAC;QAIvC,YAAO,GAAsB,IAAI,iBAAiB,EAAE,CAAC;QACrD,sBAAiB,GAAY,SAAS,CAAC;QAMvC,uBAAkB,GAAY,KAAK,CAAC;QAEpC,gBAAW,GAAsB,EAAE,CAAC;QAOpC,sBAAiB,GAAa,EAAE,CAAC;QAEnC,sBAAiB,GAAkB,IAAI,CAAC;QACtC,iBAAY,GAAY,SAAS,CAAC;QACpC,oBAAe,GAAgC,SAAS,CAAC;QAEvD,mBAAc,GAEpB,EAAE,CAAC;IAumDX,CAAC;IAvsDG,MAAM,KAAK,MAAM;QACb,OAAO;YACH,KAAK;SACR,CAAC;IACN,CAAC;IA8FD,IAAW,aAAa;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,CAAC;IAED,IAAW,aAAa,CAAC,KAAwB;QAC7C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAM,CAAC,EAAG,CAAC,CAAC;IAC5D,CAAC;IAEM,iBAAiB;QACpB,KAAK,CAAC,iBAAiB,EAAE,CAAC;IAC9B,CAAC;IAEM,oBAAoB;QACvB,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAEM,OAAO;QACV,+BAA+B;QAC/B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC5B,CAAC;IAEM,kBAAkB,CAAC,IAAqB;QAC3C,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACpC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;YACnB,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAM,CAAC,EAAG,CAAC,EAAE,CAAC;gBAC7C,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAES,cAAc,CAAC,WAAgC,EAAE,aAAwB;QAC/E,IAAI,KAAK,GAAe,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;YACnD,OAAO;gBACH,QAAQ,EAAE;oBACN,gBAAgB,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;iBAC1E;gBACD,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;gBACxC,KAAK,EAAE,UAAU,CAAC,IAAK;gBACvB,IAAI,EAAE,UAAU;aACnB,CAAA;QACL,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAExD,IAAI,aAAa,EAAE,CAAC;YAChB,KAAK,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,EAAE,aAAa,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAIS,eAAe;QACrB,OAAO,IAAI,CAAC,gDAAgD,IAAI,CAAC,QAAQ,WAAW,SAAS,CAAC,IAAI,aAAa,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,8FAA8F,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,mBAAmB,CAAC;IACxS,CAAC;IAES,iBAAiB,CAAC,UAA2B;QACnD,OAAO,IAAI,CAAC,gDAAgD,IAAI,CAAC,QAAQ,WAAW,SAAS,CAAC,IAAI,aAAa,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,iBAAiB,UAAU,CAAC,MAAM,oCAAoC,UAAU,CAAC,IAAI,YAAY,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,mBAAmB,CAAC;IAC5S,CAAC;IAES,eAAe;QACrB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,MAAM,UAAU,GAAgC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAmB,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,gBAAgB,CAAA,CAAC,CAAC,CAAC,CAAC;YAC7I,IAAI,UAAU,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACJ,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;YAClC,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;QAClC,CAAC;IACL,CAAC;IAGS,uBAAuB;;QAC7B,IAAI,UAAU,GAAY,KAAK,CAAC;QAChC,MAAA,IAAI,CAAC,MAAM,0CAAE,OAAO,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC5C,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAChB,UAAU,GAAG,IAAI,CAAC;YACtB,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,UAAU,CAAC;IACtB,CAAC;IAES,MAAM;QACZ,OAAO,IAAI,CAAA;;;;;;;6CAO0B,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,WAAW,SAAS,CAAC,MAAM,yCAAyC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE;6CAC9K,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,WAAW,SAAS,CAAC,MAAM,gDAAgD,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE;6CAC9K,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,WAAW,SAAS,CAAC,MAAM,0CAA0C,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE;6CAC1K,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,SAAS,CAAC,MAAM,wCAAwC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;iDAC9H,SAAS,CAAC,MAAM,2CAA2C,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE;;sBAEnH,0BAA0B,CACpB,IAAI,CAAA,uBAAuB,SAAS,CAAC,MAAM,cAAc,CAAC,IAAI,CAAC,WAAW,uCAAuC,EACjH,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAa,CAAC,CAAC,CAAC,CAAC,EACzG,IAAI,CAAC,MAAM,EACX,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAW,CAAC,CAAC;;;;cAItD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAA;;;+CAGC,IAAI,CAAC,QAAQ;;0CAElB,SAAS,CAAC,IAAI;iDACP,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;;;4CAG/B,CAAC,CAAgB,EAAE,EAAE;YAC3B,gDAAgD;YAChD,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;2DACwB,CAAC,CAAsB,EAAE,EAAE;YAChD,sDAAsD;YACtD,IAAI,CAAC,cAAc,CAAE,CAAC,CAAC,MAAM,CAAC,KAAgB,IAAI,SAAS,EAAE,IAAI,CAAC,CAAC;QACvE,CAAC;;6DAE0B,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,aAAa,GAAG,EAAE;YACxG,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC/B,iCAAiC;gBACjC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAChC,IAAI,SAAS,GAAa,EAAE,CAAC;oBAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,OAAO,CAAC,CAAC;gBACzE,CAAC;gBAED,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpC,IAAI,CAAC,oBAAoB,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAChE,CAAC;gBAED,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9E,IAAI,CAAC,qBAAqB,CAAC,QAAQ,GAAG,KAAK,CAAC;oBAC5C,IAAI,CAAC,qBAAqB,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;gBACtE,CAAC;gBAED,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACtD,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;gBAC/B,CAAC;YACL,CAAC;QACL,CAAC;;6DAEwC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;;0BAE3E,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAClD,IAAI,CAAC,eAAe,EAAE,EACtB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,0BAA0B,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAC,CAAC,EAC1H,SAAS,EACT,CAAC,CAAoB,EAAE,EAAE;YACrB,IAAI,CAAC,gBAAgB,GAAI,CAAY,CAAC;QAC1C,CAAC,EACD,SAAS,EACT,KAAK,EACL,IAAI,EACJ,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA,EACpB;yEACiD,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC;;+CAE5D,SAAS,CAAC,IAAI;;mDAEV,IAAI,CAAC,QAAQ;gDAChB,CAAC,CAAgB,EAAE,EAAE;YAC3B,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC;+DACwB,CAAC,CAAsB,EAAE,EAAE;YAChD,IAAI,CAAC,qBAAqB,CAAE,CAAC,CAAC,MAAM,CAAC,KAAgB,IAAI,SAAS,CAAC,CAAC;QACxE,CAAC;0EACmC,OAAO,CAAC,CAAC,CAAC,4BAA4B,CAAC;;+CAElE,SAAS,CAAC,IAAI;;;;sEAIS,SAAS,CAAC,MAAM,iDAAiD,GAAG,EAAE;YAC5G,mDAAmD;YACnD,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,SAAS,CAAC;YAEpC,IAAI,CAAC,qBAAqB,CAAC,KAAK,GAAG,SAAS,CAAC;YAC7C,IAAI,CAAC,oBAAoB,CAAC,KAAK,GAAG,SAAS,CAAC;YAE5C,IAAI,CAAC,qBAAqB,CAAC,QAAQ,GAAG,IAAI,CAAC;YAE3C,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAE3B,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAiB,EAAE,CAAC;YAEvC,iBAAiB;YACjB,IAAI,CAAC,YAAY,EAAE,CAAC;QACxB,CAAC;wEAC2C,SAAS,CAAC,MAAM,yDAAyD,GAAG,EAAE;YACtH,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC/B,CAAC;;;;aAIhB,CAAC;;cAEA,CAAC,IAAI,CAAC,MAAM;YACV,CAAC,CAAC,IAAI,CAAA;4FACsE;YAC5E,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBACpD,CAAC,CAAC,IAAI,CAAC,qFAAqF;gBAC5F,CAAC,CAAC,IAAI,CAAA;;;8BAGJ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;;0EAEvC,EAAE,gBAAgB,CAAC,EAAa,EAAE,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,gBAAgB,CAAC,EAAa,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,eAAe,CAAC,EAAa,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,gBAAgB,CAAC,EAAa,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;;;;iBAI3R,CACL;;;;;SAKH,CAAC;IACN,CAAC;IAES,WAAW;QACjB,OAAO,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,OAAO,8CAAyB,CAAC;IACtE,CAAC;IAES,YAAY,CAAC,kBAAkC;QACrD,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;QACtD,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC;eAC7B,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC;eACpC,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC9E,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAChC,CAAC;QACL,CAAC;QAED,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,kBAAkB,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC9C,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACrC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAES,oBAAoB;QAC1B,MAAM,mBAAmB,GAAa,EAAE,CAAC;QACzC,MAAM,aAAa,GAAsB,EAAE,CAAC;QAC5C,aAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACrD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,KAAM,CAAC,EAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrE,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAM,CAAC,EAAG,CAAC,CAAC;gBAC1C,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAErB,wBAAwB;gBACxB,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBACzB,OAAO,MAAM,EAAE,CAAC;oBACZ,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACvB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC3B,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YAC1B,CAAC;YAED,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBACzB,OAAO,MAAM,EAAE,CAAC;oBACZ,MAAM,WAAW,GAAsB,EAAE,CAAC;oBAC1C,aAAW,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;wBACzD,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC5B,CAAC,CAAC,CAAC;oBACH,MAAM,CAAC,oBAAoB,GAAG,KAAK,CAAC;oBACpC,MAAM,CAAC,mBAAmB,GAAG,KAAK,CAAC;oBAEnC,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAM,CAAC,EAAG,CAAC,CAAC,EAAE,CAAC;wBACrE,MAAM,CAAC,mBAAmB,GAAG,IAAI,CAAC;oBACtC,CAAC;yBAAM,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAM,CAAC,EAAG,CAAC,CAAC,EAAE,CAAC;wBAC3E,MAAM,CAAC,oBAAoB,GAAG,IAAI,CAAC;oBACvC,CAAC;oBAED,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC3B,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC;QACzC,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,IAAI,CAAC,aAAa,CAAC,IAAI,yBAAyB,CAAC;YAC7C,QAAQ,EAAE,YAAY;YACtB,QAAQ,EAAE,aAAa;SAC1B,CAAC,CAAC,CAAC;IACR,CAAC;IAES,WAAW,CAAC,KAAwB,EAAE,YAAgE;QAC5G,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO;QACX,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;IAC3E,CAAC;IAES,eAAe,CAAC,QAAqB,EAAE,IAA4B;QACzE,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC1B,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;YAE/B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;YACtE,CAAC;YAED,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAc,CAAC,aAAc,CAAC,aAAc,CAAC;YACnE,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;YACtC,IAAI,CAAC,aAAa,CAAC,IAAI,4BAA4B,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACrE,IAAI,CAAC,aAAa,EAAE,CAAC;QACzB,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACO,mCAAmC,CAAC,QAAqB,EAAE,IAA4B;QAC7F,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC1B,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;YAE/B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;YACtE,CAAC;YAED,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAc,CAAC,aAAc,CAAC,aAAc,CAAC;YACnE,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;YACtC,IAAI,CAAC,aAAa,EAAE,CAAC;QACzB,CAAC;IACL,CAAC;IAEO,WAAW,CAAC,IAAqB;QACrC,IAAI,KAAK,GAAa,EAAE,CAAC;QAEzB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;gBAChB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAE1B,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAC5C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAsB,EAAE,EAAE;wBAC7C,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;oBAClD,CAAC,CAAC,CAAC;gBACP,CAAC;gBAED,OAAO,KAAK,CAAC;YACjB,CAAC;YAED,OAAO,EAAE,CAAC;QACd,CAAC;QAED,OAAO,EAAE,CAAC;IACd,CAAC;IAEO,SAAS,CAAC,CAAkB,EAAE,OAAe;QACjD,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,EAAE,CAAC;gBACzB,OAAO,CAAC,CAAC;YACb,CAAC;iBAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC7C,IAAI,SAAS,GAAgC,SAAS,CAAC;gBACvD,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAkB,EAAE,EAAE;oBACtC,IAAI,CAAC,SAAS,EAAE,CAAC;wBACb,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;oBAC3C,CAAC;gBACL,CAAC,CAAC,CAAC;gBACH,OAAO,SAAS,CAAC;YACrB,CAAC;YAED,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IAEO,oBAAoB,CAAC,OAAe;QACxC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,SAAS,GAAgC,SAAS,CAAC;YAEvD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAkB,EAAE,EAAE;gBACvC,IAAI,CAAC,SAAS,EAAE,CAAC;oBACb,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC3C,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,OAAO,SAAS,CAAC;QACrB,CAAC;aAAM,CAAC;YACJ,OAAO,SAAS,CAAC;QACrB,CAAC;IAEL,CAAC;IAES,cAAc,CAAC,GAAsB,EAAE,IAA4B;;QACzE,IAAI,GAAG,IAAI,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAC9B,OAAO;QACX,CAAC;QAED,IAAI,GAAG,EAAE,CAAC;YACN,GAAG,CAAC,cAAc,EAAE,CAAC;QACzB,CAAC;QAED,MAAM,UAAU,GAAG,GAAG,IAAK,GAAG,CAAC,MAAsB,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACzF,MAAM,gBAAgB,GAAG,GAAG,KAAI,MAAA,MAAC,GAAG,CAAC,MAAiB,0CAAE,IAAI,0CAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAA,CAAC;QAE5F,IAAI,UAAU,EAAE,CAAC;YACb,IAAI,CAAC,eAAe,CAAE,GAAG,CAAC,MAAsB,EAAE,IAAI,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACJ,IAAI,SAAS,GAAG,IAAI,CAAC;YAErB,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,KAAI,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,0CAAE,KAAK,CAAA,EAAE,CAAC;gBACnD,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAM,CAAC,IAAK,CAAC,IAAI,CAAC,CAAC;YACzE,CAAC;YAED,iGAAiG;YACjG,IAAI,CAAC,SAAS,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAClC,OAAO;YACX,CAAC;YAED,IAAI,aAAa,GAAsB,EAAE,CAAC;YAE1C,IAAI,IAAI,EAAE,CAAC;gBACP,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC/C,IAAI,MAAM,GAAG,IAAI,CAAC;gBAClB,IAAI,cAAc,GAAG,IAAI,CAAC;gBAC1B,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBAEpH,yCAAyC;gBACzC,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;oBAC1F,cAAc,GAAG,KAAK,CAAC;oBACvB,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAChE,MAAM,GAAG,KAAK,CAAC;oBACnB,CAAC;gBACL,CAAC;gBAED,wBAAwB;gBACxB,IAAI,gBAAgB,EAAE,CAAC;oBACnB,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;oBAExC,MAAM,UAAU,GAAsB,EAAE,CAAC;oBACzC,aAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,EAAE;;wBAC3D,IAAI,cAAc,GAAG,IAAI,CAAC;wBAC1B,+DAA+D;wBAC/D,IAAG,SAAS,KAAI,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,MAAM,0CAAE,KAAK,CAAA,EAAE,CAAC;4BACzC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAM,CAAC,IAAK,CAAC,IAAI,CAAC,CAAC;wBACnF,CAAC;wBACD,IAAG,cAAc,EAAE,CAAC;4BAChB,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBAC/B,CAAC;oBACL,CAAC,CAAC,CAAC;oBAEH,mFAAmF;oBACnF,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;wBACvC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC;wBAClC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAM,CAAC,EAAE,CAAC,CAAC,CAAC;gBAE/F,CAAC;qBAAM,IAAI,cAAc,EAAE,CAAC;oBACxB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;oBAC/C,aAAa,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC3B,CAAC;qBAAM,IAAI,MAAM,EAAE,CAAC;oBAChB,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;wBACZ,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;4BACtB,IAAI,SAAS,GAAa,EAAE,CAAC;4BAC7B,MAAA,IAAI,CAAC,MAAM,0CAAE,OAAO,CAAC,CAAC,CAAkB,EAAE,EAAE;gCACxC,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;4BACtD,CAAC,CAAC,CAAC;4BAEH,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;gCACrH,IAAI,qBAAqB,GAAW,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gCAClE,IAAI,oBAAoB,GAAW,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gCAEjD,IAAI,aAAa,GAAW,SAAS,CAAC,SAAS,CAAC,CAAC,GAAW,EAAE,EAAE,GAAG,OAAO,GAAG,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCAClH,IAAI,QAAQ,GAAW,SAAS,CAAC,SAAS,CAAC,CAAC,GAAW,EAAE,EAAE,GAAG,OAAO,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCAE5G,IAAI,UAAU,GAAW,CAAC,CAAC,CAAC;gCAC5B,IAAI,QAAQ,GAAW,CAAC,CAAC,CAAC;gCAE1B,IAAI,aAAa,GAAG,QAAQ,EAAE,CAAC;oCAC3B,UAAU,GAAG,QAAQ,CAAC;oCACtB,QAAQ,GAAG,aAAa,CAAC;gCAC7B,CAAC;qCAAM,CAAC;oCACJ,UAAU,GAAG,aAAa,CAAC;oCAC3B,QAAQ,GAAG,QAAQ,CAAC;gCACxB,CAAC;gCAED,IAAI,gBAAgB,GAAa,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,GAAG,CAAC,CAAE,CAAC;gCAE5E,IAAI,UAAU,GAAsB,EAAE,CAAC;gCAEvC,gBAAgB,CAAC,OAAO,CAAC,CAAC,eAAuB,EAAE,EAAE;oCACjD,IAAI,SAAS,GAAgC,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;oCAExF,IAAI,SAAS,EAAE,CAAC;wCACZ,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oCAC/B,CAAC;gCACL,CAAC,CAAC,CAAC;gCAEH,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;gCACxC,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;4BACrD,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACJ,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;4BACxC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC7B,CAAC;wBAED,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;oBACnD,CAAC;gBACL,CAAC;qBAAM,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;oBACpB,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;oBACxC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC7B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;oBACrC,CAAC;oBACD,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACnC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,IAAI,gCAAgC,CAAC;gBACrE,QAAQ,EAAE,IAAI,CAAC,aAAa;gBAC5B,QAAQ,EAAE,aAAa;aAC1B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBAChB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAA;gBAC/C,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAES,kBAAkB;QACxB,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAES,oBAAoB,CAAC,UAAmB;QAC9C,IAAI,WAAW,GAAuB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QAC9D,IAAI,UAAU,EAAE,CAAC;YACb,WAAW,GAAG,UAAU,CAAC;QAC7B,CAAC;QACD,IAAI,eAAe,GAAsB,IAAI,iBAAiB,EAAE,CAAC;QAEjE,IAAI,WAAW,EAAE,CAAC;YACd,IAAI,KAAK,GAAW,WAAW,CAAC;YAChC,IAAI,cAAc,GAA4B,WAAW,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAChG,IAAI,cAAc,EAAE,CAAC;gBACjB,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,cAAc,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE;wBACpD,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBAEjC,MAAM,UAAU,GAAW,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;wBAElE,MAAM,WAAW,GAAW,KAAK,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,UAAU,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC;wBAExH,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;wBAC5C,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC5C,CAAC,CAAC,CAAC;gBACP,CAAC;gBAED,IAAI,CAAC,qBAAqB,CAAC,QAAQ,GAAG,KAAK,CAAC;YAChD,CAAC;YAED,cAAc,GAAG,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YACnD,IAAI,cAAc,EAAE,CAAC;gBACjB,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,cAAc,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE;wBACpD,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBAEjC,MAAM,UAAU,GAAW,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wBAE7D,MAAM,WAAW,GAAW,KAAK,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;wBAEpF,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAChD,CAAC,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;YAED,cAAc,GAAG,WAAW,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC/E,IAAI,cAAc,EAAE,CAAC;gBACjB,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,cAAc,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE;wBACpD,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBAEjC,MAAM,UAAU,GAAW,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBAC1D,2CAA2C;wBAC3C,IAAI,WAAW,GAAW,KAAK,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;wBACrE,6CAA6C;wBAC7C,MAAM,YAAY,GAAW,KAAK,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;wBAEvE,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,WAAW,CAAC,WAAW,CAAC,MAAM,GAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;4BACtE,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,EAAC,WAAW,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC;wBAChE,CAAC;wBAED,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBAC7C,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBACrD,CAAC,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;YACD,eAAe,CAAC,KAAK,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACnF,CAAC;QAED,OAAO,eAAe,CAAC;IAC3B,CAAC;IAES,YAAY,CAAC,SAA4B;QAC/C,IAAI,WAAW,GAAW,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAEjE,IAAI,MAAM,GAAW,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAEhD,IAAI,yBAAyB,GAAa,EAAE,CAAC;QAE7C,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,SAAiB,EAAE,EAAE;gBAC9C,WAAW,IAAI,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;gBAC5C,MAAM,GAAG,GAAG,CAAC;YACjB,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxE,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,cAAsB,EAAE,KAAa,EAAE,EAAE;gBACvE,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC3D,WAAW,IAAI,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,cAAc,CAAC;gBACjF,MAAM,GAAG,GAAG,CAAC;YACjB,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1E,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,aAAqB,EAAE,EAAE;gBAClD,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;oBACrD,WAAW,IAAI,MAAM,GAAG,aAAa,GAAG,aAAa,GAAG,GAAG,CAAC;oBAC5D,MAAM,GAAG,GAAG,CAAC;gBACjB,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;QAED,OAAO,WAAW,CAAC;IACvB,CAAC;IAES,0BAA0B,CAAC,CAAgB;QACjD,IAAI,KAAyB,CAAC;QAE9B,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC;YACnB,KAAK,GAAG,CAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAsB,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC;QAC3E,CAAC;QAED,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAES,qBAAqB,CAAC,KAAyB;QACrD,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,qBAAqB,CAAC,QAAQ,GAAG,KAAK,CAAC;QAChD,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,qBAAqB,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC/C,CAAC;IACL,CAAC;IAES,kBAAkB,CAAC,MAAyB;QAClD,IAAK,IAAI,CAAC,gBAAgB,EAAG,CAAC;YAC1B,MAAM,CAAC,SAAS,GAAG,CAAE,IAAI,CAAC,gBAAgB,CAAE,CAAC;QACjD,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;QAC1B,CAAC;QAED,IAAK,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAG,CAAC;YACpC,MAAM,CAAC,SAAS,GAAG,CAAE,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAE,CAAC;QAC3D,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;QAC1B,CAAC;QAED,IAAK,IAAI,CAAC,oBAAoB,CAAC,KAAK,IAAI,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAG,CAAC;YACxE,IAAI,mBAAmB,GAAW,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;YACnE,IAAI,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpC,mBAAmB,GAAG,GAAG,GAAG,mBAAmB,GAAG,GAAG,CAAC;YAC1D,CAAC;YACD,MAAM,CAAC,cAAc,GAAG,CAAE,mBAAmB,CAAE,CAAC;QACpD,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;QAC/B,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAES,mBAAmB;QACzB,IAAI,qBAAqB,GAAsB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE3E,IAAI,iCAAiC,GAAsB,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;QAE1G,IAAI,CAAC,OAAO,GAAG,iCAAiC,CAAC;QAEjD,IAAI,uBAAuB,GAAW,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEtE,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,uBAAuB,CAAC;QAElD,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAEhC,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;IAES,mBAAmB,CAAC,CAAgB;QAC1C,IAAI,KAAyB,CAAC;QAE9B,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC;YACnB,KAAK,GAAG,CAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAsB,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC;QAC3E,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAES,cAAc,CAAC,QAA4B,EAAE,KAAc;QACjE,IAAI,aAAa,GAAsB,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAE3E,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,EAAC,IAAI,CAAC,EAAE,CAAC;YACtD,OAAO;QACX,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC;QAE7B,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;gBAC5C,IAAI,CAAC,YAAY,EAAE,CAAC;YACxB,CAAC,EAAE,GAAG,CAAC,CAAC;QACZ,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,YAAY,EAAE,CAAC;QACxB,CAAC;IACL,CAAC;IAEe,YAAY;;YACxB,sDAAsD;YACtD,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBACrC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;YACvC,CAAC;YAED,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAElC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;oBAC5G,mBAAmB;oBACnB,aAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAO,EAAE,CAAC,IAAI,EAAE,EAAE;wBACrD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;wBAC/B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;oBACxB,CAAC,CAAC,CAAC;oBACH,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBAC7B,OAAO;gBACX,CAAC;gBAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAErB,kFAAkF;gBAClF,oEAAoE;gBACpE,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;oBACzE,IAAI,aAAa,GAAY,KAAK,CAAC;oBAEnC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;wBACzB,aAAa,GAAG,IAAI,CAAC;oBACzB,CAAC;oBAED,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,OAAkC,EAAE,EAAE;wBACvE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;4BACd,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAqB,EAAE,EAAE;gCAC1C,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;4BACvC,CAAC,CAAC,CAAC;4BACH,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;wBAC1B,CAAC;oBACL,CAAC,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;QACL,CAAC;KAAA;IAES,UAAU,CAAC,YAAqB;QACtC,IAAI,YAAY,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACtC,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACvC,CAAC;IACL,CAAC;IAEe,oBAAoB;;YAChC,OAAO,CAAC,KAAK,EAAE,EAAE;gBACb,IAAI,KAAK,GAAY,IAAI,CAAC;gBAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;oBACrB,KAAK,GAAG,KAAK,IAAI,KAAK,CAAC,IAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC1F,CAAC;gBAED,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpC,KAAK,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,IAAK,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC7F,CAAC;gBACD,OAAO,KAAK,CAAC;YACjB,CAAC,CAAC;QACN,CAAC;KAAA;IAEe,mBAAmB;;YAC/B,IAAI,SAAS,GAAkC,SAAS,CAAC;YACzD,IAAI,aAAa,GAA+C,SAAS,CAAC;YAC1E,IAAI,aAAa,GAAyB,SAAS,CAAC;YAEpD,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACrB,SAAS,GAAG,CAAC;wBACT,aAAa,EAAE,QAAQ;wBACvB,KAAK,2CAA0B;wBAC/B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;wBACzB,aAAa,EAAE,KAAK;qBACvB,CAAC,CAAC;YACP,CAAC;YAED,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YAC3C,CAAC;YAED,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,aAAa,GAAG;oBACZ,QAAQ,oCAAwB;oBAChC,KAAK,EACD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,aAAqB,EAAE,EAAE;wBACjD,OAAO;4BACH,IAAI,EAAE;gCACF,aAAa,EAAE,QAAQ;gCACvB,KAAK,qCAAuB;gCAC5B,KAAK,EAAE,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC;gCAClD,aAAa,EAAE,KAAK;6BACvB;yBACJ,CAAC;oBACN,CAAC,CAAC;iBACT,CAAA;YACL,CAAC;YAED,MAAM,KAAK,GAAe;gBACtB,MAAM,EAAE;oBACJ,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;iBAC7C;gBACD,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,aAAa;gBACpB,UAAU,EAAE,aAAa;aAC5B,CAAC;YAIF,IAAI,QAAa,CAAC;YAClB,IAAI,aAAuB,CAAC;YAE7B,IAAI,CAAC;gBACD,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACnE,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,EAAG,CAAC,CAAC;YACnE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACR,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,MAAc,EAAE,EAAE;oBAC9C,IAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,MAAuB,EAAE,EAAE,GAAG,OAAO,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;wBACpG,YAAY,CAAC,SAAS,EAAE,8BAA8B,EAAE,SAAS,CAAC,CAAC;oBACvE,CAAC;gBACL,CAAC,CAAC,CAAC;gBACH,aAAa,GAAG,EAAE,CAAC;YACvB,CAAC;YAED,OAAO,CAAC,KAAK,EAAE,EAAE;gBACb,IAAI,cAAc,GAAG,IAAI,CAAC;gBAE1B,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAG,CAAC,EAAE,CAAC;oBACnH,IAAI,YAAY,GAAuB,EAAE,CAAC;oBAE1C,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,OAAe,EAAE,KAAa,EAAE,EAAE;wBACnE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACrB,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;wBAChE,CAAC;oBACL,CAAC,CAAC,CAAC;oBAEH,IAAI,aAAa,GAAsB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAE,CAAC;oBAE5F,IAAI,aAAa,IAAI,aAAa,CAAC,UAAU,EAAE,CAAC;wBAC5C,KAAK,IAAI,iBAAiB,GAAG,CAAC,EAAE,iBAAiB,GAAG,YAAY,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAG,CAAC;4BAC5F,IAAI,mBAAmB,GAAG,YAAY,CAAC,iBAAiB,CAAC,CAAC;4BAE1D,IAAI,6BAA6B,GAAY,KAAK,CAAC;4BACnD,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAW,EAAE,EAAE;gCAC1D,IAAI,IAAI,GAAmB,aAAc,CAAC,UAAW,CAAC,GAAG,CAAC,CAAC;gCAE3D,qEAAqE;gCACrE,IAAI,IAAI,CAAC,IAAK,CAAC,WAAW,EAAE,KAAK,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oCAClF,QAAQ,IAAI,CAAC,IAAK,EAAE,CAAC;wCACjB,KAAK,QAAQ,CAAC;wCACd,KAAK,SAAS,CAAC;wCACf,KAAK,MAAM,CAAC;wCACZ,KAAK,YAAY,CAAC;wCAClB,KAAK,WAAW,CAAC;wCACjB,KAAK,iBAAiB,CAAC;wCACvB,KAAK,iBAAiB,CAAC;wCACvB,KAAK,gBAAgB,CAAC;wCACtB,KAAK,gBAAgB;4CACjB,IAAI,KAAK,GAAW,mBAAmB,CAAC,CAAC,CAAC,CAAC;4CAC3C,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gDAC9E,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC;4CACxB,CAAC;4CAED,IAAI,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gDAC1C,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;4CACzB,CAAC;4CAED,MAAM,gBAAgB,GAAY,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;4CAE3D,IAAI,gBAAgB,EAAE,CAAC;gDACnB,6BAA6B,GAAG,IAAI,CAAC;4CACzC,CAAC;4CACD,MAAM;wCACV,KAAK,MAAM;4CACP,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gDACb,IAAI,aAAa,GAAW,mBAAmB,CAAC,CAAC,CAAC,CAAC;gDACnD,MAAM,eAAe,GAAW,GAAG,CAAC;gDAEpC,IAAI,WAAW,GAAW,aAAa,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;gDACvE,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,EAAC,EAAE,CAAC,CAAC;gDAE3C,IAAI,kBAAkB,GAAW,IAAI,CAAC,KAAe,CAAC;gDAEtD,IAAI,kBAAkB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;oDAC5E,6BAA6B,GAAG,IAAI,CAAC;gDACzC,CAAC;4CACL,CAAC;4CACD,MAAM;oCACd,CAAC;gCACL,CAAC;4BACL,CAAC,CAAC,CAAC;4BAEH,cAAc,GAAG,6BAA6B,CAAC;wBACnD,CAAC;oBACL,CAAC;gBACL,CAAC;gBAED,OAAO,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAG,CAAC,IAAI,cAAc,CAAC;YAC/D,CAAC,CAAC;QACN,CAAC;KAAA;IAES,WAAW;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IACtH,CAAC;IAES,cAAc,CAAC,WAA4B,EAAE,OAAkC,EAAE,iBAA0B,KAAK;QACtH,IAAI,uBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC,KAAM,CAAC,CAAC;QAC1D,WAAW,CAAC,iBAAiB,GAAG,CAAC,uBAAuB,CAAC;QAEzD,MAAM,wBAAwB,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;YACpE,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,uBAAuB,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QAEH,IAAI,YAAY,GAAY,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAClE,uBAAuB,GAAG,uBAAuB,IAAI,YAAY,CAAC;QAClE,WAAW,CAAC,QAAQ,GAAG,YAAY,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7F,WAAW,CAAC,MAAM,GAAG,CAAC,uBAAuB,IAAI,CAAC,cAAc,CAAC;QACjE,OAAO,uBAAuB,CAAC;IACnC,CAAC;IAEe,cAAc;;YAC1B,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnC,OAAO;YACX,CAAC;YAED,IAAI,CAAC;gBACD,sCAAsC;gBACtC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAM,CAAC,EAAG,CAAC,CAAC;gBAC7F,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;gBACzF,CAAC;gBACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAU,CAAC;gBACjE,KAAK,CAAC,IAAI,IAAI,OAAO,CAAC;gBACtB,OAAO,KAAK,CAAC,EAAE,CAAC;gBAChB,OAAO,KAAK,CAAC,IAAI,CAAC;gBAClB,OAAO,KAAK,CAAC,SAAS,CAAC;gBACvB,OAAO,KAAK,CAAC,OAAO,CAAC;gBAErB,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,IAAI,0BAA0B,CAC9D;oBACI,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAM;oBAC1C,KAAK,EAAE,KAAK;iBACf,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;oBAChB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;wBACf,IAAI,CAAC,aAAa,CAAC,IAAI,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC/D,CAAC;gBACT,CAAC,CAAC,CAAC;YACP,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;gBACzC,eAAe,CAAC,sBAAsB,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC;KAAA;IAES,aAAa;QAEnB,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,OAAO,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,OAAO,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAClH,IAAI,MAAmB,CAAC;QAExB,MAAM,YAAY,GAAG,CAAC,EAAqB,EAAE,EAAE;YAC3C,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC;YAC9G,MAAM,MAAM,GAAG,MAAM,CAAC,UAAW,CAAC,cAAc,CAAC,SAAS,CAAe,CAAC;YAC1E,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC;QAC1D,CAAC,CAAC;QAEF,MAAM,GAAG,UAAU,CAAC,IAAI,WAAW,EAAE;aAChC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;aACjC,UAAU,CAAC,IAAI,CAAA;mEACuC,IAAI,CAAC,MAAM,kBAAkB,UAAU,kBAAkB,UAAU,cAAc,MAAM,4BAA4B,YAAY;iBACjL,CAAC;aACL,UAAU,CAAC;YACJ;gBACI,UAAU,EAAE,QAAQ;gBACpB,OAAO,EAAE,QAAQ;aACpB;YACD;gBACI,UAAU,EAAE,KAAK;gBACjB,OAAO,EAAE,IAAI,CAAA,oDAAoD,SAAS,CAAC,MAAM,wCAAwC;gBACzH,MAAM,EAAE,GAAG,EAAE;oBAET,MAAM,cAAc,GAAG,MAAM,CAAC,UAAW,CAAC,cAAc,CAAC,WAAW,CAAqB,CAAC;oBAC1F,MAAM,UAAU,GAAG,cAAc,CAAC,YAAY,CAAC;oBAC/C,MAAM,0BAA0B,GAAG,cAAc,CAAC,kBAAkB,CAAC;oBACrE,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACxC,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;oBAErC,IAAI,CAAC,UAAU,EAAE,CAAC;wBACd,OAAO;oBACX,CAAC;oBAED,MAAM,KAAK,GAAU;wBACjB,IAAI,EAAE,IAAI;wBACV,IAAI,EAAE,UAAU,CAAC,IAAI;wBACrB,KAAK,EAAE,OAAO,CAAC,YAAY;qBAC9B,CAAC;oBAEF,uBAAuB;oBACvB,MAAM,aAAa,GAAG,cAAc,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAK,CAAC,CAAC;oBAExE,IAAI,CAAC,aAAa,EAAE,CAAC;wBACjB,OAAO;oBACX,CAAC;oBAED,IAAI,aAAa,CAAC,oBAAoB,EAAE,CAAC;wBACrC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;wBACtB,aAAa,CAAC,oBAAoB;6BAC7B,MAAM,CAAC,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC;6BAC9D,OAAO,CAAC,CAAC,mBAAmB,EAAE,EAAE;4BAC7B,KAAK,CAAC,UAAW,CAAC,mBAAmB,CAAC,IAAK,CAAC,GAAG;gCAC3C,IAAI,EAAE,mBAAmB,CAAC,IAAI;gCAC9B,IAAI,EAAE,mBAAmB,CAAC,IAAI;gCAC9B,IAAI,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC,mBAAK,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS;6BAC3D,CAAC;wBACxB,CAAC,CAAC,CAAC;oBACX,CAAC;oBAED,IAAI,0BAA0B,EAAE,CAAC;wBAC7B,0BAA0B,aAA1B,0BAA0B,uBAA1B,0BAA0B,CAAE,OAAO,CAAC,SAAS,CAAC,EAAE;4BAC5C,KAAK,CAAC,UAAW,CAAC,SAAS,CAAC,IAAK,CAAC,GAAG;gCACjC,IAAI,EAAE,SAAS,CAAC,IAAI;gCACpB,IAAI,EAAE,SAAS,CAAC,IAAI;gCACpB,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,mBAAK,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS;6BACzD,CAAA;wBACL,CAAC,CAAC,CAAC;oBACP,CAAC;oBAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;wBACnB,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;oBACpD,CAAC;oBACD,MAAM,MAAM,GAAmB;wBAC3B,KAAK,EAAE,KAAK;qBACf,CAAC;oBACF,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,IAAI,0BAA0B,CAAC,MAAM,CAAC,CAAC;yBACtE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;wBACb,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;4BACf,IAAI,CAAC,aAAa,CAAC,IAAI,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;wBAC/D,CAAC;oBACL,CAAC,CAAC,CAAC;gBACX,CAAC;aACJ;SACJ,CAAC;aACL,SAAS,CAAC,IAAI,CAAA;;;;;;iBAMV,CAAC;aACL,gBAAgB,CAAC,IAAI,CAAC,CAC1B,CAAC;IACN,CAAC;IAES,gBAAgB;QACtB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,IAAI,6BAA6B,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;iBACtF,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBACb,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,SAAS,EAAE,CAAC;gBACrB,CAAC;YACL,CAAC,CAAC,CAAC;QACX,CAAC;IACL,CAAC;IAES,gBAAgB;IAE1B,CAAC;IAES,cAAc,CAAC,MAAc;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAES,SAAS;QAEf,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3D,OAAO;QACX,CAAC;QAED,kDAAkD;QAClD,IAAI,YAAY,GAAG,IAAI,GAAG,EAAS,CAAC;QACpC,aAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE;YAC5D,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,KAAM,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAa,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAG,CAAC,CAAC;QAC5E,MAAM,UAAU,GAAa,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAK,CAAC,CAAC;QAEhF,MAAM,QAAQ,GAAG,GAAG,EAAE;YAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YAErB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC;gBAClC,OAAO,EAAE,QAAQ;aACpB,EAAE;gBACC,gBAAgB,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAC,WAAW,EAAE,QAAQ,EAAC,CAAC;aAC5E,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACjB,+BAA+B;gBAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAEtB,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC1B,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBACrD,CAAC;YACL,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE;gBAChB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtB,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QAEF,2BAA2B;QAC3B,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,qBAAqB,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;aACzI,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;YACT,IAAI,EAAE,EAAE,CAAC;gBACL,QAAQ,EAAE,CAAC;YACf,CAAC;QACL,CAAC,CAAC,CAAC;IACX,CAAC;IAES,OAAO;QACb,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxD,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9E,OAAO,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/D,CAAC;IAES,qBAAqB,CAAC,YAAyC;QACrE,IAAI,kBAAwC,CAAC;QAC7C,IAAI,kBAA4B,CAAC;QAEjC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YACjC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;gBAChC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;gBACjE,IAAI,YAAY,EAAE,CAAC;oBACf,OAAO,YAAY,CAAC;gBACxB,CAAC;YACL,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBAC9B,IAAI,MAAuC,CAAC;gBAE5C,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;oBACpD,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;gBAC9C,CAAC;qBAAM,IAAI,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;oBAChE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,KAAM,CAAC,IAAK,CAAC,CAAC;gBAC/E,CAAC;gBAED,IAAI,CAAC,MAAM,EAAE,CAAC;oBACV,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC;gBACjD,CAAC;gBAED,IAAI,MAAM,EAAE,CAAC;oBACT,kBAAkB,GAAG,MAAM,CAAC,OAAO,CAAC;oBACpC,kBAAkB,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC9C,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,cAAc,CAAC,mBAAmB,EAAE;aACtC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,UAAU,CAAC,IAAK,CAAC,CAAC,CAAC;eACnH,CAAC,CAAC,kBAAkB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,UAAU,CAAC,IAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpH,CAAC;IAES,gBAAgB;QACtB,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YAClB,KAAK,WAAW;gBACZ,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,IAAqB,EAAE,EAAE,CAAE,IAAI,CAAC,KAAc,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC,CAAC;YAC5F;gBACI,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,IAAqB,EAAE,EAAE,CAAE,IAAI,CAAC,KAAc,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC,CAAC;QAChG,CAAC;IACL,CAAC;IAES,WAAW;QAEjB,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE7C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAEf,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACnB,OAAO;YACX,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,OAAO;YACX,CAAC;YAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YAErB,IAAG,IAAI,CAAC,YAAY,EAAE,CAAC;gBACnB,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;oBAC9B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;oBACtB,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;gBAC/C,CAAC,CAAC,CAAA;YAEN,CAAC;iBAAM,CAAC;gBAEJ,MAAM,KAAK,GAAe;oBACtB,KAAK,EAAE;wBACH,IAAI,EAAE,OAAO,CAAC,YAAY;qBAC7B;oBACD,MAAM,EAAE;wBACJ,UAAU,EAAE,EAAE;qBACjB;iBACJ,CAAC;gBAEF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChB,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAC1B,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;gBAC3B,CAAC;qBAAM,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACzB,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAG,CAAC,CAAC;oBACtD,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;gBAC3B,CAAC;qBAAM,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBAC3B,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC;oBAC9B,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;gBAC3B,CAAC;gBACD,IAAI,CAAC,mBAAmB,CAAC;oBACrB,KAAK,EAAE;wBACH,SAAS,EAAE,aAAa;wBACxB,UAAU,EAAE,KAAK;qBACpB;iBACJ,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;oBACX,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;oBACtB,IAAI,CAAC,eAAe,CAAE,EAAkB,CAAC,MAAO,EAAE,YAAY,CAAC,CAAA;gBACnE,CAAC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACpD,CAAC;IACL,CAAC;IAED,+BAA+B;IAElB,sBAAsB;;YAC/B,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACzB,wDAAwD;gBACxD,IAAI,CAAC,gBAAgB,GAAG,CAAC,MAAM,OAAO,CAAC,gBAAgB,EAAG,CAAC,oBAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACxI,CAAC;QACL,CAAC;KAAA;IAEM,eAAe;QAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAEM,kBAAkB;QACrB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC5B,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;IAC7B,CAAC;IAEM,QAAQ,CAAC,KAAkB;QAE9B,IAAI,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,WAAW,GAAG,KAAoB,CAAC;YACzC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,MAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACnE,OAAO;QACX,CAAC;QAED,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAEvE,MAAM,UAAU,GAAG,KAAmB,CAAC;YACvC,IAAI,UAAU,CAAC,KAAK,sCAAyB,EAAE,CAAC;gBAC5C,OAAO;YACX,CAAC;YACD,IAAI,UAAU,CAAC,KAAK,0CAA2B;mBACxC,CAAC,CAAC,UAAU,CAAC,iBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC;uBAC5C,UAAU,CAAC,iBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;gBAC7D,OAAO;YACX,CAAC;YAED,8CAA8C;YAC9C,MAAM,MAAM,GAAY,EAAE,CAAC;YAC3B,IAAI,UAAU,CAAC,KAAK,0CAA2B,EAAE,CAAC;gBAC9C,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAM,CAAC,CAAC;YACnC,CAAC;YACD,aAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACpD,IAAI,IAAI,CAAC,KAAM,CAAC,EAAE,KAAK,UAAU,CAAC,KAAM,CAAC,EAAE,EAAE,CAAC;oBAC1C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAM,CAAC,CAAC;gBAC7B,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,kFAAkF;YAClF,IAAK,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAG,CAAC;gBAC7B,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAC1D,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,IAAI,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAC;QAC9D,CAAC;IACL,CAAC;IAIS,eAAe,CAAC,MAAe,EAAE,YAAgE;QACvG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACrB,CAAC;aAAM,CAAC;YACJ,IAAI,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBAC7B,oEAAoE;gBACpE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBACnB,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;wBAC9F,IAAI,UAAU,GAAG,IAAI,CAAC;wBACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,IAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;4BAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAK,CAAC,CAAC,CAAC,CAAC;4BAClC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,KAAK,SAAS,EAAE,CAAC;gCACtD,UAAU,GAAG,UAAU,CAAC;gCACxB,MAAM;4BACV,CAAC;wBACL,CAAC;wBACA,KAA6B,CAAC,UAAU,GAAG,UAAU,CAAC;oBAC3D,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC;YAED,IAAI,YAAkC,CAAC;YAEvC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YACrC,CAAC;iBAAM,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACzB,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAG,CAAC,CAAC;YACvD,CAAC;YAED,IAAI,UAA6B,CAAC;YAElC,IAAI,YAAY,EAAE,CAAC;gBACf,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAA0B,EAAE,EAAE,CAAC,YAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;oBACzI,OAAO;wBACH,KAAK,EAAE,KAAK;qBACI,CAAC;gBACzB,CAAC,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAA0B,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;oBACnH,OAAO;wBACH,KAAK,EAAE,KAAK;qBACI,CAAC;gBACzB,CAAC,CAAC,CAAC;YACP,CAAC;YAED,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YAEzB,MAAM,CAAC,OAAO,CAAC,CAAC,KAA0B,EAAE,EAAE;gBAC1C,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACjB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACvC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;oBAC7C,CAAC;oBACD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;wBACrC,KAAK,EAAE,KAAK;qBACI,CAAC,CAAC;gBAC1B,CAAC;gBAED,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;oBACnB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;wBACzC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;oBAC/C,CAAC;oBACD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;wBACvC,KAAK,EAAE,KAAK;qBACI,CAAC,CAAC;gBAC1B,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC9B,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;YAC9F,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;YACzB,MAAM,WAAW,GAAsB,EAAE,CAAC;YAC1C,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;gBACvC,aAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAO,EAAE,CAAC,CAAC,EAAE;oBAChD,IAAI,CAAC,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;wBACxE,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;wBAClB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACxB,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC;QACtC,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAChC,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,aAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACpD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACzB,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAES,oBAAoB,CAAC,QAAyB,EAAE,MAA6B,EAAE,YAAgE;QACrJ,IAAI,QAAQ,GAAkC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAM,CAAC,EAAG,CAAC,CAAC;QACvF,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEhE,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;QAC/B,CAAC;QAED,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YACpC,SAAS,CAAC,MAAM,GAAG,QAAQ,CAAC;YAC5B,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,YAAY,CAAC,EAAO;QACvB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAE9B,IAAI,cAAc,GAAG,EAAE,CAAC,aAA4B,CAAC;QACrD,IAAI,UAAU,GAAkB,cAAc,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAE7E,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACpB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QAC1B,CAAC;QAED,IAAI,UAAU,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3E,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;gBAC9B,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YAC1B,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtC,CAAC;IACL,CAAC;IAEM,UAAU,CAAC,EAAO;QACrB,MAAM,cAAc,GAAW,EAAE,CAAC,CAAC,CAAC;QACpC,MAAM,cAAc,GAAW,EAAE,CAAC,CAAC,CAAC;QAEpC,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC3B,IAAI,WAAW,GAAuB,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAE7E,IAAI,WAAW,EAAE,CAAC;gBACd,MAAM,IAAI,GAAW,WAAW,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC;gBAC7D,MAAM,OAAO,GAAW,WAAW,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC;gBACnE,MAAM,KAAK,GAAW,WAAW,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC;gBAC/D,MAAM,MAAM,GAAW,WAAW,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;gBAEjE,IAAI,cAAc,GAAG,KAAK,IAAI,cAAc,GAAG,MAAM,IAAI,cAAc,GAAG,OAAO,IAAI,cAAc,GAAG,IAAI,EAAE,CAAC;oBACzG,OAAO;gBACX,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,aAAa,CAAC,IAAI,4BAA4B,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACzI,CAAC;IACL,CAAC;IAES,YAAY,CAAC,OAAe;QAClC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,IAAI,IAAI,GAAuB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,kBAAkB,GAAG,OAAO,GAAG,qCAAqC,CAAC,CAAC;gBAEnI,IAAI,IAAI,EAAE,CAAC;oBACP,OAAO,IAAI,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACJ,OAAO,KAAK,CAAC;gBACjB,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,WAAW,CAAC,EAAO;QACtB,IAAI,cAAc,GAAG,EAAE,CAAC,aAA4B,CAAC;QAErD,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAErC,IAAI,OAAO,GAAkB,cAAc,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAE1E,IAAI,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAC9D,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;gBACvC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC,EAAE,IAAI,CAAC,CAAC;QACb,CAAC;IACL,CAAC;IAES,UAAU,CAAC,OAAsB;;QACvC,IAAI,IAAI,CAAC,UAAU,IAAI,OAAO,IAAI,OAAO,KAAK,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACnE,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAChD,IAAI,IAAI,GAAuB,MAAA,IAAI,CAAC,UAAU,0CAAE,aAAa,CAAC,kBAAkB,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;YACnG,IAAG,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAEhC,IAAI,CAAC,mCAAmC,CAAC,IAAI,CAAC,iBAAkB,CAAC,iBAAiC,EAAE,IAAI,CAAC,CAAC;YAC9G,CAAC;QACL,CAAC;IACL,CAAC;IAEM,YAAY,CAAC,EAAO;QACxB,IAAI,cAAc,GAAG,EAAE,CAAC,aAA4B,CAAC;QAEpD,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAErC,IAAI,SAAS,GAAkB,cAAc,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAE5E,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;IACvC,CAAC;IAEM,YAAY,CAAC,EAAO;QACvB,IAAI,cAAc,GAAG,EAAE,CAAC,aAA4B,CAAC;QAErD,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAExC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;IAClC,CAAC;IAES,iBAAiB,CAAC,QAAyB,EAAE,KAAa;QAChE,MAAM,UAAU,GAAG,cAAc,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAM,CAAC,IAAK,CAAC,CAAC;QAE5E,IAAI,kBAAkB,CAAC;QACvB,IAAI,QAAQ,CAAC,mBAAmB,EAAE,CAAC;YAC/B,kBAAkB,GAAG,0BAA0B,CAAC;QACpD,CAAC;aAAM,IAAI,QAAQ,CAAC,oBAAoB,EAAE,CAAC;YACvC,kBAAkB,GAAG,kCAAkC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACJ,kBAAkB,GAAG,iCAAiC,CAAC;QAC3D,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO,IAAI,CAAA,EAAE,CAAC;QAClB,CAAC;QAED,IAAI,8BAA8B,GAAY,KAAK,CAAC;QAEpD,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YAC/C,8BAA8B,GAAG,IAAI,CAAC;QAC1C,CAAC;QAED,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtD,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC9B,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,QAAgB,EAAE,EAAE,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,KAAM,CAAC,EAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC5H,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC7B,CAAC;QAED,OAAO,IAAI,CAAA;6DAC0C,QAAQ,CAAC,QAAQ,qBAAqB,QAAQ,CAAC,QAAQ,aAAa,CAAC,GAAe,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC;iEACvH,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAE,CAAC,CAAC,CAAC,SAAS,gBAAgB,CAAC,EAAa,EAAE,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,gBAAgB,CAAC,EAAa,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,eAAe,CAAC,EAAa,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,gBAAgB,CAAC,EAAa,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;uEAChT,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iCAAiC,CAAC,EAAa,EAAE,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,gBAAgB,CAAC,EAAa,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,iBAAiB,CAAC,EAAa,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,eAAe,CAAC,EAAa,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,gBAAgB,CAAC,EAAa,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,0BAA0B,KAAK,GAAG,EAAE;;kEAE1X,QAAQ,CAAC,UAAU;0BAC3D,8BAA8B,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,8BAA8B,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;8CACrG,8BAA8B,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,KAAM,CAAC,IAAI;0BAC7F,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAA;;kCAEd,QAAQ,CAAC,UAAU;YACjB,CAAC,CAAC,IAAI,CAAA;0FACgD,kBAAkB;+CAC7D;YACX,CAAC,CAAC,EAAE;;sCAEF,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAA,4CAA4C,CAAA,CAAC,CAAC,IAAI,CAAA,mDAAmD;;oCAE/H;YACZ,CAAC,CAAC,EAAE;;;;sBAIN,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;;;SAG1L,CAAC;IACN,CAAC;IAES,MAAM,CAAC,qBAAqB,CAAC,KAAwB,EAAE,EAAmC;QAChG,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO;QACX,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACnB,EAAE,CAAC,IAAI,CAAC,CAAC;YACT,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACP,CAAC;CACJ,CAAA;AA7rDU;IADN,QAAQ,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAC,CAAC;2CAChB;AAGjB;IADN,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;+CACW;AAG7B;IADN,QAAQ,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC;sDACY;AAG7B;IADN,QAAQ,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC;+CACI;AAGrB;IADN,QAAQ,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC;iDACO;AAGxB;IADN,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;iDACoB;AAGtC;IADN,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;6CACO;AAG1B;IADN,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;6CACO;AAG1B;IADN,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;qDACe;AAGlC;IADN,QAAQ,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC;gDACM;AAGvB;IADN,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;oDACc;AAGjC;IADN,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;gDACU;AAG7B;IADN,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;+CACQ;AAG3B;IADN,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;2CACO;AAGzB;IADN,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;mDACc;AAGjC;IADN,QAAQ,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC;gDACW;AAG5B;IADN,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;+CACU;AAK1B;IADT,QAAQ,CAAC,EAAC,SAAS,EAAE,KAAK,EAAC,CAAC;2CACQ;AAS3B;IADT,KAAK,EAAE;4CACuD;AAGrD;IADT,KAAK,CAAC,qBAAqB,CAAC;wDACe;AAElC;IADT,KAAK,CAAC,cAAc,CAAC;iDACc;AAE1B;IADT,KAAK,EAAE;uDACsC;AAEpC;IADT,KAAK,EAAE;gDACsC;AAEpC;IADT,KAAK,CAAC,sBAAsB,CAAC;yDACc;AAElC;IADT,KAAK,CAAC,uBAAuB,CAAC;0DACc;AAEnC;IADT,KAAK,EAAE;qDAC4B;AAzF3B,WAAW;IADvB,aAAa,CAAC,eAAe,CAAC;GAClB,WAAW,CAysDvB"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { LitElement } from "lit";
|
|
2
|
+
import { AgentDescriptor, Asset, AssetDescriptor, AttributeDescriptor } from "@openremote/model";
|
|
3
|
+
import "@openremote/or-mwc-components/or-mwc-input";
|
|
4
|
+
import { AssetTreeConfig } from "./index";
|
|
5
|
+
import { ListItem, OrMwcList } from "@openremote/or-mwc-components/or-mwc-list";
|
|
6
|
+
import { OrMwcInput } from "@openremote/or-mwc-components/or-mwc-input";
|
|
7
|
+
export type OrAddAssetDetail = {
|
|
8
|
+
name: string | undefined;
|
|
9
|
+
descriptor: AssetDescriptor | AgentDescriptor | undefined;
|
|
10
|
+
};
|
|
11
|
+
export declare class OrAddChangedEvent extends CustomEvent<OrAddAssetDetail> {
|
|
12
|
+
static readonly NAME = "or-add-asset-changed";
|
|
13
|
+
constructor(addAssetDetail: OrAddAssetDetail);
|
|
14
|
+
}
|
|
15
|
+
declare global {
|
|
16
|
+
export interface HTMLElementEventMap {
|
|
17
|
+
[OrAddChangedEvent.NAME]: OrAddChangedEvent;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export declare class OrAddAssetDialog extends LitElement {
|
|
21
|
+
config: AssetTreeConfig;
|
|
22
|
+
agentTypes: AgentDescriptor[];
|
|
23
|
+
assetTypes: AssetDescriptor[];
|
|
24
|
+
parent?: Asset;
|
|
25
|
+
selectedType?: AgentDescriptor | AssetDescriptor;
|
|
26
|
+
selectedAttributes: AttributeDescriptor[];
|
|
27
|
+
protected showParentAssetSelector: boolean;
|
|
28
|
+
selectedChildAssetType: string;
|
|
29
|
+
name: string;
|
|
30
|
+
protected nameInput: OrMwcInput;
|
|
31
|
+
protected agentList?: OrMwcList;
|
|
32
|
+
protected assetList?: OrMwcList;
|
|
33
|
+
protected parentAssetList?: OrMwcList;
|
|
34
|
+
static get styles(): import("lit").CSSResult;
|
|
35
|
+
constructor();
|
|
36
|
+
protected render(): import("lit-html").TemplateResult<1>;
|
|
37
|
+
protected getTypeTemplate(descriptor: AgentDescriptor | AssetDescriptor, parentStr: string): false | import("lit-html").TemplateResult<1>;
|
|
38
|
+
protected onNameChanged(name: string): void;
|
|
39
|
+
protected onTypeChanged(isAgent: boolean, listItem: ListItem): Promise<void>;
|
|
40
|
+
protected onModified(): void;
|
|
41
|
+
protected _onToggleParentAssetSelector(): void;
|
|
42
|
+
protected _onDeselectClicked(): void;
|
|
43
|
+
}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
var __decorate=this&&this.__decorate||function(e,t,o,i){var r,s=arguments.length,a=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,o):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,o,i);else for(var n=e.length-1;n>=0;n--)(r=e[n])&&(a=(s<3?r(a):s>3?r(t,o,a):r(t,o))||a);return s>3&&a&&Object.defineProperty(t,o,a),a},__awaiter=this&&this.__awaiter||function(e,t,o,i){return new(o||(o=Promise))((function(r,s){function a(e){try{l(i.next(e))}catch(e){s(e)}}function n(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?r(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(a,n)}l((i=i.apply(e,t||[])).next())}))};import{css,html,LitElement,unsafeCSS}from"lit";import{customElement,property,query}from"lit/decorators.js";import{AssetModelUtil}from"@openremote/model";import"@openremote/or-mwc-components/or-mwc-input";import{OrAssetTreeSelectionEvent}from"./index";import{createListGroup}from"@openremote/or-mwc-components/or-mwc-list";import{i18next}from"@openremote/or-translate";import{DefaultColor3,DefaultColor5,Util}from"@openremote/core";import{InputType}from"@openremote/or-mwc-components/or-mwc-input";export class OrAddChangedEvent extends CustomEvent{constructor(e){super(OrAddChangedEvent.NAME,{bubbles:!0,composed:!0,detail:e})}}OrAddChangedEvent.NAME="or-add-asset-changed";let OrAddAssetDialog=class extends LitElement{static get styles(){return css`
|
|
2
|
+
#name-wrapper {
|
|
3
|
+
display: flex;
|
|
4
|
+
flex-direction: column;
|
|
5
|
+
margin-top: 12px;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
#toggle-parent-selector,
|
|
9
|
+
#remove-parent {
|
|
10
|
+
flex: 0 0 50px;
|
|
11
|
+
margin: 4px 0 0 5px;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
#name-input,
|
|
15
|
+
#parent-wrapper {
|
|
16
|
+
margin: 10px 0;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
#parent-wrapper {
|
|
20
|
+
display: flex;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
#parent {
|
|
24
|
+
flex: 1 1 auto;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
#parent-selector {
|
|
28
|
+
max-width: 250px;
|
|
29
|
+
border-left: 1px solid var(--or-app-color5, ${unsafeCSS(DefaultColor5)});
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
#mdc-dialog-form-add {
|
|
33
|
+
display: flex;
|
|
34
|
+
height: 600px;
|
|
35
|
+
width: 1000px;
|
|
36
|
+
border-style: solid;
|
|
37
|
+
border-color: var(--or-app-color5, ${unsafeCSS(DefaultColor5)});
|
|
38
|
+
border-width: 1px 0;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.msg {
|
|
42
|
+
display: flex;
|
|
43
|
+
justify-content: center;
|
|
44
|
+
align-items: center;
|
|
45
|
+
text-align: center;
|
|
46
|
+
height: 100%;
|
|
47
|
+
font-family: "Segoe UI", Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
|
|
48
|
+
font-size: 14px;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
#asset-type-option-container {
|
|
52
|
+
padding: 15px;
|
|
53
|
+
flex: 1 1 auto;
|
|
54
|
+
overflow: auto;
|
|
55
|
+
max-width: 100%;
|
|
56
|
+
font-size: 16px;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
#type-list {
|
|
60
|
+
width: 260px;
|
|
61
|
+
overflow: auto;
|
|
62
|
+
text-transform: capitalize;
|
|
63
|
+
border-right: 1px solid var(--or-app-color5, ${unsafeCSS(DefaultColor5)});
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
#type-title {
|
|
67
|
+
display: flex;
|
|
68
|
+
align-items: center;
|
|
69
|
+
margin: 9px 4px;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
#type-description {
|
|
73
|
+
text-transform: capitalize;
|
|
74
|
+
color: var(--or-app-color3, ${unsafeCSS(DefaultColor3)});
|
|
75
|
+
margin-left: 10px;
|
|
76
|
+
font-size: 18px;
|
|
77
|
+
font-weight: bold;
|
|
78
|
+
font-family: "Segoe UI", Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.heading,
|
|
82
|
+
.mdc-list-group__subheader {
|
|
83
|
+
text-transform: uppercase;
|
|
84
|
+
font-family: "Segoe UI", Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
|
|
85
|
+
font-weight: bolder;
|
|
86
|
+
line-height: 1em;
|
|
87
|
+
color: var(--or-app-color3, ${unsafeCSS(DefaultColor3)});
|
|
88
|
+
letter-spacing: 0.025em;
|
|
89
|
+
font-size: 14px;
|
|
90
|
+
margin: 20px 0 10px;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.mdc-list-group__subheader {
|
|
94
|
+
margin: 20px 0 0 16px;
|
|
95
|
+
}
|
|
96
|
+
`}constructor(){super(),this.selectedAttributes=[],this.showParentAssetSelector=!1,this.selectedChildAssetType="",this.name="New Asset",this.addEventListener(OrAssetTreeSelectionEvent.NAME,(e=>{this.parent=e.detail.newNodes[0].asset}))}render(){const e=e=>e.map((e=>({styleMap:{"--or-icon-fill":e.colour?"#"+e.colour:"unset"},icon:e.icon,text:Util.getAssetTypeLabel(e),value:e.name,data:e}))).sort(Util.sortByString((e=>e.text))),t=e(this.agentTypes),o=e(this.assetTypes),i=[];t.length>0&&i.push({heading:i18next.t("agents"),list:html`<or-mwc-list @or-mwc-list-changed="${e=>{1===e.detail.length&&this.onTypeChanged(!0,e.detail[0])}}" .listItems="${t}" id="agent-list"></or-mwc-list>`}),o.length>0&&i.push({heading:i18next.t("assets"),list:html`<or-mwc-list @or-mwc-list-changed="${e=>{1===e.detail.length&&this.onTypeChanged(!1,e.detail[0])}}" .listItems="${o}" id="asset-list"></or-mwc-list>`});const r=this.parent?this.parent.name+" ("+this.parent.id+")":i18next.t("none");return html`
|
|
97
|
+
<div class="col">
|
|
98
|
+
<form id="mdc-dialog-form-add" class="row">
|
|
99
|
+
<div id="type-list" class="col">
|
|
100
|
+
${createListGroup(i)}
|
|
101
|
+
</div>
|
|
102
|
+
<div id="asset-type-option-container" class="col">
|
|
103
|
+
${this.selectedType?this.getTypeTemplate(this.selectedType,r):html`<div class="msg"><or-translate value="noAssetTypeSelected"></or-translate></div>`}
|
|
104
|
+
</div>
|
|
105
|
+
${this.showParentAssetSelector?html`<or-asset-tree id="parent-selector" class="col" .showDeselectBtn="${!1}" .showSortBtn="${!1}" selectedNodes readonly></or-asset-tree>`:html``}
|
|
106
|
+
</form>
|
|
107
|
+
</div>
|
|
108
|
+
`}getTypeTemplate(e,t){var o,i;if(!e.name)return!1;const r=AssetModelUtil.getAssetTypeInfo(e.name),s=null===(o=null==r?void 0:r.attributeDescriptors)||void 0===o?void 0:o.filter((e=>!e.optional)),a=null===(i=null==r?void 0:r.attributeDescriptors)||void 0===i?void 0:i.filter((e=>!!e.optional));return html`
|
|
109
|
+
<div id="type-title">
|
|
110
|
+
<or-icon style="--or-icon-fill: ${e.colour?"#"+e.colour:"unset"}" id="type-icon" .icon="${e.icon}"></or-icon>
|
|
111
|
+
<or-translate id="type-description" .value="${Util.getAssetTypeLabel(e)}"></or-translate>
|
|
112
|
+
</div>
|
|
113
|
+
<div id="name-wrapper">
|
|
114
|
+
<or-mwc-input id="name-input" .type="${InputType.TEXT}" min="1" max="1023" required .label="${i18next.t("name")}" .value="${this.name}" @or-mwc-input-changed="${e=>this.onNameChanged(e.detail.value)}"></or-mwc-input>
|
|
115
|
+
<div id="parent-wrapper">
|
|
116
|
+
<or-mwc-input id="parent" .type="${InputType.TEXT}" readonly .label="${i18next.t("parent")}" .value="${t}" @click="${()=>this._onToggleParentAssetSelector()}"></or-mwc-input>
|
|
117
|
+
<or-mwc-input id="remove-parent" ?disabled="${!this.parent}" type="${InputType.BUTTON}" icon="close" @or-mwc-input-changed="${()=>this._onDeselectClicked()}"></or-mwc-input>
|
|
118
|
+
<or-mwc-input id="toggle-parent-selector" icon="${this.showParentAssetSelector?"pencil-off":"pencil"}" type="${InputType.BUTTON}" @or-mwc-input-changed="${()=>this._onToggleParentAssetSelector()}"></or-mwc-input>
|
|
119
|
+
</div>
|
|
120
|
+
</div>
|
|
121
|
+
|
|
122
|
+
${s?html`
|
|
123
|
+
<div>
|
|
124
|
+
<div class="heading">${i18next.t("attribute_plural")}</div>
|
|
125
|
+
<div style="display: grid">
|
|
126
|
+
${s.sort(Util.sortByString((e=>e.name))).map((e=>html`
|
|
127
|
+
<or-mwc-input .type="${InputType.CHECKBOX}" .label="${Util.getAttributeLabel(void 0,e,void 0,!0)}"
|
|
128
|
+
.disabled="${!0}" .value="${!0}"></or-mwc-input>
|
|
129
|
+
`))}
|
|
130
|
+
</div>
|
|
131
|
+
`:html``}
|
|
132
|
+
|
|
133
|
+
${a?html`
|
|
134
|
+
<div>
|
|
135
|
+
<div class="heading">${i18next.t("optional_attributes")}</div>
|
|
136
|
+
<div style="display: grid">
|
|
137
|
+
${a.sort(Util.sortByString((e=>e.name))).map((e=>html`
|
|
138
|
+
<or-mwc-input .type="${InputType.CHECKBOX}" .label="${Util.getAttributeLabel(void 0,e,void 0,!0)}"
|
|
139
|
+
.value="${this.selectedAttributes.find((t=>t===e))}"
|
|
140
|
+
@or-mwc-input-changed="${t=>t.detail.value?this.selectedAttributes.push(e):this.selectedAttributes.splice(this.selectedAttributes.findIndex((t=>t===e)),1)}"></or-mwc-input>
|
|
141
|
+
`))}
|
|
142
|
+
</div>
|
|
143
|
+
</div>
|
|
144
|
+
`:html``}
|
|
145
|
+
`}onNameChanged(e){this.name=e,this.onModified()}onTypeChanged(e,t){return __awaiter(this,void 0,void 0,(function*(){yield this.updateComplete,this.selectedAttributes=[],this.selectedType=t.data;const o=e?this.assetList:this.agentList;o&&(o.values=void 0),this.onModified()}))}onModified(){this.dispatchEvent(new OrAddChangedEvent({name:this.name,descriptor:this.selectedType}))}_onToggleParentAssetSelector(){this.showParentAssetSelector=!this.showParentAssetSelector}_onDeselectClicked(){this.parent=void 0}};__decorate([property({attribute:!1})],OrAddAssetDialog.prototype,"config",void 0),__decorate([property({attribute:!1})],OrAddAssetDialog.prototype,"agentTypes",void 0),__decorate([property({attribute:!1})],OrAddAssetDialog.prototype,"assetTypes",void 0),__decorate([property({attribute:!1})],OrAddAssetDialog.prototype,"parent",void 0),__decorate([property({attribute:!1})],OrAddAssetDialog.prototype,"selectedType",void 0),__decorate([property({attribute:!1})],OrAddAssetDialog.prototype,"selectedAttributes",void 0),__decorate([property({attribute:!1})],OrAddAssetDialog.prototype,"showParentAssetSelector",void 0),__decorate([property({attribute:!1})],OrAddAssetDialog.prototype,"selectedChildAssetType",void 0),__decorate([query("#name-input")],OrAddAssetDialog.prototype,"nameInput",void 0),__decorate([query("#agent-list")],OrAddAssetDialog.prototype,"agentList",void 0),__decorate([query("#asset-list")],OrAddAssetDialog.prototype,"assetList",void 0),__decorate([query("#parent-asset-list")],OrAddAssetDialog.prototype,"parentAssetList",void 0),OrAddAssetDialog=__decorate([customElement("or-add-asset-dialog")],OrAddAssetDialog);export{OrAddAssetDialog};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"or-add-asset-dialog.js","sourceRoot":"","sources":["../src/or-add-asset-dialog.ts"],"names":[],"mappings":"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"}
|
package/lib/style.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const style: import("lit").CSSResult;
|
package/lib/style.js
ADDED
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
import{css,unsafeCSS}from"lit";import{DefaultColor1,DefaultColor2,DefaultColor4,DefaultColor5,DefaultColor8}from"@openremote/core";import{mdiChevronRight}from"@mdi/js";import{mdiChevronDown}from"@mdi/js";export const style=css`
|
|
2
|
+
|
|
3
|
+
:host {
|
|
4
|
+
--internal-or-asset-tree-header-color: var(--or-asset-tree-header-color, var(--or-app-color4, ${unsafeCSS(DefaultColor4)}));
|
|
5
|
+
--internal-or-asset-tree-header-text-color: var(--or-asset-tree-header-text-color, var(--or-app-color8, ${unsafeCSS(DefaultColor8)}));
|
|
6
|
+
--internal-or-asset-tree-header-menu-background-color: var(--or-asset-tree-header-menu-background-color, var(--internal-or-asset-tree-header-text-color));
|
|
7
|
+
--internal-or-asset-tree-header-menu-text-color: var(--or-asset-tree-header-menu-text-color, inherit);
|
|
8
|
+
--internal-or-asset-tree-header-height: var(--or-asset-tree-header-height, 48px);
|
|
9
|
+
--internal-or-asset-tree-background-color: var(--or-asset-tree-background-color, var(--or-app-color1, ${unsafeCSS(DefaultColor1)}));
|
|
10
|
+
--internal-or-asset-tree-text-color: var(--or-asset-tree-text-color, inherit);
|
|
11
|
+
--internal-or-asset-tree-item-height: var(--or-asset-tree-item-height, 24px);
|
|
12
|
+
--internal-or-asset-tree-item-padding: var(--or-asset-tree-item-padding, 10px);
|
|
13
|
+
--internal-or-asset-tree-selected-background-color: var(--or-asset-tree-selected-background-color, var(--or-app-color2, ${unsafeCSS(DefaultColor2)}));
|
|
14
|
+
--internal-or-asset-tree-selected-color: var(--or-asset-tree-selected-color, var(--or-app-color4, ${unsafeCSS(DefaultColor4)}));
|
|
15
|
+
--internal-or-asset-tree-button-color: var(--or-asset-tree-button-color, var(--or-app-color4, ${unsafeCSS(DefaultColor4)}));
|
|
16
|
+
--internal-or-asset-tree-line-color: var(--or-asset-tree-line-color, var(--or-app-color5, ${unsafeCSS(DefaultColor5)}));
|
|
17
|
+
|
|
18
|
+
display: flex;
|
|
19
|
+
flex-direction: column;
|
|
20
|
+
height: 100%;
|
|
21
|
+
width: 100%;
|
|
22
|
+
background-color: var(--internal-or-asset-tree-background-color);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
*[hidden] {
|
|
26
|
+
display: none;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
button {
|
|
30
|
+
background-color: var(--internal-or-asset-tree-button-color);
|
|
31
|
+
color: var(--internal-or-asset-tree-background-color);
|
|
32
|
+
--or-icon-width: 20px;
|
|
33
|
+
--or-icon-height: 20px;
|
|
34
|
+
--or-icon-fill: var(--internal-or-asset-tree-background-color);
|
|
35
|
+
border: none;
|
|
36
|
+
padding: 0 6px;
|
|
37
|
+
display: inline-block;
|
|
38
|
+
cursor: pointer;
|
|
39
|
+
opacity: 0.8;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
button:focus, button:hover {
|
|
43
|
+
outline: 0;
|
|
44
|
+
opacity: 1;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
#header {
|
|
48
|
+
background-color: var(--internal-or-asset-tree-header-color);
|
|
49
|
+
display: flex;
|
|
50
|
+
align-items: center;
|
|
51
|
+
width: 100%;
|
|
52
|
+
height: var(--internal-or-asset-tree-header-height);
|
|
53
|
+
border-bottom: 1px solid ${unsafeCSS(DefaultColor5)};
|
|
54
|
+
z-index: 1000;
|
|
55
|
+
line-height: var(--internal-or-asset-tree-header-height);
|
|
56
|
+
color: var(--internal-or-asset-tree-header-text-color);
|
|
57
|
+
--or-icon-fill: var(--internal-or-asset-tree-header-text-color);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
#title-container {
|
|
61
|
+
flex: 1 0 auto;
|
|
62
|
+
flex-direction: row;
|
|
63
|
+
text-transform: capitalize;
|
|
64
|
+
padding-left: 15px;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
#title {
|
|
68
|
+
font-weight: 500;
|
|
69
|
+
font-size: 16px;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
#realm-picker {
|
|
73
|
+
outline: none;
|
|
74
|
+
margin-left: 5px;
|
|
75
|
+
text-transform: none;
|
|
76
|
+
font-size: 14px;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
#header-btns {
|
|
80
|
+
display: flex;
|
|
81
|
+
flex-direction: row;
|
|
82
|
+
padding-right: 5px;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
#list-container {
|
|
86
|
+
flex: 1 1 auto;
|
|
87
|
+
overflow: auto;
|
|
88
|
+
font-size: 14px;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
#list {
|
|
92
|
+
margin: 0;
|
|
93
|
+
color: var(--internal-or-asset-tree-text-color);
|
|
94
|
+
padding: 0;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
#list, ol {
|
|
98
|
+
list-style-type: none;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
li ol {
|
|
102
|
+
padding: 0;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
#list li:not([data-expanded]) > ol {
|
|
106
|
+
display: none;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
#list li[data-selected] > .node-container, #list li > .node-container:hover {
|
|
110
|
+
background-color: var(--internal-or-asset-tree-selected-background-color);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
#list li[data-selected] > .node-container {
|
|
114
|
+
border-left-color: var(--internal-or-asset-tree-selected-color);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.asset-list-element .over {
|
|
118
|
+
background-color: ${unsafeCSS(DefaultColor5)};
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.in-between-element {
|
|
122
|
+
height: 3px;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.end-element {
|
|
126
|
+
height: 15px;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.node-container {
|
|
130
|
+
display: flex;
|
|
131
|
+
border-left: 4px solid transparent;
|
|
132
|
+
user-select: none;
|
|
133
|
+
cursor: pointer;
|
|
134
|
+
height: var(--internal-or-asset-tree-item-height);
|
|
135
|
+
line-height: var(--internal-or-asset-tree-item-height);
|
|
136
|
+
padding-top: var(--internal-or-asset-tree-item-padding);
|
|
137
|
+
padding-bottom: var(--internal-or-asset-tree-item-padding);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
.node-container > * {
|
|
141
|
+
flex: 0 0 auto;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.expander {
|
|
145
|
+
width: 36px;
|
|
146
|
+
height: 100%;
|
|
147
|
+
display: inline-block;
|
|
148
|
+
background-repeat: no-repeat;
|
|
149
|
+
background-size: 18px;
|
|
150
|
+
background-position: center;
|
|
151
|
+
|
|
152
|
+
margin-left: -4px;
|
|
153
|
+
border-left: 4px solid transparent;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
.expander[data-expandable] {
|
|
157
|
+
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='rgb(204, 204, 204)' viewBox='0 0 24 24'%3E%3Cpath d='${unsafeCSS(mdiChevronRight)}'/%3E%3C/svg%3E");
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
.expander[data-expandable]:hover {
|
|
161
|
+
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='${unsafeCSS(mdiChevronRight)}'/%3E%3C/svg%3E");
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
li[data-expanded] > .node-container .expander {
|
|
165
|
+
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='${unsafeCSS(mdiChevronDown)}'/%3E%3C/svg%3E") !important;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
.node-name {
|
|
169
|
+
margin: -4px 0;
|
|
170
|
+
flex: 1 0 auto;
|
|
171
|
+
display: flex;
|
|
172
|
+
align-items: center;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
.node-name > span {
|
|
176
|
+
vertical-align: middle;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
.node-name > or-icon {
|
|
180
|
+
--or-icon-width: 18px;
|
|
181
|
+
--or-icon-height: 18px;
|
|
182
|
+
margin-right: 8px;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
#loading {
|
|
186
|
+
flex: 1 0 auto;
|
|
187
|
+
display: inline-flex;
|
|
188
|
+
align-items: center;
|
|
189
|
+
text-align: center;
|
|
190
|
+
margin: 0 auto;
|
|
191
|
+
font-size: 14px;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
@media only screen and (min-width: 768px){
|
|
195
|
+
.expander {
|
|
196
|
+
width: 26px;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
.mdc-list-item__graphic {
|
|
201
|
+
margin-left: auto;
|
|
202
|
+
display: flex;
|
|
203
|
+
margin-right: 5px;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
.mdc-checkbox {
|
|
207
|
+
display: flex;
|
|
208
|
+
height: 100%;
|
|
209
|
+
align-items: center;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
.mdc-checkbox or-icon {
|
|
213
|
+
height: 15px;
|
|
214
|
+
width: auto;
|
|
215
|
+
color: var(--internal-or-asset-tree-line-color);
|
|
216
|
+
}
|
|
217
|
+
.mdc-checkbox or-icon.mdc-checkbox--parent {
|
|
218
|
+
height: 17px;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
.mdc-checkbox or-icon[icon="checkbox-marked"],
|
|
222
|
+
.mdc-checkbox or-icon[icon="checkbox-multiple-marked"],
|
|
223
|
+
.mdc-checkbox or-icon[icon="checkbox-multiple-marked-outline"] {
|
|
224
|
+
color: var(--internal-or-asset-tree-selected-color);
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
#asset-tree-filter {
|
|
228
|
+
display: flex;
|
|
229
|
+
align-items: center;
|
|
230
|
+
position: relative;
|
|
231
|
+
background-color: var(--internal-or-asset-tree-selected-background-color);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
#filterInput {
|
|
235
|
+
padding: 7px 12px 7px 7px;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
#filterAssetTypeDownIcon {
|
|
239
|
+
width: 16px;
|
|
240
|
+
height: 16px;
|
|
241
|
+
position: absolute;
|
|
242
|
+
right: 20px;
|
|
243
|
+
padding-right: 14px;
|
|
244
|
+
cursor: pointer;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
#filterSettingsIcon {
|
|
248
|
+
cursor: pointer;
|
|
249
|
+
margin-right: 12px;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
#asset-tree-filter-setting {
|
|
253
|
+
position: absolute;
|
|
254
|
+
background-color: var(--internal-or-asset-tree-background-color);
|
|
255
|
+
top: calc(var(--internal-or-asset-tree-header-height) + var(--internal-or-header-height, 50px) - 1px);
|
|
256
|
+
display: none;
|
|
257
|
+
width: 300px;
|
|
258
|
+
z-index: 100;
|
|
259
|
+
box-shadow: rgb(0 0 0 / 21%) 0px 1px 3px 0px;
|
|
260
|
+
box-sizing: border-box;
|
|
261
|
+
padding: 10px;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
#asset-tree-filter-setting .advanced-filter {
|
|
265
|
+
display: flex;
|
|
266
|
+
flex-direction: column;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
#asset-tree-filter-setting.visible {
|
|
270
|
+
display: block;
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
.filterAssetType {
|
|
274
|
+
display: flex;
|
|
275
|
+
align-items: center;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
#clearIconContainer.visible {
|
|
279
|
+
display: block;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
#noAssetsFound {
|
|
283
|
+
flex: 1 0 auto;
|
|
284
|
+
display: inline-flex;
|
|
285
|
+
align-items: center;
|
|
286
|
+
text-align: center;
|
|
287
|
+
margin: 0 auto;
|
|
288
|
+
font-size: 14px;
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
.filterMatching {
|
|
292
|
+
color: #808080;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
.draggable {
|
|
296
|
+
cursor: pointer;
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
.draggable:active {
|
|
300
|
+
cursor: grabbing;
|
|
301
|
+
}
|
|
302
|
+
`;
|
package/lib/style.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.js","sourceRoot":"","sources":["../src/style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAE,SAAS,EAAC,MAAM,KAAK,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC7G,OAAO,EAAC,eAAe,EAAC,MAAM,SAAS,CAAC;AACxC,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AAEvC,eAAe;AACf,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAA;;;wGAGgF,SAAS,CAAC,aAAa,CAAC;kHACd,SAAS,CAAC,aAAa,CAAC;;;;gHAI1B,SAAS,CAAC,aAAa,CAAC;;;;kIAIN,SAAS,CAAC,aAAa,CAAC;4GAC9C,SAAS,CAAC,aAAa,CAAC;wGAC5B,SAAS,CAAC,aAAa,CAAC;oGAC5B,SAAS,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCAqCzF,SAAS,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAiE/B,SAAS,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gLAuC4H,SAAS,CAAC,eAAe,CAAC;;;;sJAIpD,SAAS,CAAC,eAAe,CAAC;;;;sJAI1B,SAAS,CAAC,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyI9K,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@openremote/or-asset-tree",
|
|
3
|
+
"version": "1.2.0-snapshot.20240512155932",
|
|
4
|
+
"description": "OpenRemote Asset Tree",
|
|
5
|
+
"main": "dist/umd/index.bundle.js",
|
|
6
|
+
"module": "lib/index.js",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": "./lib/index.js",
|
|
9
|
+
"./*": "./lib/*.js"
|
|
10
|
+
},
|
|
11
|
+
"types": "lib/index.d.ts",
|
|
12
|
+
"scripts": {
|
|
13
|
+
"test": "echo \"No tests\" && exit 0",
|
|
14
|
+
"prepublishOnly": "npx webpack"
|
|
15
|
+
},
|
|
16
|
+
"author": "OpenRemote",
|
|
17
|
+
"license": "AGPL-3.0-or-later",
|
|
18
|
+
"dependencies": {
|
|
19
|
+
"@mdi/js": "^5.9.55",
|
|
20
|
+
"@openremote/core": "1.2.0-snapshot.20240512155932",
|
|
21
|
+
"@openremote/model": "1.2.0-snapshot.20240512155932",
|
|
22
|
+
"@openremote/or-icon": "1.2.0-snapshot.20240512155932",
|
|
23
|
+
"@openremote/or-mwc-components": "1.2.0-snapshot.20240512155932",
|
|
24
|
+
"@openremote/or-translate": "1.2.0-snapshot.20240512155932",
|
|
25
|
+
"@openremote/rest": "1.2.0-snapshot.20240512155932",
|
|
26
|
+
"lit": "^2.0.2",
|
|
27
|
+
"moment": "^2.29.4"
|
|
28
|
+
},
|
|
29
|
+
"devDependencies": {
|
|
30
|
+
"@openremote/util": "1.2.0-snapshot.20240512155932"
|
|
31
|
+
},
|
|
32
|
+
"publishConfig": {
|
|
33
|
+
"access": "public"
|
|
34
|
+
}
|
|
35
|
+
}
|