@prosopo/types-database 4.0.6 → 4.8.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.
Files changed (46) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +16 -12
  2. package/.turbo/turbo-build$colon$tsc.log +44 -0
  3. package/.turbo/turbo-build.log +21 -13
  4. package/CHANGELOG.md +581 -0
  5. package/dist/cjs/index.cjs +6 -7
  6. package/dist/cjs/types/bannedDomain.cjs +8 -0
  7. package/dist/cjs/types/client.cjs +77 -5
  8. package/dist/cjs/types/index.cjs +6 -7
  9. package/dist/cjs/types/provider.cjs +312 -86
  10. package/dist/cjs/types/spamEmailDomain.cjs +8 -0
  11. package/dist/index.d.ts +2 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +8 -9
  14. package/dist/index.js.map +1 -0
  15. package/dist/types/bannedDomain.d.ts +15 -0
  16. package/dist/types/bannedDomain.d.ts.map +1 -0
  17. package/dist/types/bannedDomain.js +8 -0
  18. package/dist/types/bannedDomain.js.map +1 -0
  19. package/dist/types/captcha.d.ts +18 -0
  20. package/dist/types/captcha.d.ts.map +1 -0
  21. package/dist/types/captcha.js.map +1 -0
  22. package/dist/types/client.d.ts +370 -0
  23. package/dist/types/client.d.ts.map +1 -0
  24. package/dist/types/client.js +78 -6
  25. package/dist/types/client.js.map +1 -0
  26. package/dist/types/index.d.ts +8 -0
  27. package/dist/types/index.d.ts.map +1 -0
  28. package/dist/types/index.js +8 -9
  29. package/dist/types/index.js.map +1 -0
  30. package/dist/types/mongo.d.ts +13 -0
  31. package/dist/types/mongo.d.ts.map +1 -0
  32. package/dist/types/mongo.js.map +1 -0
  33. package/dist/types/provider.d.ts +298 -0
  34. package/dist/types/provider.d.ts.map +1 -0
  35. package/dist/types/provider.js +314 -88
  36. package/dist/types/provider.js.map +1 -0
  37. package/dist/types/spamEmailDomain.d.ts +15 -0
  38. package/dist/types/spamEmailDomain.d.ts.map +1 -0
  39. package/dist/types/spamEmailDomain.js +8 -0
  40. package/dist/types/spamEmailDomain.js.map +1 -0
  41. package/dist/types/userAgent.d.ts +31 -0
  42. package/dist/types/userAgent.d.ts.map +1 -0
  43. package/dist/types/userAgent.js.map +1 -0
  44. package/package.json +11 -8
  45. package/vite.cjs.config.ts +1 -1
  46. package/vite.esm.config.ts +1 -1
