react-native-quick-crypto 1.0.0-beta.21 → 1.0.0-beta.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/QuickCrypto.podspec +11 -1
- package/android/CMakeLists.txt +2 -0
- package/cpp/cipher/GCMCipher.cpp +68 -0
- package/cpp/cipher/GCMCipher.hpp +14 -0
- package/cpp/cipher/HybridCipherFactory.hpp +8 -0
- package/cpp/cipher/HybridRsaCipher.cpp +229 -0
- package/cpp/cipher/HybridRsaCipher.hpp +23 -0
- package/cpp/keys/HybridKeyObjectHandle.cpp +508 -9
- package/cpp/keys/HybridKeyObjectHandle.hpp +10 -1
- package/cpp/utils/base64.h +309 -0
- package/lib/commonjs/ec.js +85 -17
- package/lib/commonjs/ec.js.map +1 -1
- package/lib/commonjs/specs/rsaCipher.nitro.js +6 -0
- package/lib/commonjs/specs/rsaCipher.nitro.js.map +1 -0
- package/lib/commonjs/subtle.js +420 -17
- package/lib/commonjs/subtle.js.map +1 -1
- package/lib/commonjs/utils/conversion.js +1 -1
- package/lib/commonjs/utils/conversion.js.map +1 -1
- package/lib/module/ec.js +86 -18
- package/lib/module/ec.js.map +1 -1
- package/lib/module/specs/rsaCipher.nitro.js +4 -0
- package/lib/module/specs/rsaCipher.nitro.js.map +1 -0
- package/lib/module/subtle.js +421 -18
- package/lib/module/subtle.js.map +1 -1
- package/lib/module/utils/conversion.js +1 -1
- package/lib/module/utils/conversion.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/typescript/ec.d.ts.map +1 -1
- package/lib/typescript/specs/keyObjectHandle.nitro.d.ts +1 -0
- package/lib/typescript/specs/keyObjectHandle.nitro.d.ts.map +1 -1
- package/lib/typescript/specs/rsaCipher.nitro.d.ts +26 -0
- package/lib/typescript/specs/rsaCipher.nitro.d.ts.map +1 -0
- package/lib/typescript/subtle.d.ts.map +1 -1
- package/lib/typescript/utils/conversion.d.ts.map +1 -1
- package/lib/typescript/utils/types.d.ts +1 -1
- package/lib/typescript/utils/types.d.ts.map +1 -1
- package/nitrogen/generated/android/QuickCrypto+autolinking.cmake +1 -0
- package/nitrogen/generated/android/QuickCryptoOnLoad.cpp +10 -0
- package/nitrogen/generated/ios/QuickCryptoAutolinking.mm +10 -0
- package/nitrogen/generated/shared/c++/AsymmetricKeyType.hpp +104 -0
- package/nitrogen/generated/shared/c++/HybridKeyObjectHandleSpec.cpp +1 -0
- package/nitrogen/generated/shared/c++/HybridKeyObjectHandleSpec.hpp +5 -4
- package/nitrogen/generated/shared/c++/HybridRsaCipherSpec.cpp +22 -0
- package/nitrogen/generated/shared/c++/HybridRsaCipherSpec.hpp +70 -0
- package/package.json +1 -1
- package/src/ec.ts +122 -20
- package/src/specs/keyObjectHandle.nitro.ts +1 -0
- package/src/specs/rsaCipher.nitro.ts +35 -0
- package/src/subtle.ts +550 -45
- package/src/utils/conversion.ts +3 -1
- package/src/utils/types.ts +6 -6
- package/nitrogen/generated/shared/c++/CFRGKeyPairType.hpp +0 -84
package/lib/commonjs/subtle.js
CHANGED
|
@@ -13,9 +13,11 @@ var _errors = require("./utils/errors");
|
|
|
13
13
|
var _hashnames = require("./utils/hashnames");
|
|
14
14
|
var _validation = require("./utils/validation");
|
|
15
15
|
var _hash = require("./hash");
|
|
16
|
+
var _reactNativeNitroModules = require("react-native-nitro-modules");
|
|
16
17
|
var _pbkdf = require("./pbkdf2");
|
|
17
18
|
var _ec = require("./ec");
|
|
18
19
|
var _rsa = require("./rsa");
|
|
20
|
+
var _random = require("./random");
|
|
19
21
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
20
22
|
// import { pbkdf2DeriveBits } from './pbkdf2';
|
|
21
23
|
// import { aesCipher, aesGenerateKey, aesImportKey, getAlgorithmName } from './aes';
|
|
@@ -50,29 +52,426 @@ function getAlgorithmName(name, length) {
|
|
|
50
52
|
}
|
|
51
53
|
|
|
52
54
|
// Placeholder implementations for missing functions
|
|
53
|
-
function ecExportKey(
|
|
54
|
-
|
|
55
|
+
function ecExportKey(key, format) {
|
|
56
|
+
const keyObject = key.keyObject;
|
|
57
|
+
if (format === KWebCryptoKeyFormat.kWebCryptoKeyFormatSPKI) {
|
|
58
|
+
// Export public key in SPKI format
|
|
59
|
+
const exported = keyObject.export({
|
|
60
|
+
format: 'der',
|
|
61
|
+
type: 'spki'
|
|
62
|
+
});
|
|
63
|
+
return (0, _conversion.bufferLikeToArrayBuffer)(exported);
|
|
64
|
+
} else if (format === KWebCryptoKeyFormat.kWebCryptoKeyFormatPKCS8) {
|
|
65
|
+
// Export private key in PKCS8 format
|
|
66
|
+
const exported = keyObject.export({
|
|
67
|
+
format: 'der',
|
|
68
|
+
type: 'pkcs8'
|
|
69
|
+
});
|
|
70
|
+
return (0, _conversion.bufferLikeToArrayBuffer)(exported);
|
|
71
|
+
} else {
|
|
72
|
+
throw new Error(`Unsupported EC export format: ${format}`);
|
|
73
|
+
}
|
|
55
74
|
}
|
|
56
|
-
function rsaExportKey(
|
|
57
|
-
|
|
75
|
+
function rsaExportKey(key, format) {
|
|
76
|
+
const keyObject = key.keyObject;
|
|
77
|
+
if (format === KWebCryptoKeyFormat.kWebCryptoKeyFormatSPKI) {
|
|
78
|
+
// Export public key in SPKI format
|
|
79
|
+
const exported = keyObject.export({
|
|
80
|
+
format: 'der',
|
|
81
|
+
type: 'spki'
|
|
82
|
+
});
|
|
83
|
+
return (0, _conversion.bufferLikeToArrayBuffer)(exported);
|
|
84
|
+
} else if (format === KWebCryptoKeyFormat.kWebCryptoKeyFormatPKCS8) {
|
|
85
|
+
// Export private key in PKCS8 format
|
|
86
|
+
const exported = keyObject.export({
|
|
87
|
+
format: 'der',
|
|
88
|
+
type: 'pkcs8'
|
|
89
|
+
});
|
|
90
|
+
return (0, _conversion.bufferLikeToArrayBuffer)(exported);
|
|
91
|
+
} else {
|
|
92
|
+
throw new Error(`Unsupported RSA export format: ${format}`);
|
|
93
|
+
}
|
|
58
94
|
}
|
|
59
|
-
function rsaCipher(
|
|
60
|
-
|
|
95
|
+
async function rsaCipher(mode, key, data, algorithm) {
|
|
96
|
+
const rsaParams = algorithm;
|
|
97
|
+
|
|
98
|
+
// Validate key type matches operation
|
|
99
|
+
const expectedType = mode === CipherOrWrapMode.kWebCryptoCipherEncrypt ? 'public' : 'private';
|
|
100
|
+
if (key.type !== expectedType) {
|
|
101
|
+
throw (0, _errors.lazyDOMException)('The requested operation is not valid for the provided key', 'InvalidAccessError');
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// Get hash algorithm from key
|
|
105
|
+
const hashAlgorithm = (0, _hashnames.normalizeHashName)(key.algorithm.hash);
|
|
106
|
+
|
|
107
|
+
// Prepare label (optional)
|
|
108
|
+
const label = rsaParams.label ? (0, _conversion.bufferLikeToArrayBuffer)(rsaParams.label) : undefined;
|
|
109
|
+
|
|
110
|
+
// Create RSA cipher instance
|
|
111
|
+
const rsaCipherModule = _reactNativeNitroModules.NitroModules.createHybridObject('RsaCipher');
|
|
112
|
+
if (mode === CipherOrWrapMode.kWebCryptoCipherEncrypt) {
|
|
113
|
+
// Encrypt with public key
|
|
114
|
+
return rsaCipherModule.encrypt(key.keyObject.handle, data, hashAlgorithm, label);
|
|
115
|
+
} else {
|
|
116
|
+
// Decrypt with private key
|
|
117
|
+
return rsaCipherModule.decrypt(key.keyObject.handle, data, hashAlgorithm, label);
|
|
118
|
+
}
|
|
61
119
|
}
|
|
62
|
-
function aesCipher(
|
|
63
|
-
|
|
120
|
+
async function aesCipher(mode, key, data, algorithm) {
|
|
121
|
+
const {
|
|
122
|
+
name
|
|
123
|
+
} = algorithm;
|
|
124
|
+
switch (name) {
|
|
125
|
+
case 'AES-CTR':
|
|
126
|
+
return aesCtrCipher(mode, key, data, algorithm);
|
|
127
|
+
case 'AES-CBC':
|
|
128
|
+
return aesCbcCipher(mode, key, data, algorithm);
|
|
129
|
+
case 'AES-GCM':
|
|
130
|
+
return aesGcmCipher(mode, key, data, algorithm);
|
|
131
|
+
default:
|
|
132
|
+
throw (0, _errors.lazyDOMException)(`Unsupported AES algorithm: ${name}`, 'NotSupportedError');
|
|
133
|
+
}
|
|
64
134
|
}
|
|
65
|
-
async function
|
|
66
|
-
|
|
135
|
+
async function aesCtrCipher(mode, key, data, algorithm) {
|
|
136
|
+
// Validate counter and length
|
|
137
|
+
if (!algorithm.counter || algorithm.counter.byteLength !== 16) {
|
|
138
|
+
throw (0, _errors.lazyDOMException)('AES-CTR algorithm.counter must be 16 bytes', 'OperationError');
|
|
139
|
+
}
|
|
140
|
+
if (algorithm.length < 1 || algorithm.length > 128) {
|
|
141
|
+
throw (0, _errors.lazyDOMException)('AES-CTR algorithm.length must be between 1 and 128', 'OperationError');
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// Get cipher type based on key length
|
|
145
|
+
const keyLength = key.algorithm.length;
|
|
146
|
+
const cipherType = `aes-${keyLength}-ctr`;
|
|
147
|
+
|
|
148
|
+
// Create cipher
|
|
149
|
+
const factory = _reactNativeNitroModules.NitroModules.createHybridObject('CipherFactory');
|
|
150
|
+
const cipher = factory.createCipher({
|
|
151
|
+
isCipher: mode === CipherOrWrapMode.kWebCryptoCipherEncrypt,
|
|
152
|
+
cipherType,
|
|
153
|
+
cipherKey: (0, _conversion.bufferLikeToArrayBuffer)(key.keyObject.export()),
|
|
154
|
+
iv: (0, _conversion.bufferLikeToArrayBuffer)(algorithm.counter)
|
|
155
|
+
});
|
|
156
|
+
|
|
157
|
+
// Process data
|
|
158
|
+
const updated = cipher.update(data);
|
|
159
|
+
const final = cipher.final();
|
|
160
|
+
|
|
161
|
+
// Concatenate results
|
|
162
|
+
const result = new Uint8Array(updated.byteLength + final.byteLength);
|
|
163
|
+
result.set(new Uint8Array(updated), 0);
|
|
164
|
+
result.set(new Uint8Array(final), updated.byteLength);
|
|
165
|
+
return result.buffer;
|
|
67
166
|
}
|
|
68
|
-
function
|
|
69
|
-
|
|
167
|
+
async function aesCbcCipher(mode, key, data, algorithm) {
|
|
168
|
+
// Validate IV
|
|
169
|
+
const iv = (0, _conversion.bufferLikeToArrayBuffer)(algorithm.iv);
|
|
170
|
+
if (iv.byteLength !== 16) {
|
|
171
|
+
throw (0, _errors.lazyDOMException)('algorithm.iv must contain exactly 16 bytes', 'OperationError');
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
// Get cipher type based on key length
|
|
175
|
+
const keyLength = key.algorithm.length;
|
|
176
|
+
const cipherType = `aes-${keyLength}-cbc`;
|
|
177
|
+
|
|
178
|
+
// Create cipher
|
|
179
|
+
const factory = _reactNativeNitroModules.NitroModules.createHybridObject('CipherFactory');
|
|
180
|
+
const cipher = factory.createCipher({
|
|
181
|
+
isCipher: mode === CipherOrWrapMode.kWebCryptoCipherEncrypt,
|
|
182
|
+
cipherType,
|
|
183
|
+
cipherKey: (0, _conversion.bufferLikeToArrayBuffer)(key.keyObject.export()),
|
|
184
|
+
iv
|
|
185
|
+
});
|
|
186
|
+
|
|
187
|
+
// Process data
|
|
188
|
+
const updated = cipher.update(data);
|
|
189
|
+
const final = cipher.final();
|
|
190
|
+
|
|
191
|
+
// Concatenate results
|
|
192
|
+
const result = new Uint8Array(updated.byteLength + final.byteLength);
|
|
193
|
+
result.set(new Uint8Array(updated), 0);
|
|
194
|
+
result.set(new Uint8Array(final), updated.byteLength);
|
|
195
|
+
return result.buffer;
|
|
70
196
|
}
|
|
71
|
-
async function
|
|
72
|
-
|
|
197
|
+
async function aesGcmCipher(mode, key, data, algorithm) {
|
|
198
|
+
const {
|
|
199
|
+
tagLength = 128
|
|
200
|
+
} = algorithm;
|
|
201
|
+
|
|
202
|
+
// Validate tag length
|
|
203
|
+
const validTagLengths = [32, 64, 96, 104, 112, 120, 128];
|
|
204
|
+
if (!validTagLengths.includes(tagLength)) {
|
|
205
|
+
throw (0, _errors.lazyDOMException)(`${tagLength} is not a valid AES-GCM tag length`, 'OperationError');
|
|
206
|
+
}
|
|
207
|
+
const tagByteLength = tagLength / 8;
|
|
208
|
+
|
|
209
|
+
// Get cipher type based on key length
|
|
210
|
+
const keyLength = key.algorithm.length;
|
|
211
|
+
const cipherType = `aes-${keyLength}-gcm`;
|
|
212
|
+
|
|
213
|
+
// Create cipher
|
|
214
|
+
const factory = _reactNativeNitroModules.NitroModules.createHybridObject('CipherFactory');
|
|
215
|
+
const cipher = factory.createCipher({
|
|
216
|
+
isCipher: mode === CipherOrWrapMode.kWebCryptoCipherEncrypt,
|
|
217
|
+
cipherType,
|
|
218
|
+
cipherKey: (0, _conversion.bufferLikeToArrayBuffer)(key.keyObject.export()),
|
|
219
|
+
iv: (0, _conversion.bufferLikeToArrayBuffer)(algorithm.iv),
|
|
220
|
+
authTagLen: tagByteLength
|
|
221
|
+
});
|
|
222
|
+
let processData;
|
|
223
|
+
let authTag;
|
|
224
|
+
if (mode === CipherOrWrapMode.kWebCryptoCipherDecrypt) {
|
|
225
|
+
// For decryption, extract auth tag from end of data
|
|
226
|
+
const dataView = new Uint8Array(data);
|
|
227
|
+
if (dataView.byteLength < tagByteLength) {
|
|
228
|
+
throw (0, _errors.lazyDOMException)('The provided data is too small.', 'OperationError');
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
// Split data and tag
|
|
232
|
+
const ciphertextLength = dataView.byteLength - tagByteLength;
|
|
233
|
+
processData = dataView.slice(0, ciphertextLength).buffer;
|
|
234
|
+
authTag = dataView.slice(ciphertextLength).buffer;
|
|
235
|
+
|
|
236
|
+
// Set auth tag for verification
|
|
237
|
+
cipher.setAuthTag(authTag);
|
|
238
|
+
} else {
|
|
239
|
+
processData = data;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
// Set additional authenticated data if provided
|
|
243
|
+
if (algorithm.additionalData) {
|
|
244
|
+
cipher.setAAD((0, _conversion.bufferLikeToArrayBuffer)(algorithm.additionalData));
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
// Process data
|
|
248
|
+
const updated = cipher.update(processData);
|
|
249
|
+
const final = cipher.final();
|
|
250
|
+
if (mode === CipherOrWrapMode.kWebCryptoCipherEncrypt) {
|
|
251
|
+
// For encryption, append auth tag to result
|
|
252
|
+
const tag = cipher.getAuthTag();
|
|
253
|
+
const result = new Uint8Array(updated.byteLength + final.byteLength + tag.byteLength);
|
|
254
|
+
result.set(new Uint8Array(updated), 0);
|
|
255
|
+
result.set(new Uint8Array(final), updated.byteLength);
|
|
256
|
+
result.set(new Uint8Array(tag), updated.byteLength + final.byteLength);
|
|
257
|
+
return result.buffer;
|
|
258
|
+
} else {
|
|
259
|
+
// For decryption, just concatenate plaintext
|
|
260
|
+
const result = new Uint8Array(updated.byteLength + final.byteLength);
|
|
261
|
+
result.set(new Uint8Array(updated), 0);
|
|
262
|
+
result.set(new Uint8Array(final), updated.byteLength);
|
|
263
|
+
return result.buffer;
|
|
264
|
+
}
|
|
73
265
|
}
|
|
74
|
-
async function
|
|
75
|
-
|
|
266
|
+
async function aesGenerateKey(algorithm, extractable, keyUsages) {
|
|
267
|
+
const {
|
|
268
|
+
length
|
|
269
|
+
} = algorithm;
|
|
270
|
+
const name = algorithm.name;
|
|
271
|
+
if (!name) {
|
|
272
|
+
throw (0, _errors.lazyDOMException)('Algorithm name is required', 'OperationError');
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
// Validate key length
|
|
276
|
+
if (![128, 192, 256].includes(length)) {
|
|
277
|
+
throw (0, _errors.lazyDOMException)(`Invalid AES key length: ${length}. Must be 128, 192, or 256.`, 'OperationError');
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
// Validate usages
|
|
281
|
+
const validUsages = ['encrypt', 'decrypt', 'wrapKey', 'unwrapKey'];
|
|
282
|
+
if (hasAnyNotIn(keyUsages, validUsages)) {
|
|
283
|
+
throw (0, _errors.lazyDOMException)(`Unsupported key usage for ${name}`, 'SyntaxError');
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
// Generate random key bytes
|
|
287
|
+
const keyBytes = new Uint8Array(length / 8);
|
|
288
|
+
(0, _random.getRandomValues)(keyBytes);
|
|
289
|
+
|
|
290
|
+
// Create secret key
|
|
291
|
+
const keyObject = (0, _keys.createSecretKey)(keyBytes);
|
|
292
|
+
|
|
293
|
+
// Construct algorithm object with guaranteed name
|
|
294
|
+
const keyAlgorithm = {
|
|
295
|
+
name,
|
|
296
|
+
length
|
|
297
|
+
};
|
|
298
|
+
return new _keys.CryptoKey(keyObject, keyAlgorithm, keyUsages, extractable);
|
|
299
|
+
}
|
|
300
|
+
function rsaImportKey(format, data, algorithm, extractable, keyUsages) {
|
|
301
|
+
const {
|
|
302
|
+
name
|
|
303
|
+
} = algorithm;
|
|
304
|
+
|
|
305
|
+
// Validate usages
|
|
306
|
+
let checkSet;
|
|
307
|
+
switch (name) {
|
|
308
|
+
case 'RSASSA-PKCS1-v1_5':
|
|
309
|
+
case 'RSA-PSS':
|
|
310
|
+
checkSet = ['sign', 'verify'];
|
|
311
|
+
break;
|
|
312
|
+
case 'RSA-OAEP':
|
|
313
|
+
checkSet = ['encrypt', 'decrypt', 'wrapKey', 'unwrapKey'];
|
|
314
|
+
break;
|
|
315
|
+
default:
|
|
316
|
+
throw new Error(`Unsupported RSA algorithm: ${name}`);
|
|
317
|
+
}
|
|
318
|
+
if (hasAnyNotIn(keyUsages, checkSet)) {
|
|
319
|
+
throw new Error(`Unsupported key usage for ${name}`);
|
|
320
|
+
}
|
|
321
|
+
let keyObject;
|
|
322
|
+
if (format === 'jwk') {
|
|
323
|
+
const jwk = data;
|
|
324
|
+
|
|
325
|
+
// Validate JWK
|
|
326
|
+
if (jwk.kty !== 'RSA') {
|
|
327
|
+
throw new Error('Invalid JWK format for RSA key');
|
|
328
|
+
}
|
|
329
|
+
const handle = _reactNativeNitroModules.NitroModules.createHybridObject('KeyObjectHandle');
|
|
330
|
+
const keyType = handle.initJwk(jwk, undefined);
|
|
331
|
+
if (keyType === undefined) {
|
|
332
|
+
throw new Error('Failed to import RSA JWK');
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
// Create the appropriate KeyObject based on type
|
|
336
|
+
if (keyType === 1) {
|
|
337
|
+
keyObject = new _keys.PublicKeyObject(handle);
|
|
338
|
+
} else if (keyType === 2) {
|
|
339
|
+
keyObject = new _keys.PrivateKeyObject(handle);
|
|
340
|
+
} else {
|
|
341
|
+
throw new Error('Unexpected key type from RSA JWK import');
|
|
342
|
+
}
|
|
343
|
+
} else if (format === 'spki') {
|
|
344
|
+
const keyData = (0, _conversion.bufferLikeToArrayBuffer)(data);
|
|
345
|
+
keyObject = _keys.KeyObject.createKeyObject('public', keyData, 'der', 'spki');
|
|
346
|
+
} else if (format === 'pkcs8') {
|
|
347
|
+
const keyData = (0, _conversion.bufferLikeToArrayBuffer)(data);
|
|
348
|
+
keyObject = _keys.KeyObject.createKeyObject('private', keyData, 'der', 'pkcs8');
|
|
349
|
+
} else {
|
|
350
|
+
throw new Error(`Unsupported format for RSA import: ${format}`);
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
// Get the modulus length from the key and add it to the algorithm
|
|
354
|
+
const keyDetails = keyObject.asymmetricKeyDetails;
|
|
355
|
+
|
|
356
|
+
// Convert publicExponent number to big-endian byte array
|
|
357
|
+
let publicExponentBytes;
|
|
358
|
+
if (keyDetails?.publicExponent) {
|
|
359
|
+
const exp = keyDetails.publicExponent;
|
|
360
|
+
// Convert number to big-endian bytes
|
|
361
|
+
const bytes = [];
|
|
362
|
+
let value = exp;
|
|
363
|
+
while (value > 0) {
|
|
364
|
+
bytes.unshift(value & 0xff);
|
|
365
|
+
value = Math.floor(value / 256);
|
|
366
|
+
}
|
|
367
|
+
publicExponentBytes = new Uint8Array(bytes.length > 0 ? bytes : [0]);
|
|
368
|
+
}
|
|
369
|
+
const algorithmWithDetails = {
|
|
370
|
+
...algorithm,
|
|
371
|
+
modulusLength: keyDetails?.modulusLength,
|
|
372
|
+
publicExponent: publicExponentBytes
|
|
373
|
+
};
|
|
374
|
+
return new _keys.CryptoKey(keyObject, algorithmWithDetails, keyUsages, extractable);
|
|
375
|
+
}
|
|
376
|
+
async function hmacImportKey(algorithm, format, data, extractable, keyUsages) {
|
|
377
|
+
// Validate usages
|
|
378
|
+
if (hasAnyNotIn(keyUsages, ['sign', 'verify'])) {
|
|
379
|
+
throw new Error('Unsupported key usage for an HMAC key');
|
|
380
|
+
}
|
|
381
|
+
let keyObject;
|
|
382
|
+
if (format === 'jwk') {
|
|
383
|
+
const jwk = data;
|
|
384
|
+
|
|
385
|
+
// Validate JWK
|
|
386
|
+
if (!jwk || typeof jwk !== 'object') {
|
|
387
|
+
throw new Error('Invalid keyData');
|
|
388
|
+
}
|
|
389
|
+
if (jwk.kty !== 'oct') {
|
|
390
|
+
throw new Error('Invalid JWK format for HMAC key');
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
// Validate key length if specified
|
|
394
|
+
if (algorithm.length !== undefined) {
|
|
395
|
+
if (!jwk.k) {
|
|
396
|
+
throw new Error('JWK missing key data');
|
|
397
|
+
}
|
|
398
|
+
// Decode to check length
|
|
399
|
+
const decoded = _safeBuffer.Buffer.from(jwk.k, 'base64');
|
|
400
|
+
const keyBitLength = decoded.length * 8;
|
|
401
|
+
if (algorithm.length === 0) {
|
|
402
|
+
throw new Error('Zero-length key is not supported');
|
|
403
|
+
}
|
|
404
|
+
if (algorithm.length !== keyBitLength) {
|
|
405
|
+
throw new Error('Invalid key length');
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
const handle = _reactNativeNitroModules.NitroModules.createHybridObject('KeyObjectHandle');
|
|
409
|
+
const keyType = handle.initJwk(jwk, undefined);
|
|
410
|
+
if (keyType === undefined || keyType !== 0) {
|
|
411
|
+
throw new Error('Failed to import HMAC JWK');
|
|
412
|
+
}
|
|
413
|
+
keyObject = new _keys.SecretKeyObject(handle);
|
|
414
|
+
} else if (format === 'raw') {
|
|
415
|
+
keyObject = (0, _keys.createSecretKey)(data);
|
|
416
|
+
} else {
|
|
417
|
+
throw new Error(`Unable to import HMAC key with format ${format}`);
|
|
418
|
+
}
|
|
419
|
+
return new _keys.CryptoKey(keyObject, {
|
|
420
|
+
...algorithm,
|
|
421
|
+
name: 'HMAC'
|
|
422
|
+
}, keyUsages, extractable);
|
|
423
|
+
}
|
|
424
|
+
async function aesImportKey(algorithm, format, data, extractable, keyUsages) {
|
|
425
|
+
const {
|
|
426
|
+
name,
|
|
427
|
+
length
|
|
428
|
+
} = algorithm;
|
|
429
|
+
|
|
430
|
+
// Validate usages
|
|
431
|
+
const validUsages = ['encrypt', 'decrypt', 'wrapKey', 'unwrapKey'];
|
|
432
|
+
if (hasAnyNotIn(keyUsages, validUsages)) {
|
|
433
|
+
throw new Error(`Unsupported key usage for ${name}`);
|
|
434
|
+
}
|
|
435
|
+
let keyObject;
|
|
436
|
+
let actualLength;
|
|
437
|
+
if (format === 'jwk') {
|
|
438
|
+
const jwk = data;
|
|
439
|
+
|
|
440
|
+
// Validate JWK
|
|
441
|
+
if (jwk.kty !== 'oct') {
|
|
442
|
+
throw new Error('Invalid JWK format for AES key');
|
|
443
|
+
}
|
|
444
|
+
const handle = _reactNativeNitroModules.NitroModules.createHybridObject('KeyObjectHandle');
|
|
445
|
+
const keyType = handle.initJwk(jwk, undefined);
|
|
446
|
+
if (keyType === undefined || keyType !== 0) {
|
|
447
|
+
throw new Error('Failed to import AES JWK');
|
|
448
|
+
}
|
|
449
|
+
keyObject = new _keys.SecretKeyObject(handle);
|
|
450
|
+
|
|
451
|
+
// Get actual key length from imported key
|
|
452
|
+
const exported = keyObject.export();
|
|
453
|
+
actualLength = exported.byteLength * 8;
|
|
454
|
+
} else if (format === 'raw') {
|
|
455
|
+
const keyData = (0, _conversion.bufferLikeToArrayBuffer)(data);
|
|
456
|
+
actualLength = keyData.byteLength * 8;
|
|
457
|
+
|
|
458
|
+
// Validate key length
|
|
459
|
+
if (![128, 192, 256].includes(actualLength)) {
|
|
460
|
+
throw new Error('Invalid AES key length');
|
|
461
|
+
}
|
|
462
|
+
keyObject = (0, _keys.createSecretKey)(keyData);
|
|
463
|
+
} else {
|
|
464
|
+
throw new Error(`Unsupported format for AES import: ${format}`);
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
// Validate length if specified
|
|
468
|
+
if (length !== undefined && length !== actualLength) {
|
|
469
|
+
throw new Error(`Key length mismatch: expected ${length}, got ${actualLength}`);
|
|
470
|
+
}
|
|
471
|
+
return new _keys.CryptoKey(keyObject, {
|
|
472
|
+
name,
|
|
473
|
+
length: actualLength
|
|
474
|
+
}, keyUsages, extractable);
|
|
76
475
|
}
|
|
77
476
|
const exportKeySpki = async key => {
|
|
78
477
|
switch (key.algorithm.name) {
|
|
@@ -134,7 +533,11 @@ const exportKeyRaw = key => {
|
|
|
134
533
|
case 'AES-KW':
|
|
135
534
|
// Fall through
|
|
136
535
|
case 'HMAC':
|
|
137
|
-
|
|
536
|
+
{
|
|
537
|
+
const exported = key.keyObject.export();
|
|
538
|
+
// Convert Buffer to ArrayBuffer
|
|
539
|
+
return exported.buffer.slice(exported.byteOffset, exported.byteOffset + exported.byteLength);
|
|
540
|
+
}
|
|
138
541
|
}
|
|
139
542
|
throw (0, _errors.lazyDOMException)(`Unable to export a raw ${key.algorithm.name} ${key.type} key`, 'InvalidAccessError');
|
|
140
543
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_safeBuffer","require","_keys","_conversion","_errors","_hashnames","_validation","_hash","_pbkdf","_ec","_rsa","KWebCryptoKeyFormat","CipherOrWrapMode","hasAnyNotIn","usages","allowed","some","usage","includes","normalizeAlgorithm","algorithm","_operation","name","getAlgorithmName","length","ecExportKey","_key","_format","Error","rsaExportKey","rsaCipher","_mode","_data","_algorithm","aesCipher","aesGenerateKey","_extractable","_keyUsages","rsaImportKey","hmacImportKey","aesImportKey","exportKeySpki","key","type","kWebCryptoKeyFormatSPKI","exportKeyPkcs8","kWebCryptoKeyFormatPKCS8","exportKeyRaw","kWebCryptoKeyFormatRaw","keyObject","export","lazyDOMException","exportKeyJWK","jwk","handle","exportJwk","key_ops","ext","extractable","alg","normalizeHashName","hash","HashContext","JwkRsa","JwkRsaPss","JwkRsaOaep","JwkHmac","crv","namedCurve","undefined","importGenericSecretKey","format","keyData","keyUsages","checkLength","SBuffer","isBuffer","byteLength","createSecretKey","CryptoKey","checkCryptoKeyPairUsages","pair","privateKey","isCryptoKeyPair","result","signVerify","data","signature","ecdsaSignVerify","cipherOrWrap","mode","op","validateMaxBufferLength","Subtle","decrypt","normalizedAlgorithm","kWebCryptoCipherDecrypt","bufferLikeToArrayBuffer","digest","asyncDigest","deriveBits","baseKey","pbkdf2DeriveBits","encrypt","kWebCryptoCipherEncrypt","exportKey","generateKey","rsa_generateKeyPair","ec_generateKeyPair","importKey","ecImportKey","sign","verify","exports","subtle"],"sourceRoot":"../../src","sources":["subtle.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_safeBuffer","require","_keys","_conversion","_errors","_hashnames","_validation","_hash","_reactNativeNitroModules","_pbkdf","_ec","_rsa","_random","KWebCryptoKeyFormat","CipherOrWrapMode","hasAnyNotIn","usages","allowed","some","usage","includes","normalizeAlgorithm","algorithm","_operation","name","getAlgorithmName","length","ecExportKey","key","format","keyObject","kWebCryptoKeyFormatSPKI","exported","export","type","bufferLikeToArrayBuffer","kWebCryptoKeyFormatPKCS8","Error","rsaExportKey","rsaCipher","mode","data","rsaParams","expectedType","kWebCryptoCipherEncrypt","lazyDOMException","hashAlgorithm","normalizeHashName","hash","label","undefined","rsaCipherModule","NitroModules","createHybridObject","encrypt","handle","decrypt","aesCipher","aesCtrCipher","aesCbcCipher","aesGcmCipher","counter","byteLength","keyLength","cipherType","factory","cipher","createCipher","isCipher","cipherKey","iv","updated","update","final","result","Uint8Array","set","buffer","tagLength","validTagLengths","tagByteLength","authTagLen","processData","authTag","kWebCryptoCipherDecrypt","dataView","ciphertextLength","slice","setAuthTag","additionalData","setAAD","tag","getAuthTag","aesGenerateKey","extractable","keyUsages","validUsages","keyBytes","getRandomValues","createSecretKey","keyAlgorithm","CryptoKey","rsaImportKey","checkSet","jwk","kty","keyType","initJwk","PublicKeyObject","PrivateKeyObject","keyData","KeyObject","createKeyObject","keyDetails","asymmetricKeyDetails","publicExponentBytes","publicExponent","exp","bytes","value","unshift","Math","floor","algorithmWithDetails","modulusLength","hmacImportKey","k","decoded","SBuffer","from","keyBitLength","SecretKeyObject","aesImportKey","actualLength","exportKeySpki","exportKeyPkcs8","exportKeyRaw","kWebCryptoKeyFormatRaw","byteOffset","exportKeyJWK","exportJwk","key_ops","ext","alg","HashContext","JwkRsa","JwkRsaPss","JwkRsaOaep","JwkHmac","crv","namedCurve","importGenericSecretKey","checkLength","isBuffer","checkCryptoKeyPairUsages","pair","privateKey","isCryptoKeyPair","signVerify","signature","ecdsaSignVerify","cipherOrWrap","op","validateMaxBufferLength","Subtle","normalizedAlgorithm","digest","asyncDigest","deriveBits","baseKey","pbkdf2DeriveBits","exportKey","generateKey","rsa_generateKeyPair","ec_generateKeyPair","importKey","ecImportKey","sign","verify","exports","subtle"],"sourceRoot":"../../src","sources":["subtle.ts"],"mappings":";;;;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AAiBA,IAAAC,KAAA,GAAAD,OAAA;AAQA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AAEA,IAAAO,wBAAA,GAAAP,OAAA;AAIA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,GAAA,GAAAT,OAAA;AACA,IAAAU,IAAA,GAAAV,OAAA;AACA,IAAAW,OAAA,GAAAX,OAAA;AAvCA;AAwCA;AACA;AACA;AACA;AACA;AAEA;AAAA,IAEKY,mBAAmB,0BAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAnBA,mBAAmB,CAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA,EAAnBA,mBAAmB;AAAA,IAMnBC,gBAAgB,0BAAhBA,gBAAgB;EAAhBA,gBAAgB,CAAhBA,gBAAgB;EAAhBA,gBAAgB,CAAhBA,gBAAgB;EAAA,OAAhBA,gBAAgB;AAAA,EAAhBA,gBAAgB,SAKrB;AACA,SAASC,WAAWA,CAACC,MAAkB,EAAEC,OAAmB,EAAW;EACrE,OAAOD,MAAM,CAACE,IAAI,CAACC,KAAK,IAAI,CAACF,OAAO,CAACG,QAAQ,CAACD,KAAK,CAAC,CAAC;AACvD;AAEA,SAASE,kBAAkBA,CACzBC,SAAyC,EACzCC,UAAqB,EACJ;EACjB,IAAI,OAAOD,SAAS,KAAK,QAAQ,EAAE;IACjC,OAAO;MAAEE,IAAI,EAAEF;IAAU,CAAC;EAC5B;EACA,OAAOA,SAAS;AAClB;AAEA,SAASG,gBAAgBA,CAACD,IAAY,EAAEE,MAAc,EAAU;EAC9D,OAAO,GAAGF,IAAI,GAAGE,MAAM,EAAE;AAC3B;;AAEA;AACA,SAASC,WAAWA,CAACC,GAAc,EAAEC,MAA2B,EAAe;EAC7E,MAAMC,SAAS,GAAGF,GAAG,CAACE,SAAS;EAE/B,IAAID,MAAM,KAAKhB,mBAAmB,CAACkB,uBAAuB,EAAE;IAC1D;IACA,MAAMC,QAAQ,GAAGF,SAAS,CAACG,MAAM,CAAC;MAAEJ,MAAM,EAAE,KAAK;MAAEK,IAAI,EAAE;IAAO,CAAC,CAAC;IAClE,OAAO,IAAAC,mCAAuB,EAACH,QAAQ,CAAC;EAC1C,CAAC,MAAM,IAAIH,MAAM,KAAKhB,mBAAmB,CAACuB,wBAAwB,EAAE;IAClE;IACA,MAAMJ,QAAQ,GAAGF,SAAS,CAACG,MAAM,CAAC;MAAEJ,MAAM,EAAE,KAAK;MAAEK,IAAI,EAAE;IAAQ,CAAC,CAAC;IACnE,OAAO,IAAAC,mCAAuB,EAACH,QAAQ,CAAC;EAC1C,CAAC,MAAM;IACL,MAAM,IAAIK,KAAK,CAAC,iCAAiCR,MAAM,EAAE,CAAC;EAC5D;AACF;AAEA,SAASS,YAAYA,CACnBV,GAAc,EACdC,MAA2B,EACd;EACb,MAAMC,SAAS,GAAGF,GAAG,CAACE,SAAS;EAE/B,IAAID,MAAM,KAAKhB,mBAAmB,CAACkB,uBAAuB,EAAE;IAC1D;IACA,MAAMC,QAAQ,GAAGF,SAAS,CAACG,MAAM,CAAC;MAAEJ,MAAM,EAAE,KAAK;MAAEK,IAAI,EAAE;IAAO,CAAC,CAAC;IAClE,OAAO,IAAAC,mCAAuB,EAACH,QAAQ,CAAC;EAC1C,CAAC,MAAM,IAAIH,MAAM,KAAKhB,mBAAmB,CAACuB,wBAAwB,EAAE;IAClE;IACA,MAAMJ,QAAQ,GAAGF,SAAS,CAACG,MAAM,CAAC;MAAEJ,MAAM,EAAE,KAAK;MAAEK,IAAI,EAAE;IAAQ,CAAC,CAAC;IACnE,OAAO,IAAAC,mCAAuB,EAACH,QAAQ,CAAC;EAC1C,CAAC,MAAM;IACL,MAAM,IAAIK,KAAK,CAAC,kCAAkCR,MAAM,EAAE,CAAC;EAC7D;AACF;AAEA,eAAeU,SAASA,CACtBC,IAAsB,EACtBZ,GAAc,EACda,IAAiB,EACjBnB,SAA+B,EACT;EACtB,MAAMoB,SAAS,GAAGpB,SAA0B;;EAE5C;EACA,MAAMqB,YAAY,GAChBH,IAAI,KAAK1B,gBAAgB,CAAC8B,uBAAuB,GAAG,QAAQ,GAAG,SAAS;EAC1E,IAAIhB,GAAG,CAACM,IAAI,KAAKS,YAAY,EAAE;IAC7B,MAAM,IAAAE,wBAAgB,EACpB,2DAA2D,EAC3D,oBACF,CAAC;EACH;;EAEA;EACA,MAAMC,aAAa,GAAG,IAAAC,4BAAiB,EAACnB,GAAG,CAACN,SAAS,CAAC0B,IAAI,CAAC;;EAE3D;EACA,MAAMC,KAAK,GAAGP,SAAS,CAACO,KAAK,GACzB,IAAAd,mCAAuB,EAACO,SAAS,CAACO,KAAK,CAAC,GACxCC,SAAS;;EAEb;EACA,MAAMC,eAAe,GACnBC,qCAAY,CAACC,kBAAkB,CAAY,WAAW,CAAC;EAEzD,IAAIb,IAAI,KAAK1B,gBAAgB,CAAC8B,uBAAuB,EAAE;IACrD;IACA,OAAOO,eAAe,CAACG,OAAO,CAC5B1B,GAAG,CAACE,SAAS,CAACyB,MAAM,EACpBd,IAAI,EACJK,aAAa,EACbG,KACF,CAAC;EACH,CAAC,MAAM;IACL;IACA,OAAOE,eAAe,CAACK,OAAO,CAC5B5B,GAAG,CAACE,SAAS,CAACyB,MAAM,EACpBd,IAAI,EACJK,aAAa,EACbG,KACF,CAAC;EACH;AACF;AAEA,eAAeQ,SAASA,CACtBjB,IAAsB,EACtBZ,GAAc,EACda,IAAiB,EACjBnB,SAA+B,EACT;EACtB,MAAM;IAAEE;EAAK,CAAC,GAAGF,SAAS;EAE1B,QAAQE,IAAI;IACV,KAAK,SAAS;MACZ,OAAOkC,YAAY,CAAClB,IAAI,EAAEZ,GAAG,EAAEa,IAAI,EAAEnB,SAAyB,CAAC;IACjE,KAAK,SAAS;MACZ,OAAOqC,YAAY,CAACnB,IAAI,EAAEZ,GAAG,EAAEa,IAAI,EAAEnB,SAAyB,CAAC;IACjE,KAAK,SAAS;MACZ,OAAOsC,YAAY,CAACpB,IAAI,EAAEZ,GAAG,EAAEa,IAAI,EAAEnB,SAAyB,CAAC;IACjE;MACE,MAAM,IAAAuB,wBAAgB,EACpB,8BAA8BrB,IAAI,EAAE,EACpC,mBACF,CAAC;EACL;AACF;AAEA,eAAekC,YAAYA,CACzBlB,IAAsB,EACtBZ,GAAc,EACda,IAAiB,EACjBnB,SAAuB,EACD;EACtB;EACA,IAAI,CAACA,SAAS,CAACuC,OAAO,IAAIvC,SAAS,CAACuC,OAAO,CAACC,UAAU,KAAK,EAAE,EAAE;IAC7D,MAAM,IAAAjB,wBAAgB,EACpB,4CAA4C,EAC5C,gBACF,CAAC;EACH;EAEA,IAAIvB,SAAS,CAACI,MAAM,GAAG,CAAC,IAAIJ,SAAS,CAACI,MAAM,GAAG,GAAG,EAAE;IAClD,MAAM,IAAAmB,wBAAgB,EACpB,oDAAoD,EACpD,gBACF,CAAC;EACH;;EAEA;EACA,MAAMkB,SAAS,GAAInC,GAAG,CAACN,SAAS,CAAwBI,MAAM;EAC9D,MAAMsC,UAAU,GAAG,OAAOD,SAAS,MAAM;;EAEzC;EACA,MAAME,OAAO,GACXb,qCAAY,CAACC,kBAAkB,CAAgB,eAAe,CAAC;EACjE,MAAMa,MAAM,GAAGD,OAAO,CAACE,YAAY,CAAC;IAClCC,QAAQ,EAAE5B,IAAI,KAAK1B,gBAAgB,CAAC8B,uBAAuB;IAC3DoB,UAAU;IACVK,SAAS,EAAE,IAAAlC,mCAAuB,EAACP,GAAG,CAACE,SAAS,CAACG,MAAM,CAAC,CAAC,CAAC;IAC1DqC,EAAE,EAAE,IAAAnC,mCAAuB,EAACb,SAAS,CAACuC,OAAO;EAC/C,CAAC,CAAC;;EAEF;EACA,MAAMU,OAAO,GAAGL,MAAM,CAACM,MAAM,CAAC/B,IAAI,CAAC;EACnC,MAAMgC,KAAK,GAAGP,MAAM,CAACO,KAAK,CAAC,CAAC;;EAE5B;EACA,MAAMC,MAAM,GAAG,IAAIC,UAAU,CAACJ,OAAO,CAACT,UAAU,GAAGW,KAAK,CAACX,UAAU,CAAC;EACpEY,MAAM,CAACE,GAAG,CAAC,IAAID,UAAU,CAACJ,OAAO,CAAC,EAAE,CAAC,CAAC;EACtCG,MAAM,CAACE,GAAG,CAAC,IAAID,UAAU,CAACF,KAAK,CAAC,EAAEF,OAAO,CAACT,UAAU,CAAC;EAErD,OAAOY,MAAM,CAACG,MAAM;AACtB;AAEA,eAAelB,YAAYA,CACzBnB,IAAsB,EACtBZ,GAAc,EACda,IAAiB,EACjBnB,SAAuB,EACD;EACtB;EACA,MAAMgD,EAAE,GAAG,IAAAnC,mCAAuB,EAACb,SAAS,CAACgD,EAAE,CAAC;EAChD,IAAIA,EAAE,CAACR,UAAU,KAAK,EAAE,EAAE;IACxB,MAAM,IAAAjB,wBAAgB,EACpB,4CAA4C,EAC5C,gBACF,CAAC;EACH;;EAEA;EACA,MAAMkB,SAAS,GAAInC,GAAG,CAACN,SAAS,CAAwBI,MAAM;EAC9D,MAAMsC,UAAU,GAAG,OAAOD,SAAS,MAAM;;EAEzC;EACA,MAAME,OAAO,GACXb,qCAAY,CAACC,kBAAkB,CAAgB,eAAe,CAAC;EACjE,MAAMa,MAAM,GAAGD,OAAO,CAACE,YAAY,CAAC;IAClCC,QAAQ,EAAE5B,IAAI,KAAK1B,gBAAgB,CAAC8B,uBAAuB;IAC3DoB,UAAU;IACVK,SAAS,EAAE,IAAAlC,mCAAuB,EAACP,GAAG,CAACE,SAAS,CAACG,MAAM,CAAC,CAAC,CAAC;IAC1DqC;EACF,CAAC,CAAC;;EAEF;EACA,MAAMC,OAAO,GAAGL,MAAM,CAACM,MAAM,CAAC/B,IAAI,CAAC;EACnC,MAAMgC,KAAK,GAAGP,MAAM,CAACO,KAAK,CAAC,CAAC;;EAE5B;EACA,MAAMC,MAAM,GAAG,IAAIC,UAAU,CAACJ,OAAO,CAACT,UAAU,GAAGW,KAAK,CAACX,UAAU,CAAC;EACpEY,MAAM,CAACE,GAAG,CAAC,IAAID,UAAU,CAACJ,OAAO,CAAC,EAAE,CAAC,CAAC;EACtCG,MAAM,CAACE,GAAG,CAAC,IAAID,UAAU,CAACF,KAAK,CAAC,EAAEF,OAAO,CAACT,UAAU,CAAC;EAErD,OAAOY,MAAM,CAACG,MAAM;AACtB;AAEA,eAAejB,YAAYA,CACzBpB,IAAsB,EACtBZ,GAAc,EACda,IAAiB,EACjBnB,SAAuB,EACD;EACtB,MAAM;IAAEwD,SAAS,GAAG;EAAI,CAAC,GAAGxD,SAAS;;EAErC;EACA,MAAMyD,eAAe,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;EACxD,IAAI,CAACA,eAAe,CAAC3D,QAAQ,CAAC0D,SAAS,CAAC,EAAE;IACxC,MAAM,IAAAjC,wBAAgB,EACpB,GAAGiC,SAAS,oCAAoC,EAChD,gBACF,CAAC;EACH;EAEA,MAAME,aAAa,GAAGF,SAAS,GAAG,CAAC;;EAEnC;EACA,MAAMf,SAAS,GAAInC,GAAG,CAACN,SAAS,CAAwBI,MAAM;EAC9D,MAAMsC,UAAU,GAAG,OAAOD,SAAS,MAAM;;EAEzC;EACA,MAAME,OAAO,GACXb,qCAAY,CAACC,kBAAkB,CAAgB,eAAe,CAAC;EACjE,MAAMa,MAAM,GAAGD,OAAO,CAACE,YAAY,CAAC;IAClCC,QAAQ,EAAE5B,IAAI,KAAK1B,gBAAgB,CAAC8B,uBAAuB;IAC3DoB,UAAU;IACVK,SAAS,EAAE,IAAAlC,mCAAuB,EAACP,GAAG,CAACE,SAAS,CAACG,MAAM,CAAC,CAAC,CAAC;IAC1DqC,EAAE,EAAE,IAAAnC,mCAAuB,EAACb,SAAS,CAACgD,EAAE,CAAC;IACzCW,UAAU,EAAED;EACd,CAAC,CAAC;EAEF,IAAIE,WAAwB;EAC5B,IAAIC,OAAgC;EAEpC,IAAI3C,IAAI,KAAK1B,gBAAgB,CAACsE,uBAAuB,EAAE;IACrD;IACA,MAAMC,QAAQ,GAAG,IAAIV,UAAU,CAAClC,IAAI,CAAC;IAErC,IAAI4C,QAAQ,CAACvB,UAAU,GAAGkB,aAAa,EAAE;MACvC,MAAM,IAAAnC,wBAAgB,EACpB,iCAAiC,EACjC,gBACF,CAAC;IACH;;IAEA;IACA,MAAMyC,gBAAgB,GAAGD,QAAQ,CAACvB,UAAU,GAAGkB,aAAa;IAC5DE,WAAW,GAAGG,QAAQ,CAACE,KAAK,CAAC,CAAC,EAAED,gBAAgB,CAAC,CAACT,MAAM;IACxDM,OAAO,GAAGE,QAAQ,CAACE,KAAK,CAACD,gBAAgB,CAAC,CAACT,MAAM;;IAEjD;IACAX,MAAM,CAACsB,UAAU,CAACL,OAAO,CAAC;EAC5B,CAAC,MAAM;IACLD,WAAW,GAAGzC,IAAI;EACpB;;EAEA;EACA,IAAInB,SAAS,CAACmE,cAAc,EAAE;IAC5BvB,MAAM,CAACwB,MAAM,CAAC,IAAAvD,mCAAuB,EAACb,SAAS,CAACmE,cAAc,CAAC,CAAC;EAClE;;EAEA;EACA,MAAMlB,OAAO,GAAGL,MAAM,CAACM,MAAM,CAACU,WAAW,CAAC;EAC1C,MAAMT,KAAK,GAAGP,MAAM,CAACO,KAAK,CAAC,CAAC;EAE5B,IAAIjC,IAAI,KAAK1B,gBAAgB,CAAC8B,uBAAuB,EAAE;IACrD;IACA,MAAM+C,GAAG,GAAGzB,MAAM,CAAC0B,UAAU,CAAC,CAAC;IAC/B,MAAMlB,MAAM,GAAG,IAAIC,UAAU,CAC3BJ,OAAO,CAACT,UAAU,GAAGW,KAAK,CAACX,UAAU,GAAG6B,GAAG,CAAC7B,UAC9C,CAAC;IACDY,MAAM,CAACE,GAAG,CAAC,IAAID,UAAU,CAACJ,OAAO,CAAC,EAAE,CAAC,CAAC;IACtCG,MAAM,CAACE,GAAG,CAAC,IAAID,UAAU,CAACF,KAAK,CAAC,EAAEF,OAAO,CAACT,UAAU,CAAC;IACrDY,MAAM,CAACE,GAAG,CAAC,IAAID,UAAU,CAACgB,GAAG,CAAC,EAAEpB,OAAO,CAACT,UAAU,GAAGW,KAAK,CAACX,UAAU,CAAC;IACtE,OAAOY,MAAM,CAACG,MAAM;EACtB,CAAC,MAAM;IACL;IACA,MAAMH,MAAM,GAAG,IAAIC,UAAU,CAACJ,OAAO,CAACT,UAAU,GAAGW,KAAK,CAACX,UAAU,CAAC;IACpEY,MAAM,CAACE,GAAG,CAAC,IAAID,UAAU,CAACJ,OAAO,CAAC,EAAE,CAAC,CAAC;IACtCG,MAAM,CAACE,GAAG,CAAC,IAAID,UAAU,CAACF,KAAK,CAAC,EAAEF,OAAO,CAACT,UAAU,CAAC;IACrD,OAAOY,MAAM,CAACG,MAAM;EACtB;AACF;AAEA,eAAegB,cAAcA,CAC3BvE,SAA0B,EAC1BwE,WAAoB,EACpBC,SAAqB,EACD;EACpB,MAAM;IAAErE;EAAO,CAAC,GAAGJ,SAAS;EAC5B,MAAME,IAAI,GAAGF,SAAS,CAACE,IAAI;EAE3B,IAAI,CAACA,IAAI,EAAE;IACT,MAAM,IAAAqB,wBAAgB,EAAC,4BAA4B,EAAE,gBAAgB,CAAC;EACxE;;EAEA;EACA,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAACzB,QAAQ,CAACM,MAAM,CAAC,EAAE;IACrC,MAAM,IAAAmB,wBAAgB,EACpB,2BAA2BnB,MAAM,6BAA6B,EAC9D,gBACF,CAAC;EACH;;EAEA;EACA,MAAMsE,WAAuB,GAAG,CAC9B,SAAS,EACT,SAAS,EACT,SAAS,EACT,WAAW,CACZ;EACD,IAAIjF,WAAW,CAACgF,SAAS,EAAEC,WAAW,CAAC,EAAE;IACvC,MAAM,IAAAnD,wBAAgB,EAAC,6BAA6BrB,IAAI,EAAE,EAAE,aAAa,CAAC;EAC5E;;EAEA;EACA,MAAMyE,QAAQ,GAAG,IAAItB,UAAU,CAACjD,MAAM,GAAG,CAAC,CAAC;EAC3C,IAAAwE,uBAAe,EAACD,QAAQ,CAAC;;EAEzB;EACA,MAAMnE,SAAS,GAAG,IAAAqE,qBAAe,EAACF,QAAQ,CAAC;;EAE3C;EACA,MAAMG,YAA6B,GAAG;IAAE5E,IAAI;IAAEE;EAAO,CAAC;EAEtD,OAAO,IAAI2E,eAAS,CAACvE,SAAS,EAAEsE,YAAY,EAAEL,SAAS,EAAED,WAAW,CAAC;AACvE;AAEA,SAASQ,YAAYA,CACnBzE,MAAoB,EACpBY,IAAsB,EACtBnB,SAA0B,EAC1BwE,WAAoB,EACpBC,SAAqB,EACV;EACX,MAAM;IAAEvE;EAAK,CAAC,GAAGF,SAAS;;EAE1B;EACA,IAAIiF,QAAoB;EACxB,QAAQ/E,IAAI;IACV,KAAK,mBAAmB;IACxB,KAAK,SAAS;MACZ+E,QAAQ,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC;MAC7B;IACF,KAAK,UAAU;MACbA,QAAQ,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC;MACzD;IACF;MACE,MAAM,IAAIlE,KAAK,CAAC,8BAA8Bb,IAAI,EAAE,CAAC;EACzD;EAEA,IAAIT,WAAW,CAACgF,SAAS,EAAEQ,QAAQ,CAAC,EAAE;IACpC,MAAM,IAAIlE,KAAK,CAAC,6BAA6Bb,IAAI,EAAE,CAAC;EACtD;EAEA,IAAIM,SAAoB;EAExB,IAAID,MAAM,KAAK,KAAK,EAAE;IACpB,MAAM2E,GAAG,GAAG/D,IAAW;;IAEvB;IACA,IAAI+D,GAAG,CAACC,GAAG,KAAK,KAAK,EAAE;MACrB,MAAM,IAAIpE,KAAK,CAAC,gCAAgC,CAAC;IACnD;IAEA,MAAMkB,MAAM,GACVH,qCAAY,CAACC,kBAAkB,CAAkB,iBAAiB,CAAC;IACrE,MAAMqD,OAAO,GAAGnD,MAAM,CAACoD,OAAO,CAACH,GAAG,EAAEtD,SAAS,CAAC;IAE9C,IAAIwD,OAAO,KAAKxD,SAAS,EAAE;MACzB,MAAM,IAAIb,KAAK,CAAC,0BAA0B,CAAC;IAC7C;;IAEA;IACA,IAAIqE,OAAO,KAAK,CAAC,EAAE;MACjB5E,SAAS,GAAG,IAAI8E,qBAAe,CAACrD,MAAM,CAAC;IACzC,CAAC,MAAM,IAAImD,OAAO,KAAK,CAAC,EAAE;MACxB5E,SAAS,GAAG,IAAI+E,sBAAgB,CAACtD,MAAM,CAAC;IAC1C,CAAC,MAAM;MACL,MAAM,IAAIlB,KAAK,CAAC,yCAAyC,CAAC;IAC5D;EACF,CAAC,MAAM,IAAIR,MAAM,KAAK,MAAM,EAAE;IAC5B,MAAMiF,OAAO,GAAG,IAAA3E,mCAAuB,EAACM,IAAkB,CAAC;IAC3DX,SAAS,GAAGiF,eAAS,CAACC,eAAe,CAAC,QAAQ,EAAEF,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC;EACzE,CAAC,MAAM,IAAIjF,MAAM,KAAK,OAAO,EAAE;IAC7B,MAAMiF,OAAO,GAAG,IAAA3E,mCAAuB,EAACM,IAAkB,CAAC;IAC3DX,SAAS,GAAGiF,eAAS,CAACC,eAAe,CAAC,SAAS,EAAEF,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC;EAC3E,CAAC,MAAM;IACL,MAAM,IAAIzE,KAAK,CAAC,sCAAsCR,MAAM,EAAE,CAAC;EACjE;;EAEA;EACA,MAAMoF,UAAU,GAAInF,SAAS,CAC1BoF,oBAAoB;;EAEvB;EACA,IAAIC,mBAA2C;EAC/C,IAAIF,UAAU,EAAEG,cAAc,EAAE;IAC9B,MAAMC,GAAG,GAAGJ,UAAU,CAACG,cAAc;IACrC;IACA,MAAME,KAAe,GAAG,EAAE;IAC1B,IAAIC,KAAK,GAAGF,GAAG;IACf,OAAOE,KAAK,GAAG,CAAC,EAAE;MAChBD,KAAK,CAACE,OAAO,CAACD,KAAK,GAAG,IAAI,CAAC;MAC3BA,KAAK,GAAGE,IAAI,CAACC,KAAK,CAACH,KAAK,GAAG,GAAG,CAAC;IACjC;IACAJ,mBAAmB,GAAG,IAAIxC,UAAU,CAAC2C,KAAK,CAAC5F,MAAM,GAAG,CAAC,GAAG4F,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;EACtE;EAEA,MAAMK,oBAAoB,GAAG;IAC3B,GAAGrG,SAAS;IACZsG,aAAa,EAAEX,UAAU,EAAEW,aAAa;IACxCR,cAAc,EAAED;EAClB,CAAC;EAED,OAAO,IAAId,eAAS,CAACvE,SAAS,EAAE6F,oBAAoB,EAAE5B,SAAS,EAAED,WAAW,CAAC;AAC/E;AAEA,eAAe+B,aAAaA,CAC1BvG,SAA0B,EAC1BO,MAAoB,EACpBY,IAAsB,EACtBqD,WAAoB,EACpBC,SAAqB,EACD;EACpB;EACA,IAAIhF,WAAW,CAACgF,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,EAAE;IAC9C,MAAM,IAAI1D,KAAK,CAAC,uCAAuC,CAAC;EAC1D;EAEA,IAAIP,SAAoB;EAExB,IAAID,MAAM,KAAK,KAAK,EAAE;IACpB,MAAM2E,GAAG,GAAG/D,IAAW;;IAEvB;IACA,IAAI,CAAC+D,GAAG,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;MACnC,MAAM,IAAInE,KAAK,CAAC,iBAAiB,CAAC;IACpC;IAEA,IAAImE,GAAG,CAACC,GAAG,KAAK,KAAK,EAAE;MACrB,MAAM,IAAIpE,KAAK,CAAC,iCAAiC,CAAC;IACpD;;IAEA;IACA,IAAIf,SAAS,CAACI,MAAM,KAAKwB,SAAS,EAAE;MAClC,IAAI,CAACsD,GAAG,CAACsB,CAAC,EAAE;QACV,MAAM,IAAIzF,KAAK,CAAC,sBAAsB,CAAC;MACzC;MACA;MACA,MAAM0F,OAAO,GAAGC,kBAAO,CAACC,IAAI,CAACzB,GAAG,CAACsB,CAAC,EAAE,QAAQ,CAAC;MAC7C,MAAMI,YAAY,GAAGH,OAAO,CAACrG,MAAM,GAAG,CAAC;MACvC,IAAIJ,SAAS,CAACI,MAAM,KAAK,CAAC,EAAE;QAC1B,MAAM,IAAIW,KAAK,CAAC,kCAAkC,CAAC;MACrD;MACA,IAAIf,SAAS,CAACI,MAAM,KAAKwG,YAAY,EAAE;QACrC,MAAM,IAAI7F,KAAK,CAAC,oBAAoB,CAAC;MACvC;IACF;IAEA,MAAMkB,MAAM,GACVH,qCAAY,CAACC,kBAAkB,CAAkB,iBAAiB,CAAC;IACrE,MAAMqD,OAAO,GAAGnD,MAAM,CAACoD,OAAO,CAACH,GAAG,EAAEtD,SAAS,CAAC;IAE9C,IAAIwD,OAAO,KAAKxD,SAAS,IAAIwD,OAAO,KAAK,CAAC,EAAE;MAC1C,MAAM,IAAIrE,KAAK,CAAC,2BAA2B,CAAC;IAC9C;IAEAP,SAAS,GAAG,IAAIqG,qBAAe,CAAC5E,MAAM,CAAC;EACzC,CAAC,MAAM,IAAI1B,MAAM,KAAK,KAAK,EAAE;IAC3BC,SAAS,GAAG,IAAAqE,qBAAe,EAAC1D,IAAkB,CAAC;EACjD,CAAC,MAAM;IACL,MAAM,IAAIJ,KAAK,CAAC,yCAAyCR,MAAM,EAAE,CAAC;EACpE;EAEA,OAAO,IAAIwE,eAAS,CAClBvE,SAAS,EACT;IAAE,GAAGR,SAAS;IAAEE,IAAI,EAAE;EAAO,CAAC,EAC9BuE,SAAS,EACTD,WACF,CAAC;AACH;AAEA,eAAesC,YAAYA,CACzB9G,SAA0B,EAC1BO,MAAoB,EACpBY,IAAsB,EACtBqD,WAAoB,EACpBC,SAAqB,EACD;EACpB,MAAM;IAAEvE,IAAI;IAAEE;EAAO,CAAC,GAAGJ,SAAS;;EAElC;EACA,MAAM0E,WAAuB,GAAG,CAC9B,SAAS,EACT,SAAS,EACT,SAAS,EACT,WAAW,CACZ;EACD,IAAIjF,WAAW,CAACgF,SAAS,EAAEC,WAAW,CAAC,EAAE;IACvC,MAAM,IAAI3D,KAAK,CAAC,6BAA6Bb,IAAI,EAAE,CAAC;EACtD;EAEA,IAAIM,SAAoB;EACxB,IAAIuG,YAAoB;EAExB,IAAIxG,MAAM,KAAK,KAAK,EAAE;IACpB,MAAM2E,GAAG,GAAG/D,IAAW;;IAEvB;IACA,IAAI+D,GAAG,CAACC,GAAG,KAAK,KAAK,EAAE;MACrB,MAAM,IAAIpE,KAAK,CAAC,gCAAgC,CAAC;IACnD;IAEA,MAAMkB,MAAM,GACVH,qCAAY,CAACC,kBAAkB,CAAkB,iBAAiB,CAAC;IACrE,MAAMqD,OAAO,GAAGnD,MAAM,CAACoD,OAAO,CAACH,GAAG,EAAEtD,SAAS,CAAC;IAE9C,IAAIwD,OAAO,KAAKxD,SAAS,IAAIwD,OAAO,KAAK,CAAC,EAAE;MAC1C,MAAM,IAAIrE,KAAK,CAAC,0BAA0B,CAAC;IAC7C;IAEAP,SAAS,GAAG,IAAIqG,qBAAe,CAAC5E,MAAM,CAAC;;IAEvC;IACA,MAAMvB,QAAQ,GAAGF,SAAS,CAACG,MAAM,CAAC,CAAC;IACnCoG,YAAY,GAAGrG,QAAQ,CAAC8B,UAAU,GAAG,CAAC;EACxC,CAAC,MAAM,IAAIjC,MAAM,KAAK,KAAK,EAAE;IAC3B,MAAMiF,OAAO,GAAG,IAAA3E,mCAAuB,EAACM,IAAkB,CAAC;IAC3D4F,YAAY,GAAGvB,OAAO,CAAChD,UAAU,GAAG,CAAC;;IAErC;IACA,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC1C,QAAQ,CAACiH,YAAY,CAAC,EAAE;MAC3C,MAAM,IAAIhG,KAAK,CAAC,wBAAwB,CAAC;IAC3C;IAEAP,SAAS,GAAG,IAAAqE,qBAAe,EAACW,OAAO,CAAC;EACtC,CAAC,MAAM;IACL,MAAM,IAAIzE,KAAK,CAAC,sCAAsCR,MAAM,EAAE,CAAC;EACjE;;EAEA;EACA,IAAIH,MAAM,KAAKwB,SAAS,IAAIxB,MAAM,KAAK2G,YAAY,EAAE;IACnD,MAAM,IAAIhG,KAAK,CACb,iCAAiCX,MAAM,SAAS2G,YAAY,EAC9D,CAAC;EACH;EAEA,OAAO,IAAIhC,eAAS,CAClBvE,SAAS,EACT;IAAEN,IAAI;IAAEE,MAAM,EAAE2G;EAAa,CAAC,EAC9BtC,SAAS,EACTD,WACF,CAAC;AACH;AAEA,MAAMwC,aAAa,GAAG,MACpB1G,GAAc,IACqB;EACnC,QAAQA,GAAG,CAACN,SAAS,CAACE,IAAI;IACxB,KAAK,mBAAmB;IACxB;IACA,KAAK,SAAS;IACd;IACA,KAAK,UAAU;MACb,IAAII,GAAG,CAACM,IAAI,KAAK,QAAQ,EAAE;QACzB,OAAOI,YAAY,CAACV,GAAG,EAAEf,mBAAmB,CAACkB,uBAAuB,CAAC;MACvE;MACA;IACF,KAAK,OAAO;IACZ;IACA,KAAK,MAAM;MACT,IAAIH,GAAG,CAACM,IAAI,KAAK,QAAQ,EAAE;QACzB,OAAOP,WAAW,CAACC,GAAG,EAAEf,mBAAmB,CAACkB,uBAAuB,CAAC;MACtE;MACA;EACJ;EAEA,MAAM,IAAIM,KAAK,CACb,2BAA2BT,GAAG,CAACN,SAAS,CAACE,IAAI,IAAII,GAAG,CAACM,IAAI,MAC3D,CAAC;AACH,CAAC;AAED,MAAMqG,cAAc,GAAG,MACrB3G,GAAc,IACqB;EACnC,QAAQA,GAAG,CAACN,SAAS,CAACE,IAAI;IACxB,KAAK,mBAAmB;IACxB;IACA,KAAK,SAAS;IACd;IACA,KAAK,UAAU;MACb,IAAII,GAAG,CAACM,IAAI,KAAK,SAAS,EAAE;QAC1B,OAAOI,YAAY,CAACV,GAAG,EAAEf,mBAAmB,CAACuB,wBAAwB,CAAC;MACxE;MACA;IACF,KAAK,OAAO;IACZ;IACA,KAAK,MAAM;MACT,IAAIR,GAAG,CAACM,IAAI,KAAK,SAAS,EAAE;QAC1B,OAAOP,WAAW,CAACC,GAAG,EAAEf,mBAAmB,CAACuB,wBAAwB,CAAC;MACvE;MACA;EACJ;EAEA,MAAM,IAAIC,KAAK,CACb,4BAA4BT,GAAG,CAACN,SAAS,CAACE,IAAI,IAAII,GAAG,CAACM,IAAI,MAC5D,CAAC;AACH,CAAC;AAED,MAAMsG,YAAY,GAAI5G,GAAc,IAA4B;EAC9D,QAAQA,GAAG,CAACN,SAAS,CAACE,IAAI;IACxB,KAAK,OAAO;IACZ;IACA,KAAK,MAAM;MACT,IAAII,GAAG,CAACM,IAAI,KAAK,QAAQ,EAAE;QACzB,OAAOP,WAAW,CAACC,GAAG,EAAEf,mBAAmB,CAAC4H,sBAAsB,CAAC;MACrE;MACA;IACF,KAAK,SAAS;IACd;IACA,KAAK,SAAS;IACd;IACA,KAAK,SAAS;IACd;IACA,KAAK,QAAQ;IACb;IACA,KAAK,MAAM;MAAE;QACX,MAAMzG,QAAQ,GAAGJ,GAAG,CAACE,SAAS,CAACG,MAAM,CAAC,CAAC;QACvC;QACA,OAAOD,QAAQ,CAAC6C,MAAM,CAACU,KAAK,CAC1BvD,QAAQ,CAAC0G,UAAU,EACnB1G,QAAQ,CAAC0G,UAAU,GAAG1G,QAAQ,CAAC8B,UACjC,CAAC;MACH;EACF;EAEA,MAAM,IAAAjB,wBAAgB,EACpB,0BAA0BjB,GAAG,CAACN,SAAS,CAACE,IAAI,IAAII,GAAG,CAACM,IAAI,MAAM,EAC9D,oBACF,CAAC;AACH,CAAC;AAED,MAAMyG,YAAY,GAAI/G,GAAc,IAA4B;EAC9D,MAAM4E,GAAG,GAAG5E,GAAG,CAACE,SAAS,CAACyB,MAAM,CAACqF,SAAS,CACxC;IACEC,OAAO,EAAEjH,GAAG,CAACZ,MAAM;IACnB8H,GAAG,EAAElH,GAAG,CAACkE;EACX,CAAC,EACD,IACF,CAAC;EACD,QAAQlE,GAAG,CAACN,SAAS,CAACE,IAAI;IACxB,KAAK,mBAAmB;MACtBgF,GAAG,CAACuC,GAAG,GAAG,IAAAhG,4BAAiB,EAACnB,GAAG,CAACN,SAAS,CAAC0B,IAAI,EAAEgG,sBAAW,CAACC,MAAM,CAAC;MACnE,OAAOzC,GAAG;IACZ,KAAK,SAAS;MACZA,GAAG,CAACuC,GAAG,GAAG,IAAAhG,4BAAiB,EAACnB,GAAG,CAACN,SAAS,CAAC0B,IAAI,EAAEgG,sBAAW,CAACE,SAAS,CAAC;MACtE,OAAO1C,GAAG;IACZ,KAAK,UAAU;MACbA,GAAG,CAACuC,GAAG,GAAG,IAAAhG,4BAAiB,EAACnB,GAAG,CAACN,SAAS,CAAC0B,IAAI,EAAEgG,sBAAW,CAACG,UAAU,CAAC;MACvE,OAAO3C,GAAG;IACZ,KAAK,MAAM;MACTA,GAAG,CAACuC,GAAG,GAAG,IAAAhG,4BAAiB,EAACnB,GAAG,CAACN,SAAS,CAAC0B,IAAI,EAAEgG,sBAAW,CAACI,OAAO,CAAC;MACpE,OAAO5C,GAAG;IACZ,KAAK,OAAO;IACZ;IACA,KAAK,MAAM;MACTA,GAAG,CAAC6C,GAAG,KAAKzH,GAAG,CAACN,SAAS,CAACgI,UAAU;MACpC,OAAO9C,GAAG;IACZ,KAAK,SAAS;IACd;IACA,KAAK,SAAS;IACd;IACA,KAAK,SAAS;IACd;IACA,KAAK,QAAQ;MACX,IAAI5E,GAAG,CAACN,SAAS,CAACI,MAAM,KAAKwB,SAAS,EAAE;QACtC,MAAM,IAAAL,wBAAgB,EACpB,aAAajB,GAAG,CAACN,SAAS,CAACE,IAAI,mCAAmC,EAClE,oBACF,CAAC;MACH;MACAgF,GAAG,CAACuC,GAAG,GAAGtH,gBAAgB,CAACG,GAAG,CAACN,SAAS,CAACE,IAAI,EAAEI,GAAG,CAACN,SAAS,CAACI,MAAM,CAAC;MACpE,OAAO8E,GAAG;IACZ;IACA;EACF;EAEA,MAAM,IAAA3D,wBAAgB,EACpB,iCAAiCjB,GAAG,CAACN,SAAS,CAACE,IAAI,EAAE,EACrD,mBACF,CAAC;AACH,CAAC;AAED,MAAM+H,sBAAsB,GAAG,MAAAA,CAC7B;EAAE/H,IAAI;EAAEE;AAAwB,CAAC,EACjCG,MAAoB,EACpBiF,OAAgC,EAChChB,WAAoB,EACpBC,SAAqB,KACE;EACvB,IAAID,WAAW,EAAE;IACf,MAAM,IAAIzD,KAAK,CAAC,GAAGb,IAAI,2BAA2B,CAAC;EACrD;EACA,IAAIT,WAAW,CAACgF,SAAS,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,EAAE;IACvD,MAAM,IAAI1D,KAAK,CAAC,+BAA+Bb,IAAI,MAAM,CAAC;EAC5D;EAEA,QAAQK,MAAM;IACZ,KAAK,KAAK;MAAE;QACV,IAAId,WAAW,CAACgF,SAAS,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,EAAE;UACvD,MAAM,IAAI1D,KAAK,CAAC,+BAA+Bb,IAAI,MAAM,CAAC;QAC5D;QAEA,MAAMgI,WAAW,GACf,OAAO1C,OAAO,KAAK,QAAQ,IAAIkB,kBAAO,CAACyB,QAAQ,CAAC3C,OAAO,CAAC,GACpDA,OAAO,CAACpF,MAAM,GAAG,CAAC,GAClBoF,OAAO,CAAChD,UAAU,GAAG,CAAC;QAE5B,IAAIpC,MAAM,KAAKwB,SAAS,IAAIxB,MAAM,KAAK8H,WAAW,EAAE;UAClD,MAAM,IAAInH,KAAK,CAAC,oBAAoB,CAAC;QACvC;QAEA,MAAMP,SAAS,GAAG,IAAAqE,qBAAe,EAACW,OAAqB,CAAC;QACxD,OAAO,IAAIT,eAAS,CAACvE,SAAS,EAAE;UAAEN;QAAK,CAAC,EAAEuE,SAAS,EAAE,KAAK,CAAC;MAC7D;EACF;EAEA,MAAM,IAAI1D,KAAK,CAAC,oBAAoBb,IAAI,oBAAoBK,MAAM,EAAE,CAAC;AACvE,CAAC;AAED,MAAM6H,wBAAwB,GAAIC,IAAmB,IAAK;EACxD,IACEA,IAAI,CAACC,UAAU,IACfD,IAAI,CAACC,UAAU,YAAYvD,eAAS,IACpCsD,IAAI,CAACC,UAAU,CAAC7D,SAAS,IACzB4D,IAAI,CAACC,UAAU,CAAC7D,SAAS,CAACrE,MAAM,GAAG,CAAC,EACpC;IACA;EACF;EACA,MAAM,IAAAmB,wBAAgB,EACpB,6CAA6C,EAC7C,aACF,CAAC;AACH,CAAC;;AAED;AACO,SAASgH,eAAeA,CAC7BnF,MAAiC,EACR;EACzB,OAAO,WAAW,IAAIA,MAAM,IAAI,YAAY,IAAIA,MAAM;AACxD;AAEA,MAAMoF,UAAU,GAAGA,CACjBxI,SAA0B,EAC1BM,GAAc,EACda,IAAgB,EAChBsH,SAAsB,KACI;EAC1B,MAAM5I,KAAgB,GAAG4I,SAAS,KAAK7G,SAAS,GAAG,MAAM,GAAG,QAAQ;EACpE5B,SAAS,GAAGD,kBAAkB,CAACC,SAAS,EAAEH,KAAK,CAAC;EAEhD,IAAI,CAACS,GAAG,CAACZ,MAAM,CAACI,QAAQ,CAACD,KAAK,CAAC,IAAIG,SAAS,CAACE,IAAI,KAAKI,GAAG,CAACN,SAAS,CAACE,IAAI,EAAE;IACxE,MAAM,IAAAqB,wBAAgB,EACpB,6BAA6B1B,KAAK,EAAE,EACpC,oBACF,CAAC;EACH;EAEA,QAAQG,SAAS,CAACE,IAAI;IACpB,KAAK,OAAO;MACV,OAAO,IAAAwI,mBAAe,EAACpI,GAAG,EAAEa,IAAI,EAAEnB,SAAS,EAAEyI,SAAS,CAAC;EAC3D;EACA,MAAM,IAAAlH,wBAAgB,EACpB,gCAAgCvB,SAAS,UAAUH,KAAK,GAAG,EAC3D,mBACF,CAAC;AACH,CAAC;AAED,MAAM8I,YAAY,GAAG,MAAAA,CACnBzH,IAAsB,EACtBlB,SAA+B,EAC/BM,GAAc,EACda,IAAiB,EACjByH,EAAa,KACY;EACzB,IACEtI,GAAG,CAACN,SAAS,CAACE,IAAI,KAAKF,SAAS,CAACE,IAAI,IACrC,CAACI,GAAG,CAACZ,MAAM,CAACI,QAAQ,CAAC8I,EAAc,CAAC,EACpC;IACA,MAAM,IAAArH,wBAAgB,EACpB,2DAA2D,EAC3D,oBACF,CAAC;EACH;EAEA,IAAAsH,mCAAuB,EAAC1H,IAAI,EAAE,MAAM,CAAC;EAErC,QAAQnB,SAAS,CAACE,IAAI;IACpB,KAAK,UAAU;MACb,OAAOe,SAAS,CAACC,IAAI,EAAEZ,GAAG,EAAEa,IAAI,EAAEnB,SAAS,CAAC;IAC9C,KAAK,SAAS;IACd;IACA,KAAK,SAAS;IACd;IACA,KAAK,SAAS;MACZ,OAAOmC,SAAS,CAACjB,IAAI,EAAEZ,GAAG,EAAEa,IAAI,EAAEnB,SAAS,CAAC;EAChD;AACF,CAAC;AAEM,MAAM8I,MAAM,CAAC;EAClB,MAAM5G,OAAOA,CACXlC,SAA+B,EAC/BM,GAAc,EACda,IAAgB,EACM;IACtB,MAAM4H,mBAAmB,GAAGhJ,kBAAkB,CAACC,SAAS,EAAE,SAAS,CAAC;IACpE,OAAO2I,YAAY,CACjBnJ,gBAAgB,CAACsE,uBAAuB,EACxCiF,mBAAmB,EACnBzI,GAAG,EACH,IAAAO,mCAAuB,EAACM,IAAI,CAAC,EAC7B,SACF,CAAC;EACH;EAEA,MAAM6H,MAAMA,CACVhJ,SAAyC,EACzCmB,IAAgB,EACM;IACtB,MAAM4H,mBAAmB,GAAGhJ,kBAAkB,CAC5CC,SAAS,EACT,QACF,CAAC;IACD,OAAO,IAAAiJ,iBAAW,EAACF,mBAAmB,EAAE5H,IAAI,CAAC;EAC/C;EAEA,MAAM+H,UAAUA,CACdlJ,SAA0B,EAC1BmJ,OAAkB,EAClB/I,MAAc,EACQ;IACtB,IAAI,CAAC+I,OAAO,CAAC1E,SAAS,CAAC3E,QAAQ,CAAC,YAAY,CAAC,EAAE;MAC7C,MAAM,IAAIiB,KAAK,CAAC,wCAAwC,CAAC;IAC3D;IACA,IAAIoI,OAAO,CAACnJ,SAAS,CAACE,IAAI,KAAKF,SAAS,CAACE,IAAI,EAC3C,MAAM,IAAIa,KAAK,CAAC,wBAAwB,CAAC;IAC3C,QAAQf,SAAS,CAACE,IAAI;MACpB,KAAK,QAAQ;QACX,OAAO,IAAAkJ,uBAAgB,EAACpJ,SAAS,EAAEmJ,OAAO,EAAE/I,MAAM,CAAC;IACvD;IACA,MAAM,IAAIW,KAAK,CACb,6BAA6Bf,SAAS,CAACE,IAAI,sBAC7C,CAAC;EACH;EAEA,MAAM8B,OAAOA,CACXhC,SAA+B,EAC/BM,GAAc,EACda,IAAgB,EACM;IACtB,MAAM4H,mBAAmB,GAAGhJ,kBAAkB,CAACC,SAAS,EAAE,SAAS,CAAC;IACpE,OAAO2I,YAAY,CACjBnJ,gBAAgB,CAAC8B,uBAAuB,EACxCyH,mBAAmB,EACnBzI,GAAG,EACH,IAAAO,mCAAuB,EAACM,IAAI,CAAC,EAC7B,SACF,CAAC;EACH;EAEA,MAAMkI,SAASA,CACb9I,MAAoB,EACpBD,GAAc,EACc;IAC5B,IAAI,CAACA,GAAG,CAACkE,WAAW,EAAE,MAAM,IAAIzD,KAAK,CAAC,wBAAwB,CAAC;IAE/D,QAAQR,MAAM;MACZ,KAAK,MAAM;QACT,OAAQ,MAAMyG,aAAa,CAAC1G,GAAG,CAAC;MAClC,KAAK,OAAO;QACV,OAAQ,MAAM2G,cAAc,CAAC3G,GAAG,CAAC;MACnC,KAAK,KAAK;QACR,OAAO+G,YAAY,CAAC/G,GAAG,CAAC;MAC1B,KAAK,KAAK;QACR,OAAO4G,YAAY,CAAC5G,GAAG,CAAC;IAC5B;EACF;EAEA,MAAMgJ,WAAWA,CACftJ,SAA0B,EAC1BwE,WAAoB,EACpBC,SAAqB,EACe;IACpCzE,SAAS,GAAGD,kBAAkB,CAACC,SAAS,EAAE,aAAa,CAAC;IACxD,IAAIoD,MAAiC;IACrC,QAAQpD,SAAS,CAACE,IAAI;MACpB,KAAK,mBAAmB;MACxB;MACA,KAAK,SAAS;MACd;MACA,KAAK,UAAU;QACbkD,MAAM,GAAG,MAAM,IAAAmG,wBAAmB,EAACvJ,SAAS,EAAEwE,WAAW,EAAEC,SAAS,CAAC;QACrE;MACF,KAAK,OAAO;MACZ;MACA,KAAK,MAAM;QACTrB,MAAM,GAAG,MAAM,IAAAoG,sBAAkB,EAC/BxJ,SAAS,CAACE,IAAI,EACdF,SAAS,CAACgI,UAAU,EACpBxD,WAAW,EACXC,SACF,CAAC;QACD2D,wBAAwB,CAAChF,MAAuB,CAAC;QACjD;MACF,KAAK,SAAS;MACd;MACA,KAAK,SAAS;MACd;MACA,KAAK,SAAS;MACd;MACA,KAAK,QAAQ;QACXA,MAAM,GAAG,MAAMmB,cAAc,CAC3BvE,SAAS,EACTwE,WAAW,EACXC,SACF,CAAC;QACD;MACF;QACE,MAAM,IAAI1D,KAAK,CACb,iDAAiDf,SAAS,CAACE,IAAI;AACzE,wCACQ,CAAC;IACL;IAEA,OAAOkD,MAAM;EACf;EAEA,MAAMqG,SAASA,CACblJ,MAAoB,EACpBY,IAAmC,EACnCnB,SAAyC,EACzCwE,WAAoB,EACpBC,SAAqB,EACD;IACpB,MAAMsE,mBAAmB,GAAGhJ,kBAAkB,CAACC,SAAS,EAAE,WAAW,CAAC;IACtE,IAAIoD,MAAiB;IACrB,QAAQ2F,mBAAmB,CAAC7I,IAAI;MAC9B,KAAK,mBAAmB;MACxB;MACA,KAAK,SAAS;MACd;MACA,KAAK,UAAU;QACbkD,MAAM,GAAG4B,YAAY,CACnBzE,MAAM,EACNY,IAAI,EACJ4H,mBAAmB,EACnBvE,WAAW,EACXC,SACF,CAAC;QACD;MACF,KAAK,OAAO;MACZ;MACA,KAAK,MAAM;QACTrB,MAAM,GAAG,IAAAsG,eAAW,EAClBnJ,MAAM,EACNY,IAAI,EACJ4H,mBAAmB,EACnBvE,WAAW,EACXC,SACF,CAAC;QACD;MACF,KAAK,MAAM;QACTrB,MAAM,GAAG,MAAMmD,aAAa,CAC1BwC,mBAAmB,EACnBxI,MAAM,EACNY,IAAI,EACJqD,WAAW,EACXC,SACF,CAAC;QACD;MACF,KAAK,SAAS;MACd;MACA,KAAK,SAAS;MACd;MACA,KAAK,SAAS;MACd;MACA,KAAK,QAAQ;QACXrB,MAAM,GAAG,MAAM0D,YAAY,CACzBiC,mBAAmB,EACnBxI,MAAM,EACNY,IAAI,EACJqD,WAAW,EACXC,SACF,CAAC;QACD;MACF,KAAK,QAAQ;QACXrB,MAAM,GAAG,MAAM6E,sBAAsB,CACnCc,mBAAmB,EACnBxI,MAAM,EACNY,IAAI,EACJqD,WAAW,EACXC,SACF,CAAC;QACD;MACF;QACE,MAAM,IAAI1D,KAAK,CACb,+CAA+CgI,mBAAmB,CAAC7I,IAAI,EACzE,CAAC;IACL;IAEA,IACE,CAACkD,MAAM,CAACxC,IAAI,KAAK,QAAQ,IAAIwC,MAAM,CAACxC,IAAI,KAAK,SAAS,KACtDwC,MAAM,CAAC1D,MAAM,CAACU,MAAM,KAAK,CAAC,EAC1B;MACA,MAAM,IAAIW,KAAK,CACb,2CAA2CqC,MAAM,CAACxC,IAAI,OACxD,CAAC;IACH;IAEA,OAAOwC,MAAM;EACf;EAEA,MAAMuG,IAAIA,CACR3J,SAA0B,EAC1BM,GAAc,EACda,IAAgB,EACM;IACtB,OAAOqH,UAAU,CAACxI,SAAS,EAAEM,GAAG,EAAEa,IAAI,CAAC;EACzC;EAEA,MAAMyI,MAAMA,CACV5J,SAA0B,EAC1BM,GAAc,EACdmI,SAAqB,EACrBtH,IAAgB,EACM;IACtB,OAAOqH,UAAU,CAACxI,SAAS,EAAEM,GAAG,EAAEa,IAAI,EAAEsH,SAAS,CAAC;EACpD;AACF;AAACoB,OAAA,CAAAf,MAAA,GAAAA,MAAA;AAEM,MAAMgB,MAAM,GAAAD,OAAA,CAAAC,MAAA,GAAG,IAAIhB,MAAM,CAAC,CAAC","ignoreList":[]}
|
|
@@ -147,7 +147,7 @@ encoding = 'utf-8') {
|
|
|
147
147
|
if (input instanceof _classes.KeyObject) {
|
|
148
148
|
return input.handle.exportKey();
|
|
149
149
|
}
|
|
150
|
-
throw new Error('
|
|
150
|
+
throw new Error('Invalid argument type for "key". Need ArrayBuffer, TypedArray, KeyObject, CryptoKey, string');
|
|
151
151
|
}
|
|
152
152
|
function ab2str(buf, encoding = 'hex') {
|
|
153
153
|
return _reactNativeBuffer.Buffer.from(buf).toString(encoding);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeBuffer","require","_safeBuffer","_classes","_noble","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","abvToArrayBuffer","buf","CraftzdogBuffer","isBuffer","buffer","ArrayBuffer","isView","toArrayBuffer","slice","byteOffset","byteLength","ab","length","view","Uint8Array","i","SafeBuffer","readUInt8","bufferLikeToArrayBuffer","SharedArrayBuffer","arrayBuffer","set","TypeError","binaryLikeToArrayBuffer","input","encoding","Error","from","KeyObject","handle","exportKey","ab2str","toString","kEmptyObject","freeze","create"],"sourceRoot":"../../../src","sources":["utils/conversion.ts"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAEA,IAAAE,QAAA,GAAAF,OAAA;
|
|
1
|
+
{"version":3,"names":["_reactNativeBuffer","require","_safeBuffer","_classes","_noble","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","abvToArrayBuffer","buf","CraftzdogBuffer","isBuffer","buffer","ArrayBuffer","isView","toArrayBuffer","slice","byteOffset","byteLength","ab","length","view","Uint8Array","i","SafeBuffer","readUInt8","bufferLikeToArrayBuffer","SharedArrayBuffer","arrayBuffer","set","TypeError","binaryLikeToArrayBuffer","input","encoding","Error","from","KeyObject","handle","exportKey","ab2str","toString","kEmptyObject","freeze","create"],"sourceRoot":"../../../src","sources":["utils/conversion.ts"],"mappings":"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","ignoreList":[]}
|