@edge-base/web 0.1.1

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 (51) hide show
  1. package/README.md +352 -0
  2. package/dist/analytics.d.ts +60 -0
  3. package/dist/analytics.d.ts.map +1 -0
  4. package/dist/analytics.js +146 -0
  5. package/dist/analytics.js.map +1 -0
  6. package/dist/auth-refresh.d.ts +5 -0
  7. package/dist/auth-refresh.d.ts.map +1 -0
  8. package/dist/auth-refresh.js +26 -0
  9. package/dist/auth-refresh.js.map +1 -0
  10. package/dist/auth.d.ts +314 -0
  11. package/dist/auth.d.ts.map +1 -0
  12. package/dist/auth.js +518 -0
  13. package/dist/auth.js.map +1 -0
  14. package/dist/browser-storage.d.ts +7 -0
  15. package/dist/browser-storage.d.ts.map +1 -0
  16. package/dist/browser-storage.js +43 -0
  17. package/dist/browser-storage.js.map +1 -0
  18. package/dist/client.d.ts +145 -0
  19. package/dist/client.d.ts.map +1 -0
  20. package/dist/client.js +310 -0
  21. package/dist/client.js.map +1 -0
  22. package/dist/database-live.d.ts +65 -0
  23. package/dist/database-live.d.ts.map +1 -0
  24. package/dist/database-live.js +486 -0
  25. package/dist/database-live.js.map +1 -0
  26. package/dist/index.d.ts +21 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +28 -0
  29. package/dist/index.js.map +1 -0
  30. package/dist/match-filter.d.ts +30 -0
  31. package/dist/match-filter.d.ts.map +1 -0
  32. package/dist/match-filter.js +86 -0
  33. package/dist/match-filter.js.map +1 -0
  34. package/dist/room-realtime-media.d.ts +96 -0
  35. package/dist/room-realtime-media.d.ts.map +1 -0
  36. package/dist/room-realtime-media.js +418 -0
  37. package/dist/room-realtime-media.js.map +1 -0
  38. package/dist/room.d.ts +450 -0
  39. package/dist/room.d.ts.map +1 -0
  40. package/dist/room.js +1506 -0
  41. package/dist/room.js.map +1 -0
  42. package/dist/token-manager.d.ts +73 -0
  43. package/dist/token-manager.d.ts.map +1 -0
  44. package/dist/token-manager.js +378 -0
  45. package/dist/token-manager.js.map +1 -0
  46. package/dist/turnstile.d.ts +56 -0
  47. package/dist/turnstile.d.ts.map +1 -0
  48. package/dist/turnstile.js +191 -0
  49. package/dist/turnstile.js.map +1 -0
  50. package/llms.txt +549 -0
  51. package/package.json +50 -0
