@evolu/common 6.0.1-preview.1 → 6.0.1-preview.11
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/src/Assert.d.ts +6 -3
- package/dist/src/Assert.d.ts.map +1 -1
- package/dist/src/Assert.js +6 -3
- package/dist/src/Crypto.d.ts +11 -0
- package/dist/src/Crypto.d.ts.map +1 -1
- package/dist/src/Evolu/Config.d.ts +17 -4
- package/dist/src/Evolu/Config.d.ts.map +1 -1
- package/dist/src/Evolu/Config.js +1 -1
- package/dist/src/Evolu/Db.d.ts +21 -13
- package/dist/src/Evolu/Db.d.ts.map +1 -1
- package/dist/src/Evolu/Db.js +81 -64
- package/dist/src/Evolu/Evolu.d.ts +6 -6
- package/dist/src/Evolu/Evolu.d.ts.map +1 -1
- package/dist/src/Evolu/Evolu.js +19 -24
- package/dist/src/Evolu/Protocol.d.ts +79 -37
- package/dist/src/Evolu/Protocol.d.ts.map +1 -1
- package/dist/src/Evolu/Protocol.js +170 -58
- package/dist/src/Evolu/Relay.d.ts +3 -1
- package/dist/src/Evolu/Relay.d.ts.map +1 -1
- package/dist/src/Evolu/Relay.js +39 -3
- package/dist/src/Evolu/Schema.d.ts +24 -40
- package/dist/src/Evolu/Schema.d.ts.map +1 -1
- package/dist/src/Evolu/Schema.js +13 -72
- package/dist/src/Evolu/Storage.d.ts +1 -0
- package/dist/src/Evolu/Storage.d.ts.map +1 -1
- package/dist/src/Evolu/Storage.js +10 -0
- package/dist/src/Type.d.ts +42 -2
- package/dist/src/Type.d.ts.map +1 -1
- package/dist/src/Type.js +58 -1
- package/package.json +3 -3
- package/src/Assert.ts +6 -3
- package/src/Crypto.ts +13 -0
- package/src/Evolu/Config.ts +19 -5
- package/src/Evolu/Db.ts +92 -76
- package/src/Evolu/Evolu.ts +38 -35
- package/src/Evolu/Protocol.ts +209 -89
- package/src/Evolu/Relay.ts +45 -4
- package/src/Evolu/Schema.ts +102 -130
- package/src/Evolu/Storage.ts +12 -0
- package/src/Type.ts +71 -3
package/dist/src/Evolu/Schema.js
CHANGED
|
@@ -1,86 +1,27 @@
|
|
|
1
1
|
import { pack } from "msgpackr";
|
|
2
|
+
import { assert } from "../Assert.js";
|
|
2
3
|
import { mapObject, objectToEntries } from "../Object.js";
|
|
3
4
|
import { err, ok } from "../Result.js";
|
|
4
5
|
import { SqliteBoolean } from "../Sqlite.js";
|
|
5
|
-
import { brand, createTypeErrorFormatter, DateIsoString,
|
|
6
|
+
import { brand, createTypeErrorFormatter, DateIsoString, nullableToOptional, nullOr, object, omit, optional, } from "../Type.js";
|
|
7
|
+
import { DbSchema } from "./Db.js";
|
|
6
8
|
import { createIndexes } from "./Kysely.js";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
createdAt: DateIsoString,
|
|
10
|
-
updatedAt: DateIsoString,
|
|
11
|
-
isDeleted: nullOr(SqliteBoolean),
|
|
12
|
-
});
|
|
13
|
-
const isDefaultColumnName = (value) => value === "createdAt" || value === "updatedAt" || value === "isDeleted";
|
|
14
|
-
/**
|
|
15
|
-
* Valid {@link EvoluSchema}.
|
|
16
|
-
*
|
|
17
|
-
* - Table and column names must be Base64Url strings.
|
|
18
|
-
* - Each table must include an `id` column of type {@link Id}.
|
|
19
|
-
* - Default column names (`createdAt`, `updatedAt`, `isDeleted`) are not allowed.
|
|
20
|
-
*/
|
|
21
|
-
export const ValidEvoluSchema = brand("ValidEvoluSchema", record(Base64Url256, object({ id: EvoluType }, record(Base64Url256, Unknown))), (value) => {
|
|
22
|
-
for (const tableName in value) {
|
|
23
|
-
for (const columnName in value[tableName]) {
|
|
24
|
-
if (isDefaultColumnName(columnName)) {
|
|
25
|
-
return err({
|
|
26
|
-
type: "ValidEvoluSchema",
|
|
27
|
-
value,
|
|
28
|
-
reason: {
|
|
29
|
-
kind: "DefaultColumnError",
|
|
30
|
-
tableName,
|
|
31
|
-
columnName,
|
|
32
|
-
},
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
return ok(value);
|
|
38
|
-
});
|
|
39
|
-
/**
|
|
40
|
-
* Asserts that the given value is {@link ValidEvoluSchema}.
|
|
41
|
-
*
|
|
42
|
-
* Throws an error if the value is not a valid Evolu schema.
|
|
43
|
-
*/
|
|
44
|
-
export const assertValidEvoluSchema = (value) => {
|
|
45
|
-
const validEvoluSchema = ValidEvoluSchema.fromUnknown(value);
|
|
46
|
-
if (!validEvoluSchema.ok) {
|
|
47
|
-
const message = formatValidEvoluSchemaError(validEvoluSchema.error);
|
|
48
|
-
throw new Error(`Invalid Evolu schema: ${message}`);
|
|
49
|
-
}
|
|
50
|
-
return validEvoluSchema.value;
|
|
51
|
-
};
|
|
52
|
-
const formatValidEvoluSchemaError = (error) => {
|
|
53
|
-
if (error.type === "Record") {
|
|
54
|
-
if (error.reason.kind === "Key") {
|
|
55
|
-
return `The table "${error.reason.key}" has invalid name. A table name must be Base64Url256 string (A-Z, a-z, 0-9, -, _).`;
|
|
56
|
-
}
|
|
57
|
-
if (error.reason.kind === "Value" &&
|
|
58
|
-
error.reason.error.reason.kind === "Props" &&
|
|
59
|
-
error.reason.error.reason.errors.id?.type === "EvoluType") {
|
|
60
|
-
return `The table "${error.reason.key}" has invalid ID column. Check examples.`;
|
|
61
|
-
}
|
|
62
|
-
if (error.reason.kind === "Value" &&
|
|
63
|
-
error.reason.error.reason.kind === "IndexKey") {
|
|
64
|
-
return `The table "${error.reason.key}" has invalid column name "${error.reason.error.reason.key}". A column name must be Base64Url256 string (A-Z, a-z, 0-9, -, _).`;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
if (error.type === "ValidEvoluSchema") {
|
|
68
|
-
return `The table "${error.reason.tableName}" uses reserved column name "${error.reason.columnName}". Reserved column names are: createdAt, updatedAt, isDeleted.`;
|
|
69
|
-
}
|
|
70
|
-
return JSON.stringify(error, null, 2);
|
|
71
|
-
};
|
|
72
|
-
export const validEvoluSchemaToDbSchema = (validEvoluSchema, indexes) => {
|
|
73
|
-
const tables = objectToEntries(validEvoluSchema).map(([tableName, table]) => ({
|
|
9
|
+
export const evoluSchemaToDbSchema = (schema, indexes) => {
|
|
10
|
+
const tables = objectToEntries(schema).map(([tableName, table]) => ({
|
|
74
11
|
name: tableName,
|
|
75
12
|
columns: objectToEntries(table)
|
|
76
13
|
.filter(([k]) => k !== "id")
|
|
77
14
|
.map(([k]) => k),
|
|
78
15
|
}));
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
};
|
|
16
|
+
const dbSchema = { tables, indexes: createIndexes(indexes) };
|
|
17
|
+
assert(DbSchema.is(dbSchema), "Invalid EvoluSchema: Table and column names must use only characters A-Za-z0-9_- and be at most 256 characters long.");
|
|
18
|
+
return dbSchema;
|
|
83
19
|
};
|
|
20
|
+
export const DefaultColumns = object({
|
|
21
|
+
createdAt: DateIsoString,
|
|
22
|
+
updatedAt: DateIsoString,
|
|
23
|
+
isDeleted: nullOr(SqliteBoolean),
|
|
24
|
+
});
|
|
84
25
|
/**
|
|
85
26
|
* Evolu has to limit the maximum mutation size. Otherwise, sync couldn't use
|
|
86
27
|
* the {@link maxProtocolMessageRangesSize}. The max size is 640KB in bytes,
|
|
@@ -36,6 +36,7 @@ export interface SqliteStorageBase {
|
|
|
36
36
|
readonly fingerprintRanges: Storage["fingerprintRanges"];
|
|
37
37
|
readonly findLowerBound: Storage["findLowerBound"];
|
|
38
38
|
readonly iterate: Storage["iterate"];
|
|
39
|
+
readonly deleteOwner: Storage["deleteOwner"];
|
|
39
40
|
}
|
|
40
41
|
export interface SqliteStorageBaseDep {
|
|
41
42
|
readonly storage: SqliteStorageBase;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Storage.d.ts","sourceRoot":"","sources":["../../../src/Evolu/Storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAM,MAAM,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAO,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAe,cAAc,EAAe,MAAM,YAAY,CAAC;AAGtE,OAAO,EACL,aAAa,EAQb,OAAO,EAER,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAwB,MAAM,gBAAgB,CAAC;AAEvE,kEAAkE;AAClE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,eAAe,EAAE,CACxB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,eAAe,KACvB,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAE/B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAC7C,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACzD,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACnD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"Storage.d.ts","sourceRoot":"","sources":["../../../src/Evolu/Storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAM,MAAM,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAO,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAe,cAAc,EAAe,MAAM,YAAY,CAAC;AAGtE,OAAO,EACL,aAAa,EAQb,OAAO,EAER,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAwB,MAAM,gBAAgB,CAAC;AAEvE,kEAAkE;AAClE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,eAAe,EAAE,CACxB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,eAAe,KACvB,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAE/B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAC7C,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACzD,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACnD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CAC9C;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;CACrC;AAED,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,SAAS,CAAC;AAEtD,MAAM,WAAW,8BAA8B;IAC7C,cAAc,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CAC9C;AAED,eAAO,MAAM,uBAAuB,GACjC,MAAM,iBAAiB,MAEtB,SAAS,8BAA8B,KACtC,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAoJvC,CAAC;AA09BJ,eAAO,MAAM,mBAAmB,GAC7B,MAAM,SAAS,MAEd,SAAS,aAAa,EACtB,OAAO,cAAc,KACpB,MAAM,CAAC,eAAe,EAAE,WAAW,CA6ErC,CAAC"}
|
|
@@ -141,6 +141,16 @@ export const createSqliteStorageBase = (deps) => (options) => {
|
|
|
141
141
|
return;
|
|
142
142
|
}
|
|
143
143
|
},
|
|
144
|
+
deleteOwner: (ownerId) => {
|
|
145
|
+
const result = deps.sqlite.exec(sql `
|
|
146
|
+
delete from evolu_timestamp where ownerId = ${ownerId};
|
|
147
|
+
`);
|
|
148
|
+
if (!result.ok) {
|
|
149
|
+
options.onStorageError(result.error);
|
|
150
|
+
return false;
|
|
151
|
+
}
|
|
152
|
+
return true;
|
|
153
|
+
},
|
|
144
154
|
});
|
|
145
155
|
};
|
|
146
156
|
const assertBeginEnd = (begin, end) => {
|
package/dist/src/Type.d.ts
CHANGED
|
@@ -26,7 +26,6 @@
|
|
|
26
26
|
* simple.
|
|
27
27
|
*
|
|
28
28
|
* - Evolu `Type` is:
|
|
29
|
-
*
|
|
30
29
|
* - A TypeScript type with a {@link Brand} whenever it's possible.
|
|
31
30
|
* - A function to create a value of that type, which may fail.
|
|
32
31
|
* - A function to transform value back to its original representation, which
|
|
@@ -808,6 +807,11 @@ export declare const formatRegexError: TypeErrorFormatter<RegexError<Capitalize<
|
|
|
808
807
|
export declare const Base64Url: BrandType<Type<"String", string, string, StringError, string, StringError>, "Base64Url", RegexError<"Base64Url">, StringError>;
|
|
809
808
|
export type Base64Url = typeof Base64Url.Type;
|
|
810
809
|
export type Base64UrlError = typeof Base64Url.Error;
|
|
810
|
+
/**
|
|
811
|
+
* Alphabet used for Base64Url encoding. This is copied from the `nanoid`
|
|
812
|
+
* library to avoid dependency on a specific version of `nanoid`.
|
|
813
|
+
*/
|
|
814
|
+
export declare const base64UrlAlphabet = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
|
|
811
815
|
/**
|
|
812
816
|
* Simple alphanumeric string for naming.
|
|
813
817
|
*
|
|
@@ -872,9 +876,45 @@ export declare const idTypeValueLength = 21;
|
|
|
872
876
|
* ```ts
|
|
873
877
|
* // string & Brand<"Id">
|
|
874
878
|
* const id = createId(deps);
|
|
879
|
+
*
|
|
880
|
+
* // string & Brand<"Id"> & Brand<"Todo">
|
|
881
|
+
* const todoId = createId<"Todo">(deps);
|
|
882
|
+
* ```
|
|
883
|
+
*/
|
|
884
|
+
export declare const createId: <B extends string = never>(deps: NanoIdLibDep) => [B] extends [never] ? Id : Id & Brand<B>;
|
|
885
|
+
/**
|
|
886
|
+
* Creates an {@link Id} from a string using SHA-256.
|
|
887
|
+
*
|
|
888
|
+
* Evolu table IDs must follow a fixed 21-character NanoID format. When
|
|
889
|
+
* integrating with external systems that use different ID formats, use this
|
|
890
|
+
* function to convert external IDs into valid Evolu IDs.
|
|
891
|
+
*
|
|
892
|
+
* In Evolu's CRDT, the ID serves as the unique identifier for conflict
|
|
893
|
+
* resolution across distributed clients. When multiple clients create records
|
|
894
|
+
* with the same external identifier, they must resolve to the same Evolu ID to
|
|
895
|
+
* ensure data consistency.
|
|
896
|
+
*
|
|
897
|
+
* ### Example
|
|
898
|
+
*
|
|
899
|
+
* ```ts
|
|
900
|
+
* // Both clients will generate the same ID
|
|
901
|
+
* const id1 = createIdFromString("user-api-123");
|
|
902
|
+
* const id2 = createIdFromString("user-api-123");
|
|
903
|
+
* console.log(id1 === id2); // true
|
|
904
|
+
*
|
|
905
|
+
* upsert("todo", {
|
|
906
|
+
* id: createIdFromString("external-todo-456"),
|
|
907
|
+
* title: "Synced from external system",
|
|
908
|
+
* });
|
|
875
909
|
* ```
|
|
910
|
+
*
|
|
911
|
+
* **Important**: This transformation is one-way. You cannot recover the
|
|
912
|
+
* original external string from the generated {@link Id}. If you need to
|
|
913
|
+
* preserve the original external ID, store it in a separate column.
|
|
914
|
+
*
|
|
915
|
+
* @category String
|
|
876
916
|
*/
|
|
877
|
-
export declare const
|
|
917
|
+
export declare const createIdFromString: <B extends string = never>(value: string) => [B] extends [never] ? Id : Id & Brand<B>;
|
|
878
918
|
/**
|
|
879
919
|
* Type Factory to create branded {@link Id} Type for a specific table.
|
|
880
920
|
*
|
package/dist/src/Type.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Type.d.ts","sourceRoot":"","sources":["../../src/Type.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AAMH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAY,EAAE,EAAM,MAAM,EAAW,MAAM,aAAa,CAAC;AAEhE,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAGzE,MAAM,WAAW,IAAI,CACnB,IAAI,SAAS,QAAQ;AACrB,sCAAsC;AACtC,CAAC;AACD,qDAAqD;AACrD,KAAK;AACL,kDAAkD;AAClD,KAAK,SAAS,SAAS,GAAG,KAAK;AAC/B,uBAAuB;AACvB,MAAM,GAAG,CAAC;AACV,0BAA0B;AAC1B,WAAW,SAAS,SAAS,GAAG,KAAK;IAErC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAEpB;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC,CAAC;IAEhE;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC,CAAC;IAEzE;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,CAAC;IAEjC;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAEzD,oCAAoC;IACpC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC;IAExC;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC;IAE5C,QAAQ,CAAC,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC;IAEjC;;;;;;;;OAQG;IACH,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAEjB;;;;;;;;OAQG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAEtB;;;;;;;;OAQG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAEtB;;;;;;;;OAQG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;;;;;;;OAQG;IACH,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAElC;;;;;;;;OAQG;IACH,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,WAAW,CAAC;CACtC;AAED;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AAE1C,MAAM,WAAW,SAAS,CAAC,IAAI,SAAS,QAAQ,GAAG,QAAQ;IACzD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAEpB;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB,CAClC,IAAI,SAAS,QAAQ,GAAG,QAAQ,EAChC,MAAM,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;CAAE,GAAG;IACrD,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;CACnC,CACD,SAAQ,SAAS,CAAC,IAAI,CAAC;IACvB,wEAAwE;IACxE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEzD,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,OAAO,IACrC,CAAC,SAAS,IAAI,CAAC,MAAM,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAErE,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,OAAO,IACrC,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE/D,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,OAAO,IACtC,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC;AAEvE,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,OAAO,IACtC,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC;AAEvE,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,OAAO,IACvC,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC;AAEzE,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,OAAO,IAC5C,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC,GACtD,WAAW,GACX,KAAK,CAAC;AAEZ,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,OAAO,IACvC,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC,GAC9D,KAAK,GAAG,WAAW,GACnB,KAAK,CAAC;AAEZ,QAAA,MAAM,eAAe,eAAuB,CAAC;AAE7C;;;;GAIG;AACH,eAAO,MAAM,MAAM,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,OACwB,CAAC;AAsC1E;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,wBAAwB,GAClC,KAAK,SAAS,SAAS,EACtB,QAAQ,CACN,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,KACtD,MAAM,KACV,kBAAkB,CAAC,KAAK,CAE4C,CAAC;AAE1E,MAAM,MAAM,kBAAkB,CAAC,KAAK,SAAS,SAAS,IAAI,CACxD,KAAK,EAAE,KAAK,KACT,MAAM,CAAC;AAEZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,IAAI,GAAI,IAAI,SAAS,QAAQ,EAAE,CAAC,EAAE,KAAK,SAAS,SAAS,EACpE,MAAM,IAAI,EACV,aAAa,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,KAChD,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAMrB,CAAC;AAEL;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,4BAA4B,GACvC,KAAK,SAAS,SAAS,OACpB,kBAAkB,CAAC,KAAK,CAG1B,CAAC;AAEJ,2BAA2B;AAC3B,eAAO,MAAM,OAAO,0DAAiD,CAAC;AAEtE;;;GAGG;AACH,eAAO,MAAM,MAAM,kEAIlB,CAAC;AAEF,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,QAAQ,CAAC;CAAG;AAE3D,eAAO,MAAM,iBAAiB,iCAA8C,CAAC;AAE7E,2BAA2B;AAC3B,eAAO,MAAM,MAAM,kEAIlB,CAAC;AAEF,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,QAAQ,CAAC;CAAG;AAE3D,eAAO,MAAM,iBAAiB,iCAA8C,CAAC;AAE7E,2BAA2B;AAC3B,eAAO,MAAM,MAAM,kEAIlB,CAAC;AAEF,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,QAAQ,CAAC;CAAG;AAE3D,eAAO,MAAM,iBAAiB,iCAA8C,CAAC;AAE7E,2BAA2B;AAC3B,eAAO,MAAM,OAAO,wEAInB,CAAC;AAEF,MAAM,WAAW,YAAa,SAAQ,SAAS,CAAC,SAAS,CAAC;CAAG;AAE7D,eAAO,MAAM,kBAAkB,kCAA+C,CAAC;AAE/E,2BAA2B;AAC3B,eAAO,MAAM,SAAS,oFAIrB,CAAC;AAEF,MAAM,WAAW,cAAe,SAAQ,SAAS,CAAC,WAAW,CAAC;CAAG;AAEjE,eAAO,MAAM,oBAAoB,oCACe,CAAC;AAEjD,2BAA2B;AAC3B,eAAO,MAAM,IAAI,sDAEhB,CAAC;AAEF,MAAM,WAAW,SAAU,SAAQ,SAAS,CAAC,MAAM,CAAC;CAAG;AAEvD,eAAO,MAAM,eAAe,+BAA4C,CAAC;AAEzE,2BAA2B;AAC3B,eAAO,MAAM,QAAQ,8EAIpB,CAAC;AAEF,MAAM,WAAW,aAAc,SAAQ,SAAS,CAAC,UAAU,CAAC;CAAG;AAE/D,eAAO,MAAM,mBAAmB,mCACe,CAAC;AAEhD,2BAA2B;AAC3B,eAAO,MAAM,UAAU,6IAItB,CAAC;AAEF,MAAM,WAAW,eAAgB,SAAQ,SAAS,CAAC,YAAY,CAAC;CAAG;AAEnE,eAAO,MAAM,qBAAqB,qCACe,CAAC;AAElD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,EACrE,MAAM,CAAC,KACN,cAAc,CAAC,CAAC,CAOjB,CAAC;AAEH,MAAM,WAAW,eAAgB,SAAQ,SAAS,CAAC,YAAY,CAAC;IAC9D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,CAC1E,SAAQ,IAAI,CACV,YAAY,EACZ,YAAY,CAAC,CAAC,CAAC,EACf,YAAY,CAAC,CAAC,CAAC,EACf,eAAe,CAChB;IACD,IAAI,EAAE,CAAC,CAAC;CACT;AAED,eAAO,MAAM,qBAAqB,qCAEjC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,IAAI,iCAA8B,CAAC;AAEhD;;;;;;;;;;GAUG;AAEH,eAAO,MAAM,SAAS,8EAOrB,CAAC;AAEF,MAAM,WAAW,cAAe,SAAQ,SAAS,CAAC,WAAW,CAAC;CAAG;AAEjE,eAAO,MAAM,iBAAiB,oCAE7B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgIG;AACH,wBAAgB,KAAK,CACnB,IAAI,SAAS,QAAQ,EACrB,UAAU,SAAS,OAAO,EAC1B,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,EAC9B,WAAW,SAAS,SAAS,GAAG,KAAK,EAErC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GACrD,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;AAErE,wBAAgB,KAAK,CAAC,IAAI,SAAS,QAAQ,EAAE,UAAU,SAAS,OAAO,EACrE,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,UAAU,GACjB,SAAS,CACV,UAAU,EACV,IAAI,EACJ,uBAAuB,CAAC,IAAI,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,CACvD,CAAC;AAyCF,MAAM,WAAW,SAAS,CACxB,UAAU,SAAS,OAAO,EAC1B,IAAI,SAAS,QAAQ,EACrB,KAAK,SAAS,SAAS,GAAG,KAAK,EAC/B,WAAW,SAAS,SAAS,GAAG,KAAK,CACrC,SAAQ,IAAI,CACV,OAAO,EACP,SAAS,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,EACnC,UAAU,CAAC,UAAU,CAAC,EACtB,KAAK,EACL,SAAS,CAAC,UAAU,CAAC,EACrB,WAAW,CACZ;IACD,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;CACjC;AAED,MAAM,WAAW,uBAAuB,CACtC,IAAI,SAAS,QAAQ,EACrB,WAAW,SAAS,SAAS,CAC7B,SAAQ,SAAS,CAAC,IAAI,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;CACnC;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,6HAIxB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAC;AAEpD,MAAM,WAAW,iBAAkB,SAAQ,SAAS,CAAC,cAAc,CAAC;CAAG;AAEvE,eAAO,MAAM,uBAAuB,uCAGjC,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,aAAa,yHAQxB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAC;AAEtD,MAAM,WAAW,kBAAmB,SAAQ,SAAS,CAAC,eAAe,CAAC;CAAG;AAEzE,eAAO,MAAM,wBAAwB,wCAGlC,CAAC;AAEJ;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,YAAY,CACtB,IAAI,SAAS,QAAQ,EACrB,KAAK,EACL,WAAW,SAAS,SAAS,IAC3B,CACF,KAAK,SAAS,QAAQ,EACtB,CAAC,SAAS,KAAK,EACf,MAAM,EACN,OAAO,EACP,MAAM,SAAS,SAAS,GAAG,KAAK,EAChC,YAAY,SAAS,SAAS,GAAG,KAAK,EAEtC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,KAC1D,SAAS,CACZ,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,EACrD,IAAI,EACJ,WAAW,EACX,MAAM,GAAG,YAAY,CACtB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,OAAO,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,CAO/D,CAAC;AAEJ,MAAM,WAAW,YAAa,SAAQ,SAAS,CAAC,SAAS,CAAC;CAAG;AAE7D,eAAO,MAAM,kBAAkB,kCAE9B,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAC/B,IAAI,SAAS,QAAQ,EACrB,KAAK,EACL,cAAc,SAAS,SAAS,GAAG,KAAK,IACtC,CACF,KAAK,SAAS,QAAQ,EACtB,CAAC,SAAS,KAAK,EACf,MAAM,EACN,OAAO,EACP,MAAM,SAAS,SAAS,GAAG,KAAK,EAChC,YAAY,SAAS,SAAS,GAAG,KAAK,EAEtC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,KAC1D,aAAa,CAChB,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,EACrD,SAAS,CACP,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,EACrD,IAAI,EACJ,KAAK,EACL,MAAM,GAAG,YAAY,CACtB,EACD,cAAc,CACf,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,eAAO,MAAM,IAAI,EAAE,qBAAqB,CAAC,SAAS,EAAE,MAAM,CAMvD,CAAC;AAEJ;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,mHAAkB,CAAC;AAC7C,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAC;AAEtD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,EAAE,CAAC,GAAG,SAAS,MAAM,EACzC,GAAG,EAAE,GAAG,KACL,YAAY,CAAC,YAAY,GAAG,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,cAAc,CAAC,GAAG,CAAC,CAIvE,CAAC;AAEN,MAAM,WAAW,cAAc,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM,CACzD,SAAQ,SAAS,CAAC,WAAW,CAAC;IAC9B,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;CACnB;AAED,eAAO,MAAM,oBAAoB,4CAGhC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,EAAE,CAAC,GAAG,SAAS,MAAM,EACzC,GAAG,EAAE,GAAG,KACL,YAAY,CAAC,YAAY,GAAG,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,cAAc,CAAC,GAAG,CAAC,CAIvE,CAAC;AAEN,MAAM,WAAW,cAAc,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM,CACzD,SAAQ,SAAS,CAAC,WAAW,CAAC;IAC9B,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;CACnB;AAED,eAAO,MAAM,oBAAoB,4CAEhC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,MAAM,EAAE,CAAC,KAAK,SAAS,MAAM,EACxC,KAAK,EAAE,KAAK,KACT,YAAY,CAAC,SAAS,KAAK,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,WAAW,CAAC,KAAK,CAAC,CAMrE,CAAC;AAEN,MAAM,WAAW,WAAW,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,CACxD,SAAQ,SAAS,CAAC,QAAQ,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED,eAAO,MAAM,iBAAiB,yCAG7B,CAAC;AAEF,uBAAuB;AACvB,eAAO,MAAM,cAAc,2HAAuB,CAAC;AACnD,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;AAExD,uBAAuB;AACvB,eAAO,MAAM,SAAS,+HAAyB,CAAC;AAChD,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAC;AAE9C,uBAAuB;AACvB,eAAO,MAAM,UAAU,iIAA0B,CAAC;AAClD,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAC;AAEhD,uBAAuB;AACvB,eAAO,MAAM,iBAAiB,gLAA0B,CAAC;AACzD,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAC;AAE9D,uBAAuB;AACvB,eAAO,MAAM,kBAAkB,mLAA2B,CAAC;AAC3D,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC,IAAI,CAAC;AAEhE,uBAAuB;AACvB,eAAO,MAAM,qBAAqB,6JAA8B,CAAC;AACjE,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAC;AAEtE,uBAAuB;AACvB,eAAO,MAAM,gBAAgB,iKAAgC,CAAC;AAC9D,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAC;AAE5D,uBAAuB;AACvB,eAAO,MAAM,iBAAiB,mKAAiC,CAAC;AAChE,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAC;AAE9D,uBAAuB;AACvB,eAAO,MAAM,wBAAwB,oPAAiC,CAAC;AACvE,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAC,IAAI,CAAC;AAE5E,uBAAuB;AACvB,eAAO,MAAM,yBAAyB,uPAAkC,CAAC;AACzE,MAAM,MAAM,yBAAyB,GAAG,OAAO,yBAAyB,CAAC,IAAI,CAAC;AAE9E;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ,mPAIpB,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC,IAAI,CAAC;AAE5C,MAAM,WAAW,aAAc,SAAQ,SAAS,CAAC,UAAU,CAAC;CAAG;AAE/D,eAAO,MAAM,mBAAmB,mCAE/B,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,KAAK,EAAE,CAAC,IAAI,SAAS,QAAQ,EACxC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,KACZ,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAY/C,CAAC;AAEF,MAAM,WAAW,UAAU,CAAC,IAAI,SAAS,QAAQ,GAAG,QAAQ,CAC1D,SAAQ,SAAS,CAAC,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,gBAAgB,oDAG5B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,SAAS,gIAGb,CAAC;AACV,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAC;AAC9C,MAAM,MAAM,cAAc,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,UAAU,kIAAoD,CAAC;AAC5E,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAC;AAChD,MAAM,MAAM,eAAe,GAAG,OAAO,UAAU,CAAC,KAAK,CAAC;AAEtD;;;;GAIG;AACH,eAAO,MAAM,MAAM,0HAAiD,CAAC;AACrE,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAC;AACxC,MAAM,MAAM,WAAW,GAAG,OAAO,MAAM,CAAC,KAAK,CAAC;AAE9C;;;;GAIG;AACH,eAAO,MAAM,cAAc,qYAG1B,CAAC;AACF,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;AAExD,MAAM,MAAM,mBAAmB,GAAG,OAAO,cAAc,CAAC,KAAK,CAAC;AAE9D,eAAO,MAAM,yBAAyB,GACpC,iBAAiB,kBAAkB,CACjC,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,EAAE,CAAC,GAAG,YAAY,CACpE,KACA,kBAAkB,CAAC,mBAAmB,CAGtC,CAAC;AAEJ;;;;;;;GAOG;AACH,eAAO,MAAM,EAAE,kHAA6C,CAAC;AAC7D,MAAM,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,IAAI,CAAC;AAEhC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC;;;;;;;;;GASG;AACH,eAAO,MAAM,QAAQ,GAAI,MAAM,YAAY,KAAG,EACf,CAAC;AAEhC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,EAAE,GAAI,KAAK,SAAS,QAAQ,EAAE,OAAO,KAAK,KAAG,MAAM,CAAC,KAAK,CAwBrE,CAAC;AAEF,MAAM,WAAW,MAAM,CAAC,KAAK,SAAS,QAAQ,CAC5C,SAAQ,IAAI,CACV,IAAI,EACJ,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,EACnC,MAAM,EACN,OAAO,CAAC,KAAK,CAAC,EACd,MAAM,EACN,WAAW,CACZ;IACD,KAAK,EAAE,KAAK,CAAC;CACd;AAED,MAAM,WAAW,OAAO,CAAC,KAAK,SAAS,QAAQ,GAAG,QAAQ,CACxD,SAAQ,SAAS,CAAC,IAAI,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED,eAAO,MAAM,aAAa,iDAEzB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,QAAQ,EAAE,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,CAKlE,CAAC;AAEJ,MAAM,WAAW,aAAc,SAAQ,SAAS,CAAC,UAAU,CAAC;CAAG;AAE/D,eAAO,MAAM,mBAAmB,mCAE/B,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,QAAQ,EAAE,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,CAKlE,CAAC;AAEJ,MAAM,WAAW,aAAc,SAAQ,SAAS,CAAC,UAAU,CAAC;CAAG;AAE/D,eAAO,MAAM,mBAAmB,mCAE/B,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW,EAAE,YAAY,CACpC,aAAa,EACb,MAAM,EACN,gBAAgB,CAMf,CAAC;AAEJ,MAAM,WAAW,gBAAiB,SAAQ,SAAS,CAAC,aAAa,CAAC;CAAG;AAErE,eAAO,MAAM,sBAAsB,sCAGhC,CAAC;AAEJ;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW,EAAE,YAAY,CACpC,aAAa,EACb,MAAM,EACN,gBAAgB,CAMf,CAAC;AAEJ,MAAM,WAAW,gBAAiB,SAAQ,SAAS,CAAC,aAAa,CAAC;CAAG;AAErE,eAAO,MAAM,sBAAsB,sCAGhC,CAAC;AAEJ,uBAAuB;AACvB,eAAO,MAAM,iBAAiB,2HAAsB,CAAC;AACrD,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAC;AAE9D,uBAAuB;AACvB,eAAO,MAAM,cAAc,mKAA8B,CAAC;AAC1D,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;AAExD,uBAAuB;AACvB,eAAO,MAAM,iBAAiB,2HAAsB,CAAC;AACrD,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAC;AAE9D,uBAAuB;AACvB,eAAO,MAAM,cAAc,mKAA8B,CAAC;AAC1D,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;AAExD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,GAAG,EAAE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAKnD,CAAC;AAEJ,MAAM,WAAW,QAAS,SAAQ,SAAS,CAAC,KAAK,CAAC;CAAG;AAErD,eAAO,MAAM,cAAc,8BAE1B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,GAAG,2GAAc,CAAC;AAC/B,MAAM,MAAM,GAAG,GAAG,OAAO,GAAG,CAAC,IAAI,CAAC;AAElC,uBAAuB;AACvB,eAAO,MAAM,cAAc,iJAAmB,CAAC;AAC/C,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;AAExD,uBAAuB;AACvB,eAAO,MAAM,WAAW,uNAA2B,CAAC;AACpD,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC;AAElD,uBAAuB;AACvB,eAAO,MAAM,cAAc,iJAAmB,CAAC;AAC/C,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;AAExD,uBAAuB;AACvB,eAAO,MAAM,WAAW,uNAA2B,CAAC;AACpD,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,CAAC,GAAG,SAAS,MAAM,EAC3C,GAAG,EAAE,GAAG,KACL,YAAY,CAAC,cAAc,GAAG,EAAE,EAAE,MAAM,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAI/D,CAAC;AAEN,MAAM,WAAW,gBAAgB,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM,CAC3D,SAAQ,SAAS,CAAC,aAAa,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;CACnB;AAED,eAAO,MAAM,sBAAsB,8CAGhC,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,QAAQ,EAAE,CAAC,GAAG,SAAS,MAAM,EACxC,GAAG,EAAE,GAAG,KACL,YAAY,CAAC,WAAW,GAAG,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAIzD,CAAC;AAEN,MAAM,WAAW,aAAa,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM,CACxD,SAAQ,SAAS,CAAC,UAAU,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;CACnB;AAED,eAAO,MAAM,mBAAmB,2CAE/B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,CAAC,GAAG,SAAS,MAAM,EACpD,GAAG,EAAE,GAAG,KACL,YAAY,CACf,uBAAuB,GAAG,EAAE,EAC5B,MAAM,EACN,yBAAyB,CAAC,GAAG,CAAC,CAM7B,CAAC;AAEJ,MAAM,WAAW,yBAAyB,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM,CACpE,SAAQ,SAAS,CAAC,sBAAsB,CAAC;IACzC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;CACnB;AAED,eAAO,MAAM,+BAA+B,uDAGzC,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,CAAC,GAAG,SAAS,MAAM,EACjD,GAAG,EAAE,GAAG,KACL,YAAY,CACf,oBAAoB,GAAG,EAAE,EACzB,MAAM,EACN,sBAAsB,CAAC,GAAG,CAAC,CAI1B,CAAC;AAEJ,MAAM,WAAW,sBAAsB,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM,CACjE,SAAQ,SAAS,CAAC,mBAAmB,CAAC;IACtC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;CACnB;AAED,eAAO,MAAM,4BAA4B,oDAGtC,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAK5D,CAAC;AAEJ,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,QAAQ,CAAC;CAAG;AAE3D,eAAO,MAAM,iBAAiB,iCAE7B,CAAC;AAEF,uBAAuB;AACvB,eAAO,MAAM,YAAY,iHAAiB,CAAC;AAC3C,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAC;AAEpD;;;;GAIG;AACH,eAAO,MAAM,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAK5D,CAAC;AAEJ,MAAM,WAAW,WAAY,SAAQ,SAAS,CAAC,QAAQ,CAAC;CAAG;AAE3D,eAAO,MAAM,iBAAiB,iCAE7B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,YAAY,iHAAiB,CAAC;AAC3C,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAC;AAEpD;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,CAAC,OAAO,SAAS,MAAM,EAC9C,OAAO,EAAE,OAAO,KACb,YAAY,CAAC,aAAa,OAAO,EAAE,EAAE,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,CAMrE,CAAC;AAEN,MAAM,WAAW,eAAe,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,CAC9D,SAAQ,SAAS,CAAC,YAAY,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,eAAO,MAAM,qBAAqB,6CAEjC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,OAAO,EAAE,CAAC,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAC3D,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,KACL,YAAY,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAMnE,CAAC;AAEN,MAAM,WAAW,YAAY,CAC3B,GAAG,SAAS,MAAM,GAAG,MAAM,EAC3B,GAAG,SAAS,MAAM,GAAG,MAAM,CAC3B,SAAQ,SAAS,CAAC,SAAS,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;CACnB;AAED,eAAO,MAAM,kBAAkB,kDAG9B,CAAC;AAEF,uBAAuB;AACvB,eAAO,MAAM,aAAa,8HAAyB,CAAC;AACpD,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAC;AAEtD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,OAAO,EAAE,UAAU,CAAC,KAAG,WAAW,CAAC,CAAC,CAerE,CAAC;AAEF,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,OAAO,CAC5C,SAAQ,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC5D,QAAQ,EAAE,CAAC,CAAC;CACb;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,CACvD,SAAQ,SAAS,CAAC,SAAS,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;CACtB;AAED,eAAO,MAAM,kBAAkB,2CAK9B,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,SAAS,GACpB,QAAQ,SAAS,OAAO,EACxB,MAAM,SAAS,OAAO,EACtB,cAAc,SAAS,SAAS,GAAG,KAAK,EAExC,UAAU,QAAQ,EAClB,QAAQ,MAAM,EACd,YAAY,CACV,WAAW,EAAE,SAAS,CAAC,QAAQ,CAAC,KAC7B,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,EAC9C,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC,QAAQ,CAAC,KAC1D,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,CAuBhD,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,aAAa,CAC5B,QAAQ,SAAS,OAAO,EACxB,MAAM,SAAS,OAAO,EACtB,cAAc,SAAS,SAAS,GAAG,KAAK,CACxC,SAAQ,IAAI,CACV,WAAW,EACX,SAAS,CAAC,MAAM,CAAC,EACjB,UAAU,CAAC,QAAQ,CAAC,EACpB,cAAc,EACd,SAAS,CAAC,QAAQ,CAAC,EACnB,WAAW,CAAC,QAAQ,CAAC,CACtB;IACD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,QAAQ,CAAC,UAAU,EAAE,CACnB,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,KACvB,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,GACjC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GACrB,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC;CAC/C;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,UAAU,oMAAe,CAAC;AAEvC;;;;;;;;GAQG;AACH,eAAO,MAAM,OAAO,6LAKnB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gBAAgB,oTAU5B,CAAC;AAEF,MAAM,WAAW,qBAAsB,SAAQ,SAAS,CAAC,kBAAkB,CAAC;CAAG;AAE/E,eAAO,MAAM,2BAA2B,2CAGpC,CAAC;AAEL;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,KAAK,GAAI,WAAW,SAAS,OAAO,EAC/C,SAAS,WAAW,KACnB,SAAS,CAAC,WAAW,CA2EvB,CAAC;AAEF,mFAAmF;AACnF,MAAM,WAAW,SAAS,CAAC,WAAW,SAAS,OAAO,CACpD,SAAQ,IAAI,CACV,OAAO,EACP,aAAa,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,EACrC,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EACtC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EACnC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,EACvC,UAAU,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAC1C;IACD,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU,CAAC,KAAK,SAAS,SAAS,GAAG,SAAS,CAC7D,SAAQ,mBAAmB,CACzB,OAAO,EACL;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAC7B;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB,CACJ;CAAG;AAEN,eAAO,MAAM,gBAAgB,GAAI,KAAK,SAAS,SAAS,EACtD,iBAAiB,kBAAkB,CAAC,KAAK,CAAC,KACzC,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAQnC,CAAC;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,MAAM,GACjB,OAAO,SAAS,QAAQ,EACxB,IAAI,SAAS,MAAM,EACnB,QAAQ,SAAS,MAAM,EACvB,QAAQ,SAAS,SAAS,EAC1B,SAAS,SAAS,MAAM,EACxB,cAAc,SAAS,SAAS,EAChC,KAAK,SAAS,OAAO,EAErB,SAAS,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,CAAC,EAC3E,WAAW,KAAK,KACf,UAAU,CACX,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,cAAc,EACd,KAAK,CA2HN,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,UAAU,CACzB,OAAO,SAAS,QAAQ,EACxB,IAAI,SAAS,MAAM,EACnB,QAAQ,SAAS,MAAM,EACvB,QAAQ,SAAS,SAAS,EAC1B,SAAS,SAAS,MAAM,EACxB,cAAc,SAAS,SAAS,EAChC,KAAK,SAAS,OAAO,GAAG,OAAO,CAC/B,SAAQ,IAAI,CACV,QAAQ,EACR,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EACxC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAC7C,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,EACxC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAC/C,WAAW,CAAC,cAAc,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,CACrD;IACD,QAAQ,CAAC,GAAG,EAAE,IAAI,CAChB,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,cAAc,CACf,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED,MAAM,WAAW,WAAW,CAC1B,QAAQ,SAAS,SAAS,GAAG,SAAS,EACtC,UAAU,SAAS,SAAS,GAAG,SAAS,CACxC,SAAQ,mBAAmB,CACzB,QAAQ,EACN;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAC9B;IACE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;CAC1B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;CAC5B,CACJ;CAAG;AAEN,eAAO,MAAM,iBAAiB,GAAI,KAAK,SAAS,SAAS,EACvD,iBAAiB,kBAAkB,CAAC,KAAK,CAAC,KACzC,kBAAkB,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAU3C,CAAC;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwGG;AACH,wBAAgB,MAAM,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1D,KAAK,EAAE,KAAK,GACX,UAAU,CAAC,KAAK,CAAC,CAAC;AAErB,wBAAgB,MAAM,CACpB,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,OAAO,SAAS,QAAQ,EACxB,IAAI,SAAS,MAAM,EACnB,QAAQ,SAAS,MAAM,EACvB,QAAQ,SAAS,SAAS,EAC1B,SAAS,SAAS,MAAM,EACxB,cAAc,SAAS,SAAS,EAChC,KAAK,SAAS,OAAO,EAErB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,UAAU,CAChB,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,cAAc,EACd,KAAK,CACN,GACA,oBAAoB,CACrB,KAAK,EACL,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,cAAc,EACd,KAAK,CACN,CAAC;AAkMF;;;GAGG;AACH,MAAM,WAAW,UAAU,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAC/D,SAAQ,IAAI,CACV,QAAQ,EACR,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EACxB,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAC5B,WAAW,CAAC;KAAG,CAAC,IAAI,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,EACzD,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAC7B,WAAW,CAAC;KAAG,CAAC,IAAI,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,CAChE;IACD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED,KAAK,OAAO,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,QAAQ,CAC5D;KACG,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAChD,GAAG;KACD,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,YAAY,CAAC,MAAM,CAAC,CAAC,GAC/D,SAAS,CAAC,CAAC,CAAC,GACZ,KAAK;CACV,CACF,CAAC;AAEF,KAAK,WAAW,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,QAAQ,CAChE;KACG,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CACjD,GAAG;KACD,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,YAAY,CAAC,MAAM,CAAC,CAAC,GAC/D,UAAU,CAAC,CAAC,CAAC,GACb,KAAK;CACV,CACF,CAAC;AAEF,KAAK,YAAY,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,QAAQ,CACjE;KACG,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAClD,GAAG;KACD,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,YAAY,CAAC,MAAM,CAAC,CAAC,GAC/D,WAAW,CAAC,CAAC,CAAC,GACd,KAAK;CACV,CACF,CAAC;AAEF,KAAK,YAAY,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,OAAO,CAChE,MAAM,KAAK,EACX,YAAY,CAAC,KAAK,CAAC,CACpB,CAAC;AAEF,KAAK,YAAY,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;KACxD,CAAC,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK;CACnE,CAAC,MAAM,KAAK,CAAC,CAAC;AAEf,MAAM,WAAW,WAAW,CAC1B,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CACzE,SAAQ,mBAAmB,CACzB,QAAQ,EACN;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAC9B;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CACvC,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAAE,CAC5E;CAAG;AAEN;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,CAAC,IACzD,CAAC,SAAS,UAAU,CAAC,MAAM,KAAK,CAAC,GAC7B,WAAW,CAAC;KAAG,CAAC,IAAI,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,GAC1D,KAAK,CAAC;AAEZ,eAAO,MAAM,iBAAiB,GAAI,KAAK,SAAS,SAAS,EACvD,iBAAiB,kBAAkB,CAAC,KAAK,CAAC,KACzC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAepD,CAAC;AAEL;;;GAGG;AACH,MAAM,WAAW,oBAAoB,CACnC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,OAAO,SAAS,QAAQ,EACxB,IAAI,SAAS,MAAM,EACnB,QAAQ,SAAS,MAAM,EACvB,QAAQ,SAAS,SAAS,EAC1B,SAAS,SAAS,MAAM,EACxB,cAAc,SAAS,SAAS,EAChC,KAAK,SAAS,OAAO,CACrB,SAAQ,IAAI,CACV,kBAAkB,EAClB,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EACnE,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAC1B,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAC/C,qBAAqB,CACnB;KAAG,CAAC,IAAI,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAAE,EAC5C,QAAQ,EACR,UAAU,CAAC,KAAK,CAAC,CAClB,EACD,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,GAC3B,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EACjD,qBAAqB,CACnB;KAAG,CAAC,IAAI,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAAE,EAClD,cAAc,EACd,gBAAgB,CAAC,KAAK,CAAC,CACxB,CACF;IACD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,UAAU,CACzB,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,cAAc,EACd,KAAK,CACN,CAAC;CACH;AAED,MAAM,WAAW,qBAAqB,CACpC,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EACzE,QAAQ,SAAS,SAAS,GAAG,SAAS,EACtC,UAAU,SAAS,SAAS,GAAG,SAAS,CACxC,SAAQ,mBAAmB,CACzB,kBAAkB,EAChB;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAC9B;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;CAAE,GACjE;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;CAC1B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;CAC5B,CACJ;CAAG;AAEN,eAAO,MAAM,2BAA2B,GAAI,KAAK,SAAS,SAAS,EACjE,iBAAiB,kBAAkB,CAAC,KAAK,CAAC,KACzC,kBAAkB,CACnB,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAiBxD,CAAC;AAEL;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,KAAK,CACnB,OAAO,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,EAC7D,GAAG,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;AAE3C,wBAAgB,KAAK,CACnB,QAAQ,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,EAE9D,GAAG,QAAQ,EAAE,QAAQ,GACpB,SAAS,CAAC;KACV,CAAC,IAAI,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;CAChD,CAAC,CAAC;AAuDH;;;GAGG;AACH,MAAM,WAAW,SAAS,CAAC,OAAO,SAAS,CAAC,OAAO,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAC7E,SAAQ,IAAI,CACV,OAAO,EACP,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAC1B,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAC3B,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EACxC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAC3B,KAAK,CACN;IACD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,CACzD,SAAQ,SAAS,CAAC,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;CAC3B;AAED,eAAO,MAAM,gBAAgB,GAAI,KAAK,SAAS,SAAS,EACtD,iBAAiB,kBAAkB,CAAC,KAAK,CAAC,KACzC,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAOnC,CAAC;AAEL,eAAO,MAAM,WAAW,GACtB,GAAG,OAAO,KACT,CAAC,IAAI,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CACqB,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,SAAS,GAAI,UAAU,SAAS,OAAO,EAClD,QAAQ,MAAM,UAAU,KACvB,aAAa,CAAC,UAAU,CAyC1B,CAAC;AAEF,MAAM,WAAW,aAAa,CAAC,UAAU,SAAS,OAAO,CACvD,SAAQ,IAAI,CACV,WAAW,EACX,SAAS,CAAC,UAAU,CAAC,EACrB,UAAU,CAAC,UAAU,CAAC,EACtB,UAAU,CAAC,UAAU,CAAC,EACtB,WAAW,CAAC,UAAU,CAAC,EACvB,gBAAgB,CAAC,UAAU,CAAC,CAC7B;IACD,aAAa,IAAI,UAAU,CAAC;CAC7B;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,GAAI,CAAC,SAAS,OAAO,EACtC,MAAM,CAAC,KACN,SAAS,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAsB,CAAC;AAEpD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,OAAO,EAC3C,MAAM,CAAC,KACN,SAAS,CAAC,CAAC,OAAO,SAAS,EAAE,CAAC,CAAC,CAA2B,CAAC;AAE9D;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,OAAO,EACzC,MAAM,CAAC,KACN,SAAS,CAAC,CAAC,OAAO,SAAS,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,CACjB,CAAC;AAE/B;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,KAAK,GAAI,QAAQ,SAAS,CAAC,OAAO,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,EACzE,GAAG,UAAU,QAAQ,KACpB,SAAS,CAAC,QAAQ,CAwFpB,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,SAAS,CACxB,QAAQ,SAAS,SAAS,CAAC,OAAO,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAC9D,SAAQ,IAAI,CACV,OAAO,EACP,SAAS,CAAC,GAAG;KAAG,CAAC,IAAI,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,EAC/D,SAAS,CAAC,GAAG;KAAG,CAAC,IAAI,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,EAChE,UAAU,CAAC;KAAG,CAAC,IAAI,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,MAAM,CAAC,CAAC,EACtE,SAAS,CAAC,GAAG;KAAG,CAAC,IAAI,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,EACjE,UAAU,CAAC;KAAG,CAAC,IAAI,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,MAAM,CAAC,CAAC,CAC7E;IACD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B;AAED,MAAM,WAAW,UAAU,CAAC,YAAY,SAAS,SAAS,GAAG,SAAS,CACpE,SAAQ,mBAAmB,CACzB,OAAO,EACL;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC7D;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC9B,CACJ;CAAG;AAEN,eAAO,MAAM,gBAAgB,GAAI,KAAK,SAAS,SAAS,EACtD,iBAAiB,kBAAkB,CAAC,KAAK,CAAC,KACzC,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAQnC,CAAC;AAEL;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,KAAK,+GAIjB,CAAC;AACF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAC;AACtC,MAAM,WAAW,UAAW,SAAQ,SAAS,CAAC,OAAO,CAAC;CAAG;AAEzD,eAAO,MAAM,gBAAgB,gCAG5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,0KAS5B,CAAC;AAEF,MAAM,WAAW,qBAAsB,SAAQ,SAAS,CAAC,kBAAkB,CAAC;CAAG;AAE/E,eAAO,MAAM,2BAA2B,2CAGrC,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,WAAW,qHAOtB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC;AAElD,MAAM,WAAW,gBAAiB,SAAQ,SAAS,CAAC,aAAa,CAAC;CAAG;AAErE,eAAO,MAAM,sBAAsB,sCAGhC,CAAC;AAEJ,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,YAAY,GACZ,OAAO,GACP,IAAI,GACJ,SAAS,GACT,UAAU,CAAC;AAEf,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,cAAc,GACd,eAAe,CAAC;AAEpB,MAAM,MAAM,cAAc,GAAG,UAAU,CACnC,WAAW,GACX,YAAY,GACZ,SAAS,GACT,WAAW,GACX,WAAW,GACX,UAAU,CAAC,cAAc,CAAC,GAC1B,WAAW,CAAC,WAAW,EAAE,cAAc,CAAC,CAC3C,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,cAAc,CAAC;CACxC;AAED,MAAM,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AACjD,MAAM,MAAM,cAAc,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,SAAS,4lBAmCrB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,SAAS,umBAAmB,CAAC;AAE1C;;;;GAIG;AACH,eAAO,MAAM,UAAU,oqBAA4B,CAAC;AAEpD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,mBAAmB,usBAa/B,CAAC;AAEF,MAAM,WAAW,wBACf,SAAQ,SAAS,CAAC,qBAAqB,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,8BAA8B,8CAGxC,CAAC;AAEJ;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,IAAI,6GASf,CAAC;AAEH,MAAM,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,CAAC;AAEpC,MAAM,WAAW,SAAU,SAAQ,SAAS,CAAC,MAAM,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,eAAe,+BAE3B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,OAAO,EAAE,MAAM,CAAC,KAAG,YAAY,CAAC,CAAC,CAQlE,CAAC;AAEH,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,OAAO,CAC7C,SAAQ,IAAI,CACV,UAAU,EACV,SAAS,CAAC,CAAC,CAAC,EACZ,UAAU,CAAC,CAAC,CAAC,EACb,UAAU,CAAC,CAAC,CAAC,EACb,WAAW,CAAC,CAAC,CAAC,EACd,gBAAgB,CAAC,CAAC,CAAC,CACpB;IACD,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;CACpB;AAED,6DAA6D;AAC7D,eAAO,MAAM,cAAc,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,YAAY,CAAC,GAAG,CACW,CAAC;AAE7E;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,OAAO,GAAI,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,OAAO,KAAK,KACX,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAE,CAQ3D,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAAI,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtE,OAAO,KAAK,KACX,UAAU,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAc3C,CAAC;AAEF,MAAM,MAAM,uBAAuB,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;KAC1E,CAAC,IAAI,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,OAAO,IAC7C,eAAe,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAExD,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,OAAO,IAC3C,CAAC,SAAS,SAAS,CAAC,MAAM,OAAO,CAAC,GAC9B,OAAO,SAAS,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,GAC1C,iBAAiB,CAAC,OAAO,CAAC,GAC1B,KAAK,GACP,KAAK,CAAC;AAEZ,MAAM,MAAM,iBAAiB,CAAC,OAAO,SAAS,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IACxE,OAAO,SAAS,CAAC,MAAM,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,GACvC,IAAI,SAAS,OAAO,IAAI,GACtB,IAAI,GACJ,IAAI,SAAS,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,GACvC,iBAAiB,CAAC,IAAI,CAAC,GACvB,KAAK,GACT,KAAK,CAAC;AAEZ;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,UAAU,CAAC,GAAG,CAAC,EAAE,IAAI,SAAS,MAAM,CAAC,CAAC,OAAO,CAAC,EAC3E,UAAU,EAAE,CAAC,EACb,GAAG,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,GAC3B,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,CAUpC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,OAAO,EAAE,IAAI,SAAS,QAAQ,EAC3D,MAAM,CAAC,EACP,MAAM,IAAI,KACT,aAAa,CACd,CAAC,EACD,SAAS,CACP,OAAO,MAAM,EACb,IAAI,EACJ,wBAAwB,GAAG,CAAC,CAAC,QAAQ,CAAC,EACtC,WAAW,CACZ,CAsBF,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,UAAU,CAAC,WAAW,SAAS,SAAS,GAAG,KAAK,IACxD,WAAW,GACX,WAAW,GACX,WAAW,GACX,YAAY,GACZ,cAAc,GACd,SAAS,GACT,aAAa,GACb,eAAe,GACf,eAAe,GACf,cAAc,GACd,iBAAiB,GACjB,kBAAkB,GAClB,YAAY,GACZ,cAAc,GACd,cAAc,GACd,WAAW,GACX,aAAa,GACb,UAAU,GACV,WAAW,GACX,mBAAmB,GACnB,OAAO,GACP,aAAa,GACb,aAAa,GACb,gBAAgB,GAChB,gBAAgB,GAChB,QAAQ,GACR,gBAAgB,GAChB,aAAa,GACb,yBAAyB,GACzB,sBAAsB,GACtB,WAAW,GACX,WAAW,GACX,eAAe,GACf,YAAY,GACZ,YAAY,GACZ,UAAU,GACV,qBAAqB,GACrB,gBAAgB,GAChB,wBAAwB,GACxB,SAAS,GACT,WAAW,GAEX,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,GACnC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,GAC7D,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,GACpD,qBAAqB,CACnB,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,EACvC,UAAU,CAAC,WAAW,CAAC,EACvB,UAAU,CAAC,WAAW,CAAC,CACxB,GACD,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,GACnC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;AAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2EG;AACH,eAAO,MAAM,qBAAqB,GAAI,WAAW,SAAS,SAAS,GAAG,KAAK,EACzE,iBAAiB,kBAAkB,CAAC,WAAW,CAAC,KAC/C,kBAAkB,CAAC,UAAU,CAAC,WAAW,CAAC,CA0G5C,CAAC"}
|
|
1
|
+
{"version":3,"file":"Type.d.ts","sourceRoot":"","sources":["../../src/Type.ts"],"names":[],"mappings":"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"}
|
package/dist/src/Type.js
CHANGED
|
@@ -26,7 +26,6 @@
|
|
|
26
26
|
* simple.
|
|
27
27
|
*
|
|
28
28
|
* - Evolu `Type` is:
|
|
29
|
-
*
|
|
30
29
|
* - A TypeScript type with a {@link Brand} whenever it's possible.
|
|
31
30
|
* - A function to create a value of that type, which may fail.
|
|
32
31
|
* - A function to transform value back to its original representation, which
|
|
@@ -69,6 +68,8 @@
|
|
|
69
68
|
*
|
|
70
69
|
* @module
|
|
71
70
|
*/
|
|
71
|
+
import { utf8ToBytes } from "@noble/ciphers/utils";
|
|
72
|
+
import { sha256 } from "@noble/hashes/sha2";
|
|
72
73
|
import * as bip39 from "@scure/bip39";
|
|
73
74
|
import { wordlist } from "@scure/bip39/wordlists/english";
|
|
74
75
|
import { assert } from "./Assert.js";
|
|
@@ -518,6 +519,11 @@ export const formatRegexError = createTypeErrorFormatter((error) => `Value ${err
|
|
|
518
519
|
* @category String
|
|
519
520
|
*/
|
|
520
521
|
export const Base64Url = regex("Base64Url", /^[A-Za-z0-9_-]+$/)(String);
|
|
522
|
+
/**
|
|
523
|
+
* Alphabet used for Base64Url encoding. This is copied from the `nanoid`
|
|
524
|
+
* library to avoid dependency on a specific version of `nanoid`.
|
|
525
|
+
*/
|
|
526
|
+
export const base64UrlAlphabet = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
|
|
521
527
|
/**
|
|
522
528
|
* Simple alphanumeric string for naming.
|
|
523
529
|
*
|
|
@@ -575,9 +581,60 @@ export const idTypeValueLength = 21;
|
|
|
575
581
|
* ```ts
|
|
576
582
|
* // string & Brand<"Id">
|
|
577
583
|
* const id = createId(deps);
|
|
584
|
+
*
|
|
585
|
+
* // string & Brand<"Id"> & Brand<"Todo">
|
|
586
|
+
* const todoId = createId<"Todo">(deps);
|
|
578
587
|
* ```
|
|
579
588
|
*/
|
|
580
589
|
export const createId = (deps) => deps.nanoIdLib.nanoid();
|
|
590
|
+
/**
|
|
591
|
+
* Creates an {@link Id} from a string using SHA-256.
|
|
592
|
+
*
|
|
593
|
+
* Evolu table IDs must follow a fixed 21-character NanoID format. When
|
|
594
|
+
* integrating with external systems that use different ID formats, use this
|
|
595
|
+
* function to convert external IDs into valid Evolu IDs.
|
|
596
|
+
*
|
|
597
|
+
* In Evolu's CRDT, the ID serves as the unique identifier for conflict
|
|
598
|
+
* resolution across distributed clients. When multiple clients create records
|
|
599
|
+
* with the same external identifier, they must resolve to the same Evolu ID to
|
|
600
|
+
* ensure data consistency.
|
|
601
|
+
*
|
|
602
|
+
* ### Example
|
|
603
|
+
*
|
|
604
|
+
* ```ts
|
|
605
|
+
* // Both clients will generate the same ID
|
|
606
|
+
* const id1 = createIdFromString("user-api-123");
|
|
607
|
+
* const id2 = createIdFromString("user-api-123");
|
|
608
|
+
* console.log(id1 === id2); // true
|
|
609
|
+
*
|
|
610
|
+
* upsert("todo", {
|
|
611
|
+
* id: createIdFromString("external-todo-456"),
|
|
612
|
+
* title: "Synced from external system",
|
|
613
|
+
* });
|
|
614
|
+
* ```
|
|
615
|
+
*
|
|
616
|
+
* **Important**: This transformation is one-way. You cannot recover the
|
|
617
|
+
* original external string from the generated {@link Id}. If you need to
|
|
618
|
+
* preserve the original external ID, store it in a separate column.
|
|
619
|
+
*
|
|
620
|
+
* @category String
|
|
621
|
+
*/
|
|
622
|
+
export const createIdFromString = (value) => {
|
|
623
|
+
const hash = sha256(utf8ToBytes(value)); // 32 bytes = 256 bits
|
|
624
|
+
let output = "";
|
|
625
|
+
let buffer = 0;
|
|
626
|
+
let bits = 0;
|
|
627
|
+
for (let i = 0; i < hash.length && output.length < 21; i++) {
|
|
628
|
+
buffer = (buffer << 8) | hash[i]; // push 8 bits
|
|
629
|
+
bits += 8;
|
|
630
|
+
while (bits >= 6 && output.length < 21) {
|
|
631
|
+
bits -= 6;
|
|
632
|
+
const index = (buffer >> bits) & 0b111111; // extract top 6 bits
|
|
633
|
+
output += base64UrlAlphabet[index];
|
|
634
|
+
}
|
|
635
|
+
}
|
|
636
|
+
return output;
|
|
637
|
+
};
|
|
581
638
|
/**
|
|
582
639
|
* Type Factory to create branded {@link Id} Type for a specific table.
|
|
583
640
|
*
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@evolu/common",
|
|
3
|
-
"version": "6.0.1-preview.
|
|
3
|
+
"version": "6.0.1-preview.11",
|
|
4
4
|
"description": "TypeScript library and local-first framework",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"evolu",
|
|
@@ -54,10 +54,10 @@
|
|
|
54
54
|
"@bokuweb/zstd-wasm": "0.0.27",
|
|
55
55
|
"@types/better-sqlite3": "^7.6.13",
|
|
56
56
|
"@types/ws": "^8.18.1",
|
|
57
|
-
"better-sqlite3": "^
|
|
57
|
+
"better-sqlite3": "^12.1.1",
|
|
58
58
|
"shx": "^0.3.4",
|
|
59
59
|
"typescript": "^5.8.3",
|
|
60
|
-
"vitest": "^3.2.
|
|
60
|
+
"vitest": "^3.2.3",
|
|
61
61
|
"ws": "^8.18.2",
|
|
62
62
|
"@evolu/tsconfig": "0.0.2"
|
|
63
63
|
},
|
package/src/Assert.ts
CHANGED
|
@@ -32,9 +32,12 @@ import type { Type } from "./Type.js";
|
|
|
32
32
|
* assert(true, "true is not true"); // no-op
|
|
33
33
|
* assert(false, "true is not true"); // throws Error
|
|
34
34
|
*
|
|
35
|
-
* const
|
|
36
|
-
* //
|
|
37
|
-
* assert(
|
|
35
|
+
* const length = buffer.getLength();
|
|
36
|
+
* // We know length is logically non-negative, but TypeScript doesn't
|
|
37
|
+
* assert(
|
|
38
|
+
* NonNegativeInt.is(length),
|
|
39
|
+
* "buffer length should be non-negative",
|
|
40
|
+
* );
|
|
38
41
|
* ```
|
|
39
42
|
*/
|
|
40
43
|
export const assert: (
|
package/src/Crypto.ts
CHANGED
|
@@ -189,3 +189,16 @@ export const padmePaddedLength = (length: NonNegativeInt): NonNegativeInt => {
|
|
|
189
189
|
export const padmePaddingLength = (length: NonNegativeInt): NonNegativeInt => {
|
|
190
190
|
return (padmePaddedLength(length) - length) as NonNegativeInt;
|
|
191
191
|
};
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* Performs a timing-safe comparison of two Uint8Arrays. Returns true if they
|
|
195
|
+
* are equal, false otherwise. Takes constant time regardless of where the
|
|
196
|
+
* arrays differ.
|
|
197
|
+
*
|
|
198
|
+
* @see https://nodejs.org/api/crypto.html#cryptotimingsafeequala-b
|
|
199
|
+
*/
|
|
200
|
+
export type TimingSafeEqual = (a: Uint8Array, b: Uint8Array) => boolean;
|
|
201
|
+
|
|
202
|
+
export interface TimingSafeEqualDep {
|
|
203
|
+
readonly timingSafeEqual: TimingSafeEqual;
|
|
204
|
+
}
|
package/src/Evolu/Config.ts
CHANGED
|
@@ -5,9 +5,12 @@ import type { DbIndexesBuilder } from "./Kysely.js";
|
|
|
5
5
|
|
|
6
6
|
export interface Config extends ConsoleConfig {
|
|
7
7
|
/**
|
|
8
|
-
* The name of Evolu
|
|
9
|
-
* instances concurrently.
|
|
10
|
-
*
|
|
8
|
+
* The name of the Evolu instance. Evolu is multitenant - it can run multiple
|
|
9
|
+
* instances concurrently. Each instance must have a unique name.
|
|
10
|
+
*
|
|
11
|
+
* The instance name is used as the SQLite database filename for persistent
|
|
12
|
+
* storage, ensuring that database files are separated and invisible to each
|
|
13
|
+
* other.
|
|
11
14
|
*
|
|
12
15
|
* The default value is: `Evolu`.
|
|
13
16
|
*
|
|
@@ -22,7 +25,7 @@ export interface Config extends ConsoleConfig {
|
|
|
22
25
|
/**
|
|
23
26
|
* URL for Evolu sync and backup server.
|
|
24
27
|
*
|
|
25
|
-
* The default value is `
|
|
28
|
+
* The default value is `wss://free.evoluhq.com`.
|
|
26
29
|
*/
|
|
27
30
|
readonly syncUrl: string;
|
|
28
31
|
|
|
@@ -68,6 +71,17 @@ export interface Config extends ConsoleConfig {
|
|
|
68
71
|
* until special UX requirements are needed (e.g., multitenancy).
|
|
69
72
|
*/
|
|
70
73
|
readonly mnemonic?: Mnemonic;
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Use in-memory SQLite database instead of persistent storage. Useful for
|
|
77
|
+
* testing or temporary data that doesn't need persistence.
|
|
78
|
+
*
|
|
79
|
+
* In-memory databases exist only in RAM and are completely destroyed when
|
|
80
|
+
* the process ends, making them forensically safe for sensitive data.
|
|
81
|
+
*
|
|
82
|
+
* The default value is: `false`.
|
|
83
|
+
*/
|
|
84
|
+
readonly inMemory?: boolean;
|
|
71
85
|
}
|
|
72
86
|
|
|
73
87
|
export interface ConfigDep {
|
|
@@ -76,7 +90,7 @@ export interface ConfigDep {
|
|
|
76
90
|
|
|
77
91
|
export const defaultConfig: Config = {
|
|
78
92
|
name: getOrThrow(SimpleName.fromParent("Evolu")),
|
|
79
|
-
syncUrl: "
|
|
93
|
+
syncUrl: "wss://free.evoluhq.com",
|
|
80
94
|
reloadUrl: "/",
|
|
81
95
|
maxDrift: 5 * 60 * 1000,
|
|
82
96
|
enableLogging: false,
|