Socket
Socket
Sign inDemoInstall

@aws-crypto/kms-keyring

Package Overview
Dependencies
7
Maintainers
9
Versions
22
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 2.2.0 to 2.3.0

build/main/arn_parsing.d.ts

6

build/main/helpers.d.ts

@@ -5,6 +5,6 @@ import { KmsClientSupplier } from './kms_client_supplier';

export declare const KMS_PROVIDER_ID = "aws-kms";
export declare function generateDataKey<Client extends AwsEsdkKMSInterface>(clientProvider: KmsClientSupplier<Client>, NumberOfBytes: number, KeyId: string, EncryptionContext: EncryptionContext, GrantTokens?: string[]): Promise<RequiredGenerateDataKeyResponse | false>;
export declare function encrypt<Client extends AwsEsdkKMSInterface>(clientProvider: KmsClientSupplier<Client>, Plaintext: Uint8Array, KeyId: string, EncryptionContext: EncryptionContext, GrantTokens?: string[]): Promise<RequiredEncryptResponse | false>;
export declare function decrypt<Client extends AwsEsdkKMSInterface>(clientProvider: KmsClientSupplier<Client>, { providerId, providerInfo, encryptedDataKey }: EncryptedDataKey, EncryptionContext: EncryptionContext, GrantTokens?: string[]): Promise<RequiredDecryptResponse | false>;
export declare function generateDataKey<Client extends AwsEsdkKMSInterface>(clientProvider: KmsClientSupplier<Client> | Client, NumberOfBytes: number, KeyId: string, EncryptionContext: EncryptionContext, GrantTokens?: string[]): Promise<RequiredGenerateDataKeyResponse | false>;
export declare function encrypt<Client extends AwsEsdkKMSInterface>(clientProvider: KmsClientSupplier<Client> | Client, Plaintext: Uint8Array, KeyId: string, EncryptionContext: EncryptionContext, GrantTokens?: string[]): Promise<RequiredEncryptResponse | false>;
export declare function decrypt<Client extends AwsEsdkKMSInterface>(clientProvider: KmsClientSupplier<Client> | Client, { providerId, providerInfo, encryptedDataKey }: EncryptedDataKey, EncryptionContext: EncryptionContext, GrantTokens?: string[]): Promise<RequiredDecryptResponse | false>;
export declare function kmsResponseToEncryptedDataKey({ KeyId: providerInfo, CiphertextBlob: encryptedDataKey, }: RequiredEncryptResponse): EncryptedDataKey;
//# sourceMappingURL=helpers.d.ts.map

@@ -6,8 +6,9 @@ "use strict";