package/dist/auth.d.ts ADDED
@@ -0,0 +1,314 @@
1
+ /**
2
+ * Auth client for user authentication
3
+ *: onAuthStateChange
4
+ *: signInAnonymously
5
+ *: signUp with data
6
+ */
7
+ import type { HttpClient, GeneratedDbApi } from '@edge-base/core';
8
+ import type { TokenManager, TokenUser, AuthStateChangeHandler } from './token-manager.js';
9
+ export interface SignUpOptions {
10
+ email: string;
11
+ password: string;
12
+ data?: {
13
+ displayName?: string;
14
+ avatarUrl?: string;
15
+ [key: string]: unknown;
16
+ };
17
+ /** Preferred locale for this user (e.g. 'ko', 'ja'). Stored in user profile. */
18
+ locale?: string;
19
+ /** Captcha token. If provided, SDK built-in widget is skipped. */
20
+ captchaToken?: string;
21
+ }
22
+ export interface SignInOptions {
23
+ email: string;
24
+ password: string;
25
+ /** Captcha token. If provided, SDK built-in widget is skipped. */
26
+ captchaToken?: string;
27
+ }
28
+ export interface AuthResult {
29
+ user: TokenUser;
30
+ accessToken: string;
31
+ refreshToken: string;
32
+ }
33
+ /** Returned when MFA is required during sign-in */
34
+ export interface MfaRequiredResult {
35
+ mfaRequired: true;
36
+ mfaTicket: string;
37
+ factors: MfaFactor[];
38
+ }
39
+ export interface MfaFactor {
40
+ id: string;
41
+ type: string;
42
+ }
43
+ export type SignInResult = AuthResult | MfaRequiredResult;
44
+ export interface TotpEnrollResult {
45
+ factorId: string;
46
+ secret: string;
47
+ qrCodeUri: string;
48
+ recoveryCodes: string[];
49
+ }
50
+ export interface DisableTotpOptions {
51
+ password?: string;
52
+ code?: string;
53
+ }
54
+ export interface Session {
55
+ id: string;
56
+ createdAt: string;
57
+ userAgent?: string;
58
+ ip?: string;
59
+ }
60
+ export interface UpdateProfileOptions {
61
+ displayName?: string;
62
+ avatarUrl?: string;
63
+ emailVisibility?: string;
64
+ /** Preferred locale (e.g. 'ko', 'ja'). Future auth emails will use this language. */
65
+ locale?: string;
66
+ }
67
+ export interface PasskeysAuthOptions {
68
+ email?: string;
69
+ }
70
+ interface OAuthRedirectOptions {
71
+ redirectUrl?: string;
72
+ redirectTo?: string;
73
+ navigate?: boolean;
74
+ }
75
+ type OAuthStartOptions = OAuthRedirectOptions & {
76
+ provider: string;
77
+ captchaToken?: string;
78
+ };
79
+ export interface EmailActionRedirectOptions {
80
+ redirectUrl?: string;
81
+ state?: string;
82
+ }
83
+ interface LinkOAuthOptions extends OAuthRedirectOptions {
84
+ state?: string;
85
+ }
86
+ export interface LinkedIdentity {
87
+ id: string;
88
+ kind: 'oauth';
89
+ provider: string;
90
+ providerUserId: string;
91
+ createdAt: string;
92
+ canUnlink: boolean;
93
+ }
94
+ export interface IdentityMethods {
95
+ total: number;
96
+ hasPassword: boolean;
97
+ hasMagicLink: boolean;
98
+ hasEmailOtp: boolean;
99
+ hasPhone: boolean;
100
+ passkeyCount: number;
101
+ oauthCount: number;
102
+ email?: string | null;
103
+ phone?: string | null;
104
+ }
105
+ export interface IdentitiesResult {
106
+ ok?: boolean;
107
+ identities: LinkedIdentity[];
108
+ methods: IdentityMethods;
109
+ }
110
+ export declare class AuthClient {
111
+ private client;
112
+ private tokenManager;
113
+ private core;
114
+ private corePublic;
115
+ private baseUrl;
116
+ constructor(client: HttpClient, tokenManager: TokenManager, core: GeneratedDbApi, corePublic: GeneratedDbApi);
117
+ private syncAuthResult;
118
+ /**
119
+ * Register a new user with email and password.
120
+ * Optionally include user metadata (displayName, avatarUrl).
121
+ *
122
+ */
123
+ signUp(options: SignUpOptions): Promise<AuthResult>;
124
+ /** Sign in with email and password. Returns MfaRequiredResult if MFA is enabled. */
125
+ signIn(options: SignInOptions): Promise<SignInResult>;
126
+ /** Sign out (revokes current session) */
127
+ signOut(): Promise<void>;
128
+ /** Refresh the current session using the stored refresh token. */
129
+ refreshSession(): Promise<AuthResult>;
130
+ /**
131
+ * Start OAuth sign-in flow.
132
+ * Constructs the OAuth redirect URL and navigates to it in browser.
133
+ * Returns the OAuth URL for manual handling in non-browser environments.
134
+ *: captchaToken is passed as query parameter for GET requests.
135
+ *
136
+ * NOTE: Not delegated to Generated Core — this is URL construction + redirect, not a standard HTTP call.
137
+ */
138
+ signInWithOAuth(providerOrOptions: string | OAuthStartOptions, options?: OAuthRedirectOptions & {
139
+ captchaToken?: string;
140
+ }): {
141
+ url: string;
142
+ };
143
+ /**
144
+ * Handle an OAuth callback URL, persist tokens, and update auth state.
145
+ * When called without arguments in the browser, it reads from window.location.href.
146
+ */
147
+ handleOAuthCallback(url?: string): Promise<AuthResult | null>;
148
+ /** Sign in anonymously */
149
+ signInAnonymously(options?: {
150
+ captchaToken?: string;
151
+ }): Promise<AuthResult>;
152
+ /**
153
+ * Send a magic link (passwordless login) email.
154
+ * If the email is not registered and autoCreate is enabled (server config), a new account is created.
155
+ */
156
+ signInWithMagicLink(options: {
157
+ email: string;
158
+ captchaToken?: string;
159
+ redirectUrl?: string;
160
+ state?: string;
161
+ }): Promise<void>;
162
+ /**
163
+ * Verify a magic link token and sign in.
164
+ * Called after user clicks the link from their email.
165
+ */
166
+ verifyMagicLink(token: string): Promise<AuthResult>;
167
+ /**
168
+ * Send an SMS verification code to the given phone number.
169
+ * If the phone is not registered and autoCreate is enabled (server config), a new account is created on verify.
170
+ */
171
+ signInWithPhone(options: {
172
+ phone: string;
173
+ captchaToken?: string;
174
+ }): Promise<void>;
175
+ /**
176
+ * Verify the SMS code and sign in.
177
+ * Called after user receives the code from signInWithPhone.
178
+ */
179
+ verifyPhone(options: {
180
+ phone: string;
181
+ code: string;
182
+ }): Promise<AuthResult>;
183
+ /** Link current account with a phone number. Sends an SMS code. */
184
+ linkWithPhone(options: {
185
+ phone: string;
186
+ }): Promise<void>;
187
+ /** Verify phone link code. Completes phone linking for the current account. */
188
+ verifyLinkPhone(options: {
189
+ phone: string;
190
+ code: string;
191
+ }): Promise<void>;
192
+ /** Link anonymous account to email/password */
193
+ linkWithEmail(options: {
194
+ email: string;
195
+ password: string;
196
+ }): Promise<AuthResult>;
197
+ /**
198
+ * Link the current account to an OAuth provider.
199
+ *
200
+ * NOTE: Not delegated — Generated Core's oauthLinkStart(provider) takes no body,
201
+ * but we need to pass redirect and state options.
202
+ */
203
+ linkWithOAuth(providerOrOptions: string | (LinkOAuthOptions & {
204
+ provider: string;
205
+ }), options?: LinkOAuthOptions): Promise<{
206
+ redirectUrl: string;
207
+ }>;
208
+ /**
209
+ * Subscribe to authentication state changes.
210
+ * Callback fires immediately with current state, then on each change.
211
+ *
212
+ * @returns Unsubscribe function
213
+ */
214
+ onAuthStateChange(callback: AuthStateChangeHandler): () => void;
215
+ /** List active sessions */
216
+ listSessions(): Promise<Session[]>;
217
+ /** Revoke a specific session */
218
+ revokeSession(sessionId: string): Promise<void>;
219
+ /** List linked sign-in identities for the current user. */
220
+ listIdentities(): Promise<IdentitiesResult>;
221
+ /** Unlink a linked OAuth identity by its identity ID. */
222
+ unlinkIdentity(identityId: string): Promise<IdentitiesResult>;
223
+ /** Get the current authenticated user (from cached JWT) */
224
+ get currentUser(): TokenUser | null;
225
+ /** Update current user's profile */
226
+ updateProfile(data: UpdateProfileOptions): Promise<TokenUser>;
227
+ /**
228
+ * Update the user's preferred locale. Future auth emails will be sent in this language.
229
+ *
230
+ * @param locale - BCP 47 language tag (e.g. 'ko', 'ja', 'fr', 'en')
231
+ * @returns Updated user object
232
+ *
233
+ * @example
234
+ * await client.auth.updateLocale('ko'); // switch to Korean
235
+ */
236
+ updateLocale(locale: string): Promise<TokenUser>;
237
+ /** Verify email address with token */
238
+ verifyEmail(token: string): Promise<void>;
239
+ /** Request a verification email for the current user. */
240
+ requestEmailVerification(options?: EmailActionRedirectOptions): Promise<void>;
241
+ /** Request password reset email */
242
+ requestPasswordReset(email: string, options?: {
243
+ captchaToken?: string;
244
+ } & EmailActionRedirectOptions): Promise<void>;
245
+ /** Reset password with token */
246
+ resetPassword(token: string, newPassword: string): Promise<void>;
247
+ /** Change password for authenticated user */
248
+ changePassword(options: {
249
+ currentPassword: string;
250
+ newPassword: string;
251
+ }): Promise<AuthResult>;
252
+ /**
253
+ * Send an email OTP code for sign-in.
254
+ * If the email is not registered and autoCreate is enabled (server config), a new account is created on verify.
255
+ */
256
+ signInWithEmailOtp(options: {
257
+ email: string;
258
+ }): Promise<void>;
259
+ /**
260
+ * Verify the email OTP code and sign in.
261
+ * Called after user receives the code from signInWithEmailOtp.
262
+ */
263
+ verifyEmailOtp(options: {
264
+ email: string;
265
+ code: string;
266
+ }): Promise<AuthResult>;
267
+ /**
268
+ * Request an email change. Sends a verification email to the new address.
269
+ * Requires the user's current password for confirmation.
270
+ */
271
+ changeEmail(options: {
272
+ newEmail: string;
273
+ password: string;
274
+ } & EmailActionRedirectOptions): Promise<void>;
275
+ /**
276
+ * Verify email change with token from the verification email.
277
+ */
278
+ verifyEmailChange(token: string): Promise<void>;
279
+ /** Generate WebAuthn registration options for the current authenticated user. */
280
+ passkeysRegisterOptions(): Promise<unknown>;
281
+ /** Verify and store a passkey registration response from the platform credential API. */
282
+ passkeysRegister(response: unknown): Promise<unknown>;
283
+ /** Generate WebAuthn authentication options. */
284
+ passkeysAuthOptions(options?: PasskeysAuthOptions): Promise<unknown>;
285
+ /** Verify a WebAuthn assertion and establish a session. */
286
+ passkeysAuthenticate(response: unknown): Promise<AuthResult>;
287
+ /** List registered passkeys for the current authenticated user. */
288
+ passkeysList(): Promise<unknown>;
289
+ /** Delete a registered passkey by credential ID. */
290
+ passkeysDelete(credentialId: string): Promise<unknown>;
291
+ /** MFA sub-namespace for TOTP enrollment, verification, and management. */
292
+ get mfa(): {
293
+ /** Enroll TOTP — returns secret, QR code URI, and recovery codes. */
294
+ enrollTotp(): Promise<TotpEnrollResult>;
295
+ /** Verify TOTP enrollment with factorId and a TOTP code. */
296
+ verifyTotpEnrollment(factorId: string, code: string): Promise<{
297
+ ok: true;
298
+ }>;
299
+ /** Verify TOTP code during MFA challenge (after signIn returns mfaRequired). */
300
+ verifyTotp(mfaTicket: string, code: string): Promise<AuthResult>;
301
+ /** Use a recovery code during MFA challenge. */
302
+ useRecoveryCode(mfaTicket: string, recoveryCode: string): Promise<AuthResult>;
303
+ /** Disable TOTP for the current user. Requires password or TOTP code. */
304
+ disableTotp(options?: DisableTotpOptions): Promise<{
305
+ ok: true;
306
+ }>;
307
+ /** List enrolled MFA factors for the current user. */
308
+ listFactors(): Promise<{
309
+ factors: MfaFactor[];
310
+ }>;
311
+ };
312
+ }
313
+ export {};
314
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAG1F,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE;QACL,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,mDAAmD;AACnD,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,IAAI,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,iBAAiB,CAAC;AAE1D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qFAAqF;IACrF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,oBAAoB;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,KAAK,iBAAiB,GAAG,oBAAoB,GAAG;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,WAAW,0BAA0B;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,gBAAiB,SAAQ,oBAAoB;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,OAAO,EAAE,eAAe,CAAC;CAC1B;AAqCD,qBAAa,UAAU;IAInB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,UAAU;IANpB,OAAO,CAAC,OAAO,CAAS;gBAGd,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,cAAc,EACpB,UAAU,EAAE,cAAc;IAKpC,OAAO,CAAC,cAAc;IA8BtB;;;;OAIG;IACG,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC;IAsBzD,oFAAoF;IAC9E,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAmB3D,yCAAyC;IACnC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAY9B,kEAAkE;IAC5D,cAAc,IAAI,OAAO,CAAC,UAAU,CAAC;IAU3C;;;;;;;OAOG;IACH,eAAe,CACb,iBAAiB,EAAE,MAAM,GAAG,iBAAiB,EAC7C,OAAO,CAAC,EAAE,oBAAoB,GAAG;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GACzD;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE;IA2BlB;;;OAGG;IACG,mBAAmB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAgCnE,0BAA0B;IACpB,iBAAiB,CAAC,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC;IAWjF;;;OAGG;IACG,mBAAmB,CAAC,OAAO,EAAE;QACjC,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,IAAI,CAAC;IAWjB;;;OAGG;IACG,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAQzD;;;OAGG;IACG,eAAe,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IASvF;;;OAGG;IACG,WAAW,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC;IAShF,mEAAmE;IAC7D,aAAa,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9D,+EAA+E;IACzE,eAAe,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAO9E,+CAA+C;IACzC,aAAa,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC;IAStF;;;;;OAKG;IACG,aAAa,CACjB,iBAAiB,EAAE,MAAM,GAAG,CAAC,gBAAgB,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,EACrE,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAyBnC;;;;;OAKG;IACH,iBAAiB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,MAAM,IAAI;IAI/D,2BAA2B;IACrB,YAAY,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAKxC,gCAAgC;IAC1B,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD,2DAA2D;IACrD,cAAc,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAIjD,yDAAyD;IACnD,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAInE,2DAA2D;IAC3D,IAAI,WAAW,IAAI,SAAS,GAAG,IAAI,CAElC;IAED,oCAAoC;IAC9B,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,SAAS,CAAC;IAKnE;;;;;;;;OAQG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAOtD,sCAAsC;IAChC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,yDAAyD;IACnD,wBAAwB,CAAC,OAAO,CAAC,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnF,mCAAmC;IAC7B,oBAAoB,CACxB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,0BAA0B,GAC/D,OAAO,CAAC,IAAI,CAAC;IAYhB,gCAAgC;IAC1B,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItE,6CAA6C;IACvC,cAAc,CAAC,OAAO,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC;IAWpG;;;OAGG;IACG,kBAAkB,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAInE;;;OAGG;IACG,cAAc,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC;IAWnF;;;OAGG;IACG,WAAW,CACf,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,0BAA0B,GAC3E,OAAO,CAAC,IAAI,CAAC;IAUhB;;OAEG;IACG,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMrD,iFAAiF;IAC3E,uBAAuB,IAAI,OAAO,CAAC,OAAO,CAAC;IAIjD,yFAAyF;IACnF,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAI3D,gDAAgD;IAC1C,mBAAmB,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI1E,2DAA2D;IACrD,oBAAoB,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;IAMlE,mEAAmE;IAC7D,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;IAItC,oDAAoD;IAC9C,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAM5D,2EAA2E;IAC3E,IAAI,GAAG;QAMH,qEAAqE;sBACjD,OAAO,CAAC,gBAAgB,CAAC;QAI7C,4DAA4D;uCACvB,MAAM,QAAQ,MAAM,GAAG,OAAO,CAAC;YAAE,EAAE,EAAE,IAAI,CAAA;SAAE,CAAC;QAIjF,gFAAgF;8BACpD,MAAM,QAAQ,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;QAStE,gDAAgD;mCACf,MAAM,gBAAgB,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;QASnF,yEAAyE;8BAC7C,kBAAkB,GAAG,OAAO,CAAC;YAAE,EAAE,EAAE,IAAI,CAAA;SAAE,CAAC;QAItE,sDAAsD;uBACjC,OAAO,CAAC;YAAE,OAAO,EAAE,SAAS,EAAE,CAAA;SAAE,CAAC;MAIzD;CAEF"}