@@ -0,0 +1,13 @@
1
+ import type { Logger } from "@prosopo/logger";
2
+ import type { Connection } from "mongoose";
3
+ export interface IDatabase {
4
+ url: string;
5
+ dbname: string;
6
+ connection?: Connection;
7
+ logger: Logger;
8
+ connected: boolean;
9
+ getConnection(): Connection;
10
+ connect(): Promise<void>;
11
+ close(): Promise<void>;
12
+ }
13
+ //# sourceMappingURL=mongo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongo.d.ts","sourceRoot":"","sources":["../../src/types/mongo.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,MAAM,WAAW,SAAS;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IAEnB,aAAa,IAAI,UAAU,CAAC;IAE5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongo.js","sourceRoot":"","sources":["../../src/types/mongo.ts"],"names":[],"mappings":""}
@@ -0,0 +1,298 @@
1
+ import { type TranslationKey } from "@prosopo/locale";
2
+ import { type ClientContextEntropy, type CompositeIpAddress, ContextType, type DecisionMachineArtifact, DecisionMachineScope, type DetectorKey, IpAddressType, type PendingImageCaptchaRequest, type PoWCaptchaStored, type PuzzleCaptchaStored, type Session, type SimdReadingsStage, type SolutionRecord, type UserCommitment, type UserSolutionSchema } from "@prosopo/types";
3
+ import { type Captcha, type CaptchaResult, type CaptchaSolution, type CaptchaStates, type Dataset, type DatasetBase, type DatasetWithIds, type Hash, type IPInfoResponse, type IUserData, type PoWChallengeComponents, type PoWChallengeId, type RequestHeaders, ScheduledTaskNames, type ScheduledTaskResult, ScheduledTaskStatus } from "@prosopo/types";
4
+ import type { AccessRulesStorage } from "@prosopo/user-access-policy";
5
+ import type mongoose from "mongoose";
6
+ import { type Document, type Model, type ObjectId, Schema } from "mongoose";
7
+ import { type infer as zInfer } from "zod";
8
+ import type { IDatabase } from "./mongo.js";
9
+ import type { SpamEmailDomainRecord } from "./spamEmailDomain.js";
10
+ export type IUserDataSlim = Pick<IUserData, "account" | "settings" | "tier">;
11
+ export type ClientRecord = IUserDataSlim & Document;
12
+ export declare const ClientRecordSchema: mongoose.Schema<ClientRecord, mongoose.Model<ClientRecord, any, any, any, mongoose.Document<unknown, any, ClientRecord> & IUserDataSlim & mongoose.Document<unknown, any, any> & Required<{
13
+ _id: unknown;
14
+ }> & {
15
+ __v: number;
16
+ }, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, ClientRecord, mongoose.Document<unknown, {}, mongoose.FlatRecord<ClientRecord>> & mongoose.FlatRecord<ClientRecord> & Required<{
17
+ _id: unknown;
18
+ }> & {
19
+ __v: number;
20
+ }>;
21
+ export declare const CompositeIpAddressRecordSchemaObj: {
22
+ lower: {
23
+ type: typeof Schema.Types.Decimal128;
24
+ required: boolean;
25
+ set: (value: bigint | string | number) => string | number;
26
+ };
27
+ upper: {
28
+ type: typeof Schema.Types.Decimal128;
29
+ required: boolean;
30
+ set: (value: bigint | string | number) => string | number;
31
+ };
32
+ type: {
33
+ type: StringConstructor;
34
+ enum: typeof IpAddressType;
35
+ required: boolean;
36
+ };
37
+ };
38
+ export type PoWCaptchaRecord = mongoose.Document & PoWCaptchaStored;
39
+ export type PuzzleCaptchaRecord = mongoose.Document & PuzzleCaptchaStored;
40
+ export type UserCommitmentRecord = mongoose.Document & UserCommitment;
41
+ export type Tables<E extends string | number | symbol> = {
42
+ [key in E]: typeof Model<any>;
43
+ };
44
+ export declare const CaptchaRecordSchema: mongoose.Schema<Captcha, mongoose.Model<Captcha, any, any, any, mongoose.Document<unknown, any, Captcha> & Captcha & {
45
+ _id: mongoose.Types.ObjectId;
46
+ } & {
47
+ __v: number;
48
+ }, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, Captcha, mongoose.Document<unknown, {}, mongoose.FlatRecord<Captcha>> & mongoose.FlatRecord<Captcha> & {
49
+ _id: mongoose.Types.ObjectId;
50
+ } & {
51
+ __v: number;
52
+ }>;
53
+ export declare const PoWCaptchaRecordSchema: mongoose.Schema<PoWCaptchaRecord, mongoose.Model<PoWCaptchaRecord, any, any, any, mongoose.Document<unknown, any, PoWCaptchaRecord> & mongoose.Document<unknown, any, any> & PoWCaptchaStored & Required<{
54
+ _id: unknown;
55
+ }> & {
56
+ __v: number;
57
+ }, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, PoWCaptchaRecord, mongoose.Document<unknown, {}, mongoose.FlatRecord<PoWCaptchaRecord>> & mongoose.FlatRecord<PoWCaptchaRecord> & Required<{
58
+ _id: unknown;
59
+ }> & {
60
+ __v: number;
61
+ }>;
62
+ export declare const PuzzleCaptchaRecordSchema: mongoose.Schema<PuzzleCaptchaRecord, mongoose.Model<PuzzleCaptchaRecord, any, any, any, mongoose.Document<unknown, any, PuzzleCaptchaRecord> & mongoose.Document<unknown, any, any> & PuzzleCaptchaStored & Required<{
63
+ _id: unknown;
64
+ }> & {
65
+ __v: number;
66
+ }, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, PuzzleCaptchaRecord, mongoose.Document<unknown, {}, mongoose.FlatRecord<PuzzleCaptchaRecord>> & mongoose.FlatRecord<PuzzleCaptchaRecord> & Required<{
67
+ _id: unknown;
68
+ }> & {
69
+ __v: number;
70
+ }>;
71
+ export declare const UserCommitmentRecordSchema: mongoose.Schema<UserCommitmentRecord, mongoose.Model<UserCommitmentRecord, any, any, any, mongoose.Document<unknown, any, UserCommitmentRecord> & mongoose.Document<unknown, any, any> & UserCommitment & Required<{
72
+ _id: unknown;
73
+ }> & {
74
+ __v: number;
75
+ }, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, UserCommitmentRecord, mongoose.Document<unknown, {}, mongoose.FlatRecord<UserCommitmentRecord>> & mongoose.FlatRecord<UserCommitmentRecord> & Required<{
76
+ _id: unknown;
77
+ }> & {
78
+ __v: number;
79
+ }>;
80
+ export declare const DatasetRecordSchema: mongoose.Schema<DatasetWithIds, mongoose.Model<DatasetWithIds, any, any, any, mongoose.Document<unknown, any, DatasetWithIds> & DatasetWithIds & {
81
+ _id: mongoose.Types.ObjectId;
82
+ } & {
83
+ __v: number;
84
+ }, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, DatasetWithIds, mongoose.Document<unknown, {}, mongoose.FlatRecord<DatasetWithIds>> & mongoose.FlatRecord<DatasetWithIds> & {
85
+ _id: mongoose.Types.ObjectId;
86
+ } & {
87
+ __v: number;
88
+ }>;
89
+ export declare const SolutionRecordSchema: mongoose.Schema<SolutionRecord, mongoose.Model<SolutionRecord, any, any, any, mongoose.Document<unknown, any, SolutionRecord> & SolutionRecord & {
90
+ _id: mongoose.Types.ObjectId;
91
+ } & {
92
+ __v: number;
93
+ }, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, SolutionRecord, mongoose.Document<unknown, {}, mongoose.FlatRecord<SolutionRecord>> & mongoose.FlatRecord<SolutionRecord> & {
94
+ _id: mongoose.Types.ObjectId;
95
+ } & {
96
+ __v: number;
97
+ }>;
98
+ export type UserSolutionRecord = mongoose.Document & zInfer<typeof UserSolutionSchema>;
99
+ export declare const UserSolutionRecordSchema: mongoose.Schema<UserSolutionRecord, mongoose.Model<UserSolutionRecord, any, any, any, mongoose.Document<unknown, any, UserSolutionRecord> & mongoose.Document<unknown, any, any> & {
100
+ captchaId: string;
101
+ captchaContentId: string;
102
+ salt: string;
103
+ solution: string[];
104
+ commitmentId: string;
105
+ createdAt: Date;
106
+ processed: boolean;
107
+ checked: boolean;
108
+ } & Required<{
109
+ _id: unknown;
110
+ }> & {
111
+ __v: number;
112
+ }, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, UserSolutionRecord, mongoose.Document<unknown, {}, mongoose.FlatRecord<UserSolutionRecord>> & mongoose.FlatRecord<UserSolutionRecord> & Required<{
113
+ _id: unknown;
114
+ }> & {
115
+ __v: number;
116
+ }>;
117
+ export declare const ScheduledTaskSchema: import("zod").ZodObject<{
118
+ processName: import("zod").ZodNativeEnum<typeof ScheduledTaskNames>;
119
+ datetime: import("zod").ZodDate;
120
+ updated: import("zod").ZodOptional<import("zod").ZodDate>;
121
+ status: import("zod").ZodNativeEnum<typeof ScheduledTaskStatus>;
122
+ result: import("zod").ZodOptional<import("zod").ZodObject<{
123
+ data: import("zod").ZodOptional<import("zod").ZodAny>;
124
+ error: import("zod").ZodOptional<import("zod").ZodAny>;
125
+ }, "strip", import("zod").ZodTypeAny, {
126
+ data?: any;
127
+ error?: any;
128
+ }, {
129
+ data?: any;
130
+ error?: any;
131
+ }>>;
132
+ }, "strip", import("zod").ZodTypeAny, {
133
+ status: ScheduledTaskStatus;
134
+ processName: ScheduledTaskNames;
135
+ datetime: Date;
136
+ result?: {
137
+ data?: any;
138
+ error?: any;
139
+ } | undefined;
140
+ updated?: Date | undefined;
141
+ }, {
142
+ status: ScheduledTaskStatus;
143
+ processName: ScheduledTaskNames;
144
+ datetime: Date;
145
+ result?: {
146
+ data?: any;
147
+ error?: any;
148
+ } | undefined;
149
+ updated?: Date | undefined;
150
+ }>;
151
+ export type ScheduledTask = zInfer<typeof ScheduledTaskSchema>;
152
+ export type ScheduledTaskRecord = mongoose.Document & ScheduledTask;
153
+ export declare const ScheduledTaskRecordSchema: mongoose.Schema<ScheduledTaskRecord, mongoose.Model<ScheduledTaskRecord, any, any, any, mongoose.Document<unknown, any, ScheduledTaskRecord> & mongoose.Document<unknown, any, any> & {
154
+ status: ScheduledTaskStatus;
155
+ processName: ScheduledTaskNames;
156
+ datetime: Date;
157
+ result?: {
158
+ data?: any;
159
+ error?: any;
160
+ } | undefined;
161
+ updated?: Date | undefined;
162
+ } & Required<{
163
+ _id: unknown;
164
+ }> & {
165
+ __v: number;
166
+ }, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, ScheduledTaskRecord, mongoose.Document<unknown, {}, mongoose.FlatRecord<ScheduledTaskRecord>> & mongoose.FlatRecord<ScheduledTaskRecord> & Required<{
167
+ _id: unknown;
168
+ }> & {
169
+ __v: number;
170
+ }>;
171
+ export type SessionRecord = mongoose.Document & Session;
172
+ export declare const SessionRecordSchema: mongoose.Schema<SessionRecord, mongoose.Model<SessionRecord, any, any, any, mongoose.Document<unknown, any, SessionRecord> & mongoose.Document<unknown, any, any> & Session & Required<{
173
+ _id: unknown;
174
+ }> & {
175
+ __v: number;
176
+ }, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, SessionRecord, mongoose.Document<unknown, {}, mongoose.FlatRecord<SessionRecord>> & mongoose.FlatRecord<SessionRecord> & Required<{
177
+ _id: unknown;
178
+ }> & {
179
+ __v: number;
180
+ }>;
181
+ export type DetectorSchema = mongoose.Document & DetectorKey;
182
+ export declare const DetectorRecordSchema: mongoose.Schema<DetectorSchema, mongoose.Model<DetectorSchema, any, any, any, mongoose.Document<unknown, any, DetectorSchema> & mongoose.Document<unknown, any, any> & DetectorKey & Required<{
183
+ _id: unknown;
184
+ }> & {
185
+ __v: number;
186
+ }, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, DetectorSchema, mongoose.Document<unknown, {}, mongoose.FlatRecord<DetectorSchema>> & mongoose.FlatRecord<DetectorSchema> & Required<{
187
+ _id: unknown;
188
+ }> & {
189
+ __v: number;
190
+ }>;
191
+ export type DecisionMachineArtifactRecord = mongoose.Document & DecisionMachineArtifact;
192
+ export declare const DecisionMachineArtifactRecordSchema: mongoose.Schema<DecisionMachineArtifactRecord, mongoose.Model<DecisionMachineArtifactRecord, any, any, any, mongoose.Document<unknown, any, DecisionMachineArtifactRecord> & mongoose.Document<unknown, any, any> & DecisionMachineArtifact & Required<{
193
+ _id: unknown;
194
+ }> & {
195
+ __v: number;
196
+ }, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, DecisionMachineArtifactRecord, mongoose.Document<unknown, {}, mongoose.FlatRecord<DecisionMachineArtifactRecord>> & mongoose.FlatRecord<DecisionMachineArtifactRecord> & Required<{
197
+ _id: unknown;
198
+ }> & {
199
+ __v: number;
200
+ }>;
201
+ export type ClientContextEntropyRecord = mongoose.Document & ClientContextEntropy;
202
+ export declare const ClientContextEntropyRecordSchema: mongoose.Schema<ClientContextEntropyRecord, mongoose.Model<ClientContextEntropyRecord, any, any, any, mongoose.Document<unknown, any, ClientContextEntropyRecord> & mongoose.Document<unknown, any, any> & ClientContextEntropy & Required<{
203
+ _id: unknown;
204
+ }> & {
205
+ __v: number;
206
+ }, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, ClientContextEntropyRecord, mongoose.Document<unknown, {}, mongoose.FlatRecord<ClientContextEntropyRecord>> & mongoose.FlatRecord<ClientContextEntropyRecord> & Required<{
207
+ _id: unknown;
208
+ }> & {
209
+ __v: number;
210
+ }>;
211
+ export interface IProviderDatabase extends IDatabase {
212
+ tables: Tables<any>;
213
+ ensureIndexes(): Promise<void>;
214
+ storeDataset(dataset: Dataset): Promise<void>;
215
+ getSolutions(datasetId: string): Promise<SolutionRecord[]>;
216
+ getSolutionByCaptchaId(captchaId: string): Promise<SolutionRecord | null>;
217
+ getDataset(datasetId: string): Promise<DatasetWithIds>;
218
+ getRandomCaptcha(solved: boolean, datasetId: Hash | string, size?: number): Promise<Captcha[] | undefined>;
219
+ getCaptchaById(captchaId: string[]): Promise<Captcha[] | undefined>;
220
+ updateCaptcha(captcha: Captcha, datasetId: string): Promise<void>;
221
+ removeCaptchas(captchaIds: string[]): Promise<void>;
222
+ getDatasetDetails(datasetId: Hash | string | Uint8Array): Promise<DatasetBase>;
223
+ storeUserImageCaptchaSolution(captchas: CaptchaSolution[], commit: UserCommitment): Promise<void>;
224
+ storePendingImageCommitment(userAccount: string, requestHash: string, salt: string, deadlineTimestamp: Date, requestedAtTimestamp: Date, ipAddress: CompositeIpAddress, threshold: number, sessionId?: string, ipInfo?: IPInfoResponse): Promise<void>;
225
+ getPendingImageCommitment(requestHash: string): Promise<PendingImageCaptchaRequest>;
226
+ updatePendingImageCommitmentStatus(requestHash: string): Promise<void>;
227
+ getAllCaptchasByDatasetId(datasetId: string, captchaState?: CaptchaStates): Promise<Captcha[] | undefined>;
228
+ getAllDappUserSolutions(captchaId: string[]): Promise<UserSolutionRecord[] | undefined>;
229
+ getDatasetIdWithSolvedCaptchasOfSizeN(solvedCaptchaCount: number): Promise<string>;
230
+ getRandomSolvedCaptchasFromSingleDataset(datasetId: string, size: number): Promise<CaptchaSolution[]>;
231
+ getDappUserSolutionById(commitmentId: string): Promise<UserSolutionRecord | undefined>;
232
+ getDappUserCommitmentById(commitmentId: string): Promise<UserCommitment | undefined>;
233
+ getDappUserCommitmentByAccount(userAccount: string, dappAccount: string): Promise<UserCommitmentRecord[]>;
234
+ approveDappUserCommitment(commitmentId: string, coords?: [number, number][][]): Promise<void>;
235
+ disapproveDappUserCommitment(commitmentId: string, reason?: TranslationKey, coords?: [number, number][][]): Promise<void>;
236
+ getCheckedDappUserCommitments(): Promise<UserCommitmentRecord[]>;
237
+ getUnstoredDappUserCommitments(limit?: number, skip?: number): Promise<UserCommitmentRecord[]>;
238
+ markDappUserCommitmentsStored(commitmentIds: Hash[], asOfTimestamp?: Date): Promise<void>;
239
+ markDappUserCommitmentsChecked(commitmentIds: Hash[]): Promise<void>;
240
+ updateDappUserCommitment(commitmentId: Hash, updates: Partial<UserCommitment>): Promise<void>;
241
+ getUnstoredDappUserPoWCommitments(limit?: number, skip?: number): Promise<PoWCaptchaRecord[]>;
242
+ markDappUserPoWCommitmentsChecked(challengeIds: string[]): Promise<void>;
243
+ markDappUserPoWCommitmentsStored(challengeIds: string[], asOfTimestamp?: Date): Promise<void>;
244
+ flagProcessedDappUserSolutions(captchaIds: Hash[]): Promise<void>;
245
+ flagProcessedDappUserCommitments(commitmentIds: Hash[]): Promise<void>;
246
+ getLastScheduledTaskStatus(task: ScheduledTaskNames, status?: ScheduledTaskStatus): Promise<ScheduledTaskRecord | undefined>;
247
+ getScheduledTaskStatus(taskId: ObjectId, status: ScheduledTaskStatus): Promise<ScheduledTaskRecord | undefined>;
248
+ createScheduledTaskStatus(task: ScheduledTaskNames, status: ScheduledTaskStatus): Promise<ObjectId>;
249
+ updateScheduledTaskStatus(taskId: ObjectId, status: ScheduledTaskStatus, result?: ScheduledTaskResult): Promise<void>;
250
+ storePowCaptchaRecord(challenge: PoWChallengeId, components: PoWChallengeComponents, difficulty: number, providerSignature: string, ipAddress: CompositeIpAddress, headers: RequestHeaders, ja4: string, sessionId?: string, serverChecked?: boolean, userSubmitted?: boolean, userSignature?: string, ipInfo?: IPInfoResponse): Promise<void>;
251
+ getPowCaptchaRecordByChallenge(challenge: string): Promise<PoWCaptchaRecord | null>;
252
+ updatePowCaptchaRecordResult(challenge: PoWChallengeId, result: CaptchaResult, serverChecked: boolean, userSubmitted: boolean, userSignature?: string, coords?: [number, number][][]): Promise<void>;
253
+ updatePowCaptchaRecord(challenge: PoWChallengeId, updates: Partial<PoWCaptchaRecord>): Promise<void>;
254
+ storePuzzleCaptchaRecord(challenge: PoWChallengeId, components: PoWChallengeComponents, targetX: number, targetY: number, originX: number, originY: number, tolerance: number, providerSignature: string, ipAddress: CompositeIpAddress, headers: RequestHeaders, ja4: string, sessionId?: string, ipInfo?: IPInfoResponse): Promise<void>;
255
+ getPuzzleCaptchaRecordByChallenge(challenge: string): Promise<PuzzleCaptchaRecord | null>;
256
+ updatePuzzleCaptchaRecordResult(challenge: PoWChallengeId, result: CaptchaResult, serverChecked: boolean, userSubmitted: boolean, userSignature?: string, coords?: [number, number][][], lastUpdatedTimestamp?: Date): Promise<void>;
257
+ updatePuzzleCaptchaRecord(challenge: PoWChallengeId, updates: Partial<PuzzleCaptchaRecord>): Promise<void>;
258
+ updateClientRecords(clientRecords: ClientRecord[]): Promise<void>;
259
+ removeClientRecords(accounts: string[]): Promise<void>;
260
+ getAllClientRecords(): Promise<ClientRecord[]>;
261
+ getClientRecord(account: string): Promise<ClientRecord | undefined>;
262
+ storeSessionRecord(sessionRecord: Session): Promise<void>;
263
+ getSessionRecordBySessionId(sessionId: string): Promise<Session | undefined>;
264
+ getSessionRecordByToken(token: string): Promise<Session | undefined>;
265
+ checkAndRemoveSession(sessionId: string): Promise<Session | undefined>;
266
+ updateSessionRecord(sessionId: string, updates: Partial<Session>, streamToCentral?: boolean): Promise<void>;
267
+ recordSessionSimdReadingsIfAbsent(sessionId: string, readings: NonNullable<Session["simdReadings"]>, stage: SimdReadingsStage): Promise<void>;
268
+ getSessionByuserSitekeyIpHash(userSitekeyIpHash: string): Promise<SessionRecord | undefined>;
269
+ getUnstoredSessionRecords(limit: number, skip: number): Promise<SessionRecord[]>;
270
+ markSessionRecordsStored(sessionIds: string[], asOfTimestamp?: Date): Promise<void>;
271
+ getUserAccessRulesStorage(): AccessRulesStorage;
272
+ storeDetectorKey(detectorKey: string): Promise<void>;
273
+ getDetectorKeys(): Promise<string[]>;
274
+ removeDetectorKey(detectorKey: string, expirationInSeconds?: number): Promise<void>;
275
+ upsertDecisionMachineArtifact(artifact: DecisionMachineArtifact): Promise<void>;
276
+ getDecisionMachineArtifact(scope: DecisionMachineScope, dappAccount?: string): Promise<DecisionMachineArtifact | undefined>;
277
+ getAllDecisionMachineArtifacts(): Promise<(DecisionMachineArtifact & {
278
+ _id: string;
279
+ })[]>;
280
+ getDecisionMachineArtifactById(id: string): Promise<(DecisionMachineArtifact & {
281
+ _id: string;
282
+ }) | undefined>;
283
+ removeDecisionMachineArtifact(id: string): Promise<boolean>;
284
+ removeAllDecisionMachineArtifacts(): Promise<number>;
285
+ setClientContextEntropy(account: string, contextType: ContextType, entropy: string): Promise<void>;
286
+ getClientContextEntropy(account: string, contextType: ContextType): Promise<string | undefined>;
287
+ sampleContextEntropy(sampleSize: number, siteKey: string, contextType: ContextType): Promise<string[]>;
288
+ getSpamEmailDomain(domain: string): Promise<SpamEmailDomainRecord | null>;
289
+ bulkUpdateSpamEmailDomains(domains: Array<{
290
+ filter: {
291
+ domain: string;
292
+ };
293
+ update: {
294
+ domain: string;
295
+ };
296
+ }>, upsert: boolean): Promise<void>;
297
+ }
298
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/types/provider.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,cAAc,EAAyB,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAGN,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,WAAW,EACX,KAAK,uBAAuB,EAG5B,oBAAoB,EACpB,KAAK,WAAW,EAChB,aAAa,EAEb,KAAK,0BAA0B,EAC/B,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,OAAO,EACZ,KAAK,iBAAiB,EACtB,KAAK,cAAc,EAEnB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,aAAa,EAElB,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,IAAI,EACT,KAAK,cAAc,EACnB,KAAK,SAAS,EAEd,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,mBAAmB,EACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAE,KAAK,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAC5E,OAAO,EAAiC,KAAK,KAAK,IAAI,MAAM,EAAE,MAAM,KAAK,CAAC;AAE1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAElE,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC,CAAC;AAE7E,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,QAAQ,CAAC;AAOpD,eAAO,MAAM,kBAAkB;;;;;;;;EAI7B,CAAC;AAIH,eAAO,MAAM,iCAAiC;;;;qBAM/B,MAAM,GAAG,MAAM,GAAG,MAAM;;;;;qBAQxB,MAAM,GAAG,MAAM,GAAG,MAAM;;;;;;;CAItC,CAAC;AAUF,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,GAAG,gBAAgB,CAAC;AAEpE,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC,QAAQ,GAAG,mBAAmB,CAAC;AAE1E,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC,QAAQ,GAAG,cAAc,CAAC;AAEtE,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI;KAEvD,GAAG,IAAI,CAAC,GAAG,OAAO,KAAK,CAAC,GAAG,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;EAsB9B,CAAC;AAQH,eAAO,MAAM,sBAAsB;;;;;;;;EAsEjC,CAAC;AAiCH,eAAO,MAAM,yBAAyB;;;;;;;;EA+EpC,CAAC;AAqBH,eAAO,MAAM,0BAA0B;;;;;;;;EAyErC,CAAC;AA0BH,eAAO,MAAM,mBAAmB;;;;;;;;EAM9B,CAAC;AAIH,eAAO,MAAM,oBAAoB;;;;;;;;EAO/B,CAAC;AAIH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC,QAAQ,GACjD,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACnC,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;EAYpC,CAAC;AAMF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAE/D,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC,QAAQ,GAAG,aAAa,CAAC;AAIpE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;EAepC,CAAC;AAKH,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC;AAExD,eAAO,MAAM,mBAAmB;;;;;;;;EA8EH,CAAC;AAgC9B,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,QAAQ,GAAG,WAAW,CAAC;AAC7D,eAAO,MAAM,oBAAoB;;;;;;;;EAI/B,CAAC;AAKH,MAAM,MAAM,6BAA6B,GAAG,QAAQ,CAAC,QAAQ,GAC5D,uBAAuB,CAAC;AACzB,eAAO,MAAM,mCAAmC;;;;;;;;EA4B7C,CAAC;AAQJ,MAAM,MAAM,0BAA0B,GAAG,QAAQ,CAAC,QAAQ,GACzD,oBAAoB,CAAC;AACtB,eAAO,MAAM,gCAAgC;;;;;;;;EAY3C,CAAC;AAMH,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAEnD,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAEpB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/B,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAE3D,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAE1E,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAEvD,gBAAgB,CACf,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,IAAI,GAAG,MAAM,EACxB,IAAI,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC;IAElC,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC;IAEpE,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElE,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpD,iBAAiB,CAChB,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,UAAU,GACnC,OAAO,CAAC,WAAW,CAAC,CAAC;IAExB,6BAA6B,CAC5B,QAAQ,EAAE,eAAe,EAAE,EAC3B,MAAM,EAAE,cAAc,GACpB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,2BAA2B,CAC1B,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,CAAC;IAEjB,yBAAyB,CACxB,WAAW,EAAE,MAAM,GACjB,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAEvC,kCAAkC,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvE,yBAAyB,CACxB,SAAS,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,aAAa,GAC1B,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC;IAElC,uBAAuB,CACtB,SAAS,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,kBAAkB,EAAE,GAAG,SAAS,CAAC,CAAC;IAE7C,qCAAqC,CACpC,kBAAkB,EAAE,MAAM,GACxB,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnB,wCAAwC,CACvC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,GACV,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAE9B,uBAAuB,CACtB,YAAY,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAC;IAE3C,yBAAyB,CACxB,YAAY,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;IAEvC,8BAA8B,CAC7B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GACjB,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAEnC,yBAAyB,CACxB,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,GAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,4BAA4B,CAC3B,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,cAAc,EACvB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,GAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,6BAA6B,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAEjE,8BAA8B,CAC7B,KAAK,CAAC,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAEnC,6BAA6B,CAC5B,aAAa,EAAE,IAAI,EAAE,EACrB,aAAa,CAAC,EAAE,IAAI,GAClB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,8BAA8B,CAAC,aAAa,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErE,wBAAwB,CACvB,YAAY,EAAE,IAAI,EAClB,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAC9B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,iCAAiC,CAChC,KAAK,CAAC,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAE/B,iCAAiC,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzE,gCAAgC,CAC/B,YAAY,EAAE,MAAM,EAAE,EACtB,aAAa,CAAC,EAAE,IAAI,GAClB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,8BAA8B,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElE,gCAAgC,CAAC,aAAa,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvE,0BAA0B,CACzB,IAAI,EAAE,kBAAkB,EACxB,MAAM,CAAC,EAAE,mBAAmB,GAC1B,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;IAE5C,sBAAsB,CACrB,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,mBAAmB,GACzB,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;IAE5C,yBAAyB,CACxB,IAAI,EAAE,kBAAkB,EACxB,MAAM,EAAE,mBAAmB,GACzB,OAAO,CAAC,QAAQ,CAAC,CAAC;IAErB,yBAAyB,CACxB,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,mBAAmB,EAC3B,MAAM,CAAC,EAAE,mBAAmB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,qBAAqB,CACpB,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,CAAC,EAAE,OAAO,EACvB,aAAa,CAAC,EAAE,OAAO,EACvB,aAAa,CAAC,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,8BAA8B,CAC7B,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAEpC,4BAA4B,CAC3B,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,aAAa,EACrB,aAAa,EAAE,OAAO,EACtB,aAAa,EAAE,OAAO,EACtB,aAAa,CAAC,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,GAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,sBAAsB,CACrB,SAAS,EAAE,cAAc,EACzB,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAChC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,wBAAwB,CACvB,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,CAAC;IAEjB,iCAAiC,CAChC,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;IAEvC,+BAA+B,CAC9B,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,aAAa,EACrB,aAAa,EAAE,OAAO,EACtB,aAAa,EAAE,OAAO,EACtB,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,CAAC;IAEjB,yBAAyB,CACxB,SAAS,EAAE,cAAc,EACzB,OAAO,EAAE,OAAO,CAAC,mBAAmB,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,mBAAmB,CAAC,aAAa,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElE,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvD,mBAAmB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAE/C,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;IAEpE,kBAAkB,CAAC,aAAa,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1D,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAE7E,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAErE,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAEvE,mBAAmB,CAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,EACzB,eAAe,CAAC,EAAE,OAAO,GACvB,OAAO,CAAC,IAAI,CAAC,CAAC;IAUjB,iCAAiC,CAChC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,EAC9C,KAAK,EAAE,iBAAiB,GACtB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,6BAA6B,CAC5B,iBAAiB,EAAE,MAAM,GACvB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;IAEtC,yBAAyB,CACxB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACV,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAE5B,wBAAwB,CACvB,UAAU,EAAE,MAAM,EAAE,EACpB,aAAa,CAAC,EAAE,IAAI,GAClB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,yBAAyB,IAAI,kBAAkB,CAAC;IAEhD,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAErC,iBAAiB,CAChB,WAAW,EAAE,MAAM,EACnB,mBAAmB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,6BAA6B,CAC5B,QAAQ,EAAE,uBAAuB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,0BAA0B,CACzB,KAAK,EAAE,oBAAoB,EAC3B,WAAW,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAAC;IAEhD,8BAA8B,IAAI,OAAO,CACxC,CAAC,uBAAuB,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAC7C,CAAC;IAEF,8BAA8B,CAC7B,EAAE,EAAE,MAAM,GACR,OAAO,CAAC,CAAC,uBAAuB,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,SAAS,CAAC,CAAC;IAEpE,6BAA6B,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE5D,iCAAiC,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAErD,uBAAuB,CACtB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,uBAAuB,CACtB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,GACtB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE/B,oBAAoB,CACnB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,GACtB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAErB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC;IAE1E,0BAA0B,CACzB,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,CAAC;CACjB"}