@aws-sdk/middleware-bucket-endpoint 3.30.0 → 3.32.0
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/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [3.32.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.31.0...v3.32.0) (2021-09-17)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @aws-sdk/middleware-bucket-endpoint
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
6
14
|
# [3.30.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.29.0...v3.30.0) (2021-09-07)
|
|
7
15
|
|
|
8
16
|
|
|
@@ -13,12 +13,12 @@ const bucketEndpointMiddleware = (options) => (next, context) => async (args) =>
|
|
|
13
13
|
if (options.bucketEndpoint) {
|
|
14
14
|
request.hostname = bucketName;
|
|
15
15
|
}
|
|
16
|
-
else if (
|
|
17
|
-
const bucketArn =
|
|
18
|
-
const clientRegion =
|
|
16
|
+
else if (util_arn_parser_1.validate(bucketName)) {
|
|
17
|
+
const bucketArn = util_arn_parser_1.parse(bucketName);
|
|
18
|
+
const clientRegion = bucketHostnameUtils_1.getPseudoRegion(await options.region());
|
|
19
19
|
const { partition, signingRegion = clientRegion } = (await options.regionInfoProvider(clientRegion)) || {};
|
|
20
20
|
const useArnRegion = await options.useArnRegion();
|
|
21
|
-
const { hostname, bucketEndpoint, signingRegion: modifiedSigningRegion, signingService, } =
|
|
21
|
+
const { hostname, bucketEndpoint, signingRegion: modifiedSigningRegion, signingService, } = bucketHostname_1.bucketHostname({
|
|
22
22
|
bucketName: bucketArn,
|
|
23
23
|
baseHostname: request.hostname,
|
|
24
24
|
accelerateEndpoint: options.useAccelerateEndpoint,
|
|
@@ -43,8 +43,8 @@ const bucketEndpointMiddleware = (options) => (next, context) => async (args) =>
|
|
|
43
43
|
replaceBucketInPath = bucketEndpoint;
|
|
44
44
|
}
|
|
45
45
|
else {
|
|
46
|
-
const clientRegion =
|
|
47
|
-
const { hostname, bucketEndpoint } =
|
|
46
|
+
const clientRegion = bucketHostnameUtils_1.getPseudoRegion(await options.region());
|
|
47
|
+
const { hostname, bucketEndpoint } = bucketHostname_1.bucketHostname({
|
|
48
48
|
bucketName,
|
|
49
49
|
clientRegion,
|
|
50
50
|
baseHostname: request.hostname,
|
|
@@ -76,8 +76,8 @@ exports.bucketEndpointMiddlewareOptions = {
|
|
|
76
76
|
};
|
|
77
77
|
const getBucketEndpointPlugin = (options) => ({
|
|
78
78
|
applyToStack: (clientStack) => {
|
|
79
|
-
clientStack.addRelativeTo(
|
|
79
|
+
clientStack.addRelativeTo(exports.bucketEndpointMiddleware(options), exports.bucketEndpointMiddlewareOptions);
|
|
80
80
|
},
|
|
81
81
|
});
|
|
82
82
|
exports.getBucketEndpointPlugin = getBucketEndpointPlugin;
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVja2V0RW5kcG9pbnRNaWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2J1Y2tldEVuZHBvaW50TWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwwREFBcUQ7QUFXckQsOERBQXNGO0FBRXRGLHFEQUFrRDtBQUNsRCwrREFBd0Q7QUFHakQsTUFBTSx3QkFBd0IsR0FDbkMsQ0FBQyxPQUFxQyxFQUE2QixFQUFFLENBQ3JFLENBQ0UsSUFBK0IsRUFDL0IsT0FBZ0MsRUFDTCxFQUFFLENBQy9CLEtBQUssRUFBRSxJQUFnQyxFQUF1QyxFQUFFO0lBQzlFLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQTJCLENBQUM7SUFDaEUsSUFBSSxtQkFBbUIsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDO0lBQ2pELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDN0IsSUFBSSwyQkFBVyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUNuQyxJQUFJLE9BQU8sQ0FBQyxjQUFjLEVBQUU7WUFDMUIsT0FBTyxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7U0FDL0I7YUFBTSxJQUFJLDBCQUFXLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDbEMsTUFBTSxTQUFTLEdBQUcsdUJBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN2QyxNQUFNLFlBQVksR0FBRyxxQ0FBZSxDQUFDLE1BQU0sT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDN0QsTUFBTSxFQUFFLFNBQVMsRUFBRSxhQUFhLEdBQUcsWUFBWSxFQUFFLEdBQUcsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMzRyxNQUFNLFlBQVksR0FBRyxNQUFNLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNsRCxN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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFJlcXVlc3QgfSBmcm9tIFwiQGF3cy1zZGsvcHJvdG9jb2wtaHR0cFwiO1xuaW1wb3J0IHtcbiAgQnVpbGRIYW5kbGVyLFxuICBCdWlsZEhhbmRsZXJBcmd1bWVudHMsXG4gIEJ1aWxkSGFuZGxlck91dHB1dCxcbiAgQnVpbGRNaWRkbGV3YXJlLFxuICBIYW5kbGVyRXhlY3V0aW9uQ29udGV4dCxcbiAgTWV0YWRhdGFCZWFyZXIsXG4gIFBsdWdnYWJsZSxcbiAgUmVsYXRpdmVNaWRkbGV3YXJlT3B0aW9ucyxcbn0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBwYXJzZSBhcyBwYXJzZUFybiwgdmFsaWRhdGUgYXMgdmFsaWRhdGVBcm4gfSBmcm9tIFwiQGF3cy1zZGsvdXRpbC1hcm4tcGFyc2VyXCI7XG5cbmltcG9ydCB7IGJ1Y2tldEhvc3RuYW1lIH0gZnJvbSBcIi4vYnVja2V0SG9zdG5hbWVcIjtcbmltcG9ydCB7IGdldFBzZXVkb1JlZ2lvbiB9IGZyb20gXCIuL2J1Y2tldEhvc3RuYW1lVXRpbHNcIjtcbmltcG9ydCB7IEJ1Y2tldEVuZHBvaW50UmVzb2x2ZWRDb25maWcgfSBmcm9tIFwiLi9jb25maWd1cmF0aW9uc1wiO1xuXG5leHBvcnQgY29uc3QgYnVja2V0RW5kcG9pbnRNaWRkbGV3YXJlID1cbiAgKG9wdGlvbnM6IEJ1Y2tldEVuZHBvaW50UmVzb2x2ZWRDb25maWcpOiBCdWlsZE1pZGRsZXdhcmU8YW55LCBhbnk+ID0+XG4gIDxPdXRwdXQgZXh0ZW5kcyBNZXRhZGF0YUJlYXJlcj4oXG4gICAgbmV4dDogQnVpbGRIYW5kbGVyPGFueSwgT3V0cHV0PixcbiAgICBjb250ZXh0OiBIYW5kbGVyRXhlY3V0aW9uQ29udGV4dFxuICApOiBCdWlsZEhhbmRsZXI8YW55LCBPdXRwdXQ+ID0+XG4gIGFzeW5jIChhcmdzOiBCdWlsZEhhbmRsZXJBcmd1bWVudHM8YW55Pik6IFByb21pc2U8QnVpbGRIYW5kbGVyT3V0cHV0PE91dHB1dD4+ID0+IHtcbiAgICBjb25zdCB7IEJ1Y2tldDogYnVja2V0TmFtZSB9ID0gYXJncy5pbnB1dCBhcyB7IEJ1Y2tldDogc3RyaW5nIH07XG4gICAgbGV0IHJlcGxhY2VCdWNrZXRJblBhdGggPSBvcHRpb25zLmJ1Y2tldEVuZHBvaW50O1xuICAgIGNvbnN0IHJlcXVlc3QgPSBhcmdzLnJlcXVlc3Q7XG4gICAgaWYgKEh0dHBSZXF1ZXN0LmlzSW5zdGFuY2UocmVxdWVzdCkpIHtcbiAgICAgIGlmIChvcHRpb25zLmJ1Y2tldEVuZHBvaW50KSB7XG4gICAgICAgIHJlcXVlc3QuaG9zdG5hbWUgPSBidWNrZXROYW1lO1xuICAgICAgfSBlbHNlIGlmICh2YWxpZGF0ZUFybihidWNrZXROYW1lKSkge1xuICAgICAgICBjb25zdCBidWNrZXRBcm4gPSBwYXJzZUFybihidWNrZXROYW1lKTtcbiAgICAgICAgY29uc3QgY2xpZW50UmVnaW9uID0gZ2V0UHNldWRvUmVnaW9uKGF3YWl0IG9wdGlvbnMucmVnaW9uKCkpO1xuICAgICAgICBjb25zdCB7IHBhcnRpdGlvbiwgc2lnbmluZ1JlZ2lvbiA9IGNsaWVudFJlZ2lvbiB9ID0gKGF3YWl0IG9wdGlvbnMucmVnaW9uSW5mb1Byb3ZpZGVyKGNsaWVudFJlZ2lvbikpIHx8IHt9O1xuICAgICAgICBjb25zdCB1c2VBcm5SZWdpb24gPSBhd2FpdCBvcHRpb25zLnVzZUFyblJlZ2lvbigpO1xuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgaG9zdG5hbWUsXG4gICAgICAgICAgYnVja2V0RW5kcG9pbnQsXG4gICAgICAgICAgc2lnbmluZ1JlZ2lvbjogbW9kaWZpZWRTaWduaW5nUmVnaW9uLFxuICAgICAgICAgIHNpZ25pbmdTZXJ2aWNlLFxuICAgICAgICB9ID0gYnVja2V0SG9zdG5hbWUoe1xuICAgICAgICAgIGJ1Y2tldE5hbWU6IGJ1Y2tldEFybixcbiAgICAgICAgICBiYXNlSG9zdG5hbWU6IHJlcXVlc3QuaG9zdG5hbWUsXG4gICAgICAgICAgYWNjZWxlcmF0ZUVuZHBvaW50OiBvcHRpb25zLnVzZUFjY2VsZXJhdGVFbmRwb2ludCxcbiAgICAgICAgICBkdWFsc3RhY2tFbmRwb2ludDogb3B0aW9ucy51c2VEdWFsc3RhY2tFbmRwb2ludCxcbiAgICAgICAgICBwYXRoU3R5bGVFbmRwb2ludDogb3B0aW9ucy5mb3JjZVBhdGhTdHlsZSxcbiAgICAgICAgICB0bHNDb21wYXRpYmxlOiByZXF1ZXN0LnByb3RvY29sID09PSBcImh0dHBzOlwiLFxuICAgICAgICAgIHVzZUFyblJlZ2lvbixcbiAgICAgICAgICBjbGllbnRQYXJ0aXRpb246IHBhcnRpdGlvbixcbiAgICAgICAgICBjbGllbnRTaWduaW5nUmVnaW9uOiBzaWduaW5nUmVnaW9uLFxuICAgICAgICAgIGNsaWVudFJlZ2lvbjogY2xpZW50UmVnaW9uLFxuICAgICAgICAgIGlzQ3VzdG9tRW5kcG9pbnQ6IG9wdGlvbnMuaXNDdXN0b21FbmRwb2ludCxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gSWYgdGhlIHJlcXVlc3QgbmVlZHMgdG8gdXNlIGEgcmVnaW9uIG9yIHNlcnZpY2UgbmFtZSBpbmZlcnJlZCBmcm9tIEFSTiB0aGF0IGRpZmZlcmVudCBmcm9tIGNsaWVudCByZWdpb24sIHdlXG4gICAgICAgIC8vIG5lZWQgdG8gc2V0IHRoZW0gaW4gdGhlIGhhbmRsZXIgY29udGV4dCBzbyB0aGUgc2lnbmVyIHdpbGwgdXNlIHRoZW1cbiAgICAgICAgaWYgKG1vZGlmaWVkU2lnbmluZ1JlZ2lvbiAmJiBtb2RpZmllZFNpZ25pbmdSZWdpb24gIT09IHNpZ25pbmdSZWdpb24pIHtcbiAgICAgICAgICBjb250ZXh0W1wic2lnbmluZ19yZWdpb25cIl0gPSBtb2RpZmllZFNpZ25pbmdSZWdpb247XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNpZ25pbmdTZXJ2aWNlICYmIHNpZ25pbmdTZXJ2aWNlICE9PSBcInMzXCIpIHtcbiAgICAgICAgICBjb250ZXh0W1wic2lnbmluZ19zZXJ2aWNlXCJdID0gc2lnbmluZ1NlcnZpY2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXF1ZXN0Lmhvc3RuYW1lID0gaG9zdG5hbWU7XG4gICAgICAgIHJlcGxhY2VCdWNrZXRJblBhdGggPSBidWNrZXRFbmRwb2ludDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGNsaWVudFJlZ2lvbiA9IGdldFBzZXVkb1JlZ2lvbihhd2FpdCBvcHRpb25zLnJlZ2lvbigpKTtcbiAgICAgICAgY29uc3QgeyBob3N0bmFtZSwgYnVja2V0RW5kcG9pbnQgfSA9IGJ1Y2tldEhvc3RuYW1lKHtcbiAgICAgICAgICBidWNrZXROYW1lLFxuICAgICAgICAgIGNsaWVudFJlZ2lvbixcbiAgICAgICAgICBiYXNlSG9zdG5hbWU6IHJlcXVlc3QuaG9zdG5hbWUsXG4gICAgICAgICAgYWNjZWxlcmF0ZUVuZHBvaW50OiBvcHRpb25zLnVzZUFjY2VsZXJhdGVFbmRwb2ludCxcbiAgICAgICAgICBkdWFsc3RhY2tFbmRwb2ludDogb3B0aW9ucy51c2VEdWFsc3RhY2tFbmRwb2ludCxcbiAgICAgICAgICBwYXRoU3R5bGVFbmRwb2ludDogb3B0aW9ucy5mb3JjZVBhdGhTdHlsZSxcbiAgICAgICAgICB0bHNDb21wYXRpYmxlOiByZXF1ZXN0LnByb3RvY29sID09PSBcImh0dHBzOlwiLFxuICAgICAgICAgIGlzQ3VzdG9tRW5kcG9pbnQ6IG9wdGlvbnMuaXNDdXN0b21FbmRwb2ludCxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmVxdWVzdC5ob3N0bmFtZSA9IGhvc3RuYW1lO1xuICAgICAgICByZXBsYWNlQnVja2V0SW5QYXRoID0gYnVja2V0RW5kcG9pbnQ7XG4gICAgICB9XG5cbiAgICAgIGlmIChyZXBsYWNlQnVja2V0SW5QYXRoKSB7XG4gICAgICAgIHJlcXVlc3QucGF0aCA9IHJlcXVlc3QucGF0aC5yZXBsYWNlKC9eKFxcLyk/W15cXC9dKy8sIFwiXCIpO1xuICAgICAgICBpZiAocmVxdWVzdC5wYXRoID09PSBcIlwiKSB7XG4gICAgICAgICAgcmVxdWVzdC5wYXRoID0gXCIvXCI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbmV4dCh7IC4uLmFyZ3MsIHJlcXVlc3QgfSk7XG4gIH07XG5cbmV4cG9ydCBjb25zdCBidWNrZXRFbmRwb2ludE1pZGRsZXdhcmVPcHRpb25zOiBSZWxhdGl2ZU1pZGRsZXdhcmVPcHRpb25zID0ge1xuICB0YWdzOiBbXCJCVUNLRVRfRU5EUE9JTlRcIl0sXG4gIG5hbWU6IFwiYnVja2V0RW5kcG9pbnRNaWRkbGV3YXJlXCIsXG4gIHJlbGF0aW9uOiBcImJlZm9yZVwiLFxuICB0b01pZGRsZXdhcmU6IFwiaG9zdEhlYWRlck1pZGRsZXdhcmVcIixcbiAgb3ZlcnJpZGU6IHRydWUsXG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QnVja2V0RW5kcG9pbnRQbHVnaW4gPSAob3B0aW9uczogQnVja2V0RW5kcG9pbnRSZXNvbHZlZENvbmZpZyk6IFBsdWdnYWJsZTxhbnksIGFueT4gPT4gKHtcbiAgYXBwbHlUb1N0YWNrOiAoY2xpZW50U3RhY2spID0+IHtcbiAgICBjbGllbnRTdGFjay5hZGRSZWxhdGl2ZVRvKGJ1Y2tldEVuZHBvaW50TWlkZGxld2FyZShvcHRpb25zKSwgYnVja2V0RW5kcG9pbnRNaWRkbGV3YXJlT3B0aW9ucyk7XG4gIH0sXG59KTtcbiJdfQ==
|
|
@@ -10,7 +10,7 @@ const bucketHostname = (options) => {
|
|
|
10
10
|
if (accelerateEndpoint)
|
|
11
11
|
throw new Error("Accelerate endpoint is not supported with custom endpoint");
|
|
12
12
|
}
|
|
13
|
-
return
|
|
13
|
+
return bucketHostnameUtils_1.isBucketNameOptions(options)
|
|
14
14
|
? // Construct endpoint when bucketName is a string referring to a bucket name
|
|
15
15
|
getEndpointFromBucketName({ ...options, isCustomEndpoint })
|
|
16
16
|
: // Construct endpoint when bucketName is an ARN referring to an S3 resource like Access Point
|
|
@@ -19,37 +19,37 @@ const bucketHostname = (options) => {
|
|
|
19
19
|
exports.bucketHostname = bucketHostname;
|
|
20
20
|
const getEndpointFromArn = (options) => {
|
|
21
21
|
const { isCustomEndpoint, baseHostname, clientRegion } = options;
|
|
22
|
-
const hostnameSuffix = isCustomEndpoint ? baseHostname :
|
|
22
|
+
const hostnameSuffix = isCustomEndpoint ? baseHostname : bucketHostnameUtils_1.getSuffixForArnEndpoint(baseHostname)[1];
|
|
23
23
|
const { pathStyleEndpoint, dualstackEndpoint = false, accelerateEndpoint = false, tlsCompatible = true, useArnRegion, bucketName, clientPartition = "aws", clientSigningRegion = clientRegion, } = options;
|
|
24
|
-
|
|
24
|
+
bucketHostnameUtils_1.validateArnEndpointOptions({ pathStyleEndpoint, accelerateEndpoint, tlsCompatible });
|
|
25
25
|
// Validate and parse the ARN supplied as a bucket name
|
|
26
26
|
const { service, partition, accountId, region, resource } = bucketName;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
const { accesspointName, outpostId } =
|
|
27
|
+
bucketHostnameUtils_1.validateService(service);
|
|
28
|
+
bucketHostnameUtils_1.validatePartition(partition, { clientPartition });
|
|
29
|
+
bucketHostnameUtils_1.validateAccountId(accountId);
|
|
30
|
+
bucketHostnameUtils_1.validateRegionalClient(clientRegion);
|
|
31
|
+
const { accesspointName, outpostId } = bucketHostnameUtils_1.getArnResources(resource);
|
|
32
32
|
const DNSHostLabel = `${accesspointName}-${accountId}`;
|
|
33
|
-
|
|
33
|
+
bucketHostnameUtils_1.validateDNSHostLabel(DNSHostLabel, { tlsCompatible });
|
|
34
34
|
const endpointRegion = useArnRegion ? region : clientRegion;
|
|
35
35
|
const signingRegion = useArnRegion ? region : clientSigningRegion;
|
|
36
36
|
if (service === "s3-object-lambda") {
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
bucketHostnameUtils_1.validateRegion(region, { useArnRegion, clientRegion, clientSigningRegion, allowFipsRegion: true });
|
|
38
|
+
bucketHostnameUtils_1.validateNoDualstack(dualstackEndpoint);
|
|
39
39
|
return {
|
|
40
40
|
bucketEndpoint: true,
|
|
41
|
-
hostname: `${DNSHostLabel}.${service}${
|
|
41
|
+
hostname: `${DNSHostLabel}.${service}${bucketHostnameUtils_1.isFipsRegion(clientRegion) ? "-fips" : ""}.${bucketHostnameUtils_1.getPseudoRegion(endpointRegion)}.${hostnameSuffix}`,
|
|
42
42
|
signingRegion,
|
|
43
43
|
signingService: service,
|
|
44
44
|
};
|
|
45
45
|
}
|
|
46
46
|
else if (outpostId) {
|
|
47
47
|
// if this is an Outpost ARN
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
48
|
+
bucketHostnameUtils_1.validateRegion(region, { useArnRegion, clientRegion, clientSigningRegion });
|
|
49
|
+
bucketHostnameUtils_1.validateOutpostService(service);
|
|
50
|
+
bucketHostnameUtils_1.validateDNSHostLabel(outpostId, { tlsCompatible });
|
|
51
|
+
bucketHostnameUtils_1.validateNoDualstack(dualstackEndpoint);
|
|
52
|
+
bucketHostnameUtils_1.validateNoFIPS(endpointRegion);
|
|
53
53
|
const hostnamePrefix = `${DNSHostLabel}.${outpostId}`;
|
|
54
54
|
return {
|
|
55
55
|
bucketEndpoint: true,
|
|
@@ -59,20 +59,20 @@ const getEndpointFromArn = (options) => {
|
|
|
59
59
|
};
|
|
60
60
|
}
|
|
61
61
|
// construct endpoint from Accesspoint ARN
|
|
62
|
-
|
|
63
|
-
|
|
62
|
+
bucketHostnameUtils_1.validateRegion(region, { useArnRegion, clientRegion, clientSigningRegion, allowFipsRegion: true });
|
|
63
|
+
bucketHostnameUtils_1.validateS3Service(service);
|
|
64
64
|
const hostnamePrefix = `${DNSHostLabel}`;
|
|
65
65
|
return {
|
|
66
66
|
bucketEndpoint: true,
|
|
67
67
|
hostname: `${hostnamePrefix}${isCustomEndpoint
|
|
68
68
|
? ""
|
|
69
|
-
: `.s3-accesspoint${
|
|
69
|
+
: `.s3-accesspoint${bucketHostnameUtils_1.isFipsRegion(clientRegion) ? "-fips" : ""}${dualstackEndpoint ? ".dualstack" : ""}.${bucketHostnameUtils_1.getPseudoRegion(endpointRegion)}`}.${hostnameSuffix}`,
|
|
70
70
|
signingRegion,
|
|
71
71
|
};
|
|
72
72
|
};
|
|
73
73
|
const getEndpointFromBucketName = ({ accelerateEndpoint = false, clientRegion: region, baseHostname, bucketName, dualstackEndpoint = false, pathStyleEndpoint = false, tlsCompatible = true, isCustomEndpoint = false, }) => {
|
|
74
|
-
const [clientRegion, hostnameSuffix] = isCustomEndpoint ? [region, baseHostname] :
|
|
75
|
-
if (pathStyleEndpoint || !
|
|
74
|
+
const [clientRegion, hostnameSuffix] = isCustomEndpoint ? [region, baseHostname] : bucketHostnameUtils_1.getSuffix(baseHostname);
|
|
75
|
+
if (pathStyleEndpoint || !bucketHostnameUtils_1.isDnsCompatibleBucketName(bucketName) || (tlsCompatible && bucketHostnameUtils_1.DOT_PATTERN.test(bucketName))) {
|
|
76
76
|
return {
|
|
77
77
|
bucketEndpoint: false,
|
|
78
78
|
hostname: dualstackEndpoint ? `s3.dualstack.${clientRegion}.${hostnameSuffix}` : baseHostname,
|
|
@@ -89,4 +89,4 @@ const getEndpointFromBucketName = ({ accelerateEndpoint = false, clientRegion: r
|
|
|
89
89
|
hostname: `${bucketName}.${baseHostname}`,
|
|
90
90
|
};
|
|
91
91
|
};
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVja2V0SG9zdG5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVja2V0SG9zdG5hbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0RBc0IrQjtBQVN4QixNQUFNLGNBQWMsR0FBRyxDQUFDLE9BQWlELEVBQWtCLEVBQUU7SUFDbEcsTUFBTSxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUUxRixJQUFJLGdCQUFnQixFQUFFO1FBQ3BCLElBQUksaUJBQWlCO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQywwREFBMEQsQ0FBQyxDQUFDO1FBQ25HLElBQUksa0JBQWtCO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQywyREFBMkQsQ0FBQyxDQUFDO0tBQ3RHO0lBRUQsT0FBTyxJQUFBLHlDQUFtQixFQUFDLE9BQU8sQ0FBQztRQUNqQyxDQUFDLENBQUMsNEVBQTRFO1lBQzVFLHlCQUF5QixDQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztRQUM3RCxDQUFDLENBQUMsNkZBQTZGO1lBQzdGLGtCQUFrQixDQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0FBQzNELENBQUMsQ0FBQztBQWJXLFFBQUEsY0FBYyxrQkFhekI7QUFFRixNQUFNLGtCQUFrQixHQUFHLENBQUMsT0FBMEQsRUFBa0IsRUFBRTtJQUN4RyxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUNqRSxNQUFNLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFBLDZDQUF1QixFQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWxHLE1BQU0sRUFDSixpQkFBaUIsRUFDakIsaUJBQWlCLEdBQUcs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RSxLQUFLO1lBQ3JCLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLFlBQVksSUFBSSxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWTtTQUM5RixDQUFDO0tBQ0g7SUFFRCxJQUFJLGtCQUFrQixFQUFFO1FBQ3RCLFlBQVksR0FBRyxnQkFBZ0IsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLGNBQWMsRUFBRSxDQUFDO0tBQzFGO1NBQU0sSUFBSSxpQkFBaUIsRUFBRTtRQUM1QixZQUFZLEdBQUcsZ0JBQWdCLFlBQVksSUFBSSxjQUFjLEVBQUUsQ0FBQztLQUNqRTtJQUVELE9BQU87UUFDTCxjQUFjLEVBQUUsSUFBSTtRQUNwQixRQUFRLEVBQUUsR0FBRyxVQUFVLElBQUksWUFBWSxFQUFFO0tBQzFDLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBcm5Ib3N0bmFtZVBhcmFtcyxcbiAgQnVja2V0SG9zdG5hbWVQYXJhbXMsXG4gIERPVF9QQVRURVJOLFxuICBnZXRBcm5SZXNvdXJjZXMsXG4gIGdldFBzZXVkb1JlZ2lvbixcbiAgZ2V0U3VmZml4LFxuICBnZXRTdWZmaXhGb3JBcm5FbmRwb2ludCxcbiAgaXNCdWNrZXROYW1lT3B0aW9ucyxcbiAgaXNEbnNDb21wYXRpYmxlQnVja2V0TmFtZSxcbiAgaXNGaXBzUmVnaW9uLFxuICB2YWxpZGF0ZUFjY291bnRJZCxcbiAgdmFsaWRhdGVBcm5FbmRwb2ludE9wdGlvbnMsXG4gIHZhbGlkYXRlRE5TSG9zdExhYmVsLFxuICB2YWxpZGF0ZU5vRHVhbHN0YWNrLFxuICB2YWxpZGF0ZU5vRklQUyxcbiAgdmFsaWRhdGVPdXRwb3N0U2VydmljZSxcbiAgdmFsaWRhdGVQYXJ0aXRpb24sXG4gIHZhbGlkYXRlUmVnaW9uLFxuICB2YWxpZGF0ZVJlZ2lvbmFsQ2xpZW50LFxuICB2YWxpZGF0ZVMzU2VydmljZSxcbiAgdmFsaWRhdGVTZXJ2aWNlLFxufSBmcm9tIFwiLi9idWNrZXRIb3N0bmFtZVV0aWxzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVja2V0SG9zdG5hbWUge1xuICBob3N0bmFtZTogc3RyaW5nO1xuICBidWNrZXRFbmRwb2ludDogYm9vbGVhbjtcbiAgc2lnbmluZ1JlZ2lvbj86IHN0cmluZztcbiAgc2lnbmluZ1NlcnZpY2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBidWNrZXRIb3N0bmFtZSA9IChvcHRpb25zOiBCdWNrZXRIb3N0bmFtZVBhcmFtcyB8IEFybkhvc3RuYW1lUGFyYW1zKTogQnVja2V0SG9zdG5hbWUgPT4ge1xuICBjb25zdCB7IGlzQ3VzdG9tRW5kcG9pbnQsIGJhc2VIb3N0bmFtZSwgZHVhbHN0YWNrRW5kcG9pbnQsIGFjY2VsZXJhdGVFbmRwb2ludCB9ID0gb3B0aW9ucztcblxuICBpZiAoaXNDdXN0b21FbmRwb2ludCkge1xuICAgIGlmIChkdWFsc3RhY2tFbmRwb2ludCkgdGhyb3cgbmV3IEVycm9yKFwiRHVhbHN0YWNrIGVuZHBvaW50IGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCBjdXN0b20gZW5kcG9pbnRcIik7XG4gICAgaWYgKGFjY2VsZXJhdGVFbmRwb2ludCkgdGhyb3cgbmV3IEVycm9yKFwiQWNjZWxlcmF0ZSBlbmRwb2ludCBpcyBub3Qgc3VwcG9ydGVkIHdpdGggY3VzdG9tIGVuZHBvaW50XCIpO1xuICB9XG5cbiAgcmV0dXJuIGlzQnVja2V0TmFtZU9wdGlvbnMob3B0aW9ucylcbiAgICA/IC8vIENvbnN0cnVjdCBlbmRwb2ludCB3aGVuIGJ1Y2tldE5hbWUgaXMgYSBzdHJpbmcgcmVmZXJyaW5nIHRvIGEgYnVja2V0IG5hbWVcbiAgICAgIGdldEVuZHBvaW50RnJvbUJ1Y2tldE5hbWUoeyAuLi5vcHRpb25zLCBpc0N1c3RvbUVuZHBvaW50IH0pXG4gICAgOiAvLyBDb25zdHJ1Y3QgZW5kcG9pbnQgd2hlbiBidWNrZXROYW1lIGlzIGFuIEFSTiByZWZlcnJpbmcgdG8gYW4gUzMgcmVzb3VyY2UgbGlrZSBBY2Nlc3MgUG9pbnRcbiAgICAgIGdldEVuZHBvaW50RnJvbUFybih7IC4uLm9wdGlvbnMsIGlzQ3VzdG9tRW5kcG9pbnQgfSk7XG59O1xuXG5jb25zdCBnZXRFbmRwb2ludEZyb21Bcm4gPSAob3B0aW9uczogQXJuSG9zdG5hbWVQYXJhbXMgJiB7IGlzQ3VzdG9tRW5kcG9pbnQ6IGJvb2xlYW4gfSk6IEJ1Y2tldEhvc3RuYW1lID0+IHtcbiAgY29uc3QgeyBpc0N1c3RvbUVuZHBvaW50LCBiYXNlSG9zdG5hbWUsIGNsaWVudFJlZ2lvbiB9ID0gb3B0aW9ucztcbiAgY29uc3QgaG9zdG5hbWVTdWZmaXggPSBpc0N1c3RvbUVuZHBvaW50ID8gYmFzZUhvc3RuYW1lIDogZ2V0U3VmZml4Rm9yQXJuRW5kcG9pbnQoYmFzZUhvc3RuYW1lKVsxXTtcblxuICBjb25zdCB7XG4gICAgcGF0aFN0eWxlRW5kcG9pbnQsXG4gICAgZHVhbHN0YWNrRW5kcG9pbnQgPSBmYWxzZSxcbiAgICBhY2NlbGVyYXRlRW5kcG9pbnQgPSBmYWxzZSxcbiAgICB0bHNDb21wYXRpYmxlID0gdHJ1ZSxcbiAgICB1c2VBcm5SZWdpb24sXG4gICAgYnVja2V0TmFtZSxcbiAgICBjbGllbnRQYXJ0aXRpb24gPSBcImF3c1wiLFxuICAgIGNsaWVudFNpZ25pbmdSZWdpb24gPSBjbGllbnRSZWdpb24sXG4gIH0gPSBvcHRpb25zO1xuXG4gIHZhbGlkYXRlQXJuRW5kcG9pbnRPcHRpb25zKHsgcGF0aFN0eWxlRW5kcG9pbnQsIGFjY2VsZXJhdGVFbmRwb2ludCwgdGxzQ29tcGF0aWJsZSB9KTtcblxuICAvLyBWYWxpZGF0ZSBhbmQgcGFyc2UgdGhlIEFSTiBzdXBwbGllZCBhcyBhIGJ1Y2tldCBuYW1lXG4gIGNvbnN0IHsgc2VydmljZSwgcGFydGl0aW9uLCBhY2NvdW50SWQsIHJlZ2lvbiwgcmVzb3VyY2UgfSA9IGJ1Y2tldE5hbWU7XG4gIHZhbGlkYXRlU2VydmljZShzZXJ2aWNlKTtcbiAgdmFsaWRhdGVQYXJ0aXRpb24ocGFydGl0aW9uLCB7IGNsaWVudFBhcnRpdGlvbiB9KTtcbiAgdmFsaWRhdGVBY2NvdW50SWQoYWNjb3VudElkKTtcbiAgdmFsaWRhdGVSZWdpb25hbENsaWVudChjbGllbnRSZWdpb24pO1xuICBjb25zdCB7IGFjY2Vzc3BvaW50TmFtZSwgb3V0cG9zdElkIH0gPSBnZXRBcm5SZXNvdXJjZXMocmVzb3VyY2UpO1xuICBjb25zdCBETlNIb3N0TGFiZWwgPSBgJHthY2Nlc3Nwb2ludE5hbWV9LSR7YWNjb3VudElkfWA7XG4gIHZhbGlkYXRlRE5TSG9zdExhYmVsKEROU0hvc3RMYWJlbCwgeyB0bHNDb21wYXRpYmxlIH0pO1xuXG4gIGNvbnN0IGVuZHBvaW50UmVnaW9uID0gdXNlQXJuUmVnaW9uID8gcmVnaW9uIDogY2xpZW50UmVnaW9uO1xuICBjb25zdCBzaWduaW5nUmVnaW9uID0gdXNlQXJuUmVnaW9uID8gcmVnaW9uIDogY2xpZW50U2lnbmluZ1JlZ2lvbjtcbiAgaWYgKHNlcnZpY2UgPT09IFwiczMtb2JqZWN0LWxhbWJkYVwiKSB7XG4gICAgdmFsaWRhdGVSZWdpb24ocmVnaW9uLCB7IHVzZUFyblJlZ2lvbiwgY2xpZW50UmVnaW9uLCBjbGllbnRTaWduaW5nUmVnaW9uLCBhbGxvd0ZpcHNSZWdpb246IHRydWUgfSk7XG4gICAgdmFsaWRhdGVOb0R1YWxzdGFjayhkdWFsc3RhY2tFbmRwb2ludCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJ1Y2tldEVuZHBvaW50OiB0cnVlLFxuICAgICAgaG9zdG5hbWU6IGAke0ROU0hvc3RMYWJlbH0uJHtzZXJ2aWNlfSR7aXNGaXBzUmVnaW9uKGNsaWVudFJlZ2lvbikgPyBcIi1maXBzXCIgOiBcIlwifS4ke2dldFBzZXVkb1JlZ2lvbihcbiAgICAgICAgZW5kcG9pbnRSZWdpb25cbiAgICAgICl9LiR7aG9zdG5hbWVTdWZmaXh9YCxcbiAgICAgIHNpZ25pbmdSZWdpb24sXG4gICAgICBzaWduaW5nU2VydmljZTogc2VydmljZSxcbiAgICB9O1xuICB9IGVsc2UgaWYgKG91dHBvc3RJZCkge1xuICAgIC8vIGlmIHRoaXMgaXMgYW4gT3V0cG9zdCBBUk5cbiAgICB2YWxpZGF0ZVJlZ2lvbihyZWdpb24sIHsgdXNlQXJuUmVnaW9uLCBjbGllbnRSZWdpb24sIGNsaWVudFNpZ25pbmdSZWdpb24gfSk7XG4gICAgdmFsaWRhdGVPdXRwb3N0U2VydmljZShzZXJ2aWNlKTtcbiAgICB2YWxpZGF0ZUROU0hvc3RMYWJlbChvdXRwb3N0SWQsIHsgdGxzQ29tcGF0aWJsZSB9KTtcbiAgICB2YWxpZGF0ZU5vRHVhbHN0YWNrKGR1YWxzdGFja0VuZHBvaW50KTtcbiAgICB2YWxpZGF0ZU5vRklQUyhlbmRwb2ludFJlZ2lvbik7XG4gICAgY29uc3QgaG9zdG5hbWVQcmVmaXggPSBgJHtETlNIb3N0TGFiZWx9LiR7b3V0cG9zdElkfWA7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJ1Y2tldEVuZHBvaW50OiB0cnVlLFxuICAgICAgaG9zdG5hbWU6IGAke2hvc3RuYW1lUHJlZml4fSR7aXNDdXN0b21FbmRwb2ludCA/IFwiXCIgOiBgLnMzLW91dHBvc3RzLiR7ZW5kcG9pbnRSZWdpb259YH0uJHtob3N0bmFtZVN1ZmZpeH1gLFxuICAgICAgc2lnbmluZ1JlZ2lvbixcbiAgICAgIHNpZ25pbmdTZXJ2aWNlOiBcInMzLW91dHBvc3RzXCIsXG4gICAgfTtcbiAgfVxuICAvLyBjb25zdHJ1Y3QgZW5kcG9pbnQgZnJvbSBBY2Nlc3Nwb2ludCBBUk5cbiAgdmFsaWRhdGVSZWdpb24ocmVnaW9uLCB7IHVzZUFyblJlZ2lvbiwgY2xpZW50UmVnaW9uLCBjbGllbnRTaWduaW5nUmVnaW9uLCBhbGxvd0ZpcHNSZWdpb246IHRydWUgfSk7XG4gIHZhbGlkYXRlUzNTZXJ2aWNlKHNlcnZpY2UpO1xuICBjb25zdCBob3N0bmFtZVByZWZpeCA9IGAke0ROU0hvc3RMYWJlbH1gO1xuICByZXR1cm4ge1xuICAgIGJ1Y2tldEVuZHBvaW50OiB0cnVlLFxuICAgIGhvc3RuYW1lOiBgJHtob3N0bmFtZVByZWZpeH0ke1xuICAgICAgaXNDdXN0b21FbmRwb2ludFxuICAgICAgICA/IFwiXCJcbiAgICAgICAgOiBgLnMzLWFjY2Vzc3BvaW50JHtpc0ZpcHNSZWdpb24oY2xpZW50UmVnaW9uKSA/IFwiLWZpcHNcIiA6IFwiXCJ9JHtcbiAgICAgICAgICAgIGR1YWxzdGFja0VuZHBvaW50ID8gXCIuZHVhbHN0YWNrXCIgOiBcIlwiXG4gICAgICAgICAgfS4ke2dldFBzZXVkb1JlZ2lvbihlbmRwb2ludFJlZ2lvbil9YFxuICAgIH0uJHtob3N0bmFtZVN1ZmZpeH1gLFxuICAgIHNpZ25pbmdSZWdpb24sXG4gIH07XG59O1xuXG5jb25zdCBnZXRFbmRwb2ludEZyb21CdWNrZXROYW1lID0gKHtcbiAgYWNjZWxlcmF0ZUVuZHBvaW50ID0gZmFsc2UsXG4gIGNsaWVudFJlZ2lvbjogcmVnaW9uLFxuICBiYXNlSG9zdG5hbWUsXG4gIGJ1Y2tldE5hbWUsXG4gIGR1YWxzdGFja0VuZHBvaW50ID0gZmFsc2UsXG4gIHBhdGhTdHlsZUVuZHBvaW50ID0gZmFsc2UsXG4gIHRsc0NvbXBhdGlibGUgPSB0cnVlLFxuICBpc0N1c3RvbUVuZHBvaW50ID0gZmFsc2UsXG59OiBCdWNrZXRIb3N0bmFtZVBhcmFtcyAmIHsgaXNDdXN0b21FbmRwb2ludDogYm9vbGVhbiB9KTogQnVja2V0SG9zdG5hbWUgPT4ge1xuICBjb25zdCBbY2xpZW50UmVnaW9uLCBob3N0bmFtZVN1ZmZpeF0gPSBpc0N1c3RvbUVuZHBvaW50ID8gW3JlZ2lvbiwgYmFzZUhvc3RuYW1lXSA6IGdldFN1ZmZpeChiYXNlSG9zdG5hbWUpO1xuICBpZiAocGF0aFN0eWxlRW5kcG9pbnQgfHwgIWlzRG5zQ29tcGF0aWJsZUJ1Y2tldE5hbWUoYnVja2V0TmFtZSkgfHwgKHRsc0NvbXBhdGlibGUgJiYgRE9UX1BBVFRFUk4udGVzdChidWNrZXROYW1lKSkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYnVja2V0RW5kcG9pbnQ6IGZhbHNlLFxuICAgICAgaG9zdG5hbWU6IGR1YWxzdGFja0VuZHBvaW50ID8gYHMzLmR1YWxzdGFjay4ke2NsaWVudFJlZ2lvbn0uJHtob3N0bmFtZVN1ZmZpeH1gIDogYmFzZUhvc3RuYW1lLFxuICAgIH07XG4gIH1cblxuICBpZiAoYWNjZWxlcmF0ZUVuZHBvaW50KSB7XG4gICAgYmFzZUhvc3RuYW1lID0gYHMzLWFjY2VsZXJhdGUke2R1YWxzdGFja0VuZHBvaW50ID8gXCIuZHVhbHN0YWNrXCIgOiBcIlwifS4ke2hvc3RuYW1lU3VmZml4fWA7XG4gIH0gZWxzZSBpZiAoZHVhbHN0YWNrRW5kcG9pbnQpIHtcbiAgICBiYXNlSG9zdG5hbWUgPSBgczMuZHVhbHN0YWNrLiR7Y2xpZW50UmVnaW9ufS4ke2hvc3RuYW1lU3VmZml4fWA7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGJ1Y2tldEVuZHBvaW50OiB0cnVlLFxuICAgIGhvc3RuYW1lOiBgJHtidWNrZXROYW1lfS4ke2Jhc2VIb3N0bmFtZX1gLFxuICB9O1xufTtcbiJdfQ==
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVja2V0SG9zdG5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVja2V0SG9zdG5hbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0RBc0IrQjtBQVN4QixNQUFNLGNBQWMsR0FBRyxDQUFDLE9BQWlELEVBQWtCLEVBQUU7SUFDbEcsTUFBTSxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUUxRixJQUFJLGdCQUFnQixFQUFFO1FBQ3BCLElBQUksaUJBQWlCO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQywwREFBMEQsQ0FBQyxDQUFDO1FBQ25HLElBQUksa0JBQWtCO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQywyREFBMkQsQ0FBQyxDQUFDO0tBQ3RHO0lBRUQsT0FBTyx5Q0FBbUIsQ0FBQyxPQUFPLENBQUM7UUFDakMsQ0FBQyxDQUFDLDRFQUE0RTtZQUM1RSx5QkFBeUIsQ0FBQyxFQUFFLEdBQUcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLENBQUM7UUFDN0QsQ0FBQyxDQUFDLDZGQUE2RjtZQUM3RixrQkFBa0IsQ0FBQyxFQUFFLEdBQUcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztBQUMzRCxDQUFDLENBQUM7QUFiVyxRQUFBLGNBQWMsa0JBYXpCO0FBRUYsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLE9BQTBELEVBQWtCLEVBQUU7SUFDeEcsTUFBTSxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFDakUsTUFBTSxjQUFjLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsNkNBQXVCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFbEcsTUFBTSxFQUNKLGlCQUFpQixFQUNqQixpQkFBaUIsR0FBRyxLQUFLLEVBQ3pC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QUFrQixFQUFFO1FBQ3RCLFlBQVksR0FBRyxnQkFBZ0IsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLGNBQWMsRUFBRSxDQUFDO0tBQzFGO1NBQU0sSUFBSSxpQkFBaUIsRUFBRTtRQUM1QixZQUFZLEdBQUcsZ0JBQWdCLFlBQVksSUFBSSxjQUFjLEVBQUUsQ0FBQztLQUNqRTtJQUVELE9BQU87UUFDTCxjQUFjLEVBQUUsSUFBSTtRQUNwQixRQUFRLEVBQUUsR0FBRyxVQUFVLElBQUksWUFBWSxFQUFFO0tBQzFDLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBcm5Ib3N0bmFtZVBhcmFtcyxcbiAgQnVja2V0SG9zdG5hbWVQYXJhbXMsXG4gIERPVF9QQVRURVJOLFxuICBnZXRBcm5SZXNvdXJjZXMsXG4gIGdldFBzZXVkb1JlZ2lvbixcbiAgZ2V0U3VmZml4LFxuICBnZXRTdWZmaXhGb3JBcm5FbmRwb2ludCxcbiAgaXNCdWNrZXROYW1lT3B0aW9ucyxcbiAgaXNEbnNDb21wYXRpYmxlQnVja2V0TmFtZSxcbiAgaXNGaXBzUmVnaW9uLFxuICB2YWxpZGF0ZUFjY291bnRJZCxcbiAgdmFsaWRhdGVBcm5FbmRwb2ludE9wdGlvbnMsXG4gIHZhbGlkYXRlRE5TSG9zdExhYmVsLFxuICB2YWxpZGF0ZU5vRHVhbHN0YWNrLFxuICB2YWxpZGF0ZU5vRklQUyxcbiAgdmFsaWRhdGVPdXRwb3N0U2VydmljZSxcbiAgdmFsaWRhdGVQYXJ0aXRpb24sXG4gIHZhbGlkYXRlUmVnaW9uLFxuICB2YWxpZGF0ZVJlZ2lvbmFsQ2xpZW50LFxuICB2YWxpZGF0ZVMzU2VydmljZSxcbiAgdmFsaWRhdGVTZXJ2aWNlLFxufSBmcm9tIFwiLi9idWNrZXRIb3N0bmFtZVV0aWxzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVja2V0SG9zdG5hbWUge1xuICBob3N0bmFtZTogc3RyaW5nO1xuICBidWNrZXRFbmRwb2ludDogYm9vbGVhbjtcbiAgc2lnbmluZ1JlZ2lvbj86IHN0cmluZztcbiAgc2lnbmluZ1NlcnZpY2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBidWNrZXRIb3N0bmFtZSA9IChvcHRpb25zOiBCdWNrZXRIb3N0bmFtZVBhcmFtcyB8IEFybkhvc3RuYW1lUGFyYW1zKTogQnVja2V0SG9zdG5hbWUgPT4ge1xuICBjb25zdCB7IGlzQ3VzdG9tRW5kcG9pbnQsIGJhc2VIb3N0bmFtZSwgZHVhbHN0YWNrRW5kcG9pbnQsIGFjY2VsZXJhdGVFbmRwb2ludCB9ID0gb3B0aW9ucztcblxuICBpZiAoaXNDdXN0b21FbmRwb2ludCkge1xuICAgIGlmIChkdWFsc3RhY2tFbmRwb2ludCkgdGhyb3cgbmV3IEVycm9yKFwiRHVhbHN0YWNrIGVuZHBvaW50IGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCBjdXN0b20gZW5kcG9pbnRcIik7XG4gICAgaWYgKGFjY2VsZXJhdGVFbmRwb2ludCkgdGhyb3cgbmV3IEVycm9yKFwiQWNjZWxlcmF0ZSBlbmRwb2ludCBpcyBub3Qgc3VwcG9ydGVkIHdpdGggY3VzdG9tIGVuZHBvaW50XCIpO1xuICB9XG5cbiAgcmV0dXJuIGlzQnVja2V0TmFtZU9wdGlvbnMob3B0aW9ucylcbiAgICA/IC8vIENvbnN0cnVjdCBlbmRwb2ludCB3aGVuIGJ1Y2tldE5hbWUgaXMgYSBzdHJpbmcgcmVmZXJyaW5nIHRvIGEgYnVja2V0IG5hbWVcbiAgICAgIGdldEVuZHBvaW50RnJvbUJ1Y2tldE5hbWUoeyAuLi5vcHRpb25zLCBpc0N1c3RvbUVuZHBvaW50IH0pXG4gICAgOiAvLyBDb25zdHJ1Y3QgZW5kcG9pbnQgd2hlbiBidWNrZXROYW1lIGlzIGFuIEFSTiByZWZlcnJpbmcgdG8gYW4gUzMgcmVzb3VyY2UgbGlrZSBBY2Nlc3MgUG9pbnRcbiAgICAgIGdldEVuZHBvaW50RnJvbUFybih7IC4uLm9wdGlvbnMsIGlzQ3VzdG9tRW5kcG9pbnQgfSk7XG59O1xuXG5jb25zdCBnZXRFbmRwb2ludEZyb21Bcm4gPSAob3B0aW9uczogQXJuSG9zdG5hbWVQYXJhbXMgJiB7IGlzQ3VzdG9tRW5kcG9pbnQ6IGJvb2xlYW4gfSk6IEJ1Y2tldEhvc3RuYW1lID0+IHtcbiAgY29uc3QgeyBpc0N1c3RvbUVuZHBvaW50LCBiYXNlSG9zdG5hbWUsIGNsaWVudFJlZ2lvbiB9ID0gb3B0aW9ucztcbiAgY29uc3QgaG9zdG5hbWVTdWZmaXggPSBpc0N1c3RvbUVuZHBvaW50ID8gYmFzZUhvc3RuYW1lIDogZ2V0U3VmZml4Rm9yQXJuRW5kcG9pbnQoYmFzZUhvc3RuYW1lKVsxXTtcblxuICBjb25zdCB7XG4gICAgcGF0aFN0eWxlRW5kcG9pbnQsXG4gICAgZHVhbHN0YWNrRW5kcG9pbnQgPSBmYWxzZSxcbiAgICBhY2NlbGVyYXRlRW5kcG9pbnQgPSBmYWxzZSxcbiAgICB0bHNDb21wYXRpYmxlID0gdHJ1ZSxcbiAgICB1c2VBcm5SZWdpb24sXG4gICAgYnVja2V0TmFtZSxcbiAgICBjbGllbnRQYXJ0aXRpb24gPSBcImF3c1wiLFxuICAgIGNsaWVudFNpZ25pbmdSZWdpb24gPSBjbGllbnRSZWdpb24sXG4gIH0gPSBvcHRpb25zO1xuXG4gIHZhbGlkYXRlQXJuRW5kcG9pbnRPcHRpb25zKHsgcGF0aFN0eWxlRW5kcG9pbnQsIGFjY2VsZXJhdGVFbmRwb2ludCwgdGxzQ29tcGF0aWJsZSB9KTtcblxuICAvLyBWYWxpZGF0ZSBhbmQgcGFyc2UgdGhlIEFSTiBzdXBwbGllZCBhcyBhIGJ1Y2tldCBuYW1lXG4gIGNvbnN0IHsgc2VydmljZSwgcGFydGl0aW9uLCBhY2NvdW50SWQsIHJlZ2lvbiwgcmVzb3VyY2UgfSA9IGJ1Y2tldE5hbWU7XG4gIHZhbGlkYXRlU2VydmljZShzZXJ2aWNlKTtcbiAgdmFsaWRhdGVQYXJ0aXRpb24ocGFydGl0aW9uLCB7IGNsaWVudFBhcnRpdGlvbiB9KTtcbiAgdmFsaWRhdGVBY2NvdW50SWQoYWNjb3VudElkKTtcbiAgdmFsaWRhdGVSZWdpb25hbENsaWVudChjbGllbnRSZWdpb24pO1xuICBjb25zdCB7IGFjY2Vzc3BvaW50TmFtZSwgb3V0cG9zdElkIH0gPSBnZXRBcm5SZXNvdXJjZXMocmVzb3VyY2UpO1xuICBjb25zdCBETlNIb3N0TGFiZWwgPSBgJHthY2Nlc3Nwb2ludE5hbWV9LSR7YWNjb3VudElkfWA7XG4gIHZhbGlkYXRlRE5TSG9zdExhYmVsKEROU0hvc3RMYWJlbCwgeyB0bHNDb21wYXRpYmxlIH0pO1xuXG4gIGNvbnN0IGVuZHBvaW50UmVnaW9uID0gdXNlQXJuUmVnaW9uID8gcmVnaW9uIDogY2xpZW50UmVnaW9uO1xuICBjb25zdCBzaWduaW5nUmVnaW9uID0gdXNlQXJuUmVnaW9uID8gcmVnaW9uIDogY2xpZW50U2lnbmluZ1JlZ2lvbjtcbiAgaWYgKHNlcnZpY2UgPT09IFwiczMtb2JqZWN0LWxhbWJkYVwiKSB7XG4gICAgdmFsaWRhdGVSZWdpb24ocmVnaW9uLCB7IHVzZUFyblJlZ2lvbiwgY2xpZW50UmVnaW9uLCBjbGllbnRTaWduaW5nUmVnaW9uLCBhbGxvd0ZpcHNSZWdpb246IHRydWUgfSk7XG4gICAgdmFsaWRhdGVOb0R1YWxzdGFjayhkdWFsc3RhY2tFbmRwb2ludCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJ1Y2tldEVuZHBvaW50OiB0cnVlLFxuICAgICAgaG9zdG5hbWU6IGAke0ROU0hvc3RMYWJlbH0uJHtzZXJ2aWNlfSR7aXNGaXBzUmVnaW9uKGNsaWVudFJlZ2lvbikgPyBcIi1maXBzXCIgOiBcIlwifS4ke2dldFBzZXVkb1JlZ2lvbihcbiAgICAgICAgZW5kcG9pbnRSZWdpb25cbiAgICAgICl9LiR7aG9zdG5hbWVTdWZmaXh9YCxcbiAgICAgIHNpZ25pbmdSZWdpb24sXG4gICAgICBzaWduaW5nU2VydmljZTogc2VydmljZSxcbiAgICB9O1xuICB9IGVsc2UgaWYgKG91dHBvc3RJZCkge1xuICAgIC8vIGlmIHRoaXMgaXMgYW4gT3V0cG9zdCBBUk5cbiAgICB2YWxpZGF0ZVJlZ2lvbihyZWdpb24sIHsgdXNlQXJuUmVnaW9uLCBjbGllbnRSZWdpb24sIGNsaWVudFNpZ25pbmdSZWdpb24gfSk7XG4gICAgdmFsaWRhdGVPdXRwb3N0U2VydmljZShzZXJ2aWNlKTtcbiAgICB2YWxpZGF0ZUROU0hvc3RMYWJlbChvdXRwb3N0SWQsIHsgdGxzQ29tcGF0aWJsZSB9KTtcbiAgICB2YWxpZGF0ZU5vRHVhbHN0YWNrKGR1YWxzdGFja0VuZHBvaW50KTtcbiAgICB2YWxpZGF0ZU5vRklQUyhlbmRwb2ludFJlZ2lvbik7XG4gICAgY29uc3QgaG9zdG5hbWVQcmVmaXggPSBgJHtETlNIb3N0TGFiZWx9LiR7b3V0cG9zdElkfWA7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJ1Y2tldEVuZHBvaW50OiB0cnVlLFxuICAgICAgaG9zdG5hbWU6IGAke2hvc3RuYW1lUHJlZml4fSR7aXNDdXN0b21FbmRwb2ludCA/IFwiXCIgOiBgLnMzLW91dHBvc3RzLiR7ZW5kcG9pbnRSZWdpb259YH0uJHtob3N0bmFtZVN1ZmZpeH1gLFxuICAgICAgc2lnbmluZ1JlZ2lvbixcbiAgICAgIHNpZ25pbmdTZXJ2aWNlOiBcInMzLW91dHBvc3RzXCIsXG4gICAgfTtcbiAgfVxuICAvLyBjb25zdHJ1Y3QgZW5kcG9pbnQgZnJvbSBBY2Nlc3Nwb2ludCBBUk5cbiAgdmFsaWRhdGVSZWdpb24ocmVnaW9uLCB7IHVzZUFyblJlZ2lvbiwgY2xpZW50UmVnaW9uLCBjbGllbnRTaWduaW5nUmVnaW9uLCBhbGxvd0ZpcHNSZWdpb246IHRydWUgfSk7XG4gIHZhbGlkYXRlUzNTZXJ2aWNlKHNlcnZpY2UpO1xuICBjb25zdCBob3N0bmFtZVByZWZpeCA9IGAke0ROU0hvc3RMYWJlbH1gO1xuICByZXR1cm4ge1xuICAgIGJ1Y2tldEVuZHBvaW50OiB0cnVlLFxuICAgIGhvc3RuYW1lOiBgJHtob3N0bmFtZVByZWZpeH0ke1xuICAgICAgaXNDdXN0b21FbmRwb2ludFxuICAgICAgICA/IFwiXCJcbiAgICAgICAgOiBgLnMzLWFjY2Vzc3BvaW50JHtpc0ZpcHNSZWdpb24oY2xpZW50UmVnaW9uKSA/IFwiLWZpcHNcIiA6IFwiXCJ9JHtcbiAgICAgICAgICAgIGR1YWxzdGFja0VuZHBvaW50ID8gXCIuZHVhbHN0YWNrXCIgOiBcIlwiXG4gICAgICAgICAgfS4ke2dldFBzZXVkb1JlZ2lvbihlbmRwb2ludFJlZ2lvbil9YFxuICAgIH0uJHtob3N0bmFtZVN1ZmZpeH1gLFxuICAgIHNpZ25pbmdSZWdpb24sXG4gIH07XG59O1xuXG5jb25zdCBnZXRFbmRwb2ludEZyb21CdWNrZXROYW1lID0gKHtcbiAgYWNjZWxlcmF0ZUVuZHBvaW50ID0gZmFsc2UsXG4gIGNsaWVudFJlZ2lvbjogcmVnaW9uLFxuICBiYXNlSG9zdG5hbWUsXG4gIGJ1Y2tldE5hbWUsXG4gIGR1YWxzdGFja0VuZHBvaW50ID0gZmFsc2UsXG4gIHBhdGhTdHlsZUVuZHBvaW50ID0gZmFsc2UsXG4gIHRsc0NvbXBhdGlibGUgPSB0cnVlLFxuICBpc0N1c3RvbUVuZHBvaW50ID0gZmFsc2UsXG59OiBCdWNrZXRIb3N0bmFtZVBhcmFtcyAmIHsgaXNDdXN0b21FbmRwb2ludDogYm9vbGVhbiB9KTogQnVja2V0SG9zdG5hbWUgPT4ge1xuICBjb25zdCBbY2xpZW50UmVnaW9uLCBob3N0bmFtZVN1ZmZpeF0gPSBpc0N1c3RvbUVuZHBvaW50ID8gW3JlZ2lvbiwgYmFzZUhvc3RuYW1lXSA6IGdldFN1ZmZpeChiYXNlSG9zdG5hbWUpO1xuICBpZiAocGF0aFN0eWxlRW5kcG9pbnQgfHwgIWlzRG5zQ29tcGF0aWJsZUJ1Y2tldE5hbWUoYnVja2V0TmFtZSkgfHwgKHRsc0NvbXBhdGlibGUgJiYgRE9UX1BBVFRFUk4udGVzdChidWNrZXROYW1lKSkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYnVja2V0RW5kcG9pbnQ6IGZhbHNlLFxuICAgICAgaG9zdG5hbWU6IGR1YWxzdGFja0VuZHBvaW50ID8gYHMzLmR1YWxzdGFjay4ke2NsaWVudFJlZ2lvbn0uJHtob3N0bmFtZVN1ZmZpeH1gIDogYmFzZUhvc3RuYW1lLFxuICAgIH07XG4gIH1cblxuICBpZiAoYWNjZWxlcmF0ZUVuZHBvaW50KSB7XG4gICAgYmFzZUhvc3RuYW1lID0gYHMzLWFjY2VsZXJhdGUke2R1YWxzdGFja0VuZHBvaW50ID8gXCIuZHVhbHN0YWNrXCIgOiBcIlwifS4ke2hvc3RuYW1lU3VmZml4fWA7XG4gIH0gZWxzZSBpZiAoZHVhbHN0YWNrRW5kcG9pbnQpIHtcbiAgICBiYXNlSG9zdG5hbWUgPSBgczMuZHVhbHN0YWNrLiR7Y2xpZW50UmVnaW9ufS4ke2hvc3RuYW1lU3VmZml4fWA7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGJ1Y2tldEVuZHBvaW50OiB0cnVlLFxuICAgIGhvc3RuYW1lOiBgJHtidWNrZXROYW1lfS4ke2Jhc2VIb3N0bmFtZX1gLFxuICB9O1xufTtcbiJdfQ==
|
|
@@ -14,7 +14,7 @@ exports.isBucketNameOptions = isBucketNameOptions;
|
|
|
14
14
|
* Get pseudo region from supplied region. For example, if supplied with `fips-us-west-2`, it returns `us-west-2`.
|
|
15
15
|
* @internal
|
|
16
16
|
*/
|
|
17
|
-
const getPseudoRegion = (region) => (
|
|
17
|
+
const getPseudoRegion = (region) => (exports.isFipsRegion(region) ? region.replace(/fips-|-fips/, "") : region);
|
|
18
18
|
exports.getPseudoRegion = getPseudoRegion;
|
|
19
19
|
/**
|
|
20
20
|
* Determines whether a given string is DNS compliant per the rules outlined by
|
|
@@ -92,7 +92,7 @@ const validateRegion = (region, options) => {
|
|
|
92
92
|
if (region === "") {
|
|
93
93
|
throw new Error("ARN region is empty");
|
|
94
94
|
}
|
|
95
|
-
if (
|
|
95
|
+
if (exports.isFipsRegion(options.clientRegion)) {
|
|
96
96
|
if (!options.allowFipsRegion) {
|
|
97
97
|
throw new Error("FIPS region is not supported");
|
|
98
98
|
}
|
|
@@ -112,7 +112,7 @@ exports.validateRegion = validateRegion;
|
|
|
112
112
|
* @param region
|
|
113
113
|
*/
|
|
114
114
|
const validateRegionalClient = (region) => {
|
|
115
|
-
if (["s3-external-1", "aws-global"].includes(
|
|
115
|
+
if (["s3-external-1", "aws-global"].includes(exports.getPseudoRegion(region))) {
|
|
116
116
|
throw new Error(`Client region ${region} is not regional`);
|
|
117
117
|
}
|
|
118
118
|
};
|
|
@@ -122,7 +122,7 @@ exports.validateRegionalClient = validateRegionalClient;
|
|
|
122
122
|
*/
|
|
123
123
|
const isFipsRegion = (region) => region.startsWith("fips-") || region.endsWith("-fips");
|
|
124
124
|
exports.isFipsRegion = isFipsRegion;
|
|
125
|
-
const isEqualRegions = (regionA, regionB) => regionA === regionB ||
|
|
125
|
+
const isEqualRegions = (regionA, regionB) => regionA === regionB || exports.getPseudoRegion(regionA) === regionB || regionA === exports.getPseudoRegion(regionB);
|
|
126
126
|
/**
|
|
127
127
|
* Validate an account ID
|
|
128
128
|
* @internal
|
|
@@ -192,8 +192,8 @@ exports.validateNoDualstack = validateNoDualstack;
|
|
|
192
192
|
* @internal
|
|
193
193
|
*/
|
|
194
194
|
const validateNoFIPS = (region) => {
|
|
195
|
-
if (
|
|
195
|
+
if (exports.isFipsRegion(region !== null && region !== void 0 ? region : ""))
|
|
196
196
|
throw new Error(`FIPS region is not supported with Outpost, got ${region}`);
|
|
197
197
|
};
|
|
198
198
|
exports.validateNoFIPS = validateNoFIPS;
|
|
199
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVja2V0SG9zdG5hbWVVdGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWNrZXRIb3N0bmFtZVV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLE1BQU0sY0FBYyxHQUFHLHNDQUFzQyxDQUFDO0FBQzlELE1BQU0sa0JBQWtCLEdBQUcsZUFBZSxDQUFDO0FBQzNDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQztBQUNmLFFBQUEsV0FBVyxHQUFHLElBQUksQ0FBQztBQUNuQixRQUFBLG1CQUFtQixHQUFHLDhCQUE4QixDQUFDO0FBQ2xFLE1BQU0sNEJBQTRCLEdBQUcsb0NBQW9DLENBQUM7QUFDMUUsTUFBTSxvQkFBb0IsR0FBRyxlQUFlLENBQUM7QUF3QnRDLE1BQU0sbUJBQW1CLEdBQUcsQ0FDakMsT0FBaUQsRUFDaEIsRUFBRSxDQUFDLE9BQU8sT0FBTyxDQUFDLFVBQVUsS0FBSyxRQUFRLENBQUM7QUFGaEUsUUFBQSxtQkFBbUIsdUJBRTZDO0FBRTdFOzs7R0FHRztBQUNJLE1BQU0sZUFBZSxHQUFHLENBQUMsTUFBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUEsb0JBQVksRUFBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQTFHLFFBQUEsZUFBZSxtQkFBMkY7QUFFdkg7Ozs7Ozs7R0FPRztBQUNJLE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxVQUFrQixFQUFXLEVBQUUsQ0FDdkUsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7QUFEL0YsUUFBQSx5QkFBeUIsNkJBQ3NFO0FBRTVHLE1BQU0saUJBQWlCLEdB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QUFDLDhDQUE4QyxTQUFTLGdCQUFnQixTQUFTLEdBQUcsQ0FBQyxDQUFDO0tBQ3RHO0FBQ0gsQ0FBQyxDQUFDO0FBMUJXLFFBQUEsZUFBZSxtQkEwQjFCO0FBRUY7OztHQUdHO0FBQ0ksTUFBTSxtQkFBbUIsR0FBRyxDQUFDLGlCQUEwQixFQUFFLEVBQUU7SUFDaEUsSUFBSSxpQkFBaUI7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7QUFDN0YsQ0FBQyxDQUFDO0FBRlcsUUFBQSxtQkFBbUIsdUJBRTlCO0FBRUY7OztHQUdHO0FBQ0ksTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRTtJQUMvQyxJQUFJLElBQUEsb0JBQVksRUFBQyxNQUFNLGFBQU4sTUFBTSxjQUFOLE1BQU0sR0FBSSxFQUFFLENBQUM7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGtEQUFrRCxNQUFNLEVBQUUsQ0FBQyxDQUFDO0FBQzlHLENBQUMsQ0FBQztBQUZXLFFBQUEsY0FBYyxrQkFFekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUk4gfSBmcm9tIFwiQGF3cy1zZGsvdXRpbC1hcm4tcGFyc2VyXCI7XG5cbmNvbnN0IERPTUFJTl9QQVRURVJOID0gL15bYS16MC05XVthLXowLTlcXC5cXC1dezEsNjF9W2EtejAtOV0kLztcbmNvbnN0IElQX0FERFJFU1NfUEFUVEVSTiA9IC8oXFxkK1xcLil7M31cXGQrLztcbmNvbnN0IERPVFNfUEFUVEVSTiA9IC9cXC5cXC4vO1xuZXhwb3J0IGNvbnN0IERPVF9QQVRURVJOID0gL1xcLi87XG5leHBvcnQgY29uc3QgUzNfSE9TVE5BTUVfUEFUVEVSTiA9IC9eKC4rXFwuKT9zM1suLV0oW2EtejAtOS1dKylcXC4vO1xuY29uc3QgUzNfVVNfRUFTVF8xX0FMVE5BTUVfUEFUVEVSTiA9IC9eczMoLWV4dGVybmFsLTEpP1xcLmFtYXpvbmF3c1xcLmNvbSQvO1xuY29uc3QgQVdTX1BBUlRJVElPTl9TVUZGSVggPSBcImFtYXpvbmF3cy5jb21cIjtcblxuZXhwb3J0IGludGVyZmFjZSBBY2Nlc3NQb2ludEFybiBleHRlbmRzIEFSTiB7XG4gIGFjY2Vzc1BvaW50TmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1Y2tldEhvc3RuYW1lUGFyYW1zIHtcbiAgaXNDdXN0b21FbmRwb2ludDogYm9vbGVhbjtcbiAgYmFzZUhvc3RuYW1lOiBzdHJpbmc7XG4gIGJ1Y2tldE5hbWU6IHN0cmluZztcbiAgY2xpZW50UmVnaW9uOiBzdHJpbmc7XG4gIGFjY2VsZXJhdGVFbmRwb2ludD86IGJvb2xlYW47XG4gIGR1YWxzdGFja0VuZHBvaW50PzogYm9vbGVhbjtcbiAgcGF0aFN0eWxlRW5kcG9pbnQ/OiBib29sZWFuO1xuICB0bHNDb21wYXRpYmxlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcm5Ib3N0bmFtZVBhcmFtcyBleHRlbmRzIE9taXQ8QnVja2V0SG9zdG5hbWVQYXJhbXMsIFwiYnVja2V0TmFtZVwiPiB7XG4gIGJ1Y2tldE5hbWU6IEFSTjtcbiAgY2xpZW50U2lnbmluZ1JlZ2lvbj86IHN0cmluZztcbiAgY2xpZW50UGFydGl0aW9uPzogc3RyaW5nO1xuICB1c2VBcm5SZWdpb24/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgaXNCdWNrZXROYW1lT3B0aW9ucyA9IChcbiAgb3B0aW9uczogQnVja2V0SG9zdG5hbWVQYXJhbXMgfCBBcm5Ib3N0bmFtZVBhcmFtc1xuKTogb3B0aW9ucyBpcyBCdWNrZXRIb3N0bmFtZVBhcmFtcyA9PiB0eXBlb2Ygb3B0aW9ucy5idWNrZXROYW1lID09PSBcInN0cmluZ1wiO1xuXG4vKipcbiAqIEdldCBwc2V1ZG8gcmVnaW9uIGZyb20gc3VwcGxpZWQgcmVnaW9uLiBGb3IgZXhhbXBsZSwgaWYgc3VwcGxpZWQgd2l0aCBgZmlwcy11cy13ZXN0LTJgLCBpdCByZXR1cm5zIGB1cy13ZXN0LTJgLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRQc2V1ZG9SZWdpb24gPSAocmVnaW9uOiBzdHJpbmcpID0+IChpc0ZpcHNSZWdpb24ocmVnaW9uKSA/IHJlZ2lvbi5yZXBsYWNlKC9maXBzLXwtZmlwcy8sIFwiXCIpIDogcmVnaW9uKTtcblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgYSBnaXZlbiBzdHJpbmcgaXMgRE5TIGNvbXBsaWFudCBwZXIgdGhlIHJ1bGVzIG91dGxpbmVkIGJ5XG4gKiBTMy4gTGVuZ3RoLCBjYXBpdGFpemF0aW9uLCBhbmQgbGVhZGluZyBkb3QgcmVzdHJpY3Rpb25zIGFyZSBlbmZvcmNlZCBieSB0aGVcbiAqIERPTUFJTl9QQVRURVJOIHJlZ3VsYXIgZXhwcmVzc2lvbi5cbiAqIEBpbnRlcm5hbFxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvblMzL2xhdGVzdC9kZXYvQnVja2V0UmVzdHJpY3Rpb25zLmh0bWxcbiAqL1xuZXhwb3J0IGNvbnN0IGlzRG5zQ29tcGF0aWJsZUJ1Y2tldE5hbWUgPSAoYnVja2V0TmFtZTogc3RyaW5nKTogYm9vbGVhbiA9PlxuICBET01BSU5fUEFUVEVSTi50ZXN0KGJ1Y2tldE5hbWUpICYmICFJUF9BRERSRVNTX1BBVFRFUk4udGVzdChidWNrZXROYW1lKSAmJiAhRE9UU19QQVRURVJOLnRlc3QoYnVja2V0TmFtZSk7XG5cbmNvbnN0IGdldFJlZ2lvbmFsU3VmZml4ID0gKGhvc3RuYW1lOiBzdHJpbmcpOiBbc3RyaW5nLCBzdHJpbmddID0+IHtcbiAgY29uc3QgcGFydHMgPSBob3N0bmFtZS5tYXRjaChTM19IT1NUTkFNRV9QQVRURVJOKSE7XG4gIHJldHVybiBbcGFydHNbMl0sIGhvc3RuYW1lLnJlcGxhY2UobmV3IFJlZ0V4cChgXiR7cGFydHNbMF19YCksIFwiXCIpXTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRTdWZmaXggPSAoaG9zdG5hbWU6IHN0cmluZyk6IFtzdHJpbmcsIHN0cmluZ10gPT5cbiAgUzNfVVNfRUFTVF8xX0FMVE5BTUVfUEFUVEVSTi50ZXN0KGhvc3RuYW1lKSA/IFtcInVzLWVhc3QtMVwiLCBBV1NfUEFSVElUSU9OX1NVRkZJWF0gOiBnZXRSZWdpb25hbFN1ZmZpeChob3N0bmFtZSk7XG5cbi8qKlxuICogSW5mZXIgcmVnaW9uIGFuZCBob3N0bmFtZSBzdWZmaXggZnJvbSBhIGNvbXBsZXRlIGhvc3RuYW1lXG4gKiBAaW50ZXJuYWxcbiAqIEBwYXJhbSBob3N0bmFtZSAtIEhvc3RuYW1lXG4gKiBAcmV0dXJucyBbUmVnaW9uLCBIb3N0bmFtZSBzdWZmaXhdXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRTdWZmaXhGb3JBcm5FbmRwb2ludCA9IChob3N0bmFtZTogc3RyaW5nKTogW3N0cmluZywgc3RyaW5nXSA9PlxuICBTM19VU19FQVNUXzFfQUxUTkFNRV9QQVRURVJOLnRlc3QoaG9zdG5hbWUpXG4gICAgPyBbaG9zdG5hbWUucmVwbGFjZShgLiR7QVdTX1BBUlRJVElPTl9TVUZGSVh9YCwgXCJcIiksIEFXU19QQVJUSVRJT05fU1VGRklYXVxuICAgIDogZ2V0UmVnaW9uYWxTdWZmaXgoaG9zdG5hbWUpO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVBcm5FbmRwb2ludE9wdGlvbnMgPSAob3B0aW9uczoge1xuICBhY2NlbGVyYXRlRW5kcG9pbnQ/OiBib29sZWFuO1xuICB0bHNDb21wYXRpYmxlPzogYm9vbGVhbjtcbiAgcGF0aFN0eWxlRW5kcG9pbnQ/OiBib29sZWFuO1xufSkgPT4ge1xuICBpZiAob3B0aW9ucy5wYXRoU3R5bGVFbmRwb2ludCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlBhdGgtc3R5bGUgUzMgZW5kcG9pbnQgaXMgbm90IHN1cHBvcnRlZCB3aGVuIGJ1Y2tldCBpcyBhbiBBUk5cIik7XG4gIH1cbiAgaWYgKG9wdGlvbnMuYWNjZWxlcmF0ZUVuZHBvaW50KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiQWNjZWxlcmF0ZSBlbmRwb2ludCBpcyBub3Qgc3VwcG9ydGVkIHdoZW4gYnVja2V0IGlzIGFuIEFSTlwiKTtcbiAgfVxuICBpZiAoIW9wdGlvbnMudGxzQ29tcGF0aWJsZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkhUVFBTIGlzIHJlcXVpcmVkIHdoZW4gYnVja2V0IGlzIGFuIEFSTlwiKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlU2VydmljZSA9IChzZXJ2aWNlOiBzdHJpbmcpID0+IHtcbiAgaWYgKHNlcnZpY2UgIT09IFwiczNcIiAmJiBzZXJ2aWNlICE9PSBcInMzLW91dHBvc3RzXCIgJiYgc2VydmljZSAhPT0gXCJzMy1vYmplY3QtbGFtYmRhXCIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3QgJ3MzJyBvciAnczMtb3V0cG9zdHMnIG9yICdzMy1vYmplY3QtbGFtYmRhJyBpbiBBUk4gc2VydmljZSBjb21wb25lbnRcIik7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVMzU2VydmljZSA9IChzZXJ2aWNlOiBzdHJpbmcpID0+IHtcbiAgaWYgKHNlcnZpY2UgIT09IFwiczNcIikge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdCAnczMnIGluIEFjY2Vzc3BvaW50IEFSTiBzZXJ2aWNlIGNvbXBvbmVudFwiKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlT3V0cG9zdFNlcnZpY2UgPSAoc2VydmljZTogc3RyaW5nKSA9PiB7XG4gIGlmIChzZXJ2aWNlICE9PSBcInMzLW91dHBvc3RzXCIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3QgJ3MzLXBvc3RzJyBpbiBPdXRwb3N0IEFSTiBzZXJ2aWNlIGNvbXBvbmVudFwiKTtcbiAgfVxufTtcblxuLyoqXG4gKiBWYWxpZGF0ZSBwYXJ0aXRpb24gaW5mZXJyZWQgZnJvbSBBUk4gaXMgdGhlIHNhbWUgdG8gYG9wdGlvbnMuY2xpZW50UGFydGl0aW9uYC5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgdmFsaWRhdGVQYXJ0aXRpb24gPSAocGFydGl0aW9uOiBzdHJpbmcsIG9wdGlvbnM6IHsgY2xpZW50UGFydGl0aW9uOiBzdHJpbmcgfSkgPT4ge1xuICBpZiAocGFydGl0aW9uICE9PSBvcHRpb25zLmNsaWVudFBhcnRpdGlvbikge1xuICAgIHRocm93IG5ldyBFcnJvcihgUGFydGl0aW9uIGluIEFSTiBpcyBpbmNvbXBhdGlibGUsIGdvdCBcIiR7cGFydGl0aW9ufVwiIGJ1dCBleHBlY3RlZCBcIiR7b3B0aW9ucy5jbGllbnRQYXJ0aXRpb259XCJgKTtcbiAgfVxufTtcblxuLyoqXG4gKiB2YWxpZGF0ZSByZWdpb24gdmFsdWUgaW5mZXJyZWQgZnJvbSBBUk4uIElmIGBvcHRpb25zLnVzZUFyblJlZ2lvbmAgaXMgc2V0LCBpdCB2YWxpZGF0ZXMgdGhlIHJlZ2lvbiBpcyBub3QgYSBGSVBTXG4gKiByZWdpb24uIElmIGBvcHRpb25zLnVzZUFyblJlZ2lvbmAgaXMgdW5zZXQsIGl0IHZhbGlkYXRlcyB0aGUgcmVnaW9uIGlzIGVxdWFsIHRvIGBvcHRpb25zLmNsaWVudFJlZ2lvbmAgb3JcbiAqIGBvcHRpb25zLmNsaWVudFNpZ25pbmdSZWdpb25gLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVJlZ2lvbiA9IChcbiAgcmVnaW9uOiBzdHJpbmcsXG4gIG9wdGlvbnM6IHtcbiAgICB1c2VBcm5SZWdpb24/OiBib29sZWFuO1xuICAgIGFsbG93Rmlwc1JlZ2lvbj86IGJvb2xlYW47XG4gICAgY2xpZW50UmVnaW9uOiBzdHJpbmc7XG4gICAgY2xpZW50U2lnbmluZ1JlZ2lvbjogc3RyaW5nO1xuICB9XG4pID0+IHtcbiAgaWYgKHJlZ2lvbiA9PT0gXCJcIikge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkFSTiByZWdpb24gaXMgZW1wdHlcIik7XG4gIH1cbiAgaWYgKGlzRmlwc1JlZ2lvbihvcHRpb25zLmNsaWVudFJlZ2lvbikpIHtcbiAgICBpZiAoIW9wdGlvbnMuYWxsb3dGaXBzUmVnaW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJGSVBTIHJlZ2lvbiBpcyBub3Qgc3VwcG9ydGVkXCIpO1xuICAgIH0gZWxzZSBpZiAoIWlzRXF1YWxSZWdpb25zKHJlZ2lvbiwgb3B0aW9ucy5jbGllbnRSZWdpb24pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENsaWVudCBGSVBTIHJlZ2lvbiAke29wdGlvbnMuY2xpZW50UmVnaW9ufSBkb2Vzbid0IG1hdGNoIHJlZ2lvbiAke3JlZ2lvbn0gaW4gQVJOYCk7XG4gICAgfVxuICB9XG4gIGlmIChcbiAgICAhb3B0aW9ucy51c2VBcm5SZWdpb24gJiZcbiAgICAhaXNFcXVhbFJlZ2lvbnMocmVnaW9uLCBvcHRpb25zLmNsaWVudFJlZ2lvbikgJiZcbiAgICAhaXNFcXVhbFJlZ2lvbnMocmVnaW9uLCBvcHRpb25zLmNsaWVudFNpZ25pbmdSZWdpb24pXG4gICkge1xuICAgIHRocm93IG5ldyBFcnJvcihgUmVnaW9uIGluIEFSTiBpcyBpbmNvbXBhdGlibGUsIGdvdCAke3JlZ2lvbn0gYnV0IGV4cGVjdGVkICR7b3B0aW9ucy5jbGllbnRSZWdpb259YCk7XG4gIH1cbn07XG5cbi8qKlxuICpcbiAqIEBwYXJhbSByZWdpb25cbiAqL1xuZXhwb3J0IGNvbnN0IHZhbGlkYXRlUmVnaW9uYWxDbGllbnQgPSAocmVnaW9uOiBzdHJpbmcpID0+IHtcbiAgaWYgKFtcInMzLWV4dGVybmFsLTFcIiwgXCJhd3MtZ2xvYmFsXCJdLmluY2x1ZGVzKGdldFBzZXVkb1JlZ2lvbihyZWdpb24pKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgQ2xpZW50IHJlZ2lvbiAke3JlZ2lvbn0gaXMgbm90IHJlZ2lvbmFsYCk7XG4gIH1cbn07XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCBpc0ZpcHNSZWdpb24gPSAocmVnaW9uOiBzdHJpbmcpID0+IHJlZ2lvbi5zdGFydHNXaXRoKFwiZmlwcy1cIikgfHwgcmVnaW9uLmVuZHNXaXRoKFwiLWZpcHNcIik7XG5cbmNvbnN0IGlzRXF1YWxSZWdpb25zID0gKHJlZ2lvbkE6IHN0cmluZywgcmVnaW9uQjogc3RyaW5nKSA9PlxuICByZWdpb25BID09PSByZWdpb25CIHx8IGdldFBzZXVkb1JlZ2lvbihyZWdpb25BKSA9PT0gcmVnaW9uQiB8fCByZWdpb25BID09PSBnZXRQc2V1ZG9SZWdpb24ocmVnaW9uQik7XG5cbi8qKlxuICogVmFsaWRhdGUgYW4gYWNjb3VudCBJRFxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZUFjY291bnRJZCA9IChhY2NvdW50SWQ6IHN0cmluZykgPT4ge1xuICBpZiAoIS9bMC05XXsxMn0vLmV4ZWMoYWNjb3VudElkKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkFjY2VzcyBwb2ludCBBUk4gYWNjb3VudElEIGRvZXMgbm90IG1hdGNoIHJlZ2V4ICdbMC05XXsxMn0nXCIpO1xuICB9XG59O1xuXG4vKipcbiAqIFZhbGlkYXRlIGEgaG9zdCBsYWJlbCBhY2NvcmRpbmcgdG8gaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzM5ODYjc2VjdGlvbi0zLjIuMlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZUROU0hvc3RMYWJlbCA9IChsYWJlbDogc3RyaW5nLCBvcHRpb25zOiB7IHRsc0NvbXBhdGlibGU/OiBib29sZWFuIH0gPSB7IHRsc0NvbXBhdGlibGU6IHRydWUgfSkgPT4ge1xuICAvLyByZWZlcmVuY2U6IGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzOTg2I3NlY3Rpb24tMy4yLjJcbiAgaWYgKFxuICAgIGxhYmVsLmxlbmd0aCA+PSA2NCB8fFxuICAgICEvXlthLXowLTldW2EtejAtOS4tXStbYS16MC05XSQvLnRlc3QobGFiZWwpIHx8XG4gICAgLyhcXGQrXFwuKXszfVxcZCsvLnRlc3QobGFiZWwpIHx8XG4gICAgL1suLV17Mn0vLnRlc3QobGFiZWwpIHx8XG4gICAgKG9wdGlvbnM/LnRsc0NvbXBhdGlibGUgJiYgRE9UX1BBVFRFUk4udGVzdChsYWJlbCkpXG4gICkge1xuICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBETlMgbGFiZWwgJHtsYWJlbH1gKTtcbiAgfVxufTtcblxuLyoqXG4gKiBWYWxpZGF0ZSBhbmQgcGFyc2UgYW4gQWNjZXNzIFBvaW50IEFSTiBvciBPdXRwb3N0cyBBUk5cbiAqIEBpbnRlcm5hbFxuICpcbiAqIEBwYXJhbSByZXNvdXJjZSAtIFRoZSByZXNvdXJjZSBzZWN0aW9uIG9mIGFuIEFSTlxuICogQHJldHVybnMgQWNjZXNzIFBvaW50IE5hbWUgYW5kIG9wdGlvbmFsIE91dHBvc3QgSUQuXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRBcm5SZXNvdXJjZXMgPSAoXG4gIHJlc291cmNlOiBzdHJpbmdcbik6IHtcbiAgYWNjZXNzcG9pbnROYW1lOiBzdHJpbmc7XG4gIG91dHBvc3RJZD86IHN0cmluZztcbn0gPT4ge1xuICBjb25zdCBkZWxpbWl0ZXIgPSByZXNvdXJjZS5pbmNsdWRlcyhcIjpcIikgPyBcIjpcIiA6IFwiL1wiO1xuICBjb25zdCBbcmVzb3VyY2VUeXBlLCAuLi5yZXN0XSA9IHJlc291cmNlLnNwbGl0KGRlbGltaXRlcik7XG4gIGlmIChyZXNvdXJjZVR5cGUgPT09IFwiYWNjZXNzcG9pbnRcIikge1xuICAgIC8vIFBhcnNlIGFjY2Vzc3BvaW50IEFSTlxuICAgIGlmIChyZXN0Lmxlbmd0aCAhPT0gMSB8fCByZXN0WzBdID09PSBcIlwiKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEFjY2VzcyBQb2ludCBBUk4gc2hvdWxkIGhhdmUgb25lIHJlc291cmNlIGFjY2Vzc3BvaW50JHtkZWxpbWl0ZXJ9e2FjY2Vzc3BvaW50bmFtZX1gKTtcbiAgICB9XG4gICAgcmV0dXJuIHsgYWNjZXNzcG9pbnROYW1lOiByZXN0WzBdIH07XG4gIH0gZWxzZSBpZiAocmVzb3VyY2VUeXBlID09PSBcIm91dHBvc3RcIikge1xuICAgIC8vIFBhcnNlIG91dHBvc3QgQVJOXG4gICAgaWYgKCFyZXN0WzBdIHx8IHJlc3RbMV0gIT09IFwiYWNjZXNzcG9pbnRcIiB8fCAhcmVzdFsyXSB8fCByZXN0Lmxlbmd0aCAhPT0gMykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgT3V0cG9zdCBBUk4gc2hvdWxkIGhhdmUgcmVzb3VyY2Ugb3V0cG9zdCR7ZGVsaW1pdGVyfXtvdXRwb3N0SWR9JHtkZWxpbWl0ZXJ9YWNjZXNzcG9pbnQke2RlbGltaXRlcn17YWNjZXNzcG9pbnROYW1lfWBcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IFtvdXRwb3N0SWQsIF8sIGFjY2Vzc3BvaW50TmFtZV0gPSByZXN0O1xuICAgIHJldHVybiB7IG91dHBvc3RJZCwgYWNjZXNzcG9pbnROYW1lIH07XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBBUk4gcmVzb3VyY2Ugc2hvdWxkIGJlZ2luIHdpdGggJ2FjY2Vzc3BvaW50JHtkZWxpbWl0ZXJ9JyBvciAnb3V0cG9zdCR7ZGVsaW1pdGVyfSdgKTtcbiAgfVxufTtcblxuLyoqXG4gKiBUaHJvdyBpZiBkdWFsIHN0YWNrIGNvbmZpZ3VyYXRpb24gaXMgc2V0IHRvIHRydWUuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IHZhbGlkYXRlTm9EdWFsc3RhY2sgPSAoZHVhbHN0YWNrRW5kcG9pbnQ6IGJvb2xlYW4pID0+IHtcbiAgaWYgKGR1YWxzdGFja0VuZHBvaW50KSB0aHJvdyBuZXcgRXJyb3IoXCJEdWFsc3RhY2sgZW5kcG9pbnQgaXMgbm90IHN1cHBvcnRlZCB3aXRoIE91dHBvc3RcIik7XG59O1xuXG4vKipcbiAqIFZhbGlkYXRlIHJlZ2lvbiBpcyBub3QgYXBwZW5kZWQgb3IgcHJlcGVuZGVkIHdpdGggYSBgZmlwcy1gXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IHZhbGlkYXRlTm9GSVBTID0gKHJlZ2lvbjogc3RyaW5nKSA9PiB7XG4gIGlmIChpc0ZpcHNSZWdpb24ocmVnaW9uID8/IFwiXCIpKSB0aHJvdyBuZXcgRXJyb3IoYEZJUFMgcmVnaW9uIGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCBPdXRwb3N0LCBnb3QgJHtyZWdpb259YCk7XG59O1xuIl19
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVja2V0SG9zdG5hbWVVdGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWNrZXRIb3N0bmFtZVV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLE1BQU0sY0FBYyxHQUFHLHNDQUFzQyxDQUFDO0FBQzlELE1BQU0sa0JBQWtCLEdBQUcsZUFBZSxDQUFDO0FBQzNDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQztBQUNmLFFBQUEsV0FBVyxHQUFHLElBQUksQ0FBQztBQUNuQixRQUFBLG1CQUFtQixHQUFHLDhCQUE4QixDQUFDO0FBQ2xFLE1BQU0sNEJBQTRCLEdBQUcsb0NBQW9DLENBQUM7QUFDMUUsTUFBTSxvQkFBb0IsR0FBRyxlQUFlLENBQUM7QUF3QnRDLE1BQU0sbUJBQW1CLEdBQUcsQ0FDakMsT0FBaUQsRUFDaEIsRUFBRSxDQUFDLE9BQU8sT0FBTyxDQUFDLFVBQVUsS0FBSyxRQUFRLENBQUM7QUFGaEUsUUFBQSxtQkFBbUIsdUJBRTZDO0FBRTdFOzs7R0FHRztBQUNJLE1BQU0sZUFBZSxHQUFHLENBQUMsTUFBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDLG9CQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUExRyxRQUFBLGVBQWUsbUJBQTJGO0FBRXZIOzs7Ozs7O0dBT0c7QUFDSSxNQUFNLHlCQUF5QixHQUFHLENBQUMsVUFBa0IsRUFBVyxFQUFFLENBQ3ZFLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBRC9GLFFBQUEseUJBQXlCLDZCQUNzRTtBQUU1RyxNQUFNLGlCQUFpQixHQUFHLENBQUMsUUFBZ0IsRUFBb0IsRUFBRTtJQUMvRCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLDJCQUFtQixDQUFFLENBQUM7SUFDbkQsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3RFLENBQUMsQ0FBQztBQUVLLE1BQU0sU0FBUyxHQUFHLENBQUMsUUFBZ0IsRUFBb0IsRUFBRSxDQUM5RCw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBRHJHLFFBQUEsU0FBUyxhQUM0RjtBQUVsSDs7Ozs7R0FLRztBQUNJLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxRQUFnQixFQUFvQixFQUFFLENBQzVFLDRCQUE0QixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLG9CQUFvQixFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsb0JBQW9CLENBQUM7SUFDMUUsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBSHJCLFFBQUEsdUJBQXVCLDJCQUdGO0FBRTNCLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxPQUkxQyxFQUFFLEVBQUU7SUFDSCxJQUFJLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRTtRQUM3QixNQUFNLElBQUksS0FBSyxDQUFDLCtEQUErRCxDQUFDLENBQUM7S0FDbEY7SUFDRCxJQUFJLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRTtRQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLDREQUE0RCxDQUFDLENBQUM7S0FDL0U7SUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRTtRQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7S0FDNUQ7QUFDSCxDQUFDLENBQUM7QUFkVyxRQUFBLDBCQUEwQiw4QkFjckM7QUFFSyxNQUFNLGVBQWUsR0FBRyxDQUFDLE9BQWUsRUFBRSxFQUFFO0lBQ2pELElBQUksT0FBTyxLQUFLLElBQUksSUFBSSxPQUFPLEtBQUssYUFBYSxJQUFJLE9BQU8sS0FBSyxrQkFBa0IsRUFBRTtRQUNuRixNQUFNLElBQUksS0FBSyxDQUFDLDZFQUE2RSxDQUFDLENBQUM7S0FDaEc7QUFDSCxDQUFDLENBQUM7QUFKVyxRQUFBLGVBQWUsbUJBSTFCO0FBRUssTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE9BQWUsRUFBRSxFQUFFO0lBQ25ELElBQUksT0FBTyxLQUFLLElBQUksRUFBRTtRQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7S0FDckU7QUFDSCxDQUFDLENBQUM7QUFKVyxRQUFBLGlCQUFpQixxQkFJNUI7QUFFSyxNQUFNLHNCQUFzQixHQUFHLENBQUMsT0FBZSxFQUFFLEVBQUU7SUFDeEQsSUFBSSxPQUFPLEtBQUssYUFBYSxFQUFFO1FBQzdCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztLQUN2RTtBQUNILENBQUMsQ0FBQztBQUpXLFFBQUEsc0JBQXNCLDBCQUlqQztBQUVGOzs7R0FHRztBQUNJLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxTQUFpQixFQUFFLE9BQW9DLEVBQUUsRUFBRTtJQUMzRixJQUFJLFNBQVMsS0FBSyxPQUFPLENBQUMsZUFBZSxFQUFFO1FBQ3pDLE1BQU0sSUFBSSxLQUFLLENBQUMsMENBQTBDLFNBQVMsbUJBQW1CLE9BQU8sQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDO0tBQ25IO0FBQ0gsQ0FBQyxDQUFDO0FBSlcsUUFBQSxpQkFBaUIscUJBSTVCO0FBRUY7Ozs7O0dBS0c7QUFDSSxNQUFNLGNBQWMsR0FBRyxDQUM1QixNQUFjLEVBQ2QsT0FLQyxFQUNELEVBQUU7SUFDRixJQUFJLE1BQU0sS0FBSyxFQUFFLEVBQUU7UUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0tBQ3hDO0lBQ0QsSUFBSSxvQkFBWSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRTtRQUN0QyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRTtZQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7U0FDakQ7YUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDeEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsT0FBTyxDQUFDLFlBQVkseUJBQXlCLE1BQU0sU0FBUyxDQUFDLENBQUM7U0FDckc7S0FDRjtJQUNELElBQ0UsQ0FBQyxPQUFPLENBQUMsWUFBWTtRQUNyQixDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQztRQUM3QyxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLG1CQUFtQixDQUFDLEVBQ3BEO1FBQ0EsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsTUFBTSxpQkFBaUIsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7S0FDdEc7QUFDSCxDQUFDLENBQUM7QUExQlcsUUFBQSxjQUFjLGtCQTBCekI7QUFFRjs7O0dBR0c7QUFDSSxNQUFNLHNCQUFzQixHQUFHLENBQUMsTUFBYyxFQUFFLEVBQUU7SUFDdkQsSUFBSSxDQUFDLGVBQWUsRUFBRSxZQUFZLENBQUMsQ0FBQyxRQUFRLENBQUMsdUJBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFO1FBQ3JFLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLE1BQU0sa0JBQWtCLENBQUMsQ0FBQztLQUM1RDtBQUNILENBQUMsQ0FBQztBQUpXLFFBQUEsc0JBQXNCLDBCQUlqQztBQUVGOztHQUVHO0FBQ0ksTUFBTSxZQUFZLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUExRixRQUFBLFlBQVksZ0JBQThFO0FBRXZHLE1BQU0sY0FBYyxHQUFHLENBQUMsT0FBZSxFQUFFLE9BQWUsRUFBRSxFQUFFLENBQzFELE9BQU8sS0FBSyxPQUFPLElBQUksdUJBQWUsQ0FBQyxPQUFPLENBQUMsS0FBSyxPQUFPLElBQUksT0FBTyxLQUFLLHVCQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7QUFFdEc7OztHQUdHO0FBQ0ksTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFNBQWlCLEVBQUUsRUFBRTtJQUNyRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtRQUNoQyxNQUFNLElBQUksS0FBSyxDQUFDLDZEQUE2RCxDQUFDLENBQUM7S0FDaEY7QUFDSCxDQUFDLENBQUM7QUFKVyxRQUFBLGlCQUFpQixxQkFJNUI7QUFFRjs7O0dBR0c7QUFDSSxNQUFNLG9CQUFvQixHQUFHLENBQUMsS0FBYSxFQUFFLFVBQXVDLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUU7SUFDcEgsK0RBQStEO0lBQy9ELElBQ0UsS0FBSyxDQUFDLE1BQU0sSUFBSSxFQUFFO1FBQ2xCLENBQUMsK0JBQStCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUM1QyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUMzQixTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNyQixDQUFDLENBQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLGFBQWEsS0FBSSxtQkFBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUNuRDtRQUNBLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLEtBQUssRUFBRSxDQUFDLENBQUM7S0FDL0M7QUFDSCxDQUFDLENBQUM7QUFYVyxRQUFBLG9CQUFvQix3QkFXL0I7QUFFRjs7Ozs7O0dBTUc7QUFDSSxNQUFNLGVBQWUsR0FBRyxDQUM3QixRQUFnQixFQUloQixFQUFFO0lBQ0YsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDckQsTUFBTSxDQUFDLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUQsSUFBSSxZQUFZLEtBQUssYUFBYSxFQUFFO1FBQ2xDLHdCQUF3QjtRQUN4QixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDdkMsTUFBTSxJQUFJLEtBQUssQ0FBQyx3REFBd0QsU0FBUyxtQkFBbUIsQ0FBQyxDQUFDO1NBQ3ZHO1FBQ0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztLQUNyQztTQUFNLElBQUksWUFBWSxLQUFLLFNBQVMsRUFBRTtRQUNyQyxvQkFBb0I7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssYUFBYSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzFFLE1BQU0sSUFBSSxLQUFLLENBQ2IsMkNBQTJDLFNBQVMsY0FBYyxTQUFTLGNBQWMsU0FBUyxtQkFBbUIsQ0FDdEgsQ0FBQztTQUNIO1FBQ0QsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsZUFBZSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLENBQUM7S0FDdkM7U0FBTTtRQUNMLE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLFNBQVMsZ0JBQWdCLFNBQVMsR0FBRyxDQUFDLENBQUM7S0FDdEc7QUFDSCxDQUFDLENBQUM7QUExQlcsUUFBQSxlQUFlLG1CQTBCMUI7QUFFRjs7O0dBR0c7QUFDSSxNQUFNLG1CQUFtQixHQUFHLENBQUMsaUJBQTBCLEVBQUUsRUFBRTtJQUNoRSxJQUFJLGlCQUFpQjtRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsa0RBQWtELENBQUMsQ0FBQztBQUM3RixDQUFDLENBQUM7QUFGVyxRQUFBLG1CQUFtQix1QkFFOUI7QUFFRjs7O0dBR0c7QUFDSSxNQUFNLGNBQWMsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFO0lBQy9DLElBQUksb0JBQVksQ0FBQyxNQUFNLGFBQU4sTUFBTSxjQUFOLE1BQU0sR0FBSSxFQUFFLENBQUM7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGtEQUFrRCxNQUFNLEVBQUUsQ0FBQyxDQUFDO0FBQzlHLENBQUMsQ0FBQztBQUZXLFFBQUEsY0FBYyxrQkFFekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUk4gfSBmcm9tIFwiQGF3cy1zZGsvdXRpbC1hcm4tcGFyc2VyXCI7XG5cbmNvbnN0IERPTUFJTl9QQVRURVJOID0gL15bYS16MC05XVthLXowLTlcXC5cXC1dezEsNjF9W2EtejAtOV0kLztcbmNvbnN0IElQX0FERFJFU1NfUEFUVEVSTiA9IC8oXFxkK1xcLil7M31cXGQrLztcbmNvbnN0IERPVFNfUEFUVEVSTiA9IC9cXC5cXC4vO1xuZXhwb3J0IGNvbnN0IERPVF9QQVRURVJOID0gL1xcLi87XG5leHBvcnQgY29uc3QgUzNfSE9TVE5BTUVfUEFUVEVSTiA9IC9eKC4rXFwuKT9zM1suLV0oW2EtejAtOS1dKylcXC4vO1xuY29uc3QgUzNfVVNfRUFTVF8xX0FMVE5BTUVfUEFUVEVSTiA9IC9eczMoLWV4dGVybmFsLTEpP1xcLmFtYXpvbmF3c1xcLmNvbSQvO1xuY29uc3QgQVdTX1BBUlRJVElPTl9TVUZGSVggPSBcImFtYXpvbmF3cy5jb21cIjtcblxuZXhwb3J0IGludGVyZmFjZSBBY2Nlc3NQb2ludEFybiBleHRlbmRzIEFSTiB7XG4gIGFjY2Vzc1BvaW50TmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1Y2tldEhvc3RuYW1lUGFyYW1zIHtcbiAgaXNDdXN0b21FbmRwb2ludDogYm9vbGVhbjtcbiAgYmFzZUhvc3RuYW1lOiBzdHJpbmc7XG4gIGJ1Y2tldE5hbWU6IHN0cmluZztcbiAgY2xpZW50UmVnaW9uOiBzdHJpbmc7XG4gIGFjY2VsZXJhdGVFbmRwb2ludD86IGJvb2xlYW47XG4gIGR1YWxzdGFja0VuZHBvaW50PzogYm9vbGVhbjtcbiAgcGF0aFN0eWxlRW5kcG9pbnQ/OiBib29sZWFuO1xuICB0bHNDb21wYXRpYmxlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcm5Ib3N0bmFtZVBhcmFtcyBleHRlbmRzIE9taXQ8QnVja2V0SG9zdG5hbWVQYXJhbXMsIFwiYnVja2V0TmFtZVwiPiB7XG4gIGJ1Y2tldE5hbWU6IEFSTjtcbiAgY2xpZW50U2lnbmluZ1JlZ2lvbj86IHN0cmluZztcbiAgY2xpZW50UGFydGl0aW9uPzogc3RyaW5nO1xuICB1c2VBcm5SZWdpb24/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgaXNCdWNrZXROYW1lT3B0aW9ucyA9IChcbiAgb3B0aW9uczogQnVja2V0SG9zdG5hbWVQYXJhbXMgfCBBcm5Ib3N0bmFtZVBhcmFtc1xuKTogb3B0aW9ucyBpcyBCdWNrZXRIb3N0bmFtZVBhcmFtcyA9PiB0eXBlb2Ygb3B0aW9ucy5idWNrZXROYW1lID09PSBcInN0cmluZ1wiO1xuXG4vKipcbiAqIEdldCBwc2V1ZG8gcmVnaW9uIGZyb20gc3VwcGxpZWQgcmVnaW9uLiBGb3IgZXhhbXBsZSwgaWYgc3VwcGxpZWQgd2l0aCBgZmlwcy11cy13ZXN0LTJgLCBpdCByZXR1cm5zIGB1cy13ZXN0LTJgLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRQc2V1ZG9SZWdpb24gPSAocmVnaW9uOiBzdHJpbmcpID0+IChpc0ZpcHNSZWdpb24ocmVnaW9uKSA/IHJlZ2lvbi5yZXBsYWNlKC9maXBzLXwtZmlwcy8sIFwiXCIpIDogcmVnaW9uKTtcblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgYSBnaXZlbiBzdHJpbmcgaXMgRE5TIGNvbXBsaWFudCBwZXIgdGhlIHJ1bGVzIG91dGxpbmVkIGJ5XG4gKiBTMy4gTGVuZ3RoLCBjYXBpdGFpemF0aW9uLCBhbmQgbGVhZGluZyBkb3QgcmVzdHJpY3Rpb25zIGFyZSBlbmZvcmNlZCBieSB0aGVcbiAqIERPTUFJTl9QQVRURVJOIHJlZ3VsYXIgZXhwcmVzc2lvbi5cbiAqIEBpbnRlcm5hbFxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvblMzL2xhdGVzdC9kZXYvQnVja2V0UmVzdHJpY3Rpb25zLmh0bWxcbiAqL1xuZXhwb3J0IGNvbnN0IGlzRG5zQ29tcGF0aWJsZUJ1Y2tldE5hbWUgPSAoYnVja2V0TmFtZTogc3RyaW5nKTogYm9vbGVhbiA9PlxuICBET01BSU5fUEFUVEVSTi50ZXN0KGJ1Y2tldE5hbWUpICYmICFJUF9BRERSRVNTX1BBVFRFUk4udGVzdChidWNrZXROYW1lKSAmJiAhRE9UU19QQVRURVJOLnRlc3QoYnVja2V0TmFtZSk7XG5cbmNvbnN0IGdldFJlZ2lvbmFsU3VmZml4ID0gKGhvc3RuYW1lOiBzdHJpbmcpOiBbc3RyaW5nLCBzdHJpbmddID0+IHtcbiAgY29uc3QgcGFydHMgPSBob3N0bmFtZS5tYXRjaChTM19IT1NUTkFNRV9QQVRURVJOKSE7XG4gIHJldHVybiBbcGFydHNbMl0sIGhvc3RuYW1lLnJlcGxhY2UobmV3IFJlZ0V4cChgXiR7cGFydHNbMF19YCksIFwiXCIpXTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRTdWZmaXggPSAoaG9zdG5hbWU6IHN0cmluZyk6IFtzdHJpbmcsIHN0cmluZ10gPT5cbiAgUzNfVVNfRUFTVF8xX0FMVE5BTUVfUEFUVEVSTi50ZXN0KGhvc3RuYW1lKSA/IFtcInVzLWVhc3QtMVwiLCBBV1NfUEFSVElUSU9OX1NVRkZJWF0gOiBnZXRSZWdpb25hbFN1ZmZpeChob3N0bmFtZSk7XG5cbi8qKlxuICogSW5mZXIgcmVnaW9uIGFuZCBob3N0bmFtZSBzdWZmaXggZnJvbSBhIGNvbXBsZXRlIGhvc3RuYW1lXG4gKiBAaW50ZXJuYWxcbiAqIEBwYXJhbSBob3N0bmFtZSAtIEhvc3RuYW1lXG4gKiBAcmV0dXJucyBbUmVnaW9uLCBIb3N0bmFtZSBzdWZmaXhdXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRTdWZmaXhGb3JBcm5FbmRwb2ludCA9IChob3N0bmFtZTogc3RyaW5nKTogW3N0cmluZywgc3RyaW5nXSA9PlxuICBTM19VU19FQVNUXzFfQUxUTkFNRV9QQVRURVJOLnRlc3QoaG9zdG5hbWUpXG4gICAgPyBbaG9zdG5hbWUucmVwbGFjZShgLiR7QVdTX1BBUlRJVElPTl9TVUZGSVh9YCwgXCJcIiksIEFXU19QQVJUSVRJT05fU1VGRklYXVxuICAgIDogZ2V0UmVnaW9uYWxTdWZmaXgoaG9zdG5hbWUpO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVBcm5FbmRwb2ludE9wdGlvbnMgPSAob3B0aW9uczoge1xuICBhY2NlbGVyYXRlRW5kcG9pbnQ/OiBib29sZWFuO1xuICB0bHNDb21wYXRpYmxlPzogYm9vbGVhbjtcbiAgcGF0aFN0eWxlRW5kcG9pbnQ/OiBib29sZWFuO1xufSkgPT4ge1xuICBpZiAob3B0aW9ucy5wYXRoU3R5bGVFbmRwb2ludCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlBhdGgtc3R5bGUgUzMgZW5kcG9pbnQgaXMgbm90IHN1cHBvcnRlZCB3aGVuIGJ1Y2tldCBpcyBhbiBBUk5cIik7XG4gIH1cbiAgaWYgKG9wdGlvbnMuYWNjZWxlcmF0ZUVuZHBvaW50KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiQWNjZWxlcmF0ZSBlbmRwb2ludCBpcyBub3Qgc3VwcG9ydGVkIHdoZW4gYnVja2V0IGlzIGFuIEFSTlwiKTtcbiAgfVxuICBpZiAoIW9wdGlvbnMudGxzQ29tcGF0aWJsZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkhUVFBTIGlzIHJlcXVpcmVkIHdoZW4gYnVja2V0IGlzIGFuIEFSTlwiKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlU2VydmljZSA9IChzZXJ2aWNlOiBzdHJpbmcpID0+IHtcbiAgaWYgKHNlcnZpY2UgIT09IFwiczNcIiAmJiBzZXJ2aWNlICE9PSBcInMzLW91dHBvc3RzXCIgJiYgc2VydmljZSAhPT0gXCJzMy1vYmplY3QtbGFtYmRhXCIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3QgJ3MzJyBvciAnczMtb3V0cG9zdHMnIG9yICdzMy1vYmplY3QtbGFtYmRhJyBpbiBBUk4gc2VydmljZSBjb21wb25lbnRcIik7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVMzU2VydmljZSA9IChzZXJ2aWNlOiBzdHJpbmcpID0+IHtcbiAgaWYgKHNlcnZpY2UgIT09IFwiczNcIikge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdCAnczMnIGluIEFjY2Vzc3BvaW50IEFSTiBzZXJ2aWNlIGNvbXBvbmVudFwiKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlT3V0cG9zdFNlcnZpY2UgPSAoc2VydmljZTogc3RyaW5nKSA9PiB7XG4gIGlmIChzZXJ2aWNlICE9PSBcInMzLW91dHBvc3RzXCIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3QgJ3MzLXBvc3RzJyBpbiBPdXRwb3N0IEFSTiBzZXJ2aWNlIGNvbXBvbmVudFwiKTtcbiAgfVxufTtcblxuLyoqXG4gKiBWYWxpZGF0ZSBwYXJ0aXRpb24gaW5mZXJyZWQgZnJvbSBBUk4gaXMgdGhlIHNhbWUgdG8gYG9wdGlvbnMuY2xpZW50UGFydGl0aW9uYC5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgdmFsaWRhdGVQYXJ0aXRpb24gPSAocGFydGl0aW9uOiBzdHJpbmcsIG9wdGlvbnM6IHsgY2xpZW50UGFydGl0aW9uOiBzdHJpbmcgfSkgPT4ge1xuICBpZiAocGFydGl0aW9uICE9PSBvcHRpb25zLmNsaWVudFBhcnRpdGlvbikge1xuICAgIHRocm93IG5ldyBFcnJvcihgUGFydGl0aW9uIGluIEFSTiBpcyBpbmNvbXBhdGlibGUsIGdvdCBcIiR7cGFydGl0aW9ufVwiIGJ1dCBleHBlY3RlZCBcIiR7b3B0aW9ucy5jbGllbnRQYXJ0aXRpb259XCJgKTtcbiAgfVxufTtcblxuLyoqXG4gKiB2YWxpZGF0ZSByZWdpb24gdmFsdWUgaW5mZXJyZWQgZnJvbSBBUk4uIElmIGBvcHRpb25zLnVzZUFyblJlZ2lvbmAgaXMgc2V0LCBpdCB2YWxpZGF0ZXMgdGhlIHJlZ2lvbiBpcyBub3QgYSBGSVBTXG4gKiByZWdpb24uIElmIGBvcHRpb25zLnVzZUFyblJlZ2lvbmAgaXMgdW5zZXQsIGl0IHZhbGlkYXRlcyB0aGUgcmVnaW9uIGlzIGVxdWFsIHRvIGBvcHRpb25zLmNsaWVudFJlZ2lvbmAgb3JcbiAqIGBvcHRpb25zLmNsaWVudFNpZ25pbmdSZWdpb25gLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVJlZ2lvbiA9IChcbiAgcmVnaW9uOiBzdHJpbmcsXG4gIG9wdGlvbnM6IHtcbiAgICB1c2VBcm5SZWdpb24/OiBib29sZWFuO1xuICAgIGFsbG93Rmlwc1JlZ2lvbj86IGJvb2xlYW47XG4gICAgY2xpZW50UmVnaW9uOiBzdHJpbmc7XG4gICAgY2xpZW50U2lnbmluZ1JlZ2lvbjogc3RyaW5nO1xuICB9XG4pID0+IHtcbiAgaWYgKHJlZ2lvbiA9PT0gXCJcIikge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkFSTiByZWdpb24gaXMgZW1wdHlcIik7XG4gIH1cbiAgaWYgKGlzRmlwc1JlZ2lvbihvcHRpb25zLmNsaWVudFJlZ2lvbikpIHtcbiAgICBpZiAoIW9wdGlvbnMuYWxsb3dGaXBzUmVnaW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJGSVBTIHJlZ2lvbiBpcyBub3Qgc3VwcG9ydGVkXCIpO1xuICAgIH0gZWxzZSBpZiAoIWlzRXF1YWxSZWdpb25zKHJlZ2lvbiwgb3B0aW9ucy5jbGllbnRSZWdpb24pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENsaWVudCBGSVBTIHJlZ2lvbiAke29wdGlvbnMuY2xpZW50UmVnaW9ufSBkb2Vzbid0IG1hdGNoIHJlZ2lvbiAke3JlZ2lvbn0gaW4gQVJOYCk7XG4gICAgfVxuICB9XG4gIGlmIChcbiAgICAhb3B0aW9ucy51c2VBcm5SZWdpb24gJiZcbiAgICAhaXNFcXVhbFJlZ2lvbnMocmVnaW9uLCBvcHRpb25zLmNsaWVudFJlZ2lvbikgJiZcbiAgICAhaXNFcXVhbFJlZ2lvbnMocmVnaW9uLCBvcHRpb25zLmNsaWVudFNpZ25pbmdSZWdpb24pXG4gICkge1xuICAgIHRocm93IG5ldyBFcnJvcihgUmVnaW9uIGluIEFSTiBpcyBpbmNvbXBhdGlibGUsIGdvdCAke3JlZ2lvbn0gYnV0IGV4cGVjdGVkICR7b3B0aW9ucy5jbGllbnRSZWdpb259YCk7XG4gIH1cbn07XG5cbi8qKlxuICpcbiAqIEBwYXJhbSByZWdpb25cbiAqL1xuZXhwb3J0IGNvbnN0IHZhbGlkYXRlUmVnaW9uYWxDbGllbnQgPSAocmVnaW9uOiBzdHJpbmcpID0+IHtcbiAgaWYgKFtcInMzLWV4dGVybmFsLTFcIiwgXCJhd3MtZ2xvYmFsXCJdLmluY2x1ZGVzKGdldFBzZXVkb1JlZ2lvbihyZWdpb24pKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgQ2xpZW50IHJlZ2lvbiAke3JlZ2lvbn0gaXMgbm90IHJlZ2lvbmFsYCk7XG4gIH1cbn07XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCBpc0ZpcHNSZWdpb24gPSAocmVnaW9uOiBzdHJpbmcpID0+IHJlZ2lvbi5zdGFydHNXaXRoKFwiZmlwcy1cIikgfHwgcmVnaW9uLmVuZHNXaXRoKFwiLWZpcHNcIik7XG5cbmNvbnN0IGlzRXF1YWxSZWdpb25zID0gKHJlZ2lvbkE6IHN0cmluZywgcmVnaW9uQjogc3RyaW5nKSA9PlxuICByZWdpb25BID09PSByZWdpb25CIHx8IGdldFBzZXVkb1JlZ2lvbihyZWdpb25BKSA9PT0gcmVnaW9uQiB8fCByZWdpb25BID09PSBnZXRQc2V1ZG9SZWdpb24ocmVnaW9uQik7XG5cbi8qKlxuICogVmFsaWRhdGUgYW4gYWNjb3VudCBJRFxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZUFjY291bnRJZCA9IChhY2NvdW50SWQ6IHN0cmluZykgPT4ge1xuICBpZiAoIS9bMC05XXsxMn0vLmV4ZWMoYWNjb3VudElkKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkFjY2VzcyBwb2ludCBBUk4gYWNjb3VudElEIGRvZXMgbm90IG1hdGNoIHJlZ2V4ICdbMC05XXsxMn0nXCIpO1xuICB9XG59O1xuXG4vKipcbiAqIFZhbGlkYXRlIGEgaG9zdCBsYWJlbCBhY2NvcmRpbmcgdG8gaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzM5ODYjc2VjdGlvbi0zLjIuMlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZUROU0hvc3RMYWJlbCA9IChsYWJlbDogc3RyaW5nLCBvcHRpb25zOiB7IHRsc0NvbXBhdGlibGU/OiBib29sZWFuIH0gPSB7IHRsc0NvbXBhdGlibGU6IHRydWUgfSkgPT4ge1xuICAvLyByZWZlcmVuY2U6IGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzOTg2I3NlY3Rpb24tMy4yLjJcbiAgaWYgKFxuICAgIGxhYmVsLmxlbmd0aCA+PSA2NCB8fFxuICAgICEvXlthLXowLTldW2EtejAtOS4tXStbYS16MC05XSQvLnRlc3QobGFiZWwpIHx8XG4gICAgLyhcXGQrXFwuKXszfVxcZCsvLnRlc3QobGFiZWwpIHx8XG4gICAgL1suLV17Mn0vLnRlc3QobGFiZWwpIHx8XG4gICAgKG9wdGlvbnM/LnRsc0NvbXBhdGlibGUgJiYgRE9UX1BBVFRFUk4udGVzdChsYWJlbCkpXG4gICkge1xuICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBETlMgbGFiZWwgJHtsYWJlbH1gKTtcbiAgfVxufTtcblxuLyoqXG4gKiBWYWxpZGF0ZSBhbmQgcGFyc2UgYW4gQWNjZXNzIFBvaW50IEFSTiBvciBPdXRwb3N0cyBBUk5cbiAqIEBpbnRlcm5hbFxuICpcbiAqIEBwYXJhbSByZXNvdXJjZSAtIFRoZSByZXNvdXJjZSBzZWN0aW9uIG9mIGFuIEFSTlxuICogQHJldHVybnMgQWNjZXNzIFBvaW50IE5hbWUgYW5kIG9wdGlvbmFsIE91dHBvc3QgSUQuXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRBcm5SZXNvdXJjZXMgPSAoXG4gIHJlc291cmNlOiBzdHJpbmdcbik6IHtcbiAgYWNjZXNzcG9pbnROYW1lOiBzdHJpbmc7XG4gIG91dHBvc3RJZD86IHN0cmluZztcbn0gPT4ge1xuICBjb25zdCBkZWxpbWl0ZXIgPSByZXNvdXJjZS5pbmNsdWRlcyhcIjpcIikgPyBcIjpcIiA6IFwiL1wiO1xuICBjb25zdCBbcmVzb3VyY2VUeXBlLCAuLi5yZXN0XSA9IHJlc291cmNlLnNwbGl0KGRlbGltaXRlcik7XG4gIGlmIChyZXNvdXJjZVR5cGUgPT09IFwiYWNjZXNzcG9pbnRcIikge1xuICAgIC8vIFBhcnNlIGFjY2Vzc3BvaW50IEFSTlxuICAgIGlmIChyZXN0Lmxlbmd0aCAhPT0gMSB8fCByZXN0WzBdID09PSBcIlwiKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEFjY2VzcyBQb2ludCBBUk4gc2hvdWxkIGhhdmUgb25lIHJlc291cmNlIGFjY2Vzc3BvaW50JHtkZWxpbWl0ZXJ9e2FjY2Vzc3BvaW50bmFtZX1gKTtcbiAgICB9XG4gICAgcmV0dXJuIHsgYWNjZXNzcG9pbnROYW1lOiByZXN0WzBdIH07XG4gIH0gZWxzZSBpZiAocmVzb3VyY2VUeXBlID09PSBcIm91dHBvc3RcIikge1xuICAgIC8vIFBhcnNlIG91dHBvc3QgQVJOXG4gICAgaWYgKCFyZXN0WzBdIHx8IHJlc3RbMV0gIT09IFwiYWNjZXNzcG9pbnRcIiB8fCAhcmVzdFsyXSB8fCByZXN0Lmxlbmd0aCAhPT0gMykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgT3V0cG9zdCBBUk4gc2hvdWxkIGhhdmUgcmVzb3VyY2Ugb3V0cG9zdCR7ZGVsaW1pdGVyfXtvdXRwb3N0SWR9JHtkZWxpbWl0ZXJ9YWNjZXNzcG9pbnQke2RlbGltaXRlcn17YWNjZXNzcG9pbnROYW1lfWBcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IFtvdXRwb3N0SWQsIF8sIGFjY2Vzc3BvaW50TmFtZV0gPSByZXN0O1xuICAgIHJldHVybiB7IG91dHBvc3RJZCwgYWNjZXNzcG9pbnROYW1lIH07XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBBUk4gcmVzb3VyY2Ugc2hvdWxkIGJlZ2luIHdpdGggJ2FjY2Vzc3BvaW50JHtkZWxpbWl0ZXJ9JyBvciAnb3V0cG9zdCR7ZGVsaW1pdGVyfSdgKTtcbiAgfVxufTtcblxuLyoqXG4gKiBUaHJvdyBpZiBkdWFsIHN0YWNrIGNvbmZpZ3VyYXRpb24gaXMgc2V0IHRvIHRydWUuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IHZhbGlkYXRlTm9EdWFsc3RhY2sgPSAoZHVhbHN0YWNrRW5kcG9pbnQ6IGJvb2xlYW4pID0+IHtcbiAgaWYgKGR1YWxzdGFja0VuZHBvaW50KSB0aHJvdyBuZXcgRXJyb3IoXCJEdWFsc3RhY2sgZW5kcG9pbnQgaXMgbm90IHN1cHBvcnRlZCB3aXRoIE91dHBvc3RcIik7XG59O1xuXG4vKipcbiAqIFZhbGlkYXRlIHJlZ2lvbiBpcyBub3QgYXBwZW5kZWQgb3IgcHJlcGVuZGVkIHdpdGggYSBgZmlwcy1gXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IHZhbGlkYXRlTm9GSVBTID0gKHJlZ2lvbjogc3RyaW5nKSA9PiB7XG4gIGlmIChpc0ZpcHNSZWdpb24ocmVnaW9uID8/IFwiXCIpKSB0aHJvdyBuZXcgRXJyb3IoYEZJUFMgcmVnaW9uIGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCBPdXRwb3N0LCBnb3QgJHtyZWdpb259YCk7XG59O1xuIl19
|
package/dist/cjs/index.js
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.validateNoFIPS = exports.validateNoDualstack = exports.validateDNSHostLabel = exports.validateRegion = exports.validateAccountId = exports.validatePartition = exports.validateOutpostService = exports.getSuffixForArnEndpoint = exports.getPseudoRegion = exports.getArnResources = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
tslib_1.__exportStar(require("./bucketEndpointMiddleware"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./bucketHostname"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./configurations"), exports);
|
|
8
8
|
var bucketHostnameUtils_1 = require("./bucketHostnameUtils");
|
|
9
9
|
Object.defineProperty(exports, "getArnResources", { enumerable: true, get: function () { return bucketHostnameUtils_1.getArnResources; } });
|
|
10
10
|
Object.defineProperty(exports, "getPseudoRegion", { enumerable: true, get: function () { return bucketHostnameUtils_1.getPseudoRegion; } });
|
|
@@ -16,4 +16,4 @@ Object.defineProperty(exports, "validateRegion", { enumerable: true, get: functi
|
|
|
16
16
|
Object.defineProperty(exports, "validateDNSHostLabel", { enumerable: true, get: function () { return bucketHostnameUtils_1.validateDNSHostLabel; } });
|
|
17
17
|
Object.defineProperty(exports, "validateNoDualstack", { enumerable: true, get: function () { return bucketHostnameUtils_1.validateNoDualstack; } });
|
|
18
18
|
Object.defineProperty(exports, "validateNoFIPS", { enumerable: true, get: function () { return bucketHostnameUtils_1.validateNoFIPS; } });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHFFQUEyQztBQUMzQywyREFBaUM7QUFDakMsMkRBQWlDO0FBQ2pDLDZEQVcrQjtBQVY3QixzSEFBQSxlQUFlLE9BQUE7QUFDZixzSEFBQSxlQUFlLE9BQUE7QUFDZiw4SEFBQSx1QkFBdUIsT0FBQTtBQUN2Qiw2SEFBQSxzQkFBc0IsT0FBQTtBQUN0Qix3SEFBQSxpQkFBaUIsT0FBQTtBQUNqQix3SEFBQSxpQkFBaUIsT0FBQTtBQUNqQixxSEFBQSxjQUFjLE9BQUE7QUFDZCwySEFBQSxvQkFBb0IsT0FBQTtBQUNwQiwwSEFBQSxtQkFBbUIsT0FBQTtBQUNuQixxSEFBQSxjQUFjLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9idWNrZXRFbmRwb2ludE1pZGRsZXdhcmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2J1Y2tldEhvc3RuYW1lXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb25maWd1cmF0aW9uc1wiO1xuZXhwb3J0IHtcbiAgZ2V0QXJuUmVzb3VyY2VzLFxuICBnZXRQc2V1ZG9SZWdpb24sXG4gIGdldFN1ZmZpeEZvckFybkVuZHBvaW50LFxuICB2YWxpZGF0ZU91dHBvc3RTZXJ2aWNlLFxuICB2YWxpZGF0ZVBhcnRpdGlvbixcbiAgdmFsaWRhdGVBY2NvdW50SWQsXG4gIHZhbGlkYXRlUmVnaW9uLFxuICB2YWxpZGF0ZUROU0hvc3RMYWJlbCxcbiAgdmFsaWRhdGVOb0R1YWxzdGFjayxcbiAgdmFsaWRhdGVOb0ZJUFMsXG59IGZyb20gXCIuL2J1Y2tldEhvc3RuYW1lVXRpbHNcIjtcbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/middleware-bucket-endpoint",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.32.0",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"build:cjs": "tsc -p tsconfig.cjs.json",
|
|
6
6
|
"build:es": "tsc -p tsconfig.es.json",
|
|
@@ -17,17 +17,17 @@
|
|
|
17
17
|
},
|
|
18
18
|
"license": "Apache-2.0",
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@aws-sdk/protocol-http": "3.
|
|
21
|
-
"@aws-sdk/types": "3.
|
|
22
|
-
"@aws-sdk/util-arn-parser": "3.
|
|
20
|
+
"@aws-sdk/protocol-http": "3.32.0",
|
|
21
|
+
"@aws-sdk/types": "3.32.0",
|
|
22
|
+
"@aws-sdk/util-arn-parser": "3.32.0",
|
|
23
23
|
"tslib": "^2.3.0"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
|
-
"@aws-sdk/middleware-stack": "3.
|
|
27
|
-
"@aws-sdk/node-config-provider": "3.
|
|
26
|
+
"@aws-sdk/middleware-stack": "3.32.0",
|
|
27
|
+
"@aws-sdk/node-config-provider": "3.32.0",
|
|
28
28
|
"@types/jest": "^26.0.4",
|
|
29
29
|
"jest": "^26.1.0",
|
|
30
|
-
"typescript": "~4.
|
|
30
|
+
"typescript": "~4.3.5"
|
|
31
31
|
},
|
|
32
32
|
"engines": {
|
|
33
33
|
"node": ">= 10.0.0"
|