@qnsp/tenant-sdk 0.2.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +4 -0
- package/CHANGELOG.md +51 -0
- package/LICENSE +21 -7
- package/README.md +17 -51
- package/dist/index.d.ts +116 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +409 -16
- package/dist/index.js.map +1 -1
- package/package.json +58 -39
- package/src/index.test.ts +73 -1
- package/src/index.ts +565 -17
- package/tsconfig.tsbuildinfo +1 -1
package/dist/index.js
CHANGED
|
@@ -1,49 +1,274 @@
|
|
|
1
1
|
import { performance } from "node:perf_hooks";
|
|
2
|
+
import { activateSdk } from "@qnsp/sdk-activation";
|
|
2
3
|
import { createTenantClientTelemetry, isTenantClientTelemetry } from "./observability.js";
|
|
3
4
|
import { validateUUID } from "./validation.js";
|
|
4
5
|
/**
|
|
5
6
|
* Default algorithms per crypto policy tier.
|
|
7
|
+
* These match the definitions in packages/security/src/crypto-policy.ts
|
|
8
|
+
* and determine which algorithms appear in the portal's Generate Key dropdown.
|
|
9
|
+
*
|
|
10
|
+
* default: All supported PQC algorithms (NIST-finalized + candidates via liboqs)
|
|
11
|
+
* strict: NIST-finalized/selected at higher security levels
|
|
12
|
+
* maximum: Highest-security NIST-finalized only
|
|
13
|
+
* government: FIPS-finalized only (no draft standards)
|
|
6
14
|
*/
|
|
7
15
|
export const CRYPTO_POLICY_ALGORITHMS = {
|
|
8
16
|
default: {
|
|
9
|
-
kemAlgorithms: [
|
|
10
|
-
|
|
17
|
+
kemAlgorithms: [
|
|
18
|
+
// FIPS 203 — ML-KEM (NIST finalized)
|
|
19
|
+
"kyber-512",
|
|
20
|
+
"kyber-768",
|
|
21
|
+
"kyber-1024",
|
|
22
|
+
// HQC (NIST selected March 2025)
|
|
23
|
+
"hqc-128",
|
|
24
|
+
"hqc-192",
|
|
25
|
+
"hqc-256",
|
|
26
|
+
// BIKE (NIST Round 4 candidate)
|
|
27
|
+
"bike-l1",
|
|
28
|
+
"bike-l3",
|
|
29
|
+
"bike-l5",
|
|
30
|
+
// Classic McEliece (ISO standard)
|
|
31
|
+
"mceliece-348864",
|
|
32
|
+
"mceliece-460896",
|
|
33
|
+
"mceliece-6688128",
|
|
34
|
+
"mceliece-6960119",
|
|
35
|
+
"mceliece-8192128",
|
|
36
|
+
// FrodoKEM (ISO standard)
|
|
37
|
+
"frodokem-640-aes",
|
|
38
|
+
"frodokem-640-shake",
|
|
39
|
+
"frodokem-976-aes",
|
|
40
|
+
"frodokem-976-shake",
|
|
41
|
+
"frodokem-1344-aes",
|
|
42
|
+
"frodokem-1344-shake",
|
|
43
|
+
// NTRU (lattice-based)
|
|
44
|
+
"ntru-hps-2048-509",
|
|
45
|
+
"ntru-hps-2048-677",
|
|
46
|
+
"ntru-hps-4096-821",
|
|
47
|
+
"ntru-hps-4096-1229",
|
|
48
|
+
"ntru-hrss-701",
|
|
49
|
+
"ntru-hrss-1373",
|
|
50
|
+
// NTRU-Prime
|
|
51
|
+
"sntrup761",
|
|
52
|
+
],
|
|
53
|
+
signatureAlgorithms: [
|
|
54
|
+
// FIPS 204 — ML-DSA (NIST finalized)
|
|
55
|
+
"dilithium-2",
|
|
56
|
+
"dilithium-3",
|
|
57
|
+
"dilithium-5",
|
|
58
|
+
// FIPS 205 — SLH-DSA (NIST finalized, SHA-2 variants)
|
|
59
|
+
"sphincs-sha2-128f-simple",
|
|
60
|
+
"sphincs-sha2-128s-simple",
|
|
61
|
+
"sphincs-sha2-192f-simple",
|
|
62
|
+
"sphincs-sha2-192s-simple",
|
|
63
|
+
"sphincs-sha2-256f-simple",
|
|
64
|
+
"sphincs-sha2-256s-simple",
|
|
65
|
+
// FIPS 205 — SLH-DSA (NIST finalized, SHAKE variants)
|
|
66
|
+
"sphincs-shake-128f-simple",
|
|
67
|
+
"sphincs-shake-128s-simple",
|
|
68
|
+
"sphincs-shake-192f-simple",
|
|
69
|
+
"sphincs-shake-192s-simple",
|
|
70
|
+
"sphincs-shake-256f-simple",
|
|
71
|
+
"sphincs-shake-256s-simple",
|
|
72
|
+
// FN-DSA / Falcon (FIPS 206 draft)
|
|
73
|
+
"falcon-512",
|
|
74
|
+
"falcon-1024",
|
|
75
|
+
// MAYO (NIST Additional Signatures Round 2)
|
|
76
|
+
"mayo-1",
|
|
77
|
+
"mayo-2",
|
|
78
|
+
"mayo-3",
|
|
79
|
+
"mayo-5",
|
|
80
|
+
// CROSS (NIST Additional Signatures Round 2)
|
|
81
|
+
"cross-rsdp-128-balanced",
|
|
82
|
+
"cross-rsdp-128-fast",
|
|
83
|
+
"cross-rsdp-128-small",
|
|
84
|
+
"cross-rsdp-192-balanced",
|
|
85
|
+
"cross-rsdp-192-fast",
|
|
86
|
+
"cross-rsdp-192-small",
|
|
87
|
+
"cross-rsdp-256-balanced",
|
|
88
|
+
"cross-rsdp-256-fast",
|
|
89
|
+
"cross-rsdp-256-small",
|
|
90
|
+
"cross-rsdpg-128-balanced",
|
|
91
|
+
"cross-rsdpg-128-fast",
|
|
92
|
+
"cross-rsdpg-128-small",
|
|
93
|
+
"cross-rsdpg-192-balanced",
|
|
94
|
+
"cross-rsdpg-192-fast",
|
|
95
|
+
"cross-rsdpg-192-small",
|
|
96
|
+
"cross-rsdpg-256-balanced",
|
|
97
|
+
"cross-rsdpg-256-fast",
|
|
98
|
+
"cross-rsdpg-256-small",
|
|
99
|
+
// UOV (NIST Additional Signatures Round 2)
|
|
100
|
+
"ov-Is",
|
|
101
|
+
"ov-Ip",
|
|
102
|
+
"ov-III",
|
|
103
|
+
"ov-V",
|
|
104
|
+
"ov-Is-pkc",
|
|
105
|
+
"ov-Ip-pkc",
|
|
106
|
+
"ov-III-pkc",
|
|
107
|
+
"ov-V-pkc",
|
|
108
|
+
"ov-Is-pkc-skc",
|
|
109
|
+
"ov-Ip-pkc-skc",
|
|
110
|
+
"ov-III-pkc-skc",
|
|
111
|
+
"ov-V-pkc-skc",
|
|
112
|
+
// SNOVA (NIST Additional Signatures Round 2)
|
|
113
|
+
"snova-24-5-4",
|
|
114
|
+
"snova-24-5-4-shake",
|
|
115
|
+
"snova-24-5-4-esk",
|
|
116
|
+
"snova-24-5-4-shake-esk",
|
|
117
|
+
"snova-25-8-3",
|
|
118
|
+
"snova-37-17-2",
|
|
119
|
+
"snova-37-8-4",
|
|
120
|
+
"snova-24-5-5",
|
|
121
|
+
"snova-56-25-2",
|
|
122
|
+
"snova-49-11-3",
|
|
123
|
+
"snova-60-10-4",
|
|
124
|
+
"snova-29-6-5",
|
|
125
|
+
],
|
|
11
126
|
defaultKemAlgorithm: "kyber-768",
|
|
12
127
|
defaultSignatureAlgorithm: "dilithium-3",
|
|
13
128
|
},
|
|
14
129
|
strict: {
|
|
15
|
-
kemAlgorithms: ["kyber-768", "kyber-1024"],
|
|
16
|
-
signatureAlgorithms: [
|
|
130
|
+
kemAlgorithms: ["kyber-768", "kyber-1024", "hqc-192", "hqc-256"],
|
|
131
|
+
signatureAlgorithms: [
|
|
132
|
+
"dilithium-3",
|
|
133
|
+
"dilithium-5",
|
|
134
|
+
"falcon-1024",
|
|
135
|
+
"sphincs-sha2-256f-simple",
|
|
136
|
+
"sphincs-sha2-256s-simple",
|
|
137
|
+
"sphincs-shake-256f-simple",
|
|
138
|
+
"sphincs-shake-256s-simple",
|
|
139
|
+
],
|
|
17
140
|
defaultKemAlgorithm: "kyber-768",
|
|
18
141
|
defaultSignatureAlgorithm: "dilithium-3",
|
|
19
142
|
},
|
|
20
143
|
maximum: {
|
|
21
|
-
kemAlgorithms: ["kyber-1024"],
|
|
22
|
-
signatureAlgorithms: [
|
|
144
|
+
kemAlgorithms: ["kyber-1024", "hqc-256"],
|
|
145
|
+
signatureAlgorithms: [
|
|
146
|
+
"dilithium-5",
|
|
147
|
+
"falcon-1024",
|
|
148
|
+
"sphincs-sha2-256f-simple",
|
|
149
|
+
"sphincs-shake-256f-simple",
|
|
150
|
+
],
|
|
23
151
|
defaultKemAlgorithm: "kyber-1024",
|
|
24
152
|
defaultSignatureAlgorithm: "dilithium-5",
|
|
25
153
|
},
|
|
26
154
|
government: {
|
|
27
155
|
kemAlgorithms: ["kyber-1024"],
|
|
28
|
-
signatureAlgorithms: ["dilithium-5", "sphincs-shake-256f-simple"],
|
|
156
|
+
signatureAlgorithms: ["dilithium-5", "sphincs-sha2-256f-simple", "sphincs-shake-256f-simple"],
|
|
29
157
|
defaultKemAlgorithm: "kyber-1024",
|
|
30
158
|
defaultSignatureAlgorithm: "dilithium-5",
|
|
31
159
|
},
|
|
32
160
|
};
|
|
33
161
|
/**
|
|
34
|
-
* Mapping from internal algorithm names to NIST
|
|
162
|
+
* Mapping from internal algorithm names to NIST/standards display names.
|
|
163
|
+
* Covers all 90 PQC algorithms supported by QNSP.
|
|
164
|
+
* Canonical source: @qnsp/cryptography pqc-standards.ts ALGORITHM_NIST_NAMES
|
|
35
165
|
*/
|
|
36
166
|
export const ALGORITHM_TO_NIST = {
|
|
167
|
+
// FIPS 203 — ML-KEM
|
|
37
168
|
"kyber-512": "ML-KEM-512",
|
|
38
169
|
"kyber-768": "ML-KEM-768",
|
|
39
170
|
"kyber-1024": "ML-KEM-1024",
|
|
171
|
+
// FIPS 204 — ML-DSA
|
|
40
172
|
"dilithium-2": "ML-DSA-44",
|
|
41
173
|
"dilithium-3": "ML-DSA-65",
|
|
42
174
|
"dilithium-5": "ML-DSA-87",
|
|
43
|
-
|
|
44
|
-
"
|
|
175
|
+
// FIPS 205 — SLH-DSA (SHA-2 variants)
|
|
176
|
+
"sphincs-sha2-128f-simple": "SLH-DSA-SHA2-128f",
|
|
177
|
+
"sphincs-sha2-128s-simple": "SLH-DSA-SHA2-128s",
|
|
178
|
+
"sphincs-sha2-192f-simple": "SLH-DSA-SHA2-192f",
|
|
179
|
+
"sphincs-sha2-192s-simple": "SLH-DSA-SHA2-192s",
|
|
180
|
+
"sphincs-sha2-256f-simple": "SLH-DSA-SHA2-256f",
|
|
181
|
+
"sphincs-sha2-256s-simple": "SLH-DSA-SHA2-256s",
|
|
182
|
+
// FIPS 205 — SLH-DSA (SHAKE variants)
|
|
45
183
|
"sphincs-shake-128f-simple": "SLH-DSA-SHAKE-128f",
|
|
184
|
+
"sphincs-shake-128s-simple": "SLH-DSA-SHAKE-128s",
|
|
185
|
+
"sphincs-shake-192f-simple": "SLH-DSA-SHAKE-192f",
|
|
186
|
+
"sphincs-shake-192s-simple": "SLH-DSA-SHAKE-192s",
|
|
46
187
|
"sphincs-shake-256f-simple": "SLH-DSA-SHAKE-256f",
|
|
188
|
+
"sphincs-shake-256s-simple": "SLH-DSA-SHAKE-256s",
|
|
189
|
+
// FN-DSA (FIPS 206 draft)
|
|
190
|
+
"falcon-512": "FN-DSA-512",
|
|
191
|
+
"falcon-1024": "FN-DSA-1024",
|
|
192
|
+
// HQC (NIST selected March 2025)
|
|
193
|
+
"hqc-128": "HQC-128",
|
|
194
|
+
"hqc-192": "HQC-192",
|
|
195
|
+
"hqc-256": "HQC-256",
|
|
196
|
+
// BIKE (NIST Round 4)
|
|
197
|
+
"bike-l1": "BIKE-L1",
|
|
198
|
+
"bike-l3": "BIKE-L3",
|
|
199
|
+
"bike-l5": "BIKE-L5",
|
|
200
|
+
// Classic McEliece (ISO standard)
|
|
201
|
+
"mceliece-348864": "Classic-McEliece-348864",
|
|
202
|
+
"mceliece-460896": "Classic-McEliece-460896",
|
|
203
|
+
"mceliece-6688128": "Classic-McEliece-6688128",
|
|
204
|
+
"mceliece-6960119": "Classic-McEliece-6960119",
|
|
205
|
+
"mceliece-8192128": "Classic-McEliece-8192128",
|
|
206
|
+
// FrodoKEM (ISO standard)
|
|
207
|
+
"frodokem-640-aes": "FrodoKEM-640-AES",
|
|
208
|
+
"frodokem-640-shake": "FrodoKEM-640-SHAKE",
|
|
209
|
+
"frodokem-976-aes": "FrodoKEM-976-AES",
|
|
210
|
+
"frodokem-976-shake": "FrodoKEM-976-SHAKE",
|
|
211
|
+
"frodokem-1344-aes": "FrodoKEM-1344-AES",
|
|
212
|
+
"frodokem-1344-shake": "FrodoKEM-1344-SHAKE",
|
|
213
|
+
// NTRU (lattice-based, re-added in liboqs 0.15)
|
|
214
|
+
"ntru-hps-2048-509": "NTRU-HPS-2048-509",
|
|
215
|
+
"ntru-hps-2048-677": "NTRU-HPS-2048-677",
|
|
216
|
+
"ntru-hps-4096-821": "NTRU-HPS-4096-821",
|
|
217
|
+
"ntru-hps-4096-1229": "NTRU-HPS-4096-1229",
|
|
218
|
+
"ntru-hrss-701": "NTRU-HRSS-701",
|
|
219
|
+
"ntru-hrss-1373": "NTRU-HRSS-1373",
|
|
220
|
+
// NTRU-Prime
|
|
221
|
+
sntrup761: "sntrup761",
|
|
222
|
+
// MAYO (NIST Additional Signatures Round 2)
|
|
223
|
+
"mayo-1": "MAYO-1",
|
|
224
|
+
"mayo-2": "MAYO-2",
|
|
225
|
+
"mayo-3": "MAYO-3",
|
|
226
|
+
"mayo-5": "MAYO-5",
|
|
227
|
+
// CROSS (NIST Additional Signatures Round 2)
|
|
228
|
+
"cross-rsdp-128-balanced": "CROSS-RSDP-128-balanced",
|
|
229
|
+
"cross-rsdp-128-fast": "CROSS-RSDP-128-fast",
|
|
230
|
+
"cross-rsdp-128-small": "CROSS-RSDP-128-small",
|
|
231
|
+
"cross-rsdp-192-balanced": "CROSS-RSDP-192-balanced",
|
|
232
|
+
"cross-rsdp-192-fast": "CROSS-RSDP-192-fast",
|
|
233
|
+
"cross-rsdp-192-small": "CROSS-RSDP-192-small",
|
|
234
|
+
"cross-rsdp-256-balanced": "CROSS-RSDP-256-balanced",
|
|
235
|
+
"cross-rsdp-256-fast": "CROSS-RSDP-256-fast",
|
|
236
|
+
"cross-rsdp-256-small": "CROSS-RSDP-256-small",
|
|
237
|
+
"cross-rsdpg-128-balanced": "CROSS-RSDPG-128-balanced",
|
|
238
|
+
"cross-rsdpg-128-fast": "CROSS-RSDPG-128-fast",
|
|
239
|
+
"cross-rsdpg-128-small": "CROSS-RSDPG-128-small",
|
|
240
|
+
"cross-rsdpg-192-balanced": "CROSS-RSDPG-192-balanced",
|
|
241
|
+
"cross-rsdpg-192-fast": "CROSS-RSDPG-192-fast",
|
|
242
|
+
"cross-rsdpg-192-small": "CROSS-RSDPG-192-small",
|
|
243
|
+
"cross-rsdpg-256-balanced": "CROSS-RSDPG-256-balanced",
|
|
244
|
+
"cross-rsdpg-256-fast": "CROSS-RSDPG-256-fast",
|
|
245
|
+
"cross-rsdpg-256-small": "CROSS-RSDPG-256-small",
|
|
246
|
+
// UOV (NIST Additional Signatures Round 2)
|
|
247
|
+
"ov-Is": "UOV-Is",
|
|
248
|
+
"ov-Ip": "UOV-Ip",
|
|
249
|
+
"ov-III": "UOV-III",
|
|
250
|
+
"ov-V": "UOV-V",
|
|
251
|
+
"ov-Is-pkc": "UOV-Is-pkc",
|
|
252
|
+
"ov-Ip-pkc": "UOV-Ip-pkc",
|
|
253
|
+
"ov-III-pkc": "UOV-III-pkc",
|
|
254
|
+
"ov-V-pkc": "UOV-V-pkc",
|
|
255
|
+
"ov-Is-pkc-skc": "UOV-Is-pkc-skc",
|
|
256
|
+
"ov-Ip-pkc-skc": "UOV-Ip-pkc-skc",
|
|
257
|
+
"ov-III-pkc-skc": "UOV-III-pkc-skc",
|
|
258
|
+
"ov-V-pkc-skc": "UOV-V-pkc-skc",
|
|
259
|
+
// SNOVA (NIST Additional Signatures Round 2, liboqs 0.14+)
|
|
260
|
+
"snova-24-5-4": "SNOVA-24-5-4",
|
|
261
|
+
"snova-24-5-4-shake": "SNOVA-24-5-4-SHAKE",
|
|
262
|
+
"snova-24-5-4-esk": "SNOVA-24-5-4-ESK",
|
|
263
|
+
"snova-24-5-4-shake-esk": "SNOVA-24-5-4-SHAKE-ESK",
|
|
264
|
+
"snova-25-8-3": "SNOVA-25-8-3",
|
|
265
|
+
"snova-37-17-2": "SNOVA-37-17-2",
|
|
266
|
+
"snova-37-8-4": "SNOVA-37-8-4",
|
|
267
|
+
"snova-24-5-5": "SNOVA-24-5-5",
|
|
268
|
+
"snova-56-25-2": "SNOVA-56-25-2",
|
|
269
|
+
"snova-49-11-3": "SNOVA-49-11-3",
|
|
270
|
+
"snova-60-10-4": "SNOVA-60-10-4",
|
|
271
|
+
"snova-29-6-5": "SNOVA-29-6-5",
|
|
47
272
|
};
|
|
48
273
|
/**
|
|
49
274
|
* Convert internal algorithm name to NIST standardized name.
|
|
@@ -61,19 +286,47 @@ export class TenantClient {
|
|
|
61
286
|
config;
|
|
62
287
|
telemetry;
|
|
63
288
|
targetService;
|
|
289
|
+
activationPromise = null;
|
|
290
|
+
activationConfig;
|
|
291
|
+
async ensureActivated() {
|
|
292
|
+
if (!this.activationPromise) {
|
|
293
|
+
this.activationPromise = activateSdk(this.activationConfig).then(() => undefined);
|
|
294
|
+
}
|
|
295
|
+
await this.activationPromise;
|
|
296
|
+
}
|
|
64
297
|
constructor(config) {
|
|
298
|
+
if (!config.apiKey || config.apiKey.trim().length === 0) {
|
|
299
|
+
throw new Error("QNSP Tenant SDK: apiKey is required. " +
|
|
300
|
+
"Get your free API key at https://cloud.qnsp.cuilabs.io/signup — " +
|
|
301
|
+
"no credit card required (FREE tier: 10 GB storage, 50,000 API calls/month). " +
|
|
302
|
+
"Docs: https://docs.qnsp.cuilabs.io/sdk/tenant-sdk");
|
|
303
|
+
}
|
|
65
304
|
const baseUrl = config.baseUrl.replace(/\/$/, "");
|
|
66
|
-
// Enforce HTTPS in production (allow HTTP
|
|
305
|
+
// Enforce HTTPS in production (allow HTTP for localhost in development and
|
|
306
|
+
// for internal service-mesh hostnames — e.g. *.internal — which are on a
|
|
307
|
+
// private VPC network and do not require TLS termination at the transport layer).
|
|
67
308
|
if (!baseUrl.startsWith("https://")) {
|
|
68
309
|
const isLocalhost = baseUrl.startsWith("http://localhost") || baseUrl.startsWith("http://127.0.0.1");
|
|
310
|
+
let isInternalService = false;
|
|
311
|
+
try {
|
|
312
|
+
const parsed = new URL(baseUrl);
|
|
313
|
+
isInternalService =
|
|
314
|
+
parsed.protocol === "http:" &&
|
|
315
|
+
(parsed.hostname.endsWith(".internal") ||
|
|
316
|
+
parsed.hostname === "localhost" ||
|
|
317
|
+
parsed.hostname === "127.0.0.1");
|
|
318
|
+
}
|
|
319
|
+
catch {
|
|
320
|
+
// ignore; invalid URL will be caught later by fetch
|
|
321
|
+
}
|
|
69
322
|
const isDevelopment = process.env["NODE_ENV"] === "development" || process.env["NODE_ENV"] === "test";
|
|
70
|
-
if (!isLocalhost || !isDevelopment) {
|
|
323
|
+
if ((!isLocalhost || !isDevelopment) && !isInternalService) {
|
|
71
324
|
throw new Error("baseUrl must use HTTPS in production. HTTP is only allowed for localhost in development.");
|
|
72
325
|
}
|
|
73
326
|
}
|
|
74
327
|
this.config = {
|
|
75
328
|
baseUrl,
|
|
76
|
-
apiKey: config.apiKey
|
|
329
|
+
apiKey: config.apiKey,
|
|
77
330
|
timeoutMs: config.timeoutMs ?? 30_000,
|
|
78
331
|
maxRetries: config.maxRetries ?? 3,
|
|
79
332
|
retryDelayMs: config.retryDelayMs ?? 1_000,
|
|
@@ -89,6 +342,12 @@ export class TenantClient {
|
|
|
89
342
|
catch {
|
|
90
343
|
this.targetService = "tenant-service";
|
|
91
344
|
}
|
|
345
|
+
this.activationConfig = {
|
|
346
|
+
apiKey: config.apiKey,
|
|
347
|
+
sdkId: "tenant-sdk",
|
|
348
|
+
sdkVersion: "0.3.0",
|
|
349
|
+
platformUrl: config.baseUrl,
|
|
350
|
+
};
|
|
92
351
|
}
|
|
93
352
|
async request(method, path, options) {
|
|
94
353
|
return this.requestWithRetry(method, path, options, 0);
|
|
@@ -99,9 +358,7 @@ export class TenantClient {
|
|
|
99
358
|
"Content-Type": "application/json",
|
|
100
359
|
...options?.headers,
|
|
101
360
|
};
|
|
102
|
-
|
|
103
|
-
headers["Authorization"] = `Bearer ${this.config.apiKey}`;
|
|
104
|
-
}
|
|
361
|
+
headers["Authorization"] = `Bearer ${this.config.apiKey}`;
|
|
105
362
|
const controller = new AbortController();
|
|
106
363
|
const timeoutId = setTimeout(() => controller.abort(), this.config.timeoutMs);
|
|
107
364
|
const signal = options?.signal ?? controller.signal;
|
|
@@ -195,6 +452,7 @@ export class TenantClient {
|
|
|
195
452
|
* Requires PQC-signed security envelope and optional signature.
|
|
196
453
|
*/
|
|
197
454
|
async createTenant(request) {
|
|
455
|
+
await this.ensureActivated();
|
|
198
456
|
// Validation is handled by the service, but we validate format here for early feedback
|
|
199
457
|
return this.request("POST", "/tenant/v1/tenants", {
|
|
200
458
|
body: {
|
|
@@ -203,6 +461,7 @@ export class TenantClient {
|
|
|
203
461
|
...(request.plan !== undefined ? { plan: request.plan } : {}),
|
|
204
462
|
...(request.region !== undefined ? { region: request.region } : {}),
|
|
205
463
|
...(request.complianceTags !== undefined ? { complianceTags: request.complianceTags } : {}),
|
|
464
|
+
...(request.hsmMode !== undefined ? { hsmMode: request.hsmMode } : {}),
|
|
206
465
|
...(request.metadata !== undefined ? { metadata: request.metadata } : {}),
|
|
207
466
|
...(request.domains !== undefined ? { domains: request.domains } : {}),
|
|
208
467
|
security: request.security,
|
|
@@ -217,11 +476,13 @@ export class TenantClient {
|
|
|
217
476
|
*/
|
|
218
477
|
async updateTenant(id, request) {
|
|
219
478
|
validateUUID(id, "id");
|
|
479
|
+
await this.ensureActivated();
|
|
220
480
|
return this.request("PATCH", `/tenant/v1/tenants/${id}`, {
|
|
221
481
|
body: {
|
|
222
482
|
...(request.plan !== undefined ? { plan: request.plan } : {}),
|
|
223
483
|
...(request.status !== undefined ? { status: request.status } : {}),
|
|
224
484
|
...(request.complianceTags !== undefined ? { complianceTags: request.complianceTags } : {}),
|
|
485
|
+
...(request.hsmMode !== undefined ? { hsmMode: request.hsmMode } : {}),
|
|
225
486
|
...(request.metadata !== undefined ? { metadata: request.metadata } : {}),
|
|
226
487
|
security: request.security,
|
|
227
488
|
...(request.signature !== undefined ? { signature: request.signature } : {}),
|
|
@@ -235,6 +496,7 @@ export class TenantClient {
|
|
|
235
496
|
*/
|
|
236
497
|
async getTenant(id) {
|
|
237
498
|
validateUUID(id, "id");
|
|
499
|
+
await this.ensureActivated();
|
|
238
500
|
return this.request("GET", `/tenant/v1/tenants/${id}`, {
|
|
239
501
|
operation: "getTenant",
|
|
240
502
|
});
|
|
@@ -244,6 +506,7 @@ export class TenantClient {
|
|
|
244
506
|
* Returns a list of tenants and an optional next cursor for pagination.
|
|
245
507
|
*/
|
|
246
508
|
async listTenants(options) {
|
|
509
|
+
await this.ensureActivated();
|
|
247
510
|
const params = new URLSearchParams();
|
|
248
511
|
if (options?.limit !== undefined) {
|
|
249
512
|
params.set("limit", String(options.limit));
|
|
@@ -264,16 +527,47 @@ export class TenantClient {
|
|
|
264
527
|
*/
|
|
265
528
|
async getTenantCryptoPolicy(tenantId) {
|
|
266
529
|
validateUUID(tenantId, "tenantId");
|
|
530
|
+
await this.ensureActivated();
|
|
267
531
|
return this.request("GET", `/tenant/v1/tenants/${tenantId}/crypto-policy`, {
|
|
268
532
|
operation: "getTenantCryptoPolicy",
|
|
269
533
|
});
|
|
270
534
|
}
|
|
535
|
+
/**
|
|
536
|
+
* Get the v1 crypto policy for a tenant (profiles + tiers model).
|
|
537
|
+
* If no policy exists, a default policy is created and returned.
|
|
538
|
+
*/
|
|
539
|
+
async getTenantCryptoPolicyV1(tenantId) {
|
|
540
|
+
validateUUID(tenantId, "tenantId");
|
|
541
|
+
await this.ensureActivated();
|
|
542
|
+
return this.request("GET", `/tenant/v1/tenants/${tenantId}/crypto-policy-v1`, {
|
|
543
|
+
operation: "getTenantCryptoPolicyV1",
|
|
544
|
+
});
|
|
545
|
+
}
|
|
546
|
+
/**
|
|
547
|
+
* List v1 crypto policy history entries.
|
|
548
|
+
*/
|
|
549
|
+
async listTenantCryptoPolicyV1History(tenantId, options) {
|
|
550
|
+
validateUUID(tenantId, "tenantId");
|
|
551
|
+
await this.ensureActivated();
|
|
552
|
+
const params = new URLSearchParams();
|
|
553
|
+
if (options?.limit !== undefined) {
|
|
554
|
+
params.set("limit", String(options.limit));
|
|
555
|
+
}
|
|
556
|
+
const query = params.toString();
|
|
557
|
+
const path = query
|
|
558
|
+
? `/tenant/v1/tenants/${tenantId}/crypto-policy-v1/history?${query}`
|
|
559
|
+
: `/tenant/v1/tenants/${tenantId}/crypto-policy-v1/history`;
|
|
560
|
+
return this.request("GET", path, {
|
|
561
|
+
operation: "listTenantCryptoPolicyV1History",
|
|
562
|
+
});
|
|
563
|
+
}
|
|
271
564
|
/**
|
|
272
565
|
* Create or update the crypto policy for a tenant.
|
|
273
566
|
* Sets the policy tier and optional custom algorithm restrictions.
|
|
274
567
|
*/
|
|
275
568
|
async upsertTenantCryptoPolicy(tenantId, policy) {
|
|
276
569
|
validateUUID(tenantId, "tenantId");
|
|
570
|
+
await this.ensureActivated();
|
|
277
571
|
return this.request("PUT", `/tenant/v1/tenants/${tenantId}/crypto-policy`, {
|
|
278
572
|
body: {
|
|
279
573
|
policyTier: policy.policyTier,
|
|
@@ -291,11 +585,104 @@ export class TenantClient {
|
|
|
291
585
|
operation: "upsertTenantCryptoPolicy",
|
|
292
586
|
});
|
|
293
587
|
}
|
|
588
|
+
/**
|
|
589
|
+
* Update the v1 crypto policy for a tenant (requires If-Match with current ETag).
|
|
590
|
+
*/
|
|
591
|
+
async updateTenantCryptoPolicyV1(tenantId, policy, etag) {
|
|
592
|
+
validateUUID(tenantId, "tenantId");
|
|
593
|
+
await this.ensureActivated();
|
|
594
|
+
if (!etag) {
|
|
595
|
+
throw new Error("etag is required for updateTenantCryptoPolicyV1");
|
|
596
|
+
}
|
|
597
|
+
return this.request("PUT", `/tenant/v1/tenants/${tenantId}/crypto-policy-v1`, {
|
|
598
|
+
body: { policy },
|
|
599
|
+
headers: {
|
|
600
|
+
"If-Match": etag,
|
|
601
|
+
},
|
|
602
|
+
operation: "updateTenantCryptoPolicyV1",
|
|
603
|
+
});
|
|
604
|
+
}
|
|
605
|
+
/**
|
|
606
|
+
* Enable Tier0 legacy algorithms (time-bounded) for a tenant.
|
|
607
|
+
*/
|
|
608
|
+
async enableTier0Legacy(tenantId, input, etag) {
|
|
609
|
+
validateUUID(tenantId, "tenantId");
|
|
610
|
+
await this.ensureActivated();
|
|
611
|
+
if (!etag) {
|
|
612
|
+
throw new Error("etag is required for enableTier0Legacy");
|
|
613
|
+
}
|
|
614
|
+
return this.request("POST", `/tenant/v1/tenants/${tenantId}/crypto-policy-v1/tier0/enable`, {
|
|
615
|
+
body: { expiry: input.expiry },
|
|
616
|
+
headers: {
|
|
617
|
+
"If-Match": etag,
|
|
618
|
+
},
|
|
619
|
+
operation: "enableTier0Legacy",
|
|
620
|
+
});
|
|
621
|
+
}
|
|
622
|
+
/**
|
|
623
|
+
* Disable Tier0 legacy algorithms for a tenant.
|
|
624
|
+
*/
|
|
625
|
+
async disableTier0Legacy(tenantId, etag) {
|
|
626
|
+
validateUUID(tenantId, "tenantId");
|
|
627
|
+
await this.ensureActivated();
|
|
628
|
+
if (!etag) {
|
|
629
|
+
throw new Error("etag is required for disableTier0Legacy");
|
|
630
|
+
}
|
|
631
|
+
return this.request("POST", `/tenant/v1/tenants/${tenantId}/crypto-policy-v1/tier0/disable`, {
|
|
632
|
+
body: {},
|
|
633
|
+
headers: {
|
|
634
|
+
"If-Match": etag,
|
|
635
|
+
},
|
|
636
|
+
operation: "disableTier0Legacy",
|
|
637
|
+
});
|
|
638
|
+
}
|
|
639
|
+
/**
|
|
640
|
+
* Enable Tier4 experimental algorithms with acknowledgement.
|
|
641
|
+
*/
|
|
642
|
+
async enableTier4Experimental(tenantId, input, etag) {
|
|
643
|
+
validateUUID(tenantId, "tenantId");
|
|
644
|
+
await this.ensureActivated();
|
|
645
|
+
if (!etag) {
|
|
646
|
+
throw new Error("etag is required for enableTier4Experimental");
|
|
647
|
+
}
|
|
648
|
+
return this.request("POST", `/tenant/v1/tenants/${tenantId}/crypto-policy-v1/tier4/enable`, {
|
|
649
|
+
body: { approvedBy: input.approvedBy },
|
|
650
|
+
headers: {
|
|
651
|
+
"If-Match": etag,
|
|
652
|
+
},
|
|
653
|
+
operation: "enableTier4Experimental",
|
|
654
|
+
});
|
|
655
|
+
}
|
|
656
|
+
/**
|
|
657
|
+
* Roll back the v1 crypto policy to a previous history record or policy hash.
|
|
658
|
+
*/
|
|
659
|
+
async rollbackTenantCryptoPolicyV1(tenantId, input, etag) {
|
|
660
|
+
validateUUID(tenantId, "tenantId");
|
|
661
|
+
await this.ensureActivated();
|
|
662
|
+
if (!etag) {
|
|
663
|
+
throw new Error("etag is required for rollbackTenantCryptoPolicyV1");
|
|
664
|
+
}
|
|
665
|
+
if (!input.historyId && !input.policyHash) {
|
|
666
|
+
throw new Error("historyId or policyHash is required for rollbackTenantCryptoPolicyV1");
|
|
667
|
+
}
|
|
668
|
+
return this.request("POST", `/tenant/v1/tenants/${tenantId}/crypto-policy-v1/rollback`, {
|
|
669
|
+
body: {
|
|
670
|
+
...(input.historyId ? { historyId: input.historyId } : {}),
|
|
671
|
+
...(input.policyHash ? { policyHash: input.policyHash } : {}),
|
|
672
|
+
},
|
|
673
|
+
headers: {
|
|
674
|
+
"If-Match": etag,
|
|
675
|
+
},
|
|
676
|
+
operation: "rollbackTenantCryptoPolicyV1",
|
|
677
|
+
});
|
|
678
|
+
}
|
|
294
679
|
/**
|
|
295
680
|
* Get the allowed KEM algorithms for a tenant based on their crypto policy.
|
|
296
681
|
* Convenience method that fetches the policy and returns the allowed algorithms.
|
|
297
682
|
*/
|
|
298
683
|
async getAllowedKemAlgorithms(tenantId) {
|
|
684
|
+
validateUUID(tenantId, "tenantId");
|
|
685
|
+
await this.ensureActivated();
|
|
299
686
|
const policy = await this.getTenantCryptoPolicy(tenantId);
|
|
300
687
|
if (policy.customAllowedKemAlgorithms && policy.customAllowedKemAlgorithms.length > 0) {
|
|
301
688
|
return policy.customAllowedKemAlgorithms;
|
|
@@ -307,6 +694,8 @@ export class TenantClient {
|
|
|
307
694
|
* Convenience method that fetches the policy and returns the allowed algorithms.
|
|
308
695
|
*/
|
|
309
696
|
async getAllowedSignatureAlgorithms(tenantId) {
|
|
697
|
+
validateUUID(tenantId, "tenantId");
|
|
698
|
+
await this.ensureActivated();
|
|
310
699
|
const policy = await this.getTenantCryptoPolicy(tenantId);
|
|
311
700
|
if (policy.customAllowedSignatureAlgorithms &&
|
|
312
701
|
policy.customAllowedSignatureAlgorithms.length > 0) {
|
|
@@ -318,6 +707,8 @@ export class TenantClient {
|
|
|
318
707
|
* Get the default KEM algorithm for a tenant based on their crypto policy tier.
|
|
319
708
|
*/
|
|
320
709
|
async getDefaultKemAlgorithm(tenantId) {
|
|
710
|
+
validateUUID(tenantId, "tenantId");
|
|
711
|
+
await this.ensureActivated();
|
|
321
712
|
const policy = await this.getTenantCryptoPolicy(tenantId);
|
|
322
713
|
return CRYPTO_POLICY_ALGORITHMS[policy.policyTier].defaultKemAlgorithm;
|
|
323
714
|
}
|
|
@@ -325,6 +716,8 @@ export class TenantClient {
|
|
|
325
716
|
* Get the default signature algorithm for a tenant based on their crypto policy tier.
|
|
326
717
|
*/
|
|
327
718
|
async getDefaultSignatureAlgorithm(tenantId) {
|
|
719
|
+
validateUUID(tenantId, "tenantId");
|
|
720
|
+
await this.ensureActivated();
|
|
328
721
|
const policy = await this.getTenantCryptoPolicy(tenantId);
|
|
329
722
|
return CRYPTO_POLICY_ALGORITHMS[policy.policyTier].defaultSignatureAlgorithm;
|
|
330
723
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAA4B,MAAM,sBAAsB,CAAC;AAO7E,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAkK/C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAkD;IACtF,OAAO,EAAE;QACR,aAAa,EAAE;YACd,qCAAqC;YACrC,WAAW;YACX,WAAW;YACX,YAAY;YACZ,iCAAiC;YACjC,SAAS;YACT,SAAS;YACT,SAAS;YACT,gCAAgC;YAChC,SAAS;YACT,SAAS;YACT,SAAS;YACT,kCAAkC;YAClC,iBAAiB;YACjB,iBAAiB;YACjB,kBAAkB;YAClB,kBAAkB;YAClB,kBAAkB;YAClB,0BAA0B;YAC1B,kBAAkB;YAClB,oBAAoB;YACpB,kBAAkB;YAClB,oBAAoB;YACpB,mBAAmB;YACnB,qBAAqB;YACrB,uBAAuB;YACvB,mBAAmB;YACnB,mBAAmB;YACnB,mBAAmB;YACnB,oBAAoB;YACpB,eAAe;YACf,gBAAgB;YAChB,aAAa;YACb,WAAW;SACX;QACD,mBAAmB,EAAE;YACpB,qCAAqC;YACrC,aAAa;YACb,aAAa;YACb,aAAa;YACb,sDAAsD;YACtD,0BAA0B;YAC1B,0BAA0B;YAC1B,0BAA0B;YAC1B,0BAA0B;YAC1B,0BAA0B;YAC1B,0BAA0B;YAC1B,sDAAsD;YACtD,2BAA2B;YAC3B,2BAA2B;YAC3B,2BAA2B;YAC3B,2BAA2B;YAC3B,2BAA2B;YAC3B,2BAA2B;YAC3B,mCAAmC;YACnC,YAAY;YACZ,aAAa;YACb,4CAA4C;YAC5C,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,6CAA6C;YAC7C,yBAAyB;YACzB,qBAAqB;YACrB,sBAAsB;YACtB,yBAAyB;YACzB,qBAAqB;YACrB,sBAAsB;YACtB,yBAAyB;YACzB,qBAAqB;YACrB,sBAAsB;YACtB,0BAA0B;YAC1B,sBAAsB;YACtB,uBAAuB;YACvB,0BAA0B;YAC1B,sBAAsB;YACtB,uBAAuB;YACvB,0BAA0B;YAC1B,sBAAsB;YACtB,uBAAuB;YACvB,2CAA2C;YAC3C,OAAO;YACP,OAAO;YACP,QAAQ;YACR,MAAM;YACN,WAAW;YACX,WAAW;YACX,YAAY;YACZ,UAAU;YACV,eAAe;YACf,eAAe;YACf,gBAAgB;YAChB,cAAc;YACd,6CAA6C;YAC7C,cAAc;YACd,oBAAoB;YACpB,kBAAkB;YAClB,wBAAwB;YACxB,cAAc;YACd,eAAe;YACf,cAAc;YACd,cAAc;YACd,eAAe;YACf,eAAe;YACf,eAAe;YACf,cAAc;SACd;QACD,mBAAmB,EAAE,WAAW;QAChC,yBAAyB,EAAE,aAAa;KACxC;IACD,MAAM,EAAE;QACP,aAAa,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC;QAChE,mBAAmB,EAAE;YACpB,aAAa;YACb,aAAa;YACb,aAAa;YACb,0BAA0B;YAC1B,0BAA0B;YAC1B,2BAA2B;YAC3B,2BAA2B;SAC3B;QACD,mBAAmB,EAAE,WAAW;QAChC,yBAAyB,EAAE,aAAa;KACxC;IACD,OAAO,EAAE;QACR,aAAa,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC;QACxC,mBAAmB,EAAE;YACpB,aAAa;YACb,aAAa;YACb,0BAA0B;YAC1B,2BAA2B;SAC3B;QACD,mBAAmB,EAAE,YAAY;QACjC,yBAAyB,EAAE,aAAa;KACxC;IACD,UAAU,EAAE;QACX,aAAa,EAAE,CAAC,YAAY,CAAC;QAC7B,mBAAmB,EAAE,CAAC,aAAa,EAAE,0BAA0B,EAAE,2BAA2B,CAAC;QAC7F,mBAAmB,EAAE,YAAY;QACjC,yBAAyB,EAAE,aAAa;KACxC;CACD,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA2B;IACxD,oBAAoB;IACpB,WAAW,EAAE,YAAY;IACzB,WAAW,EAAE,YAAY;IACzB,YAAY,EAAE,aAAa;IAC3B,oBAAoB;IACpB,aAAa,EAAE,WAAW;IAC1B,aAAa,EAAE,WAAW;IAC1B,aAAa,EAAE,WAAW;IAC1B,sCAAsC;IACtC,0BAA0B,EAAE,mBAAmB;IAC/C,0BAA0B,EAAE,mBAAmB;IAC/C,0BAA0B,EAAE,mBAAmB;IAC/C,0BAA0B,EAAE,mBAAmB;IAC/C,0BAA0B,EAAE,mBAAmB;IAC/C,0BAA0B,EAAE,mBAAmB;IAC/C,sCAAsC;IACtC,2BAA2B,EAAE,oBAAoB;IACjD,2BAA2B,EAAE,oBAAoB;IACjD,2BAA2B,EAAE,oBAAoB;IACjD,2BAA2B,EAAE,oBAAoB;IACjD,2BAA2B,EAAE,oBAAoB;IACjD,2BAA2B,EAAE,oBAAoB;IACjD,0BAA0B;IAC1B,YAAY,EAAE,YAAY;IAC1B,aAAa,EAAE,aAAa;IAC5B,iCAAiC;IACjC,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IACpB,sBAAsB;IACtB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IACpB,kCAAkC;IAClC,iBAAiB,EAAE,yBAAyB;IAC5C,iBAAiB,EAAE,yBAAyB;IAC5C,kBAAkB,EAAE,0BAA0B;IAC9C,kBAAkB,EAAE,0BAA0B;IAC9C,kBAAkB,EAAE,0BAA0B;IAC9C,0BAA0B;IAC1B,kBAAkB,EAAE,kBAAkB;IACtC,oBAAoB,EAAE,oBAAoB;IAC1C,kBAAkB,EAAE,kBAAkB;IACtC,oBAAoB,EAAE,oBAAoB;IAC1C,mBAAmB,EAAE,mBAAmB;IACxC,qBAAqB,EAAE,qBAAqB;IAC5C,gDAAgD;IAChD,mBAAmB,EAAE,mBAAmB;IACxC,mBAAmB,EAAE,mBAAmB;IACxC,mBAAmB,EAAE,mBAAmB;IACxC,oBAAoB,EAAE,oBAAoB;IAC1C,eAAe,EAAE,eAAe;IAChC,gBAAgB,EAAE,gBAAgB;IAClC,aAAa;IACb,SAAS,EAAE,WAAW;IACtB,4CAA4C;IAC5C,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,QAAQ;IAClB,6CAA6C;IAC7C,yBAAyB,EAAE,yBAAyB;IACpD,qBAAqB,EAAE,qBAAqB;IAC5C,sBAAsB,EAAE,sBAAsB;IAC9C,yBAAyB,EAAE,yBAAyB;IACpD,qBAAqB,EAAE,qBAAqB;IAC5C,sBAAsB,EAAE,sBAAsB;IAC9C,yBAAyB,EAAE,yBAAyB;IACpD,qBAAqB,EAAE,qBAAqB;IAC5C,sBAAsB,EAAE,sBAAsB;IAC9C,0BAA0B,EAAE,0BAA0B;IACtD,sBAAsB,EAAE,sBAAsB;IAC9C,uBAAuB,EAAE,uBAAuB;IAChD,0BAA0B,EAAE,0BAA0B;IACtD,sBAAsB,EAAE,sBAAsB;IAC9C,uBAAuB,EAAE,uBAAuB;IAChD,0BAA0B,EAAE,0BAA0B;IACtD,sBAAsB,EAAE,sBAAsB;IAC9C,uBAAuB,EAAE,uBAAuB;IAChD,2CAA2C;IAC3C,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,QAAQ;IACjB,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE,OAAO;IACf,WAAW,EAAE,YAAY;IACzB,WAAW,EAAE,YAAY;IACzB,YAAY,EAAE,aAAa;IAC3B,UAAU,EAAE,WAAW;IACvB,eAAe,EAAE,gBAAgB;IACjC,eAAe,EAAE,gBAAgB;IACjC,gBAAgB,EAAE,iBAAiB;IACnC,cAAc,EAAE,eAAe;IAC/B,2DAA2D;IAC3D,cAAc,EAAE,cAAc;IAC9B,oBAAoB,EAAE,oBAAoB;IAC1C,kBAAkB,EAAE,kBAAkB;IACtC,wBAAwB,EAAE,wBAAwB;IAClD,cAAc,EAAE,cAAc;IAC9B,eAAe,EAAE,eAAe;IAChC,cAAc,EAAE,cAAc;IAC9B,cAAc,EAAE,cAAc;IAC9B,eAAe,EAAE,eAAe;IAChC,eAAe,EAAE,eAAe;IAChC,eAAe,EAAE,eAAe;IAChC,cAAc,EAAE,cAAc;CAC9B,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IACnD,OAAO,iBAAiB,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,IAAsB;IAC/D,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAsFD,MAAM,OAAO,YAAY;IACP,MAAM,CAA6B;IACnC,SAAS,CAA+B;IACxC,aAAa,CAAS;IAC/B,iBAAiB,GAAyB,IAAI,CAAC;IACtC,gBAAgB,CAAsB;IAE/C,KAAK,CAAC,eAAe;QAC5B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC7B,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACnF,CAAC;QACD,MAAM,IAAI,CAAC,iBAAiB,CAAC;IAC9B,CAAC;IAED,YAAY,MAA0B;QACrC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CACd,uCAAuC;gBACtC,kEAAkE;gBAClE,8EAA8E;gBAC9E,mDAAmD,CACpD,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAElD,2EAA2E;QAC3E,yEAAyE;QACzE,kFAAkF;QAClF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACrC,MAAM,WAAW,GAChB,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;YAClF,IAAI,iBAAiB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC;gBACJ,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;gBAChC,iBAAiB;oBAChB,MAAM,CAAC,QAAQ,KAAK,OAAO;wBAC3B,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;4BACrC,MAAM,CAAC,QAAQ,KAAK,WAAW;4BAC/B,MAAM,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC;YACpC,CAAC;YAAC,MAAM,CAAC;gBACR,oDAAoD;YACrD,CAAC;YACD,MAAM,aAAa,GAClB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC;YACjF,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC5D,MAAM,IAAI,KAAK,CACd,0FAA0F,CAC1F,CAAC;YACH,CAAC;QACF,CAAC;QAED,IAAI,CAAC,MAAM,GAAG;YACb,OAAO;YACP,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM;YACrC,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,CAAC;YAClC,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,KAAK;SAC1C,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS;YAChC,CAAC,CAAC,uBAAuB,CAAC,MAAM,CAAC,SAAS,CAAC;gBAC1C,CAAC,CAAC,MAAM,CAAC,SAAS;gBAClB,CAAC,CAAC,2BAA2B,CAAC,MAAM,CAAC,SAAS,CAAC;YAChD,CAAC,CAAC,IAAI,CAAC;QAER,IAAI,CAAC;YACJ,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;QACxD,CAAC;QAAC,MAAM,CAAC;YACR,IAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC;QACvC,CAAC;QAED,IAAI,CAAC,gBAAgB,GAAG;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,YAAY;YACnB,UAAU,EAAE,OAAO;YACnB,WAAW,EAAE,MAAM,CAAC,OAAO;SAC3B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,OAAO,CAAI,MAAc,EAAE,IAAY,EAAE,OAAwB;QAC9E,OAAO,IAAI,CAAC,gBAAgB,CAAI,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC7B,MAAc,EACd,IAAY,EACZ,OAAmC,EACnC,OAAe;QAEf,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC;QAC5C,MAAM,OAAO,GAA2B;YACvC,cAAc,EAAE,kBAAkB;YAClC,GAAG,OAAO,EAAE,OAAO;SACnB,CAAC;QAEF,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAE1D,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC9E,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC;QACpD,MAAM,KAAK,GAAG,OAAO,EAAE,cAAc,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;QACrF,MAAM,MAAM,GAAG,OAAO,EAAE,eAAe,IAAI,IAAI,CAAC,aAAa,CAAC;QAC9D,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAChC,IAAI,MAAM,GAAmB,IAAI,CAAC;QAClC,IAAI,UAA8B,CAAC;QACnC,IAAI,YAAgC,CAAC;QAErC,IAAI,CAAC;YACJ,MAAM,IAAI,GAAgB;gBACzB,MAAM;gBACN,OAAO;gBACP,MAAM;aACN,CAAC;YAEF,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;gBACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1C,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAExC,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;YAE7B,8CAA8C;YAC9C,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC7B,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;oBACtC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;oBAC7D,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;oBAEvC,IAAI,gBAAgB,EAAE,CAAC;wBACtB,MAAM,iBAAiB,GAAG,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;wBAChE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;4BAC/D,OAAO,GAAG,iBAAiB,GAAG,KAAK,CAAC;wBACrC,CAAC;oBACF,CAAC;yBAAM,CAAC;wBACP,mEAAmE;wBACnE,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;oBACrE,CAAC;oBAED,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;oBAC7D,OAAO,IAAI,CAAC,gBAAgB,CAAI,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;gBACrE,CAAC;gBAED,MAAM,GAAG,OAAO,CAAC;gBACjB,YAAY,GAAG,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACzC,MAAM,IAAI,KAAK,CACd,+CAA+C,IAAI,CAAC,MAAM,CAAC,UAAU,UAAU,CAC/E,CAAC;YACH,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAClB,MAAM,GAAG,OAAO,CAAC;gBACjB,2DAA2D;gBAC3D,4EAA4E;gBAC5E,YAAY,GAAG,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACzC,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YAChF,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC7B,OAAO,SAAc,CAAC;YACvB,CAAC;YAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAM,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,MAAM,GAAG,OAAO,CAAC;YACjB,IAAI,CAAC,YAAY,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC7C,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;YAC9B,CAAC;YACD,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC3D,YAAY,GAAG,iBAAiB,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC;gBAC1D,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;YACrE,CAAC;YACD,MAAM,KAAK,CAAC;QACb,CAAC;gBAAS,CAAC;YACV,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YAC7C,MAAM,KAAK,GAA+B;gBACzC,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,GAAG,MAAM,IAAI,KAAK,EAAE;gBACrD,MAAM;gBACN,KAAK;gBACL,MAAM;gBACN,MAAM;gBACN,UAAU;gBACV,GAAG,CAAC,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,GAAG,CAAC,MAAM,KAAK,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtE,CAAC;YACF,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;IACF,CAAC;IAEO,oBAAoB,CAAC,KAAiC;QAC7D,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACrB,OAAO;QACR,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,OAA4B;QAC9C,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC7B,uFAAuF;QACvF,OAAO,IAAI,CAAC,OAAO,CAAS,MAAM,EAAE,oBAAoB,EAAE;YACzD,IAAI,EAAE;gBACL,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnE,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3F,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzE,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5E;YACD,SAAS,EAAE,cAAc;SACzB,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,EAAU,EAAE,OAA4B;QAC1D,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACvB,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAE7B,OAAO,IAAI,CAAC,OAAO,CAAS,OAAO,EAAE,sBAAsB,EAAE,EAAE,EAAE;YAChE,IAAI,EAAE;gBACL,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnE,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3F,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzE,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5E;YACD,SAAS,EAAE,cAAc;SACzB,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,EAAU;QACzB,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACvB,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAE7B,OAAO,IAAI,CAAC,OAAO,CAAS,KAAK,EAAE,sBAAsB,EAAE,EAAE,EAAE;YAC9D,SAAS,EAAE,WAAW;SACtB,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,OAGjB;QACA,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,OAAO,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,OAAO,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,sBAAsB,WAAW,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC;QAEtF,OAAO,IAAI,CAAC,OAAO,CAAsB,KAAK,EAAE,IAAI,EAAE;YACrD,SAAS,EAAE,aAAa;SACxB,CAAC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,qBAAqB,CAAC,QAAgB;QAC3C,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAE7B,OAAO,IAAI,CAAC,OAAO,CAAqB,KAAK,EAAE,sBAAsB,QAAQ,gBAAgB,EAAE;YAC9F,SAAS,EAAE,uBAAuB;SAClC,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,uBAAuB,CAAC,QAAgB;QAC7C,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAE7B,OAAO,IAAI,CAAC,OAAO,CAClB,KAAK,EACL,sBAAsB,QAAQ,mBAAmB,EACjD;YACC,SAAS,EAAE,yBAAyB;SACpC,CACD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,+BAA+B,CACpC,QAAgB,EAChB,OAAqC;QAErC,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,OAAO,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,KAAK;YACjB,CAAC,CAAC,sBAAsB,QAAQ,6BAA6B,KAAK,EAAE;YACpE,CAAC,CAAC,sBAAsB,QAAQ,2BAA2B,CAAC;QAE7D,OAAO,IAAI,CAAC,OAAO,CAAsC,KAAK,EAAE,IAAI,EAAE;YACrE,SAAS,EAAE,iCAAiC;SAC5C,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,wBAAwB,CAC7B,QAAgB,EAChB,MAA+B;QAE/B,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAE7B,OAAO,IAAI,CAAC,OAAO,CAAqB,KAAK,EAAE,sBAAsB,QAAQ,gBAAgB,EAAE;YAC9F,IAAI,EAAE;gBACL,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,GAAG,CAAC,MAAM,CAAC,0BAA0B,KAAK,SAAS;oBAClD,CAAC,CAAC,EAAE,0BAA0B,EAAE,MAAM,CAAC,0BAA0B,EAAE;oBACnE,CAAC,CAAC,EAAE,CAAC;gBACN,GAAG,CAAC,MAAM,CAAC,gCAAgC,KAAK,SAAS;oBACxD,CAAC,CAAC,EAAE,gCAAgC,EAAE,MAAM,CAAC,gCAAgC,EAAE;oBAC/E,CAAC,CAAC,EAAE,CAAC;gBACN,GAAG,CAAC,MAAM,CAAC,qBAAqB,KAAK,SAAS;oBAC7C,CAAC,CAAC,EAAE,qBAAqB,EAAE,MAAM,CAAC,qBAAqB,EAAE;oBACzD,CAAC,CAAC,EAAE,CAAC;gBACN,GAAG,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtF;YACD,SAAS,EAAE,0BAA0B;SACrC,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,0BAA0B,CAC/B,QAAgB,EAChB,MAAsB,EACtB,IAAY;QAEZ,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACpE,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAClB,KAAK,EACL,sBAAsB,QAAQ,mBAAmB,EACjD;YACC,IAAI,EAAE,EAAE,MAAM,EAAE;YAChB,OAAO,EAAE;gBACR,UAAU,EAAE,IAAI;aAChB;YACD,SAAS,EAAE,4BAA4B;SACvC,CACD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CACtB,QAAgB,EAChB,KAAkC,EAClC,IAAY;QAEZ,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAClB,MAAM,EACN,sBAAsB,QAAQ,gCAAgC,EAC9D;YACC,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;YAC9B,OAAO,EAAE;gBACR,UAAU,EAAE,IAAI;aAChB;YACD,SAAS,EAAE,mBAAmB;SAC9B,CACD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,QAAgB,EAAE,IAAY;QACtD,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAClB,MAAM,EACN,sBAAsB,QAAQ,iCAAiC,EAC/D;YACC,IAAI,EAAE,EAAE;YACR,OAAO,EAAE;gBACR,UAAU,EAAE,IAAI;aAChB;YACD,SAAS,EAAE,oBAAoB;SAC/B,CACD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,uBAAuB,CAC5B,QAAgB,EAChB,KAAsC,EACtC,IAAY;QAEZ,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAClB,MAAM,EACN,sBAAsB,QAAQ,gCAAgC,EAC9D;YACC,IAAI,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE;YACtC,OAAO,EAAE;gBACR,UAAU,EAAE,IAAI;aAChB;YACD,SAAS,EAAE,yBAAyB;SACpC,CACD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,4BAA4B,CACjC,QAAgB,EAChB,KAAoE,EACpE,IAAY;QAEZ,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;QACzF,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAClB,MAAM,EACN,sBAAsB,QAAQ,4BAA4B,EAC1D;YACC,IAAI,EAAE;gBACL,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7D;YACD,OAAO,EAAE;gBACR,UAAU,EAAE,IAAI;aAChB;YACD,SAAS,EAAE,8BAA8B;SACzC,CACD,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,uBAAuB,CAAC,QAAgB;QAC7C,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,MAAM,CAAC,0BAA0B,IAAI,MAAM,CAAC,0BAA0B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvF,OAAO,MAAM,CAAC,0BAA0B,CAAC;QAC1C,CAAC;QACD,OAAO,wBAAwB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC;IAClE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,6BAA6B,CAAC,QAAgB;QACnD,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC1D,IACC,MAAM,CAAC,gCAAgC;YACvC,MAAM,CAAC,gCAAgC,CAAC,MAAM,GAAG,CAAC,EACjD,CAAC;YACF,OAAO,MAAM,CAAC,gCAAgC,CAAC;QAChD,CAAC;QACD,OAAO,wBAAwB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,mBAAmB,CAAC;IACxE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,sBAAsB,CAAC,QAAgB;QAC5C,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC1D,OAAO,wBAAwB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,mBAAmB,CAAC;IACxE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,4BAA4B,CAAC,QAAgB;QAClD,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC1D,OAAO,wBAAwB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,yBAAyB,CAAC;IAC9E,CAAC;CACD;AAED,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC"}
|