@prosopo/database 3.15.19 → 3.15.21

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.
Files changed (38) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +20 -17
  2. package/.turbo/turbo-build$colon$tsc.log +16 -16
  3. package/.turbo/turbo-build.log +21 -18
  4. package/CHANGELOG.md +24 -0
  5. package/dist/_virtual/_rolldown/runtime.js +3 -0
  6. package/dist/base/index.js +1 -4
  7. package/dist/base/mongo.js +133 -137
  8. package/dist/base/mongoMemory.js +21 -21
  9. package/dist/cjs/_virtual/_rolldown/runtime.cjs +23 -0
  10. package/dist/cjs/base/index.cjs +4 -6
  11. package/dist/cjs/base/mongo.cjs +140 -143
  12. package/dist/cjs/base/mongoMemory.cjs +22 -22
  13. package/dist/cjs/databases/captcha.cjs +220 -256
  14. package/dist/cjs/databases/centralDbStreamer.cjs +148 -170
  15. package/dist/cjs/databases/client.cjs +46 -62
  16. package/dist/cjs/databases/index.cjs +19 -19
  17. package/dist/cjs/databases/provider.cjs +1827 -2251
  18. package/dist/cjs/index.cjs +25 -23
  19. package/dist/cjs/mongooseOptions.cjs +59 -58
  20. package/dist/cjs/redisCache.cjs +432 -474
  21. package/dist/databases/captcha.d.ts.map +1 -1
  22. package/dist/databases/captcha.js +217 -253
  23. package/dist/databases/captcha.js.map +1 -1
  24. package/dist/databases/centralDbStreamer.js +147 -169
  25. package/dist/databases/client.js +44 -60
  26. package/dist/databases/index.js +10 -14
  27. package/dist/databases/provider.d.ts +4 -4
  28. package/dist/databases/provider.d.ts.map +1 -1
  29. package/dist/databases/provider.js +1823 -2247
  30. package/dist/databases/provider.js.map +1 -1
  31. package/dist/index.js +9 -18
  32. package/dist/mongooseOptions.js +59 -59
  33. package/dist/redisCache.js +432 -474
  34. package/dist/tests/integration/saveCaptchasSessionUpsert.integration.test.d.ts +2 -0
  35. package/dist/tests/integration/saveCaptchasSessionUpsert.integration.test.d.ts.map +1 -0
  36. package/dist/tests/integration/saveCaptchasSessionUpsert.integration.test.js +64 -0
  37. package/dist/tests/integration/saveCaptchasSessionUpsert.integration.test.js.map +1 -0
  38. package/package.json +14 -14
@@ -1,171 +1,149 @@
1
- import { getLogger } from "@prosopo/logger";
2
1
  import { CaptchaDatabase } from "./captcha.js";
