@airgap/coinlib-core 0.13.45-beta.1 → 0.13.45-beta.3
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/actions/Action.js +30 -83
- package/actions/Action.js.map +1 -1
- package/actions/LinkedAction.js +18 -82
- package/actions/LinkedAction.js.map +1 -1
- package/actions/RepeatableAction.js +20 -83
- package/actions/RepeatableAction.js.map +1 -1
- package/actions/SimpleAction.js +12 -74
- package/actions/SimpleAction.js.map +1 -1
- package/actions/StateMachine.js +16 -17
- package/actions/StateMachine.js.map +1 -1
- package/data/KeyPair.d.ts +0 -1
- package/data/Lazy.js +15 -64
- package/data/Lazy.js.map +1 -1
- package/data/RPCBody.js +3 -6
- package/data/RPCBody.js.map +1 -1
- package/dependencies/src/@stablelib/binary-1.0.1/packages/binary/binary.d.ts +12 -12
- package/dependencies/src/@stablelib/binary-1.0.1/packages/binary/binary.js +88 -130
- package/dependencies/src/@stablelib/binary-1.0.1/packages/binary/binary.js.map +1 -1
- package/dependencies/src/@stablelib/blake2b-1.0.1/packages/blake2b/blake2b.d.ts +3 -3
- package/dependencies/src/@stablelib/blake2b-1.0.1/packages/blake2b/blake2b.js +57 -61
- package/dependencies/src/@stablelib/blake2b-1.0.1/packages/blake2b/blake2b.js.map +1 -1
- package/dependencies/src/@stablelib/ed25519-1.0.3/packages/ed25519/ed25519.js +96 -96
- package/dependencies/src/@stablelib/ed25519-1.0.3/packages/ed25519/ed25519.js.map +1 -1
- package/dependencies/src/@stablelib/hash-1.0.1/packages/hash/hash.js +1 -2
- package/dependencies/src/@stablelib/hash-1.0.1/packages/hash/hash.js.map +1 -1
- package/dependencies/src/@stablelib/int-1.0.1/packages/int/int.js +8 -10
- package/dependencies/src/@stablelib/int-1.0.1/packages/int/int.js.map +1 -1
- package/dependencies/src/@stablelib/random-1.0.2/packages/random/random.js +22 -28
- package/dependencies/src/@stablelib/random-1.0.2/packages/random/random.js.map +1 -1
- package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/browser.js +9 -10
- package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/browser.js.map +1 -1
- package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/node.js +10 -11
- package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/node.js.map +1 -1
- package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/system.js +7 -8
- package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/system.js.map +1 -1
- package/dependencies/src/@stablelib/sha512/packages/sha512/sha512.d.ts +3 -3
- package/dependencies/src/@stablelib/sha512/packages/sha512/sha512.js +61 -63
- package/dependencies/src/@stablelib/sha512/packages/sha512/sha512.js.map +1 -1
- package/dependencies/src/@stablelib/sha512-1.0.1/packages/sha512/sha512.d.ts +4 -4
- package/dependencies/src/@stablelib/sha512-1.0.1/packages/sha512/sha512.js +61 -63
- package/dependencies/src/@stablelib/sha512-1.0.1/packages/sha512/sha512.js.map +1 -1
- package/dependencies/src/@stablelib/wipe-1.0.1/packages/wipe/wipe.d.ts +1 -1
- package/dependencies/src/@stablelib/wipe-1.0.1/packages/wipe/wipe.js +2 -3
- package/dependencies/src/@stablelib/wipe-1.0.1/packages/wipe/wipe.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/codec.js +111 -111
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/codec.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/constants.js +15 -15
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/constants.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/decoder.d.ts +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/decoder.js +47 -76
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/decoder.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/encoder.d.ts +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/encoder.js +46 -61
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/encoder.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/error.js +61 -106
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/error.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/interface.d.ts +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/michelson/codec.d.ts +6 -6
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/michelson/codec.js +95 -100
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/michelson/codec.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/codec-proto14.js +33 -33
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/codec-proto14.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/constants-proto14.js +9 -9
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/constants-proto14.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/decoder-proto14.d.ts +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/decoder-proto14.js +46 -75
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/decoder-proto14.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/encoder-proto14.d.ts +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/encoder-proto14.js +45 -70
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/encoder-proto14.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/michelson/codec-proto14.js +41 -41
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/michelson/codec-proto14.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/protocols.js +4 -4
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/protocols.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/schema/operation.d.ts +2 -2
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/schema/operation.js +58 -63
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/schema/operation.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/taquito-local-forging.js +30 -33
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/taquito-local-forging.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/uint8array-consumer.js +18 -20
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/uint8array-consumer.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/utils.d.ts +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/utils.js +5 -12
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/utils.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/validator.js +13 -13
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/validator.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-rpc/src/opkind.js +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-rpc/src/opkind.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-rpc/src/types.d.ts +78 -78
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-rpc/src/types.js +2 -2
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-rpc/src/types.js.map +1 -1
- package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/constants.d.ts +45 -45
- package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/constants.js +75 -76
- package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/constants.js.map +1 -1
- package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/errors.js +115 -178
- package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/errors.js.map +1 -1
- package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/format.d.ts +1 -1
- package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/format.js +6 -9
- package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/format.js.map +1 -1
- package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/taquito-utils.js +78 -83
- package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/taquito-utils.js.map +1 -1
- package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/validators.js +27 -36
- package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/validators.js.map +1 -1
- package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/verify-signature.d.ts +1 -1
- package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/verify-signature.js +25 -26
- package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/verify-signature.js.map +1 -1
- package/dependencies/src/cosmjs/index.d.ts +14 -230
- package/dependencies/src/cosmjs/index.js +373 -480
- package/dependencies/src/cosmjs/index.js.map +1 -1
- package/dependencies/src/eciesjs-0.3.9/src/index.d.ts +0 -1
- package/dependencies/src/eciesjs-0.3.9/src/index.js +15 -19
- package/dependencies/src/eciesjs-0.3.9/src/index.js.map +1 -1
- package/dependencies/src/eciesjs-0.3.9/src/keys/PrivateKey.d.ts +0 -1
- package/dependencies/src/eciesjs-0.3.9/src/keys/PrivateKey.js +37 -28
- package/dependencies/src/eciesjs-0.3.9/src/keys/PrivateKey.js.map +1 -1
- package/dependencies/src/eciesjs-0.3.9/src/keys/PublicKey.d.ts +0 -1
- package/dependencies/src/eciesjs-0.3.9/src/keys/PublicKey.js +38 -30
- package/dependencies/src/eciesjs-0.3.9/src/keys/PublicKey.js.map +1 -1
- package/dependencies/src/eciesjs-0.3.9/src/utils.d.ts +0 -1
- package/dependencies/src/eciesjs-0.3.9/src/utils.js +33 -24
- package/dependencies/src/eciesjs-0.3.9/src/utils.js.map +1 -1
- package/dependencies/src/hd-wallet-js-b216450e56954a6e82ace0aade9474673de5d9d5/src/hd-key.js +42 -34
- package/dependencies/src/hd-wallet-js-b216450e56954a6e82ace0aade9474673de5d9d5/src/hd-key.js.map +1 -1
- package/dependencies/src/hd-wallet-js-b216450e56954a6e82ace0aade9474673de5d9d5/src/hd-wallet.js +6 -10
- package/dependencies/src/hd-wallet-js-b216450e56954a6e82ace0aade9474673de5d9d5/src/hd-wallet.js.map +1 -1
- package/errors/coinlib-error.js +16 -37
- package/errors/coinlib-error.js.map +1 -1
- package/errors/index.d.ts +2 -2
- package/errors/index.js +89 -148
- package/errors/index.js.map +1 -1
- package/index.js +19 -19
- package/index.js.map +1 -1
- package/interfaces/IAirGapSignedTransaction.d.ts +1 -1
- package/interfaces/IAirGapTransaction.js +3 -3
- package/interfaces/IAirGapTransaction.js.map +1 -1
- package/networks.js +9 -9
- package/networks.js.map +1 -1
- package/package.json +1 -1
- package/protocols/BlockExplorerProtocol.js +7 -54
- package/protocols/BlockExplorerProtocol.js.map +1 -1
- package/protocols/CryptoClient.js +19 -78
- package/protocols/CryptoClient.js.map +1 -1
- package/protocols/Ed25519CryptoClient.js +30 -98
- package/protocols/Ed25519CryptoClient.js.map +1 -1
- package/protocols/ICoinSubProtocol.js +1 -1
- package/protocols/ICoinSubProtocol.js.map +1 -1
- package/protocols/NonExtendedProtocol.js +26 -29
- package/protocols/NonExtendedProtocol.js.map +1 -1
- package/protocols/Secp256k1CryptoClient.js +9 -73
- package/protocols/Secp256k1CryptoClient.js.map +1 -1
- package/protocols/Sr25519CryptoClient.js +12 -76
- package/protocols/Sr25519CryptoClient.js.map +1 -1
- package/utils/AES.js +81 -132
- package/utils/AES.js.map +1 -1
- package/utils/ErrorWithData.js +5 -23
- package/utils/ErrorWithData.js.map +1 -1
- package/utils/Network.js +1 -1
- package/utils/Network.js.map +1 -1
- package/utils/ProtocolBlockExplorer.js +3 -4
- package/utils/ProtocolBlockExplorer.js.map +1 -1
- package/utils/ProtocolNetwork.js +11 -16
- package/utils/ProtocolNetwork.js.map +1 -1
- package/utils/ProtocolSymbols.d.ts +1 -1
- package/utils/ProtocolSymbols.js +6 -6
- package/utils/ProtocolSymbols.js.map +1 -1
- package/utils/array.js +14 -15
- package/utils/array.js.map +1 -1
- package/utils/assert.js +8 -12
- package/utils/assert.js.map +1 -1
- package/utils/base64Check.d.ts +0 -1
- package/utils/base64Check.js +15 -15
- package/utils/base64Check.js.map +1 -1
- package/utils/blake2b.js +11 -14
- package/utils/blake2b.js.map +1 -1
- package/utils/buffer.d.ts +0 -1
- package/utils/buffer.js +1 -1
- package/utils/buffer.js.map +1 -1
- package/utils/cache.js +38 -87
- package/utils/cache.js.map +1 -1
- package/utils/error.js +2 -3
- package/utils/error.js.map +1 -1
- package/utils/hex.d.ts +1 -2
- package/utils/hex.js +31 -38
- package/utils/hex.js.map +1 -1
- package/utils/interfaces.js +3 -4
- package/utils/interfaces.js.map +1 -1
- package/utils/object.js +5 -7
- package/utils/object.js.map +1 -1
- package/utils/padStart.js +1 -2
- package/utils/padStart.js.map +1 -1
- package/utils/remote-data/HttpRemoteData.js +24 -107
- package/utils/remote-data/HttpRemoteData.js.map +1 -1
- package/utils/remote-data/IpfsRemoteData.js +32 -116
- package/utils/remote-data/IpfsRemoteData.js.map +1 -1
- package/utils/remote-data/RemoteData.d.ts +0 -1
- package/utils/remote-data/RemoteData.js +3 -4
- package/utils/remote-data/RemoteData.js.map +1 -1
- package/utils/remote-data/RemoteDataFactory.d.ts +2 -2
- package/utils/remote-data/RemoteDataFactory.js +13 -20
- package/utils/remote-data/RemoteDataFactory.js.map +1 -1
- package/utils/remote-data/Sha256RemoteData.d.ts +0 -1
- package/utils/remote-data/Sha256RemoteData.js +44 -117
- package/utils/remote-data/Sha256RemoteData.js.map +1 -1
- package/utils/string.js +8 -9
- package/utils/string.js.map +1 -1
- package/utils/type.js +3 -4
- package/utils/type.js.map +1 -1
- package/utils/xxhash.d.ts +0 -1
- package/utils/xxhash.js +9 -11
- package/utils/xxhash.js.map +1 -1
- package/wallet/AirGapCoinWallet.js +64 -183
- package/wallet/AirGapCoinWallet.js.map +1 -1
- package/wallet/AirGapMarketWallet.js +88 -201
- package/wallet/AirGapMarketWallet.js.map +1 -1
- package/wallet/AirGapNFTWallet.js +48 -165
- package/wallet/AirGapNFTWallet.js.map +1 -1
- package/wallet/AirGapWallet.js +58 -145
- package/wallet/AirGapWallet.js.map +1 -1
|
@@ -2,13 +2,20 @@
|
|
|
2
2
|
// Copyright (C) 2016 Dmitry Chestnykh
|
|
3
3
|
// MIT License. See LICENSE file for details.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.
|
|
5
|
+
exports.SEED_LENGTH = exports.SECRET_KEY_LENGTH = exports.PUBLIC_KEY_LENGTH = exports.SIGNATURE_LENGTH = void 0;
|
|
6
|
+
exports.generateKeyPairFromSeed = generateKeyPairFromSeed;
|
|
7
|
+
exports.generateKeyPair = generateKeyPair;
|
|
8
|
+
exports.extractPublicKeyFromSecretKey = extractPublicKeyFromSecretKey;
|
|
9
|
+
exports.sign = sign;
|
|
10
|
+
exports.verify = verify;
|
|
11
|
+
exports.convertPublicKeyToX25519 = convertPublicKeyToX25519;
|
|
12
|
+
exports.convertSecretKeyToX25519 = convertSecretKeyToX25519;
|
|
6
13
|
/**
|
|
7
14
|
* Package ed25519 implements Ed25519 public-key signature algorithm.
|
|
8
15
|
*/
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
16
|
+
const random_1 = require("../../../../@stablelib/random-1.0.2/packages/random/random");
|
|
17
|
+
const sha512_1 = require("../../../../@stablelib/sha512-1.0.1/packages/sha512/sha512");
|
|
18
|
+
const wipe_1 = require("../../../../@stablelib/wipe-1.0.1/packages/wipe/wipe");
|
|
12
19
|
exports.SIGNATURE_LENGTH = 64;
|
|
13
20
|
exports.PUBLIC_KEY_LENGTH = 32;
|
|
14
21
|
exports.SECRET_KEY_LENGTH = 64;
|
|
@@ -20,123 +27,123 @@ exports.SEED_LENGTH = 32;
|
|
|
20
27
|
// We use Float64Array, because we need 48-bit numbers
|
|
21
28
|
// for this implementation.
|
|
22
29
|
function gf(init) {
|
|
23
|
-
|
|
30
|
+
const r = new Float64Array(16);
|
|
24
31
|
if (init) {
|
|
25
|
-
for (
|
|
32
|
+
for (let i = 0; i < init.length; i++) {
|
|
26
33
|
r[i] = init[i];
|
|
27
34
|
}
|
|
28
35
|
}
|
|
29
36
|
return r;
|
|
30
37
|
}
|
|
31
38
|
// Base point.
|
|
32
|
-
|
|
39
|
+
const _9 = new Uint8Array(32);
|
|
33
40
|
_9[0] = 9;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
41
|
+
const gf0 = gf();
|
|
42
|
+
const gf1 = gf([1]);
|
|
43
|
+
const D = gf([
|
|
37
44
|
0x78a3, 0x1359, 0x4dca, 0x75eb, 0xd8ab, 0x4141, 0x0a4d, 0x0070,
|
|
38
45
|
0xe898, 0x7779, 0x4079, 0x8cc7, 0xfe73, 0x2b6f, 0x6cee, 0x5203
|
|
39
46
|
]);
|
|
40
|
-
|
|
47
|
+
const D2 = gf([
|
|
41
48
|
0xf159, 0x26b2, 0x9b94, 0xebd6, 0xb156, 0x8283, 0x149a, 0x00e0,
|
|
42
49
|
0xd130, 0xeef3, 0x80f2, 0x198e, 0xfce7, 0x56df, 0xd9dc, 0x2406
|
|
43
50
|
]);
|
|
44
|
-
|
|
51
|
+
const X = gf([
|
|
45
52
|
0xd51a, 0x8f25, 0x2d60, 0xc956, 0xa7b2, 0x9525, 0xc760, 0x692c,
|
|
46
53
|
0xdc5c, 0xfdd6, 0xe231, 0xc0a4, 0x53fe, 0xcd6e, 0x36d3, 0x2169
|
|
47
54
|
]);
|
|
48
|
-
|
|
55
|
+
const Y = gf([
|
|
49
56
|
0x6658, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666,
|
|
50
57
|
0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666
|
|
51
58
|
]);
|
|
52
|
-
|
|
59
|
+
const I = gf([
|
|
53
60
|
0xa0b0, 0x4a0e, 0x1b27, 0xc4ee, 0xe478, 0xad2f, 0x1806, 0x2f43,
|
|
54
61
|
0xd7a7, 0x3dfb, 0x0099, 0x2b4d, 0xdf0b, 0x4fc1, 0x2480, 0x2b83
|
|
55
62
|
]);
|
|
56
63
|
function set25519(r, a) {
|
|
57
|
-
for (
|
|
64
|
+
for (let i = 0; i < 16; i++) {
|
|
58
65
|
r[i] = a[i] | 0;
|
|
59
66
|
}
|
|
60
67
|
}
|
|
61
68
|
function car25519(o) {
|
|
62
|
-
|
|
63
|
-
for (
|
|
64
|
-
|
|
69
|
+
let c = 1;
|
|
70
|
+
for (let i = 0; i < 16; i++) {
|
|
71
|
+
let v = o[i] + c + 65535;
|
|
65
72
|
c = Math.floor(v / 65536);
|
|
66
73
|
o[i] = v - c * 65536;
|
|
67
74
|
}
|
|
68
75
|
o[0] += c - 1 + 37 * (c - 1);
|
|
69
76
|
}
|
|
70
77
|
function sel25519(p, q, b) {
|
|
71
|
-
|
|
72
|
-
for (
|
|
73
|
-
|
|
78
|
+
const c = ~(b - 1);
|
|
79
|
+
for (let i = 0; i < 16; i++) {
|
|
80
|
+
const t = c & (p[i] ^ q[i]);
|
|
74
81
|
p[i] ^= t;
|
|
75
82
|
q[i] ^= t;
|
|
76
83
|
}
|
|
77
84
|
}
|
|
78
85
|
function pack25519(o, n) {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
for (
|
|
86
|
+
const m = gf();
|
|
87
|
+
const t = gf();
|
|
88
|
+
for (let i = 0; i < 16; i++) {
|
|
82
89
|
t[i] = n[i];
|
|
83
90
|
}
|
|
84
91
|
car25519(t);
|
|
85
92
|
car25519(t);
|
|
86
93
|
car25519(t);
|
|
87
|
-
for (
|
|
94
|
+
for (let j = 0; j < 2; j++) {
|
|
88
95
|
m[0] = t[0] - 0xffed;
|
|
89
|
-
for (
|
|
96
|
+
for (let i = 1; i < 15; i++) {
|
|
90
97
|
m[i] = t[i] - 0xffff - ((m[i - 1] >> 16) & 1);
|
|
91
98
|
m[i - 1] &= 0xffff;
|
|
92
99
|
}
|
|
93
100
|
m[15] = t[15] - 0x7fff - ((m[14] >> 16) & 1);
|
|
94
|
-
|
|
101
|
+
const b = (m[15] >> 16) & 1;
|
|
95
102
|
m[14] &= 0xffff;
|
|
96
103
|
sel25519(t, m, 1 - b);
|
|
97
104
|
}
|
|
98
|
-
for (
|
|
105
|
+
for (let i = 0; i < 16; i++) {
|
|
99
106
|
o[2 * i] = t[i] & 0xff;
|
|
100
107
|
o[2 * i + 1] = t[i] >> 8;
|
|
101
108
|
}
|
|
102
109
|
}
|
|
103
110
|
function verify32(x, y) {
|
|
104
|
-
|
|
105
|
-
for (
|
|
111
|
+
let d = 0;
|
|
112
|
+
for (let i = 0; i < 32; i++) {
|
|
106
113
|
d |= x[i] ^ y[i];
|
|
107
114
|
}
|
|
108
115
|
return (1 & ((d - 1) >>> 8)) - 1;
|
|
109
116
|
}
|
|
110
117
|
function neq25519(a, b) {
|
|
111
|
-
|
|
112
|
-
|
|
118
|
+
const c = new Uint8Array(32);
|
|
119
|
+
const d = new Uint8Array(32);
|
|
113
120
|
pack25519(c, a);
|
|
114
121
|
pack25519(d, b);
|
|
115
122
|
return verify32(c, d);
|
|
116
123
|
}
|
|
117
124
|
function par25519(a) {
|
|
118
|
-
|
|
125
|
+
const d = new Uint8Array(32);
|
|
119
126
|
pack25519(d, a);
|
|
120
127
|
return d[0] & 1;
|
|
121
128
|
}
|
|
122
129
|
function unpack25519(o, n) {
|
|
123
|
-
for (
|
|
130
|
+
for (let i = 0; i < 16; i++) {
|
|
124
131
|
o[i] = n[2 * i] + (n[2 * i + 1] << 8);
|
|
125
132
|
}
|
|
126
133
|
o[15] &= 0x7fff;
|
|
127
134
|
}
|
|
128
135
|
function add(o, a, b) {
|
|
129
|
-
for (
|
|
136
|
+
for (let i = 0; i < 16; i++) {
|
|
130
137
|
o[i] = a[i] + b[i];
|
|
131
138
|
}
|
|
132
139
|
}
|
|
133
140
|
function sub(o, a, b) {
|
|
134
|
-
for (
|
|
141
|
+
for (let i = 0; i < 16; i++) {
|
|
135
142
|
o[i] = a[i] - b[i];
|
|
136
143
|
}
|
|
137
144
|
}
|
|
138
145
|
function mul(o, a, b) {
|
|
139
|
-
|
|
146
|
+
let v, c, t0 = 0, t1 = 0, t2 = 0, t3 = 0, t4 = 0, t5 = 0, t6 = 0, t7 = 0, t8 = 0, t9 = 0, t10 = 0, t11 = 0, t12 = 0, t13 = 0, t14 = 0, t15 = 0, t16 = 0, t17 = 0, t18 = 0, t19 = 0, t20 = 0, t21 = 0, t22 = 0, t23 = 0, t24 = 0, t25 = 0, t26 = 0, t27 = 0, t28 = 0, t29 = 0, t30 = 0, b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3], b4 = b[4], b5 = b[5], b6 = b[6], b7 = b[7], b8 = b[8], b9 = b[9], b10 = b[10], b11 = b[11], b12 = b[12], b13 = b[13], b14 = b[14], b15 = b[15];
|
|
140
147
|
v = a[0];
|
|
141
148
|
t0 += v * b0;
|
|
142
149
|
t1 += v * b1;
|
|
@@ -548,8 +555,8 @@ function square(o, a) {
|
|
|
548
555
|
mul(o, a, a);
|
|
549
556
|
}
|
|
550
557
|
function inv25519(o, i) {
|
|
551
|
-
|
|
552
|
-
|
|
558
|
+
const c = gf();
|
|
559
|
+
let a;
|
|
553
560
|
for (a = 0; a < 16; a++) {
|
|
554
561
|
c[a] = i[a];
|
|
555
562
|
}
|
|
@@ -564,8 +571,8 @@ function inv25519(o, i) {
|
|
|
564
571
|
}
|
|
565
572
|
}
|
|
566
573
|
function pow2523(o, i) {
|
|
567
|
-
|
|
568
|
-
|
|
574
|
+
const c = gf();
|
|
575
|
+
let a;
|
|
569
576
|
for (a = 0; a < 16; a++) {
|
|
570
577
|
c[a] = i[a];
|
|
571
578
|
}
|
|
@@ -580,7 +587,7 @@ function pow2523(o, i) {
|
|
|
580
587
|
}
|
|
581
588
|
}
|
|
582
589
|
function edadd(p, q) {
|
|
583
|
-
|
|
590
|
+
const a = gf(), b = gf(), c = gf(), d = gf(), e = gf(), f = gf(), g = gf(), h = gf(), t = gf();
|
|
584
591
|
sub(a, p[1], p[0]);
|
|
585
592
|
sub(t, q[1], q[0]);
|
|
586
593
|
mul(a, a, t);
|
|
@@ -601,12 +608,12 @@ function edadd(p, q) {
|
|
|
601
608
|
mul(p[3], e, h);
|
|
602
609
|
}
|
|
603
610
|
function cswap(p, q, b) {
|
|
604
|
-
for (
|
|
611
|
+
for (let i = 0; i < 4; i++) {
|
|
605
612
|
sel25519(p[i], q[i], b);
|
|
606
613
|
}
|
|
607
614
|
}
|
|
608
615
|
function pack(r, p) {
|
|
609
|
-
|
|
616
|
+
const tx = gf(), ty = gf(), zi = gf();
|
|
610
617
|
inv25519(zi, p[2]);
|
|
611
618
|
mul(tx, p[0], zi);
|
|
612
619
|
mul(ty, p[1], zi);
|
|
@@ -618,8 +625,8 @@ function scalarmult(p, q, s) {
|
|
|
618
625
|
set25519(p[1], gf1);
|
|
619
626
|
set25519(p[2], gf1);
|
|
620
627
|
set25519(p[3], gf0);
|
|
621
|
-
for (
|
|
622
|
-
|
|
628
|
+
for (let i = 255; i >= 0; --i) {
|
|
629
|
+
const b = (s[(i / 8) | 0] >> (i & 7)) & 1;
|
|
623
630
|
cswap(p, q, b);
|
|
624
631
|
edadd(q, p);
|
|
625
632
|
edadd(p, p);
|
|
@@ -627,7 +634,7 @@ function scalarmult(p, q, s) {
|
|
|
627
634
|
}
|
|
628
635
|
}
|
|
629
636
|
function scalarbase(p, s) {
|
|
630
|
-
|
|
637
|
+
const q = [gf(), gf(), gf(), gf()];
|
|
631
638
|
set25519(q[0], X);
|
|
632
639
|
set25519(q[1], Y);
|
|
633
640
|
set25519(q[2], gf1);
|
|
@@ -637,48 +644,45 @@ function scalarbase(p, s) {
|
|
|
637
644
|
// Generates key pair from secret 32-byte seed.
|
|
638
645
|
function generateKeyPairFromSeed(seed) {
|
|
639
646
|
if (seed.length !== exports.SEED_LENGTH) {
|
|
640
|
-
throw new Error(
|
|
647
|
+
throw new Error(`ed25519: seed must be ${exports.SEED_LENGTH} bytes`);
|
|
641
648
|
}
|
|
642
|
-
|
|
649
|
+
const d = (0, sha512_1.hash)(seed);
|
|
643
650
|
d[0] &= 248;
|
|
644
651
|
d[31] &= 127;
|
|
645
652
|
d[31] |= 64;
|
|
646
|
-
|
|
647
|
-
|
|
653
|
+
const publicKey = new Uint8Array(32);
|
|
654
|
+
const p = [gf(), gf(), gf(), gf()];
|
|
648
655
|
scalarbase(p, d);
|
|
649
656
|
pack(publicKey, p);
|
|
650
|
-
|
|
657
|
+
const secretKey = new Uint8Array(64);
|
|
651
658
|
secretKey.set(seed);
|
|
652
659
|
secretKey.set(publicKey, 32);
|
|
653
660
|
return {
|
|
654
|
-
publicKey
|
|
655
|
-
secretKey
|
|
661
|
+
publicKey,
|
|
662
|
+
secretKey
|
|
656
663
|
};
|
|
657
664
|
}
|
|
658
|
-
exports.generateKeyPairFromSeed = generateKeyPairFromSeed;
|
|
659
665
|
function generateKeyPair(prng) {
|
|
660
|
-
|
|
661
|
-
|
|
666
|
+
const seed = (0, random_1.randomBytes)(32, prng);
|
|
667
|
+
const result = generateKeyPairFromSeed(seed);
|
|
662
668
|
(0, wipe_1.wipe)(seed);
|
|
663
669
|
return result;
|
|
664
670
|
}
|
|
665
|
-
exports.generateKeyPair = generateKeyPair;
|
|
666
671
|
function extractPublicKeyFromSecretKey(secretKey) {
|
|
667
672
|
if (secretKey.length !== exports.SECRET_KEY_LENGTH) {
|
|
668
|
-
throw new Error(
|
|
673
|
+
throw new Error(`ed25519: secret key must be ${exports.SECRET_KEY_LENGTH} bytes`);
|
|
669
674
|
}
|
|
670
675
|
return new Uint8Array(secretKey.subarray(32));
|
|
671
676
|
}
|
|
672
|
-
|
|
673
|
-
var L = new Float64Array([
|
|
677
|
+
const L = new Float64Array([
|
|
674
678
|
0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7, 0xa2,
|
|
675
679
|
0xde, 0xf9, 0xde, 0x14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x10
|
|
676
680
|
]);
|
|
677
681
|
function modL(r, x) {
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
+
let carry;
|
|
683
|
+
let i;
|
|
684
|
+
let j;
|
|
685
|
+
let k;
|
|
682
686
|
for (i = 63; i >= 32; --i) {
|
|
683
687
|
carry = 0;
|
|
684
688
|
for (j = i - 32, k = i - 12; j < k; ++j) {
|
|
@@ -704,29 +708,29 @@ function modL(r, x) {
|
|
|
704
708
|
}
|
|
705
709
|
}
|
|
706
710
|
function reduce(r) {
|
|
707
|
-
|
|
708
|
-
for (
|
|
711
|
+
const x = new Float64Array(64);
|
|
712
|
+
for (let i = 0; i < 64; i++) {
|
|
709
713
|
x[i] = r[i];
|
|
710
714
|
}
|
|
711
|
-
for (
|
|
715
|
+
for (let i = 0; i < 64; i++) {
|
|
712
716
|
r[i] = 0;
|
|
713
717
|
}
|
|
714
718
|
modL(r, x);
|
|
715
719
|
}
|
|
716
720
|
// Returns 64-byte signature of the message under the 64-byte secret key.
|
|
717
721
|
function sign(secretKey, message) {
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
722
|
+
const x = new Float64Array(64);
|
|
723
|
+
const p = [gf(), gf(), gf(), gf()];
|
|
724
|
+
const d = (0, sha512_1.hash)(secretKey.subarray(0, 32));
|
|
721
725
|
d[0] &= 248;
|
|
722
726
|
d[31] &= 127;
|
|
723
727
|
d[31] |= 64;
|
|
724
|
-
|
|
728
|
+
const signature = new Uint8Array(64);
|
|
725
729
|
signature.set(d.subarray(32), 32);
|
|
726
|
-
|
|
730
|
+
const hs = new sha512_1.SHA512();
|
|
727
731
|
hs.update(signature.subarray(32));
|
|
728
732
|
hs.update(message);
|
|
729
|
-
|
|
733
|
+
const r = hs.digest();
|
|
730
734
|
hs.clean();
|
|
731
735
|
reduce(r);
|
|
732
736
|
scalarbase(p, r);
|
|
@@ -735,22 +739,21 @@ function sign(secretKey, message) {
|
|
|
735
739
|
hs.update(signature.subarray(0, 32));
|
|
736
740
|
hs.update(secretKey.subarray(32));
|
|
737
741
|
hs.update(message);
|
|
738
|
-
|
|
742
|
+
const h = hs.digest();
|
|
739
743
|
reduce(h);
|
|
740
|
-
for (
|
|
744
|
+
for (let i = 0; i < 32; i++) {
|
|
741
745
|
x[i] = r[i];
|
|
742
746
|
}
|
|
743
|
-
for (
|
|
744
|
-
for (
|
|
747
|
+
for (let i = 0; i < 32; i++) {
|
|
748
|
+
for (let j = 0; j < 32; j++) {
|
|
745
749
|
x[i + j] += h[i] * d[j];
|
|
746
750
|
}
|
|
747
751
|
}
|
|
748
752
|
modL(signature.subarray(32), x);
|
|
749
753
|
return signature;
|
|
750
754
|
}
|
|
751
|
-
exports.sign = sign;
|
|
752
755
|
function unpackneg(r, p) {
|
|
753
|
-
|
|
756
|
+
const t = gf(), chk = gf(), num = gf(), den = gf(), den2 = gf(), den4 = gf(), den6 = gf();
|
|
754
757
|
set25519(r[2], gf1);
|
|
755
758
|
unpack25519(r[1], p);
|
|
756
759
|
square(num, r[1]);
|
|
@@ -784,20 +787,20 @@ function unpackneg(r, p) {
|
|
|
784
787
|
return 0;
|
|
785
788
|
}
|
|
786
789
|
function verify(publicKey, message, signature) {
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
+
const t = new Uint8Array(32);
|
|
791
|
+
const p = [gf(), gf(), gf(), gf()];
|
|
792
|
+
const q = [gf(), gf(), gf(), gf()];
|
|
790
793
|
if (signature.length !== exports.SIGNATURE_LENGTH) {
|
|
791
|
-
throw new Error(
|
|
794
|
+
throw new Error(`ed25519: signature must be ${exports.SIGNATURE_LENGTH} bytes`);
|
|
792
795
|
}
|
|
793
796
|
if (unpackneg(q, publicKey)) {
|
|
794
797
|
return false;
|
|
795
798
|
}
|
|
796
|
-
|
|
799
|
+
const hs = new sha512_1.SHA512();
|
|
797
800
|
hs.update(signature.subarray(0, 32));
|
|
798
801
|
hs.update(publicKey);
|
|
799
802
|
hs.update(message);
|
|
800
|
-
|
|
803
|
+
const h = hs.digest();
|
|
801
804
|
reduce(h);
|
|
802
805
|
scalarmult(p, q, h);
|
|
803
806
|
scalarbase(q, signature.subarray(32));
|
|
@@ -808,41 +811,38 @@ function verify(publicKey, message, signature) {
|
|
|
808
811
|
}
|
|
809
812
|
return true;
|
|
810
813
|
}
|
|
811
|
-
exports.verify = verify;
|
|
812
814
|
/**
|
|
813
815
|
* Convert Ed25519 public key to X25519 public key.
|
|
814
816
|
*
|
|
815
817
|
* Throws if given an invalid public key.
|
|
816
818
|
*/
|
|
817
819
|
function convertPublicKeyToX25519(publicKey) {
|
|
818
|
-
|
|
820
|
+
let q = [gf(), gf(), gf(), gf()];
|
|
819
821
|
if (unpackneg(q, publicKey)) {
|
|
820
822
|
throw new Error("Ed25519: invalid public key");
|
|
821
823
|
}
|
|
822
824
|
// Formula: montgomeryX = (edwardsY + 1)*inverse(1 - edwardsY) mod p
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
825
|
+
let a = gf();
|
|
826
|
+
let b = gf();
|
|
827
|
+
let y = q[1];
|
|
826
828
|
add(a, gf1, y);
|
|
827
829
|
sub(b, gf1, y);
|
|
828
830
|
inv25519(b, b);
|
|
829
831
|
mul(a, a, b);
|
|
830
|
-
|
|
832
|
+
let z = new Uint8Array(32);
|
|
831
833
|
pack25519(z, a);
|
|
832
834
|
return z;
|
|
833
835
|
}
|
|
834
|
-
exports.convertPublicKeyToX25519 = convertPublicKeyToX25519;
|
|
835
836
|
/**
|
|
836
837
|
* Convert Ed25519 secret (private) key to X25519 secret key.
|
|
837
838
|
*/
|
|
838
839
|
function convertSecretKeyToX25519(secretKey) {
|
|
839
|
-
|
|
840
|
+
const d = (0, sha512_1.hash)(secretKey.subarray(0, 32));
|
|
840
841
|
d[0] &= 248;
|
|
841
842
|
d[31] &= 127;
|
|
842
843
|
d[31] |= 64;
|
|
843
|
-
|
|
844
|
+
const o = new Uint8Array(d.subarray(0, 32));
|
|
844
845
|
(0, wipe_1.wipe)(d);
|
|
845
846
|
return o;
|
|
846
847
|
}
|
|
847
|
-
exports.convertSecretKeyToX25519 = convertSecretKeyToX25519;
|
|
848
848
|
//# sourceMappingURL=ed25519.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ed25519.js","sourceRoot":"","sources":["../../../../../../../src/dependencies/src/@stablelib/ed25519-1.0.3/packages/ed25519/ed25519.ts"],"names":[],"mappings":"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GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACV,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACV,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACV,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACV,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACV,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACV,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IAEf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;IAChB,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;IAChB,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;IAChB,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;IAChB,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;IAChB,iBAAiB;IAEjB,YAAY;IACZ,CAAC,GAAG,CAAC,CAAC;IACN,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAE3B,aAAa;IACb,CAAC,GAAG,CAAC,CAAC;IACN,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KA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"}
|
|
1
|
+
{"version":3,"file":"ed25519.js","sourceRoot":"","sources":["../../../../../../../src/dependencies/src/@stablelib/ed25519-1.0.3/packages/ed25519/ed25519.ts"],"names":[],"mappings":"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AI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACV,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACV,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACV,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACV,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACV,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACV,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IAEf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;IAChB,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;IAChB,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;IAChB,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;IAChB,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;IAChB,iBAAiB;IAEjB,YAAY;IACZ,CAAC,GAAG,CAAC,CAAC;IACN,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAE3B,aAAa;IACb,CAAC,GAAG,CAAC,CAAC;IACN,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,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"}
|
|
@@ -2,13 +2,12 @@
|
|
|
2
2
|
// Copyright (C) 2016 Dmitry Chestnykh
|
|
3
3
|
// MIT License. See LICENSE file for details.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.isSerializableHash =
|
|
5
|
+
exports.isSerializableHash = isSerializableHash;
|
|
6
6
|
function isSerializableHash(h) {
|
|
7
7
|
return (typeof h.saveState !== "undefined" &&
|
|
8
8
|
typeof h.restoreState !== "undefined" &&
|
|
9
9
|
typeof h.cleanSavedState !== "undefined");
|
|
10
10
|
}
|
|
11
|
-
exports.isSerializableHash = isSerializableHash;
|
|
12
11
|
// TODO(dchest): figure out the standardized interface for XOF such as
|
|
13
12
|
// SHAKE and BLAKE2X.
|
|
14
13
|
//# sourceMappingURL=hash.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hash.js","sourceRoot":"","sources":["../../../../../../../src/dependencies/src/@stablelib/hash-1.0.1/packages/hash/hash.ts"],"names":[],"mappings":";AAAA,sCAAsC;AACtC,6CAA6C
|
|
1
|
+
{"version":3,"file":"hash.js","sourceRoot":"","sources":["../../../../../../../src/dependencies/src/@stablelib/hash-1.0.1/packages/hash/hash.ts"],"names":[],"mappings":";AAAA,sCAAsC;AACtC,6CAA6C;;AA0B7C,gDAMC;AAND,SAAgB,kBAAkB,CAAC,CAAO;IACtC,OAAO,CACH,OAAQ,CAAsB,CAAC,SAAS,KAAK,WAAW;QACxD,OAAQ,CAAsB,CAAC,YAAY,KAAK,WAAW;QAC3D,OAAQ,CAAsB,CAAC,eAAe,KAAK,WAAW,CACjE,CAAC;AACN,CAAC;AAED,sEAAsE;AACtE,qBAAqB"}
|