@spine-event-engine/auth 2.0.0-snapshot.21 → 2.0.0-snapshot.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/oidc/index.d.ts.map +1 -1
- package/dist/oidc/index.js +241 -16
- package/dist/oidc/index.js.map +1 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +298 -108
- package/dist/providers/index.js.map +1 -1
- package/dist/sessions/opaque.d.ts +37 -0
- package/dist/sessions/opaque.d.ts.map +1 -1
- package/dist/sessions/opaque.js +70 -1
- package/dist/sessions/opaque.js.map +1 -1
- package/dist/sessions/signed.d.ts +1 -1
- package/dist/sessions/signed.d.ts.map +1 -1
- package/dist/sessions/signed.js +164 -15
- package/dist/sessions/signed.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
package/dist/providers/index.js
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
* or implied. See the License for the specific language governing permissions and limitations under
|
|
12
12
|
* the License.
|
|
13
13
|
*/
|
|
14
|
+
import { Time } from "@spine-event-engine/core/time";
|
|
14
15
|
import { importJWK, jwtVerify } from "jose";
|
|
15
16
|
const DEFAULT_LIMIT = 1_048_576;
|
|
16
17
|
const DEFAULT_TIMEOUT = 30_000;
|
|
@@ -49,65 +50,102 @@ export async function discoverOidcProvider(options) {
|
|
|
49
50
|
* @returns The configured OIDC provider.
|
|
50
51
|
*/
|
|
51
52
|
export function createOidcProvider(options) {
|
|
52
|
-
const
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
settled: false,
|
|
98
|
-
};
|
|
99
|
-
pendingKeys = pending;
|
|
100
|
-
const owned = pending;
|
|
101
|
-
void request.then(() => {
|
|
102
|
-
owned.settled = true;
|
|
103
|
-
if (pendingKeys === owned)
|
|
104
|
-
pendingKeys = undefined;
|
|
105
|
-
}, () => {
|
|
106
|
-
owned.settled = true;
|
|
107
|
-
if (pendingKeys === owned)
|
|
108
|
-
pendingKeys = undefined;
|
|
109
|
-
});
|
|
53
|
+
const settings = ProviderValues.oidcSettings(options);
|
|
54
|
+
const provider = new OidcVerifier(settings).provider();
|
|
55
|
+
return Object.freeze({
|
|
56
|
+
authorizationEndpoint: settings.authorizationEndpoint,
|
|
57
|
+
recommendedScopes: Object.freeze(["openid"]),
|
|
58
|
+
provider,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Verifies authorization codes while sharing one bounded JWKS cache per provider.
|
|
63
|
+
*/
|
|
64
|
+
class OidcVerifier {
|
|
65
|
+
settings;
|
|
66
|
+
#cachedKeys;
|
|
67
|
+
#pendingKeys;
|
|
68
|
+
/**
|
|
69
|
+
* Captures the validated provider metadata and injected runtime functions.
|
|
70
|
+
* @param settings Validated endpoints, client credentials, limits, and clock.
|
|
71
|
+
*/
|
|
72
|
+
constructor(settings) {
|
|
73
|
+
this.settings = settings;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Exposes the verified-identity contract without exposing cache state.
|
|
77
|
+
* @returns A frozen OIDC identity adapter.
|
|
78
|
+
*/
|
|
79
|
+
provider() {
|
|
80
|
+
return Object.freeze({
|
|
81
|
+
issuer: this.settings.issuer,
|
|
82
|
+
exchangeAuthorizationCode: (input) => this.exchange(input),
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Processes one valid authorization code under the provider deadline.
|
|
87
|
+
* @param input The code, verifier, nonce, and cancellation signal.
|
|
88
|
+
* @returns The verified identity, or undefined on rejection.
|
|
89
|
+
*/
|
|
90
|
+
async exchange(input) {
|
|
91
|
+
try {
|
|
92
|
+
if (input.clientId !== this.settings.clientId || !ProviderValues.validExchange(input))
|
|
93
|
+
return undefined;
|
|
94
|
+
return await ProviderValues.boundedOperation(this.settings.timeout, input.signal, (signal) => this.exchangeBounded(input, signal));
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
return undefined;
|
|
110
98
|
}
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Verifies the ID token returned by a bounded token request.
|
|
102
|
+
* @param input The accepted authorization-code exchange.
|
|
103
|
+
* @param signal The operation cancellation signal.
|
|
104
|
+
* @returns The verified identity, or undefined for an invalid token.
|
|
105
|
+
*/
|
|
106
|
+
async exchangeBounded(input, signal) {
|
|
107
|
+
const token = await ProviderValues.json(this.settings.tokenEndpoint, this.settings.http, { maxResponseBytes: this.settings.limit }, signal, this.tokenRequest(input, signal));
|
|
108
|
+
const idToken = ProviderValues.plain(token) ? ProviderValues.string(token.id_token) : undefined;
|
|
109
|
+
if (idToken === undefined)
|
|
110
|
+
return undefined;
|
|
111
|
+
return ProviderValues.verifyToken(idToken, this.settings.issuer, this.settings.clientId, input.expectedNonce, this.settings.clock, (refresh) => this.loadKeys(refresh, signal));
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Builds the authorization-code form and selected client-authentication header.
|
|
115
|
+
* @param input The accepted exchange request.
|
|
116
|
+
* @param signal The operation cancellation signal.
|
|
117
|
+
* @returns The token endpoint request parameters.
|
|
118
|
+
*/
|
|
119
|
+
tokenRequest(input, signal) {
|
|
120
|
+
const { clientId, clientAuthentication, clientSecret } = this.settings;
|
|
121
|
+
const body = new URLSearchParams({
|
|
122
|
+
grant_type: "authorization_code",
|
|
123
|
+
code: input.code,
|
|
124
|
+
redirect_uri: input.callbackUri,
|
|
125
|
+
client_id: clientId,
|
|
126
|
+
code_verifier: input.providerCodeVerifier,
|
|
127
|
+
});
|
|
128
|
+
const headers = new Headers({
|
|
129
|
+
accept: "application/json",
|
|
130
|
+
"content-type": "application/x-www-form-urlencoded",
|
|
131
|
+
});
|
|
132
|
+
if (clientAuthentication === "client_secret_post")
|
|
133
|
+
body.set("client_secret", clientSecret ?? "");
|
|
134
|
+
if (clientAuthentication === "client_secret_basic")
|
|
135
|
+
headers.set("authorization", `Basic ${Buffer.from(`${clientId}:${clientSecret ?? ""}`).toString("base64")}`);
|
|
136
|
+
return { method: "POST", redirect: "error", signal, headers, body };
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Loads signing keys from a valid cache or shared in-flight JWKS fetch.
|
|
140
|
+
* @param refresh Whether to bypass the cached key set.
|
|
141
|
+
* @param signal The caller cancellation signal.
|
|
142
|
+
* @returns Verified candidate signing keys, or undefined for invalid JWKS.
|
|
143
|
+
*/
|
|
144
|
+
async loadKeys(refresh, signal) {
|
|
145
|
+
const now = ProviderValues.safeNow(this.settings.clock);
|
|
146
|
+
if (!refresh && this.#cachedKeys && this.#cachedKeys.expiresAt > now)
|
|
147
|
+
return this.#cachedKeys.keys;
|
|
148
|
+
const pending = this.#pendingKeys ?? this.startKeyRequest(now);
|
|
111
149
|
pending.waiters++;
|
|
112
150
|
try {
|
|
113
151
|
return await ProviderValues.waitForSignal(pending.promise, signal);
|
|
@@ -117,56 +155,46 @@ export function createOidcProvider(options) {
|
|
|
117
155
|
if (pending.waiters === 0 && !pending.settled)
|
|
118
156
|
pending.controller.abort();
|
|
119
157
|
}
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
catch {
|
|
161
|
-
return undefined;
|
|
162
|
-
}
|
|
163
|
-
},
|
|
164
|
-
});
|
|
165
|
-
return Object.freeze({
|
|
166
|
-
authorizationEndpoint,
|
|
167
|
-
recommendedScopes: Object.freeze(["openid"]),
|
|
168
|
-
provider,
|
|
169
|
-
});
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Starts one bounded JWKS request and clears it when settled.
|
|
161
|
+
* @param now The clock reading used for cache expiry.
|
|
162
|
+
* @returns The shared in-flight request state.
|
|
163
|
+
*/
|
|
164
|
+
startKeyRequest(now) {
|
|
165
|
+
const controller = new AbortController();
|
|
166
|
+
const request = ProviderValues.boundedOperation(this.settings.timeout, controller.signal, (signal) => this.fetchKeys(now, signal));
|
|
167
|
+
const pending = { promise: request, controller, waiters: 0, settled: false };
|
|
168
|
+
this.#pendingKeys = pending;
|
|
169
|
+
void request.then(() => {
|
|
170
|
+
pending.settled = true;
|
|
171
|
+
if (this.#pendingKeys === pending)
|
|
172
|
+
this.#pendingKeys = undefined;
|
|
173
|
+
}, () => {
|
|
174
|
+
pending.settled = true;
|
|
175
|
+
if (this.#pendingKeys === pending)
|
|
176
|
+
this.#pendingKeys = undefined;
|
|
177
|
+
});
|
|
178
|
+
return pending;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Fetches a bounded JWKS document and caches accepted asymmetric candidates.
|
|
182
|
+
* @param now The clock reading used for cache expiry.
|
|
183
|
+
* @param signal The request cancellation signal.
|
|
184
|
+
* @returns Filtered signing keys, or undefined for invalid JWKS.
|
|
185
|
+
*/
|
|
186
|
+
async fetchKeys(now, signal) {
|
|
187
|
+
const jwks = await ProviderValues.jsonDocument(this.settings.jwksEndpoint, this.settings.http, { maxResponseBytes: this.settings.limit }, signal);
|
|
188
|
+
const keys = ProviderValues.plain(jwks.value) &&
|
|
189
|
+
Array.isArray(jwks.value.keys) &&
|
|
190
|
+
jwks.value.keys.length <= MAX_JWKS
|
|
191
|
+
? jwks.value.keys.filter(ProviderValues.plain)
|
|
192
|
+
: undefined;
|
|
193
|
+
if (!keys)
|
|
194
|
+
return undefined;
|
|
195
|
+
this.#cachedKeys = Object.freeze({ keys, expiresAt: now + jwks.cacheMilliseconds });
|
|
196
|
+
return keys;
|
|
197
|
+
}
|
|
170
198
|
}
|
|
171
199
|
/**
|
|
172
200
|
* Fetches Google's fixed official OpenID Connect configuration.
|
|
@@ -315,6 +343,62 @@ export function createGitHubProvider(options) {
|
|
|
315
343
|
* Parses provider responses, bounds I/O, and verifies OIDC details.
|
|
316
344
|
*/
|
|
317
345
|
const ProviderValues = Object.freeze({
|
|
346
|
+
/**
|
|
347
|
+
* Validates trusted OIDC metadata and client authentication settings.
|
|
348
|
+
* @param options The configured provider endpoints and bounds.
|
|
349
|
+
* @returns Copied provider settings for a verifier.
|
|
350
|
+
*/
|
|
351
|
+
oidcSettings(options) {
|
|
352
|
+
const issuer = ProviderValues.https(options.issuer);
|
|
353
|
+
const authorizationEndpoint = ProviderValues.https(options.authorizationEndpoint);
|
|
354
|
+
const tokenEndpoint = ProviderValues.https(options.tokenEndpoint);
|
|
355
|
+
const jwksEndpoint = ProviderValues.https(options.jwksEndpoint);
|
|
356
|
+
const clientId = ProviderValues.bounded(options.clientId, "clientId");
|
|
357
|
+
const { clientAuthentication, clientSecret } = ProviderValues.oidcCredentials(options);
|
|
358
|
+
const limit = ProviderValues.positive(options.maxResponseBytes ?? DEFAULT_LIMIT, "maxResponseBytes");
|
|
359
|
+
const timeout = ProviderValues.positive(options.timeoutMilliseconds ?? DEFAULT_TIMEOUT, "timeoutMilliseconds");
|
|
360
|
+
const http = options.fetch ?? fetch;
|
|
361
|
+
const clock = options.clock ?? (() => Time.currentTimeMillis());
|
|
362
|
+
return {
|
|
363
|
+
issuer,
|
|
364
|
+
authorizationEndpoint,
|
|
365
|
+
tokenEndpoint,
|
|
366
|
+
jwksEndpoint,
|
|
367
|
+
clientId,
|
|
368
|
+
clientAuthentication,
|
|
369
|
+
clientSecret,
|
|
370
|
+
limit,
|
|
371
|
+
timeout,
|
|
372
|
+
http,
|
|
373
|
+
clock,
|
|
374
|
+
};
|
|
375
|
+
},
|
|
376
|
+
/**
|
|
377
|
+
* Validates the selected OIDC client-secret authentication mode.
|
|
378
|
+
* @param options The configured authentication mode and optional secret.
|
|
379
|
+
* @returns A valid mode and copied secret.
|
|
380
|
+
*/
|
|
381
|
+
oidcCredentials(options) {
|
|
382
|
+
const clientAuthentication = options.clientAuthentication ?? "none";
|
|
383
|
+
if (!["client_secret_basic", "client_secret_post", "none"].includes(clientAuthentication))
|
|
384
|
+
throw new TypeError("clientAuthentication");
|
|
385
|
+
const clientSecret = options.clientSecret === undefined
|
|
386
|
+
? undefined
|
|
387
|
+
: ProviderValues.bounded(options.clientSecret, "clientSecret");
|
|
388
|
+
if (clientAuthentication !== "none" && clientSecret === undefined)
|
|
389
|
+
throw new TypeError("clientSecret");
|
|
390
|
+
return { clientAuthentication, clientSecret };
|
|
391
|
+
},
|
|
392
|
+
/**
|
|
393
|
+
* Verifies an ID token with bounded JWKS candidates and expected claims.
|
|
394
|
+
* @param token The provider ID token to verify.
|
|
395
|
+
* @param issuer The trusted issuer.
|
|
396
|
+
* @param clientId The configured OAuth client identifier.
|
|
397
|
+
* @param nonce The expected nonce from the flow.
|
|
398
|
+
* @param clock The provider millisecond clock.
|
|
399
|
+
* @param keys The shared JWKS loader.
|
|
400
|
+
* @returns The verified external identity, or undefined for an invalid token.
|
|
401
|
+
*/
|
|
318
402
|
async verifyToken(token, issuer, clientId, nonce, clock, keys) {
|
|
319
403
|
const [encodedHeader] = token.split(".", 1);
|
|
320
404
|
const header = encodedHeader ? ProviderValues.parse64(encodedHeader) : undefined;
|
|
@@ -368,9 +452,27 @@ const ProviderValues = Object.freeze({
|
|
|
368
452
|
});
|
|
369
453
|
return Object.freeze({ issuer, subject: claims.sub, claims: Object.freeze(kept) });
|
|
370
454
|
},
|
|
455
|
+
/**
|
|
456
|
+
* Reads a bounded JSON response body.
|
|
457
|
+
* @param url The provider HTTPS endpoint.
|
|
458
|
+
* @param http The injected HTTP client.
|
|
459
|
+
* @param limits The accepted response-size limit.
|
|
460
|
+
* @param signal The request cancellation signal.
|
|
461
|
+
* @param init Additional HTTP request fields.
|
|
462
|
+
* @returns The parsed JSON value.
|
|
463
|
+
*/
|
|
371
464
|
async json(url, http, limits, signal, init) {
|
|
372
465
|
return (await ProviderValues.jsonDocument(url, http, limits, signal, init)).value;
|
|
373
466
|
},
|
|
467
|
+
/**
|
|
468
|
+
* Reads a JSON document with response cache metadata and abort support.
|
|
469
|
+
* @param url The provider HTTPS endpoint.
|
|
470
|
+
* @param http The injected HTTP client.
|
|
471
|
+
* @param limits The accepted response-size limit.
|
|
472
|
+
* @param signal The request cancellation signal.
|
|
473
|
+
* @param init Additional HTTP request fields.
|
|
474
|
+
* @returns The parsed JSON value and remaining cache lifetime.
|
|
475
|
+
*/
|
|
374
476
|
async jsonDocument(url, http, limits, signal, init) {
|
|
375
477
|
const request = {
|
|
376
478
|
redirect: "error",
|
|
@@ -430,9 +532,19 @@ const ProviderValues = Object.freeze({
|
|
|
430
532
|
cacheMilliseconds: ProviderValues.cacheMilliseconds(response.headers),
|
|
431
533
|
});
|
|
432
534
|
},
|
|
535
|
+
/**
|
|
536
|
+
* Checks authorization-code exchange fields before contacting a provider.
|
|
537
|
+
* @param input The authorization-code exchange input.
|
|
538
|
+
* @returns Whether the exchange fields are valid.
|
|
539
|
+
*/
|
|
433
540
|
validExchange(input) {
|
|
434
541
|
return [input.code, input.callbackUri, input.providerCodeVerifier, input.expectedNonce].every((value) => typeof value === "string" && value.length > 0 && value.length <= 4096);
|
|
435
542
|
},
|
|
543
|
+
/**
|
|
544
|
+
* Parses a URL-safe base64 JSON value.
|
|
545
|
+
* @param value The URL-safe base64 JSON string to decode.
|
|
546
|
+
* @returns The parsed value, or undefined for invalid JSON.
|
|
547
|
+
*/
|
|
436
548
|
parse64(value) {
|
|
437
549
|
try {
|
|
438
550
|
return JSON.parse(Buffer.from(value, "base64url").toString("utf8"));
|
|
@@ -441,39 +553,81 @@ const ProviderValues = Object.freeze({
|
|
|
441
553
|
return undefined;
|
|
442
554
|
}
|
|
443
555
|
},
|
|
556
|
+
/**
|
|
557
|
+
* Checks whether a value is a plain record.
|
|
558
|
+
* @param value The unknown value to test for plain-record shape.
|
|
559
|
+
* @returns Whether the value is a plain record.
|
|
560
|
+
*/
|
|
444
561
|
plain(value) {
|
|
445
562
|
return (typeof value === "object" &&
|
|
446
563
|
value !== null &&
|
|
447
564
|
Object.getPrototypeOf(value) === Object.prototype);
|
|
448
565
|
},
|
|
566
|
+
/**
|
|
567
|
+
* Returns a bounded non-empty string when valid.
|
|
568
|
+
* @param value The string to check for the configured length bound.
|
|
569
|
+
* @returns The bounded string, or undefined when invalid.
|
|
570
|
+
*/
|
|
449
571
|
string(value) {
|
|
450
572
|
return typeof value === "string" && value.length > 0 && value.length <= 4096
|
|
451
573
|
? value
|
|
452
574
|
: undefined;
|
|
453
575
|
},
|
|
576
|
+
/**
|
|
577
|
+
* Validates a bounded named string.
|
|
578
|
+
* @param value The named string option to validate.
|
|
579
|
+
* @param name The named option in validation errors.
|
|
580
|
+
* @returns The validated string.
|
|
581
|
+
*/
|
|
454
582
|
bounded(value, name) {
|
|
455
583
|
const result = ProviderValues.string(value);
|
|
456
584
|
if (!result)
|
|
457
585
|
throw new TypeError(name);
|
|
458
586
|
return result;
|
|
459
587
|
},
|
|
588
|
+
/**
|
|
589
|
+
* Checks a bounded email address shape.
|
|
590
|
+
* @param value The email address to check.
|
|
591
|
+
* @returns Whether the address meets the accepted shape.
|
|
592
|
+
*/
|
|
460
593
|
validEmail(value) {
|
|
461
594
|
return (typeof value === "string" && value.length <= 320 && /^[^@\s]+@[^@\s]+\.[^@\s]+$/.test(value));
|
|
462
595
|
},
|
|
596
|
+
/**
|
|
597
|
+
* Checks a verified primary email record.
|
|
598
|
+
* @param value The email record to check for primary verification.
|
|
599
|
+
* @returns Whether the record contains a verified primary address.
|
|
600
|
+
*/
|
|
463
601
|
validPrimaryEmail(value) {
|
|
464
602
|
return (ProviderValues.plain(value) &&
|
|
465
603
|
value.primary === true &&
|
|
466
604
|
value.verified === true &&
|
|
467
605
|
ProviderValues.validEmail(value.email));
|
|
468
606
|
},
|
|
607
|
+
/**
|
|
608
|
+
* Checks a bounded whitespace-free OAuth scope.
|
|
609
|
+
* @param value The OAuth scope string to validate.
|
|
610
|
+
* @returns Whether the scope is valid.
|
|
611
|
+
*/
|
|
469
612
|
validScope(value) {
|
|
470
613
|
return (typeof value === "string" && value.length > 0 && value.length <= 128 && !/\s/u.test(value));
|
|
471
614
|
},
|
|
615
|
+
/**
|
|
616
|
+
* Validates a positive safe integer option.
|
|
617
|
+
* @param value The integer option to validate.
|
|
618
|
+
* @param name The named option in validation errors.
|
|
619
|
+
* @returns The validated positive integer.
|
|
620
|
+
*/
|
|
472
621
|
positive(value, name) {
|
|
473
622
|
if (!Number.isSafeInteger(value) || value <= 0)
|
|
474
623
|
throw new TypeError(name);
|
|
475
624
|
return value;
|
|
476
625
|
},
|
|
626
|
+
/**
|
|
627
|
+
* Validates an HTTPS URL without credentials or fragment.
|
|
628
|
+
* @param value The HTTPS URL to validate.
|
|
629
|
+
* @returns The validated HTTPS URL.
|
|
630
|
+
*/
|
|
477
631
|
https(value) {
|
|
478
632
|
const text = ProviderValues.bounded(value, "URL");
|
|
479
633
|
const url = new URL(text);
|
|
@@ -481,6 +635,11 @@ const ProviderValues = Object.freeze({
|
|
|
481
635
|
throw new TypeError("HTTPS URL required");
|
|
482
636
|
return text;
|
|
483
637
|
},
|
|
638
|
+
/**
|
|
639
|
+
* Validates an HTTPS base URL without a query.
|
|
640
|
+
* @param value The HTTPS base URL to validate.
|
|
641
|
+
* @returns The HTTPS base URL without trailing slashes.
|
|
642
|
+
*/
|
|
484
643
|
httpsBase(value) {
|
|
485
644
|
ProviderValues.https(value);
|
|
486
645
|
const url = new URL(value);
|
|
@@ -488,6 +647,14 @@ const ProviderValues = Object.freeze({
|
|
|
488
647
|
throw new TypeError("HTTPS base URL must not contain a query.");
|
|
489
648
|
return value.replace(/\/+$/u, "");
|
|
490
649
|
},
|
|
650
|
+
/**
|
|
651
|
+
* Executes a provider operation under a combined abort signal and deadline.
|
|
652
|
+
* @typeParam T The result type returned by the provider operation.
|
|
653
|
+
* @param timeoutMilliseconds The maximum operation duration.
|
|
654
|
+
* @param externalSignal The caller cancellation signal.
|
|
655
|
+
* @param operation The asynchronous operation to await.
|
|
656
|
+
* @returns The operation result before timeout or abort.
|
|
657
|
+
*/
|
|
491
658
|
async boundedOperation(timeoutMilliseconds, externalSignal, operation) {
|
|
492
659
|
const controller = new AbortController();
|
|
493
660
|
const signal = externalSignal === undefined
|
|
@@ -512,6 +679,13 @@ const ProviderValues = Object.freeze({
|
|
|
512
679
|
signal.removeEventListener("abort", onAbort);
|
|
513
680
|
}
|
|
514
681
|
},
|
|
682
|
+
/**
|
|
683
|
+
* Waits for one shared provider operation or caller cancellation.
|
|
684
|
+
* @typeParam T The result type returned by the provider operation.
|
|
685
|
+
* @param operation The asynchronous operation to await.
|
|
686
|
+
* @param signal The request cancellation signal.
|
|
687
|
+
* @returns The shared operation result before caller cancellation.
|
|
688
|
+
*/
|
|
515
689
|
async waitForSignal(operation, signal) {
|
|
516
690
|
if (signal.aborted)
|
|
517
691
|
throw new Error("Provider operation aborted.");
|
|
@@ -528,6 +702,12 @@ const ProviderValues = Object.freeze({
|
|
|
528
702
|
signal.removeEventListener("abort", onAbort);
|
|
529
703
|
}
|
|
530
704
|
},
|
|
705
|
+
/**
|
|
706
|
+
* Reads one response-stream chunk with cancellation.
|
|
707
|
+
* @param reader The response body stream reader.
|
|
708
|
+
* @param signal The request cancellation signal.
|
|
709
|
+
* @returns The next stream chunk or completion marker.
|
|
710
|
+
*/
|
|
531
711
|
async abortableRead(reader, signal) {
|
|
532
712
|
if (signal === undefined)
|
|
533
713
|
return reader.read();
|
|
@@ -547,12 +727,22 @@ const ProviderValues = Object.freeze({
|
|
|
547
727
|
});
|
|
548
728
|
});
|
|
549
729
|
},
|
|
730
|
+
/**
|
|
731
|
+
* Reads a non-negative safe millisecond clock value.
|
|
732
|
+
* @param clock The provider millisecond clock.
|
|
733
|
+
* @returns The validated current epoch milliseconds.
|
|
734
|
+
*/
|
|
550
735
|
safeNow(clock) {
|
|
551
736
|
const value = clock();
|
|
552
737
|
if (!Number.isSafeInteger(value) || value < 0)
|
|
553
738
|
throw new TypeError("clock");
|
|
554
739
|
return value;
|
|
555
740
|
},
|
|
741
|
+
/**
|
|
742
|
+
* Calculates remaining JWKS cache time from HTTP headers.
|
|
743
|
+
* @param headers The HTTP response headers.
|
|
744
|
+
* @returns Remaining cache time in milliseconds.
|
|
745
|
+
*/
|
|
556
746
|
cacheMilliseconds(headers) {
|
|
557
747
|
const directives = (headers.get("cache-control") ?? "")
|
|
558
748
|
.split(",")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAQ5C,MAAM,aAAa,GAAG,SAAS,CAAC;AAChC,MAAM,eAAe,GAAG,MAAM,CAAC;AAC/B,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACjC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAyK/C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAOC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,iBAAiB,GACrB,OAAO,CAAC,iBAAiB,IAAI,GAAG,MAAM,mCAAmC,CAAC;QAC5E,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,CACrC,OAAO,CAAC,mBAAmB,IAAI,eAAe,EAC9C,qBAAqB,CACtB,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CACpF,cAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAChF,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM;YAAE,OAAO,SAAS,CAAC;QACpF,OAAO,kBAAkB,CAAC;YACxB,GAAG,OAAO;YACV,MAAM;YACN,qBAAqB,EAAE,cAAc,CAAC,OAAO,CAC3C,QAAQ,CAAC,sBAAsB,EAC/B,wBAAwB,CACzB;YACD,aAAa,EAAE,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,EAAE,gBAAgB,CAAC;YAChF,YAAY,EAAE,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;SACpE,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAA4B;IAC7D,MAAM,QAAQ,GAAG,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;IACvD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB;QACrD,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC5C,QAAQ;KACT,CAAC,CAAC;AACL,CAAC;AAgBD;;GAEG;AACH,MAAM,YAAY;IASa;IAR7B,WAAW,CAAmE;IAE9E,YAAY,CAA0B;IAEtC;;;OAGG;IACH,YAA6B,QAA8B;QAA9B,aAAQ,GAAR,QAAQ,CAAsB;IAAG,CAAC;IAE/D;;;OAGG;IACH,QAAQ;QACN,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;YAC5B,yBAAyB,EAAE,CAAC,KAAoC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;SAC1F,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CAAC,KAAoC;QACjD,IAAI,CAAC;YACH,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC;gBACnF,OAAO,SAAS,CAAC;YACnB,OAAO,MAAM,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAC3F,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CACpC,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CAAC,KAAoC,EAAE,MAAmB;QAC7E,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,IAAI,CACrC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAClB,EAAE,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EACzC,MAAM,EACN,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CACjC,CAAC;QACF,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChG,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC5C,OAAO,cAAc,CAAC,WAAW,CAC/B,OAAO,EACP,IAAI,CAAC,QAAQ,CAAC,MAAM,EACpB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EACtB,KAAK,CAAC,aAAa,EACnB,IAAI,CAAC,QAAQ,CAAC,KAAK,EACnB,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAC5C,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,KAAoC,EAAE,MAAmB;QACpE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QACvE,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC;YAC/B,UAAU,EAAE,oBAAoB;YAChC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,YAAY,EAAE,KAAK,CAAC,WAAW;YAC/B,SAAS,EAAE,QAAQ;YACnB,aAAa,EAAE,KAAK,CAAC,oBAAoB;SAC1C,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;YAC1B,MAAM,EAAE,kBAAkB;YAC1B,cAAc,EAAE,mCAAmC;SACpD,CAAC,CAAC;QACH,IAAI,oBAAoB,KAAK,oBAAoB;YAC/C,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC;QAChD,IAAI,oBAAoB,KAAK,qBAAqB;YAChD,OAAO,CAAC,GAAG,CACT,eAAe,EACf,SAAS,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,IAAI,YAAY,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAC/E,CAAC;QACJ,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACtE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAgB,EAAE,MAAmB;QAClD,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,GAAG;YAClE,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAC/D,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,OAAO,MAAM,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACrE,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO;gBAAE,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5E,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,GAAW;QACzB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,cAAc,CAAC,gBAAgB,CAC7C,IAAI,CAAC,QAAQ,CAAC,OAAO,EACrB,UAAU,CAAC,MAAM,EACjB,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CACxC,CAAC;QACF,MAAM,OAAO,GAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC1F,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC5B,KAAK,OAAO,CAAC,IAAI,CACf,GAAG,EAAE;YACH,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;YACvB,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO;gBAAE,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QACnE,CAAC,EACD,GAAG,EAAE;YACH,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;YACvB,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO;gBAAE,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QACnE,CAAC,CACF,CAAC;QACF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAC,GAAW,EAAE,MAAmB;QAC9C,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,YAAY,CAC5C,IAAI,CAAC,QAAQ,CAAC,YAAY,EAC1B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAClB,EAAE,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EACzC,MAAM,CACP,CAAC;QACF,MAAM,IAAI,GACR,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;YAChC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,QAAQ;YAChC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAW;YACzD,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACpF,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAGC;IAED,MAAM,EACJ,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,KAAK,EAAE,aAAa,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,KAAK,GACN,GAAG,OAAO,CAAC;IACZ,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC;QAC5C,MAAM,EAAE,6BAA6B;QACrC,QAAQ;QACR,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;QACvD,GAAG,CAAC,oBAAoB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC;QACvE,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;QAChE,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC;QACrE,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC;QAC/D,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;KAC1C,CAAC,CAAC;IACH,OAAO,CACL,UAAU;QACV,MAAM,CAAC,MAAM,CAAC;YACZ,GAAG,UAAU;YACb,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;SACjE,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAA8B;IACjE,MAAM,IAAI,GAAG,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,IAAI,oBAAoB,CAAC,CAAC;IAC/E,MAAM,GAAG,GAAG,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,IAAI,wBAAwB,CAAC,CAAC;IACrF,MAAM,eAAe,GAAG,IAAI,KAAK,oBAAoB,IAAI,GAAG,KAAK,wBAAwB,CAAC;IAC1F,IACE,CAAC,eAAe;QAChB,CAAC,IAAI,KAAK,oBAAoB;YAC5B,GAAG,KAAK,wBAAwB;YAChC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QAE/C,MAAM,IAAI,SAAS,CAAC,mCAAmC,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,EACnE,YAAY,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IAC9E,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC;IAClG,IACE,OAAO,CAAC,2BAA2B,KAAK,SAAS;QACjD,OAAO,OAAO,CAAC,2BAA2B,KAAK,SAAS;QAExD,MAAM,IAAI,SAAS,CAAC,6BAA6B,CAAC,CAAC;IACrD,MAAM,2BAA2B,GAAG,OAAO,CAAC,2BAA2B,KAAK,IAAI,CAAC;IACjF,MAAM,cAAc,GAAuB,OAAO,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3E,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC;QACrE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,2BAA2B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC;QACvE,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACpC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,UAAU;QACnE,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,YAAY,CAAC;IACtD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,YAAY,CAAC,CAAC;IAChF,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,EACjC,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,IAAI,aAAa,EAAE,kBAAkB,CAAC,EAC9F,OAAO,GAAG,cAAc,CAAC,QAAQ,CAC/B,OAAO,CAAC,mBAAmB,IAAI,eAAe,EAC9C,qBAAqB,CACtB,CAAC;IACJ,MAAM,QAAQ,GAAiC,MAAM,CAAC,MAAM,CAAC;QAC3D,MAAM,EAAE,IAAI;QACZ,KAAK,CAAC,yBAAyB,CAAC,KAAoC;YAClE,IAAI,CAAC;gBACH,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC;oBAAE,OAAO,SAAS,CAAC;gBAC1F,OAAO,MAAM,cAAc,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;oBACnF,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,IAAI,CACrC,GAAG,IAAI,2BAA2B,EAClC,IAAI,EACJ,EAAE,gBAAgB,EAAE,KAAK,EAAE,EAC3B,MAAM,EACN;wBACE,MAAM,EAAE,MAAM;wBACd,QAAQ,EAAE,OAAO;wBACjB,OAAO,EAAE;4BACP,MAAM,EAAE,kBAAkB;4BAC1B,cAAc,EAAE,mCAAmC;yBACpD;wBACD,IAAI,EAAE,IAAI,eAAe,CAAC;4BACxB,SAAS,EAAE,QAAQ;4BACnB,aAAa,EAAE,YAAY;4BAC3B,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,YAAY,EAAE,KAAK,CAAC,WAAW;4BAC/B,aAAa,EAAE,KAAK,CAAC,oBAAoB;yBAC1C,CAAC;qBACH,CACF,CAAC;oBACF,IACE,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC;wBAC5B,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC;wBAC1C,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;wBACpC,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,QAAQ;wBAE3C,OAAO,SAAS,CAAC;oBACnB,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;oBAC9D,IAAI,WAAW,KAAK,SAAS;wBAAE,OAAO,SAAS,CAAC;oBAChD,MAAM,OAAO,GACX,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpF,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;wBAAE,OAAO,SAAS,CAAC;oBAC/E,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,IAAI,CACpC,GAAG,GAAG,OAAO,EACb,IAAI,EACJ,EAAE,gBAAgB,EAAE,KAAK,EAAE,EAC3B,MAAM,EACN;wBACE,QAAQ,EAAE,OAAO;wBACjB,OAAO,EAAE;4BACP,MAAM,EAAE,kBAAkB;4BAC1B,aAAa,EAAE,UAAU,WAAW,EAAE;4BACtC,sBAAsB,EAAE,UAAU;yBACnC;qBACF,CACF,CAAC;oBACF,IACE,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC;wBAC3B,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC7B,IAAI,CAAC,EAAa,IAAI,CAAC;wBAExB,OAAO,SAAS,CAAC;oBACnB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAA2B,CAAC;oBAC7D,IAAI,2BAA2B,EAAE,CAAC;wBAChC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CACtC,GAAG,GAAG,cAAc,EACpB,IAAI,EACJ,EAAE,gBAAgB,EAAE,KAAK,EAAE,EAC3B,MAAM,EACN;4BACE,QAAQ,EAAE,OAAO;4BACjB,OAAO,EAAE;gCACP,MAAM,EAAE,kBAAkB;gCAC1B,aAAa,EAAE,UAAU,WAAW,EAAE;gCACtC,sBAAsB,EAAE,UAAU;6BACnC;yBACF,CACF,CAAC;wBACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE;4BAAE,OAAO,SAAS,CAAC;wBACnE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;wBAChE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;4BAAE,OAAO,SAAS,CAAC;wBAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;wBACzB,IAAI,KAAK,KAAK,SAAS;4BAAE,OAAO,SAAS,CAAC;wBAC1C,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;oBACnF,CAAC;oBACD,OAAO,MAAM,CAAC,MAAM,CAAC;wBACnB,MAAM,EAAE,IAAI;wBACZ,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;wBACxB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACzE,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,qBAAqB,EAAE,GAAG,IAAI,wBAAwB;QACtD,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC;QAChD,QAAQ;KACT,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC;;;;OAIG;IACH,YAAY,CAAC,OAA4B;QACvC,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,qBAAqB,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAClF,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAClE,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACtE,MAAM,EAAE,oBAAoB,EAAE,YAAY,EAAE,GAAG,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACvF,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,CACnC,OAAO,CAAC,gBAAgB,IAAI,aAAa,EACzC,kBAAkB,CACnB,CAAC;QACF,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,CACrC,OAAO,CAAC,mBAAmB,IAAI,eAAe,EAC9C,qBAAqB,CACtB,CAAC;QACF,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;QACpC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAChE,OAAO;YACL,MAAM;YACN,qBAAqB;YACrB,aAAa;YACb,YAAY;YACZ,QAAQ;YACR,oBAAoB;YACpB,YAAY;YACZ,KAAK;YACL,OAAO;YACP,IAAI;YACJ,KAAK;SACN,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,OAA4B;QAC1C,MAAM,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,IAAI,MAAM,CAAC;QACpE,IACE,CAAE,CAAC,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,CAAW,CAAC,QAAQ,CACxE,oBAAoB,CACrB;YAED,MAAM,IAAI,SAAS,CAAC,sBAAsB,CAAC,CAAC;QAC9C,MAAM,YAAY,GAChB,OAAO,CAAC,YAAY,KAAK,SAAS;YAChC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QACnE,IAAI,oBAAoB,KAAK,MAAM,IAAI,YAAY,KAAK,SAAS;YAC/D,MAAM,IAAI,SAAS,CAAC,cAAc,CAAC,CAAC;QACtC,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,CAAC;IAChD,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,WAAW,CACf,KAAa,EACb,MAAc,EACd,QAAgB,EAChB,KAAa,EACb,KAAmB,EACnB,IAAsD;QAEtD,MAAM,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACjF,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC;YAAE,OAAO,SAAS,CAAC;QACpD,MAAM,eAAe,GAAG,MAAM,CAAC;QAC/B,MAAM,GAAG,GAAG,cAAc,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,eAAe,CAAC,IAAI,KAAK,WAAW;YAC7E,OAAO,SAAS,CAAC;QACnB,MAAM,GAAG,GAAG,cAAc,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,CAAC,GAAG;YAAE,OAAO,SAAS,CAAC;QAC3B,MAAM,UAAU,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;QAC/E,IAAI,GAAG,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9D,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,SAAS,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;YACjF,GAAG,GAAG,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1D,CAAC;QACD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,KAAK,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG;YAAE,OAAO,SAAS,CAAC;QACnE,IAAI,MAA+B,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,MAAM,SAAS,CAAC,GAAY,EAAE,GAAG,CAAC,EAAE;gBAC1E,MAAM;gBACN,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,CAAC,GAAG,CAAC;gBACjB,WAAW,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC9B,GAAG,EAAE,KAAK;aACX,CAAC,CAAC;YACH,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACvE,IACE,MAAM,CAAC,KAAK,KAAK,KAAK;YACtB,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ;YAC9B,CAAC,MAAM,CAAC,GAAG;YACX,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC;YAEhD,OAAO,SAAS,CAAC;QACnB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAA2B,CAAC;QAC3D,KAAK,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,CAAC;YAC1E,IACE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,QAAQ;gBAChC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG;gBAC1B,CAAC,IAAI,KAAK,OAAO,IAAI,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAE7D,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QACjF,IAAI,OAAO,MAAM,CAAC,cAAc,KAAK,SAAS;YAC5C,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,gBAAgB,EAAE;gBAC5C,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC;gBACpC,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;QACL,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrF,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,IAAI,CACR,GAAW,EACX,IAAmB,EACnB,MAAqD,EACrD,MAAoB,EACpB,IAAkB;QAElB,OAAO,CAAC,MAAM,cAAc,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IACpF,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,YAAY,CAChB,GAAW,EACX,IAAmB,EACnB,MAAqD,EACrD,MAAoB,EACpB,IAAkB;QAElB,MAAM,OAAO,GAAgB;YAC3B,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;YACvC,GAAG,IAAI;SACR,CAAC;QACF,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;QAClD,IAAI,MAAM,EAAE,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;QAChE,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YACpB,KAAK,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,IAAI,aAAa,CAAC;QACvD,IACE,CAAC,QAAQ,CAAC,EAAE;YACZ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YACjF,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,EAC3D,CAAC;YACD,KAAK,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACzC,MAAM,MAAM,GAAiB,EAAE,CAAC;QAChC,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC;YACH,SAAS,CAAC;gBACR,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAChE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,QAAQ,GAAG,IAAI,CAAC;oBAChB,MAAM;gBACR,CAAC;gBACD,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;gBAC9B,IAAI,IAAI,GAAG,KAAK;oBAAE,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;gBAC9C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,QAAQ;gBAAE,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC3D,IAAI,CAAC;gBACH,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,CAAC;YAAC,MAAM,CAAC;gBACP,+DAA+D;YACjE,CAAC;QACH,CAAC;QACD,IAAI,MAAM,EAAE,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CACtB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC/D,CAAC;QACb,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,KAAK;YACL,iBAAiB,EAAE,cAAc,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC;SACtE,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,KAAoC;QAChD,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,CAC3F,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,CACjF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,KAAa;QACnB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACtE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAc;QAClB,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,KAAK,IAAI;YACd,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,SAAS,CAClD,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAc;QACnB,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI;YAC1E,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,KAAc,EAAE,IAAY;QAClC,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;QACvC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,KAAc;QACvB,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,IAAI,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,CAC7F,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,KAAc;QAC9B,OAAO,CACL,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC;YAC3B,KAAK,CAAC,OAAO,KAAK,IAAI;YACtB,KAAK,CAAC,QAAQ,KAAK,IAAI;YACvB,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CACvC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,KAAc;QACvB,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAC3F,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,KAAc,EAAE,IAAY;QACnC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAK,KAAgB,IAAI,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;QACtF,OAAO,KAAe,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAa;QACjB,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI;YACvE,MAAM,IAAI,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,KAAa;QACrB,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,GAAG,CAAC,MAAM;YAAE,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAC;QAChF,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,gBAAgB,CACpB,mBAA2B,EAC3B,cAAuC,EACvC,SAA8C;QAE9C,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,MAAM,GACV,cAAc,KAAK,SAAS;YAC1B,CAAC,CAAC,UAAU,CAAC,MAAM;YACnB,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3D,IAAI,WAAkD,CAAC;QACvD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;YACtD,WAAW,GAAG,MAAM,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAC9E,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC,EAAE,mBAAmB,CAAC,CAAC;QACxB,IAAI,CAAC;YACH,IAAI,MAAM,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACnE,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1D,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,aAAa,CAAI,SAAqB,EAAE,MAAmB;QAC/D,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACnE,IAAI,WAAkD,CAAC;QACvD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;YACtD,WAAW,GAAG,MAAM,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAC9E,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;QAClD,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CACjB,MAA+C,EAC/C,MAA+B;QAE/B,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACnE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,OAAO,GAAG,GAAG,EAAE;gBACnB,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC5C,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;YACnD,CAAC,CAAC;YACF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,MAAM;iBACH,IAAI,EAAE;iBACN,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC;iBACrB,OAAO,CAAC,GAAG,EAAE;gBACZ,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,KAAmB;QACzB,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;QAC5E,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,OAAgB;QAChC,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;aACpD,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QACtD,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,OAAO,CAAC,CAAC;QACjF,MAAM,MAAM,GAAG,UAAU;aACtB,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aAC3D,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;QACxC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;IAC3C,CAAC;CACF,CAAC,CAAC"}
|