@holoscript/std 2.1.0
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/dist/collections.d.ts +177 -0
- package/dist/collections.d.ts.map +1 -0
- package/dist/collections.js +720 -0
- package/dist/collections.js.map +1 -0
- package/dist/index.d.ts +89 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +177 -0
- package/dist/index.js.map +1 -0
- package/dist/math.d.ts +162 -0
- package/dist/math.d.ts.map +1 -0
- package/dist/math.js +539 -0
- package/dist/math.js.map +1 -0
- package/dist/string.d.ts +208 -0
- package/dist/string.d.ts.map +1 -0
- package/dist/string.js +443 -0
- package/dist/string.js.map +1 -0
- package/dist/time.d.ts +215 -0
- package/dist/time.d.ts.map +1 -0
- package/dist/time.js +530 -0
- package/dist/time.js.map +1 -0
- package/dist/types.d.ts +193 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +198 -0
- package/dist/types.js.map +1 -0
- package/package.json +55 -0
- package/src/collections.ts +844 -0
- package/src/index.ts +324 -0
- package/src/math.ts +658 -0
- package/src/string.ts +499 -0
- package/src/time.ts +622 -0
- package/src/types.ts +376 -0
- package/tsconfig.json +18 -0
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @holoscript/std - Collections Module
|
|
3
|
+
*
|
|
4
|
+
* Provides List, Map, and Set implementations with functional operations
|
|
5
|
+
* for use in HoloScript Plus programs.
|
|
6
|
+
*/
|
|
7
|
+
import type { Vec3 } from './types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Immutable List with functional operations
|
|
10
|
+
*/
|
|
11
|
+
export declare class List<T> {
|
|
12
|
+
private readonly items;
|
|
13
|
+
constructor(items?: Iterable<T>);
|
|
14
|
+
static of<T>(...items: T[]): List<T>;
|
|
15
|
+
static from<T>(iterable: Iterable<T>): List<T>;
|
|
16
|
+
static range(start: number, end: number, step?: number): List<number>;
|
|
17
|
+
static repeat<T>(value: T, count: number): List<T>;
|
|
18
|
+
get length(): number;
|
|
19
|
+
get isEmpty(): boolean;
|
|
20
|
+
get(index: number): T | undefined;
|
|
21
|
+
first(): T | undefined;
|
|
22
|
+
last(): T | undefined;
|
|
23
|
+
map<U>(fn: (item: T, index: number) => U): List<U>;
|
|
24
|
+
flatMap<U>(fn: (item: T, index: number) => List<U> | U[]): List<U>;
|
|
25
|
+
filter(predicate: (item: T, index: number) => boolean): List<T>;
|
|
26
|
+
reject(predicate: (item: T, index: number) => boolean): List<T>;
|
|
27
|
+
reduce<U>(fn: (acc: U, item: T, index: number) => U, initial: U): U;
|
|
28
|
+
fold<U>(initial: U, fn: (acc: U, item: T) => U): U;
|
|
29
|
+
find(predicate: (item: T, index: number) => boolean): T | undefined;
|
|
30
|
+
findIndex(predicate: (item: T, index: number) => boolean): number;
|
|
31
|
+
indexOf(item: T): number;
|
|
32
|
+
includes(item: T): boolean;
|
|
33
|
+
some(predicate: (item: T, index: number) => boolean): boolean;
|
|
34
|
+
every(predicate: (item: T, index: number) => boolean): boolean;
|
|
35
|
+
none(predicate: (item: T, index: number) => boolean): boolean;
|
|
36
|
+
count(predicate: (item: T, index: number) => boolean): number;
|
|
37
|
+
forEach(fn: (item: T, index: number) => void): void;
|
|
38
|
+
concat(...lists: (List<T> | T[])[]): List<T>;
|
|
39
|
+
append(item: T): List<T>;
|
|
40
|
+
prepend(item: T): List<T>;
|
|
41
|
+
insert(index: number, item: T): List<T>;
|
|
42
|
+
remove(index: number): List<T>;
|
|
43
|
+
update(index: number, item: T): List<T>;
|
|
44
|
+
slice(start?: number, end?: number): List<T>;
|
|
45
|
+
take(n: number): List<T>;
|
|
46
|
+
takeLast(n: number): List<T>;
|
|
47
|
+
takeWhile(predicate: (item: T, index: number) => boolean): List<T>;
|
|
48
|
+
drop(n: number): List<T>;
|
|
49
|
+
dropLast(n: number): List<T>;
|
|
50
|
+
dropWhile(predicate: (item: T, index: number) => boolean): List<T>;
|
|
51
|
+
reverse(): List<T>;
|
|
52
|
+
sort(compareFn?: (a: T, b: T) => number): List<T>;
|
|
53
|
+
sortBy<U>(fn: (item: T) => U): List<T>;
|
|
54
|
+
shuffle(): List<T>;
|
|
55
|
+
unique(): List<T>;
|
|
56
|
+
uniqueBy<U>(fn: (item: T) => U): List<T>;
|
|
57
|
+
groupBy<K>(fn: (item: T) => K): HoloMap<K, List<T>>;
|
|
58
|
+
partition(predicate: (item: T, index: number) => boolean): [List<T>, List<T>];
|
|
59
|
+
zip<U>(other: List<U>): List<[T, U]>;
|
|
60
|
+
zipWith<U, V>(other: List<U>, fn: (a: T, b: U) => V): List<V>;
|
|
61
|
+
flatten<U>(this: List<List<U> | U[]>): List<U>;
|
|
62
|
+
sum(this: List<number>): number;
|
|
63
|
+
min(this: List<number>): number | undefined;
|
|
64
|
+
max(this: List<number>): number | undefined;
|
|
65
|
+
average(this: List<number>): number | undefined;
|
|
66
|
+
join(separator?: string): string;
|
|
67
|
+
toArray(): T[];
|
|
68
|
+
toSet(): HoloSet<T>;
|
|
69
|
+
[Symbol.iterator](): Iterator<T>;
|
|
70
|
+
toString(): string;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Immutable Map with functional operations
|
|
74
|
+
*/
|
|
75
|
+
export declare class HoloMap<K, V> {
|
|
76
|
+
private readonly _map;
|
|
77
|
+
constructor(entries?: Iterable<[K, V]> | Map<K, V>);
|
|
78
|
+
static of<K, V>(...entries: [K, V][]): HoloMap<K, V>;
|
|
79
|
+
static from<K, V>(entries: Iterable<[K, V]>): HoloMap<K, V>;
|
|
80
|
+
static fromObject<V>(obj: Record<string, V>): HoloMap<string, V>;
|
|
81
|
+
get size(): number;
|
|
82
|
+
get isEmpty(): boolean;
|
|
83
|
+
get(key: K): V | undefined;
|
|
84
|
+
getOrDefault(key: K, defaultValue: V): V;
|
|
85
|
+
has(key: K): boolean;
|
|
86
|
+
set(key: K, value: V): HoloMap<K, V>;
|
|
87
|
+
delete(key: K): HoloMap<K, V>;
|
|
88
|
+
update(key: K, fn: (value: V | undefined) => V): HoloMap<K, V>;
|
|
89
|
+
merge(other: HoloMap<K, V>): HoloMap<K, V>;
|
|
90
|
+
keys(): List<K>;
|
|
91
|
+
values(): List<V>;
|
|
92
|
+
entries(): List<[K, V]>;
|
|
93
|
+
map<U>(fn: (value: V, key: K) => U): HoloMap<K, U>;
|
|
94
|
+
mapKeys<K2>(fn: (key: K, value: V) => K2): HoloMap<K2, V>;
|
|
95
|
+
filter(predicate: (value: V, key: K) => boolean): HoloMap<K, V>;
|
|
96
|
+
reduce<U>(fn: (acc: U, value: V, key: K) => U, initial: U): U;
|
|
97
|
+
forEach(fn: (value: V, key: K) => void): void;
|
|
98
|
+
find(predicate: (value: V, key: K) => boolean): [K, V] | undefined;
|
|
99
|
+
some(predicate: (value: V, key: K) => boolean): boolean;
|
|
100
|
+
every(predicate: (value: V, key: K) => boolean): boolean;
|
|
101
|
+
toObject(this: HoloMap<string, V>): Record<string, V>;
|
|
102
|
+
toNativeMap(): Map<K, V>;
|
|
103
|
+
[Symbol.iterator](): Iterator<[K, V]>;
|
|
104
|
+
toString(): string;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Immutable Set with functional operations
|
|
108
|
+
*/
|
|
109
|
+
export declare class HoloSet<T> {
|
|
110
|
+
private readonly set;
|
|
111
|
+
constructor(items?: Iterable<T>);
|
|
112
|
+
static of<T>(...items: T[]): HoloSet<T>;
|
|
113
|
+
static from<T>(iterable: Iterable<T>): HoloSet<T>;
|
|
114
|
+
get size(): number;
|
|
115
|
+
get isEmpty(): boolean;
|
|
116
|
+
has(item: T): boolean;
|
|
117
|
+
add(item: T): HoloSet<T>;
|
|
118
|
+
delete(item: T): HoloSet<T>;
|
|
119
|
+
addAll(items: Iterable<T>): HoloSet<T>;
|
|
120
|
+
union(other: HoloSet<T>): HoloSet<T>;
|
|
121
|
+
intersection(other: HoloSet<T>): HoloSet<T>;
|
|
122
|
+
difference(other: HoloSet<T>): HoloSet<T>;
|
|
123
|
+
symmetricDifference(other: HoloSet<T>): HoloSet<T>;
|
|
124
|
+
isSubsetOf(other: HoloSet<T>): boolean;
|
|
125
|
+
isSupersetOf(other: HoloSet<T>): boolean;
|
|
126
|
+
isDisjointFrom(other: HoloSet<T>): boolean;
|
|
127
|
+
map<U>(fn: (item: T) => U): HoloSet<U>;
|
|
128
|
+
filter(predicate: (item: T) => boolean): HoloSet<T>;
|
|
129
|
+
reduce<U>(fn: (acc: U, item: T) => U, initial: U): U;
|
|
130
|
+
forEach(fn: (item: T) => void): void;
|
|
131
|
+
find(predicate: (item: T) => boolean): T | undefined;
|
|
132
|
+
some(predicate: (item: T) => boolean): boolean;
|
|
133
|
+
every(predicate: (item: T) => boolean): boolean;
|
|
134
|
+
toArray(): T[];
|
|
135
|
+
toList(): List<T>;
|
|
136
|
+
toNativeSet(): Set<T>;
|
|
137
|
+
[Symbol.iterator](): Iterator<T>;
|
|
138
|
+
toString(): string;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Spatial grid for efficient spatial queries (useful for game worlds)
|
|
142
|
+
*/
|
|
143
|
+
export declare class SpatialGrid<T> {
|
|
144
|
+
private readonly cellSize;
|
|
145
|
+
private readonly cells;
|
|
146
|
+
constructor(cellSize: number);
|
|
147
|
+
private getCellKey;
|
|
148
|
+
insert(position: Vec3, item: T): void;
|
|
149
|
+
remove(position: Vec3, item: T): boolean;
|
|
150
|
+
query(center: Vec3, radius: number): T[];
|
|
151
|
+
queryBox(min: Vec3, max: Vec3): T[];
|
|
152
|
+
clear(): void;
|
|
153
|
+
get cellCount(): number;
|
|
154
|
+
get itemCount(): number;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Priority queue (min-heap by default)
|
|
158
|
+
*/
|
|
159
|
+
export declare class PriorityQueue<T> {
|
|
160
|
+
private compareFn;
|
|
161
|
+
private heap;
|
|
162
|
+
constructor(compareFn?: (a: number, b: number) => number);
|
|
163
|
+
static minHeap<T>(): PriorityQueue<T>;
|
|
164
|
+
static maxHeap<T>(): PriorityQueue<T>;
|
|
165
|
+
get size(): number;
|
|
166
|
+
get isEmpty(): boolean;
|
|
167
|
+
enqueue(item: T, priority: number): void;
|
|
168
|
+
dequeue(): T | undefined;
|
|
169
|
+
peek(): T | undefined;
|
|
170
|
+
peekPriority(): number | undefined;
|
|
171
|
+
clear(): void;
|
|
172
|
+
private bubbleUp;
|
|
173
|
+
private bubbleDown;
|
|
174
|
+
}
|
|
175
|
+
export { HoloMap as Map };
|
|
176
|
+
export { HoloSet as Set };
|
|
177
|
+
//# sourceMappingURL=collections.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../src/collections.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC;;GAEG;AACH,qBAAa,IAAI,CAAC,CAAC;IACjB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;gBAEzB,KAAK,GAAE,QAAQ,CAAC,CAAC,CAAM;IAInC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAIpC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAI9C,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,SAAI,GAAG,IAAI,CAAC,MAAM,CAAC;IAQhE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IAIlD,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAIjC,KAAK,IAAI,CAAC,GAAG,SAAS;IAItB,IAAI,IAAI,CAAC,GAAG,SAAS;IAIrB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAIlD,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAalE,MAAM,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;IAI/D,MAAM,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;IAI/D,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC;IAInE,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;IAIlD,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,CAAC,GAAG,SAAS;IAInE,SAAS,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM;IAIjE,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM;IAIxB,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO;IAI1B,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO;IAI7D,KAAK,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO;IAI9D,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO;IAI7D,KAAK,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM;IAI7D,OAAO,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAInD,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAK5C,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAIxB,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAIzB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAMvC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IAM9B,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAMvC,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IAI5C,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IAIxB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IAI5B,SAAS,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;IASlE,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IAIxB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IAI5B,SAAS,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;IASlE,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC;IAIlB,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IAIjD,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAUtC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC;IASlB,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC;IAIjB,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAaxC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAenD,SAAS,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAa7E,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IASpC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAI7D,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAY9C,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM;IAI/B,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS;IAK3C,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS;IAK3C,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS;IAK/C,IAAI,CAAC,SAAS,SAAM,GAAG,MAAM;IAI7B,OAAO,IAAI,CAAC,EAAE;IAId,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC;IAInB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC;IAIhC,QAAQ,IAAI,MAAM;CAGnB;AAED;;GAEG;AACH,qBAAa,OAAO,CAAC,CAAC,EAAE,CAAC;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoB;gBAE7B,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IAIlD,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAIpD,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAI3D,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAIhE,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAI1B,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC;IAIxC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAIpB,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAMpC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAM7B,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAI9D,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAQ1C,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC;IAIf,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC;IAIjB,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAIvB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAQlD,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAQzD,MAAM,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAU/D,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC;IAQ7D,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,GAAG,IAAI;IAI7C,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS;IASlE,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO;IAOvD,KAAK,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO;IAOxD,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAQrD,WAAW,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IAIxB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAIrC,QAAQ,IAAI,MAAM;CAInB;AAED;;GAEG;AACH,qBAAa,OAAO,CAAC,CAAC;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAiB;gBAEzB,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IAI/B,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAIvC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIjD,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO;IAIrB,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAMxB,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAM3B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAQtC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIpC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAU3C,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAUzC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIlD,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO;IAOtC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO;IAIxC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO;IAI1C,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAQtC,MAAM,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAUnD,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC;IAQpD,OAAO,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,GAAG,IAAI;IAIpC,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAAG,CAAC,GAAG,SAAS;IAOpD,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO;IAO9C,KAAK,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO;IAO/C,OAAO,IAAI,CAAC,EAAE;IAId,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC;IAIjB,WAAW,IAAI,GAAG,CAAC,CAAC,CAAC;IAIrB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC;IAIhC,QAAQ,IAAI,MAAM;CAGnB;AAED;;GAEG;AACH,qBAAa,WAAW,CAAC,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA+B;gBAEzC,QAAQ,EAAE,MAAM;IAI5B,OAAO,CAAC,UAAU;IAOlB,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI;IAQrC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO;IAaxC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE;IAqBxC,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC,EAAE;IAuBnC,KAAK,IAAI,IAAI;IAIb,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,SAAS,IAAI,MAAM,CAMtB;CACF;AAED;;GAEG;AACH,qBAAa,aAAa,CAAC,CAAC;IAGd,OAAO,CAAC,SAAS;IAF7B,OAAO,CAAC,IAAI,CAAuC;gBAE/B,SAAS,GAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAwB;IAEjF,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC;IAIrC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC;IAIrC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKxC,OAAO,IAAI,CAAC,GAAG,SAAS;IAWxB,IAAI,IAAI,CAAC,GAAG,SAAS;IAIrB,YAAY,IAAI,MAAM,GAAG,SAAS;IAIlC,KAAK,IAAI,IAAI;IAIb,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,UAAU;CAkBnB;AAGD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,CAAC;AAC1B,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,CAAC"}
|