exports.kmsResponseToEncryptedDataKey = exports.decrypt = exports.encrypt = exports.generateDataKey = exports.KMS_PROVIDER_ID = void 0;
const region_from_kms_key_arn_1 = require("./region_from_kms_key_arn");
const arn_parsing_1 = require("./arn_parsing");
const material_management_1 = require("@aws-crypto/material-management");
exports.KMS_PROVIDER_ID = 'aws-kms';
async function generateDataKey(clientProvider, NumberOfBytes, KeyId, EncryptionContext, GrantTokens) {
const region = region_from_kms_key_arn_1.regionFromKmsKeyArn(KeyId);
const client = clientProvider(region);
const client = typeof clientProvider === 'function'
? clientProvider(arn_parsing_1.getRegionFromIdentifier(KeyId))
: clientProvider;
/* Check for early return (Postcondition): clientProvider did not return a client for generateDataKey. */

@@ -28,4 +29,5 @@ if (!client)

async function encrypt(clientProvider, Plaintext, KeyId, EncryptionContext, GrantTokens) {
const region = region_from_kms_key_arn_1.regionFromKmsKeyArn(KeyId);
const client = clientProvider(region);
const client = typeof clientProvider === 'function'
? clientProvider(arn_parsing_1.getRegionFromIdentifier(KeyId))
: clientProvider;
/* Check for early return (Postcondition): clientProvider did not return a client for encrypt. */

@@ -48,4 +50,5 @@ if (!client)

material_management_1.needs(providerId === exports.KMS_PROVIDER_ID, 'Unsupported providerId');
const region = region_from_kms_key_arn_1.regionFromKmsKeyArn(providerInfo);
const client = clientProvider(region);
const client = typeof clientProvider === 'function'
? clientProvider(arn_parsing_1.getRegionFromIdentifier(providerInfo))
: clientProvider;
/* Check for early return (Postcondition): clientProvider did not return a client for decrypt. */

@@ -107,2 +110,2 @@ if (!client)

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvRUFBb0U7QUFDcEUsc0NBQXNDOzs7QUFZdEMsdUVBQStEO0FBQy9ELHlFQUl3QztBQUUzQixRQUFBLGVBQWUsR0FBRyxTQUFTLENBQUE7QUFFakMsS0FBSyxVQUFVLGVBQWUsQ0FDbkMsY0FBeUMsRUFDekMsYUFBcUIsRUFDckIsS0FBYSxFQUNiLGlCQUFvQyxFQUNwQyxXQUFzQjtJQUV0QixNQUFNLE1BQU0sR0FBRyw2Q0FBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN6QyxNQUFNLE1BQU0sR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUE7SUFFckMseUdBQXlHO0lBQ3pHLElBQUksQ0FBQyxNQUFNO1FBQUUsT0FBTyxLQUFLLENBQUE7SUFDekIsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQztRQUM1QyxLQUFLO1FBQ0wsV0FBVztRQUNYLGFBQWE7UUFDYixpQkFBaUI7S0FDbEIsQ0FBQyxDQUFBO0lBQ0YsTUFBTSxhQUFhLEdBQ2pCLFNBQVMsSUFBSSxjQUFjLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFBO0lBQ3pFLE1BQU0sT0FBTyxHQUFHLE1BQU0sYUFBYSxDQUFBO0lBRW5DLE9BQU8sbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUE7QUFDckMsQ0FBQztBQXZCRCwwQ0F1QkM7QUFFTSxLQUFLLFVBQVUsT0FBTyxDQUMzQixjQUF5QyxFQUN6QyxTQUFxQixFQUNyQixLQUFhLEVBQ2IsaUJBQW9DLEVBQ3BDLFdBQXNCO0lBRXRCLE1BQU0sTUFBTSxHQUFHLDZDQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3pDLE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUVyQyxpR0FBaUc7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
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvRUFBb0U7QUFDcEUsc0NBQXNDOzs7QUFZdEMsK0NBQXVEO0FBQ3ZELHlFQUl3QztBQUUzQixRQUFBLGVBQWUsR0FBRyxTQUFTLENBQUE7QUFFakMsS0FBSyxVQUFVLGVBQWUsQ0FDbkMsY0FBa0QsRUFDbEQsYUFBcUIsRUFDckIsS0FBYSxFQUNiLGlCQUFvQyxFQUNwQyxXQUFzQjtJQUV0QixNQUFNLE1BQU0sR0FDVixPQUFPLGNBQWMsS0FBSyxVQUFVO1FBQ2xDLENBQUMsQ0FBQyxjQUFjLENBQUMscUNBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEQsQ0FBQyxDQUFDLGNBQWMsQ0FBQTtJQUVwQix5R0FBeUc7SUFDekcsSUFBSSxDQUFDLE1BQU07UUFBRSxPQUFPLEtBQUssQ0FBQTtJQUN6QixNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDO1FBQzVDLEtBQUs7UUFDTCxXQUFXO1FBQ1gsYUFBYTtRQUNiLGlCQUFpQjtLQUNsQixDQUFDLENBQUE7SUFDRixNQUFNLGFBQWEsR0FDakIsU0FBUyxJQUFJLGNBQWMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUE7SUFDekUsTUFBTSxPQUFPLEdBQUcsTUFBTSxhQUFhLENBQUE7SUFFbkMsT0FBTyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQTtBQUNyQyxDQUFDO0FBekJELDBDQXlCQztBQUVNLEtBQUssVUFBVSxPQUFPLENBQzNCLGNBQWtELEVBQ2xELFNBQXFCLEVBQ3JCLEtBQWEsRUFDYixpQkFBb0MsRUFDcEMsV0FBc0I7SUFFdEIsTUFBTSxNQUFNLEdBQ1YsT0FBTyxjQUFjLEtBQUssVUFBVTtRQUNsQyxDQUFDLENBQUMsY0FBYyxDQUFDLHFDQUF1QixDQUFDLEtB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
export * from './kms_client_supplier';
export * from './kms_keyring';
export * from './kms_mrk_keyring';
export * from './kms_mrk_discovery_keyring';
export * from './helpers';
export * from './region_from_kms_key_arn';
export * from './kms_mrk_strict_multi_keyring';
export * from './kms_mrk_discovery_multi_keyring';
//# sourceMappingURL=index.d.ts.map

@@ -17,4 +17,8 @@ "use strict";

__exportStar(require("./kms_keyring"), exports);
__exportStar(require("./kms_mrk_keyring"), exports);
__exportStar(require("./kms_mrk_discovery_keyring"), exports);
__exportStar(require("./helpers"), exports);
__exportStar(require("./region_from_kms_key_arn"), exports);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLG9FQUFvRTtBQUNwRSxzQ0FBc0M7Ozs7Ozs7Ozs7OztBQUV0Qyx3REFBcUM7QUFDckMsZ0RBQTZCO0FBQzdCLDRDQUF5QjtBQUN6Qiw0REFBeUMifQ==
__exportStar(require("./kms_mrk_strict_multi_keyring"), exports);
__exportStar(require("./kms_mrk_discovery_multi_keyring"), exports);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLG9FQUFvRTtBQUNwRSxzQ0FBc0M7Ozs7Ozs7Ozs7OztBQUV0Qyx3REFBcUM7QUFDckMsZ0RBQTZCO0FBQzdCLG9EQUFpQztBQUNqQyw4REFBMkM7QUFDM0MsNENBQXlCO0FBQ3pCLDREQUF5QztBQUN6QyxpRUFBOEM7QUFDOUMsb0VBQWlEIn0=
import { KmsClientSupplier } from './kms_client_supplier';
import { AwsEsdkKMSInterface } from './kms_types';
import { Keyring, EncryptionMaterial, DecryptionMaterial, SupportedAlgorithmSuites, EncryptedDataKey } from '@aws-crypto/material-management';
import { Keyring, EncryptionMaterial, DecryptionMaterial, SupportedAlgorithmSuites, EncryptedDataKey, Newable } from '@aws-crypto/material-management';
export interface KmsKeyringInput<Client extends AwsEsdkKMSInterface> {

@@ -15,3 +15,3 @@ clientProvider: KmsClientSupplier<Client>;

}
export interface KeyRing<S extends SupportedAlgorithmSuites, Client extends AwsEsdkKMSInterface> extends Keyring<S> {
export interface KmsKeyRing<S extends SupportedAlgorithmSuites, Client extends AwsEsdkKMSInterface> extends Keyring<S> {
keyIds: ReadonlyArray<string>;

@@ -30,8 +30,5 @@ generatorKeyId?: string;

export interface KmsKeyRingConstructible<S extends SupportedAlgorithmSuites, Client extends AwsEsdkKMSInterface> {
new (input: KmsKeyringInput<Client>): KeyRing<S, Client>;
new (input: KmsKeyringInput<Client>): KmsKeyRing<S, Client>;
}
export interface KeyRingConstructible<S extends SupportedAlgorithmSuites> {
new (): Keyring<S>;
}
export declare function KmsKeyringClass<S extends SupportedAlgorithmSuites, Client extends AwsEsdkKMSInterface>(BaseKeyring: KeyRingConstructible<S>): KmsKeyRingConstructible<S, Client>;
export declare function KmsKeyringClass<S extends SupportedAlgorithmSuites, Client extends AwsEsdkKMSInterface>(BaseKeyring: Newable<Keyring<S>>): KmsKeyRingConstructible<S, Client>;
//# sourceMappingURL=kms_keyring.d.ts.map

@@ -8,3 +8,3 @@ "use strict";

const helpers_1 = require("./helpers");
const region_from_kms_key_arn_1 = require("./region_from_kms_key_arn");
const arn_parsing_1 = require("./arn_parsing");
function KmsKeyringClass(BaseKeyring) {

@@ -33,5 +33,4 @@ class KmsKeyring extends BaseKeyring {

/* Precondition: All KMS key identifiers must be valid. */
material_management_1.needs(!generatorKeyId ||
typeof region_from_kms_key_arn_1.regionFromKmsKeyArn(generatorKeyId) === 'string', 'Malformed arn.');
material_management_1.needs(keyIds.every((keyArn) => typeof region_from_kms_key_arn_1.regionFromKmsKeyArn(keyArn) === 'string'), 'Malformed arn.');
material_management_1.needs(!generatorKeyId || arn_parsing_1.validAwsKmsIdentifier(generatorKeyId), 'Malformed arn.');
material_management_1.needs(keyIds.every((keyArn) => arn_parsing_1.validAwsKmsIdentifier(keyArn)), 'Malformed arn.');
/* Precondition: clientProvider needs to be a callable function. */

@@ -130,3 +129,3 @@ material_management_1.needs(typeof clientProvider === 'function', 'Missing clientProvider');

/* Postcondition: The KeyId from KMS must match the encoded KeyID. */
material_management_1.needs(dataKey.KeyId === edk.providerInfo, 'KMS Decryption key does not match serialized provider.');
material_management_1.needs(dataKey.KeyId === edk.providerInfo, 'KMS Decryption key does not match the requested key id.');
const flags = material_management_1.KeyringTraceFlag.WRAPPING_KEY_DECRYPTED_DATA_KEY |

@@ -175,2 +174,5 @@ material_management_1.KeyringTraceFlag.WRAPPING_KEY_VERIFIED_ENC_CTX;

return true;
const parsedArn = arn_parsing_1.parseAwsKmsKeyArn(providerInfo);
/* Postcondition: Provider info is a well formed AWS KMS ARN. */
material_management_1.needs(parsedArn, 'Malformed arn in provider info.');
/* If the providerInfo is an invalid ARN this will throw.

@@ -183,3 +185,3 @@ * But, this function is also used to extract regions

*/
const { account, partition } = region_from_kms_key_arn_1.decomposeAwsKmsKeyArn(providerInfo);
const { AccountId, Partition } = parsedArn;
/* Postcondition: The account and partition *must* match the discovery filter.

@@ -193,4 +195,4 @@ * Since we are offering a runtime discovery of CMKs

*/
return (discoveryFilter.partition === partition &&
discoveryFilter.accountIDs.some((a) => a === account));
return (discoveryFilter.partition === Partition &&
discoveryFilter.accountIDs.some((a) => a === AccountId));
}

@@ -203,2 +205,2 @@ else {

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia21zX2tleXJpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMva21zX2tleXJpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLG9FQUFvRTtBQUNwRSxzQ0FBc0M7OztBQUl0Qyx5RUFZd0M7QUFDeEMsdUNBTWtCO0FBQ2xCLHVFQUdrQztBQTZDbEMsU0FBZ0IsZUFBZSxDQUc3QixXQUFvQztJQUNwQyxNQUFNLFVBQVcsU0FBUSxXQUFXO1FBV2xDLFlBQVksRUFDVixjQUFjLEVBQ2QsY0FBYyxFQUNkLE1BQU0sR0FBRyxFQUFFLEVBQ1gsV0FBVyxFQUNYLFNBQVMsRUFDVCxlQUFlLEdBQ1M7WUFDeEIsS0FBSyxFQUFFLENBQUE7WUFDUCx1R0FBdUc7WUFDdkcsMkJBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxLQUFLLFVBQVUsRUFBRSwrQkFBK0IsQ0FBQyxDQUFBO1lBQ3ZFLHFEQUFxRDtZQUNyRCwyQkFBSyxDQUNILENBQUMsQ0FBQyxDQUFDLFNBQVMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFDbEQsdURBQXVELENBQ3hELENBQUE7WUFDRCxrRkFBa0Y7WUFDbEYsMkJBQUssQ0FDSCxDQUFDLENBQUMsU0FBUyxJQUFJLENBQUMsY0FBYyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUNqRCxnRUFBZ0UsQ0FDakUsQ0FBQTtZQUNELDhFQUE4RTtZQUM5RSwyQkFBSyxDQUNILFNBQVMsSUFBSSxDQUFDLENBQUMsU0FBUyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQzdDLG9GQUFvRixDQUNyRixDQUFBO1lBQ0Q7Ozs7ZUFJRztZQUNILDJCQUFLLENBQ0gsQ0FBQyxlQUFlO2dCQUNkLENBQUMsZUFBZSxDQUFDLFVBQVU7b0JBQ3pCLGVBQWUsQ0FBQyxVQUFVLENBQUMsTUFBTTtvQkFDakMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxTQUFTO29CQUMzQixlQUFlLENBQUMsVUFB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
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia21zX2tleXJpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMva21zX2tleXJpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLG9FQUFvRTtBQUNwRSxzQ0FBc0M7OztBQUl0Qyx5RUFhd0M7QUFDeEMsdUNBTWtCO0FBQ2xCLCtDQUF3RTtBQXlDeEUsU0FBZ0IsZUFBZSxDQUc3QixXQUFnQztJQUNoQyxNQUFNLFVBQVcsU0FBUSxXQUFXO1FBV2xDLFlBQVksRUFDVixjQUFjLEVBQ2QsY0FBYyxFQUNkLE1BQU0sR0FBRyxFQUFFLEVBQ1gsV0FBVyxFQUNYLFNBQVMsRUFDVCxlQUFlLEdBQ1M7WUFDeEIsS0FBSyxFQUFFLENBQUE7WUFDUCx1R0FBdUc7WUFDdkcsMkJBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxLQUFLLFVBQVUsRUFBRSwrQkFBK0IsQ0FBQyxDQUFBO1lBQ3ZFLHFEQUFxRDtZQUNyRCwyQkFBSyxDQUNILENBQUMsQ0FBQyxDQUFDLFNBQVMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFDbEQsdURBQXVELENBQ3hELENBQUE7WUFDRCxrRkFBa0Y7WUFDbEYsMkJBQUssQ0FDSCxDQUFDLENBQUMsU0FBUyxJQUFJLENBQUMsY0FBYyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUNqRCxnRUFBZ0UsQ0FDakUsQ0FBQTtZQUNELDhFQUE4RTtZQUM5RSwyQkFBSyxDQUNILFNBQVMsSUFBSSxDQUFDLENBQUMsU0FBUyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQzdDLG9GQUFvRixDQUNyRixDQUFBO1lBQ0Q7Ozs7ZUFJRztZQUNILDJCQUFLLENBQ0gsQ0FBQyxlQUFlO2dCQUNkLENBQUMsZUFBZSxDQUFDLFVBQVU7b0JBQ3pCLGVBQWUsQ0FBQyxVQUFVLENBQUMsTUFBTTtvQkFDakMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxTQUFTO29CQUMzQixlQUFlLENBQUMsVUFB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

@@ -0,7 +1,15 @@

/**
* @deprecated Because decomposeAwsKmsKeyArn is incorrect,
* use parseAwsKmsIdentifier or parseAwsKmsKeyArn.
*/
export declare function regionFromKmsKeyArn(kmsKeyArn: string): string;
/**
* @deprecated This function incorrectly requires `key/12345678-1234-1234-1234-123456789012`
* AWS KMS requires that a raw key id be `12345678-1234-1234-1234-123456789012`
*/
export declare function decomposeAwsKmsKeyArn(kmsKeyArn: string): {
partition: string;
region: string;
account: string;
partition: string;
};
//# sourceMappingURL=region_from_kms_key_arn.d.ts.map

@@ -16,2 +16,6 @@ "use strict";

/* Maintaining function for backwards compatibility. */
/**
* @deprecated Because decomposeAwsKmsKeyArn is incorrect,
* use parseAwsKmsIdentifier or parseAwsKmsKeyArn.
*/
function regionFromKmsKeyArn(kmsKeyArn) {

@@ -22,2 +26,6 @@ const { region } = decomposeAwsKmsKeyArn(kmsKeyArn);

exports.regionFromKmsKeyArn = regionFromKmsKeyArn;
/**
* @deprecated This function incorrectly requires `key/12345678-1234-1234-1234-123456789012`
* AWS KMS requires that a raw key id be `12345678-1234-1234-1234-123456789012`
*/
function decomposeAwsKmsKeyArn(kmsKeyArn) {

@@ -34,3 +42,3 @@ /* Precondition: A KMS key arn must be a string. */

* but the aws section does not.
* It is also possible to have a a key or alias.
* It is also possible to have a key or alias.
* In this case the partition, service, region

@@ -48,5 +56,5 @@ * will be empty.

(!service && !region && arnLiteral.match(aliasOrKeyResourceType)), 'Malformed arn.');
return { region, account, partition };
return { partition, region, account };
}
exports.decomposeAwsKmsKeyArn = decomposeAwsKmsKeyArn;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaW9uX2Zyb21fa21zX2tleV9hcm4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVnaW9uX2Zyb21fa21zX2tleV9hcm4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLG9FQUFvRTtBQUNwRSxzQ0FBc0M7OztBQUV0Qyx5RUFBdUQ7QUFFdkQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxzQkFBc0IsR0FBRyxzQkFBc0IsQ0FBQTtBQUVyRCx1REFBdUQ7QUFDdkQsU0FBZ0IsbUJBQW1CLENBQUMsU0FBaUI7SUFDbkQsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQ25ELE9BQU8sTUFBTSxDQUFBO0FBQ2YsQ0FBQztBQUhELGtEQUdDO0FBRUQsU0FBZ0IscUJBQXFCLENBQ25DLFNBQWlCO0lBRWpCLG1EQUFtRDtJQUNuRCwyQkFBSyxDQUFDLE9BQU8sU0FBUyxLQUFLLFFBQVEsRUFBRSwrQkFBK0IsQ0FBQyxDQUFBO0lBRXJFOzs7T0FHRztJQUNILE1BQU0sQ0FDSixVQUFVLEVBQ1YsU0FBUyxFQUNULE9BQU8sRUFDUCxNQUFNLEdBQUcsRUFBRSxFQUNYLE9BQU8sR0FBRyxFQUFFLEVBQ2IsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBRXhCOzs7Ozs7O09BT0c7SUFDSCwyQkFBSyxDQUNILENBQUMsVUFBVSxLQUFLLEtBQUssSUFBSSxTQUFTLElBQUksT0FBTyxLQUFLLEtBQUssSUFBSSxNQUFNLENBQUM7UUFDaEU7Ozs7O1dBS0c7UUFDSCxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxFQUNuRSxnQkFBZ0IsQ0FDakIsQ0FBQTtJQUVELE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxDQUFBO0FBQ3ZDLENBQUM7QUF2Q0Qsc0RBdUNDIn0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaW9uX2Zyb21fa21zX2tleV9hcm4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVnaW9uX2Zyb21fa21zX2tleV9hcm4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLG9FQUFvRTtBQUNwRSxzQ0FBc0M7OztBQUV0Qyx5RUFBdUQ7QUFFdkQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxzQkFBc0IsR0FBRyxzQkFBc0IsQ0FBQTtBQUVyRCx1REFBdUQ7QUFDdkQ7OztHQUdHO0FBQ0gsU0FBZ0IsbUJBQW1CLENBQUMsU0FBaUI7SUFDbkQsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQ25ELE9BQU8sTUFBTSxDQUFBO0FBQ2YsQ0FBQztBQUhELGtEQUdDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBZ0IscUJBQXFCLENBQ25DLFNBQWlCO0lBRWpCLG1EQUFtRDtJQUNuRCwyQkFBSyxDQUFDLE9BQU8sU0FBUyxLQUFLLFFBQVEsRUFBRSwrQkFBK0IsQ0FBQyxDQUFBO0lBRXJFOzs7T0FHRztJQUNILE1BQU0sQ0FDSixVQUFVLEVBQ1YsU0FBUyxFQUNULE9BQU8sRUFDUCxNQUFNLEdBQUcsRUFBRSxFQUNYLE9BQU8sR0FBRyxFQUFFLEVBQ2IsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBRXhCOzs7Ozs7O09BT0c7SUFDSCwyQkFBSyxDQUNILENBQUMsVUFBVSxLQUFLLEtBQUssSUFBSSxTQUFTLElBQUksT0FBTyxLQUFLLEtBQUssSUFBSSxNQUFNLENBQUM7UUFDaEU7Ozs7O1dBS0c7UUFDSCxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxFQUNuRSxnQkFBZ0IsQ0FDakIsQ0FBQTtJQUVELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFBO0FBQ3ZDLENBQUM7QUF2Q0Qsc0RBdUNDIn0=

@@ -5,6 +5,6 @@ import { KmsClientSupplier } from './kms_client_supplier';

export declare const KMS_PROVIDER_ID = "aws-kms";
export declare function generateDataKey<Client extends AwsEsdkKMSInterface>(clientProvider: KmsClientSupplier<Client>, NumberOfBytes: number, KeyId: string, EncryptionContext: EncryptionContext, GrantTokens?: string[]): Promise<RequiredGenerateDataKeyResponse | false>;
export declare function encrypt<Client extends AwsEsdkKMSInterface>(clientProvider: KmsClientSupplier<Client>, Plaintext: Uint8Array, KeyId: string, EncryptionContext: EncryptionContext, GrantTokens?: string[]): Promise<RequiredEncryptResponse | false>;
export declare function decrypt<Client extends AwsEsdkKMSInterface>(clientProvider: KmsClientSupplier<Client>, { providerId, providerInfo, encryptedDataKey }: EncryptedDataKey, EncryptionContext: EncryptionContext, GrantTokens?: string[]): Promise<RequiredDecryptResponse | false>;
export declare function generateDataKey<Client extends AwsEsdkKMSInterface>(clientProvider: KmsClientSupplier<Client> | Client, NumberOfBytes: number, KeyId: string, EncryptionContext: EncryptionContext, GrantTokens?: string[]): Promise<RequiredGenerateDataKeyResponse | false>;
export declare function encrypt<Client extends AwsEsdkKMSInterface>(clientProvider: KmsClientSupplier<Client> | Client, Plaintext: Uint8Array, KeyId: string, EncryptionContext: EncryptionContext, GrantTokens?: string[]): Promise<RequiredEncryptResponse | false>;
export declare function decrypt<Client extends AwsEsdkKMSInterface>(clientProvider: KmsClientSupplier<Client> | Client, { providerId, providerInfo, encryptedDataKey }: EncryptedDataKey, EncryptionContext: EncryptionContext, GrantTokens?: string[]): Promise<RequiredDecryptResponse | false>;
export declare function kmsResponseToEncryptedDataKey({ KeyId: providerInfo, CiphertextBlob: encryptedDataKey, }: RequiredEncryptResponse): EncryptedDataKey;
//# sourceMappingURL=helpers.d.ts.map
// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0
import { regionFromKmsKeyArn } from './region_from_kms_key_arn';
import { getRegionFromIdentifier } from './arn_parsing';
import { EncryptedDataKey, needs, } from '@aws-crypto/material-management';
export const KMS_PROVIDER_ID = 'aws-kms';
export async function generateDataKey(clientProvider, NumberOfBytes, KeyId, EncryptionContext, GrantTokens) {
const region = regionFromKmsKeyArn(KeyId);
const client = clientProvider(region);
const client = typeof clientProvider === 'function'
? clientProvider(getRegionFromIdentifier(KeyId))
: clientProvider;
/* Check for early return (Postcondition): clientProvider did not return a client for generateDataKey. */

@@ -23,4 +24,5 @@ if (!client)

export async function encrypt(clientProvider, Plaintext, KeyId, EncryptionContext, GrantTokens) {
const region = regionFromKmsKeyArn(KeyId);
const client = clientProvider(region);
const client = typeof clientProvider === 'function'
? clientProvider(getRegionFromIdentifier(KeyId))
: clientProvider;
/* Check for early return (Postcondition): clientProvider did not return a client for encrypt. */

@@ -42,4 +44,5 @@ if (!client)

needs(providerId === KMS_PROVIDER_ID, 'Unsupported providerId');
const region = regionFromKmsKeyArn(providerInfo);
const client = clientProvider(region);
const client = typeof clientProvider === 'function'
? clientProvider(getRegionFromIdentifier(providerInfo))
: clientProvider;
/* Check for early return (Postcondition): clientProvider did not return a client for decrypt. */

@@ -99,2 +102,2 @@ if (!client)

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9FQUFvRTtBQUNwRSxzQ0FBc0M7QUFZdEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDL0QsT0FBTyxFQUVMLGdCQUFnQixFQUNoQixLQUFLLEdBQ04sTUFBTSxpQ0FBaUMsQ0FBQTtBQUV4QyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFBO0FBRXhDLE1BQU0sQ0FBQyxLQUFLLFVBQVUsZUFBZSxDQUNuQyxjQUF5QyxFQUN6QyxhQUFxQixFQUNyQixLQUFhLEVBQ2IsaUJBQW9DLEVBQ3BDLFdBQXNCO0lBRXRCLE1BQU0sTUFBTSxHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3pDLE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUVyQyx5R0FBeUc7SUFDekcsSUFBSSxDQUFDLE1BQU07UUFBRSxPQUFPLEtBQUssQ0FBQTtJQUN6QixNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDO1FBQzVDLEtBQUs7UUFDTCxXQUFXO1FBQ1gsYUFBYTtRQUNiLGlCQUFpQjtLQUNsQixDQUFDLENBQUE7SUFDRixNQUFNLGFBQWEsR0FDakIsU0FBUyxJQUFJLGNBQWMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUE7SUFDekUsTUFBTSxPQUFPLEdBQUcsTUFBTSxhQUFhLENBQUE7SUFFbkMsT0FBTyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQTtBQUNyQyxDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSxPQUFPLENBQzNCLGNBQXlDLEVBQ3pDLFNBQXFCLEVBQ3JCLEtBQWEsRUFDYixpQkFBb0MsRUFDcEMsV0FBc0I7SUFFdEIsTUFBTSxNQUFNLEdB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
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9FQUFvRTtBQUNwRSxzQ0FBc0M7QUFZdEMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3ZELE9BQU8sRUFFTCxnQkFBZ0IsRUFDaEIsS0FBSyxHQUNOLE1BQU0saUNBQWlDLENBQUE7QUFFeEMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLFNBQVMsQ0FBQTtBQUV4QyxNQUFNLENBQUMsS0FBSyxVQUFVLGVBQWUsQ0FDbkMsY0FBa0QsRUFDbEQsYUFBcUIsRUFDckIsS0FBYSxFQUNiLGlCQUFvQyxFQUNwQyxXQUFzQjtJQUV0QixNQUFNLE1BQU0sR0FDVixPQUFPLGNBQWMsS0FBSyxVQUFVO1FBQ2xDLENBQUMsQ0FBQyxjQUFjLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEQsQ0FBQyxDQUFDLGNBQWMsQ0FBQTtJQUVwQix5R0FBeUc7SUFDekcsSUFBSSxDQUFDLE1BQU07UUFBRSxPQUFPLEtBQUssQ0FBQTtJQUN6QixNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDO1FBQzVDLEtBQUs7UUFDTCxXQUFXO1FBQ1gsYUFBYTtRQUNiLGlCQUFpQjtLQUNsQixDQUFDLENBQUE7SUFDRixNQUFNLGFBQWEsR0FDakIsU0FBUyxJQUFJLGNBQWMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUE7SUFDekUsTUFBTSxPQUFPLEdBQUcsTUFBTSxhQUFhLENBQUE7SUFFbkMsT0FBTyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQTtBQUNyQyxDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSxPQUFPLENBQzNCLGNBQWtELEVBQ2xELFNBQXFCLEVBQ3JCLEtBQWEsRUFDYixpQkFBb0MsRUFDcEMs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
export * from './kms_client_supplier';
export * from './kms_keyring';
export * from './kms_mrk_keyring';
export * from './kms_mrk_discovery_keyring';
export * from './helpers';
export * from './region_from_kms_key_arn';
export * from './kms_mrk_strict_multi_keyring';
export * from './kms_mrk_discovery_multi_keyring';
//# sourceMappingURL=index.d.ts.map

@@ -5,4 +5,8 @@ // Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.

export * from './kms_keyring';
export * from './kms_mrk_keyring';
export * from './kms_mrk_discovery_keyring';
export * from './helpers';
export * from './region_from_kms_key_arn';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0VBQW9FO0FBQ3BFLHNDQUFzQztBQUV0QyxjQUFjLHVCQUF1QixDQUFBO0FBQ3JDLGNBQWMsZUFBZSxDQUFBO0FBQzdCLGNBQWMsV0FBVyxDQUFBO0FBQ3pCLGNBQWMsMkJBQTJCLENBQUEifQ==
export * from './kms_mrk_strict_multi_keyring';
export * from './kms_mrk_discovery_multi_keyring';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0VBQW9FO0FBQ3BFLHNDQUFzQztBQUV0QyxjQUFjLHVCQUF1QixDQUFBO0FBQ3JDLGNBQWMsZUFBZSxDQUFBO0FBQzdCLGNBQWMsbUJBQW1CLENBQUE7QUFDakMsY0FBYyw2QkFBNkIsQ0FBQTtBQUMzQyxjQUFjLFdBQVcsQ0FBQTtBQUN6QixjQUFjLDJCQUEyQixDQUFBO0FBQ3pDLGNBQWMsZ0NBQWdDLENBQUE7QUFDOUMsY0FBYyxtQ0FBbUMsQ0FBQSJ9
import { KmsClientSupplier } from './kms_client_supplier';
import { AwsEsdkKMSInterface } from './kms_types';
import { Keyring, EncryptionMaterial, DecryptionMaterial, SupportedAlgorithmSuites, EncryptedDataKey } from '@aws-crypto/material-management';
import { Keyring, EncryptionMaterial, DecryptionMaterial, SupportedAlgorithmSuites, EncryptedDataKey, Newable } from '@aws-crypto/material-management';
export interface KmsKeyringInput<Client extends AwsEsdkKMSInterface> {

@@ -15,3 +15,3 @@ clientProvider: KmsClientSupplier<Client>;

}
export interface KeyRing<S extends SupportedAlgorithmSuites, Client extends AwsEsdkKMSInterface> extends Keyring<S> {
export interface KmsKeyRing<S extends SupportedAlgorithmSuites, Client extends AwsEsdkKMSInterface> extends Keyring<S> {
keyIds: ReadonlyArray<string>;

@@ -30,8 +30,5 @@ generatorKeyId?: string;

export interface KmsKeyRingConstructible<S extends SupportedAlgorithmSuites, Client extends AwsEsdkKMSInterface> {
new (input: KmsKeyringInput<Client>): KeyRing<S, Client>;
new (input: KmsKeyringInput<Client>): KmsKeyRing<S, Client>;
}
export interface KeyRingConstructible<S extends SupportedAlgorithmSuites> {
new (): Keyring<S>;
}
export declare function KmsKeyringClass<S extends SupportedAlgorithmSuites, Client extends AwsEsdkKMSInterface>(BaseKeyring: KeyRingConstructible<S>): KmsKeyRingConstructible<S, Client>;
export declare function KmsKeyringClass<S extends SupportedAlgorithmSuites, Client extends AwsEsdkKMSInterface>(BaseKeyring: Newable<Keyring<S>>): KmsKeyRingConstructible<S, Client>;
//# sourceMappingURL=kms_keyring.d.ts.map

@@ -5,3 +5,3 @@ // Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.

import { KMS_PROVIDER_ID, generateDataKey, encrypt, decrypt, kmsResponseToEncryptedDataKey, } from './helpers';
import { regionFromKmsKeyArn, decomposeAwsKmsKeyArn, } from './region_from_kms_key_arn';
import { validAwsKmsIdentifier, parseAwsKmsKeyArn } from './arn_parsing';
export function KmsKeyringClass(BaseKeyring) {

@@ -30,5 +30,4 @@ class KmsKeyring extends BaseKeyring {

/* Precondition: All KMS key identifiers must be valid. */
needs(!generatorKeyId ||
typeof regionFromKmsKeyArn(generatorKeyId) === 'string', 'Malformed arn.');
needs(keyIds.every((keyArn) => typeof regionFromKmsKeyArn(keyArn) === 'string'), 'Malformed arn.');
needs(!generatorKeyId || validAwsKmsIdentifier(generatorKeyId), 'Malformed arn.');
needs(keyIds.every((keyArn) => validAwsKmsIdentifier(keyArn)), 'Malformed arn.');
/* Precondition: clientProvider needs to be a callable function. */

@@ -127,3 +126,3 @@ needs(typeof clientProvider === 'function', 'Missing clientProvider');

/* Postcondition: The KeyId from KMS must match the encoded KeyID. */
needs(dataKey.KeyId === edk.providerInfo, 'KMS Decryption key does not match serialized provider.');
needs(dataKey.KeyId === edk.providerInfo, 'KMS Decryption key does not match the requested key id.');
const flags = KeyringTraceFlag.WRAPPING_KEY_DECRYPTED_DATA_KEY |

@@ -171,2 +170,5 @@ KeyringTraceFlag.WRAPPING_KEY_VERIFIED_ENC_CTX;

return true;
const parsedArn = parseAwsKmsKeyArn(providerInfo);
/* Postcondition: Provider info is a well formed AWS KMS ARN. */
needs(parsedArn, 'Malformed arn in provider info.');
/* If the providerInfo is an invalid ARN this will throw.

@@ -179,3 +181,3 @@ * But, this function is also used to extract regions

*/
const { account, partition } = decomposeAwsKmsKeyArn(providerInfo);
const { AccountId, Partition } = parsedArn;
/* Postcondition: The account and partition *must* match the discovery filter.

@@ -189,4 +191,4 @@ * Since we are offering a runtime discovery of CMKs

*/
return (discoveryFilter.partition === partition &&
discoveryFilter.accountIDs.some((a) => a === account));
return (discoveryFilter.partition === Partition &&
discoveryFilter.accountIDs.some((a) => a === AccountId));
}

@@ -199,2 +201,2 @@ else {

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia21zX2tleXJpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMva21zX2tleXJpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0VBQW9FO0FBQ3BFLHNDQUFzQztBQUl0QyxPQUFPLEVBQ0wsS0FBSyxFQU1MLGdCQUFnQixFQUVoQixjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLGFBQWEsR0FDZCxNQUFNLGlDQUFpQyxDQUFBO0FBQ3hDLE9BQU8sRUFDTCxlQUFlLEVBQ2YsZUFBZSxFQUNmLE9BQU8sRUFDUCxPQUFPLEVBQ1AsNkJBQTZCLEdBQzlCLE1BQU0sV0FBVyxDQUFBO0FBQ2xCLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIscUJBQXFCLEdBQ3RCLE1BQU0sMkJBQTJCLENBQUE7QUE2Q2xDLE1BQU0sVUFBVSxlQUFlLENBRzdCLFdBQW9DO0lBQ3BDLE1BQU0sVUFBVyxTQUFRLFdBQVc7UUFXbEMsWUFBWSxFQUNWLGNBQWMsRUFDZCxjQUFjLEVBQ2QsTUFBTSxHQUFHLEVBQUUsRUFDWCxXQUFXLEVBQ1gsU0FBUyxFQUNULGVBQWUsR0FDUztZQUN4QixLQUFLLEVBQUUsQ0FBQTtZQUNQLHVHQUF1RztZQUN2RyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsS0FBSyxVQUFVLEVBQUUsK0JBQStCLENBQUMsQ0FBQTtZQUN2RSxxREFBcUQ7WUFDckQsS0FBSyxDQUNILENBQUMsQ0FBQyxDQUFDLFNBQVMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFDbEQsdURBQXVELENBQ3hELENBQUE7WUFDRCxrRkFBa0Y7WUFDbEYsS0FBSyxDQUNILENBQUMsQ0FBQyxTQUFTLElBQUksQ0FBQyxjQUFjLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQ2pELGdFQUFnRSxDQUNqRSxDQUFBO1lBQ0QsOEVBQThFO1lBQzlFLEtBQUssQ0FDSCxTQUFTLElBQUksQ0FBQyxDQUFDLFNBQVMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUM3QyxvRkFBb0YsQ0FDckYsQ0FBQTtZQUNEOzs7O2VBSUc7WUFDSCxLQUFLLENBQ0gsQ0FBQyxlQUFlO2dCQUNkLENBQUMsZUFBZSxDQUFDLFVBQVU7b0JBQ3pCLGVBQWUsQ0FBQyxVQUFVLENBQUMsTUFBTTtvQkFDakMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxTQUFTO29CQUMzQixlQUFlLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FDOUIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLFFBQVEsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNwQyxDQUFDLEVBQ04scURBQXFELENBQ3RELENBQUE7WUFFRCwwREFBMEQ7WUFDMUQsS0FBSyxDQUNILENBQUMsY0FBYztnQkFDYixPQUFPLG1CQUFtQixDQUFDLGNBQWMsQ0FBQyxLQUFLLFFBQVEsRUFDekQsZ0JBQWdCLENBQ2pCLENBQUE7WUFDRCxLQUFLLENBQ0gsTUFBTSxDQUFDLEtBQUssQ0FDVixDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsT0FBTyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxRQUFRLENBQzVELEVBQ0QsZ0JBQWdCLENBQ2pCLENBQUE7WUFDRCxtRUFBbUU7WUFDbkUsS0FBSyxDQUFDLE9BQU8sY0FBYyxLQUFLLFVBQVUsRUFBRSx3QkFBd0IsQ0FBQyxDQUFBO1lBRXJFLGdCQUFnQixDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLENBQUMsQ0FBQTtZQUN4RCxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUMvRCxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDLENBQUE7WUFDeEQsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQTtZQUNsRCxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQTtZQUNsRCxnQkFBZ0IsQ0FDZCxJQUFJLEVBQ0osaUJBQWlCLEVBQ2pCLGVBQWU7Z0JBQ2IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7b0JBQ1osR0FBRyxlQUFlO29CQUNsQixVQUFVLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDO2lCQUN0RCxDQUFDO2dCQUNKLENBQUMsQ0FBQyxlQUFlLENBQ3BCLENBQUE7UUFDSCxDQUFDO1FBRUQsaUdBQWlHO1FBQ2pHLEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBK0I7WUFDOUMsZ0ZBQWdGO1lBQ2hGLElBQUksSUFBSSxDQUFDLFdBQVc7Z0JBQUUsT0FBTyxRQUFRLENBQUE7WUFFckMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQTtZQUNsQyxNQUFNLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUE7WUFDNUQsSUFBSSxjQUFjLElBQUksQ0FBQyxRQUFRLENBQUMscUJBQXFCLEVBQUU7Z0JBQ3JELE1BQU0sT0FBTyxHQUFHLE1BQU0sZUFBZSxDQUNuQyxjQUFjLEVBQ2QsUUFBUSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQzdCLGNBQWMsRUFDZCxRQUFRLENBQUMsaUJBQWlCLEVBQzFCLFdBQVcsQ0FDWixDQUFBO2dCQUNEOzs7O21CQUlHO2dCQUNILElBQUksQ0FBQyxPQUFPO29CQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsK0NBQStDLENBQUMsQ0FBQTtnQkFFbEUsTUFBTSxLQUFLLEdBQ1QsZ0JBQWdCLENBQUMsK0JBQStCO29CQUNoRCxnQkFBZ0IsQ0FBQywyQkFBMkI7b0JBQzVDLGdCQUFnQixDQUFDLCtCQUErQixDQUFBO2dCQUNsRCxNQUFNLEtBQUssR0FBaUI7b0JBQzFCLFlBQVksRUFBRSxlQUFlO29CQUM3QixPQUFPLEVBQUUsT0FBTyxDQUFDLEtBQUs7b0JBQ3RCLEtBQUs7aUJBQ04sQ0FBQTtnQkFFRCxRQUFRO29CQUNOOzt1QkFFRztxQkFDRixxQkFBcUIsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQztxQkFDL0MsbUJBQW1CLENBQ2xCLDZCQUE2QixDQUFDLE9BQU8sQ0FBQyxFQUN0QyxnQkFBZ0IsQ0FBQywrQkFBK0I7b0JBQzlDLGdCQUFnQixDQUFDLDJCQUEyQixDQUMvQyxDQUFBO2FBQ0o7aUJBQU0sSUFBSSxjQUFjLEVBQUU7Z0JBQ3pCLE1BQU0sQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUE7YUFDL0I7WUFFRDs7O2VBR0c7WUFDSCxNQUFNLGtCQUFrQixHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFBO1lBRTFFLE1BQU0sS0FBSyxHQUNULGdCQUFnQixDQUFDLCtCQUErQjtnQkFDaEQsZ0JBQWdCLENBQUMsMkJBQTJCLENBQUE7WUFDOUMsS0FBSyxNQUFNLE1BQU0sSUFBSSxNQUFNLEVBQUU7Z0JBQzNCLE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUMxQixjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLE1BQU0sRUFDTixRQUFRLENBQUMsaUJBQWlCLEVBQzFCLFdBQVcsQ0FDWixDQUFBO2dCQUVELHFGQUFxRjtnQkFDckYsSUFBSSxNQUFNO29CQUNSLFFBQVEsQ0FBQyxtQkFBbUIsQ0FDMUIsNkJBQTZCLENBQUMsTUFBTSxDQUFDLEVBQ3JDLEtBQUssQ0FDTixDQUFBO2FBQ0o7WUFFRCxPQUFPLFFBQVEsQ0FBQTtRQUNqQixDQUFDO1FBRUQsS0FBSyxDQUFDLFVBQVUsQ0FDZCxRQUErQixFQUMvQixpQkFBcUM7WUFFckMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQTtZQUNsQyxNQUFNLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUE7WUFDNUQsSUFBSSxjQUFjO2dCQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUE7WUFFbEQ7Ozs7O2VBS0c7WUFDSCxNQUFNLGVBQWUsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFBO1lBRTFFLE1BQU0sU0FBUyxHQUFZLEVBQUUsQ0FBQTtZQUU3QixLQUFLLE1BQU0sR0FBRyxJQUFJLGVBQWUsRUFBRTtnQkFDakMsSUFBSSxPQUFPLEdBQW9DLEtBQUssQ0FBQTtnQkFDcEQsSUFBSTtvQkFDRixPQUFPLEdBQUcsTUFBTSxPQUFPLENBQ3JCLGNBQWMsRUFDZCxHQUFHLEVBQ0gsUUFBUSxDQUFDLGlCQUFpQixFQUMxQixXQUFXLENBQ1osQ0FBQTtpQkFDRjtnQkFBQyxPQUFPLENBQUMsRUFBRTtvQkFDVjs7O3VCQUdHO29CQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7aUJBQ2xCO2dCQUVELHFGQUFxRjtnQkFDckYsSUFBSSxDQUFDLE9BQU87b0JBQUUsU0FBUTtnQkFFdEIscUVBQXFFO2dCQUNyRSxLQUFLLENBQ0gsT0FBTyxDQUFDLEtBQUssS0FBSyxHQUFHLENBQUMsWUFBWSxFQUNsQyx3REFBd0QsQ0FDekQsQ0FBQTtnQkFFRCxNQUFNLEtBQUssR0FDVCxnQkFBZ0IsQ0FBQywrQkFBK0I7b0JBQ2hELGdCQUFnQixDQUFDLDZCQUE2QixDQUFBO2dCQUNoRCxNQUFNLEtBQUssR0FBaUI7b0JBQzFCLFlBQVksRUFBRSxlQUFlO29CQUM3QixPQUFPLEVBQUUsT0FBTyxDQUFDLEtBQUs7b0JBQ3RCLEtBQUs7aUJBQ04sQ0FBQTtnQkFFRDs7bUJBRUc7Z0JBQ0gsUUFBUSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUE7Z0JBQ3hELE9BQU8sUUFBUSxDQUFBO2FBQ2hCO1lBRUQ7Ozs7Ozs7O2VBUUc7WUFDSCxLQUFLLENBQ0gsUUFBUSxDQUFDLFdBQVcsRUFBRTtnQkFDcEIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFDaEQsU0FBUyxDQUFDLE1BQU0sQ0FDZCxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEtBQUssRUFDcEQsdUVBQXVFLENBQ3hFLENBQ0YsQ0FBQTtZQUVELE9BQU8sUUFBUSxDQUFBO1FBQ2pCLENBQUM7S0FDRjtJQUNELGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUMxQixPQUFPLFVBQVUsQ0FBQTtBQUNuQixDQUFDO0FBRUQsU0FBUyxVQUFVLENBR2pCLE1BQWdCLEVBQUUsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFzQjtJQUN0RSxPQUFPLFNBQVMsTUFBTSxDQUFDLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBb0I7UUFDbkUsbUZBQW1GO1FBQ25GLElBQUksVUFBVSxLQUFLLGVBQWU7WUFBRSxPQUFPLEtBQUssQ0FBQTtRQUNoRDs7V0FFRztRQUNILElBQUksV0FBVyxFQUFFO1lBQ2YseUdBQXlHO1lBQ3pHLElBQUksQ0FBQyxlQUFlO2dCQUFFLE9BQU8sSUFBSSxDQUFBO1lBRWpDOzs7Ozs7ZUFNRztZQUNILE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcscUJBQXFCLENBQUMsWUFBWSxDQUFDLENBQUE7WUFDbEU7Ozs7Ozs7ZUFPRztZQUNILE9BQU8sQ0FDTCxlQUFlLENBQUMsU0FBUyxLQUFLLFNBQVM7Z0JBQ3ZDLGVBQWUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssT0FBTyxDQUFDLENBQ3RELENBQUE7U0FDRjthQUFNO1lBQ0wsOEVBQThFO1lBQzlFLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQTtTQUNyQztJQUNILENBQUMsQ0FBQTtBQUNILENBQUMifQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia21zX2tleXJpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMva21zX2tleXJpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0VBQW9FO0FBQ3BFLHNDQUFzQztBQUl0QyxPQUFPLEVBQ0wsS0FBSyxFQU1MLGdCQUFnQixFQUVoQixjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLGFBQWEsR0FFZCxNQUFNLGlDQUFpQyxDQUFBO0FBQ3hDLE9BQU8sRUFDTCxlQUFlLEVBQ2YsZUFBZSxFQUNmLE9BQU8sRUFDUCxPQUFPLEVBQ1AsNkJBQTZCLEdBQzlCLE1BQU0sV0FBVyxDQUFBO0FBQ2xCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQXlDeEUsTUFBTSxVQUFVLGVBQWUsQ0FHN0IsV0FBZ0M7SUFDaEMsTUFBTSxVQUFXLFNBQVEsV0FBVztRQVdsQyxZQUFZLEVBQ1YsY0FBYyxFQUNkLGNBQWMsRUFDZCxNQUFNLEdBQUcsRUFBRSxFQUNYLFdBQVcsRUFDWCxTQUFTLEVBQ1QsZUFBZSxHQUNTO1lBQ3hCLEtBQUssRUFBRSxDQUFBO1lBQ1AsdUdBQXVHO1lBQ3ZHLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxLQUFLLFVBQVUsRUFBRSwrQkFBK0IsQ0FBQyxDQUFBO1lBQ3ZFLHFEQUFxRDtZQUNyRCxLQUFLLENBQ0gsQ0FBQyxDQUFDLENBQUMsU0FBUyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUNsRCx1REFBdUQsQ0FDeEQsQ0FBQTtZQUNELGtGQUFrRjtZQUNsRixLQUFLLENBQ0gsQ0FBQyxDQUFDLFNBQVMsSUFBSSxDQUFDLGNBQWMsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFDakQsZ0VBQWdFLENBQ2pFLENBQUE7WUFDRCw4RUFBOEU7WUFDOUUsS0FBSyxDQUNILFNBQVMsSUFBSSxDQUFDLENBQUMsU0FBUyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQzdDLG9GQUFvRixDQUNyRixDQUFBO1lBQ0Q7Ozs7ZUFJRztZQUNILEtBQUssQ0FDSCxDQUFDLGVBQWU7Z0JBQ2QsQ0FBQyxlQUFlLENBQUMsVUFBVTtvQkFDekIsZUFBZSxDQUFDLFVBQVUsQ0FBQyxNQUFNO29CQUNqQyxDQUFDLENBQUMsZUFBZSxDQUFDLFNBQVM7b0JBQzNCLGVBQWUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUM5QixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ3BDLENBQUMsRUFDTixxREFBcUQsQ0FDdEQsQ0FBQTtZQUVELDBEQUEwRDtZQUMxRCxLQUFLLENBQ0gsQ0FBQyxjQUFjLElBQUkscUJBQXFCLENBQUMsY0FBYyxDQUFDLEVBQ3hELGdCQUFnQixDQUNqQixDQUFBO1lBQ0QsS0FBSyxDQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQ3ZELGdCQUFnQixDQUNqQixDQUFBO1lBQ0QsbUVBQW1FO1lBQ25FLEtBQUssQ0FBQyxPQUFPLGNBQWMsS0FBSyxVQUFVLEVBQUUsd0JBQXdCLENBQUMsQ0FBQTtZQUVyRSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDLENBQUE7WUFDeEQsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUE7WUFDL0QsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLGNBQWMsQ0FBQyxDQUFBO1lBQ3hELGdCQUFnQixDQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUE7WUFDbEQsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUE7WUFDbEQsZ0JBQWdCLENBQ2QsSUFBSSxFQUNKLGlCQUFpQixFQUNqQixlQUFlO2dCQUNiLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO29CQUNaLEdBQUcsZUFBZTtvQkFDbEIsVUFBVSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQztpQkFDdEQsQ0FBQztnQkFDSixDQUFDLENBQUMsZUFBZSxDQUNwQixDQUFBO1FBQ0gsQ0FBQztRQUVELGlHQUFpRztRQUNqRyxLQUFLLENBQUMsVUFBVSxDQUFDLFFBQStCO1lBQzlDLGdGQUFnRjtZQUNoRixJQUFJLElBQUksQ0FBQyxXQUFXO2dCQUFFLE9BQU8sUUFBUSxDQUFBO1lBRXJDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUE7WUFDbEMsTUFBTSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFBO1lBQzVELElBQUksY0FBYyxJQUFJLENBQUMsUUFBUSxDQUFDLHFCQUFxQixFQUFFO2dCQUNyRCxNQUFNLE9BQU8sR0FBRyxNQUFNLGVBQWUsQ0FDbkMsY0FBYyxFQUNkLFFBQVEsQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUM3QixjQUFjLEVBQ2QsUUFBUSxDQUFDLGlCQUFpQixFQUMxQixXQUFXLENBQ1osQ0FBQTtnQkFDRDs7OzttQkFJRztnQkFDSCxJQUFJLENBQUMsT0FBTztvQkFDVixNQUFNLElBQUksS0FBSyxDQUFDLCtDQUErQyxDQUFDLENBQUE7Z0JBRWxFLE1BQU0sS0FBSyxHQUNULGdCQUFnQixDQUFDLCtCQUErQjtvQkFDaEQsZ0JBQWdCLENBQUMsMkJBQTJCO29CQUM1QyxnQkFBZ0IsQ0FBQywrQkFBK0IsQ0FBQTtnQkFDbEQsTUFBTSxLQUFLLEdBQWlCO29CQUMxQixZQUFZLEVBQUUsZUFBZTtvQkFDN0IsT0FBTyxFQUFFLE9BQU8sQ0FBQyxLQUFLO29CQUN0QixLQUFLO2lCQUNOLENBQUE7Z0JBRUQsUUFBUTtvQkFDTjs7dUJBRUc7cUJBQ0YscUJBQXFCLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUM7cUJBQy9DLG1CQUFtQixDQUNsQiw2QkFBNkIsQ0FBQyxPQUFPLENBQUMsRUFDdEMsZ0JBQWdCLENBQUMsK0JBQStCO29CQUM5QyxnQkFBZ0IsQ0FBQywyQkFBMkIsQ0FDL0MsQ0FBQTthQUNKO2lCQUFNLElBQUksY0FBYyxFQUFFO2dCQUN6QixNQUFNLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFBO2FBQy9CO1lBRUQ7OztlQUdHO1lBQ0gsTUFBTSxrQkFBa0IsR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQTtZQUUxRSxNQUFNLEtBQUssR0FDVCxnQkFBZ0IsQ0FBQywrQkFBK0I7Z0JBQ2hELGdCQUFnQixDQUFDLDJCQUEyQixDQUFBO1lBQzlDLEtBQUssTUFBTSxNQUFNLElBQUksTUFBTSxFQUFFO2dCQUMzQixNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FDMUIsY0FBYyxFQUNkLGtCQUFrQixFQUNsQixNQUFNLEVBQ04sUUFBUSxDQUFDLGlCQUFpQixFQUMxQixXQUFXLENBQ1osQ0FBQTtnQkFFRCxxRkFBcUY7Z0JBQ3JGLElBQUksTUFBTTtvQkFDUixRQUFRLENBQUMsbUJBQW1CLENBQzFCLDZCQUE2QixDQUFDLE1BQU0sQ0FBQyxFQUNyQyxLQUFLLENBQ04sQ0FBQTthQUNKO1lBRUQsT0FBTyxRQUFRLENBQUE7UUFDakIsQ0FBQztRQUVELEtBQUssQ0FBQyxVQUFVLENBQ2QsUUFBK0IsRUFDL0IsaUJBQXFDO1lBRXJDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUE7WUFDbEMsTUFBTSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFBO1lBQzVELElBQUksY0FBYztnQkFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFBO1lBRWxEOzs7OztlQUtHO1lBQ0gsTUFBTSxlQUFlLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQTtZQUUxRSxNQUFNLFNBQVMsR0FBWSxFQUFFLENBQUE7WUFFN0IsS0FBSyxNQUFNLEdBQUcsSUFBSSxlQUFlLEVBQUU7Z0JBQ2pDLElBQUksT0FBTyxHQUFvQyxLQUFLLENBQUE7Z0JBQ3BELElBQUk7b0JBQ0YsT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUNyQixjQUFjLEVBQ2QsR0FBRyxFQUNILFFBQVEsQ0FBQyxpQkFBaUIsRUFDMUIsV0FBVyxDQUNaLENBQUE7aUJBQ0Y7Z0JBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQ1Y7Ozt1QkFHRztvQkFDSCxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO2lCQUNsQjtnQkFFRCxxRkFBcUY7Z0JBQ3JGLElBQUksQ0FBQyxPQUFPO29CQUFFLFNBQVE7Z0JBRXRCLHFFQUFxRTtnQkFDckUsS0FBSyxDQUNILE9BQU8sQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUFDLFlBQVksRUFDbEMseURBQXlELENBQzFELENBQUE7Z0JBRUQsTUFBTSxLQUFLLEdBQ1QsZ0JBQWdCLENBQUMsK0JBQStCO29CQUNoRCxnQkFBZ0IsQ0FBQyw2QkFBNkIsQ0FBQTtnQkFDaEQsTUFBTSxLQUFLLEdBQWlCO29CQUMxQixZQUFZLEVBQUUsZUFBZTtvQkFDN0IsT0FBTyxFQUFFLE9BQU8sQ0FBQyxLQUFLO29CQUN0QixLQUFLO2lCQUNOLENBQUE7Z0JBRUQ7O21CQUVHO2dCQUNILFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFBO2dCQUN4RCxPQUFPLFFBQVEsQ0FBQTthQUNoQjtZQUVEOzs7Ozs7OztlQVFHO1lBQ0gsS0FBSyxDQUNILFFBQVEsQ0FBQyxXQUFXLEVBQUU7Z0JBQ3BCLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQ2hELFNBQVMsQ0FBQyxNQUFNLENBQ2QsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxLQUFLLEVBQ3BELHVFQUF1RSxDQUN4RSxDQUNGLENBQUE7WUFFRCxPQUFPLFFBQVEsQ0FBQTtRQUNqQixDQUFDO0tBQ0Y7SUFDRCxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDMUIsT0FBTyxVQUFVLENBQUE7QUFDbkIsQ0FBQztBQUVELFNBQVMsVUFBVSxDQUdqQixNQUFnQixFQUFFLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBeUI7SUFDekUsT0FBTyxTQUFTLE1BQU0sQ0FBQyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQW9CO1FBQ25FLG1GQUFtRjtRQUNuRixJQUFJLFVBQVUsS0FBSyxlQUFlO1lBQUUsT0FBTyxLQUFLLENBQUE7UUFDaEQ7O1dBRUc7UUFDSCxJQUFJLFdBQVcsRUFBRTtZQUNmLHlHQUF5RztZQUN6RyxJQUFJLENBQUMsZUFBZTtnQkFBRSxPQUFPLElBQUksQ0FBQTtZQUVqQyxNQUFNLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsQ0FBQTtZQUNqRCxnRUFBZ0U7WUFDaEUsS0FBSyxDQUFDLFNBQVMsRUFBRSxpQ0FBaUMsQ0FBQyxDQUFBO1lBQ25EOzs7Ozs7ZUFNRztZQUNILE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsU0FBUyxDQUFBO1lBQzFDOzs7Ozs7O2VBT0c7WUFDSCxPQUFPLENBQ0wsZUFBZSxDQUFDLFNBQVMsS0FBSyxTQUFTO2dCQUN2QyxlQUFlLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxDQUN4RCxDQUFBO1NBQ0Y7YUFBTTtZQUNMLDhFQUE4RTtZQUM5RSxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUE7U0FDckM7SUFDSCxDQUFDLENBQUE7QUFDSCxDQUFDIn0=

@@ -0,7 +1,15 @@

/**
* @deprecated Because decomposeAwsKmsKeyArn is incorrect,
* use parseAwsKmsIdentifier or parseAwsKmsKeyArn.
*/
export declare function regionFromKmsKeyArn(kmsKeyArn: string): string;
/**
* @deprecated This function incorrectly requires `key/12345678-1234-1234-1234-123456789012`
* AWS KMS requires that a raw key id be `12345678-1234-1234-1234-123456789012`
*/
export declare function decomposeAwsKmsKeyArn(kmsKeyArn: string): {
partition: string;
region: string;
account: string;
partition: string;
};
//# sourceMappingURL=region_from_kms_key_arn.d.ts.map

@@ -13,2 +13,6 @@ // Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.

/* Maintaining function for backwards compatibility. */
/**
* @deprecated Because decomposeAwsKmsKeyArn is incorrect,
* use parseAwsKmsIdentifier or parseAwsKmsKeyArn.
*/
export function regionFromKmsKeyArn(kmsKeyArn) {

@@ -18,2 +22,6 @@ const { region } = decomposeAwsKmsKeyArn(kmsKeyArn);

}
/**
* @deprecated This function incorrectly requires `key/12345678-1234-1234-1234-123456789012`
* AWS KMS requires that a raw key id be `12345678-1234-1234-1234-123456789012`
*/
export function decomposeAwsKmsKeyArn(kmsKeyArn) {

@@ -30,3 +38,3 @@ /* Precondition: A KMS key arn must be a string. */

* but the aws section does not.
* It is also possible to have a a key or alias.
* It is also possible to have a key or alias.
* In this case the partition, service, region

@@ -44,4 +52,4 @@ * will be empty.

(!service && !region && arnLiteral.match(aliasOrKeyResourceType)), 'Malformed arn.');
return { region, account, partition };
return { partition, region, account };
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaW9uX2Zyb21fa21zX2tleV9hcm4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVnaW9uX2Zyb21fa21zX2tleV9hcm4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0VBQW9FO0FBQ3BFLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFFdkQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxzQkFBc0IsR0FBRyxzQkFBc0IsQ0FBQTtBQUVyRCx1REFBdUQ7QUFDdkQsTUFBTSxVQUFVLG1CQUFtQixDQUFDLFNBQWlCO0lBQ25ELE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUNuRCxPQUFPLE1BQU0sQ0FBQTtBQUNmLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQ25DLFNBQWlCO0lBRWpCLG1EQUFtRDtJQUNuRCxLQUFLLENBQUMsT0FBTyxTQUFTLEtBQUssUUFBUSxFQUFFLCtCQUErQixDQUFDLENBQUE7SUFFckU7OztPQUdHO0lBQ0gsTUFBTSxDQUNKLFVBQVUsRUFDVixTQUFTLEVBQ1QsT0FBTyxFQUNQLE1BQU0sR0FBRyxFQUFFLEVBQ1gsT0FBTyxHQUFHLEVBQUUsRUFDYixHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7SUFFeEI7Ozs7Ozs7T0FPRztJQUNILEtBQUssQ0FDSCxDQUFDLFVBQVUsS0FBSyxLQUFLLElBQUksU0FBUyxJQUFJLE9BQU8sS0FBSyxLQUFLLElBQUksTUFBTSxDQUFDO1FBQ2hFOzs7OztXQUtHO1FBQ0gsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUMsRUFDbkUsZ0JBQWdCLENBQ2pCLENBQUE7SUFFRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQTtBQUN2QyxDQUFDIn0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaW9uX2Zyb21fa21zX2tleV9hcm4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVnaW9uX2Zyb21fa21zX2tleV9hcm4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0VBQW9FO0FBQ3BFLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFFdkQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxzQkFBc0IsR0FBRyxzQkFBc0IsQ0FBQTtBQUVyRCx1REFBdUQ7QUFDdkQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQixDQUFDLFNBQWlCO0lBQ25ELE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUNuRCxPQUFPLE1BQU0sQ0FBQTtBQUNmLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUscUJBQXFCLENBQ25DLFNBQWlCO0lBRWpCLG1EQUFtRDtJQUNuRCxLQUFLLENBQUMsT0FBTyxTQUFTLEtBQUssUUFBUSxFQUFFLCtCQUErQixDQUFDLENBQUE7SUFFckU7OztPQUdHO0lBQ0gsTUFBTSxDQUNKLFVBQVUsRUFDVixTQUFTLEVBQ1QsT0FBTyxFQUNQLE1BQU0sR0FBRyxFQUFFLEVBQ1gsT0FBTyxHQUFHLEVBQUUsRUFDYixHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7SUFFeEI7Ozs7Ozs7T0FPRztJQUNILEtBQUssQ0FDSCxDQUFDLFVBQVUsS0FBSyxLQUFLLElBQUksU0FBUyxJQUFJLE9BQU8sS0FBSyxLQUFLLElBQUksTUFBTSxDQUFDO1FBQ2hFOzs7OztXQUtHO1FBQ0gsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUMsRUFDbkUsZ0JBQWdCLENBQ2pCLENBQUE7SUFFRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQTtBQUN2QyxDQUFDIn0=

@@ -6,2 +6,13 @@ # Change Log

# [2.3.0](https://github.com/aws/aws-encryption-sdk-javascript/compare/v2.2.1...v2.3.0) (2021-06-16)
### Features
* AWS KMS multi-Region Key support ([#631](https://github.com/aws/aws-encryption-sdk-javascript/issues/631)) ([701f811](https://github.com/aws/aws-encryption-sdk-javascript/commit/701f8113a63780f24b52340f63844e425ba0543b))
# [2.2.0](https://github.com/aws/private-aws-encryption-sdk-javascript-staging/compare/@aws-crypto/kms-keyring@2.1.0...@aws-crypto/kms-keyring@2.2.0) (2021-05-27)

@@ -8,0 +19,0 @@

{
"name": "@aws-crypto/kms-keyring",
"version": "2.2.0",
"version": "2.3.0",
"scripts": {

@@ -21,3 +21,3 @@ "prepublishOnly": "npm run build",

"dependencies": {
"@aws-crypto/material-management": "^2.2.0",
"@aws-crypto/material-management": "^2.3.0",
"tslib": "^2.2.0"

@@ -32,3 +32,3 @@ },

],
"gitHead": "35a8888596e935beabb99f872da26abc61d20a3e"
"gitHead": "0299aae7c074114a6bfb8e8a2f7cd86b419d5658"
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc