@molecule/app-auth 1.5.7 → 1.5.9
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/README.md +101 -6
- package/dist/client.d.ts +3 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +60 -14
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +13 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -1
- package/dist/index.js.map +1 -1
- package/dist/provider.d.ts +3 -3
- package/dist/provider.d.ts.map +1 -1
- package/dist/types.d.ts +76 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/utilities.d.ts +2 -2
- package/dist/utilities.d.ts.map +1 -1
- package/dist/utilities.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@ AUTO-GENERATED — DO NOT EDIT THIS FILE.
|
|
|
3
3
|
Generated by `mlcl sync-docs` from the package's src/index.ts JSDoc + mlcl/registry.json.
|
|
4
4
|
Edits here are overwritten on the next commit (molecule's pre-commit hook regenerates).
|
|
5
5
|
To change this document, edit the module-level JSDoc in src/index.ts.
|
|
6
|
-
Generated: 2026-10-
|
|
6
|
+
Generated: 2026-10-21T17:03:31.533Z
|
|
7
7
|
-->
|
|
8
8
|
|
|
9
9
|
# @molecule/app-auth
|
|
@@ -71,7 +71,9 @@ verification settles behind that render. Never hold the first paint on
|
|
|
71
71
|
an API round trip on every navigation (xr-molecule-flash-m177: ~30 full page
|
|
72
72
|
loads in one pagination spec; its four tests sat at 15.0–15.9 s of a 15 s
|
|
73
73
|
budget and the grader timed two out). Route guards read this same `status`:
|
|
74
|
-
wait only while it is `'loading'
|
|
74
|
+
wait only while it is `'loading'` — that status means "no decision yet", so an
|
|
75
|
+
auth request in flight (`state.loading`) keeps the decided status and does not
|
|
76
|
+
unmount a Login/Register page mid-request (xr-molecule-flash-m380).
|
|
75
77
|
`validateSession()` is the background re-check that produces the last two: call
|
|
76
78
|
it after the first render — a 401 or 403 clears the token (`'unauthenticated'`),
|
|
77
79
|
while a network failure, a 5xx, or a 404 from a wrong `currentUserEndpoint`
|
|
@@ -92,6 +94,16 @@ later load or retry can restore it. An app's own code must use the same test —
|
|
|
92
94
|
`err.status < 500`, which is true for an aborted navigation request and signs the
|
|
93
95
|
user out on a route change.
|
|
94
96
|
|
|
97
|
+
**A rejected call keeps the API's error body.** Every non-ok response rejects
|
|
98
|
+
the promise with an {@link I18nError} whose `i18nKey` is the server's
|
|
99
|
+
`errorKey` (or `auth.error.requestFailed`) — and the thrown error carries the
|
|
100
|
+
HTTP `status` and the parsed response `body` (see {@link AuthError}). The
|
|
101
|
+
whole parsed body is preserved, nested maps and arrays included, not just the
|
|
102
|
+
`error`/`message` the message is built from, so a login form can render the
|
|
103
|
+
API's own validation payload (`{ errors: { credentials: ['is invalid'] } }`)
|
|
104
|
+
instead of re-implementing the call. A body that is not JSON arrives as `{}`;
|
|
105
|
+
the key, message, fallback and rejection are unchanged.
|
|
106
|
+
|
|
95
107
|
**`autoRefresh` does nothing without a refresh token — and must never log the
|
|
96
108
|
user out.** The client schedules a refresh only when `refresh()` could actually
|
|
97
109
|
succeed, i.e. when a refresh token is stored. An API that issues none (the
|
|
@@ -427,6 +439,51 @@ interface AuthState<T = UserProfile> {
|
|
|
427
439
|
}
|
|
428
440
|
```
|
|
429
441
|
|
|
442
|
+
#### `AuthError`
|
|
443
|
+
|
|
444
|
+
The error an auth client rejects with when the API answers a non-ok HTTP
|
|
445
|
+
response. It is the {@link I18nError} the client throws — same `i18nKey`,
|
|
446
|
+
message, English fallback and rejection — plus the HTTP facts a caller needs
|
|
447
|
+
to react to the server's own answer:
|
|
448
|
+
|
|
449
|
+
- `status`: the HTTP status code (`401`, `422`, `500`, …). Use it to tell a
|
|
450
|
+
dead credential from a server or route problem; only 401/403 mean the
|
|
451
|
+
session is over.
|
|
452
|
+
- `body`: the response body parsed from JSON exactly as the API sent it.
|
|
453
|
+
The client keeps the WHOLE parsed value, not only the `errorKey` / `error`
|
|
454
|
+
/ `message` fields it maps into the message, so an app can render its own
|
|
455
|
+
validation payload — a nested `{ errors: { credentials: ['is invalid'] } }`
|
|
456
|
+
map, a field map with arrays, or a top-level array of messages — without
|
|
457
|
+
re-implementing the login call. A body that is not JSON (an HTML error
|
|
458
|
+
page, an empty body) arrives as `{}`.
|
|
459
|
+
|
|
460
|
+
```typescript
|
|
461
|
+
import { I18nError } from '@molecule/app-i18n'
|
|
462
|
+
import type { AuthError } from '@molecule/app-auth'
|
|
463
|
+
|
|
464
|
+
try {
|
|
465
|
+
await client.login({ email, password })
|
|
466
|
+
} catch (caught) {
|
|
467
|
+
if (caught instanceof I18nError) {
|
|
468
|
+
const { status, body } = caught as AuthError
|
|
469
|
+
// show the API's own messages, e.g. body.errors.credentials
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
```
|
|
473
|
+
|
|
474
|
+
```typescript
|
|
475
|
+
interface AuthError extends I18nError {
|
|
476
|
+
/** HTTP status code of the failed response (e.g. `401`). */
|
|
477
|
+
status: number
|
|
478
|
+
|
|
479
|
+
/**
|
|
480
|
+
* The response body parsed from JSON, exactly as the API sent it — nested
|
|
481
|
+
* maps and arrays included. `{}` when the body is not JSON.
|
|
482
|
+
*/
|
|
483
|
+
body: unknown
|
|
484
|
+
}
|
|
485
|
+
```
|
|
486
|
+
|
|
430
487
|
#### `AuthSessionSeed`
|
|
431
488
|
|
|
432
489
|
A complete session an exchange outside the client has already established — an OAuth
|
|
@@ -453,7 +510,7 @@ updates, and auth state subscription.
|
|
|
453
510
|
```typescript
|
|
454
511
|
interface AuthClient<
|
|
455
512
|
T = UserProfile,
|
|
456
|
-
TRegister extends
|
|
513
|
+
TRegister extends RegisterExtraShape<TRegister> = Record<never, never>,
|
|
457
514
|
> {
|
|
458
515
|
/**
|
|
459
516
|
* Returns the current authentication state snapshot.
|
|
@@ -892,6 +949,29 @@ Which Web Storage area {@link createBrowserStorageAdapter} persists to:
|
|
|
892
949
|
type BrowserStorageKind = 'local' | 'session'
|
|
893
950
|
```
|
|
894
951
|
|
|
952
|
+
#### `RegisterExtraShape`
|
|
953
|
+
|
|
954
|
+
The shape an app's own registration fields (`TRegister`) must satisfy.
|
|
955
|
+
|
|
956
|
+
The app's fields pass through unchanged; a field that collides with a
|
|
957
|
+
built-in one keeps the built-in type, so `{ username: string; email: number }`
|
|
958
|
+
is rejected while `{ username: string }` is accepted. Both an ordinary
|
|
959
|
+
`interface` and a type literal/alias satisfy it — unlike
|
|
960
|
+
`Record<string, unknown>`, which a TypeScript interface never satisfies,
|
|
961
|
+
because interfaces have no implicit index signature.
|
|
962
|
+
|
|
963
|
+
```typescript
|
|
964
|
+
type RegisterExtraShape<T> = {
|
|
965
|
+
[K in keyof T]: K extends 'email' | 'password'
|
|
966
|
+
? string
|
|
967
|
+
: K extends 'name'
|
|
968
|
+
? string | undefined
|
|
969
|
+
: K extends 'metadata'
|
|
970
|
+
? Record<string, unknown> | undefined
|
|
971
|
+
: T[K]
|
|
972
|
+
} & object
|
|
973
|
+
```
|
|
974
|
+
|
|
895
975
|
#### `RegisterData`
|
|
896
976
|
|
|
897
977
|
New user registration payload: the email/password fields every API takes,
|
|
@@ -912,8 +992,21 @@ await client.register({ email, password, username }) // `username` is typed
|
|
|
912
992
|
(and a `requestBody` that reads them) keeps type-checking unchanged; only a
|
|
913
993
|
client constructed with a second generic accepts (and types) more fields.
|
|
914
994
|
|
|
995
|
+
An ordinary `interface` works as well as a type literal or alias — the
|
|
996
|
+
constraint is structural, so the app can name its own fields once and pass
|
|
997
|
+
that type whole:
|
|
998
|
+
|
|
999
|
+
```typescript
|
|
1000
|
+
interface RealWorldRegister { username: string }
|
|
1001
|
+
const client = createJWTAuthClient<UserProfile, RealWorldRegister>({ … })
|
|
1002
|
+
```
|
|
1003
|
+
|
|
1004
|
+
A custom field may not change a built-in field's type: `email` and
|
|
1005
|
+
`password` stay `string`, `name` stays `string | undefined` and `metadata`
|
|
1006
|
+
stays `Record<string, unknown> | undefined` (see {@link RegisterExtraShape}).
|
|
1007
|
+
|
|
915
1008
|
```typescript
|
|
916
|
-
type RegisterData<TExtra extends
|
|
1009
|
+
type RegisterData<TExtra extends RegisterExtraShape<TExtra> = Record<never, never>> = {
|
|
917
1010
|
/**
|
|
918
1011
|
* Email address.
|
|
919
1012
|
*/
|
|
@@ -942,8 +1035,10 @@ The single value an app renders the session from — the four states every auth
|
|
|
942
1035
|
UI needs, derived from {@link AuthState} so no caller has to combine
|
|
943
1036
|
`initialized`/`authenticated`/`loading`/`error` itself.
|
|
944
1037
|
|
|
945
|
-
- `'loading'`: no decision yet (before `initialize()` settles
|
|
946
|
-
operation is
|
|
1038
|
+
- `'loading'`: no decision yet (before `initialize()` settles). An auth
|
|
1039
|
+
operation in flight is {@link AuthState.loading} and KEEPS the decided
|
|
1040
|
+
status, so a page guarded on `'loading'` stays mounted while a Login or
|
|
1041
|
+
Register request runs.
|
|
947
1042
|
- `'authenticated'`: a session exists.
|
|
948
1043
|
- `'unauthenticated'`: the client settled the question and nobody is signed in.
|
|
949
1044
|
- `'unavailable'`: a stored session exists but the server could not confirm it
|
package/dist/client.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* @module
|
|
7
7
|
*/
|
|
8
|
-
import type { AuthClient, AuthClientConfig, UserProfile } from './types.js';
|
|
8
|
+
import type { AuthClient, AuthClientConfig, RegisterExtraShape, UserProfile } from './types.js';
|
|
9
9
|
/**
|
|
10
10
|
* Creates a simple JWT-based auth client.
|
|
11
11
|
*
|
|
@@ -17,8 +17,9 @@ import type { AuthClient, AuthClientConfig, UserProfile } from './types.js';
|
|
|
17
17
|
* profile the client and the React hook hand to your pages.
|
|
18
18
|
* @template TRegister - The app's own registration fields, accepted at the top
|
|
19
19
|
* level of `register()` (e.g. `{ username: string }` for a RealWorld-shaped API).
|
|
20
|
+
* An interface and a type alias are equally valid.
|
|
20
21
|
* @param config - Auth client configuration including endpoints, storage, and refresh settings.
|
|
21
22
|
* @returns A fully configured `AuthClient` instance.
|
|
22
23
|
*/
|
|
23
|
-
export declare const createJWTAuthClient: <T extends UserProfile = UserProfile, TRegister extends
|
|
24
|
+
export declare const createJWTAuthClient: <T extends UserProfile = UserProfile, TRegister extends RegisterExtraShape<TRegister> = Record<never, never>>(config?: AuthClientConfig<T>) => AuthClient<T, TRegister>;
|
|
24
25
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAWhB,kBAAkB,EAClB,WAAW,EACZ,MAAM,YAAY,CAAA;AAmHnB;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,mBAAmB,GAC9B,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,SAAS,SAAS,kBAAkB,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAEtE,SAAQ,gBAAgB,CAAC,CAAC,CAAM,KAC/B,UAAU,CAAC,CAAC,EAAE,SAAS,CAy4BzB,CAAA"}
|
package/dist/client.js
CHANGED
|
@@ -118,6 +118,7 @@ const sameUserData = (left, right, depth = 0) => {
|
|
|
118
118
|
* profile the client and the React hook hand to your pages.
|
|
119
119
|
* @template TRegister - The app's own registration fields, accepted at the top
|
|
120
120
|
* level of `register()` (e.g. `{ username: string }` for a RealWorld-shaped API).
|
|
121
|
+
* An interface and a type alias are equally valid.
|
|
121
122
|
* @param config - Auth client configuration including endpoints, storage, and refresh settings.
|
|
122
123
|
* @returns A fully configured `AuthClient` instance.
|
|
123
124
|
*/
|
|
@@ -159,20 +160,40 @@ export const createJWTAuthClient = (config = {}) => {
|
|
|
159
160
|
eventListeners.forEach((listener) => listener(event));
|
|
160
161
|
};
|
|
161
162
|
/**
|
|
162
|
-
* The status an update implies.
|
|
163
|
-
*
|
|
164
|
-
*
|
|
165
|
-
*
|
|
163
|
+
* The status an update implies.
|
|
164
|
+
*
|
|
165
|
+
* `'loading'` means "no decision yet", so it is derived from `initialized`
|
|
166
|
+
* ALONE: an auth request in flight on an initialized client (`state.loading`)
|
|
167
|
+
* keeps the status the client had already decided, and a route guard that
|
|
168
|
+
* unmounts while `'loading'` stays mounted for the whole request, preserving
|
|
169
|
+
* form input and local validation errors when a sign-in is rejected.
|
|
170
|
+
*
|
|
171
|
+
* `'unavailable'` is sticky until something actually DECIDES the session: an
|
|
172
|
+
* explicit status (a sign-in that succeeded, a sign-out, `validateSession`'s
|
|
173
|
+
* answer) or a sign-in that newly authenticated this client. A failed login, a
|
|
174
|
+
* progress update, or a profile update must not turn "the server did not
|
|
175
|
+
* answer" into "nobody is signed in" — nor into "signed in" when the stored
|
|
176
|
+
* token was never confirmed.
|
|
166
177
|
*/
|
|
167
178
|
const deriveStatus = (next, explicit) => {
|
|
168
179
|
if (explicit)
|
|
169
180
|
return explicit;
|
|
170
|
-
if (next.
|
|
171
|
-
return 'authenticated';
|
|
172
|
-
if (next.loading || !next.initialized)
|
|
181
|
+
if (!next.initialized)
|
|
173
182
|
return 'loading';
|
|
174
|
-
|
|
183
|
+
// Progress is not a decision: a login/register/refresh/logout in flight keeps
|
|
184
|
+
// the status the client already settled on.
|
|
185
|
+
if (next.loading)
|
|
186
|
+
return state.status;
|
|
187
|
+
// An unconfirmed session stays unconfirmed unless this update decided it —
|
|
188
|
+
// `authenticated` changing is that decision (an explicit status short-circuits
|
|
189
|
+
// above for every other one).
|
|
190
|
+
if (state.status === 'unavailable' &&
|
|
191
|
+
tokenStorage.getAccessToken() &&
|
|
192
|
+
next.authenticated === state.authenticated) {
|
|
175
193
|
return 'unavailable';
|
|
194
|
+
}
|
|
195
|
+
if (next.authenticated)
|
|
196
|
+
return 'authenticated';
|
|
176
197
|
return 'unauthenticated';
|
|
177
198
|
};
|
|
178
199
|
const setState = (updates) => {
|
|
@@ -320,14 +341,29 @@ export const createJWTAuthClient = (config = {}) => {
|
|
|
320
341
|
headers,
|
|
321
342
|
});
|
|
322
343
|
if (!response.ok) {
|
|
344
|
+
// The parsed answer, kept WHOLE: the client maps `errorKey`/`error`/
|
|
345
|
+
// `message` into the I18nError it throws, but every other field — a
|
|
346
|
+
// RealWorld `{ errors: { credentials: ['is invalid'] } }` map, field
|
|
347
|
+
// arrays, a top-level array — is preserved on `body` so the app can show
|
|
348
|
+
// the server's own messages. A non-JSON body
|
|
349
|
+
// (HTML error page, empty) parses to `{}`, exactly as before.
|
|
323
350
|
const body = await response.json().catch(() => ({}));
|
|
324
|
-
const
|
|
325
|
-
|
|
351
|
+
const fields = (body ?? {});
|
|
352
|
+
// JSON is untyped: structured validation errors belong on `body`, never
|
|
353
|
+
// in the translation key or its fallback text.
|
|
354
|
+
const key = typeof fields.errorKey === 'string' ? fields.errorKey : 'auth.error.requestFailed';
|
|
355
|
+
const fallback = typeof fields.error === 'string'
|
|
356
|
+
? fields.error
|
|
357
|
+
: typeof fields.message === 'string'
|
|
358
|
+
? fields.message
|
|
359
|
+
: 'Request failed';
|
|
326
360
|
const failure = new I18nError(key, undefined, fallback);
|
|
327
361
|
// The HTTP status, so a caller can tell "this token is dead" (401/403)
|
|
328
362
|
// from "the server did not answer" (5xx, network) or "the route does not
|
|
329
363
|
// exist" (404) — `validateSession` clears the session only on the first.
|
|
330
364
|
failure.status = response.status;
|
|
365
|
+
// The response body, exactly as parsed — see {@link AuthError}.
|
|
366
|
+
failure.body = body;
|
|
331
367
|
throw failure;
|
|
332
368
|
}
|
|
333
369
|
const data = await response.json();
|
|
@@ -379,7 +415,7 @@ export const createJWTAuthClient = (config = {}) => {
|
|
|
379
415
|
}
|
|
380
416
|
if (restoredUser) {
|
|
381
417
|
tokenStorage.setUser(restoredUser);
|
|
382
|
-
setState({ authenticated: true, user: restoredUser });
|
|
418
|
+
setState({ status: 'authenticated', authenticated: true, user: restoredUser });
|
|
383
419
|
return { user: restoredUser, attempted: true, rejected: false };
|
|
384
420
|
}
|
|
385
421
|
return { user: null, attempted: true, rejected: false };
|
|
@@ -605,6 +641,7 @@ export const createJWTAuthClient = (config = {}) => {
|
|
|
605
641
|
tokenStorage.setRefreshToken(result.refreshToken || null);
|
|
606
642
|
tokenStorage.setUser(result.user);
|
|
607
643
|
setState({
|
|
644
|
+
status: 'authenticated',
|
|
608
645
|
loading: false,
|
|
609
646
|
authenticated: true,
|
|
610
647
|
user: result.user,
|
|
@@ -672,6 +709,7 @@ export const createJWTAuthClient = (config = {}) => {
|
|
|
672
709
|
tokenStorage.setRefreshToken(result.refreshToken || null);
|
|
673
710
|
tokenStorage.setUser(result.user);
|
|
674
711
|
setState({
|
|
712
|
+
status: 'authenticated',
|
|
675
713
|
loading: false,
|
|
676
714
|
authenticated: true,
|
|
677
715
|
user: result.user,
|
|
@@ -720,6 +758,7 @@ export const createJWTAuthClient = (config = {}) => {
|
|
|
720
758
|
if (user)
|
|
721
759
|
tokenStorage.setUser(user);
|
|
722
760
|
setState({
|
|
761
|
+
status: 'authenticated',
|
|
723
762
|
authenticated: true,
|
|
724
763
|
user,
|
|
725
764
|
});
|
|
@@ -740,13 +779,20 @@ export const createJWTAuthClient = (config = {}) => {
|
|
|
740
779
|
});
|
|
741
780
|
},
|
|
742
781
|
async updateProfile(data) {
|
|
743
|
-
const
|
|
782
|
+
const answer = await fetchAPI(profileEndpoint, {
|
|
744
783
|
method: 'PATCH',
|
|
745
784
|
body: JSON.stringify(data),
|
|
746
785
|
});
|
|
747
|
-
// The profile route answers
|
|
786
|
+
// The profile route answers in one of three shapes: a bare user, `{ user }`, or
|
|
787
|
+
// the resource envelope `{ props }` (which `fetchAPI` aliases onto `user`).
|
|
788
|
+
// The profile the app stores is the USER, never the envelope around it —
|
|
789
|
+
// caching the envelope meant every page reading `user.name` read `undefined`
|
|
790
|
+
// right after a successful save (the settings-edit class).
|
|
791
|
+
const unwrapped = answer;
|
|
792
|
+
const raw = unwrapped.user ?? answer;
|
|
793
|
+
// The profile route answers the wire shape as well; map it like every
|
|
748
794
|
// other answer that replaces the cached user.
|
|
749
|
-
const user = mapCurrentUser(
|
|
795
|
+
const user = mapCurrentUser(answer, raw) ?? raw;
|
|
750
796
|
tokenStorage.setUser(user);
|
|
751
797
|
setState({ user });
|
|
752
798
|
return user;
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAEhD,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAA;AAClE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAkBnF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,uBAAuB,GAAG,GAAY,EAAE;IAC5C,IAAI,CAAC;QACH,OAAO,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,GAAG,CAAA;IACpE,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,4EAA4E;QAC5E,6EAA6E;QAC7E,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,sBAAsB,GAAG,GAAS,EAAE;IACxC,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAM;IAC3C,MAAM,YAAY,GAAG,uBAAuB,EAAE,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC5F,QAAQ,CAAC,MAAM,GAAG,+BAA+B,YAAY,EAAE,CAAA;AACjE,CAAC,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,iBAAiB,GAAG,GAAY,EAAE;IACtC,IAAI,CAAC;QACH,OAAO,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,WAAW,CAAA;IACpF,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,8EAA8E;QAC9E,uEAAuE;QACvE,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,YAAY,GAAG,CAAC,IAAa,EAAE,KAAc,EAAE,KAAK,GAAG,CAAC,EAAW,EAAE;IACzE,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,IAAI,CAAA;IAC/B,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IAC9D,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IACvE,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAA;QAC/D,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;YAAE,OAAO,KAAK,CAAA;QAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAA;IACnF,CAAC;IACD,MAAM,UAAU,GAAG,IAA+B,CAAA;IAClD,MAAM,WAAW,GAAG,KAAgC,CAAA;IACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACxC,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IACrE,OAAO,QAAQ,CAAC,KAAK,CACnB,CAAC,GAAG,EAAE,EAAE,CACN,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC;QACtD,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAC7D,CAAA;AACH,CAAC,CAAA;AAmBD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAIjC,SAA8B,EAAE,EACN,EAAE;IAC5B,MAAM,EACJ,OAAO,GAAG,EAAE,EACZ,aAAa,GAAG,aAAa,EAC7B,cAAc,GAAG,eAAe,EAChC,gBAAgB,GAAG,gBAAgB,EACnC,eAAe,GAAG,eAAe,EACjC,eAAe,GAAG,eAAe,EACjC,sBAAsB,GAAG,sBAAsB,EAC/C,qBAAqB,GAAG,8BAA8B,EACtD,sBAAsB,GAAG,uBAAuB,EAChD,mBAAmB,GAAG,WAAW,EACjC,aAAa,GAAG,gBAAgB,EAChC,OAAO,EAAE,iBAAiB,EAC1B,iBAAiB,EACjB,WAAW,GAAG,IAAI,EAClB,aAAa,GAAG,EAAE,GACnB,GAAG,MAAM,CAAA;IAEV,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;IAEhC,+EAA+E;IAC/E,0EAA0E;IAC1E,+EAA+E;IAC/E,+DAA+D;IAC/D,MAAM,OAAO,GACX,iBAAiB,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IAEvF,gFAAgF;IAChF,+EAA+E;IAC/E,8CAA8C;IAC9C,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,iBAAiB,KAAK,QAAQ,EAAE,CAAC;QACpE,MAAM,CAAC,IAAI,CACT,aAAa,MAAM,CAAC,QAAQ,uIAAuI,CACpK,CAAA;IACH,CAAC;IAED,MAAM,YAAY,GAAG,kBAAkB,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;IAChF,MAAM,cAAc,GAAG,IAAI,GAAG,EAAiC,CAAA;IAC/D,MAAM,cAAc,GAAG,IAAI,GAAG,EAAqB,CAAA;IACnD,IAAI,YAAY,GAAyC,IAAI,CAAA;IAC7D,kFAAkF;IAClF,gFAAgF;IAChF,8EAA8E;IAC9E,+EAA+E;IAC/E,IAAI,eAAe,GAAyB,IAAI,CAAA;IAEhD,IAAI,KAAK,GAAiB;QACxB,MAAM,EAAE,SAAS;QACjB,WAAW,EAAE,KAAK;QAClB,aAAa,EAAE,KAAK;QACpB,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,IAAI;KACZ,CAAA;IAED,MAAM,MAAM,GAAG,GAAS,EAAE;QACxB,cAAc,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IACvD,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,CAAC,KAAgB,EAAQ,EAAE;QAC3C,cAAc,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IACvD,CAAC,CAAA;IAED;;;;;;;;;;;;;;;OAeG;IACH,MAAM,YAAY,GAAG,CAAC,IAAkB,EAAE,QAAgC,EAAc,EAAE;QACxF,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAA;QAC7B,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO,SAAS,CAAA;QACvC,8EAA8E;QAC9E,4CAA4C;QAC5C,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC,MAAM,CAAA;QACrC,2EAA2E;QAC3E,+EAA+E;QAC/E,8BAA8B;QAC9B,IACE,KAAK,CAAC,MAAM,KAAK,aAAa;YAC9B,YAAY,CAAC,cAAc,EAAE;YAC7B,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,aAAa,EAC1C,CAAC;YACD,OAAO,aAAa,CAAA;QACtB,CAAC;QACD,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO,eAAe,CAAA;QAC9C,OAAO,iBAAiB,CAAA;IAC1B,CAAC,CAAA;IAED,MAAM,QAAQ,GAAG,CAAC,OAA8B,EAAQ,EAAE;QACxD,MAAM,QAAQ,GAAG,KAAK,CAAA;QACtB,MAAM,IAAI,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAA;QACxC,iFAAiF;QACjF,2FAA2F;QAC3F,yFAAyF;QACzF,6FAA6F;QAC7F,yFAAyF;QACzF,2DAA2D;QAC3D,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5E,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAA;QAC3B,CAAC;QACD,MAAM,SAAS,GAAG,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAA;QACzE,KAAK,GAAG,SAAS,CAAA;QACjB,4FAA4F;QAC5F,6EAA6E;QAC7E,MAAM,SAAS,GACb,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM;YACpC,QAAQ,CAAC,WAAW,KAAK,SAAS,CAAC,WAAW;YAC9C,QAAQ,CAAC,aAAa,KAAK,SAAS,CAAC,aAAa;YAClD,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI;YAChC,QAAQ,CAAC,OAAO,KAAK,SAAS,CAAC,OAAO;YACtC,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,CAAA;QACpC,IAAI,CAAC,SAAS;YAAE,MAAM,EAAE,CAAA;IAC1B,CAAC,CAAA;IAED;;;;OAIG;IACH,MAAM,qBAAqB,GAAG,CAAC,GAAY,EAAW,EAAE,CACtD,GAAG,YAAY,SAAS,IAAI,GAAG,CAAC,OAAO,KAAK,2BAA2B,CAAA;IAEzE,MAAM,eAAe,GAAG,GAAS,EAAE;QACjC,IAAI,CAAC,WAAW;YAAE,OAAM;QAExB,MAAM,KAAK,GAAG,YAAY,CAAC,cAAc,EAAE,CAAA;QAC3C,IAAI,CAAC,KAAK;YAAE,OAAM;QAElB,2EAA2E;QAC3E,8EAA8E;QAC9E,yEAAyE;QACzE,6EAA6E;QAC7E,4EAA4E;QAC5E,6EAA6E;QAC7E,2EAA2E;QAC3E,iCAAiC;QACjC,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE;YAAE,OAAM;QAE3C,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAA;QAC3C,IAAI,CAAC,SAAS;YAAE,OAAM;QAEtB,MAAM,WAAW,GAAG,SAAS,GAAG,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACjE,IAAI,WAAW,IAAI,CAAC;YAAE,OAAM;QAE5B,IAAI,YAAY,EAAE,CAAC;YACjB,YAAY,CAAC,YAAY,CAAC,CAAA;QAC5B,CAAC;QAED,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;YAC7B,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC7B,mEAAmE;gBACnE,yEAAyE;gBACzE,qEAAqE;gBACrE,yCAAyC;gBACzC,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC/B,MAAM,CAAC,KAAK,CACV,sGAAsG,EACtG,GAAG,CACJ,CAAA;oBACD,OAAM;gBACR,CAAC;gBACD,0EAA0E;gBAC1E,sEAAsE;gBACtE,yEAAyE;gBACzE,0EAA0E;gBAC1E,MAAM,UAAU,GAAI,GAA2B,CAAC,MAAM,CAAA;gBACtD,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;oBAC7C,MAAM,CAAC,IAAI,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAA;oBAC3D,KAAK,MAAM,CAAC,MAAM,EAAE,CAAA;oBACpB,OAAM;gBACR,CAAC;gBACD,MAAM,CAAC,IAAI,CACT,2EAA2E,EAC3E,GAAG,CACJ,CAAA;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,EAAE,WAAW,CAAC,CAAA;IACjB,CAAC,CAAA;IAED,4EAA4E;IAC5E,MAAM,SAAS,GAAG,CAAC,IAA0B,EAAE,OAAe,EAAW,EAAE,CACzE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,OAAkC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IAC7F,MAAM,SAAS,GAAG,CAAC,IAAa,EAAiB,EAAE;QACjD,6EAA6E;QAC7E,wEAAwE;QACxE,wEAAwE;QACxE,0EAA0E;QAC1E,gBAAgB;QAChB,IAAI,MAAM,CAAC,eAAe;YAAE,OAAO,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QAC/D,wEAAwE;QACxE,8DAA8D;QAC9D,OAAO,IAAqB,CAAA;IAC9B,CAAC,CAAA;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,cAAc,GAAG,CAAC,IAAa,EAAE,QAAkB,EAAY,EAAE;QACrE,IAAI,CAAC,MAAM,CAAC,eAAe;YAAE,OAAO,QAAQ,CAAA;QAC5C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;YAC3C,OAAO,MAAM,EAAE,IAAI,IAAI,QAAQ,CAAA;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CACV,2EAA2E,EAC3E,KAAK,CACN,CAAA;YACD,OAAO,QAAQ,CAAA;QACjB,CAAC;IACH,CAAC,CAAA;IAED,MAAM,QAAQ,GAAG,KAAK,EAAK,QAAgB,EAAE,UAAuB,EAAE,EAAc,EAAE;QACpF,MAAM,GAAG,GAAG,OAAO,GAAG,QAAQ,CAAA;QAC9B,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,kBAAkB;YAClC,GAAI,OAAO,CAAC,OAAkC;SAC/C,CAAA;QAED,MAAM,KAAK,GAAG,YAAY,CAAC,cAAc,EAAE,CAAA;QAC3C,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,eAAe,CAAC,GAAG,GAAG,MAAM,CAAC,UAAU,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAA;QACxE,CAAC;QAED,wEAAwE;QACxE,0EAA0E;QAC1E,uEAAuE;QACvE,0EAA0E;QAC1E,sEAAsE;QACtE,yEAAyE;QACzE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,WAAW,EAAE,SAAS;YACtB,GAAG,OAAO;YACV,OAAO;SACR,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,qEAAqE;YACrE,oEAAoE;YACpE,qEAAqE;YACrE,yEAAyE;YACzE,6CAA6C;YAC7C,8DAA8D;YAC9D,MAAM,IAAI,GAAY,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAC7D,MAAM,MAAM,GAAG,CAAC,IAAI,IAAI,EAAE,CAA+D,CAAA;YACzF,wEAAwE;YACxE,+CAA+C;YAC/C,MAAM,GAAG,GAAG,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,0BAA0B,CAAA;YAC9F,MAAM,QAAQ,GACZ,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;gBAC9B,CAAC,CAAC,MAAM,CAAC,KAAK;gBACd,CAAC,CAAC,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;oBAClC,CAAC,CAAC,MAAM,CAAC,OAAO;oBAChB,CAAC,CAAC,gBAAgB,CAAA;YACxB,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAc,CAAA;YACpE,uEAAuE;YACvE,yEAAyE;YACzE,yEAAyE;YACzE,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;YAChC,gEAAgE;YAChE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAA;YACnB,MAAM,OAAO,CAAA;QACf,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAClC,sEAAsE;QACtE,sEAAsE;QACtE,uEAAuE;QACvE,uEAAuE;QACvE,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC5F,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAA;QACxB,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IAED,4EAA4E;IAC5E,2EAA2E;IAC3E,8EAA8E;IAC9E,4EAA4E;IAC5E,sEAAsE;IACtE,4EAA4E;IAC5E,EAAE;IACF,uEAAuE;IACvE,6EAA6E;IAC7E,wEAAwE;IACxE,yEAAyE;IACzE,gBAAgB;IAChB,EAAE;IACF,2EAA2E;IAC3E,oCAAoC;IACpC,MAAM,wBAAwB,GAAG,KAAK,IAAsC,EAAE;QAC5E,MAAM,cAAc,GAClB,OAAO,QAAQ,KAAK,WAAW,IAAI,6BAA6B,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QACxF,IAAI,CAAC,cAAc;YAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;QAC7E,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAe,mBAAmB,EAAE;gBAC/D,MAAM,EAAE,KAAK;gBACb,WAAW,EAAE,SAAS;aACvB,CAAC,CAAA;YACF,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,IAAI,IAAI,IAAI,CAAa,CAAA;YAClD,wEAAwE;YACxE,mEAAmE;YACnE,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YACrE,IAAI,YAAY,IAAI,iBAAiB,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC1E,wEAAwE;gBACxE,wEAAwE;gBACxE,qEAAqE;gBACrE,oEAAoE;gBACpE,yCAAyC;gBACzC,sBAAsB,EAAE,CAAA;gBACxB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;YACzD,CAAC;YACD,IAAI,YAAY,EAAE,CAAC;gBACjB,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;gBAClC,QAAQ,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAA;gBAC9E,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;YACjE,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;QACzD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,UAAU,GAAI,KAA6B,CAAC,MAAM,CAAA;YACxD,sEAAsE;YACtE,yEAAyE;YACzE,sEAAsE;YACtE,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;gBAC7C,sBAAsB,EAAE,CAAA;gBACxB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;YACxD,CAAC;YACD,qEAAqE;YACrE,0EAA0E;YAC1E,yEAAyE;YACzE,yEAAyE;YACzE,+DAA+D;YAC/D,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;gBACvB,MAAM,CAAC,IAAI,CACT,wDAAwD,mBAAmB,4EAA4E,EACvJ,KAAK,CACN,CAAA;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,mEAAmE,EAAE,KAAK,CAAC,CAAA;YAC1F,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,IAAI;gBACf,QAAQ,EAAE,KAAK;gBACf,KAAK,EACH,UAAU,KAAK,GAAG;oBAChB,CAAC,CAAC,yHAAyH;oBAC3H,CAAC,CAAC,KAAK,YAAY,KAAK;wBACtB,CAAC,CAAC,KAAK,CAAC,OAAO;wBACf,CAAC,CAAC,oCAAoC;aAC7C,CAAA;QACH,CAAC;IACH,CAAC,CAAA;IAED,mFAAmF;IACnF,qFAAqF;IACrF,oFAAoF;IACpF,MAAM,iBAAiB,GAAG,KAAK,IAAmB,EAAE;QAClD,MAAM,KAAK,GAAG,YAAY,CAAC,cAAc,EAAE,CAAA;QAC3C,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,EAAK,CAAA;QAEtC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,0EAA0E;YAC1E,4EAA4E;YAC5E,4EAA4E;YAC5E,0EAA0E;YAC1E,4EAA4E;YAC5E,0EAA0E;YAC1E,0EAA0E;YAC1E,oEAAoE;YACpE,QAAQ,CAAC;gBACP,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,IAAI;gBACnB,IAAI;aACL,CAAC,CAAA;YAEF,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,eAAe,EAAE,CAAA;gBACjB,OAAM;YACR,CAAC;YAED,wEAAwE;YACxE,uEAAuE;YACvE,iCAAiC;YACjC,MAAM,YAAY,GAAG,YAAY,CAAC,eAAe,EAAE,CAAA;YACnD,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,OAAO,EAAE,CAAA;oBACtB,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAA;oBAC/B,OAAM;gBACR,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,UAAU,GAAI,KAA6B,CAAC,MAAM,CAAA;oBACxD,uEAAuE;oBACvE,sEAAsE;oBACtE,2CAA2C;oBAC3C,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;wBAC7C,MAAM,CAAC,IAAI,CAAC,iDAAiD,EAAE,KAAK,CAAC,CAAA;wBACrE,YAAY,CAAC,KAAK,EAAE,CAAA;wBACpB,QAAQ,CAAC;4BACP,WAAW,EAAE,IAAI;4BACjB,aAAa,EAAE,KAAK;4BACpB,IAAI,EAAE,IAAI;4BACV,MAAM,EAAE,iBAAiB;yBAC1B,CAAC,CAAA;wBACF,OAAM;oBACR,CAAC;oBACD,MAAM,CAAC,IAAI,CACT,mFAAmF,EACnF,KAAK,CACN,CAAA;gBACH,CAAC;YACH,CAAC;YAED,0EAA0E;YAC1E,0EAA0E;YAC1E,MAAM,OAAO,GAAG,MAAM,wBAAwB,EAAE,CAAA;YAChD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,mEAAmE;gBACnE,YAAY,CAAC,KAAK,EAAE,CAAA;gBACpB,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAA;gBAC5F,OAAM;YACR,CAAC;YACD,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACvC,uEAAuE;gBACvE,yEAAyE;gBACzE,6DAA6D;gBAC7D,QAAQ,CAAC;oBACP,WAAW,EAAE,IAAI;oBACjB,MAAM,EAAE,aAAa;oBACrB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,oCAAoC;iBAC7D,CAAC,CAAA;gBACF,OAAM;YACR,CAAC;YACD,2EAA2E;YAC3E,0CAA0C;YAC1C,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAA;YAC/B,OAAM;QACR,CAAC;QAED,+EAA+E;QAC/E,uCAAuC;QACvC,MAAM,wBAAwB,EAAE,CAAA;QAChC,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAA;IACjC,CAAC,CAAA;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,gBAAgB,GAAG,GAAkB,EAAE;QAC3C,IAAI,eAAe;YAAE,OAAO,eAAe,CAAA;QAC3C,IAAI,KAAK,CAAC,WAAW;YAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;QAC/C,IAAI,OAAoB,CAAA;QACxB,IAAI,MAAiC,CAAA;QACrC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC7C,OAAO,GAAG,GAAG,CAAA;YACb,MAAM,GAAG,GAAG,CAAA;QACd,CAAC,CAAC,CAAA;QACF,eAAe,GAAG,OAAO,CAAA;QACzB,iBAAiB,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACzC,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;IAED,MAAM,MAAM,GAA6B;QACvC,QAAQ,EAAE,GAAG,EAAE;YACb,6EAA6E;YAC7E,yEAAyE;YACzE,yEAAyE;YACzE,mEAAmE;YACnE,KAAK,gBAAgB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;YAC9C,OAAO,KAAK,CAAA;QACd,CAAC;QACD,eAAe,EAAE,GAAG,EAAE;YACpB,KAAK,gBAAgB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;YAC9C,OAAO,KAAK,CAAC,aAAa,CAAA;QAC5B,CAAC;QAED,OAAO,EAAE,GAAG,EAAE;YACZ,KAAK,gBAAgB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;YAC9C,OAAO,KAAK,CAAC,IAAI,CAAA;QACnB,CAAC;QAED,OAAO,EAAE,CAAC,IAAc,EAAE,EAAE;YAC1B,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAC1B,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;QACpB,CAAC;QAED,cAAc,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE;QAEnD,cAAc,EAAE,CAAC,KAAoB,EAAE,EAAE;YACvC,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;QACpC,CAAC;QAED,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE;YACtB,2EAA2E;YAC3E,0EAA0E;YAC1E,gDAAgD;YAChD,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;YAChD,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBACvC,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;YACpD,CAAC;YACD,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAClC,sFAAsF;YACtF,uFAAuF;YACvF,uFAAuF;YACvF,2EAA2E;YAC3E,wEAAwE;YACxE,QAAQ,CAAC;gBACP,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,IAAI;gBACnB,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,eAAe;gBACvB,KAAK,EAAE,IAAI;aACZ,CAAC,CAAA;YACF,eAAe,EAAE,CAAA;QACnB,CAAC;QAED,eAAe,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE;QAErD,KAAK,CAAC,KAAK,CAAC,WAA6B;YACvC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YAExC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,SAAS,CACtB,MAAM,QAAQ,CAAU,aAAa,EAAE;oBACrC,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;iBACtD,CAAC,CACH,CAAA;gBAED,yEAAyE;gBACzE,kEAAkE;gBAClE,yEAAyE;gBACzE,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;oBAC7B,QAAQ,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;oBAC5B,OAAO,MAAM,CAAA;gBACf,CAAC;gBAED,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC,CAAA;gBACvD,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,CAAA;gBACzD,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBAEjC,QAAQ,CAAC;oBACP,MAAM,EAAE,eAAe;oBACvB,OAAO,EAAE,KAAK;oBACd,aAAa,EAAE,IAAI;oBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;iBAClB,CAAC,CAAA;gBAEF,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;gBAC9B,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;gBAC/C,eAAe,EAAE,CAAA;gBAEjB,OAAO,MAAM,CAAA;YACf,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAA;gBACjE,QAAQ,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;gBACnC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;gBACnC,MAAM,GAAG,CAAA;YACX,CAAC;QACH,CAAC;QAED,KAAK,CAAC,MAAM;YACV,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;YAE3B,IAAI,CAAC;gBACH,uEAAuE;gBACvE,wEAAwE;gBACxE,0EAA0E;gBAC1E,qEAAqE;gBACrE,uEAAuE;gBACvE,kEAAkE;gBAClE,2EAA2E;gBAC3E,gEAAgE;gBAChE,wDAAwD;gBACxD,MAAM,KAAK,GAAG,YAAY,CAAC,cAAc,EAAE,CAAA;gBAC3C,IAAI,cAAc,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;oBACrD,MAAM,QAAQ,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAC9E,CAAC,GAAG,EAAE,EAAE;wBACN,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE,GAAG,CAAC,CAAA;oBACjE,CAAC,CACF,CAAA;gBACH,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,IAAI,YAAY,EAAE,CAAC;oBACjB,YAAY,CAAC,YAAY,CAAC,CAAA;oBAC1B,YAAY,GAAG,IAAI,CAAA;gBACrB,CAAC;gBAED,YAAY,CAAC,KAAK,EAAE,CAAA;gBACpB,qEAAqE;gBACrE,qEAAqE;gBACrE,sEAAsE;gBACtE,sBAAsB,EAAE,CAAA;gBACxB,QAAQ,CAAC;oBACP,OAAO,EAAE,KAAK;oBACd,aAAa,EAAE,KAAK;oBACpB,IAAI,EAAE,IAAI;oBACV,mEAAmE;oBACnE,MAAM,EAAE,iBAAiB;iBAC1B,CAAC,CAAA;gBACF,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;gBAC/B,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;YAC/B,CAAC;QACH,CAAC;QAED,KAAK,CAAC,QAAQ,CAAC,IAA6B;YAC1C,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YAExC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,SAAS,CACtB,MAAM,QAAQ,CAAU,gBAAgB,EAAE;oBACxC,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;iBAClD,CAAC,CACH,CAAA;gBAED,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC,CAAA;gBACvD,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,CAAA;gBACzD,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBAEjC,QAAQ,CAAC;oBACP,MAAM,EAAE,eAAe;oBACvB,OAAO,EAAE,KAAK;oBACd,aAAa,EAAE,IAAI;oBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;iBAClB,CAAC,CAAA;gBAEF,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;gBAClD,eAAe,EAAE,CAAA;gBAEjB,OAAO,MAAM,CAAA;YACf,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAA;gBACxE,QAAQ,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;gBACnC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;gBACnC,MAAM,GAAG,CAAA;YACX,CAAC;QACH,CAAC;QAED,KAAK,CAAC,OAAO;YACX,MAAM,YAAY,GAAG,YAAY,CAAC,eAAe,EAAE,CAAA;YACnD,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,uEAAuE;gBACvE,0EAA0E;gBAC1E,uEAAuE;gBACvE,yEAAyE;gBACzE,wEAAwE;gBACxE,oEAAoE;gBACpE,oEAAoE;gBACpE,yDAAyD;gBACzD,MAAM,OAAO,GAAG,MAAM,wBAAwB,EAAE,CAAA;gBAChD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;oBACjB,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;oBAC9B,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAA;gBAC/B,CAAC;gBACD,MAAM,IAAI,SAAS,CAAC,2BAA2B,EAAE,SAAS,EAAE,4BAA4B,CAAC,CAAA;YAC3F,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAgB,eAAe,EAAE;gBAC5D,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;aACvC,CAAC,CAAA;YAEF,oEAAoE;YACpE,uEAAuE;YACvE,uDAAuD;YACvD,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,IAAI,IAAI,CAAa,CAAC,CAAA;YACvE,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC,CAAA;YACvD,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACxB,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;YACnD,CAAC;YACD,IAAI,IAAI;gBAAE,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAEpC,QAAQ,CAAC;gBACP,MAAM,EAAE,eAAe;gBACvB,aAAa,EAAE,IAAI;gBACnB,IAAI;aACL,CAAC,CAAA;YAEF,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;YAC9B,eAAe,EAAE,CAAA;YAEjB,OAAO,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAA;QACjD,CAAC;QAED,KAAK,CAAC,oBAAoB,CAAC,IAA0B;YACnD,MAAM,QAAQ,CAAC,sBAAsB,EAAE;gBACrC,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aAC3B,CAAC,CAAA;QACJ,CAAC;QAED,KAAK,CAAC,oBAAoB,CAAC,IAA0B;YACnD,MAAM,QAAQ,CAAC,qBAAqB,EAAE;gBACpC,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aAC3B,CAAC,CAAA;QACJ,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,IAAgB;YAClC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAI,eAAe,EAAE;gBAChD,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aAC3B,CAAC,CAAA;YAEF,gFAAgF;YAChF,4EAA4E;YAC5E,yEAAyE;YACzE,6EAA6E;YAC7E,2DAA2D;YAC3D,MAAM,SAAS,GAAG,MAA0B,CAAA;YAC5C,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,IAAI,MAAM,CAAA;YACpC,sEAAsE;YACtE,8CAA8C;YAC9C,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,GAAG,CAAA;YAC/C,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAC1B,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;YAElB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,KAAK,CAAC,cAAc,CAAC,WAAmB,EAAE,WAAmB;YAC3D,gEAAgE;YAChE,gEAAgE;YAChE,+DAA+D;YAC/D,sDAAsD;YACtD,MAAM,QAAQ,CAAC,sBAAsB,EAAE;gBACrC,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;aACpE,CAAC,CAAA;QACJ,CAAC;QAED,KAAK,CAAC,UAAU;YACd,gFAAgF;YAChF,2EAA2E;YAC3E,+DAA+D;YAC/D,MAAM,gBAAgB,EAAE,CAAA;QAC1B,CAAC;QAED,YAAY;YACV,kFAAkF;YAClF,mFAAmF;YACnF,oEAAoE;YACpE,OAAO,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;QACrF,CAAC;QAED,KAAK,CAAC,eAAe;YACnB,MAAM,KAAK,GAAG,YAAY,CAAC,cAAc,EAAE,CAAA;YAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,QAAQ,CAAC;oBACP,WAAW,EAAE,IAAI;oBACjB,aAAa,EAAE,KAAK;oBACpB,IAAI,EAAE,IAAI;oBACV,MAAM,EAAE,iBAAiB;iBAC1B,CAAC,CAAA;gBACF,OAAM;YACR,CAAC;YACD,IAAI,CAAC;gBACH,sEAAsE;gBACtE,0EAA0E;gBAC1E,0DAA0D;gBAC1D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAe,mBAAmB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;gBACnF,sEAAsE;gBACtE,sEAAsE;gBACtE,wEAAwE;gBACxE,6CAA6C;gBAC7C,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,IAAI,YAAY,CAAC,OAAO,EAAK,CAAa,CAAC,CAAA;gBAC5F,IAAI,IAAI,EAAE,CAAC;oBACT,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;oBAC1B,QAAQ,CAAC;wBACP,WAAW,EAAE,IAAI;wBACjB,aAAa,EAAE,IAAI;wBACnB,IAAI;wBACJ,MAAM,EAAE,eAAe;wBACvB,KAAK,EAAE,IAAI;qBACZ,CAAC,CAAA;gBACJ,CAAC;qBAAM,CAAC;oBACN,YAAY,CAAC,KAAK,EAAE,CAAA;oBACpB,QAAQ,CAAC;wBACP,WAAW,EAAE,IAAI;wBACjB,aAAa,EAAE,KAAK;wBACpB,IAAI,EAAE,IAAI;wBACV,MAAM,EAAE,iBAAiB;qBAC1B,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,UAAU,GAAI,KAA6B,CAAC,MAAM,CAAA;gBACxD,0EAA0E;gBAC1E,wEAAwE;gBACxE,qEAAqE;gBACrE,qEAAqE;gBACrE,wEAAwE;gBACxE,wEAAwE;gBACxE,gCAAgC;gBAChC,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;oBAC7C,YAAY,CAAC,KAAK,EAAE,CAAA;oBACpB,QAAQ,CAAC;wBACP,WAAW,EAAE,IAAI;wBACjB,aAAa,EAAE,KAAK;wBACpB,IAAI,EAAE,IAAI;wBACV,MAAM,EAAE,iBAAiB;qBAC1B,CAAC,CAAA;oBACF,OAAM;gBACR,CAAC;gBACD,wEAAwE;gBACxE,6DAA6D;gBAC7D,wEAAwE;gBACxE,4CAA4C;gBAC5C,MAAM,OAAO,GACX,UAAU,KAAK,GAAG;oBAChB,CAAC,CAAC,+HAA+H;oBACjI,CAAC,CAAC,KAAK,YAAY,KAAK;wBACtB,CAAC,CAAC,KAAK,CAAC,OAAO;wBACf,CAAC,CAAC,gCAAgC,CAAA;gBACxC,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;oBACvB,MAAM,CAAC,IAAI,CACT,6EAA6E,mBAAmB,uGAAuG,EACvM,KAAK,CACN,CAAA;gBACH,CAAC;gBACD,QAAQ,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;YACrD,CAAC;QACH,CAAC;QAED,SAAS,CAAC,QAAuC;YAC/C,4EAA4E;YAC5E,wEAAwE;YACxE,kDAAkD;YAClD,KAAK,gBAAgB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;YAC9C,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAC5B,OAAO,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC9C,CAAC;QAED,YAAY,CAAC,QAAuC;YAClD,KAAK,gBAAgB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;YAC9C,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAC5B,OAAO,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC9C,CAAC;QAED,QAAQ;YACN,OAAO,YAAY,CAAC,cAAc,EAAE,CAAA;QACtC,CAAC;QAED,gBAAgB,CAAC,QAA2B;YAC1C,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAC5B,OAAO,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC9C,CAAC;QAED,OAAO;YACL,IAAI,YAAY,EAAE,CAAC;gBACjB,YAAY,CAAC,YAAY,CAAC,CAAA;gBAC1B,YAAY,GAAG,IAAI,CAAA;YACrB,CAAC;YACD,cAAc,CAAC,KAAK,EAAE,CAAA;YACtB,cAAc,CAAC,KAAK,EAAE,CAAA;QACxB,CAAC;KACF,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -62,7 +62,9 @@
|
|
|
62
62
|
* an API round trip on every navigation (xr-molecule-flash-m177: ~30 full page
|
|
63
63
|
* loads in one pagination spec; its four tests sat at 15.0–15.9 s of a 15 s
|
|
64
64
|
* budget and the grader timed two out). Route guards read this same `status`:
|
|
65
|
-
* wait only while it is `'loading'
|
|
65
|
+
* wait only while it is `'loading'` — that status means "no decision yet", so an
|
|
66
|
+
* auth request in flight (`state.loading`) keeps the decided status and does not
|
|
67
|
+
* unmount a Login/Register page mid-request (xr-molecule-flash-m380).
|
|
66
68
|
* `validateSession()` is the background re-check that produces the last two: call
|
|
67
69
|
* it after the first render — a 401 or 403 clears the token (`'unauthenticated'`),
|
|
68
70
|
* while a network failure, a 5xx, or a 404 from a wrong `currentUserEndpoint`
|
|
@@ -83,6 +85,16 @@
|
|
|
83
85
|
* `err.status < 500`, which is true for an aborted navigation request and signs the
|
|
84
86
|
* user out on a route change.
|
|
85
87
|
*
|
|
88
|
+
* **A rejected call keeps the API's error body.** Every non-ok response rejects
|
|
89
|
+
* the promise with an {@link I18nError} whose `i18nKey` is the server's
|
|
90
|
+
* `errorKey` (or `auth.error.requestFailed`) — and the thrown error carries the
|
|
91
|
+
* HTTP `status` and the parsed response `body` (see {@link AuthError}). The
|
|
92
|
+
* whole parsed body is preserved, nested maps and arrays included, not just the
|
|
93
|
+
* `error`/`message` the message is built from, so a login form can render the
|
|
94
|
+
* API's own validation payload (`{ errors: { credentials: ['is invalid'] } }`)
|
|
95
|
+
* instead of re-implementing the call. A body that is not JSON arrives as `{}`;
|
|
96
|
+
* the key, message, fallback and rejection are unchanged.
|
|
97
|
+
*
|
|
86
98
|
* **`autoRefresh` does nothing without a refresh token — and must never log the
|
|
87
99
|
* user out.** The client schedules a refresh only when `refresh()` could actually
|
|
88
100
|
* succeed, i.e. when a refresh token is stored. An API that issues none (the
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6RG;AAEH,cAAc,sBAAsB,CAAA;AACpC,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -62,7 +62,9 @@
|
|
|
62
62
|
* an API round trip on every navigation (xr-molecule-flash-m177: ~30 full page
|
|
63
63
|
* loads in one pagination spec; its four tests sat at 15.0–15.9 s of a 15 s
|
|
64
64
|
* budget and the grader timed two out). Route guards read this same `status`:
|
|
65
|
-
* wait only while it is `'loading'
|
|
65
|
+
* wait only while it is `'loading'` — that status means "no decision yet", so an
|
|
66
|
+
* auth request in flight (`state.loading`) keeps the decided status and does not
|
|
67
|
+
* unmount a Login/Register page mid-request (xr-molecule-flash-m380).
|
|
66
68
|
* `validateSession()` is the background re-check that produces the last two: call
|
|
67
69
|
* it after the first render — a 401 or 403 clears the token (`'unauthenticated'`),
|
|
68
70
|
* while a network failure, a 5xx, or a 404 from a wrong `currentUserEndpoint`
|
|
@@ -83,6 +85,16 @@
|
|
|
83
85
|
* `err.status < 500`, which is true for an aborted navigation request and signs the
|
|
84
86
|
* user out on a route change.
|
|
85
87
|
*
|
|
88
|
+
* **A rejected call keeps the API's error body.** Every non-ok response rejects
|
|
89
|
+
* the promise with an {@link I18nError} whose `i18nKey` is the server's
|
|
90
|
+
* `errorKey` (or `auth.error.requestFailed`) — and the thrown error carries the
|
|
91
|
+
* HTTP `status` and the parsed response `body` (see {@link AuthError}). The
|
|
92
|
+
* whole parsed body is preserved, nested maps and arrays included, not just the
|
|
93
|
+
* `error`/`message` the message is built from, so a login form can render the
|
|
94
|
+
* API's own validation payload (`{ errors: { credentials: ['is invalid'] } }`)
|
|
95
|
+
* instead of re-implementing the call. A body that is not JSON arrives as `{}`;
|
|
96
|
+
* the key, message, fallback and rejection are unchanged.
|
|
97
|
+
*
|
|
86
98
|
* **`autoRefresh` does nothing without a refresh token — and must never log the
|
|
87
99
|
* user out.** The client schedules a refresh only when `refresh()` could actually
|
|
88
100
|
* succeed, i.e. when a refresh token is stored. An API that issues none (the
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6RG;AAEH,cAAc,sBAAsB,CAAA;AACpC,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA"}
|
package/dist/provider.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* @module
|
|
9
9
|
*/
|
|
10
|
-
import type { AuthClient, UserProfile } from './types.js';
|
|
10
|
+
import type { AuthClient, RegisterExtraShape, UserProfile } from './types.js';
|
|
11
11
|
/**
|
|
12
12
|
* Registers an auth client as the active singleton. Called by bond
|
|
13
13
|
* packages during application startup.
|
|
@@ -17,7 +17,7 @@ import type { AuthClient, UserProfile } from './types.js';
|
|
|
17
17
|
* of `register()` (see `RegisterData`).
|
|
18
18
|
* @param client - The auth client implementation to bond.
|
|
19
19
|
*/
|
|
20
|
-
export declare const setClient: <T = UserProfile, TRegister extends
|
|
20
|
+
export declare const setClient: <T = UserProfile, TRegister extends RegisterExtraShape<TRegister> = Record<never, never>>(client: AuthClient<T, TRegister>) => void;
|
|
21
21
|
/**
|
|
22
22
|
* Retrieves the bonded auth client, throwing if none is configured.
|
|
23
23
|
*
|
|
@@ -27,7 +27,7 @@ export declare const setClient: <T = UserProfile, TRegister extends Record<strin
|
|
|
27
27
|
* @returns The bonded auth client.
|
|
28
28
|
* @throws {Error} If no auth client has been bonded.
|
|
29
29
|
*/
|
|
30
|
-
export declare const getClient: <T extends UserProfile = UserProfile, TRegister extends
|
|
30
|
+
export declare const getClient: <T extends UserProfile = UserProfile, TRegister extends RegisterExtraShape<TRegister> = Record<never, never>>() => AuthClient<T, TRegister>;
|
|
31
31
|
/**
|
|
32
32
|
* Checks whether an auth client is currently bonded.
|
|
33
33
|
*
|
package/dist/provider.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAI7E;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,GACpB,CAAC,GAAG,WAAW,EACf,SAAS,SAAS,kBAAkB,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAEtE,QAAQ,UAAU,CAAC,CAAC,EAAE,SAAS,CAAC,KAC/B,IAEF,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,GACpB,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,SAAS,SAAS,kBAAkB,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,OACnE,UAAU,CAAC,CAAC,EAAE,SAAS,CAE3B,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,QAAO,OAE5B,CAAA"}
|
package/dist/types.d.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @module
|
|
5
5
|
*/
|
|
6
|
+
import type { I18nError } from '@molecule/app-i18n';
|
|
6
7
|
/**
|
|
7
8
|
* User profile information.
|
|
8
9
|
*/
|
|
@@ -56,6 +57,22 @@ export interface LoginCredentials {
|
|
|
56
57
|
*/
|
|
57
58
|
twoFactorToken?: string;
|
|
58
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* The shape an app's own registration fields (`TRegister`) must satisfy.
|
|
62
|
+
*
|
|
63
|
+
* The app's fields pass through unchanged; a field that collides with a
|
|
64
|
+
* built-in one keeps the built-in type, so `{ username: string; email: number }`
|
|
65
|
+
* is rejected while `{ username: string }` is accepted. Both an ordinary
|
|
66
|
+
* `interface` and a type literal/alias satisfy it — unlike
|
|
67
|
+
* `Record<string, unknown>`, which a TypeScript interface never satisfies,
|
|
68
|
+
* because interfaces have no implicit index signature.
|
|
69
|
+
*
|
|
70
|
+
* @template T - The app's own registration fields, at the top level of
|
|
71
|
+
* {@link RegisterData}.
|
|
72
|
+
*/
|
|
73
|
+
export type RegisterExtraShape<T> = {
|
|
74
|
+
[K in keyof T]: K extends 'email' | 'password' ? string : K extends 'name' ? string | undefined : K extends 'metadata' ? Record<string, unknown> | undefined : T[K];
|
|
75
|
+
} & object;
|
|
59
76
|
/**
|
|
60
77
|
* New user registration payload: the email/password fields every API takes,
|
|
61
78
|
* plus `TExtra` — the app's OWN registration fields, at the top level.
|
|
@@ -75,9 +92,22 @@ export interface LoginCredentials {
|
|
|
75
92
|
* (and a `requestBody` that reads them) keeps type-checking unchanged; only a
|
|
76
93
|
* client constructed with a second generic accepts (and types) more fields.
|
|
77
94
|
*
|
|
95
|
+
* An ordinary `interface` works as well as a type literal or alias — the
|
|
96
|
+
* constraint is structural, so the app can name its own fields once and pass
|
|
97
|
+
* that type whole:
|
|
98
|
+
*
|
|
99
|
+
* ```typescript
|
|
100
|
+
* interface RealWorldRegister { username: string }
|
|
101
|
+
* const client = createJWTAuthClient<UserProfile, RealWorldRegister>({ … })
|
|
102
|
+
* ```
|
|
103
|
+
*
|
|
104
|
+
* A custom field may not change a built-in field's type: `email` and
|
|
105
|
+
* `password` stay `string`, `name` stays `string | undefined` and `metadata`
|
|
106
|
+
* stays `Record<string, unknown> | undefined` (see {@link RegisterExtraShape}).
|
|
107
|
+
*
|
|
78
108
|
* @template TExtra - The app's own registration fields, at the top level.
|
|
79
109
|
*/
|
|
80
|
-
export type RegisterData<TExtra extends
|
|
110
|
+
export type RegisterData<TExtra extends RegisterExtraShape<TExtra> = Record<never, never>> = {
|
|
81
111
|
/**
|
|
82
112
|
* Email address.
|
|
83
113
|
*/
|
|
@@ -150,8 +180,10 @@ export interface PasswordResetConfirm {
|
|
|
150
180
|
* UI needs, derived from {@link AuthState} so no caller has to combine
|
|
151
181
|
* `initialized`/`authenticated`/`loading`/`error` itself.
|
|
152
182
|
*
|
|
153
|
-
* - `'loading'`: no decision yet (before `initialize()` settles
|
|
154
|
-
* operation is
|
|
183
|
+
* - `'loading'`: no decision yet (before `initialize()` settles). An auth
|
|
184
|
+
* operation in flight is {@link AuthState.loading} and KEEPS the decided
|
|
185
|
+
* status, so a page guarded on `'loading'` stays mounted while a Login or
|
|
186
|
+
* Register request runs.
|
|
155
187
|
* - `'authenticated'`: a session exists.
|
|
156
188
|
* - `'unauthenticated'`: the client settled the question and nobody is signed in.
|
|
157
189
|
* - `'unavailable'`: a stored session exists but the server could not confirm it
|
|
@@ -210,6 +242,46 @@ export type AuthEvent = {
|
|
|
210
242
|
* Callback invoked when an authentication event occurs (login, logout, etc.).
|
|
211
243
|
*/
|
|
212
244
|
export type AuthEventListener = (event: AuthEvent) => void;
|
|
245
|
+
/**
|
|
246
|
+
* The error an auth client rejects with when the API answers a non-ok HTTP
|
|
247
|
+
* response. It is the {@link I18nError} the client throws — same `i18nKey`,
|
|
248
|
+
* message, English fallback and rejection — plus the HTTP facts a caller needs
|
|
249
|
+
* to react to the server's own answer:
|
|
250
|
+
*
|
|
251
|
+
* - `status`: the HTTP status code (`401`, `422`, `500`, …). Use it to tell a
|
|
252
|
+
* dead credential from a server or route problem; only 401/403 mean the
|
|
253
|
+
* session is over.
|
|
254
|
+
* - `body`: the response body parsed from JSON exactly as the API sent it.
|
|
255
|
+
* The client keeps the WHOLE parsed value, not only the `errorKey` / `error`
|
|
256
|
+
* / `message` fields it maps into the message, so an app can render its own
|
|
257
|
+
* validation payload — a nested `{ errors: { credentials: ['is invalid'] } }`
|
|
258
|
+
* map, a field map with arrays, or a top-level array of messages — without
|
|
259
|
+
* re-implementing the login call. A body that is not JSON (an HTML error
|
|
260
|
+
* page, an empty body) arrives as `{}`.
|
|
261
|
+
*
|
|
262
|
+
* ```typescript
|
|
263
|
+
* import { I18nError } from '@molecule/app-i18n'
|
|
264
|
+
* import type { AuthError } from '@molecule/app-auth'
|
|
265
|
+
*
|
|
266
|
+
* try {
|
|
267
|
+
* await client.login({ email, password })
|
|
268
|
+
* } catch (caught) {
|
|
269
|
+
* if (caught instanceof I18nError) {
|
|
270
|
+
* const { status, body } = caught as AuthError
|
|
271
|
+
* // show the API's own messages, e.g. body.errors.credentials
|
|
272
|
+
* }
|
|
273
|
+
* }
|
|
274
|
+
* ```
|
|
275
|
+
*/
|
|
276
|
+
export interface AuthError extends I18nError {
|
|
277
|
+
/** HTTP status code of the failed response (e.g. `401`). */
|
|
278
|
+
status: number;
|
|
279
|
+
/**
|
|
280
|
+
* The response body parsed from JSON, exactly as the API sent it — nested
|
|
281
|
+
* maps and arrays included. `{}` when the body is not JSON.
|
|
282
|
+
*/
|
|
283
|
+
body: unknown;
|
|
284
|
+
}
|
|
213
285
|
/**
|
|
214
286
|
* A complete session an exchange outside the client has already established — an OAuth
|
|
215
287
|
* code→token redirect, or the app's own sign-in endpoint. {@link AuthClient.setSession} adopts
|
|
@@ -234,7 +306,7 @@ export interface AuthSessionSeed<T = UserProfile> {
|
|
|
234
306
|
* @template TRegister - The app's own registration fields, at the top level
|
|
235
307
|
* of {@link RegisterData} (default: none).
|
|
236
308
|
*/
|
|
237
|
-
export interface AuthClient<T = UserProfile, TRegister extends
|
|
309
|
+
export interface AuthClient<T = UserProfile, TRegister extends RegisterExtraShape<TRegister> = Record<never, never>> {
|
|
238
310
|
/**
|
|
239
311
|
* Returns the current authentication state snapshot.
|
|
240
312
|
*
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/utilities.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* @module
|
|
7
7
|
*/
|
|
8
|
-
import type { AuthResult, LoginCredentials, RegisterData, UserProfile } from './types.js';
|
|
8
|
+
import type { AuthResult, LoginCredentials, RegisterData, RegisterExtraShape, UserProfile } from './types.js';
|
|
9
9
|
/**
|
|
10
10
|
* Checks if the current user is authenticated.
|
|
11
11
|
*
|
|
@@ -37,5 +37,5 @@ export declare const logout: () => Promise<void>;
|
|
|
37
37
|
* @param data - Registration data (email, password, and any `TExtra` fields).
|
|
38
38
|
* @returns The auth result containing tokens and user profile.
|
|
39
39
|
*/
|
|
40
|
-
export declare const register: <TExtra extends
|
|
40
|
+
export declare const register: <TExtra extends RegisterExtraShape<TExtra> = Record<never, never>>(data: RegisterData<TExtra>) => Promise<AuthResult>;
|
|
41
41
|
//# sourceMappingURL=utilities.d.ts.map
|
package/dist/utilities.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../src/utilities.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../src/utilities.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,WAAW,EACZ,MAAM,YAAY,CAAA;AAEnB;;;;GAIG;AACH,eAAO,MAAM,eAAe,QAAO,OAAwC,CAAA;AAE3E;;;GAGG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,WAAW,GAAG,WAAW,OAAK,CAAC,GAAG,IAAgC,CAAA;AAEpG;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAAI,aAAa,gBAAgB,KAAG,OAAO,CAAC,UAAU,CACxC,CAAA;AAEhC;;;GAGG;AACH,eAAO,MAAM,MAAM,QAAO,OAAO,CAAC,IAAI,CAAyB,CAAA;AAE/D;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,GAAI,MAAM,SAAS,kBAAkB,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EACvF,MAAM,YAAY,CAAC,MAAM,CAAC,KACzB,OAAO,CAAC,UAAU,CAAoD,CAAA"}
|
package/dist/utilities.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utilities.js","sourceRoot":"","sources":["../src/utilities.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"utilities.js","sourceRoot":"","sources":["../src/utilities.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AASzC;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,GAAY,EAAE,CAAC,SAAS,EAAE,CAAC,eAAe,EAAE,CAAA;AAE3E;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,GAAkD,EAAE,CAAC,SAAS,EAAK,CAAC,OAAO,EAAE,CAAA;AAEpG;;;;;GAKG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,WAA6B,EAAuB,EAAE,CAC1E,SAAS,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;AAEhC;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAkB,EAAE,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,CAAA;AAE/D;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,IAA0B,EACL,EAAE,CAAC,SAAS,EAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA"}
|