3
- class CentralDbStreamer {
4
- constructor(mongoCaptchaUri, logger) {
5
- this.lastFailureTime = 0;
6
- this.logger = logger || getLogger("info", "CentralDbStreamer");
7
- this.db = new CaptchaDatabase(
8
- mongoCaptchaUri,
9
- void 0,
10
- void 0,
11
- this.logger
12
- );
13
- }
14
- static {
15
- this.RECONNECT_COOLDOWN_MS = 5e3;
16
- }
17
- ensureConnected() {
18
- if (this.connectPromise && !this.db.connected) {
19
- this.connectPromise = void 0;
20
- }
21
- if (!this.connectPromise) {
22
- const elapsed = Date.now() - this.lastFailureTime;
23
- if (elapsed < CentralDbStreamer.RECONNECT_COOLDOWN_MS) {
24
- return Promise.reject(
25
- new Error("CentralDbStreamer reconnect cooldown")
26
- );
27
- }
28
- this.connectPromise = this.db.connect().catch((err) => {
29
- this.logger.error(() => ({
30
- err,
31
- msg: "CentralDbStreamer failed to connect"
32
- }));
33
- this.lastFailureTime = Date.now();
34
- this.connectPromise = void 0;
35
- throw err;
36
- });
37
- }
38
- return this.connectPromise;
39
- }
40
- getRecordTimestamp(record) {
41
- return record.lastUpdatedTimestamp ?? record.createdAt ?? record.requestedAtTimestamp ?? /* @__PURE__ */ new Date();
42
- }
43
- /**
44
- * Stream a PoW captcha record (create or update) to the central DB.
45
- * Fire-and-forget: errors are logged, never thrown.
46
- */
47
- streamPowRecord(record, markStored) {
48
- const timestamp = this.getRecordTimestamp(record);
49
- this.ensureConnected().then(() => {
50
- const { _id, ...safeDoc } = record;
51
- return this.db.tables.powcaptcha.updateOne(
52
- { challenge: safeDoc.challenge },
53
- { $set: safeDoc },
54
- { upsert: true }
55
- );
56
- }).then(() => markStored?.(timestamp)).catch((err) => {
57
- this.logger.error(() => ({
58
- err,
59
- msg: "Failed to stream PoW record to central DB"
60
- }));
61
- });
62
- }
63
- /**
64
- * Stream a partial PoW update by fetching the full record first, then upserting.
65
- */
66
- streamPowUpdate(getFullRecord, markStored) {
67
- getFullRecord().then((record) => {
68
- if (record) {
69
- this.streamPowRecord(record, markStored);
70
- }
71
- }).catch((err) => {
72
- this.logger.error(() => ({
73
- err,
74
- msg: "Failed to fetch PoW record for central DB streaming"
75
- }));
76
- });
77
- }
78
- /**
79
- * Stream an image captcha commitment record to the central DB.
80
- * Fire-and-forget: errors are logged, never thrown.
81
- */
82
- streamImageRecord(record, markStored) {
83
- const timestamp = this.getRecordTimestamp(record);
84
- this.ensureConnected().then(() => {
85
- const { _id, ...safeDoc } = record;
86
- return this.db.tables.commitment.updateOne(
87
- { id: safeDoc.id },
88
- { $set: safeDoc },
89
- { upsert: true }
90
- );
91
- }).then(() => markStored?.(timestamp)).catch((err) => {
92
- this.logger.error(() => ({
93
- err,
94
- msg: "Failed to stream image record to central DB"
95
- }));
96
- });
97
- }
98
- /**
99
- * Stream an image captcha update by fetching the full record first.
100
- */
101
- streamImageUpdate(getFullRecord, markStored) {
102
- getFullRecord().then((record) => {
103
- if (record) {
104
- this.streamImageRecord(record, markStored);
105
- }
106
- }).catch((err) => {
107
- this.logger.error(() => ({
108
- err,
109
- msg: "Failed to fetch image record for central DB streaming"
110
- }));
111
- });
112
- }
113
- /**
114
- * Stream a puzzle captcha record (create or update) to the central DB.
115
- * Fire-and-forget: errors are logged, never thrown.
116
- */
117
- streamPuzzleRecord(record, markStored) {
118
- const timestamp = this.getRecordTimestamp(record);
119
- this.ensureConnected().then(() => {
120
- const { _id, ...safeDoc } = record;
121
- return this.db.tables.puzzlecaptcha.updateOne(
122
- { challenge: safeDoc.challenge },
123
- { $set: safeDoc },
124
- { upsert: true }
125
- );
126
- }).then(() => markStored?.(timestamp)).catch((err) => {
127
- this.logger.error(() => ({
128
- err,
129
- msg: "Failed to stream puzzle record to central DB"
130
- }));
131
- });
132
- }
133
- /**
134
- * Stream a partial puzzle update by fetching the full record first, then upserting.
135
- */
136
- streamPuzzleUpdate(getFullRecord, markStored) {
137
- getFullRecord().then((record) => {
138
- if (record) {
139
- this.streamPuzzleRecord(record, markStored);
140
- }
141
- }).catch((err) => {
142
- this.logger.error(() => ({
143
- err,
144
- msg: "Failed to fetch puzzle record for central DB streaming"
145
- }));
146
- });
147
- }
148
- /**
149
- * Stream a session record to the central DB.
150
- * Fire-and-forget: errors are logged, never thrown.
151
- */
152
- streamSessionRecord(record, markStored) {
153
- const timestamp = this.getRecordTimestamp(record);
154
- this.ensureConnected().then(() => {
155
- const { _id, ...safeDoc } = record;
156
- return this.db.tables.session.updateOne(
157
- { sessionId: safeDoc.sessionId },
158
- { $set: safeDoc },
159
- { upsert: true }
160
- );
161
- }).then(() => markStored?.(timestamp)).catch((err) => {
162
- this.logger.error(() => ({
163
- err,
164
- msg: "Failed to stream session record to central DB"
165
- }));
166
- });
167
- }
168
- }
169
- export {
170
- CentralDbStreamer
2
+ import { getLogger } from "@prosopo/logger";
3
+ //#region src/databases/centralDbStreamer.ts
4
+ /**
5
+ * Fire-and-forget streamer that sends captcha records to a central database
6
+ * in real-time. Errors are logged but never thrown, so local operations
7
+ * are never blocked or disrupted.
8
+ *
9
+ * Unlike the batch `saveCaptchas()` method on CaptchaDatabase, this maintains
10
+ * a persistent connection and upserts individual records as they arrive.
11
+ *
12
+ * After a successful central write, the provided `markStored` callback is
13
+ * called with the record's `lastUpdatedTimestamp` so the batch cron can
14
+ * determine whether the stored version is still current.
15
+ */
16
+ var CentralDbStreamer = class CentralDbStreamer {
17
+ static {
18
+ this.RECONNECT_COOLDOWN_MS = 5e3;
19
+ }
20
+ constructor(mongoCaptchaUri, logger) {
21
+ this.lastFailureTime = 0;
22
+ this.logger = logger || getLogger("info", "CentralDbStreamer");
23
+ this.db = new CaptchaDatabase(mongoCaptchaUri, void 0, void 0, this.logger);
24
+ }
25
+ ensureConnected() {
26
+ if (this.connectPromise && !this.db.connected) this.connectPromise = void 0;
27
+ if (!this.connectPromise) {
28
+ if (Date.now() - this.lastFailureTime < CentralDbStreamer.RECONNECT_COOLDOWN_MS) return Promise.reject(/* @__PURE__ */ new Error("CentralDbStreamer reconnect cooldown"));
29
+ this.connectPromise = this.db.connect().catch((err) => {
30
+ this.logger.error(() => ({
31
+ err,
32
+ msg: "CentralDbStreamer failed to connect"
33
+ }));
34
+ this.lastFailureTime = Date.now();
35
+ this.connectPromise = void 0;
36
+ throw err;
37
+ });
38
+ }
39
+ return this.connectPromise;
40
+ }
41
+ getRecordTimestamp(record) {
42
+ return record.lastUpdatedTimestamp ?? record.createdAt ?? record.requestedAtTimestamp ?? /* @__PURE__ */ new Date();
43
+ }
44
+ /**
45
+ * Stream a PoW captcha record (create or update) to the central DB.
46
+ * Fire-and-forget: errors are logged, never thrown.
47
+ */
48
+ streamPowRecord(record, markStored) {
49
+ const timestamp = this.getRecordTimestamp(record);
50
+ this.ensureConnected().then(() => {
51
+ const { _id, ...safeDoc } = record;
52
+ return this.db.tables.powcaptcha.updateOne({ challenge: safeDoc.challenge }, { $set: safeDoc }, { upsert: true });
53
+ }).then(() => markStored?.(timestamp)).catch((err) => {
54
+ this.logger.error(() => ({
55
+ err,
56
+ msg: "Failed to stream PoW record to central DB"
57
+ }));
58
+ });
59
+ }
60
+ /**
61
+ * Stream a partial PoW update by fetching the full record first, then upserting.
62
+ */
63
+ streamPowUpdate(getFullRecord, markStored) {
64
+ getFullRecord().then((record) => {
65
+ if (record) this.streamPowRecord(record, markStored);
66
+ }).catch((err) => {
67
+ this.logger.error(() => ({
68
+ err,
69
+ msg: "Failed to fetch PoW record for central DB streaming"
70
+ }));
71
+ });
72
+ }
73
+ /**
74
+ * Stream an image captcha commitment record to the central DB.
75
+ * Fire-and-forget: errors are logged, never thrown.
76
+ */
77
+ streamImageRecord(record, markStored) {
78
+ const timestamp = this.getRecordTimestamp(record);
79
+ this.ensureConnected().then(() => {
80
+ const { _id, ...safeDoc } = record;
81
+ return this.db.tables.commitment.updateOne({ id: safeDoc.id }, { $set: safeDoc }, { upsert: true });
82
+ }).then(() => markStored?.(timestamp)).catch((err) => {
83
+ this.logger.error(() => ({
84
+ err,
85
+ msg: "Failed to stream image record to central DB"
86
+ }));
87
+ });
88
+ }
89
+ /**
90
+ * Stream an image captcha update by fetching the full record first.
91
+ */
92
+ streamImageUpdate(getFullRecord, markStored) {
93
+ getFullRecord().then((record) => {
94
+ if (record) this.streamImageRecord(record, markStored);
95
+ }).catch((err) => {
96
+ this.logger.error(() => ({
97
+ err,
98
+ msg: "Failed to fetch image record for central DB streaming"
99
+ }));
100
+ });
101
+ }
102
+ /**
103
+ * Stream a puzzle captcha record (create or update) to the central DB.
104
+ * Fire-and-forget: errors are logged, never thrown.
105
+ */
106
+ streamPuzzleRecord(record, markStored) {
107
+ const timestamp = this.getRecordTimestamp(record);
108
+ this.ensureConnected().then(() => {
109
+ const { _id, ...safeDoc } = record;
110
+ return this.db.tables.puzzlecaptcha.updateOne({ challenge: safeDoc.challenge }, { $set: safeDoc }, { upsert: true });
111
+ }).then(() => markStored?.(timestamp)).catch((err) => {
112
+ this.logger.error(() => ({
113
+ err,
114
+ msg: "Failed to stream puzzle record to central DB"
115
+ }));
116
+ });
117
+ }
118
+ /**
119
+ * Stream a partial puzzle update by fetching the full record first, then upserting.
120
+ */
121
+ streamPuzzleUpdate(getFullRecord, markStored) {
122
+ getFullRecord().then((record) => {
123
+ if (record) this.streamPuzzleRecord(record, markStored);
124
+ }).catch((err) => {
125
+ this.logger.error(() => ({
126
+ err,
127
+ msg: "Failed to fetch puzzle record for central DB streaming"
128
+ }));
129
+ });
130
+ }
131
+ /**
132
+ * Stream a session record to the central DB.
133
+ * Fire-and-forget: errors are logged, never thrown.
134
+ */
135
+ streamSessionRecord(record, markStored) {
136
+ const timestamp = this.getRecordTimestamp(record);
137
+ this.ensureConnected().then(() => {
138
+ const { _id, ...safeDoc } = record;
139
+ return this.db.tables.session.updateOne({ sessionId: safeDoc.sessionId }, { $set: safeDoc }, { upsert: true });
140
+ }).then(() => markStored?.(timestamp)).catch((err) => {
141
+ this.logger.error(() => ({
142
+ err,
143
+ msg: "Failed to stream session record to central DB"
144
+ }));
145
+ });
146
+ }
171
147
  };
148
+ //#endregion
149
+ export { CentralDbStreamer };
@@ -1,63 +1,47 @@
1
+ import { MongoDatabase } from "../base/mongo.js";
1
2
  import { ProsopoDBError } from "@prosopo/common";
2
3
  import { AccountSchema, TableNames } from "@prosopo/types-database";
3
- import "../base/index.js";
4
- import { MongoDatabase } from "../base/mongo.js";
5
- const CLIENT_TABLES = [
6
- {
7
- collectionName: TableNames.accounts,
8
- modelName: "Account",
9
- schema: AccountSchema
10
- }
11
- ];
12
- class ClientDatabase extends MongoDatabase {
13
- constructor(url, dbname, authSource, logger) {
14
- super(url, dbname, authSource, logger);
15
- this.tables = {};
16
- }
17
- async connect() {
18
- await super.connect();
19
- CLIENT_TABLES.map(({ collectionName, modelName, schema }) => {
20
- if (this.connection) {
21
- this.tables[collectionName] = this.connection.model(modelName, schema);
22
- }
23
- });
24
- }
25
- getTables() {
26
- if (!this.tables) {
27
- throw new ProsopoDBError("DATABASE.TABLES_UNDEFINED", {
28
- context: { failedFuncName: this.getTables.name },
29
- logger: this.logger
30
- });
31
- }
32
- return this.tables;
33
- }
34
- async getUpdatedClients(updatedAtTimestamp) {
35
- await this.connect();
36
- const newClientRecords = await this.tables.accounts.find(
37
- {
38
- $or: [
39
- { "sites.updatedAt": { $gt: updatedAtTimestamp } },
40
- { "sites.updatedAt": { $exists: false } }
41
- ],
42
- "users.status": "active"
43
- },
44
- { "sites.siteKey": 1, "sites.settings": 1, "sites.tier": 1 }
45
- ).lean().then(
46
- (records) => records.map(
47
- (record) => ({
48
- account: record.sites.siteKey,
49
- // Rename "sites.siteKey" to "account"
50
- settings: record.sites.settings,
51
- // Rename "sites.settings" to "settings"
52
- tier: record.tier
53
- // Keep "tier" as is
54
- })
55
- )
56
- );
57
- await this.close();
58
- return newClientRecords;
59
- }
60
- }
61
- export {
62
- ClientDatabase
4
+ //#region src/databases/client.ts
5
+ var CLIENT_TABLES = [{
6
+ collectionName: TableNames.accounts,
7
+ modelName: "Account",
8
+ schema: AccountSchema
9
+ }];
10
+ var ClientDatabase = class extends MongoDatabase {
11
+ constructor(url, dbname, authSource, logger) {
12
+ super(url, dbname, authSource, logger);
13
+ this.tables = {};
14
+ }
15
+ async connect() {
16
+ await super.connect();
17
+ CLIENT_TABLES.map(({ collectionName, modelName, schema }) => {
18
+ if (this.connection) this.tables[collectionName] = this.connection.model(modelName, schema);
19
+ });
20
+ }
21
+ getTables() {
22
+ if (!this.tables) throw new ProsopoDBError("DATABASE.TABLES_UNDEFINED", {
23
+ context: { failedFuncName: this.getTables.name },
24
+ logger: this.logger
25
+ });
26
+ return this.tables;
27
+ }
28
+ async getUpdatedClients(updatedAtTimestamp) {
29
+ await this.connect();
30
+ const newClientRecords = await this.tables.accounts.find({
31
+ $or: [{ "sites.updatedAt": { $gt: updatedAtTimestamp } }, { "sites.updatedAt": { $exists: false } }],
32
+ "users.status": "active"
33
+ }, {
34
+ "sites.siteKey": 1,
35
+ "sites.settings": 1,
36
+ "sites.tier": 1
37
+ }).lean().then((records) => records.map((record) => ({
38
+ account: record.sites.siteKey,
39
+ settings: record.sites.settings,
40
+ tier: record.tier
41
+ })));
42
+ await this.close();
43
+ return newClientRecords;
44
+ }
63
45
  };
46
+ //#endregion
47
+ export { ClientDatabase };
@@ -1,21 +1,17 @@
1
- import { DatabaseTypes } from "@prosopo/types";
2
1
  import { MongoDatabase } from "../base/mongo.js";
3
2
  import { MongoMemoryDatabase } from "../base/mongoMemory.js";
4
3
  import { CaptchaDatabase } from "./captcha.js";
5
4
  import { ClientDatabase } from "./client.js";
6
5
  import { ProviderDatabase } from "./provider.js";
7
6
  import { CentralDbStreamer } from "./centralDbStreamer.js";
8
- const Databases = {
9
- [DatabaseTypes.Values.mongo]: MongoDatabase,
10
- [DatabaseTypes.Values.provider]: ProviderDatabase,
11
- [DatabaseTypes.Values.client]: ClientDatabase,
12
- [DatabaseTypes.Values.captcha]: CaptchaDatabase,
13
- [DatabaseTypes.Values.mongoMemory]: MongoMemoryDatabase
14
- };
15
- export {
16
- CaptchaDatabase,
17
- CentralDbStreamer,
18
- ClientDatabase,
19
- Databases,
20
- ProviderDatabase
7
+ import { DatabaseTypes } from "@prosopo/types";
8
+ //#region src/databases/index.ts
9
+ var Databases = {
10
+ [DatabaseTypes.Values.mongo]: MongoDatabase,
11
+ [DatabaseTypes.Values.provider]: ProviderDatabase,
12
+ [DatabaseTypes.Values.client]: ClientDatabase,
13
+ [DatabaseTypes.Values.captcha]: CaptchaDatabase,
14
+ [DatabaseTypes.Values.mongoMemory]: MongoMemoryDatabase
21
15
  };
16
+ //#endregion
17
+ export { CaptchaDatabase, CentralDbStreamer, ClientDatabase, Databases, ProviderDatabase };
@@ -4,7 +4,7 @@ import { type Captcha, type CaptchaResult, type CaptchaSolution, CaptchaStates,
4
4
  import type { SessionRecord } from "@prosopo/types-database";
5
5
  import { type ClientRecord, type IProviderDatabase, type PoWCaptchaRecord, type PuzzleCaptchaRecord, type ScheduledTaskRecord, type SpamEmailDomainRecord, type Tables, type UserCommitmentRecord, type UserSolutionRecord } from "@prosopo/types-database";
6
6
  import type { AccessRulesStorage } from "@prosopo/user-access-policy";
7
- import type { ObjectId } from "mongoose";
7
+ import type { Types } from "mongoose";
8
8
  import { MongoDatabase } from "../base/mongo.js";
9
9
  import type { CentralDbStreamer } from "./centralDbStreamer.js";
10
10
  declare enum TableNames {
@@ -111,10 +111,10 @@ export declare class ProviderDatabase extends MongoDatabase implements IProvider
111
111
  disapproveDappUserCommitment(commitmentId: string, reason?: ResultReason, coords?: [number, number][][]): Promise<void>;
112
112
  flagProcessedDappUserSolutions(captchaIds: Hash[]): Promise<void>;
113
113
  flagProcessedDappUserCommitments(commitmentIds: Hash[]): Promise<void>;
114
- getScheduledTaskStatus(taskId: ObjectId, status: ScheduledTaskStatus): Promise<ScheduledTaskRecord | undefined>;
114
+ getScheduledTaskStatus(taskId: Types.ObjectId, status: ScheduledTaskStatus): Promise<ScheduledTaskRecord | undefined>;
115
115
  getLastScheduledTaskStatus(task: ScheduledTaskNames, status?: ScheduledTaskStatus): Promise<ScheduledTaskRecord | undefined>;
116
- createScheduledTaskStatus(taskName: ScheduledTaskNames, status: ScheduledTaskStatus): Promise<ObjectId>;
117
- updateScheduledTaskStatus(taskId: ObjectId, status: ScheduledTaskStatus, result?: ScheduledTaskResult): Promise<void>;
116
+ createScheduledTaskStatus(taskName: ScheduledTaskNames, status: ScheduledTaskStatus): Promise<Types.ObjectId>;
117
+ updateScheduledTaskStatus(taskId: Types.ObjectId, status: ScheduledTaskStatus, result?: ScheduledTaskResult): Promise<void>;
118
118
  cleanupScheduledTaskStatus(status: ScheduledTaskStatus): Promise<void>;
119
119
  updateClientRecords(clientRecords: ClientRecord[]): Promise<void>;
120
120
  removeClientRecords(accounts: string[]): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/databases/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/databases/provider.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EACN,KAAK,eAAe,EAGpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACN,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,aAAa,EAEb,KAAK,kBAAkB,EACvB,WAAW,EACX,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAE1B,KAAK,uBAAuB,EAC5B,mBAAmB,EACnB,KAAK,oBAAoB,EACzB,KAAK,IAAI,EACT,KAAK,cAAc,EACnB,KAAK,0BAA0B,EAE/B,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EAEnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,OAAO,EACZ,KAAK,iBAAiB,EACtB,KAAK,cAAc,EAGnB,KAAK,cAAc,EAEnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,aAAa,EAAiB,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAIN,KAAK,YAAY,EAMjB,KAAK,iBAAiB,EAEtB,KAAK,gBAAgB,EAErB,KAAK,mBAAmB,EAGxB,KAAK,mBAAmB,EAKxB,KAAK,qBAAqB,EAE1B,KAAK,MAAM,EACX,KAAK,oBAAoB,EAEzB,KAAK,kBAAkB,EAEvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAStE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAKhE,aAAK,UAAU;IACd,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,YAAY,iBAAiB;IAC7B,SAAS,cAAc;IACvB,UAAU,eAAe;IACzB,aAAa,kBAAkB;IAC/B,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,eAAe,oBAAoB;IACnC,oBAAoB,yBAAyB;IAC7C,eAAe,oBAAoB;CACnC;AA2ED,KAAK,uBAAuB,GAAG;IAC9B,KAAK,EAAE;QACN,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,KAAK,CAAC,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,qBAAa,gBACZ,SAAQ,aACR,YAAW,iBAAiB;IAShB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAPpC,MAAM,EAAS,MAAM,CAAC,UAAU,CAAC,CAAC;IAClC,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,0BAA0B,CAAyB;IAC3D,OAAO,CAAC,sBAAsB,CAA4B;IAC1D,OAAO,CAAC,cAAc,CAAS;gBAEF,OAAO,EAAE,uBAAuB;IAc7D,oBAAoB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAIvD,oBAAoB,IAAI,OAAO;IAIhB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;cAQvB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB3C,UAAU;IAUV,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC;IAUxB,6BAA6B,IAAI,eAAe;IAUhD,kBAAkB,IAAI,eAAe;IAUtC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAsC7B,yBAAyB,IAAI,kBAAkB;IAYhD,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IA4GrE,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAW1D,sBAAsB,CAC3B,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAW3B,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAuDtD,gBAAgB,CACrB,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,IAAI,EACf,IAAI,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC;IAkF3B,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC;IA6BnE,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB/D,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAenD,sBAAsB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAUrD,iBAAiB,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC;IA2BxD,6BAA6B,CAClC,QAAQ,EAAE,eAAe,EAAE,EAC3B,MAAM,EAAE,cAAc,GACpB,OAAO,CAAC,IAAI,CAAC;IA4DV,qBAAqB,CAC1B,SAAS,EAAE,cAAc,EACzB,UAAU,EAAE,sBAAsB,EAClC,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,MAAM,EACzB,SAAS,EAAE,kBAAkB,EAC7B,OAAO,EAAE,cAAc,EACvB,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,MAAM,EAClB,aAAa,UAAQ,EACrB,aAAa,UAAQ,EACrB,aAAa,CAAC,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC;IA2EV,8BAA8B,CACnC,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAsE7B,4BAA4B,CACjC,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,aAAa,EACrB,aAAa,UAAQ,EACrB,aAAa,UAAQ,EACrB,aAAa,CAAC,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,GAC3B,OAAO,CAAC,IAAI,CAAC;IAgFV,sBAAsB,CAC3B,SAAS,EAAE,cAAc,EACzB,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAChC,OAAO,CAAC,IAAI,CAAC;IAsBV,wBAAwB,CAC7B,SAAS,EAAE,cAAc,EACzB,UAAU,EAAE,sBAAsB,EAClC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,EACzB,SAAS,EAAE,kBAAkB,EAC7B,OAAO,EAAE,cAAc,EACvB,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC;IAsEV,iCAAiC,CACtC,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAkFhC,+BAA+B,CACpC,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,aAAa,EACrB,aAAa,UAAQ,EACrB,aAAa,UAAQ,EACrB,aAAa,CAAC,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,EAC7B,oBAAoB,CAAC,EAAE,IAAI,GACzB,OAAO,CAAC,IAAI,CAAC;IAmFV,yBAAyB,CAC9B,SAAS,EAAE,cAAc,EACzB,OAAO,EAAE,OAAO,CAAC,mBAAmB,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC;IAwCV,6BAA6B,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAqBhE,8BAA8B,CACnC,KAAK,SAAO,EACZ,IAAI,SAAI,GACN,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAkB5B,6BAA6B,CAClC,aAAa,EAAE,IAAI,EAAE,EACrB,aAAa,GAAE,IAAiB,GAC9B,OAAO,CAAC,IAAI,CAAC;IAgBV,8BAA8B,CAAC,aAAa,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBpE,wBAAwB,CAC7B,YAAY,EAAE,IAAI,EAClB,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC;IA6C3B,iCAAiC,CACtC,KAAK,SAAO,EACZ,IAAI,SAAI,GACN,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAkBxB,gCAAgC,CACrC,UAAU,EAAE,MAAM,EAAE,EACpB,aAAa,GAAE,IAAiB,GAC9B,OAAO,CAAC,IAAI,CAAC;IAgBV,iCAAiC,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBtE,kBAAkB,CAAC,aAAa,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA0DzD,mBAAmB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAwCnD,2BAA2B,CAChC,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAqEzB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAUpE,qBAAqB,CAC1B,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAmC/B,mBAAmB,CACxB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,EACzB,eAAe,CAAC,EAAE,OAAO,GACvB,OAAO,CAAC,IAAI,CAAC;IAiDV,iCAAiC,CACtC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,EAC9C,KAAK,EAAE,iBAAiB,GACtB,OAAO,CAAC,IAAI,CAAC;IA+BV,oBAAoB,CACzB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE;QACP,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,OAAO,CAAC;KACpB,EACD,kBAAkB,EAAE,IAAI,GACtB,OAAO,CAAC,OAAO,CAAC;IAqCb,6BAA6B,CAClC,iBAAiB,EAAE,MAAM,GACvB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAmCrC,yBAAyB,CAAC,KAAK,SAAO,EAAE,IAAI,SAAI,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAmBrE,wBAAwB,CAC7B,UAAU,EAAE,MAAM,EAAE,EACpB,aAAa,GAAE,IAAiB,GAC9B,OAAO,CAAC,IAAI,CAAC;IAiBV,2BAA2B,CAChC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,iBAAiB,EAAE,IAAI,EACvB,oBAAoB,EAAE,IAAI,EAC1B,SAAS,EAAE,kBAAkB,EAC7B,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC;IAoDV,yBAAyB,CAC9B,WAAW,EAAE,MAAM,GACjB,OAAO,CAAC,0BAA0B,CAAC;IA0ChC,kCAAkC,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBtE,yBAAyB,CAC9B,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,aAAa,GACnB,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC;IAqB3B,uBAAuB,CAC5B,SAAS,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,kBAAkB,EAAE,GAAG,SAAS,CAAC;IAqBtC,qCAAqC,CAC1C,kBAAkB,EAAE,MAAM,GACxB,OAAO,CAAC,MAAM,CAAC;IA8BZ,wCAAwC,CAC7C,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,GACV,OAAO,CAAC,eAAe,EAAE,CAAC;IAyCvB,uBAAuB,CAC5B,YAAY,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IAqBpC,yBAAyB,CAC9B,YAAY,EAAE,MAAM,GAClB,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;IA8BtC,8BAA8B,CACnC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GACjB,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAwB5B,yBAAyB,CAC9B,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,GAC3B,OAAO,CAAC,IAAI,CAAC;IA6CV,4BAA4B,CACjC,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,YAAY,EACrB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,GAC3B,OAAO,CAAC,IAAI,CAAC;IA2CV,8BAA8B,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBjE,gCAAgC,CAAC,aAAa,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBtE,sBAAsB,CAC3B,MAAM,EAAE,KAAK,CAAC,QAAQ,EACtB,MAAM,EAAE,mBAAmB,GACzB,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAerC,0BAA0B,CAC/B,IAAI,EAAE,kBAAkB,EACxB,MAAM,CAAC,EAAE,mBAAmB,GAC1B,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAuBrC,yBAAyB,CAC9B,QAAQ,EAAE,kBAAkB,EAC5B,MAAM,EAAE,mBAAmB,GACzB,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;IAcpB,yBAAyB,CAC9B,MAAM,EAAE,KAAK,CAAC,QAAQ,EACtB,MAAM,EAAE,mBAAmB,EAC3B,MAAM,CAAC,EAAE,mBAAmB,GAC1B,OAAO,CAAC,IAAI,CAAC;IAmBV,0BAA0B,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAUtE,mBAAmB,CAAC,aAAa,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BjE,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAYtD,mBAAmB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAQ9C,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAenE,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYpD,iBAAiB,CACtB,WAAW,EAAE,MAAM,EACnB,mBAAmB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,IAAI,CAAC;IAeV,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAuBpC,6BAA6B,CAClC,QAAQ,EAAE,uBAAuB,GAC/B,OAAO,CAAC,IAAI,CAAC;IAwCV,0BAA0B,CAC/B,KAAK,EAAE,oBAAoB,EAC3B,WAAW,CAAC,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE,mBAAmB,GACxB,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC;IAmBzC,8BAA8B,IAAI,OAAO,CAC9C,CAAC,uBAAuB,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAC7C;IAaK,8BAA8B,CACnC,EAAE,EAAE,MAAM,GACR,OAAO,CAAC,CAAC,uBAAuB,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,SAAS,CAAC;IAa7D,6BAA6B,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAY3D,iCAAiC,IAAI,OAAO,CAAC,MAAM,CAAC;IAQpD,uBAAuB,CAC5B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAaV,uBAAuB,CAC5B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,GACtB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAUxB,oBAAoB,CACzB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,GACtB,OAAO,CAAC,MAAM,EAAE,CAAC;IA+Fd,kBAAkB,CACvB,MAAM,EAAE,MAAM,GACZ,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAqBlC,0BAA0B,CAC/B,OAAO,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,MAAM,EAAE;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,EAC1E,MAAM,EAAE,OAAO,GACb,OAAO,CAAC,IAAI,CAAC;CAmBhB"}